The package rpms/verilator.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/verilator.git/commit/?id=808d1822....
Change:
-%ifarch %{with ccwarn}
Thanks.
Full change:
============
commit 52caaf626236284264a1fa23e9391c689fd116a9
Author: Nolan Poe <npgo22(a)gmail.com>
Date: Mon Apr 1 16:56:07 2024 -0700
Do not package tests
diff --git a/verilator.spec b/verilator.spec
index 9a5821d..66df4b3 100644
--- a/verilator.spec
+++ b/verilator.spec
@@ -98,6 +98,7 @@ Requires: %{name} = %{version}-%{release}
%description doc
This package contains the documentation for %{name}.
+
%prep
%autosetup -p1
find . -name .gitignore -delete
@@ -131,9 +132,6 @@ sed -i 's#/usr/bin/env python3#/usr/bin/python3#g' docs/bin/*
export VERILATOR_SRC_VERSION=fedora-%{version}
%make_build
-%check
-make test
-
%install
%make_install
@@ -144,6 +142,11 @@ mv %{buildroot}%{_datadir}/pkgconfig/verilator.pc
%{buildroot}%{_libdir}/pkgconf
# some tests and examples are CC0 and cannot be packaged into Fedora
rm -rf %{buildroot}%{_datadir}/verilator/examples
+rm -rf %{buildroot}%{_datadir}/verilator/tests
+
+%check
+make test
+
%files
%license Artistic LICENSE
commit 808d182272f1afd8b3df631db58eb8db33627904
Author: Nolan Poe <npgo22(a)gmail.com>
Date: Sun Mar 31 18:57:47 2024 -0700
Improve conformance to modern Fedora packaging guidelines
- Break out packages
- Remove CC0 content
diff --git a/verilator.spec b/verilator.spec
index b3eb7c9..9a5821d 100644
--- a/verilator.spec
+++ b/verilator.spec
@@ -2,16 +2,16 @@
#
https://bugzilla.redhat.com/show_bug.cgi?id=2268659
%bcond longtests 0
-# A warning caused by glibc in F38 fails build
+# A warning caused by glibc in F38 fails build
%if 0%{?fedora} == 38
%ifarch ppc64le
%bcond ccwarn 0
%endif
%else
-%bcond ccwarn 1
+ %bcond ccwarn 1
%endif
-%bcond tcmalloc 0
+%bcond tcmalloc 1
%bcond ccache 0
%bcond mold 0
@@ -74,21 +74,6 @@ BuildRequires: ccache
# required for further tests
BuildRequires: gdb
-# Initial entrypoint needs perl
-Requires: perl-interpreter
-
-# Optional deps
-%if %{with tcmalloc}
-Requires: gperftools-libs
-%endif
-%if %{with ccache}
-Requires: ccache
-%endif
-# NOTE: currently fails on ppc64le
-%if %{with mold}
-Requires: mold
-%endif
-
%description
Verilator is the fastest free Verilog HDL simulator. It compiles
synthesizable Verilog, plus some PSL, SystemVerilog and Synthesis
@@ -97,6 +82,22 @@ where fast simulation performance is of primary concern, and is
especially well suited to create executable models of CPUs for
embedded software design teams.
+%package devel
+Summary: Libraries and header files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+This package contains library and header files needed to develop
+applications based on %{name}.
+
+%package doc
+Summary: Documentation for %{name}
+BuildArch: noarch
+Requires: %{name} = %{version}-%{release}
+
+%description doc
+This package contains the documentation for %{name}.
+
%prep
%autosetup -p1
find . -name .gitignore -delete
@@ -105,7 +106,7 @@ autoconf
%configure \
--disable-partial-static \
--enable-defenv \
-%ifarch %{with ccwarn}
+%if %{with ccwarn}
--enable-ccwarn \
%else
--disable-ccwarn \
@@ -123,6 +124,9 @@ find -name Makefile_obj -exec sed -i \
-e 's|^#LDFLAGS += .*|LDFLAGS += %{__global_ldflags}|' \
{} \;
+# Fix /usr/bin/env <bin> ("env-script-interpreter")
+sed -i 's#/usr/bin/env python3#/usr/bin/python3#g' docs/bin/*
+
%build
export VERILATOR_SRC_VERSION=fedora-%{version}
%make_build
@@ -133,28 +137,17 @@ make test
%install
%make_install
-# remove the copy of examples in the datadir so we could
-# mark the copy in the source directory as "doc"
-rm -rf %{buildroot}%{_datadir}/verilator/examples
-
-# remove not needed build directory and bin directory
-rm -rf %{buildroot}%{_datadir}/verilator/src
-rm -rf %{buildroot}%{_bindir}/verilator_includer
-
# verilator installs verilator.pc under ${datadir}
# but for consistency we want it under ${libdir}
mkdir -p %{buildroot}%{_libdir}/pkgconfig
mv %{buildroot}%{_datadir}/pkgconfig/verilator.pc %{buildroot}%{_libdir}/pkgconfig
+# some tests and examples are CC0 and cannot be packaged into Fedora
+rm -rf %{buildroot}%{_datadir}/verilator/examples
%files
%license Artistic LICENSE
-%doc Changes README*
-%doc docs/
-%doc examples/
%{_mandir}/man1/*.1.gz
-%{_datadir}/verilator
-%{_libdir}/pkgconfig/verilator.pc
%{_bindir}/verilator
%{_bindir}/verilator_bin
%{_bindir}/verilator_bin_dbg
@@ -162,7 +155,18 @@ mv %{buildroot}%{_datadir}/pkgconfig/verilator.pc
%{buildroot}%{_libdir}/pkgconf
%{_bindir}/verilator_coverage_bin_dbg
%{_bindir}/verilator_gantt
%{_bindir}/verilator_profcfunc
+%{_datadir}/verilator/bin
+%files devel
+%license Artistic LICENSE
+%{_datadir}/verilator/include
+%{_libdir}/pkgconfig/verilator.pc
+%{_datadir}/verilator/verilator-config*.cmake
+
+%files doc
+%license Artistic LICENSE docs/guide/copyright.rst
+%doc Changes README*
+%doc docs
%changelog
%autochangelog