2020-01-13 19:12:43 +00:00
|
|
|
# Maintainer: Dan Printzell <arch@vild.io>
|
2018-12-07 03:48:54 +00:00
|
|
|
# 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')
|
2020-11-11 20:31:20 +00:00
|
|
|
pkgver=1.24.0
|
|
|
|
_pkgcommit=7b306c5ed148e39bcbd7143ca32416afe1a9ee5f
|
2020-11-11 20:43:57 +00:00
|
|
|
_dversion=2.094.1
|
2021-02-19 13:07:02 +00:00
|
|
|
_clangversion=11.1.0 # related to where ldc2 looks for compiler-rt sanitizers
|
2018-12-07 03:48:54 +00:00
|
|
|
epoch=2
|
2021-02-19 13:07:02 +00:00
|
|
|
pkgrel=4
|
2018-12-07 03:48:54 +00:00
|
|
|
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')
|
2019-04-13 17:51:18 +00:00
|
|
|
makedepends=('git' 'cmake' 'llvm' 'ldc')
|
2018-12-07 03:48:54 +00:00
|
|
|
|
|
|
|
source=(
|
|
|
|
"git+https://github.com/ldc-developers/ldc#commit=$_pkgcommit"
|
2020-04-19 16:44:48 +00:00
|
|
|
"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"
|
2021-02-19 13:07:02 +00:00
|
|
|
"llvm-11.1.0.patch"
|
2018-12-07 03:48:54 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
sha256sums=('SKIP'
|
|
|
|
'SKIP'
|
|
|
|
'SKIP'
|
2021-02-19 13:07:02 +00:00
|
|
|
'SKIP'
|
|
|
|
'a26958fbfb958d055d02db4695ace6ce225f42e218a9bcb6e17452e06a717550')
|
2018-12-07 03:48:54 +00:00
|
|
|
|
|
|
|
prepare() {
|
|
|
|
cd "$srcdir/ldc"
|
|
|
|
|
|
|
|
git submodule init
|
2020-04-19 16:44:48 +00:00
|
|
|
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"
|
2018-12-07 03:48:54 +00:00
|
|
|
git submodule update
|
|
|
|
|
|
|
|
# Set version used for path construction in getFullClangCompilerRTLibPath()
|
|
|
|
sed -i "s/ldc::llvm_version_base/\"$_clangversion\"/" driver/linker-gcc.cpp
|
2021-02-19 13:07:02 +00:00
|
|
|
|
|
|
|
# Fix build with LLVM 11.1.0
|
|
|
|
patch -Np1 -d runtime/druntime <../llvm-11.1.0.patch
|
|
|
|
cp -v tools/ldc-profdata/llvm-profdata-11.{0,1}.cpp
|
2018-12-07 03:48:54 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
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" \
|
2019-04-13 17:51:18 +00:00
|
|
|
-DADDITIONAL_DEFAULT_LDC_SWITCHES="\"-link-defaultlib-shared\"" \
|
2018-12-07 03:48:54 +00:00
|
|
|
..
|
|
|
|
make
|
|
|
|
}
|
|
|
|
|
|
|
|
check() {
|
|
|
|
cd "$srcdir/ldc/build"
|
|
|
|
make all-test-runners
|
|
|
|
}
|
|
|
|
|
|
|
|
package_ldc() {
|
2019-04-13 17:51:18 +00:00
|
|
|
depends=('liblphobos' 'llvm-libs' 'gcc' 'compiler-rt')
|
2018-12-07 03:48:54 +00:00
|
|
|
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')
|
2020-11-10 18:48:13 +00:00
|
|
|
depends=('curl' 'llvm-libs')
|
2020-12-26 04:18:53 +00:00
|
|
|
options=('staticlibs' '!strip')
|
2018-12-07 03:48:54 +00:00
|
|
|
|
|
|
|
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"
|
|
|
|
}
|