File eclipse-swt.spec of Package eclipse-swt
#
# spec file for package eclipse-swt
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: eclipse-swt
Summary: SWT Library for GTK2
License: EPL-1.0
Group: Development/Libraries/Other
Version: 3.735
Release: 0
%define version_suffix 3.7.3.5
%define so_suffix 3735
Url: http://www.eclipse.org/swt/
Source0: libswt-%{version}.tar.bz2
Source1: org.eclipse.swt-3.7.0.tar.bz2
Source2: build.xml
Patch0: libswt-optflags.patch
Patch1: libswt-includes.patch
Patch2: libswt-build.patch
Patch3: libswt-version.patch
Provides: libswt3-gtk2 = %{version}
%if 0%{?suse_version} <= 1210
Requires: mozilla-xulrunner192
%endif
Requires: java >= 1.6
BuildRequires: ant
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: java-devel >= 1.6
BuildRequires: jpackage-utils
BuildRequires: libgcj-devel
BuildRequires: libwebkit-devel
BuildRequires: make
BuildRequires: pkg-config
BuildRequires: unzip
%if 0%{?suse_version} <= 1210
BuildRequires: mozilla-xulrunner192-devel
%else
BuildRequires: libXt-devel
BuildRequires: libXtst-devel
%endif
BuildRequires: Mesa-devel
BuildRequires: cairo
BuildRequires: glib2-devel
BuildRequires: gnome-vfs2-devel
BuildRequires: gtk2-devel
BuildRequires: libgnome-devel
BuildRequires: libgnomeui-devel
BuildRequires: mozilla-nspr-devel
%description
SWT is the software component that delivers native widget functionality
for the Eclipse platform in an operating system independent manner. It
is analogous to AWT/Swing in Java with a difference - SWT uses a rich
set of native widgets.
%prep
%setup -n libswt-%{version}
%patch0
%patch1
%patch2
pushd org/eclipse
tar -xvjf %{S:1}
%patch3
popd
pushd org/eclipse/swt
cp %{S:2} .
# remove all third party jars
find . -iname '*.jar' | xargs rm -rf
# change architecture if needed
%ifarch x86_64
sed -i -e 's|x86|x86_64|g' build.xml
%endif
popd
%build
#export JAVA_HOME=%{_libdir}/jvm/java-1.6.0-sun-1.6.0
#export XULRUNNER_VERSION=%{xul_version}
export LIBDIR=%{_libdir}
export NO_STRIP=TRUE
%if 0%{?suse_version} <= 1140
export GCJ_VERSION=4.5
%else
export GCJ_VERSION=4.6
%endif
%ifarch x86_64
export ARCH=x86_64
%else
export ARCH=i586
%endif
build.sh
pushd org/eclipse/swt
%ant \
-Dversion.suffix=%{version_suffix} \
-Djar.filename=swt-%{version}.jar \
build.jars
rm build.xml
popd
jar uf org/eclipse/swt/swt-%{version}.jar *.so
%install
install -d -m755 %{buildroot}%{_libdir}/eclipse
install -m644 *.so %{buildroot}%{_libdir}/eclipse
install -D -m644 org/eclipse/swt/swt-%{version}.jar %{buildroot}%{_libdir}/java/swt-gtk-%{version}.jar
pushd %{buildroot}%{_libdir}/eclipse
%if 0%{?suse_version} <= 1210
for i in atk-gtk awt-gtk cairo-gtk glx-gtk gnome-gtk gtk mozilla-gtk pi-gtk webkit-gtk; do
ln -sf libswt-"$i"-%{so_suffix}.so libswt-"$i".so;
ln -sf libswt-"$i"-%{so_suffix}.so swt-"$i".so;
done
%else
# Drop mozilla-gtk in openSUSE 12.2 because of not existing mozilla-xulrunner192-devel
for i in atk-gtk awt-gtk cairo-gtk glx-gtk gnome-gtk gtk pi-gtk webkit-gtk; do
ln -sf libswt-"$i"-%{so_suffix}.so libswt-"$i".so;
ln -sf libswt-"$i"-%{so_suffix}.so swt-"$i".so;
done
%endif
popd
pushd %{buildroot}%{_libdir}/java
ln -sf swt-gtk-%{version}.jar swt.jar
ln -sf swt-gtk-%{version}.jar swt-gtk.jar
popd
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root)
%{_libdir}/eclipse/libswt-atk-gtk-%{so_suffix}.so
%{_libdir}/eclipse/libswt-atk-gtk.so
%{_libdir}/eclipse/swt-atk-gtk.so
%{_libdir}/eclipse/libswt-awt-gtk-%{so_suffix}.so
%{_libdir}/eclipse/libswt-awt-gtk.so
%{_libdir}/eclipse/swt-awt-gtk.so
%{_libdir}/eclipse/libswt-cairo-gtk-%{so_suffix}.so
%{_libdir}/eclipse/libswt-cairo-gtk.so
%{_libdir}/eclipse/swt-cairo-gtk.so
%{_libdir}/eclipse/libswt-glx-gtk-%{so_suffix}.so
%{_libdir}/eclipse/libswt-glx-gtk.so
%{_libdir}/eclipse/swt-glx-gtk.so
%{_libdir}/eclipse/libswt-gnome-gtk-%{so_suffix}.so
%{_libdir}/eclipse/libswt-gnome-gtk.so
%{_libdir}/eclipse/swt-gnome-gtk.so
%{_libdir}/eclipse/libswt-gtk-%{so_suffix}.so
%{_libdir}/eclipse/libswt-gtk.so
%{_libdir}/eclipse/swt-gtk.so
%if 0%{?suse_version} <= 1210
%{_libdir}/eclipse/libswt-mozilla-gtk-%{so_suffix}.so
%{_libdir}/eclipse/libswt-mozilla-gtk.so
%{_libdir}/eclipse/swt-mozilla-gtk.so
%endif
%{_libdir}/eclipse/libswt-pi-gtk-%{so_suffix}.so
%{_libdir}/eclipse/libswt-pi-gtk.so
%{_libdir}/eclipse/swt-pi-gtk.so
%{_libdir}/eclipse/libswt-webkit-gtk-%{so_suffix}.so
%{_libdir}/eclipse/libswt-webkit-gtk.so
%{_libdir}/eclipse/swt-webkit-gtk.so
%{_libdir}/java/swt.jar
%{_libdir}/java/swt-gtk.jar
%{_libdir}/java/swt-gtk-%{version}.jar
%doc about_files/*
%dir %{_libdir}/eclipse
%dir %{_libdir}/java
%changelog