Sophie

Sophie

distrib > * > 2008.0 > x86_64 > by-pkgid > c4ccf1bb9f21bc088eec59b08bf2eccf > files > 1

eclipse-subclipse-1.2.3-0.0.2mdv2008.0.src.rpm

%define gcj_support     1

%define eclipse_name    eclipse
%define eclipse_base    %{_datadir}/%{eclipse_name}
%define core_plugin_jar %{eclipse_base}/plugins/org.tigris.subversion.subclipse.core_%{version}.jar
%define core_plugin_dir %{eclipse_base}/plugins/org.tigris.subversion.subclipse.core_%{version}


Name:           eclipse-subclipse
Version:        1.2.3
Release:        %mkrel 0.0.2
Epoch:          0
Summary:        Subversion Eclipse plugin
Group:          Development/Java
License:        EPL
URL:            http://subclipse.tigris.org/
Source0:        subclipse-%{version}.tar.bz2
# Script to fetch the source code
# the new source tarball does not includes the book feature and the layout is
# different than the source repository
Source1:       subclipse-fetch.sh
BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root
%if %mdkversion == 200800
# For fixed EOL handling:
# you may remove this on 2007-06-25 when iurt chroots are updated
BuildRequires: spec-helper >= 0.26
%endif
BuildRequires:          ant
BuildRequires:          jpackage-utils
BuildRequires:          eclipse-pde
%if %{gcj_support}
BuildRequires:          java-gcj-compat-devel
%else
BuildArch:              noarch
BuildRequires:          java-devel
%endif
Requires:               eclipse-platform
BuildRequires:          svn-javahl
Requires:               svn-javahl
BuildRequires:          svnkit
Requires:               svnkit
BuildRequires:          ganymed-ssh2
Requires:               ganymed-ssh2

%package book
Summary:        Subversion book
Group:          Development/Java
Requires:       %{name} = %{epoch}:%{version}-%{release}

%description
Subclipse is an Eclipse plugin that adds Subversion integration to the Eclipse
IDE.

%description book
The Subversion book as an Eclipse documentation plugin.

%prep
%setup -q -n subclipse-%{version}
%if 0
%{__perl} -pi -e 's/JhlClientAdapterFactory\.JAVAHL_CLIENT/SvnKitClientAdapterFactory.SVNKIT_CLIENT/' \
  subclipse/ui/src/org/tigris/subversion/subclipse/ui/Preferences.java
%endif

# delete the jars that are in the archive
rm svnClientAdapter/lib/svnjavahl.jar
ln -sf %{_jnidir}/svn-javahl.jar svnClientAdapter/lib/svnjavahl.jar
rm -f svnClientAdapter/lib/svnkit.jar
ln -sf %{_javadir}/svnkit.jar svnClientAdapter/lib/svnkit.jar
rm -f svnClientAdapter/lib/ganymed.jar
ln -sf %{_javadir}/ganymed-ssh2.jar svnClientAdapter/lib/ganymed.jar

rm -f subclipse/core/lib/svnjavahl.jar
ln -sf %{_jnidir}/svn-javahl.jar subclipse/core/lib/svnjavahl.jar
rm -f subclipse/core/lib/svnClientAdapter.jar
# svnClientAdapter.jar is copied after being built
rm -f subclipse/core/lib/svnkit.jar
ln -sf %{_javadir}/svnkit.jar subclipse/core/lib/svnkit.jar
rm -f subclipse/core/lib/ganymed.jar
ln -sf %{_javadir}/ganymed-ssh2.jar subclipse/core/lib/ganymed.jar

%build
# ---------------------------------
# building svnClientAdapter
pushd svnClientAdapter
%{ant} svnClientAdapter.jar
popd

# copying svnClientAdapter inside subclipse module
cp svnClientAdapter/build/lib/svnClientAdapter.jar subclipse/core/lib/svnClientAdapter.jar

# ---------------------------------
# building subclipse
pushd subclipse
# See comments in the script to understand this.
/bin/sh -x %{eclipse_base}/buildscripts/copy-platform SDK %{eclipse_base}
SDK=$(cd SDK > /dev/null && pwd)

# Eclipse may try to write to the home directory.
mkdir home
homedir=$(cd home > /dev/null && pwd)

