json/json.spec

changeset 303
2bd9bf3f6f03
child 304
fbf6cb91be09
     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 +

mercurial