Compare commits

..

No commits in common. "rawhide" and "f22" have entirely different histories.

15 changed files with 128 additions and 249 deletions

View file

@ -1 +0,0 @@
1

12
.gitignore vendored
View file

@ -1,15 +1,3 @@
verilator-3.803.tgz
/verilator-3.845.tgz
/verilator-*.tgz
/verilator-4.226.tar.gz
/verilator-5.014.tar.gz
/verilator-5.020.tar.gz
/verilator-5.022.tar.gz
/verilator-5.024.tar.gz
/verilator-5.026.tar.gz
/verilator-5.028.tar.gz
/verilator-5.030.tar.gz
/verilator-5.032.tar.gz
/verilator-5.034.tar.gz
/verilator-5.036.tar.gz
/verilator-5.040.tar.gz

View file

@ -1,3 +0,0 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 1.11.0.post1.dev7+gfdcdf3a32.

View file

@ -1,7 +0,0 @@
--- !Policy
product_versions:
- fedora-*
decision_contexts: [bodhi_update_push_testing, bodhi_update_push_stable]
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

View file

@ -1,25 +0,0 @@
# See the documentation for more information:
# https://packit.dev/docs/configuration/
upstream_project_url: https://github.com/verilator/verilator.git
upstream_tag_template: v{version}
jobs:
# https://packit.dev/docs/configuration/downstream/pull_from_upstream
# TODO make sure Monitoring status on the left side at https://src.fedoraproject.org/rpms/<your-package> is set to Monitoring
- job: pull_from_upstream
trigger: release
dist_git_branches:
- fedora-all
# https://packit.dev/docs/configuration/downstream/koji_build
- job: koji_build
trigger: commit
dist_git_branches:
- fedora-all
# https://packit.dev/docs/configuration/downstream/bodhi_update
- job: bodhi_update
trigger: commit
dist_git_branches:
- fedora-branched

View file

@ -1,10 +0,0 @@
discover:
how: fmf
execute:
how: tmt
/basic:
summary:
Basic functionality
discover+:
filter: "tier:0"

View file

@ -1 +1 @@
SHA512 (verilator-5.040.tar.gz) = 3997791963305f4556a8f3b87e050eba5ad9952c0eb041c5ac981276ef385219e5c162a01e1ec966e5e814a334caa4e92f8e939e9cfbc068b30935f5ee6e9804
bdbfb9f38e64caf6571e3fb6e896abd3 verilator-3.874.tgz

View file

@ -1,6 +0,0 @@
module example (
input bit a_i,
output bit b_o
);
assign b_o = a_i;
endmodule

View file

@ -1,2 +0,0 @@
summary: Basic lint test
tag: basic

View file

@ -1,8 +0,0 @@
#!/bin/bash
. /usr/share/beakerlib/beakerlib.sh || exit 1
rlJournalStart
rlPhaseStartTest
rlRun "verilator --lint-only -Wall example.sv"
rlPhaseEnd
rlJournalEnd

View file

@ -1 +0,0 @@
tier: 0

View file

@ -1,2 +0,0 @@
summary: Basic smoke test
tag: basic

View file

@ -1,8 +0,0 @@
#!/bin/bash
. /usr/share/beakerlib/beakerlib.sh || exit 1
rlJournalStart
rlPhaseStartTest
rlRun "verilator --version"
rlPhaseEnd
rlJournalEnd

View file

@ -1,4 +0,0 @@
test: ./test.sh
framework: beakerlib
require: verilator
tier: 1

View file

