Date: Sunday, March 18, 2018 @ 14:23:17 Author: wild Revision: 309046
archrelease: copy trunk to staging-x86_64 Added: ldc/repos/staging-x86_64/ ldc/repos/staging-x86_64/PKGBUILD (from rev 309045, ldc/trunk/PKGBUILD) ldc/repos/staging-x86_64/ldc2.conf (from rev 309045, ldc/trunk/ldc2.conf) -----------+ PKGBUILD | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ldc2.conf | 19 ++++++++++ 2 files changed, 130 insertions(+) Copied: ldc/repos/staging-x86_64/PKGBUILD (from rev 309045, ldc/trunk/PKGBUILD) =================================================================== --- staging-x86_64/PKGBUILD (rev 0) +++ staging-x86_64/PKGBUILD 2018-03-18 14:23:17 UTC (rev 309046) @@ -0,0 +1,111 @@ +# $Id$ +# Maintainer: +# Contributor: Mihails Strasuns <pub...@dicebot.lv> +# Contributor: Sven-Hendrik Haase <s...@lutzhaase.com> + +pkgname=('ldc' 'liblphobos') +groups=('dlang' 'dlang-ldc') +pkgver=1.8.0 +_pkgcommit=df860d03c918f6988370d48f89c61c27ebbede74 +_dversion=2.078.3 +_llvmversion=6.0.0 +epoch=1 +pkgrel=2 +pkgdesc="A D Compiler based on the LLVM Compiler Infrastructure including D runtime and libphobos2" +arch=('x86_64') +url="https://github.com/ldc-developers/ldc" +license=('BSD') +makedepends=('git' 'cmake' 'llvm' 'ldc') + +source=( + "git+https://github.com/ldc-developers/ldc#commit=$_pkgcommit" + "git+https://github.com/ldc-developers/druntime.git" + "git+https://github.com/ldc-developers/phobos.git" + "git+https://github.com/ldc-developers/dmd-testsuite.git" + "ldc2.conf" +) + +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + '55ba34319db861a761797ac0075b0b1f5f4d37a243075aedb628aeedc77cc9d6') + +prepare() { + cd "$srcdir/ldc" + + git submodule init + git config submodule.druntime.url "$srcdir/druntime" + git config submodule.phobos.url "$srcdir/phobos" + git config submodule.tests/d2/dmd-testsuite.url "$srcdir/dmd-testsuite" + git submodule update + + # libclang_rt* -> clang/_llvmversion/lib/linux/libclang_rt* + sed -i "s/libclang_rt/clang\/$_llvmversion\/lib\/linux\/&/g" driver/linker-gcc.cpp +} + +build() { + cd "$srcdir/ldc" + + mkdir -p build && cd build + + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DINCLUDE_INSTALL_DIR=/usr/include/dlang/ldc \ + -DBUILD_SHARED_LIBS=BOTH \ + -DLDC_WITH_LLD=OFF \ + .. + make +} + +check() { + cd "$srcdir/ldc/build" + make all-test-runners +} + +package_ldc() { + depends=('liblphobos' 'llvm-libs' 'llvm' 'clang') + backup=('etc/ldc2.conf') + provides=("d-compiler=$_dversion") + + cd "$srcdir/ldc/build" + make install DESTDIR="$pkgdir" + + # move bash-completion + mkdir -p "$pkgdir/usr/share/bash-completion/completions/" + mv "$pkgdir/etc/bash_completion.d/ldc2" "$pkgdir/usr/share/bash-completion/completions/" + rm -rf "$pkgdir/etc/bash_completion.d" + + # remove liblphobos files + rm -rf "$pkgdir/usr/include" + rm -rf "$pkgdir/usr/lib" + + # symlinks + ln -s /usr/share/bash-completion/completions/ldc2 "$pkgdir/usr/share/bash-completion/completions/ldc" + ln -s /usr/bin/ldc2 "$pkgdir/usr/bin/ldc" + ln -s /usr/bin/ldmd2 "$pkgdir/usr/bin/ldmd" + + # licenses + install -D -m644 "$srcdir/ldc/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + # default configuration files + install -D -m644 "$srcdir/ldc2.conf" "$pkgdir/etc/ldc2.conf" +} + +package_liblphobos() { + provides=('d-runtime' 'd-stdlib') + depends=('curl') + options=('staticlibs') + + cd "$srcdir/ldc/build" + make install DESTDIR="$pkgdir" + + # remove ldc files + rm -rf "$pkgdir/usr/bin/" + rm -rf "$pkgdir/etc/" + + # licenses + install -D -m644 "$srcdir/ldc/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} Copied: ldc/repos/staging-x86_64/ldc2.conf (from rev 309045, ldc/trunk/ldc2.conf) =================================================================== --- staging-x86_64/ldc2.conf (rev 0) +++ staging-x86_64/ldc2.conf 2018-03-18 14:23:17 UTC (rev 309046) @@ -0,0 +1,19 @@ +// See comments in driver/config.d in ldc source tree for grammar description of +// this config file. + +// The default group is required +default: +{ + // default switches injected before all explicit command-line switches + switches = [ + "-I/usr/include/dlang/ldc/ldc", + "-I/usr/include/dlang/ldc", + "-L--no-warn-search-mismatch", + "-defaultlib=phobos2-ldc,druntime-ldc", + "-link-defaultlib-shared" + ]; + // default switches appended after all explicit command-line switches + post-switches = [ + "-L-L/usr/lib" + ]; +};