Compare commits

..

38 commits

Author SHA1 Message Date
Jerry James
d85b87737a Superseded by yosyshq-abc 2023-08-09 14:25:24 -06:00
Gabriel Somlo
428f7044fd Apply patch from yosyshq to fix yosys FTBFS (#2226521) 2023-08-02 12:33:26 -04:00
Fedora Release Engineering
1d12f9fd9f Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-19 12:47:37 +00:00
Jerry James
b9a9aef6cb Update to latest git snapshot
Drop upstreamed patches: overflow, use-after-free
2023-07-14 11:18:48 -06:00
Fedora Release Engineering
6f8567df21 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-18 21:17:45 +00:00
Jerry James
0eca8cf4f2 Update to latest git snapshot.
- Add -use-after-free, -null-fprintf, and -weaken-assert patches.
- Minor spec file cleanups.
2023-01-17 14:09:20 -07:00
Jerry James
788a145c2e Actually upload the new file. 2022-08-01 15:46:54 -06:00
Jerry James
c41443bda3 Update to latest git snapshot. 2022-08-01 15:33:30 -06:00
Fedora Release Engineering
63afdfd137 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-20 20:20:06 +00:00
Fedora Release Engineering
b74fe3b954 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-19 20:49:24 +00:00
Jerry James
55247e191c Update to latest git snapshot.
Drop upstreamed -strict-aliasing patch.
2022-01-17 09:01:35 -07:00
Fedora Release Engineering
f090b9fb74 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 17:09:37 +00:00
Fedora Release Engineering
af4fe5b2e1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 12:14:33 +00:00
Jerry James
c3b63ec8c9 Update to latest git snapshot.
- Add patches: -strict-aliasing, -overflow.
- Avoid bogus rpaths.
2021-04-01 09:05:43 -06:00
Fedora Release Engineering
0baefabacc - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-25 23:42:43 +00:00
Gabriel Somlo
40787df0eb update to latest snapshot; update header, bundlelib patches for new snapshot 2020-11-27 07:35:15 -05:00
Jerry James
73525c910b Explicitly BR make. 2020-11-09 10:46:08 -07:00
Jerry James
147ead9a53 Update to latest git snapshot.
- Add -gia patch to fix crash.
- Adapt to cmake changes in Rawhide.
2020-07-27 10:58:23 -06:00
Fedora Release Engineering
f88cec8508 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 11:38:44 +00:00
Jerry James
6d18eb5c4e Update instructions for using abipkgdiff. 2020-01-31 11:45:01 -07:00
Jerry James
eb86ff73c1 Update changelog again to match the spec file version. 2020-01-31 09:50:39 -07:00
Jerry James
56f6af592e Update changelog line to keep chronological order. 2020-01-31 09:39:29 -07:00
Jerry James
4b954d244b Upload the new sources. 2020-01-31 09:38:30 -07:00
Gabriel Somlo
13f60c2eb9 Update to latest git snapshot
As of Jan. 11, 2020, yosys requires abc git snapshot 71f2b40 or newer.
We can also drop the -giaDeep patch, which has been applied upstream.

Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
2020-01-29 16:34:52 -05:00
Fedora Release Engineering
183be959e3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 11:05:45 +00:00
Jerry James
d51159afe7 Update to latest git snapshot. Add -giaDeep patch to fix build failure. 2019-12-18 10:06:18 -07:00
Fedora Release Engineering
32e79a029b - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-24 17:25:34 +00:00
Jerry James
101e1a3a27 Update to latest git snapshot.
Also:
- Add -build and -format patches.
- Build with cmake.
- Enable CUDD support.
2019-06-12 20:13:03 -06:00
ba609ebc59 Rebuild for readline 8.0 2019-02-17 09:30:49 +01:00
Fedora Release Engineering
eed2499efd - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-01-31 12:50:58 +00:00
Jerry James
6778fa032f Update to latest git snapshot. 2018-11-26 21:11:46 -07:00
Fedora Release Engineering
9c7c239f13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-12 19:54:58 +00:00
Jerry James
035e24d701 Update to latest git snapshot. 2018-07-10 18:40:34 -06:00
Jerry James
438cf10ba4 Update to latest mercurial snapshot. BR gcc-c++ instead of gcc. 2018-03-03 19:04:26 -07:00
Fedora Release Engineering
46244d8848 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 01:43:19 +00:00
Jerry James
d87bf10db4 Update to latest mercurial snapshot. 2018-02-01 21:53:52 -07:00
Fedora Release Engineering
bdb2560967 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-02 17:20:33 +00:00
Fedora Release Engineering
9747621742 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 02:30:06 +00:00
7 changed files with 1 additions and 363 deletions

3
.gitignore vendored
View file

@ -1,3 +0,0 @@
/13cb576b8538.zip
/a8730ca647f5.zip
/8e08604f8ad3.zip

View file

@ -1,70 +0,0 @@
--- Makefile.orig 2016-09-05 14:54:44.000000000 -0600
+++ Makefile 2016-09-10 02:02:01.380988862 -0600
@@ -18,7 +18,7 @@
src/map/mapper src/map/mio src/map/super src/map/if \
src/map/amap src/map/cov src/map/scl src/map/mpm \
src/misc/extra src/misc/mvc src/misc/st src/misc/util src/misc/nm \
- src/misc/vec src/misc/hash src/misc/tim src/misc/bzlib src/misc/zlib \
+ src/misc/vec src/misc/hash src/misc/tim \
src/misc/mem src/misc/bar src/misc/bbl src/misc/parse \
src/opt/cut src/opt/fxu src/opt/fxch src/opt/rwr src/opt/mfs src/opt/sim \
src/opt/ret src/opt/fret src/opt/res src/opt/lpk src/opt/nwk src/opt/rwt \
@@ -117,7 +117,7 @@
endif
# LIBS := -ldl -lrt
-LIBS += -ldl -lm
+LIBS += -Wl,--as-needed -lbz2 -lz -ldl -lm
ifneq ($(findstring Darwin, $(shell uname)), Darwin)
LIBS += -lrt
endif
--- src/base/io/ioReadAiger.c.orig 2016-02-03 14:56:47.000000000 -0700
+++ src/base/io/ioReadAiger.c 2016-02-04 21:37:07.724515263 -0700
@@ -26,8 +26,8 @@
#include <string.h>
#include <assert.h>
-#include "misc/bzlib/bzlib.h"
-#include "misc/zlib/zlib.h"
+#include <bzlib.h>
+#include <zlib.h>
#include "ioAbc.h"
ABC_NAMESPACE_IMPL_START
--- src/base/io/ioReadBlifMv.c.orig 2016-02-03 14:56:47.000000000 -0700
+++ src/base/io/ioReadBlifMv.c 2016-02-04 21:37:07.726515102 -0700
@@ -18,8 +18,8 @@
***********************************************************************/
-#include "misc/zlib/zlib.h"
-#include "misc/bzlib/bzlib.h"
+#include <zlib.h>
+#include <bzlib.h>
#include "base/abc/abc.h"
#include "misc/vec/vecPtr.h"
#include "ioAbc.h"
--- src/base/io/ioWriteAiger.c.orig 2016-02-03 14:56:47.000000000 -0700
+++ src/base/io/ioWriteAiger.c 2016-02-04 21:37:07.727515021 -0700
@@ -26,8 +26,8 @@
#include <string.h>
#include <assert.h>
-#include "misc/bzlib/bzlib.h"
-#include "misc/zlib/zlib.h"
+#include <bzlib.h>
+#include <zlib.h>
#include "ioAbc.h"
--- src/sat/cnf/cnfMan.c.orig 2016-02-03 14:56:47.000000000 -0700
+++ src/sat/cnf/cnfMan.c 2016-02-04 21:37:07.728514940 -0700
@@ -21,7 +21,7 @@
#include "cnf.h"
#include "sat/bsat/satSolver.h"
#include "sat/bsat/satSolver2.h"
-#include "misc/zlib/zlib.h"
+#include <zlib.h>
ABC_NAMESPACE_IMPL_START

View file

@ -1,24 +0,0 @@
--- Makefile.orig 2016-02-05 14:41:31.862198725 -0700
+++ Makefile 2016-02-04 21:46:14.618379630 -0700
@@ -46,7 +46,7 @@ ARCHFLAGS := $(ARCHFLAGS)
OPTFLAGS ?= -g -O
-CFLAGS += -Wall -Wno-unused-function -Wno-write-strings -Wno-sign-compare $(ARCHFLAGS)
+CFLAGS += -Wno-unused-function $(OPTFLAGS) $(ARCHFLAGS) -Isrc
ifneq ($(findstring arm,$(shell uname -m)),)
CFLAGS += -DABC_MEMALIGN=4
endif
@@ -186,6 +186,12 @@ $(PROG): $(OBJ)
@echo "$(MSG_PREFIX)\`\` Building binary:" $(notdir $@)
$(VERBOSE)$(LD) -o $@ $^ $(LIBS)
+lib$(PROG).so: $(OBJ)
+ @echo "$(MSG_PREFIX)\`\` Linking:" $(notdir $@)
+ $(VERBOSE)$(LD) -shared -Wl,-h,lib$(PROG).so.0 -o lib$(PROG).so.0.0.0 $^ $(LIBS)
+ $(VERBOSE)ln -s lib$(PROG).so.0.0.0 lib$(PROG).so.0
+ $(VERBOSE)ln -s lib$(PROG).so.0 $@
+
lib$(PROG).a: $(OBJ)
@echo "$(MSG_PREFIX)\`\` Linking:" $(notdir $@)
$(VERBOSE)ar rv $@ $?

99
abc.1
View file

@ -1,99 +0,0 @@
.TH "ABC" "1" "@VERSION@" "ABC" "User Commands"
.SH "NAME"
abc \- sequential logic synthesis and formal verification
.SH "SYNOPSIS"
.B abc
[\fIOPTIONS\fP] \fIFILE\fP
.SH "DESCRIPTION"
.PP
ABC is a growing software system for synthesis and verification of binary
sequential logic circuits appearing in synchronous hardware designs. ABC
combines scalable logic optimization based on And-Inverter Graphs (AIGs),
optimal-delay DAG-based technology mapping for look-up tables and standard
cells, and innovative algorithms for sequential synthesis and verification.
.PP
ABC provides an experimental implementation of these algorithms and a
programming environment for building similar applications. Future development
will focus on improving the algorithms and making most of the packages
stand-alone. This will allow the user to customize ABC for their needs as if
it were a toolbox rather than a complete tool.
.SH "OPTIONS"
.TP
\fB\-c\fP \fICMD\fP
Execute commands \fICMD\fP.
.TP
\fB\-q\fP \fICMD\fP
Execute commands \fICMD\fP quietly.
.TP
\fB\-C\fP \fICMD\fP
Execute commands \fICMD\fP, then continue in interactive mode.
.TP
\fB\-F\fP \fISCRIPT\fP
Execute commands from script file \fISCRIPT\fP and echo commands.
.TP
\fB\-f\fP \fISCRIPT\fP
Execute commands from script file \fISCRIPT\fP.
.TP
\fB\-h\fP
Print command usage.
.TP
\fB\-o\fP \fIFILE\fP
Store the result in \fIFILE\fP.
.TP
\fB\-s\fP
Do not read any initialization file.
.TP
\fB\-t\fP \fITYPE\fP
Specify the input type, one of \fIblif_mv\fP, \fIblif_mvs\fP, \fIblif\fP, or
\fInone\fP. The default is \fIblif_mv\fP.
.TP
\fB\-T\fP \fITYPE\fP
Specify the output type, one of \fIblif_mv\fP, \fIblif_mvs\fP, \fIblif\fP, or
\fInone\fP. The default is \fIblif_mv\fP.
.TP
\fB\-x\fP
Equivalent to \fI-t none -T none\fP.
.TP
\fB\-b\fP
Run in bridge mode.
.SH "INTRODUCTION"
.PP
Data structures and algorithms at the heart of a software system determine its
capabilities in processing data and its efficiency as a programming
environment for building new applications. Extensive experience of developing
and using SIS, VIS, and MVSIS, makes it clear that these systems do not
provide a flexible programming environment to implement recent innovations,
such as integration of technology mapping and retiming. Specifically, the SIS
environment is outdated and rather inefficient when handling large circuits.
VIS, designed as a formal verification tool for multi-valued specifications,
does not provide enough flexibility for binary synthesis. MVSIS was developed
and extensively used by us in the recent years for implementing new synthesis
algorithms for both multi-valued and binary networks. Finally, we became
convinced that (a) the basic data structures and algorithms of MVSIS can be
made considerably simpler and easier to use by assuming binary networks, and
(b) a central place in the new system should be given to a new data structure,
AIGs (multi-level logic networks composed of two-input ANDs and inverters),
which promises improvements in quality and runtime of synthesis and
verification.
.PP
This understanding motivates us to redevelop the core packages of MVSIS
resulting in a new programming environment named ABC. As the name suggests,
the primary goal is to keep data structures simple and flexible for a wide
range of applications. The “philosophy of ABC” has several basic premises.
One of them is allowing for a variety of functional representations, such as
BDDs and SOPs, to solve specialized tasks, while defaulting to AIGs for the
mainstream network manipulation. Representing logic using AIGs leads to a
remarkable uniformity in computation and efficient interfacing with CNF-based
SAT solvers for handing Boolean reasoning problems. Another fundamental
premise of ABC is the synergy between synthesis and verification using
efficient SAT-based Boolean reasoning on the AIG for combinational and
sequential equivalence checking.
.PP
The goal of the ABC project is to provide a public-domain implementation of
the state-of-the-art combinational and sequential synthesis algorithms and, at
the same time, create an open-source environment, in which such applications
can be developed and compared. The current version of ABC can
optimize/map/retime industrial gate-level designs with 100K gates and 10K
sequential elements for optimal delay and heuristically minimized area in
about one minute of CPU time on a modern computer. The runtime of the
combinational synthesis, mapping, and verification is typically faster.

166
abc.spec
View file

@ -1,166 +0,0 @@
# Upstream doesn't make releases. We have to check the code out of Mercurial.
%global owner alanmi
%global commit 8e08604f8ad3
%global hgdate 20160905
# WARNING: When updating to a newer snapshot, because upstream doesn't do
# shared library versioning, run abipkgdiff (from libabigail) against the
# old and new binary and debuginfo packages to detect abi changes that would
# require bumping the shared library version, e.g.,
# abipkgdiff --d1 abc-debuginfo-<old>.rpm --d2 abc-debuginfo-<new>.rpm \
# abc-<old>.rpm abc-<new>.rpm
# If the shared library version is bumped, remember to rebuild dependent
# packages, finding them using e.g.
# repoquery --whatrequires abc-libs
# This should be done for each branch in which abc-libs will be updated.
Name: abc
Version: 1.01
Release: 11.hg%{hgdate}%{?dist}
Summary: Sequential logic synthesis and formal verification
License: MIT
URL: http://www.eecs.berkeley.edu/~alanmi/abc/abc.htm
Source0: https://bitbucket.org/%{owner}/%{name}/get/%{commit}.zip
# Man page created by Jerry James using upstream text; hence, it is covered by
# the same copyright and license as the code.
Source1: %{name}.1
# Fedora-specific patch: do not use the bundled libraries
Patch0: %{name}-bundlelib.patch
# Fedora-specific patch: build a shared library instead of a static library
Patch1: %{name}-sharedlib.patch
BuildRequires: bzip2-devel
BuildRequires: gcc
BuildRequires: readline-devel
BuildRequires: zlib-devel
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description
ABC is a growing software system for synthesis and verification of
binary sequential logic circuits appearing in synchronous hardware
designs. ABC combines scalable logic optimization based on And-Inverter
Graphs (AIGs), optimal-delay DAG-based technology mapping for look-up
tables and standard cells, and innovative algorithms for sequential
synthesis and verification.
ABC provides an experimental implementation of these algorithms and a
programming environment for building similar applications. Future
development will focus on improving the algorithms and making most of
the packages stand-alone. This will allow the user to customize ABC for
their needs as if it were a toolbox rather than a complete tool.
%package libs
Summary: Library for sequential synthesis and verification
%description libs
This package contains the core functionality of ABC as a shared library.
%package devel
Summary: Headers and libraries for developing with ABC
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description devel
Headers and libraries for developing applications that use ABC.
%prep
%setup -q -n %{owner}-%{name}-%{commit}
%patch0
%patch1
# Do not use the bundled libraries
rm -fr lib src/misc/{bzlib,zlib} src/sat/bsat2
# Fix end of line encodings
for fil in readme.md readmeaig; do
sed -i.orig 's/\r//' ${fil}
touch -r ${fil}.orig ${fil}
rm -f ${fil}.orig
done
# Set the version number in the man page
sed 's/@VERSION@/%{version} (%{hgdate})/' %{SOURCE1} > %{name}.1
touch -r %{SOURCE1} %{name}.1
%build
# Build the library and binary
make %{?_smp_mflags} libabc.so OPTFLAGS="%{optflags} -fPIC -DNDEBUG" \
LD="g++ $RPM_LD_FLAGS" ABC_MAKE_VERBOSE=1
g++ src/base/main/main.o -o %{name} $RPM_LD_FLAGS -L. -labc
%install
# Install the library
mkdir -p %{buildroot}%{_libdir}
install -p -m 0755 lib%{name}.so.0.0.0 %{buildroot}%{_libdir}
ln -s lib%{name}.so.0.0.0 %{buildroot}%{_libdir}/lib%{name}.so.0
ln -s lib%{name}.so.0 %{buildroot}%{_libdir}/lib%{name}.so
# Install the header files
pushd src
mkdir -p %{buildroot}%{_includedir}/%{name}
tar -cBf - $(find -O3 . -name \*.h) | \
(cd %{buildroot}%{_includedir}/%{name}; tar -xBf -)
popd
# Install the binary
mkdir -p %{buildroot}%{_bindir}
install -p -m 0755 %{name} %{buildroot}%{_bindir}
# Install the man page
mkdir -p %{buildroot}%{_mandir}/man1
install -p -m 0644 %{name}.1 %{buildroot}%{_mandir}/man1
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%files
%doc readme.md readmeaig
%{_bindir}/%{name}
%{_mandir}/man1/%{name}*
%files libs
%license copyright.txt
%{_libdir}/lib%{name}.so.*
%files devel
%{_includedir}/%{name}/
%{_libdir}/lib%{name}.so
%changelog
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.01-11.hg20160905
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 1.01-10.hg20160905
- Rebuild for readline 7.x
* Sat Sep 10 2016 Eric Smith <brouhaha@fedoraproject.org> - 1.01-9.hg20160905
- Update to latest mercurial snapshot
* Fri Feb 5 2016 Jerry James <loganjerry@gmail.com> - 1.01-8.hg20160203
- Update to latest mercurial snapshot
- Drop the python2 subpackage; upstream moved support to a separate project
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.01-7.hg20150306
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.01-6.hg20150306
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 1.01-5.hg20150306
- Rebuilt for GCC 5 C++11 ABI change
* Sat Mar 7 2015 Jerry James <loganjerry@gmail.com> - 1.01-4.hg20150306
- Update to latest mercurial snapshot
* Thu Jan 1 2015 Jerry James <loganjerry@gmail.com> - 1.01-3.hg20150101
- Update to latest mercurial snapshot
- Fix installation of header files
* Wed Dec 3 2014 Jerry James <loganjerry@gmail.com> - 1.01-2.hg20141130
- Drop unnecessary jquery Provides
- Fix file permissions
* Mon Dec 1 2014 Jerry James <loganjerry@gmail.com> - 1.01-1.hg20141130
- Initial RPM

1
dead.package Normal file
View file

@ -0,0 +1 @@
Superseded by yosyshq-abc

View file

@ -1 +0,0 @@
02a4c8cb9dcf0d2c9d35837b13be8422 8e08604f8ad3.zip