summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO52
-rw-r--r--PKGBUILD54
-rw-r--r--swift-tests-glibc.patch40
-rw-r--r--swiftpm-glibc.patch25
4 files changed, 116 insertions, 55 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 5f69d99b7314..52528db592c5 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = swift-language
pkgdesc = The Swift programming language and debugger
- pkgver = 5.1
+ pkgver = 5.1.2
pkgrel = 1
url = http://swift.org/
arch = i686
@@ -25,38 +25,32 @@ pkgbase = swift-language
depends = sqlite
depends = ncurses
depends = libblocksruntime
- source = swift-5.1-RELEASE.tar.gz::https://github.com/apple/swift/archive/swift-5.1-RELEASE.tar.gz
- source = swift-llvm-5.1-RELEASE.tar.gz::https://github.com/apple/swift-llvm/archive/swift-5.1-RELEASE.tar.gz
- source = swift-clang-5.1-RELEASE.tar.gz::https://github.com/apple/swift-clang/archive/swift-5.1-RELEASE.tar.gz
- source = swift-clang-tools-extra-5.1-RELEASE.tar.gz::https://github.com/apple/swift-clang-tools-extra/archive/swift-5.1-RELEASE.tar.gz
- source = swift-libcxx-5.1-RELEASE.tar.gz::https://github.com/apple/swift-libcxx/archive/swift-5.1-RELEASE.tar.gz
- source = swift-lldb-5.1-RELEASE.tar.gz::https://github.com/apple/swift-lldb/archive/swift-5.1-RELEASE.tar.gz
- source = swift-cmark-5.1-RELEASE.tar.gz::https://github.com/apple/swift-cmark/archive/swift-5.1-RELEASE.tar.gz
- source = swift-llbuild-5.1-RELEASE.tar.gz::https://github.com/apple/swift-llbuild/archive/swift-5.1-RELEASE.tar.gz
- source = swift-package-manager-5.1-RELEASE.tar.gz::https://github.com/apple/swift-package-manager/archive/swift-5.1-RELEASE.tar.gz
- source = swift-corelibs-xctest-5.1-RELEASE.tar.gz::https://github.com/apple/swift-corelibs-xctest/archive/swift-5.1-RELEASE.tar.gz
- source = swift-corelibs-foundation-5.1-RELEASE.tar.gz::https://github.com/apple/swift-corelibs-foundation/archive/swift-5.1-RELEASE.tar.gz
- source = swift-corelibs-libdispatch-5.1-RELEASE.tar.gz::https://github.com/apple/swift-corelibs-libdispatch/archive/swift-5.1-RELEASE.tar.gz
- source = swift-compiler-rt-5.1-RELEASE.tar.gz::https://github.com/apple/swift-compiler-rt/archive/swift-5.1-RELEASE.tar.gz
- source = swift-integration-tests-5.1-RELEASE.tar.gz::https://github.com/apple/swift-integration-tests/archive/swift-5.1-RELEASE.tar.gz
+ source = swift-5.1.2-RELEASE.tar.gz::https://github.com/apple/swift/archive/swift-5.1.2-RELEASE.tar.gz
+ source = llvm-project-5.1.2-RELEASE.tar.gz::https://github.com/apple/llvm-project/archive/swift-5.1.2-RELEASE.tar.gz
+ source = swift-cmark-5.1.2-RELEASE.tar.gz::https://github.com/apple/swift-cmark/archive/swift-5.1.2-RELEASE.tar.gz
+ source = swift-llbuild-5.1.2-RELEASE.tar.gz::https://github.com/apple/swift-llbuild/archive/swift-5.1.2-RELEASE.tar.gz
+ source = swift-package-manager-5.1.2-RELEASE.tar.gz::https://github.com/apple/swift-package-manager/archive/swift-5.1.2-RELEASE.tar.gz
+ source = swift-corelibs-xctest-5.1.2-RELEASE.tar.gz::https://github.com/apple/swift-corelibs-xctest/archive/swift-5.1.2-RELEASE.tar.gz
+ source = swift-corelibs-foundation-5.1.2-RELEASE.tar.gz::https://github.com/apple/swift-corelibs-foundation/archive/swift-5.1.2-RELEASE.tar.gz
+ source = swift-corelibs-libdispatch-5.1.2-RELEASE.tar.gz::https://github.com/apple/swift-corelibs-libdispatch/archive/swift-5.1.2-RELEASE.tar.gz
+ source = swift-integration-tests-5.1.2-RELEASE.tar.gz::https://github.com/apple/swift-integration-tests/archive/swift-5.1.2-RELEASE.tar.gz
source = glibc-includes.patch
source = repl_swift-dl.patch
- sha256sums = 04cbf97859cc691840a2c18354329e12f051226758b99f4a025d0bcca99ed4df
- sha256sums = 3ed973401d62a9610c8d9be8afbb28d04f50340a773be48af6965033e80e0411
- sha256sums = 3d704763df8e17af5559839484c29681c19e16e9801734c33cd4e12ffaba6cdf
- sha256sums = f1f383106fd3589bc9566225015cfa88e671231f9e8695773f0012a93f9853c6
- sha256sums = cf5a1dfe5d6fbfaaa26bc4b98c2033c48c513d06b9a1d5ae7180871d144caa0c
- sha256sums = ca01ed89c886565155cd55129fa1d27d7486df031a409b2709f90937d4f81349
- sha256sums = f0c6fdb8a81a9d422fbc47dc9e6408556b25198f50a0fddcb3aeccdaff56bcfd
- sha256sums = cbd228619d1172f7f6d38983f0419226baa1cfbecc6afac891856fcb46ba4920
- sha256sums = 830d79d777841c28c6b270083c3fd305bc1ba736086ad9790dee1673a23a6aee
- sha256sums = adaaec994d18067a49596b0720b0c163da3a1915f20a619221834292b0e2af68
- sha256sums = 9176e1334e2b8b6715c4d071be1337554438096b9f29d62f90aecfb5230148fa
- sha256sums = da24d299eecc10e7d4b40a24e0700ca2f73da622795ecf6f4a5da4d33c486662
- sha256sums = f2eb728ce1d4be21bb0e8bf7e099b6654a45ce8ff8dee6050e868822d7bbcd95
- sha256sums = faad37015993a8713d10fd281e17d8bf308196c8cc4ecc45dc962e22141718cf
+ source = swiftpm-glibc.patch
+ source = swift-tests-glibc.patch
+ sha256sums = 1a366fd001df4f6d0da61361f3574ca01a63f3f551b2ccc21939aa570b61b59e
+ sha256sums = d045b1d42933f4d34b24f5434438bbdce4a18341964be019ff5d3f0ed56653fe
+ sha256sums = 2d0919a443536161ac7e059ac3922b70f63c3e46a26efc4b5f8ac824caf09d2e
+ sha256sums = 61629212db265d849db5fa2b2b770385713938a38fdfb3bb7cff120a748f946a
+ sha256sums = 74e61207f4d0ac67fe5bc69d16591df1bc29cbcaeb0ccfdf480d43bfc5c5608a
+ sha256sums = 47d7a4a76527258f3400c82bf6cc1166a8073817e3a048735bada02ed06c556b
+ sha256sums = a9072240be0b1f2ffcc48189fe940f8ba031182beb2acd3cd82031cec4320f80
+ sha256sums = f88b18c05b06e25108cf16e3277fee63bc057535779a9e12c544c18169a613e3
+ sha256sums = dc74061269e6b0ad83f1cfd10a1e8ddba193a6f4c4d5cb2e3e906932d5a4d457
sha256sums = 6a94de9adbdc4182b297e0011a68c9387fd25864dcb4386654218c8c530032c2
sha256sums = 0b2dcb80d9f5cd987a6750b88dc71823980c47dcc711a993e71a496fd73d4e5e
+ sha256sums = 957feb4002deebfebcccc558eaa0c15b6af2ba8a0e4e331ac3365d7f6ab1d707
+ sha256sums = e4682caf8255d258c24dd28e3965ff4a29a3e73aa293819d6f0f32e86970ff55
pkgname = swift
pkgdesc = The Swift programming language compiler and tools
diff --git a/PKGBUILD b/PKGBUILD
index a2d22a935215..eaac155fa38d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,7 +2,7 @@
pkgbase=swift-language
pkgname=(swift swift-lldb)
-_swiftver=5.1-RELEASE
+_swiftver=5.1.2-RELEASE
pkgver=${_swiftver//-RELEASE/}
pkgrel=1
pkgdesc="The Swift programming language and debugger"
@@ -16,55 +16,52 @@ makedepends=('git' 'cmake' 'ninja' 'swig3' 'clang>=5.0' 'python2-six' 'perl'
source=(
"swift-${_swiftver}.tar.gz::https://github.com/apple/swift/archive/swift-${_swiftver}.tar.gz"
- "swift-llvm-${_swiftver}.tar.gz::https://github.com/apple/swift-llvm/archive/swift-${_swiftver}.tar.gz"
- "swift-clang-${_swiftver}.tar.gz::https://github.com/apple/swift-clang/archive/swift-${_swiftver}.tar.gz"
- "swift-clang-tools-extra-${_swiftver}.tar.gz::https://github.com/apple/swift-clang-tools-extra/archive/swift-${_swiftver}.tar.gz"
- "swift-libcxx-${_swiftver}.tar.gz::https://github.com/apple/swift-libcxx/archive/swift-${_swiftver}.tar.gz"
- "swift-lldb-${_swiftver}.tar.gz::https://github.com/apple/swift-lldb/archive/swift-${_swiftver}.tar.gz"
+ "llvm-project-${_swiftver}.tar.gz::https://github.com/apple/llvm-project/archive/swift-${_swiftver}.tar.gz"
"swift-cmark-${_swiftver}.tar.gz::https://github.com/apple/swift-cmark/archive/swift-${_swiftver}.tar.gz"
"swift-llbuild-${_swiftver}.tar.gz::https://github.com/apple/swift-llbuild/archive/swift-${_swiftver}.tar.gz"
"swift-package-manager-${_swiftver}.tar.gz::https://github.com/apple/swift-package-manager/archive/swift-${_swiftver}.tar.gz"
"swift-corelibs-xctest-${_swiftver}.tar.gz::https://github.com/apple/swift-corelibs-xctest/archive/swift-${_swiftver}.tar.gz"
"swift-corelibs-foundation-${_swiftver}.tar.gz::https://github.com/apple/swift-corelibs-foundation/archive/swift-${_swiftver}.tar.gz"
"swift-corelibs-libdispatch-${_swiftver}.tar.gz::https://github.com/apple/swift-corelibs-libdispatch/archive/swift-${_swiftver}.tar.gz"
- "swift-compiler-rt-${_swiftver}.tar.gz::https://github.com/apple/swift-compiler-rt/archive/swift-${_swiftver}.tar.gz"
"swift-integration-tests-${_swiftver}.tar.gz::https://github.com/apple/swift-integration-tests/archive/swift-${_swiftver}.tar.gz"
"glibc-includes.patch"
"repl_swift-dl.patch"
+ "swiftpm-glibc.patch"
+ "swift-tests-glibc.patch"
)
-sha256sums=('04cbf97859cc691840a2c18354329e12f051226758b99f4a025d0bcca99ed4df'
- '3ed973401d62a9610c8d9be8afbb28d04f50340a773be48af6965033e80e0411'
- '3d704763df8e17af5559839484c29681c19e16e9801734c33cd4e12ffaba6cdf'
- 'f1f383106fd3589bc9566225015cfa88e671231f9e8695773f0012a93f9853c6'
- 'cf5a1dfe5d6fbfaaa26bc4b98c2033c48c513d06b9a1d5ae7180871d144caa0c'
- 'ca01ed89c886565155cd55129fa1d27d7486df031a409b2709f90937d4f81349'
- 'f0c6fdb8a81a9d422fbc47dc9e6408556b25198f50a0fddcb3aeccdaff56bcfd'
- 'cbd228619d1172f7f6d38983f0419226baa1cfbecc6afac891856fcb46ba4920'
- '830d79d777841c28c6b270083c3fd305bc1ba736086ad9790dee1673a23a6aee'
- 'adaaec994d18067a49596b0720b0c163da3a1915f20a619221834292b0e2af68'
- '9176e1334e2b8b6715c4d071be1337554438096b9f29d62f90aecfb5230148fa'
- 'da24d299eecc10e7d4b40a24e0700ca2f73da622795ecf6f4a5da4d33c486662'
- 'f2eb728ce1d4be21bb0e8bf7e099b6654a45ce8ff8dee6050e868822d7bbcd95'
- 'faad37015993a8713d10fd281e17d8bf308196c8cc4ecc45dc962e22141718cf'
+sha256sums=('1a366fd001df4f6d0da61361f3574ca01a63f3f551b2ccc21939aa570b61b59e'
+ 'd045b1d42933f4d34b24f5434438bbdce4a18341964be019ff5d3f0ed56653fe'
+ '2d0919a443536161ac7e059ac3922b70f63c3e46a26efc4b5f8ac824caf09d2e'
+ '61629212db265d849db5fa2b2b770385713938a38fdfb3bb7cff120a748f946a'
+ '74e61207f4d0ac67fe5bc69d16591df1bc29cbcaeb0ccfdf480d43bfc5c5608a'
+ '47d7a4a76527258f3400c82bf6cc1166a8073817e3a048735bada02ed06c556b'
+ 'a9072240be0b1f2ffcc48189fe940f8ba031182beb2acd3cd82031cec4320f80'
+ 'f88b18c05b06e25108cf16e3277fee63bc057535779a9e12c544c18169a613e3'
+ 'dc74061269e6b0ad83f1cfd10a1e8ddba193a6f4c4d5cb2e3e906932d5a4d457'
'6a94de9adbdc4182b297e0011a68c9387fd25864dcb4386654218c8c530032c2'
- '0b2dcb80d9f5cd987a6750b88dc71823980c47dcc711a993e71a496fd73d4e5e')
+ '0b2dcb80d9f5cd987a6750b88dc71823980c47dcc711a993e71a496fd73d4e5e'
+ '957feb4002deebfebcccc558eaa0c15b6af2ba8a0e4e331ac3365d7f6ab1d707'
+ 'e4682caf8255d258c24dd28e3965ff4a29a3e73aa293819d6f0f32e86970ff55')
prepare() {
# Use python2 where appropriate
find "$srcdir" -type f -print0 | \
xargs -0 sed -i 's|/usr/bin/env python$|&2|;s|/usr/bin/python$|&2|'
- find "$srcdir/swift-lldb-swift-${_swiftver}" -name Makefile -print0 | \
+ find "$srcdir/llvm-project-swift-${_swiftver}/lldb" -name Makefile -print0 | \
xargs -0 sed -i 's|python-config|python2-config|g'
sed -i '/^cmake_minimum_required/a set(Python_ADDITIONAL_VERSIONS 2.7)' \
"$srcdir/swift-swift-${_swiftver}/CMakeLists.txt"
sed -i '/^cmake_minimum_required/a set(Python_ADDITIONAL_VERSIONS 2.7)' \
- "$srcdir/swift-lldb-swift-${_swiftver}/CMakeLists.txt"
+ "$srcdir/llvm-project-swift-${_swiftver}/lldb/CMakeLists.txt"
sed -i 's/\<python\>/&2/' \
"$srcdir/swift-swift-${_swiftver}/utils/build-script-impl"
# Use directory names which build-script expects
- for sdir in llvm clang clang-tools-extra libcxx lldb cmark llbuild \
- compiler-rt
+ for sdir in llvm clang clang-tools-extra libcxx lldb compiler-rt
+ do
+ ln -sf llvm-project-swift-${_swiftver}/${sdir} ${sdir}
+ done
+ for sdir in cmark llbuild
do
rm -rf ${sdir}
mv swift-${sdir}-swift-${_swiftver} ${sdir}
@@ -84,6 +81,11 @@ prepare() {
# repl_swift requires -ldl
( cd lldb && patch -p1 -i "$srcdir/repl_swift-dl.patch" )
+
+ # Fix compile/test errors with newer glibc (2.30)
+ # See https://github.com/apple/swift-package-manager/pull/2408
+ ( cd swiftpm && patch -p1 -i "$srcdir/swiftpm-glibc.patch" )
+ ( cd swift && patch -p1 -i "$srcdir/swift-tests-glibc.patch" )
}
_common_build_params=(
diff --git a/swift-tests-glibc.patch b/swift-tests-glibc.patch
new file mode 100644
index 000000000000..5dbff97d2584
--- /dev/null
+++ b/swift-tests-glibc.patch
@@ -0,0 +1,40 @@
+diff --git a/test/stdlib/POSIX.swift b/test/stdlib/POSIX.swift
+index 91cec1c2e01b..ead9a623554b 100644
+--- a/test/stdlib/POSIX.swift
++++ b/test/stdlib/POSIX.swift
+@@ -69,7 +69,7 @@ POSIXTests.test("sem_open success") {
+ let sem = sem_open(semaphoreName, O_CREAT, 0o777, 1)
+ expectNotEqual(SEM_FAILED, sem)
+
+- let res = sem_close(sem)
++ let res = sem_close(sem!)
+ expectEqual(0, res)
+
+ let res2 = sem_unlink(semaphoreName)
+@@ -83,7 +83,7 @@ POSIXTests.test("sem_open O_EXCL success") {
+ let sem = sem_open(semaphoreName, O_CREAT | O_EXCL, 0o777, 1)
+ expectNotEqual(SEM_FAILED, sem)
+
+- let res = sem_close(sem)
++ let res = sem_close(sem!)
+ expectEqual(0, res)
+
+ let res2 = sem_unlink(semaphoreName)
+@@ -102,7 +102,7 @@ POSIXTests.test("sem_open existing") {
+ // difficult.
+ expectNotEqual(SEM_FAILED, sem2)
+
+- let res = sem_close(sem)
++ let res = sem_close(sem!)
+ expectEqual(0, res)
+
+ let res2 = sem_unlink(semaphoreName)
+@@ -120,7 +120,7 @@ POSIXTests.test("sem_open existing O_EXCL fail") {
+ expectEqual(SEM_FAILED, sem2)
+ expectEqual(EEXIST, errno)
+
+- let res = sem_close(sem)
++ let res = sem_close(sem!)
+ expectEqual(0, res)
+
+ let res2 = sem_unlink(semaphoreName)
diff --git a/swiftpm-glibc.patch b/swiftpm-glibc.patch
new file mode 100644
index 000000000000..f3fa8c1815af
--- /dev/null
+++ b/swiftpm-glibc.patch
@@ -0,0 +1,25 @@
+diff --git a/Sources/Basic/Process.swift b/Sources/Basic/Process.swift
+index 2e2efd448..f65702709 100644
+--- a/Sources/Basic/Process.swift
++++ b/Sources/Basic/Process.swift
+@@ -366,7 +366,10 @@ public final class Process: ObjectIdentifierProtocol {
+ defer { posix_spawn_file_actions_destroy(&fileActions) }
+
+ // Workaround for https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=89e435f3559c53084498e9baad22172b64429362
+- let devNull = strdup("/dev/null")
++ // Change allowing for newer version of glibc
++ guard let devNull = strdup("/dev/null") else {
++ throw SystemError.posix_spawn(0, arguments)
++ }
+ defer { free(devNull) }
+ // Open /dev/null as stdin.
+ posix_spawn_file_actions_addopen(&fileActions, 0, devNull, O_RDONLY, 0)
+@@ -392,7 +395,7 @@ public final class Process: ObjectIdentifierProtocol {
+
+ let argv = CStringArray(arguments)
+ let env = CStringArray(environment.map({ "\($0.0)=\($0.1)" }))
+- let rv = posix_spawnp(&processID, argv.cArray[0], &fileActions, &attributes, argv.cArray, env.cArray)
++ let rv = posix_spawnp(&processID, argv.cArray[0]!, &fileActions, &attributes, argv.cArray, env.cArray)
+
+ guard rv == 0 else {
+ throw SystemError.posix_spawn(rv, arguments)