diff options
author | FFY00 | 2018-08-27 16:49:30 +0100 |
---|---|---|
committer | FFY00 | 2018-08-27 16:49:30 +0100 |
commit | d3ca46ab27af32101514cf392fa2f1b617cce679 (patch) | |
tree | 01919277b8383ae0de065ce8e3d6937c5bf86776 | |
parent | 5362b0f840f6c02577ca7c59a8ab43a27eda0b9d (diff) | |
download | aur-d3ca46ab27af32101514cf392fa2f1b617cce679.tar.gz |
use Daniel's pkgbuild
-rw-r--r-- | PKGBUILD | 196 | ||||
-rw-r--r-- | paths.diff | 39 |
2 files changed, 140 insertions, 95 deletions
@@ -1,118 +1,124 @@ -# Maintainer: Moritz Maxeiner <moritz@ucworks.org> - +# Maintainer: Daniel Kozak (kozzi) <kozzi11@gmail.com> +# Maintainer: Filipe LaĆns (FFY00) <lains@archlinux.org> # Contributor: Mihails Strasuns <public@dicebot.lv> +# Contributor: Moritz Maxeiner <moritz@ucworks.org> # Contributor: Jerome Berger <jeberger@free.fr> # Contributor: Jesus Alvarez <jeezusjr@gmail.com> - -pkgname=gdc-git -_gitname=gdc -_gccver=4.9 -#_gccsnapshot=20131027 -_gccsnapshot=20140416 -pkgver=4.9.20140416.1325.3209d01 +# Contributor: Allan McRae <allan@archlinux.org> +# Contributor: Elijah Stone <elronnd@elronnd.net> +# Contributor: Daniel Kozak <kozzi11@gmail.com> + +pkgname=('gdc' 'libgphobos') +pkgver=8.1.1+20180531 +_majorver=${pkgver:0:1} +_islver=0.19 pkgrel=1 -pkgdesc="GDC, The D Programming Language (D2) frontend for GCC. GIT master branch compiled with GCC trunk snapshot." arch=('i686' 'x86_64') +license=('GPL3') url="https://github.com/D-Programming-GDC/GDC" -license=('GPL') -provides=('gdc' 'd-compiler' 'd-runtime' 'd-stdlib') -depends=('perl' 'libmpc' 'cloog') -makedepends=('binutils>=2.22' 'git') -groups=('dlang' 'dlang-gdc') -conflicts=('gdc1-bin' 'gdc1-hg' 'gdc') -options=('!libtool' '!emptydirs' '!buildflags') -source=(ftp://gcc.gnu.org/pub/gcc/snapshots/${_gccver}-${_gccsnapshot}/gcc-${_gccver}-${_gccsnapshot}.tar.bz2 - ${_gitname}.tar.gz::git://github.com/D-Programming-GDC/GDC.git - folders.diff) - -pkgver() -{ - cd "${srcdir}"/${_gitname} - echo ${_gccver}.${_gccsnapshot}.$(git rev-list --count HEAD).$(git rev-parse --short HEAD) -} +makedepends=('binutils' 'git') +source=("https://sources.archlinux.org/other/gcc/gcc-${pkgver/+/-}.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' + 'SKIP' + 'SKIP' + 'bb4219be52f61de48fc02f522220f013f12859a03c678417b03a1c8ee783d9dd') + +_libdir=usr/lib/gcc/$CHOST/${pkgver%%+*} -prepare() -{ - cd "${srcdir}"/gcc-${_gccver}-${_gccsnapshot} +prepare() { + [[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc + cd gcc + + # link isl for in-tree build + ln -s ../isl-$_islver isl # Do not run fixincludes sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in - # Arch Linux installs x86_64 libraries in /lib - [[ $CARCH == "x86_64" ]] && sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64 + # Arch Linux installs x86_64 libraries /lib + sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64 # hack! - some configure tests for header files using "$CPP $CPPFLAGS" sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure - cd "${srcdir}"/${_gitname} - git apply "$srcdir"/folders.diff # fix gdc_include_path - ./setup-gcc.sh ../gcc-${_gccver}-${_gccsnapshot} + # GDC setup + cd $srcdir/gdc + git checkout gdc-8-stable + git apply $srcdir/paths.diff + ./setup-gcc.sh ../gcc - mkdir "${srcdir}"/gcc-build + mkdir $srcdir/gcc-build } -build() -{ - cd "${srcdir}"/gcc-build - - "${srcdir}"/gcc-${_gccver}-${_gccsnapshot}/configure --prefix=/usr \ - --libdir=/usr/lib --libexecdir=/usr/lib \ - --mandir=/usr/share/man --infodir=/usr/share/info \ - --with-bugurl=https://bugs.archlinux.org/ \ - --enable-languages=d \ - --enable-shared --enable-threads=posix \ - --with-system-zlib --enable-__cxa_atexit \ - --disable-libunwind-exceptions --enable-clocale=gnu \ - --disable-libstdcxx-pch \ - --enable-gnu-unique-object --enable-linker-build-id \ - --enable-cloog-backend=isl --disable-cloog-version-check \ - --enable-lto --enable-gold --enable-ld=default \ - --enable-plugin --with-plugin-ld=ld.gold \ - --with-linker-hash-style=gnu --disable-install-libiberty \ - --disable-multilib --disable-libssp --disable-werror \ - --disable-nls --disable-bootstrap \ - --disable-libgomp --disable-libmudflap --disable-libquadmath +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 \ + make } -package() -{ - #cd "${srcdir}"/gcc-build - - # Easier to just do a full install and remove the excess later - #make DESTDIR=${pkgdir} install - - # Delete all the stuff we don't need - # rm -rf ${pkgdir}/usr/lib/gcc/${CHOST}/${_gccver}-${_gccsnapshot}/{*.a,*.so*,lto-wrapper,lto1,plugin*} - # rm -rf ${pkgdir}/usr/lib/gcc/${CHOST}/${_gccver}-${_gccsnapshot}/{crt*,cc1,collect2,include*,install*} - #rm -rf ${pkgdir}/usr/share/info - #rm -rf ${pkgdir}/usr/lib/{libgcc*,libiberty*,libitm*,libstdc++*,libsupc++*,libasan*,libtsan*} - #rm -rf ${pkgdir}/usr/share/man/man1/{cpp,gc,g++}* - #rm -rf ${pkgdir}/usr/share/man/man7/{fsf,gfdl,gpl}* - #rm -rf ${pkgdir}/usr/bin/{gcc,gcov,cpp,${CHOST}-gcc,${CHOST}-gcc-${_gccver}-${_gccsnapshot},c++,g++,${CHOST}-c++,${CHOST}-g++} - #rm -rf ${pkgdir}/usr/bin/{gcc-ar,gcc-nm,gcc-ranlib,${CHOST}-gcc-ar,${CHOST}-gcc-nm,${CHOST}-gcc-ranlib} - - # Fix permissions - #chmod 644 ${pkgdir}/usr/lib/* - #chmod 755 ${pkgdir}/usr/lib/gcc - - # gdc - install -D -m755 "${srcdir}"/gcc-build/gcc/gdc "${pkgdir}"/usr/bin/gdc - install -D -m755 "${srcdir}"/gcc-build/gcc/cc1d "${pkgdir}"/usr/lib/gcc/${CHOST}/${_gccver}/cc1d - - # druntime - install -D "${srcdir}"/gdc/libphobos/libdruntime/object.di "${pkgdir}"/usr/include/dlang/gdc/${pkgver}/object.di - cp -r "${srcdir}"/gdc/libphobos/libdruntime/core "${pkgdir}"/usr/include/dlang/gdc/${pkgver}/core - cp -r "${srcdir}"/gdc/libphobos/libdruntime/gcc "${pkgdir}"/usr/include/dlang/gdc/${pkgver}/gcc - - # phobos - cp "${srcdir}"/gdc/libphobos/src/crc32.d "${pkgdir}"/usr/include/dlang/gdc/${pkgver}/crc32.d - cp -r "${srcdir}"/gdc/libphobos/src/std "${pkgdir}"/usr/include/dlang/gdc/${pkgver}/std - cp -r "${srcdir}"/gdc/libphobos/src/etc "${pkgdir}"/usr/include/dlang/gdc/${pkgver}/etc - - install -D -m644 "${srcdir}"/gcc-build/${CHOST}/libphobos/src/libgphobos2.a "${pkgdir}"/usr/lib/libgphobos2.a +package_gdc-git() { + depends=('gcc' 'perl' 'binutils' 'libgphobos') + provides=('d-compiler=2.076.1') + pkgdesc="Compiler for D programming language which uses gcc backend" + + # 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 +} + + +package_libgphobos-git() { + pkgdesc="Standard library for D programming language, GDC port" + provides=('d-runtime' 'd-stdlib') + options=('staticlibs') + + cd $srcdir/gcc-build + make -C $CHOST/libphobos DESTDIR="$pkgdir" install } -sha256sums=('a1bac4e9fe8d8eca0c70fe22374e34abecd138dfc49130b01d73133f68b03b48' - 'SKIP' - '82f1ba0825164a74660bd5008d8f3acae1bacc3271c86475efc1601fe0da73c4') diff --git a/paths.diff b/paths.diff new file mode 100644 index 000000000000..e367bbe0a814 --- /dev/null +++ b/paths.diff @@ -0,0 +1,39 @@ +diff --git a/gcc/d/d-incpath.cc b/gcc/d/d-incpath.cc +index e6cc314c..2618f571 100644 +--- a/gcc/d/d-incpath.cc ++++ b/gcc/d/d-incpath.cc +@@ -140,7 +140,7 @@ add_import_paths (const char *iprefix, const char *imultilib, bool stdinc) + path = xstrdup (p->fname); + + /* Add D-specific suffix. */ +- path = concat (path, "/d", NULL); ++ path = concat (path, "/dlang/gdc", NULL); + + /* Ignore duplicate entries. */ + bool found = false; +diff --git a/libphobos/configure b/libphobos/configure +index 3fdd8dfd..ac6d77a5 100755 +--- a/libphobos/configure ++++ b/libphobos/configure +@@ -14547,7 +14547,7 @@ fi + + + # Default case for install directory for D sources files. +- gdc_include_dir='$(libdir)/gcc/${target_alias}/${gcc_version}/include/d' ++ gdc_include_dir='/usr/include/dlang/gdc/' + + + +diff --git a/libphobos/m4/druntime.m4 b/libphobos/m4/druntime.m4 +index 93f01efc..6049eaf9 100644 +--- a/libphobos/m4/druntime.m4 ++++ b/libphobos/m4/druntime.m4 +@@ -97,7 +97,7 @@ AC_DEFUN([DRUNTIME_INSTALL_DIRECTORIES], + AC_SUBST(toolexeclibdir) + + # Default case for install directory for D sources files. +- gdc_include_dir='$(libdir)/gcc/${target_alias}/${gcc_version}/include/d' ++ gdc_include_dir='/usr/include/dlang/gdc/' + AC_SUBST(gdc_include_dir) + ]) + |