summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorvicencb2015-06-28 17:56:54 +0100
committervicencb2015-06-28 17:56:54 +0100
commitf4f18875d815494dc442b7da0442a22a4ad8d889 (patch)
treef68f7356cafe56acfff1ba3f0005e32ed2483dff
downloadaur-f4f18875d815494dc442b7da0442a22a4ad8d889.tar.gz
Initial import
-rw-r--r--.SRCINFO24
-rw-r--r--PKGBUILD102
-rw-r--r--ghdl.install20
3 files changed, 146 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..65031a146c93
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,24 @@
+pkgbase = ghdl
+ pkgdesc = VHDL simulator
+ pkgver = 0.32rc1
+ pkgrel = 4
+ url = http://sourceforge.net/projects/ghdl-updates/
+ install = ghdl.install
+ arch = i686
+ arch = x86_64
+ license = GPLv2
+ makedepends = gcc-ada<5.0
+ makedepends = mercurial
+ options = !emptydirs
+ options = staticlibs
+ source = ghdl::hg+http://hg.code.sf.net/p/ghdl-updates/code#revision=576
+ source = ftp://ftp.gnu.org/gnu/gcc/gcc-4.9.2/gcc-4.9.2.tar.bz2
+ source = http://isl.gforge.inria.fr/isl-0.12.2.tar.bz2
+ source = http://www.bastoul.net/cloog/pages/download/cloog-0.18.1.tar.gz
+ md5sums = SKIP
+ md5sums = 4df8ee253b7f3863ad0b86359cd39c43
+ md5sums = e039bfcfb6c2ab039b8ee69bf883e824
+ md5sums = e34fca0540d840e5d0f6427e98c92252
+
+pkgname = ghdl
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..0aaa506933c4
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,102 @@
+pkgname=ghdl
+pkgver=0.32rc1
+pkgrel=4
+arch=('i686' 'x86_64')
+pkgdesc='VHDL simulator'
+url='http://sourceforge.net/projects/ghdl-updates/'
+license=('GPLv2')
+
+makedepends=('gcc-ada<5.0' 'mercurial')
+install=ghdl.install
+options=(!emptydirs staticlibs)
+
+_gccver=4.9.2
+_islver=0.12.2
+_cloogver=0.18.1
+
+source=(
+ #"ghdl::hg+http://hg.code.sf.net/p/ghdl-updates/code#tag=ghdl-${pkgver}_release"
+ "ghdl::hg+http://hg.code.sf.net/p/ghdl-updates/code#revision=576"
+ "ftp://ftp.gnu.org/gnu/gcc/gcc-${_gccver}/gcc-${_gccver}.tar.bz2"
+ "http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2"
+ "http://www.bastoul.net/cloog/pages/download/cloog-${_cloogver}.tar.gz"
+)
+md5sums=(
+ 'SKIP'
+ '4df8ee253b7f3863ad0b86359cd39c43'
+ 'e039bfcfb6c2ab039b8ee69bf883e824'
+ 'e34fca0540d840e5d0f6427e98c92252'
+)
+
+prepare() {
+ cd "${srcdir}/ghdl/translate/gcc"
+ # Remove verbose flag in tar
+ sed -i 's@\( tar .*\)v\(h\?f\)@\1\2@' dist.sh
+ ./dist.sh sources
+ mv ghdl-${pkgver}.tar.bz2 "${srcdir}"
+ cd "${srcdir}"
+ tar xf ghdl-${pkgver}.tar.bz2
+ mv ghdl-${pkgver}/vhdl gcc-${_gccver}/gcc
+ rm -rf ghdl ghdl-${pkgver}
+
+ cd gcc-${_gccver}
+ # link isl/cloog for in-tree builds
+ ln -s ../isl-${_islver} isl
+ ln -s ../cloog-${_cloogver} cloog
+
+ # Do not run fixincludes
+ sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+
+ # Arch Linux installs x86_64 libraries /lib
+ [[ $CARCH == "x86_64" ]] && sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
+}
+
+build() {
+ mkdir "${srcdir}/gcc-build"
+ cd "${srcdir}/gcc-build"
+
+ CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2/}
+
+ # using -pipe causes spurious test-suite failures
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48565
+ CFLAGS=${CFLAGS/-pipe/}
+ CXXFLAGS=${CXXFLAGS/-pipe/}
+
+ "${srcdir}/gcc-${_gccver}/configure" --prefix=/usr \
+ --libdir=/usr/lib --libexecdir=/usr/lib \
+ --mandir=/usr/share/man --infodir=/usr/share/info \
+ --disable-bootstrap \
+ --enable-languages=vhdl \
+ --enable-shared --enable-threads=posix \
+ --with-system-zlib --enable-__cxa_atexit \
+ --disable-libunwind-exceptions --enable-clocale=gnu \
+ --disable-libstdcxx-pch --disable-libssp \
+ --enable-gnu-unique-object --enable-linker-build-id \
+ --enable-cloog-backend=isl \
+ --enable-lto --enable-plugin --enable-install-libiberty \
+ --with-linker-hash-style=gnu \
+ --disable-multilib --disable-werror \
+ --enable-checking=release
+ make
+}
+
+package() {
+ cd "${srcdir}/gcc-build"
+
+ # make a full install ...
+ make DESTDIR="${pkgdir}" install
+
+ # and remove files which are not specific to ghdl
+ rm -rf "${pkgdir}/usr/"{share/{locale,gcc-${_gccver},man/man7},include}
+ find "${pkgdir}/usr/lib" \
+ -maxdepth 1 -mindepth 1 -not -name 'gcc' \
+ -exec rm -rf '{}' +
+ find "${pkgdir}/usr/lib/gcc/$(./gcc/xgcc -dumpmachine)/${_gccver}" \
+ -maxdepth 1 -mindepth 1 -not -name 'vhdl' -not -name 'ghdl1' \
+ -exec rm -rf '{}' +
+ find "${pkgdir}/usr/bin" \
+ "${pkgdir}/usr/share/man/man1" \
+ "${pkgdir}/usr/share/info" \
+ -maxdepth 1 -mindepth 1 -not -name 'ghdl*' \
+ -exec rm -rf '{}' +
+}
diff --git a/ghdl.install b/ghdl.install
new file mode 100644
index 000000000000..b7c5d1859405
--- /dev/null
+++ b/ghdl.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(ghdl.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}