mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-10 15:45:15 -04:00
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>
This commit is contained in:
145
sci-electronics/bluespec/bluespec-2022.01-r1.ebuild
Normal file
145
sci-electronics/bluespec/bluespec-2022.01-r1.ebuild
Normal file
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user