isorelax/isorelax.spec

127 lines
3.7 KiB
RPMSpec

#
# spec file for package isorelax
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define with_tests %{?_with_tests:1}%{!?_with_tests:0}
%define without_tests %{!?_with_tests:1}%{?_with_tests:0}
%define section free
%define cvsversion 20041111
Name: isorelax
Summary: Public interfaces useful for applications to support RELAX Core
License: Apache-2.0 and MIT
Group: Development/Libraries/Java
Url: http://iso-relax.sourceforge.net/
Version: 0.1
Release: 0
BuildArch: noarch
Source0: %{name}.%{cvsversion}.zip
Source1: %{name}-build.xml
Source2: isorelax-maven-project.xml
Source3: isorelax-maven-project.xsd
Patch0: isorelax-java5-compatibility.patch
BuildRequires: ant
BuildRequires: javapackages-tools
%if %{with_tests}
BuildRequires: xercesjarv
%endif
BuildRequires: java-devel
BuildRequires: unzip
BuildRequires: xerces-j2
BuildRequires: xml-commons-apis
Requires: xerces-j2
Requires: xml-commons-apis
Obsoletes: isorelax-bootstrap
Provides: isorelax-bootstrap
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
The ISO RELAX project is started to host the public interfaces useful
for applications to support RELAX Core. But nowadays some of the stuff
we have is schema language neutral.
%package javadoc
Summary: Public interfaces useful for applications to support RELAX Core
License: MIT
Group: Productivity/Publishing/XML
%description javadoc
The ISO RELAX project is started to host the public interfaces useful
for applications to support RELAX Core. But nowadays some of the stuff
we have is schema language neutral.
%prep
%setup -T -c -n %{name}-%{version}
unzip -q %{SOURCE0}
mkdir src
(cd src; unzip -q ../src.zip)
rm -f src.zip
cp %{SOURCE1} build.xml
mkdir test
cp %{SOURCE2} test
cp %{SOURCE3} test
chmod -R go=u-w *
find . -name "*.jar" -exec rm -f {} \;
rm -rf src/jp/gr/xml/relax/swift
%patch0 -b .sav0
%build
export CLASSPATH=$(build-classpath \
xerces-j2 \
xml-commons-apis \
)
%if %{with_tests}
CLASSPATH=$CLASSPATH:$(build-classpath xercesjarv)
ln -s $(find-jar xercesjarv) xercesjarv.jar
%endif
ant -Dant.build.javac.source=1.5 -Dant.build.javac.target=1.5 \
-Dbuild.sysclasspath=only release
%if %{with_tests}
CLASSPATH=isorelax.jar:$CLASSPATH
ant -Dant.build.javac.source=1.5 -Dant.build.javac.target=1.5 \
-Dbuild.sysclasspath=first ant-task-test
%endif
%install
# jars
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
install -m 644 %{name}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
# javadoc
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -pr apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%doc COPYING.txt
%{_javadir}/*
%files javadoc
%defattr(-,root,root)
%{_javadocdir}/%{name}-%{version}
%doc %{_javadocdir}/%{name}
%changelog