summaryrefslogtreecommitdiff
path: root/lang/swift510/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'lang/swift510/Makefile')
-rw-r--r--lang/swift510/Makefile108
1 files changed, 108 insertions, 0 deletions
diff --git a/lang/swift510/Makefile b/lang/swift510/Makefile
new file mode 100644
index 000000000000..72b367b418f8
--- /dev/null
+++ b/lang/swift510/Makefile
@@ -0,0 +1,108 @@
+PORTNAME= swift510
+DISTVERSION= 5.10.1
+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/e2fsprogs-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 <bsd.port.pre.mk>
+
+.if ${OSVERSION} >= 1304500 && ${OSVERSION} <= 1305502
+BROKEN= Unbuildable due to a problem with libc++. See <https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=286342>
+.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}
+ @${SH} ${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/*
+
+.include <bsd.port.post.mk>