1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/json/json.spec Mon Jan 10 20:54:01 2011 +0100 1.3 @@ -0,0 +1,221 @@ 1.4 +## 1.5 +## json.spec -- OpenPKG RPM Package Specification 1.6 +## Copyright (c) 2000-2009 OpenPKG Foundation e.V. <http://openpkg.net/> 1.7 +## 1.8 +## Permission to use, copy, modify, and distribute this software for 1.9 +## any purpose with or without fee is hereby granted, provided that 1.10 +## the above copyright notice and this permission notice appear in all 1.11 +## copies. 1.12 +## 1.13 +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 1.14 +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 1.15 +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 1.16 +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR 1.17 +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 1.18 +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 1.19 +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 1.20 +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 1.21 +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 1.22 +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 1.23 +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1.24 +## SUCH DAMAGE. 1.25 +## 1.26 + 1.27 +# package version 1.28 +%define V_api_c 0.9 1.29 +%define V_api_c2 1.1.0 1.30 +%define V_api_c3 0.3 1.31 +%define V_api_pl1 2.16 1.32 +%define V_api_pl2 0.03 1.33 +%define V_api_pl3 0.39 1.34 +%define V_api_pl4 2.2311 1.35 +%define V_api_pl5 0.011 1.36 +%define V_api_js1 20090929 1.37 +%define V_api_js2 20090929 1.38 + 1.39 +# package information 1.40 +Name: json 1.41 +Summary: JavaScript Object Notation (JSON) 1.42 +URL: http://www.json.org/ 1.43 +Vendor: D. Crockford et al. 1.44 +Packager: OpenPKG Foundation e.V. 1.45 +Distribution: OpenPKG Community 1.46 +Class: PLUS 1.47 +Group: Language 1.48 +License: Open Source 1.49 +Version: %{V_api_js2} 1.50 +Release: 20091118 1.51 + 1.52 +# list of sources 1.53 +Source0: http://oss.metaparadigm.com/json-c/json-c-%{V_api_c}.tar.gz 1.54 +Source1: http://switch.dl.sourceforge.net/zzjson/zzjson-%{V_api_c2}.tar.gz 1.55 +Source2: http://projects.snarc.org/libjson/download/libjson-%{V_api_c3}.tar.bz2 1.56 +Source3: http://www.cpan.org/authors/id/M/MA/MAKAMAKA/JSON-%{V_api_pl1}.tar.gz 1.57 +Source4: http://www.cpan.org/authors/id/M/MA/MAKAMAKA/JSON-PC-%{V_api_pl2}.tar.gz 1.58 +Source5: http://www.cpan.org/authors/id/D/DO/DOWENS/JSON-DWIW-%{V_api_pl3}.tar.gz 1.59 +Source6: http://www.cpan.org/authors/id/M/ML/MLEHMANN/JSON-XS-%{V_api_pl4}.tar.gz 1.60 +Source7: http://www.cpan.org/authors/id/P/PE/PERLER/JavaScript-Dumper-%{V_api_pl5}.tar.gz 1.61 +Source8: ftp://ftp.openpkg.org/sources/CPY/VERSIONED/json/json-%{V_api_js1}.js 1.62 +Source9: ftp://ftp.openpkg.org/sources/CPY/VERSIONED/json/json2-%{V_api_js2}.js 1.63 +Source10: http://www.ietf.org/rfc/rfc4627.txt 1.64 +Patch0: json.patch 1.65 + 1.66 +# build information 1.67 +Prefix: %{l_prefix} 1.68 +BuildRoot: %{l_buildroot} 1.69 +BuildPreReq: OpenPKG, openpkg >= 20040130, perl, perl-openpkg, make 1.70 +PreReq: OpenPKG, openpkg >= 20040130, perl 1.71 +AutoReq: no 1.72 +AutoReqProv: no 1.73 + 1.74 +%description 1.75 + JSON (JavaScript Object Notation) is a lightweight data-interchange 1.76 + format. It is easy for humans to read and write. It is easy for 1.77 + machines to parse and generate. It is based on a subset of the 1.78 + JavaScript Programming Language, Standard ECMA-262 3rd Edition. 1.79 + JSON is a text format that is completely language independent but 1.80 + uses conventions that are familiar to programmers of the C-family 1.81 + of languages. These properties make JSON an ideal data-interchange 1.82 + language. 1.83 + 1.84 +%track 1.85 + prog json:json-c = { 1.86 + version = %{V_api_c} 1.87 + url = http://oss.metaparadigm.com/json-c/ 1.88 + regex = json-c-(__VER__)\.tar\.gz 1.89 + } 1.90 + prog json:json-c2 = { 1.91 + version = %{V_api_c2} 1.92 + url = http://sourceforge.net/projects/zzjson/files/ 1.93 + regex = zzjson-(__VER__)\.tar\.gz 1.94 + } 1.95 + prog json:json-c3 = { 1.96 + version = %{V_api_c3} 1.97 + url = http://projects.snarc.org/libjson/download/ 1.98 + regex = libjson-(__VER__)\.tar\.bz2 1.99 + } 1.100 + prog json:json-pl1 = { 1.101 + version = %{V_api_pl1} 1.102 + url = http://www.cpan.org/authors/id/M/MA/MAKAMAKA/ 1.103 + regex = JSON-(__VER__)\.tar\.gz 1.104 + } 1.105 + prog json:json-pl2 = { 1.106 + version = %{V_api_pl2} 1.107 + url = http://www.cpan.org/authors/id/M/MA/MAKAMAKA/ 1.108 + regex = JSON-PC-(__VER__)\.tar\.gz 1.109 + } 1.110 + prog json:json-pl3 = { 1.111 + version = %{V_api_pl3} 1.112 + url = http://www.cpan.org/authors/id/D/DO/DOWENS/ 1.113 + regex = JSON-DWIW-(__VER__)\.tar\.gz 1.114 + } 1.115 + prog json:json-pl4 = { 1.116 + version = %{V_api_pl4} 1.117 + url = http://www.cpan.org/authors/id/M/ML/MLEHMANN/ 1.118 + regex = JSON-XS-(__VER__)\.tar\.gz 1.119 + } 1.120 + prog json:json-pl5 = { 1.121 + version = %{V_api_pl5} 1.122 + url = http://www.cpan.org/authors/id/P/PE/PERLER/ 1.123 + regex = JavaScript-Dumper-(__VER__)\.tar\.gz 1.124 + } 1.125 + prog json:json-js1 = { 1.126 + version = %{V_api_js1} 1.127 + url = ftp://ftp.openpkg.org/sources/CPY/VERSIONED/json/ 1.128 + regex = json-(__VER__)\.js 1.129 + } 1.130 + prog json:json-js2 = { 1.131 + version = %{V_api_js2} 1.132 + url = ftp://ftp.openpkg.org/sources/CPY/VERSIONED/json/ 1.133 + regex = json2-(__VER__)\.js 1.134 + } 1.135 + 1.136 +%prep 1.137 + %setup -q -c 1.138 + %setup -q -T -D -a 1 1.139 + %setup -q -T -D -a 2 1.140 + %setup -q -T -D -a 3 1.141 + %setup -q -T -D -a 4 1.142 + %setup -q -T -D -a 5 1.143 + %setup -q -T -D -a 6 1.144 + %setup -q -T -D -a 7 1.145 + cp %{SOURCE json-%{V_api_js1}.js} json.js 1.146 + cp %{SOURCE json2-%{V_api_js2}.js} json2.js 1.147 + %patch -p0 1.148 + 1.149 +%build 1.150 + ( cd json-c-%{V_api_c} 1.151 + CC="%{l_cc}" \ 1.152 + CFLAGS="%{l_cflags -O}" \ 1.153 + ./configure \ 1.154 + --prefix=%{l_prefix} \ 1.155 + --disable-shared 1.156 + %{l_make} %{l_mflags -O} 1.157 + ) || exit $? 1.158 + ( cd zzjson-%{V_api_c2} 1.159 + CC="%{l_cc}" \ 1.160 + %{l_bash} ./buildstatic.sh 1.161 + ) || exit $? 1.162 + ( cd libjson-%{V_api_c3} 1.163 + %{l_make} %{l_mflags} \ 1.164 + CC="%{l_cc}" \ 1.165 + CFLAGS="%{l_cflags -O}" \ 1.166 + libjson.a 1.167 + ) || exit $? 1.168 + %{l_prefix}/bin/perl-openpkg prepare 1.169 + %{l_prefix}/bin/perl-openpkg -d JSON-%{V_api_pl1} configure build 1.170 + %{l_prefix}/bin/perl-openpkg -d JSON-PC-%{V_api_pl2} configure build 1.171 + %{l_prefix}/bin/perl-openpkg -d JSON-DWIW-%{V_api_pl3} configure build 1.172 + %{l_prefix}/bin/perl-openpkg -d JSON-XS-%{V_api_pl4} configure build 1.173 + %{l_prefix}/bin/perl-openpkg -d JavaScript-Dumper-%{V_api_pl5} configure build 1.174 + 1.175 +%install 1.176 + rm -rf $RPM_BUILD_ROOT 1.177 + ( cd json-c-%{V_api_c} 1.178 + %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" 1.179 + ) || exit $? 1.180 + ( cd zzjson-%{V_api_c2} 1.181 + %{l_shtool} install -c -m 644 \ 1.182 + include/zzjson.h $RPM_BUILD_ROOT%{l_prefix}/include/ 1.183 + %{l_shtool} install -c -m 644 \ 1.184 + lib/libzzjson.a $RPM_BUILD_ROOT%{l_prefix}/lib/ 1.185 + ) || exit $? 1.186 + ( cd libjson-%{V_api_c3} 1.187 + %{l_shtool} install -c -m 644 \ 1.188 + json.h $RPM_BUILD_ROOT%{l_prefix}/include/ 1.189 + %{l_shtool} install -c -m 644 \ 1.190 + libjson.a $RPM_BUILD_ROOT%{l_prefix}/lib/ 1.191 + ) || exit $? 1.192 + %{l_shtool} mkdir -f -p -m 755 \ 1.193 + $RPM_BUILD_ROOT%{l_prefix}/share/json 1.194 + %{l_shtool} install -c -m 644 \ 1.195 + json.js json2.js $RPM_BUILD_ROOT%{l_prefix}/share/json/ 1.196 + %{l_shtool} install -c -m 644 \ 1.197 + %{SOURCE rfc4627.txt} $RPM_BUILD_ROOT%{l_prefix}/share/json/ 1.198 + %{l_shtool} mkdir -f -p -m 755 \ 1.199 + $RPM_BUILD_ROOT%{l_prefix}/etc/apache/apache.d 1.200 + ( echo "Alias /openpkg-json/ %{l_prefix}/share/json/" 1.201 + echo "<Directory %{l_prefix}/share/json/>" 1.202 + echo " Options Indexes" 1.203 + echo " AllowOverride none" 1.204 + echo " Order allow,deny" 1.205 + echo " Allow from all" 1.206 + echo "</Directory>" 1.207 + ) >json.conf 1.208 + %{l_shtool} install -c -m 644 \ 1.209 + json.conf $RPM_BUILD_ROOT%{l_prefix}/etc/apache/apache.d/ 1.210 + %{l_prefix}/bin/perl-openpkg -d JSON-%{V_api_pl1} install 1.211 + %{l_prefix}/bin/perl-openpkg -d JSON-PC-%{V_api_pl2} install 1.212 + %{l_prefix}/bin/perl-openpkg -d JSON-DWIW-%{V_api_pl3} install 1.213 + %{l_prefix}/bin/perl-openpkg -d JSON-XS-%{V_api_pl4} install 1.214 + %{l_prefix}/bin/perl-openpkg -d JavaScript-Dumper-%{V_api_pl5} install 1.215 + %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup 1.216 + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ 1.217 + %{l_files_std} `cat perl-openpkg-files` \ 1.218 + '%config %{l_prefix}/etc/apache/apache.d/*' 1.219 + 1.220 +%files -f files 1.221 + 1.222 +%clean 1.223 + rm -rf $RPM_BUILD_ROOT 1.224 +