mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-10-12 17:51:11 -04:00
sci-electronics/circt: drop 1.151.0
Signed-off-by: Huang Rui <vowstar@gmail.com>
This commit is contained in:
2 files changed
-150
No files matched your search
@@ -1,4 +1,3 @@
|
||||
DIST circt-1.151.0.tar.gz 10160863 BLAKE2B a67b8ad8a8cb30f2e21c172b5b385dc6e38e3f494a366533c41cd24fef7a16410322a4928cd75c7f7366f17442d5fc3e6e86c25db553da14214d5c8de0a45942 SHA512 9d428e203dd19da448a7ae9bb5a39c45e4ce3b6d2483238683c84caa999853616292aa5bed89d3fef7bfbacc5d27bb04c85e2763eccd1d57471758d0a47cb39e
|
||||
DIST circt-1.153.1.tar.gz 10200306 BLAKE2B 3414e2a07b21acbe4e578a7c00da5a03978e68e705be7a0ba56dd265e7d324364ef6e9f7493dfc064772547c35511c1b0169645042c4c4ee8b4c209dc8d632ba SHA512 84baa86a7f4eb07f918e5358674b2e4789a9f951dc350653c4c142cec74ac123c9f349aa904ea4891c6d2fd986f43cfa220c73d9849e7641497c08e4d29414ea
|
||||
DIST circt-1.159.0.tar.gz 10427509 BLAKE2B ff903f05871cae394ef142a01a7a819a372303b469679fd3bce595289fe283b45a6f9a951ac816ff3bfecf2c5601e9c28627c543fbc43d45b65483378d32709a SHA512 3eeaa89474d68035b63f846ba0b00411975306b99584d6f77299590cb6ada55a66d26b3386bb75181063b28e36a502cb60c02f07079ae9d7dd10ac83e996c930
|
||||
DIST llvm-project-040a641988f6ed6f4fab250706ca2b620c1de2d8.tar.gz 275008647 BLAKE2B 6ae8c8f832a34d1cf2721cd133cf674bab7efd2d742bca198a312682504160d0a0b76c03b557436d5a4600570c4fbf5f8c21a20e7db3b6f45a2f63d4e8246a89 SHA512 719c03e7bd215f40bbedac5492d472a5b5686cef8add383a7b8e8e2044d3732e3323d5c24dc458a788a1fe0c329d8d1fcff988ec37cd91571875f8cdfc92a24c
|
||||
|
||||
@@ -1,149 +0,0 @@
|
||||
# Copyright 1999-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="8"
|
||||
|
||||
MY_PV="${PV//./\/}"
|
||||
MY_LLVM_PV="040a641988f6ed6f4fab250706ca2b620c1de2d8"
|
||||
CMAKE_BUILD_TYPE="Release"
|
||||
PYTHON_COMPAT=( python3_{12..14} )
|
||||
inherit cmake python-r1
|
||||
|
||||
DESCRIPTION="The fast free Verilog/SystemVerilog simulator"
|
||||
HOMEPAGE="
|
||||
https://circt.llvm.org
|
||||
https://github.com/llvm/circt
|
||||
"
|
||||
|
||||
if [[ "${PV}" == "9999" ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/llvm/${PN}.git"
|
||||
S_CIRCT="${EGIT_CHECKOUT_DIR}"
|
||||
S_LLVM="${S_CIRCT}/llvm"
|
||||
S="${S_LLVM}/llvm"
|
||||
else
|
||||
SRC_URI="
|
||||
https://github.com/llvm/circt/archive/refs/tags/firtool-${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://github.com/llvm/llvm-project/archive/${MY_LLVM_PV}.tar.gz -> llvm-project-${MY_LLVM_PV}.tar.gz
|
||||
"
|
||||
KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
|
||||
S_CIRCT="${WORKDIR}/${PN}-firtool-${PV}"
|
||||
S_LLVM="${WORKDIR}/llvm-project-${MY_LLVM_PV}"
|
||||
S="${S_LLVM}/llvm"
|
||||
fi
|
||||
|
||||
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
REQUIRED_USE=" ${PYTHON_REQUIRED_USE} "
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
test? (
|
||||
dev-python/psutil[${PYTHON_USEDEP}]
|
||||
sci-electronics/verilator
|
||||
)
|
||||
app-arch/zstd:=
|
||||
sys-libs/ncurses:0=
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
DOCS=(
|
||||
"${S_LLVM}/llvm/llvm-LICENSE.TXT"
|
||||
"${S_LLVM}/mlir/mlir-LICENSE.TXT"
|
||||
"${S_CIRCT}/circt-LICENSE"
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
python_setup
|
||||
|
||||
local mycmakeargs=(
|
||||
-D Python3_EXECUTABLE="${PYTHON}"
|
||||
-D CMAKE_INSTALL_PREFIX=/usr
|
||||
-D CMAKE_SKIP_RPATH=ON
|
||||
-D LLVM_ENABLE_PROJECTS=mlir
|
||||
-D BUILD_SHARED_LIBS=OFF
|
||||
-D LLVM_STATIC_LINK_CXX_STDLIB=ON
|
||||
-D LLVM_ENABLE_ASSERTIONS=ON
|
||||
# Link zstd deterministically rather than letting cmake autodetect
|
||||
# it, so the app-arch/zstd RDEPEND always matches. See
|
||||
# https://bugs.gentoo.org/977877
|
||||
-D LLVM_ENABLE_ZSTD=FORCE_ON
|
||||
# We do not link Z3 into circt, so the SMT/LEC passes and the z3
|
||||
# integration tests cannot work. Disable z3 discovery entirely so
|
||||
# those tests are skipped instead of detected-but-broken. Without
|
||||
# this, a z3 binary on PATH enables the lit 'z3' feature and tests
|
||||
# like circt-synth/functional-reduction-z3.mlir run and fail.
|
||||
-D Z3_DISABLE=ON
|
||||
-D LLVM_BUILD_EXAMPLES=OFF
|
||||
-D LLVM_ENABLE_BINDINGS=OFF
|
||||
-D LLVM_ENABLE_OCAMLDOC=OFF
|
||||
-D LLVM_OPTIMIZED_TABLEGEN=OFF
|
||||
-D LLVM_EXTERNAL_PROJECTS=circt
|
||||
-D LLVM_EXTERNAL_CIRCT_SOURCE_DIR="${S_CIRCT}"
|
||||
-D LLVM_BUILD_TOOLS=ON
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Only exercise CIRCT's own suites. check-mlir runs upstream MLIR
|
||||
# mlir-runner JIT tests that dlopen the MLIR runtime shared libraries,
|
||||
# which our static CMAKE_SKIP_RPATH build does not expose, and which are
|
||||
# out of scope for packaging CIRCT. See https://bugs.gentoo.org/977441
|
||||
#
|
||||
# The circt-tblgen RTG instruction tests include mlir tablegen headers
|
||||
# through circt's llvm submodule path (llvm/mlir/include), which is empty
|
||||
# in the release tarball because we build against a separate llvm-project
|
||||
# checkout. Point it at the real tree so those tests find
|
||||
# mlir/IR/OpBase.td instead of failing.
|
||||
if [[ ! -L ${S_CIRCT}/llvm ]]; then
|
||||
rmdir "${S_CIRCT}/llvm" || die
|
||||
ln -s "${S_LLVM}" "${S_CIRCT}/llvm" || die
|
||||
fi
|
||||
pushd "${BUILD_DIR}" || die
|
||||
eninja check-circt
|
||||
eninja check-circt-integration
|
||||
popd || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
mv "${S_LLVM}/llvm/LICENSE.TXT" "${S_LLVM}/llvm/llvm-LICENSE.TXT" || die
|
||||
mv "${S_LLVM}/mlir/LICENSE.TXT" "${S_LLVM}/mlir/mlir-LICENSE.TXT" || die
|
||||
mv "${S_CIRCT}/LICENSE" "${S_CIRCT}/circt-LICENSE" || die
|
||||
einstalldocs
|
||||
|
||||
# Several tools are only built when their optional frontend is present:
|
||||
# circt-verilog and circt-verilog-lsp-server need the slang
|
||||
# SystemVerilog parser, circt-bmc and circt-lec need Z3. When those are
|
||||
# unavailable the upstream build simply omits the binaries, so install
|
||||
# whatever got built instead of aborting. See
|
||||
# https://bugs.gentoo.org/977442
|
||||
local tool
|
||||
local tools=(
|
||||
arcilator circt-as circt-bmc circt-cocotb-driver.py circt-dis
|
||||
circt-lec circt-lsp-server circt-opt circt-reduce circt-rtl-sim.py
|
||||
circt-synth circt-test circt-translate circt-verilog
|
||||
circt-verilog-lsp-server domaintool firld firtool handshake-runner
|
||||
hlstool kanagawatool om-linker py-split-input-file.py
|
||||
)
|
||||
exeinto /usr/bin
|
||||
for tool in "${tools[@]}"; do
|
||||
if [[ -e "${BUILD_DIR}/bin/${tool}" ]]; then
|
||||
doexe "${BUILD_DIR}/bin/${tool}"
|
||||
else
|
||||
ewarn "Skipping ${tool}, not built (optional frontend unavailable)"
|
||||
fi
|
||||
done
|
||||
|
||||
[[ -e "${ED}/usr/bin/firtool" ]] || die "firtool was not built"
|
||||
}
|
||||
Reference in new issue
Block a user