diff --git a/Mk/Uses/ninja.mk b/Mk/Uses/ninja.mk index e67d6e488841..6f71484f1ec4 100644 --- a/Mk/Uses/ninja.mk +++ b/Mk/Uses/ninja.mk @@ -1,27 +1,78 @@ # Provide support to use Ninja # # Feature: ninja # Usage: USES=ninja +# Valid ARGS: build, make (default), run +# +# build add a build dependency on ninja +# make use ninja for the build instead of make, implies "build" +# run add a run dependency on ninja # # MAINTAINER: portmgr@FreeBSD.org .if !defined(_INCLUDE_USES_NINJA_MK) _INCLUDE_USES_NINJA_MK= yes -.if !empty(ninja_ARGS) -IGNORE= Incorrect 'USES+= ninja:${ninja_ARGS}' ninja takes no arguments +_valid_ARGS= build make run + +.for _arg in ${ninja_ARGS} +. if empty(_valid_ARGS:M${_arg}) +IGNORE= 'USES+= ninja:${ninja_ARGS}' usage: argument [${_arg}] is not recognized +. endif +.endfor + +.if empty(ninja_ARGS) +ninja_ARGS+= make .endif -MAKE_ARGS+= -v +.if ${ninja_ARGS:Mmake} +ninja_ARGS+= build +.endif + +.if ${NINJA_DEFAULT} == ninja +NINJA_CMD= ninja +_NINJA_PORT= devel/ninja +.elif ${NINJA_DEFAULT} == samurai +NINJA_CMD= samu +_NINJA_PORT= devel/samurai +MAKE_ENV+= SAMUFLAGS="-v -j${MAKE_JOBS_NUMBER}" +. if ${ninja_ARGS:Mbuild} && !${BINARY_ALIAS:U:Mninja=*} +# Cmake and Meson have native support for Samurai and detect and +# use it when Ninja is not available in the build environment. The +# alias is needed for other ports which call Ninja directly and do +# not fall back to Samurai. There should be no harm in providing it +# generally. +BINARY_ALIAS+= ninja=samu +. endif +.else +IGNORE= invalid DEFAULT_VERSIONS+=ninja=${NINJA_DEFAULT} +.endif -BUILD_DEPENDS+= ninja:devel/ninja +.if ${ninja_ARGS:Mbuild} +BUILD_DEPENDS+= ${NINJA_CMD}:${_NINJA_PORT} +# Humanize build log and include percentage of completed jobs %p in it. +# See samu(1) or the Ninja manual. +MAKE_ENV+= NINJA_STATUS="[%p %s/%t] " +.endif +.if ${ninja_ARGS:Mmake} +. if ${NINJA_DEFAULT} == ninja +# samu does not support GNU-style args, so we cannot just append +# -v last. samu gets this via SAMUFLAGS above but ninja does not +# support an equivalent environment variable. +MAKE_ARGS+= -v +. endif CMAKE_ARGS+= -GNinja MAKEFILE= -MAKE_CMD= ninja +MAKE_CMD= ${NINJA_CMD} MAKE_FLAGS= # Set a minimal job of 1 _MAKE_JOBS= -j${MAKE_JOBS_NUMBER} _DESTDIR_VIA_ENV= yes +.endif + +.if ${ninja_ARGS:Mrun} +RUN_DEPENDS+= ${NINJA_CMD}:${_NINJA_PORT} +.endif .endif diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk index 1d0176f8a267..9e41c44e3ef5 100644 --- a/Mk/bsd.default-versions.mk +++ b/Mk/bsd.default-versions.mk @@ -1,157 +1,159 @@ # MAINTAINER: ports@FreeBSD.org # # Note: before committing to this file, contact portmgr to arrange for an # experimental ports run. Untested commits may be backed out at portmgr's # discretion. # # Provide default versions for ports with multiple versions selectable # by the user. # # Users who want to override these defaults can easily do so by defining # DEFAULT_VERSIONS in their make.conf as follows: # # DEFAULT_VERSIONS= perl5=5.20 ruby=2.7 .if !defined(_INCLUDE_BSD_DEFAULT_VERSIONS_MK) _INCLUDE_BSD_DEFAULT_VERSIONS_MK= yes LOCALBASE?= /usr/local .for lang in APACHE BDB COROSYNC EMACS FIREBIRD FORTRAN FPC GCC GHOSTSCRIPT \ - IMAGEMAGICK JAVA LAZARUS LIBRSVG2 LINUX LLVM LUA MYSQL PERL5 \ + IMAGEMAGICK JAVA LAZARUS LIBRSVG2 LINUX LLVM LUA MYSQL NINJA PERL5 \ PGSQL PHP PYTHON PYTHON2 PYTHON3 RUBY RUST SAMBA SSL TCLTK VARNISH .if defined(${lang}_DEFAULT) ERROR+= "The variable ${lang}_DEFAULT is set and it should only be defined through DEFAULT_VERSIONS+=${lang:tl}=${${lang}_DEFAULT} in /etc/make.conf" .endif #.undef ${lang}_DEFAULT .endfor .for lang in ${DEFAULT_VERSIONS} _l= ${lang:C/=.*//g} ${_l:tu}_DEFAULT= ${lang:C/.*=//g} .endfor # Possible values: 2.4 APACHE_DEFAULT?= 2.4 # Possible values: 5, 6, 18 BDB_DEFAULT?= 5 # Possible values: 2, 3 COROSYNC_DEFAULT?= 2 # Possible_values: full canna nox devel_full devel_nox #EMACS_DEFAULT?= let the flavor be the default if not explicitly set # Possible values: 2.5 FIREBIRD_DEFAULT?= 2.5 # Possible values: flang (experimental), gfortran FORTRAN_DEFAULT?= gfortran # Possible values: 3.2.0 FPC_DEFAULT?= 3.2.0 # Possible values: 8, 9 (powerpcspe was dropped with GCC 9), 10 .if ${ARCH} == "powerpcspe" GCC_DEFAULT?= 8 .else GCC_DEFAULT?= 10 .endif # Possible values: 7, 8, 9, agpl GHOSTSCRIPT_DEFAULT?= agpl # Possible values: 6, 7 IMAGEMAGICK_DEFAULT?= 7 # Possible values: 7, 8, 11, 12, 13, 14, 15, 16 JAVA_DEFAULT?= 8 # Possible values: 2.0.10 LAZARUS_DEFAULT?= 2.0.10 # Possible values: rust legacy .if empty(ARCH:Naarch64:Narmv6:Narmv7:Namd64:Ni386:Npowerpc64:Npowerpc64le) LIBRSVG2_DEFAULT?= rust .else LIBRSVG2_DEFAULT?= legacy .endif # Possible values: c7 LINUX_DEFAULT?= c7 # Possible values: 70, 80, 90, 10, 11, -devel (to be used when non-base compiler is required) # Please give notice to the Graphics Team (x11@FreeBSD.org) in advance before # bumping the LLVM version. .if ${ARCH} == powerpc LLVM_DEFAULT?= 10 .else LLVM_DEFAULT?= 90 .endif # Possible values: 5.1, 5.2, 5.3, 5.4 LUA_DEFAULT?= 5.2 # Possible values: 5.10, 5.20, 6.8 MONO_DEFAULT= 5.10 # Possible values: 5.5, 5.6, 5.7, 8.0, 10.3m, 10.4m, 10.5m, 5.5p, 5.6p, 5.7p, 5.6w, 5.7w MYSQL_DEFAULT?= 5.7 +# Possible values: ninja, samurai +NINJA_DEFAULT?= ninja # Possible values: 5.28, 5.30, 5.32, devel .if !exists(${LOCALBASE}/bin/perl) || (!defined(_PORTS_ENV_CHECK) && \ defined(PACKAGE_BUILDING)) PERL5_DEFAULT?= 5.32 .elif !defined(PERL5_DEFAULT) # There's no need to replace development versions, like "5.23" with "devel" # because 1) nobody is supposed to use it outside of poudriere, and 2) it must # be set manually in /etc/make.conf in the first place, and we're never getting # in here. .if !defined(_PERL5_FROM_BIN) _PERL5_FROM_BIN!= ${LOCALBASE}/bin/perl -e 'printf "%vd\n", $$^V;' .endif _EXPORTED_VARS+= _PERL5_FROM_BIN PERL5_DEFAULT:= ${_PERL5_FROM_BIN:R} .endif # Possible values: 9.5, 9.6, 10, 11, 12, 13 PGSQL_DEFAULT?= 12 # Possible values: 7.3, 7.4, 8.0 PHP_DEFAULT?= 7.4 # Possible values: 2.7, 3.6, 3.7, 3.8, 3.9 PYTHON_DEFAULT?= 3.7 # Possible values: 2.7 PYTHON2_DEFAULT?= 2.7 # Possible values: 3.6, 3.7, 3.8, 3.9 PYTHON3_DEFAULT?= 3.7 # Possible values: 2.6, 2.7, 3.0 RUBY_DEFAULT?= 2.7 # Possible values: rust, rust-nightly RUST_DEFAULT?= rust # Possible values: 4.11, 4.12, 4.13 SAMBA_DEFAULT?= 4.12 # Possible values: base, openssl, libressl, libressl-devel .if !defined(SSL_DEFAULT) # If no preference was set, check for an installed base version # but give an installed port preference over it. . if !defined(SSL_DEFAULT) && \ !exists(${DESTDIR}/${LOCALBASE}/lib/libcrypto.so) && \ exists(${DESTDIR}/usr/include/openssl/opensslv.h) SSL_DEFAULT= base . else . if exists(${DESTDIR}/${LOCALBASE}/lib/libcrypto.so) . if defined(PKG_BIN) # find installed port and use it for dependency . if !defined(OPENSSL_INSTALLED) . if defined(DESTDIR) PKGARGS= -c ${DESTDIR} . else PKGARGS= . endif OPENSSL_INSTALLED!= ${PKG_BIN} ${PKGARGS} which -qo ${LOCALBASE}/lib/libcrypto.so || : . endif . if defined(OPENSSL_INSTALLED) && !empty(OPENSSL_INSTALLED) SSL_DEFAULT:= ${OPENSSL_INSTALLED:T} WARNING+= "You have ${OPENSSL_INSTALLED} installed but do not have DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT} set in your make.conf" . endif . else check-makevars:: @${ECHO_MSG} "You have a ${LOCALBASE}/lib/libcrypto.so file installed, but the framework is unable" @${ECHO_MSG} "to determine what port it comes from." @${ECHO_MSG} "Add DEFAULT_VERSIONS+=ssl= to your /etc/make.conf and try again." @${FALSE} . endif . endif . endif # Make sure we have a default in the end SSL_DEFAULT?= base .endif # Possible values: 8.5, 8.6, 8.7 TCLTK_DEFAULT?= 8.6 # Possible values: 4, 6 VARNISH_DEFAULT?= 4 .endif diff --git a/devel/jiri/Makefile b/devel/jiri/Makefile index f1fb3cc25a76..ba8c3900e931 100644 --- a/devel/jiri/Makefile +++ b/devel/jiri/Makefile @@ -1,33 +1,32 @@ PORTNAME= jiri PORTVERSION= g${TIMESTAMP:S/-/./g:C/T.*//g} CATEGORIES= devel MASTER_SITES= LOCAL/swills DISTFILES= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} DIST_SUBDIR= jiri MAINTAINER= swills@FreeBSD.org COMMENT= Tool for multi-repo development LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE -BUILD_DEPENDS= cmake:devel/cmake \ - ninja:devel/ninja +BUILD_DEPENDS= cmake:devel/cmake RUN_DEPENDS= git:devel/git -USES= go:modules +USES= go:modules ninja:build GITHASH= 1eee1043d12d1baabae7f2466cc0b1646395e32c TIMESTAMP= 2020-08-28T00:00:00.000000 PLIST_FILES= bin/jiri USE_GITHUB= nodefault GH_TUPLE= golang:net:a7b16738d86b:golang_net/vendor/golang.org/x/net \ golang:sync:112230192c58:golang_sync/vendor/golang.org/x/sync GO_TARGET= ./cmd/jiri GO_BUILDFLAGS= -ldflags="\ -s -w \ -X fuchsia.googlesource.com/jiri/version.GitCommit=${GITHASH} \ -X fuchsia.googlesource.com/jiri/version.BuildTime=${TIMESTAMP}" .include diff --git a/devel/meson/Makefile b/devel/meson/Makefile index f80ece912514..8a25e36d64ba 100644 --- a/devel/meson/Makefile +++ b/devel/meson/Makefile @@ -1,36 +1,35 @@ # Created by: Ting-Wei Lan PORTNAME= meson PORTVERSION= 0.57.1 CATEGORIES= devel python MASTER_SITES= https://github.com/mesonbuild/${PORTNAME}/releases/download/${PORTVERSION}/ MAINTAINER= desktop@FreeBSD.org COMMENT= High performance build system LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/COPYING -RUN_DEPENDS= ninja:devel/ninja TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-xdist>0:devel/py-pytest-xdist@${PY_FLAVOR} -USES= python:3.6+ shebangfix +USES= ninja:run python:3.6+ shebangfix USE_PYTHON= autoplist distutils noflavors SHEBANG_FILES= mesonbuild/rewriter.py \ mesonbuild/scripts/cmake_run_ctgt.py NO_ARCH= yes # https://github.com/mesonbuild/meson/issues/6016 TEST_ENV= ${MAKE_ENV:NCC=*:NCXX=*} # Hide from regular build to avoid accidental dependency on symlinks .if make(test) # helper_create_binary_wrapper, test_python_module, test cases/*.py BINARY_ALIAS+= python3=${PYTHON_CMD:T} python=${PYTHON_CMD:T} do-test: create-binary-alias # force if run late .endif do-test: @(cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} ${WRKSRC}/run_unittests.py) .include diff --git a/devel/tinygo/Makefile b/devel/tinygo/Makefile index 6b70ccdfcc2e..ca619d83b780 100644 --- a/devel/tinygo/Makefile +++ b/devel/tinygo/Makefile @@ -1,94 +1,93 @@ PORTNAME= tinygo DISTVERSIONPREFIX= v DISTVERSION= 0.17.0 CATEGORIES= devel MAINTAINER= ports@FreeBSD.org COMMENT= Go compiler for small places LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE -BUILD_DEPENDS= cmake:devel/cmake \ - ninja:devel/ninja +BUILD_DEPENDS= cmake:devel/cmake TEST_DEPENDS= qemu-system-arm:emulators/qemu -USES= gmake go:modules,run python:build +USES= gmake go:modules,run ninja:build python:build USE_GITHUB= yes GH_ACCOUNT= tinygo-org GH_TUPLE= \ blakesmith:ar:8bd4349a67f2:blakesmith_ar/vendor/github.com/blakesmith/ar \ bugst:go-serial:v1.1.2:bugst_go_serial/vendor/go.bug.st/serial \ chromedp:cdproto:dabd2f2e7693:chromedp_cdproto/vendor/github.com/chromedp/cdproto \ chromedp:chromedp:v0.6.4:chromedp_chromedp/vendor/github.com/chromedp/chromedp \ chromedp:sysutil:v1.0.0:chromedp_sysutil/vendor/github.com/chromedp/sysutil \ creack:goselect:v0.1.1:creack_goselect/vendor/github.com/creack/goselect \ gobwas:httphead:v0.1.0:gobwas_httphead/vendor/github.com/gobwas/httphead \ gobwas:pool:v0.2.1:gobwas_pool/vendor/github.com/gobwas/pool \ gobwas:ws:v1.0.4:gobwas_ws/vendor/github.com/gobwas/ws \ golang:sys:4bcb84eeeb78:golang_sys/vendor/golang.org/x/sys \ golang:tools:b320d3a0f5a2:golang_tools/vendor/golang.org/x/tools \ google:shlex:c34317bd91bf:google_shlex/vendor/github.com/google/shlex \ josharian:intern:v1.0.0:josharian_intern/vendor/github.com/josharian/intern \ mailru:easyjson:v0.7.6:mailru_easyjson/vendor/github.com/mailru/easyjson \ marcinbor85:gohex:343a4b548892:marcinbor85_gohex/vendor/github.com/marcinbor85/gohex \ mattn:go-colorable:v0.1.8:mattn_go_colorable/vendor/github.com/mattn/go-colorable \ mattn:go-isatty:v0.0.12:mattn_go_isatty/vendor/github.com/mattn/go-isatty \ tinygo-org:go-llvm:7fe719483a0f:tinygo_org_go_llvm/vendor/tinygo.org/x/go-llvm # Device files and runtime are distributed as submodules GH_TUPLE+= ARM-software:CMSIS:9fe411cef1ce:cmsis/lib/CMSIS \ NordicSemiconductor:nrfx:d779b49fc59c:nrfx/lib/nrfx \ WebAssembly:wasi-libc:c82d116de0de:wasi_libc/lib/wasi-libc \ avr-rust:avr-mcu:40d15c1c56c3:avr/lib/avr \ llvm-mirror:compiler-rt:69445f095c22:compiler_rt/lib/compiler-rt \ picolibc:picolibc:73988df1ab59:picolibc/lib/picolibc \ tinygo-org:cmsis-svd:d9b58694cef3:cmsis_svd/lib/cmsis-svd \ tinygo-org:stm32-svd:c6b5be976f44:stm32_svd/lib/stm32-svd # Bundled LLVM GH_TUPLE+= llvm:llvm-project:llvmorg-11.1.0:llvm/llvm-project OPTIONS_DEFINE= AVR QEMU SIMAVR AVR_DESC= AVR based processors support QEMU_DESC= Install emulators/qemu for Cortex-M targets SIMAVR_DESC= Install devel/simavr for AVR targets AVR_RUN_DEPENDS= ${LOCALBASE}/avr/include/stdint.h:devel/avr-libc \ avr-gcc:devel/avr-gcc \ avrdude:devel/avrdude AVR_VARS_OFF= AVR=0 QEMU_RUN_DEPENDS= qemu-system-arm:emulators/qemu SIMAVR_RUN_DEPENDS= simavr:devel/simavr do-build: cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \ HOME=${WRKDIR} \ ${GMAKE} llvm-build cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \ GO=${GO_CMD} \ HOME=${WRKDIR} \ PATH=${WRKSRC}/llvm-build/bin:$$PATH \ ${GMAKE} build/release do-install: @${MKDIR} ${STAGEDIR}${PREFIX}/tinygo cd ${WRKSRC}/build/release/tinygo && \ ${MKDIR} ${STAGEDIR}${PREFIX}/tinygo/bin && \ ${INSTALL_PROGRAM} bin/tinygo ${STAGEDIR}${PREFIX}/tinygo/bin && \ ${COPYTREE_SHARE} "lib pkg src targets" ${STAGEDIR}${PREFIX}/tinygo ${RLN} ${STAGEDIR}${PREFIX}/tinygo/bin/tinygo ${STAGEDIR}${PREFIX}/bin do-test: cd ${WRKSRC} && ${SETENV} \ AVR=${AVR} \ GOCACHE=${WRKDIR}/.gocache \ PATH=${WRKSRC}/llvm-build/bin:$$PATH \ RISCV=0 \ TINYGO=${WRKSRC}/build/tinygo \ ${GMAKE} test smoketest .include diff --git a/graphics/py-h3/Makefile b/graphics/py-h3/Makefile index b859669b8d85..09a9dccd838f 100644 --- a/graphics/py-h3/Makefile +++ b/graphics/py-h3/Makefile @@ -1,37 +1,36 @@ # Created by: Po-Chuan Hsieh PORTNAME= h3 PORTVERSION= 3.7.2 CATEGORIES= graphics python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org COMMENT= Python binding of H3 library LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= cmake:devel/cmake \ h3>=${PORTVERSION:R}:graphics/h3 \ - ninja:devel/ninja \ ${PYTHON_PKGNAMEPREFIX}scikit-build>=0:devel/py-scikit-build@${PY_FLAVOR} LIB_DEPENDS= libh3.so:graphics/h3 TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} -USES= localbase:ldflags python:3.6+ +USES= localbase:ldflags ninja:build python:3.6+ USE_PYTHON= autoplist concurrent cython distutils CFLAGS+= -I${LOCALBASE}/include/h3 OPTIONS_DEFINE= NUMPY OPTIONS_DEFAULT=NUMPY NUMPY_DESC= NumPy support NUMPY_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR} do-test: cd ${WRKSRC} && ${SETENV} PYTHONPATH=${STAGEDIR}${PYTHON_SITELIBDIR} ${PYTHON_CMD} -m pytest -rs -v .include diff --git a/japanese/mozc-server/Makefile b/japanese/mozc-server/Makefile index 9f4c90dcbef7..1f575a8fcc9e 100644 --- a/japanese/mozc-server/Makefile +++ b/japanese/mozc-server/Makefile @@ -1,410 +1,409 @@ # Created by: Daichi GOTO PORTNAME= mozc PORTVERSION= 2.23.2815.102.01 DISTVERSIONPREFIX= v PORTREVISION= 3 CATEGORIES= japanese MAINTAINER= hrs@FreeBSD.org COMMENT?= Mozc Japanese Input Method, Server -BUILD_DEPENDS= ninja:devel/ninja \ - ${PYTHON_PKGNAMEPREFIX}gyp>=20200512:devel/py-gyp@${PY_FLAVOR} +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gyp>=20200512:devel/py-gyp@${PY_FLAVOR} EXTRACT_DEPENDS=${PYTHON_CMD}:${PYTHON_PORTSDIR} LIB_DEPENDS= libprotobuf.so:devel/protobuf \ libzinnia.so:japanese/zinnia RUN_DEPENDS= xdg-open:devel/xdg-utils BROKEN_FreeBSD_12_powerpc64= fails to install: gyp: Call to 'which clang' returned exit status 1 while in client/client.gyp BROKEN_FreeBSD_13_powerpc64= fails to build: ERROR: ninja -v -C out_linux/Release mozc_server: Error code 1 BROKEN_powerpc= fails to compile: segfault BROKEN_sparc64= fails to compile: segfault USE_GITHUB= yes GH_ACCOUNT= hrs-allbsd GH_TUPLE= hiroyuki-komatsu:japanese-usage-dictionary:e5b3425:udic -USES= compiler:c++11-lang pkgconfig gmake \ - tar:bzip2 python:3.5+,build shebangfix +USES= compiler:c++11-lang gmake ninja:build pkgconfig \ + python:3.5+,build shebangfix tar:bzip2 SHEBANG_FILES= src/build_mozc.py BUILD_WRKSRC= ${WRKSRC}/src BUILD_MOZC_LIST?= mozc_server .if ${BUILD_MOZC_LIST:Mmozc_server} == "mozc_server" PKGNAMEPREFIX= ja- PKGNAMESUFFIX= -server LICENSE= BSD3CLAUSE NAISTL LICENSE_COMB= multi LICENSE_FILE_BSD3CLAUSE= ${WRKSRC}/LICENSE LICENSE_DISTFILES_BSD3CLAUSE= ${DISTNAME}${EXTRACT_SUFX} LICENSE_NAME_NAISTL= Nara Institute of Science and Technology License LICENSE_PERMS_NAISTL= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept LICENSE_FILE_NAISTL= ${WRKSRC}/src/data/dictionary_oss/README.txt LICENSE_DISTFILES_NAISTL=${DISTNAME}${EXTRACT_SUFX} .elif ${BUILD_MOZC_LIST:Mmozc_tool} == "mozc_tool" USES+= qt:5 gnome USE_GNOME= glib20 gtk20 USE_QT= buildtools core gui widgets .elif ${BUILD_MOZC_LIST:Mibus_mozc} == "ibus_mozc" USES+= gettext-runtime gnome xorg USE_XORG= xcb USE_GNOME= cairo gdkpixbuf2 glib20 gtk20 LIB_DEPENDS+= libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 .elif ${BUILD_MOZC_LIST:Mmozc_el} == "mozc_el" USES+= emacs .elif ${BUILD_MOZC_LIST:Mfcitx_mozc} USES+= gettext-tools .endif # Use GCC only when the stock clang does not have libc++.so. .if exists(/usr/bin/clang) && exists(/usr/lib/libc++.so) _CCTYPE= clang .else USE_GCC= yes _CCTYPE= gcc .endif .include GYP_DEFINES= use_libprotobuf=1 \ channel_dev=0 \ enable_unittest=0 \ compiler_host='${_CCTYPE}' \ compiler_target='${_CCTYPE}' \ use_libzinnia=1 \ zinnia_model_file='${LOCALBASE}/share/tegaki/models/zinnia/handwriting-ja.model' \ ibus_mozc_icon_path='${LOCALBASE}/share/ibus-mozc/icons/product_icon.png' \ ibus_mozc_path='${PREFIX}/libexec/ibus-engine-mozc' BUILD_MODE= Release BUILD_CMD= ${SETENV} ${MAKE_ENV} PATH=/bin:/usr/bin:${PATH} ${MAKE_CMD} BUILD_MOZC_CMD= cd ${BUILD_WRKSRC} && \ ${SETENV} BUILD_COMMAND="${BUILD_WRKSRC}/mozcmake" \ PATH="${PATH}" \ GYP_DEFINES="${GYP_DEFINES}" \ PYTHONPATH=${PYTHON_SITELIBDIR}/gyp \ CC_host="${CC}" \ CC_target="${CC}" \ CXX_host="${CXX}" \ CXX_target="${CXX}" \ LD_host="${CXX}" \ AR_host="${AR}" \ ${MAKE_ENV} \ ${PYTHON_CMD} build_mozc.py BUILD_MOZC_CMD_BUILD= ${BUILD_MOZC_CMD} build -c ${BUILD_MODE} ${_MAKE_JOBS} BUILD_GYP_CMD= ${SETENV} ${MAKE_ENV} ${LOCALBASE}/bin/gyp post-extract: # XXX: do not activate fcitx5 ${RM} -r ${WRKSRC}/src/unix/fcitx5 post-patch: ${FIND} ${BUILD_WRKSRC} \( -name '*.gyp' -o -name '*.gypi' \) -exec \ ${REINPLACE_CMD} "s,'python','${PYTHON_CMD}',g" {} \; .if ${BUILD_MOZC_LIST:Mfcitx_mozc} == "fcitx_mozc" ${REINPLACE_CMD} 's,/po/mo},%po}mo,g' \ ${BUILD_WRKSRC}/unix/fcitx/gen_fcitx_mozc_i18n.sh ${REINPLACE_CMD} \ "s,IconName=.*,IconName=${LOCALBASE:Q}/share/fcitx/mozc/icon/mozc.png," \ ${BUILD_WRKSRC}/unix/fcitx/mozc.conf .endif .if !${BUILD_MOZC_LIST:Mmozc_el} ${BUILD_WRKSRC}/mozcmake: ${PRINTF} "%s\n\n%s\n" "#!/bin/sh" 'exec ${BUILD_CMD} "$$@"' \ > ${BUILD_WRKSRC}/mozcmake ${CHMOD} +x ${BUILD_WRKSRC}/mozcmake post-configure: ${BUILD_WRKSRC}/mozcmake ${BUILD_MOZC_CMD} gyp \ --gypdir=${LOCALBASE}/bin \ --server_dir="${PREFIX}/bin" \ --tool_dir="${PREFIX}/libexec" \ --renderer_dir="${PREFIX}/libexec" \ --localbase="${LOCALBASE}" \ --ldflags="${LDFLAGS} -fstack-protector -L${LOCALBASE}/lib" \ --cflags="${CFLAGS:Q}" \ --cflags_cc="${CXXFLAGS:Q}" \ --include_dirs="${LOCALBASE}/include" \ ${GYP_OPTIONS} .endif # mozc_server .if ${BUILD_MOZC_LIST:Mmozc_server} == "mozc_server" || make(makesum) GYP_OPTIONS+= --noqt GYP_DEFINES+= use_libibus=0 \ enable_gtk_renderer=0 MASTER_SITES+= LOCAL/kuriyama:zipcode DISTFILES+= \ ken_all-20200430.zip:zipcode \ jigyosyo-20200430.zip:zipcode PLIST_FILES+= bin/mozc \ bin/mozc_server \ libexec/mozc_emacs_helper SUB_FILES+= mozc post-patch-mozc_server: @for F in ${DISTFILES:M*\:zipcode:C/\:zipcode//}; do \ ${UNZIP_NATIVE_CMD} -L -d ${BUILD_WRKSRC}/data/dictionary_oss \ ${DISTDIR}/$$F; \ done cd ${BUILD_WRKSRC}/data/dictionary_oss && \ ${SETENV} PYTHONPATH=${BUILD_WRKSRC} \ ${PYTHON_CMD} ${BUILD_WRKSRC}/dictionary/gen_zip_code_seed.py \ --zip_code=ken_all.csv --jigyosyo=jigyosyo.csv \ >> dictionary09.txt ${MV} ${WRKSRC_udic}/usage_dict.txt \ ${BUILD_WRKSRC}/third_party/japanese_usage_dictionary post-patch: post-patch-mozc_server do-build-mozc_server: ${BUILD_MOZC_CMD_BUILD} server/server.gyp:mozc_server ${BUILD_MOZC_CMD_BUILD} unix/emacs/emacs.gyp:mozc_emacs_helper do-install-mozc_server: ${INSTALL_PROGRAM} \ ${BUILD_WRKSRC}/out_linux/${BUILD_MODE}/mozc_server \ ${STAGEDIR}${PREFIX}/bin ${INSTALL_PROGRAM} \ ${BUILD_WRKSRC}/out_linux/${BUILD_MODE}/mozc_emacs_helper \ ${STAGEDIR}${PREFIX}/libexec ${INSTALL_SCRIPT} \ ${WRKDIR}/mozc ${STAGEDIR}/${PREFIX}/bin .endif # mozc_tool .if ${BUILD_MOZC_LIST:Mmozc_tool} == "mozc_tool" GYP_DEFINES+= use_libibus=0 \ enable_gtk_renderer=1 RUN_DEPENDS+= ${LOCALBASE}/share/tegaki/models/zinnia/handwriting-ja.model:japanese/tegaki-zinnia-japanese PLIST_FILES+= libexec/mozc_tool \ bin/mozc_tool \ %%DATADIR%%/icons/product_logo.png \ %%DATADIR%%/icons/update_uptodate.png SUB_FILES+= mozc_tool do-build-mozc_tool: ${BUILD_MOZC_CMD_BUILD} gui/gui.gyp:mozc_tool do-install-mozc_tool: ${INSTALL_PROGRAM} \ ${BUILD_WRKSRC}/out_linux/${BUILD_MODE}/mozc_tool \ ${STAGEDIR}${PREFIX}/libexec ${INSTALL_SCRIPT} ${WRKDIR}/mozc_tool ${STAGEDIR}${PREFIX}/bin @${MKDIR} ${STAGEDIR}${DATADIR}/icons ${INSTALL_DATA} \ ${BUILD_WRKSRC}/data/images/unix/ime_product_icon_opensource-32.png \ ${STAGEDIR}${DATADIR}/icons/product_logo.png ${INSTALL_DATA} \ ${BUILD_WRKSRC}/data/images/unix/ime_product_icon_opensource-32.png \ ${STAGEDIR}${DATADIR}/icons/update_uptodate.png .endif # ibus_mozc .if ${BUILD_MOZC_LIST:Mibus_mozc} == "ibus_mozc" GYP_OPTIONS+= --noqt GYP_DEFINES+= use_libibus=1 \ enable_gtk_renderer=1 LIB_DEPENDS+= libibus-1.0.so:textproc/ibus RUN_DEPENDS+= mozc_server:japanese/mozc-server \ mozc_tool:japanese/mozc-tool PLIST_FILES+= libexec/mozc_renderer \ libexec/ibus-engine-mozc \ %%DATADIR%%/icons/alpha_full.png \ %%DATADIR%%/icons/alpha_half.png \ %%DATADIR%%/icons/dictionary.png \ %%DATADIR%%/icons/direct.png \ %%DATADIR%%/icons/hiragana.png \ %%DATADIR%%/icons/katakana_full.png \ %%DATADIR%%/icons/katakana_half.png \ %%DATADIR%%/icons/product_icon.png \ %%DATADIR%%/icons/properties.png \ %%DATADIR%%/icons/tool.png \ share/ibus/component/mozc.xml PLIST_DIRS+= %%DATADIR%%/icons ${DATADIR_REL} do-build-ibus_mozc: ${BUILD_MOZC_CMD_BUILD} \ unix/ibus/ibus.gyp:ibus_mozc \ renderer/renderer.gyp:mozc_renderer do-install-ibus_mozc: ${INSTALL_PROGRAM} \ ${BUILD_WRKSRC}/out_linux/${BUILD_MODE}/mozc_renderer \ ${STAGEDIR}${PREFIX}/libexec/mozc_renderer ${INSTALL_PROGRAM} \ ${BUILD_WRKSRC}/out_linux/${BUILD_MODE}/ibus_mozc \ ${STAGEDIR}${PREFIX}/libexec/ibus-engine-mozc ${MKDIR} ${STAGEDIR}${PREFIX}/share/ibus/component ${INSTALL_DATA} \ ${BUILD_WRKSRC}/out_linux/${BUILD_MODE}/gen/unix/ibus/mozc.xml \ ${STAGEDIR}${PREFIX}/share/ibus/component/mozc.xml @${MKDIR} ${STAGEDIR}${DATADIR}/icons .for F in ui-alpha_full ui-alpha_half ui-dictionary ui-direct \ ui-hiragana ui-katakana_full ui-katakana_half ui-properties ui-tool ${INSTALL_DATA} \ ${BUILD_WRKSRC}/data/images/unix/${F}.png \ ${STAGEDIR}${DATADIR}/icons/${F:S/^ui-//}.png .endfor ${INSTALL_DATA} \ ${BUILD_WRKSRC}/data/images/unix/ime_product_icon_opensource-32.png \ ${STAGEDIR}${DATADIR}/icons/product_icon.png .endif # uim_mozc .if ${BUILD_MOZC_LIST:Muim_mozc} == "uim_mozc" || make(makesum) GH_TUPLE+= e-kato:macuim:v0.6.16.2.1:MU LIB_DEPENDS+= libuim.so:textproc/uim RUN_DEPENDS+= mozc_server:japanese/mozc-server \ mozc_tool:japanese/mozc-tool EXTRA_PATCHES= ${PATCHDIR}/extra-patch-src-unix-uim-mozc.cc \ ${PATCHDIR}/extra-patch-src-unix-uim-uim.gyp \ ${PATCHDIR}/extra-patch-src-unix-uim-key_translator.h \ ${PATCHDIR}/extra-patch-src-unix-uim-key_translator.cc PLIST_FILES+= lib/uim/plugin/libuim-mozc.so \ %%DATADIR%%/mozc.scm \ %%DATADIR%%/mozc-custom.scm \ %%DATADIR%%/mozc-key-custom.scm \ %%DATADIR%%/pixmaps/mozc.png \ "@postexec ${SETENV} MOZC_NOLOG=true ${LOCALBASE}/bin/uim-module-manager --register mozc" \ "@preunexec ${LOCALBASE}/bin/uim-module-manager --unregister mozc" GYP_OPTIONS+= --noqt GYP_DEFINES+= use_libibus=0 \ enable_gtk_renderer=0 post-extract-uim_mozc: ${MV} ${WRKSRC_MU}/Mozc/uim ${BUILD_WRKSRC}/unix ${REINPLACE_CMD} -e "s,/usr/lib/mozc,${LOCALBASE}/libexec," \ ${WRKSRC_MU}/Mozc/scm/mozc-custom.scm post-extract: post-extract-uim_mozc do-build-uim_mozc: ${BUILD_MOZC_CMD_BUILD} \ unix/uim/uim.gyp:uim-mozc do-install-uim_mozc: ${MKDIR} ${STAGEDIR}${PREFIX}/lib/uim/plugin ${INSTALL_PROGRAM} \ ${BUILD_WRKSRC}/out_linux/${BUILD_MODE}/libuim-mozc.so \ ${STAGEDIR}${PREFIX}/lib/uim/plugin ${MKDIR} ${STAGEDIR}${DATADIR} cd ${WRKSRC_MU}/Mozc/scm && \ ${INSTALL_DATA} mozc.scm mozc-custom.scm mozc-key-custom.scm \ ${STAGEDIR}${DATADIR} ${MKDIR} ${STAGEDIR}${DATADIR}/pixmaps ${INSTALL_DATA} \ ${BUILD_WRKSRC}/data/images/product_icon_32bpp-128.png \ ${STAGEDIR}${DATADIR}/pixmaps/mozc.png .endif # fcitx_mozc .if ${BUILD_MOZC_LIST:Mfcitx_mozc} == "fcitx_mozc" GYP_OPTIONS+= --noqt GYP_DEFINES+= use_libibus=0 \ enable_gtk_renderer=0 \ use_fcitx="YES" LIB_DEPENDS+= libfcitx-core.so:chinese/fcitx RUN_DEPENDS+= mozc_server:japanese/mozc-server \ mozc_tool:japanese/mozc-tool PLIST_FILES+= lib/fcitx/fcitx-mozc.so \ share/fcitx/addon/fcitx-mozc.conf \ share/fcitx/inputmethod/mozc.conf \ %%DATADIR%%/icon/mozc.png \ %%DATADIR%%/icon/mozc-alpha_full.png \ %%DATADIR%%/icon/mozc-alpha_half.png \ %%DATADIR%%/icon/mozc-direct.png \ %%DATADIR%%/icon/mozc-hiragana.png \ %%DATADIR%%/icon/mozc-katakana_full.png \ %%DATADIR%%/icon/mozc-katakana_half.png \ %%DATADIR%%/icon/mozc-dictionary.png \ %%DATADIR%%/icon/mozc-properties.png \ %%DATADIR%%/icon/mozc-tool.png \ share/locale/ja/LC_MESSAGES/fcitx-mozc.mo \ share/locale/zh_CN/LC_MESSAGES/fcitx-mozc.mo \ share/locale/zh_TW/LC_MESSAGES/fcitx-mozc.mo PLIST_DIRS+= %%DATADIR%%/icon ${DATADIR_REL} do-build-fcitx_mozc: ${BUILD_MOZC_CMD_BUILD} unix/fcitx/fcitx.gyp:fcitx-mozc do-install-fcitx_mozc: @${MKDIR} \ ${STAGEDIR}${PREFIX}/lib/fcitx \ ${STAGEDIR}${PREFIX}/share/fcitx/addon \ ${STAGEDIR}${PREFIX}/share/fcitx/inputmethod ${INSTALL_LIB} \ ${BUILD_WRKSRC}/out_linux/${BUILD_MODE}/fcitx-mozc.so \ ${STAGEDIR}${PREFIX}/lib/fcitx/fcitx-mozc.so ${INSTALL_DATA} \ ${BUILD_WRKSRC}/unix/fcitx/fcitx-mozc.conf \ ${STAGEDIR}${PREFIX}/share/fcitx/addon/fcitx-mozc.conf ${INSTALL_DATA} \ ${BUILD_WRKSRC}/unix/fcitx/mozc.conf \ ${STAGEDIR}${PREFIX}/share/fcitx/inputmethod/mozc.conf @${MKDIR} ${STAGEDIR}${DATADIR}/icon .for F in ui-alpha_full ui-alpha_half ui-dictionary ui-direct \ ui-hiragana ui-katakana_full ui-katakana_half ui-properties ui-tool ${INSTALL_DATA} \ ${BUILD_WRKSRC}/data/images/unix/${F}.png \ ${STAGEDIR}${DATADIR}/icon/${F:S,^ui-,mozc-,}.png .endfor ${INSTALL_DATA} \ ${BUILD_WRKSRC}/data/images/product_icon_32bpp-128.png \ ${STAGEDIR}${DATADIR}/icon/mozc.png .for L in ja zh_CN zh_TW ${INSTALL_DATA} \ ${BUILD_WRKSRC}/out_linux/${BUILD_MODE}/gen/unix/fcitx/po/${L}.mo \ ${STAGEDIR}${PREFIX}/share/locale/${L}/LC_MESSAGES/fcitx-mozc.mo .endfor .endif # mozc_el .if ${BUILD_MOZC_LIST:Mmozc_el} == "mozc_el" CATEGORIES+= elisp RUN_DEPENDS+= mozc_server:japanese/mozc-server NO_ARCH= yes PLIST_FILES+= ${EMACS_VERSION_SITE_LISPDIR}/mozc/mozc.elc \ ${EMACS_VERSION_SITE_LISPDIR}/mozc/mozc.el.gz \ ${EMACS_VERSION_SITE_LISPDIR}/mozc/leim-list.el PLIST_DIRS+= ${EMACS_VERSION_SITE_LISPDIR}/mozc post-patch-mozc_el: ${REINPLACE_CMD} "s,%%PREFIX%%,${PREFIX}," \ ${BUILD_WRKSRC}/unix/emacs/mozc.el post-patch: post-patch-mozc_el do-build-mozc_el: cd ${BUILD_WRKSRC}/unix/emacs && \ ${EMACS_CMD} -batch -q -no-site-file -no-init-file \ -f batch-byte-compile mozc.el && \ ${GZIP_CMD} mozc.el do-install-mozc_el: @${MKDIR} ${STAGEDIR}${PREFIX}/${EMACS_VERSION_SITE_LISPDIR}/mozc ${INSTALL_DATA} \ ${BUILD_WRKSRC}/unix/emacs/mozc.el.gz \ ${BUILD_WRKSRC}/unix/emacs/mozc.elc \ ${FILESDIR}/leim-list.el \ ${STAGEDIR}${PREFIX}/${EMACS_VERSION_SITE_LISPDIR}/mozc/ .endif do-build: ${BUILD_MOZC_LIST:S/^/do-build-/} do-install: ${BUILD_MOZC_LIST:S/^/do-install-/} .include diff --git a/lang/mono6.8/Makefile b/lang/mono6.8/Makefile index e9d5e9da9746..07ec0a3d15a7 100644 --- a/lang/mono6.8/Makefile +++ b/lang/mono6.8/Makefile @@ -1,119 +1,119 @@ # Created by: Yukihiro Nakai PORTNAME= mono PORTVERSION= 6.8.0.123 CATEGORIES= lang MASTER_SITES= https://download.mono-project.com/sources/mono/ PKGNAMESUFFIX= 6.8 DISTFILES= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} MAINTAINER= mono@FreeBSD.org COMMENT= Open source implementation of .NET Development Framework LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE NOT_FOR_ARCHS= riscv64 riscv64sf sparc64 BUILD_DEPENDS= p5-XML-Parser>=0:textproc/p5-XML-Parser \ bash:shells/bash \ cmake>0:devel/cmake LIB_DEPENDS= libinotify.so:devel/libinotify RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pillow>=0:graphics/py-pillow@${PY_FLAVOR} \ ca_root_nss>=0:security/ca_root_nss \ sqlite3>0:databases/sqlite3 \ zip>=0:archivers/zip CONFLICTS_INSTALL= czmq-3* mono5.10 mono6.8 USES= autoreconf bison compiler:c11 cpe gmake iconv libtool \ pathfix perl5 python:3.6+ shebangfix tar:xz USE_PERL5= build CONFIGURE_SCRIPT= autogen.sh GNU_CONFIGURE= yes USE_LDCONFIG= yes SHEBANG_FILES= scripts/mono-package-runtime scripts/mono-heapviz mono/mini/genmdesc.py \ mono/tests/test_lldb.py mono/tests/gc-descriptors/gen-descriptor-tests.py \ scripts/mono-find-provides.in scripts/mono-find-requires.in BINARY_ALIAS= python=${PYTHON_CMD} CONFIGURE_ARGS_aarch64= --with-csc=mcs CONFIGURE_ARGS= ${CONFIGURE_ARGS_${ARCH}} --disable-dtrace # Do not remove - this is needed to work around automake's lack of hinting CONFIGURE_ENV+= ac_cv_header_sys_inotify_h=yes MAKE_ENV= MONO_SHARED_DIR="${WRKDIR}" \ INSTALL_STRIP_FLAG="${STRIP}" TEST_ARGS= -k TEST_TARGET= check PORTSCOUT= limit:^\d+\.\d+\.[1-9]\d* # XXX MCL mat says: no. Options must not change themselves depending on what is installed. # XXX MCL just leave this out for now to try to get *something* done. # .if !exists(${LOCALBASE}/bin/mcs) # OPTIONS_SLAVE= MONOLITE # .endif # intentionally sorted alpha, then SPECTRE and MONODEV at the end # because they have performance and security implications OPTIONS_DEFINE= BIGARRAY MONOLITE NINJA NLS ODBC X11 SPECTRE MONODEV OPTIONS_DEFAULT= MONOLITE NLS X11 OPTIONS_SUB= yes BIGARRAY_DESC= Enable allocating arrays greater than Int32.MaxValue BIGARRAY_CONFIGURE_ENABLE= big-arrays MONOLITE_DESC= Use monolite to bootstrap mcs (otherwise use installed mcs) MONOLITE_DISTFILES= monolite-linux-${MONOLITE_VERSION}-latest.tar.gz:monolite MONOLITE_MASTER_SITES= http://download.mono-project.com/monolite/:monolite # DO NOT ALTER OR REMOVE. DANGER, CASE-SENSITIVE! # monolite 2020-01-13 @ 1798d23b MONOLITE_VERSION= 1798d23b-3dbc-4161-b3f4-6bb00134ee4e MONODEV_DESC= Build for Mono development (disables crash privacy) MONODEV_CONFIGURE_ON= --enable-icall-symbol-map --enable-icall-export --with-crash_privacy=no NINJA_DESC= Use ninja to build wherever possible NINJA_CONFIGURE_ON= ninja -NINJA_BUILD_DEPENDS= ninja>0:devel/ninja +NINJA_USES= ninja:build NLS_DESC= NLS Localization Support NLS_CONFIGURE_OFF= --disable-nls NLS_USES= gettext ODBC_DESC= System.Data: support for unixODBC ODBC_BUILD_DEPENDS= unixODBC>0:databases/unixODBC ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC SPECTRE_DESC= Enable internal Mono Spectre mitigations (SEE pkg-descr) SPECTRE_CONFIGURE_ON= --with-spectre-mitigation=yes X11_USES= display:test X11_CONFIGURE_WITH= x X11_RUN_DEPENDS= pango>0:x11-toolkits/pango \ libgdiplus>0:x11-toolkits/libgdiplus .include .if defined(QEMU_EMULATING) && "${QEMU_EMULATING}" == "1" BROKEN= fails to build under qemu: Roslyn requires more functional POSIX implementation .endif .if ${ARCH:Mpowerpc*} PLIST+= ${.CURDIR}/pkg-plist.powerpc .endif post-patch: # Needed to force regeneration due to tarball packaging ${RM} ${WRKSRC}/configure ${WRKSRC}/Makefile \ ${WRKSRC}/mono/Makefile \ ${WRKSRC}/mono/native/Makefile post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/mono .include diff --git a/lang/rust-bootstrap/Makefile b/lang/rust-bootstrap/Makefile index 883cc5e2144c..4fe3721243c1 100644 --- a/lang/rust-bootstrap/Makefile +++ b/lang/rust-bootstrap/Makefile @@ -1,246 +1,245 @@ # Once the bootstraps are available on pkg.FreeBSD.org run sync.sh # to upload them to ~/public_distfiles on freefall in preparation # for the next lang/rust update. PORTNAME= rust PORTVERSION= 1.51.0 CATEGORIES= lang MASTER_SITES= https://static.rust-lang.org/dist/:rust \ LOCAL/mikael:armbase \ LOCAL/mikael:base \ LOCAL/bdragon:ppc64lebase \ https://download.freebsd.org/ftp/${_RUST_FBSD_SUBDIR_${FLAVOR}}/:base \ LOCAL/mikael:powerpc64_gcc # http://pkg.freebsd.org/FreeBSD:12:powerpc64/quarterly/All/gcc9-9.3.0_1.txz?dummy=/:powerpc64_gcc PKGNAMESUFFIX= -bootstrap DISTNAME= ${PORTNAME}c-${PORTVERSION}-src DISTFILES= rust/${DISTNAME}${EXTRACT_SUFX}:rust \ ${_RUST_FBSD_DIST_${FLAVOR}} MAINTAINER= rust@FreeBSD.org COMMENT= Create bootstrap compilers for building lang/rust LICENSE= APACHE20 MIT LICENSE_COMB= dual LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE-APACHE LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT ONLY_FOR_ARCHS= amd64 ONLY_FOR_ARCHS_REASON= untested on other archs BUILD_DEPENDS= cmake:devel/cmake \ gmake:devel/gmake \ - ninja:devel/ninja \ rust>=${PORTVERSION}:lang/rust FLAVORS= aarch64 amd64 armv6 armv7 i386 powerpc64_elfv1 powerpc64_elfv2 powerpc64le FLAVOR?= ${FLAVORS:[1]} aarch64_PKGNAMEPREFIX= aarch64- aarch64_BUILD_DEPENDS= llvm90>0:devel/llvm90 amd64_PKGNAMEPREFIX= amd64- armv6_PKGNAMEPREFIX= armv6- armv7_PKGNAMEPREFIX= armv7- i386_PKGNAMEPREFIX= i386- powerpc64_elfv1_PKGNAMEPREFIX= powerpc64-elfv1- powerpc64_elfv1_BUILD_DEPENDS= powerpc64-gcc9>0:devel/freebsd-gcc9@powerpc64 powerpc64_elfv2_PKGNAMEPREFIX= powerpc64-elfv2- powerpc64le_PKGNAMEPREFIX= powerpc64le- -USES= perl5 python:3.6+,build tar:xz +USES= ninja:build perl5 python:3.6+,build tar:xz .if ${FLAVOR} == powerpc64_elfv1 USE_GCC= 9:build .endif # for openssl-src crate USE_PERL5= build .if ${FLAVOR} == aarch64 CC= clang90 CXX= clang++90 .endif PATCHDIR= ${.CURDIR}/../rust/files # Resulting packages are not specific to amd64 NO_ARCH= yes _RUST_FBSD_DIST_aarch64= FreeBSD-${_RUST_FBSD_VER}-arm64${EXTRACT_SUFX}:base _RUST_FBSD_DIST_amd64= FreeBSD-${_RUST_FBSD_VER}-amd64${EXTRACT_SUFX}:base # base.txz for armv* created from WANDBOARD images as there seem # to be no generic base.txz for it. _RUST_FBSD_DIST_armv6= FreeBSD-${_RUST_FBSD_VER}-arm-armv6${EXTRACT_SUFX}:armbase _RUST_FBSD_DIST_armv7= FreeBSD-${_RUST_FBSD_VER}-arm-armv7${EXTRACT_SUFX}:armbase _RUST_FBSD_DIST_i386= FreeBSD-${_RUST_FBSD_VER}-i386${EXTRACT_SUFX}:base _RUST_FBSD_DIST_powerpc64_elfv1= FreeBSD-${_RUST_FBSD_VER}-powerpc64-elfv1${EXTRACT_SUFX}:base \ FreeBSD-${_RUST_FBSD_VER}-powerpc64-elfv1-gcc9-9.3.0${EXTRACT_SUFX}:powerpc64_gcc _RUST_FBSD_DIST_powerpc64_elfv2= FreeBSD-${_RUST_FBSD_VER}-powerpc64-elfv2-v1300123${EXTRACT_SUFX}:base _RUST_FBSD_DIST_powerpc64le= FreeBSD-${_RUST_FBSD_VER}-powerpc64le-r366300${EXTRACT_SUFX}:ppc64lebase _RUST_FBSD_VER= ${_RUST_FBSD_VER_${FLAVOR}:U11.4-RELEASE} _RUST_FBSD_VER_aarch64= 12.2-RELEASE _RUST_FBSD_VER_armv7= 12.2-RELEASE _RUST_FBSD_VER_powerpc64_elfv1= 12.2-RELEASE _RUST_FBSD_VER_powerpc64_elfv2= 13.0-CURRENT _RUST_FBSD_VER_powerpc64le= 13.0-CURRENT _RUST_FBSD_SUBDIR_aarch64= releases/arm64/${_RUST_FBSD_VER}/base.txz?dummy= _RUST_FBSD_SUBDIR_amd64= releases/amd64/${_RUST_FBSD_VER}/base.txz?dummy= _RUST_FBSD_SUBDIR_i386= releases/i386/${_RUST_FBSD_VER}/base.txz?dummy= _RUST_FBSD_SUBDIR_powerpc64_elfv1= releases/powerpc/powerpc64/${_RUST_FBSD_VER}/base.txz?dummy= _RUST_FBSD_SUBDIR_powerpc64_elfv2= snapshots/powerpc/powerpc64/${_RUST_FBSD_VER}/base.txz?dummy= _RUST_FBSD_SUBDIR_powerpc64le= snapshots/powerpc/powerpc64le/${_RUST_FBSD_VER}/base.txz?dummy= _CARGO_VENDOR_DIR= ${WRKSRC}/vendor _RUST_ARCH_amd64= x86_64 _RUST_ARCH_i386= i686 _RUST_ARCH_powerpc64_elfv1= powerpc64 _RUST_ARCH_powerpc64_elfv2= powerpc64 _RUST_ARCH_powerpc64le= powerpc64le _RUST_HOST= ${_RUST_ARCH_${ARCH}:U${ARCH}}-unknown-${OPSYS:tl} _RUST_TARGET= ${_RUST_ARCH_${FLAVOR}:U${FLAVOR}}-unknown-${OPSYS:tl} _RUST_LLVM_TARGET= ${_RUST_LLVM_TARGET_${FLAVOR}} _RUST_LLVM_TARGET_aarch64= AArch64 _RUST_LLVM_TARGET_amd64= X86 _RUST_LLVM_TARGET_armv6= ARM _RUST_LLVM_TARGET_armv7= ARM _RUST_LLVM_TARGET_i386= X86 _RUST_LLVM_TARGET_powerpc64_elfv1= PowerPC _RUST_LLVM_TARGET_powerpc64_elfv2= PowerPC _RUST_LLVM_TARGET_powerpc64le= PowerPC _RUST_LLVM_TRIPLE= ${_RUST_LLVM_TRIPLE_${FLAVOR}:U${_RUST_TARGET}} _RUST_LLVM_TRIPLE_armv6= armv6-gnueabihf-freebsd _RUST_LLVM_TRIPLE_armv7= armv7-gnueabihf-freebsd .include .if ${OPSYS} != FreeBSD IGNORE= is only for FreeBSD .elif ${OSVERSION} < 1200502 IGNORE= will not build on 12.0 due to old toolchain; 11.x untested .endif .if ${FLAVOR} == powerpc64le && ${OSVERSION} < 1300116 IGNORE= will not build on 12.x due to old system .endif .if exists(${PATCHDIR}/${FLAVOR:S/_/-/}) EXTRA_PATCHES+= ${PATCHDIR}/${FLAVOR:S/_/-/} .endif post-patch: # Disable vendor checksums @${REINPLACE_CMD} 's,"files":{[^}]*},"files":{},' \ ${_CARGO_VENDOR_DIR}/*/.cargo-checksum.json .if ${FLAVOR} == powerpc64_elfv1 @${REINPLACE_CMD} -e 's,"c++","stdc++",g' \ ${WRKSRC}/compiler/rustc_llvm/build.rs .endif @${REINPLACE_CMD} -e 's,%CC%,${CC},g' \ -e 's,%WRKDIR%,${WRKDIR},g' \ ${WRKSRC}/compiler/rustc_llvm/build.rs \ ${WRKSRC}/src/bootstrap/native.rs do-configure: # Check that the running kernel has COMPAT_FREEBSD11 required by lang/rust post-ino64 @${SETENV} CC="${CC}" OPSYS="${OPSYS}" OSVERSION="${OSVERSION}" WRKDIR="${WRKDIR}" \ ${SH} ${SCRIPTSDIR}/rust-compat11-canary.sh @${ECHO_CMD} '[build]' > ${WRKSRC}/config.toml @${ECHO_CMD} 'vendor=true' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'extended=false' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'python="${PYTHON_CMD}"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'docs=false' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'verbose=2' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'cargo-native-static=true' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'cargo="${LOCALBASE}/bin/cargo"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'rustc="${LOCALBASE}/bin/rustc"' >> ${WRKSRC}/config.toml .if ${_RUST_HOST} != ${_RUST_TARGET} @${ECHO_CMD} 'host=["${_RUST_HOST}","${_RUST_TARGET}"]' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'target=["${_RUST_TARGET}"]' >> ${WRKSRC}/config.toml .endif @${ECHO_CMD} '[rust]' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'channel="stable"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'default-linker="${CC}"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'deny-warnings=false' >> ${WRKSRC}/config.toml @${ECHO_CMD} '[llvm]' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'link-shared=false' >> ${WRKSRC}/config.toml .if ${FLAVOR} == powerpc64_elfv1 @${ECHO_CMD} 'static-libstdcpp=true' >> ${WRKSRC}/config.toml .endif .if defined(WITH_CCACHE_BUILD) && !defined(NO_CCACHE) @${ECHO_CMD} 'ccache="${CCACHE_BIN}"' >> ${WRKSRC}/config.toml .else @${ECHO_CMD} 'ccache=false' >> ${WRKSRC}/config.toml .endif # https://github.com/rust-lang/rust/pull/72696#issuecomment-641517185 @${ECHO_CMD} 'ldflags="-lz"' >> ${WRKSRC}/config.toml # we need to make sure to always build llvm with X86 support to get a # host compiler that can build the host->target compiler @${ECHO_CMD} 'targets="${_RUST_LLVM_TARGET};X86"' >> ${WRKSRC}/config.toml @${ECHO_CMD} '[target.${_RUST_TARGET}]' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'cc="${WRKDIR}/${_RUST_TARGET}-cc"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'cxx="${WRKDIR}/${_RUST_TARGET}-c++"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'linker="${WRKDIR}/${_RUST_TARGET}-cc"' >> ${WRKSRC}/config.toml .for _key _util in ar ${AR} ranlib ${RANLIB} @bin="$$(which ${_util})"; \ ${ECHO_CMD} "${_key}=\"$$bin\"" >> ${WRKSRC}/config.toml .endfor .if ${_RUST_HOST} != ${_RUST_TARGET} @${ECHO_CMD} '[target.${_RUST_HOST}]' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'cc="${CC}"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'cxx="${CXX}"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'linker="${CC}"' >> ${WRKSRC}/config.toml .endif @${ECHO_CMD} '[dist]' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'src-tarball=false' >> ${WRKSRC}/config.toml .if ${FLAVOR} == powerpc64_elfv1 @${RLN} ${WRKDIR}${LOCALBASE}/lib/gcc9/libstdc++.a ${WRKDIR}/usr/lib/libstdc++.a @${RLN} ${WRKDIR}${LOCALBASE}/lib/gcc9/libstdc++.a ${WRKDIR}/usr/lib/libc++.a @gcc="$$(${ECHO_CMD} ${LOCALBASE}/bin/${_RUST_TARGET}*[0-9]-gcc9)"; \ ${PRINTF} '#!/bin/sh\nexec %s --sysroot=${WRKDIR} -Wl,-rpath=${LOCALBASE}/lib/gcc9 -L${WRKDIR}${LOCALBASE}/lib/gcc9 "$$@"\n' "$${gcc}" \ > ${WRKDIR}/${_RUST_TARGET}-cc @gcc="$$(${ECHO_CMD} ${LOCALBASE}/bin/${_RUST_TARGET}*[0-9]-g++9)"; \ cxxinc="/$$(cd ${WRKDIR} && ${ECHO_CMD} ${LOCALBASE:S,^/,,}/lib/gcc9/include/c++/powerpc64-*)"; \ ${PRINTF} '#!/bin/sh\nexec %s --sysroot=${WRKDIR} -isystem=${LOCALBASE}/lib/gcc9/include/c++ -isystem=%s -Wl,-rpath=${LOCALBASE}/lib/gcc9 -L${WRKDIR}${LOCALBASE}/lib/gcc9 "$$@"\n' "$${gcc}" "$${cxxinc}" \ > ${WRKDIR}/${_RUST_TARGET}-c++ .elif ${FLAVOR} == powerpc64_elfv2 @${PRINTF} '#!/bin/sh\nexec ${CC} --sysroot=${WRKDIR} -mabi=elfv2 --target=${_RUST_LLVM_TRIPLE} "$$@"\n' \ > ${WRKDIR}/${_RUST_TARGET}-cc @${PRINTF} '#!/bin/sh\nexec ${CXX} --sysroot=${WRKDIR} -mabi=elfv2 --target=${_RUST_LLVM_TRIPLE} -stdlib=libc++ "$$@"\n' \ > ${WRKDIR}/${_RUST_TARGET}-c++ .else @${PRINTF} '#!/bin/sh\nexec ${CC} --sysroot=${WRKDIR} --target=${_RUST_LLVM_TRIPLE} "$$@"\n' \ > ${WRKDIR}/${_RUST_TARGET}-cc @${PRINTF} '#!/bin/sh\nexec ${CXX} --sysroot=${WRKDIR} --target=${_RUST_LLVM_TRIPLE} -stdlib=libc++ "$$@"\n' \ > ${WRKDIR}/${_RUST_TARGET}-c++ .endif @${CHMOD} +x ${WRKDIR}/${_RUST_TARGET}-c* # sanity check cross compilers. we cannot execute the result but # at least check that it can link a simple program before going further. @${PRINTF} '#include \nint main(){return printf("hello\\n");}' | ${WRKDIR}/${_RUST_TARGET}-cc -o ${WRKDIR}/test-c -xc - # produce some useful info for the build logs like what release/arch test-c is compiled for @cd ${WRKDIR} && ${FILE} test-c && ${READELF} -A test-c @${PRINTF} '#include \nint main(){std::cout<<"hello"<> ${TMPPLIST} .if !defined(_RUST_MAKESUM_GUARD) makesum: ${MAKE} -D_RUST_MAKESUM_GUARD makesum FLAVOR=${FLAVORS:O:[1]} DISTINFO_FILE=${DISTINFO_FILE}.tmp .for _flavor in ${FLAVORS:O:[2..-1]} ${MAKE} -D_RUST_MAKESUM_GUARD makesum FLAVOR=${_flavor} DISTINFO_FILE=${DISTINFO_FILE}.${_flavor} ${SED} 1d ${DISTINFO_FILE}.${_flavor} >> ${DISTINFO_FILE}.tmp ${RM} ${DISTINFO_FILE}.${_flavor} .endfor ${AWK} '!seen[$$0]++' ${DISTINFO_FILE}.tmp > ${DISTINFO_FILE} ${RM} ${DISTINFO_FILE}.tmp .endif .include diff --git a/lang/rust/Makefile b/lang/rust/Makefile index 87c03cd4d9db..f7ad497453a1 100644 --- a/lang/rust/Makefile +++ b/lang/rust/Makefile @@ -1,243 +1,242 @@ # Created by: Jyun-Yan You PORTNAME= rust PORTVERSION?= 1.51.0 PORTREVISION?= 0 CATEGORIES= lang MASTER_SITES= https://static.rust-lang.org/dist/:src \ https://dev-static.rust-lang.org/dist/:src \ LOCAL/tobik/rust:bootstrap \ LOCAL/mikael/rust:bootstrap \ https://static.rust-lang.org/dist/:bootstrap DISTNAME?= ${PORTNAME}c-${PORTVERSION}-src DISTFILES?= ${NIGHTLY_DATE:D${NIGHTLY_DATE}/}${DISTNAME}${EXTRACT_SUFX}:src \ ${_RUSTC_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}${EXTRACT_SUFX}:bootstrap \ ${_RUST_STD_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}${EXTRACT_SUFX}:bootstrap \ ${_CARGO_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}${EXTRACT_SUFX}:bootstrap DIST_SUBDIR?= rust MAINTAINER= rust@FreeBSD.org COMMENT= Language with a focus on memory safety and concurrency LICENSE= APACHE20 MIT LICENSE_COMB= dual LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE-APACHE LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT IGNORE_FreeBSD_11_powerpc64= is missing a bootstrap for FreeBSD 11.x powerpc64 ONLY_FOR_ARCHS?= aarch64 amd64 armv6 armv7 i386 powerpc64 powerpc64le ONLY_FOR_ARCHS_REASON?= requires prebuilt bootstrap compiler -BUILD_DEPENDS= cmake:devel/cmake \ - ninja:devel/ninja +BUILD_DEPENDS= cmake:devel/cmake LIB_DEPENDS= libcurl.so:ftp/curl -USES= pkgconfig python:3.6+,build ssl tar:xz +USES= ninja:build pkgconfig python:3.6+,build ssl tar:xz MAKE_ENV= DESTDIR=${STAGEDIR} \ OPENSSL_DIR="${OPENSSLBASE}" \ RUST_BACKTRACE=1 TEST_ENV= ${MAKE_ENV} \ ALLOW_NONZERO_RLIMIT_CORE=1 CONFLICTS_INSTALL?= rust-nightly OPTIONS_DEFINE= DOCS GDB SOURCES WASM OPTIONS_DEFAULT= SOURCES WASM GDB_DESC= Install ports gdb (necessary for debugging rust programs) SOURCES_DESC= Install source files WASM_DESC= Build the WebAssembly target (wasm32-unknown-unknown) DOCS_VARS= _RUST_BUILD_DOCS=true DOCS_VARS_OFF= _RUST_BUILD_DOCS=false GDB_RUN_DEPENDS= ${LOCALBASE}/bin/gdb:devel/gdb SOURCES_VARS= _RUST_TOOLS+=src WASM_VARS= _RUST_BUILD_WASM=true \ _RUST_TARGETS+=wasm32-unknown-unknown WASM_VARS_OFF= _RUST_BUILD_WASM=false # See WRKSRC/src/stage0.txt for the date and version values. BOOTSTRAPS_DATE?= 2021-02-11 RUST_BOOTSTRAP_VERSION?= 1.50.0 BOOTSTRAPS_SUFFIX?= ${BOOTSTRAPS_SUFFIX_${ARCH}} BOOTSTRAPS_SUFFIX_powerpc64?= -${PPC_ABI:tl} CARGO_VENDOR_DIR?= ${WRKSRC}/vendor # Rust's target arch string might be different from *BSD arch strings _RUST_ARCH_amd64= x86_64 _RUST_ARCH_i386= i686 _RUST_TARGET= ${_RUST_ARCH_${ARCH}:U${ARCH}}-unknown-${OPSYS:tl} _RUST_TARGETS= ${_RUST_TARGET} _RUST_TOOLS= analysis cargo clippy rls rustfmt _RUSTC_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rustc-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${_RUST_TARGET} _RUST_STD_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/rust-std-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${_RUST_TARGET} _CARGO_BOOTSTRAP= ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}}/cargo-${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}}-${_RUST_TARGET} .include .if exists(${PATCHDIR}/${ARCH}${BOOTSTRAPS_SUFFIX}) EXTRA_PATCHES+= ${PATCHDIR}/${ARCH}${BOOTSTRAPS_SUFFIX} .endif .if defined(PPC_ABI) && ${PPC_ABI} == ELFv1 # The bootstrap is hardcoded to use gcc9 # but we can build with a newer or older compiler as provided by USE_GCC=yes BUILD_DEPENDS+= gcc9:lang/gcc9 USE_GCC= yes .endif # remove when 11.4 is EOL .if ${ARCH} == aarch64 && ${OSVERSION} < 1202000 IGNORE= fails to run due to a bug in rtld, update to 12.2-RELEASE or newer .endif .ifdef QEMU_EMULATING IGNORE= fails to build with qemu-user-static .endif post-patch: @${REINPLACE_CMD} 's,gdb,${LOCALBASE}/bin/gdb,' ${WRKSRC}/src/etc/rust-gdb .if defined(NIGHTLY_DATE) @${REINPLACE_CMD} '/^rustfmt:/d' ${WRKSRC}/src/stage0.txt .endif # Disable vendor checksums @${REINPLACE_CMD} 's,"files":{[^}]*},"files":{},' \ ${CARGO_VENDOR_DIR}/*/.cargo-checksum.json .if defined(PPC_ABI) && ${PPC_ABI} == ELFv1 && ${LOCALBASE} != /usr/local @${REINPLACE_CMD} 's,/usr/local/,${LOCALBASE}/,g' \ ${WRKSRC}/compiler/rustc_llvm/build.rs \ ${WRKSRC}/src/bootstrap/native.rs .endif do-configure: # Check that the running kernel has COMPAT_FREEBSD11 required by lang/rust post-ino64 @${SETENV} CC="${CC}" OPSYS="${OPSYS}" OSVERSION="${OSVERSION}" WRKDIR="${WRKDIR}" \ ${SH} ${SCRIPTSDIR}/rust-compat11-canary.sh .for _component in cargo rust-std rustc @cd ${WRKDIR}/${_component}-*-${OPSYS:tl} && \ ${SH} install.sh --prefix=${WRKDIR}/bootstrap --verbose .endfor @${ECHO_CMD} 'changelog-seen=2' > ${WRKSRC}/config.toml @${ECHO_CMD} '[build]' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'build-stage=2' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'doc-stage=2' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'test-stage=2' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'vendor=true' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'extended=true' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'python="${PYTHON_CMD}"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'docs=${_RUST_BUILD_DOCS}' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'verbose=2' >> ${WRKSRC}/config.toml .if defined(NIGHTLY_DATE) @${ECHO_CMD} 'profiler=true' >> ${WRKSRC}/config.toml .endif @${ECHO_CMD} 'target=[${_RUST_TARGETS:@.target.@"${.target.}"@:ts,}]' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'cargo="${WRKDIR}/bootstrap/bin/cargo"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'rustc="${WRKDIR}/bootstrap/bin/rustc"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'tools=[${_RUST_TOOLS:@.tool.@"${.tool.}"@:ts,}]' >> ${WRKSRC}/config.toml @${ECHO_CMD} '[install]' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'prefix="${PREFIX}"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'sysconfdir="${PREFIX}/etc"' >> ${WRKSRC}/config.toml @${ECHO_CMD} '[rust]' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'channel="${PKGNAMESUFFIX:Ustable:S/^-//}"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'default-linker="${CC}"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'deny-warnings=false' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'verbose-tests=true' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'lld=${_RUST_BUILD_WASM}' >> ${WRKSRC}/config.toml @${ECHO_CMD} '[llvm]' >> ${WRKSRC}/config.toml .if defined(WITH_CCACHE_BUILD) && !defined(NO_CCACHE) @${ECHO_CMD} 'ccache="${CCACHE_BIN}"' >> ${WRKSRC}/config.toml .else @${ECHO_CMD} 'ccache=false' >> ${WRKSRC}/config.toml .endif @${ECHO_CMD} 'ninja=true' >> ${WRKSRC}/config.toml .if ${ARCH} == armv6 # fails to link with base ld.bfd: rustc_codegen_llvm.e2557spx-cgu.11:(.text._ZN89_$LT$rustc_target..abi..call..CastTarget$u20$as$u20$rustc_codegen_llvm..abi..LlvmType$GT$9llvm_type17h1296210ab461fc57E+0x54): relocation truncated to fit: R_ARM_CALL against symbol `__aeabi_uldivmod' defined in .text.__aeabi_uldivmod section in /tmp/rustcdnGbao/libcompiler_builtins-ee65b414e4115a8f.rlib(compiler_builtins-ee65b414e4115a8f.compiler_builtins.ay8p39ey-cgu.13.rcgu.o) @${PRINTF} '#!/bin/sh\nexec ${CC} -fuse-ld=lld "$$@"' > ${WRKDIR}/cc-wrapper @${CHMOD} +x ${WRKDIR}/cc-wrapper .endif .for _target in ${_RUST_TARGETS} @${ECHO_CMD} '[target.${_target}]' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'ar="${AR}"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'cc="${CC}"' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'cxx="${CXX}"' >> ${WRKSRC}/config.toml .if ${ARCH} == armv6 @${ECHO_CMD} 'linker="${WRKDIR}/cc-wrapper"' >> ${WRKSRC}/config.toml .else @${ECHO_CMD} 'linker="${CC}"' >> ${WRKSRC}/config.toml .endif .endfor @${ECHO_CMD} '[dist]' >> ${WRKSRC}/config.toml @${ECHO_CMD} 'src-tarball=false' >> ${WRKSRC}/config.toml .if defined(NIGHTLY_DATE) # Don't abort if optional tools fail to build @${ECHO_CMD} 'missing-tools=true' >> ${WRKSRC}/config.toml .endif @${REINPLACE_CMD} 's,%CC%,${CC},g' \ ${WRKSRC}/src/bootstrap/native.rs # this reinplace_cmd is used for ppc64-elfv1, don't remove it # even if sed_checked.sh says it's unused @${REINPLACE_CMD} 's,%CC%,${CC},g' \ ${WRKSRC}/compiler/rustc_llvm/build.rs do-build: @cd ${WRKSRC} && \ ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} x.py build --jobs=${MAKE_JOBS_NUMBER} do-install: @cd ${WRKSRC} && \ ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} x.py install --jobs=${MAKE_JOBS_NUMBER} # We autogenerate the plist file. We do that, instead of the # regular pkg-plist, because several libraries have a computed # filename based on the absolute path of the source files. As it # is user-specific, we cannot know their filename in advance. @${RM} -r ${STAGEDIR}${DOCSDIR}/*.old \ ${STAGEDIR}${DOCSDIR}/html/.lock \ ${STAGEDIR}${DOCSDIR}/html/.stamp \ ${STAGEDIR}${PREFIX}/lib/rustlib/install.log \ ${STAGEDIR}${PREFIX}/lib/rustlib/manifest-* \ ${STAGEDIR}${PREFIX}/lib/rustlib/uninstall.sh @${FIND} ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/lib \ ${STAGEDIR}${PREFIX}/libexec -exec ${FILE} -i {} + | \ ${AWK} -F: '/executable|sharedlib/ { print $$1 }' | ${XARGS} ${STRIP_CMD} @${FIND} ${STAGEDIR}${PREFIX} -not -type d | \ ${SED} -E -e 's,^${STAGEDIR}${PREFIX}/,,' \ -e 's,(share/man/man[1-9]/.*\.[0-9]),\1.gz,' >> ${TMPPLIST} post-install-DOCS-on: # Ignore any left behind empty directories in case some docs fail # to build (failures are ignored due to deny-warnings=false). @${FIND} ${STAGEDIR}${DOCSDIR}/html -empty -type d | \ ${SED} 's,^${STAGEDIR},@comment @dir ,' >> ${TMPPLIST} post-install-SOURCES-on: # Silence stage-qa warnings by sanitizing permissions on sources @${FIND} ${STAGEDIR}${PREFIX}/lib/rustlib/src -type f -exec ${CHMOD} \ ${SHAREMODE} {} + # Note that make test does not work when rust is already installed. do-test: @cd ${WRKSRC} && \ ${SETENV} ${TEST_ENV} ${PYTHON_CMD} x.py test --jobs=${MAKE_JOBS_NUMBER} .if !defined(_RUST_MAKESUM_GUARD) makesum: ${MAKE} -D_RUST_MAKESUM_GUARD makesum ARCH=${ONLY_FOR_ARCHS:O:[1]} DISTINFO_FILE=${DISTINFO_FILE}.tmp .for arch in ${ONLY_FOR_ARCHS:O:[2..-1]} ${MAKE} -D_RUST_MAKESUM_GUARD makesum PPC_ABI=ELFv1 ARCH=${arch} DISTINFO_FILE=${DISTINFO_FILE}.${arch} ${SED} 1d ${DISTINFO_FILE}.${arch} >> ${DISTINFO_FILE}.tmp ${RM} ${DISTINFO_FILE}.${arch} .endfor .if ${ONLY_FOR_ARCHS:Mpowerpc64} ${MAKE} -D_RUST_MAKESUM_GUARD makesum PPC_ABI=ELFv2 ARCH=powerpc64 DISTINFO_FILE=${DISTINFO_FILE}.powerpc64-elfv2 ${SED} 1d ${DISTINFO_FILE}.powerpc64-elfv2 >> ${DISTINFO_FILE}.tmp ${RM} ${DISTINFO_FILE}.powerpc64-elfv2 .endif ${AWK} '!seen[$$0]++' ${DISTINFO_FILE}.tmp > ${DISTINFO_FILE} ${RM} ${DISTINFO_FILE}.tmp .endif .include diff --git a/math/py-pdal/Makefile b/math/py-pdal/Makefile index 5c686f8e7266..3d555bc787d9 100644 --- a/math/py-pdal/Makefile +++ b/math/py-pdal/Makefile @@ -1,32 +1,31 @@ PORTNAME= pdal DISTVERSION= 2.3.5 CATEGORIES= math python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= ${PORTNAME:tu}-${DISTVERSION} MAINTAINER= lbartoletti@FreeBSD.org COMMENT= PDAL Python bindings LICENSE= BSD3CLAUSE BUILD_DEPENDS= ${PYNUMPY} \ ${PYTHON_PKGNAMEPREFIX}scikit-build>0:devel/py-scikit-build@${PY_FLAVOR} \ - ${LOCALBASE}/bin/cmake:devel/cmake \ - ${LOCALBASE}/bin/ninja:devel/ninja + cmake:devel/cmake LIB_DEPENDS= libpdal_base.so:math/pdal RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR} \ ${PYNUMPY} -USES= compiler:c++11-lang python:3.6+ +USES= compiler:c++11-lang ninja:build python:3.6+ USE_PYTHON= autoplist cython distutils post-install: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libpdal_plugin_filter_python*.so ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/${PORTNAME}/libpdalpython*.so ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libpdal_plugin_reader_numpy*.so do-test: @cd ${WRKSRC} && ${PYTHON_CMD} ${PYDISTUTILS_SETUP} test .include diff --git a/math/sage/Makefile b/math/sage/Makefile index 300a38dd406c..35b1253e5192 100644 --- a/math/sage/Makefile +++ b/math/sage/Makefile @@ -1,575 +1,575 @@ # Created by: Stephen Montgomery-Smith PORTNAME= sage PORTVERSION= 9.2 PORTREVISION= 12 CATEGORIES= math MASTER_SITES= https://mirrors.xmission.com/sage/src/ \ http://mirrors.xmission.com/sage/src/ \ https://www-ftp.lip6.fr/pub/math/sagemath/src/ \ https://mirrors.mit.edu/sage/src/ \ https://files.sagemath.org/src/ \ ftp://www-ftp.lip6.fr/pub/math/sagemath/src/ #MASTER_SITES= ftp://www-ftp.lip6.fr/pub/math/sagemath/devel/ PKGNAMESUFFIX= -math MAINTAINER= thierry@FreeBSD.org COMMENT= Open source Mathematics software LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/COPYING.txt BUILD_DEPENDS= bash:shells/bash \ dash:shells/dash \ cmake:devel/cmake \ dreadnaut:math/nauty \ ${PYTHON_PKGNAMEPREFIX}alabaster>0:textproc/py-alabaster@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}attrs>0:devel/py-attrs@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}Babel>0:devel/py-babel@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}backcall>0:devel/py-backcall@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}bleach>0:www/py-bleach@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}brial>0:math/py-brial@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}certifi>0:security/py-certifi@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cffi>0:devel/py-cffi@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cvxopt>0:math/py-cvxopt@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cycler>0:devel/py-cycler@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cypari2>0:math/py-cypari2@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cysignals>0:devel/py-cysignals@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cython>0:lang/cython@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}dateutil>0:devel/py-dateutil@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}decorator>0:devel/py-decorator@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}defusedxml>0:devel/py-defusedxml@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}docutils>0:textproc/py-docutils@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}entrypoints>0:devel/py-entrypoints@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}fpylll>0:math/py-fpylll@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}gmpy2-devel>0:math/py-gmpy2-devel@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}imagesize>0:graphics/py-imagesize@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}importlib-metadata>0:devel/py-importlib-metadata@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ipykernel5>0:devel/py-ipykernel5@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ipython>0:devel/ipython@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ipython_genutils>0:devel/py-ipython_genutils@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ipywidgets>0:devel/py-ipywidgets@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}itsdangerous>0:security/py-itsdangerous@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}Jinja2>0i:devel/py-Jinja2@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}jedi>0:devel/py-jedi@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}jsonschema>0:devel/py-jsonschema@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}jupyter_core>0:devel/py-jupyter_core@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}jupyter_client>0:devel/py-jupyter_client@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}kiwisolver>0:math/py-kiwisolver@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}markupsafe>0:textproc/py-markupsafe@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}matplotlib>0:math/py-matplotlib@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}mistune>0:textproc/py-mistune@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}mpmath>0:math/py-mpmath@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}nbconvert>0:devel/py-nbconvert@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}nbformat>0:devel/py-nbformat@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}networkx>0:math/py-networkx@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}nose>0:devel/py-nose@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}notebook>0:www/py-notebook@${PY_FLAVOR}\ ${PYNUMPY} \ ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pandocfilters>0:textproc/py-pandocfilters@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}parso>0:textproc/py-parso@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}path.py>0:devel/py-path.py@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pexpect>0:misc/py-pexpect@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pickleshare>0:databases/py-pickleshare@${PY_FLAVOR}\ ${PY_PILLOW} \ ${PYTHON_PKGNAMEPREFIX}pkgconfig>0:devel/py-pkgconfig@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pplpy>0:math/py-pplpy@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}prometheus-client>0:net-mgmt/py-prometheus-client@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}prompt-toolkit>0:devel/py-prompt-toolkit@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ptyprocess>0:sysutils/py-ptyprocess@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pybind11>0:devel/py-pybind11@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pycparser>0:devel/py-pycparser@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pyparsing>0:devel/py-pyparsing@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pygments>0:textproc/py-pygments@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pyrsistent>0:devel/py-pyrsistent@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pytz>0:devel/py-pytz@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pyzmq>0:net/py-pyzmq@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}rpy2>0:math/py-rpy2@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}scandir>0:sysutils/py-scandir@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}send2trash>0:deskutils/py-send2trash@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}simplegeneric>0:devel/py-simplegeneric@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}snowballstemmer>0:textproc/py-snowballstemmer@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinx>0:textproc/py-sphinx@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-applehelp>0:textproc/py-sphinxcontrib-applehelp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-devhelp>0:textproc/py-sphinxcontrib-devhelp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-htmlhelp>0:textproc/py-sphinxcontrib-htmlhelp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-jsmath>0:textproc/py-sphinxcontrib-jsmath@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-qthelp>0:textproc/py-sphinxcontrib-qthelp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-serializinghtml>0:textproc/py-sphinxcontrib-serializinghtml@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-websupport>0:textproc/py-sphinxcontrib-websupport@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sympy>0:math/py-sympy@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}terminado>0:net/py-terminado@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}testpath>0:devel/py-testpath@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}traitlets>0:devel/py-traitlets@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}tornado>0:www/py-tornado@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}traitlets>0:devel/py-traitlets@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}tzlocal>0:devel/py-tzlocal@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}vcversioner>0:devel/py-vcversioner@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}wcwidth>0:devel/py-wcwidth@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}webencodings>0:converters/py-webencodings@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}widgetsnbextension>0:devel/py-widgetsnbextension@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}zipp>0:devel/py-zipp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}zope.interface>0:devel/py-zope.interface@${PY_FLAVOR}\ fflas-ffpack-config:math/fflas-ffpack \ fricas>0:math/fricas \ gfan:math/gfan \ git:devel/git \ gp2c:math/gp2c \ jmol:science/jmol \ libatomic_ops>0:devel/libatomic_ops \ MathJax>0:www/mathjax \ maxima>0:math/maxima \ p5-XML-Writer>0:textproc/p5-XML-Writer \ p5-XML-LibXML>0:textproc/p5-XML-LibXML \ p5-XML-LibXSLT>0:textproc/p5-XML-LibXSLT\ p5-File-Slurp>0:devel/p5-File-Slurp \ p5-JSON>0:converters/p5-JSON \ p5-SVG>0:textproc/p5-SVG \ p5-MongoDB>0:databases/p5-MongoDB \ p5-Term-ReadLine-Gnu>0:devel/p5-Term-ReadLine-Gnu\ palp>0:math/palp \ pandoc:textproc/hs-pandoc \ pari-elldata>0:math/pari_elldata\ pari-galdata>0:math/pari_galdata\ pari-galpol>0:math/pari_galpol \ pari-nftables>0:math/pari_nftables \ pari-seadata>0:math/pari_seadata\ QuadraticSieve:math/flintqs \ - ninja:devel/ninja \ gpatch:devel/patch \ rubiks>0:math/rubiks \ sympow:math/sympow \ tachyon:graphics/tachyon \ three.js>0:www/threejs \ yasm:devel/yasm \ gtar:archivers/gtar \ convert:graphics/ImageMagick6 \ ffmpeg:multimedia/ffmpeg \ ${LOCALBASE}/lib/libBLT.a:x11-toolkits/blt LIB_DEPENDS= libarb.so:math/arb \ libboost_thread.so:devel/boost-libs \ libbraiding.so:math/libbraiding \ libbrial.so:math/brial \ libCbc.so:math/cbc \ libcdd.so:math/cddlib \ libcliquer.so:math/cliquer \ libcurl.so:ftp/curl \ libeantic.so:math/e-antic \ libec.so:math/eclib \ libecl.so:lang/ecl \ libecm.so:math/gmp-ecm \ libflint.so:math/flint2 \ libfplll.so:math/fplll \ libfreetype.so:print/freetype2 \ libgc.so:devel/boehm-gc \ libgc-threaded.so:devel/boehm-gc-threaded\ libgf2x.so:math/gf2x \ libgivaro.so:math/givaro \ libglpk.so:math/glpk \ libgap.so:math/gap \ libgmp.so:math/gmp \ libgsl.so:math/gsl \ libhomfly.so:math/libhomfly \ libiml.so:math/iml \ libisl.so:devel/isl \ libLfunction.so:math/lcalc \ libffi.so:devel/libffi \ libgd.so:graphics/gd \ libgiac.so:math/giacxcas \ liblinbox.so:math/linbox \ liblrcalc.so:math/lrcalc \ liblrs.so:math/lrslib \ libm4ri.so:math/m4ri \ libm4rie.so:math/m4rie \ libmpc.so:math/mpc \ libmpfi.so:math/mpfi \ libmpfr.so:math/mpfr \ libmpir.so:math/mpir \ libntl.so:math/ntl \ libpari.so:math/pari \ libpcre.so:devel/pcre \ libplanarity.so:math/planarity \ libpng.so:graphics/png \ libppl.so:devel/ppl \ libpynac.so:math/pynac \ libR.so:math/R \ librw.so:math/rankwidth \ libSingular.so:math/singular \ libamd.so:math/suitesparse \ libsemigroups.so:math/libsemigroups \ libsymmetrica.so:math/symmetrica\ libzmq.so:net/libzmq4 \ libzn_poly-0.9.so:math/zn_poly \ libqd.so:math/qd \ libisl.so:devel/isl \ libblas.so:math/blas \ libicuuc.so:devel/icu \ libtiff.so:graphics/tiff \ liblapack.so:math/lapack \ libedit.so:devel/libedit \ libwebp.so:graphics/webp \ libpcre2-8.so:devel/pcre2 \ libgdbm.so:databases/gdbm \ liblcms2.so:graphics/lcms2 \ libopenjp2.so:graphics/openjpeg RUN_DEPENDS= bash:shells/bash \ dreadnaut:math/nauty \ ${PYTHON_PKGNAMEPREFIX}alabaster>0:textproc/py-alabaster@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}attrs>0:devel/py-attrs@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}Babel>0:devel/py-babel@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}backcall>0:devel/py-backcall@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}bleach>0:www/py-bleach@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}brial>0:math/py-brial@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}certifi>0:security/py-certifi@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cffi>0:devel/py-cffi@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cvxopt>0:math/py-cvxopt@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cycler>0:devel/py-cycler@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cypari2>0:math/py-cypari2@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cysignals>0:devel/py-cysignals@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}cython>0:lang/cython@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}dateutil>0:devel/py-dateutil@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}decorator>0:devel/py-decorator@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}defusedxml>0:devel/py-defusedxml@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}docutils>0:textproc/py-docutils@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}entrypoints>0:devel/py-entrypoints@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}fpylll>0:math/py-fpylll@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}gmpy2-devel>0:math/py-gmpy2-devel@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}imagesize>0:graphics/py-imagesize@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}importlib-metadata>0:devel/py-importlib-metadata@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ipykernel5>0:devel/py-ipykernel5@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ipython>0:devel/ipython@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ipython_genutils>0:devel/py-ipython_genutils@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ipywidgets>0:devel/py-ipywidgets@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}itsdangerous>0:security/py-itsdangerous@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}jedi>0:devel/py-jedi@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}jsonschema>0:devel/py-jsonschema@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}jupyter_core>0:devel/py-jupyter_core@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}jupyter_client>0:devel/py-jupyter_client@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}kiwisolver>0:math/py-kiwisolver@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}markupsafe>0:textproc/py-markupsafe@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}matplotlib>0:math/py-matplotlib@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}mistune>0:textproc/py-mistune@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}mpmath>0:math/py-mpmath@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}nbconvert>0:devel/py-nbconvert@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}nbformat>0:devel/py-nbformat@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}networkx>0:math/py-networkx@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}nose>0:devel/py-nose@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}notebook>0:www/py-notebook@${PY_FLAVOR}\ ${PYNUMPY} \ ${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pandocfilters>0:textproc/py-pandocfilters@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}parso>0:textproc/py-parso@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}path.py>0:devel/py-path.py@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pexpect>0:misc/py-pexpect@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pickleshare>0:databases/py-pickleshare@${PY_FLAVOR}\ ${PY_PILLOW} \ ${PYTHON_PKGNAMEPREFIX}pkgconfig>0:devel/py-pkgconfig@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pplpy>0:math/py-pplpy@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}prometheus-client>0:net-mgmt/py-prometheus-client@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}prompt-toolkit>0:devel/py-prompt-toolkit@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}ptyprocess>0:sysutils/py-ptyprocess@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pybind11>0:devel/py-pybind11@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pycparser>0:devel/py-pycparser@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pyparsing>0:devel/py-pyparsing@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pygments>0:textproc/py-pygments@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pyrsistent>0:devel/py-pyrsistent@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pytz>0:devel/py-pytz@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}pyzmq>0:net/py-pyzmq@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}rpy2>0:math/py-rpy2@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}scandir>0:sysutils/py-scandir@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}send2trash>0:deskutils/py-send2trash@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}simplegeneric>0:devel/py-simplegeneric@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}snowballstemmer>0:textproc/py-snowballstemmer@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinx>0:textproc/py-sphinx@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-applehelp>0:textproc/py-sphinxcontrib-applehelp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-devhelp>0:textproc/py-sphinxcontrib-devhelp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-htmlhelp>0:textproc/py-sphinxcontrib-htmlhelp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-jsmath>0:textproc/py-sphinxcontrib-jsmath@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-qthelp>0:textproc/py-sphinxcontrib-qthelp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-serializinghtml>0:textproc/py-sphinxcontrib-serializinghtml@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sphinxcontrib-websupport>0:textproc/py-sphinxcontrib-websupport@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}sympy>0:math/py-sympy@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}terminado>0:net/py-terminado@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}testpath>0:devel/py-testpath@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}tornado>0:www/py-tornado@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}traitlets>0:devel/py-traitlets@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}tzlocal>0:devel/py-tzlocal@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}vcversioner>0:devel/py-vcversioner@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}wcwidth>0:devel/py-wcwidth@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}webencodings>0:converters/py-webencodings@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}widgetsnbextension>0:devel/py-widgetsnbextension@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}zipp>0:devel/py-zipp@${PY_FLAVOR}\ ${PYTHON_PKGNAMEPREFIX}zope.interface>0:devel/py-zope.interface@${PY_FLAVOR}\ fflas-ffpack-config:math/fflas-ffpack \ fricas>0:math/fricas \ gfan:math/gfan \ git:devel/git \ gp2c:math/gp2c \ jmol:science/jmol \ MathJax>0:www/mathjax \ maxima>0:math/maxima \ p5-Term-ReadLine-Gnu>0:devel/p5-Term-ReadLine-Gnu\ palp>0:math/palp \ pandoc:textproc/hs-pandoc \ pari-elldata>0:math/pari_elldata\ pari-galdata>0:math/pari_galdata\ pari-galpol>0:math/pari_galpol \ pari-nftables>0:math/pari_nftables \ pari-seadata>0:math/pari_seadata\ QuadraticSieve:math/flintqs \ rubiks>0:math/rubiks \ sympow:math/sympow \ tachyon:graphics/tachyon \ three.js>0:www/threejs \ yasm:devel/yasm \ pixz:archivers/pixz -USES= autoreconf blaslapack:openblas compiler:c++11-lib fortran \ - gettext gmake gnome iconv jpeg libtool localbase ncurses perl5 \ - pkgconfig python:3.7+ readline shebangfix sqlite tk xorg +USES= autoreconf blaslapack:openblas compiler:c++11-lib fortran \ + gettext gmake gnome iconv jpeg libtool localbase ncurses \ + ninja:build perl5 pkgconfig python:3.7+ readline shebangfix \ + sqlite tk xorg USE_TEX= latex:build pdftex:build tex:build USE_XORG= x11 xext xscrnsaver USE_GNOME= cairo glib20 pango USE_PYTHON= cython USE_JAVA= yes # for science/jmol CONFLICTS= ${PYTHON_PKGNAMEPREFIX}wheel-0.* SHEBANG_FILES= . SHEBANG_LANG+= dash dash_OLD_CMD= /bin/dash dash_CMD= ${LOCALBASE}/bin/dash DISABLE_BINUTILS= yes LIBS= -lomp -pthread .if !defined{WITH_DEBUG} LDFLAGS+= -s .endif BLDDIR= ${WRKDIR}/build GNU_CONFIGURE= yes CONFIGURE_ENV= SAGE_PORT=yes CC=${CC} GCC=${CC} CXX=${CXX} AS=${AS} LD=${LD} \ SAGE_LOCAL=${PREFIX} SAGE_DESTDIR=${BLDDIR}/ \ DESTDIR=${BLDDIR}/${PREFIX} PATCH=${LOCALBASE}/bin/gpatch CONFIGURE_ARGS= --with-system-gcc=force \ --with-system-python3=yes \ --with-python=${PYTHON_CMD} \ --enable-build-as-root \ --disable-download-from-upstream-url \ --localstatedir=/var MAKE_ENV= MAKE=${GMAKE} DESTDIR=${BLDDIR} ALL_TARGET= build REINPLACE_ARGS= -i '' BINARY_ALIAS= patch=${LOCALBASE}/bin/gpatch OPTIONS_SUB= yes PLIST_SUB= VER=${DISTVERSION} SUB_FILES= pkg-message OPTIONS_DEFINE= DOCS PORTDOCS= * .include WSDIR= ${BLDDIR}${PREFIX} SPKG_INST= configure.ac configure build/sage_bootstrap/uninstall.py \ build/make/install src/bin/sage-env PY2FIX= bin lib/${PYTHON_VERSION} DOC2FIX= .pickle .doctree SE2FIX= ^ECLDIR= ^SINGULAR MAXIMA_PREFIX SHR2FIX= GAP_ROOT_DIR PPLPY_DOCS SINGULARPATH STG2FIX= bin/sage-env-config \ share/jupyter/kernels/sagemath/kernel.json BADLN= kernels/sagemath/doc nbextensions/jsmol \ nbextensions/mathjax nbextensions/threejs # External dependencies not yet handled by SageMath # Note: do not use wheel from ports PY_LIBS= alabaster attrs babel backcall bleach certifi cffi cvxopt cycler \ cypari cysignals cython dateutil decorator defusedxml docutils \ entrypoints fpylll gmpy2 html5lib imagesize importlib_metadata ipykernel ipython \ ipython_genutils ipywidgets itsdangerous jedi jinja2 jsonschema jupyter_client \ jupyter_core kiwisolver markupsafe matplotlib mistune mpmath \ nbconvert nbformat networkx nose notebook numpy packaging pandocfilters \ parso pathpy pexpect pickleshare pillow pkgconfig pplpy \ prometheus_client prompt_toolkit psutil ptyprocess pybind11 pycparser pyparsing \ pygments pyrsistent pytz pyzmq requests rpy2 scandir scipy send2trash simplegeneric \ six snowballstemmer sphinx sphinxcontrib_applehelp sphinxcontrib_devhelp sphinxcontrib_htmlhelp sphinxcontrib_jsmath sphinxcontrib_qthelp sphinxcontrib_serializinghtml sphinxcontrib_websupport sympy terminado testpath tornado traitlets \ tzlocal vcversioner wcwidth webencodings widgetsnbextension zipp zope_interface JS_LIBS= jmol mathjax threejs SPKGCM4= e_antic ecl gap libhomfly linbox maxima pynac rubiks singular post-patch: ${CP} ${FILESDIR}/psutil__arch__bsd__freebsd_socks.c.patch \ ${WRKSRC}/build/pkgs/psutil/patches/ .for sp in ${SPKGCM4} ${CP} ${FILESDIR}/${sp}_spkg-configure.m4 \ ${WRKSRC}/build/pkgs/${sp}/spkg-configure.m4 .endfor .for sp in ${PY_LIBS} ${CP} ${FILESDIR}/py_libs_spkg-configure.m4 \ ${WRKSRC}/build/pkgs/${sp:C/pari2/pari/}/spkg-configure.m4 .endfor #.for sp in ${PY_FILES} # ${SED} -e 's|%%PYTHON_SITELIBDIR%%|${PYTHON_SITELIBDIR}|' ${FILESDIR}/${sp}_spkg-configure.m4.in \ # > ${WRKSRC}/build/pkgs/${sp}/spkg-configure.m4 #.endfor .for sp in ${JS_LIBS} ${SED} -e 's|%%LOCALBASE%%|${LOCALBASE}|' ${FILESDIR}/${sp}_spkg-configure.m4.in \ > ${WRKSRC}/build/pkgs/${sp}/spkg-configure.m4 .endfor pre-configure: ${REINPLACE_CMD} -e 's|SAGE_LOCAL="$$prefix"|SAGE_LOCAL="${WSDIR}"|' \ -e 's|lib/pkgconfig|libdata/pkgconfig|' ${WRKSRC}/configure.ac ${REINPLACE_CMD} -e 's|SAGE_LOCAL="@prefix@"|SAGE_LOCAL="${WSDIR}"|' \ ${WRKSRC}/src/bin/sage-env-config.in ${REINPLACE_CMD} -e 's|%%CFLAGS%%|${CFLAGS}|;s|%%LDFLAGS%%|${LDFLAGS}|' \ ${WRKSRC}/build/pkgs/tachyon/patches/Make-arch.patch ${REINPLACE_CMD} -e '/SUITESPARSE_INC_DIR/s|$${SAGE_LOCAL}/include|${LOCALBASE}/include/suitesparse|'\ ${WRKSRC}/build/pkgs/cvxopt/spkg-install.in ${REINPLACE_CMD} -e 's|exec python3|exec ${PYTHON_CMD}|' \ -e 's|exec "$$SAGE_LOCAL"/bin/python3|exec ${PYTHON_CMD}|' \ ${WRKSRC}/src/bin/sage .for f in ${PY_LIBS} ${REINPLACE_CMD} -e 's|python3|${PYTHON_CMD}|;s|py_libs|${f}|' \ ${WRKSRC}/build/pkgs/${f}/spkg-configure.m4 .endfor ${REINPLACE_CMD} -e 's|import attrs|import attr|' \ ${WRKSRC}/build/pkgs/attrs/spkg-configure.m4 ${REINPLACE_CMD} -e 's|import cypari|import cypari2|' \ ${WRKSRC}/build/pkgs/cypari/spkg-configure.m4 ${REINPLACE_CMD} -e 's|import ipython|import IPython|' \ ${WRKSRC}/build/pkgs/ipython/spkg-configure.m4 ${REINPLACE_CMD} -e 's|import pathpy|import path|' \ ${WRKSRC}/build/pkgs/pathpy/spkg-configure.m4 ${REINPLACE_CMD} -e 's|import pillow|import PIL|' \ ${WRKSRC}/build/pkgs/pillow/spkg-configure.m4 ${REINPLACE_CMD} -e 's|import pplpy|import ppl|' \ ${WRKSRC}/build/pkgs/pplpy/spkg-configure.m4 ${REINPLACE_CMD} -e 's|import pyzmq|import zmq|' \ ${WRKSRC}/build/pkgs/pyzmq/spkg-configure.m4 .for f in applehelp devhelp htmlhelp jsmath qthelp serializinghtml websupport ${REINPLACE_CMD} -e 's|import sphinxcontrib_|import sphinxcontrib.|' \ ${WRKSRC}/build/pkgs/sphinxcontrib_${f}/spkg-configure.m4 .endfor ${REINPLACE_CMD} -e 's|import zope_interface|import zope.interface|' \ ${WRKSRC}/build/pkgs/zope_interface/spkg-configure.m4 ${REINPLACE_CMD} -e '/GAP_ROOT=/s|$$SAGE_LOCAL|${LOCALBASE}|' \ ${WRKSRC}/build/pkgs/gap_packages/spkg-install.in ${REINPLACE_CMD} -e "/os.path.join/s|SAGE_LOCAL|'${LOCALBASE}'|"\ ${WRKSRC}/src/sage/libs/gap/util.pyx ${REINPLACE_CMD} -e "/os.path.join(SAGE_LOCAL/s|SAGE_LOCAL|'${LOCALBASE}'|" \ ${WRKSRC}/src/sage/env.py ${REINPLACE_CMD} -e "/^library_dirs/s|SAGE_LOCAL|'${LOCALBASE}'|" \ ${WRKSRC}/src/setup.py .for f in ${SHR2FIX} ${REINPLACE_CMD} -e "/${f}/s|SAGE_SHARE|'${LOCALBASE}/share/'|" \ ${WRKSRC}/src/sage/env.py .endfor ${REINPLACE_CMD} -e "/JMOL_DIR/s|SAGE_SHARE|'${JAVASHAREDIR}'|" \ -e "/JMOL_DIR/s|jmol|classes|" \ ${WRKSRC}/src/sage/env.py ${REINPLACE_CMD} -e "/JSMOL_DIR/s|SAGE_SHARE|'${LOCALBASE}/www'|" \ -e "/JSMOL_DIR/s|jsmol|JSmol|" \ ${WRKSRC}/src/sage/env.py ${REINPLACE_CMD} -e "/MATHJAX_DIR/s|SAGE_SHARE|'${LOCALBASE}/www'|" \ -e "/MATHJAX_DIR/s|mathjax|MathJax|" \ ${WRKSRC}/src/sage/env.py ${REINPLACE_CMD} -e "/THREEJS_DIR/s|SAGE_SHARE|'${LOCALBASE}/www'|" \ ${WRKSRC}/src/sage/env.py .for f in ${SE2FIX} ${REINPLACE_CMD} -e '/${f}/s|$$SAGE_LOCAL|${LOCALBASE}|' \ ${WRKSRC}/src/bin/sage-env .endfor ${REINPLACE_CMD} -e '/LDFLAGS=/s|-rpath,$$SAGE_LOCAL|-rpath,${LOCALBASE}|' \ ${WRKSRC}/src/bin/sage-env .for f in ${SPKG_INST} ${REINPLACE_CMD} -e 's|/var/lib/sage|/share/libdata/${PORTNAME}|' \ ${WRKSRC}/${f} .endfor # Bug with py-docutils > 0.16 ${RM} -r ${WRKSRC}/src/doc/hu (cd ${WRKSRC} && ./bootstrap) ${MKDIR} ${BLDDIR}${PREFIX}/lib/pkgconfig # Removed thereafter post-build: .if ${PORT_OPTIONS:MDOCS} (cd ${WRKSRC} && ${MAKE_ENV} ${MAKE_CMD} doc) .endif .for d in ${PY2FIX} ${FIND} ${WSDIR}/${d} -type f -exec ${GREP} -I -l "${WSDIR}/bin/python" {} \; |\ ${XARGS} ${SED} -i "" -e 's|${WSDIR}/bin/pytho.*|${PYTHON_CMD}|' .endfor .for d in ${PY2FIX} ${FIND} ${WSDIR}/${d} -type f -exec ${GREP} -I -l "/usr/bin/env python" {} \; |\ ${XARGS} ${SED} -i "" -e 's|/usr/bin/env pytho.*|${PYTHON_CMD}|' .endfor ${FIND} ${BLDDIR}/${PYTHON_LIBDIR} -type d -name __pycache__ | \ ${XARGS} ${RM} -r .for f in ${DOC2FIX} ${FIND} ${BLDDIR}${DOCSDIR} -type f -name "*${f}" | ${XARGS} \ ${SED} -i "" -e 's|${BLDDIR}||g' .endfor .for f in ${STG2FIX} ${SED} -i "" -e 's|${BLDDIR}||g' ${BLDDIR}${PREFIX}/${f} .endfor ${RM} ${BLDDIR}${PYTHON_CMD} ${BADLN:C|^|${BLDDIR}${PREFIX}/share/jupyter/|} ${RM} -r ${BLDDIR}${PREFIX}/var ${RM} ${BLDDIR}${PREFIX}/lib64 ${BLDDIR}${PREFIX}/lib/pkgconfig/blas.pc \ ${BLDDIR}${PREFIX}/lib/pkgconfig/cblas.pc \ ${BLDDIR}${PREFIX}/lib/pkgconfig/gsl.pc \ ${BLDDIR}${PREFIX}/lib/pkgconfig/lapack.pc # Cannot use a package system for pip and setuptools ${RM} ${BLDDIR}${PREFIX}/bin/easy_install* ${BLDDIR}${PREFIX}/bin/pip* ${RM} -r ${BLDDIR}${PYTHON_SITELIBDIR}/pip-* ${BLDDIR}${PYTHON_SITELIBDIR}/pip/ ${RM} -r ${BLDDIR}${PYTHON_SITELIBDIR}/setuptools* \ ${BLDDIR}${PYTHON_SITELIBDIR}/easy_install.py \ ${BLDDIR}${PYTHON_SITELIBDIR}/pkg_resources \ ${BLDDIR}${PYTHON_SITELIBDIR}/__pycache__/easy_install* # Remove CONFLICTS with lang/python3 ${RM} ${BLDDIR}${PREFIX}/bin/python ${BLDDIR}${PREFIX}/bin/python3 ${REINPLACE_CMD} -e '/exec/s|python3|${PYTHON_VERSION}|' ${BLDDIR}${PREFIX}/bin/sage # ${TRUE} because compilation of some .py fails: compileall.py -q to see errors (cd ${WSDIR} && (${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \ -d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;} || \ ${TRUE})) ${FIND} ${BLDDIR}${PREFIX} -name "*.bak" -delete # See https://lists.freebsd.org/pipermail/freebsd-python/2020-June/020710.html .if exists(${PYTHON_SITELIBDIR}/path.py-7.1.dist-info/WHEEL) PLIST_SUB+= EGG="@comment " WHEEL="" .else PLIST_SUB+= EGG="" WHEEL="@comment " .endif do-install: cd "${BLDDIR}" && ${FIND} . | ${CPIO} -pduml ${STAGEDIR} # Remove bad links ${LN} -sf ${DOCSDIR} \ ${STAGEDIR}${PREFIX}/share/jupyter/kernels/sagemath/doc ${LN} -sf ${LOCALBASE}/www/JSmol \ ${STAGEDIR}${PREFIX}/share/jupyter/nbextensions/jsmol ${LN} -sf ${LOCALBASE}/www/MathJax \ ${STAGEDIR}${PREFIX}/share/jupyter/nbextensions/mathjax ${LN} -sf ${LOCALBASE}/www/threejs \ ${STAGEDIR}${PREFIX}/share/jupyter/nbextensions/threejs post-install: ${RM} ${STAGEDIR}${PREFIX}/lib64 ${STAGEDIR}${PREFIX}/libdata/pkgconfig/blas.pc \ ${STAGEDIR}${PREFIX}/libdata/pkgconfig/cblas.pc \ ${STAGEDIR}${PREFIX}/libdata/pkgconfig/gsl.pc \ ${STAGEDIR}${PREFIX}/libdata/pkgconfig/lapack.pc .include diff --git a/multimedia/handbrake/Makefile b/multimedia/handbrake/Makefile index beb28467fd9c..82dd220b86d6 100644 --- a/multimedia/handbrake/Makefile +++ b/multimedia/handbrake/Makefile @@ -1,136 +1,136 @@ # Created by: Andrew Thompson PORTNAME= handbrake DISTVERSION= 1.3.3 PORTREVISION= 3 CATEGORIES= multimedia DIST_SUBDIR= ${PORTNAME} MAINTAINER= naito.yuichiro@gmail.com COMMENT= Versatile DVD ripper and video transcoder LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING ONLY_FOR_ARCHS= amd64 i386 powerpc powerpc64 powerpc64le BUILD_DEPENDS= bash:shells/bash \ nasm:devel/nasm \ cmake:devel/cmake \ meson:devel/meson LIB_DEPENDS= libdbus-1.so:devel/dbus \ libharfbuzz.so:print/harfbuzz \ libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libfribidi.so:converters/fribidi \ libxml2.so:textproc/libxml2 \ libass.so:multimedia/libass \ libspeex.so:audio/speex \ libogg.so:audio/libogg \ libvorbis.so:audio/libvorbis \ libvorbisenc.so:audio/libvorbis \ libtheoradec.so:multimedia/libtheora \ libtheoraenc.so:multimedia/libtheora \ libx264.so:multimedia/libx264 \ libvpx.so:multimedia/libvpx \ libmp3lame.so:audio/lame \ libopus.so:audio/opus \ libjansson.so:devel/jansson -USES= autoreconf:build compiler:c11 gmake iconv \ - libtool:build localbase:ldflags pkgconfig python:3.6+,build +USES= autoreconf:build compiler:c11 gmake iconv libtool:build \ + localbase:ldflags ninja:build pkgconfig python:3.6+,build CONTRIB_FILES= fdk-aac-2.0.1.tar.gz \ ffmpeg-4.2.3.tar.bz2 \ libbluray-1.1.2.tar.bz2 \ libdvdnav-6.0.1.tar.bz2 \ libdvdread-6.0.2.tar.bz2 \ dav1d-0.5.1.tar.bz2 \ x265_3.2.1.tar.gz MASTER_SITES+= https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/:contrib DISTFILES+= ${CONTRIB_FILES:S/$/:contrib/} .if !defined(PACKAGE_BUILDING) # DVDCSS version hardcoded in contrib/libdvdread/libdvdread-5.0.0-6-gcb1ae87/src/dvd_input.c (dlopen'ed) LIB_DEPENDS+= libdvdcss.so:multimedia/libdvdcss .endif GNU_CONFIGURE= yes MAKE_ENV= V=1 ACLOCAL=${LOCALBASE}/bin/aclocal BINARY_ALIAS= python3=${PYTHON_VERSION} USE_GITHUB= yes GH_ACCOUNT= HandBrake GH_PROJECT= HandBrake CONFIGURE_ARGS= --force --enable-x265 CONFIGURE_TARGET= build BUILD_WRKSRC= ${WRKSRC}/build INSTALL_WRKSRC= ${WRKSRC}/build MAKEFILE= GNUmakefile ALL_TARGET= # INSTALL_TARGET= install-strip NOPRECIOUSMAKEVARS= yes # for ffmpeg and x264 # Enforce linking to bundled libraries instead of system libraries LDFLAGS+= -L${BUILD_WRKSRC}/contrib/lib OPTIONS_DEFINE= FDK_AAC MFX X11 OPTIONS_DEFAULT= MFX X11 OPTIONS_EXCLUDE_powerpc= MFX OPTIONS_EXCLUDE_powerpc64= MFX OPTIONS_EXCLUDE_powerpc64le= MFX OPTIONS_SUB= yes FDK_AAC_DESC= Enable non-free Fraunhofer FDK AAC codec MFX_DESC= Intel MediaSDK (aka Quick Sync Video) X11_DESC= Build GTK+3 based GUI program FDK_AAC_CONFIGURE_ENABLE= fdk-aac FDK_AAC_VARS= LICENSE+=FDK_AAC LICENSE_COMB=multi LICENSE_NAME_FDK_AAC= Software License for The Fraunhofer FDK AAC Codec Library for Android LICENSE_FILE_FDK_AAC= ${WRKDIR}/${DISTFILES:Mfdk*:R:R}/NOTICE LICENSE_PERMS_FDK_AAC= dist-mirror pkg-mirror auto-accept MFX_LIB_DEPENDS= libmfx.so:multimedia/intel-media-sdk \ libva-drm.so:multimedia/libva MFX_CONFIGURE_ON= --enable-qsv X11_CONFIGURE_ENV= COMPILER_PATH=${LOCALBASE}/bin X11_MAKE_ENV= COMPILER_PATH=${LOCALBASE}/bin X11_CONFIGURE_ON= --disable-gtk-update-checks X11_CONFIGURE_OFF= --disable-gtk X11_LIB_DEPENDS= libvpx.so:multimedia/libvpx \ libnotify.so:devel/libnotify X11_USES= gettext desktop-file-utils gnome X11_USE= gstreamer1=gdkpixbuf,libav \ gnome=gtk30,intltool,cairo,gdkpixbuf2 # HandBrake tries to fetch its dependencies during build phase, which is not # considered good in FreeBSD. Instead, we will provide the downloaded files. post-extract: .SILENT ${MKDIR} ${WRKSRC}/download pre-configure: cd ${DISTDIR}/${DIST_SUBDIR} && \ ${INSTALL_DATA} ${CONTRIB_FILES} \ ${WRKSRC}/download # Install version information. ${CP} ${FILESDIR}/version.txt ${WRKSRC} # Following patches reduces warnings with clang. ${CP} ${FILESDIR}/P00-freebsd-libavutil-x86-asm-h.patch ${WRKSRC}/contrib/ffmpeg ${CP} ${FILESDIR}/P01-freebsd-ifo_types.h.patch ${WRKSRC}/contrib/libdvdread # for powerpc64. # picked from multimedia/ffmpeg/files/patch-libswscale_ppc_swscale__altivec.c ${CP} ${FILESDIR}/P02-freebsd-ppc-libswscale.patch ${WRKSRC}/contrib/ffmpeg post-install-X11-on: ${LN} -sf ghb ${STAGEDIR}${PREFIX}/bin/HandBrake .include diff --git a/sysutils/fluxengine/Makefile b/sysutils/fluxengine/Makefile index 745fba2af39b..f59f46613c09 100644 --- a/sysutils/fluxengine/Makefile +++ b/sysutils/fluxengine/Makefile @@ -1,31 +1,29 @@ PORTNAME= fluxengine DISTVERSION= 572 CATEGORIES= sysutils MAINTAINER= probono@puredarwin.org COMMENT= USB floppy disk interface for reading and writing non-PC disk formats LICENSE= MIT LICENSE_FILE= ${WRKSRC}/COPYING.md -BUILD_DEPENDS= ninja:devel/ninja - -USES= pkgconfig gmake compiler:gcc-c++11-lib sqlite +USES= compiler:gcc-c++11-lib gmake ninja:build pkgconfig sqlite USE_GITHUB= yes GH_ACCOUNT= davidgiven GH_TAGNAME= 61ff48c PLIST_FILES= bin/brother120tool \ bin/brother240tool \ bin/fluxengine post-patch: ${REINPLACE_CMD} 's,^\(export CXX = \).*,\1${CXX},' ${WRKSRC}/Makefile do-install: ${INSTALL_PROGRAM} ${WRKSRC}/brother120tool ${STAGEDIR}${PREFIX}/bin/ ${INSTALL_PROGRAM} ${WRKSRC}/brother240tool ${STAGEDIR}${PREFIX}/bin/ ${INSTALL_PROGRAM} ${WRKSRC}/fluxengine ${STAGEDIR}${PREFIX}/bin/ .include diff --git a/www/deno/Makefile b/www/deno/Makefile index 7b49f38716d7..304301d68144 100644 --- a/www/deno/Makefile +++ b/www/deno/Makefile @@ -1,420 +1,420 @@ PORTNAME= deno DISTVERSIONPREFIX= v DISTVERSION= 1.8.3 CATEGORIES= www MAINTAINER= mikael@FreeBSD.org COMMENT= Secure JavaScript and TypeScript 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= binutils>0:devel/binutils \ gn:devel/gn \ libunwind>0:devel/libunwind -USES= cargo ninja pkgconfig:build python:3.6+,build +USES= cargo ninja:build pkgconfig:build python:3.6+,build USE_GITHUB= yes GH_ACCOUNT= denoland USE_GNOME= glib20 MAKE_JOBS_UNSAFE= yes RUSTY_VERS= 0.21.0 CARGO_ENV+= CLANG_BASE_PATH=/usr \ GN=${PREFIX}/bin/gn \ - NINJA=${PREFIX}/bin/ninja \ + NINJA=${NINJA_CMD} \ V8_FROM_SOURCE=1 RUSTFLAGS+= -C link-arg=-fuse-ld=lld PLIST_FILES= bin/${PORTNAME} BINARY_ALIAS= python=${PYTHON_CMD} CARGO_CRATES= Inflector-0.11.4 \ adler-0.2.3 \ ahash-0.4.7 \ ahash-0.7.2 \ aho-corasick-0.7.15 \ alloc-no-stdlib-2.0.1 \ alloc-stdlib-0.2.1 \ ansi_term-0.11.0 \ anyhow-1.0.38 \ anymap-0.12.1 \ arrayvec-0.5.2 \ ash-0.31.0 \ ast_node-0.7.2 \ async-compression-0.3.7 \ async-stream-0.3.0 \ async-stream-impl-0.3.0 \ async-trait-0.1.42 \ atty-0.2.14 \ auto_impl-0.4.1 \ autocfg-1.0.1 \ base64-0.11.0 \ base64-0.13.0 \ bit-set-0.5.2 \ bit-vec-0.6.3 \ bitflags-1.2.1 \ block-0.1.6 \ block-buffer-0.9.0 \ brotli-3.3.0 \ brotli-decompressor-2.3.1 \ build_const-0.2.1 \ bumpalo-3.6.0 \ byteorder-1.4.2 \ bytes-1.0.1 \ cc-1.0.66 \ cfg-if-0.1.10 \ cfg-if-1.0.0 \ cfg_aliases-0.1.1 \ chrono-0.4.19 \ clap-2.33.3 \ cocoa-foundation-0.1.0 \ copyless-0.1.5 \ core-foundation-0.9.1 \ core-foundation-sys-0.8.2 \ core-graphics-types-0.1.1 \ cpuid-bool-0.1.2 \ crc-1.8.1 \ crc32fast-1.2.1 \ crossbeam-channel-0.5.0 \ crossbeam-utils-0.8.1 \ d3d12-0.3.2 \ darling-0.10.2 \ darling_core-0.10.2 \ darling_macro-0.10.2 \ dashmap-4.0.2 \ data-encoding-2.3.2 \ deno_doc-0.1.23 \ deno_lint-0.2.19 \ derive_more-0.99.11 \ digest-0.9.0 \ dissimilar-1.0.2 \ dlopen-0.1.8 \ dlopen_derive-0.1.4 \ dprint-core-0.35.2 \ dprint-plugin-json-0.9.0 \ dprint-plugin-markdown-0.6.0 \ dprint-plugin-typescript-0.41.0 \ dprint-swc-ecma-ast-view-0.10.0 \ either-1.6.1 \ encoding_rs-0.8.28 \ endian-type-0.1.2 \ enum-as-inner-0.3.3 \ enum_kind-0.2.1 \ env_logger-0.8.2 \ errno-0.1.8 \ errno-0.2.7 \ errno-dragonfly-0.1.1 \ exec-0.3.1 \ filetime-0.2.14 \ fixedbitset-0.2.0 \ flate2-1.0.20 \ fnv-1.0.7 \ foreign-types-0.3.2 \ foreign-types-shared-0.1.1 \ form_urlencoded-1.0.0 \ from_variant-0.1.3 \ fs2-0.4.3 \ fsevent-2.0.2 \ fsevent-sys-3.0.2 \ fslock-0.1.6 \ futures-0.3.12 \ futures-channel-0.3.12 \ futures-core-0.3.12 \ futures-executor-0.3.12 \ futures-io-0.3.12 \ futures-macro-0.3.12 \ futures-sink-0.3.12 \ futures-task-0.3.12 \ futures-util-0.3.12 \ fwdansi-1.1.0 \ fxhash-0.2.1 \ gcc-0.3.55 \ generic-array-0.14.4 \ getrandom-0.1.16 \ getrandom-0.2.2 \ gfx-auxil-0.8.0 \ gfx-backend-dx11-0.7.0 \ gfx-backend-dx12-0.7.0 \ gfx-backend-empty-0.7.0 \ gfx-backend-gl-0.7.0 \ gfx-backend-metal-0.7.0 \ gfx-backend-vulkan-0.7.0 \ gfx-hal-0.7.0 \ glow-0.7.2 \ gpu-alloc-0.3.0 \ gpu-alloc-types-0.2.0 \ gpu-descriptor-0.1.1 \ gpu-descriptor-types-0.1.1 \ h2-0.3.0 \ hashbrown-0.9.1 \ heck-0.3.2 \ hermit-abi-0.1.18 \ hostname-0.3.1 \ http-0.2.3 \ http-body-0.4.0 \ httparse-1.3.5 \ httpdate-0.3.2 \ humantime-2.1.0 \ hyper-0.14.4 \ hyper-rustls-0.22.1 \ ident_case-1.0.1 \ idna-0.2.1 \ if_chain-1.0.1 \ indexmap-1.6.1 \ inotify-0.9.2 \ inotify-sys-0.1.5 \ inplace_it-0.3.3 \ input_buffer-0.4.0 \ instant-0.1.9 \ ipconfig-0.2.2 \ ipnet-2.3.0 \ is-macro-0.1.8 \ itoa-0.4.7 \ jobserver-0.1.21 \ js-sys-0.3.47 \ jsonc-parser-0.15.1 \ kernel32-sys-0.2.2 \ khronos-egl-3.0.0 \ lazy_static-1.4.0 \ libc-0.2.86 \ libloading-0.6.7 \ linked-hash-map-0.5.4 \ lock_api-0.4.2 \ log-0.4.14 \ lru-cache-0.1.2 \ lsp-types-0.88.0 \ lspower-0.8.4 \ lspower-macros-0.2.0 \ malloc_buf-0.0.6 \ match_cfg-0.1.0 \ matches-0.1.8 \ memchr-2.3.4 \ metal-0.21.0 \ mime-0.3.16 \ miniz_oxide-0.4.3 \ mio-0.7.7 \ miow-0.3.6 \ naga-0.3.1 \ new_debug_unreachable-1.0.4 \ nibble_vec-0.1.0 \ nix-0.20.0 \ notify-5.0.0-pre.5 \ ntapi-0.3.6 \ num-bigint-0.2.6 \ num-integer-0.1.44 \ num-traits-0.2.14 \ num_cpus-1.13.0 \ objc-0.2.7 \ objc_exception-0.1.2 \ once_cell-1.5.2 \ opaque-debug-0.3.0 \ os_pipe-0.9.2 \ owning_ref-0.4.1 \ parking_lot-0.11.1 \ parking_lot_core-0.8.2 \ percent-encoding-2.1.0 \ pest-2.1.3 \ petgraph-0.5.1 \ phf-0.8.0 \ phf_generator-0.8.0 \ phf_macros-0.8.0 \ phf_shared-0.8.0 \ pin-project-0.4.27 \ pin-project-1.0.5 \ pin-project-internal-0.4.27 \ pin-project-internal-1.0.5 \ pin-project-lite-0.2.4 \ pin-utils-0.1.0 \ pmutil-0.5.3 \ ppv-lite86-0.2.10 \ precomputed-hash-0.1.1 \ proc-macro-error-1.0.4 \ proc-macro-error-attr-1.0.4 \ proc-macro-hack-0.5.19 \ proc-macro-nested-0.1.7 \ proc-macro2-0.4.30 \ proc-macro2-1.0.24 \ pty-0.2.2 \ pulldown-cmark-0.8.0 \ quick-error-1.2.3 \ quote-0.6.13 \ quote-1.0.8 \ radix_fmt-1.0.0 \ radix_trie-0.2.1 \ rand-0.7.3 \ rand-0.8.3 \ rand_chacha-0.2.2 \ rand_chacha-0.3.0 \ rand_core-0.5.1 \ rand_core-0.6.1 \ rand_hc-0.2.0 \ rand_hc-0.3.0 \ rand_pcg-0.2.1 \ range-alloc-0.1.2 \ raw-window-handle-0.3.3 \ redox_syscall-0.1.57 \ redox_syscall-0.2.4 \ regex-1.4.3 \ regex-syntax-0.6.22 \ relative-path-1.3.2 \ remove_dir_all-0.5.3 \ reqwest-0.11.0 \ resolv-conf-0.7.0 \ retain_mut-0.1.2 \ ring-0.16.20 \ ron-0.6.4 \ rustc_version-0.2.3 \ rustls-0.19.0 \ rusty_v8-0.21.0 \ rustyline-8.0.0 \ rustyline-derive-0.4.0 \ ryu-1.0.5 \ same-file-1.0.6 \ scoped-tls-1.0.0 \ scopeguard-1.1.0 \ sct-0.6.0 \ semver-0.9.0 \ semver-parser-0.7.0 \ semver-parser-0.10.2 \ serde-1.0.123 \ serde_derive-1.0.123 \ serde_json-1.0.62 \ serde_repr-0.1.6 \ serde_urlencoded-0.7.0 \ sha-1-0.9.3 \ shell-escape-0.1.5 \ signal-hook-registry-1.3.0 \ siphasher-0.3.3 \ slab-0.4.2 \ slotmap-0.4.0 \ smallvec-1.6.1 \ socket2-0.3.19 \ sourcemap-6.0.1 \ spin-0.5.2 \ spirv_cross-0.23.0 \ spirv_headers-1.5.0 \ stable_deref_trait-1.2.0 \ storage-map-0.3.0 \ string_cache-0.8.1 \ string_cache_codegen-0.5.1 \ string_enum-0.3.1 \ strsim-0.8.0 \ strsim-0.9.3 \ swc_atoms-0.2.5 \ swc_bundler-0.25.1 \ swc_common-0.10.12 \ swc_ecma_ast-0.40.0 \ swc_ecma_codegen-0.47.0 \ swc_ecma_codegen_macros-0.5.2 \ swc_ecma_dep_graph-0.17.0 \ swc_ecma_parser-0.49.0 \ swc_ecma_transforms-0.38.1 \ swc_ecma_transforms_base-0.6.2 \ swc_ecma_transforms_optimization-0.8.1 \ swc_ecma_transforms_proposal-0.7.0 \ swc_ecma_transforms_react-0.8.0 \ swc_ecma_transforms_typescript-0.7.0 \ swc_ecma_utils-0.30.0 \ swc_ecma_visit-0.26.0 \ swc_ecmascript-0.24.1 \ swc_eq_ignore_macros-0.1.0 \ swc_macros_common-0.3.2 \ swc_visit-0.2.4 \ swc_visit_macros-0.2.3 \ syn-0.15.44 \ syn-1.0.60 \ sys-info-0.8.0 \ tempfile-3.2.0 \ termcolor-1.1.2 \ text-size-1.1.0 \ textwrap-0.11.0 \ thiserror-1.0.23 \ thiserror-impl-1.0.23 \ thread_local-1.1.3 \ thunderdome-0.3.0 \ time-0.1.44 \ tinyvec-1.1.1 \ tinyvec_macros-0.1.0 \ tokio-1.4.0 \ tokio-macros-1.1.0 \ tokio-rustls-0.22.0 \ tokio-stream-0.1.5 \ tokio-test-0.4.0 \ tokio-tungstenite-0.13.0 \ tokio-util-0.6.5 \ toml-0.5.8 \ tower-layer-0.3.1 \ tower-service-0.3.1 \ tower-test-0.4.0 \ tracing-0.1.23 \ tracing-attributes-0.1.12 \ tracing-core-0.1.17 \ tracing-futures-0.2.4 \ trust-dns-client-0.20.0 \ trust-dns-proto-0.20.0 \ trust-dns-resolver-0.20.0 \ trust-dns-server-0.20.0 \ try-lock-0.2.3 \ tungstenite-0.12.0 \ twoway-0.2.1 \ typenum-1.12.0 \ ucd-trie-0.1.3 \ unchecked-index-0.2.2 \ unicase-2.6.0 \ unicode-bidi-0.3.4 \ unicode-normalization-0.1.17 \ unicode-segmentation-1.7.1 \ unicode-width-0.1.8 \ unicode-xid-0.1.0 \ unicode-xid-0.2.1 \ untrusted-0.7.1 \ url-2.2.0 \ utf-8-0.7.5 \ utf8parse-0.2.0 \ uuid-0.8.2 \ vec_map-0.8.2 \ version_check-0.9.2 \ walkdir-2.3.1 \ want-0.3.0 \ wasi-0.9.0+wasi-snapshot-preview1 \ wasi-0.10.0+wasi-snapshot-preview1 \ wasm-bindgen-0.2.70 \ wasm-bindgen-backend-0.2.70 \ wasm-bindgen-futures-0.4.20 \ wasm-bindgen-macro-0.2.70 \ wasm-bindgen-macro-support-0.2.70 \ wasm-bindgen-shared-0.2.70 \ web-sys-0.3.47 \ webpki-0.21.4 \ webpki-roots-0.21.0 \ wgpu-core-0.7.1 \ wgpu-types-0.7.0 \ which-4.0.2 \ widestring-0.4.3 \ winapi-0.2.8 \ winapi-0.3.9 \ winapi-build-0.1.1 \ winapi-i686-pc-windows-gnu-0.4.0 \ winapi-util-0.1.5 \ winapi-x86_64-pc-windows-gnu-0.4.0 \ winreg-0.6.2 \ winreg-0.7.0 \ winres-0.1.11 \ wio-0.2.2 post-patch: ${REINPLACE_CMD} "s|%%LOCALBASE%%|${LOCALBASE}|" \ ${WRKSRC}/cargo-crates/rusty_v8-${RUSTY_VERS}/build/toolchain/gcc_toolchain.gni \ ${WRKSRC}/cargo-crates/rusty_v8-${RUSTY_VERS}/buildtools/third_party/libc++/BUILD.gn do-install: ${INSTALL_PROGRAM} ${WRKDIR}/target/release/deno ${STAGEDIR}${LOCALBASE}/bin .include diff --git a/www/qt5-webengine/Makefile b/www/qt5-webengine/Makefile index 95e5dbb87031..1fd7501c7334 100644 --- a/www/qt5-webengine/Makefile +++ b/www/qt5-webengine/Makefile @@ -1,158 +1,157 @@ # QtWebEngine itself is a very thin layer of Qt code on top of a large part of # Chromium (everything up to the content/ layer). As such, most of the work in # this port revolves around taming Chromium and getting it to build on FreeBSD. # While it does build at the moment, there are several items that should be # investigated or improved: # - We are using several stub files, especially in Chromium's base/ and net/ # layers. We should look at implementing the missing bits instead. # - We are currently not using any sandboxing mechanism. # - We need to see if more "use_system_" flags can be passed. # - The process of porting QtWebEngine needs to be documented so we can move to # newer releases more easily. # # Also note that, due to the insane amount of patches this port needs, it tends # to lag behind the rest of the official Qt5 ones, which is why we set # QT5_VERSION and DISTINFO_FILE here. PORTNAME= webengine DISTVERSION= ${QT5_VERSION} PORTREVISION= 2 CATEGORIES= www PKGNAMEPREFIX= qt5- MAINTAINER= kde@FreeBSD.org COMMENT= Qt 5 library to render web content BUILD_DEPENDS= bison:devel/bison \ - ninja:devel/ninja \ yasm:devel/yasm \ ${LOCALBASE}/include/linux/input.h:devel/evdev-proto \ ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \ libdbus-1.so:devel/dbus \ libdouble-conversion.so:devel/double-conversion \ libevent.so:devel/libevent \ libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libharfbuzz.so:print/harfbuzz \ libjsoncpp.so:devel/jsoncpp \ liblcms2.so:graphics/lcms2 \ libnspr4.so:devel/nspr \ libnss3.so:security/nss \ libopus.so:audio/opus \ libpci.so:devel/libpci \ libpng.so:graphics/png \ libre2.so:devel/re2 \ libsnappy.so:archivers/snappy \ libvpx.so:multimedia/libvpx \ libwebp.so:graphics/webp DISTINFO_FILE= ${.CURDIR}/distinfo QT5_VERSION= 5.15.2 OPTIONS_SINGLE= AUDIO OPTIONS_SINGLE_AUDIO= ALSA PULSEAUDIO SNDIO OPTIONS_DEFAULT= ALSA AUDIO_DESC= Audio backend # Need the alsa plugins to get sound at runtime, otherwise messages # that the pcm_oss plugin can't be opened. ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib ALSA_RUN_DEPENDS= alsa-plugins>=0:audio/alsa-plugins ALSA_VARS= QMAKE_CONFIGURE_ARGS+=-alsa ALSA_VARS_OFF= QMAKE_CONFIGURE_ARGS+=-no-alsa PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio PULSEAUDIO_VARS= QMAKE_CONFIGURE_ARGS+=-pulseaudio PULSEAUDIO_VARS_OFF= QMAKE_CONFIGURE_ARGS+=-no-pulseaudio SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio SNDIO_VARS= QMAKE_CONFIGURE_ARGS+=-sndio SNDIO_VARS_OFF= QMAKE_CONFIGURE_ARGS+=-no-sndio # We pass `norecursive' to USES=qmake because src/plugins/plugins.pro checks # whether webenginewidgets is available, which fails when qmake processes all # .pro files at once. -USES= gl gnome gperf jpeg python:2.7,build pkgconfig \ +USES= gl gnome gperf jpeg ninja:build pkgconfig python:2.7,build \ qmake:norecursive,outsource qt-dist:5,webengine shebangfix xorg USE_GL= gl USE_GNOME= glib20 libxml2 libxslt USE_QT= core declarative gui location network printsupport \ webchannel widgets \ buildtools_build designer_build qmake_build USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xorgproto \ xrandr xrender xscrnsaver xtst QMAKE_CONFIGURE_ARGS= -proprietary-codecs -system-ffmpeg # We could just set it to an empty string as well. "all" does not account for # dependencies correctly in the generated Makefiles, use the right target here. ALL_TARGET= first # We need ar(1) from ports because the Chromium code uses the @file syntax. # We then need to ensure ld(1) from ports is used because of the archives ar(1) # generated. USE_BINUTILS= yes CC+= "-B${LOCALBASE}/bin" CXX+= "-B${LOCALBASE}/bin" # The build system reads the environment variable $NINJA_PATH to decide whether # to boostrap ninja or not (and also to invoke it afterwards). CC and CXX are # read by some Chromium code to determine which compiler to invoke when running # some configuration tests. # Since we use USES=qmake:norecursive, we also need to pass some variables to # MAKE_ENV because part of the configuration process happens during the build. CONFIGURE_ENV+= NINJAFLAGS="-j${MAKE_JOBS_NUMBER}" \ NINJA_PATH="${LOCALBASE}/bin/ninja" \ PATH=${CONFIGURE_WRKSRC}/bin:${LOCALBASE}/bin:${PATH} MAKE_ENV+= CC="${CC}" CXX="${CXX}" \ C_INCLUDE_PATH=${LOCALBASE}/include \ CPLUS_INCLUDE_PATH=${LOCALBASE}/include \ ${CONFIGURE_ENV} QT_BINARIES= yes .include .if ${ARCH:Mmips*} || ${ARCH:Mpowerpc*} || ${ARCH} == sparc64 PLIST_SUB+= BE="" LE="@comment " .else PLIST_SUB+= BE="@comment " LE="" .endif post-extract: # Install FreeBSD's freebsd.pri file. ${CP} ${FILESDIR}/freebsd.pri ${WRKSRC}/src/buildtools/config/freebsd.pri post-extract-SNDIO-on: @cd ${WRKSRC}/src/3rdparty/chromium/media/audio && ${MKDIR} sndio openbsd @${CP} ${FILESDIR}/sndio_*put.* \ ${WRKSRC}/src/3rdparty/chromium/media/audio/sndio @${CP} ${FILESDIR}/audio_manager_openbsd.* \ ${WRKSRC}/src/3rdparty/chromium/media/audio/openbsd post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ ${WRKSRC}/src/3rdparty/chromium/base/linux_util.cc \ ${WRKSRC}/src/3rdparty/chromium/build/toolchain/gcc_toolchain.gni \ ${WRKSRC}/src/3rdparty/chromium/chrome/common/chrome_paths.cc \ ${WRKSRC}/src/3rdparty/chromium/third_party/pdfium/core/fxge/fx_ge_linux.cpp \ ${WRKSRC}/src/3rdparty/chromium/third_party/pdfium/xfa/fgas/font/cfx_fontsourceenum_file.cpp \ ${WRKSRC}/src/3rdparty/gn/build/gen.py .if ${ARCH:Mmips*} || ${ARCH:Mpowerpc*} || ${ARCH} == sparc64 @${REINPLACE_CMD} -e 's/icudtl.dat/icudtb.dat/' \ ${WRKSRC}/src/core/core_module.pro .endif pre-configure: # Link in ${PYTHON_CMD} to ${CONFIGURE_WRKSRC}/bin -- the scripts hardcode 'python' # in too many places to reasonably patch. So just link in ${PYTHON_CMD} to work around # $LOCALBASE/bin/python being python3 if the default versions is set to 3.x. ${MKDIR} ${CONFIGURE_WRKSRC}/bin && ${LN} -s ${PYTHON_CMD} ${CONFIGURE_WRKSRC}/bin/python # Unbundle a few dependencies. ${PYTHON_CMD} ${WRKSRC}/src/3rdparty/chromium/build/linux/unbundle/replace_gn_files.py \ --system-libraries libwebp libxml libxslt yasm # Rerun syncqt.pl -- otherwise the resulting package misses some forwarding headers. cd ${WRKSRC} && ${QT_BINDIR}/syncqt.pl -version ${QT5_VERSION} .include