[arch-commits] Commit in ldc/repos (2 files)
Evangelos Foutras
foutrelis at archlinux.org
Mon Apr 13 02:17:28 UTC 2020
Date: Monday, April 13, 2020 @ 02:17:28
Author: foutrelis
Revision: 613495
archrelease: copy trunk to community-staging-x86_64
Added:
ldc/repos/community-staging-x86_64/
ldc/repos/community-staging-x86_64/PKGBUILD
(from rev 613494, ldc/trunk/PKGBUILD)
----------+
PKGBUILD | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 108 insertions(+)
Copied: ldc/repos/community-staging-x86_64/PKGBUILD (from rev 613494, ldc/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD (rev 0)
+++ community-staging-x86_64/PKGBUILD 2020-04-13 02:17:28 UTC (rev 613495)
@@ -0,0 +1,108 @@
+# Maintainer: Dan Printzell <arch at vild.io>
+# Contributor: Mihails Strasuns <public at dicebot.lv>
+# Contributor: Sven-Hendrik Haase <sh at lutzhaase.com>
+
+pkgname=('ldc' 'liblphobos')
+groups=('dlang' 'dlang-ldc')
+pkgver=1.20.1
+_pkgcommit=96437a25c28a2a6fbeb36dc6a46b600e56021051
+_dversion=2.090.1
+_clangversion=9.0.1 # related to where ldc2 looks for compiler-rt sanitizers
+epoch=2
+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' 'llvm9' 'ldc')
+
+source=(
+ "git+https://github.com/ldc-developers/ldc#commit=$_pkgcommit"
+ "ldc-druntime::git+https://github.com/ldc-developers/druntime.git"
+ "ldc-phobos::git+https://github.com/ldc-developers/phobos.git"
+ "ldc-testsuite::git+https://github.com/ldc-developers/dmd-testsuite.git"
+)
+
+sha256sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP')
+
+prepare() {
+ cd "$srcdir/ldc"
+
+ git submodule init
+ git config submodule.druntime.url "$srcdir/ldc-druntime"
+ git config submodule.phobos.url "$srcdir/ldc-phobos"
+ git config submodule.tests/d2/dmd-testsuite.url "$srcdir/ldc-testsuite"
+ git submodule update
+
+ # Set version used for path construction in getFullClangCompilerRTLibPath()
+ sed -i "s/ldc::llvm_version_base/\"$_clangversion\"/" 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 \
+ -DBUILD_LTO_LIBS=ON \
+ -DLDC_WITH_LLD=OFF \
+ -DD_COMPILER_FLAGS="-link-defaultlib-shared=false -linker=gold -flto=full" \
+ -DADDITIONAL_DEFAULT_LDC_SWITCHES="\"-link-defaultlib-shared\"" \
+ ..
+ make
+}
+
+check() {
+ cd "$srcdir/ldc/build"
+ make all-test-runners
+}
+
+package_ldc() {
+ depends=('liblphobos' 'llvm9-libs' 'gcc' 'compiler-rt')
+ 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"
+}
+
+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"
+}
More information about the arch-commits
mailing list