diff --git a/lang/swift510/Makefile b/lang/swift510/Makefile index 711f5df85914..6b82bc9d9045 100644 --- a/lang/swift510/Makefile +++ b/lang/swift510/Makefile @@ -1,113 +1,114 @@ PORTNAME= swift510 DISTVERSION= 5.10.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= lang DIST_SUBDIR= ${PORTNAME} MAINTAINER= jgopensource@proton.me COMMENT= Swift programming language WWW= https://www.swift.org/ ONLY_FOR_ARCHS= aarch64 amd64 BUILD_DEPENDS= bash:shells/bash \ cmake-core>=3.19.6:devel/cmake-core LIB_DEPENDS= libcurl.so:ftp/curl \ libicuuc.so:devel/icu \ libuuid.so:misc/libuuid \ libxml2.so:textproc/libxml2 \ libzstd.so:archivers/zstd USES= libedit ninja:build perl5 pkgconfig python:3.6+ \ shebangfix sqlite:3 USE_GITHUB= nodefault # The common tag which applies to most repos. tag= swift-${DISTVERSION}-RELEASE GH_TUPLE=\ swiftlang:indexstore-db:${tag}:indexstore_db/indexstore-db \ swiftlang:llvm-project:${tag}:llvm_project/llvm-project \ swiftlang:sourcekit-lsp:${tag}:sourcekit_lsp/sourcekit-lsp \ swiftlang:swift:${tag}:swift/swift \ swiftlang:swift-cmark:${tag}:swift_cmark/cmark \ swiftlang:swift-corelibs-foundation:${tag}:swift_corelibs_foundation/swift-corelibs-foundation \ swiftlang:swift-corelibs-libdispatch:${tag}:swift_corelibs_libdispatch/swift-corelibs-libdispatch \ swiftlang:swift-corelibs-xctest:${tag}:swift_corelibs_xctest/swift-corelibs-xctest \ swiftlang:swift-docc:${tag}:swift_docc/swift-docc \ swiftlang:swift-docc-symbolkit:${tag}:swift_docc_symbolkit/swift-docc-symbolkit \ swiftlang:swift-driver:${tag}:swift_driver/swift-driver \ swiftlang:swift-experimental-string-processing:${tag}:swift_experimental_string_processing/swift-experimental-string-processing \ swiftlang:swift-format:${tag}:swift_format/swift-format \ swiftlang:swift-llbuild:${tag}:llbuild/llbuild \ swiftlang:swift-lmdb:${tag}:swift_lmdb/swift-lmdb \ swiftlang:swift-markdown:${tag}:swift_markdown/swift-markdown \ swiftlang:swift-package-manager:${tag}:swiftpm/swiftpm \ swiftlang:swift-stress-tester:${tag}:swift_stress_tester/swift-stress-tester \ swiftlang:swift-syntax:${tag}:swift_syntax/swift-syntax \ swiftlang:swift-tools-support-core:${tag}:swift_tools_support_core/swift-tools-support-core GH_TUPLE+=\ apple:swift-argument-parser:1.2.3:swift_argument_parser/swift-argument-parser \ apple:swift-asn1:1.0.0:swift_asn1/swift-asn1 \ apple:swift-certificates:1.0.1:swift_certificates/swift-certificates \ apple:swift-collections:1.0.1:swift_collections/swift-collections \ apple:swift-crypto:3.0.0:swift_crypto/swift-crypto \ apple:swift-nio:2.31.2:swift_nio/swift-nio \ apple:swift-system:1.1.1:swift_system/swift-system GH_TUPLE+=jpsim:Yams:5.0.1:yams/yams USE_PERL5= build SHEBANG_FILES=\ swift/utils/api_checker/sdk-module-lists/infer-imports.py \ swift/utils/api_checker/swift-api-checker.py \ swift/utils/build-script \ swift/utils/swift-api-dump.py \ swift-driver/Utilities/build-script-helper.py \ swiftpm/Utilities/bootstrap \ CONFLICTS= libdispatch-[0-9]* value_for_aarch64= aarch64 value_for_amd64= x86_64 swift_arch= ${value_for_${ARCH}} early_stage_dir= ${WRKDIR}/EarlyStageDir swift_install_prefix= ${PREFIX}/${PORTNAME} MANDIRS= ${swift_install_prefix}/share/man SUB_FILES= pkg-message SUB_LIST= SWIFT_INSTALL_PREFIX=${swift_install_prefix} WRKSRC= ${WRKDIR}/swift-project PLIST_SUB= SWIFT_ARCH=${swift_arch} \ SWIFT_TARGET_TRIPLE=${swift_arch}-unknown-freebsd${OSREL} .include .if ${OSVERSION} >= 1304500 && ${OSVERSION} <= 1305502 BROKEN= Unbuildable due to a problem with libc++. See .endif pre-patch: @${MKDIR} ${WRKSRC}/llbuild/lib/LLBSQLite3 post-patch: @${SED} -E -e 's@^python3=python3$$@python3=${PYTHON_CMD}@' -i .bak ${WRKSRC}/swift/utils/build-script-impl do-build: @${MKDIR} ${early_stage_dir} ${SETENV} \ - CCACHE_WRAPPER_PATH=${CCACHE_WRAPPER_PATH} \ + CCACHE_ENABLED=${CCACHE_ENABLED} \ + CCACHE_BIN=${CCACHE_BIN} \ + CCACHE_DIR=${CCACHE_DIR} \ MAKE_JOBS_NUMBER=${MAKE_JOBS_NUMBER} \ ${SH} -x ${FILESDIR}/start-build.sh ${WRKSRC} ${early_stage_dir} \ ${swift_install_prefix} ${WRKDIR}/clang-module-cache do-install: @${FIND} ${early_stage_dir}${swift_install_prefix}/bin -type f -not -name '*.py' -not -name '*.sh' -not -name '*.txt' -exec ${STRIP_CMD} '{}' ';' ; \ ${FIND} ${early_stage_dir}${swift_install_prefix} -type f -name '*.so*' -exec ${STRIP_CMD} '{}' ';' ; \ cd ${early_stage_dir} ; \ ${COPYTREE_BIN} .${swift_install_prefix}/bin ${STAGEDIR} ; \ for subdir in include lib local share; do \ ${COPYTREE_SHARE} .${swift_install_prefix}/$${subdir} ${STAGEDIR} ; \ - done ; \ - ${RM} ${STAGEDIR}/var/run/libuuid/* + done .include diff --git a/lang/swift510/files/start-build.sh b/lang/swift510/files/start-build.sh index da8e7fbbe0b2..c5f741292f4e 100644 --- a/lang/swift510/files/start-build.sh +++ b/lang/swift510/files/start-build.sh @@ -1,35 +1,48 @@ swift_project_dir=$1 swift_install_destdir=$2 swift_install_prefix=$3 clang_module_cache_path=$4 # For tools like 'ld', 'ar', 'ranlib', etc. prefer the versions from the base system export PATH="/sbin:/bin:/usr/sbin:/usr/bin:${PATH}" export CLANG_MODULE_CACHE_PATH=${clang_module_cache_path} +if [ ${CCACHE_ENABLED} = yes ] ; then + ccache_fragment="--cmake-c-launcher ${CCACHE_BIN} --cmake-cxx-launcher ${CCACHE_BIN}" +else + ccache_fragment= +fi + +if [ -n "${MAKE_JOBS_NUMBER}" ] ; then + jobs_fragment="--jobs ${MAKE_JOBS_NUMBER}" +else + jobs_fragment= +fi + cd ${swift_project_dir}/swift && utils/build-script --bootstrapping bootstrapping \ --release \ --assertions \ -${MAKE_JOBS_NUMBER+--jobs} ${MAKE_JOBS_NUMBER} \ ---host-cc ${CCACHE_WRAPPER_PATH:-/usr/bin}/clang \ ---host-cxx ${CCACHE_WRAPPER_PATH:-/usr/bin}/clang++ \ +--host-cc /usr/bin/clang \ +--host-cxx /usr/bin/clang++ \ +${ccache_fragment} \ +${jobs_fragment} \ --llvm-targets-to-build 'AArch64;X86' \ --skip-early-swift-driver \ --skip-early-swiftsyntax \ --libdispatch true \ --foundation true \ --xctest true \ --swiftpm true \ --llbuild true \ --swiftsyntax true \ --swift-driver true \ --extra-cmake-options="-DSWIFT_USE_LINKER=lld" \ --extra-cmake-options="-DLLVM_USE_LINKER=lld" \ --llvm-max-parallel-lto-link-jobs 1 \ --swift-tools-max-parallel-lto-link-jobs 1 \ --install-destdir ${swift_install_destdir} \ --install-prefix ${swift_install_prefix} \ --install-all true \ --verbose-build true