+# TODO:
+# - separate SWT (there are separate tarballs at http://www.eclipse.org/swt/)
+# and add proper provides, obsoletes, conflicts etc. where needed.
+# This will make building such things like Azureus possible without having
+# whole Eclipse suite installed.
#
-%define _buildid 200409240800
-%define _ver_major 3.1
-%define _ver_minor 0
-%define _ver %{_ver_major}.%{_ver_minor}
+%define _ver_major 3.2
+%define _ver_minor 1
+%define _ver_rc RC5
+%define _buildid 200605191206
#
Summary: Eclipse - an open extensible IDE
Summary(pl): Eclipse - otwarte, rozszerzalne ¶rodowisko programistyczne
Name: eclipse
Version: %{_ver_major}
-Release: 0.M2_%{_buildid}.2
-License: CPL v1.0
+Release: 0.%{_ver_rc}_%{_buildid}.1
+#Release: 1
+License: EPL v1.0
Group: Development/Tools
-Source0: http://download.eclipse.org/downloads/drops/S-%{_ver_major}M2-%{_buildid}/eclipse-sourceBuild-srcIncluded-%{_ver_major}M2.zip
-# Source0-md5: a10fc8b23fd7c6783d55d795168879f0
-# Source0-size: 56139196
+Source0: http://download.eclipse.org/eclipse/downloads/drops/S-%{_ver_major}%{_ver_rc}-%{_buildid}/%{name}-sourceBuild-srcIncluded-%{_ver_major}%{_ver_rc}.zip
+# Source0-md5: 3ac98928d84d52c04f95e3cb45af66ff
Source1: %{name}.desktop
-Patch0: %{name}-swt-makefile.patch
-Patch1: %{name}-core_resources-makefile.patch
+Patch0: %{name}-core_resources-makefile.patch
+Patch1: %{name}-build.patch
URL: http://www.eclipse.org/
-BuildRequires: jakarta-ant >= 1.6.1
+BuildRequires: ant >= 1.6.1
BuildRequires: jdk >= 1.4
-BuildRequires: kdelibs-devel
-BuildRequires: libgnomeui-devel
-#BuildRequires: mozilla-devel
+BuildRequires: pkgconfig
+BuildRequires: rpmbuild(macros) >= 1.300
BuildRequires: unzip
BuildRequires: zip
-Requires: jakarta-ant
+Requires: ant
Requires: jdk >= 1.4
Obsoletes: eclipse-SDK
-ExclusiveArch: %{ix86} ppc amd64
+ExclusiveArch: i586 i686 pentium3 pentium4 athlon %{x8664} noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _eclipse_arch %(echo %{_target_cpu} | sed 's/i.86/x86/;s/athlon/x86/;s/pentium./x86/')
+%define _eclipse_arch %(echo %{_target_cpu} | sed 's/i.86\\|athlon\\|pentium/x86/;s/amd64/x86_64/')
+%define no_install_post_chrpath 1
%description
Eclipse is a kind of universal tool platform - an open extensible IDE
%prep
%setup -q -c
-%patch1 -p1
+%patch0 -p0
+%patch1 -p0
%build
-JAVA_HOME=%{_libdir}/java
-export JAVA_HOME
-./build -os linux -ws gtk -arch %{_eclipse_arch} -target compile
+unset CLASSPATH || :
+export JAVA_HOME=%{java_home}
-%ifarch amd64
-%define _swtsrcdir plugins/org.eclipse.swt.gtk64/ws/gtk
-%else
-%define _swtsrcdir plugins/org.eclipse.swt.gtk/ws/gtk
-%endif
-
-rm -rf swt
-mkdir swt && cd swt
-
-unzip -x %{_builddir}/%{name}-%{version}/%{_swtsrcdir}/swtsrc.zip
-unzip -x %{_builddir}/%{name}-%{version}/%{_swtsrcdir}/swt-pisrc.zip
-#unzip -x %{_builddir}/%{name}-%{version}/%{_swtsrcdir}/swt-mozillasrc.zip
+./build -os linux -ws gtk -arch %{_eclipse_arch} -target compile -java5home %{_libdir}/java
export JAVA_INC="-I$JAVA_HOME/include -I$JAVA_HOME/include/linux"
-patch -p0 < %{PATCH0}
-%{__make} -f make_linux.mak all \
- XTEST_LIB_PATH=%{_prefix}/X11R6/%{_lib} \
- OPT="%{rpmcflags}"
-#cp library/* .
-#{__make} -f make_linux.mak make_mozilla \
-# OPT="%{rpmcflags}"
-cd -
-
-%{__make} -C plugins/org.eclipse.core.resources.linux/src \
+%{__make} -C plugins/org.eclipse.core.filesystem/natives/unix/linux/ \
CFLAGS="%{rpmcflags} $JAVA_INC" \
LDFLAGS="%{rpmldflags}"
-mv plugins/org.eclipse.core.resources.linux/{src/libcore*.so,os/linux/%{_eclipse_arch}}
cd plugins/org.eclipse.update.core.linux/src
-%{__cc} %{rpmcflags} %{rpmldflags} -I. $JAVA_INC update.c -o libupdate.so -shared
-mv libupdate.so ../os/linux/%{_eclipse_arch}
+%{__cc} %{rpmcflags} -fPIC %{rpmldflags} -I. $JAVA_INC update.c -o libupdate.so -shared
cd -
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_bindir},%{_libdir}/%{name}}
+# place for arch independent plugins
+install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/{features,plugins}
-./build -os linux -ws gtk -arch %{_eclipse_arch} -target install
+unset JAVA_HOME || :
+export JAVA_HOME=%{java_home}
+./build -os linux -ws gtk -arch %{_eclipse_arch} -target install -java5home %{_libdir}/java
-unzip result/linux-gtk-%{_eclipse_arch}-sdk.zip -d $RPM_BUILD_ROOT%{_libdir}
+tar xfz result/linux-gtk-%{_eclipse_arch}-sdk.tar.gz -C $RPM_BUILD_ROOT%{_libdir}
install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
+install plugins/org.eclipse.core.filesystem/natives/unix/linux/lib*.so $RPM_BUILD_ROOT%{_libdir}/%{name}
+install plugins/org.eclipse.update.core.linux/src/lib*.so $RPM_BUILD_ROOT%{_libdir}/%{name}
+
+cp -a baseLocation/plugins/* $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins
+
#wrapper
install -d $RPM_BUILD_ROOT%{_bindir}
-cat > $RPM_BUILD_ROOT%{_bindir}/eclipse << EOF
+cat > $RPM_BUILD_ROOT%{_bindir}/eclipse << 'EOF'
#!/bin/sh
-exec %{_libdir}/%{name}/eclipse \$*
+exec %{_libdir}/%{name}/eclipse $*
EOF
-cd swt
-install libswt-{atk-gtk,awt-gtk,gnome-gtk,gtk,kde,pi-gtk}-*.so \
- $RPM_BUILD_ROOT%{_libdir}/eclipse/plugins/org.eclipse.swt.gtk_%{_ver_major}.%{_ver_minor}/os/linux/%{_eclipse_arch}
-#install libswt-mozilla-gtk-*.so \
-# $RPM_BUILD_ROOT%{_datadir}/eclipse/plugins/org.eclipse.swt.gtk_%{_ver_major}.%{_ver_minor}/os/linux/%{_eclipse_arch}
+:> $RPM_BUILD_ROOT%{_datadir}/%{name}/.eclipseextension
+
+if [ ! -f "$RPM_BUILD_ROOT%{_libdir}/%{name}/icon.xpm" ]; then
+ install features/org.eclipse.platform.launchers/bin/gtk/linux/x86/icon.xpm $RPM_BUILD_ROOT%{_libdir}/%{name}/icon.xpm
+fi
%clean
rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/eclipse
%attr(755,root,root) %{_libdir}/%{name}/eclipse
+%attr(755,root,root) %{_libdir}/%{name}/lib*.so
%{_desktopdir}/eclipse.desktop
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/.eclipseproduct
%{_libdir}/%{name}/configuration
+%{_libdir}/%{name}/eclipse.ini
+%{_libdir}/%{name}/epl-v10.html
%{_libdir}/%{name}/icon.xpm
%{_libdir}/%{name}/notice.html
%{_libdir}/%{name}/readme
%{_libdir}/%{name}/startup.jar
-
-# features
+%{_libdir}/%{name}/about.html
+#%{_libdir}/%{name}/about_files
%dir %{_libdir}/%{name}/features
%{_libdir}/%{name}/features/org.eclipse.jdt_*.*.*
%{_libdir}/%{name}/features/org.eclipse.jdt.source_*.*.*
%{_libdir}/%{name}/features/org.eclipse.pde.source_*.*.*
%{_libdir}/%{name}/features/org.eclipse.platform_*.*.*
%{_libdir}/%{name}/features/org.eclipse.platform.source_*.*.*
+%{_libdir}/%{name}/features/org.eclipse.rcp_*.*.*
+%{_libdir}/%{name}/features/org.eclipse.rcp.source_*.*.*
%{_libdir}/%{name}/features/org.eclipse.sdk_*.*.*
-
-# plugins
%dir %{_libdir}/%{name}/plugins
+%{_libdir}/%{name}/plugins/com.ibm.icu_*.*.*
+%{_libdir}/%{name}/plugins/com.ibm.icu.source_*.*.*
+%{_libdir}/%{name}/plugins/com.ibm.icu.base_*.*.*
+%{_libdir}/%{name}/plugins/com.ibm.icu.base.source_*.*.*
+%{_libdir}/%{name}/plugins/com.jcraft.jsch_*.*.*
%{_libdir}/%{name}/plugins/org.apache.ant_*.*.*
%{_libdir}/%{name}/plugins/org.apache.lucene_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ant.core_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ant.ui_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.compare_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.core.boot_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.core.commands_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.core.contenttype_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.core.expressions_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.core.filebuffers_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.core.filesystem_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.core.filesystem.linux.*_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.core.jobs_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.core.resources_*.*.*
-
-%dir %{_libdir}/%{name}/plugins/org.eclipse.core.resources.linux_*.*.*
-%dir %{_libdir}/%{name}/plugins/org.eclipse.core.resources.linux_*.*.*/os
-%dir %{_libdir}/%{name}/plugins/org.eclipse.core.resources.linux_*.*.*/os/linux
-%dir %{_libdir}/%{name}/plugins/org.eclipse.core.resources.linux_*.*.*/os/linux/%{_eclipse_arch}
-%attr(755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.core.resources.linux_*.*.*/os/linux/%{_eclipse_arch}/libcore_2_1_0b.so
-%{_libdir}/%{name}/plugins/org.eclipse.core.resources.linux_*.*.*/fragment.xml
-
+%{_libdir}/%{name}/plugins/org.eclipse.core.resources.compatibility_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.core.runtime_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.core.runtime.compatibility_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.core.runtime.compatibility.auth_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.core.runtime.compatibility.registry_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.core.variables_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.debug.core_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.debug.ui_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.common_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.preferences_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.registry_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.help_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.help.appserver_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.help.base_*.*.*
-%{_libdir}/%{name}/plugins/org.eclipse.help.ide_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.help.ui_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.help.webapp_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.jdt_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.jdt.apt.core_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.jdt.apt.ui_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.jdt.core_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.jdt.core.manipulation*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.jdt.debug_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.jdt.debug.ui_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.jdt.doc.isv_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.jdt.doc.user_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.jdt.junit_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.jdt.junit.runtime_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.jdt.junit4.runtime_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.jdt.launching_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.jdt.source_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.jdt.ui_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.jface_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.jface.databinding_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.jface.text_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ltk.core.refactoring_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ltk.ui.refactoring_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.platform.doc.user_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.platform.source_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.platform.source.linux.gtk.%{_eclipse_arch}_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.rcp_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.rcp.source_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.rcp.source.linux.gtk.%{_eclipse_arch}_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.sdk_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{_eclipse_arch}_*.*.*.jar
%{_libdir}/%{name}/plugins/org.eclipse.search_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.swt_*.*.*
-
-%dir %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*
-%dir %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/os
-%dir %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/os/linux
-%dir %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/os/linux/%{_eclipse_arch}
-%attr(755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/os/linux/%{_eclipse_arch}/libswt-atk-gtk-*.so
-%attr(755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/os/linux/%{_eclipse_arch}/libswt-awt-gtk-*.so
-%attr(755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/os/linux/%{_eclipse_arch}/libswt-gnome-gtk-*.so
-%attr(755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/os/linux/%{_eclipse_arch}/libswt-gtk-*.so
-%attr(755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/os/linux/%{_eclipse_arch}/libswt-kde-gtk*.so
-#attr(755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/os/linux/%{_eclipse_arch}/libswt-mozilla-gtk-*.so
-%attr(755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/os/linux/%{_eclipse_arch}/libswt-pi-gtk-*.so
-%{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/ws
-%{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/META-INF
-%{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/about.html
-%{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/cpl-v10.html
-%{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/fragment.properties
-%{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/fragment.xml
-%{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/lgpl-v21.txt
-%{_libdir}/%{name}/plugins/org.eclipse.swt.gtk_*.*.*/mpl-v11.txt
-
+%{_libdir}/%{name}/plugins/org.eclipse.ui.browser_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.ui.navigator_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.ui.navigator.resources_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.team.core_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.team.cvs.core_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.team.cvs.ssh2_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ui.forms_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ui.ide_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ui.intro_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.ui.intro.universal_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ui.presentations.r21_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ui.views_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.ui.views.properties.tabbed_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ui.workbench_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ui.workbench.compatibility_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ui.workbench.texteditor_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.update.configurator_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.update.core_*.*.*
-
-%dir %{_libdir}/%{name}/plugins/org.eclipse.update.core.linux_*.*.*
-%dir %{_libdir}/%{name}/plugins/org.eclipse.update.core.linux_*.*.*/os
-%dir %{_libdir}/%{name}/plugins/org.eclipse.update.core.linux_*.*.*/os/linux
-%dir %{_libdir}/%{name}/plugins/org.eclipse.update.core.linux_*.*.*/os/linux/%{_eclipse_arch}
-%attr(755,root,root) %{_libdir}/%{name}/plugins/org.eclipse.update.core.linux_*.*.*/os/linux/%{_eclipse_arch}/libupdate.so
-%{_libdir}/%{name}/plugins/org.eclipse.update.core.linux_*.*.*/about.html
-%{_libdir}/%{name}/plugins/org.eclipse.update.core.linux_*.*.*/fragment.xml
-
+%{_libdir}/%{name}/plugins/org.eclipse.update.core.linux_*.*.*.jar
%{_libdir}/%{name}/plugins/org.eclipse.update.scheduler_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.update.ui_*.*.*
%{_libdir}/%{name}/plugins/org.junit_*.*.*
+%{_libdir}/%{name}/plugins/org.junit4_*.*.*
+
+%dir %{_datadir}/%{name}
+%dir %{_datadir}/%{name}/features
+%dir %{_datadir}/%{name}/plugins
+%{_datadir}/%{name}/.eclipseextension