Compare commits
6 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ec3d1922dd | ||
|
|
359ff1814d | ||
|
|
fa2d252a00 | ||
|
|
19ffbdba75 | ||
|
|
2f571bc948 | ||
|
|
db2d52d057 |
7 changed files with 104 additions and 171 deletions
7
.gitignore
vendored
7
.gitignore
vendored
|
|
@ -64,3 +64,10 @@
|
|||
/yosys-529886f.tar.gz
|
||||
/yosys-0e31e38.tar.gz
|
||||
/yosys-967b47d.tar.gz
|
||||
/yosys-1717fa0.tar.gz
|
||||
/yosys-3bc26ff.tar.gz
|
||||
/yosys-90c26fe.tar.gz
|
||||
/yosys-86f2dde.tar.gz
|
||||
/yosys-b88b73a.tar.gz
|
||||
/yosys_0.65-1.debian.tar.xz
|
||||
/yosys-22c15a7.tar.gz
|
||||
|
|
|
|||
49
0001-fedora-unbundle-cxxopts.patch
Normal file
49
0001-fedora-unbundle-cxxopts.patch
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
From e54bbc1ffa4b8f81559e3e4d9d2521e9d83f1748 Mon Sep 17 00:00:00 2001
|
||||
From: Gabriel Somlo <gsomlo@gmail.com>
|
||||
Date: Mon, 13 Jul 2026 17:01:17 -0400
|
||||
Subject: [PATCH] fedora: unbundle cxxopts
|
||||
|
||||
---
|
||||
kernel/CMakeLists.txt | 1 -
|
||||
kernel/driver.cc | 2 +-
|
||||
libs/CMakeLists.txt | 1 -
|
||||
3 files changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt
|
||||
index 4cd76b4ff..24d86997b 100644
|
||||
--- a/kernel/CMakeLists.txt
|
||||
+++ b/kernel/CMakeLists.txt
|
||||
@@ -91,7 +91,6 @@ yosys_core(kernel
|
||||
INCLUDE_DIRS
|
||||
${pybind11_INCLUDE_DIR}
|
||||
LIBRARIES
|
||||
- cxxopts
|
||||
$<${YOSYS_ENABLE_PLUGINS}:${Dlfcn_LIBRARIES}>
|
||||
$<${YOSYS_ENABLE_ZLIB}:PkgConfig::zlib>
|
||||
$<${YOSYS_ENABLE_READLINE}:PkgConfig::readline>
|
||||
diff --git a/kernel/driver.cc b/kernel/driver.cc
|
||||
index 2a4ad1295..7bb67ffea 100644
|
||||
--- a/kernel/driver.cc
|
||||
+++ b/kernel/driver.cc
|
||||
@@ -21,7 +21,7 @@
|
||||
#include "kernel/hashlib.h"
|
||||
#include "libs/sha1/sha1.h"
|
||||
#define CXXOPTS_VECTOR_DELIMITER '\0'
|
||||
-#include "libs/cxxopts/include/cxxopts.hpp"
|
||||
+#include <cxxopts.hpp>
|
||||
#include <iostream>
|
||||
#include <chrono>
|
||||
|
||||
diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt
|
||||
index cb81b3af2..4eb313c5d 100644
|
||||
--- a/libs/CMakeLists.txt
|
||||
+++ b/libs/CMakeLists.txt
|
||||
@@ -1,5 +1,4 @@
|
||||
add_subdirectory(bigint)
|
||||
-add_subdirectory(cxxopts)
|
||||
add_subdirectory(dlfcn-win32)
|
||||
add_subdirectory(ezsat)
|
||||
add_subdirectory(fst)
|
||||
--
|
||||
2.54.0
|
||||
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
From a4c9a540f45e066d2ea3d37c94148d7d381da6da Mon Sep 17 00:00:00 2001
|
||||
From: Gabriel Somlo <gsomlo@gmail.com>
|
||||
Date: Tue, 16 Jul 2024 15:20:56 -0400
|
||||
Subject: [PATCH 1/3] fedora yosys-cfginc patch
|
||||
|
||||
Fedora-specific patch:
|
||||
Change the substitution done when making yosys-config so that it outputs
|
||||
CXXFLAGS with -I/usr/include/yosys
|
||||
---
|
||||
Makefile | 2 +-
|
||||
tests/various/plugin.sh | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 775cf8828..e2b8ed888 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -808,7 +808,7 @@ LIBS_NOVERIFIC = $(LIBS)
|
||||
endif
|
||||
|
||||
$(PROGRAM_PREFIX)yosys-config: misc/yosys-config.in $(YOSYS_SRC)/Makefile
|
||||
- $(P) $(SED) -e 's#@CXXFLAGS@#$(subst -Ilibs/dlfcn-win32,,$(subst -I. -I"$(YOSYS_SRC)",-I"$(DATDIR)/include",$(strip $(CXXFLAGS_NOVERIFIC))))#;' \
|
||||
+ $(P) $(SED) -e 's#@CXXFLAGS@#$(subst -Ilibs/dlfcn-win32,,$(subst -I. -I"$(YOSYS_SRC)",-I"$(PREFIX)/include/yosys",$(strip $(CXXFLAGS_NOVERIFIC))))#;' \
|
||||
-e 's#@CXX@#$(strip $(CXX))#;' -e 's#@LINKFLAGS@#$(strip $(LINKFLAGS) $(PLUGIN_LINKFLAGS))#;' -e 's#@LIBS@#$(strip $(LIBS_NOVERIFIC) $(PLUGIN_LIBS))#;' \
|
||||
-e 's#@BINDIR@#$(strip $(BINDIR))#;' -e 's#@DATDIR@#$(strip $(DATDIR))#;' < $< > $(PROGRAM_PREFIX)yosys-config
|
||||
$(Q) chmod +x $(PROGRAM_PREFIX)yosys-config
|
||||
diff --git a/tests/various/plugin.sh b/tests/various/plugin.sh
|
||||
index 75b4c9e56..ddc8f139f 100644
|
||||
--- a/tests/various/plugin.sh
|
||||
+++ b/tests/various/plugin.sh
|
||||
@@ -4,7 +4,7 @@ rm -rf plugin_search
|
||||
CXXFLAGS=$(../../yosys-config --cxxflags)
|
||||
DATDIR=$(../../yosys-config --datdir)
|
||||
DATDIR=${DATDIR//\//\\\/}
|
||||
-CXXFLAGS=${CXXFLAGS//$DATDIR/..\/..\/share}
|
||||
+CXXFLAGS=${CXXFLAGS//\/usr\/include\/yosys/..\/..\/share\/include}
|
||||
../../yosys-config --exec --cxx ${CXXFLAGS} --ldflags -shared -o plugin.so plugin.cc
|
||||
../../yosys -m ./plugin.so -p "test" | grep -q "Plugin test passed!"
|
||||
mkdir -p plugin_search
|
||||
--
|
||||
2.52.0
|
||||
|
||||
|
|
@ -1,72 +0,0 @@
|
|||
From 5bb7625fe0f90ec3a35ac2d3992383a91a301497 Mon Sep 17 00:00:00 2001
|
||||
From: Gabriel Somlo <gsomlo@gmail.com>
|
||||
Date: Thu, 5 Sep 2024 20:56:02 -0400
|
||||
Subject: [PATCH 2/3] fedora yosys-mancfginc patch
|
||||
|
||||
Fedora-specific patch:
|
||||
When invoking yosys-config for examples in "make docs", need to use
|
||||
relative path for includes, as they're not installed in build host
|
||||
filesystem.
|
||||
---
|
||||
docs/source/code_examples/extensions/Makefile | 2 +-
|
||||
docs/source/code_examples/extensions/my_cmd.cc | 4 ++--
|
||||
docs/source/code_examples/stubnets/Makefile | 2 +-
|
||||
docs/source/code_examples/stubnets/stubnets.cc | 4 ++--
|
||||
4 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/docs/source/code_examples/extensions/Makefile b/docs/source/code_examples/extensions/Makefile
|
||||
index 74b547a20..91e1e7b28 100644
|
||||
--- a/docs/source/code_examples/extensions/Makefile
|
||||
+++ b/docs/source/code_examples/extensions/Makefile
|
||||
@@ -11,7 +11,7 @@ CXXFLAGS=$(shell $(YOSYS)-config --cxxflags)
|
||||
DATDIR=$(shell $(YOSYS)-config --datdir)
|
||||
|
||||
my_cmd.so: my_cmd.cc
|
||||
- $(YOSYS)-config --exec --cxx $(subst $(DATDIR),../../../../share,$(CXXFLAGS)) --ldflags -o my_cmd.so -shared my_cmd.cc --ldlibs
|
||||
+ $(YOSYS)-config --exec --cxx $(subst $(DATDIR),../../../../share,$(CXXFLAGS)) -I../../../../ --ldflags -o my_cmd.so -shared my_cmd.cc --ldlibs
|
||||
|
||||
test0.log: my_cmd.so
|
||||
$(YOSYS) -QTl test0.log_new -m ./my_cmd.so -p 'my_cmd foo bar' -f verilog absval_ref.v
|
||||
diff --git a/docs/source/code_examples/extensions/my_cmd.cc b/docs/source/code_examples/extensions/my_cmd.cc
|
||||
index d52268b4a..6b67f10f3 100644
|
||||
--- a/docs/source/code_examples/extensions/my_cmd.cc
|
||||
+++ b/docs/source/code_examples/extensions/my_cmd.cc
|
||||
@@ -1,5 +1,5 @@
|
||||
-#include "kernel/yosys.h"
|
||||
-#include "kernel/sigtools.h"
|
||||
+#include <kernel/yosys.h>
|
||||
+#include <kernel/sigtools.h>
|
||||
|
||||
USING_YOSYS_NAMESPACE
|
||||
PRIVATE_NAMESPACE_BEGIN
|
||||
diff --git a/docs/source/code_examples/stubnets/Makefile b/docs/source/code_examples/stubnets/Makefile
|
||||
index 17f700c88..a15eb3005 100644
|
||||
--- a/docs/source/code_examples/stubnets/Makefile
|
||||
+++ b/docs/source/code_examples/stubnets/Makefile
|
||||
@@ -11,7 +11,7 @@ test: stubnets.so
|
||||
tail test1.log test2.log test3.log
|
||||
|
||||
stubnets.so: stubnets.cc
|
||||
- yosys-config --exec --cxx --cxxflags --ldflags -o $@ -shared $^ --ldlibs
|
||||
+ yosys-config --exec --cxx --cxxflags -I../../../../ --ldflags -o $@ -shared $^ --ldlibs
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
diff --git a/docs/source/code_examples/stubnets/stubnets.cc b/docs/source/code_examples/stubnets/stubnets.cc
|
||||
index 566d24b18..b09bc567c 100644
|
||||
--- a/docs/source/code_examples/stubnets/stubnets.cc
|
||||
+++ b/docs/source/code_examples/stubnets/stubnets.cc
|
||||
@@ -5,8 +5,8 @@
|
||||
// binary, for any purpose, commercial or non-commercial, and by any
|
||||
// means.
|
||||
|
||||
-#include "kernel/yosys.h"
|
||||
-#include "kernel/sigtools.h"
|
||||
+#include <kernel/yosys.h>
|
||||
+#include <kernel/sigtools.h>
|
||||
|
||||
#include <string>
|
||||
#include <map>
|
||||
--
|
||||
2.52.0
|
||||
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
From 87cff998a8f1a3fe28c447903f6b30c26b35b0fe Mon Sep 17 00:00:00 2001
|
||||
From: Gabriel Somlo <gsomlo@gmail.com>
|
||||
Date: Sat, 11 Jan 2025 17:39:16 -0500
|
||||
Subject: [PATCH 3/3] fedora yosys-cxxopts patch
|
||||
|
||||
Fedora-specific patch:
|
||||
Use relative path (instead of assuming a bundled submodule) when
|
||||
referencing the cxxopts.hpp include file.
|
||||
---
|
||||
kernel/driver.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/kernel/driver.cc b/kernel/driver.cc
|
||||
index fa78bad59..ea1c01f87 100644
|
||||
--- a/kernel/driver.cc
|
||||
+++ b/kernel/driver.cc
|
||||
@@ -21,7 +21,7 @@
|
||||
#include "kernel/hashlib.h"
|
||||
#include "libs/sha1/sha1.h"
|
||||
#define CXXOPTS_VECTOR_DELIMITER '\0'
|
||||
-#include "libs/cxxopts/include/cxxopts.hpp"
|
||||
+#include <cxxopts.hpp>
|
||||
#include <iostream>
|
||||
|
||||
#ifdef YOSYS_ENABLE_READLINE
|
||||
--
|
||||
2.52.0
|
||||
|
||||
4
sources
4
sources
|
|
@ -1,2 +1,2 @@
|
|||
SHA512 (yosys-967b47d.tar.gz) = 418dbfaf3bd5fb38284b284f2e48aa1d5cee94a677a5534510d0d8a5c35128ac228e5164a342b4c825b9c86cc7ae6a9904d4ce62173da4cc08a791bde402684e
|
||||
SHA512 (yosys_0.52-2.debian.tar.xz) = 9ceba3ae42b16a0b8b7f7c6e8248e6b50fb411ccb755948e184c70aafbcbd1121b011338be29c3abf6f473b23c904f2058f7ca36bfea8562e05e10f5cc24ffdf
|
||||
SHA512 (yosys-22c15a7.tar.gz) = 2fbc300e1532e770e6988f19e162fe8cafc2d086418d9b77cf0ba1524679fb305a0e642f95fe57b809fa4b16b74b471e26fdeac2828a43bc2d11ce2c06b21da1
|
||||
SHA512 (yosys_0.65-1.debian.tar.xz) = a0a68a8229b42d48f87618d3c4e40acf3576e8d18188b83ef3d83c277a17c09ea783fab45dfc3c52cc0fcee220af1a00b7d012a258dc3b124a44d65696d490ba
|
||||
|
|
|
|||
73
yosys.spec
73
yosys.spec
|
|
@ -1,11 +1,11 @@
|
|||
%global commit0 967b47d98412bb34b1e32fb9b31ba91792db1d3e
|
||||
%global commit0 22c15a7ecd53437f18f67c72572bd693f78357ca
|
||||
%global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7})
|
||||
|
||||
%global snapdate 20260115
|
||||
%global snapdate 20260713
|
||||
|
||||
Name: yosys
|
||||
Version: 0.61
|
||||
Release: 1.%{snapdate}git%{shortcommit0}%{?dist}
|
||||
Version: 0.67
|
||||
Release: 2.%{snapdate}git%{shortcommit0}%{?dist}
|
||||
Summary: Yosys Open SYnthesis Suite, including Verilog synthesizer
|
||||
License: ISC and MIT
|
||||
URL: http://www.clifford.at/yosys/
|
||||
|
|
@ -14,37 +14,30 @@ Source0: https://github.com/YosysHQ/%{name}/archive/%{commit0}/%{name}-%{
|
|||
Source1: https://github.com/mdaines/viz.js/releases/download/0.0.3/viz.js
|
||||
|
||||
# man pages written for Debian:
|
||||
Source2: http://http.debian.net/debian/pool/main/y/yosys/yosys_0.52-2.debian.tar.xz
|
||||
Source2: http://http.debian.net/debian/pool/main/y/yosys/yosys_0.65-1.debian.tar.xz
|
||||
# requested that upstream include those man pages:
|
||||
# https://github.com/YosysHQ/yosys/issues/278
|
||||
|
||||
# Fedora-specific patch:
|
||||
# Change the substitution done when making yosys-config so that it outputs
|
||||
# CXXFLAGS with -I/usr/include/yosys
|
||||
Patch1: 0001-fedora-yosys-cfginc-patch.patch
|
||||
# Fedora-specific patch: # unbundle cxxopts dependency
|
||||
Patch1: 0001-fedora-unbundle-cxxopts.patch
|
||||
|
||||
# Fedora-specific patch:
|
||||
# When invoking yosys-config for examples in "make docs", need to use
|
||||
# relative path for includes, as they're not installed in build host
|
||||
# filesystem.
|
||||
Patch2: 0002-fedora-yosys-mancfginc-patch.patch
|
||||
|
||||
# Fedora-specific patch:
|
||||
# Use relative path (instead of assuming a bundled submodule) when
|
||||
# referencing the cxxopts.hpp include file.
|
||||
Patch3: 0003-fedora-yosys-cxxopts-patch.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: cxxopts-devel
|
||||
BuildRequires: bison flex readline-devel pkgconfig
|
||||
BuildRequires: tcl-devel libffi-devel
|
||||
BuildRequires: yosyshq-abc >= 0.61
|
||||
BuildRequires: editline-devel
|
||||
BuildRequires: yosyshq-abc >= 0.67
|
||||
BuildRequires: iverilog >= 12.0
|
||||
BuildRequires: fmt-devel
|
||||
BuildRequires: tomlplusplus-devel
|
||||
BuildRequires: python%{python3_pkgversion}
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: txt2man
|
||||
BuildRequires: gtkwave
|
||||
BuildRequires: gtest-devel
|
||||
BuildRequires: gmock-devel
|
||||
|
||||
# required for documentation:
|
||||
BuildRequires: graphviz
|
||||
|
|
@ -63,7 +56,7 @@ BuildRequires: rsync
|
|||
|
||||
Requires: %{name}-share = %{version}-%{release}
|
||||
Requires: graphviz python-click python-xdot
|
||||
Requires: yosyshq-abc >= 0.57
|
||||
Requires: yosyshq-abc >= 0.67
|
||||
|
||||
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval :
|
||||
ExcludeArch: %{ix86}
|
||||
|
|
@ -118,17 +111,23 @@ do
|
|||
done
|
||||
|
||||
%build
|
||||
make config-gcc
|
||||
%make_build PREFIX="%{_prefix}" ABCEXTERNAL=%{_bindir}/abc PRETTY=0 all
|
||||
# turning off newly-added sv-slang frontend support, for now;
|
||||
# FIXME: decide on packaging slang dependency vs. enabling bundled subrepo!
|
||||
%cmake -DYOSYS_ABC_EXECUTABLE=%{_bindir}/abc \
|
||||
-DYOSYS_WITHOUT_SLANG=ON
|
||||
%cmake_build
|
||||
#manual
|
||||
make ABCEXTERNAL=%{_bindir}/abc DOC_TARGET=latexpdf SPHINXOPTS='' docs
|
||||
# For some reason, `yosys-sbtbmc` & `yosys-witness` python scripts
|
||||
# end up not being executable (which causes building the manual to fail):
|
||||
chmod +x %{__cmake_builddir}/%{name}*
|
||||
%cmake_build -t docs-latexpdf
|
||||
|
||||
date=$(stat -c %y debian/man/yosys-smtbmc.txt | cut -d' ' -f1)
|
||||
txt2man -d $date -t YOSYS-SMTBMC debian/man/yosys-smtbmc.txt >yosys-smtbmc.1
|
||||
|
||||
|
||||
%install
|
||||
%make_install PREFIX="%{_prefix}" ABCEXTERNAL=%{_bindir}/abc STRIP=/bin/true
|
||||
%cmake_install
|
||||
|
||||
# move include files to includedir
|
||||
install -d -m0755 %{buildroot}%{_includedir}
|
||||
|
|
@ -145,7 +144,7 @@ install -m 0644 docs/build/latex/yosyshqyosys.pdf %{buildroot}%{_docdir}/%{name}
|
|||
%py_byte_compile %{python3} %{buildroot}%{_datadir}/yosys/python3
|
||||
|
||||
%check
|
||||
make test ABCEXTERNAL=%{_bindir}/abc SEED=314159265359
|
||||
%cmake_build -t test
|
||||
|
||||
|
||||
%files
|
||||
|
|
@ -174,6 +173,26 @@ make test ABCEXTERNAL=%{_bindir}/abc SEED=314159265359
|
|||
|
||||
|
||||
%changelog
|
||||
* Mon Jul 13 2026 Gabriel Somlo <gsomlo@gmail.com> - 0.67.2.20260713git22c15a7
|
||||
- update to newer 0.67 snapshot
|
||||
- simplify downstream (un-bundling) patch since some upstream support added
|
||||
|
||||
* Thu Jul 09 2026 Gabriel Somlo <gsomlo@gmail.com> - 0.67.1.20260709gitb88b73a
|
||||
- update to 0.67 snapshot
|
||||
- switch build to cmake
|
||||
|
||||
* Mon Jun 01 2026 Gabriel Somlo <gsomlo@gmail.com> - 0.66.1.20260601git86f2dde
|
||||
- update to 0.66 snapshot
|
||||
|
||||
* Tue May 12 2026 Gabriel Somlo <gsomlo@gmail.com> - 0.65.1.20260512git90c26fe
|
||||
- update to 0.65 snapshot
|
||||
|
||||
* Wed Mar 04 2026 Gabriel Somlo <gsomlo@gmail.com> - 0.63.1.20260304git3bc26ff
|
||||
- update to 0.63 snapshot
|
||||
|
||||
* Thu Feb 05 2026 Gabriel Somlo <gsomlo@gmail.com> - 0.62.1.20260205git1717fa0
|
||||
- update to 0.62 snapshot
|
||||
|
||||
* Thu Jan 15 2026 Gabriel Somlo <gsomlo@gmail.com> - 0.61.1.20260115git967b47d
|
||||
- update to 0.61 snapshot
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue