summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packaging/byacc.manifest5
-rw-r--r--packaging/byacc.spec40
2 files changed, 45 insertions, 0 deletions
diff --git a/packaging/byacc.manifest b/packaging/byacc.manifest
new file mode 100644
index 0000000..017d22d
--- /dev/null
+++ b/packaging/byacc.manifest
@@ -0,0 +1,5 @@
+<manifest>
+ <request>
+ <domain name="_"/>
+ </request>
+</manifest>
diff --git a/packaging/byacc.spec b/packaging/byacc.spec
new file mode 100644
index 0000000..f8270a7
--- /dev/null
+++ b/packaging/byacc.spec
@@ -0,0 +1,40 @@
+Name: byacc
+Version: 20230521
+Release: 1
+Summary: LALR(1) parser generator
+Group: Development/Languages/C and C++
+License: SUSE-Public-Domain
+Url: http://invisible-island.net/byacc/byacc.html
+Source: %{name}-%{version}.tar.gz
+Source1001: byacc.manifest
+
+%description
+Berkeley Yacc is a LALR(1) parser generator. It has been made as compatible as
+possible with AT&T Yacc and it accepts any input specification that conforms to
+the AT&T Yacc documentation. In contrast to bison, it is written to avoid
+dependencies upon a particular compiler.
+
+%prep
+%setup
+cp %{SOURCE1001} .
+
+%build
+export CFLAGS+=" -fPIC"
+export LDFLAGS+=" -pie"
+# without --with-warnings several functions will not be marked with gcc's
+# noreturn attribute and produce warnings when $RPM_OPT_FLAGS contains -Wall
+%configure --with-warnings
+make %{?_smp_mflags}
+
+%install
+%make_install
+mv %{buildroot}%{_bindir}/yacc %{buildroot}%{_bindir}/byacc
+
+%remove_docs
+
+%files
+%manifest %{name}.manifest
+%defattr(-,root,root,-)
+%{_bindir}/byacc
+
+%changelog