From b7dd3f6aea2a29f963b9ce297700af02c6331998 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 29 Dec 2011 09:33:38 +0100 Subject: syck: import from f16 --- Makefile | 4 + syck-0.55-libtool.patch | 57 ++++++++ syck-nan.patch | 22 +++ syck.ini | 2 + syck.spec | 345 ++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 430 insertions(+) create mode 100644 Makefile create mode 100644 syck-0.55-libtool.patch create mode 100644 syck-nan.patch create mode 100644 syck.ini create mode 100644 syck.spec diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1e65467 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +SRCDIR := $(shell pwd) +NAME := $(shell basename $(SRCDIR)) +include ../common/Makefile + diff --git a/syck-0.55-libtool.patch b/syck-0.55-libtool.patch new file mode 100644 index 0000000..d8e29f4 --- /dev/null +++ b/syck-0.55-libtool.patch @@ -0,0 +1,57 @@ +--- syck-0.55/ext/php/make_module.sh.bak 2005-08-24 16:02:05.000000000 -0700 ++++ syck-0.55/ext/php/make_module.sh 2005-08-24 16:09:19.000000000 -0700 +@@ -1,5 +1,5 @@ + #!/bin/sh + phpize +-./configure --with-syck ++CFLAGS='-L../../lib/.libs -I../../lib' ./configure --with-syck=../../lib/.libs + make + make install +--- syck-0.55/ext/python/setup.py.bak 2005-08-24 15:54:34.000000000 -0700 ++++ syck-0.55/ext/python/setup.py 2005-08-24 15:55:12.000000000 -0700 +@@ -3,7 +3,7 @@ + syck = Extension('syck', + include_dirs = ['/usr/local/include','../../lib'], + libraries = ['syck'], +- library_dirs = ['/usr/local/lib','../../lib'], ++ library_dirs = ['/usr/local/lib','../../lib/.libs'], + sources = ['pyext.c']) + + setup (name = 'Syck', +--- syck-0.55/lib/Makefile.am.bak 2005-08-24 15:37:27.000000000 -0700 ++++ syck-0.55/lib/Makefile.am 2005-08-24 15:45:55.000000000 -0700 +@@ -4,10 +4,10 @@ + + AM_YFLAGS = -d -t -v -p syck + +-lib_LIBRARIES = libsyck.a ++lib_LTLIBRARIES = libsyck.la + include_HEADERS = syck.h syck_st.h + +-libsyck_a_SOURCES = \ ++libsyck_la_SOURCES = \ + emitter.c \ + handler.c \ + node.c \ +@@ -19,6 +19,11 @@ + token.re \ + implicit.re + ++# CURRENT:REVISION:AGE ++# Bump REVISION if there's no API or ABI changes. ++# Bump AGE and CURRENT and reset REVISION if there's no ABI changes. ++# Bump CURRENT and reset AGE and REVISION if there's ABI changes. ++libsyck_la_LDFLAGS = -version-info 0:55:0 + # libsyck_a_LIBADD = $(LEXLIB) + + REC = re2c +--- syck-0.55/configure.in.bak 2005-08-24 15:37:00.000000000 -0700 ++++ syck-0.55/configure.in 2005-08-24 15:50:42.000000000 -0700 +@@ -7,6 +7,7 @@ + AM_CONFIG_HEADER(config.h) + + # Checks for programs. ++AC_PROG_LIBTOOL + AC_PROG_CC_STDC + AC_PROG_INSTALL + AC_PROG_LN_S diff --git a/syck-nan.patch b/syck-nan.patch new file mode 100644 index 0000000..c27dce8 --- /dev/null +++ b/syck-nan.patch @@ -0,0 +1,22 @@ +diff -up ext/php/phpext.c.php53 ext/php/phpext.c +--- ext/php/phpext.c.php53 2009-07-14 08:03:44.000000000 +0200 ++++ ext/php/phpext.c 2009-07-14 08:08:36.000000000 +0200 +@@ -21,7 +21,7 @@ + static double zero() { return 0.0; } + static double one() { return 1.0; } + static double inf() { return one() / zero(); } +-static double nan() { return zero() / zero(); } ++static double mynan() { return zero() / zero(); } + + /* {{{ syck_functions[] + * +@@ -220,7 +220,7 @@ php_syck_handler(p, n) + } + else if ( strcmp( n->type_id, "float#nan" ) == 0 ) + { +- ZVAL_DOUBLE( o, nan() ); ++ ZVAL_DOUBLE( o, mynan() ); + } + else if ( strcmp( n->type_id, "float#inf" ) == 0 ) + { +diff -up ext/php/php_syck.h.php53 ext/php/php_syck.h diff --git a/syck.ini b/syck.ini new file mode 100644 index 0000000..e5df139 --- /dev/null +++ b/syck.ini @@ -0,0 +1,2 @@ +; Enable syck extension module +extension=syck.so diff --git a/syck.spec b/syck.spec new file mode 100644 index 0000000..e3a0467 --- /dev/null +++ b/syck.spec @@ -0,0 +1,345 @@ +%define php_extdir %(php-config --extension-dir || echo %{_libdir}/php) +%{!?php_version:%define php_version %(php-config --version || echo bad)} +%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} + +Name: syck +Summary: YAML for C, Python, and PHP + +Version: 0.61 +Release: 13%{?dist} + +License: BSD +Group: System Environment/Libraries +URL: http://whytheluckystiff.net/syck/ + +Source0: http://pyyaml.org/download/pysyck/syck-%{version}+svn231+patches.tar.gz +Source1: syck.ini + +Patch0: syck-0.55-libtool.patch +Patch1: syck-nan.patch + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: gawk bison flex libtool +BuildRequires: php-devel +BuildRequires: python-devel +BuildRequires: bison-devel +BuildRequires: automake + +%description +Syck is an extension for reading and writing YAML swiftly in popular scripting +languages. As Syck loads the YAML, it stores the data directly in your +language's symbol table. This means speed. This means power. This means Do not +disturb Syck because it is so focused on the task at hand that it will slay you +mortally if you get in its way. + +From http://yaml.org: +YAML(tm) (rhymes with "camel") is a straightforward machine parsable data +serialization format designed for human readability and interaction with +scripting languages such as Perl and Python. YAML is optimized for data +serialization, configuration settings, log files, Internet messaging and +filtering. + +%package php +Summary: YAML module for php +Group: Development/Languages +%if %{?php_zend_api}0 +Requires: php(zend-abi) = %{php_zend_api} +Requires: php(api) = %{php_core_api} +%else +Requires: php = %{php_version} +%endif +Provides: php-syck = %{version}-%{release} + +%description php +Syck is an extension for reading and writing YAML swiftly in popular scripting +languages. As Syck loads the YAML, it stores the data directly in your +language's symbol table. This means speed. This means power. This means Do not +disturb Syck because it is so focused on the task at hand that it will slay you +mortally if you get in its way. + +From http://yaml.org: +YAML(tm) (rhymes with "camel") is a straightforward machine parsable data +serialization format designed for human readability and interaction with +scripting languages such as Perl and Python. YAML is optimized for data +serialization, configuration settings, log files, Internet messaging and +filtering. + +The %{name}-php package contains the syck php extension. + +%package python +Summary: YAML module for python +Group: Development/Languages + +%description python +Syck is an extension for reading and writing YAML swiftly in popular scripting +languages. As Syck loads the YAML, it stores the data directly in your +language's symbol table. This means speed. This means power. This means Do not +disturb Syck because it is so focused on the task at hand that it will slay you +mortally if you get in its way. + +From http://yaml.org: +YAML(tm) (rhymes with "camel") is a straightforward machine parsable data +serialization format designed for human readability and interaction with +scripting languages such as Perl and Python. YAML is optimized for data +serialization, configuration settings, log files, Internet messaging and +filtering. + +The %{name}-python package contains the syck php extension. + +%package devel +Summary: Static libraries and headers for developing with Syck +Group: Development/Libraries +Requires: syck = %{version}-%{release} +%description devel +Syck is an extension for reading and writing YAML swiftly in popular scripting +languages. As Syck loads the YAML, it stores the data directly in your +language's symbol table. This means speed. This means power. This means Do not +disturb Syck because it is so focused on the task at hand that it will slay you +mortally if you get in its way. + +From http://yaml.org: +YAML(tm) (rhymes with "camel") is a straightforward machine parsable data +serialization format designed for human readability and interaction with +scripting languages such as Perl and Python. YAML is optimized for data +serialization, configuration settings, log files, Internet messaging and +filtering. + +This package contains the header files and static archive for developing with +Syck. + +%prep +%setup -q -n syck-0.61+svn231+patches +%patch0 -p1 -b .libtool +%patch1 -p0 -b .nan + +%build +# Rebuild all +touch NEWS ChangeLog AUTHORS +autoreconf -f -i +%configure --disable-static + +#%{__make} %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" +#not parallel-build-safe +%{__make} CFLAGS="$RPM_OPT_FLAGS" + +rm lib/*.la lib/.libs/*.la lib/.libs/*.lai +# Go into extensions directory +pushd ext + +# PHP extension +pushd php +phpize +export php_cv_cc_rpath=no +CFLAGS="$RPM_OPT_FLAGS -I../../lib -L../../lib/.libs" %configure --with-syck=. +%{__make} %{?_smp_mflags} +popd # End php extension + +# Python extension +pushd python +CFLAGS="$RPM_OPT_FLAGS" %{__python} setup.py build +popd # End python extension + +# Don't build the ruby extension, as syck is included since ruby 1.8.0. +# See the rubygarden: http://www.rubygarden.org/ruby?YamlInRuby + +# Get out of extension +popd + +%install +rm -rf $RPM_BUILD_ROOT +%{__make} install DESTDIR=$RPM_BUILD_ROOT + +rm -f $RPM_BUILD_ROOT%{_libdir}/*.la + +# Go into extensions directory +pushd ext + +# PHP extension +pushd php +%{__make} install INSTALL_ROOT=$RPM_BUILD_ROOT +popd # End php extension + +install -D -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/php.d/syck.ini + +# Python extension +pushd python +%{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT +popd # End python extension + +# Get out of extension +popd + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root,0755) +%doc COPYING README TODO RELEASE CHANGELOG +%{_libdir}/*.so.* + +%files devel +%defattr(-,root,root,0755) +%doc README.EXT README.BYTECODE +%{_libdir}/*.so +%{_includedir}/*.h + +%files python +%defattr(-,root,root,0755) +%{python_sitearch}/* + +%files php +%defattr(-,root,root,0755) +%{php_extdir}/*.so +%config(noreplace) %{_sysconfdir}/php.d/syck.ini + +%changelog +* Wed Feb 09 2011 Fedora Release Engineering - 0.61-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Jul 22 2010 David Malcolm - 0.61-12 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Fri Feb 12 2010 Oliver Falk - 0.61-11 +- Force autotools rebuild + +* Fri Feb 12 2010 Oliver Falk - 0.61-10 +- NO update to 0.70 for now - it's somewhat b0rken +- Disable building of static libs #556095 + +* Sun Jul 26 2009 Fedora Release Engineering - 0.61-9.3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue Jul 14 2009 Remi Collet - 0.61-8.3 +- rebuild for new PHP 5.3.0 ABI (20090626) +- add syck-nan.patch + +* Wed Feb 25 2009 Fedora Release Engineering - 0.61-8.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Jan 07 2009 Caolán McNamara - 0.61-7.2 +- build isn't parallel-make safe + +* Fri Dec 19 2008 Oliver Falk - 0.61-7.1 +- Add bison-devel as BR + +* Fri Dec 19 2008 Oliver Falk - 0.61-7 +- Rebuild for deps + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.61-6.1 +- Rebuild for Python 2.6 + +* Fri Jun 06 2008 Oliver Falk - 0.61-5.1 +- Add syck.ini to files + +* Fri Jun 06 2008 Oliver Falk - 0.61-5 +- Rebuild to fix bug #447561 +- Add syck.ini + +* Tue Feb 19 2008 Oliver Falk - 0.61-4.3 +- Yet another python fix + +* Tue Feb 19 2008 Fedora Release Engineering - 0.61-4.2 +- Autorebuild for GCC 4.3 + +* Mon Feb 18 2008 Oliver Falk - 0.61-3.2 +* Make egginfo work and clean up python stuff in spec + +* Sat Feb 16 2008 Oliver Falk - 0.61-3.1 +- Rebuild against new PHP + +* Thu Sep 20 2007 Oliver Falk - 0.61-2 +- Rebuild against new PHP + +* Tue Aug 21 2007 Oliver Falk - 0.61-1 +- Update +- Clean up spec a bit +- Rebuild to make Jesse happy + +* Thu Jul 19 2007 Jesse Keating - 0.55-17 +- Rebuild against new PHP, again. + +* Thu May 24 2007 Jason L Tibbitts III - 0.55-16 +- Rebuild against new PHP + +* Wed Mar 14 2007 Oliver Falk - 0.55-15 +- Bug #205438, don't ghost pyo any longer + +* Mon Feb 26 2007 Oliver Falk - 0.55-14 +- Rebuild against new PHP + +* Sun Dec 24 2006 Jason L Tibbitts III - 0.55-13 +- Rebuild with Python 2.5. + +* Fri Dec 01 2006 Jason L Tibbitts III - 0.55-12 +- Adapt to new autoconf in rawhide. + +* Thu Nov 30 2006 Jason L Tibbitts III - 0.55-11 +- Rebuild for updated php. + +* Fri Sep 01 2006 Jason L Tibbitts III - 0.55-10 +- Rebuild. + +* Sat Aug 26 2006 Jason L Tibbitts III - 0.55-9 +- Add BR: libtool to work with the minimal buildroot. + +* Sat Aug 26 2006 Jason L Tibbitts III - 0.55-8 +- Rebuild. + +* Wed Feb 22 2006 Oliver Falk - 0.55-7 +- Bug #175619 + +* Fri Sep 16 2005 Oliver Falk - 0.55-6 +- Compile against PHP 5.0.5 + +* Thu Aug 25 2005 Toshio Kuratomi - 0.55-5 +- Stop using a dynamically generated php-version in the BR. +- Create a devel package +- Correct libtool patch and implementation +- Implement some ugly workarounds to get the php module to build correctly +- Change Groups to be more like Core packages +- Enhance Summaries and description +- %%ghost the *.pyos. + +* Thu Aug 25 2005 Oliver Falk - 0.55-4 +- Bugs from #165686 +- Add dist-tag + +* Wed Aug 24 2005 Oliver Falk - 0.55-3 +- Fix filelist +- Fix php module path - dynamic + +* Wed Aug 24 2005 Oliver Falk - 0.55-2 +- Bug #165686 + +* Thu May 19 2005 Oliver Falk - 0.55-1 +- Update +- Remove patch, as it works without now + +* Fri Apr 08 2005 Oliver Falk - 0.54-2 +- Patch gram.y (taken from CVS) to fix compilation on Fedora Core 3 + (Should fix compilation...) + +* Tue Apr 05 2005 Oliver Falk - 0.53-1.1 +- Force rebuild on buildsys + +* Sun Apr 03 2005 Oliver Falk - 0.53-1 +- Update + +* Fri Mar 25 2005 Oliver Falk - 0.51-1.2 +- Force rebuild at automated build system... + +* Fri Mar 25 2005 Oliver Falk - 0.51-1.1 +- Rebuild +- Specfile cleanup + +* Tue Mar 15 2005 Oliver Falk - 0.51-1 +- Update +- Delete python and php comments +- Move syck package to my cvs server + +* Wed Sep 22 2004 Oliver Falk - 0.45-1 +- Initial build -- cgit