+#
+# TODO: split (awt-gtk, midi-alsa, midi-dssi, ???-qt, ???-gconf, ???-gstreamer, browser???, tools, devel-tools)
+#
+# Conditional build:
+%bcond_with gcj # use gcj instead of jdk [broken]
+%bcond_with apidocs # prepare API documentation (over 200MB)
+#
Summary: GNU Classpath (Essential Libraries for Java)
-Summary(pl): GNU Classpath (Najwa¿niejsze biblioteki dla Javy)
+Summary(pl.UTF-8): GNU Classpath (Najważniejsze biblioteki dla Javy)
Name: classpath
-Version: 0.12
-Release: 1
-License: GPL v2
+Version: 0.97.2
+Release: 0.1
+License: GPL v2+ with linking exception
Group: Libraries
-Source0: ftp://ftp.gnu.org/gnu/classpath/%{name}-%{version}.tar.gz
-# Source0-md5: ce1f7fbe6f2e3b738bae3b46f01a9670
-# Source0-size: 3967941
+Source0: http://ftp.gnu.org/gnu/classpath/%{name}-%{version}.tar.gz
+# Source0-md5: 6a35347901ace03c31cc49751b338f31
+Patch0: %{name}-info.patch
URL: http://www.gnu.org/software/classpath/classpath.html
+BuildRequires: QtCore-devel >= 4.1.0
+BuildRequires: QtGui-devel >= 4.1.0
+BuildRequires: GConf2-devel >= 2.6.0
+BuildRequires: alsa-lib-devel
BuildRequires: autoconf >= 2.59
-BuildRequires: automake >= 1.7
-BuildRequires: jikes >= 1.18
-BuildRequires: gcc-c++
-BuildRequires: gdk-pixbuf-devel
-BuildRequires: gtk+2-devel >= 2.4
-BuildRequires: libart_lgpl-devel >= 2.1.0
+BuildRequires: automake >= 1:1.7
+BuildRequires: cairo-devel >= 1.1.8
+BuildRequires: dssi
+%{?with_gcj:BuildRequires: gcc-java >= 5:4.0.2}
+%{?with_apidocs:BuildRequires: gjdoc}
+BuildRequires: gstreamer-devel >= 0.10.10
+BuildRequires: gstreamer-plugins-base-devel >= 0.10.10
+BuildRequires: gtk+2-devel >= 2:2.8
+%{!?with_gcj:BuildRequires: jdk >= 1.5}
+BuildRequires: libmagic-devel
+BuildRequires: libstdc++-devel
BuildRequires: libtool >= 1.4.2
+BuildRequires: libxml2-devel >= 1:2.6.8
+BuildRequires: libxslt-devel >= 1.1.11
BuildRequires: perl-base
BuildRequires: pkgconfig
+BuildRequires: qt4-build >= 4.3.3-3
BuildRequires: texinfo >= 4.2
+BuildRequires: xorg-lib-libXrandr-devel
+BuildRequires: xorg-lib-libXrender-devel
+BuildRequires: xorg-lib-libXtst-devel
+BuildRequires: xulrunner-devel >= 1.8
BuildRequires: zip
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
for the Java language. It includes all native methods and core classes
necessary for a completely functional Java runtime.
-%description -l pl
-GNU Classpath (Najwa¿niejsze biblioteki javy) to projekt stworzenia
-wolnego j±dra klas bibliotek do wykorzystania z wirtualnymi maszynami
-i kompilatorami dla jêzyka Java. Zawiera wszystkie natywne metody i
-g³ówne klasy niezbêdne dla kompletnej funkcjonalno¶ci ¶rodowiska Javy.
+%description -l pl.UTF-8
+GNU Classpath (najważniejsze biblioteki Javy) to projekt stworzenia
+wolnodostępnych bibliotek klas podstawowych do wykorzystania z
+wirtualnymi maszynami i kompilatorami języka Java. Zawiera wszystkie
+natywne metody i główne klasy niezbędne dla kompletnej funkcjonalności
+środowiska Javy.
+
+%package apidocs
+Summary: API documentation
+Summary(pl.UTF-8): Dokumentacja API
+Group: Documentation
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description apidocs
+Annotated reference of GNU Classpath libraries programming interface including:
+- class lists
+- class members
+- namespaces
+
+%description apidocs -l pl.UTF-8
+Dokumentacja interfejsu programowania bibliotek GNU Classpath z przypisami.
+Zawiera:
+- listy klas i ich składników
+- listę przestrzeni nazw (namespace)
%package devel
Summary: Development files for GNU Classpath
-Summary(pl): Pliki dla programistów u¿ywaj±cych GNU Classpath
+Summary(pl.UTF-8): Pliki dla programistów używających GNU Classpath
Group: Development/Libraries
-Requires: %{name} = %{epoch}:%{version}-%{release}
+Obsoletes: classpath-static
+# doesn't require base
%description devel
GNU Classpath (Essential Libraries for Java) - development files.
-%description devel -l pl
-GNU Classpath (Najwa¿niejsze biblioteki dla Javy) - pliki dla
-programistów.
-
-%package static
-Summary: Static libraries for GNU Classpath
-Summary(pl): Biblioteki statyczne dla GNU Classpath
-Group: Development/Libraries
-Requires: %{name}-devel = %{epoch}:%{version}-%{release}
-
-%description static
-GNU Classpath (Essential Libraries for Java) - static libraries.
-
-%description static -l pl
-GNU Classpath (Najwa¿niejsze biblioteki dla Javy) - biblioteki
-statyczne.
+%description devel -l pl.UTF-8
+GNU Classpath (Najważniejsze biblioteki dla Javy) - pliki dla
+programistów.
+
+%package tools
+Summary: Shared Java tools
+Summary(pl.UTF-8): Współdzielone narzędzia Javy
+Group: Development/Languages/Java
+Requires: %{name} = %{version}-%{release}
+Provides: jar
+Provides: java-jre-tools
+Provides: java-shared
+Obsoletes: fastjar
+Obsoletes: jar
+Obsoletes: java-jre-tools
+Obsoletes: java-shared
+
+%description tools
+GNU Classpath java tools.
+
+%description tools -l pl.UTF-8
+Narzędzia dla javy GNU Classpath.
+
+%package tools-devel
+Summary: Shared java tools development files
+Group: Development/Languages/Java
+Requires: %{name}-tools = %{version}-%{release}
+
+%description tools-devel
+GNU Classpath java tools development files.
%prep
%setup -q
+%patch0 -p1
%build
%configure \
- --enable-static \
- --with-jikes \
+ JAVAC="%{?with_gcj:gcj -C}%{!?with_gcj:javac}" \
+ MOC=moc-qt4 \
+ --%{?debug:en}%{!?debug:dis}able-debug \
+ --enable-gstreamer-peer \
+ --enable-gtk-peer \
--enable-java \
--enable-jni \
- --disable-cni \
- --enable-gtk-peer \
--enable-load-library \
- --disable-debug
+ --enable-qt-peer \
+ --enable-xmlj \
+ --with%{!?with_apidocs:out}-gjdoc \
+ --with-javah=%{?with_gcj:gcjh}%{!?with_gcj:javah} \
+ --disable-examples
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_javadir}
+install -d $RPM_BUILD_ROOT{%{_javadir},%{_javadocdir}/%{name}-%{version}-apidocs}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-mv -f $RPM_BUILD_ROOT%{_libdir}{/classpath/*,}
-for f in libgtkpeer libjavaio libjavalang libjavalangreflect libjavanet libjavanio libjavautil; do
- perl -pi -e "s:^libdir='.*:libdir='%{_libdir}':" $RPM_BUILD_ROOT%{_libdir}/$f.la
-done
-mv -f $RPM_BUILD_ROOT{%{_datadir}/classpath/glibj.zip,%{_javadir}}
+%if %{with apidocs}
+cp -afr doc/api/html/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}-apidocs
+%endif
+
+rm -f $RPM_BUILD_ROOT%{_libdir}/classpath/*.la
%clean
rm -rf $RPM_BUILD_ROOT
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%post devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%postun devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
%files
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README THANKYOU TODO
-%attr(755,root,root) %{_libdir}/libgtkpeer.so.*.*.*
-%attr(755,root,root) %{_libdir}/libjavaio.so.*.*.*
-%attr(755,root,root) %{_libdir}/libjavalang.so.*.*.*
-%attr(755,root,root) %{_libdir}/libjavalangreflect.so.*.*.*
-%attr(755,root,root) %{_libdir}/libjavanet.so.*.*.*
-%attr(755,root,root) %{_libdir}/libjavanio.so.*.*.*
-%attr(755,root,root) %{_libdir}/libjavautil.so.*.*.*
-%{_javadir}/glibj.zip
-%{_infodir}/*
+%doc AUTHORS BUGS ChangeLog NEWS README THANKYOU TODO
+%dir %{_libdir}/classpath
+%attr(755,root,root) %{_libdir}/classpath/libgcjwebplugin.so
+%attr(755,root,root) %{_libdir}/classpath/libgconfpeer.so
+%attr(755,root,root) %{_libdir}/classpath/libgjsmalsa.so
+%attr(755,root,root) %{_libdir}/classpath/libgjsmdssi.so
+%attr(755,root,root) %{_libdir}/classpath/libgstreamerpeer.so
+%attr(755,root,root) %{_libdir}/classpath/libgtkpeer.so
+%attr(755,root,root) %{_libdir}/classpath/libjavaio.so*
+%attr(755,root,root) %{_libdir}/classpath/libjavalang.so*
+%attr(755,root,root) %{_libdir}/classpath/libjavalangmanagement.so*
+%attr(755,root,root) %{_libdir}/classpath/libjavalangreflect.so*
+%attr(755,root,root) %{_libdir}/classpath/libjavanet.so*
+%attr(755,root,root) %{_libdir}/classpath/libjavanio.so*
+%attr(755,root,root) %{_libdir}/classpath/libjavautil.so*
+%attr(755,root,root) %{_libdir}/classpath/libjawt.so
+%attr(755,root,root) %{_libdir}/classpath/libqtpeer.so
+%attr(755,root,root) %{_libdir}/classpath/libxmlj.so*
+%dir %{_libdir}/security
+%{_libdir}/security/classpath.security
+%{_libdir}/logging.properties
+%dir %{_datadir}/classpath
+%{_datadir}/classpath/glibj.zip
+%{_datadir}/classpath/tools.zip
+
+%files tools
+%attr(755,root,root) %{_bindir}/gappletviewer
+%attr(755,root,root) %{_bindir}/gkeytool
+%attr(755,root,root) %{_bindir}/gorbd
+%attr(755,root,root) %{_bindir}/grmid
+%attr(755,root,root) %{_bindir}/grmiregistry
+%attr(755,root,root) %{_bindir}/gtnameserv
+%{_mandir}/man1/gappletviewer.1*
+%{_mandir}/man1/gkeytool.1*
+%{_mandir}/man1/gorbd.1*
+%{_mandir}/man1/grmid.1*
+%{_mandir}/man1/grmiregistry.1*
+%{_mandir}/man1/gtnameserv.1*
+
+%files tools-devel
+%attr(755,root,root) %{_bindir}/gjar
+%attr(755,root,root) %{_bindir}/gjarsigner
+%attr(755,root,root) %{_bindir}/gjavah
+%attr(755,root,root) %{_bindir}/gnative2ascii
+%attr(755,root,root) %{_bindir}/grmic
+%attr(755,root,root) %{_bindir}/gserialver
+%{_mandir}/man1/gjar.1*
+%{_mandir}/man1/gjarsigner.1*
+%{_mandir}/man1/gjavah.1*
+%{_mandir}/man1/gnative2ascii.1*
+%{_mandir}/man1/gserialver.1*
+# no bin
+#%{_mandir}/man1/gcjh.1*
+
+%if %{with apidocs}
+%files apidocs
+%defattr(644,root,root,755)
+%{_javadocdir}/%{name}-%{version}-apidocs
+%endif
%files devel
%defattr(644,root,root,755)
-%{_libdir}/libgtkpeer.la
-%{_libdir}/libgtkpeer.so
-%{_libdir}/libjavaio.la
-%{_libdir}/libjavaio.so
-%{_libdir}/libjavalang.la
-%{_libdir}/libjavalang.so
-%{_libdir}/libjavalangreflect.la
-%{_libdir}/libjavalangreflect.so
-%{_libdir}/libjavanet.la
-%{_libdir}/libjavanet.so
-%{_libdir}/libjavanio.la
-%{_libdir}/libjavanio.so
-%{_libdir}/libjavautil.la
-%{_libdir}/libjavautil.so
-
-%files static
-%defattr(644,root,root,755)
-%{_libdir}/libgtkpeer.a
-%{_libdir}/libjavaio.a
-%{_libdir}/libjavalang.a
-%{_libdir}/libjavalangreflect.a
-%{_libdir}/libjavanet.a
-%{_libdir}/libjavanio.a
-%{_libdir}/libjavautil.a
+%{_includedir}/jawt.h
+%{_includedir}/jawt_md.h
+%{_includedir}/jni.h
+%{_includedir}/jni_md.h
+%{_infodir}/cp-hacking.info*
+%{_infodir}/cp-tools.info*
+%{_infodir}/cp-vmintegration.info*