diff options
-rw-r--r-- | .SRCINFO | 19 | ||||
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | 0002-llbuild-ninja-test-binary-links-against-ncurses.patch | 25 | ||||
-rw-r--r-- | PKGBUILD | 48 |
4 files changed, 96 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..efea0850f524 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,19 @@ +pkgbase = llbuild-git + pkgdesc = Build system and library at the core of XCode and Swift package manager. + pkgver = swift.DEVELOPMENT.SNAPSHOT.2020.09.23.a.r0.g3332fc26 + pkgrel = 1 + url = https://swift.org/ + arch = x86_64 + license = apache2 + makedepends = clang + makedepends = git + makedepends = ninja + provides = llbuild + conflicts = llbuild + source = llbuild::git+https://github.com/apple/swift-llbuild + source = 0002-llbuild-ninja-test-binary-links-against-ncurses.patch + md5sums = SKIP + md5sums = SKIP + +pkgname = llbuild-git + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..31306a881695 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/pkg/ +/src/ +/llbuild +/*.tar.zst diff --git a/0002-llbuild-ninja-test-binary-links-against-ncurses.patch b/0002-llbuild-ninja-test-binary-links-against-ncurses.patch new file mode 100644 index 000000000000..6ff3f16ce0ca --- /dev/null +++ b/0002-llbuild-ninja-test-binary-links-against-ncurses.patch @@ -0,0 +1,25 @@ +From bc82c7d063aff71d09e9a0cef4e059c278459f47 Mon Sep 17 00:00:00 2001 +From: soloturn <soloturn@gmail.com> +Date: Tue, 15 Sep 2020 02:53:24 +0200 +Subject: [PATCH] llbuild ninja test binary links against ncurses + +llbuild ninja test binary needs to link against ncurses: +https://github.com/apple/swift-llbuild/blob/a9f4b75cf7288156ed1880f98cebe17da1543a38/Package.swift#L207 +--- + lib/llvm/Support/CMakeLists.txt | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/lib/llvm/Support/CMakeLists.txt b/lib/llvm/Support/CMakeLists.txt +index 5871d60a..9d5a714b 100644 +--- a/lib/llvm/Support/CMakeLists.txt ++++ b/lib/llvm/Support/CMakeLists.txt +@@ -64,3 +64,6 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") + execinfo) + endif() + ++if(${CMAKE_SYSTEM_NAME} MATCHES "Android|Darwin|Linux") ++ target_link_libraries(llvmSupport PRIVATE curses) ++endif() +-- +2.28.0 + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..2748194f99fa --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: soloturn@gmail.com + +_basename=llbuild +pkgname="$_basename-git" +pkgver=swift.DEVELOPMENT.SNAPSHOT.2020.09.23.a.r0.g3332fc26 +pkgrel=1 +pkgdesc="Build system and library at the core of XCode and Swift package manager." +arch=('x86_64') +url="https://swift.org/" +license=('apache2') +conflicts=("$_basename") +provides=("$_basename") +makedepends=('clang' 'git' 'ninja') +source=( + 'llbuild::git+https://github.com/apple/swift-llbuild' + '0002-llbuild-ninja-test-binary-links-against-ncurses.patch' +) +md5sums=( + 'SKIP' + 'SKIP' +) + +pkgver() { + cd "$_basename" + git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g' +} + +prepare() { + mkdir -p build + ( cd "$_basename" && patch -p1 -i "$srcdir/0002-llbuild-ninja-test-binary-links-against-ncurses.patch" ) +} + +build() { + cd build + + # this is a copy of the build command generated by apples build-script, when building swift: + #/usr/sbin/cmake -G Ninja -DCMAKE_C_COMPILER:PATH=/usr/sbin/clang -DCMAKE_CXX_COMPILER:PATH=/usr/sbin/clang++ -DCMAKE_LIBTOOL:PATH=/usr/sbin/libtool -DLLVM_VERSION_MAJOR:STRING=10 -DLLVM_VERSION_MINOR:STRING=0 -DLLVM_VERSION_PATCH:STRING=0 -DCLANG_VERSION_MAJOR:STRING=10 -DCLANG_VERSION_MINOR:STRING=0 -DCLANG_VERSION_PATCH:STRING=0 -DCMAKE_MAKE_PROGRAM=/usr/sbin/ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/ -DCMAKE_IGNORE_PATH=/usr/include/bits + + CXX=clang++ CC=clang cmake ../${_basename} -G Ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/ + ninja +} + +package() { + cd build + DESTDIR="${pkgdir}" ninja install +} + +# vim:set ts=2 sw=2 et: |