]> git.pld-linux.org Git - projects/template-specs.git/blob - java.spec
- allow using alternate JDKs with %use_jdk and %buildrequires_jdk
[projects/template-specs.git] / java.spec
1 #
2 # Conditional build:
3 %bcond_without  javadoc         # don't build javadoc
4 %bcond_without  source          # don't build source jar
5 %bcond_without  tests           # don't build and run tests
6
7 %include        /usr/lib/rpm/macros.java
8
9 # To force building with specific JDK implementation
10 # without replacing currently installed /usr/bin/javac, etc.
11 #%%define       use_jdk java-gcj-compat
12
13 # Name without java- prefix. If it is application, not a library,
14 # just do s/srcname/name/g
15 %define         srcname         -
16 Summary:        -
17 Summary(pl.UTF-8):      -
18 Name:           -
19 Version:        -
20 Release:        0.1
21 License:        -
22 # for random java packages (applications?)
23 #Group:         Development/Languages/Java
24 # for java-XXX packages
25 Group:          Libraries/Java
26 Source0:        -
27 # Source0-md5:  -
28 URL:            -
29 %if %(locale -a | grep -q '^en_US$'; echo $?)
30 BuildRequires:  glibc-localedb-all
31 %endif
32 # allows building with alternate JDK
33 %buildrequires_jdk
34 BuildRequires:  jpackage-utils
35 BuildRequires:  rpm-javaprov
36 BuildRequires:  rpmbuild(macros) >= 1.300
37 # for %%undos macro
38 BuildRequires:  rpmbuild(macros) >= 1.553
39 %if %{with source}
40 BuildRequires:  rpmbuild(macros) >= 1.555
41 %endif
42 BuildRequires:  sed >= 4.0
43 # for %{_javadir}
44 Requires:       jpackage-utils
45 BuildArch:      noarch
46 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47
48 %description
49
50 %description -l pl.UTF-8
51
52 %package doc
53 Summary:        Manual for %{srcname}
54 Summary(fr.UTF-8):      Documentation pour %{srcname}
55 Summary(it.UTF-8):      Documentazione di %{srcname}
56 Summary(pl.UTF-8):      Podręcznik dla %{srcname}
57 Group:          Documentation
58
59 %description doc
60 Documentation for %{srcname}.
61
62 %description doc -l fr.UTF-8
63 Documentation pour %{srcname}.
64
65 %description doc -l it.UTF-8
66 Documentazione di %{srcname}.
67
68 %description doc -l pl.UTF-8
69 Dokumentacja do %{srcname}.
70
71 %package javadoc
72 Summary:        Online manual for %{srcname}
73 Summary(pl.UTF-8):      Dokumentacja online do %{srcname}
74 Group:          Documentation
75 Requires:       jpackage-utils
76
77 %description javadoc
78 Documentation for %{srcname}.
79
80 %description javadoc -l pl.UTF-8
81 Dokumentacja do %{srcname}.
82
83 %description javadoc -l fr.UTF-8
84 Javadoc pour %{srcname}.
85
86 %package demo
87 Summary:        Demo for %{srcname}
88 Summary(pl.UTF-8):      Pliki demonstracyjne dla pakietu %{srcname}
89 Group:          Documentation
90 Requires:       %{name} = %{epoch}:%{version}-%{release}
91
92 %description demo
93 Demonstrations and samples for %{srcname}.
94
95 %description demo -l pl.UTF-8
96 Pliki demonstracyjne i przykłady dla pakietu %{srcname}.
97
98 %package manual
99 Summary:        Tutorial for %{srcname}
100 Group:          Documentation
101
102 %description manual
103 Manual for %{srcname}.
104
105 %package source
106 Summary:        Source of %{srcname}
107 Summary(pl.UTF-8):      Źródła %{srcname}
108 Group:          Documentation
109 Requires:       jpackage-utils >= 1.555
110
111 %description source
112 Source of %{srcname}.
113
114 %description source -l pl.UTF-8
115 Źródła %{srcname}.
116
117 %prep
118 %setup -q -n %{srcname}-%{version}
119 #%%undos build.xml
120
121 %build
122 export JAVA_HOME="%{java_home}"
123
124 required_jars="jaxp_parser_impl"
125 CLASSPATH=$(build-classpath $required_jars)
126 export CLASSPATH
127
128 export LC_ALL=en_US # source code not US-ASCII
129
130 %ant
131
132 %{__make}
133
134 cd src
135 %javac -cp $CLASSPATH $(find -name '*.java')
136 %jar cf ../%{srcname}.jar $(find -name '*.class')
137 %if %{with source}
138 %jar cf ../%{srcname}.src.jar $(find -name '*.java')
139 %endif
140 cd ..
141
142 %install
143 rm -rf $RPM_BUILD_ROOT
144 install -d $RPM_BUILD_ROOT%{_javadir}
145
146 # jars
147 cp -a dist/%{srcname}.jar $RPM_BUILD_ROOT%{_javadir}/%{srcname}-%{version}.jar
148 ln -s %{srcname}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{srcname}.jar
149
150 # for jakarta packages:
151 for a in dist/*.jar; do
152         jar=${a##*/}
153         cp -a dist/$jar $RPM_BUILD_ROOT%{_javadir}/${jar%%.jar}-%{version}.jar
154         ln -s ${jar%%.jar}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/$jar
155 done
156
157 # javadoc
158 %if %{with javadoc}
159 install -d $RPM_BUILD_ROOT%{_javadocdir}/%{srcname}-%{version}
160 cp -a dist/docs/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{srcname}-%{version}
161 ln -s %{srcname}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{srcname} # ghost symlink
162 %endif
163
164 # demo
165 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
166 cp -a demo/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
167
168 # source
169 install -d $RPM_BUILD_ROOT%{_javasrcdir}
170 cp -a %{srcname}.src.jar $RPM_BUILD_ROOT%{_javasrcdir}/%{srcname}.src.jar
171
172 %clean
173 rm -rf $RPM_BUILD_ROOT
174
175 %post javadoc
176 ln -nfs %{srcname}-%{version} %{_javadocdir}/%{srcname}
177
178 %files
179 %defattr(644,root,root,755)
180 %{_javadir}/%{srcname}.jar
181 %{_javadir}/%{srcname}-%{version}.jar
182
183 %files doc
184 %defattr(644,root,root,755)
185 %doc docs/*
186
187 %if 0
188 %files demo
189 %defattr(644,root,root,755)
190 %{_examplesdir}/%{name}-%{version}
191 %endif
192
193 %if %{with javadoc}
194 %files javadoc
195 %defattr(644,root,root,755)
196 %{_javadocdir}/%{srcname}-%{version}
197 %ghost %{_javadocdir}/%{srcname}
198 %endif
199
200 %if %{with source}
201 %files source
202 %defattr(644,root,root,755)
203 %{_javasrcdir}/%{srcname}.src.jar
204 %endif
This page took 0.065854 seconds and 4 git commands to generate.