Index: head/Mk/bsd.ccache.mk =================================================================== --- head/Mk/bsd.ccache.mk (revision 514246) +++ head/Mk/bsd.ccache.mk (revision 514247) @@ -1,64 +1,68 @@ # $FreeBSD$ #-*- tab-width: 4; -*- # ex:ts=4 # # WITH_CCACHE_BUILD=yes enables depending on ccache and using it in the build. # NO_CCACHE_DEPEND will additionally not add the dependency on ccache. # NO_CCACHE will disable this entirely. COMMANDS_Include_MAINTAINER= portmgr@FreeBSD.org .if !defined(_CCACHEMKINCLUDED) _CCACHEMKINCLUDED= yes +.if defined(NOCCACHE) +NO_CCACHE= t +.endif + # HOME is always set to ${WRKDIR} now. Try to use /root/.ccache as default. .if defined(WITH_CCACHE_BUILD) && !defined(CCACHE_DIR) . if defined(USER) && ${USER} == root CCACHE_DIR= /root/.ccache . else NO_CCACHE= yes WARNING+= WITH_CCACHE_BUILD support disabled, please set CCACHE_DIR. . endif .endif # Support NO_CCACHE for common setups, require WITH_CCACHE_BUILD, and # don't use if ccache already set in CC .if !defined(NO_CCACHE) && defined(WITH_CCACHE_BUILD) && !${CC:M*ccache*} && \ - !defined(NO_BUILD) && !defined(NOCCACHE) + !defined(NO_BUILD) # Avoid depends loops between ccache and pkg . if !defined(NO_CCACHE_DEPEND) && \ ${PKGORIGIN} != ${PKG_ORIGIN} BUILD_DEPENDS+= ${LOCALBASE}/bin/ccache:devel/ccache . endif CCACHE_WRAPPER_PATH?= ${LOCALBASE}/libexec/ccache CCACHE_BIN?= ${CCACHE_WRAPPER_PATH:C,/libexec/ccache$,,}/bin/ccache .if exists(${CCACHE_WRAPPER_PATH}) # Prepend the ccache dir into the PATH and setup ccache env PATH:= ${CCACHE_WRAPPER_PATH}:${PATH} #.MAKEFLAGS: PATH=${PATH} .if !${MAKE_ENV:MPATH=*} && !${CONFIGURE_ENV:MPATH=*} MAKE_ENV+= PATH=${PATH} CONFIGURE_ENV+= PATH=${PATH} .endif # Ensure this is always in subchild environments . if defined(CCACHE_DIR) #.MAKEFLAGS: CCACHE_DIR=${CCACHE_DIR} MAKE_ENV+= CCACHE_DIR="${CCACHE_DIR}" CONFIGURE_ENV+= CCACHE_DIR="${CCACHE_DIR}" . endif .endif # Some ports will truncate CCACHE_DIR from the env and due to HOME=${WRKDIR} # will incorrectly use ${WRKDIR}/.ccache. Symlink to the proper place. ${WRKDIR}/.ccache: ${WRKDIR} @${LN} -sf ${CCACHE_DIR} ${WRKDIR}/.ccache ccache-wrkdir-link: ${WRKDIR}/.ccache .PHONY post-extract: ccache-wrkdir-link .endif .endif Index: head/audio/tuxguitar/Makefile =================================================================== --- head/audio/tuxguitar/Makefile (revision 514246) +++ head/audio/tuxguitar/Makefile (revision 514247) @@ -1,117 +1,117 @@ # Created by: Pietro Cerutti (gahr@gahr.ch) # $FreeBSD$ PORTNAME= tuxguitar PORTVERSION= 1.2 PORTREVISION= 15 CATEGORIES= audio java MASTER_SITES= SF/${PORTNAME}/TuxGuitar/TuxGuitar-${PORTVERSION}:src \ LOCAL/gahr/:fluid \ http://people.freebsd.org/~gahr/distfiles/:fluid \ http://www.alsa-project.org/~james/sound-fonts/:fluid DISTNAME= ${PORTNAME}-src-${DISTVERSION} DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:src \ 8MBGMSFX.SF2:fluid EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER= yuri@FreeBSD.org COMMENT= Multitrack tablature editor and player LICENSE= LGPL21 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${JAVALIBDIR}/swt.jar:x11-toolkits/swt \ ${JAVALIBDIR}/itext.jar:devel/itext \ ${JAVALIBDIR}/gervill.jar:audio/gervill RUN_DEPENDS:= ${BUILD_DEPENDS} LIB_DEPENDS= libfluidsynth.so:audio/fluidsynth \ libjack.so:audio/jack MAKE_ENV+= PREFIX=${PREFIX} INSTALL_DOC_DIR=${DOCSDIR} \ INSTALL_SHARE_DIR=${DATADIR} USES= cpe desktop-file-utils gmake pkgconfig CPE_VENDOR= herac USE_JAVA= yes USE_ANT= yes USE_LDCONFIG= yes JAVA_VERSION= 1.6+ -NOCCACHE= yes +NO_CCACHE= yes BUILD_WRKSRC= ${WRKSRC}/TuxGuitar SF2_DIR= ${LOCALBASE}/share/sounds/sf2 OPTIONS_DEFINE= DOCS PLUGINS= ascii compat converter fluidsynth gervill gtp \ jsa lilypond midi musicxml oss pdf ptb tef tray tuner SUB_FILES= pkg-message tuxguitar SUB_LIST= DATADIR=${DATADIR} \ PREFIX=${PREFIX} \ JAVALIBDIR=${JAVALIBDIR} \ SF2_DIR=${SF2_DIR} post-extract: @${CP} ${DISTDIR}/8MBGMSFX.SF2 ${WRKDIR} post-patch: @${FIND} ${WRKSRC} -name build.properties | ${XARGS} ${REINPLACE_CMD} -e '\ s|path\.swt=.*|path.swt=${JAVAJARDIR}/swt.jar|; \ s|path\.itext=.*|path.itext=${JAVAJARDIR}/itext.jar|; \ s|path\.gervill=.*|path.gervill=${JAVAJARDIR}/gervill.jar|' @${FIND} ${WRKSRC} -name GNUmakefile | ${XARGS} ${REINPLACE_CMD} -e '\ s|-I$$(shell gcj -print-file-name=include/)|-I${JAVA_HOME}/include \ -I${JAVA_HOME}/include/freebsd -I${LOCALBASE}/include|; \ s|-I $$(shell $$(GCJ) -print-file-name=include/)|-I${JAVA_HOME}/include \ -I${JAVA_HOME}/include/freebsd -I${LOCALBASE}/include|; \ s|LDFLAGS\?=.*|LDFLAGS+=-L${LOCALBASE}/lib|; \ s|CFLAGS\?=|CFLAGS+=|' @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g; \ s|%%PREFIX%%|${PREFIX}|g; \ s|%%JAVAJARDIR%%|${JAVAJARDIR}|g; \ s|%%JAVASHAREDIR%%|${JAVASHAREDIR}|g; \ s|%%DATADIR%%|${DATADIR}|g; \ s|%%DOCSDIR%%|${DOCSDIR}|g' \ ${WRKSRC}/TuxGuitar/build.properties post-build: .for p in ${PLUGINS} (cd ${WRKSRC}/TuxGuitar-${p}; \ ${SETENV} ${MAKE_ENV} ${ANT} ${MAKE_ARGS} ${ALL_TARGET}) .endfor cd ${WRKSRC}/TuxGuitar-oss/jni && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} cd ${WRKSRC}/TuxGuitar-fluidsynth/jni && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} cd ${WRKSRC}/TuxGuitar-jack/jni && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} do-install: ${INSTALL_SCRIPT} ${WRKDIR}/tuxguitar ${STAGEDIR}${PREFIX}/bin ${INSTALL_LIB} ${WRKSRC}/TuxGuitar-oss/jni/libtuxguitar-oss-jni.so ${STAGEDIR}${PREFIX}/lib ${INSTALL_LIB} ${WRKSRC}/TuxGuitar-fluidsynth/jni/libtuxguitar-fluidsynth-jni.so ${STAGEDIR}${PREFIX}/lib @${MKDIR} ${STAGEDIR}${DATADIR}/plugins ${INSTALL_DATA} ${WRKSRC}/TuxGuitar/tuxguitar.jar ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKSRC}/misc/*.tg ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKDIR}/8MBGMSFX.SF2 ${STAGEDIR}${DATADIR} .for p in ${PLUGINS} ${INSTALL_DATA} ${WRKSRC}/TuxGuitar-${p}/tuxguitar-${p}.jar ${STAGEDIR}${DATADIR}/plugins .endfor # Inline documentation cd ${WRKSRC}/TuxGuitar/share/help && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/help cd ${WRKSRC}/TuxGuitar/share/lang && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/lang cd ${WRKSRC}/TuxGuitar/share/scales && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/scales cd ${WRKSRC}/TuxGuitar/share/skins && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/skins ${INSTALL_DATA} ${WRKSRC}/misc/tuxguitar.xpm ${STAGEDIR}${PREFIX}/share/pixmaps ${INSTALL_DATA} ${WRKSRC}/misc/tuxguitar.desktop ${STAGEDIR}${PREFIX}/share/applications ${INSTALL_MAN} ${WRKSRC}/misc/tuxguitar.1 ${STAGEDIR}${MANPREFIX}/man/man1 # Share soundfont with FluidSynth @${MKDIR} ${STAGEDIR}${SF2_DIR} ${RLN} ${STAGEDIR}${DATADIR}/8MBGMSFX.SF2 ${STAGEDIR}${SF2_DIR} do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} cd ${WRKSRC}/TuxGuitar/doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} .include Index: head/graphics/rawtherapee/Makefile =================================================================== --- head/graphics/rawtherapee/Makefile (revision 514246) +++ head/graphics/rawtherapee/Makefile (revision 514247) @@ -1,146 +1,146 @@ # Created by: stas # $FreeBSD$ PORTNAME= rawtherapee PORTVERSION= 5.7 PORTREVISION= 1 CATEGORIES= graphics MASTER_SITES= http://rawtherapee.com/shared/source/ MAINTAINER= mandree@FreeBSD.org COMMENT= Powerful RAW image processing application LICENSE= GPLv3 LIB_DEPENDS= \ liblensfun.so:graphics/lensfun \ libcanberra-gtk.so:audio/libcanberra \ libcanberra-gtk3.so:audio/libcanberra-gtk3 \ libexpat.so:textproc/expat2 \ libfftw3.so:math/fftw3 \ libfftw3f.so:math/fftw3-float \ libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libiptcdata.so:graphics/libiptcdata \ liblcms2.so:graphics/lcms2 \ libpng.so:graphics/png \ libsigc-2.0.so:devel/libsigc++20 \ libtiff.so:graphics/tiff USES= cmake desktop-file-utils compiler:gcc-c++11-lib gnome \ jpeg localbase:ldflags pkgconfig tar:xz DOS2UNIX_REGEX= .*\.(cc|h) USE_GNOME= gtkmm30 librsvg2 USE_GCC= 9+ USE_BINUTILS= yes # gcc needs -flto=${MAKE_JOBS_NUMBER} for parallel link # and does not understand -flto=thin # # llvm/clang needs -flto=thin and will automatically parallelize the link # # As of 2019-09-29, this port is known to be micompiled by clang90 (SIGSEGV or SIBGUS) # FreeBSD 12.0's base clang 6.0.1 emits worse code with considerably higher # processing times. # so we shall stick to GCC 9.x for now _LTO_FLAGS= -flto=${MAKE_JOBS_NUMBER} _AR= ${CC:S/gcc/gcc-ar/} _RANLIB= ${CC:S/gcc/gcc-ranlib/} CFLAGS+= -I${LOCALBASE}/include -fPIC ${_LTO_FLAGS} ${_OPT_FLAGS} LDFLAGS+= -Wl,--as-needed -lpthread ${_LTO_FLAGS} ${_OPT_FLAGS} CMAKE_ARGS+= -DDOCDIR="${DOCSDIR}" \ -DCREDITSDIR="${DOCSDIR}" \ -DLICENCEDIR="${DOCSDIR}" \ -DDESKTOPDIR="${DESKTOPDIR}" \ -DDATADIR="${DATADIR}" \ -DCACHE_NAME_SUFFIX="" \ -Wno-dev \ -DCMAKE_AR:FILEPATH=${_AR} \ -DCMAKE_RANLIB:FILEPATH=${_RANLIB} \ -DCMAKE_POLICY_DEFAULT_CMP0056:STRING=NEW # 3.4.x: CMAKE_EXE_LINKER_FLAGS is not passed to TRY_COMPILE by default # any more. The CMP0056 policy must be explicitly set to NEW to ensure # linker flags are passed. Else -lomp is not found with clang. # See: https://cmake.org/cmake/help/v3.4/policy/CMP0056.html INSTALLS_ICONS= yes .if defined(PACKAGE_BUILDING) && empty(CFLAGS:M-march*) && (${ARCH} == i386 || ${ARCH} == amd64 || ${ARCH} == aarch64) # this gets translated to -mtune=generic, see ${WRKSRC}/ProcessorTargets.cmake # and as of GCC 8.3, it appears that among FreeBSD's supported architectures, # only the three listed above support this GCC option. CMAKE_ARGS+= -DPROC_TARGET_NUMBER="1" .endif -.if "${WITH_CCACHE_BUILD}" == "yes" && !defined(NO_CCACHE) && !defined(NOCCACHE) +.if "${WITH_CCACHE_BUILD}" == "yes" && !defined(NO_CCACHE) CMAKE_ARGS+= -DCMAKE_C_COMPILER_LAUNCHER=${CCACHE_BIN} \ -DCMAKE_CXX_COMPILER_LAUNCHER=${CCACHE_BIN} .endif RTDIR= ${PREFIX}/libdata/${PORTNAME} OPTIONS_DEFINE= DOCS NATIVE OPTIONS_DEFINE_i386= DOCS NATIVE OPENMP OPTIONS_DEFINE_amd64= DOCS NATIVE OPENMP OPTIONS_DEFAULT= OPENMP OPENMP_DESC= Enable OpenMP parallel processing (i386/amd64 only) NATIVE_DESC= Use -march=native (avoid for generic packages!) OPENMP_CMAKE_BOOL= OPTION_OMP .include # ------------------------------------------------------------------- .if (${OPSYS} == FreeBSD) && (${OSVERSION} >= 1300000) # don't waste everybody's time with Tier-2 and moving targets. # might add ARM64 or SPARC64 later on if they are established by the # time FreeBSD 12 is out. ONLY_FOR_ARCHS= amd64 ONLY_FOR_ARCHS_REASON=Only amd64 is supported on non-released FreeBSD versions. .endif .if ${PORT_OPTIONS:MNATIVE} CMAKE_ARGS+= -DPROC_TARGET_NUMBER="2" .endif .if !empty(PORT_OPTIONS:MOPENMP) && !empty(OPTIONS_DEFINE:MOPENMP) LIB_DEPENDS+= libomp.so:devel/openmp OPENMP_FLAGS= -lm -lomp LDFLAGS+= ${OPENMP_FLAGS} .endif .if defined(WITH_DEBUG) STRIP= .endif _OPT_FLAGS= -O3 -funroll-loops # GCC 5.4 includes -fexpensive-optimizations in -O2 already .if (${ARCH} == i386) || (${ARCH} == amd64) _OPT_FLAGS+= -msse2 .endif .if ${ARCH} == i386 _OPT_FLAGS+= -mstackrealign .endif # ------------------------------------------------------------------- .include post-patch: @${REINPLACE_CMD} -e 's#DESTINATION "$${CMAKE_INSTALL_PREFIX}/share/man/man1"#DESTINATION "${MANPREFIX}/man/man1/"#' \ ${WRKSRC}/CMakeLists.txt # paranoia: run rawtherapee --help to be sure it finds all its # shared libraries (this hinges on proper RPATH setting and propagation) post-install: @${ECHO_MSG} "===> Running smoke tests" @TMP=$$(mktemp -d -t ${PORTNAME}) && trap "rc=$$? ; ${RM} -rf \"$$TMP\" ; exit \$$rc" 0 && \ ${SETENV} LANG= LC_ALL=C LANGUAGE= DISPLAY= HOME="$$TMP" ${STAGEDIR}${PREFIX}/bin/rawtherapee --help 2>&1 \ | ${EGREP} -q "RawTherapee, version ${PKGVERSION:C/_.*//:C/,.*//}|cannot open display:" && \ ${SETENV} LANG= LC_ALL=C LANGUAGE= DISPLAY= HOME="$$TMP" ${STAGEDIR}${PREFIX}/bin/rawtherapee-cli --version 2>&1 \ | ${EGREP} -q "RawTherapee, version ${PKGVERSION:C/_.*//:C/,.*//}" .include Index: head/lang/rust/Makefile =================================================================== --- head/lang/rust/Makefile (revision 514246) +++ head/lang/rust/Makefile (revision 514247) @@ -1,263 +1,263 @@ # Created by: Jyun-Yan You # $FreeBSD$ PORTNAME= rust PORTVERSION?= 1.38.0 PORTREVISION?= 0 CATEGORIES= lang MASTER_SITES= https://static.rust-lang.org/dist/:src \ https://static.rust-lang.org/dist/:rust_bootstrap \ LOCAL/tobik/rust:rust_bootstrap \ https://static.rust-lang.org/dist/:cargo_bootstrap \ LOCAL/tobik/rust:cargo_bootstrap \ https://releases.llvm.org/${COMPILER_RT_VERSION}/:compiler_rt \ https://github.com/llvm/llvm-project/releases/download/llvmorg-${COMPILER_RT_VERSION}/:compiler_rt DISTNAME?= ${PORTNAME}c-${PORTVERSION}-src DISTFILES?= ${NIGHTLY_SUBDIR}${DISTNAME}${EXTRACT_SUFX}:src \ ${_RUSTC_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz:rust_bootstrap \ ${_RUST_STD_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz:rust_bootstrap \ ${_CARGO_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz:cargo_bootstrap \ ${DISTFILES_${ARCH}} DISTFILES_armv6= compiler-rt-${COMPILER_RT_VERSION}.src.tar.xz:compiler_rt DISTFILES_armv7= compiler-rt-${COMPILER_RT_VERSION}.src.tar.xz:compiler_rt DIST_SUBDIR?= rust EXTRACT_ONLY?= ${DISTFILES:N*\:*bootstrap:C/:.*//} 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 ONLY_FOR_ARCHS_REASON= requires prebuilt bootstrap compiler BUILD_DEPENDS= cmake:devel/cmake \ gmake:devel/gmake LIB_DEPENDS= libcurl.so:ftp/curl \ libgit2.so:devel/libgit2 \ libssh2.so:security/libssh2 USES= libedit pkgconfig python:build ssl tar:xz CONFLICTS_INSTALL?= rust-nightly EXTRA_PATCHES+= ${EXTRA_PATCHES_${ARCH}} EXTRA_PATCHES_armv6= ${PATCHDIR}/extra-patch-arm-compiler-rt EXTRA_PATCHES_armv7= ${PATCHDIR}/extra-patch-arm-compiler-rt PLIST_FILES= lib/rustlib/components \ lib/rustlib/rust-installer-version OPTIONS_DEFINE= DOCS GDB SOURCES GDB_DESC= Install ports gdb (necessary for debugging rust programs) SOURCES_DESC= Install source files DOCS_VARS_OFF= _RUST_BUILD_DOCS=false DOCS_VARS= _RUST_BUILD_DOCS=true GDB_RUN_DEPENDS= ${LOCALBASE}/bin/gdb:devel/gdb # See WRKSRC/src/stage0.txt for the date and version values. BOOTSTRAPS_DATE?= 2019-08-15 RUST_BOOTSTRAP_VERSION?= 1.37.0 CARGO_BOOTSTRAP_VERSION?= 0.38.0 COMPILER_RT_VERSION?= 9.0.0 BOOTSTRAPS_SUFFIX?= ${BOOTSTRAPS_SUFFIX_${ARCH}} BOOTSTRAPS_SUFFIX_powerpc64?= -elfv1 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} _LLVM_TARGET= ${ARCH:C/armv.*/ARM/:S/aarch64/AArch64/:S/powerpc64/PowerPC/} _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-${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}}-${_RUST_TARGET} .include .if ${ARCH} == powerpc64 # 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 .if ${OPSYS} == FreeBSD && ${ARCH} == aarch64 && \ (${OSVERSION} < 1200502 || \ (${OSVERSION} > 1300000 && ${OSVERSION} < 1300006)) IGNORE= fails to run due to a bug in rtld, update to 12-STABLE r342847 or 13-CURRENT r342113 .endif .ifdef QEMU_EMULATING IGNORE= fails to build with qemu-user-static .endif X_PY_ENV= HOME="${WRKDIR}" \ LIBGIT2_SYS_USE_PKG_CONFIG=1 \ LIBSSH2_SYS_USE_PKG_CONFIG=1 \ OPENSSL_DIR="${OPENSSLBASE}" X_PY_CMD= ${PYTHON_CMD} ${WRKSRC}/x.py post-extract: @${MKDIR} ${WRKSRC}/build/cache/${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}} ${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${_RUSTC_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz \ ${WRKSRC}/build/cache/${_RUSTC_BOOTSTRAP}.tar.gz ${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${_RUST_STD_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz \ ${WRKSRC}/build/cache/${_RUST_STD_BOOTSTRAP}.tar.gz ${LN} -sf ${DISTDIR}/${DIST_SUBDIR}/${_CARGO_BOOTSTRAP}${BOOTSTRAPS_SUFFIX}.tar.gz \ ${WRKSRC}/build/cache/${_CARGO_BOOTSTRAP}.tar.gz .if ${ARCH} == armv6 || ${ARCH} == armv7 ${LN} -sf ${WRKDIR}/compiler-rt-${COMPILER_RT_VERSION}.src ${WRKSRC}/src/llvm-project/compiler-rt .endif post-patch: @${REINPLACE_CMD} 's,gdb,${LOCALBASE}/bin/gdb,' ${WRKSRC}/src/etc/rust-gdb @${ECHO_MSG} "Canonical bootstrap date and version before patching:" @${GREP} -E '^(date|rustc|cargo)' ${WRKSRC}/src/stage0.txt # If we override the versions and date of the bootstraps (for instance # on aarch64 where we provide our own bootstraps), we need to update # places where they are recorded. @${REINPLACE_CMD} -e 's,^date:.*,date: ${BOOTSTRAPS_DATE_${ARCH}:U${BOOTSTRAPS_DATE}},' \ -e 's,^rustc:.*,rustc: ${RUST_BOOTSTRAP_VERSION_${ARCH}:U${RUST_BOOTSTRAP_VERSION}},' \ -e 's,^cargo:.*,cargo: ${CARGO_BOOTSTRAP_VERSION_${ARCH}:U${CARGO_BOOTSTRAP_VERSION}},' \ ${WRKSRC}/src/stage0.txt @${ECHO_MSG} "Bootstrap date and version after patching:" @${GREP} -E '^(date|rustc|cargo)' ${WRKSRC}/src/stage0.txt # Disable vendor checksums @${REINPLACE_CMD} 's,"files":{[^}]*},"files":{},' \ ${CARGO_VENDOR_DIR}/*/.cargo-checksum.json post-patch-SOURCES-off: # Mimic tools in config.toml with just src excluded @${REINPLACE_CMD} -e 's/config.tools.*"src".*/false;/' \ ${WRKSRC}/src/bootstrap/install.rs -.if defined(WITH_CCACHE_BUILD) && !defined(NO_CCACHE) && !defined(NOCCACHE) +.if defined(WITH_CCACHE_BUILD) && !defined(NO_CCACHE) CCACHE_VALUE= "${CCACHE_BIN}" .else CCACHE_VALUE= false .endif do-configure: ${SED} -E \ -e 's,%PREFIX%,${PREFIX},' \ -e 's,%SYSCONFDIR%,${PREFIX}/etc,' \ -e 's,%MANDIR%,${MANPREFIX}/man,' \ -e 's,%PYTHON_CMD%,${PYTHON_CMD},' \ -e 's,%CHANNEL%,${PKGNAMESUFFIX:Ustable:S/^-//},' \ -e 's,%TARGET%,${_RUST_TARGET},' \ -e 's,%CCACHE%,${CCACHE_VALUE},' \ -e 's,%CC%,${CC},' \ -e 's,%CXX%,${CXX},' \ -e 's,%DOCS%,${_RUST_BUILD_DOCS},' \ < ${FILESDIR}/config.toml \ > ${WRKSRC}/config.toml # no need to build a crosscompiler for these targets .if ${ARCH} == aarch64 || ${ARCH} == armv6 || ${ARCH} == armv7 || ${ARCH} == powerpc64 @${REINPLACE_CMD} -e 's,^#targets =.*,targets = "${_LLVM_TARGET}",' \ -e 's,^#experimental-targets =.*,experimental-targets = "",' \ ${WRKSRC}/config.toml .endif @${REINPLACE_CMD} -e 's,%CC%,${CC},g' \ ${WRKSRC}/src/librustc_llvm/build.rs \ ${WRKSRC}/src/bootstrap/native.rs do-build: cd ${WRKSRC} && \ ${SETENV} ${X_PY_ENV} \ ${X_PY_CMD} build \ --verbose \ --config ./config.toml \ --jobs ${MAKE_JOBS_NUMBER} do-install: cd ${WRKSRC} && \ ${SETENV} ${X_PY_ENV} \ DESTDIR=${STAGEDIR} \ ${X_PY_CMD} 'install' \ --verbose \ --config ./config.toml \ --jobs ${MAKE_JOBS_NUMBER} # In post-install, we use the manifests generated during Rust install # to in turn generate the PLIST. 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 # can't know their filename in advance. # # Both rustc and Cargo components install the same README.md and LICENSE # files. The install process backs up the first copy to install the # second. Thus here, we need to remove those backups. We also need to # dedup the entries in the generated PLIST, because both components' # manifests list them. # # We fix manpage entries in the generated manifests because Rust # installs them uncompressed but the Ports framework compresses them. post-install: for f in ${STAGEDIR}${PREFIX}/lib/rustlib/manifest-*; do \ ${REINPLACE_CMD} -i '' -E \ -e 's|:${STAGEDIR}|:|' \ -e 's|(man/man[1-9]/.*\.[0-9])|\1.gz|' \ "$$f"; \ ${ECHO_CMD} "$${f#${STAGEDIR}}" >> ${TMPPLIST}; \ ${AWK} '\ /^file:/ { \ file=$$0; \ sub(/^file:/, "", file); \ print file; \ } \ /^dir:/ { \ dir=$$0; \ sub(/^dir:/, "", dir); \ system("find ${STAGEDIR}" dir " -type f | ${SED} -E -e \"s|${STAGEDIR}||\""); \ }' \ "$$f" >> ${TMPPLIST}; \ done ${RM} -r ${STAGEDIR}${PREFIX}/share/doc/rust/*.old ${SORT} -u < ${TMPPLIST} > ${TMPPLIST}.uniq ${MV} ${TMPPLIST}.uniq ${TMPPLIST} @${RM} \ ${STAGEDIR}${PREFIX}/lib/rustlib/install.log \ ${STAGEDIR}${PREFIX}/lib/rustlib/uninstall.sh # FIXME: Static libraries in lib/rustlib/*/lib/*.rlib are not stripped, # but they contain non-object files which make strip(1) unhappy. @${FIND} ${STAGEDIR}${PREFIX}/bin -exec ${FILE} -i {} + | ${AWK} -F: \ '/executable|sharedlib/ { print $$1 }' | ${XARGS} ${STRIP_CMD} # Note that make test does not work when rust is already installed. do-test: cd ${WRKSRC} && \ ${SETENV} ${X_PY_ENV} \ ALLOW_NONZERO_RLIMIT_CORE=1 \ ${X_PY_CMD} test \ --verbose \ --config ./config.toml \ --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 ARCH=${arch} DISTINFO_FILE=${DISTINFO_FILE}.${arch} ${GREP} ${_RUST_ARCH_${arch}:U${arch}} ${DISTINFO_FILE}.${arch} >> ${DISTINFO_FILE}.tmp .for file in ${DISTFILES_${arch}} ${GREP} ${file:S,:, ,:[1]} ${DISTINFO_FILE}.${arch} >> ${DISTINFO_FILE}.tmp .endfor ${RM} ${DISTINFO_FILE}.${arch} .endfor ${MAKE} -D_RUST_MAKESUM_GUARD makesum ARCH=powerpc64 BOOTSTRAPS_SUFFIX="-elfv2" DISTINFO_FILE=${DISTINFO_FILE}.powerpc64-elfv2 ${GREP} ${_RUST_ARCH_powerpc64:Upowerpc64} ${DISTINFO_FILE}.powerpc64-elfv2 >> ${DISTINFO_FILE}.tmp ${RM} ${DISTINFO_FILE}.powerpc64-elfv2 ${AWK} '!seen[$$0]++' ${DISTINFO_FILE}.tmp > ${DISTINFO_FILE} ${RM} ${DISTINFO_FILE}.tmp .endif .include Index: head/net/mpich2/Makefile =================================================================== --- head/net/mpich2/Makefile (revision 514246) +++ head/net/mpich2/Makefile (revision 514247) @@ -1,192 +1,192 @@ # Created by: dbader@ece.unm.edu # $FreeBSD$ PORTNAME= mpich2 DISTVERSION= 1.5 PORTREVISION= 14 PORTEPOCH= 5 CATEGORIES= net java parallel MASTER_SITES= http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/${DISTVERSION}/ DIST_SUBDIR= mpich MAINTAINER= thierry@FreeBSD.org COMMENT= Portable implementation of MPI-1 and MPI-2 LICENSE= MPICH LICENSE_NAME= MPICH LICENSE_FILE= ${WRKSRC}/COPYRIGHT LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept BUILD_DEPENDS= bash:shells/bash RUN_DEPENDS= bash:shells/bash USES= libtool:keepla localbase fortran perl5 \ pkgconfig python:2.7 GNU_CONFIGURE= yes USE_GCC= yes USE_LDCONFIG= yes USE_PERL5= build INSTALL_TARGET= install-strip OPTIONS_DEFINE_i386= JAVA OPTIONS_DEFINE_amd64= JAVA OPTIONS_DEFINE= SMPD X11 DOCS OPTIONS_DEFAULT_i386= JAVA OPTIONS_DEFAULT_amd64= JAVA OPTIONS_DEFAULT= X11 JAVA_DESC= build MPE Jumpshot-4 SMPD_DESC= use SMPD instead of MPD, for a mixed-OS cluster X11_DESC= build MPE graphics routines CONFIGURE_ARGS= --enable-romio --enable-shared \ --docdir="${DOCSDIR}" \ --with-python="${PYTHON_CMD}" CONFIGURE_ENV= FCFLAGS="${FFLAGS}" \ MPI_CFLAGS="-I${LOCALBASE}/include" \ PACKAGE="${PORTNAME}" \ PTHREAD_LIBS="-lpthread" \ BASH_SHELL="${LOCALBASE}/bin/bash" .if ${FFLAGS} == "-O" FFLAGS= -O2 .endif LDFLAGS+= -lpthread -lexecinfo MAKE_ENV= CCACHE_DISABLE=yes PACKAGE=${PORTNAME} -NOCCACHE= yes +NO_CCACHE= yes CONFLICTS= lam-7.* mpd-[0-9]* mpiexec-0.* VERSO= 8.0.1 VERSOM= ${VERSO:R:R} PLIST_SUB= VER=${VERSO} VERM=${VERSOM} SUB_FILES= pkg-message THREAD2FIX= configure test/mpi/threads/comm/Makefile.in \ test/mpi/threads/pt2pt/Makefile.in \ src/mpe2/src/logging/configure \ src/mpi/romio/configure src/openpa/configure \ src/pm/hydra/configure LOCALBASE2FIX= src/mpe2/src/slog2sdk/trace_rlog/configure \ src/mpe2/src/slog2sdk/trace_sample/configure \ src/mpe2/src/graphics/configure STAGE2FIX= bin/mpicc bin/mpicxx bin/mpif77 bin/mpif90 \ etc/mpicc.conf etc/mpicxx.conf etc/mpif77.conf \ etc/mpif90.conf sbin/mpeuninstall DOC2PATCH= Makefile.in src/mpe2/sbin/mpeinstall.in \ src/openpa/Makefile.in src/mpi/romio/util/romioinstall.in CONFPFX2FIX1= src/pm/mpd/mpd.py CONFPFX2FIX2= doc/installguide/install.tex.vin \ src/pm/mpd/mpdroot.c BIN2STRIP= check_callstack clog2_join clog2_print clog2_repair .include .if ${PORT_OPTIONS:MDEBUG} MAKE_ENV+= VERBOSE=1 .endif .if ! ${PORT_OPTIONS:MJAVA} CONFIGURE_ARGS+= --without-java PLIST_SUB+= JAVA="@comment " PLX11= "@comment " .else .if ! ${PORT_OPTIONS:MX11} IGNORE= WITH_JAVA requires WITH_X11 .endif CONFIGURE_ARGS+= --with-java="${JAVA_HOME}" USE_JAVA= yes JAVA_VERSION= 1.6+ PLIST_SUB+= JAVA="" PLX11= "" BIN2STRIP+= rlog_check_timeorder rlog_print .endif #define WITH_RECV_TIMEOUT to be an appropriate value (>20 for slow machines), #in order to set a different default MPIEXEC_RECV_TIMEOUT .if defined(MAINTAINER_MODE) WITH_RECV_TIMEOUT?= 100 .else WITH_RECV_TIMEOUT?= 20 .endif .if ${PORT_OPTIONS:MSMPD} CONFIGURE_ARGS+= --with-pmi=smpd --with-pm=smpd PLIST_SUB+= PM_MPD="@comment " PM_SMPD="" .else CONFIGURE_ARGS+= --with-pmi=simple --with-pm=mpd PLIST_SUB+= PM_MPD="" PM_SMPD="@comment " BIN2STRIP+= mpdroot .endif .if ! ${PORT_OPTIONS:MX11} CONFIGURE_ARGS+= --disable-graphics PLIST_SUB+= X11="@comment " .else CONFIGURE_ARGS+= --x-includes=${LOCALBASE}/include --x-libraries==${LOCALBASE}/lib USE_XORG= x11 xt PLIST_SUB+= X11=${PLX11} .endif .include pre-configure: ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' ${LOCALBASE2FIX:S|^|${WRKSRC}/|} ${FIND} ${WRKSRC} -name configure | ${XARGS} \ ${REINPLACE_CMD} -e 's|doc/$${PACKAGE}|doc/${PORTNAME}|' .for fin in ${DOC2PATCH} . if ${PORT_OPTIONS:MDOCS} ${REINPLACE_CMD} -e 's|%%PORTDOCS%%||' ${WRKSRC}/${fin} . else ${REINPLACE_CMD} -e 's|%%PORTDOCS%%|#|' ${WRKSRC}/${fin} . endif .endfor .if ! ${PORT_OPTIONS:MDOCS} ${REINPLACE_CMD} -e 's|lib doc share|lib share|' \ ${WRKSRC}/src/mpe2/src/slog2sdk/sbin/install-package.in .endif ${REINPLACE_CMD} -e '/MPIEXEC_RECV_TIMEOUT/s|20,|${WITH_RECV_TIMEOUT},|' \ ${WRKSRC}/src/pm/mpd/mpiexec.py ${REINPLACE_CMD} -e 's|%%SRCDIR%%|${WRKSRC}|' ${WRKSRC}/${CONFIGURE_SCRIPT} .for cnf in ${CONFPFX2FIX1} ${REINPLACE_CMD} -e 's|/etc|${PREFIX}/etc|' ${WRKSRC}/${cnf} .endfor .for cnf in ${CONFPFX2FIX2} ${REINPLACE_CMD} -e 's|/etc/mpd.conf|${PREFIX}/etc/mpd.conf|' \ ${WRKSRC}/${cnf} .endfor post-install: (cd ${STAGEDIR}${PREFIX} && ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \ -d ${PREFIX} -f bin) (cd ${STAGEDIR}${PREFIX} && ${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \ -d ${PREFIX} -f bin) @${ECHO_CMD} "MPD_SECRETWORD=change_on_install" > ${WRKDIR}/mpd.conf.dist ${INSTALL_DATA} ${WRKDIR}/mpd.conf.dist ${STAGEDIR}${PREFIX}/etc/ .for pg in ${STAGE2FIX} ${REINPLACE_CMD} -e '/${STAGEDIR:C|/|\/|g}/s|${STAGEDIR}||' \ ${STAGEDIR}${PREFIX}/${pg} ${RM} ${STAGEDIR}${PREFIX}/${pg}.bak .endfor .for pg in ${BIN2STRIP} ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${pg} .endfor .if ${PORT_OPTIONS:MJAVA} ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/trace_rlog/libTraceInput.so .endif .if defined(MAINTAINER_MODE) regression-test: install .if !exists(${HOME}/.mpd.conf) @${ECHO_CMD} "MPD_SECRETWORD=change_on_install" > ${HOME}/.mpd.conf ${CHMOD} go-r ${HOME}/.mpd.conf @${ECHO_MSG} "${HOME}/.mpd.conf has been generated - please change the secret word!" .endif @${ECHO_MSG} "Increase MPIEXEC_RECV_TIMEOUT if needed!" ${PREFIX}/bin/mpd & (cd ${WRKSRC} && \ PATH=${PATH}:${PREFIX}/bin VERBOSE=1 ${MAKE} testing) ${PREFIX}/bin/mpdallexit .endif .include