javacc/javacc.spec
Fridrich Strba 38b58e03cb Accepting request 1128007 from home:urbic:branches:Java:packages
- Update to version 7.0.13
  * Modifications in JavaCC 7.0.13
    + #267 : Resolve merge conflicts from #245
    + #245 : Fix issue #243 (Character code is returned instead of
      the symbol in the message)
    + #232 : Revert “Try to fix }}} issue in GitHub Pages”
    + #231 : Try to fix }}} issue in GitHub Pages
  * Modifications in JavaCC 7.0.12
    + #230 : Remove unused char from TokenMgrError.template in
      LexicalEr
    + #228 : Remove redundant cast in TokenMgrError template
    + #224 : Production part in javacc_input cannot be omitted
    + #223 : Fix annotations for JavaCharStream
    + #222 : Generate max. one deprecated annotation per method
    + #219 : Fix mismatched javadoc
    + #213 : Fix legacy links to Apache Lucene’s grammar file
    + #212 : Test for allocation expression #189
    + #211 : Bad defaultVisit() method generated
    + #210 : Another change for marked for removal
    + #209 : Improve lexical error message
    + #208 : Relocated misplaced annotations
    + #207 : Changed methods marked for removal
    + #206 : Build xml improvements
    + #205 : Small fixes on warnings
    + #203 : Missing change for doc for token_manager_decls (issue
      #190)
    + #202 : Fix doc for token_manager_decls (issue #190)
    + #200 : Update index.md and _config.yml
    + #199 : Fix QueryParser.jj url in README
- Remove patches:
  * 0001-Generate-max.-one-deprecated-annotation-per-method.patch
  * 0002-Fix-annotations-for-JavaCharStream.patch
    + not needed any more in this version (already applied by
      upstream)
- Added patches:
  * 0001-Generate-max.-one-deprecated-annotation-per-method.patch
  * 0002-Fix-annotations-for-JavaCharStream.patch
    + Fix regression where duplicate @Deprecated annotations were
	  generated
- Update to version 7.0.11
  * Modifications in version 7.0.11
    + #193 : Code error in class RCharacterList.SortDescriptors():
      fixed
  * Modifications in version 7.0.10
    + #183 : Lookahead is broken since 7.0.5 (introduced in commit
      fbac68f)
  * Modifications in version 7.0.9
    + pom.xml : change deployment on OSS to automatic release
    + documentation : fix broken links
  * Modifications in version 7.0.8
    + #175 : Doesn’t work in Turkish Locale
    + #73 : javacc/c++: invalid lookahead processing: missing one
      lookahead to get rid of the conflict
  * Modifications in version 7.0.7
    + JavaCC.jj : remove unused c++ declaration blocs tokens
    + #172 : add a specific ‘-version’ command line argument
  * Modifications in version 7.0.6
    The following changes are not upward compatible with the
    previous 7.0.5 version but have a very little impact on
    existing grammars. Main advantage is to prepare a more smooth
    upgrade with the upcoming javacc-8.0.0 major release.
    + C++ generation: renaming the option TOKEN_EXTENDS by
      TOKEN_SUPER_CLASS
    + C++ generation: renaming the option TOKEN_INCLUDES by
      TOKEN_INCLUDE
    + C++ generation: renaming the option PARSER_INCLUDES by
      PARSER_INCLUDE
    + C++ generation: renaming the option TOKEN_MANAGER_INCLUDES by
      TOKEN_MANAGER_INCLUDE
  * Modifications in version 7.0.5
    + #42: new README.md file.
    + #71: Add support for Java7 language features.
    + #75: Allow empty type parameters in Java code of grammar files.
    + #77: javacc.org is out of date.
    + #92: Avoid warning of unused import in generated
      ParserTokenManager.
    + #99: LookaheadSuccess creation performance improved.
    Removing IDE specific files. Declare trace_indent only if debug
    parser is enabled. CPPParser.jj grammar added to grammars.
    Build with Maven is working again.
    —WARNING—WARNING—WARNING— Required Java Platform: Standard
    Edition 7.0: known under Eclipse as JavaSE-1.7
- Build with source/target levels 8
- Make this a multibuild package where the bootstrap version is
  built using the included javacc.jar and the non-bootstrap version
  uses the system javacc.jar
- Upgrade to 7.0.4
  * No obvious changelog
  * Fixes a number of C++ generation issues
- Generate the scripts during build using jpackage_script
- Build and package the javadoc documentation
- Removed patch:
  * javacc.patch
    + not needed any more in this version
- Fix build with jdk9: specify java source and target 1.6
- Do not use gcj as it is getting deprecated
- Version bump to 5.0:
  * No obvious changelog
  * Works better with jdk8
