%global _eclipsedir %{_prefix}/lib/eclipse %global emf_tag 666f438f84c97358ce33fd4c1f615212cdd419f9 %global xsd_tag a5f53126aa28435e3f44bde6700372c8559127de # Set this flag to avoid building everything except for the core bundles # Allows building into a brand new buildroot before Eclipse is even built %bcond_with bootstrap Name: eclipse-emf Version: 2.16.0 Release: %mkrel 3 Group: Development/Java Summary: EMF and XSD Eclipse plug-ins License: EPL-2.0 URL: http://www.eclipse.org/modeling/emf/ Source0: http://git.eclipse.org/c/emf/org.eclipse.emf.git/snapshot/org.eclipse.emf-%{emf_tag}.tar.xz Source1: http://git.eclipse.org/c/xsd/org.eclipse.xsd.git/snapshot/org.eclipse.xsd-%{xsd_tag}.tar.xz # Avoid hard build-time dep on nebula (not in Fedora) Patch0: remove-nebula-dep.patch # Remove test that requires internet connection Patch1: remove-network-tests.patch # Remove test that seems to fail in some timezones, reported upstream: https://bugs.eclipse.org/bugs/show_bug.cgi?id=534542 Patch2: remove-timezone-test.patch # Remove unnecessary imports of JRE packages that are supplied by the system bundle Patch3: remove-unnecessary-imports.patch BuildRequires: tycho BuildRequires: tycho-extras %if %{without bootstrap} BuildRequires: eclipse-pde %endif BuildArch: noarch %description The Eclipse Modeling Framework (EMF) and XML Schema Definition (XSD) plug-ins. %package core Epoch: 1 Summary: Eclipse EMF Core Bundles %description core Core EMF bundles required by the Eclipse platform. %if %{without bootstrap} %package runtime Summary: Eclipse Modeling Framework (EMF) Eclipse plug-in %description runtime 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 run-time 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 xsd Summary: XML Schema Definition (XSD) Eclipse plug-in # Obsoletes added in F28 Obsoletes: eclipse-xsd < %{version}-%{release} Provides: eclipse-xsd = %{version}-%{release} %description xsd The XML Schema Definition (XSD) plug-in 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 sdk Summary: Eclipse EMF and XSD SDK # Obsoletes added in F28 Obsoletes: %{name}-tests < %{version}-%{release} Obsoletes: %{name}-examples < %{version}-%{release} Obsoletes: eclipse-xsd-examples < %{version}-%{release} Obsoletes: eclipse-xsd-sdk < %{version}-%{release} Provides: eclipse-xsd-sdk = %{version}-%{release} %description sdk Documentation and developer resources for the Eclipse Modeling Framework (EMF) plug-in and XML Schema Definition (XSD) plug-in. %endif %prep %setup -c -T -q -a 0 -a 1 mv org.eclipse.emf-%{emf_tag}/ org.eclipse.emf/ mv org.eclipse.xsd-%{xsd_tag}/ org.eclipse.xsd/ %patch0 %patch1 %patch2 %patch3 pushd org.eclipse.emf # TODO: ODA, GWT, Xtext and RAP components are not packaged, so don't build corresponding bundles sed -i -e '/org.eclipse.emf.gwt/d' releng/org.eclipse.emf.parent/{plugins,features}/pom.xml sed -i -e '/org.eclipse.emf.oda/d' releng/org.eclipse.emf.parent/{plugins,features}/pom.xml sed -i -e '/org.eclipse.emf.rap/d' releng/org.eclipse.emf.parent/{plugins,features}/pom.xml sed -i -e '/codegen.ecore.xtext/d' releng/org.eclipse.emf.parent/{plugins,features}/pom.xml sed -i -e '/ecore.xcore/d' releng/org.eclipse.emf.parent/{plugins,features}/pom.xml sed -i -e '/test.edit.ui.rap/d' releng/org.eclipse.emf.parent/{plugins,features}/pom.xml %pom_xpath_remove "plugin[@id='org.eclipse.emf.test.edit.ui.rap']" tests/org.eclipse.emf.tests-feature/feature.xml # Disable example bundles, we don't want to ship them %pom_disable_module "../../../examples/org.eclipse.emf.examples-feature" releng/org.eclipse.emf.parent/features %pom_disable_module "../../../../org.eclipse.xsd/features/org.eclipse.xsd.example-feature" releng/org.eclipse.emf.parent/features sed -i -e '/<module>.*examples/d' releng/org.eclipse.emf.parent/plugins/pom.xml %pom_xpath_remove "plugin[@id='org.eclipse.emf.test.examples']" tests/org.eclipse.emf.tests-feature/feature.xml # Disable modules unneeded for tycho build %pom_disable_module "tp" releng/org.eclipse.emf.parent %pom_disable_module "../org.eclipse.emf.site" releng/org.eclipse.emf.parent %pom_disable_module '../../../features/org.eclipse.emf.all-feature' releng/org.eclipse.emf.parent/features # Disable jgit/target platform stuff that we can't use in RPM builds %pom_remove_plugin :target-platform-configuration releng/org.eclipse.emf.parent %pom_remove_dep :tycho-sourceref-jgit releng/org.eclipse.emf.parent %pom_remove_dep :tycho-buildtimestamp-jgit releng/org.eclipse.emf.parent %pom_xpath_remove 'pom:configuration/pom:timestampProvider' releng/org.eclipse.emf.parent %pom_xpath_remove 'pom:configuration/pom:jgit.ignore' releng/org.eclipse.emf.parent %pom_xpath_remove 'pom:configuration/pom:jgit.dirtyWorkingTree' releng/org.eclipse.emf.parent %pom_xpath_remove 'pom:configuration/pom:sourceReferences' releng/org.eclipse.emf.parent %if %{with bootstrap} # Only build core modules when bootstrapping %pom_xpath_replace "pom:modules" "<modules> <module>../../../features/org.eclipse.emf.base-feature</module> <module>../../../features/org.eclipse.emf.license-feature</module> <module>../../../features/org.eclipse.emf.common-feature</module> <module>../../../features/org.eclipse.emf.ecore-feature</module> </modules>" releng/org.eclipse.emf.parent/features %pom_xpath_replace "pom:modules" "<modules> <module>../../../plugins/org.eclipse.emf.common</module> <module>../../../plugins/org.eclipse.emf.ecore.change</module> <module>../../../plugins/org.eclipse.emf.ecore.xmi</module> <module>../../../plugins/org.eclipse.emf.ecore</module> </modules>" releng/org.eclipse.emf.parent/plugins %endif popd # Don't install poms or license features %mvn_package "::pom::" __noinstall %mvn_package ":org.eclipse.{emf,xsd}.license" __noinstall # No need to ship tests as they are run at buildtime %mvn_package ":org.eclipse.emf.tests" __noinstall %mvn_package ":org.eclipse.emf.test.*" __noinstall %if %{with bootstrap} %mvn_package ":::{sources,sources-feature}:" __noinstall %else %mvn_package ":::{sources,sources-feature}:" sdk %endif %mvn_package ":org.eclipse.emf.{sdk,doc,cheatsheets,example.installer}" sdk %mvn_package ":org.eclipse.xsd.{sdk,doc,cheatsheets,example.installer}" sdk %mvn_package "org.eclipse.emf.features:org.eclipse.emf.{base,common,ecore}" %mvn_package "org.eclipse.emf:org.eclipse.emf.{common,ecore,ecore.change,ecore.xmi}" %mvn_package ":org.eclipse.xsd*" xsd %mvn_package ":org.eclipse.emf.mapping.xsd**" xsd %mvn_package ":" runtime %build # Qualifier generated from last modification time of source tarball QUALIFIER=$(date -u -d"$(stat --format=%y %{SOURCE0})" +v%Y%m%d-%H%M) %mvn_build -j -- -f org.eclipse.emf/pom.xml -DforceContextQualifier=$QUALIFIER -Dmaven.test.failure.ignore=true %install %mvn_install # Move to libdir due to being part of core platform install -d -m 755 %{buildroot}%{_eclipsedir} mv %{buildroot}%{_datadir}/eclipse/droplets/emf/{plugins,features} %{buildroot}%{_eclipsedir} rm -r %{buildroot}%{_datadir}/eclipse/droplets/emf # Fixup metadata sed -i -e 's|%{_datadir}/eclipse/droplets/emf|%{_eclipsedir}|' %{buildroot}%{_datadir}/maven-metadata/eclipse-emf.xml sed -i -e 's|%{_datadir}/eclipse/droplets/emf/features/|%{_eclipsedir}/features/|' \ -e 's|%{_datadir}/eclipse/droplets/emf/plugins/|%{_eclipsedir}/plugins/|' .mfiles sed -i -e '/droplets/d' .mfiles # Remove any symlinks that might be created during bootstrapping due to missing platform bundles for del in $( (cd %{buildroot}%{_eclipsedir}/plugins && ls | grep -v -e '^org\.eclipse\.emf' ) ) ; do rm %{buildroot}%{_eclipsedir}/plugins/$del sed -i -e "/$del/d" .mfiles done %files core -f .mfiles %license org.eclipse.emf/features/org.eclipse.emf.license-feature/*.html %if %{without bootstrap} %files runtime -f .mfiles-runtime %files xsd -f .mfiles-xsd %files sdk -f .mfiles-sdk %endif %changelog * Mon Dec 17 2018 neoclust <neoclust> 2.16.0-3.mga7 + Revision: 1342111 - Disable bootstrap mode * Fri Dec 14 2018 neoclust <neoclust> 2.16.0-2.mga7 + Revision: 1341206 - Rebuild to regenerate auto requires * Fri Dec 14 2018 neoclust <neoclust> 2.16.0-1.mga7 + Revision: 1341153 - New version 2.16.0 * Sun Sep 23 2018 umeabot <umeabot> 2.12.0-3.mga7 + Revision: 1297562 - Mageia 7 Mass Rebuild * Sun Jul 17 2016 neoclust <neoclust> 2.12.0-2.mga6 + Revision: 1042352 - Try to rebuild cleanly on armv5 * Mon Jun 13 2016 daviddavid <daviddavid> 2.12.0-1.mga6 + Revision: 1021337 - Update to Neon release: 2.12.0 Final * Mon Jun 13 2016 pterjan <pterjan> 2.12.0-0.1.git2021583.2.mga6 + Revision: 1021330 - Do not use date as ContextQualifier, this breaks when different arches are not built on the same day * Tue May 10 2016 daviddavid <daviddavid> 2.12.0-0.1.git2021583.1.mga6 + Revision: 1012043 - Update to latest Neon snapshot (2.12.0) * Fri Apr 29 2016 daviddavid <daviddavid> 2.11.2-1.mga6 + Revision: 1007768 - Update to Mars.2 release * Wed Mar 02 2016 neoclust <neoclust> 2.11.1-10.mga6 + Revision: 983071 - Removal of noarch tag - Second rebuild of the java stack - Rebuild with fixed deps on i586 - Try to rebuild with fixed deps - Rebuild against fixed tycho - Rebuild against fixed eclipse - First rebuild of the java stack - sync package eclipse-emf with fedora + umeabot <umeabot> - Mageia 6 Mass Rebuild * Fri Dec 26 2014 pterjan <pterjan> 2.10.1-2.mga5 + Revision: 806295 - Clean rebuild - Sync with Fedora 21 (update to 2.10.1) - Restore + sander85 <sander85> - Depends on broken java stack * Wed Oct 15 2014 umeabot <umeabot> 2.9.1-4.mga5 + Revision: 739373 - Second Mageia 5 Mass Rebuild * Tue Sep 16 2014 umeabot <umeabot> 2.9.1-3.mga5 + Revision: 678939 - Mageia 5 Mass Rebuild * Tue Oct 22 2013 umeabot <umeabot> 2.9.1-2.mga4 + Revision: 542185 - Mageia 4 Mass Rebuild * Mon Oct 14 2013 dmorgan <dmorgan> 2.9.1-1.mga4 + Revision: 497045 - New version * Wed Sep 25 2013 dmorgan <dmorgan> 2.9.0-1.mga4 + Revision: 485938 - Update to Kepler release. - 974108: Remove versions and timestamps from EMF filenames. * Wed Sep 25 2013 dmorgan <dmorgan> 2.9.0-0.1.git352e28.1.mga4 + Revision: 485789 - New version * 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.