[arch-commits] Commit in ldc/repos (3 files)

Evangelos Foutras foutrelis at archlinux.org
Thu Mar 28 10:44:44 UTC 2019


    Date: Thursday, March 28, 2019 @ 10:44:44
  Author: foutrelis
Revision: 445249

archrelease: copy trunk to community-staging-x86_64

Added:
  ldc/repos/community-staging-x86_64/
  ldc/repos/community-staging-x86_64/PKGBUILD
    (from rev 445248, ldc/trunk/PKGBUILD)
  ldc/repos/community-staging-x86_64/ldc2.conf
    (from rev 445248, ldc/trunk/ldc2.conf)

-----------+
 PKGBUILD  |  112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 ldc2.conf |   19 ++++++++++
 2 files changed, 131 insertions(+)

Copied: ldc/repos/community-staging-x86_64/PKGBUILD (from rev 445248, ldc/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2019-03-28 10:44:44 UTC (rev 445249)
@@ -0,0 +1,112 @@
+# Maintainer:
+# Contributor: Mihails Strasuns <public at dicebot.lv>
+# Contributor: Sven-Hendrik Haase <sh at lutzhaase.com>
+
+pkgname=('ldc' 'liblphobos')
+groups=('dlang' 'dlang-ldc')
+pkgver=1.14.0
+_pkgcommit=e319c790f574d630ab0b930b980cfc1120ebe1d8
+_dversion=2.084.1
+_clangversion=8.0.0 # 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' 'llvm7' '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
+
+    # 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" \
+    ..
+    make
+}
+
+check() {
+    cd "$srcdir/ldc/build"
+    make all-test-runners
+}
+
+package_ldc() {
+    depends=('liblphobos' 'llvm7-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"
+
+    # 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/community-staging-x86_64/ldc2.conf (from rev 445248, ldc/trunk/ldc2.conf)
===================================================================
--- community-staging-x86_64/ldc2.conf	                        (rev 0)
+++ community-staging-x86_64/ldc2.conf	2019-03-28 10:44:44 UTC (rev 445249)
@@ -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"
+    ];
+};


More information about the arch-commits mailing list