mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
added community/ldc
This commit is contained in:
parent
b72f57154e
commit
4bd4b710ef
2 changed files with 137 additions and 0 deletions
118
community/ldc/PKGBUILD
Normal file
118
community/ldc/PKGBUILD
Normal file
|
@ -0,0 +1,118 @@
|
|||
# Maintainer:
|
||||
# Contributor: Mihails Strasuns <public@dicebot.lv>
|
||||
# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
|
||||
|
||||
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
||||
# - -DBUILD_LTO_LIBS=OFF
|
||||
# - removed "-linker=gold -flto=full" from -DD_COMPILER_FLAGS
|
||||
|
||||
buildarch=12
|
||||
|
||||
pkgname=('ldc' 'liblphobos')
|
||||
groups=('dlang' 'dlang-ldc')
|
||||
pkgver=1.12.0
|
||||
_pkgcommit=d51f23400a0e4ab6e444b80fefa77baa05c3ed42
|
||||
_dversion=2.082.1
|
||||
_clangversion=7.0.0 # related to where ldc2 looks for compiler-rt sanitizers
|
||||
epoch=2
|
||||
pkgrel=1
|
||||
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
|
||||
|
||||
# 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=OFF \
|
||||
-DLDC_WITH_LLD=OFF \
|
||||
-DD_COMPILER_FLAGS="-link-defaultlib-shared=false" \
|
||||
..
|
||||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "$srcdir/ldc/build"
|
||||
make all-test-runners
|
||||
}
|
||||
|
||||
package_ldc() {
|
||||
depends=('liblphobos' 'llvm-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"
|
||||
}
|
19
community/ldc/ldc2.conf
Normal file
19
community/ldc/ldc2.conf
Normal file
|
@ -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"
|
||||
];
|
||||
};
|
Loading…
Reference in a new issue