[arch-commits] Commit in ghdl/trunk (PKGBUILD)

Filipe Laíns ffy00 at archlinux.org
Sat Apr 11 18:36:09 UTC 2020


    Date: Saturday, April 11, 2020 @ 18:36:09
  Author: ffy00
Revision: 613350

upgpkg: ghdl 0.37-1

Added:
  ghdl/trunk/PKGBUILD

----------+
 PKGBUILD |  146 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 146 insertions(+)

Added: PKGBUILD
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2020-04-11 18:36:09 UTC (rev 613350)
@@ -0,0 +1,146 @@
+# 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=1
+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")
+sha512sums=('1ecb12379a99948740e795a51a5a7454a4231064e20b779355c4450ee6b3f6622285b6aa9b9cc53fc23352b1a017f0c735d7e567f42fbfff54d697c4cc0b6be9'
+            '4b9e3639eef6e623747a22c37a904b4750c93b6da77cf3958d5047e9b5ebddb7eebe091cc16ca0a227c0ecbd2bf3b984b221130f269a97ee4cc18f9cf6c444de'
+            'SKIP'
+            'fc2c9796979610dd51143dcefe4f5c989c4354571cc5a1fcc6b932fd41f42a54f6b43adfd289af61be7bd06f3a523fa6a7d7ee56680e32d8036beb4c188fa668')
+
+prepare() {
+  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
+}
+
+build() {
+  echo 'Building ghdl-mcode...'
+  cd "$srcdir"/ghdl-mcode
+
+  ./configure \
+      --prefix=/usr \
+      --disable-werror \
+      --enable-checks \
+      --enable-libghdl \
+      --enable-openieee \
+      --enable-synth
+
+  make
+
+  echo 'Building ghdl-llvm...'
+  cd "$srcdir"/ghdl-llvm
+
+  ./configure \
+      --prefix=/usr \
+      --with-llvm-config \
+      --disable-werror \
+      --enable-checks \
+      --enable-libghdl \
+      --enable-openieee \
+      --enable-synth
+
+  make
+
+  echo 'Building ghdl-gcc...'
+  cd "$srcdir"/ghdl-gcc
+
+  ./configure \
+      --prefix=/usr \
+      --with-gcc="$srcdir"/gcc-$_gcc \
+      --disable-werror \
+      --enable-checks \
+      --enable-libghdl \
+      --enable-openieee \
+      --enable-synth
+
+  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 \
+      --with-system-zlib \
+      --with-isl \
+      --disable-bootstrap \
+      --disable-lto \
+      --disable-multilib \
+      --disable-libssp \
+      --disable-libgomp \
+      --disable-libquadmath \
+      --with-pkgversion='Arch Linux Repositories' \
+      --with-bugurl='https://bugs.archlinux.org/'
+
+  make
+}
+
+package_ghdl-mcode() {
+  pkgdesc="$pkgdesc (mcode backend)"
+
+  cd $pkgname
+
+  make DESTDIR="$pkgdir" install
+}
+
+package_ghdl-llvm() {
+  pkgdesc="$pkgdesc (LLVM backend)"
+  depends+=('llvm-libs')
+
+  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 gcc-build
+
+  mkdir "$srcdir"/dest
+  make DESTDIR="$srcdir"/dest install
+
+  # manually install the files
+  install -dm 755 "$pkgdir"/usr/{bin,lib/{ghdl,gcc/x86_64-pc-linux-gnu/$_gcc}}
+  install -Dm 755 "$srcdir"/dest/usr/bin/ghdl "$pkgdir"/usr/bin/ghdl
+  install -Dm 644 "$srcdir"/dest/usr/lib/ghdl/libbacktrace.a "$pkgdir"/usr/lib/ghdl/libbacktrace.a
+  install -Dm 644 "$srcdir"/dest/usr/share/info/ghdl.info "$pkgdir"/usr/share/info/ghdl.info
+  install -Dm 644 "$srcdir"/dest/usr/lib/gcc/x86_64-pc-linux-gnu/$_gcc/ghdl1 "$pkgdir"/usr/lib/gcc/x86_64-pc-linux-gnu/$_gcc/ghdl1
+
+  # strip binaries
+  find "$pkgdir"/usr/bin/ "$pkgdir"/usr/lib/gcc -type f -and \( -executable \) -exec strip '{}' \;
+}
+


More information about the arch-commits mailing list