Fri, 16 Jan 2009 10:58:21 +0100
Correct and improve code logic, buildconf, and packaging. In particular:
1. Use descriptive variable names <var>libs instead of just <var>.
2. Although Nokia states in all Qt builds that 'NOTE: When linking
against OpenSSL, you can override the default library names
through OPENSSL_LIBS.' and even gives an example, their own
configuration logic rejects such an attempt. Correct this by
hard coding the OpenSSL library string in the configure script.
3. Consistently use the whitespace substitution [\t ] throughout.
4. Patch the buggy INCPATH of SQL plugin Qmake project files.
5. Add the 'x11' configuration variable to the qtconfig Qmake
project using the src/gui/gui.pro file as a model. This is
needed for qtconfig although not in other tools, because
the qtconfig buildconf indirectly includes qt_x11_p.h which
is dependent on X11 headers.
6. Avoid 'ld.so: fatal: hardware capability unsupported: SSE2 AMD_3DNow'
on platforms for which the config.tests/unix/[3dnow|sse2] succeed
although unsopported at run time by testing for the x86-64
instruction set at build time and regulating hardware capabilities.
7. Correctly install the desinger plugin by explicitly building it.
8. Remove custom plugin installation logic which is unnecessary.
9. Correct removal of temporary paths from shared object files.
1 ##
2 ## perl-parse.spec -- OpenPKG RPM Package Specification
3 ## Copyright (c) 2000-2008 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 # versions of individual parts
25 %define V_perl 5.10.0
26 %define V_config_inifiles 2.45
27 %define V_config_general 2.42
28 %define V_config_simple 4.58
29 %define V_config_context 0.10
30 %define V_config_scoped 0.12
31 %define V_string_tokenizer 0.05
32 %define V_parse_recdescent 1.95.1
33 %define V_parse_recdescent_faq 6.0.e
34 %define V_parse_recdescent_deparse 1.00
35 %define V_parse_recdescent_consumer 1.03
36 %define V_parse_recdescent_topiary 0.05
37 %define V_parse_yapp 1.05
38 %define V_parse_eyapp 1.136
39 %define V_parse_earley 0.15
40 %define V_parse_lex 2.15
41 %define V_parse_flex 0.12
42 %define V_c_scan 0.74
43 %define V_appconfig 1.66
44 %define V_appconfig_std 1.07
45 %define V_ogdl 20041124
46 %define V_text_csv_xs 0.58
47 %define V_text_csv_simple 1.00
48 %define V_getopt_long 2.37
49 %define V_getopt_attribute 1.44
50 %define V_getopt_argvfile 1.11
51 %define V_getopt_fancy 0.06
52 %define V_getopt_ll 1.0.0
54 # package information
55 Name: perl-parse
56 Summary: Perl Modules for use with parsing algorythms
57 URL: http://www.cpan.org/
58 Vendor: Perl Community
59 Packager: OpenPKG Foundation e.V.
60 Distribution: OpenPKG Community
61 Class: BASE
62 Group: Perl
63 License: GPL/Artistic
64 Version: %{V_perl}
65 Release: 20090106
67 # list of sources
68 Source0: http://www.cpan.org/modules/by-module/Config/Config-IniFiles-%{V_config_inifiles}.tar.gz
69 Source1: http://www.cpan.org/modules/by-module/Config/Config-General-%{V_config_general}.tar.gz
70 Source2: http://www.cpan.org/modules/by-module/Config/Config-Simple-%{V_config_simple}.tar.gz
71 Source3: http://www.cpan.org/authors/id/D/DC/DCONWAY/Parse-RecDescent-v%{V_parse_recdescent}.tar.gz
72 Source4: http://www.cpan.org/modules/by-module/Parse/Parse-RecDescent-FAQ-%{V_parse_recdescent_faq}.tar.gz
73 Source5: http://www.cpan.org/modules/by-module/Parse/Parse-RecDescent-Deparse-%{V_parse_recdescent_deparse}.tar.gz
74 Source6: http://www.cpan.org/modules/by-module/Parse/Parse-RecDescent-Consumer-%{V_parse_recdescent_consumer}.tar.gz
75 Source7: http://www.cpan.org/modules/by-module/Parse/Parse-Yapp-%{V_parse_yapp}.tar.gz
76 Source8: http://www.cpan.org/modules/by-module/Parse/Parse-Earley-%{V_parse_earley}.tar.gz
77 Source9: http://www.cpan.org/modules/by-module/Parse/ParseLex-%{V_parse_lex}.tar.gz
78 Source10: http://www.cpan.org/modules/by-module/C/C-Scan-%{V_c_scan}.tar.gz
79 Source11: http://www.cpan.org/modules/by-module/AppConfig/AppConfig-%{V_appconfig}.tar.gz
80 Source12: http://www.cpan.org/modules/by-module/AppConfig/AppConfig-Std-%{V_appconfig_std}.tar.gz
81 Source13: http://switch.dl.sourceforge.net/ogdl/ogdlutils-%{V_ogdl}.tgz
82 Source14: http://www.cpan.org/modules/by-module/String/String-Tokenizer-%{V_string_tokenizer}.tar.gz
83 Source15: http://www.cpan.org/modules/by-module/Config/Config-Context-%{V_config_context}.tar.gz
84 Source16: http://www.cpan.org/modules/by-module/Config/Config-Scoped-%{V_config_scoped}.tar.gz
85 Source17: http://www.cpan.org/modules/by-module/Text/Text-CSV_XS-%{V_text_csv_xs}.tgz
86 Source18: http://www.cpan.org/modules/by-module/Text/Text-CSV-Simple-%{V_text_csv_simple}.tar.gz
87 Source19: http://www.cpan.org/modules/by-module/Getopt/Getopt-Long-%{V_getopt_long}.tar.gz
88 Source20: http://www.cpan.org/modules/by-module/Getopt/Getopt-Attribute-%{V_getopt_attribute}.tar.gz
89 Source21: http://www.cpan.org/modules/by-module/Getopt/Getopt-ArgvFile-%{V_getopt_argvfile}.tar.gz
90 Source22: http://www.cpan.org/modules/by-module/Getopt/Getopt-Fancy-%{V_getopt_fancy}.tar.gz
91 Source23: http://www.cpan.org/modules/by-module/Getopt/Getopt-LL-%{V_getopt_ll}.tar.gz
92 Source24: http://www.cpan.org/modules/by-module/Parse/Parse-RecDescent-Topiary-%{V_parse_recdescent_topiary}.tar.gz
93 Source25: http://www.cpan.org/modules/by-module/Parse/Parse-Flex-%{V_parse_flex}.tar.gz
94 Source26: http://www.cpan.org/modules/by-module/Parse/Parse-Eyapp-%{V_parse_eyapp}.tar.gz
96 # build information
97 Prefix: %{l_prefix}
98 BuildRoot: %{l_buildroot}
99 BuildPreReq: OpenPKG, openpkg >= 20040130
100 PreReq: OpenPKG, openpkg >= 20040130
101 BuildPreReq: perl >= %{V_perl}, perl-openpkg >= %{V_perl}-20051031, tar
102 PreReq: perl >= %{V_perl}
103 BuildPreReq: perl-util, perl-module, flex
104 PreReq: perl-util, perl-module, flex
105 AutoReq: no
106 AutoReqProv: no
108 %description
109 Perl modules for use with parsing algorythms:
110 - Config::IniFiles (%{V_config_inifiles})
111 - Config::General (%{V_config_general})
112 - Config::Simple (%{V_config_simple})
113 - Config::Context (%{V_config_context})
114 - Config::Scoped (%{V_config_scoped})
115 - String::Tokenizer (%{V_string_tokenizer})
116 - Parse::RecDescent (%{V_parse_recdescent})
117 - Parse::RecDescent::FAQ (%{V_parse_recdescent_faq})
118 - Parse::RecDescent::Deparse (%{V_parse_recdescent_deparse})
119 - Parse::RecDescent::Consumer (%{V_parse_recdescent_consumer})
120 - Parse::RecDescent::Topiary (%{V_parse_recdescent_topiary})
121 - Parse::Yapp (%{V_parse_yapp})
122 - Parse::Eyapp (%{V_parse_eyapp})
123 - Parse::Earley (%{V_parse_earley})
124 - Parse::Lex (%{V_parse_lex})
125 - Parse::Flex (%{V_parse_flex})
126 - C::Scan (%{V_c_scan})
127 - AppConfig (%{V_appconfig})
128 - AppConfig::Std (%{V_appconfig_std})
129 - OGDL (%{V_ogdl})
130 - Text::CSV_XS (%{V_text_csv_xs})
131 - Text::CSV::Simple (%{V_text_csv_simple})
132 - Getopt::Long (%{V_getopt_long})
133 - Getopt::Attribute (%{V_getopt_attribute})
134 - Getopt::ArgvFile (%{V_getopt_argvfile})
135 - Getopt::Fancy (%{V_getopt_fancy})
136 - Getopt::LL (%{V_getopt_ll})
138 %track
139 prog perl-parse:Config-General = {
140 version = %{V_config_general}
141 url = http://www.cpan.org/modules/by-module/Config/
142 regex = Config-General-(__VER__)\.tar\.gz
143 }
144 prog perl-parse:Config-IniFiles = {
145 version = %{V_config_inifiles}
146 url = http://www.cpan.org/modules/by-module/Config/
147 regex = Config-IniFiles-(__VER__)\.tar\.gz
148 }
149 prog perl-parse:Config-Simple = {
150 version = %{V_config_simple}
151 url = http://www.cpan.org/modules/by-module/Config/
152 regex = Config-Simple-(__VER__)\.tar\.gz
153 }
154 prog perl-parse:Parse-RecDescent = {
155 version = %{V_parse_recdescent}
156 url = http://www.cpan.org/authors/id/D/DC/DCONWAY/
157 regex = Parse-RecDescent-v(__VER__)\.tar\.gz
158 }
159 prog perl-parse:Parse-RecDescent-Consumer = {
160 version = %{V_parse_recdescent_consumer}
161 url = http://www.cpan.org/modules/by-module/Parse/
162 regex = Parse-RecDescent-Consumer-(__VER__)\.tar\.gz
163 }
164 prog perl-parse:Parse-RecDescent-Deparse = {
165 version = %{V_parse_recdescent_deparse}
166 url = http://www.cpan.org/modules/by-module/Parse/
167 regex = Parse-RecDescent-Deparse-(__VER__)\.tar\.gz
168 }
169 prog perl-parse:Parse-RecDescent-FAQ = {
170 version = %{V_parse_recdescent_faq}
171 url = http://www.cpan.org/modules/by-module/Parse/
172 regex = Parse-RecDescent-FAQ-(__VER__)\.tar\.gz
173 }
174 prog perl-parse:Parse-RecDescent-Topiary = {
175 version = %{V_parse_recdescent_topiary}
176 url = http://www.cpan.org/modules/by-module/Parse/
177 regex = Parse-RecDescent-Topiary-(__VER__)\.tar\.gz
178 }
179 prog perl-parse:Parse-Yapp = {
180 version = %{V_parse_yapp}
181 url = http://www.cpan.org/modules/by-module/Parse/
182 regex = Parse-Yapp-(__VER__)\.tar\.gz
183 }
184 prog perl-parse:Parse-Eyapp = {
185 version = %{V_parse_eyapp}
186 url = http://www.cpan.org/modules/by-module/Parse/
187 regex = Parse-Eyapp-(__VER__)\.tar\.gz
188 }
189 prog perl-parse:Parse-Earley = {
190 version = %{V_parse_earley}
191 url = http://www.cpan.org/modules/by-module/Parse/
192 regex = Parse-Earley-(__VER__)\.tar\.gz
193 }
194 prog perl-parse:Parse-Lex = {
195 version = %{V_parse_lex}
196 url = http://www.cpan.org/modules/by-module/Parse/
197 regex = ParseLex-(__VER__)\.tar\.gz
198 }
199 prog perl-parse:Parse-Flex = {
200 version = %{V_parse_flex}
201 url = http://www.cpan.org/modules/by-module/Parse/
202 regex = Parse-Flex-(__VER__)\.tar\.gz
203 }
204 prog perl-parse:C-Scan = {
205 version = %{V_c_scan}
206 url = http://www.cpan.org/modules/by-module/C/
207 regex = C-Scan-(__VER__)\.tar\.gz
208 }
209 prog perl-parse:AppConfig = {
210 version = %{V_appconfig}
211 url = http://www.cpan.org/modules/by-module/AppConfig/
212 regex = AppConfig-(__VER__)\.tar\.gz
213 }
214 prog perl-parse:AppConfig-Std = {
215 version = %{V_appconfig_std}
216 url = http://www.cpan.org/modules/by-module/AppConfig/
217 regex = AppConfig-Std-(__VER__)\.tar\.gz
218 }
219 prog perl-parse:OGDL = {
220 version = %{V_ogdl}
221 url = http://prdownloads.sourceforge.net/ogdl/
222 regex = ogdlutils-(__VER__)\.tgz
223 }
224 prog perl-parse:String-Tokenizer = {
225 version = %{V_string_tokenizer}
226 url = http://www.cpan.org/modules/by-module/String/
227 regex = String-Tokenizer-(__VER__)\.tar\.gz
228 }
229 prog perl-parse:Config-Context = {
230 version = %{V_config_context}
231 url = http://www.cpan.org/modules/by-module/Config/
232 regex = Config-Context-(__VER__)\.tar\.gz
233 }
234 prog perl-parse:Config-Scoped = {
235 version = %{V_config_scoped}
236 url = http://www.cpan.org/modules/by-module/Config/
237 regex = Config-Scoped-(__VER__)\.tar\.gz
238 }
239 prog perl-parse:Text-CSV_XS = {
240 version = %{V_text_csv_xs}
241 url = http://www.cpan.org/modules/by-module/Text/
242 regex = Text-CSV_XS-(__VER__)\.t(ar\.)?gz
243 }
244 prog perl-parse:Text-CSV-Simple = {
245 version = %{V_text_csv_simple}
246 url = http://www.cpan.org/modules/by-module/Text/
247 regex = Text-CSV-Simple-(__VER__)\.tar\.gz
248 }
249 prog perl-parse:Getopt-Long = {
250 version = %{V_getopt_long}
251 url = http://www.cpan.org/modules/by-module/Getopt/
252 regex = Getopt-Long-(__VER__)\.tar\.gz
253 }
254 prog perl-parse:Getopt-Attribute = {
255 version = %{V_getopt_attribute}
256 url = http://www.cpan.org/modules/by-module/Getopt/
257 regex = Getopt-Attribute-(__VER__)\.tar\.gz
258 }
259 prog perl-parse:Getopt-ArgvFile = {
260 version = %{V_getopt_argvfile}
261 url = http://www.cpan.org/modules/by-module/Getopt/
262 regex = Getopt-ArgvFile-(__VER__)\.tar\.gz
263 }
264 prog perl-parse:Getopt-Fancy = {
265 version = %{V_getopt_fancy}
266 url = http://www.cpan.org/modules/by-module/Getopt/
267 regex = Getopt-Fancy-(__VER__)\.tar\.gz
268 }
269 prog perl-parse:Getopt-LL = {
270 version = %{V_getopt_ll}
271 url = http://www.cpan.org/modules/by-module/Getopt/
272 regex = Getopt-LL-(__VER__)\.tar\.gz
273 }
275 %prep
276 %setup -q -c
277 %setup -q -T -D -a 1
278 %setup -q -T -D -a 2
279 %setup -q -T -D -a 3
280 %setup -q -T -D -a 4
281 %setup -q -T -D -a 5
282 %setup -q -T -D -a 6
283 %setup -q -T -D -a 7
284 %setup -q -T -D -a 8
285 %setup -q -T -D -a 9
286 %setup -q -T -D -a 10
287 %setup -q -T -D -a 11
288 %setup -q -T -D -a 12
289 %setup -q -T -D -a 13
290 %setup -q -T -D -a 14
291 %setup -q -T -D -a 15
292 %setup -q -T -D -a 16
293 %setup -q -T -D -a 17
294 %setup -q -T -D -a 18
295 %setup -q -T -D -a 19
296 %setup -q -T -D -a 20
297 %setup -q -T -D -a 21
298 %setup -q -T -D -a 22
299 %setup -q -T -D -a 23
300 %setup -q -T -D -a 24
301 %setup -q -T -D -a 25
302 %setup -q -T -D -a 26
304 %build
306 %install
307 rm -rf $RPM_BUILD_ROOT
308 %{l_prefix}/bin/perl-openpkg prepare
309 %{l_prefix}/bin/perl-openpkg -d %{SOURCE0} configure build install
310 %{l_prefix}/bin/perl-openpkg -d %{SOURCE1} configure build install
311 %{l_prefix}/bin/perl-openpkg -d %{SOURCE2} configure build install
312 %{l_prefix}/bin/perl-openpkg -d %{SOURCE3} configure build install
313 %{l_prefix}/bin/perl-openpkg -d %{SOURCE4} configure build install
314 %{l_prefix}/bin/perl-openpkg -d %{SOURCE5} configure build install
315 %{l_prefix}/bin/perl-openpkg -d %{SOURCE6} configure build install
316 %{l_prefix}/bin/perl-openpkg -d %{SOURCE7} configure build install
317 %{l_prefix}/bin/perl-openpkg -d %{SOURCE8} configure build install
318 %{l_prefix}/bin/perl-openpkg -d %{SOURCE9} configure build install
319 %{l_prefix}/bin/perl-openpkg -d %{SOURCE10} configure build install
320 %{l_prefix}/bin/perl-openpkg -d %{SOURCE11} configure build install
321 %{l_prefix}/bin/perl-openpkg -d %{SOURCE12} configure build install
322 ( cd ogdlutils-%{V_ogdl}/c
323 %{l_cc} %{l_cflags} -c ogdlparser.c graph.c path.c ogdllog.c
324 ar cr libogdl.a ogdlparser.o graph.o path.o ogdllog.o
325 ) || exit $?
326 %{l_prefix}/bin/perl-openpkg -d ogdlutils-%{V_ogdl}/perl configure build install
327 %{l_prefix}/bin/perl-openpkg -d %{SOURCE14} configure build install
328 %{l_prefix}/bin/perl-openpkg -d %{SOURCE15} configure build install
329 %{l_prefix}/bin/perl-openpkg -d %{SOURCE16} configure build install
330 %{l_prefix}/bin/perl-openpkg -d %{SOURCE17} configure build install
331 %{l_prefix}/bin/perl-openpkg -d %{SOURCE18} configure build install
332 %{l_prefix}/bin/perl-openpkg -d %{SOURCE19} configure build install
333 %{l_prefix}/bin/perl-openpkg -d %{SOURCE20} configure build install
334 %{l_prefix}/bin/perl-openpkg -d %{SOURCE21} configure build install
335 %{l_prefix}/bin/perl-openpkg -d %{SOURCE22} configure build install
336 %{l_prefix}/bin/perl-openpkg -d %{SOURCE23} configure build install
337 %{l_prefix}/bin/perl-openpkg -d %{SOURCE24} configure build install
338 %{l_prefix}/bin/perl-openpkg -d %{SOURCE25} configure build install
339 %{l_prefix}/bin/perl-openpkg -d %{SOURCE26} configure build install
340 %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup
341 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} `cat perl-openpkg-files`
343 %files -f files
345 %clean
346 rm -rf $RPM_BUILD_ROOT