# build the main subclipse feature
%{java} -cp %{eclipse_base}/startup.jar                \
     -Dosgi.sharedConfiguration.area=%{_libdir}/eclipse/configuration \
     -Duser.home=$homedir                              \
     org.eclipse.core.launcher.Main                    \
     -application org.eclipse.ant.core.antRunner       \
     -Dtype=feature                                    \
     -Did=org.tigris.subversion.subclipse              \
     -DsourceDirectory=$(pwd)                          \
     -DbaseLocation=$SDK                               \
     -Dbuilder=%{eclipse_base}/plugins/org.eclipse.pde.build/templates/package-build  \
     -f %{eclipse_base}/plugins/org.eclipse.pde.build/scripts/build.xml

# build the subclipse book feature
%{java} -cp %{eclipse_base}/startup.jar                \
     -Dosgi.sharedConfiguration.area=%{_libdir}/eclipse/configuration \
     -Duser.home=$homedir                              \
     org.eclipse.core.launcher.Main                    \
     -application org.eclipse.ant.core.antRunner       \
     -Dtype=feature                                    \
     -Did=org.tigris.subversion.book                   \
     -DsourceDirectory=$(pwd)                          \
     -DbaseLocation=$SDK                               \
     -Dbuilder=%{eclipse_base}/plugins/org.eclipse.pde.build/templates/package-build  \
     -f %{eclipse_base}/plugins/org.eclipse.pde.build/scripts/build.xml

# returning to base build directory
popd

# Link source files to fix -debuginfo generation.
rm -rf subclipse/org
mkdir -p subclipse/org/tigris/subversion
ln -s $(pwd)/svnClientAdapter/src/main/org/tigris/subversion/svnclientadapter subclipse/org/tigris/subversion
mkdir -p subclipse/org/tigris/subversion/subclipse
ln -s $(pwd)/subclipse/core/src/org/tigris/subversion/subclipse/core subclipse/org/tigris/subversion/subclipse
ln -s $(pwd)/subclipse/ui/src/org/tigris/subversion/subclipse/ui subclipse/org/tigris/subversion/subclipse

%install
rm -rf $RPM_BUILD_ROOT
install -d -m 755 $RPM_BUILD_ROOT%{eclipse_base}

pushd subclipse
unzip -q -d $RPM_BUILD_ROOT%{eclipse_base}/.. build/rpmBuild/org.tigris.subversion.subclipse.zip
unzip -q -d $RPM_BUILD_ROOT%{eclipse_base}/.. build/rpmBuild/org.tigris.subversion.book.zip

# repacking core plugin as a directory based plugin, needed in order to replace some jars with symlinks
mkdir $RPM_BUILD_ROOT%{core_plugin_dir}
unzip -q -d $RPM_BUILD_ROOT%{core_plugin_dir} $RPM_BUILD_ROOT%{core_plugin_jar}
rm $RPM_BUILD_ROOT%{core_plugin_jar}
# packaging .class files as a jar file
jar -cf $RPM_BUILD_ROOT%{core_plugin_dir}/lib/subclipse-core.jar -C $RPM_BUILD_ROOT%{core_plugin_dir} org
rm -rf $RPM_BUILD_ROOT%{core_plugin_dir}/org
# adding the recently created jar to the plugin manifestOB
%{__perl} -pi -e 's|^Bundle-ClassPath: \.|Bundle-ClassPath: lib/subclipse-core.jar|' $RPM_BUILD_ROOT%{core_plugin_dir}/META-INF/MANIFEST.MF

# removing core plugin internal jars
rm -f $RPM_BUILD_ROOT%{core_plugin_dir}/lib/svnjavahl.jar
rm -f $RPM_BUILD_ROOT%{core_plugin_dir}/lib/svnkit.jar
rm -f $RPM_BUILD_ROOT%{core_plugin_dir}/lib/ganymed.jar

%if %{gcj_support}
%{_bindir}/aot-compile-rpm
%endif

# We need to setup the symlink because the ant copy task doesn't preserve symlinks
# TODO file a bug about this
ln -s %{_jnidir}/svn-javahl.jar $RPM_BUILD_ROOT%{core_plugin_dir}/lib/svnjavahl.jar
ln -s %{_javadir}/svnkit.jar $RPM_BUILD_ROOT%{core_plugin_dir}/lib/svnkit.jar
ln -s %{_javadir}/ganymed-ssh2.jar $RPM_BUILD_ROOT%{core_plugin_dir}/lib/ganymed.jar

%clean
rm -rf $RPM_BUILD_ROOT

