sci-electronics/bluespec: add 2024.07

- Using app-eselect/eselect-bluespec to switch version

Signed-off-by: Huang Rui <vowstar@gmail.com>
This commit is contained in:
Huang Rui 2025-03-07 17:31:12 +08:00
parent 7517372d63
commit b85123bb38
No known key found for this signature in database
GPG Key ID: AD4E34A8385E3E52
2 changed files with 146 additions and 0 deletions

View File

@ -2,4 +2,5 @@ DIST bluespec-2022.01.tar.gz 25576850 BLAKE2B c80dada5bdbc13bd8ff4205ff8b6538484
DIST bluespec-2023.01.tar.gz 26431509 BLAKE2B 10cb153e3dfc6779e48ead139da53463ffd4610c389feee73b64ae74e65e411cb9408e324e76f5b56b1accbe012c79017f528d4daa2d575ae73b16f5cf9d4733 SHA512 704926ba3e9d04a3a12c5c77793151a68d650e5ce84c3d5e6a6b86187dea322cd0e0ba78a5fd840e2dbd3a01a7d27ca30b9648158056b2c96eb522722bdef302
DIST bluespec-2023.07.tar.gz 26449912 BLAKE2B de40024ee5a61b608d341d940d631e6350c3d45eeb8e52fc046ef4b6175c17c9867894d7a73dc656fefe19b952da7baafba1d2d685e990bb08c4e90435519815 SHA512 c14c7a17c53dc59ed8c62022fec932f7c8da13ef3d5aaa5c0439c492e89919bb2cb647cfb862e4d072cfb9bdbbe3e5ed0b98f9a609a6cbb7bbd5ce55384cbb5e
DIST bluespec-2024.01.tar.gz 26477100 BLAKE2B 257204eb8a677a26ce4dc24a1f646b48b8d5247ec4427fb9dc98e1a31ae71c649d835237c822c24818f31b3da434f9b430383cc948d4893034074b4347a7f183 SHA512 e5c8213e73bb58fb46db374b4e26631ca56c2681b691dd6357fe6a1bb5c70641fe7f53a7e3f20a489b4d435a0f94b6e14b33fa56dbb83c80190999bba47580c8
DIST bluespec-2024.07.tar.gz 26477765 BLAKE2B 5c5d5030ac873b404f2be4705dc10e96dc5851e7d999851bdef3ef3174da33570a5501883724884950034dcc5939fdbbebcd8169493a4cc9ef3a448fa9dc5faa SHA512 7d8ec7ddd4d967195c0cba7f6988708aa5f53f621d862d7fa5b932d66756486cb65987258e19acdccabc3b7a85fef27cc0fadfe2d880384c225429c31dcaa2f4
DIST yices-2.6.4.tar.gz 10186909 BLAKE2B 1c4b6297fd59924e9d99b9e17eb4b42e9bfbc24dcd56631beb9b72103c91578eb72b90cb9e228a5e9d489efc520a2e1d41185e9c3f4a8c43fc93f8dabba7414d SHA512 d8102c41fda0e200fd1336ae317b516d2797d10c187b8f7aecf0c9b08b4b487b90bef8c358099b2da51c0367326939f9610fd4e6d5a41a392cf1114bd04b8763

View File

@ -0,0 +1,145 @@
# Copyright 1999-2024 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
dev-build/automake
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 bluespec 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
}