5ad23b7
%define eclipse_base     %{_datadir}/eclipse
5ad23b7
%define gcj_support      1
5ad23b7
5ad23b7
Name:      eclipse-epic
a28b750
Version:   0.6.24
e644b56
Release:   2%{?dist}
5ad23b7
Summary:   Perl Eclipse plugin
5ad23b7
Group:     Development/Tools
5ad23b7
License:   CPL
5ad23b7
URL:       http://e-p-i-c.sourceforge.net/
5ad23b7
a28b750
# source tarball and the script used to generate it from upstream's source control
5ad23b7
# script usage:
5ad23b7
# $ sh get-epic.sh
5ad23b7
Source0:   epic-%{version}.tar.gz
5ad23b7
Source1:   get-epic.sh
5ad23b7
5ad23b7
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
5ad23b7
5ad23b7
%if %{gcj_support}
5ad23b7
BuildRequires:    gcc-java
5ad23b7
BuildRequires:    java-gcj-compat-devel
5ad23b7
Requires(post):   java-gcj-compat
5ad23b7
Requires(postun): java-gcj-compat
5ad23b7
%else
5ad23b7
BuildArch:        noarch
5ad23b7
%endif
5ad23b7
BuildRequires:    java-devel
5ad23b7
BuildRequires:    jpackage-utils
5ad23b7
BuildRequires:    eclipse-pde
5ad23b7
BuildRequires:    antlr
5ad23b7
BuildRequires:    jdom
5ad23b7
BuildRequires:    gnu-regexp
5ad23b7
BuildRequires:    brazil
5ad23b7
Requires:         java
5ad23b7
Requires:         jpackage-utils
5ad23b7
Requires:         eclipse-platform
5ad23b7
Requires:         antlr
5ad23b7
Requires:         jdom
5ad23b7
Requires:         gnu-regexp
5ad23b7
Requires:         brazil
5ad23b7
Requires:         perl
5ad23b7
Requires:         perl-PadWalker
5ad23b7
5ad23b7
%description
5ad23b7
EPIC is an open source Perl IDE based on the Eclipse platform. Features 
5ad23b7
supported are syntax highlighting, on-the-fly syntax check, content assist, 
5ad23b7
perldoc support, source formatter, templating support, a regular expression 
5ad23b7
view and a Perl debugger.
5ad23b7
5ad23b7
%prep
5ad23b7
%setup -q -n epic-%{version}
5ad23b7
5ad23b7
# ditch bundled libs in favor of building against fedora packaged libs
8397399
rm org.epic.lib/lib/jdom-1.1.jar \
5ad23b7
   org.epic.lib/lib/antlr-2.7.5.jar \
5ad23b7
   org.epic.lib/lib/brazil_mini.jar \
5ad23b7
   org.epic.lib/lib/gnu-regexp-1.1.4.jar
5ad23b7
build-jar-repository -s -p org.epic.lib/lib jdom antlr gnu-regexp brazil
5ad23b7
8397399
grep -lR jdom-1.1 *         | xargs sed --in-place "s/jdom-1.1/jdom/"
5ad23b7
grep -lR antlr-2.7.5 *      | xargs sed --in-place "s/antlr-2.7.5/antlr/"
5ad23b7
grep -lR gnu-regexp-1.1.4 * | xargs sed --in-place "s/gnu-regexp-1.1.4/gnu-regexp/"
5ad23b7
grep -lR brazil_mini *      | xargs sed --in-place "s/brazil_mini/brazil/"
5ad23b7
5ad23b7
# put the source plugin together
5ad23b7
for p in org.epic.perleditor \
5ad23b7
         org.epic.regexp \
5ad23b7
         org.epic.debug; do
5ad23b7
  mkdir org.epic.source/src/$p
5ad23b7
  pushd $p/src
5ad23b7
  zip -r -q ../../org.epic.source/src/$p/src.zip *
5ad23b7
  popd
5ad23b7
done
5ad23b7
5ad23b7
# make sure upstream hasn't sneaked in any jars we don't know about
5ad23b7
JARS=""
5ad23b7
for j in `find -name "*.jar"`; do
5ad23b7
  if [ ! -L $j ]; then
5ad23b7
    JARS="$JARS $j"
5ad23b7
  fi
5ad23b7
done
5ad23b7
if [ ! -z "$JARS" ]; then
5ad23b7
   echo "These jars should be deleted and symlinked to system jars: $JARS"
5ad23b7
   exit 1
5ad23b7
fi
5ad23b7
5ad23b7
%build
5ad23b7
# parse grammar for grammar parser
5ad23b7
pushd org.epic.perleditor/src/org/epic/core/parser/
5ad23b7
for g in `find . -name "*.g"`; do
5ad23b7
  antlr $g
