/[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 585044 - (show annotations) (download)
Fri Feb 7 10:59:42 2014 UTC (10 years, 2 months ago) by fwang
File size: 9110 byte(s)
0.18.3.2
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.18.3.2
21 Release: %mkrel 1
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 # (Abel) we pick mono here, though pnet can be used as well.
31 %if %enable_csharp
32 BuildRequires: mono
33 %endif
34 %if %enable_java
35 BuildRequires: eclipse-ecj
36 BuildRequires: gcc-java
37 BuildRequires: gcj-tools
38 BuildRequires: fastjar
39 %endif
40 BuildRequires: automake
41 BuildRequires: bison
42 BuildRequires: flex
43 BuildRequires: texinfo
44 BuildRequires: libgomp-devel
45 # not necessary best way to do it but without gettext-devel
46 # the bootstrap game is lost
47 %if !%bootstrap
48 BuildRequires: emacs-bin
49 BuildRequires: libcroco0.6-devel
50 %endif
51 BuildRequires: libunistring-devel
52 BuildRequires: ncurses-devel
53 BuildRequires: libxml2-devel
54 BuildRequires: acl-devel
55 # test suite
56 BuildRequires: locales-fa
57 BuildRequires: locales-fr
58 BuildRequires: locales-ja
59 BuildRequires: locales-zh
60
61 Requires: %{name}-base = %{version}
62 Requires: %{misclibname} = %{version}
63 # xgettext will dlopen() it when extracting strings from glade files
64 Requires: %mklibname expat 1
65 Requires(post): info-install
66 Requires(preun): info-install
67
68 %description
69 The GNU gettext package provides a set of tools and documentation for producing
70 multi-lingual messages in programs. Tools include a set of conventions about
71 how programs should be written to support message catalogs, a directory and
72 file naming organization for the message catalogs, a runtime library which
73 supports the retrieval of translated messages, and stand-alone programs for
74 handling the translatable and the already translated strings. Gettext provides
75 an easy to use library and tools for creating, using, and modifying natural
76 language catalogs and is a powerful and simple method for internationalizing
77 programs.
78
79 If you would like to internationalize or incorporate multi-lingual messages
80 into programs that you're developing, you should install gettext.
81
82 Build Option:
83 --with csharp Enables C# support in gettext
84 --without java Disables Java support in gettext
85
86 %package -n %{intllibname}
87 Summary: Basic libintl library for internationalization
88 Group: System/Libraries
89 License: LGPL
90 Requires(pre): filesystem >= 2.1.9-18
91 Provides: libintl = %{version}-%{release}
92
93 %description -n %{intllibname}
94 This package contains the libintl library, which is important for
95 system internationalization.
96
97 %package -n %{misclibname}
98 Summary: Other %{name} libraries needed by %{name} utilities
99 Group: System/Libraries
100 License: LGPL
101 Provides: libgettextmisc
102
103 %description -n %{misclibname}
104 This package contains all other libraries used by %{name} utilities,
105 and are not very widely used outside %{name}.
106
107 %package devel
108 Summary: Development files for %{name}
109 Group: Development/C
110 # autopoint is GPLv3+
111 # libasprintf is LGPLv2+
112 # libgettextpo is GPLv3+
113 License: LGPLv2+ and GPLv3+
114 Requires: %{name} = %{version}
115 # fwang: autopoint requires cvs to work
116 %if !%bootstrap
117 Requires: cvs
118 %endif
119 Requires(post): info-install
120 Requires(preun): info-install
121
122 %description devel
123 This package contains all development related files necessary for
124 developing or compiling applications/libraries that needs
125 internationalization capability. You also need this package if you
126 want to add gettext support for your project.
127
128 %package base
129 Summary: Basic binary for showing translation of textual messages
130 Group: System/Internationalization
131 Requires(pre): filesystem >= 2.1.9-18
132 Requires: %{intllibname} = %{version}
133
134 %description base
135 This package contains the basic binary from %{name}. It is splitted from
136 %{name} because initscript need it to show translated boot messages.
137
138 %if %enable_java
139 %package java
140 Summary: Java binding for GNU gettext
141 Group: System/Internationalization
142 Requires: %{name} = %{version}
143
144 %description java
145 This package contains class file that implements the main GNU libintl
146 functions in Java. This allows compiling GNU gettext message catalogs
147 into Java ResourceBundle classes.
148 %endif
149
150 %if %enable_csharp
151 %package csharp
152 Summary: C# binding for GNU gettext
153 Group: System/Internationalization
154 Requires: mono
155
156 %description csharp
157 This package contains class file that implements the main GNU libintl
158 functions in C#. This allows compiling GNU gettext message catalogs
159 into C# dll or resource files.
160 %endif
161
162 %prep
163 %setup -q
164 %apply_patches
165
166 %build
167
168 %if %enable_java
169 export GCJ="%{_bindir}/gcj"
170 export JAVAC="%{_bindir}/gcj -C"
171 export JAR="%{_bindir}/fastjar"
172 %endif
173
174 autoreconf -fi
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