%global pkg_name jflex %{?scl:%scl_package %{pkg_name}} %{?maven_find_provides_and_requires} %bcond_with bootstrap Summary: Fast Scanner Generator Name: %{?scl_prefix}%{pkg_name} Version: 1.4.3 Release: 20.14%{?dist} Epoch: 0 License: GPL+ URL: http://jflex.de/ # ./create-tarball.sh %%{version} Source0: %{pkg_name}-%{version}-clean.tar.gz Source1: http://repo2.maven.org/maven2/de/jflex/jflex/1.4.3/jflex-1.4.3.pom Source4: %{pkg_name}.1 Source5: create-tarball.sh Patch0: jflex-build_xml.patch Patch1: jflex-junit-incompatibility.patch # Build-require itself except in bootstrapping mode %{!?with_bootstrap:BuildRequires: %{?scl_prefix}jflex} BuildRequires: %{?scl_prefix_java_common}javapackages-tools BuildRequires: %{?scl_prefix_java_common}ant BuildRequires: %{?scl_prefix_java_common}junit BuildRequires: %{?scl_prefix_java_common}java_cup Requires: %{?scl_prefix_java_common}java_cup BuildArch: noarch %description JFlex is a lexical analyzer generator (also known as scanner generator) for Java, written in Java. It is also a rewrite of the very useful tool JLex which was developed by Elliot Berk at Princeton University. As Vern Paxson states for his C/C++ tool flex: They do not share any code though. JFlex is designed to work together with the LALR parser generator CUP by Scott Hudson, and the Java modification of Berkeley Yacc BYacc/J by Bob Jamison. It can also be used together with other parser generators like ANTLR or as a standalone tool. %package javadoc Summary: API documentation for %{pkg_name} %description javadoc This package provides %{summary}. %prep %setup -q -n %{pkg_name}-%{version} %{?scl:scl enable %{scl} - <<"EOF"} set -e -x %patch0 -b .sav %patch1 -p1 -b .sav %{__sed} -i 's/\r//' COPYRIGHT %{__sed} -i 's|includes="JFlex/\*\*,java_cup/\*\*,skeleton|includes="JFlex/\*\*,skeleton|g' src/build.xml %{?scl:EOF} %build %{?scl:scl enable %{scl} - <<"EOF"} set -e -x pushd src %if %{with bootstrap} # intial build using the autogenerated sym.java LexParse.java and LexScan.java # these are created by the jflex ant task which needs to be built first export CLASSPATH=$(build-classpath junit java_cup) ant jar-bootstrap # now that the JFlex.jar has been build we can use jflex ant tasks # removing the generated files and rebuilding using the JFlex.jar export CLASSPATH=${CLASSPATH}:../lib/JFlex.jar %else export CLASSPATH=$(build-classpath junit java_cup jflex) %endif ant genclean libclean jar javadoc -sourcepath . -d ../api JFlex popd %{?scl:EOF} %install %{?scl:scl enable %{scl} - <<"EOF"} set -e -x install -d -m 755 %{buildroot}%{_javadir} install -d -m 755 %{buildroot}%{_mavenpomdir} install -d -m 755 %{buildroot}%{_javadocdir}/%{name} install -d -m 755 %{buildroot}%{_mandir}/man1 install -d -m 755 %{buildroot}%{_datadir}/pixmaps # jars install -p -m 644 lib/JFlex.jar %{buildroot}%{_javadir}/%{pkg_name}.jar ln -sf %{pkg_name}.jar %{buildroot}%{_javadir}/JFlex.jar # pom install -pm 644 %{SOURCE1} %{buildroot}%{_mavenpomdir}/JPP-%{pkg_name}.pom %add_maven_depmap # javadoc cp -pr api/* %{buildroot}%{_javadocdir}/%{name} # manpage install -p -m 644 %{SOURCE4} %{buildroot}%{_mandir}/man1 %{?scl:EOF} %files -f .mfiles %doc doc %doc COPYRIGHT %{_javadir}/JFlex.jar %{_mandir}/man1/%{pkg_name}.1.gz %files javadoc %doc COPYRIGHT %doc %{_javadocdir}/%{name} %changelog * Mon Feb 08 2016 Michal Srb - 0:1.4.3-20.14 - Fix BR on maven-local & co. * Mon Jan 11 2016 Michal Srb - 0:1.4.3-20.13 - maven33 rebuild #2 * Sat Jan 09 2016 Michal Srb - 0:1.4.3-20.12 - maven33 rebuild * Tue Jan 13 2015 Michael Simacek - 0:1.4.3-20.11 - Mass rebuild 2015-01-13 * Mon Jan 12 2015 Michael Simacek - 0:1.4.3-20.10 - BR/R on packages from rh-java-common * Tue Jan 06 2015 Michael Simacek - 0:1.4.3-20.9 - Mass rebuild 2015-01-06 * Mon May 26 2014 Mikolaj Izdebski - 0:1.4.3-20.8 - Mass rebuild 2014-05-26 * Wed Feb 19 2014 Mikolaj Izdebski - 0:1.4.3-20.7 - Mass rebuild 2014-02-19 * Tue Feb 18 2014 Mikolaj Izdebski - 0:1.4.3-20.6 - Mass rebuild 2014-02-18 * Tue Feb 18 2014 Mikolaj Izdebski - 0:1.4.3-20.5 - Remove requires on java * Mon Feb 17 2014 Michal Srb - 0:1.4.3-20.4 - SCL-ize BR/R * Thu Feb 13 2014 Michal Srb - 0:1.4.3-20.3 - Rebuilt with jflex as a BR * Thu Feb 13 2014 Mikolaj Izdebski - 0:1.4.3-20.2 - Rebuild to regenerate auto-requires * Tue Feb 11 2014 Mikolaj Izdebski - 0:1.4.3-20.1 - First maven30 software collection build * Fri Dec 27 2013 Daniel Mach - 01.4.3-20 - Mass rebuild 2013-12-27 * Thu Oct 24 2013 Mikolaj Izdebski - 0:1.4.3-19 - Remove desktop files * Fri Aug 02 2013 Michal Srb - 0:1.4.3-18 - Add create-tarball.sh script to SRPM * Fri Jul 12 2013 Mikolaj Izdebski - 0:1.4.3-17 - Remove workaround for rpm bug #646523 * Fri Jun 28 2013 Mikolaj Izdebski - 0:1.4.3-16 - Rebuild to regenerate API documentation - Resolves: CVE-2013-1571 * Thu Jun 20 2013 Mikolaj Izdebski - 0:1.4.3-15 - Fix javadoc generation - Update to current packaging guidelines * Thu Jun 20 2013 Michal Srb - 0:1.4.3-14 - Build from clean tarball - Install license file with javadoc package * Thu Feb 14 2013 Fedora Release Engineering - 0:1.4.3-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Thu Nov 22 2012 Mikolaj Izdebski - 0:1.4.3-12 - Install Emacs jflex-mode * Thu Nov 22 2012 Mikolaj Izdebski - 0:1.4.3-11 - Remove bundled java_cup sources - Resolves: rhbz#877051 * Thu Jul 19 2012 Fedora Release Engineering - 0:1.4.3-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Wed May 2 2012 Mikolaj Izdebski - 0:1.4.3-9 - Fix license tag - Import manpage from Debian's jflex 1.4.1-3 (GPL+) * Thu Apr 19 2012 Jaromir Capik - 0:1.4.3-8 - Desktop file generated - Icon created from the GPL licensed logo * Mon Mar 12 2012 Jaromir Capik - 0:1.4.3-7 - Wrapper script generated - Minor spec file changes according to the latest guidelines * Fri Jan 13 2012 Fedora Release Engineering - 0:1.4.3-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Wed Feb 09 2011 Fedora Release Engineering - 0:1.4.3-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Mon Feb 15 2010 Alexander Kurtakov 0:1.4.3-4 - Add dependency on java_cup in the maven pom.xml. * Mon Feb 15 2010 Alexander Kurtakov 0:1.4.3-3 - Require java_cup. * Wed Jan 20 2010 Alexander Kurtakov 0:1.4.3-3 - Provide JFlex.jar. - Don't put java_cup classes in the jar. * Fri Jan 8 2010 Alexander Kurtakov 0:1.4.3-2 - Add maven pom and depmaps. * Fri Jan 8 2010 Alexander Kurtakov 0:1.4.3-1 - Update to 1.4.3. * Fri Jul 24 2009 Fedora Release Engineering - 0:1.4.1-0.5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Wed Feb 25 2009 Fedora Release Engineering - 0:1.4.1-0.4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Wed Jul 9 2008 Tom "spot" Callaway - 0:1.4.1-0.3 - drop repotag * Mon Mar 03 2008 Matt Wringe - 0:1.4.1-0jpp.2 - Add missing buildrequires on java_cup * Fri Feb 22 2008 Matt Wringe - 0:1.4.1-0jpp.1 - Patch build file to allow bootstrap building * Mon Feb 18 2008 Lubomir Kundrak - 0:1.4.1-0jpp.1 - Naive attempt to update to newer version * Mon Apr 02 2007 Matt Wringe - 0:1.3.5-2jpp.2 - Add patches jflex-CharSet_java.patch and jflex-StateSet_java.patch to allow building with the new gcj * Mon Feb 12 2007 Matt Wringe - 0:1.3.5-2jpp.1 - Remove javadoc post and postun sections due to new jpp standard - Update makefile patch to compress jar - Fix rpmlint issues * Wed Jan 04 2006 Fernando Nasser - 0:1.3.5-2jpp - First JPP 1.7 build * Wed Nov 16 2005 Ralph Apel - 0:1.3.5-1jpp - First JPackage release