%global eclipse_dropin %{_datadir}/eclipse/dropins %define __requires_exclude osgi* Name: eclipse-emf Version: 2.8.1 Release: %mkrel 4 Summary: Eclipse Modeling Framework (EMF) Eclipse plugin Group: Development/Java License: EPL URL: http://www.eclipse.org/modeling/emf/ # source tarball and the script used to generate it from upstream's source control # script usage: # $ sh get-emf.sh Source0: emf-%{version}.tar.gz Source1: get-emf.sh # don't depend on ANT_HOME and JAVA_HOME environment vars, patch upstream #Patch0: %{name}-make-homeless.patch # look inside correct directory for platform docs Patch1: %{name}-platform-docs-location.patch # bundle examples in example-installer plugins from source in tarball instead of from cvs Patch2: %{name}-bundle-examples.patch # Build docs correctly Patch3: %{name}-build-docs.patch # Remove xsd2ecore components from SDK, they are not in the main feature Patch4: %{name}-no-xsd2ecore.patch Patch5: %{name}-fix-missing-index.patch BuildArch: noarch # we require 1.6.0 because the javadocs fail to build otherwise BuildRequires: java-devel >= 1:1.6.0 BuildRequires: java-javadoc BuildRequires: jpackage-utils BuildRequires: eclipse-pde >= 1:4.2.0 BuildRequires: dos2unix BuildRequires: unzip Requires: java Requires: jpackage-utils Requires: eclipse-platform >= 1:4.2.0 Requires: %{name}-core # the standalone package was deprecated and removed in EMF 2.3 (see eclipse.org bug #191837) Obsoletes: %{name}-standalone < 2.4 # the SDO sub-project was terminated upstream and removed in EMF 2.5 (see eclipse.org bug #251402) Obsoletes: %{name}-sdo < 2.5 Obsoletes: %{name}-sdo-sdk < 2.5 #TODO: ODA, GWT and RAP components are not packaged. #TODO: Possibly spin XSD off into it's own package, upstream have moved it to it's project %description The Eclipse Modeling Framework (EMF) allows developers to build tools and other applications based on a structured data model. From a model specification described in XMI, EMF provides tools and runtime support to produce a set of Java classes for the model, along with a set of adapter classes that enable viewing and command-based editing of the model, and a basic editor. %package core Epoch: 1 Summary: Eclipse EMF Core Group: Development/Java Requires: java #Obsoletes: eclipse-emf-core < 1:2.8.0-10 #This package has been moved into main eclipse package %description core The core of Eclipse Modeling Framework %package sdk Summary: Eclipse EMF SDK Group: Development/Java Requires: java-javadoc Requires: eclipse-pde >= 1:4.2.0 Requires: %{name} = %{version}-%{release} %description sdk Documentation and source for the Eclipse Modeling Framework (EMF). %package xsd Summary: XML Schema Definition (XSD) Eclipse plugin Group: Development/Java Requires: %{name} = %{version}-%{release} %description xsd The XML Schema Definition (XSD) plugin is a library that provides an API for manipulating the components of an XML Schema as described by the W3C XML Schema specifications, as well as an API for manipulating the DOM-accessible representation of XML Schema as a series of XML documents. %package xsd-sdk Summary: Eclipse XSD SDK Group: Development/Java Requires: java-javadoc Requires: eclipse-pde >= 1:4.2.0 Requires: %{name}-xsd = %{version}-%{release} Requires: %{name}-sdk = %{version}-%{release} %description xsd-sdk Documentation and source for the Eclipse XML Schema Definition (XSD) plugin. %package examples Summary: Eclipse EMF/XSD examples Group: Development/Java Requires: %{name} = %{version}-%{release} Requires: %{name}-xsd = %{version}-%{release} %description examples Installable versions of the example projects from the SDKs that demonstrate how to use the Eclipse Modeling Framework (EMF) and XML Schema Definition (XSD) plugins. %prep %setup -q -n emf-%{version} %patch1 -p0 -b .orig %patch2 -p1 -b .orig %patch3 -p1 -b .orig %patch4 -p1 -b .orig %patch5 rm org.eclipse.emf.doc/tutorials/jet2/jetc-task.jar rm org.eclipse.emf.test.core/data/data.jar # link to local java api javadocs sed -i -e "s|http://java.sun.com/j2se/1.5/docs/api/|%{_javadocdir}/java|" -e "s|\${javaHome}/docs/api/|%{_javadocdir}/java|" \ org.eclipse.emf.doc/build/javadoc.xml.template \ org.eclipse.xsd.doc/build/javadoc.xml.template # make sure upstream hasn't sneaked in any jars we don't know about JARS="" for j in `find -name "*.jar"`; do if [ ! -L $j ]; then JARS="$JARS $j" fi done if [ ! -z "$JARS" ]; then echo "These jars should be deleted and symlinked to system jars: $JARS" exit 1 fi %build # Note: We use forceContextQualifier because the docs plugins use custom build # scripts and don't work otherwise. OPTIONS="-DjavacTarget=1.5 -DjavacSource=1.5 -DforceContextQualifier=v20120911-0500" # Work around pdebuild entering/leaving symlink it is unaware of. ln -s %{_builddir}/emf-%{version}/org.eclipse.emf.license-feature %{_builddir}/emf-%{version}/org.eclipse.emf.license ln -s %{_builddir}/emf-%{version}/org.eclipse.xsd.license-feature %{_builddir}/emf-%{version}/org.eclipse.xsd.license # We build the emf, xsd and examples features seperately, rather than just # building the "all" feature, because it makes the files section easier to # maintain (i.e. we don't have to know when upstream adds a new plugin) # build core features eclipse-pdebuild -f org.eclipse.emf.common -a "$OPTIONS" eclipse-pdebuild -f org.eclipse.emf.ecore -a "$OPTIONS" # build emf features - order is important eclipse-pdebuild -f org.eclipse.emf.edit -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.emf.common.ui -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.emf.edit.ui -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.emf.ecore.edit -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.emf.ecore.editor -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.emf.codegen -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.emf.codegen.ecore -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.emf.mapping -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.emf.mapping.ecore -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.emf.codegen.ui -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.emf.codegen.ecore.ui -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.emf.mapping.ui -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.emf.mapping.ecore.editor -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.emf.databinding -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.emf.databinding.edit -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.emf.converter -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.emf.sdk -a "$OPTIONS" -d "eclipse-emf-core" # build xsd features eclipse-pdebuild -f org.eclipse.xsd -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.xsd.edit -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.xsd.editor -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.xsd.mapping -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.xsd.mapping.editor -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.xsd.ecore.converter -a "$OPTIONS" -d "eclipse-emf-core" eclipse-pdebuild -f org.eclipse.xsd.sdk -a "$OPTIONS" -d "eclipse-emf-core" # build examples features eclipse-pdebuild -f org.eclipse.emf.examples -a "$OPTIONS" -d "eclipse-emf-core" %install install -d -m 755 %{buildroot}%{eclipse_dropin} install -d -m 755 %{buildroot}%{_javadir}/emf unzip -q -n -d %{buildroot}%{_javadir}/emf build/rpmBuild/org.eclipse.emf.common.zip unzip -q -n -d %{buildroot}%{_javadir}/emf build/rpmBuild/org.eclipse.emf.ecore.zip unzip -q -n -d %{buildroot}%{_javadir}/emf build/rpmBuild/org.eclipse.emf.edit.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/emf build/rpmBuild/org.eclipse.emf.common.ui.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/emf build/rpmBuild/org.eclipse.emf.edit.ui.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/emf build/rpmBuild/org.eclipse.emf.ecore.edit.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/emf build/rpmBuild/org.eclipse.emf.ecore.editor.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/emf build/rpmBuild/org.eclipse.emf.codegen.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/emf build/rpmBuild/org.eclipse.emf.codegen.ecore.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/emf build/rpmBuild/org.eclipse.emf.converter.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/emf build/rpmBuild/org.eclipse.emf.codegen.ui.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/emf build/rpmBuild/org.eclipse.emf.codegen.ecore.ui.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/emf build/rpmBuild/org.eclipse.emf.mapping.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/emf build/rpmBuild/org.eclipse.emf.mapping.ui.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/emf build/rpmBuild/org.eclipse.emf.mapping.ecore.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/emf build/rpmBuild/org.eclipse.emf.mapping.ecore.editor.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/emf build/rpmBuild/org.eclipse.emf.databinding.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/emf build/rpmBuild/org.eclipse.emf.databinding.edit.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/emf-sdk build/rpmBuild/org.eclipse.emf.sdk.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/xsd build/rpmBuild/org.eclipse.xsd.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/xsd build/rpmBuild/org.eclipse.xsd.edit.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/xsd build/rpmBuild/org.eclipse.xsd.editor.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/xsd build/rpmBuild/org.eclipse.xsd.mapping.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/xsd build/rpmBuild/org.eclipse.xsd.mapping.editor.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/xsd build/rpmBuild/org.eclipse.xsd.ecore.converter.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/xsd-sdk build/rpmBuild/org.eclipse.xsd.sdk.zip unzip -q -n -d %{buildroot}%{eclipse_dropin}/emf-examples build/rpmBuild/org.eclipse.emf.examples.zip # the non-sdk builds are a subset of the sdk builds, so delete duplicate features & plugins from the sdks (cd %{buildroot}%{eclipse_dropin}/emf-sdk/eclipse/features && ls %{buildroot}%{eclipse_dropin}/emf/eclipse/features | xargs rm -rf) (cd %{buildroot}%{eclipse_dropin}/emf-sdk/eclipse/plugins && ls %{buildroot}%{eclipse_dropin}/emf/eclipse/plugins | xargs rm -rf) (cd %{buildroot}%{eclipse_dropin}/xsd-sdk/eclipse/features && ls %{buildroot}%{eclipse_dropin}/xsd/eclipse/features | xargs rm -rf) (cd %{buildroot}%{eclipse_dropin}/xsd-sdk/eclipse/plugins && ls %{buildroot}%{eclipse_dropin}/xsd/eclipse/plugins | xargs rm -rf) # remove duplicated plugins and features rm -rf %{buildroot}%{eclipse_dropin}/emf-sdk/eclipse/features/org.eclipse.emf.common_* rm -rf %{buildroot}%{eclipse_dropin}/emf-sdk/eclipse/plugins/org.eclipse.emf.common_* rm -rf %{buildroot}%{eclipse_dropin}/emf-sdk/eclipse/features/org.eclipse.emf.ecore_* rm -rf %{buildroot}%{eclipse_dropin}/emf-sdk/eclipse/plugins/org.eclipse.emf.ecore_* rm -rf %{buildroot}%{eclipse_dropin}/emf-sdk/eclipse/plugins/org.eclipse.emf.ecore.change_* rm -rf %{buildroot}%{eclipse_dropin}/emf-sdk/eclipse/plugins/org.eclipse.emf.ecore.xmi_* %files %{eclipse_dropin}/emf %doc org.eclipse.emf.license-feature/rootfiles/* %files core %{_javadir}/emf %doc org.eclipse.emf.license-feature/rootfiles/* %files sdk %{eclipse_dropin}/emf-sdk %files xsd %{eclipse_dropin}/xsd %doc org.eclipse.xsd.license-feature/rootfiles/* %files xsd-sdk %{eclipse_dropin}/xsd-sdk %files examples %{eclipse_dropin}/emf-examples %changelog * Sat Jan 19 2013 dmorgan <dmorgan> 2.8.1-4.mga3 + Revision: 389639 - Clean spec file * Fri Jan 11 2013 umeabot <umeabot> 2.8.1-3.mga3 + Revision: 349415 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Thu Dec 06 2012 dmorgan <dmorgan> 2.8.1-2.mga3 + Revision: 327416 - New version 2.8.1 * Thu Dec 06 2012 dmorgan <dmorgan> 2.8.0-15.mga3 + Revision: 327298 - Revert to 2.8.0-15 * Wed Dec 05 2012 dmorgan <dmorgan> 2.8.1-1.mga3 + Revision: 327067 - New version - Rebuild against new eclipse * Sat Sep 15 2012 dmorgan <dmorgan> 2.8.0-10.mga3 + Revision: 294050 - Bump release as this is now a standalone package - New version * Mon May 16 2011 ahmad <ahmad> 2.6.0-3.mga1 + Revision: 99297 - Fix sub-packages groups (mga#1302) * Tue May 10 2011 dmorgan <dmorgan> 2.6.0-2.mga1 + Revision: 96813 - Fix java requires - imported package eclipse-emf * Thu Aug 5 2010 Charley Wang <chwang@redhat.com> - 2.6.0-2 - Build SDK features, fix patches. - EMFAntTest failing, cannot find /example in osgi bundle * Mon Jul 19 2010 Charley Wang <chwang@redhat.com> - 2.6.0-1 - Update to 2.6.0 * Sat Sep 19 2009 Mat Booth <fedora@matbooth.co.uk> - 2.5.0-4 - Re-enable jar repacking now that RHBZ #461854 has been resolved. * Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Thu Jul 02 2009 Mat Booth <fedora@matbooth.co.uk> 2.5.0-2 - SDK requires PDE for example plug-in projects. * Sun Jun 28 2009 Mat Booth <fedora@matbooth.co.uk> 2.5.0-1 - Update to 2.5.0 final release (Galileo). - Build the features seperately to allow for a saner %%files section. * Fri May 22 2009 Alexander Kurtakov <akurtako@redhat.com> 2.5.0-0.2.RC1 - Update to 2.5.0 RC1. - Use %%global instead of %%define. * Sat Apr 18 2009 Mat Booth <fedora@matbooth.co.uk> 2.5.0-0.1.M6 - Update to Milestone 6 release of 2.5.0. - Require Eclipse 3.5.0. * Tue Apr 7 2009 Alexander Kurtakov <akurtako@redhat.com> 2.4.2-3 - Fix directory ownership. * Mon Mar 23 2009 Alexander Kurtakov <akurtako@redhat.com> 2.4.2-2 - Rebuild to not ship p2 context.xml. - Remove context.xml from %%files section. * Sat Feb 28 2009 Mat Booth <fedora@matbooth.co.uk> 2.4.2-1 - Update for Ganymede SR2. * Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Tue Feb 03 2009 Mat Booth <fedora@matbooth.co.uk> 2.4.1-4 - Make context qualifier the same as upstream. * Sat Jan 10 2009 Mat Booth <fedora@matbooth.co.uk> 2.4.1-3 - Removed AOT bits and change package names to what they used to be. - Obsolete standalone package. * Tue Dec 23 2008 Mat Booth <fedora@matbooth.co.uk> 2.4.1-2 - Build example installer plugins using the source from the tarball instead of trying to get the examples from source control a second time. * Fri Dec 12 2008 Mat Booth <fedora@matbooth.co.uk> 2.4.1-1 - Initial release, based on eclipse-gef spec file, but with disabled AOT compiled bits because of RHBZ #477707.