/[packages]/cauldron/gettext/current/SPECS/gettext.spec
ViewVC logotype

Contents of /cauldron/gettext/current/SPECS/gettext.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 634948 - (show annotations) (download)
Mon Jun 9 12:45:41 2014 UTC (9 years, 10 months ago) by tv
File size: 9139 byte(s)
be less strict when checking translation catalogs so that we do not break other package builds
1 %define major 8
2 %define intllibname %mklibname intl %{major}
3 %define misclibname %mklibname gettextmisc
4
5 %define bootstrap 0
6 %{?_without_bootstrap: %global bootstrap 0}
7 %{?_with_bootstrap: %global bootstrap 1}
8
9 %define do_check 1
10 %{?_without_check: %global do_check 0}
11
12 %define enable_java 0
13 %{?_without_java: %global enable_java 0}
14
15 %define enable_csharp 0
16 %{?_with_csharp: %global enable_csharp 1}
17
18 Name: gettext
19 Summary: GNU libraries and utilities for producing multi-lingual messages
20 Version: 0.19
21 Release: %mkrel 2
22 License: GPLv3+ and LGPLv2+
23 Group: System/Internationalization
24 URL: http://www.gnu.org/software/gettext/
25 Source: ftp://ftp.gnu.org/pub/gnu/%{name}/%{name}-%{version}.tar.gz
26 Source1: ftp://ftp.gnu.org/pub/gnu/%{name}/%{name}-%{version}.tar.gz.sig
27 Source2: po-mode-init.el
28 #Patch9: gettext-0.18.2.1-linkage.patch
29 Patch10: libcroco-0.6.2-format-strings.patch
30 Patch11: gettext-no-strict-header-check.patch
31 # (Abel) we pick mono here, though pnet can be used as well.
32 %if %enable_csharp
33 BuildRequires: mono
34 %endif
35 %if %enable_java
36 BuildRequires: eclipse-ecj
37 BuildRequires: gcc-java
38 BuildRequires: gcj-tools
39 BuildRequires: fastjar
40 %endif
41 BuildRequires: automake
42 BuildRequires: bison
43 BuildRequires: flex
44 BuildRequires: texinfo
45 BuildRequires: libgomp-devel
46 # not necessary best way to do it but without gettext-devel
47 # the bootstrap game is lost
48 %if !%bootstrap
49 BuildRequires: emacs-bin
50 BuildRequires: libcroco0.6-devel
51 %endif
52 BuildRequires: libunistring-devel
53 BuildRequires: ncurses-devel
54 BuildRequires: libxml2-devel
55 BuildRequires: acl-devel
56 # test suite
57 BuildRequires: locales-fa
58 BuildRequires: locales-fr
59 BuildRequires: locales-ja
60 BuildRequires: locales-zh
61
62 Requires: %{name}-base = %{version}
63 Requires: %{misclibname} = %{version}
64 # xgettext will dlopen() it when extracting strings from glade files
65 Requires: %mklibname expat 1
66 Requires(post): info-install
67 Requires(preun): info-install
68
69 %description
70 The GNU gettext package provides a set of tools and documentation for producing
71 multi-lingual messages in programs. Tools include a set of conventions about
72 how programs should be written to support message catalogs, a directory and
73 file naming organization for the message catalogs, a runtime library which
74 supports the retrieval of translated messages, and stand-alone programs for
75 handling the translatable and the already translated strings. Gettext provides
76 an easy to use library and tools for creating, using, and modifying natural
77 language catalogs and is a powerful and simple method for internationalizing
78 programs.
79
80 If you would like to internationalize or incorporate multi-lingual messages
81 into programs that you're developing, you should install gettext.
82
83 Build Option:
84 --with csharp Enables C# support in gettext
85 --without java Disables Java support in gettext
86
87 %package -n %{intllibname}
88 Summary: Basic libintl library for internationalization
89 Group: System/Libraries
90 License: LGPL
91 Requires(pre): filesystem >= 2.1.9-18
92 Provides: libintl = %{version}-%{release}
93
94 %description -n %{intllibname}
95 This package contains the libintl library, which is important for
96 system internationalization.
97
98 %package -n %{misclibname}
99 Summary: Other %{name} libraries needed by %{name} utilities
100 Group: System/Libraries
101 License: LGPL
102 Provides: libgettextmisc
103
104 %description -n %{misclibname}
105 This package contains all other libraries used by %{name} utilities,
106 and are not very widely used outside %{name}.
107
108 %package devel
109 Summary: Development files for %{name}
110 Group: Development/C
111 # autopoint is GPLv3+
112 # libasprintf is LGPLv2+
113 # libgettextpo is GPLv3+
114 License: LGPLv2+ and GPLv3+
115 Requires: %{name} = %{version}
116 # fwang: autopoint requires cvs to work
117 %if !%bootstrap
118 Requires: cvs
119 %endif
120 Requires(post): info-install
121 Requires(preun): info-install
122
123 %description devel
124 This package contains all development related files necessary for
125 developing or compiling applications/libraries that needs
126 internationalization capability. You also need this package if you
127 want to add gettext support for your project.
128
129 %package base
130 Summary: Basic binary for showing translation of textual messages
131 Group: System/Internationalization
132 Requires(pre): filesystem >= 2.1.9-18
133 Requires: %{intllibname} = %{version}
134
135 %description base
136 This package contains the basic binary from %{name}. It is splitted from
137 %{name} because initscript need it to show translated boot messages.
138
139 %if %enable_java
140 %package java
141 Summary: Java binding for GNU gettext
142 Group: System/Internationalization
143 Requires: %{name} = %{version}
144
145 %description java
146 This package contains class file that implements the main GNU libintl
147 functions in Java. This allows compiling GNU gettext message catalogs
148 into Java ResourceBundle classes.
149 %endif
150
151 %if %enable_csharp
152 %package csharp
153 Summary: C# binding for GNU gettext
154 Group: System/Internationalization
155 Requires: mono
156
157 %description csharp
158 This package contains class file that implements the main GNU libintl
159 functions in C#. This allows compiling GNU gettext message catalogs
160 into C# dll or resource files.
161 %endif
162
163 %prep
164 %setup -q
165 %apply_patches
166
167 %build
168
169 %if %enable_java
170 export GCJ="%{_bindir}/gcj"
171 export JAVAC="%{_bindir}/gcj -C"
172 export JAR="%{_bindir}/fastjar"
173 %endif
174
175 for i in `find -name configure|sort`
176 do
177 pushd `dirname $i`
178 %configure2_5x \
179 --enable-shared \
180 --disable-static \
181 --disable-rpath \
182 --with-included-gettext \
183 %if %enable_csharp
184 --enable-csharp=mono \
185 %else
186 --disable-csharp \
187 %endif
188 %if ! %enable_java
189 --disable-java \
190 %endif
191
192 popd
193 done
194
195 %make
196
197 %if %do_check
198 %check
199 export JAVAC=ecj
200 LC_ALL=C make check
201 %endif
202
203 %install
204 rm -rf $RPM_BUILD_ROOT
205 %makeinstall_std
206
207 # remove unwanted files
208 rm -f $RPM_BUILD_ROOT%{_includedir}/libintl.h \
209 $RPM_BUILD_ROOT%{_datadir}/locale/locale.alias
210 rm -f gettext-runtime/intl-java/javadoc2/package-list
211
212 install -D -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/emacs/site-start.d/%{name}.el
213
214 # remove non-standard lc directories
215 for i in en@boldquot en@quot ; do rm -rf $RPM_BUILD_ROOT/%{_datadir}/locale/$i; done
216
217 # move installed doc back to %%doc
218 rm -rf htmldoc examples
219 mkdir htmldoc
220 for i in gettext-runtime/man/*.html; do
221 rm -f $RPM_BUILD_ROOT%{_datadir}/doc/gettext/`basename $i`
222 done
223 rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/gettext/javadoc*
224 mv $RPM_BUILD_ROOT%{_datadir}/doc/gettext/* $RPM_BUILD_ROOT/%{_datadir}/doc/libasprintf/* htmldoc
225 mv htmldoc/examples examples
226
227 # remove java stuff, otherwise rpm complains
228 %if !%enable_java
229 rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/gnu.gettext.* \
230 $RPM_BUILD_ROOT%{_datadir}/%{name}/*.jar
231 %endif
232
233 # don't ship .la
234 find %{buildroot} -name '*.la' -exec rm -f {} \;
235
236 %find_lang %{name} --all-name
237
238 %clean
239 rm -rf $RPM_BUILD_ROOT
240
241 %post
242 %_install_info %{name}.info
243
244 %preun
245 %_remove_install_info %{name}.info
246
247 %post devel
248 %_install_info autosprintf.info
249
250 %preun devel
251 %_remove_install_info autosprintf.info
252
253 %files
254 %defattr(-,root,root)
255 %doc AUTHORS README COPYING gettext-runtime/ABOUT-NLS gettext-runtime/BUGS NEWS THANKS
256 %config(noreplace) %{_sysconfdir}/emacs/site-start.d/*.el
257 %{_bindir}/envsubst
258 %{_bindir}/gettext.sh
259 %{_bindir}/msg*
260 %{_bindir}/recode-sr-latin
261 %{_bindir}/xgettext
262 %dir %{_datadir}/gettext
263 %{_datadir}/%{name}/msgunfmt.tcl
264 %{_datadir}/%{name}/projects
265 %{_datadir}/%{name}/javaversion.class
266 %{_datadir}/%{name}/styles
267 %dir %{_libdir}/%{name}
268 %{_libdir}/%{name}/hostname
269 %{_libdir}/%{name}/project-id
270 %{_libdir}/%{name}/urlget
271 %{_libdir}/%{name}/user-email
272 %if %enable_java
273 %exclude %{_libdir}/%{name}/gnu.gettext.*
274 %endif
275 %{_infodir}/gettext.*
276 %if !%bootstrap
277 %{_datadir}/emacs/site-lisp/*.el*
278 %endif
279 %{_mandir}/man1/envsubst.*
280 %{_mandir}/man1/msg*
281 %{_mandir}/man1/xgettext.*
282 %{_mandir}/man1/recode-sr-latin.*
283
284 %files base -f %{name}.lang
285 %defattr(-,root,root)
286 %doc gettext-runtime/man/*.1.html
287 %{_bindir}/gettext
288 %{_bindir}/ngettext
289 %{_mandir}/man1/gettext*
290 %{_mandir}/man1/ngettext*
291
292 %files -n %{intllibname}
293 %defattr(-,root,root)
294 %doc gettext-runtime/intl/COPYING*
295 %{_libdir}/libintl.so.*
296
297 %files -n %{misclibname}
298 %defattr(-,root,root)
299 %doc gettext-runtime/intl/COPYING*
300 %{_libdir}/libgettext*-*.*.so
301 %{_libdir}/libgettext*.so.*
302 %{_libdir}/libasprintf*.so.*
303
304 %files devel
305 %defattr(-,root,root)
306 %doc gettext-runtime/man/*.3.html examples htmldoc
307 %{_bindir}/autopoint
308 %{_bindir}/gettextize
309 %{_datadir}/%{name}/ABOUT-NLS
310 %{_datadir}/%{name}/archive*
311 %{_datadir}/%{name}/config.rpath
312 %{_datadir}/%{name}/*.h
313 %{_datadir}/%{name}/intl
314 %{_datadir}/%{name}/po
315 %{_datadir}/aclocal/*
316 %{_includedir}/*
317 %{_infodir}/autosprintf*
318 # "lib*.so" cannot be used (it should be 'lib[^\.]*\.so' regexp in fact
319 # but using regexp is not possible here; so we list all files manually
320 %{_libdir}/libasprintf.so
321 %{_libdir}/libgettextlib.so
322 %{_libdir}/libgettextpo.so
323 %{_libdir}/libgettextsrc.so
324 %{_libdir}/libintl.so
325 %{_mandir}/man1/autopoint.*
326 %{_mandir}/man3/*
327
328 %if %enable_java
329 %files java
330 %defattr(-,root,root)
331 %doc gettext-runtime/intl-java/javadoc*
332 %{_libdir}/%{name}/gnu.gettext.*
333 %{_datadir}/%{name}/*.jar
334 %endif
335
336 %if %enable_csharp
337 %files csharp
338 %defattr(-,root,root)
339 %doc gettext-runtime/intl-csharp/csharpdoc/*
340 %{_libdir}/*.dll
341 %{_libdir}/gettext/*.exe
342 %endif

  ViewVC Help
Powered by ViewVC 1.1.30