diff options
author | Maciej Barć <xgqt@gentoo.org> | 2023-07-15 16:30:51 +0200 |
---|---|---|
committer | Maciej Barć <xgqt@gentoo.org> | 2023-07-15 16:39:31 +0200 |
commit | 3a84ab0b91ec341b6e686aa0dd67e3f0f64137bb (patch) | |
tree | f3069745346e8defd92401c9895aaaacd07a4443 /sci-electronics | |
parent | app-emacs/magit: drop libegit2 dependency (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | sci-electronics/ghdl/files/ghdl-3.0.0-no-pyunit.patch | 16 | ||||
-rw-r--r-- | sci-electronics/ghdl/ghdl-3.0.0.ebuild | 79 | ||||
-rw-r--r-- | sci-electronics/ghdl/metadata.xml | 31 |
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> |