[arch-commits] Commit in ghdl/repos (2 files)

Evangelos Foutras foutrelis at archlinux.org
Sun May 30 06:05:38 UTC 2021


    Date: Sunday, May 30, 2021 @ 06:05:38
  Author: foutrelis
Revision: 950345

archrelease: copy trunk to community-staging-x86_64

Added:
  ghdl/repos/community-staging-x86_64/
  ghdl/repos/community-staging-x86_64/PKGBUILD
    (from rev 950344, ghdl/trunk/PKGBUILD)

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

Copied: ghdl/repos/community-staging-x86_64/PKGBUILD (from rev 950344, ghdl/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2021-05-30 06:05:38 UTC (rev 950345)
@@ -0,0 +1,204 @@
+# Maintainer: Filipe Laíns (FFY00) <lains at archlinux.org>
+
+pkgbase=ghdl
+pkgname=('ghdl-mcode' 'ghdl-llvm' 'ghdl-gcc' 'python-pyghdl')
+_gcc=10.2.0
+_isl=0.23
+pkgver=1.0.0
+pkgrel=3
+pkgdesc='VHDL simulator'
+arch=('x86_64')
+url='https://github.com/ghdl/ghdl'
+license=('GPL2')
+depends=('gcc-ada')
+makedepends=('gmp' 'mpfr' 'libmpc' 'zlib' 'llvm' 'clang' 'python-setuptools')
+validpgpkeys=('33C235A34C46AA3FFB293709A328C3A2C3C45C06'  # Jakub Jelinek <jakub at redhat.com>
+              '13975A70E63C361C73AE69EF6EEB81F8981C74C7') # richard.guenther at gmail.com
+source=("$pkgbase-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
+        "$pkgbase-gcc11.patch::https://github.com/ghdl/ghdl/commit/8356ea3bb4e8d0e5ad8638c3d50914b64fc360ec.patch"
+        "$pkgbase-llvm11.patch::https://github.com/ghdl/ghdl/commit/a45cd97fa291b442002d70ac7e0968a24b0815f9.patch"
+        "$pkgbase-llvm12.patch::https://github.com/ghdl/ghdl/commit/2cfa1098070959413f5ed7c32220d9e55262e4e4.patch"
+        "$pkgbase-llvm12-DILocation.patch::https://github.com/ghdl/ghdl/commit/396eb764f49666616063d4239df83b5aed961fff.patch"
+        "https://ftp.gnu.org/gnu/gcc/gcc-$_gcc/gcc-$_gcc.tar.xz"{,.sig}
+        "http://isl.gforge.inria.fr/isl-$_isl.tar.bz2")
+sha512sums=('efaa277132de3caeafedace137b58fa05bfa61567f12480092b1e8f74a4438e40c85c6e21cd0c5d65fbba3d116b65265e3939a8b5df951baf74837c1eca3196f'
+            'aeef4fd149f6b58f7b458175833161cc07137cdbde07f2b5717d61f45997b6f6be37a2a59729204a50345e18f9ac6e28b69b60f01fbe01bea14fc1b114fbd8b5'
+            '579d30687e44a02f9da5fca2096fcfd9767a4ce2b697fd96e207338a8bd6942e1173391417adcca4537951b4cbb09a8c9e91f97fc8ea181687009a86b99fb111'
+            '8cc79c26aa1d301d9ee2ea58e9237b5a4e108de484f9df2a61df82501a59668eba4e6b7a47dde0717ba3f14a7cb6b8cbbd63e1a9d053d08fdd71a488f0a30fd6'
+            '5e8c48ed15734d1cc2fb6e7be4a5480e56ba12e973a550ebf99183d44881325ca14e29a8f58367bd847a65a3a09e6b6e94d042fcfd77783e09539e5fb2ed4db0'
+            '42ae38928bd2e8183af445da34220964eb690b675b1892bbeb7cd5bb62be499011ec9a93397dba5e2fb681afadfc6f2767d03b9035b44ba9be807187ae6dc65e'
+            'SKIP'
+            '05dfbdbbe852e2440b272808b23210374ce4ce46298eeb4c18ca8725db834b0da607338a371e3d07a78585fc7e0de182e75bf09dff11477937228bd97b7b83f7')
+
+prepare() {
+  cd "$srcdir"
+
+  cd $pkgbase-$pkgver
+  patch -p1 -i ../$pkgbase-gcc11.patch
+  patch -p1 -i ../$pkgbase-llvm11.patch
+  patch -p1 -i ../$pkgbase-llvm12.patch
+  patch -p1 -i ../$pkgbase-llvm12-DILocation.patch
+  cd ..
+
+  cp -r $pkgbase-$pkgver ghdl-mcode
+  cp -r $pkgbase-$pkgver ghdl-llvm
+  cp -r $pkgbase-$pkgver ghdl-gcc
+  cp -r $pkgbase-$pkgver pyghdl
+
+  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-synth $@
+}
+
+build() {
+  export GNATMAKE="gnatmake $MAKEFLAGS"
+
+  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
+
+  echo 'Building pyghdl...'
+  cd "$srcdir"/pyghdl
+
+  python setup.py build
+}
+
+#check() {
+#  cd $pkgbase-$pkgver/testsuite
+#
+#  echo 'Running tests for ghdl-mcode...'
+#  GHDL="$srcdir"/ghdl-mcode/ghdl_mcode ./testsuite.sh
+#
+#  echo 'Running tests for ghdl-llvm...'
+#  GHDL="$srcdir"/ghdl-llvm/ghdl1-llvm ./testsuite.sh
+#
+#  echo 'Running tests for ghdl-gcc...'
+#  GHDL="$srcdir"/gcc-build/gcc/ghdl ./testsuite.sh
+#}
+
+package_ghdl-mcode() {
+  pkgdesc="$pkgdesc (mcode backend)"
+  provides=('ghdl')
+  conflicts=('ghdl')
+
+  cd $pkgname
+
+  make DESTDIR="$pkgdir" install
+}
+
+package_ghdl-llvm() {
+  pkgdesc="$pkgdesc (LLVM backend)"
+  depends+=('llvm-libs')
+  provides=('ghdl')
+  conflicts=('ghdl')
+  options=(!emptydirs)
+
+  cd $pkgname
+
+  make DESTDIR="$pkgdir" install
+
+  # strip binaries
+  find "$pkgdir"/usr/bin/ -type f -and \( -executable -o -name '*.o' \) -exec strip '{}' \;
+}
+
+package_ghdl-gcc() {
+  pkgdesc="$pkgdesc (GCC backend)"
+  provides=('ghdl')
+  conflicts=('ghdl')
+  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
+}
+
+package_python-pyghdl() {
+  pkgdesc='Python bindings for GHDL'
+  depends=('ghdl' 'python-pydecor' 'python-pyvhdlmodel')
+
+  cd pyghdl
+
+  python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+}



More information about the arch-commits mailing list