- Updated to match up with fedora version
- Build with gcc-java as openjdk7 (1.7.0_40) fails to build it
- Move from jpackage-utils to javapackage-tools
- updated to 4.0:
	See the bug list in issue tracker for all the bugs fixed in this release.
        JJTree and JavaCC both now support 1.5 syntax.
        We now support accessing token fields in the grammar like: s=<ID>.image
        Convenient constructors for passing encoding directly to the grammar
        Tabsetting is now customizable.
        SimpleNode can now extend a class using the NODE_EXTENDS option.
        JAVACODE and BNF productions take optional access modifiers.
- set source=1.4 for java 
- converted neededforbuild to BuildRequires
- Current version 3.2 from JPackage.org
 - add norootforbuild
- initial package

OBS-URL: https://build.opensuse.org/request/show/1128007
OBS-URL: https://build.opensuse.org/package/show/Java:packages/javacc?expand=0&rev=31
2023-11-22 05:52:59 +00:00

158 lines
4.1 KiB
RPMSpec

#
# spec file
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2000-2005, JPackage Project
#
# 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/
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "bootstrap"
%bcond_without bootstrap
%else
%bcond_with bootstrap
%endif
%global base_name javacc
Version: 7.0.13
Release: 0
Summary: A Parser and Scanner Generator for Java
License: BSD-3-Clause
Group: Development/Libraries/Java
URL: https://javacc.org
Source0: https://github.com/javacc/javacc/archive/refs/tags/%{base_name}-%{version}.tar.gz
BuildRequires: ant
BuildRequires: java-devel >= 1.8
BuildArch: noarch
%if %{with bootstrap}
Name: %{base_name}-bootstrap
BuildRequires: javapackages-tools
Provides: %{base_name}
%else
Name: %{base_name}
BuildRequires: %{base_name}
BuildRequires: fdupes
BuildRequires: javapackages-local
# Explicit javapackages-tools requires since scripts use
# /usr/share/java-utils/java-functions
Requires: javapackages-tools
Provides: %{base_name}-bootstrap
Obsoletes: %{base_name}-bootstrap
%endif
%description
Java Compiler Compiler (JavaCC) is the most popular parser generator
for use with Java applications. A parser generator is a tool that reads
a grammar specification and converts it to a Java program that can
recognize matches to the grammar. In addition to the parser generator
itself, JavaCC provides other standard capabilities related to parser
generation such as tree building (via a tool called JJTree included
with JavaCC), actions, debugging, etc.
%package manual
Summary: Manual for %{name}
Group: Documentation/Other
%description manual
Manual for %{name}.
%package demo
Summary: Examples for %{name}
Group: Development/Libraries/Java
Requires: %{name} = %{version}-%{release}
%description demo
Examples for %{name}.
%package javadoc
Summary: Javadoc for %{name}
Group: Documentation/HTML
%description javadoc
This package contains the API documentation for %{name}.
%prep
%setup -n %{base_name}-%{base_name}-%{version}
rm -f lib/*.jar
%if %{without bootstrap}
rm -f bootstrap/javacc.jar
build-jar-repository -s -p bootstrap javacc
find ./examples -type f -exec sed -i 's/\r//' {} \;
rm examples/JavaGrammars/cpp/.gitignore
# The pom dependencies are wrong
%pom_xpath_remove pom:project/pom:dependencies
%endif
%build
%{ant} -Dant.build.javac.{source,target}=8 \
%if %{with bootstrap}
jar
%else
jar javadoc
%endif
%install
# jar
install -dm0755 %{buildroot}%{_javadir}
install -pm0644 target/%{base_name}-%{version}.jar %{buildroot}%{_javadir}/%{base_name}.jar
%if %{without bootstrap}
# pom
install -dm0755 %{buildroot}%{_mavenpomdir}
install -pm0644 pom.xml %{buildroot}%{_mavenpomdir}/%{base_name}.pom
%add_maven_depmap %{base_name}.pom %{base_name}.jar
# javadoc
install -dm0755 %{buildroot}%{_javadocdir}/%{name}
cp -pr target/javadoc/* %{buildroot}%{_javadocdir}/%{name}/
%fdupes -s %{buildroot}%{_javadocdir}
%fdupes -s docs
%fdupes -s examples
%jpackage_script javacc '' '' javacc javacc true
ln -s %{_bindir}/javacc %{buildroot}%{_bindir}/javacc.sh
%jpackage_script jjdoc '' '' javacc jjdoc true
%jpackage_script jjtree '' '' javacc jjtree true
%endif
%if %{with bootstrap}
%files
%{_javadir}/%{base_name}.jar
%else
%files -f .mfiles
%{_bindir}/javacc
%{_bindir}/javacc.sh
%{_bindir}/jjdoc
%{_bindir}/jjtree
%endif
%license LICENSE
%doc README.md
%if %{without bootstrap}
%files manual
%doc docs/*
%files demo
%doc examples
%files javadoc
%license LICENSE
%{_javadocdir}/%{name}
%endif
%changelog