Wed, 08 Aug 2012 20:36:32 +0200
Modernize packaging and use parallel make.
1 ##
2 ## gettext.spec -- OpenPKG RPM Package Specification
3 ## Copyright (c) 2000-2010 OpenPKG Foundation e.V. <http://openpkg.net/>
4 ##
5 ## Permission to use, copy, modify, and distribute this software for
6 ## any purpose with or without fee is hereby granted, provided that
7 ## the above copyright notice and this permission notice appear in all
8 ## copies.
9 ##
10 ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
11 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
12 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
13 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
14 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
15 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
16 ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
17 ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
18 ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
19 ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
20 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
21 ## SUCH DAMAGE.
22 ##
24 # package information
25 Name: gettext
26 Summary: GNU National Language Support (NLS) Toolkit
27 URL: http://www.gnu.org/software/gettext/
28 Vendor: Free Software Foundation
29 Packager: OpenPKG Foundation e.V.
30 Distribution: OpenPKG Community
31 Class: BASE
32 Group: Charset
33 License: GPL
34 Version: 0.18.1.1
35 Release: 20101020
37 # list of sources
38 Source0: ftp://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.gz
39 Patch0: gettext.patch
41 # build information
42 Prefix: %{l_prefix}
43 BuildRoot: %{l_buildroot}
44 BuildPreReq: OpenPKG, openpkg >= 20100101, gcc, make, automake
45 PreReq: OpenPKG, openpkg >= 20100101
46 BuildPreReq: libiconv
47 PreReq: libiconv
49 %description
50 Gettext is the GNU toolkit for National Language Support (NLS).
52 %track
53 prog gettext = {
54 version = %{version}
55 url = ftp://ftp.gnu.org/gnu/gettext/
56 regex = gettext-(__VER__)\.tar\.gz
57 }
59 %prep
60 %setup -q
61 %patch -p0
63 %build
64 # strip Automake version numbers from binaries
65 %{l_shtool} subst \
66 -e 's;-${am__api_version};;g' \
67 `find . -name configure -print`
69 # remove part that conflicts with libiconv
70 %{l_shtool} subst \
71 -e '/localcharset.\$lo/d' \
72 gettext-runtime/intl/Makefile.in
73 %{l_shtool} subst \
74 -e 's;\(SUBDIRS.*=.*\)intl-java ;\1;' \
75 -e 's;\(SUBDIRS.*=.*\)intl-csharp ;\1;' \
76 gettext-runtime/Makefile.in
77 %{l_shtool} subst \
78 -e 's;^.*intl-java/Makefile.*$;;' \
79 -e 's;^.*intl-csharp/Makefile.*$;;' \
80 gettext-runtime/configure
82 # disable a few parts from building
83 %{l_shtool} subst \
84 -e 's;@BUILDJAVA@;no;g' \
85 -e 's;@BUILDJAVAEXE@;no;g' \
86 -e 's;@BUILDCSHARP@;no;g' \
87 gettext-tools/src/Makefile.in
88 %{l_shtool} subst \
89 -e 's;^\(SUBDIRS =.*\)tests gnulib-tests examples;\1;' \
90 gettext-tools/Makefile.in
91 %{l_shtool} subst \
92 -e 's;\#if USEJEXE;#ifdef USEJEXE;' \
93 gettext-tools/src/read-java.c \
94 gettext-tools/src/urlget.c
96 # configure toolkit
97 CC="%{l_cc}" \
98 CFLAGS="%{l_cflags -O}" \
99 CPPFLAGS="%{l_cppflags}" \
100 LDFLAGS="%{l_ldflags}" \
101 GREP="grep" \
102 ./configure \
103 --prefix=%{l_prefix} \
104 --datarootdir=%{l_prefix}/share \
105 --mandir=%{l_prefix}/man \
106 --infodir=%{l_prefix}/info \
107 --with-libiconv-prefix=%{l_prefix} \
108 --with-included-gettext \
109 --without-libexpat-prefix \
110 --disable-libasprintf \
111 --disable-csharp \
112 --disable-java \
113 --disable-shared
115 # build toolkit
116 %{l_make} %{l_mflags}
118 %install
119 rm -rf $RPM_BUILD_ROOT
121 # install toolkit
122 %{l_make} %{l_mflags} install \
123 AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" \
124 DESTDIR=$RPM_BUILD_ROOT
126 # strip down installation
127 rm -f $RPM_BUILD_ROOT%{l_prefix}/info/dir
128 rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/charset.alias
129 rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/gettext/projects
130 rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/locale
131 rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/doc
132 rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/xemacs
133 rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/libgettext*.la
134 strip $RPM_BUILD_ROOT%{l_prefix}/bin/* 2>/dev/null || true
136 # determine installation files
137 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
139 %files -f files
141 %clean
142 rm -rf $RPM_BUILD_ROOT