Blob Blame History Raw
%global eclipse_dropin   %{_datadir}/eclipse/dropins

Name:      eclipse-dltk
Version:   4.0.0
Release:   2%{?dist}
Summary:   Dynamic Languages Toolkit (DLTK) Eclipse plugin
Group:     System Environment/Libraries
License:   EPL
URL:       http://www.eclipse.org/dltk/

# source tarball and the script used to generate it from upstream's source control
# script usage:
# $ sh get-dltk.sh
Source0:   dltk-%{version}.tar.xz
Source1:   get-dltk.sh

Patch1: remove-dependencies-on-empty-source-bundles.patch
Patch2: correct-mismatched-feature-and-artifactIds.patch
Patch3: remove-missing-files-from-build.properties-files.patch
Patch4: correct-required-version-of-org.eclipse.rse.services.ssh.patch
Patch5: disable-specific-environment-settings.patch
Patch6: disable-javascript-and-python.patch
Patch7: rename-tycho-plugins-to-0.14.0-names.patch
Patch8: correct-CommonImages-path.patch

BuildArch:        noarch

BuildRequires:    java-devel
BuildRequires:    jpackage-utils
BuildRequires:    eclipse-pde >= 1:3.5.0
BuildRequires:    eclipse-emf >= 2.5.0
BuildRequires:    eclipse-mylyn >= 3.2
BuildRequires:    eclipse-mylyn-ide
BuildRequires:    eclipse-mylyn-context
BuildRequires:    eclipse-rse
BuildRequires:    h2
BuildRequires:    maven
BuildRequires:    tycho
Requires:         java
Requires:         jpackage-utils
Requires:         eclipse-platform >= 1:3.5.0
Requires:         eclipse-emf
Requires:         h2

%description
Dynamic Languages Toolkit (DLTK) is a tool for vendors, researchers, and users
who rely on dynamic languages. DLTK is comprised of a set of extensible
frameworks designed to reduce the complexity of building full featured
development environments for dynamic languages such as PHP and Perl.

%package   ruby
Summary:   Ruby Eclipse plugin
Group:     Development/Tools
Requires:  %{name} = %{version}-%{release}

%description ruby
Ruby development environment for Eclipse based on the Eclipse Dynamic
Languages Toolkit (DLTK).

%package   tcl
Summary:   TCL Eclipse plugin
Group:     Development/Tools
Requires:  %{name} = %{version}-%{release}
Requires:  eclipse-emf >= 2.5.0

%description tcl
TCL development environment for Eclipse based on the Eclipse Dynamic
Languages Toolkit (DLTK).

%package   itcl
Summary:   Incr TCL extension for the TCL Eclipse plugin
Group:     Development/Tools
Requires:  %{name}-tcl = %{version}-%{release}

%description itcl
Incr TCL extension for the TCL Eclipse plugin.

%package   xotcl
Summary:   XOTCL extension for the TCL Eclipse plugin
Group:     Development/Tools
Requires:  %{name}-tcl = %{version}-%{release}

%description xotcl
XOTCL extension for the TCL Eclipse plugin.

#%package   javascript
#Summary:   Javascript Eclipse plugin
#Group:     Development/Tools
#Requires:  %{name} = %{version}-%{release}

#%description javascript
#Javascript development environment for Eclipse based on the Eclipse
#Dynamic Languages Toolkit (DLTK).

%package   mylyn
Summary:   Mylyn integration for Eclipse DLTK projects
Group:     Development/Tools
Requires:  %{name} = %{version}-%{release}
Requires:  eclipse-mylyn >= 3.2
Requires:    eclipse-mylyn-ide
Requires:    eclipse-mylyn-context

%description mylyn
Mylyn task-focused UI integration for Eclipse Dynamic Languages Toolkit
(DLTK) projects.

%package   rse
Summary:   RSE integration for Eclipse DLTK projects
Group:     Development/Tools
Requires:  %{name} = %{version}-%{release}
Requires:  eclipse-rse

%description rse
Remote Development Support via RSE for DLTK based IDEs.

%package   sdk
Summary:   Eclipse DLTK SDK
Group:     System Environment/Libraries
Requires:  java-javadoc
Requires:  eclipse-pde >= 1:3.5.0
Requires:  %{name}       = %{version}-%{release}
Requires:  %{name}-ruby  = %{version}-%{release}
Requires:  %{name}-tcl   = %{version}-%{release}
Requires:  %{name}-itcl  = %{version}-%{release}
Requires:  %{name}-xotcl = %{version}-%{release}
#Requires:  %{name}-javascript = %{version}-%{release}
Requires:  %{name}-mylyn = %{version}-%{release}
Requires:  %{name}-rse   = %{version}-%{release}

