Compare commits

..

50 commits

Author SHA1 Message Date
Nolan Poe
aafbc5153d Only enable CCWARN on arm64 and amd64 2025-08-31 00:57:10 -07:00
Packit
a3e6557801 Update to 5.040 upstream release
- Resolves: rhbz#2378999

Upstream tag: v5.040
Upstream commit: 51cdf52d

Commit authored by Packit automation (https://packit.dev/)
2025-08-31 04:29:38 +00:00
Nolan Poe
b12a9b1d2c Merge #12 Stop building for 32-bit x86 2025-08-05 15:07:15 +00:00
Fedora Release Engineering
a6ee74841b Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 20:03:08 +00:00
Jerry James
8d599b3407 Stop building for 32-bit x86 2025-07-16 16:22:18 -06:00
Nolan Poe
b45a9349fa
Add python3-distro 2025-04-27 20:31:27 -07:00
Packit
37db271241 Update to 5.036 upstream release
- Resolves: rhbz#2362594

Upstream tag: v5.036
Upstream commit: eca2b4c9

Commit authored by Packit automation (https://packit.dev/)
2025-04-27 22:27:17 +00:00
Packit
e76a9731a0 Update to 5.034 upstream release
- Resolves: rhbz#2347446

Upstream tag: v5.034
Upstream commit: 436d3d76

Commit authored by Packit automation (https://packit.dev/)
2025-02-25 01:52:58 +00:00
Fedora Release Engineering
df65618072 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 14:16:22 +00:00
Nolan Poe
c39b8c4702
Differentiate version tags between EPEL and Fedora 2025-01-01 13:24:43 -08:00
Nolan Poe
9eca3ffd96
Update to 5.032 upstream release
- Resolves: rhbz#2292595

Upstream tag: v5.032
Upstream commit: 8ff77e9d

Commit authored by Packit automation (https://packit.dev/)
2025-01-01 13:17:19 -08:00
Nolan Poe
4833d86a59
Update packit.yaml to use upstream tagging scheme 2025-01-01 13:11:04 -08:00
Nolan Poe
465ea27146 Merge branch 'epel10' 2024-12-13 20:03:34 -08:00
Nolan Poe
f557b8d1a1 Do not use z3 and gperftools in CentOS/RHEL builds 2024-12-13 20:02:38 -08:00
Nolan Poe
200d4c7d31 Do not use z3 and gperftools in CentOS/RHEL builds 2024-12-13 19:58:27 -08:00
Nolan Poe
6bfdc10900 Do not build with tcmalloc and z3, which are unavailable in c10s 2024-12-13 19:40:21 -08:00
Nolan Poe
785e97611b minor typo 2024-12-13 19:21:14 -08:00
Nolan Poe
45381c4edd Update tests 2024-12-04 22:55:09 -08:00
Nolan Poe
6369594fa2 Disable some hardcoded paths in binary 2024-12-04 21:59:24 -08:00
Nolan Poe
af787fca69 Do not set build flags during testing 2024-12-04 21:34:04 -08:00
Nolan Poe
b9b5ba0b75 Packit support 2024-12-04 14:13:38 -08:00
Nolan Poe
6cbf78204e Re-enable warnings 2024-12-04 14:01:52 -08:00
Nolan Poe
70e60ee2f5 Add initial gating tests 2024-12-04 13:59:14 -08:00
Nolan Poe
1e8ab6a947 Remove legacy changelog 2024-12-04 13:50:52 -08:00
Nolan Poe
e6d0efe52e Update to 5.030 2024-11-30 14:42:41 -08:00
Nolan Poe
addfaf64af
Update to Verilator 5.028 2024-08-21 18:25:08 -07:00
Fedora Release Engineering
b41054f222 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 08:42:49 +00:00
Nolan Poe
604b025a52
Update to Verilator 5.026 2024-07-15 15:29:39 -07:00
Nolan Poe
978de543b6
Disable CCWARN on F39 2024-04-05 09:21:30 -07:00
Nolan Poe
50e0e16f3f
Update to 5.024 2024-04-05 09:21:28 -07:00
Nolan Poe
dafbf30e45
Disable Werror on <F40 2024-04-01 17:38:08 -07:00
Nolan Poe
52caaf6262
Do not package tests 2024-04-01 16:59:07 -07:00
Nolan Poe
808d182272
Improve conformance to modern Fedora packaging guidelines
- Break out packages
- Remove CC0 content
2024-04-01 10:17:37 -07:00
Nolan Poe
3f63ed754e
Update to 5.022
- Fix SPDX License identifier
    - Add CMake for tests
    - Fix runtime dependency check
    - Fix runtime version checck
    - Fix multithreading bug that causes spurious failures
    - Default to using tcmalloc
2024-03-28 04:51:46 -07:00
Filipe Rosset
dd919c7162 update verilator to 5.020 fixes rhbz#2239297 2024-02-18 01:31:01 -03:00
Fedora Release Engineering
702bf74309 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 07:38:19 +00:00
Filipe Rosset
6f92137ff1 fix build requires 2023-09-09 19:57:42 -03:00
Filipe Rosset
0f0a06daa7 update to verilator-5.014 2023-09-09 19:02:31 -03:00
Filipe Rosset
4118454d33 opt-in to autochangelog 2023-09-09 18:21:06 -03:00
Fedora Release Engineering
744cf2e242 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 17:33:25 +00:00
Fedora Release Engineering
1b0a8d43b7 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 06:13:50 +00:00
Filipe Rosset
866cabe71d - Update to 4.226, enabled tests, spec cleanup and modernization
Fixes rhbz#1933296 rhbz#2047099 and rhbz#2026957
2022-09-24 20:35:33 -03:00
Fedora Release Engineering
cf9c73585e Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 11:48:36 +00:00
Fedora Release Engineering
459fe65e1a - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 03:54:28 +00:00
Fedora Release Engineering
c5f3971e23 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 20:24:14 +00:00
Fedora Release Engineering
0ca0a7cd89 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 23:00:27 +00:00
Filipe Rosset
e287269444 - Update to 4.108 fixes rhbz#1901487 2021-01-25 00:31:18 -03:00
Tom Stellard
adffc506c0 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-09 00:40:46 +00:00
Fedora Release Engineering
ba1554244a - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 13:38:57 +00:00
Filipe Rosset
108da704d1 - Update to 4.032 2020-04-24 18:15:48 -03:00
16 changed files with 287 additions and 1 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

15
.gitignore vendored Normal file
View file

@ -0,0 +1,15 @@
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

3
README.packit Normal file
View file

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

View file

@ -1 +0,0 @@
epel8-playground decommissioned : https://pagure.io/epel/issue/136

7
gating.yaml Normal file
View file

@ -0,0 +1,7 @@
--- !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}

25
packit.yaml Normal file
View file

@ -0,0 +1,25 @@
# 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

10
plans/main.fmf Normal file
View file

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

1
sources Normal file
View file

@ -0,0 +1 @@
SHA512 (verilator-5.040.tar.gz) = 3997791963305f4556a8f3b87e050eba5ad9952c0eb041c5ac981276ef385219e5c162a01e1ec966e5e814a334caa4e92f8e939e9cfbc068b30935f5ee6e9804

View file

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

View file

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

8
tests/basic/lint/test.sh Executable file
View file

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

1
tests/basic/main.fmf Normal file
View file

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

View file

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

8
tests/basic/smoke/test.sh Executable file
View file

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

4
tests/main.fmf Normal file
View file

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

194
verilator.spec Normal file
View file

@ -0,0 +1,194 @@
# 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
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}
%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
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
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/*
%build
%if 0%{?rhel}%{?centos}
export VERILATOR_SRC_VERSION=epel-%{version}
%else
export VERILATOR_SRC_VERSION=fedora-%{version}
%endif
%make_build
%install
%make_install
# 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
%files
%license Artistic LICENSE
%{_mandir}/man1/*.1.gz
%{_bindir}/verilator
%{_bindir}/verilator_bin
%{_bindir}/verilator_bin_dbg
%{_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