Compare commits

...
Sign in to create a new pull request.

6 commits

Author SHA1 Message Date
Gabriel Somlo
ec3d1922dd update to newer 0.67 snapshot 2026-07-13 21:37:58 -04:00
Gabriel Somlo
359ff1814d update to 0.67 2026-07-12 12:36:05 -04:00
Gabriel Somlo
fa2d252a00 update to 0.66 snapshot 2026-06-03 05:46:17 -04:00
Gabriel Somlo
19ffbdba75 update to 0.65 snapshot 2026-05-19 09:05:22 -04:00
Gabriel Somlo
2f571bc948 update to 0.63 snapshot 2026-03-07 18:25:59 -05:00
Gabriel Somlo
db2d52d057 update to 0.62 2026-02-11 09:18:30 -05:00
7 changed files with 104 additions and 171 deletions

7
.gitignore vendored
View file

@ -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

View 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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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