%description sdk
Documentation and source for the Eclipse Dynamic Languages Toolkit (DLTK).

# TODO: Python IDE
# TODO: Uncomment the Javascript package bits when upstream gets their Rhino dependencies sanely externalised

%prep
%setup -q -n dltk-%{version}
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1

# 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

mkdir orbitDeps
pushd orbitDeps
ln -s %{_javadir}/h2.jar org.h2.jar
popd

%build
# Note: Use date from the cvs tag as the context qualifier.
OPTIONS="-DforceContextQualifier=v201201070225 -Dmaven.test.skip=true clean install"

#export JAVA_HOME=%{java_home}
#export PATH=%{java_bin}:/usr/bin:$PATH

# Ensure that all required dependencies are available in a local p2 repo                                
# build all features
pushd build
mvn-rpmbuild $OPTIONS
popd

%install
install -d -m 755 %{buildroot}%{eclipse_dropin}

SUBPACKAGES="core.index core ruby tcl itcl xotcl mylyn rse"

mkdir -p %{buildroot}%{eclipse_dropin}/dltk-sdk/eclipse/plugins
mkdir -p %{buildroot}%{eclipse_dropin}/dltk-sdk/eclipse/features

pushd build/update.site/target/site
mv plugins/org.eclipse.dltk.*.source* %{buildroot}%{eclipse_dropin}/dltk-sdk/eclipse/plugins
mv features/org.eclipse.dltk.*.sdk* %{buildroot}%{eclipse_dropin}/dltk-sdk/eclipse/features

for s in $SUBPACKAGES ; do

  mkdir -p %{buildroot}%{eclipse_dropin}/dltk-$s/eclipse/plugins
  mkdir -p %{buildroot}%{eclipse_dropin}/dltk-$s/eclipse/features

  mv plugins/org.eclipse.dltk.$s* %{buildroot}%{eclipse_dropin}/dltk-$s/eclipse/plugins
  mv features/org.eclipse.dltk.$s* %{buildroot}%{eclipse_dropin}/dltk-$s/eclipse/features
done

#Install .launching, .debug*, .ui, .console bundles into core
mv plugins/org.eclipse.dltk_* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
mv plugins/org.eclipse.dltk.console* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
mv plugins/org.eclipse.dltk.debug* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
mv plugins/org.eclipse.dltk.formatter* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
mv plugins/org.eclipse.dltk.launching* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
mv plugins/org.eclipse.dltk.logconsole* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
mv plugins/org.eclipse.dltk.testing* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
mv plugins/org.eclipse.dltk.ui* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins
mv plugins/org.eclipse.dltk.validators* %{buildroot}%{eclipse_dropin}/dltk-core/eclipse/plugins

#install org.eclipse.dltk.ssh.core to rse
mv plugins/org.eclipse.dltk.ssh.core* %{buildroot}%{eclipse_dropin}/dltk-rse/eclipse/plugins

# Install symlinks to required OSGi jars
ln -s %{_javadir}/h2.jar %{buildroot}/%{eclipse_dropin}/dltk-core.index/eclipse/plugins/org.h2.jar

popd

