commit:     3a84ab0b91ec341b6e686aa0dd67e3f0f64137bb
Author:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 15 14:30:51 2023 +0000
Commit:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Sat Jul 15 14:39:31 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a84ab0b

sci-electronics/ghdl: new package; add 3.0.0

Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>

 sci-electronics/ghdl/Manifest                      |  1 +
 .../ghdl/files/ghdl-3.0.0-no-pyunit.patch          | 16 +++++
 sci-electronics/ghdl/ghdl-3.0.0.ebuild             | 79 ++++++++++++++++++++++
 sci-electronics/ghdl/metadata.xml                  | 31 +++++++++
 4 files changed, 127 insertions(+)

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>x...@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>

Reply via email to