From 4aa2ae15a6094608b4b86f0222e58c451a7aae5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Bar=C4=87?= Date: Mon, 1 Dec 2025 18:59:56 +0100 Subject: [PATCH] sci-electronics/nvc: bump to 1.18.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Maciej Barć --- sci-electronics/nvc/Manifest | 1 + sci-electronics/nvc/nvc-1.18.2.ebuild | 124 ++++++++++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 sci-electronics/nvc/nvc-1.18.2.ebuild diff --git a/sci-electronics/nvc/Manifest b/sci-electronics/nvc/Manifest index 0d815938629a2..f95544b611bec 100644 --- a/sci-electronics/nvc/Manifest +++ b/sci-electronics/nvc/Manifest @@ -1 +1,2 @@ DIST nvc-1.18.0.tar.gz 2338345 BLAKE2B a9e1f54bdd687c39c0659665ced25903e2b3ff4b9751535b5eb50bdb267c46141757eb633423313fc0c656f6896e3fe5dcbd9403c6c1a49dc39178127b600c59 SHA512 7ac8f328470119147fd208ef46f268904b930754616760b6344c420416101dc69c1b59d72a66282a70925f09f4962886b90444219a5305e52bd67c201b29282a +DIST nvc-1.18.2.tar.gz 2341991 BLAKE2B e6b6347864da72c2c4fa4dc72f1b13f6b2d1a9a4f93fffaf0d9377fb5fddf8137da83dadc75e0d2230c63d98ca4afe793344004feb895ea15441ad1fa588cdc5 SHA512 e84c3091fd6d2c2224c12eee7668680db319819241e7c884ded220f9cada762278ad95ca37d3ca2dbb9472a4a8712993e1b5594516a5e5ef778620971d8eaa39 diff --git a/sci-electronics/nvc/nvc-1.18.2.ebuild b/sci-electronics/nvc/nvc-1.18.2.ebuild new file mode 100644 index 0000000000000..0d8ac4fe5f3fc --- /dev/null +++ b/sci-electronics/nvc/nvc-1.18.2.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {18..19} ) + +inherit autotools bash-completion-r1 llvm-r1 + +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 test" +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:= + virtual/zlib:= + llvm? ( + $(llvm_gen_dep ' + llvm-core/llvm:${LLVM_SLOT}= + ') + ) +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + dev-libs/check + sys-apps/which + sys-devel/bison + sys-devel/flex + test? ( + dev-libs/check + ) +" + +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() { + if use llvm ; then + llvm-r1_pkg_setup + fi +} + +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-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() { + local -x ASAN_OPTIONS="detect_leaks=0" + local -x PATH="${S}/bin:${PATH}" + + nonfatal emake -j1 check-TESTS +} + +src_install() { + default + + mv "${D}/$(get_bashcompdir)"/nvc{.bash,} || die + dostrip -x "/usr/$(get_libdir)/nvc" +}