json/json.spec

Mon, 10 Jan 2011 20:54:01 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 10 Jan 2011 20:54:01 +0100
changeset 303
2bd9bf3f6f03
child 304
fbf6cb91be09
permissions
-rw-r--r--

Import package vendor original specs for necessary manipulations.

michael@303 1 ##
michael@303 2 ## json.spec -- OpenPKG RPM Package Specification
michael@303 3 ## Copyright (c) 2000-2009 OpenPKG Foundation e.V. <http://openpkg.net/>
michael@303 4 ##
michael@303 5 ## Permission to use, copy, modify, and distribute this software for
michael@303 6 ## any purpose with or without fee is hereby granted, provided that
michael@303 7 ## the above copyright notice and this permission notice appear in all
michael@303 8 ## copies.
michael@303 9 ##
michael@303 10 ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
michael@303 11 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
michael@303 12 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
michael@303 13 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
michael@303 14 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
michael@303 15 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
michael@303 16 ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
michael@303 17 ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
michael@303 18 ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
michael@303 19 ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
michael@303 20 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
michael@303 21 ## SUCH DAMAGE.
michael@303 22 ##
michael@303 23
michael@303 24 # package version
michael@303 25 %define V_api_c 0.9
michael@303 26 %define V_api_c2 1.1.0
michael@303 27 %define V_api_c3 0.3
michael@303 28 %define V_api_pl1 2.16
michael@303 29 %define V_api_pl2 0.03
michael@303 30 %define V_api_pl3 0.39
michael@303 31 %define V_api_pl4 2.2311
michael@303 32 %define V_api_pl5 0.011
michael@303 33 %define V_api_js1 20090929
michael@303 34 %define V_api_js2 20090929
michael@303 35
michael@303 36 # package information
michael@303 37 Name: json
michael@303 38 Summary: JavaScript Object Notation (JSON)
michael@303 39 URL: http://www.json.org/
michael@303 40 Vendor: D. Crockford et al.
michael@303 41 Packager: OpenPKG Foundation e.V.
michael@303 42 Distribution: OpenPKG Community
michael@303 43 Class: PLUS
michael@303 44 Group: Language
michael@303 45 License: Open Source
michael@303 46 Version: %{V_api_js2}
michael@303 47 Release: 20091118
michael@303 48
michael@303 49 # list of sources
michael@303 50 Source0: http://oss.metaparadigm.com/json-c/json-c-%{V_api_c}.tar.gz
michael@303 51 Source1: http://switch.dl.sourceforge.net/zzjson/zzjson-%{V_api_c2}.tar.gz
michael@303 52 Source2: http://projects.snarc.org/libjson/download/libjson-%{V_api_c3}.tar.bz2
michael@303 53 Source3: http://www.cpan.org/authors/id/M/MA/MAKAMAKA/JSON-%{V_api_pl1}.tar.gz
michael@303 54 Source4: http://www.cpan.org/authors/id/M/MA/MAKAMAKA/JSON-PC-%{V_api_pl2}.tar.gz
michael@303 55 Source5: http://www.cpan.org/authors/id/D/DO/DOWENS/JSON-DWIW-%{V_api_pl3}.tar.gz
michael@303 56 Source6: http://www.cpan.org/authors/id/M/ML/MLEHMANN/JSON-XS-%{V_api_pl4}.tar.gz
michael@303 57 Source7: http://www.cpan.org/authors/id/P/PE/PERLER/JavaScript-Dumper-%{V_api_pl5}.tar.gz
michael@303 58 Source8: ftp://ftp.openpkg.org/sources/CPY/VERSIONED/json/json-%{V_api_js1}.js
michael@303 59 Source9: ftp://ftp.openpkg.org/sources/CPY/VERSIONED/json/json2-%{V_api_js2}.js
michael@303 60 Source10: http://www.ietf.org/rfc/rfc4627.txt
michael@303 61 Patch0: json.patch
michael@303 62
michael@303 63 # build information
michael@303 64 Prefix: %{l_prefix}
michael@303 65 BuildRoot: %{l_buildroot}
michael@303 66 BuildPreReq: OpenPKG, openpkg >= 20040130, perl, perl-openpkg, make
michael@303 67 PreReq: OpenPKG, openpkg >= 20040130, perl
michael@303 68 AutoReq: no
michael@303 69 AutoReqProv: no
michael@303 70
michael@303 71 %description
michael@303 72 JSON (JavaScript Object Notation) is a lightweight data-interchange
michael@303 73 format. It is easy for humans to read and write. It is easy for
michael@303 74 machines to parse and generate. It is based on a subset of the
michael@303 75 JavaScript Programming Language, Standard ECMA-262 3rd Edition.
michael@303 76 JSON is a text format that is completely language independent but
michael@303 77 uses conventions that are familiar to programmers of the C-family
michael@303 78 of languages. These properties make JSON an ideal data-interchange
michael@303 79 language.
michael@303 80
michael@303 81 %track
michael@303 82 prog json:json-c = {
michael@303 83 version = %{V_api_c}
michael@303 84 url = http://oss.metaparadigm.com/json-c/
michael@303 85 regex = json-c-(__VER__)\.tar\.gz
michael@303 86 }
michael@303 87 prog json:json-c2 = {
michael@303 88 version = %{V_api_c2}
michael@303 89 url = http://sourceforge.net/projects/zzjson/files/
michael@303 90 regex = zzjson-(__VER__)\.tar\.gz
michael@303 91 }
michael@303 92 prog json:json-c3 = {
michael@303 93 version = %{V_api_c3}
michael@303 94 url = http://projects.snarc.org/libjson/download/
michael@303 95 regex = libjson-(__VER__)\.tar\.bz2
michael@303 96 }
michael@303 97 prog json:json-pl1 = {
michael@303 98 version = %{V_api_pl1}
michael@303 99 url = http://www.cpan.org/authors/id/M/MA/MAKAMAKA/
michael@303 100 regex = JSON-(__VER__)\.tar\.gz
michael@303 101 }
michael@303 102 prog json:json-pl2 = {
michael@303 103 version = %{V_api_pl2}
michael@303 104 url = http://www.cpan.org/authors/id/M/MA/MAKAMAKA/
michael@303 105 regex = JSON-PC-(__VER__)\.tar\.gz
michael@303 106 }
michael@303 107 prog json:json-pl3 = {
michael@303 108 version = %{V_api_pl3}
michael@303 109 url = http://www.cpan.org/authors/id/D/DO/DOWENS/
michael@303 110 regex = JSON-DWIW-(__VER__)\.tar\.gz
michael@303 111 }
michael@303 112 prog json:json-pl4 = {
michael@303 113 version = %{V_api_pl4}
michael@303 114 url = http://www.cpan.org/authors/id/M/ML/MLEHMANN/
michael@303 115 regex = JSON-XS-(__VER__)\.tar\.gz
michael@303 116 }
michael@303 117 prog json:json-pl5 = {
michael@303 118 version = %{V_api_pl5}
michael@303 119 url = http://www.cpan.org/authors/id/P/PE/PERLER/
michael@303 120 regex = JavaScript-Dumper-(__VER__)\.tar\.gz
michael@303 121 }
michael@303 122 prog json:json-js1 = {
michael@303 123 version = %{V_api_js1}
michael@303 124 url = ftp://ftp.openpkg.org/sources/CPY/VERSIONED/json/
michael@303 125 regex = json-(__VER__)\.js
michael@303 126 }
michael@303 127 prog json:json-js2 = {
michael@303 128 version = %{V_api_js2}
michael@303 129 url = ftp://ftp.openpkg.org/sources/CPY/VERSIONED/json/
michael@303 130 regex = json2-(__VER__)\.js
michael@303 131 }
michael@303 132
michael@303 133 %prep
michael@303 134 %setup -q -c
michael@303 135 %setup -q -T -D -a 1
michael@303 136 %setup -q -T -D -a 2
michael@303 137 %setup -q -T -D -a 3
michael@303 138 %setup -q -T -D -a 4
michael@303 139 %setup -q -T -D -a 5
michael@303 140 %setup -q -T -D -a 6
michael@303 141 %setup -q -T -D -a 7
michael@303 142 cp %{SOURCE json-%{V_api_js1}.js} json.js
michael@303 143 cp %{SOURCE json2-%{V_api_js2}.js} json2.js
michael@303 144 %patch -p0
michael@303 145
michael@303 146 %build
michael@303 147 ( cd json-c-%{V_api_c}
michael@303 148 CC="%{l_cc}" \
michael@303 149 CFLAGS="%{l_cflags -O}" \
michael@303 150 ./configure \
michael@303 151 --prefix=%{l_prefix} \
michael@303 152 --disable-shared
michael@303 153 %{l_make} %{l_mflags -O}
michael@303 154 ) || exit $?
michael@303 155 ( cd zzjson-%{V_api_c2}
michael@303 156 CC="%{l_cc}" \
michael@303 157 %{l_bash} ./buildstatic.sh
michael@303 158 ) || exit $?
michael@303 159 ( cd libjson-%{V_api_c3}
michael@303 160 %{l_make} %{l_mflags} \
michael@303 161 CC="%{l_cc}" \
michael@303 162 CFLAGS="%{l_cflags -O}" \
michael@303 163 libjson.a
michael@303 164 ) || exit $?
michael@303 165 %{l_prefix}/bin/perl-openpkg prepare
michael@303 166 %{l_prefix}/bin/perl-openpkg -d JSON-%{V_api_pl1} configure build
michael@303 167 %{l_prefix}/bin/perl-openpkg -d JSON-PC-%{V_api_pl2} configure build
michael@303 168 %{l_prefix}/bin/perl-openpkg -d JSON-DWIW-%{V_api_pl3} configure build
michael@303 169 %{l_prefix}/bin/perl-openpkg -d JSON-XS-%{V_api_pl4} configure build
michael@303 170 %{l_prefix}/bin/perl-openpkg -d JavaScript-Dumper-%{V_api_pl5} configure build
michael@303 171
michael@303 172 %install
michael@303 173 rm -rf $RPM_BUILD_ROOT
michael@303 174 ( cd json-c-%{V_api_c}
michael@303 175 %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
michael@303 176 ) || exit $?
michael@303 177 ( cd zzjson-%{V_api_c2}
michael@303 178 %{l_shtool} install -c -m 644 \
michael@303 179 include/zzjson.h $RPM_BUILD_ROOT%{l_prefix}/include/
michael@303 180 %{l_shtool} install -c -m 644 \
michael@303 181 lib/libzzjson.a $RPM_BUILD_ROOT%{l_prefix}/lib/
michael@303 182 ) || exit $?
michael@303 183 ( cd libjson-%{V_api_c3}
michael@303 184 %{l_shtool} install -c -m 644 \
michael@303 185 json.h $RPM_BUILD_ROOT%{l_prefix}/include/
michael@303 186 %{l_shtool} install -c -m 644 \
michael@303 187 libjson.a $RPM_BUILD_ROOT%{l_prefix}/lib/
michael@303 188 ) || exit $?
michael@303 189 %{l_shtool} mkdir -f -p -m 755 \
michael@303 190 $RPM_BUILD_ROOT%{l_prefix}/share/json
michael@303 191 %{l_shtool} install -c -m 644 \
michael@303 192 json.js json2.js $RPM_BUILD_ROOT%{l_prefix}/share/json/
michael@303 193 %{l_shtool} install -c -m 644 \
michael@303 194 %{SOURCE rfc4627.txt} $RPM_BUILD_ROOT%{l_prefix}/share/json/
michael@303 195 %{l_shtool} mkdir -f -p -m 755 \
michael@303 196 $RPM_BUILD_ROOT%{l_prefix}/etc/apache/apache.d
michael@303 197 ( echo "Alias /openpkg-json/ %{l_prefix}/share/json/"
michael@303 198 echo "<Directory %{l_prefix}/share/json/>"
michael@303 199 echo " Options Indexes"
michael@303 200 echo " AllowOverride none"
michael@303 201 echo " Order allow,deny"
michael@303 202 echo " Allow from all"
michael@303 203 echo "</Directory>"
michael@303 204 ) >json.conf
michael@303 205 %{l_shtool} install -c -m 644 \
michael@303 206 json.conf $RPM_BUILD_ROOT%{l_prefix}/etc/apache/apache.d/
michael@303 207 %{l_prefix}/bin/perl-openpkg -d JSON-%{V_api_pl1} install
michael@303 208 %{l_prefix}/bin/perl-openpkg -d JSON-PC-%{V_api_pl2} install
michael@303 209 %{l_prefix}/bin/perl-openpkg -d JSON-DWIW-%{V_api_pl3} install
michael@303 210 %{l_prefix}/bin/perl-openpkg -d JSON-XS-%{V_api_pl4} install
michael@303 211 %{l_prefix}/bin/perl-openpkg -d JavaScript-Dumper-%{V_api_pl5} install
michael@303 212 %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup
michael@303 213 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
michael@303 214 %{l_files_std} `cat perl-openpkg-files` \
michael@303 215 '%config %{l_prefix}/etc/apache/apache.d/*'
michael@303 216
michael@303 217 %files -f files
michael@303 218
michael@303 219 %clean
michael@303 220 rm -rf $RPM_BUILD_ROOT
michael@303 221

mercurial