@ -1,87 +1,17 @@
# Universal build flags
%bcond longtests 0
# Only enable extended warnings on supported platforms
%ifarch x86_64 aarch64
%bcond ccwarn 1
%else
%bcond ccwarn 0
%endif
# tcmalloc and z3 are not available on EL
%if 0%{?rhel}%{?centos}
%bcond tcmalloc 0
%bcond z3 0
%else
%bcond tcmalloc 1
%bcond z3 1
%endif
# These are offered by the build, but there's no real demand to include them.
%bcond ccache 0
%bcond mold 0
Name: verilator
Version: 5.040
Release: %autorelease
Version: 3.874
Release: 1%{?dist}
Summary: A fast simulator for synthesizable Verilog
License: LGPL-3.0-only OR Artistic-2.0
URL: https://veripool.org/verilator/
Source: https://github.com/verilator/verilator/archive/refs/tags/v%{version}/%{name}-%{version}.tar.gz
# See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
BuildRequires: autoconf
BuildRequires: bison
BuildRequires: coreutils
BuildRequires: cmake
BuildRequires: findutils
BuildRequires: flex
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: help2man
BuildRequires: make
BuildRequires: perl-generators
BuildRequires: perl-interpreter
BuildRequires: perl-lib
BuildRequires: perl-version
BuildRequires: perl(Data::Dumper)
BuildRequires: perl(Digest::MD5)
BuildRequires: perl(FindBin)
BuildRequires: perl(Getopt::Long)
BuildRequires: perl(IO::File)
BuildRequires: perl(Pod::Usage)
BuildRequires: perl(strict)
BuildRequires: perl(Time::HiRes)
BuildRequires: perl(vars)
BuildRequires: python3-devel
BuildRequires: python3-distro
BuildRequires: sed
%if %{with tcmalloc}
BuildRequires: gperftools-libs
BuildRequires: gperftools-devel
%endif
%if %{with mold}
Requires: mold
BuildRequires: mold
%endif
%if %{with ccache}
Requires: ccache
BuildRequires: ccache
%endif
%if %{with z3}
Requires: z3
BuildRequires: z3
%endif
# required for further tests
BuildRequires: gdb
# devel is required to run verilator at all
Requires: %{name}-devel = %{version}-%{release}
License: GPLv2
Group: Applications/Engineering
URL: http://www.veripool.com/verilator.html
Source0: http://www.veripool.org/ftp/%{name}-%{version}.tgz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: perl, flex, bison, perl-SystemPerl-devel
Requires: perl-SystemPerl-devel >= 1.320
%description
Verilator is the fastest free Verilog HDL simulator. It compiles
synthesizable Verilog, plus some PSL, SystemVerilog and Synthesis
assertions into C++ or SystemC code. It is designed for large projects
@ -89,106 +19,144 @@ 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
%setup -q
find . -name .gitignore -exec rm {} \;
export VERILATOR_ROOT=%{_datadir}
autoconf
%configure \
--disable-partial-static \
--disable-defenv \
%if %{with ccwarn}
--enable-ccwarn \
%else
--disable-ccwarn \
%endif
%if %{with longtests}
--enable-longtests
%else
--disable-longtests
%endif
# We cannot run autoreconf because upstream uses unqualified stdlib identifiers
# that are included by autoconf-generated header files.
find -name Makefile_obj -exec sed -i \
-e 's|^\(COPT = .*\)|\1 %{optflags}|' \
-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/*
%{configure} --enable-envdef --prefix=%{_prefix} --mandir=%{_mandir}
%{__sed} -i "s|CPPFLAGSNOWALL +=|CPPFLAGSNOWALL +=%{optflags}|" \
{src,test_c,test_regress,test_sc,test_verilated}/Makefile_obj
%build
%if 0%{?rhel}%{?centos}
export VERILATOR_SRC_VERSION=epel-%{version}
%else
export VERILATOR_SRC_VERSION=fedora-%{version}
%endif
SYSTEMPERL_INCLUDE=%{_includedir}/perl-SystemPerl %{__make} %{?_smp_mflags}
%make_build
%install
%make_install
%{__rm} -rf %{buildroot}
%{__make} DESTDIR=$RPM_BUILD_ROOT install
# move the examples out of the datadir so that we can later include
# them in the doc dir
%{__mv} %{buildroot}%{_datadir}/verilator/examples 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
rm -rf %{buildroot}%{_datadir}/verilator/tests
# The "tests" are all integration tests.
# They also define their own build flags,
# and fail if they are set to anything else.
%undefine _auto_set_build_flags
%check
make test
%clean
%{__rm} -rf %{buildroot}
%files
%license Artistic LICENSE
%{_mandir}/man1/*.1.gz
%defattr(-, root, root, -)
%doc README
%doc COPYING Changes TODO Artistic
%doc verilator.pdf verilator.html
%doc examples/
%attr(644,-,-) %{_mandir}/man1/verilator.1.gz
%{_mandir}/man1/verilator_coverage.1.gz
%{_mandir}/man1/verilator_profcfunc.1.gz
%{_datadir}/verilator
%{_bindir}/verilator
%{_bindir}/verilator_bin
%{_bindir}/verilator_bin_dbg
%{_bindir}/verilator_profcfunc
%{_bindir}/verilator_coverage
%{_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
* Sun Jun 07 2015 Scott Tsai <scottt.tw@gmail.com> - 3.874-1
- Upstream 3.874
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 3.864-2
- Rebuilt for GCC 5 C++11 ABI change
* Mon Sep 22 2014 Scott Tsai <scottt.tw@gmail.com> 3.864-1
- Upstream 3.864
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.862-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Fri Jun 13 2014 Scott Tsai <scottt.tw@gmail.com> 3.862-1
- Upstream 3.862
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.845-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.845-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Sat Feb 16 2013 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> - 3.845-1
- updated to 3.845
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.805-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.805-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.805-4
- Rebuilt for c++ ABI breakage
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.805-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.805-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Sun Nov 07 2010 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> - 3.805-1
- updated to 3.805
* Sat Sep 25 2010 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> - 3.804-1
- updated to 3.804
* Sun Jul 11 2010 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> - 3.803-1
- updated to 3.803
* Fri Jul 24 2009 Lane Brooks <dirjud [AT] gmail DOT com> - 3.712-1
- Updated to verilator 3.712
* Fri Jun 26 2009 Lane Brooks <dirjud [AT] gmail DOT com> - 3.711-1
- Updated to verilator 3.711
- Added Artistic file
- Fixed permissions on man file
* Tue Jun 9 2009 Lane Brooks <dirjud [AT] gmail DOT com> - 3.710-1
- Updated to verilator 3.710
- Removed GCC 4.3 patch (no longer necessary)
- Added SYSTEMPERL_INCLUDE to point to perl-SystemPerl rpm install location
* Fri Jan 9 2009 Lane Brooks <dirjud [AT] gmail DOT com> - 3.700-1
- Updated dependancy to newly packaged perl-SystemPerl and removed patch
- Updated to verilator 3.700
- Added GCC 4.3 patch
* Fri Jan 2 2009 Lane Brooks <dirjud [AT] gmail DOT com> - 3.681-2
- Moved examples from data dir to doc dir
* Thu Jan 1 2009 Lane Brooks <dirjud [AT] gmail DOT com> - 3.681-1
- Updated verilator 3.681
- Removed gcc 4.3 patch as verilator 3.681 incorporates this fix
- Removed shared object patch as it is possible to do this from Makefile
using environment variables
- Further updates to the spec file per Chitlesh's feedback
* Sun Oct 26 2008 Lane Brooks <dirjud [AT] gmail DOT com> - 3.680-3
- Improved spec file for Fedora integration based on initial feedback
* Thu Oct 23 2008 Lane Brooks <dirjud [AT] gmail DOT com> - 3.680-2
- Added shared object generation patch
* Thu Oct 16 2008 Lane Brooks <dirjud [AT] gmail DOT com> - 3.680-1
- Initial package based on SUSE packages from Guenter Dannoritzer <dannoritzer{%}web{*}de>