]> git.pld-linux.org Git - packages/eclipse-swt.git/blobdiff - eclipse-swt.spec
- R: jpackage-utils for %{_javadir}
[packages/eclipse-swt.git] / eclipse-swt.spec
index df8144dfaf8728182c390968b482e0d9fca7fcab..c9355a896f44cda8a634011e5d7f00e0202bcba3 100644 (file)
@@ -1,64 +1,59 @@
+# 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_with    cairo           # build with cairo
-#
-%define   _buildid  200601181600
-#define   _mver   M6
-%define   _ver_major  3.1.2
-%define   _ver_minor  0
-%define   _ver_swt    3139
-%define   _ver    %{_ver_major}.%{_ver_minor}
+
+%define        buildid         200710231652
 
 %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.UTF-8):   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.3.1.1
+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-%{_ver_major}.zip
-# Source0-md5: f2c8066151de14c5ccdf420266ce9f39
+Source0:       http://download.eclipse.org/eclipse/downloads/drops/R-%{version}-%{buildid}/eclipse-sourceBuild-srcIncluded-%{version}.zip
+# Source0-md5: 593b56fce7d1f1f799e87365cafefbef
 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: 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}
 BuildRequires: zip
-Requires:      ant
 Requires:      jdk >= 1.4
+Requires:      jpackage-utils
 ExclusiveArch: %{ix86} %{x8664} ppc
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -74,87 +69,50 @@ systemach operacyjnych, na których został zaimplementowany.
 
 %prep
 %setup -q -c
-JAVA_HOME=%{java_home}
-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 !%{with gnome}
-patch -p0 < %{PATCH2}
-%endif
-
-JAVA_HOME=%{java_home}
-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}"
-
-cd ../%{_swtsrcdir}
-ant build.jars
+%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 xulrunner-xpcom)"} \
+       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} \
-       $RPM_BUILD_ROOT%{_javadir}
-
-install %{_swtsrcdir}/swt.jar $RPM_BUILD_ROOT%{_javadir}
+install -d $RPM_BUILD_ROOT%{_javadir}
+install %{swtsrcdir}/swt.jar $RPM_BUILD_ROOT%{_javadir}
 
-cd swt
-install libswt-*.so \
-       $RPM_BUILD_ROOT%{_libdir}/swt/%{_swtgtkdir}_%{_ver_major}.%{_ver_minor}/os/linux/%{_eclipse_arch}
-
-ln -sf %{_libdir}/swt/%{_swtgtkdir}_%{_ver_major}.%{_ver_minor}/os/linux/%{_eclipse_arch}/libswt-atk-gtk-%{_ver_swt}.so \
-       $RPM_BUILD_ROOT%{_libdir}/swt
-ln -sf %{_libdir}/swt/%{_swtgtkdir}_%{_ver_major}.%{_ver_minor}/os/linux/%{_eclipse_arch}/libswt-awt-gtk-%{_ver_swt}.so \
-       $RPM_BUILD_ROOT%{_libdir}/swt
-ln -sf %{_libdir}/swt/%{_swtgtkdir}_%{_ver_major}.%{_ver_minor}/os/linux/%{_eclipse_arch}/libswt-gtk-%{_ver_swt}.so \
-       $RPM_BUILD_ROOT%{_libdir}/swt
-ln -sf %{_libdir}/swt/%{_swtgtkdir}_%{_ver_major}.%{_ver_minor}/os/linux/%{_eclipse_arch}/libswt-mozilla-gtk-%{_ver_swt}.so \
-       $RPM_BUILD_ROOT%{_libdir}/swt
-ln -sf %{_libdir}/swt/%{_swtgtkdir}_%{_ver_major}.%{_ver_minor}/os/linux/%{_eclipse_arch}/libswt-pi-gtk-%{_ver_swt}.so \
-       $RPM_BUILD_ROOT%{_libdir}/swt
+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
 
 %if %{with cairo}
-install libcairo.so* $RPM_BUILD_ROOT%{_libdir}/swt
+install swt/libcairo.so* $RPM_BUILD_ROOT%{_libdir}/swt
 %endif
 
-%if %{with gnome}
-ln -sf %{_libdir}/swt/%{_swtgtkdir}_%{_ver_major}.%{_ver_minor}/os/linux/%{_eclipse_arch}/libswt-gnome-gtk-%{_ver_swt}.so \
-       $RPM_BUILD_ROOT%{_libdir}/swt
-%endif
-
-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
@@ -162,20 +120,18 @@ 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}_*.*.*
+%dir %{_libdir}/swt/%{swtgtkdir}_*.*.*/os
+%dir %{_libdir}/swt/%{swtgtkdir}_*.*.*/os/linux
+%dir %{_libdir}/swt/%{swtgtkdir}_*.*.*/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
-%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}_*.*.*/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}
This page took 0.095794 seconds and 4 git commands to generate.