%files
%{eclipse_dropin}/dltk-core
%{eclipse_dropin}/dltk-core.index
%doc core/features/org.eclipse.dltk.core-feature/rootfiles/*

%files ruby
%{eclipse_dropin}/dltk-ruby
%doc ruby/features/org.eclipse.dltk.ruby-feature/rootfiles/*

%files tcl
%{eclipse_dropin}/dltk-tcl
%doc tcl/features/org.eclipse.dltk.tcl-feature/rootfiles/*

%files itcl
%{eclipse_dropin}/dltk-itcl
%doc itcl/features/org.eclipse.dltk.itcl-feature/rootfiles/*

%files xotcl
%{eclipse_dropin}/dltk-xotcl
%doc  xotcl/features/org.eclipse.dltk.xotcl-feature/rootfiles/*

#%files javascript
#%defattr(-,root,root,-)
#%{eclipse_dropin}/dltk-javascript
#%doc org.eclipse.dltk.javascript-feature/rootfiles/*

%files mylyn
%{eclipse_dropin}/dltk-mylyn
%doc mylyn/features/org.eclipse.dltk.mylyn-feature/rootfiles/*

%files rse
%{eclipse_dropin}/dltk-rse
%doc rse/features/org.eclipse.dltk.rse-feature/rootfiles/*

%files sdk
%{eclipse_dropin}/dltk-sdk
%doc core/features/org.eclipse.dltk.core.sdk/rootfiles/*

%changelog
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Mon Jul 16 2012 Sami Wagiaalla <swagiaal@redhat.com> - 4.0.0-1
- Update to 4.0.0 release.

* Thu Jun 14 2012 Roland Grunberg <rgrunber@redhat.com> - 4.0.0-0.5.201201070225cvs
- Remove patches that bump BREE to JavaSE-1.6 (done by Tycho).
- Remove patch and %%prep lines that create p2 repository (done by Tycho).

* Thu May 03 2012 Sami Wagiaalla <swagiaal@redhat.com> - 4.0.0-0.4.201201070225cvs
- Install a symlink to h2 in dropins.
- Remove blanket symlink of javadir.

* Thu Apr 25 2012 Sami Wagiaalla <swagiaal@redhat.com> - 4.0.0-0.3.201201070225cvs
- Install missing bundles.

* Thu Apr 24 2012 Sami Wagiaalla <swagiaal@redhat.com> - 4.0.0-0.2.201201070225cvs
- Checkout entire org.eclipse.dltk module.
- Patch dltk to build with tycho 0.14.0
- Use tycho to build dltk
- Add tycho and maven requirements.

* Thu Apr 12 2012 Sami Wagiaalla <swagiaal@redhat.com> - 4.0.0-0.1.201201070225cvs
- Update to upstream 4.0.0 snapshot.

* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Fri Dec 16 2011 Alexander Kurtakov <akurtako@redhat.com> 3.0.1-1
- Update to upstream 3.0.1.

* Tue Jul 12 2011 Alexander Kurtakov <akurtako@redhat.com> 3.0-2
- Add more mylyn subpackages to BR/R.

* Tue Jul 12 2011 Alexander Kurtakov <akurtako@redhat.com> 3.0-1
- Update to upstream 3.0.

* Tue Jul 5 2011 Andrew Overholt <overholt@redhat.com> 2.0.1-4
- Update dropins locations to reflect Mylyn split.

* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Mon Dec 6 2010 Alexander Kurtakov <akurtako@redhat.com> 2.0.1-2
- BR/R h2 and fix build.

* Tue Oct 19 2010 Chris Aniszczyk <zx@redhat.com> 2.0.1-1
- Update to 2.0.1.

* Sun Jul 18 2010 Alexander Kurtakov <akurtako@redhat.com> 2.0.0-1
- Update to 2.0.0.

* Wed Mar 03 2010 Mat Booth <fedora@matbooth.co.uk> 1.0.2-1
- Update to 1.0.2

* Wed Jan 20 2010 Alexander Kurtakov <akurtako@redhat.com> 1.0.0-4
- Main package should require emf.

* Mon Aug 20 2009 Mat Booth <fedora@matbooth.co.uk> 1.0.0-3
- Add a SDK package.
- Require Mylyn >= 3.2.

* Mon Aug 10 2009 Alexander Kurtakov <akurtako@redhat.com> 1.0.0-2
- Add RSE plugin.

* Mon Aug 10 2009 Alexander Kurtakov <akurtako@redhat.com> 1.0.0-1
- Update to 1.0.0 final.

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-0.6.RC1b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Fri May 22 2009 Alexander Kurtakov <akurtako@redhat.com> 1.0.0-0.5.RC1b
- Update to 1.0.0 RC1b.
- Use %%global instead of %%define.

* Sat Apr 18 2009 Mat Booth <fedora@matbooth.co.uk> 1.0.0-0.4.M6
- Update to Milestone 6 release of 1.0.0.
- Require Eclipse 3.5.0.

* Thu Apr 02 2009 Mat Booth <fedora@matbooth.co.uk> 1.0.0-0.3.M5
- Fix files listed twice warnings.

* Thu Apr 02 2009 Mat Booth <fedora@matbooth.co.uk> 1.0.0-0.2.M5
- Drop GCJ AOT support.

* Mon Mar 30 2009 Mat Booth <fedora@matbooth.co.uk> 1.0.0-0.1.M5
- Initial release.