5ad23b7
done
5ad23b7
popd
5ad23b7
5ad23b7
# build the main feature
5ad23b7
%{eclipse_base}/buildscripts/pdebuild -f org.epic.feature.main \
5ad23b7
  -a "-DjavacTarget=1.4 -DjavacSource=1.4"
5ad23b7
5ad23b7
%install
5ad23b7
rm -rf %{buildroot}
5ad23b7
install -d -m 755 %{buildroot}%{eclipse_base}
5ad23b7
unzip -q -d %{buildroot}%{eclipse_base}/.. build/rpmBuild/org.epic.feature.main.zip
5ad23b7
5ad23b7
# need to recreate the symlinks to libraries that were setup in "prep"
5ad23b7
# because for some reason the ant copy task doesn't preserve them
5ad23b7
pushd %{buildroot}%{eclipse_base}/plugins/org.epic.lib_*/lib
5ad23b7
rm *.jar
5ad23b7
build-jar-repository -s -p . jdom antlr gnu-regexp brazil
5ad23b7
popd
5ad23b7
8397399
# ensure source packages are correctly verisoned
5ad23b7
pushd %{buildroot}%{eclipse_base}/plugins
5ad23b7
for p in org.epic.perleditor \
5ad23b7
         org.epic.regexp \
5ad23b7
         org.epic.debug; do
5ad23b7
  PVERSION=_`ls -1 | grep $p | sed -r 's/.*_(.*)\.jar$/\1/'`
5ad23b7
  mv org.epic.source_%{version}/src/$p org.epic.source_%{version}/src/$p$PVERSION
5ad23b7
done
5ad23b7
popd
5ad23b7
5ad23b7
%if %{gcj_support}
5ad23b7
%{_bindir}/aot-compile-rpm
5ad23b7
%endif
5ad23b7
5ad23b7
%clean
5ad23b7
rm -rf %{buildroot}
5ad23b7
5ad23b7
%if %{gcj_support}
5ad23b7
%post -p %{_bindir}/rebuild-gcj-db
5ad23b7
%postun -p %{_bindir}/rebuild-gcj-db
5ad23b7
%endif
5ad23b7
5ad23b7
%files
5ad23b7
%defattr(-,root,root,-)
5ad23b7
%doc %{eclipse_base}/features/org.epic.feature.main_%{version}/license.html
e644b56
%{eclipse_base}/features/org.epic.feature.main_*
5ad23b7
%{eclipse_base}/plugins/org.epic.debug_*
5ad23b7
%{eclipse_base}/plugins/org.epic.doc_*
5ad23b7
%{eclipse_base}/plugins/org.epic.lib_*
5ad23b7
%{eclipse_base}/plugins/org.epic.perleditor_*
5ad23b7
%{eclipse_base}/plugins/org.epic.regexp_*
5ad23b7
%{eclipse_base}/plugins/org.epic.source_*
5ad23b7
%if %{gcj_support}
5ad23b7
%{_libdir}/gcj/%{name}
5ad23b7
%endif
5ad23b7
5ad23b7
%changelog
e644b56
* Sat Jun 14 2008 Mat Booth <fedora@matbooth.co.uk> 0.6.24-2
e644b56
- Fixed package ownership of feature directory.
e644b56
a28b750
* Sun Jun 01 2008 Mat Booth <fedora@matbooth.co.uk> 0.6.24-1
a28b750
- Updated to version 0.6.24.
a28b750
8397399
* Mon May 05 2008 Mat Booth <fedora@matbooth.co.uk> 0.6.23-1
8397399
- Updated to version 0.6.23.
8397399
- Removed JDOM API patch that was moved upstream.
8397399
5ad23b7
* Tue Apr 29 2008 Mat Booth <fedora@matbooth.co.uk> 0.6.22-4
5ad23b7
- Added missing dependency.
5ad23b7
- Build the source plugin properly to support the "import as projects with
5ad23b7
  source folders" feature of Eclipse.
5ad23b7
5ad23b7
* Sat Apr 19 2008 Mat Booth <fedora@matbooth.co.uk> 0.6.22-3
5ad23b7
- Use JPackage tools to create jar repositories.
5ad23b7
5ad23b7
* Sun Apr 13 2008 Mat Booth <fedora@matbooth.co.uk> 0.6.22-2
5ad23b7
- Updated package for new Eclipse plugin guidelines.
5ad23b7
5ad23b7
* Sun Mar 30 2008 Mat Booth <fedora@matbooth.co.uk> 0.6.22-1
5ad23b7
- Updated to version 0.6.22.
5ad23b7
5ad23b7
* Wed Feb 20 2008 Mat Booth <fedora@matbooth.co.uk> 0.6.20-1
5ad23b7
- Updated to version 0.6.20.
5ad23b7
5ad23b7
* Wed Dec 24 2007 Mat Booth <fedora@matbooth.co.uk> 0.6.17-1
5ad23b7
- Initial release.