X-Git-Url: http://git.pld-linux.org/?p=packages%2Feclipse.git;a=blobdiff_plain;f=eclipse.spec;h=c6571c0ae57cd51c9911be85433e564ac74a58ff;hp=bbeb46a1eac052204627bd1a7e020eebc9d57a36;hb=2588d120cc6fd8a8cf2d8e9f3829f6d856369b91;hpb=e6bf5c902e9d101c4ffd0c080c1e6cc980a8a61d diff --git a/eclipse.spec b/eclipse.spec index bbeb46a..c6571c0 100644 --- a/eclipse.spec +++ b/eclipse.spec @@ -1,40 +1,36 @@ # TODO: # - 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.1.1 -%define _buildid 200710231652 -# + +%include /usr/lib/rpm/macros.java Summary: Eclipse - an open extensible IDE Summary(pl.UTF-8): Eclipse - otwarte, rozszerzalne środowisko programistyczne Name: eclipse -Version: %{_ver_major} -Release: 0.1 +Version: 3.3.2 +Release: 2 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: 593b56fce7d1f1f799e87365cafefbef +Source0: http://archive.eclipse.org/eclipse/downloads/drops/R-%{version}-200802211800/%{name}-sourceBuild-srcIncluded-%{version}.zip +# Source0-md5: 4b7016cf9aedf07b8f34b39470947799 Source1: %{name}.desktop +Patch0: %{name}-launcher-set-install-dir-and-shared-config.patch URL: http://www.eclipse.org/ BuildRequires: ant >= 1.6.1 BuildRequires: ant-apache-regexp BuildRequires: jdk >= 1.6 +BuildRequires: jpackage-utils BuildRequires: pkgconfig +BuildRequires: rpm-javaprov BuildRequires: rpm-pythonprov BuildRequires: rpmbuild(macros) >= 1.300 -BuildRequires: sed +BuildRequires: sed >= 4.0 BuildRequires: unzip BuildRequires: zip Requires: ant -Requires: jdk >= 1.4 +Provides: eclipse-jdt = %{version}-%{release} Obsoletes: eclipse-SDK -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 @@ -52,16 +48,27 @@ wszystkiego i niczego w szczególności. %prep %setup -q -c -# Build Id - it's visible in couple places in gui -# TODO: just patch build.xml not every single file -find . '(' -name 'config.ini' -o -name 'about.mappings' ')' -type f -print \ - | xargs %{__sed} -i -e 's/=@build@/=PLD %{name}-%{version}-%{release}/' +# Build Id - it's visible in couple places in GUI +%{__sed} -i -e 's,buildId=.*,& (PLD Linux %{name}-%{version}-%{release}),' label.properties + +# launcher patches +rm plugins/org.eclipse.platform/launchersrc.zip +cd features/org.eclipse.equinox.executable +%patch0 -p0 +# put the configuration directory in an arch-specific location +sed -i -e 's:/usr/lib/eclipse/configuration:%{_libdir}/%{name}/configuration:' library/eclipse.c +# make the eclipse binary relocatable +sed -i -e 's:/usr/share/eclipse:%{_datadir}/%{name}:' library/eclipse.c +zip -q -9 -r ../../plugins/org.eclipse.platform/launchersrc.zip library +cd - %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 + +%ant insertBuildId export JAVA_INC="-I$JAVA_HOME/include -I$JAVA_HOME/include/linux" @@ -75,34 +82,74 @@ cd plugins/org.eclipse.update.core.linux/src 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} -tar xfz result/linux-gtk-%{_eclipse_arch}-sdk.tar.gz -C $RPM_BUILD_ROOT%{_libdir} -install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir} + unset JAVA_HOME || : + export JAVA_HOME=%{java_home} + ./build -os linux -ws gtk -arch %{eclipse_arch} -target install -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} + 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 -p plugins/org.eclipse.core.filesystem/natives/unix/linux/lib*.so $RPM_BUILD_ROOT%{_libdir}/%{name} + install -p plugins/org.eclipse.update.core.linux/src/lib*.so $RPM_BUILD_ROOT%{_libdir}/%{name} -#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 + cat <<-'EOF'> $RPM_BUILD_ROOT%{_datadir}/%{name}/.eclipseextension + id=org.eclipse.platform name=Eclipse Platform + version=%{version} + EOF -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 + if [ ! -f $RPM_BUILD_ROOT%{_libdir}/%{name}/icon.xpm ]; then + install -p features/org.eclipse.equinox.executable/bin/gtk/linux/x86/icon.xpm $RPM_BUILD_ROOT%{_libdir}/%{name}/icon.xpm + fi + install -Dp features/org.eclipse.equinox.executable/bin/gtk/linux/x86/icon.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/eclipse-icon.xpm + + # not packaged -- remove + %if 0 + # if we're removing source bundles, we should adjust manifests as well, but + # were not doing that, so don't break packaging + 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_* + %endif + + touch installed.stamp fi -install -D features/org.eclipse.equinox.executable/bin/gtk/linux/x86/icon.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/eclipse-icon.xpm %clean rm -rf $RPM_BUILD_ROOT @@ -133,6 +180,8 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/%{name}/features/org.eclipse.rcp_*.*.* %{_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_*.*.* @@ -175,7 +224,6 @@ rm -rf $RPM_BUILD_ROOT %{_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.launcher.gtk.linux.%{_eclipse_arch}_*.*.* %{_libdir}/%{name}/plugins/org.eclipse.equinox.preferences_*.*.* %{_libdir}/%{name}/plugins/org.eclipse.equinox.registry_*.*.* %{_libdir}/%{name}/plugins/org.eclipse.help_*.*.* @@ -222,7 +270,6 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/%{name}/plugins/org.eclipse.rcp_*.*.* %{_libdir}/%{name}/plugins/org.eclipse.sdk_*.*.* %{_libdir}/%{name}/plugins/org.eclipse.swt_*.*.* -%{_libdir}/%{name}/plugins/org.eclipse.swt.gtk.linux.%{_eclipse_arch}_*.*.* %{_libdir}/%{name}/plugins/org.eclipse.search_*.*.* %{_libdir}/%{name}/plugins/org.eclipse.team.core_*.*.* %{_libdir}/%{name}/plugins/org.eclipse.team.cvs.core_*.*.* @@ -261,6 +308,31 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/%{name}/plugins/org.junit4_*.*.* %{_libdir}/%{name}/plugins/org.mortbay.jetty_*.*.* +%if 1 +%{_libdir}/%{name}/features/org.eclipse.cvs.source_* +%{_libdir}/%{name}/features/org.eclipse.jdt.source_* +%{_libdir}/%{name}/features/org.eclipse.pde.source_* +%{_libdir}/%{name}/features/org.eclipse.platform.source_* +%{_libdir}/%{name}/features/org.eclipse.rcp.source_* +%{_libdir}/%{name}/plugins/javax.servlet.jsp.source_* +%{_libdir}/%{name}/plugins/javax.servlet.source_* +%{_libdir}/%{name}/plugins/org.apache.ant.source_* +%{_libdir}/%{name}/plugins/org.apache.commons.el.source_* +%{_libdir}/%{name}/plugins/org.apache.commons.logging.source_* +%{_libdir}/%{name}/plugins/org.apache.jasper.source_* +%{_libdir}/%{name}/plugins/org.apache.lucene.analysis.source_* +%{_libdir}/%{name}/plugins/org.apache.lucene.source_* +%{_libdir}/%{name}/plugins/org.eclipse.cvs.source_* +%{_libdir}/%{name}/plugins/org.eclipse.jdt.source_* +%{_libdir}/%{name}/plugins/org.eclipse.pde.source_* +%{_libdir}/%{name}/plugins/org.eclipse.platform.source.linux.gtk.* +%{_libdir}/%{name}/plugins/org.eclipse.platform.source_* +%{_libdir}/%{name}/plugins/org.eclipse.rcp.source.linux.gtk.* +%{_libdir}/%{name}/plugins/org.eclipse.rcp.source_* +%{_libdir}/%{name}/plugins/org.junit.source_* +%{_libdir}/%{name}/plugins/org.mortbay.jetty.source_* +%endif + %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/features %dir %{_datadir}/%{name}/plugins