summaryrefslogtreecommitdiff
path: root/sci-electronics/ghdl
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-07-15 16:40:41 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-07-15 16:40:41 +0100
commit35d4e80ab08982deb97a95d1b47156c67b268492 (patch)
tree52930de679b53a2d0e6881a4b18305fa1b9c5466 /sci-electronics/ghdl
parent9b6120d8af003bb775da6737dfe42f8f580f59f6 (diff)
gentoo auto-resync : 15:07:2023 - 16:40:40
Diffstat (limited to 'sci-electronics/ghdl')
-rw-r--r--sci-electronics/ghdl/Manifest4
-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, 130 insertions, 0 deletions
diff --git a/sci-electronics/ghdl/Manifest b/sci-electronics/ghdl/Manifest
new file mode 100644
index 000000000000..97cd4c909ce7
--- /dev/null
+++ b/sci-electronics/ghdl/Manifest
@@ -0,0 +1,4 @@
+AUX ghdl-3.0.0-no-pyunit.patch 509 BLAKE2B 5b495473bb805acf64ca277a6e6ea6b72f9f9f1131114efd7f98a5e10a3a4eeb1cf10ac81ef071f97214aa6f9d0c0d8eb7a82ac57f94aa1ddba42bbb8030e9c8 SHA512 4ba377c893b9fc2399f76c46fdaa17217c4808ecada9de0fee0c84b5bb0b172cccb9f82c7ec3392077f4d605fcabce6ba262adc067892114e7949ad82a75eb2d
+DIST ghdl-3.0.0.tar.gz 7160245 BLAKE2B 685d8976db48dd6d7074540ff24fae11e8d75f2b0e91de3095b356c9ed1e8dd762c486b7fb1df5a874a653181c6d4f4be4f8e3f5881d10db941c467a95590f45 SHA512 11b638d0ae757ce2e247ab438c15a8f5cd78c3a025ba6272aa05df548d2a7276c25dbbf83b846284ded8c9864eca3dcdb8342cb532faecd01e7cefaada524ab0
+EBUILD ghdl-3.0.0.ebuild 1404 BLAKE2B 527aedeb96b807689f3bbbe920c0e626239fa8e02fc18e4b8f3e46549f282477b917d3c2bfb8d1bb544763270e708a79353695e1ac599b1d5b79d6c0a013c776 SHA512 8b9fc9019b29fefd26a9e16f36eae8f8078e7bd822d01070d534baa145d4e03dca3357cbc80059f5f7ebf01b7e220922c807c4c66437b497d7ba68b220b51271
+MISC metadata.xml 1462 BLAKE2B a403ab50a3463fc26ddfb6ad65aa2cfe9782e98b74cd91fe24ef81678e7c52a2211b0bcad27accc4cd57db281ed23ad5d8697ae69dd8b67c623465949d6d3434 SHA512 4bd4c20a8fbbdaa80a63373f81bd96144e110371403832627aba81a7a95d073ee73922516a6d5c193898affbeb8bd7f1ce9fc4203faa13464cf39ba809c82d5d
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>