diff options
author | WillyPillow | 2022-03-18 17:54:21 +0800 |
---|---|---|
committer | WillyPillow | 2022-03-18 18:02:01 +0800 |
commit | de9c6abfda458535ca30297a3ca41fda63dc7dea (patch) | |
tree | 7b1f3c7d21543c901078d417545e41e9640fcb0a | |
parent | ecf69e1d1822f4c569815088f21c28e104b274ca (diff) | |
download | aur-de9c6abfda458535ca30297a3ca41fda63dc7dea.tar.gz |
Initial commit.
-rw-r--r-- | .SRCINFO | 57 | ||||
-rw-r--r-- | PKGBUILD | 120 | ||||
-rw-r--r-- | libc++-msan.install | 8 |
3 files changed, 131 insertions, 54 deletions
@@ -1,24 +1,53 @@ pkgbase = libc++-msan - pkgdesc = Standard C++ library implementation from the LLVM project (Memory Sanitizer enabled) - pkgver = 3.6.0 + pkgver = 13.0.1 pkgrel = 1 - url = http://libcxx.llvm.org - install = libc++-msan.install - arch = i686 + url = https://libcxx.llvm.org/ arch = x86_64 - license = custom:University of Illinois/NCSA Open Source License + license = custom:Apache 2.0 with LLVM Exception makedepends = clang - makedepends = subversion makedepends = cmake - depends = glibc - depends = libc++abi + makedepends = llvm + makedepends = libunwind + makedepends = ninja + makedepends = python depends = gcc-libs + noextract = llvm-13.0.1.src.tar.xz + noextract = llvm-13.0.1.src.tar.xz.sig + noextract = libcxx-13.0.1.src.tar.xz + noextract = libcxx-13.0.1.src.tar.xz.sig + noextract = libcxxabi-13.0.1.src.tar.xz + noextract = libcxxabi-13.0.1.src.tar.xz.sig + options = !lto + source = https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1/llvm-13.0.1.src.tar.xz + source = https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1/llvm-13.0.1.src.tar.xz.sig + source = https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1/libcxx-13.0.1.src.tar.xz + source = https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1/libcxx-13.0.1.src.tar.xz.sig + source = https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1/libcxxabi-13.0.1.src.tar.xz + source = https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1/libcxxabi-13.0.1.src.tar.xz.sig + validpgpkeys = 474E22316ABF4785A88C6E8EA2C794A986419D8A + validpgpkeys = B6C8F98282B944E3B0D5C2530FC3042E345AD05D + sha512sums = 05fbe8708ac3d0dfef3a9135ee88185a95ed492095429a97d33b8aadb0187e59ad42d1a7184f02b5c84fdd31f3d7227c65bd292ed0aa039b29522e59cf90a965 + sha512sums = SKIP + sha512sums = 72970fbb3db44a652e89ace7843e992b4f118c978fa0fa7035bf5825cb6958cf71f7c80b56c1970977177bb3bcbf81309d4f01c29b3ac1cd057be54baf55e56f + sha512sums = SKIP + sha512sums = 1a7c032ee34643518be01edddc16b1c872f339ed2944d31573438d38a018abc801a53f3fbd97e6a3d6ee58a6ed55d9703a8531ac7290c1d6e3e5593b97186749 + sha512sums = SKIP + +pkgname = libc++-msan + pkgdesc = LLVM C++ standard library - with support for memory sanitizers. + depends = libc++abi-msan=13.0.1-1 provides = libc++ conflicts = libc++ - options = debug - options = !strip - source = http://www.llvm.org/releases/3.6.0/libcxx-3.6.0.src.tar.xz - md5sums = 5d4a2ff4e2023eaa3f2025e26274d504 + options = staticlibs -pkgname = libc++-msan +pkgname = libc++abi-msan + pkgdesc = Low level support for the LLVM C++ standard library - with support for memory sanitizers. + provides = libc++abi + conflicts = libc++abi + options = staticlibs +pkgname = libc++experimental-msan + pkgdesc = LLVM C++ experimental library - with support for memory sanitizers. + depends = libc++-msan=13.0.1-1 + provides = libc++experimental + conflicts = libc++experimental @@ -1,37 +1,93 @@ -# $Id$ -# Maintainer: Andrew Nelless <andrew@nelless.net> -# Contributor: Daniel Micay <danielmicay@gmail.com> -# Contributor: MThinkCpp <mtc.maintainer[at]outlook.com> -pkgname=libc++-msan -pkgver=3.6.2 -pkgrel=1 -pkgdesc='Standard C++ library implementation from the LLVM project (Memory Sanitizer enabled)' -url='http://libcxx.llvm.org' -license=('custom:University of Illinois/NCSA Open Source License') -arch=('i686' 'x86_64') -# gcc-libs needed for libgcc_s, because Arch doesn't use a pure compiler-rt clang -depends=('glibc' 'libc++abi' 'gcc-libs') -makedepends=('clang' 'cmake') -provides=('libc++') -conflicts=('libc++') -source=("http://www.llvm.org/releases/$pkgver/libcxx-${pkgver}.src.tar.xz") -md5sums=('22214c90697636ef960a49aef7c1823a') -options=('debug' '!strip') -install=${pkgname}.install +# Maintainer: William Huang <wp /at/ nerde /period/ pw> +# Maintener: Anatol Pomozov +# Contributor: Llewelyn Trahaearn <woefulderelict [at] gmail [dot] com> +# Contributor: Daniel Micay <danielmicay [at] gmail [dot] com> +# Contributor: MThinkCpp <mtc [dot] maintainer [at] outlook [dot] com> +pkgbase=libc++-msan +pkgname=(libc++-msan libc++abi-msan libc++experimental-msan) +pkgver=13.0.1 +pkgrel=1 +url="https://libcxx.llvm.org/" +license=('custom:Apache 2.0 with LLVM Exception') +arch=('x86_64') +depends=('gcc-libs') +makedepends=('clang' 'cmake' 'llvm' 'libunwind' 'ninja' 'python') +options=(!lto) +source=("https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/llvm-$pkgver.src.tar.xz"{,.sig} + "https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/libcxx-$pkgver.src.tar.xz"{,.sig} + "https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/libcxxabi-$pkgver.src.tar.xz"{,.sig}) +noextract=("${source[@]##*/}") +sha512sums=('05fbe8708ac3d0dfef3a9135ee88185a95ed492095429a97d33b8aadb0187e59ad42d1a7184f02b5c84fdd31f3d7227c65bd292ed0aa039b29522e59cf90a965' + 'SKIP' + '72970fbb3db44a652e89ace7843e992b4f118c978fa0fa7035bf5825cb6958cf71f7c80b56c1970977177bb3bcbf81309d4f01c29b3ac1cd057be54baf55e56f' + 'SKIP' + '1a7c032ee34643518be01edddc16b1c872f339ed2944d31573438d38a018abc801a53f3fbd97e6a3d6ee58a6ed55d9703a8531ac7290c1d6e3e5593b97186749' + 'SKIP') +validpgpkeys=('474E22316ABF4785A88C6E8EA2C794A986419D8A' # Tom Stellard <tstellar@redhat.com> (.1 releases) + 'B6C8F98282B944E3B0D5C2530FC3042E345AD05D') # Hans Wennborg <hans@chromium.org> (.0 releases) + +prepare() { + mkdir -p build llvm/projects/libcxx llvm/projects/libcxxabi + bsdtar --strip-components 1 -zxf "${source[0]##*/}" -C llvm + bsdtar --strip-components 1 -zxf "${source[2]##*/}" -C llvm/projects/libcxx + bsdtar --strip-components 1 -zxf "${source[4]##*/}" -C llvm/projects/libcxxabi + sed -i 's/CREDITS.TXT/CREDITS/' llvm/projects/libcxx/LICENSE.TXT llvm/projects/libcxxabi/LICENSE.TXT +} + build() { - mkdir -p libcxx-${pkgver}.src/build - cd libcxx-${pkgver}.src/build - CXXFLAGS="-Qunused-arguments" CFLAGS="-Qunused-arguments" \ - cmake -G "Unix Makefiles" -DLIBCXX_CXX_ABI=libcxxabi \ - -DLIBCXX_LIBCXXABI_INCLUDE_PATHS=/usr/include/cxxabi \ - -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \ + cd build + + cmake \ + -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_C_COMPILER=clang \ + -DCMAKE_CXX_COMPILER=clang++ \ + -DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=NO \ -DLLVM_USE_SANITIZER=MemoryWithOrigins \ - -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr "$srcdir/libcxx-${pkgver}.src" - make + "$srcdir"/llvm + ninja cxx cxx_experimental +} + +# Enabling MSAN seems to break the tests? +# check() { +# ninja -C build check-cxx check-cxxabi +# } + +# Do not remove the space before the () or commitpkg will +# accidentally to run this function on the system (!!!) +package_libc++-msan () { + pkgdesc='LLVM C++ standard library - with support for memory sanitizers.' + depends=("libc++abi-msan=$pkgver-$pkgrel") + provides=('libc++') + conflicts=('libc++') + options=('staticlibs') + + DESTDIR="$pkgdir" ninja -C build install-cxx + + install -Dm0644 "$srcdir"/llvm/projects/libcxx/CREDITS.TXT "$pkgdir"/usr/share/licenses/"$pkgname"/CREDITS + install -Dm0644 "$srcdir"/llvm/projects/libcxx/LICENSE.TXT "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE +} + +package_libc++abi-msan() { + pkgdesc='Low level support for the LLVM C++ standard library - with support for memory sanitizers.' + options=('staticlibs') + provides=('libc++abi') + conflicts=('libc++abi') + + DESTDIR="$pkgdir" ninja -C build install-cxxabi + install -Dm0644 "$srcdir"/llvm/projects/libcxxabi/CREDITS.TXT "$pkgdir"/usr/share/licenses/"$pkgname"/CREDITS + install -Dm0644 "$srcdir"/llvm/projects/libcxxabi/LICENSE.TXT "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE } -package() { - install -Dm644 libcxx-${pkgver}.src/LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/license.txt" - cd libcxx-${pkgver}.src/build - make DESTDIR="$pkgdir" install + +package_libc++experimental-msan() { + depends=("libc++-msan=$pkgver-$pkgrel") + pkgdesc='LLVM C++ experimental library - with support for memory sanitizers.' + provides=('libc++experimental') + conflicts=('libc++experimental') + + install -Dm0644 -t "$pkgdir"/usr/lib/ build/lib/libc++experimental.a + install -Dm0644 llvm/projects/libcxx/CREDITS.TXT "$pkgdir"/usr/share/licenses/"$pkgname"/CREDITS + install -Dm0644 llvm/projects/libcxx/LICENSE.TXT "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE } diff --git a/libc++-msan.install b/libc++-msan.install deleted file mode 100644 index 608ace2114ec..000000000000 --- a/libc++-msan.install +++ /dev/null @@ -1,8 +0,0 @@ -post_install() { - echo compile with \`clang++ -std=c++11 -stdlib=libc++ -fsanitize=memory -lc++abi\` to use libc++-msan - echo "see http://clang.llvm.org/docs/MemorySanitizer.html for further instructions" -} - -post_upgrade() { - post_install -} |