%if %{gcj_support}
%post
%{update_gcjdb}

%postun
%{clean_gcjdb}
%endif

%files
%defattr(-,root,root)
%{eclipse_base}/features/org.tigris.subversion.subclipse_*
%{eclipse_base}/plugins/org.tigris.subversion.subclipse.core_*
%{eclipse_base}/plugins/org.tigris.subversion.subclipse.ui_*
%{eclipse_base}/plugins/org.tigris.subversion.subclipse.doc_*
%doc svnClientAdapter/readme.txt svnClientAdapter/changelog.txt svnClientAdapter/license.txt 

%if %{gcj_support}
%{_libdir}/gcj/%{name}
%endif

%files book
%defattr(-,root,root)
%{eclipse_base}/features/org.tigris.subversion.book_*
%{eclipse_base}/plugins/org.tigris.subversion.book_*




%changelog
* Sat Sep 15 2007 Anssi Hannula <anssi@mandriva.org> 1.2.3-0.0.2mdv2008.0
+ Revision: 87369
- rebuild to filter out autorequires of GCJ AOT objects
- remove unnecessary Requires(post) on java-gcj-compat

* Wed Jul 11 2007 David Walluck <walluck@mandriva.org> 0:1.2.3-0.0.1mdv2008.0
+ Revision: 51194
- 1.2.3

* Sun Jun 24 2007 Anssi Hannula <anssi@mandriva.org> 0:1.1.9-2.4mdv2008.0
+ Revision: 43776
- rebuild with new spec-helper

* Sun Jun 24 2007 Anssi Hannula <anssi@mandriva.org> 0:1.1.9-2.3mdv2008.0
+ Revision: 43763
- rebuild with new spec-helper

* Sun Jun 24 2007 David Walluck <walluck@mandriva.org> 0:1.1.9-2.2mdv2008.0
+ Revision: 43601
- fix location of svn-javahl.jar


* Sun Mar 11 2007 David Walluck <walluck@mandriva.org> 1.1.9-2.1mdv2007.1
+ Revision: 141434
- rebuild

* Mon Dec 18 2006 David Walluck <walluck@mandriva.org> 0:1.1.9-1mdv2007.1
+ Revision: 98392
- 1.1.9
- Import eclipse-subclipse

* Fri Sep 01 2006 David Walluck <walluck@mandriva.org> 0:1.1.5-2mdv2007.0
* Mon Aug 28 2006 Robert Marcano <robert@marcanoonline.com> 1.1.5-2
- Rebuild

* Tue Aug 22 2006 Robert Marcano <robert@marcanoonline.com> 1.1.5-1
- Update to upstream 1.1.5
- svnClientAdapter documentation files added. Subclipse includes an eclipse
  based documentation for the plugins

* Mon Aug 07 2006 Robert Marcano <robert@marcanoonline.com> 1.1.4-1
- Update to upstream 1.1.4
- License changed to EPL
- svnClientAdapter-1.1.4-javac-target.patch added fix to svnClientAdapter ant
  script

* Wed Jul 05 2006 Andrew Overholt <overholt@redhat.com> 1.0.3-2
- Use versionless pde.build.
- Remove strict SDK version requirement due to above.

* Mon Jul 03 2006 Robert Marcano <robert@marcanoonline.com> 1.0.3-2
- Embeeding the script that fetch the source code

* Mon Jun 26 2006 Robert Marcano <robert@marcanoonline.com> 1.0.3-1
- Update to 1.0.3
- Dependency name changed to ganymed-ssh2

* Mon Jun 12 2006 Robert Marcano <robert@marcanoonline.com> 1.0.1-6
- rpmlint fixes and debuginfo generation workaround

* Fri Jun 02 2006 Robert Marcano <robert@marcanoonline.com> 1.0.1-5
- Use package-build from eclipse SDK

* Mon May 29 2006 Robert Marcano <robert@marcanoonline.com> 1.0.1-4
- Integrated svnClientAdapter inside this package

* Wed May 24 2006 Ben Konrath <bkonrath@redhat.com> 1.0.1-3
- Rename package to eclipse-subclipse.
- Use copy-platform script for now.

* Mon May 08 2006 Robert Marcano <robert@marcanoonline.com> 1.0.1-2
- use external libraries from dependent packages

* Thu Apr 27 2006 Ben Konrath <bkonrath@redhat.com> 1.0.1-1
- initial version based on the work of Robert Marcano