diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index e69de29..87bb635 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,11 @@ +/results_* +/*.src.rpm + +/jflex-1.4.1.tar.gz +/jflex-1.4.3.tar.gz +/jflex-1.4.3-clean.tar.gz +/jflex-1.5.0-clean.tar.gz +/jflex-1.5.1-clean.tar.gz +/jflex-1.6.0-clean.tar.gz +/jflex-1.6.1-clean.tar.gz +/jflex-1.7.0-clean.tar.gz diff --git a/.jflex.metadata b/.jflex.metadata new file mode 100644 index 0000000..1e0ee30 --- /dev/null +++ b/.jflex.metadata @@ -0,0 +1 @@ +366ef8456b6d602d8f4ab495e877563f7d92a341 jflex-1.7.0-clean.tar.gz diff --git a/ci.fmf b/ci.fmf new file mode 100644 index 0000000..c5aa0e0 --- /dev/null +++ b/ci.fmf @@ -0,0 +1 @@ +resultsdb-testcase: separate diff --git a/create-tarball.sh b/create-tarball.sh new file mode 100755 index 0000000..90501c5 --- /dev/null +++ b/create-tarball.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +if [ $# -ne 1 ]; then + echo "Usage: ./create-tarball.sh VERSION" + exit 1 +fi + +VERSION=${1} +NAME="jflex" + +wget http://jflex.de/release/${NAME}-${VERSION}.tar.gz +tar xvf ${NAME}-${VERSION}.tar.gz + +( + cd ${NAME}-${VERSION} + find . -name "*.jar" -delete + rm -Rf src/main/java/java_cup/ examples/ +) + +tar czvf ${NAME}-${VERSION}-clean.tar.gz ${NAME}-${VERSION} +rm -Rf ${NAME}-${VERSION}.tar.gz ${NAME}-${VERSION} + diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..7b6e38f --- /dev/null +++ b/gating.yaml @@ -0,0 +1,9 @@ +--- !Policy +product_versions: + - fedora-* +decision_contexts: + - bodhi_update_push_testing + - bodhi_update_push_stable +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/javapackages.functional} diff --git a/jflex.1 b/jflex.1 new file mode 100644 index 0000000..be025d3 --- /dev/null +++ b/jflex.1 @@ -0,0 +1,57 @@ +.TH JFLEX "1" "October 2005" +.SH NAME +jflex \- a lexical analyzer generator (also known as scanner generator) for Java +.SH SYNOPSIS +.B jflex +\fI \fR +.SH DESCRIPTION +JFlex is a lexical analyzer generator (also known as scanner generator) for Java(tm), written in Java(tm). It is also a rewrite of the very useful tool JLex. JFlex is designed to work together with the LALR parser generator CUP, and the Java modification of Berkeley Yacc BYacc/J. It can also be used together with other parser generators like ANTLR or as a standalone tool. + +.SH OPTIONS +.TP +\fB\-d\fR +write generated file to +.TP +\fB\-\-skel\fR +use external skeleton +.TP +\fB\-\-switch\fR, \fB\-\-table\fR, \fB\-\-pack\fR +set default code generation method +.TP +\fB\-\-jlex\fR +strict JLex compatibility +.TP +\fB\-\-nomin\fR +skip minimization step +.TP +\fB\-\-nobak\fR +don't create backup files +.TP +\fB\-\-dump\fR +display transition tables +.TP +\fB\-\-dot\fR +write graphviz .dot files for the generated automata (alpha) +.TP +\fB\-\-verbose\fR, \fB\-v\fR +display generation progress messages (default) +.TP +\fB\-\-quiet\fR, \fB\-q\fR +display errors only +.TP +\fB\-\-time\fR +display generation time statistics +.TP +\fB\-\-version\fR +print the version number of this copy of jflex +.TP +\fB\-\-info\fR +print system + JDK information +.TP +\fB\-\-help\fR, \fB\-h\fR +print this message +.PP + +.SH AUTHOR +This manual page was written by Wolfgang Baer , +for the Debian project (but may be used by others). diff --git a/jflex.spec b/jflex.spec new file mode 100644 index 0000000..77272b4 --- /dev/null +++ b/jflex.spec @@ -0,0 +1,299 @@ +%bcond_with bootstrap + +Summary: Fast Scanner Generator +Name: jflex +Version: 1.7.0 +Release: 11%{?dist} +License: BSD +URL: http://jflex.de/ +BuildArch: noarch +ExclusiveArch: %{java_arches} noarch + +# ./create-tarball.sh %%{version} +Source0: %{name}-%{version}-clean.tar.gz +Source4: %{name}.1 +Source5: create-tarball.sh + +%if %{with bootstrap} +BuildRequires: javapackages-bootstrap +%else +BuildRequires: maven-local +BuildRequires: mvn(java_cup:java_cup) +BuildRequires: mvn(junit:junit) +BuildRequires: mvn(org.apache.ant:ant) +%endif + +%if %{without bootstrap} +BuildRequires: jflex +%endif + +# Explicit javapackages-tools requires since scripts use +# /usr/share/java-utils/java-functions +Requires: javapackages-tools + +%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 %{name} + +%description javadoc +This package provides %{summary}. + +%prep +%setup -q +%mvn_file : %{name} +%pom_add_dep java_cup:java_cup + +%pom_remove_plugin :jflex-maven-plugin +%pom_remove_plugin :cup-maven-plugin +%pom_remove_plugin :maven-shade-plugin +%pom_remove_dep :cup_runtime + +# Tests fail with 320k stacks (default on i686), so lets increase +# stack to 16M to avoid stack overflows. See rhbz#1119308 +%pom_xpath_inject "pom:plugin[pom:artifactId='maven-surefire-plugin']/pom:configuration" "-Xss16384k" + +%pom_xpath_remove "pom:plugin[pom:artifactId='maven-site-plugin']" parent.xml +%pom_xpath_remove "pom:plugin[pom:artifactId='fmt-maven-plugin']" parent.xml +%pom_xpath_remove "pom:plugin[pom:artifactId='cup-maven-plugin']" parent.xml +%pom_xpath_remove "pom:plugin[pom:artifactId='maven-shade-plugin']" parent.xml + +%pom_xpath_remove "pom:dependency[pom:artifactId='plexus-compiler-javac-errorprone']" parent.xml +%pom_xpath_remove "pom:dependency[pom:artifactId='error_prone_core']" parent.xml +%pom_xpath_remove "pom:compilerId" parent.xml +%pom_xpath_remove "pom:compilerArgs" parent.xml + +sed -i /%%inputstreamctor/d src/main/jflex/LexScan.flex + +%build +%{?jpb_env} +cup -parser LexParse -interface -destdir src/main/java src/main/cup/LexParse.cup +jflex -d src/main/java/jflex --skel src/main/jflex/skeleton.nested src/main/jflex/LexScan.flex +%mvn_build + +%install +%mvn_install + +# wrapper script for direct execution +%jpackage_script jflex.Main "" "" jflex:java_cup jflex true + +# manpage +install -d -m 755 %{buildroot}%{_mandir}/man1 +install -p -m 644 %{SOURCE4} %{buildroot}%{_mandir}/man1 + +%files -f .mfiles +%doc doc +%doc COPYRIGHT +%{_bindir}/%{name} +%{_mandir}/man1/%{name}.1* + +%files javadoc +%doc COPYRIGHT +%doc %{_javadocdir}/%{name} + + +%changelog +* Thu Jul 21 2022 Fedora Release Engineering - 1.7.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Feb 05 2022 Jiri Vanek - 1.7.0-10 +- Rebuilt for java-17-openjdk as system jdk + +* Thu Jan 20 2022 Fedora Release Engineering - 1.7.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sat Nov 20 2021 Mikolaj Izdebski - 1.7.0-8 +- Remove unused sources + +* Thu Jul 22 2021 Fedora Release Engineering - 1.7.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon May 17 2021 Mikolaj Izdebski - 1.7.0-6 +- Bootstrap build +- Non-bootstrap build + +* Tue Jan 26 2021 Fedora Release Engineering - 1.7.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.7.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 10 2020 Jiri Vanek - 1.7.0-3 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Wed Jan 29 2020 Fedora Release Engineering - 1.7.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Nov 05 2019 Mikolaj Izdebski - 1.7.0-2 +- Mass rebuild for javapackages-tools 201902 + +* Wed Aug 14 2019 Fabio Valentini - 1.7.0-1 +- Update to version 1.7.0. + +* Thu Jul 25 2019 Fedora Release Engineering - 1.6.1-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jun 06 2019 Marian Koncek - 1.7.0-1 +- Update to upstream version 1.7.0 + +* Fri May 24 2019 Mikolaj Izdebski - 1.6.1-13 +- Mass rebuild for javapackages-tools 201901 + +* Fri Feb 01 2019 Fedora Release Engineering - 1.6.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Jul 31 2018 Severin Gehwolf - 1.6.1-12 +- Add requirement on javapackages-tools for scripts using + java-functions. + +* Fri Jul 13 2018 Fedora Release Engineering - 1.6.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 1.6.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.6.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jun 2 2017 Mikolaj Izdebski - 1.6.1-8 +- Don't hardcode java_cup JAR path + +* Wed May 31 2017 Michael Simacek - 1.6.1-7 +- Replace absolute path with a macro + +* Tue Mar 7 2017 Mikolaj Izdebski - 1.6.1-6 +- Add bconds for desktop and emacs + +* Fri Feb 10 2017 Fedora Release Engineering - 1.6.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Jun 16 2016 Mikolaj Izdebski - 1.6.1-4 +- Add missing build-requires + +* Thu Feb 04 2016 Fedora Release Engineering - 1.6.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 1.6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Mar 17 2015 Mikolaj Izdebski - 1.6.1-1 +- Update to upstream version 1.6.1 + +* Tue Jul 8 2014 Mikolaj Izdebski - 1.6.0-1 +- Update to upstream version 1.6.0 + +* Sun Jun 08 2014 Fedora Release Engineering - 1.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon May 12 2014 Mikolaj Izdebski - 1.5.1-1 +- Update to upstream version 1.5.1 + +* Tue Mar 04 2014 Stanislav Ochotnicky - 1.5.0-3 +- Use Requires: java-headless rebuild (#1067528) + +* Tue Jan 28 2014 Mikolaj Izdebski - 1.5.0-2 +- Fix license tag + +* Mon Jan 27 2014 Mikolaj Izdebski - 0:1.5.0-1 +- Update to upstream version 1.5.0 +- Build with Maven + +* Fri Aug 02 2013 Michal Srb - 0:1.4.3-16 +- Add create-tarball.sh script to SRPM + +* 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 diff --git a/plans/javapackages.fmf b/plans/javapackages.fmf new file mode 100644 index 0000000..def0914 --- /dev/null +++ b/plans/javapackages.fmf @@ -0,0 +1,7 @@ +summary: + Run javapackages-specific tests +discover: + how: fmf + url: https://pagure.io/javapackages-validator-tests +execute: + how: tmt diff --git a/plans/smoke.fmf b/plans/smoke.fmf new file mode 100644 index 0000000..04ca078 --- /dev/null +++ b/plans/smoke.fmf @@ -0,0 +1,4 @@ +summary: Basic smoke test +execute: + script: + - jflex --help diff --git a/sources b/sources new file mode 100644 index 0000000..609f822 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (jflex-1.7.0-clean.tar.gz) = 4040808a543133beb1ef9243eadc1d7eb137660e6bcc3ab462fbb0799eca6c655da6ecc4e17998380b7c4abc167a361f05f45c3fb8de112f6311e232602efd09