yaml/yaml.spec

Thu, 15 Sep 2011 17:10:15 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Sep 2011 17:10:15 +0200
changeset 356
14df3eec63f9
child 357
cce1eb91ccfc
permissions
-rw-r--r--

Import package vendor original specs for necessary manipulations,
requiring YAML module for upcoming davical package database update.

michael@356 1 ##
michael@356 2 ## yaml.spec -- OpenPKG RPM Package Specification
michael@356 3 ## Copyright (c) 2000-2011 OpenPKG Foundation e.V. <http://openpkg.net/>
michael@356 4 ##
michael@356 5 ## Permission to use, copy, modify, and distribute this software for
michael@356 6 ## any purpose with or without fee is hereby granted, provided that
michael@356 7 ## the above copyright notice and this permission notice appear in all
michael@356 8 ## copies.
michael@356 9 ##
michael@356 10 ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
michael@356 11 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
michael@356 12 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
michael@356 13 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
michael@356 14 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
michael@356 15 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
michael@356 16 ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
michael@356 17 ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
michael@356 18 ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
michael@356 19 ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
michael@356 20 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
michael@356 21 ## SUCH DAMAGE.
michael@356 22 ##
michael@356 23
michael@356 24 # package version
michael@356 25 %define V_libsyck 0.70
michael@356 26 %define V_libyaml 0.1.4
michael@356 27 %define V_perl_yaml 0.73
michael@356 28 %define V_perl_yaml_syck 1.17
michael@356 29 %define V_perl_yaml_tiny 1.50
michael@356 30 %define V_perl_yaml_appconfig 0.16
michael@356 31 %define V_perl_yaml_libyaml 0.35
michael@356 32 %define V_perl_yaml_active 1.100810
michael@356 33 %define V_perl_yaml_object 0.04
michael@356 34 %define V_perl_io_yaml 0.08
michael@356 35 %define V_yaml_javascript 0.03
michael@356 36 %define V_yaml_spec 2004-12-28
michael@356 37 %define V_java_jvyaml 0.2.1
michael@356 38 %define V_java_jyaml 1.3
michael@356 39 %define V_php_syck 0.9.3
michael@356 40 %define V_php_yaml 1.0.1
michael@356 41 %define V_php_spyc 0.4.5
michael@356 42
michael@356 43 # package information
michael@356 44 Name: yaml
michael@356 45 Summary: YAML Ain't Markup Language (YAML)
michael@356 46 URL: http://yaml.org/
michael@356 47 Vendor: B. Ingerson, C. Evans, O. Ben-Kiki et al.
michael@356 48 Packager: OpenPKG Foundation e.V.
michael@356 49 Distribution: OpenPKG Community
michael@356 50 Class: PLUS
michael@356 51 Group: Language
michael@356 52 License: BSD/Artistic
michael@356 53 Version: 0
michael@356 54 Release: 20110624
michael@356 55
michael@356 56 # package options
michael@356 57 %option with_perl no
michael@356 58 %option with_php no
michael@356 59 %option with_ruby no
michael@356 60 %option with_java no
michael@356 61
michael@356 62 # list of sources
michael@356 63 Source0: http://cloud.github.com/downloads/indeyets/syck/syck-%{V_libsyck}.tar.gz
michael@356 64 Source1: http://pyyaml.org/download/libyaml/yaml-%{V_libyaml}.tar.gz
michael@356 65 Source2: http://www.cpan.org/modules/by-module/YAML/YAML-%{V_perl_yaml}.tar.gz
michael@356 66 Source3: http://www.cpan.org/modules/by-module/YAML/YAML-Syck-%{V_perl_yaml_syck}.tar.gz
michael@356 67 Source4: http://www.cpan.org/modules/by-module/YAML/YAML-Tiny-%{V_perl_yaml_tiny}.tar.gz
michael@356 68 Source5: http://www.cpan.org/modules/by-module/YAML/YAML-AppConfig-%{V_perl_yaml_appconfig}.tar.gz
michael@356 69 Source6: http://www.cpan.org/modules/by-module/YAML/YAML-LibYAML-%{V_perl_yaml_libyaml}.tar.gz
michael@356 70 Source7: http://www.cpan.org/modules/by-module/YAML/YAML-Active-%{V_perl_yaml_active}.tar.gz
michael@356 71 Source8: http://www.cpan.org/authors/id/N/NK/NKUITSE/IO-YAML-%{V_perl_io_yaml}.tar.gz
michael@356 72 Source9: http://osdn.dl.sourceforge.net/yaml-javascript/yaml-javascript-%{V_yaml_javascript}.tar.gz
michael@356 73 Source10: https://jvyaml.dev.java.net/files/documents/5215/41455/jvyaml-src-%{V_java_jvyaml}.tar.gz
michael@356 74 Source11: http://switch.dl.sourceforge.net/jyaml/jyaml-src-%{V_java_jyaml}.tgz
michael@356 75 Source12: http://www.cpan.org/authors/id/E/EI/EIDOLON/YAML-Object-%{V_perl_yaml_object}.tar.gz
michael@356 76 Source13: http://pecl.php.net/get/syck-%{V_php_syck}.tgz
michael@356 77 Source14: http://pecl.php.net/get/yaml-%{V_php_yaml}.tgz
michael@356 78 Source15: http://spyc.googlecode.com/files/spyc-%{V_php_spyc}.zip
michael@356 79 Source16: http://yaml.org/spec/history/%{V_yaml_spec}/%{V_yaml_spec}.pdf
michael@356 80 Source17: yaml.yml
michael@356 81 Patch0: yaml.patch
michael@356 82
michael@356 83 # build information
michael@356 84 BuildPreReq: OpenPKG, openpkg >= 20100101, make, bison
michael@356 85 PreReq: OpenPKG, openpkg >= 20100101
michael@356 86 %if "%{with_perl}" == "yes"
michael@356 87 BuildPreReq: perl, perl-openpkg, perl-module
michael@356 88 PreReq: perl
michael@356 89 %endif
michael@356 90 %if "%{with_php}" == "yes"
michael@356 91 BuildPreReq: php, autoconf
michael@356 92 PreReq: php
michael@356 93 %endif
michael@356 94 %if "%{with_ruby}" == "yes"
michael@356 95 BuildPreReq: ruby
michael@356 96 PreReq: ruby
michael@356 97 %endif
michael@356 98 %if "%{with_java}" == "yes"
michael@356 99 BuildPreReq: java, JAVA-JDK, ant
michael@356 100 PreReq: java, JAVA-JDK
michael@356 101 %endif
michael@356 102
michael@356 103 %description
michael@356 104 YAML Ain't Markup Language (YAML) is an international collaboration
michael@356 105 to make a sophisticated data serialization language which is both
michael@356 106 human readable and computationally powerful. This OpenPKG package
michael@356 107 provides C, and JavaScript plus optionally Perl, PHP, and Ruby APIs
michael@356 108 for the generation and parsing of YAML.
michael@356 109
michael@356 110 %track
michael@356 111 prog yaml:libsyck = {
michael@356 112 version = %{V_libsyck}
michael@356 113 url = http://github.com/indeyets/syck/downloads
michael@356 114 regex = syck-(__VER__)\.tar\.gz
michael@356 115 }
michael@356 116 prog yaml:libyaml = {
michael@356 117 version = %{V_libyaml}
michael@356 118 url = http://pyyaml.org/download/libyaml/
michael@356 119 regex = yaml-(__VER__)\.tar\.gz
michael@356 120 }
michael@356 121 prog yaml:YAML = {
michael@356 122 version = %{V_perl_yaml}
michael@356 123 url = http://www.cpan.org/modules/by-module/YAML/
michael@356 124 regex = YAML-(__VER__)\.tar\.gz
michael@356 125 }
michael@356 126 prog yaml:YAML-Syck = {
michael@356 127 version = %{V_perl_yaml_syck}
michael@356 128 url = http://www.cpan.org/modules/by-module/YAML/
michael@356 129 regex = YAML-Syck-(__VER__)\.tar\.gz
michael@356 130 }
michael@356 131 prog yaml:YAML-Tiny = {
michael@356 132 version = %{V_perl_yaml_tiny}
michael@356 133 url = http://www.cpan.org/modules/by-module/YAML/
michael@356 134 regex = YAML-Tiny-(__VER__)\.tar\.gz
michael@356 135 }
michael@356 136 prog yaml:YAML-AppConfig = {
michael@356 137 version = %{V_perl_yaml_appconfig}
michael@356 138 url = http://www.cpan.org/modules/by-module/YAML/
michael@356 139 regex = YAML-AppConfig-(__VER__)\.tar\.gz
michael@356 140 }
michael@356 141 prog yaml:YAML-LibYAML = {
michael@356 142 version = %{V_perl_yaml_libyaml}
michael@356 143 url = http://www.cpan.org/modules/by-module/YAML/
michael@356 144 regex = YAML-LibYAML-(__VER__)\.tar\.gz
michael@356 145 }
michael@356 146 prog yaml:YAML-Active = {
michael@356 147 comment = "rse: 1.08 requires Class::Accessor::Complex and this too many others"
michael@356 148 version = %{V_perl_yaml_active}
michael@356 149 url = http://www.cpan.org/modules/by-module/YAML/
michael@356 150 regex = YAML-Active-(__VER__)\.tar\.gz
michael@356 151 }
michael@356 152 prog yaml:IO-YAML = {
michael@356 153 version = %{V_perl_io_yaml}
michael@356 154 url = http://www.cpan.org/authors/id/N/NK/NKUITSE/
michael@356 155 regex = IO-YAML-(__VER__)\.tar\.gz
michael@356 156 }
michael@356 157 prog yaml:yaml-javascript = {
michael@356 158 version = %{V_yaml_javascript}
michael@356 159 url = http://sourceforge.net/projects/yaml-javascript/files/
michael@356 160 regex = yaml-javascript-(__VER__)\.tar\.gz
michael@356 161 }
michael@356 162 prog yaml:yaml-spec = {
michael@356 163 disabled
michael@356 164 comment = "rse: website references not existing 2004-12-30 and no updates since recently anyway"
michael@356 165 version = %{V_yaml_spec}
michael@356 166 url = http://yaml.org/spec/
michael@356 167 regex = (\d{4}-\d{2}-\d{2})\.pdf
michael@356 168 }
michael@356 169 prog yaml:java-jvyaml = {
michael@356 170 version = %{V_java_jvyaml}
michael@356 171 url = http://jvyaml.dev.java.net/servlets/ProjectDocumentList
michael@356 172 regex = jvyaml-src-(__VER__)\.tar\.gz
michael@356 173 }
michael@356 174 prog yaml:java-jyaml = {
michael@356 175 version = %{V_java_jyaml}
michael@356 176 url = http://sourceforge.net/projects/jyaml/files/
michael@356 177 regex = jyaml-src-(__VER__)\.tgz
michael@356 178 }
michael@356 179 prog yaml:YAML-Object = {
michael@356 180 version = %{V_perl_yaml_object}
michael@356 181 url = http://www.cpan.org/authors/id/E/EI/EIDOLON/
michael@356 182 regex = YAML-Object-(__VER__)\.tar\.gz
michael@356 183 }
michael@356 184 prog yaml:PHP-Syck = {
michael@356 185 version = %{V_php_syck}
michael@356 186 url = http://pecl.php.net/package/syck
michael@356 187 regex = syck-(__VER__)\.tgz
michael@356 188 }
michael@356 189 prog yaml:PHP-YAML = {
michael@356 190 version = %{V_php_yaml}
michael@356 191 url = http://pecl.php.net/package/yaml
michael@356 192 regex = yaml-(__VER__)\.tgz
michael@356 193 }
michael@356 194 prog yaml:PHP-spyc = {
michael@356 195 version = %{V_php_spyc}
michael@356 196 url = http://spyc.googlecode.com/files/
michael@356 197 regex = spyc-(__VER__)\.zip
michael@356 198 }
michael@356 199
michael@356 200 %prep
michael@356 201 %setup -q -c
michael@356 202 %setup -q -T -D -a 1
michael@356 203 %setup -q -T -D -a 2
michael@356 204 %setup -q -T -D -a 3
michael@356 205 %setup -q -T -D -a 4
michael@356 206 %setup -q -T -D -a 5
michael@356 207 %setup -q -T -D -a 6
michael@356 208 %setup -q -T -D -a 7
michael@356 209 %setup -q -T -D -a 8
michael@356 210 %setup -q -T -D -a 9
michael@356 211 %setup -q -T -D -a 10
michael@356 212 %setup -q -T -D -a 11
michael@356 213 %setup -q -T -D -a 12
michael@356 214 %setup -q -T -D -a 13
michael@356 215 %setup -q -T -D -a 14
michael@356 216 %setup -q -T -D -a 15
michael@356 217 %patch -p0
michael@356 218
michael@356 219 %build
michael@356 220 # build YAML C API
michael@356 221 ( cd yaml-%{V_libyaml}
michael@356 222 CC="%{l_cc}" \
michael@356 223 CFLAGS="%{l_cflags -O}" \
michael@356 224 ./configure \
michael@356 225 --prefix=%{l_prefix} \
michael@356 226 --disable-shared
michael@356 227 %{l_make} %{l_mflags -O}
michael@356 228 ) || exit $?
michael@356 229
michael@356 230 # build Syck C API
michael@356 231 ( cd syck-%{V_libsyck}
michael@356 232 CC="%{l_cc}" \
michael@356 233 CFLAGS="%{l_cflags -O}" \
michael@356 234 ./configure \
michael@356 235 --prefix=%{l_prefix} \
michael@356 236 --disable-shared
michael@356 237 %{l_make} %{l_mflags}
michael@356 238 ) || exit $?
michael@356 239
michael@356 240 # build PHP API
michael@356 241 %if "%{with_php}" == "yes"
michael@356 242 ( cd syck-%{V_php_syck}
michael@356 243 %{l_prefix}/bin/phpize
michael@356 244 CC="%{l_cc}" \
michael@356 245 CFLAGS="%{l_cflags -O}" \
michael@356 246 CPPFLAGS="-I`pwd`/../syck-%{V_libsyck}/lib" \
michael@356 247 LDFLAGS="-L`pwd`/../syck-%{V_libsyck}/lib" \
michael@356 248 ./configure \
michael@356 249 --with-syck=`pwd`/../syck-%{V_libsyck}
michael@356 250 %{l_make} %{l_mflags}
michael@356 251 ) || exit $?
michael@356 252 ( cd yaml-%{V_php_yaml}
michael@356 253 %{l_prefix}/bin/phpize
michael@356 254 CC="%{l_cc}" \
michael@356 255 CFLAGS="%{l_cflags -O}" \
michael@356 256 CPPFLAGS="-I`pwd`/../yaml-%{V_libyaml}/include" \
michael@356 257 LDFLAGS="-L`pwd`/../yaml-%{V_libyaml}/src/.libs" \
michael@356 258 ./configure \
michael@356 259 --with-yaml=`pwd`/../yaml-%{V_libyaml}
michael@356 260 %{l_make} %{l_mflags}
michael@356 261 ) || exit $?
michael@356 262 %endif
michael@356 263
michael@356 264 # build Ruby API
michael@356 265 %if "%{with_ruby}" == "yes"
michael@356 266 ( cd syck-%{V_libsyck}/ext/ruby
michael@356 267 %{l_prefix}/bin/ruby install.rb config --prefix=%{l_prefix}
michael@356 268 %{l_prefix}/bin/ruby install.rb setup
michael@356 269 ) || exit $?
michael@356 270 %endif
michael@356 271
michael@356 272 # build Perl API
michael@356 273 %if "%{with_perl}" == "yes"
michael@356 274 %{l_prefix}/bin/perl-openpkg prepare
michael@356 275 %{l_prefix}/bin/perl-openpkg -d YAML-%{V_perl_yaml} configure build
michael@356 276 %{l_prefix}/bin/perl-openpkg -d YAML-Syck-%{V_perl_yaml_syck} configure build
michael@356 277 %{l_prefix}/bin/perl-openpkg -d YAML-Tiny-%{V_perl_yaml_tiny} configure build
michael@356 278 %{l_prefix}/bin/perl-openpkg -d YAML-AppConfig-%{V_perl_yaml_appconfig} configure build
michael@356 279 %{l_prefix}/bin/perl-openpkg -d YAML-LibYAML-%{V_perl_yaml_libyaml} configure build
michael@356 280 %{l_prefix}/bin/perl-openpkg -d YAML-Active-%{V_perl_yaml_active} configure build
michael@356 281 %{l_prefix}/bin/perl-openpkg -d YAML-Object-%{V_perl_yaml_object} configure build
michael@356 282 %{l_prefix}/bin/perl-openpkg -d IO-YAML-%{V_perl_io_yaml} configure build
michael@356 283 %endif
michael@356 284
michael@356 285 # build Java API
michael@356 286 %if "%{with_java}" == "yes"
michael@356 287 ( cd jvyaml-%{V_java_jvyaml}
michael@356 288 %{l_prefix}/bin/ant
michael@356 289 ) || exit $?
michael@356 290 ( cd jyaml
michael@356 291 %{l_prefix}/bin/ant
michael@356 292 ) || exit $?
michael@356 293 %endif
michael@356 294
michael@356 295 %install
michael@356 296
michael@356 297 # install YAML C API
michael@356 298 ( cd yaml-%{V_libyaml}
michael@356 299 %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
michael@356 300 ) || exit $?
michael@356 301
michael@356 302 # install Syck C API
michael@356 303 ( cd syck-%{V_libsyck}
michael@356 304 %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
michael@356 305 ) || exit $?
michael@356 306
michael@356 307 # install PHP API
michael@356 308 %if "%{with_php}" == "yes"
michael@356 309 ( cd syck-%{V_php_syck}
michael@356 310 %{l_make} %{l_mflags} install INSTALL_ROOT=$RPM_BUILD_ROOT
michael@356 311 ) || exit $?
michael@356 312 ( cd yaml-%{V_php_yaml}
michael@356 313 %{l_make} %{l_mflags} install INSTALL_ROOT=$RPM_BUILD_ROOT
michael@356 314 ) || exit $?
michael@356 315 ( cd spyc-%{V_php_spyc}
michael@356 316 %{l_shtool} mkdir -f -p -m 755 \
michael@356 317 $RPM_BUILD_ROOT%{l_prefix}/share/yaml
michael@356 318 %{l_shtool} install -c -m 644 \
michael@356 319 spyc.php $RPM_BUILD_ROOT%{l_prefix}/share/yaml/
michael@356 320 ) || exit $?
michael@356 321 %endif
michael@356 322
michael@356 323 # install Ruby API
michael@356 324 %if "%{with_ruby}" == "yes"
michael@356 325 ( cd syck-%{V_libsyck}/ext/ruby
michael@356 326 %{l_prefix}/bin/ruby install.rb install --prefix=$RPM_BUILD_ROOT
michael@356 327 ) || exit $?
michael@356 328 %endif
michael@356 329
michael@356 330 # install Perl API
michael@356 331 %if "%{with_perl}" == "yes"
michael@356 332 %{l_prefix}/bin/perl-openpkg -d YAML-%{V_perl_yaml} install
michael@356 333 %{l_prefix}/bin/perl-openpkg -d YAML-Syck-%{V_perl_yaml_syck} install
michael@356 334 %{l_prefix}/bin/perl-openpkg -d YAML-Tiny-%{V_perl_yaml_tiny} install
michael@356 335 %{l_prefix}/bin/perl-openpkg -d YAML-AppConfig-%{V_perl_yaml_appconfig} install
michael@356 336 %{l_prefix}/bin/perl-openpkg -d YAML-LibYAML-%{V_perl_yaml_libyaml} install
michael@356 337 %{l_prefix}/bin/perl-openpkg -d YAML-Active-%{V_perl_yaml_active} install
michael@356 338 %{l_prefix}/bin/perl-openpkg -d YAML-Object-%{V_perl_yaml_object} install
michael@356 339 %{l_prefix}/bin/perl-openpkg -d IO-YAML-%{V_perl_io_yaml} install
michael@356 340 %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup
michael@356 341 %else
michael@356 342 >perl-openpkg-files
michael@356 343 %endif
michael@356 344
michael@356 345 # install Java API
michael@356 346 %if "%{with_java}" == "yes"
michael@356 347 %{l_shtool} mkdir -f -p -m 755 \
michael@356 348 $RPM_BUILD_ROOT%{l_prefix}/lib/yaml
michael@356 349 %{l_shtool} install -c -m 644 \
michael@356 350 jvyaml-%{V_java_jvyaml}/lib/jvyaml.jar \
michael@356 351 $RPM_BUILD_ROOT%{l_prefix}/lib/yaml/
michael@356 352 %{l_shtool} install -c -m 644 \
michael@356 353 jyaml/dist/jyaml-*.jar \
michael@356 354 $RPM_BUILD_ROOT%{l_prefix}/lib/yaml/jyaml.jar
michael@356 355 %endif
michael@356 356
michael@356 357 # install JavaScript API
michael@356 358 %{l_shtool} mkdir -f -p -m 755 \
michael@356 359 $RPM_BUILD_ROOT%{l_prefix}/share/yaml
michael@356 360 %{l_shtool} install -c -m 644 \
michael@356 361 yaml-javascript-%{V_yaml_javascript}/yaml_dumper.js \
michael@356 362 $RPM_BUILD_ROOT%{l_prefix}/share/yaml/
michael@356 363
michael@356 364 # install YAML specification and quick reference
michael@356 365 %{l_shtool} install -c -m 644 \
michael@356 366 %{SOURCE %{V_yaml_spec}.pdf} \
michael@356 367 $RPM_BUILD_ROOT%{l_prefix}/share/yaml/yaml.pdf
michael@356 368 %{l_shtool} install -c -m 644 \
michael@356 369 %{SOURCE yaml.yml} \
michael@356 370 $RPM_BUILD_ROOT%{l_prefix}/share/yaml/
michael@356 371
michael@356 372 # determine installation files
michael@356 373 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
michael@356 374 %{l_files_std} `cat perl-openpkg-files`
michael@356 375
michael@356 376 %files -f files
michael@356 377
michael@356 378 %clean
michael@356 379

mercurial