Andrew Overholt d1a77f5
%define fedora          1
Andrew Overholt d1a77f5
%define redhat          0
Andrew Overholt d1a77f5
%if %{fedora}
Andrew Overholt d1a77f5
%define gcj_support     1
Andrew Overholt d1a77f5
%else
Andrew Overholt d1a77f5
%define gcj_support     0
Andrew Overholt d1a77f5
%endif
Andrew Overholt d1a77f5
%define eclipse_name            eclipse
Andrew Overholt d1a77f5
%define major                   3
Andrew Overholt d1a77f5
%define minor                   2
Andrew Overholt d1a77f5
%define majmin                  %{major}.%{minor}
Andrew Overholt f0cadae
%define micro                   1
Andrew Overholt d1a77f5
%define eclipse_base            %{_datadir}/%{eclipse_name}
Andrew Overholt d1a77f5
%define eclipse_lib_base        %{_libdir}/%{eclipse_name}
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
Summary:        Graphical Editor Framework (GEF) plugin for Eclipse
Andrew Overholt d1a77f5
Name:           %{eclipse_name}-gef
Andrew Overholt d1a77f5
Version:        %{majmin}.%{micro}
Andrew Overholt efab357
Release:        4%{?dist}
Andrew Overholt d1a77f5
License:        Eclipse Public License
Andrew Overholt d1a77f5
Group:          System Environment/Libraries
Andrew Overholt d1a77f5
URL:            http://www.eclipse.org/gef/
Andrew Overholt d1a77f5
Requires:       eclipse-platform
Andrew Overholt d1a77f5
Andrew Overholt f0cadae
# # Here's how to generate the source drop for GEF 3.2.1:
Andrew Overholt d1a77f5
# #
Andrew Overholt d1a77f5
# mkdir -p temp/home && cd temp
Andrew Overholt d1a77f5
# touch home/.cvspass
Andrew Overholt d1a77f5
# cvs -d :pserver:anonymous@dev.eclipse.org:/home/tools co \
Andrew Overholt d1a77f5
#      -r R32_Maintenance org.eclipse.releng.gefbuilder
Andrew Overholt d1a77f5
# pushd org.eclipse.releng.gefbuilder
Andrew Overholt d1a77f5
# patch -p0 << _EOF_
Andrew Overholt d1a77f5
# --- build.xml   14 Aug 2003 15:26:21 -0000      1.1
Andrew Overholt d1a77f5
# +++ build.xml   29 Mar 2006 04:29:15 -0000
Andrew Overholt d1a77f5
# @@ -21,4 +21,15 @@
Andrew Overholt d1a77f5
#                 </ant>
Andrew Overholt d1a77f5
#         </target>
Andrew Overholt d1a77f5
#       
Andrew Overholt d1a77f5
# +       <target name="fetch" depends="init">
Andrew Overholt d1a77f5
# +               
Andrew Overholt d1a77f5
# +                               target="preBuild">
Andrew Overholt d1a77f5
# +                       <property name="builder" value="\${basedir}/\${component}" />
Andrew Overholt d1a77f5
# +               </ant>
Andrew Overholt d1a77f5
# +               
Andrew Overholt d1a77f5
# +                               target="fetch">
Andrew Overholt d1a77f5
# +                       <property name="builder" value="\${basedir}/\${component}" />
Andrew Overholt d1a77f5
# +               </ant>
Andrew Overholt d1a77f5
# +       </target>
Andrew Overholt d1a77f5
# +
Andrew Overholt d1a77f5
#  </project>
Andrew Overholt d1a77f5
# _EOF_
Andrew Overholt d1a77f5
# 
Andrew Overholt d1a77f5
# # Fetch GEF and Draw2D themselves
Andrew Overholt d1a77f5
# 
Andrew Overholt d1a77f5
# java -cp /usr/share/eclipse/startup.jar \
Andrew Overholt d1a77f5
#     -Duser.home=../../home \
Andrew Overholt d1a77f5
#     org.eclipse.core.launcher.Main \
Andrew Overholt d1a77f5
#     -application org.eclipse.ant.core.antRunner \
Andrew Overholt d1a77f5
#     -buildfile build.xml \
Andrew Overholt d1a77f5
#     -DbaseLocation=/usr/share/eclipse \
Andrew Overholt d1a77f5
#     -Dpde.build.scripts=/usr/share/eclipse/plugins/org.eclipse.pde.build/scripts \
Andrew Overholt d1a77f5
#     -Dcomponent=sdk \
Andrew Overholt d1a77f5
#     -DbaseExists=true \
Andrew Overholt d1a77f5
#     -DfetchTag=R32_Maintenance \
Andrew Overholt d1a77f5
#     fetch
Andrew Overholt d1a77f5
#
Andrew Overholt d1a77f5
# # Fetch examples
Andrew Overholt d1a77f5
#
Andrew Overholt d1a77f5
# java -cp /usr/share/eclipse/startup.jar \
Andrew Overholt d1a77f5
#     -Duser.home=../../home \
Andrew Overholt d1a77f5
#     org.eclipse.core.launcher.Main \
Andrew Overholt d1a77f5
#     -application org.eclipse.ant.core.antRunner \
Andrew Overholt d1a77f5
#     -buildfile build.xml \
Andrew Overholt d1a77f5
#     -DbaseLocation=/usr/share/eclipse \
Andrew Overholt d1a77f5
#     -Dpde.build.scripts=/usr/share/eclipse/plugins/org.eclipse.pde.build/scripts \
Andrew Overholt d1a77f5
#     -Dcomponent=examples \
Andrew Overholt d1a77f5
#     -DbaseExists=true \
Andrew Overholt d1a77f5
#     -DfetchTag=R32_Maintenance \
Andrew Overholt d1a77f5
#     fetch
Andrew Overholt d1a77f5
# 
Andrew Overholt d1a77f5
# popd
Andrew Overholt d1a77f5
# 
Andrew Overholt f0cadae
# tar jcf eclipse-gef-fetched-src-3.2.1.tar.bz2 org.eclipse.releng.gefbuilder
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
Source0:        %{name}-fetched-src-%{version}.tar.bz2
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
Patch0:         %{name}-dont-set-bootclasspath.patch
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
BuildRequires:    eclipse-pde
Andrew Overholt d1a77f5
%if %{gcj_support}
Andrew Overholt d1a77f5
BuildRequires:    gcc-java >= 4.0.2
Andrew Overholt d1a77f5
BuildRequires:    java-gcj-compat-devel >= 1.0.33
Andrew Overholt d1a77f5
Requires(post):   java-gcj-compat >= 1.0.33
Andrew Overholt d1a77f5
Requires(postun): java-gcj-compat >= 1.0.33
Andrew Overholt d1a77f5
%else
Andrew Overholt d1a77f5
BuildRequires:    java-devel >= 1.4.2
Andrew Overholt d1a77f5
%endif
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
%if %{gcj_support}
Andrew Overholt d1a77f5
ExclusiveArch:    %{ix86} x86_64 ppc ia64
Andrew Overholt d1a77f5
%else
Andrew Overholt d1a77f5
BuildArch:        noarch
Andrew Overholt d1a77f5
%endif
Andrew Overholt d1a77f5
Andrew Overholt f0cadae
Requires:       eclipse-platform >= 1:3.2.1
Andrew Overholt d1a77f5
Andrew Overholt 0142fff
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
%package        sdk
Andrew Overholt d1a77f5
Summary:        Eclipse GEF SDK
Andrew Overholt d1a77f5
Group:          System Environment/Libraries
Andrew Overholt d1a77f5
Requires:       %{name} = %{version}-%{release}
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
%package        examples
Andrew Overholt d1a77f5
Summary:        Eclipse GEF examples
Andrew Overholt d1a77f5
Group:          System Environment/Libraries
Andrew Overholt d1a77f5
Requires:       %{name} = %{version}-%{release}
Andrew Overholt d1a77f5
Requires:       %{name}-sdk = %{version}-%{release}
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
%description
Andrew Overholt d1a77f5
The eclipse-gef package contains Eclipse features and plugins that comprise
Andrew Overholt d1a77f5
the Graphical Editor Framework for Eclipse.
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
%description    sdk
Andrew Overholt d1a77f5
Source and documentation for Eclipse GEF for use within Eclipse.
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
%description    examples
Andrew Overholt d1a77f5
Example source code that demonstrates how to use Eclipse GEF.
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
%prep
Andrew Overholt d1a77f5
%setup -q -c
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=134567
Andrew Overholt d1a77f5
pushd org.eclipse.releng.gefbuilder
Andrew Overholt d1a77f5
%patch0 -p0
Andrew Overholt d1a77f5
popd
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
%build
Andrew Overholt d1a77f5
# See comments in the script to understand this.
Andrew Overholt d1a77f5
/bin/sh -x %{eclipse_base}/buildscripts/copy-platform SDK %{eclipse_base}
Andrew Overholt d1a77f5
SDK=$(cd SDK > /dev/null && pwd)
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
mkdir home
Andrew Overholt d1a77f5
homedir=$(cd home > /dev/null && pwd)
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
cd org.eclipse.releng.gefbuilder
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
# some notes about what we're doing here:
Andrew Overholt d1a77f5
#
Andrew Overholt d1a77f5
# -Duser.home=$homedir: override java.home in the vm so that eclipse only adds files in the buildroot 
Andrew Overholt d1a77f5
# -Dcomponent=sdk: the component of GEF we want to build 
Andrew Overholt d1a77f5
# -DjavacFailOnError=true: fail if there is an error 
Andrew Overholt d1a77f5
# -DdontUnzip=true: don't unzip the result, we will do it manually
Andrew Overholt d1a77f5
# -DbaseLocation=$SDK: $SDK is a mirror of the system SDK dir that is writable by the process 
Andrew Overholt d1a77f5
#                      running the build. This let's the build "see" the jars and have a place to 
Andrew Overholt d1a77f5
#                      put the plugins that have just been built
Andrew Overholt d1a77f5
# -DskipFetch=true: don't fetch the sources 
Andrew Overholt d1a77f5
# -DbaseExists=true: don't download the SDK, we want to use the one in $SDK
Andrew Overholt efab357
eclipse \
Andrew Overholt d1a77f5
    -application org.eclipse.ant.core.antRunner \
