# 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.
+# - make use of eclipse-swt package
+# and add proper provides, obsoletes, conflicts etc. where needed.
+# This will make building such things like Azureus possible without having
+# whole Eclipse suite installed.
+# - there are unpackaged source files, -devel?
#
-%define _ver_major 3.3
-%define _buildid 200706251500
+%define ver_major 3.3.1.1
+%define buildid 200710231652
#
Summary: Eclipse - an open extensible IDE
Summary(pl.UTF-8): Eclipse - otwarte, rozszerzalne środowisko programistyczne
Name: eclipse
-Version: %{_ver_major}
-Release: 0.1
+Version: %{ver_major}
+Release: 1
License: EPL v1.0
Group: Development/Tools
-Source0: http://download.eclipse.org/eclipse/downloads/drops/R-%{_ver_major}-%{_buildid}/%{name}-sourceBuild-srcIncluded-%{_ver_major}.zip
-# Source0-md5: 91c688221479986dbdd7d1a0771f04cc
+Source0: http://download.eclipse.org/eclipse/downloads/drops/R-%{ver_major}-%{buildid}/%{name}-sourceBuild-srcIncluded-%{ver_major}.zip
+# Source0-md5: 593b56fce7d1f1f799e87365cafefbef
Source1: %{name}.desktop
URL: http://www.eclipse.org/
BuildRequires: ant >= 1.6.1
+BuildRequires: ant-apache-regexp
BuildRequires: jdk >= 1.6
BuildRequires: pkgconfig
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.300
+BuildRequires: sed >= 4.0
BuildRequires: unzip
BuildRequires: zip
Requires: ant
ExclusiveArch: i586 i686 pentium3 pentium4 athlon %{x8664}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _eclipse_arch %(echo %{_target_cpu} | sed 's/i.86\\|athlon\\|pentium/x86/;s/amd64/x86_64/')
+%define eclipse_arch %(echo %{_target_cpu} | sed 's/i.86\\|athlon\\|pentium/x86/;s/amd64/x86_64/')
%define no_install_post_chrpath 1
# list of script capabilities (regexps) not to be used in Provides
%prep
%setup -q -c
+# Build Id - it's visible in couple places in GUI
+%{__sed} -e 's,buildId=.*,& (PLD Linux %{name}-%{version}-%{release}),' label.properties
+
%build
unset CLASSPATH || :
export JAVA_HOME=%{java_home}
-./build -os linux -ws gtk -arch %{_eclipse_arch} -target compile
+./build -os linux -ws gtk -arch %{eclipse_arch} -target compile
export JAVA_INC="-I$JAVA_HOME/include -I$JAVA_HOME/include/linux"
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}
+if [ ! -f makeinstall.stamp -o ! -d $RPM_BUILD_ROOT ]; then
+ rm -rf makeinstall.stamp installed.stamp $RPM_BUILD_ROOT
-unset JAVA_HOME || :
-export JAVA_HOME=%{java_home}
-./build -os linux -ws gtk -arch %{_eclipse_arch} -target install
+ install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_bindir},%{_libdir}/%{name}}
+ # place for arch independent plugins
+ install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/{features,plugins}
+
+ unset JAVA_HOME || :
+ export JAVA_HOME=%{java_home}
+ ./build -os linux -ws gtk -arch %{eclipse_arch} -target install
-tar xfz result/linux-gtk-%{_eclipse_arch}-sdk.tar.gz -C $RPM_BUILD_ROOT%{_libdir}
-install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
+ tar xfz result/linux-gtk-%{eclipse_arch}-sdk.tar.gz -C $RPM_BUILD_ROOT%{_libdir}
+ touch makeinstall.stamp
+fi
+
+if [ ! -f installed.stamp ]; then
+ 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}
+ 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'
+ #!/bin/sh
+ exec %{_libdir}/%{name}/eclipse ${1:+"$@"}
+ EOF
-#wrapper
-install -d $RPM_BUILD_ROOT%{_bindir}
-cat > $RPM_BUILD_ROOT%{_bindir}/eclipse << 'EOF'
-#!/bin/sh
-exec %{_libdir}/%{name}/eclipse ${1:+"$@"}
-EOF
+ :> $RPM_BUILD_ROOT%{_datadir}/%{name}/.eclipseextension
-:> $RPM_BUILD_ROOT%{_datadir}/%{name}/.eclipseextension
+ if [ ! -f "$RPM_BUILD_ROOT%{_libdir}/%{name}/icon.xpm" ]; then
+ install features/org.eclipse.equinox.executable/bin/gtk/linux/x86/icon.xpm $RPM_BUILD_ROOT%{_libdir}/%{name}/icon.xpm
+ fi
+ install -D features/org.eclipse.equinox.executable/bin/gtk/linux/x86/icon.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/eclipse-icon.xpm
-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
+ # not packaged -- remove
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/features/org.eclipse.cvs.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/features/org.eclipse.jdt.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/features/org.eclipse.pde.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/features/org.eclipse.platform.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/features/org.eclipse.rcp.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/javax.servlet.jsp.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/javax.servlet.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.apache.ant.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.apache.commons.el.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.apache.commons.logging.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.apache.jasper.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.apache.lucene.analysis.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.apache.lucene.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.cvs.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.jdt.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.pde.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.platform.source.linux.gtk.*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.platform.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.rcp.source.linux.gtk.*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.eclipse.rcp.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.junit.source_*
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/org.mortbay.jetty.source_*
+
+ touch installed.stamp
fi
-install -D features/org.eclipse.platform.launchers/bin/gtk/linux/x86/icon.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/eclipse-icon.xpm
%clean
rm -rf $RPM_BUILD_ROOT
%{_libdir}/%{name}/icon.xpm
%{_libdir}/%{name}/notice.html
%{_libdir}/%{name}/readme
-%{_libdir}/%{name}/startup.jar
%{_libdir}/%{name}/about.html
-#%{_libdir}/%{name}/about_files
+#%dir %{_libdir}/%{name}/about_files
+#%{_libdir}/%{name}/about_files/mpl-v11.txt
%dir %{_libdir}/%{name}/features
+%{_libdir}/%{name}/features/org.eclipse.cvs_*.*.*
%{_libdir}/%{name}/features/org.eclipse.jdt_*.*.*
-%{_libdir}/%{name}/features/org.eclipse.jdt.source_*.*.*
%{_libdir}/%{name}/features/org.eclipse.pde_*.*.*
-%{_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_*.*.*
%dir %{_libdir}/%{name}/plugins
+%{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{eclipse_arch}_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.launcher.gtk.linux.%{eclipse_arch}_*.*.*
+%{_libdir}/%{name}/plugins/javax.servlet.jsp_*.*.*
+%{_libdir}/%{name}/plugins/javax.servlet_*.*.*
%{_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.commons.el_*.*.*
+%{_libdir}/%{name}/plugins/org.apache.commons.logging_*.*.*
+%{_libdir}/%{name}/plugins/org.apache.jasper_*.*.*
%{_libdir}/%{name}/plugins/org.apache.lucene_*.*.*
+%{_libdir}/%{name}/plugins/org.apache.lucene.analysis_*.*.*
%{_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.databinding_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.core.databinding.beans_*.*.*
%{_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.net_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.core.resources_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.core.resources.compatibility_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.core.runtime_*.*.*
%{_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.cvs_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.debug.core_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.debug.ui_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.app_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.equinox.common_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.http.jetty_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.http.registry_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.http.servlet_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.jsp.jasper.registry_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.jsp.jasper_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.equinox.launcher_*.*.*
%{_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.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.jdt.compiler.apt_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.jdt.compiler.tool_*.*.*
%{_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.jsch.core_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.jsch.ui_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ltk.core.refactoring_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ltk.ui.refactoring_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.osgi_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.pde.doc.user_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.pde.junit.runtime_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.pde.runtime_*.*.*
-%{_libdir}/%{name}/plugins/org.eclipse.pde.source_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.pde.ui_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.pde.ui.templates_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.platform_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.platform.doc.isv_*.*.*
%{_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_*.*.*
-%{_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.search_*.*.*
%{_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.text_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.tomcat_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ui_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.ui.browser_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ui.cheatsheets_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ui.console_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ui.editors_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ui.externaltools_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ui.forms_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ui.ide_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.ui.ide.application_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ui.intro_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.ui.intro.universal_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.ui.navigator_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.ui.navigator.resources_*.*.*
+%{_libdir}/%{name}/plugins/org.eclipse.ui.net_*.*.*
%{_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.texteditor_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.update.configurator_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.update.core_*.*.*
-%{_libdir}/%{name}/plugins/org.eclipse.update.core.linux_*.*.*.jar
+%{_libdir}/%{name}/plugins/org.eclipse.update.core.linux_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.update.scheduler_*.*.*
%{_libdir}/%{name}/plugins/org.eclipse.update.ui_*.*.*
%{_libdir}/%{name}/plugins/org.junit_*.*.*
%{_libdir}/%{name}/plugins/org.junit4_*.*.*
+%{_libdir}/%{name}/plugins/org.mortbay.jetty_*.*.*
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/features