blob: 5fd19a0a73a633c4094e459b086913a2e1cbb7ed (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
pkgname=swift
_swiftver=2.2-SNAPSHOT-2016-01-06-a
pkgver=${_swiftver//-/.}
pkgrel=1
pkgdesc="The Swift programming language and debugger"
arch=('i686' 'x86_64')
url="http://swift.org/"
license=('apache')
depends=('python2' 'libutil-linux' 'icu' 'libbsd' 'libedit' 'libxml2'
'sqlite' 'ncurses' 'python2-six')
makedepends=('git' 'cmake' 'ninja' 'swig' 'clang>=3.6')
provides=('lldb' 'swift-language')
conflicts=('lldb' 'swift-language-git' 'swift-git')
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-lldb-${_swiftver}.tar.gz::https://github.com/apple/swift-lldb/archive/swift-${_swiftver}.tar.gz"
"cmark::git+https://github.com/apple/swift-cmark.git"
"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"
)
sha256sums=(
'929d5dda152ebfb31afe6c27cf9c641a3d033a8b54cf459090403cc655c59e76'
'ae29efd1c0797f2cd8f68d4a74bcc5639afadbbd13c8873e5d5d79c59e0d7a9a'
'e7095f1b19e81370ba91e9d5319849ba9aaa4ebc25bbc93524497ddcec987339'
'4ed1fe8f696e36b4b5528d68fe34c53dc79794f274dc64334667a1b378749ddc'
'SKIP'
'3d922644a0f1b1b2c412b306cf0efa6e1f32b251f89a88d354f6983c1a92a9e1'
'7d969dbcf75b312701b8e2be473ec15952d133f5d5ae7b42fbfa42a296222cda'
'20e3cedfe23a5057dbd4a226dc5fe3e8aba473115cec35fe6de7ff925178c901'
'4d29ae29261699fe6a3c039be71ee17a5fc77c04f01fe68cf87070b20ad17818'
)
prepare() {
# Use python2 where appropriate
find "$srcdir" -type f -print0 | \
xargs -0 sed -i 's|/usr/bin/env python$|&2|'
find "$srcdir/swift-lldb-swift-${_swiftver}" -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"
sed -i 's/\<python\>/&2/' \
"$srcdir/swift-swift-${_swiftver}/utils/build-script-impl"
# Fix bad include paths
find "$srcdir" -type f -print0 | \
xargs -0 sed -i 's|/usr/include/x86_64-linux-gnu|/usr/include|g'
# Use directory names which build-script expects
for sdir in llvm clang lldb llbuild corelibs-xctest corelibs-foundation; do
if [[ "$sdir" =~ ^corelibs- ]]; then
ln -sf swift-${sdir}-swift-${_swiftver} swift-${sdir}
else
ln -sf swift-${sdir}-swift-${_swiftver} ${sdir}
fi
done
ln -sf swift-swift-${_swiftver} swift
ln -sf swift-package-manager-swift-${_swiftver} swiftpm
}
build() {
cd "$srcdir/swift"
export SWIFT_SOURCE_ROOT="$srcdir"
export LDFLAGS='-ldl -lpthread'
utils/build-script -R \
--lldb --llbuild --swiftpm --xctest --foundation \
-j "$(lscpu --parse=CPU | grep -v '^#' | wc -l)"
}
check() {
cd "$srcdir/swift"
export SWIFT_SOURCE_ROOT="$srcdir"
utils/build-script -R -t
}
package() {
cd "$srcdir/build/Ninja-ReleaseAssert"
# Install swift-capable lldb
(
cd lldb-linux-$CARCH
DESTDIR="$pkgdir" ninja install
)
# Swift's components don't provide an install target :(
# These are based on what's included in the binary release packages
(
cd swift-linux-$CARCH
install -m755 bin/swift bin/swift-demangle bin/swift-compress "$pkgdir/usr/bin"
ln -s swift "$pkgdir/usr/bin/swiftc"
ln -s swift "$pkgdir/usr/bin/swift-autolink-extract"
install -dm755 "$pkgdir/usr/share/man/man1"
install -m644 docs/tools/swift.1 "$pkgdir/usr/share/man/man1"
gzip "$pkgdir/usr/share/man/man1/swift.1"
umask 0022
install -dm755 "$pkgdir/usr/lib/swift"
cp -rL lib/swift/{clang,glibc,linux,shims} "$pkgdir/usr/lib/swift/"
)
(
cd llbuild-linux-$CARCH
install -m755 bin/swift-build-tool "$pkgdir/usr/bin"
)
(
cd swiftpm-linux-$CARCH
install -m755 debug/swift-build "$pkgdir/usr/bin"
install -dm755 "$pkgdir/usr/lib/swift/pm"
install -m755 lib/swift/pm/libPackageDescription.so "$pkgdir/usr/lib/swift/pm"
install -m644 lib/swift/pm/PackageDescription.swiftmodule "$pkgdir/usr/lib/swift/pm"
)
(
cd foundation-linux-$CARCH
install -m755 Foundation/libFoundation.so "$pkgdir/usr/lib/swift/linux/"
install -m644 Foundation/Foundation.swiftdoc "$pkgdir/usr/lib/swift/linux/$CARCH"
install -m644 Foundation/Foundation.swiftmodule "$pkgdir/usr/lib/swift/linux/$CARCH"
umask 0022
cp -r Foundation/usr/lib/swift/CoreFoundation "$pkgdir/usr/lib/swift/"
)
(
cd xctest-linux-$CARCH
install -m755 libXCTest.so "$pkgdir/usr/lib/swift/linux/"
install -m644 XCTest.swiftdoc "$pkgdir/usr/lib/swift/linux/$CARCH"
install -m644 XCTest.swiftmodule "$pkgdir/usr/lib/swift/linux/$CARCH"
)
# License file
install -dm755 "$pkgdir/usr/share/licenses/swift"
install -m644 "$srcdir/swift/LICENSE.txt" "$pkgdir/usr/share/licenses/swift"
# This should be provided from python2-six
rm "$pkgdir/usr/lib/python2.7/site-packages/six.py"
}
|