Edit

IABSD.fr/ports/lang/deno/Makefile

Branch :

  • Show log

    Commit

  • Author : volker
    Date : 2025-06-16 18:09:02
    Hash : df6ef93c
    Message : lang/deno: drop MODCLANG_VERSION = 19; it's the default now

  • lang/deno/Makefile
  • # deno only supports amd64 and arm64
    ONLY_FOR_ARCHS =	amd64 aarch64
    COMMENT =		runtime for JavaScript and TypeScript
    
    DPB_PROPERTIES =	parallel
    
    USE_WXNEEDED =		Yes
    
    VERSION =		2.3.6
    HOMEPAGE =		https://deno.com/runtime
    
    DISTNAME =		deno-${VERSION}
    DISTFILES =		${DISTNAME}{deno_src}${EXTRACT_SUFX}
    SITES 	=		https://github.com/denoland/deno/releases/download/v${VERSION}/
    
    MAINTAINER =		Volker Schlecht <openbsd-ports@schlecht.dev>
    
    CATEGORIES =		lang
    
    # MIT
    PERMIT_PACKAGE =	Yes
    
    MODULES =		devel/cargo lang/clang
    MODCARGO_CRATES_KEEP +=	libsqlite3-sys \
    			libz-sys
    
    MODCARGO_ENV +=		V8_FROM_SOURCE=1 \
    			GN=${LOCALBASE}/bin/gn \
    			NINJA=${LOCALBASE}/bin/ninja \
    			CLANG_BASE_PATH=/usr \
    			HOME=${PORTHOME} \
    			LIBCLANG_PATH=${LOCALBASE}/llvm${MODCLANG_VERSION}/lib \
    			GN_ARGS="clang_use_chrome_plugins=false \
    			extra_cppflags=\"-idirafter ${LOCALBASE}/include -idirafter ${X11BASE}/include\" \
    			extra_ldflags=\"-L${LOCALBASE}/lib -L${X11BASE}/lib\" \
    			fatal_linker_warnings=false \
    			is_clang=true \
    			use_custom_libcxx=true \
    			use_custom_libunwind=true \
    			use_udev=true \
    			use_sysroot=false \
    			use_glib=false \
    			v8_enable_cet_ibt=true"
    
    # Makes the build look more alive while compiling v8
    MODCARGO_BUILD_ARGS +=	-vv
    
    MODCARGO_RUSTFLAGS +=	-L${LOCALBASE}/lib
    
    MAKE_ENV =		${MODCARGO_ENV}
    
    COMPILER =		ports-clang
    WANTLIB +=		${MODCARGO_WANTLIB} m execinfo ffi zstd
    
    BUILD_DEPENDS =		databases/sqlite3 \
    			devel/cmake/core \
    			devel/gmake \
    			devel/gn \
    			devel/ninja \
    			devel/protobuf-c \
    			lang/rust,-rustfmt \
    			${RUN_DEPENDS}
    
    LIB_DEPENDS =		archivers/zstd \
    			devel/libffi
    
    RUN_DEPENDS =		sysutils/libudev-openbsd
    
    .include "crates.inc"
    
    CONFIGURE_STYLE =	cargo
    
    DOCDIR =		${PREFIX}/share/doc/deno
    WRKDIST =		${WRKDIR}/deno
    PORTHOME =		${WRKSRC}
    
    DENO_CORE_ICUDATA_V =	0.74.0
    DENO_TS_V =		0.24.0
    V8_CARGO_V =		137.1.0
    
    V8_DISTDIR =		${MODCARGO_VENDOR_DIR}/v8-${V8_CARGO_V}
    V8_BPGO_DIR =		${V8_DISTDIR}/v8/tools/builtins-pgo
    
    SUBST_VARS +=		WRKBUILD
    
    post-patch:
    	mkdir -p ${V8_BPGO_DIR}/{x64.profile,arm64.profile}
    	${SUBST_CMD} ${V8_DISTDIR}/v8/tools/run.py
    	cd ${WRKSRC} && ${SUBST_CMD} \
    	    cli/task_runner.rs \
    	    cli/tools/jupyter/install.rs \
    	    ext/os/lib.rs \
    	    tests/util/server/src/lib.rs
    	cp ${WRKSRC}/ext/napi/generated_symbol_exports_list_linux.def \
    	    ${WRKSRC}/ext/napi/generated_symbol_exports_list_openbsd.def
    	mkdir ${V8_DISTDIR}/third_party/icu/common
    	cp ${MODCARGO_VENDOR_DIR}/deno_core_icudata-${DENO_CORE_ICUDATA_V}/src/icudtl.dat \
    	    ${V8_DISTDIR}/third_party/icu/common/
    
    do-install:
    	${INSTALL_PROGRAM} ${WRKSRC}/target/release/deno ${PREFIX}/bin
    	${INSTALL_DATA_DIR} ${DOCDIR}
    	${INSTALL_DATA} ${WRKSRC}/{LICENSE.md,README.md} ${DOCDIR}
    
    .include <bsd.port.mk>