[arch-commits] Commit in ghdl/repos (2 files)
Filipe Laíns
ffy00 at archlinux.org
Fri Apr 17 23:55:06 UTC 2020
Date: Friday, April 17, 2020 @ 23:55:05
Author: ffy00
Revision: 616021
archrelease: copy trunk to community-staging-x86_64
Added:
ghdl/repos/community-staging-x86_64/
ghdl/repos/community-staging-x86_64/PKGBUILD
(from rev 616020, ghdl/trunk/PKGBUILD)
----------+
PKGBUILD | 164 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 164 insertions(+)
Copied: ghdl/repos/community-staging-x86_64/PKGBUILD (from rev 616020, ghdl/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD (rev 0)
+++ community-staging-x86_64/PKGBUILD 2020-04-17 23:55:05 UTC (rev 616021)
@@ -0,0 +1,164 @@
+# Maintainer: Filipe Laíns (FFY00) <lains at archlinux.org>
+
+pkgbase=ghdl
+pkgname=('ghdl-mcode' 'ghdl-llvm' 'ghdl-gcc')
+_gcc=9.3.0
+_isl=0.22
+pkgver=0.37
+pkgrel=7
+pkgdesc='VHDL simulator'
+arch=('x86_64')
+url='https://github.com/ghdl/ghdl'
+license=('GPL2')
+depends=('gcc-ada')
+makedepends=('gmp' 'mpfr' 'libmpc' 'zlib' 'llvm' 'clang')
+provides=('ghdl')
+conflicts=('ghdl')
+validpgpkeys=('33C235A34C46AA3FFB293709A328C3A2C3C45C06') # Jakub Jelinek <jakub at redhat.com>
+source=("$pkgbase-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
+ "https://ftp.gnu.org/gnu/gcc/gcc-$_gcc/gcc-$_gcc.tar.xz"{,.sig}
+ "http://isl.gforge.inria.fr/isl-$_isl.tar.bz2"
+ "fix-llvm10.patch::$url/commit/cfb359f0b05e9042c1045213b93b09e465fa8ccc.patch")
+sha512sums=('1ecb12379a99948740e795a51a5a7454a4231064e20b779355c4450ee6b3f6622285b6aa9b9cc53fc23352b1a017f0c735d7e567f42fbfff54d697c4cc0b6be9'
+ '4b9e3639eef6e623747a22c37a904b4750c93b6da77cf3958d5047e9b5ebddb7eebe091cc16ca0a227c0ecbd2bf3b984b221130f269a97ee4cc18f9cf6c444de'
+ 'SKIP'
+ 'fc2c9796979610dd51143dcefe4f5c989c4354571cc5a1fcc6b932fd41f42a54f6b43adfd289af61be7bd06f3a523fa6a7d7ee56680e32d8036beb4c188fa668'
+ '67aff7e7bdcf4b517074a3f436ee2b1fc9b4b1d9d618fe6df0b7819cb44471d051682b1c78e95ce67616563e0714a6297c9936af79d784d49778a8a9cbdad36b')
+
+export GNATMAKE="gnatmake $MAKEFLAGS"
+
+prepare() {
+ cd $pkgbase-$pkgver
+
+ patch -p1 -i ../fix-llvm10.patch
+
+ cd "$srcdir"
+
+ cp -r $pkgbase-$pkgver ghdl-mcode
+ cp -r $pkgbase-$pkgver ghdl-llvm
+ cp -r $pkgbase-$pkgver ghdl-gcc
+
+ mkdir gcc-build
+
+ cd gcc-$_gcc
+
+ ln -s ../isl-$_isl isl
+
+ echo $_gcc > gcc/BASE-VER
+
+ # hack! - some configure tests for header files using "$CPP $CPPFLAGS"
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
+}
+
+_configure() {
+ ./configure \
+ --prefix=/usr \
+ --disable-werror \
+ --enable-checks \
+ --enable-libghdl \
+ --enable-openieee \
+ --enable-synth $@
+}
+
+build() {
+ echo 'Building ghdl-mcode...'
+ cd "$srcdir"/ghdl-mcode
+
+ _configure
+
+ make
+
+ echo 'Building ghdl-llvm...'
+ cd "$srcdir"/ghdl-llvm
+
+ _configure --with-llvm-config
+
+ make
+
+ echo 'Building ghdl-gcc...'
+ cd "$srcdir"/ghdl-gcc
+
+ _configure --with-gcc="$srcdir"/gcc-$_gcc
+
+ make copy-sources
+
+ cd "$srcdir"/gcc-build
+
+ "$srcdir"/gcc-$_gcc/configure \
+ --prefix=/usr \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --enable-languages=vhdl \
+ --enable-default-pie \
+ --enable-default-ssp \
+ --with-isl \
+ --enable-plugin \
+ --enable-lto \
+ --disable-bootstrap \
+ --disable-multilib \
+ --disable-libada \
+ --disable-libsanitizer \
+ --disable-libssp \
+ --disable-libquadmath \
+ --disable-libgomp \
+ --disable-libvtv \
+ --with-pkgversion='Arch Linux Repositories' \
+ --with-bugurl='https://bugs.archlinux.org/'
+
+ make
+
+ cd "$srcdir"/ghdl-gcc
+
+ make \
+ GHDL_GCC_BIN="$srcdir"/gcc-build/gcc/ghdl \
+ GHDL1_GCC_BIN="--GHDL1=$srcdir/gcc-build/gcc/ghdl1" \
+ ghdllib
+}
+
+package_ghdl-mcode() {
+ pkgdesc="$pkgdesc (mcode backend)"
+
+ cd $pkgname
+
+ make DESTDIR="$pkgdir" install
+}
+
+package_ghdl-llvm() {
+ pkgdesc="$pkgdesc (LLVM backend)"
+ depends+=('llvm-libs')
+ options=(!emptydirs)
+
+ cd $pkgname
+
+ make DESTDIR="$pkgdir" install
+
+ # strip binaries
+ find "$pkgdir"/usr/bin/ "$pkgdir"/usr/lib/ghdl -type f -and \( -executable -o -name '*.o' \) -exec strip '{}' \;
+}
+
+package_ghdl-gcc() {
+ pkgdesc="$pkgdesc (GCC backend)"
+ options=(!emptydirs)
+
+ cd "$srcdir"/gcc-build
+
+ make DESTDIR="$pkgdir" install
+
+ # Remove files that conflict with the system gcc -- we only want to install the ghdl plugin
+ for FILE in $(find "$pkgdir" -not -type d); do
+ if [ -f /"${FILE#"$pkgdir"}" ]; then
+ rm -f "$FILE"
+ fi
+ done
+
+ find "$pkgdir"/usr/share -not -type d -not -name '*ghdl*' -delete
+ rm -rf "$pkgdir"/usr/lib64
+
+ # strip binaries
+ find "$pkgdir"/usr/bin/ "$pkgdir"/usr/lib/gcc -type f -and \( -executable -o -name '*.o' \) -exec strip '{}' \;
+
+ cd "$srcdir"/ghdl-gcc
+
+ make DESTDIR="$pkgdir" install
+}
+
More information about the arch-commits
mailing list