]> git.pld-linux.org Git - packages/eclipse.git/blobdiff - eclipse.spec
- provide eclipse-jdt until in main package
[packages/eclipse.git] / eclipse.spec
index bbeb46a1eac052204627bd1a7e020eebc9d57a36..c6571c0ae57cd51c9911be85433e564ac74a58ff 100644 (file)
@@ -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
This page took 0.061007 seconds and 4 git commands to generate.