+# NOTE
+# - build instructions: http://www.eclipse.org/swt/faq.php#howbuilddll
#
# Conditional build:
-%bcond_without gnome # build without gnome
+%bcond_without gnome # build without GNOME
+%bcond_without xulrunner # build without xulrunner
+%bcond_without glx # build without GLX
%bcond_without cairo # build without cairo
-#
-%define _buildid 200506271435
-#define _mver M6
-%define _ver_major 3.1
-%define _ver_minor 0
-%define _ver %{_ver_major}.%{_ver_minor}
+
+%define buildid 200806172000
%ifarch %{x8664}
-%define _swtsrcdir plugins/org.eclipse.swt.gtk.linux.x86_64
-%define _swtgtkdir plugins/org.eclipse.swt.gtk.linux.x86_64
+%define swtsrcdir plugins/org.eclipse.swt.gtk.linux.x86_64
+%define swtgtkdir plugins/org.eclipse.swt.gtk.linux.x86_64
%endif
%ifarch ppc
-%define _swtsrcdir plugins/org.eclipse.swt.gtk.linux.ppc
-%define _swtgtkdir plugins/org.eclipse.swt.gtk.linux.ppc
+%define swtsrcdir plugins/org.eclipse.swt.gtk.linux.ppc
+%define swtgtkdir plugins/org.eclipse.swt.gtk.linux.ppc
%endif
-
+
%ifarch %{ix86}
-%define _swtsrcdir plugins/org.eclipse.swt.gtk.linux.x86
-%define _swtgtkdir plugins/org.eclipse.swt.gtk.linux.x86
+%define swtsrcdir plugins/org.eclipse.swt.gtk.linux.x86
+%define swtgtkdir plugins/org.eclipse.swt.gtk.linux.x86
%endif
-%define _eclipse_arch %(echo %{_target_cpu} | sed 's/i.86/x86/;s/athlon/x86/;s/pentium./x86/')
-%define no_install_post_chrpath 1
-%ifarch %{x8664}
-%define _noautostrip .*\\.so
-%endif
+%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): SWT - zestaw widgetów dla Javy
+Summary(pl.UTF-8): SWT - zestaw widgetów dla Javy
Name: eclipse-swt
-Version: %{_ver_major}
-#Release: 0.%{_mver}_%{_buildid}.1
-Release: 0.1
+Version: 3.4
+Release: 2
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-%{_ver_major}.zip
-# Source0-md5: 19ad65d52005da5eaa1d3687b3a50de2
+Source0: http://download.eclipse.org/eclipse/downloads/drops/R-%{version}-%{buildid}/eclipse-sourceBuild-srcIncluded-%{version}.zip
+# Source0-md5: 555c99aee06fc52d2ec03995b5ac0710
Patch0: %{name}-NULL.patch
-Patch1: %{name}-makefile.patch
-Patch2: %{name}-nognome.patch
-URL: http://www.eclipse.org/swt
+URL: http://www.eclipse.org/swt/
+%{?with_glx:BuildRequires: OpenGL-devel}
+BuildRequires: ant >= 1.6.1
BuildRequires: atk-devel
%{?with_cairo:BuildRequires: cairo-devel}
-BuildRequires: gtk+2-devel >= 2.0.0
-BuildRequires: jakarta-ant >= 1.6.1
+BuildRequires: gtk+2-devel >= 2.0.0
BuildRequires: jdk >= 1.4
%{?with_gnome:BuildRequires: libgnomeui-devel}
-BuildRequires: mozilla-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 >= 1.9}
BuildRequires: zip
-Requires: jakarta-ant
Requires: jdk >= 1.4
+Requires: jpackage-utils
ExclusiveArch: %{ix86} %{x8664} ppc
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
portable access to the user-interface facilities of the operating
systems on which it is implemented.
-%description -l pl
-SWT to zestaw widgetów dla Javy zaprojektowany aby dostarczyæ wydajny,
-przeno¶ny dostêp do udogodnieñ interfejsu u¿ytkownika na tych
-systemach operacyjnych, na których zosta³ zaimplementowany.
+%description -l pl.UTF-8
+SWT to zestaw widgetów dla Javy zaprojektowany aby dostarczyć wydajny,
+przenośny dostęp do udogodnień interfejsu użytkownika na tych
+systemach operacyjnych, na których został zaimplementowany.
%prep
%setup -q -c
-JAVA_HOME=%{_libdir}/java
-export JAVA_HOME
-cd %{_swtsrcdir}
-ant src.zip
-
-%build
-rm -rf swt
-mkdir swt
-cd swt
-
-unzip -x %{_builddir}/%{name}-%{version}/%{_swtsrcdir}/src.zip
-
-patch -p0 < %{PATCH0}
-patch -p0 < %{PATCH1}
-%if %{without gnome}
-patch -p0 < %{PATCH2}
-%endif
-
-JAVA_HOME=%{_libdir}/java
-export JAVA_HOME
-export JAVA_INC="-I$JAVA_HOME/include -I$JAVA_HOME/include/linux"
-%{__make} -f make_linux.mak all \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- XTEST_LIB_PATH=%{_prefix}/X11R6/%{_lib} \
- OPT="%{rpmcflags}"
-
-%if %{with cairo}
-%{__make} -f make_linux.mak make_cairo \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- XTEST_LIB_PATH=%{_prefix}/X11R6/%{_lib} \
- OPT="%{rpmcflags}"
+%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
-%{__make} -f make_linux.mak make_mozilla \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- XTEST_LIB_PATH=%{_prefix}/X11R6/%{_lib} \
- OPT="%{rpmcflags}"
-
-#cp library/* .
-#{__make} -f make_linux.mak make_mozilla \
-# OPT="%{rpmcflags}"
+%build
+%{__make} -f make_linux.mak -C swt \
+ make_swt make_atk \
+ %{?with_glx:make_glx} \
+ %{?with_gnome:make_gnome} \
+ %{?with_cairo:make_cairo} \
+ %{?with_xulrunner:make_xulrunner XULRUNNER_INCLUDES="$(pkg-config --cflags libxul)"} \
+ JAVA_HOME="%{java_home}" \
+ CC="%{__cc}" \
+ CXX="%{__cxx}" \
+ XTEST_LIB_PATH=%{_prefix}/X11R6/%{_lib} \
+ OPT="%{rpmcflags}"
+
+%ant -f %{swtsrcdir}/build.xml build.jars
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_libdir}/swt/%{_swtgtkdir}_%{_ver_major}.%{_ver_minor}/os/linux/%{_eclipse_arch}
-cd swt
-install libswt-*.so \
- $RPM_BUILD_ROOT%{_libdir}/swt/%{_swtgtkdir}_%{_ver_major}.%{_ver_minor}/os/linux/%{_eclipse_arch}
+install -d $RPM_BUILD_ROOT%{_javadir}
+install %{swtsrcdir}/swt.jar $RPM_BUILD_ROOT%{_javadir}
-%if %{with cairo}
-install libcairo.so* $RPM_BUILD_ROOT%{_libdir}/swt
-%endif
+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
+ lib=${a##*/}
+ ln -sf ${dir#%{_libdir}/swt/}/$lib $RPM_BUILD_ROOT%{_libdir}/swt
+done
-install *.html $RPM_BUILD_ROOT%{_libdir}/swt
-cp -rf about_files $RPM_BUILD_ROOT%{_libdir}/swt
+install swt/*.html $RPM_BUILD_ROOT%{_libdir}/swt
+cp -a swt/about_files $RPM_BUILD_ROOT%{_libdir}/swt
%clean
rm -rf $RPM_BUILD_ROOT
%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
-%attr(755,root,root) %{_libdir}/swt/%{_swtgtkdir}_*.*.*/os/linux/%{_eclipse_arch}/libswt-atk-gtk-*.so
-%attr(755,root,root) %{_libdir}/swt/%{_swtgtkdir}_*.*.*/os/linux/%{_eclipse_arch}/libswt-awt-gtk-*.so
-%if %{with gnome}
-%attr(755,root,root) %{_libdir}/swt/%{_swtgtkdir}_*.*.*/os/linux/%{_eclipse_arch}/libswt-gnome-gtk-*.so
-%endif
-%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-kde-gtk*.so
-%attr(755,root,root) %{_libdir}/swt/%{_swtgtkdir}_*.*.*/os/linux/%{_eclipse_arch}/libswt-mozilla-gtk-*.so
-%attr(755,root,root) %{_libdir}/swt/%{_swtgtkdir}_*.*.*/os/linux/%{_eclipse_arch}/libswt-pi-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}