Wed, 12 Sep 2012 18:42:10 +0200
Correct mistyped OpenPKG prerequisite dates.
1 ##
2 ## json.spec -- OpenPKG RPM Package Specification
3 ## Copyright (c) 2000-2009 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 version
25 %define V_api_c 0.9
26 %define V_api_c2 1.1.0
27 %define V_api_c3 0.3
28 %define V_api_pl1 2.16
29 %define V_api_pl2 0.39
30 %define V_api_pl3 2.26
31 %define V_api_pl4 0.011
32 %define V_api_js1 20090929
33 %define V_api_js2 20090929
35 # package information
36 Name: json
37 Summary: JavaScript Object Notation (JSON)
38 URL: http://www.json.org/
39 Vendor: D. Crockford et al.
40 Packager: OpenPKG Foundation e.V.
41 Distribution: OpenPKG Community
42 Class: PLUS
43 Group: Language
44 License: Open Source
45 Version: %{V_api_js2}
46 Release: 20091120
48 # list of sources
49 Source0: http://oss.metaparadigm.com/json-c/json-c-%{V_api_c}.tar.gz
50 Source1: http://switch.dl.sourceforge.net/zzjson/zzjson-%{V_api_c2}.tar.gz
51 Source2: http://projects.snarc.org/libjson/download/libjson-%{V_api_c3}.tar.bz2
52 Source3: http://www.cpan.org/authors/id/M/MA/MAKAMAKA/JSON-%{V_api_pl1}.tar.gz
53 Source4: http://www.cpan.org/authors/id/D/DO/DOWENS/JSON-DWIW-%{V_api_pl2}.tar.gz
54 Source5: http://www.cpan.org/authors/id/M/ML/MLEHMANN/JSON-XS-%{V_api_pl3}.tar.gz
55 Source6: http://www.cpan.org/authors/id/P/PE/PERLER/JavaScript-Dumper-%{V_api_pl4}.tar.gz
56 Source7: ftp://ftp.openpkg.org/sources/CPY/VERSIONED/json/json-%{V_api_js1}.js
57 Source8: ftp://ftp.openpkg.org/sources/CPY/VERSIONED/json/json2-%{V_api_js2}.js
58 Source9: http://www.ietf.org/rfc/rfc4627.txt
59 Patch0: json.patch
61 # build information
62 Prefix: %{l_prefix}
63 BuildRoot: %{l_buildroot}
64 BuildPreReq: OpenPKG, openpkg >= 20040130, perl, perl-openpkg, make
65 PreReq: OpenPKG, openpkg >= 20040130, perl
66 AutoReq: no
67 AutoReqProv: no
69 %description
70 JSON (JavaScript Object Notation) is a lightweight data-interchange
71 format. It is easy for humans to read and write. It is easy for
72 machines to parse and generate. It is based on a subset of the
73 JavaScript Programming Language, Standard ECMA-262 3rd Edition.
74 JSON is a text format that is completely language independent but
75 uses conventions that are familiar to programmers of the C-family
76 of languages. These properties make JSON an ideal data-interchange
77 language.
79 %track
80 prog json:json-c = {
81 version = %{V_api_c}
82 url = http://oss.metaparadigm.com/json-c/
83 regex = json-c-(__VER__)\.tar\.gz
84 }
85 prog json:json-c2 = {
86 version = %{V_api_c2}
87 url = http://sourceforge.net/projects/zzjson/files/
88 regex = zzjson-(__VER__)\.tar\.gz
89 }
90 prog json:json-c3 = {
91 version = %{V_api_c3}
92 url = http://projects.snarc.org/libjson/download/
93 regex = libjson-(__VER__)\.tar\.bz2
94 }
95 prog json:json-pl1 = {
96 version = %{V_api_pl1}
97 url = http://www.cpan.org/authors/id/M/MA/MAKAMAKA/
98 regex = JSON-(__VER__)\.tar\.gz
99 }
100 prog json:json-pl2 = {
101 version = %{V_api_pl3}
102 url = http://www.cpan.org/authors/id/D/DO/DOWENS/
103 regex = JSON-DWIW-(__VER__)\.tar\.gz
104 }
105 prog json:json-pl3 = {
106 version = %{V_api_pl4}
107 url = http://www.cpan.org/authors/id/M/ML/MLEHMANN/
108 regex = JSON-XS-(__VER__)\.tar\.gz
109 }
110 prog json:json-pl4 = {
111 version = %{V_api_pl5}
112 url = http://www.cpan.org/authors/id/P/PE/PERLER/
113 regex = JavaScript-Dumper-(__VER__)\.tar\.gz
114 }
115 prog json:json-js1 = {
116 version = %{V_api_js1}
117 url = ftp://ftp.openpkg.org/sources/CPY/VERSIONED/json/
118 regex = json-(__VER__)\.js
119 }
120 prog json:json-js2 = {
121 version = %{V_api_js2}
122 url = ftp://ftp.openpkg.org/sources/CPY/VERSIONED/json/
123 regex = json2-(__VER__)\.js
124 }
126 %prep
127 %setup -q -c
128 %setup -q -T -D -a 1
129 %setup -q -T -D -a 2
130 %setup -q -T -D -a 3
131 %setup -q -T -D -a 4
132 %setup -q -T -D -a 5
133 %setup -q -T -D -a 6
134 cp %{SOURCE json-%{V_api_js1}.js} json.js
135 cp %{SOURCE json2-%{V_api_js2}.js} json2.js
136 %patch -p0
137 %{l_shtool} subst \
138 -e 's;\(AM_CFLAGS *=.*\)-Werror *;\1;' \
139 json-c-%{V_api_c}/Makefile.in
141 %build
142 ( cd json-c-%{V_api_c}
143 CC="%{l_cc}" \
144 CFLAGS="%{l_cflags -O}" \
145 ./configure \
146 --prefix=%{l_prefix} \
147 --disable-shared
148 %{l_make} %{l_mflags -O}
149 ) || exit $?
150 ( cd zzjson-%{V_api_c2}
151 CC="%{l_cc}" \
152 %{l_bash} ./buildstatic.sh
153 ) || exit $?
154 ( cd libjson-%{V_api_c3}
155 %{l_make} %{l_mflags} \
156 CC="%{l_cc}" \
157 CFLAGS="%{l_cflags -O}" \
158 libjson.a
159 ) || exit $?
160 %{l_prefix}/bin/perl-openpkg prepare
161 %{l_prefix}/bin/perl-openpkg -d JSON-%{V_api_pl1} configure build
162 %{l_prefix}/bin/perl-openpkg -d JSON-DWIW-%{V_api_pl2} configure build
163 %{l_prefix}/bin/perl-openpkg -d JSON-XS-%{V_api_pl3} configure build
164 %{l_prefix}/bin/perl-openpkg -d JavaScript-Dumper-%{V_api_pl4} configure build
166 %install
167 rm -rf $RPM_BUILD_ROOT
168 ( cd json-c-%{V_api_c}
169 %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
170 ) || exit $?
171 ( cd zzjson-%{V_api_c2}
172 %{l_shtool} install -c -m 644 \
173 include/zzjson.h $RPM_BUILD_ROOT%{l_prefix}/include/
174 %{l_shtool} install -c -m 644 \
175 lib/libzzjson.a $RPM_BUILD_ROOT%{l_prefix}/lib/
176 ) || exit $?
177 ( cd libjson-%{V_api_c3}
178 %{l_shtool} install -c -m 644 \
179 json.h $RPM_BUILD_ROOT%{l_prefix}/include/
180 %{l_shtool} install -c -m 644 \
181 libjson.a $RPM_BUILD_ROOT%{l_prefix}/lib/
182 ) || exit $?
183 %{l_shtool} mkdir -f -p -m 755 \
184 $RPM_BUILD_ROOT%{l_prefix}/share/json
185 %{l_shtool} install -c -m 644 \
186 json.js json2.js $RPM_BUILD_ROOT%{l_prefix}/share/json/
187 %{l_shtool} install -c -m 644 \
188 %{SOURCE rfc4627.txt} $RPM_BUILD_ROOT%{l_prefix}/share/json/
189 %{l_shtool} mkdir -f -p -m 755 \
190 $RPM_BUILD_ROOT%{l_prefix}/etc/apache/apache.d
191 ( echo "Alias /openpkg-json/ %{l_prefix}/share/json/"
192 echo "<Directory %{l_prefix}/share/json/>"
193 echo " Options Indexes"
194 echo " AllowOverride none"
195 echo " Order allow,deny"
196 echo " Allow from all"
197 echo "</Directory>"
198 ) >json.conf
199 %{l_shtool} install -c -m 644 \
200 json.conf $RPM_BUILD_ROOT%{l_prefix}/etc/apache/apache.d/
201 %{l_prefix}/bin/perl-openpkg -d JSON-%{V_api_pl1} install
202 %{l_prefix}/bin/perl-openpkg -d JSON-DWIW-%{V_api_pl2} install
203 %{l_prefix}/bin/perl-openpkg -d JSON-XS-%{V_api_pl3} install
204 %{l_prefix}/bin/perl-openpkg -d JavaScript-Dumper-%{V_api_pl4} install
205 %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup
206 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
207 %{l_files_std} `cat perl-openpkg-files` \
208 '%config %{l_prefix}/etc/apache/apache.d/*'
210 %files -f files
212 %clean
213 rm -rf $RPM_BUILD_ROOT