summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFFY002018-08-29 23:53:21 +0100
committerFFY002018-08-29 23:53:21 +0100
commitc18689642fc061c630958d6e90a91aadcf2f2a96 (patch)
treedc3079338a3d075a7b9900ca2df1c565eff011e4
parent3eaea20dd5cfa0c73d6f49abe836d27c118b8097 (diff)
downloadaur-c18689642fc061c630958d6e90a91aadcf2f2a96.tar.gz
improved build
-rw-r--r--PKGBUILD142
1 files changed, 79 insertions, 63 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 1dff4c1304fd..e0c5c02e74d8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,5 +1,5 @@
-# Maintainer: Daniel Kozak (kozzi) <kozzi11@gmail.com>
# Maintainer: Filipe LaĆ­ns (FFY00) <lains@archlinux.org>
+# Maintainer: Daniel Kozak (kozzi) <kozzi11@gmail.com>
# Contributor: Mihails Strasuns <public@dicebot.lv>
# Contributor: Moritz Maxeiner <moritz@ucworks.org>
# Contributor: Jerome Berger <jeberger@free.fr>
@@ -7,92 +7,104 @@
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Elijah Stone <elronnd@elronnd.net>
+pkgbase=gdc-git
pkgname=('gdc-git' 'libgphobos-git')
-pkgver=8.1.1+20180531
-_majorver=${pkgver:0:1}
-_islver=0.19
+pkgver=8.2.0+2.081.2
+_branch=gdc-8 # Change here! pkgver/_gccver/_d_ver will be automatically updated.
+_islver=0.19 # Change here!
+_gccver=$(curl https://raw.githubusercontent.com/D-Programming-GDC/GDC/$_branch/gcc.version)
+_d_ver=''
pkgrel=1
-arch=('i686' 'x86_64')
+arch=('x86_64' 'i686')
license=('GPL3')
url="https://github.com/D-Programming-GDC/GDC"
-makedepends=('binutils' 'git')
-source=("https://sources.archlinux.org/other/gcc/gcc-${pkgver/+/-}.tar.xz"
+pkgdesc="GCC based D compiler"
+groups=('dlang' 'dlang-dmd')
+makedepends=('git' 'gdc')
+source=("ftp://gcc.gnu.org/pub/gcc/snapshots/${_gccver#gcc-}/$_gccver.tar.xz"
"http://isl.gforge.inria.fr/isl-$_islver.tar.bz2"
'gdc::git+https://github.com/D-Programming-GDC/GDC.git'
'git+https://github.com/D-Programming-GDC/GDMD.git'
'paths.diff')
-sha512sums=('a92eb923a4368548666acfc619074c76c4f6cdc34c9348f7e7aa56656aaee0d5'
- 'd59726f34f7852a081fbd3defd1ab2136f174110fc2e0c8d10bb122173fa9ed8'
+sha512sums=('SKIP'
+ '08f4db964d9e02ec8aa9779378ed76e0ddf1d56f81f87664dbf787555ce496cdc87e836f8a51ae137f45e648c604870cce07ee45919eafb549e404afb8f27083'
'SKIP'
'SKIP'
- 'bb4219be52f61de48fc02f522220f013f12859a03c678417b03a1c8ee783d9dd')
+ '841504e9dffe718f7e5a5fbbf03299f2b51acd783d47f99894aa5d411abcc56aedfffd4b16595e3a9446f2206f9eb29cb01e235e82c211796cd24dc23c02b578')
-_libdir=usr/lib/gcc/$CHOST/${pkgver%%+*}
+pkgver() {
+ echo "$(cat gdc/gcc.version | sed -e 's|gcc-||' -e 's|-.*||')$_d_ver"
+}
prepare() {
- [[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc
- cd gcc
+ # Setup paths
+ ln -sf "$srcdir"/$_gccver "$srcdir"/gcc
+ ln -sf "$srcdir"/isl-$_islver "$srcdir"/gcc/isl
- # link isl for in-tree build
- ln -s ../isl-$_islver isl
+ # Setup gcc
+ cd "$srcdir"/gcc
- # Do not run fixincludes
- sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+ sed -i 's|\./fixinc\.sh|-c true|' gcc/Makefile.in # Do not run fixincludes
+ sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64 # Fix lib64 path
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
- # Arch Linux installs x86_64 libraries /lib
- sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
+ # Seup gdc
+ cd "$srcdir"/gdc
- # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
- sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
-
- # GDC setup
- cd $srcdir/gdc
- git checkout gdc-8-stable
- git apply $srcdir/paths.diff
+ git checkout $_branch
+ git apply "$srcdir"/paths.diff
./setup-gcc.sh ../gcc
- mkdir $srcdir/gcc-build
+ mkdir "$srcdir"/gcc-build
+
+ if [ -f gcc/d/verstr.h ]; then
+ _d_ver="+$(cat gcc/d/verstr.h | sed 's|\"||g')"
+ elif [ -f gcc/d/VERSION ]; then
+ _d_ver="+$(cat gcc/d/VERSION | sed 's|\"||g')"
+ fi
}
build() {
- cd $srcdir/gcc-build
+ cd "$srcdir"/gcc-build
# using -pipe causes spurious test-suite failures
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48565
export CFLAGS="${CFLAGS/-pipe/} -O2"
export CXXFLAGS="${CXXFLAGS/-pipe/} -O2"
- $srcdir/gcc/configure --prefix=/usr \
- --libdir=/usr/lib \
- --libexecdir=/usr/lib \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --with-bugurl=https://bugs.archlinux.org/ \
- --enable-shared \
- --enable-static \
- --enable-threads=posix \
- --enable-libmpx \
- --with-system-zlib \
- --with-isl \
- --enable-__cxa_atexit \
- --disable-libunwind-exceptions \
- --enable-clocale=gnu \
- --disable-libstdcxx-pch \
- --disable-libssp \
- --enable-gnu-unique-object \
- --enable-linker-build-id \
- --enable-plugin \
- --enable-install-libiberty \
- --with-linker-hash-style=gnu \
- --enable-gnu-indirect-function \
- --enable-default-pie \
- --disable-multilib \
- --disable-werror \
- --enable-languages=d \
- gdc_include_dir=/usr/include/dlang/gdc
-
- #--enable-lto \
- #--enable-gold \
+ "$srcdir"/gcc/configure --prefix=/usr \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --enable-languages=d \
+ --enable-shared \
+ --enable-static \
+ --enable-threads=posix \
+ --enable-libmpx \
+ --with-system-zlib \
+ --with-isl \
+ --enable-__cxa_atexit \
+ --disable-libunwind-exceptions \
+ --enable-clocale=gnu \
+ --disable-libstdcxx-pch \
+ --disable-libssp \
+ --enable-gnu-unique-object \
+ --enable-linker-build-id \
+ --enable-plugin \
+ --enable-install-libiberty \
+ --with-linker-hash-style=gnu \
+ --enable-gnu-indirect-function \
+ --disable-multilib \
+ --disable-werror \
+ --disable-bootstrap \
+ --enable-default-pie \
+ --enable-default-ssp \
+ --with-bugurl=https://bugs.archlinux.org/ \
+ --with-pkgversion="GDC ${pkgver%+*} based on D v$_d_ver built with ISL $_isl for Arch Linux"
+ gdc_include_dir=/usr/include/dlang/gdc
+
+ #--enable-gold \
make
@@ -100,24 +112,28 @@ build() {
package_gdc-git() {
depends=('gcc' 'perl' 'binutils' 'libgphobos')
- provides=('d-compiler=2.076.1')
+ provides=("d-compiler=${pkgver#*+}" 'gdc')
+ conflicts=('gdc')
pkgdesc="Compiler for D programming language which uses gcc backend"
+ _libdir=usr/lib/gcc/$CHOST/${pkgver%+*}
+
# Binaries
install -Dm 755 gcc-build/gcc/gdc "$pkgdir"/usr/bin/gdc
install -Dm 755 gcc-build/gcc/cc1d "$pkgdir"/$_libdir/cc1d
install -Dm 755 GDMD/dmd-script "$pkgdir"/usr/bin/gdmd
# Doc
- install -D -m644 $srcdir/GDMD/dmd-script.1 $pkgdir/usr/share/man/man1/gdmd.1
+ install -Dm 644 "$srcdir"/GDMD/dmd-script.1 "$pkgdir"/usr/share/man/man1/gdmd.1
}
package_libgphobos-git() {
pkgdesc="Standard library for D programming language, GDC port"
- provides=('d-runtime' 'd-stdlib')
+ provides=('d-runtime' 'd-stdlib' 'libgphobos')
+ conflicts=('libgpgobos')
options=('staticlibs')
- cd $srcdir/gcc-build
+ cd "$srcdir"/gcc-build
make -C $CHOST/libphobos DESTDIR="$pkgdir" install
}