Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > e3cf0e49fff5e63a0fe9ffd232c16911 > files > 9

jflex-1.4.1-12mdv2009.0.src.rpm

%bcond_with                bootstrap
%define section            free
%define gcj_support        1

Name:           jflex
Version:        1.4.1
Release:        %mkrel 12
Epoch:          0
Summary:        A Lexical Analyzer Generator for Java
License:        GPL
Group:          Development/Java
#Vendor:         JPackage Project
#Distribution:   JPackage
Source0:        http://www.jflex.de/jflex-1.4.1.tar.bz2
Source1:        jflex.script
Source2:        jflex-1.4.1-generated-files.tar.bz2
Patch0:         jflex-javac-no-target.patch
Patch1:         jflex-no-cup-no-jflex.patch
Patch2:         jflex-classpath.patch
Patch3:         jflex-cup-anttask.patch
Patch4:         jflex-byaccj-utl.patch
URL:            http://www.jflex.de/
Requires:       java_cup
Requires:       jpackage-utils
BuildRequires:  ant
BuildRequires:  java_cup
%if %without bootstrap
BuildRequires:  jflex
%endif
BuildRequires:  java-rpmbuild
BuildRequires:  junit
%if %{gcj_support}
BuildRequires:  java-gcj-compat-devel
%else
BuildArch:      noarch
%endif
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot

%description
JFlex is a lexical analyzer 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.

Design goals The main design goals of JFlex are:

    * Full unicode support
    * Fast generated scanners
    * Fast scanner generation
    * Convenient specification syntax
    * Platfo%{__rm} independence
    * JLex compatibility

%package javadoc
Group:          Development/Java
Summary:        Javadoc for %{name}

%description javadoc
Javadoc for %{name}.

%prep
%setup -q
%{__rm} -rf src/java_cup
find . -name '*.jar' | xargs -t %{__rm}
%patch0 -p1
%if %with bootstrap
%setup -q -T -D -a 2
%patch1 -p1
%else
%patch2 -p1
%patch3 -p1
%patch4 -p1
%endif

%build
pushd src
%if %without bootstrap
export CLASSPATH=$(build-classpath java-cup junit jflex)
%else
export CLASSPATH=$(build-classpath java-cup junit)
%endif
export OPT_JAR_LIST=
%if %without bootstrap
%ant realclean
%endif
%ant jar
%{__mkdir_p} ../dist/docs/api
%{javadoc} -d ../dist/docs/api `find . -type f -name "*.java"`
popd

%install
%{__rm} -rf %{buildroot}

# jar
%{__mkdir_p} %{buildroot}%{_javadir}
%{__install} -m 644 lib/JFlex.jar %{buildroot}%{_javadir}/%{name}-%{version}.jar
(cd %{buildroot}%{_javadir} && for jar in *-%{version}*; do %{__ln_s} ${jar} `echo $jar| sed  "s|-%{version}||g"`; done)
# compatibility symlink
(cd %{buildroot}%{_javadir} && %{__ln_s} jflex.jar JFlex.jar)
# javadoc
%{__mkdir_p} 755 %{buildroot}%{_javadocdir}/%{name}-%{version}
%{__cp} -a dist/docs/api/* %{buildroot}%{_javadocdir}/%{name}-%{version}
(cd %{buildroot}%{_javadocdir} && %{__ln_s} %{name}-%{version} %{name})

%{__mkdir_p} %{buildroot}%{_bindir}
%{__install} -m 755 %{SOURCE1} %{buildroot}%{_bindir}/jflex

%{__perl} -pi -e 's/\r$//g' examples/standalone/sample.inp

%if %{gcj_support}
%{_bindir}/aot-compile-rpm
%endif

%clean
%{__rm} -rf %{buildroot}
%{__rm} -f $RPM_BUILD_DIR/jflex

%if %{gcj_support}
%post
%{update_gcjdb}

%postun
%{clean_gcjdb}
%endif

%post javadoc
%{__rm} -f %{_javadocdir}/%{name}
%{__ln_s} %{name}-%{version} %{_javadocdir}/%{name}

%postun javadoc
if [ "$1" = "0" ]; then
    %{__rm} -f %{_javadocdir}/%{name}
fi

%files
%defattr(0644,root,root,0755)
%doc COPYRIGHT doc examples src/README src/changelog
%attr(0755,root,root) %{_bindir}/jflex
%{_javadir}/%{name}.jar
%{_javadir}/%{name}-%{version}.jar
%{_javadir}/JFlex.jar
%if %{gcj_support}
%dir %{_libdir}/gcj/%{name}
%attr(-,root,root) %{_libdir}/gcj/%{name}/*
%endif

%files javadoc
%defattr(0644,root,root,0755)
%{_javadocdir}/%{name}-%{version}
%ghost %{_javadocdir}/%{name}



%changelog
* Tue Jun 17 2008 Thierry Vignaud <tvignaud@mandriva.com> 0:1.4.1-12mdv2009.0
+ Revision: 221710
- rebuild
- kill re-definition of %%buildroot on Pixel's request

  + Olivier Blin <oblin@mandriva.com>
    - restore BuildRoot

* Sun Dec 16 2007 Anssi Hannula <anssi@mandriva.org> 0:1.4.1-11mdv2008.1
+ Revision: 120941
- buildrequire java-rpmbuild, i.e. build with icedtea on x86(_64)

* Sat Sep 15 2007 Anssi Hannula <anssi@mandriva.org> 0:1.4.1-10mdv2008.0
+ Revision: 87433
- rebuild to filter out autorequires of GCJ AOT objects
- remove unnecessary Requires(post) on java-gcj-compat

* Sat Sep 08 2007 Pascal Terjan <pterjan@mandriva.org> 0:1.4.1-9mdv2008.0
+ Revision: 82536
- update to new version


* Wed Nov 08 2006 David Walluck <walluck@mandriva.org>
+ 2006-11-08 04:53:36 (78038)
- BuildRequires: jflex for non-bootstrap
- disable bootstrap

* Tue Nov 07 2006 David Walluck <walluck@mandriva.org> 1.4.1-6mdv2007.1
+ 2006-11-07 12:12:56 (77050)
- fix some (Build)Requires
- enable bootstrap
- Import jflex

* Sun Sep 10 2006 David Walluck <walluck@mandriva.org> 0:1.4.1-4mdv2007.0
- fix build by removing included java_cup sources

* Sun Sep 10 2006 David Walluck <walluck@mandriva.org> 0:1.4.1-3mdv2007.0
- don't clean generated files before build (fails)
- add byaccj url fix from Debian
- remove jflex dir from $RPM_BUILD_DIR

* Sun Sep 10 2006 David Walluck <walluck@mandriva.org> 0:1.4.1-2mdv2007.0
- clean build environment

* Sat Sep 09 2006 David Walluck <walluck@mandriva.org> 0:1.4.1-1mdv2007.0
- release