Andrew Overholt d1a77f5
    -Dcomponent=sdk                             \
Andrew Overholt d1a77f5
    -DjavacFailOnError=true                     \
Andrew Overholt d1a77f5
    -DdontUnzip=true                            \
Andrew Overholt d1a77f5
    -DbaseLocation=$SDK                         \
Andrew Overholt d1a77f5
    -Dpde.build.scripts=$SDK/plugins/org.eclipse.pde.build/scripts \
Andrew Overholt d1a77f5
    -DskipFetch=true                            \
Andrew Overholt d1a77f5
    -DbaseExists=true
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
# build the examples
Andrew Overholt efab357
eclipse \
Andrew Overholt d1a77f5
    -application org.eclipse.ant.core.antRunner \
Andrew Overholt d1a77f5
    -Dcomponent=examples                        \
Andrew Overholt d1a77f5
    -DjavacFailOnError=true                     \
Andrew Overholt d1a77f5
    -DdontUnzip=true                            \
Andrew Overholt d1a77f5
    -DbaseLocation=$SDK                         \
Andrew Overholt d1a77f5
    -Dpde.build.scripts=$SDK/plugins/org.eclipse.pde.build/scripts \
Andrew Overholt d1a77f5
    -DskipFetch=true                            \
Andrew Overholt d1a77f5
    -DbaseExists=true
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
%install
Andrew Overholt d1a77f5
rm -rf ${RPM_BUILD_ROOT}
Andrew Overholt d1a77f5
install -d -m755 ${RPM_BUILD_ROOT}/%{eclipse_base}
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
for file in $(pwd)/org.eclipse.releng.gefbuilder/src/eclipse/I*/*.zip; do
Andrew Overholt d1a77f5
  case $file in
Andrew Overholt d1a77f5
    *eclipse*)
Andrew Overholt d1a77f5
      # The ".." is needed since the zip files contain "eclipse/foo".
Andrew Overholt d1a77f5
      (cd $RPM_BUILD_ROOT/%{eclipse_base}/.. && unzip -qq -o $file)
Andrew Overholt d1a77f5
      ;;
Andrew Overholt d1a77f5
  esac
Andrew Overholt d1a77f5
done
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
# These are already included in the Eclipse SDK but the packaging guidelines
Andrew Overholt d1a77f5
# would like them in a directory owned by this package
Andrew Overholt d1a77f5
mv $RPM_BUILD_ROOT/%{eclipse_base}/epl-v10.html \
Andrew Overholt d1a77f5
  $RPM_BUILD_ROOT/%{eclipse_base}/features/org.eclipse.gef_*
Andrew Overholt d1a77f5
mv $RPM_BUILD_ROOT/%{eclipse_base}/notice.html \
Andrew Overholt d1a77f5
  $RPM_BUILD_ROOT/%{eclipse_base}/features/org.eclipse.gef_*
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
%if %{gcj_support}
Andrew Overholt d1a77f5
aot-compile-rpm
Andrew Overholt d1a77f5
%endif
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
%clean 
Andrew Overholt d1a77f5
rm -rf ${RPM_BUILD_ROOT}
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
%if %{gcj_support}
Andrew Overholt d1a77f5
%post -p %{_bindir}/rebuild-gcj-db
Andrew Overholt d1a77f5
%postun -p %{_bindir}/rebuild-gcj-db
Andrew Overholt d1a77f5
%endif
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
%files
Andrew Overholt d1a77f5
%defattr(-,root,root)
Andrew Overholt d1a77f5
%{eclipse_base}/features/org.eclipse.gef_*
Andrew Overholt d1a77f5
%{eclipse_base}/plugins/org.eclipse.draw2d_*
Andrew Overholt d1a77f5
%{eclipse_base}/plugins/org.eclipse.gef_*
Andrew Overholt d1a77f5
%if %{gcj_support}
Andrew Overholt d1a77f5
%{_libdir}/gcj/%{name}/org.eclipse.draw2d_*
Andrew Overholt d1a77f5
%{_libdir}/gcj/%{name}/org.eclipse.gef_*
Andrew Overholt d1a77f5
%endif
Andrew Overholt 0142fff
%doc %{eclipse_base}/readme/*
Andrew Overholt 0142fff
%doc %{eclipse_base}/features/org.eclipse.gef_*/notice.html
Andrew Overholt 0142fff
%doc %{eclipse_base}/features/org.eclipse.gef_*/epl-v10.html
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
%files sdk
Andrew Overholt d1a77f5
%defattr(-,root,root)
Andrew Overholt d1a77f5
%{eclipse_base}/features/org.eclipse.gef.sdk_*
Andrew Overholt d1a77f5
%{eclipse_base}/features/org.eclipse.gef.source_*
Andrew Overholt d1a77f5
%{eclipse_base}/plugins/org.eclipse.draw2d.doc.isv_*
Andrew Overholt d1a77f5
%{eclipse_base}/plugins/org.eclipse.gef.doc.isv_*
Andrew Overholt d1a77f5
%{eclipse_base}/plugins/org.eclipse.gef.source_*
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
%files examples
Andrew Overholt d1a77f5
%defattr(-,root,root)
Andrew Overholt d1a77f5
%{eclipse_base}/features/org.eclipse.gef.examples_*
Andrew Overholt d1a77f5
%{eclipse_base}/plugins/org.eclipse.gef.examples.source_*
Andrew Overholt d1a77f5
%{eclipse_base}/plugins/org.eclipse.gef.examples.text_*
Andrew Overholt d1a77f5
%{eclipse_base}/plugins/org.eclipse.gef.examples.logic_*
Andrew Overholt d1a77f5
%{eclipse_base}/plugins/org.eclipse.gef.examples.flow_*
Andrew Overholt d1a77f5
%{eclipse_base}/plugins/org.eclipse.gef.examples.shapes_*
Andrew Overholt d1a77f5
%if %{gcj_support}
Andrew Overholt d1a77f5
%{_libdir}/gcj/%{name}/org.eclipse.gef.examples.text_*
Andrew Overholt d1a77f5
%{_libdir}/gcj/%{name}/org.eclipse.gef.examples.logic_*
Andrew Overholt d1a77f5
%{_libdir}/gcj/%{name}/org.eclipse.gef.examples.flow_*
Andrew Overholt d1a77f5
%{_libdir}/gcj/%{name}/org.eclipse.gef.examples.shapes_*
Andrew Overholt d1a77f5
%endif
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
%changelog
Andrew Overholt efab357
* Tue Jan 30 2007 Andrew Overholt <overholt@redhat.com> 3.2.1-4
Andrew Overholt efab357
- Use copy-platform in %%{eclipse_base}.
Andrew Overholt efab357
Andrew Overholt efab357
* Mon Nov 06 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-3
Andrew Overholt efab357
- Use copy-platform in %%{_libdir}.
Andrew Overholt efab357
- Use binary launcher rather than startup.jar to guard against future
Andrew Overholt efab357
  osgi.sharedConfiguration.area changes.
