%global eclipse_base %{_libdir}/eclipse
%global eclipse_dropin %{_datadir}/eclipse/dropins
Name: eclipse-dltk
Version: 1.0.2
Release: 1%{?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.gz
Source1: get-dltk.sh
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
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-rse
Requires: java
Requires: jpackage-utils
Requires: eclipse-platform >= 1:3.5.0
Requires: eclipse-emf
%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
%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}
# 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: Use date from the cvs tag as the context qualifier.
OPTIONS="-DjavacTarget=1.5 -DjavacSource=1.5 -DforceContextQualifier=v201002091326"
# build all features
%{eclipse_base}/buildscripts/pdebuild -f org.eclipse.dltk.core \
-a "$OPTIONS" -d "emf"
%{eclipse_base}/buildscripts/pdebuild -f org.eclipse.dltk.ruby \
-a "$OPTIONS" -d "emf"
%{eclipse_base}/buildscripts/pdebuild -f org.eclipse.dltk.tcl \
-a "$OPTIONS" -d "emf"
%{eclipse_base}/buildscripts/pdebuild -f org.eclipse.dltk.itcl \
-a "$OPTIONS" -d "emf"
%{eclipse_base}/buildscripts/pdebuild -f org.eclipse.dltk.xotcl \
-a "$OPTIONS" -d "emf"
#%{eclipse_base}/buildscripts/pdebuild -f org.eclipse.dltk.javascript \
# -a "$OPTIONS" -d "emf"
%{eclipse_base}/buildscripts/pdebuild -f org.eclipse.dltk.mylyn \
-a "$OPTIONS" -d "mylyn"
%{eclipse_base}/buildscripts/pdebuild -f org.eclipse.dltk.rse \
-a "$OPTIONS" -d "rse"
# build all sdk features
%{eclipse_base}/buildscripts/pdebuild -f org.eclipse.dltk.core.sdk \
-a "$OPTIONS" -d "emf"
%{eclipse_base}/buildscripts/pdebuild -f org.eclipse.dltk.ruby.sdk \
-a "$OPTIONS" -d "emf"
%{eclipse_base}/buildscripts/pdebuild -f org.eclipse.dltk.tcl.sdk \
-a "$OPTIONS" -d "emf"
%{eclipse_base}/buildscripts/pdebuild -f org.eclipse.dltk.itcl.sdk \
-a "$OPTIONS" -d "emf"
%{eclipse_base}/buildscripts/pdebuild -f org.eclipse.dltk.xotcl.sdk \
-a "$OPTIONS" -d "emf"
#%{eclipse_base}/buildscripts/pdebuild -f org.eclipse.dltk.javascript.sdk \
# -a "$OPTIONS" -d "emf"
%{eclipse_base}/buildscripts/pdebuild -f org.eclipse.dltk.mylyn.sdk \
-a "$OPTIONS" -d "mylyn"
%{eclipse_base}/buildscripts/pdebuild -f org.eclipse.dltk.rse.sdk \
-a "$OPTIONS" -d "rse"
%install
rm -rf %{buildroot}
install -d -m 755 %{buildroot}%{eclipse_dropin}
SUBPACKAGES="core ruby tcl itcl xotcl mylyn rse"
for s in $SUBPACKAGES ; do
unzip -q -n -d %{buildroot}%{eclipse_dropin}/dltk-$s build/rpmBuild/org.eclipse.dltk.$s.zip
unzip -q -n -d %{buildroot}%{eclipse_dropin}/dltk-sdk build/rpmBuild/org.eclipse.dltk.$s.sdk.zip
# the non-sdk builds are a subset of the sdk builds, so delete duplicate features & plugins from the sdks
(cd %{buildroot}%{eclipse_dropin}/dltk-sdk/eclipse/features && ls %{buildroot}%{eclipse_dropin}/dltk-$s/eclipse/features | xargs rm -rf)
(cd %{buildroot}%{eclipse_dropin}/dltk-sdk/eclipse/plugins && ls %{buildroot}%{eclipse_dropin}/dltk-$s/eclipse/plugins | xargs rm -rf)
done
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{eclipse_dropin}/dltk-core
%doc org.eclipse.dltk.core-feature/rootfiles/*
%files ruby
%defattr(-,root,root,-)
%{eclipse_dropin}/dltk-ruby
%doc org.eclipse.dltk.ruby-feature/rootfiles/*
%files tcl
%defattr(-,root,root,-)
%{eclipse_dropin}/dltk-tcl
%doc org.eclipse.dltk.tcl-feature/rootfiles/*
%files itcl
%defattr(-,root,root,-)
%{eclipse_dropin}/dltk-itcl
%doc org.eclipse.dltk.itcl-feature/rootfiles/*
%files xotcl
%defattr(-,root,root,-)
%{eclipse_dropin}/dltk-xotcl
%doc org.eclipse.dltk.xotcl-feature/rootfiles/*
#%files javascript
#%defattr(-,root,root,-)
#%{eclipse_dropin}/dltk-javascript
#%doc org.eclipse.dltk.javascript-feature/rootfiles/*
%files mylyn
%defattr(-,root,root,-)
%{eclipse_dropin}/dltk-mylyn
%doc org.eclipse.dltk.mylyn-feature/rootfiles/*
%files rse
%defattr(-,root,root,-)
%{eclipse_dropin}/dltk-rse
%doc org.eclipse.dltk.rse-feature/rootfiles/*
%files sdk
%defattr(-,root,root,-)
%{eclipse_dropin}/dltk-sdk
%doc org.eclipse.dltk.core.sdk/rootfiles/*
%changelog
* 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.