diff options
| author | Jakub Jirutka <jakub@jirutka.cz> | 2017-04-08 20:43:36 +0200 |
|---|---|---|
| committer | Jakub Jirutka <jakub@jirutka.cz> | 2017-04-09 15:41:28 +0200 |
| commit | 2e440a2067add072c4c1936e9496b06b1b403b4c (patch) | |
| tree | 8a60b292a793109b3992f5de0c8d740d382d8ddf /testing/rust/APKBUILD | |
| parent | 4147e840f62c20b8a776601cca54fd61fe86899c (diff) | |
| download | aports-2e440a2067add072c4c1936e9496b06b1b403b4c.tar.bz2 aports-2e440a2067add072c4c1936e9496b06b1b403b4c.tar.xz | |
testing/rust: remove duplicated libs and move only *.rlib to -stdlib
Diffstat (limited to 'testing/rust/APKBUILD')
| -rw-r--r-- | testing/rust/APKBUILD | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/testing/rust/APKBUILD b/testing/rust/APKBUILD index 0bade65b02..3ae2222d33 100644 --- a/testing/rust/APKBUILD +++ b/testing/rust/APKBUILD @@ -13,7 +13,7 @@ license="ASL-2.0 BSD ISC MIT" # gcc is needed at runtime just for linking. Someday rustc might invoke # the linker directly, and then we'll only need binutils. # See: https://github.com/rust-lang/rust/issues/11937 -depends="$pkgname-stdlib gcc" +depends="$pkgname-stdlib=$pkgver-r$pkgrel gcc" # libffi-dev is needed just because we compile llvm with LLVM_ENABLE_FFI. makedepends="cmake file libffi-dev libunwind-dev llvm llvm-dev musl-dev python2 tar zlib-dev" @@ -34,15 +34,19 @@ source="https://static.rust-lang.org/dist/rustc-$pkgver-src.tar.gz fix-linux_musl_base.patch llvm-with-ffi.patch move-py-scripts-to-share.patch + change-rpath-to-rustlib.patch " # TODO: strip gently (see Fedora pkg for inspiration) options="!strip !check" builddir="$srcdir/rustc-$pkgver-src" _ctarget="$CARCH-unknown-linux-musl" +_rlibdir="usr/lib/rustlib/$_ctarget/lib" _sharedir="usr/share/rust" _stage0dir="$srcdir/stage0" +ldpath="/$_rlibdir" + prepare() { default_prepare @@ -87,8 +91,7 @@ build() { --enable-vendor \ --enable-llvm-link-shared \ --disable-docs \ - --disable-jemalloc \ - --disable-rpath + --disable-jemalloc # Set LD_LIBRARY_PATH, so rustc in stage0 can find correct libs. make \ @@ -107,9 +110,6 @@ check() { VERBOSE=1 } -# XXX: so libs doesn't have stable ABI, so they should not be registered as -# provided dependencies. The problem is that abuild doesn't provide an option -# to disable it without completely disabling dependencies tracking. package() { cd "$builddir" @@ -119,13 +119,18 @@ package() { cd "$pkgdir" - # so libs should have executable flag. - chmod +x usr/lib/*.so + # These libraries are identical to those under rustlib/. Since we have + # linked rustc/rustdoc against those under rustlib/, we can remove + # them. Read change-rpath-to-rustlib.patch for more info. + rm -r usr/lib/*.so + + # Shared objects should have executable flag. + chmod +x $_rlibdir/*.so # Python scripts are noarch, so move them to /usr/share. # Requires move-py-scripts-to-share.patch to be applied. _mv usr/lib/rustlib/etc/*.py $_sharedir/etc/ - rmdir -p usr/lib/rustlib/etc || true + rmdir -p usr/lib/rustlib/etc 2>/dev/null || true # Remove some clutter. cd usr/lib/rustlib @@ -133,10 +138,9 @@ package() { } stdlib() { - pkgdesc="The Rust Programming Language (stdlib)" - depends="$pkgname" + pkgdesc="Standard library for Rust (static rlibs)" - _mv "$pkgdir"/usr/lib/rustlib "$subpkgdir"/usr/lib/ + _mv "$pkgdir"/$_rlibdir/*.rlib "$subpkgdir"/$_rlibdir/ } gdb() { @@ -177,4 +181,5 @@ a87ffe129debcb9fa958c6d007ffa4a87927890030e0694ee5ab1929ea0c5a48dad86b4e8b71550d 541aac679dfdbe5383f884e0493462dd33908308c7b294170b24339d6b9c1e723088c80764125116f24707a67eeeedadceaa9628ca6d2b8c7d0ca9253bf62135 static-pie.patch f436fddf7ab70ca5f1424081f5b75450270b200b3d997231323863e11addf76e1d65831a7ca09e3a5b7904ce828766c1f70b08326a175890298f28e5bc8646ef fix-linux_musl_base.patch 37416e1fa0bc0c8651cd060a645d6245ff7e2082279ab5e13495c5ee412c71915469019cfbec95a0fd9a7fc144475079a3ad16f0eba7a2f5c8dd99e0002f3225 llvm-with-ffi.patch -19cc2725d68db3e359e0e3016028374e5818a97fdba24d0103f7d1706601c8b17c4dd95a3152e64f982f98e95ad3e949acddbea8a39ed0ba8dd4f702acc2704d move-py-scripts-to-share.patch" +19cc2725d68db3e359e0e3016028374e5818a97fdba24d0103f7d1706601c8b17c4dd95a3152e64f982f98e95ad3e949acddbea8a39ed0ba8dd4f702acc2704d move-py-scripts-to-share.patch +8d6206f8c50856724cf7b4c1854ec82547f040358a1c7d44abeacc27a5c205a963b1fec51e58ec06c68d85bd2f68a9e6e27ebe457f39e8dd043de17758f5063f change-rpath-to-rustlib.patch" |
