mirror of
https://github.com/gentoo-mirror/guru.git
synced 2025-04-20 00:08:58 -04:00
sci-electronics/yosys: new package, add 0.32, 0.40
Signed-off-by: Huang Rui <vowstar@gmail.com>
This commit is contained in:
parent
239efc4602
commit
f756ce0042
4
sci-electronics/yosys/Manifest
Normal file
4
sci-electronics/yosys/Manifest
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
DIST abc-0cd90d0d2c5338277d832a1d890bed286486bcf5.tar.gz 6154902 BLAKE2B 1767891c9ae76aa0baea85a26a22dace92912affe857f9637abc90827b3193e2cf736e7b81cb2c3e56d80d76a98220863e0669fff5df9fa86ee4c990c594edd2 SHA512 7233edda97b6a2dfbb285b1884befc515b246392050cf01ae623c6bac4b4203cd667022f2fda21c068efc3d72a9fe50c3a66a2f16399fe959bea95f33e305f94
|
||||||
|
DIST abc-bb64142b07794ee685494564471e67365a093710.tar.gz 6119314 BLAKE2B 6cba6362e59bb766d784a1c9edeca8906bf2b08df79d44a16ddb69c72c30e57c95a8375e0b0bad489c35a9a3728c1ccdd1b7fe84d5f5f48f113d59f7615aab8d SHA512 74d1c7c4b204fe30e85e31ed837feadbda9759afd9703ad525a1de53cb704d0f59ac25f78b918e3003fbc87b3afd293d138e0cfc1b38df9139a9aea8f5737fe7
|
||||||
|
DIST yosys-0.32.tar.gz 2552341 BLAKE2B 491cd92de29097f3f9baca4c0982acc7fa180ae3b4ee5980b5246618520b3b0d53f0489615fba903838daef35b7a676106ef8b56e6f22ccc5e927429174dc4ac SHA512 3704ca8286e93ca53344b2a518ba4f2b9c137cf9688a95863f691cce3cca761d061100d3b93a0ad1dbabda13c0dbb137c5234abb6675ce2e5b5167701ccb0910
|
||||||
|
DIST yosys-0.40.tar.gz 2802706 BLAKE2B d44a436b48bb0c65f67ee398a1663f309e169a22d1a55a0ac46ba60c6fbe9d60a31476e577c091c11bfec687491885df94db6ab6e6c135c014f813f9f7fb7811 SHA512 b42afbd9f4d65fe81110c0516e1d5d2cb8accc7fcc8f5bc79887d788547bab74292933b062405cf7c93c74311ad633a12c2ee11be55d7a803445dfac372937cd
|
226
sci-electronics/yosys/files/yosys-0.31-abc-c++17-fix.patch
Normal file
226
sci-electronics/yosys/files/yosys-0.31-abc-c++17-fix.patch
Normal file
@ -0,0 +1,226 @@
|
|||||||
|
--- yosys-yosys-0.31/abc/src/misc/zlib/trees.c 2023-06-28 02:10:24.000000000 -0700
|
||||||
|
+++ yosys-yosys-0.31/abc/src/misc/zlib/trees.c 2023-07-18 08:56:03.335795722 -0700
|
||||||
|
@@ -1144,7 +1144,7 @@
|
||||||
|
*/
|
||||||
|
local unsigned bi_reverse(unsigned code, int len)
|
||||||
|
{
|
||||||
|
- register unsigned res = 0;
|
||||||
|
+ unsigned res = 0;
|
||||||
|
do {
|
||||||
|
res |= code & 1;
|
||||||
|
code >>= 1, res <<= 1;
|
||||||
|
--- yosys-yosys-0.31/abc/src/misc/zlib/crc32.c 2023-06-28 02:10:24.000000000 -0700
|
||||||
|
+++ yosys-yosys-0.31/abc/src/misc/zlib/crc32.c 2023-07-18 08:55:38.138798430 -0700
|
||||||
|
@@ -269,8 +269,8 @@
|
||||||
|
/* ========================================================================= */
|
||||||
|
local unsigned long crc32_little(unsigned long crc, const unsigned char FAR *buf, unsigned len)
|
||||||
|
{
|
||||||
|
- register u4 c;
|
||||||
|
- register const u4 FAR *buf4;
|
||||||
|
+ u4 c;
|
||||||
|
+ const u4 FAR *buf4;
|
||||||
|
|
||||||
|
c = (u4)crc;
|
||||||
|
c = ~c;
|
||||||
|
@@ -306,8 +306,8 @@
|
||||||
|
/* ========================================================================= */
|
||||||
|
local unsigned long crc32_big(unsigned long crc, const unsigned char FAR *buf, unsigned len)
|
||||||
|
{
|
||||||
|
- register u4 c;
|
||||||
|
- register const u4 FAR *buf4;
|
||||||
|
+ u4 c;
|
||||||
|
+ const u4 FAR *buf4;
|
||||||
|
|
||||||
|
c = REV((u4)crc);
|
||||||
|
c = ~c;
|
||||||
|
--- yosys-yosys-0.31/abc/src/misc/zlib/deflate.c 2023-06-28 02:10:24.000000000 -0700
|
||||||
|
+++ yosys-yosys-0.31/abc/src/misc/zlib/deflate.c 2023-07-18 08:55:10.870801362 -0700
|
||||||
|
@@ -1027,9 +1027,9 @@
|
||||||
|
local uInt longest_match(deflate_state *s, IPos cur_match)
|
||||||
|
{
|
||||||
|
unsigned chain_length = s->max_chain_length;/* max hash chain length */
|
||||||
|
- register Bytef *scan = s->window + s->strstart; /* current string */
|
||||||
|
- register Bytef *match; /* matched string */
|
||||||
|
- register int len; /* length of current match */
|
||||||
|
+ Bytef *scan = s->window + s->strstart; /* current string */
|
||||||
|
+ Bytef *match; /* matched string */
|
||||||
|
+ int len; /* length of current match */
|
||||||
|
int best_len = s->prev_length; /* best match length so far */
|
||||||
|
int nice_match = s->nice_match; /* stop if match long enough */
|
||||||
|
IPos limit = s->strstart > (IPos)MAX_DIST(s) ?
|
||||||
|
@@ -1044,13 +1044,13 @@
|
||||||
|
/* Compare two bytes at a time. Note: this is not always beneficial.
|
||||||
|
* Try with and without -DUNALIGNED_OK to check.
|
||||||
|
*/
|
||||||
|
- register Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
|
||||||
|
- register ush scan_start = *(ushf*)scan;
|
||||||
|
- register ush scan_end = *(ushf*)(scan+best_len-1);
|
||||||
|
+ Bytef *strend = s->window + s->strstart + MAX_MATCH - 1;
|
||||||
|
+ ush scan_start = *(ushf*)scan;
|
||||||
|
+ ush scan_end = *(ushf*)(scan+best_len-1);
|
||||||
|
#else
|
||||||
|
- register Bytef *strend = s->window + s->strstart + MAX_MATCH;
|
||||||
|
- register Byte scan_end1 = scan[best_len-1];
|
||||||
|
- register Byte scan_end = scan[best_len];
|
||||||
|
+ Bytef *strend = s->window + s->strstart + MAX_MATCH;
|
||||||
|
+ Byte scan_end1 = scan[best_len-1];
|
||||||
|
+ Byte scan_end = scan[best_len];
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
|
||||||
|
@@ -1173,10 +1173,10 @@
|
||||||
|
*/
|
||||||
|
local uInt longest_match(deflate_state *s, IPos cur_match)
|
||||||
|
{
|
||||||
|
- register Bytef *scan = s->window + s->strstart; /* current string */
|
||||||
|
- register Bytef *match; /* matched string */
|
||||||
|
- register int len; /* length of current match */
|
||||||
|
- register Bytef *strend = s->window + s->strstart + MAX_MATCH;
|
||||||
|
+ Bytef *scan = s->window + s->strstart; /* current string */
|
||||||
|
+ Bytef *match; /* matched string */
|
||||||
|
+ int len; /* length of current match */
|
||||||
|
+ Bytef *strend = s->window + s->strstart + MAX_MATCH;
|
||||||
|
|
||||||
|
/* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.
|
||||||
|
* It is easy to get rid of this optimization if necessary.
|
||||||
|
@@ -1261,8 +1261,8 @@
|
||||||
|
*/
|
||||||
|
local void fill_window(deflate_state *s)
|
||||||
|
{
|
||||||
|
- register unsigned n, m;
|
||||||
|
- register Posf *p;
|
||||||
|
+ unsigned n, m;
|
||||||
|
+ Posf *p;
|
||||||
|
unsigned more; /* Amount of free space at the end of the window. */
|
||||||
|
uInt wsize = s->w_size;
|
||||||
|
|
||||||
|
--- yosys-yosys-0.31/abc/src/misc/extra/extraUtilUtil.c 2023-06-28 02:10:24.000000000 -0700
|
||||||
|
+++ yosys-yosys-0.31/abc/src/misc/extra/extraUtilUtil.c 2023-07-18 08:53:09.857814372 -0700
|
||||||
|
@@ -97,8 +97,8 @@
|
||||||
|
***********************************************************************/
|
||||||
|
int Extra_UtilGetopt( int argc, char *argv[], const char *optstring )
|
||||||
|
{
|
||||||
|
- register int c;
|
||||||
|
- register const char *place;
|
||||||
|
+ int c;
|
||||||
|
+ const char *place;
|
||||||
|
|
||||||
|
globalUtilOptarg = NULL;
|
||||||
|
|
||||||
|
--- yosys-yosys-0.31/abc/src/misc/bzlib/compress.c 2023-06-28 02:10:24.000000000 -0700
|
||||||
|
+++ yosys-yosys-0.31/abc/src/misc/bzlib/compress.c 2023-07-18 08:54:26.994806079 -0700
|
||||||
|
@@ -190,15 +190,15 @@
|
||||||
|
zPend = 0;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
- register UChar rtmp;
|
||||||
|
- register UChar* ryy_j;
|
||||||
|
- register UChar rll_i;
|
||||||
|
+ UChar rtmp;
|
||||||
|
+ UChar* ryy_j;
|
||||||
|
+ UChar rll_i;
|
||||||
|
rtmp = yy[1];
|
||||||
|
yy[1] = yy[0];
|
||||||
|
ryy_j = &(yy[1]);
|
||||||
|
rll_i = ll_i;
|
||||||
|
while ( rll_i != rtmp ) {
|
||||||
|
- register UChar rtmp2;
|
||||||
|
+ UChar rtmp2;
|
||||||
|
ryy_j++;
|
||||||
|
rtmp2 = rtmp;
|
||||||
|
rtmp = *ryy_j;
|
||||||
|
@@ -360,8 +360,8 @@
|
||||||
|
|
||||||
|
if (nGroups == 6 && 50 == ge-gs+1) {
|
||||||
|
/*--- fast track the common case ---*/
|
||||||
|
- register UInt32 cost01, cost23, cost45;
|
||||||
|
- register UInt16 icv;
|
||||||
|
+ UInt32 cost01, cost23, cost45;
|
||||||
|
+ UInt16 icv;
|
||||||
|
cost01 = cost23 = cost45 = 0;
|
||||||
|
|
||||||
|
# define BZ_ITER(nn) \
|
||||||
|
--- yosys-yosys-0.31/abc/src/bdd/cudd/cuddSat.c 2023-06-28 02:10:24.000000000 -0700
|
||||||
|
+++ yosys-yosys-0.31/abc/src/bdd/cudd/cuddSat.c 2023-07-18 08:59:43.372772066 -0700
|
||||||
|
@@ -279,7 +279,7 @@
|
||||||
|
DdNode * f,
|
||||||
|
int * length)
|
||||||
|
{
|
||||||
|
- register DdNode *F;
|
||||||
|
+ DdNode *F;
|
||||||
|
st__table *visited;
|
||||||
|
DdNode *sol;
|
||||||
|
cuddPathPair *rootPair;
|
||||||
|
@@ -351,7 +351,7 @@
|
||||||
|
DdNode * f,
|
||||||
|
int * weight)
|
||||||
|
{
|
||||||
|
- register DdNode *F;
|
||||||
|
+ DdNode *F;
|
||||||
|
st__table *visited;
|
||||||
|
cuddPathPair *my_pair;
|
||||||
|
int complement, cost;
|
||||||
|
--- yosys-yosys-0.31/abc/src/bdd/cudd/cuddSplit.c 2023-06-28 02:10:24.000000000 -0700
|
||||||
|
+++ yosys-yosys-0.31/abc/src/bdd/cudd/cuddSplit.c 2023-07-18 08:59:42.987772107 -0700
|
||||||
|
@@ -638,8 +638,8 @@
|
||||||
|
{
|
||||||
|
|
||||||
|
DdNode *N,*Nv,*Nnv;
|
||||||
|
- register double min_v,min_nv;
|
||||||
|
- register double min_N;
|
||||||
|
+ double min_v,min_nv;
|
||||||
|
+ double min_N;
|
||||||
|
double *pmin;
|
||||||
|
double *dummy;
|
||||||
|
|
||||||
|
--- yosys-yosys-0.31/abc/src/bdd/cudd/cuddCache.c 2023-06-28 02:10:24.000000000 -0700
|
||||||
|
+++ yosys-yosys-0.31/abc/src/bdd/cudd/cuddCache.c 2023-07-18 08:58:14.403781631 -0700
|
||||||
|
@@ -229,7 +229,7 @@
|
||||||
|
{
|
||||||
|
int posn;
|
||||||
|
unsigned hash;
|
||||||
|
- register DdCache *entry;
|
||||||
|
+ DdCache *entry;
|
||||||
|
ptruint uf, ug, uh;
|
||||||
|
ptruint ufc, ugc, uhc;
|
||||||
|
|
||||||
|
@@ -283,7 +283,7 @@
|
||||||
|
{
|
||||||
|
int posn;
|
||||||
|
unsigned hash;
|
||||||
|
- register DdCache *entry;
|
||||||
|
+ DdCache *entry;
|
||||||
|
|
||||||
|
hash = ddCHash2_(op,cuddF2L(f),cuddF2L(g));
|
||||||
|
// posn = ddCHash2(op,cuddF2L(f),cuddF2L(g),table->cacheShift);
|
||||||
|
@@ -328,7 +328,7 @@
|
||||||
|
{
|
||||||
|
int posn;
|
||||||
|
unsigned hash;
|
||||||
|
- register DdCache *entry;
|
||||||
|
+ DdCache *entry;
|
||||||
|
|
||||||
|
hash = ddCHash2_(op,cuddF2L(f),cuddF2L(f));
|
||||||
|
// posn = ddCHash2(op,cuddF2L(f),cuddF2L(f),table->cacheShift);
|
||||||
|
--- yosys-yosys-0.31/abc/src/bdd/cudd/cuddBddIte.c 2023-06-28 02:10:24.000000000 -0700
|
||||||
|
+++ yosys-yosys-0.31/abc/src/bdd/cudd/cuddBddIte.c 2023-07-18 08:58:13.834781692 -0700
|
||||||
|
@@ -1203,8 +1203,8 @@
|
||||||
|
unsigned int * topgp,
|
||||||
|
unsigned int * tophp)
|
||||||
|
{
|
||||||
|
- register DdNode *F, *G, *H, *r, *f, *g, *h;
|
||||||
|
- register unsigned int topf, topg, toph;
|
||||||
|
+ DdNode *F, *G, *H, *r, *f, *g, *h;
|
||||||
|
+ unsigned int topf, topg, toph;
|
||||||
|
DdNode *one = dd->one;
|
||||||
|
int comple, change;
|
||||||
|
|
||||||
|
@@ -1305,7 +1305,7 @@
|
||||||
|
unsigned int * topgp,
|
||||||
|
unsigned int * tophp)
|
||||||
|
{
|
||||||
|
- register DdNode *r, *f, *g, *h;
|
||||||
|
+ DdNode *r, *f, *g, *h;
|
||||||
|
int comple, change;
|
||||||
|
|
||||||
|
f = *fp;
|
29
sci-electronics/yosys/metadata.xml
Normal file
29
sci-electronics/yosys/metadata.xml
Normal 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>
|
||||||
|
<upstream>
|
||||||
|
<remote-id type="github">YosysHQ/yosys</remote-id>
|
||||||
|
</upstream>
|
||||||
|
<longdescription lang="en">
|
||||||
|
This is a framework for RTL synthesis tools. It currently has extensive
|
||||||
|
Verilog-2005 support and provides a basic set of synthesis algorithms
|
||||||
|
for various application domains.
|
||||||
|
Yosys can be adapted to perform any synthesis job by combining the
|
||||||
|
existing passes (algorithms) using synthesis scripts and adding
|
||||||
|
additional passes as needed by extending the yosys C++ code base.
|
||||||
|
Yosys is free software licensed under the ISC license (a GPL compatible
|
||||||
|
license that is similar in terms to the MIT license or the 2-clause BSD
|
||||||
|
license).
|
||||||
|
</longdescription>
|
||||||
|
<longdescription lang="zh">
|
||||||
|
这是一个针对RTL合成工具的框架。它目前广泛支持Verilog-2005,并提供一套
|
||||||
|
基础的合成算法用于多种应用领域。Yosys可以通过组合现有的合成脚本中的算法,
|
||||||
|
并根据需要扩展Yosys的C++代码库来添加额外的算法,从而适应任何合成任务。
|
||||||
|
Yosys是根据ISC许可证发布的免费软件,这是一种与GPL兼容的许可证,其条款与
|
||||||
|
MIT许可证或二条款BSD许可证类似。
|
||||||
|
</longdescription>
|
||||||
|
</pkgmetadata>
|
44
sci-electronics/yosys/yosys-0.32.ebuild
Normal file
44
sci-electronics/yosys/yosys-0.32.ebuild
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
# Copyright 1999-2024 Gentoo Authors
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# get the current value from the yosys makefile...look for ABCREV
|
||||||
|
ABC_GIT_COMMIT=bb64142b07794ee685494564471e67365a093710
|
||||||
|
|
||||||
|
DESCRIPTION="framework for Verilog RTL synthesis"
|
||||||
|
HOMEPAGE="http://www.clifford.at/yosys/"
|
||||||
|
SRC_URI="
|
||||||
|
https://github.com/YosysHQ/${PN}/archive/${P}.tar.gz
|
||||||
|
https://github.com/YosysHQ/abc/archive/${ABC_GIT_COMMIT}.tar.gz -> abc-${ABC_GIT_COMMIT}.tar.gz
|
||||||
|
"
|
||||||
|
S="${WORKDIR}/${PN}-${PN}-${PV}"
|
||||||
|
LICENSE="ISC"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
dev-libs/boost
|
||||||
|
media-gfx/xdot
|
||||||
|
sys-devel/clang
|
||||||
|
"
|
||||||
|
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
BDEPEND="dev-vcs/git"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${FILESDIR}/${PN}-0.31-abc-c++17-fix.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
QA_PRESTRIPPED="
|
||||||
|
/usr/bin/yosys-filterlib
|
||||||
|
/usr/bin/yosys-abc
|
||||||
|
"
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
mv "${WORKDIR}/abc-${ABC_GIT_COMMIT}" "${S}"/abc || die
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
emake DESTDIR="${D}" PREFIX='/usr' install
|
||||||
|
}
|
40
sci-electronics/yosys/yosys-0.40.ebuild
Normal file
40
sci-electronics/yosys/yosys-0.40.ebuild
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
# Copyright 1999-2024 Gentoo Authors
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# get the current value from the yosys makefile...look for ABCREV
|
||||||
|
ABC_GIT_COMMIT=0cd90d0d2c5338277d832a1d890bed286486bcf5
|
||||||
|
|
||||||
|
DESCRIPTION="framework for Verilog RTL synthesis"
|
||||||
|
HOMEPAGE="http://www.clifford.at/yosys/"
|
||||||
|
SRC_URI="
|
||||||
|
https://github.com/YosysHQ/${PN}/archive/${P}.tar.gz
|
||||||
|
https://github.com/YosysHQ/abc/archive/${ABC_GIT_COMMIT}.tar.gz -> abc-${ABC_GIT_COMMIT}.tar.gz
|
||||||
|
"
|
||||||
|
S="${WORKDIR}/${PN}-${PN}-${PV}"
|
||||||
|
LICENSE="ISC"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64"
|
||||||
|
|
||||||
|
RDEPEND="
|
||||||
|
dev-libs/boost
|
||||||
|
media-gfx/xdot
|
||||||
|
sys-devel/clang
|
||||||
|
"
|
||||||
|
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
BDEPEND="dev-vcs/git"
|
||||||
|
|
||||||
|
QA_PRESTRIPPED="
|
||||||
|
/usr/bin/yosys-filterlib
|
||||||
|
/usr/bin/yosys-abc
|
||||||
|
"
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
mv "${WORKDIR}/abc-${ABC_GIT_COMMIT}" "${S}"/abc || die
|
||||||
|
default
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
emake DESTDIR="${D}" PREFIX='/usr' install
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user