diff options
author | Huang Rui <vowstar@gmail.com> | 2022-09-07 10:47:40 +0800 |
---|---|---|
committer | Huang Rui <vowstar@gmail.com> | 2022-09-07 10:51:32 +0800 |
commit | d658fb754a1fb6508dcc929d4ea6373a0195cd89 (patch) | |
tree | 7363c36b3c50b0c9ad712424e8939882d17bbb0b /sci-electronics | |
parent | dev-util/lemminx-bin: new package, add 0.21.0 (diff) | |
download | guru-d658fb754a1fb6508dcc929d4ea6373a0195cd89.tar.gz guru-d658fb754a1fb6508dcc929d4ea6373a0195cd89.tar.bz2 guru-d658fb754a1fb6508dcc929d4ea6373a0195cd89.zip |
sci-electronics/bluespec: fix 868765, 868768, 868936
Add missing RDEPEND app-shells/tcsh
Fix calls commands that do not exist: csh
Fix does not respect LDFLAGS
Fix test hang due to missing of csh
Closes: https://bugs.gentoo.org/868765
Closes: https://bugs.gentoo.org/868768
Closes: https://bugs.gentoo.org/868936
Signed-off-by: Huang Rui <vowstar@gmail.com>
Diffstat (limited to 'sci-electronics')
-rw-r--r-- | sci-electronics/bluespec/bluespec-2022.01-r1.ebuild | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/sci-electronics/bluespec/bluespec-2022.01-r1.ebuild b/sci-electronics/bluespec/bluespec-2022.01-r1.ebuild new file mode 100644 index 000000000..143d64e79 --- /dev/null +++ b/sci-electronics/bluespec/bluespec-2022.01-r1.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Toolchain for the Bluespec Hardware Definition Language" +HOMEPAGE="https://github.com/B-Lang-org/bsc" + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://github.com/B-Lang-org/bsc.git" + inherit git-r3 +else + SRC_URI=" + https://github.com/B-Lang-org/bsc/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz + https://github.com/SRI-CSL/yices2/archive/refs/tags/Yices-2.6.4.tar.gz -> yices-2.6.4.tar.gz + " + S="${WORKDIR}/bsc-${PV}" + S_YICES="${WORKDIR}/yices2-Yices-2.6.4" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="BSD GPL-3+ MIT" +SLOT="${PV}" +IUSE="doc test" +RESTRICT="!test? ( test )" + +RDEPEND=" + app-eselect/eselect-bluespec + app-shells/tcsh + dev-haskell/old-time:0= + dev-haskell/regex-compat:0= + dev-haskell/split:0= + dev-haskell/syb:0= + dev-lang/tcl +" + +DEPEND=" + ${RDEPEND} + test? ( + dev-util/dejagnu + sci-electronics/iverilog + sci-electronics/systemc + sys-process/time + ) +" + +BDEPEND=" + dev-haskell/cabal:0= + dev-lang/ghc:0= + dev-lang/perl + dev-util/gperf + doc? ( + dev-ruby/asciidoctor + dev-ruby/asciidoctor-pdf + dev-texlive/texlive-bibtexextra + dev-texlive/texlive-fontsextra + dev-texlive/texlive-fontutils + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + dev-texlive/texlive-latexrecommended + dev-texlive/texlive-plaingeneric + ) + sys-apps/coreutils + sys-devel/autoconf + sys-devel/bison + sys-devel/flex + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${PN}-2022.01-libstp-stub-makefile.patch +) + +# Do not complain about CFLAGS etc since we don't use them +QA_FLAGS_IGNORED=" + usr/share/bsc/bsc-${PV}/bin/core/.* + usr/share/bsc/bsc-${PV}/lib/SAT/.* + usr/share/bsc/bsc-${PV}/lib/VPI/.* +" + +src_prepare() { + if [[ ${PV} != "9999" ]] ; then + rm -r "${S}"/src/vendor/yices/v2.6/yices2 || die + ln -s "${S_YICES}" "${S}"/src/vendor/yices/v2.6/yices2 || die + fi + + default +} + +src_compile() { + # NO_DEPS_CHECKS=1: skip the subrepo check (this deriviation uses yices.src instead of the subrepo) + # LDCONFIG=ldconfig: https://github.com/B-Lang-org/bsc/pull/43 + # STP_STUB=1: https://github.com/B-Lang-org/bsc/pull/278 + emake \ + "NO_DEPS_CHECKS=1" \ + "LDCONFIG=ldconfig" \ + "STP_STUB=1" \ + $(usex doc "" "NOASCIIDOCTOR=1") \ + $(usex doc "install-doc" "") \ + $(usex doc "install-release" "") \ + install-src \ + $(usex doc "release" "") + emake -C src/comp \ + install-extra +} + +src_test() { + emake check-smoke + emake -C testsuite check +} + +# Call eselect vi update with --if-unset +# to respect user's choice +eselect_bluespec_update() { + ebegin "Calling eselect bluespec update" + eselect bluespec update --if-unset + eend $? +} + +src_install() { + # From https://github.com/B-Lang-org/bsc/blob/main/INSTALL.md, + # upstream recommend placing the inst directory at + # the path /usr/share/bsc/bsc-<VERSION> for multi-version. + local INSTALL_PATH=/usr/share/bsc/bsc-"${PV}" + local ED_INSTALL_PATH="${ED}${INSTALL_PATH}" + mkdir -p "${ED_INSTALL_PATH}" || die + local f + for f in "${S}"/inst/bin/*; do + if [[ ! -d "${f}" ]] ; then + local b=$(basename ${f}) + sed -i "s|ABSNAME=.*\$|ABSNAME=\$(readlink -f -- \"\$0\")|g" "${f}" || die + fi + done + cp -dr --preserve=mode,timestamp "${S}"/inst/* "${ED_INSTALL_PATH}"/ || die + insinto "${INSTALL_PATH}"/vimfiles + doins -r "${S}"/util/vim/{ftdetect,indent,syntax} +} + +pkg_postinst() { + eselect_bluespec_update +} + +pkg_postrm() { + eselect_bluespec_update +} |