[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