/[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 661054 - (show annotations) (download)
Fri Aug 8 12:16:29 2014 UTC (9 years, 1 month ago) by wally
File size: 8935 byte(s)
- add lib major check to file list (SILENT)
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.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: pkgconfig(libcroco-0.6)
50 %endif
51 BuildRequires: libunistring-devel
52 BuildRequires: pkgconfig(ncurses)
53 BuildRequires: pkgconfig(libxml-2.0)
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 for i in `find -name configure|sort`
175 do
176 pushd `dirname $i`
177 %configure2_5x \
178 --enable-shared \
179 --disable-static \
180 --disable-rpath \
181 --with-included-gettext \
182 %if %enable_csharp
183 --enable-csharp=mono \
184 %else
185 --disable-csharp \
186 %endif
187 %if ! %enable_java
188 --disable-java \
189 %endif
190
191 popd
192 done
193
194 %make
195
196 %if %do_check
197 %check
198 export JAVAC=ecj
199 LC_ALL=C make check
200 %endif
201
202 %install
203 %makeinstall_std
204
205 # remove unwanted files
206 rm -f $RPM_BUILD_ROOT%{_includedir}/libintl.h \
207 $RPM_BUILD_ROOT%{_datadir}/locale/locale.alias
208 rm -f gettext-runtime/intl-java/javadoc2/package-list
209
210 install -D -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/emacs/site-start.d/%{name}.el
211
212 # remove non-standard lc directories
213 for i in en@boldquot en@quot ; do rm -rf $RPM_BUILD_ROOT/%{_datadir}/locale/$i; done
214
215 # move installed doc back to %%doc
216 rm -rf htmldoc examples
217 mkdir htmldoc
218 for i in gettext-runtime/man/*.html; do
219 rm -f $RPM_BUILD_ROOT%{_datadir}/doc/gettext/`basename $i`
220 done
221 rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/gettext/javadoc*
222 mv $RPM_BUILD_ROOT%{_datadir}/doc/gettext/* $RPM_BUILD_ROOT/%{_datadir}/doc/libasprintf/* htmldoc
223 mv htmldoc/examples examples
224
225 # remove java stuff, otherwise rpm complains
226 %if !%enable_java
227 rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/gnu.gettext.* \
228 $RPM_BUILD_ROOT%{_datadir}/%{name}/*.jar
229 %endif
230
231 # don't ship .la
232 find %{buildroot} -name '*.la' -delete
233
234 %find_lang %{name} --all-name
235
236 %post
237 %_install_info %{name}.info
238
239 %preun
240 %_remove_install_info %{name}.info
241
242 %post devel
243 %_install_info autosprintf.info
244
245 %preun devel
246 %_remove_install_info autosprintf.info
247
248 %files
249 %doc AUTHORS README COPYING gettext-runtime/ABOUT-NLS gettext-runtime/BUGS NEWS THANKS
250 %config(noreplace) %{_sysconfdir}/emacs/site-start.d/*.el
251 %{_bindir}/envsubst
252 %{_bindir}/gettext.sh
253 %{_bindir}/msg*
254 %{_bindir}/recode-sr-latin
255 %{_bindir}/xgettext
256 %dir %{_datadir}/gettext
257 %{_datadir}/%{name}/msgunfmt.tcl
258 %{_datadir}/%{name}/projects
259 %{_datadir}/%{name}/javaversion.class
260 %{_datadir}/%{name}/styles
261 %dir %{_libdir}/%{name}
262 %{_libdir}/%{name}/hostname
263 %{_libdir}/%{name}/project-id
264 %{_libdir}/%{name}/urlget
265 %{_libdir}/%{name}/user-email
266 %if %enable_java
267 %exclude %{_libdir}/%{name}/gnu.gettext.*
268 %endif
269 %{_infodir}/gettext.*
270 %if !%bootstrap
271 %{_datadir}/emacs/site-lisp/*.el*
272 %endif
273 %{_mandir}/man1/envsubst.*
274 %{_mandir}/man1/msg*
275 %{_mandir}/man1/xgettext.*
276 %{_mandir}/man1/recode-sr-latin.*
277
278 %files base -f %{name}.lang
279 %doc gettext-runtime/man/*.1.html
280 %{_bindir}/gettext
281 %{_bindir}/ngettext
282 %{_mandir}/man1/gettext*
283 %{_mandir}/man1/ngettext*
284
285 %files -n %{intllibname}
286 %doc gettext-runtime/intl/COPYING*
287 %{_libdir}/libintl.so.%{major}
288 %{_libdir}/libintl.so.%{major}.*
289
290 %files -n %{misclibname}
291 %doc gettext-runtime/intl/COPYING*
292 %{_libdir}/libgettext*-*.*.so
293 %{_libdir}/libgettext*.so.*
294 %{_libdir}/libasprintf*.so.*
295
296 %files devel
297 %doc gettext-runtime/man/*.3.html examples htmldoc
298 %{_bindir}/autopoint
299 %{_bindir}/gettextize
300 %{_datadir}/%{name}/ABOUT-NLS
301 %{_datadir}/%{name}/archive*
302 %{_datadir}/%{name}/config.rpath
303 %{_datadir}/%{name}/*.h
304 %{_datadir}/%{name}/intl
305 %{_datadir}/%{name}/po
306 %{_datadir}/aclocal/*
307 %{_includedir}/*
308 %{_infodir}/autosprintf*
309 # "lib*.so" cannot be used (it should be 'lib[^\.]*\.so' regexp in fact
310 # but using regexp is not possible here; so we list all files manually
311 %{_libdir}/libasprintf.so
312 %{_libdir}/libgettextlib.so
313 %{_libdir}/libgettextpo.so
314 %{_libdir}/libgettextsrc.so
315 %{_libdir}/libintl.so
316 %{_mandir}/man1/autopoint.*
317 %{_mandir}/man3/*
318
319 %if %enable_java
320 %files java
321 %doc gettext-runtime/intl-java/javadoc*
322 %{_libdir}/%{name}/gnu.gettext.*
323 %{_datadir}/%{name}/*.jar
324 %endif
325
326 %if %enable_csharp
327 %files csharp
328 %doc gettext-runtime/intl-csharp/csharpdoc/*
329 %{_libdir}/*.dll
330 %{_libdir}/gettext/*.exe
331 %endif

  ViewVC Help
Powered by ViewVC 1.1.28