sci-electronics/sby: new package, add 0.60

Signed-off-by: Huang Rui <vowstar@gmail.com>
This commit is contained in:
Huang Rui
2025-12-06 20:35:35 +08:00
parent 98b539f45b
commit 423f665570
3 changed files with 80 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST sby-0.60.tar.gz 173761 BLAKE2B f1da6db7f65c2bf251583fa77fffcfe224ace1a5d2d45d0cbc6884be9afcd178e1ea4f4dc8762988c709dd17c4751fffb90e4ec8aaaa893b57a4963cf17980a9 SHA512 985ccce14784d566af4d74da4415cc28815748d9df42ac24126b06b05978fe2284f8d4b9e63e248941a5fe96ca539162117b5d255eafb18987568888d94a415a

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>vowstar@gmail.com</email>
<name>Huang Rui</name>
</maintainer>
<longdescription lang="en">
SymbiYosys (sby) is a front-end driver program for Yosys-based formal
hardware verification flows. It supports bounded model checking (BMC),
unbounded model checking, and cover property checking for hardware
designs written in Verilog, SystemVerilog, or VHDL. SymbiYosys
integrates with various SMT solvers and model checkers including
Yices, Z3, Boolector, and ABC.
</longdescription>
<longdescription lang="zh">
SymbiYosys (sby) 是基于 Yosys 的形式化硬件验证流程的前端驱动程序。
它支持有界模型检查 (BMC)、无界模型检查和覆盖属性检查,适用于使用
Verilog、SystemVerilog 或 VHDL 编写的硬件设计。SymbiYosys 集成了
多种 SMT 求解器和模型检查器,包括 Yices、Z3、Boolector 和 ABC。
</longdescription>
<use>
<flag name="yices2">Enable Yices2 SMT solver support</flag>
</use>
<upstream>
<remote-id type="github">YosysHQ/sby</remote-id>
<bugs-to>https://github.com/YosysHQ/sby/issues</bugs-to>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,50 @@
# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{11..14} )
inherit python-single-r1
DESCRIPTION="Front-end for Yosys-based formal hardware verification flows"
HOMEPAGE="https://github.com/YosysHQ/sby"
SRC_URI="https://github.com/YosysHQ/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="ISC"
SLOT="0"
KEYWORDS="~amd64"
IUSE="yices2"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/click[${PYTHON_USEDEP}]
')
sci-electronics/yosys
sci-mathematics/z3
yices2? ( sci-mathematics/yices2 )
"
DEPEND="${RDEPEND}"
src_install() {
# Install Python modules to yosys shared directory
insinto /usr/share/yosys/python3
doins sbysrc/sby_*.py
# Install sby_core.py with program prefix substitution
sed -e 's|##yosys-program-prefix##|""|' \
sbysrc/sby_core.py > "${T}/sby_core.py" || die
doins "${T}/sby_core.py"
# Create the sby launcher script with path and version substitutions
# Use absolute path with EPREFIX because python-exec wrapper changes script location
local syspath="sys.path += [\"${EPREFIX}/usr/share/yosys/python3\"]"
sed -e "s|##yosys-sys-path##|${syspath}|" \
-e "s|##yosys-release-version##|release_version = 'SBY ${PV}'|" \
sbysrc/sby.py > "${T}/sby" || die
python_newscript "${T}/sby" sby
dodoc README.md
}