diff options
Diffstat (limited to 'sci-electronics')
-rw-r--r-- | sci-electronics/nvc/Manifest | 1 | ||||
-rw-r--r-- | sci-electronics/nvc/nvc-1.12.0.ebuild | 114 |
2 files changed, 115 insertions, 0 deletions
diff --git a/sci-electronics/nvc/Manifest b/sci-electronics/nvc/Manifest index 1e66ebcb7f1e..18ab0bdf71a9 100644 --- a/sci-electronics/nvc/Manifest +++ b/sci-electronics/nvc/Manifest @@ -1 +1,2 @@ DIST nvc-1.11.3.tar.gz 1843551 BLAKE2B 27cf3a6cfa0b21ca0ff9f2f96a150fea2a3d55a53969228d6d83475458e5a1c6ef76a676afc73588a5de2acaaf2ec40d04a5c8296ec6615501572e3c6903d9f8 SHA512 22e5e6daad4d79822e7d1eac02c095f24a23e7237e8e8af9e085f225edf7dbf0c557fefb8d50ca20ccd14d9e3dd20b7d01b7363a651ab088685d1737fbe03ccd +DIST nvc-1.12.0.tar.gz 1929184 BLAKE2B a344c7f483aea26fb665b94b021e6c402b24c0d653604c32260833c9b2975fb6d461241e151b52056508a394f16f7d12ba4a29139e820e5028235d3ee95f3a03 SHA512 bd33fe13105e323cd9689ca1ea865f289d7833e519e0abca1c50615532b4909abecb07c29abb27afedcd3c288801e29d61a1a85cd58d449c67f5d5638437414d diff --git a/sci-electronics/nvc/nvc-1.12.0.ebuild b/sci-electronics/nvc/nvc-1.12.0.ebuild new file mode 100644 index 000000000000..dd4ecc425726 --- /dev/null +++ b/sci-electronics/nvc/nvc-1.12.0.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_MAX_SLOT=16 + +inherit autotools bash-completion-r1 llvm + +DESCRIPTION="NVC is a VHDL compiler and simulator" +HOMEPAGE="https://www.nickg.me.uk/nvc/ + https://github.com/nickg/nvc/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/nickg/nvc.git" + + NVC_SOURCEDIR="${WORKDIR}/${PN}-${PV}" +else + SRC_URI="https://github.com/nickg/nvc/archive/r${PV}.tar.gz + -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" + + NVC_SOURCEDIR="${WORKDIR}/${PN}-r${PV}" +fi + +NVC_BUILDDIR="${NVC_SOURCEDIR}_BuildDir" +S="${NVC_BUILDDIR}" + +LICENSE="GPL-3+" +SLOT="0" +IUSE="debug llvm" +RESTRICT="test" # Some tests fail. + +RDEPEND=" + app-arch/bzip2:= + app-arch/zstd:= + dev-libs/capstone:= + dev-libs/elfutils + dev-libs/icu:= + dev-libs/libffi:= + dev-libs/libxml2:= + sys-libs/ncurses:= + sys-libs/zlib:= + llvm? ( + <sys-devel/llvm-$((${LLVM_MAX_SLOT} + 1)):= + ) +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + dev-libs/check + sys-devel/bison + sys-devel/flex +" + +PATCHES=( "${FILESDIR}/nvc-1.9.2-jit-code-capstone.patch" ) + +# Special libraries for NVC. +QA_FLAGS_IGNORED="usr/lib[0-9]*/nvc/preload[0-9]*.so" + +pkg_setup() { + use llvm && llvm_pkg_setup +} + +src_unpack() { + default + + mkdir -p "${S}" || die +} + +src_prepare() { + pushd "${NVC_SOURCEDIR}" >/dev/null || die + + default + eautoreconf + + popd >/dev/null || die +} + +src_configure() { + # Needs "bison" and "flex" exactly. + unset LEX + unset YACC + + local ECONF_SOURCE="${NVC_SOURCEDIR}" + local -a myconf=( + --enable-verilog + --enable-vital + --with-bash-completion="$(get_bashcompdir)" + $(use_enable debug) + $(use_enable llvm) + ) + econf "${myconf[@]}" + + export V=1 # Verbose compilation and install. +} + +src_compile() { + emake -j1 +} + +src_test() { + PATH="${S}/bin:${PATH}" emake check-TESTS +} + +src_install() { + default + + mv "${D}/$(get_bashcompdir)"/nvc{.bash,} || die + dostrip -x "/usr/$(get_libdir)/nvc" +} |