# NOTE
# - build instructions: http://www.eclipse.org/swt/faq.php#howbuilddll
#
+# TODO
+# - check if any patches are needed
+#
# Conditional build:
%bcond_without gnome # build without GNOME
%bcond_without xulrunner # build without xulrunner
%bcond_without glx # build without GLX
-%bcond_with cairo # build with cairo
-#
-%define buildid 200706251500
-#define mver M6
-%define ver_major 3.3
-%define ver_minor 0
-%define ver_swt 3346
+%bcond_without cairo # build without cairo
+
+%define buildid 200906111540
%ifarch %{x8664}
%define swtsrcdir plugins/org.eclipse.swt.gtk.linux.x86_64
%define eclipse_arch %(echo %{_target_cpu} | sed 's/i.86/x86/;s/athlon/x86/;s/pentium./x86/')
+%include /usr/lib/rpm/macros.java
Summary: SWT - a widget toolkit for Java
Summary(pl.UTF-8): SWT - zestaw widgetów dla Javy
Name: eclipse-swt
-Version: %{ver_major}
-#Release: 0.%{mver}_%{buildid}.1
+Version: 3.5
Release: 1
License: CPL v1.0
Group: Libraries
-#Source0: http://download.eclipse.org/downloads/drops/S-%{ver_major}%{mver}-%{buildid}/eclipse-sourceBuild-srcIncluded-%{ver_major}%{mver}.zip
-Source0: http://download.eclipse.org/eclipse/downloads/drops/R-%{ver_major}-%{buildid}/eclipse-sourceBuild-srcIncluded-%{version}.zip
-# Source0-md5: 91c688221479986dbdd7d1a0771f04cc
-Patch0: %{name}-NULL.patch
+Source0: http://download.eclipse.org/eclipse/downloads/drops/R-%{version}-%{buildid}/eclipse-sourceBuild-srcIncluded-%{version}.zip
+# Source0-md5: 5bba586ef20f9c7a545382a104c513d6
URL: http://www.eclipse.org/swt/
%{?with_glx:BuildRequires: OpenGL-devel}
BuildRequires: ant >= 1.6.1
%{?with_gnome:BuildRequires: libgnomeui-devel}
%{?with_xulrunner:BuildRequires: libstdc++-devel}
BuildRequires: pkgconfig
-BuildRequires: rpmbuild(macros) >= 1.213
+BuildRequires: rpm-javaprov
+BuildRequires: rpmbuild(macros) >= 1.300
BuildRequires: unzip
-%{?with_xulrunner:BuildRequires: xulrunner-devel}
+BuildRequires: xorg-lib-libXtst-devel
+%{?with_xulrunner:BuildRequires: xulrunner-devel >= 1.9}
BuildRequires: zip
-Requires: ant
Requires: jdk >= 1.4
-ExclusiveArch: %{ix86} %{x8664} ppc
+Requires: jpackage-utils
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define no_install_post_chrpath 1
-%ifarch %{x8664}
-%define _noautostrip .*\\.so
-%endif
-
%description
SWT is a widget toolkit for Java designed to provide efficient,
portable access to the user-interface facilities of the operating
%prep
%setup -q -c
+%ifarch %{x8664}
+# probably broken only in 3.3.1.1
+%{__sed} -i -e 's,${basedir}/src/Eclipse SWT,${plugindir}/Eclipse SWT,' %{swtsrcdir}/build.xml
+%endif
%ant -f %{swtsrcdir}/build.xml src.zip
mkdir swt
cd swt
%{__unzip} -qq -o ../%{swtsrcdir}/src.zip
-%patch0 -p0
%build
%{__make} -f make_linux.mak -C swt \
%{?with_glx:make_glx} \
%{?with_gnome:make_gnome} \
%{?with_cairo:make_cairo} \
- %{?with_xulrunner:make_xulrunner XULRUNNER_INCLUDES="$(pkg-config --cflags xulrunner-xpcom)"} \
+ %{?with_xulrunner:make_xulrunner XULRUNNER_INCLUDES="$(pkg-config --cflags libxul-embedding)"} \
JAVA_HOME="%{java_home}" \
CC="%{__cc}" \
CXX="%{__cxx}" \
install -d $RPM_BUILD_ROOT%{_javadir}
install %{swtsrcdir}/swt.jar $RPM_BUILD_ROOT%{_javadir}
-dir=%{_libdir}/swt/%{swtgtkdir}_%{ver_major}.%{ver_minor}/os/linux/%{eclipse_arch}
+dir=%{_libdir}/swt/%{swtgtkdir}_%{version}/os/linux/%{eclipse_arch}
install -d $RPM_BUILD_ROOT$dir
for a in swt/libswt-*.so; do
install $a $RPM_BUILD_ROOT$dir
ln -sf ${dir#%{_libdir}/swt/}/$lib $RPM_BUILD_ROOT%{_libdir}/swt
done
-%if %{with cairo}
-install swt/libcairo.so* $RPM_BUILD_ROOT%{_libdir}/swt
-%endif
-
install swt/*.html $RPM_BUILD_ROOT%{_libdir}/swt
cp -a swt/about_files $RPM_BUILD_ROOT%{_libdir}/swt
%files
%defattr(644,root,root,755)
%dir %{_libdir}/swt
-%dir %{_libdir}/swt/%{swtgtkdir}_*.*.*
-%dir %{_libdir}/swt/%{swtgtkdir}_*.*.*/os
-%dir %{_libdir}/swt/%{swtgtkdir}_*.*.*/os/linux
-%dir %{_libdir}/swt/%{swtgtkdir}_*.*.*/os/linux/%{eclipse_arch}
+%dir %{_libdir}/swt/plugins
+%dir %{_libdir}/swt/%{swtgtkdir}_%{version}
+%dir %{_libdir}/swt/%{swtgtkdir}_%{version}/os
+%dir %{_libdir}/swt/%{swtgtkdir}_%{version}/os/linux
+%dir %{_libdir}/swt/%{swtgtkdir}_%{version}/os/linux/%{eclipse_arch}
%{_javadir}/swt.jar
%{_libdir}/swt/about_files
%{_libdir}/swt/about.html
-%{_libdir}/swt/libswt-*-%{ver_swt}.so
-%attr(755,root,root) %{_libdir}/swt/%{swtgtkdir}_*.*.*/os/linux/%{eclipse_arch}/libswt-atk-gtk-*.so
-%{?with_glx:%attr(755,root,root) %{_libdir}/swt/%{swtgtkdir}_*.*.*/os/linux/%{eclipse_arch}/libswt-glx-gtk-*.so}
-%{?with_gnome:%attr(755,root,root) %{_libdir}/swt/%{swtgtkdir}_*.*.*/os/linux/%{eclipse_arch}/libswt-gnome-gtk-*.so}
-%attr(755,root,root) %{_libdir}/swt/%{swtgtkdir}_*.*.*/os/linux/%{eclipse_arch}/libswt-gtk-*.so
-%attr(755,root,root) %{_libdir}/swt/%{swtgtkdir}_*.*.*/os/linux/%{eclipse_arch}/libswt-pi-gtk-*.so
-%{?with_xulrunner:%attr(755,root,root) %{_libdir}/swt/%{swtgtkdir}_*.*.*/os/linux/%{eclipse_arch}/libswt-xulrunner-gtk-*.so}
+%{_libdir}/swt/libswt-*-*.so
+%attr(755,root,root) %{_libdir}/swt/%{swtgtkdir}_%{version}/os/linux/%{eclipse_arch}/libswt-atk-gtk-*.so
+%{?with_cairo:%attr(755,root,root) %{_libdir}/swt/%{swtgtkdir}_%{version}/os/linux/%{eclipse_arch}/libswt-cairo-gtk-*.so}
+%{?with_glx:%attr(755,root,root) %{_libdir}/swt/%{swtgtkdir}_%{version}/os/linux/%{eclipse_arch}/libswt-glx-gtk-*.so}
+%{?with_gnome:%attr(755,root,root) %{_libdir}/swt/%{swtgtkdir}_%{version}/os/linux/%{eclipse_arch}/libswt-gnome-gtk-*.so}
+%attr(755,root,root) %{_libdir}/swt/%{swtgtkdir}_%{version}/os/linux/%{eclipse_arch}/libswt-gtk-*.so
+%attr(755,root,root) %{_libdir}/swt/%{swtgtkdir}_%{version}/os/linux/%{eclipse_arch}/libswt-pi-gtk-*.so
+%{?with_xulrunner:%attr(755,root,root) %{_libdir}/swt/%{swtgtkdir}_%{version}/os/linux/%{eclipse_arch}/libswt-xulrunner-gtk-*.so}