SHA256
1
0
forked from pool/jing-trang
jing-trang/jing-trang.spec

169 lines
5.6 KiB
RPMSpec
Raw Normal View History

#
# spec file for package jing-trang
#
# Copyright (c) 2017 SUSE LINUX 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/
#
Name: jing-trang
Version: 20151127
Release: 0
Summary: Schema validation and conversion based on RELAX NG
License: BSD
URL: https://github.com/relaxng/jing-trang
Source0: https://github.com/relaxng/jing-trang/archive/V%{version}.tar.gz
Patch0: 0001-Various-build-fixes.patch
Patch1: 0002-Use-Xalan-instead-of-Saxon-for-the-build-655601.patch
Patch2: %{name}-20091111-datatype-sample.patch
Patch3: %{name}-%{version}-notestng.patch
BuildRequires: bsh
BuildRequires: isorelax
BuildRequires: java-devel >= 1.6
BuildRequires: javacc
BuildRequires: jpackage-utils
BuildRequires: qdox unzip
BuildRequires: relaxngDatatype >= 2011.1
BuildRequires: saxon9
BuildRequires: xalan-j2
BuildRequires: xerces-j2-xml-apis
BuildRequires: xml-apis >= 2.0
BuildRequires: xml-commons-resolver
#!BuildIgnore: xml-commons-jaxp-1.3-apis
BuildArch: noarch
BuildRequires: ant >= 1.8.2
%description
%{summary}.
%package -n jing
Summary: RELAX NG validator in Java
Group: Productivity/Text/Utilities
Requires: java-headless
Requires: jpackage-utils
Requires: relaxngDatatype
Requires: xerces-j2
Requires: xml-commons-resolver
%description -n jing
Jing is a RELAX NG validator written in Java. It implements the RELAX
NG 1.0 Specification, RELAX NG Compact Syntax, and parts of RELAX NG
DTD Compatibility, specifically checking of ID/IDREF/IDREFS. It also
has experimental support for schema languages other than RELAX NG;
specifically W3C XML Schema, Schematron 1.5, and Namespace Routing
Language.
%package -n jing-javadoc
Summary: Javadoc API documentation for Jing
Group: Documentation/HTML
%description -n jing-javadoc
Javadoc API documentation for Jing.
%package -n trang
Summary: Multi-format schema converter based on RELAX NG
Group: Productivity/Text/Utilities
Requires: java-headless
Requires: jpackage-utils
Requires: relaxngDatatype
Requires: xerces-j2
Requires: xml-commons-resolver
%description -n trang
Trang converts between different schema languages for XML. It
supports the following languages: RELAX NG (both XML and compact
syntax), XML 1.0 DTDs, W3C XML Schema. A schema written in any of the
supported schema languages can be converted into any of the other
supported schema languages, except that W3C XML Schema is supported
for output only, not for input.
%package -n dtdinst
Summary: XML DTD to XML instance format converter
Group: Productivity/Text/Utilities
Requires: java-headless >= 1.5.0
Requires: jpackage-utils
%description -n dtdinst
DTDinst is a program for converting XML DTDs into an XML instance
format.
%prep
%setup -q
rm -r gcj mod/datatype/src/main/org $(find . -name "*.jar")
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
sed -i -e 's/\r//g' lib/isorelax.copying.txt
find . -name "OldSaxon*.java" -delete # No "old" saxon available in Fedora
sed -i -e 's|"\(copying\.txt\)"|"%{_licensedir}/dtdinst/\1"|' \
dtdinst/index.html
sed -i -e 's|"\(copying\.txt\)"|"%{_licensedir}/trang/\1"|' \
trang/doc/trang.html trang/doc/trang-manual.html
%build
CLASSPATH=$(build-classpath \
xalan-j2 xalan-j2-serializer xerces-j2 xml-commons-apis saxon9 relaxngDatatype) \
%{ant} \
-Dlib.dir=%{_javadir} -Dbuild.sysclasspath=last \
-Dant.build.javac.source=1.6 -Dant.build.javac.target=1.6 \
dist
%install
rm -rf %{buildroot} *-%{version}
install -dm 755 $RPM_BUILD_ROOT{%{_javadir},%{_javadocdir}}
unzip build/dist/jing-%{version}.zip
install -Dpm 644 jing-%{version}/bin/jing.jar %{buildroot}%{_javadir}
mv jing-%{version}/doc/api %{buildroot}%{_javadocdir}/jing
rm -f jing-%{version}/sample/datatype/datatype-sample.jar
%jpackage_script com.thaiopensource.relaxng.util.Driver "" "" jing:relaxngDatatype:xml-commons-resolver:xerces-j2 jing true
mkdir -p jing-%{version}/_licenses
mv jing-%{version}/doc/*copying.* jing-%{version}/_licenses
unzip build/dist/trang-%{version}.zip
install -pm 644 trang-%{version}/trang.jar %{buildroot}%{_javadir}
%jpackage_script com.thaiopensource.relaxng.translate.Driver "" "" trang:relaxngDatatype:xml-commons-resolver:xerces-j2 trang true
unzip build/dist/dtdinst-%{version}.zip
install -pm 644 dtdinst-%{version}/dtdinst.jar %{buildroot}%{_javadir}
%jpackage_script com.thaiopensource.xml.dtd.app.Driver "" "" dtdinst dtdinst true
%files -n jing
%license jing-%{version}/_licenses/*
%doc jing-%{version}/{readme.html,doc,sample}
%{_bindir}/jing
%{_javadir}/jing.jar
%files -n jing-javadoc
%license jing-%{version}/_licenses/*
%{_javadocdir}/jing/
%files -n trang
%license trang-%{version}/copying.txt
%doc trang-%{version}/*.html
%{_bindir}/trang
%{_javadir}/trang.jar
%files -n dtdinst
%license dtdinst-%{version}/copying.txt
%doc dtdinst-%{version}/*.{html,rng,xsl}
%doc dtdinst-%{version}/{dtdinst.rnc.txt,teixml.dtd.txt,example}
%{_bindir}/dtdinst
%{_javadir}/dtdinst.jar
%changelog