diff --git a/www/deno/Makefile b/www/deno/Makefile index 8bd57b9f27ea..65a2a852238a 100644 --- a/www/deno/Makefile +++ b/www/deno/Makefile @@ -1,111 +1,111 @@ PORTNAME= deno DISTVERSIONPREFIX= v DISTVERSION= 2.9.1 CATEGORIES= www MAINTAINER= ports@FreeBSD.org COMMENT= Secure JavaScript and TypeScript runtime WWW= https://deno.com/runtime LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE.md BROKEN_i386= cargo:warning=c/freebsd.c:31:10: error: conflicting types for 'get_cpu_speed' BUILD_DEPENDS= bindgen:devel/rust-bindgen-cli \ gn:devel/gn \ protoc:devel/protobuf LIB_DEPENDS= libdbus-1.so:devel/dbus \ libffi.so:devel/libffi \ liblcms2.so:graphics/lcms2 \ libonig.so:devel/oniguruma \ libzstd.so:archivers/zstd USES= cargo cpe gmake gnome llvm:min=21,build ninja:build pkgconfig:build python:build USE_GITHUB= yes GH_ACCOUNT= denoland GH_TUPLE= denoland:deno_lsp_benchdata:a787434:denolsp/tests/bench/testdata/lsp_benchdata \ denoland:node_test:195065d:nodetest/tests/node_compat/runner/suite \ denoland:std:9c5b710:denostd/tests/util/std \ web-platform-tests:wpt:d85e753e65ee8e9654e76a2b4d62b9b5a0ac51e7:webp/tests/wpt/suite USE_GNOME= glib20 CARGO_ENV+= V8_FROM_SOURCE=1 \ GN=${PREFIX}/bin/gn \ NINJA=${NINJA_CMD} \ CLANG_BASE_PATH=/usr \ LCMS2_INCLUDE_DIR="${LOCALBASE}/include" \ LCMS2_LIB_DIR="${LOCALBASE}/lib" \ CARGO_PROFILE_RELEASE_LTO="false" \ 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_libcxx_modules=false \ use_udev=true \ use_sysroot=false \ use_glib=false \ v8_enable_cet_ibt=true" PLIST_FILES= bin/${PORTNAME} \ bin/denort \ lib/libdenort.so BINARY_ALIAS= python3=${PYTHON_CMD} DENO_CORE_ICUDATA_V= 0.77.0 V8_CARGO_V= 149.4.0 V8_DISTDIR= ${CARGO_VENDOR_DIR}/v8-${V8_CARGO_V} V8_BPGO_DIR= ${V8_DISTDIR}/v8/tools/builtins-pgo CARGO_INSTALL= no WITHOUT_LTO= yes post-patch: ${REINPLACE_CMD} "s|%%PREFIX%%|${PREFIX}|" \ ${WRKSRC}/ext/os/lib.rs ${REINPLACE_CMD} "s|${PREFIX}|${PREFIX}|" \ ${WRKSRC}/cli/task_runner.rs \ ${WRKSRC}/tests/unit_node/process_test.ts - ${REINPLACE_CMD} -e "s|%%CC%%|${CC}|" -e "s|%%CXX%%|${CXX}|" \ + ${REINPLACE_CMD} -e "s|%%LLVM_PREFIX%%|${LLVM_PREFIX}|g" \ ${WRKSRC}/cargo-crates/v8-${V8_CARGO_V}/build/toolchain/gcc_toolchain.gni ${REINPLACE_CMD} "s|linux|freebsd|g" \ ${WRKSRC}/tests/ffi/testdata/ffi_callback_errors.ts \ ${WRKSRC}/tests/ffi/testdata/test.js \ ${WRKSRC}/tests/ffi/testdata/bench.js \ ${WRKSRC}/tests/ffi/testdata/event_loop_integration.ts \ ${WRKSRC}/tests/ffi/testdata/thread_safe_test_worker.js \ ${WRKSRC}/tests/ffi/testdata/thread_safe_test.js \ ${WRKSRC}/tests/integration/cache_tests.rs \ ${WRKSRC}/tests/napi/common.js \ ${WRKSRC}/tests/unit/build_test.ts \ ${WRKSRC}/tests/unit/dir_test.ts \ ${WRKSRC}/tests/specs/mod.rs ${MKDIR} ${V8_BPGO_DIR}/arm64.profile ${V8_BPGO_DIR}/x64.profile ${CP} ${WRKSRC}/ext/napi/generated_symbol_exports_list_linux.def \ ${WRKSRC}/ext/napi/generated_symbol_exports_list_freebsd.def ${MKDIR} ${V8_DISTDIR}/third_party/icu/common ${CP} ${CARGO_VENDOR_DIR}/deno_core_icudata-${DENO_CORE_ICUDATA_V}/src/icudtl.dat \ ${V8_DISTDIR}/third_party/icu/common/ # do not pass RUST_BACKTRACE=1 to cargo test as some tests fails if it's there do-test: cd ${WRKSRC} ; \ ${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${CARGO_ENV:S/RUST_BACKTRACE=1//g} ${CARGO} test -vv ${CARGO_BUILD_ARGS} do-install: ${INSTALL_PROGRAM} ${CARGO_TARGET_DIR}/*/deno ${STAGEDIR}${LOCALBASE}/bin ${INSTALL_PROGRAM} ${CARGO_TARGET_DIR}/*/denort ${STAGEDIR}${LOCALBASE}/bin ${INSTALL_LIB} ${CARGO_TARGET_DIR}/*/libdenort.so ${STAGEDIR}${LOCALBASE}/lib .include diff --git a/www/deno/files/patch-cargo-crates_v8-149.4.0_build_toolchain_gcc__toolchain.gni b/www/deno/files/patch-cargo-crates_v8-149.4.0_build_toolchain_gcc__toolchain.gni index 4ffb779d36bd..99970480b568 100644 --- a/www/deno/files/patch-cargo-crates_v8-149.4.0_build_toolchain_gcc__toolchain.gni +++ b/www/deno/files/patch-cargo-crates_v8-149.4.0_build_toolchain_gcc__toolchain.gni @@ -1,52 +1,52 @@ --- cargo-crates/v8-149.4.0/build/toolchain/gcc_toolchain.gni.orig 2006-07-24 01:21:28 UTC +++ cargo-crates/v8-149.4.0/build/toolchain/gcc_toolchain.gni @@ -46,6 +46,12 @@ if (enable_resource_allowlist_generation) { "enable_resource_allowlist_generation=true does not work for target_os=$target_os") } +declare_args() { + extra_cflags = "" + extra_cppflags = "" + extra_cxxflags = "" + extra_ldflags = "" +} # This template defines a toolchain for something that works like gcc # (including clang). # @@ -354,7 +360,7 @@ template("single_gcc_toolchain") { # Module file doesn't need coverage instrumentation because module files # represent interfaces rather than implementations. - command = "$cxx -MD -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}}${extra_cppflags}${extra_cxxflags} {{module_deps_no_self}} -fmodule-name={{cc_module_name}} -x c++ -Xclang -emit-module -c {{source}} -o {{output}}" + command = "$cxx -MD -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}}${extra_cppflags}${extra_cxxflags} {{module_deps_no_self}} -x c++ -Xclang -emit-module -c {{source}} -o {{output}}" depsformat = "gcc" description = "CXX_MODULE {{output}}" outputs = [ "$object_subdir/{{source_name_part}}.pcm" ] @@ -956,22 +962,13 @@ template("clang_toolchain") { # actually just be doing a native compile. template("clang_toolchain") { gcc_toolchain(target_name) { - _path = "$clang_base_path/bin" - _is_path_absolute = get_path_info(_path, "abspath") == _path - # Preserve absolute paths for tools like distcc. - if (_is_path_absolute && filter_include([ _path ], [ "//*" ]) == []) { - prefix = _path - } else { - prefix = rebase_path(_path, root_build_dir) - } - - cc = "${prefix}/clang" - cxx = "${prefix}/clang++" -+ cc = "/usr/local/llvm21/bin/clang" -+ cxx = "/usr/local/llvm21/bin/clang++" ++ cc = "%%LLVM_PREFIX%%/bin/clang" ++ cxx = "%%LLVM_PREFIX%%/bin/clang++" ld = cxx - readelf = "${prefix}/llvm-readelf" - ar = "${prefix}/llvm-ar" - nm = "${prefix}/llvm-nm" -+ readelf = "readelf" -+ ar = "llvm-ar" -+ nm = "nm" ++ readelf = "%%LLVM_PREFIX%%/bin/llvm-readelf" ++ ar = "%%LLVM_PREFIX%%/bin/llvm-ar" ++ nm = "%%LLVM_PREFIX%%/bin/llvm-nm" forward_variables_from(invoker, "*", [ "toolchain_args" ])