summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD36
1 files changed, 29 insertions, 7 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 89d46687c3ac..ee896507abd9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,22 +5,37 @@
pkgname=swift-bin
pkgver=5.9.1
-pkgrel=1
+pkgrel=2
pkgdesc="Binary builds of the Swift programming language"
-arch=('x86_64')
+arch=('x86_64' 'aarch64')
url="https://www.swift.org/"
license=('apache')
-depends=('libutil-linux' 'libxml2' 'ncurses5-compat-libs')
-optdepends=('python36: required for REPL')
+depends=('util-linux-libs' 'libxml2' 'ncurses')
+makedepends=('patchelf')
+optdepends=('python39: required for REPL')
options=('!strip')
provides=('swift-language')
replaces=('swift-language-bin')
-source=("https://download.swift.org/swift-$pkgver-release/centos7/swift-$pkgver-RELEASE/swift-$pkgver-RELEASE-centos7.tar.gz")
-sha256sums=('85f76d092e50794cafc45229d6534c02abb25f4f62f8d923c83b2e7c08a6eada')
+source_x86_64=("https://download.swift.org/swift-$pkgver-release/ubi9/swift-$pkgver-RELEASE/swift-$pkgver-RELEASE-ubi9.tar.gz")
+source_aarch64=("https://download.swift.org/swift-$pkgver-release/ubi9-aarch64/swift-$pkgver-RELEASE/swift-$pkgver-RELEASE-ubi9-aarch64.tar.gz")
+sha256sums_x86_64=('283ac05130a3ecb4f251ef868dbc659ed301506add60d56f13bc98fb4c0d17ad')
+sha256sums_aarch64=('bc4cdd7fc703d36c41045a952dd31fb0aa915b81facabf2bff6f487ce0ca13de')
package() {
+ find_elf_only() {
+ find "${pkgdir}/usr/lib/swift" \
+ -executable -type f \
+ '(' -path '*/bin/*' -o -name '*.so*' ')' \
+ -not '(' -name '*.py' -o -name 'hwasan_symbolize' ')' \
+ "$@"
+ }
+
+ _archsuffix=""
+ if [[ $CARCH == "aarch64" ]]; then
+ _archsuffix="-aarch64"
+ fi
mkdir -p "${pkgdir}/usr/lib/swift"
- cp -Ppr "${srcdir}/swift-$pkgver-RELEASE-centos7"/usr/* "${pkgdir}/usr/lib/swift"
+ cp -Ppr "${srcdir}/swift-$pkgver-RELEASE-ubi9${_archsuffix}"/usr/* "${pkgdir}/usr/lib/swift"
# Symlink the desired binaries to /usr/bin
mkdir -p "${pkgdir}/usr/bin"
@@ -28,6 +43,13 @@ package() {
ln -s "/usr/lib/swift/bin/$bin" "${pkgdir}/usr/bin/$bin"
done
+ # Patch the binaries to use the changed ncurses names
+ patchelf=(patchelf)
+ for lib in ncurses panel form; do
+ patchelf+=(--replace-needed "lib${lib}.so.6" "lib${lib}w.so")
+ done
+ find_elf_only -exec "${patchelf[@]}" {} \;
+
install -dm755 "${pkgdir}/etc/ld.so.conf.d"
echo '/usr/lib/swift/lib/swift/linux' >> "${pkgdir}/etc/ld.so.conf.d/swift.conf"
}