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