+%include /usr/lib/rpm/macros.java
# TODO:
# * Add a csharp bindings subpacakge (feel free to do it)
-# * Package the python bindings as subpackage as well
+# * Package the Emacs an Jedit modes
#
# Conditional build:
%bcond_with javac # use javac instead of gcj
Summary(pl): Jeszcze jedno narzêdzie do rozpoznawania jêzyka
Name: antlr
Version: 2.7.5
-Release: 2
+Release: 3
License: Public Domain
Group: Development/Tools
Source0: http://www.antlr.org/download/%{name}-%{version}.tar.gz
Patch0: %{name}-DESTDIR.patch
URL: http://www.antlr.org/
BuildRequires: automake
+BuildRequires: libstdc++-devel
+BuildRequires: python
%if !%{with javac}
BuildRequires: gcc-java
-BuildRequires: gcc-java-tools
+BuildRequires: jar
# gij is in gcc-java in Ac
Requires: gcc-java
%else
BuildRequires: sed >= 4.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _javalibdir %{_datadir}/java
-
%description
ANTLR, ANother Tool for Language Recognition, (formerly PCCTS) is a language
tool that provides a framework for constructing recognizers, compilers, and
ANTLR ma ¶wietne wsparcie dla tworzenia drzew, przechodzenia po
drzewach oraz translacji.
+%package -n python-%{name}
+Summary: ANTLR runtime library for Python
+Group: Libraries/Python
+%pyrequires_eq python-modules
+
+%description -n python-%{name}
+ANTLR (ANother Tool for Language Recognition) runtime library for Python.
+
%prep
%setup -q
%patch0 -p1
%build
-#export CLASSPATH=$RPM_BUILD_DIR/%{name}-%{version}
+unset CLASSPATH || :
+unset JAVA_HOME || :
+
+%{?with_javac:export JAVA_HOME=%{java_home}}
cp -f /usr/share/automake/config.sub scripts
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_javalibdir}
+install -d $RPM_BUILD_ROOT{%{_javadir},%{py_sitescriptdir}/%{name}}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-mv $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/antlr.jar $RPM_BUILD_ROOT%{_javalibdir}
+mv $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/antlr.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
+ln -s %{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
-%{__sed} -i -e "s,ANTLR_JAR=.*,ANTLR_JAR=\"%{_javalibdir}/antlr.jar\",g" $RPM_BUILD_ROOT%{_bindir}/antlr
+%{__sed} -i -e "s,ANTLR_JAR=.*,ANTLR_JAR=\"%{_javadir}/antlr-%{version}.jar\",g" $RPM_BUILD_ROOT%{_bindir}/antlr
+
+mv $RPM_BUILD_ROOT{%{_datadir}/%{name}-%{version}/*.py,%{py_sitescriptdir}/%{name}}
+%py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}/%{name}
+rm -f $RPM_BUILD_ROOT%{py_sitescriptdir}/%{name}/*.py
+
+rm -f $RPM_BUILD_ROOT%{_sbindir}/pyantlr.sh
+rm -f $RPM_BUILD_ROOT%{_libdir}/antlr*
+
+# TODO: install where Emacs and JEdit will look for that
+rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/*.{xml,el}
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_bindir}/antlr-config
%{_includedir}/%{name}
%{_libdir}/libantlr.a
+%{_datadir}/%{name}*
# Don't separate it, antlr binary won't work without it
-%{_javalibdir}/*.jar
+%{_javadir}/*.jar
+
+%files -n python-%{name}
+%{py_sitescriptdir}/%{name}