summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Barć <xgqt@gentoo.org>2023-07-15 16:30:51 +0200
committerMaciej Barć <xgqt@gentoo.org>2023-07-15 16:39:31 +0200
commit3a84ab0b91ec341b6e686aa0dd67e3f0f64137bb (patch)
treef3069745346e8defd92401c9895aaaacd07a4443 /sci-electronics
parentapp-emacs/magit: drop libegit2 dependency (diff)
downloadgentoo-3a84ab0b91ec341b6e686aa0dd67e3f0f64137bb.tar.gz
gentoo-3a84ab0b91ec341b6e686aa0dd67e3f0f64137bb.tar.bz2
gentoo-3a84ab0b91ec341b6e686aa0dd67e3f0f64137bb.zip
sci-electronics/ghdl: new package; add 3.0.0
Signed-off-by: Maciej Barć <xgqt@gentoo.org>
Diffstat (limited to 'sci-electronics')
-rw-r--r--sci-electronics/ghdl/Manifest1
-rw-r--r--sci-electronics/ghdl/files/ghdl-3.0.0-no-pyunit.patch16
-rw-r--r--sci-electronics/ghdl/ghdl-3.0.0.ebuild79
-rw-r--r--sci-electronics/ghdl/metadata.xml31
4 files changed, 127 insertions, 0 deletions
diff --git a/sci-electronics/ghdl/Manifest b/sci-electronics/ghdl/Manifest
new file mode 100644
index 000000000000..a6d889450929
--- /dev/null
+++ b/sci-electronics/ghdl/Manifest
@@ -0,0 +1 @@
+DIST ghdl-3.0.0.tar.gz 7160245 BLAKE2B 685d8976db48dd6d7074540ff24fae11e8d75f2b0e91de3095b356c9ed1e8dd762c486b7fb1df5a874a653181c6d4f4be4f8e3f5881d10db941c467a95590f45 SHA512 11b638d0ae757ce2e247ab438c15a8f5cd78c3a025ba6272aa05df548d2a7276c25dbbf83b846284ded8c9864eca3dcdb8342cb532faecd01e7cefaada524ab0
diff --git a/sci-electronics/ghdl/files/ghdl-3.0.0-no-pyunit.patch b/sci-electronics/ghdl/files/ghdl-3.0.0-no-pyunit.patch
new file mode 100644
index 000000000000..7730d380494d
--- /dev/null
+++ b/sci-electronics/ghdl/files/ghdl-3.0.0-no-pyunit.patch
@@ -0,0 +1,16 @@
+--- a/testsuite/testsuite.sh
++++ b/testsuite/testsuite.sh
+@@ -129,9 +129,10 @@ do_test() {
+
+ pyunit)
+ # The Python Unit testsuite: regression testsuite for Python bindings to libghdl
+- gstart "[GHDL - test] pyunit"
+- PYTHONPATH=$(pwd)/.. ${PYTHON:-python3} -m pytest -vsrA pyunit
+- gend
++ # gstart "[GHDL - test] pyunit"
++ # PYTHONPATH=$(pwd)/.. ${PYTHON:-python3} -m pytest -vsrA pyunit
++ # gend
++ echo "Python Unit testsuite is disabled!"
+ ;;
+
+ vests)
diff --git a/sci-electronics/ghdl/ghdl-3.0.0.ebuild b/sci-electronics/ghdl/ghdl-3.0.0.ebuild
new file mode 100644
index 000000000000..43091157283f
--- /dev/null
+++ b/sci-electronics/ghdl/ghdl-3.0.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ADA_COMPAT=( gnat_2021 )
+LLVM_MAX_SLOT=15 # Check "configure" script for supported LLVM versions.
+
+inherit ada edo llvm toolchain-funcs
+
+DESCRIPTION="Open-source analyzer, compiler, and simulator for VHDL 2008/93/87"
+HOMEPAGE="https://ghdl.github.io/ghdl/
+ https://github.com/ghdl/ghdl/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ghdl/${PN}.git"
+else
+ SRC_URI="https://github.com/ghdl/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="llvm"
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+RDEPEND="
+ ${ADA_DEPS}
+ llvm? ( <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):= )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-util/patchelf
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-3.0.0-no-pyunit.patch )
+
+pkg_setup() {
+ ada_pkg_setup
+
+ use llvm && llvm_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ sed -i "s|ar rc|$(tc-getAR) rc|g" Makefile.in || die
+}
+
+src_configure() {
+ tc-export CC CXX
+
+ local -a myconf=(
+ --disable-werror
+
+ --libdir=$(get_libdir)
+ --prefix=/usr
+
+ --enable-libghdl
+ --enable-synth
+ )
+
+ if use llvm ; then
+ myconf+=( --with-llvm-config=llvm-config )
+ fi
+
+ # Not a autotools script!
+ edo sh ./configure "${myconf[@]}"
+}
+
+src_compile() {
+ default
+
+ patchelf --set-soname libghw.so lib/libghw.so || die
+}
diff --git a/sci-electronics/ghdl/metadata.xml b/sci-electronics/ghdl/metadata.xml
new file mode 100644
index 000000000000..aa290daef91e
--- /dev/null
+++ b/sci-electronics/ghdl/metadata.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xgqt@gentoo.org</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <longdescription>
+ GHDL is a shorthand for G Hardware Design Language (currently, G has no
+ meaning). It is a VHDL analyzer, compiler, simulator and (experimental)
+ synthesizer that can process (nearly) any VHDL design. Unlike some other
+ simulators, GHDL is a compiler: it directly translates a VHDL file to
+ machine code, without using an intermediary language such as C or C++.
+ Therefore, the compiled code should be faster and the analysis time should
+ be shorter than with a compiler using an intermediary language. GHDL can
+ use multiple back-ends, i.e. code generators, (GCC, LLVM or x86/i386 only,
+ a built-in one named mcode) and runs on GNU/Linux, Windows and macOS; on
+ x86, x86_64, armv6/armv7/aarch32/aarch64, ppc64, etc. GHDL aims at
+ implementing VHDL as defined by IEEE 1076. It supports the 1987, 1993 and
+ 2002 revisions and, partially, 2008 and 2019. Property Specification
+ Language (PSL) is also partially supported.
+ </longdescription>
+ <use>
+ <flag name="llvm">Build LLVM code generator</flag>
+ </use>
+ <upstream>
+ <bugs-to>https://github.com/ghdl/ghdl/issues/</bugs-to>
+ <remote-id type="github">ghdl/ghdl</remote-id>
+ </upstream>
+</pkgmetadata>