]> git.pld-linux.org Git - SPECS.git/blob - java-jaxme.spec
SPECS updated Wed 28 Jul 14:48:01 CEST 2021
[SPECS.git] / java-jaxme.spec
1 # TODO
2 # - fix javadoc
3 #   java.lang.ClassNotFoundException: org.apache.tools.ant.taskdefs.optional.TraXLiaison
4 #
5 # Conditional build:
6 %bcond_with     javadoc         # don't build javadoc
7
8 %define srcname jaxme
9 Summary:        Open source implementation of JAXB
10 Name:           java-%{srcname}
11 Version:        0.5.1
12 Release:        1
13 License:        ASL 2.0
14 Group:          Development/Languages/Java
15 URL:            http://ws.apache.org/jaxme/
16 # svn export http://svn.apache.org/repos/asf/webservices/jaxme/tags/R0_5_1/ ws-jaxme-0.5.1
17 # tar czf ws-jaxme-0.5.1-src.tar.gz ws-jaxme
18 Source0:        ws-jaxme-%{version}-src.tar.gz
19 # Source0-md5:        9709c7fb68880d494c3c347c3faa74c8
20 Source1:        bind-MANIFEST.MF
21 # generated docs with forrest-0.5.1
22 Patch0:         docs_xml.patch
23 Patch1:         catalog.patch
24 Patch2:         system-dtd.patch
25 Patch3:         jdk16.patch
26 Patch4:         ant-scripts.patch
27 Patch5:         use-commons-codec.patch
28 BuildRequires:  ant >= 1.6
29 BuildRequires:  ant-apache-resolver
30 BuildRequires:  ant-nodeps >= 1.6
31 BuildRequires:  antlr
32 BuildRequires:  docbook-dtd45-xml
33 BuildRequires:  docbook-style-xsl
34 BuildRequires:  java(jaxp_parser_impl)
35 BuildRequires:  java(jaxp_transform_impl)
36 BuildRequires:  java-commons-codec
37 BuildRequires:  java-hsqldb
38 BuildRequires:  java-junit
39 BuildRequires:  java-log4j
40 BuildRequires:  java-xalan
41 BuildRequires:  java-xml-commons
42 BuildRequires:  java-xml-commons-resolver
43 BuildRequires:  java-xmldb
44 BuildRequires:  java-xmldb-sdk
45 BuildRequires:  jdk >= 1.6
46 BuildRequires:  jpackage-utils >= 1.6
47 BuildRequires:  rpmbuild(macros) >= 1.300
48 %if %(locale -a | grep -q '^en_US$'; echo $?)
49 BuildRequires:  glibc-localedb-all
50 %endif
51 Requires:       antlr
52 Requires:       java(jaxp_parser_impl)
53 Requires:       java(jaxp_transform_impl)
54 Requires:       java-commons-codec
55 Requires:       java-hsqldb
56 Requires:       java-junit
57 Requires:       java-log4j
58 Requires:       java-xalan
59 Requires:       java-xml-commons
60 Requires:       java-xmldb
61 Requires:       java-xmldb-sdk
62 Requires:       jpackage-utils
63 Obsoletes:      ws-jaxme
64 BuildArch:      noarch
65 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
66
67 %description
68 A Java/XML binding compiler takes as input a schema description (in
69 most cases an XML schema, but it may be a DTD, a RelaxNG schema, a
70 Java class inspected via reflection, or a database schema). The output
71 is a set of Java classes:
72 - A Java bean class matching the schema description. (If the schema
73   was obtained via Java reflection, the original Java bean class.)
74 - Read a conforming XML document and convert it into the equivalent
75   Java bean.
76 - Vice versa, marshal the Java bean back into the original XML
77   document.
78
79 %package        javadoc
80 Summary:        Javadoc for %{name}
81 Group:          Documentation
82 Requires:       jpackage-utils
83
84 %description    javadoc
85 %{summary}.
86
87 %package        manual
88 Summary:        Documents for %{name}
89 Group:          Documentation
90
91 %description    manual
92 %{summary}.
93
94 %prep
95 %setup -q -n ws-%{srcname}
96 find -name "*.jar" | xargs rm -v
97
98 %patch0 -p0
99 %patch1 -p0
100 %patch2 -p1
101 %patch3 -p1
102 %patch4 -p0
103 %patch5 -p0
104
105 DOCBOOKX_DTD=$(%{_bindir}/xmlcatalog /usr/share/sgml/docbook/xml-dtd-4.5/catalog.xml "-//OASIS//DTD DocBook XML V4.5//EN")
106 %{__sed} -i -e 's|@DOCBOOKX_DTD@|$DOCBOOKX_DTD|' src/documentation/manual/jaxme2.xml
107
108 %build
109 # source code not US-ASCII
110 export LC_ALL=en_US
111
112 export OPT_JAR_LIST="xalan-j2 ant/ant-nodeps xalan-j2-serializer xml-commons-resolver ant/ant-apache-resolver"
113 # FIXME: xml-commons-jaxp-1.3-apis we can't solve
114 CLASSPATH=$(build-classpath antlr hsqldb commons-codec junit log4j xmldb xerces-j2)
115
116 %ant all %{?with_javadoc:Docs.all} \
117         -Dbuild.sysclasspath=first \
118         -Ddocbook.home=%{_datadir}/sgml/docbook \
119         -Ddocbookxsl.home=%{_datadir}/sgml/docbook/xsl-stylesheets
120
121 mkdir -p META-INF
122 cp -p %{SOURCE1} META-INF/MANIFEST.MF
123 touch META-INF/MANIFEST.MF
124 zip -u dist/jaxmeapi-%{version}.jar META-INF/MANIFEST.MF
125
126 %if %{with javadoc}
127 rm -rf apidocs
128 mv build/docs/src/documentation/content/apidocs .
129 %endif
130
131 %install
132 rm -rf $RPM_BUILD_ROOT
133 install -d $RPM_BUILD_ROOT%{_javadir}/%{srcname}
134
135 for jar in dist/*.jar; do
136         cp -p $jar $RPM_BUILD_ROOT%{_javadir}/%{srcname}
137 done
138
139 # create unversioned symlinks
140 for a in $RPM_BUILD_ROOT%{_javadir}/%{srcname}/*.jar; do
141         jar=${a##*/}
142         ln -s $jar $RPM_BUILD_ROOT%{_javadir}/%{srcname}/${jar%%-%{version}.jar}.jar
143 done
144
145 # javadoc
146 %if %{with javadoc}
147 install -d $RPM_BUILD_ROOT%{_javadocdir}/%{srcname}-%{version}
148 cp -a apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{srcname}-%{version}
149 ln -s %{srcname}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{srcname} # ghost symlink
150 %endif
151
152 %clean
153 rm -rf $RPM_BUILD_ROOT
154
155 %files
156 %defattr(644,root,root,755)
157 %doc LICENSE
158 %{_javadir}/%{srcname}
159
160 %if %{with javadoc}
161 %files javadoc
162 %defattr(644,root,root,755)
163 %doc %{_javadocdir}/%{name}-%{version}
164 %doc %{_javadocdir}/%{name}
165
166 %files manual
167 %defattr(644,root,root,755)
168 %doc build/docs/src/documentation/content/*
169 %endif
This page took 0.057718 seconds and 3 git commands to generate.