byaccj/byaccj.spec

66 lines
2.2 KiB
RPMSpec
Raw Normal View History

#
# spec file for package byaccj
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{!?make_build:%global make_build make %{?_smp_mflags}}
Name: byaccj
Version: 1.15
Release: 0
Summary: Parser Generator with Java Extension
License: SUSE-Public-Domain
Group: Development/Libraries/Java
URL: https://byaccj.sourceforge.net/
Source0: https://downloads.sourceforge.net/%{name}/%{name}%{version}_src.tar.gz
Patch0: byaccj-gcc14.patch
Requires: man-pages
%description
BYACC/J is an extension of the Berkeley v 1.8 YACC-compatible parser
generator. Standard YACC takes a YACC source file, and generates one or
more C files from it, which if compiled properly, will produce a
LALR-grammar parser. This is useful for expression parsing, interactive
command parsing, and file reading. Many megabytes of YACC code have
been written over the years. This is the standard YACC tool that is in
use every day to produce C/C++ parsers. I have added a "-J" flag which
will cause BYACC to generate Java source code, instead. So there
finally is a YACC for Java now!
%prep
%setup -q -n %{name}%{version}
%patch -P 0 -p1
chmod -c -x src/* docs/*
sed -i -e 's|-arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4|$(LDFLAGS)|g' src/Makefile
%build
pushd src
%make_build yacc CFLAGS="%{optflags}" LDFLAGS="$RPM_LD_FLAGS"
popd
#Fix wrong-file-end-of-line-encoding
sed -i 's/\r//g' docs/tf.y
%install
install -d -m 755 %{buildroot}%{_bindir}
install -p -m 755 src/yacc %{buildroot}%{_bindir}/%{name}
%files
%doc docs/* src/README
%{_bindir}/%{name}
%changelog