Andrew Overholt efab357
Andrew Overholt 0142fff
* Thu Oct 19 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-2
Andrew Overholt 0142fff
- Fix buildroot (don't know how the wrong one slipped in).
Andrew Overholt 0142fff
Andrew Overholt f0cadae
* Thu Oct 19 2006 Andrew Overholt <overholt@redhat.com> 3.2.1-1
Andrew Overholt f0cadae
- 3.2.1.
Andrew Overholt f0cadae
Andrew Overholt d1a77f5
* Tue Aug 29 2006 Andrew Overholt <overholt@redhat.com> 3.2.0-2
Andrew Overholt d1a77f5
- First release for Fedora.
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
* Tue Aug 22 2006 Andrew Overholt <overholt@redhat.com> 3.2.0-1jpp_2rh
Andrew Overholt d1a77f5
- -devel -> -sdk to match upstream..
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
* Tue Jul 25 2006 Andrew Overholt <overholt@redhat.com> 3.2.0-1jpp_1rh
Andrew Overholt d1a77f5
- 3.2.0.
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
* Tue May 02 2006 Ben Konrath <bkonrath@redhat.com> 3.1.1-1jpp_2rh
Andrew Overholt d1a77f5
- Remove -debug from compile line.
Andrew Overholt d1a77f5
- Add expamples package.
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
* Mon Apr 3 2006 Ben Konrath <bkonrath@redhat.com> 3.1.1-1jpp_1rh
Andrew Overholt d1a77f5
- Add devel package. 
Andrew Overholt d1a77f5
- Update sources to 3.1.1.
Andrew Overholt d1a77f5
- Some general spec file cleanup.
Andrew Overholt d1a77f5
- Add patch to stop the gefbuilder plugin from setting bootclasspath.
Andrew Overholt d1a77f5
- Change copyright to license.
Andrew Overholt d1a77f5
- Add instructions for generating source drop.
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
* Tue Sep 6 2005 Aaron Luchko  <aluchko@redhat.com> 3.1.0-1
Andrew Overholt d1a77f5
- change to match eclipse-changelog.spec and fixed typos
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
* Thu Aug 4 2005 Aaron Luchko  <aluchko@redhat.com>
Andrew Overholt d1a77f5
- Updated to 3.1.0
Andrew Overholt d1a77f5
- added createTarball.sh, gefSource.sh, and build.xml.patch
Andrew Overholt d1a77f5
- added native build
Andrew Overholt d1a77f5
- changes to use eclipsebuilder
Andrew Overholt d1a77f5
- fixes from Matthias Saou
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
* Mon Jun 27 2005 Aaron Luchko <aluchko@redhat.com> 3.0.1-8
Andrew Overholt d1a77f5
- Added x86_64
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
* Mon May 2 2005 Ben Konrath <bkonrath@redhat.com> 3.0.1-7
Andrew Overholt d1a77f5
- Build against Eclipse 3.0.2.
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
* Thu Mar 31 2005 Phil Muldoon <pmuldoon@redhat.com> 3.0.1-6
Andrew Overholt d1a77f5
- Migrate RHEL-3 sources to RHEL-4
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
* Mon Nov 1 2004 Phil Muldoon  <pmuldoon@redhat.com> 3.0.1-5
Andrew Overholt d1a77f5
- Stopped ant trying to replace about.mappings
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
* Mon Nov 1 2004 Phil Muldoon  <pmuldoon@redhat.com> 3.0.1-4
Andrew Overholt d1a77f5
- Changed tar name to new tar
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
* Mon Nov 1 2004 Phil Muldoon  <pmuldoon@redhat.com> 3.0.1-3
Andrew Overholt d1a77f5
- Touch build scripts to point to 3.0.1
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
* Mon Nov 1 2004 Phil Muldoon  <pmuldoon@redhat.com> 3.0.1-2
Andrew Overholt d1a77f5
- Explicitly set -DJAVADOC14_HOME=%%{java_home}/bin to build javadocs
Andrew Overholt d1a77f5
Andrew Overholt d1a77f5
* Sun Oct 31 2004 Phil Muldoon <pmuldoon@redhat.com> 3.0.1-1
Andrew Overholt d1a77f5
- Initial Import