diff options
Diffstat (limited to 'sci-electronics/nvc/nvc-1.13.3.ebuild')
-rw-r--r-- | sci-electronics/nvc/nvc-1.13.3.ebuild | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/sci-electronics/nvc/nvc-1.13.3.ebuild b/sci-electronics/nvc/nvc-1.13.3.ebuild new file mode 100644 index 000000000000..7beab1f0813a --- /dev/null +++ b/sci-electronics/nvc/nvc-1.13.3.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {17..18} ) + +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" +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? ( + $(llvm_gen_dep ' + sys-devel/llvm:${LLVM_SLOT}= + ') + ) +" +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-r1_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" +} |