[packages/io] - updated to 20110912 (last tagged release on github) - added link patch (fix io core libraries link

qboosh qboosh at pld-linux.org
Sun Nov 10 14:56:32 CET 2013


commit 55c8e619c3ed0c502bf93229ac6dffd542a1fd6e
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Nov 10 14:56:57 2013 +0100

    - updated to 20110912 (last tagged release on github)
    - added link patch (fix io core libraries linking)
    - added memcached patch (updates for current libmemcached)
    - added system-libsgml patch (use system libsgml)
    - added theora patch (fix Theora addon linking)
    - added addons patch (enable some disabled addons that build fine currently)
    - added one patch (fix build with ode, specifically 0.12)
    - added python patch (fix linking with python 2.x library when python 3.x is present too)

 io-addons.patch         |  40 ++++
 io-link.patch           |  21 ++
 io-memcached.patch      |  30 +++
 io-ode.patch            |  43 ++++
 io-python.patch         |  10 +
 io-system-libsgml.patch |  30 +++
 io-theora.patch         |  11 +
 io.spec                 | 595 +++++++++++++++++++++++++++++++++++++++---------
 8 files changed, 676 insertions(+), 104 deletions(-)
---
diff --git a/io.spec b/io.spec
index ee11abd..fa1dd8a 100644
--- a/io.spec
+++ b/io.spec
@@ -1,40 +1,69 @@
+#
+# Conditional build
+%bcond_with	glfw	# GLFW addon (not ready for glfw 3)
+#
 Summary:	Io programming language
 Summary(pl.UTF-8):	Język programowania Io
 Name:		io
-Version:	20061207
+Version:	20110912
 Release:	1
 License:	BSD
 Group:		Development/Languages
-Source0:	http://www.sigusr1.org/~steve/Io-2006-12-07.tar.gz
-# Source0-md5:	077588a5177f3ed65744dc1db7325370
-URL:		http://www.iolanguage.com/
+Source0:	https://github.com/stevedekorte/io/archive/2011.09.12/%{name}-%{version}.tar.gz
+# Source0-md5:	880b2d4b41cdfbeb7e8e3fe35e475739
+Patch0:		%{name}-link.patch
+Patch1:		%{name}-memcached.patch
+Patch2:		%{name}-system-libsgml.patch
+Patch3:		%{name}-theora.patch
+Patch4:		%{name}-addons.patch
+Patch5:		%{name}-ode.patch
+Patch6:		%{name}-python.patch
+URL:		http://iolanguage.org/
 BuildRequires:	OpenGL-GLU-devel
 BuildRequires:	OpenGL-glut-devel
-BuildRequires:	ffmpeg-devel
-BuildRequires:	freetype-devel
-BuildRequires:	glfw-devel
+BuildRequires:	cairo-devel
+#BuildRequires:	ffmpeg-devel
+BuildRequires:	freetype-devel >= 2
+%{?with_glfw:BuildRequires:	glfw-devel < 3}
 BuildRequires:	gmp-devel
-BuildRequires:	gnustep-gui-devel >= 0.11.0
+#BuildRequires:	gnustep-gui-devel >= 0.11.0
 BuildRequires:	libdbi-devel
+BuildRequires:	libedit-devel
 BuildRequires:	libevent-devel
+BuildRequires:	libffi-devel
 BuildRequires:	libjpeg-devel
+BuildRequires:	libmemcached-devel
+BuildRequires:	libogg-devel
 BuildRequires:	libpng-devel
 BuildRequires:	libsamplerate-devel
-BuildRequires:	libsgml-devel
+BuildRequires:	libsgml-devel >= 1.1.4
 BuildRequires:	libsndfile-devel
+BuildRequires:	libtheora-devel
 BuildRequires:	libtiff-devel
-BuildRequires:	libxml2-devel
+BuildRequires:	libuuid-devel
+BuildRequires:	libvorbis-devel
+BuildRequires:	libxml2-devel >= 2
+BuildRequires:	loudmouth-devel
+BuildRequires:	lzo-devel
+BuildRequires:	mysql-devel
+BuildRequires:	ncurses-devel >= 5.0
+BuildRequires:	ode-devel
+BuildRequires:	openssl-devel
 BuildRequires:	pcre-devel
 #BuildRequires:	portaudio-devel >= 18 < 19
 BuildRequires:	postgresql-devel
 BuildRequires:	python-devel >= 1:2.5
+BuildRequires:	qdbm-devel
+BuildRequires:	readline-devel
 BuildRequires:	sed >= 4.0
-BuildRequires:	soundtouch-devel >= 1.3.0
-BuildRequires:	sqlite-devel >= 2.0
+#BuildRequires:	soundtouch-devel >= 1.3.0
+#BuildRequires:	sqlite-devel >= 2.0
 BuildRequires:	sqlite3-devel >= 3.0
-BuildRequires:	ncurses-devel >= 5.0
 BuildRequires:	taglib-devel
+BuildRequires:	tokyocabinet-devel
+BuildRequires:	yajl-devel
 BuildRequires:	zlib-devel
+Obsoletes:	io-static
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -43,306 +72,664 @@ Io programming language.
 %description -l pl.UTF-8
 Język programowania Io.
 
-%package static
-Summary:	Static io library
-Summary(pl.UTF-8):	Statyczna biblioteka języka io
-Group:		Development/Libraries
-
-%description static
-Static io library.
-
-%description static -l pl.UTF-8
-Statyczna biblioteka języka io.
-
 %prep
-%setup -q -n Io-2006-12-07
-
-sed -i -e 's,"-Os -g,"%{rpmcflags},' build/Project.io
-sed -i -e 's,ncurses\.h,ncurses/ncurses.h,' addons/Curses/build.io addons/Curses/source/IoCurses.c
-# disable, not ported to v19 yet(?)
-sed -i -e 's,portaudio.h,portaudio18.h,' addons/PortAudio/build.io
-# version check is PLD-incompatible, enforce current version
-sed -i -e 's/version = "2\.4"/version = "2.5"/' addons/Python/build.io
+%setup -q -n io-2011.09.12
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
 
 %build
-%{__make} \
-	INSTALL_PREFIX=%{_prefix} \
-	CC="%{__cc}" \
-	OPTIMIZE="%{rpmcflags}"
+install -d build
+cd build
+%cmake .. \
+	-DCURSES_INCLUDE_PATH=/usr/include/ncurses
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} install \
-	INSTALL_PREFIX=$RPM_BUILD_ROOT%{_prefix}
+%{__make} -C build install \
+	DESTDIR=$RPM_BUILD_ROOT
 
 # nothing interesting
-rm -f $RPM_BUILD_ROOT%{_bindir}/io_static $RPM_BUILD_ROOT%{_libdir}/io/addons/*/{Makefile,build.io}
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/io_static
 # to examplesdir?
-rm -rf $RPM_BUILD_ROOT%{_libdir}/io/addons/*/{samples,tests}
+%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/io/addons/*/{samples,tests}
 # shouldn't be needed(?)
-rm -rf $RPM_BUILD_ROOT%{_libdir}/io/addons/*/{_build/{headers,lib,objs},source}
-# darwin-only
-rm -rf $RPM_BUILD_ROOT%{_libdir}/io/addons/AppleExtras
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/io/addons/*/CMakeLists.txt
+%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/io/addons/*/{_build/{headers,lib,objs},source}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/io/addons/TokyoCabinet/test.db
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/io/addons/Yajl/test.io
 # kill empty dirs
-rmdir --ignore-fail-on-non-empty $RPM_BUILD_ROOT%{_libdir}/io/addons/*/{io,resources}
+rmdir --ignore-fail-on-non-empty $RPM_BUILD_ROOT%{_libdir}/io/addons/*/_build/binaries
 
 # XXX: are addons/*/{depends,frameworks,protos} needed?
 
-mv $RPM_BUILD_ROOT%{_libdir}/io/addons/OpenGL/docs OpenGL-docs
+# addon docs
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/io/addons/CFFI/README docs/README.CFFI
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/io/addons/HttpClient/README docs/README.HttpClient
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/io/addons/HttpClient/TODO docs/TODO.HttpClient
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/io/addons/Volcano/README docs/README.Volcano
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%post	-p /sbin/ldconfig
+%postun	-p /sbin/ldconfig
+
 %files
 %defattr(644,root,root,755)
-%doc docs/guide.pdf docs/{guide.html,guide_files}  OpenGL-docs
+%doc README.md docs/*
 %attr(755,root,root) %{_bindir}/io
+%attr(755,root,root) %{_libdir}/libbasekit.so
+%attr(755,root,root) %{_libdir}/libcoroutine.so
+%attr(755,root,root) %{_libdir}/libgarbagecollector.so
 %attr(755,root,root) %{_libdir}/libiovmall.so
 %dir %{_libdir}/io
 %dir %{_libdir}/io/addons
-# TODO: split
-# R: ffmpeg
+
+# TODO: split (deps based?)
+
+# R: ffmpeg [disabled as broken in addons/CMakeLists.txt]
+%if %{with ffmpeg}
 %dir %{_libdir}/io/addons/AVCodec
 %dir %{_libdir}/io/addons/AVCodec/_build
 %dir %{_libdir}/io/addons/AVCodec/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/AVCodec/_build/dll/libIoAVCodec.so
 %{_libdir}/io/addons/AVCodec/io
-#
+%endif
+
 %dir %{_libdir}/io/addons/AsyncRequest
 %dir %{_libdir}/io/addons/AsyncRequest/_build
 %dir %{_libdir}/io/addons/AsyncRequest/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/AsyncRequest/_build/dll/libIoAsyncRequest.so
 %{_libdir}/io/addons/AsyncRequest/io
+%{_libdir}/io/addons/AsyncRequest/depends
+%{_libdir}/io/addons/AsyncRequest/protos
+
 # R: gmp
 %dir %{_libdir}/io/addons/BigNum
 %dir %{_libdir}/io/addons/BigNum/_build
 %dir %{_libdir}/io/addons/BigNum/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/BigNum/_build/dll/libIoBigNum.so
 %{_libdir}/io/addons/BigNum/io
-#
+%{_libdir}/io/addons/BigNum/depends
+%{_libdir}/io/addons/BigNum/protos
+
+%dir %{_libdir}/io/addons/Bitly
+%dir %{_libdir}/io/addons/Bitly/_build
+%dir %{_libdir}/io/addons/Bitly/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/Bitly/_build/dll/libIoBitly.so
+%{_libdir}/io/addons/Bitly/io
+%{_libdir}/io/addons/Bitly/depends
+%{_libdir}/io/addons/Bitly/protos
+
 %dir %{_libdir}/io/addons/Blowfish
 %dir %{_libdir}/io/addons/Blowfish/_build
 %dir %{_libdir}/io/addons/Blowfish/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/Blowfish/_build/dll/libIoBlowfish.so
 %{_libdir}/io/addons/Blowfish/io
-#
+%{_libdir}/io/addons/Blowfish/depends
+%{_libdir}/io/addons/Blowfish/protos
+
+%dir %{_libdir}/io/addons/Box
+%dir %{_libdir}/io/addons/Box/_build
+%dir %{_libdir}/io/addons/Box/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/Box/_build/dll/libIoBox.so
+%{_libdir}/io/addons/Box/io
+%{_libdir}/io/addons/Box/depends
+%{_libdir}/io/addons/Box/frameworks
+%{_libdir}/io/addons/Box/protos
+
+# R: libffi
+%dir %{_libdir}/io/addons/CFFI
+%dir %{_libdir}/io/addons/CFFI/_build
+%dir %{_libdir}/io/addons/CFFI/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/CFFI/_build/dll/libIoCFFI.so
+%{_libdir}/io/addons/CFFI/io
+%{_libdir}/io/addons/CFFI/depends
+%{_libdir}/io/addons/CFFI/protos
+
 %dir %{_libdir}/io/addons/CGI
 %dir %{_libdir}/io/addons/CGI/_build
 %dir %{_libdir}/io/addons/CGI/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/CGI/_build/dll/libIoCGI.so
 %{_libdir}/io/addons/CGI/io
-#
+%{_libdir}/io/addons/CGI/depends
+%{_libdir}/io/addons/CGI/protos
+
+# R: cairo
+%dir %{_libdir}/io/addons/Cairo
+%dir %{_libdir}/io/addons/Cairo/_build
+%dir %{_libdir}/io/addons/Cairo/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/Cairo/_build/dll/libIoCairo.so
+%{_libdir}/io/addons/Cairo/io
+%{_libdir}/io/addons/Cairo/depends
+%{_libdir}/io/addons/Cairo/protos
+
+# TODO: Clutter (nothing is built???)
+# R: clutter atk glib2 pango cairo
+
 %dir %{_libdir}/io/addons/ContinuedFraction
 %dir %{_libdir}/io/addons/ContinuedFraction/_build
 %dir %{_libdir}/io/addons/ContinuedFraction/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/ContinuedFraction/_build/dll/libIoContinuedFraction.so
 %{_libdir}/io/addons/ContinuedFraction/io
-#
-%dir %{_libdir}/io/addons/Contracts
-%dir %{_libdir}/io/addons/Contracts/_build
-%dir %{_libdir}/io/addons/Contracts/_build/dll
-%attr(755,root,root) %{_libdir}/io/addons/Contracts/_build/dll/libIoContracts.so
-%{_libdir}/io/addons/Contracts/io
+%{_libdir}/io/addons/ContinuedFraction/depends
+%{_libdir}/io/addons/ContinuedFraction/protos
+
 # R: ncurses
 %dir %{_libdir}/io/addons/Curses
 %dir %{_libdir}/io/addons/Curses/_build
 %dir %{_libdir}/io/addons/Curses/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/Curses/_build/dll/libIoCurses.so
 %{_libdir}/io/addons/Curses/io
+%{_libdir}/io/addons/Curses/depends
+%{_libdir}/io/addons/Curses/protos
+
 # R: libdbi
 %dir %{_libdir}/io/addons/DBI
 %dir %{_libdir}/io/addons/DBI/_build
 %dir %{_libdir}/io/addons/DBI/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/DBI/_build/dll/libIoDBI.so
 %{_libdir}/io/addons/DBI/io
-#
+%{_libdir}/io/addons/DBI/depends
+%{_libdir}/io/addons/DBI/protos
+
+# R(addons): Socket
+%dir %{_libdir}/io/addons/DistributedObjects
+%dir %{_libdir}/io/addons/DistributedObjects/_build
+%dir %{_libdir}/io/addons/DistributedObjects/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/DistributedObjects/_build/dll/libIoDistributedObjects.so
+%{_libdir}/io/addons/DistributedObjects/io
+%{_libdir}/io/addons/DistributedObjects/depends
+%{_libdir}/io/addons/DistributedObjects/protos
+
+# R: libedit
+%dir %{_libdir}/io/addons/EditLine
+%dir %{_libdir}/io/addons/EditLine/_build
+%dir %{_libdir}/io/addons/EditLine/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/EditLine/_build/dll/libIoEditLine.so
+%{_libdir}/io/addons/EditLine/depends
+%{_libdir}/io/addons/EditLine/protos
+
+%dir %{_libdir}/io/addons/Facebook
+%dir %{_libdir}/io/addons/Facebook/_build
+%dir %{_libdir}/io/addons/Facebook/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/Facebook/_build/dll/libIoFacebook.so
+%{_libdir}/io/addons/Facebook/io
+%{_libdir}/io/addons/Facebook/depends
+%{_libdir}/io/addons/Facebook/protos
+
+# R(addons): OpenGL
 %dir %{_libdir}/io/addons/Flux
 %dir %{_libdir}/io/addons/Flux/_build
 %dir %{_libdir}/io/addons/Flux/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/Flux/_build/dll/libIoFlux.so
 %{_libdir}/io/addons/Flux/io
-# XXX: use system fonts (Free UCS (http://savannah.nongnu.org/projects/freefont/), Vera)
+# XXX: use system fonts:
+# - Free UCS (http://savannah.nongnu.org/projects/freefont/)
+# - ProFont (http://www.tobiasjung.net/profont/ ?)
+# - Adobe T207
+# - Vera
 %{_libdir}/io/addons/Flux/resources
-#
+%{_libdir}/io/addons/Flux/depends
+%{_libdir}/io/addons/Flux/protos
+
 %dir %{_libdir}/io/addons/Fnmatch
 %dir %{_libdir}/io/addons/Fnmatch/_build
 %dir %{_libdir}/io/addons/Fnmatch/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/Fnmatch/_build/dll/libIoFnmatch.so
+%{_libdir}/io/addons/Fnmatch/depends
+
 # R: OpenGL freetype
 %dir %{_libdir}/io/addons/Font
 %dir %{_libdir}/io/addons/Font/_build
 %dir %{_libdir}/io/addons/Font/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/Font/_build/dll/libIoFont.so
-# R: glfw
+%{_libdir}/io/addons/Font/depends
+%{_libdir}/io/addons/Font/protos
+
+# R: glfw OpenGL OpenGL-GLU OpenGL-glut; addons: OpenGL
+%if %{with glfw}
 %dir %{_libdir}/io/addons/GLFW
 %dir %{_libdir}/io/addons/GLFW/_build
 %dir %{_libdir}/io/addons/GLFW/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/GLFW/_build/dll/libIoGLFW.so
-# R: OpenGL-GLU libjpeg libpng libtiff
+%endif
+
+# R(addons): Socket SGML
+%dir %{_libdir}/io/addons/GoogleSearch
+%dir %{_libdir}/io/addons/GoogleSearch/_build
+%dir %{_libdir}/io/addons/GoogleSearch/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/GoogleSearch/_build/dll/libIoGoogleSearch.so
+%{_libdir}/io/addons/GoogleSearch/io
+%{_libdir}/io/addons/GoogleSearch/depends
+%{_libdir}/io/addons/GoogleSearch/protos
+
+%dir %{_libdir}/io/addons/HttpClient
+%dir %{_libdir}/io/addons/HttpClient/_build
+%dir %{_libdir}/io/addons/HttpClient/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/HttpClient/_build/dll/libIoHttpClient.so
+%{_libdir}/io/addons/HttpClient/io
+%{_libdir}/io/addons/HttpClient/depends
+%{_libdir}/io/addons/HttpClient/protos
+
+# R: libjpeg libpng libtiff
 %dir %{_libdir}/io/addons/Image
 %dir %{_libdir}/io/addons/Image/_build
 %dir %{_libdir}/io/addons/Image/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/Image/_build/dll/libIoImage.so
-#
+%{_libdir}/io/addons/Image/io
+%{_libdir}/io/addons/Image/depends
+%{_libdir}/io/addons/Image/protos
+
+# R: lzo
 %dir %{_libdir}/io/addons/LZO
 %dir %{_libdir}/io/addons/LZO/_build
 %dir %{_libdir}/io/addons/LZO/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/LZO/_build/dll/libIoLZO.so
 %{_libdir}/io/addons/LZO/io
+%{_libdir}/io/addons/LZO/depends
+%{_libdir}/io/addons/LZO/protos
+
 # R: libsndfile
 %dir %{_libdir}/io/addons/LibSndFile
 %dir %{_libdir}/io/addons/LibSndFile/_build
 %dir %{_libdir}/io/addons/LibSndFile/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/LibSndFile/_build/dll/libIoLibSndFile.so
+%{_libdir}/io/addons/LibSndFile/io
+%{_libdir}/io/addons/LibSndFile/depends
+%{_libdir}/io/addons/LibSndFile/protos
+
 # R: libxml2
 %dir %{_libdir}/io/addons/Libxml2
 %dir %{_libdir}/io/addons/Libxml2/_build
 %dir %{_libdir}/io/addons/Libxml2/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/Libxml2/_build/dll/libIoLibxml2.so
 %{_libdir}/io/addons/Libxml2/io
-#
+%{_libdir}/io/addons/Libxml2/depends
+%{_libdir}/io/addons/Libxml2/protos
+
+%dir %{_libdir}/io/addons/Loki
+%dir %{_libdir}/io/addons/Loki/_build
+%dir %{_libdir}/io/addons/Loki/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/Loki/_build/dll/libIoLoki.so
+%{_libdir}/io/addons/Loki/io
+%{_libdir}/io/addons/Loki/depends
+%{_libdir}/io/addons/Loki/protos
+
+# R: loudmouth; addons: SGML
+%dir %{_libdir}/io/addons/Loudmouth
+%dir %{_libdir}/io/addons/Loudmouth/_build
+%dir %{_libdir}/io/addons/Loudmouth/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/Loudmouth/_build/dll/libIoLoudmouth.so
+%{_libdir}/io/addons/Loudmouth/io
+%{_libdir}/io/addons/Loudmouth/depends
+%{_libdir}/io/addons/Loudmouth/protos
+
 %dir %{_libdir}/io/addons/MD5
 %dir %{_libdir}/io/addons/MD5/_build
 %dir %{_libdir}/io/addons/MD5/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/MD5/_build/dll/libIoMD5.so
 %{_libdir}/io/addons/MD5/io
-# R: gnustep-gui
+%{_libdir}/io/addons/MD5/depends
+%{_libdir}/io/addons/MD5/protos
+
+# R: libmemcached
+%dir %{_libdir}/io/addons/Memcached
+%dir %{_libdir}/io/addons/Memcached/_build
+%dir %{_libdir}/io/addons/Memcached/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/Memcached/_build/dll/libIoMemcached.so
+%{_libdir}/io/addons/Memcached/io
+%{_libdir}/io/addons/Memcached/depends
+%{_libdir}/io/addons/Memcached/protos
+
+# R: mysql-libs
+%dir %{_libdir}/io/addons/MySQL
+%dir %{_libdir}/io/addons/MySQL/_build
+%dir %{_libdir}/io/addons/MySQL/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/MySQL/_build/dll/libIoMySQL.so
+%{_libdir}/io/addons/MySQL/io
+%{_libdir}/io/addons/MySQL/depends
+%{_libdir}/io/addons/MySQL/protos
+
+%dir %{_libdir}/io/addons/NotificationCenter
+%dir %{_libdir}/io/addons/NotificationCenter/_build
+%dir %{_libdir}/io/addons/NotificationCenter/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/NotificationCenter/_build/dll/libIoNotificationCenter.so
+%{_libdir}/io/addons/NotificationCenter/io
+%{_libdir}/io/addons/NotificationCenter/depends
+%{_libdir}/io/addons/NotificationCenter/protos
+
+# R: OpenGL ode; addons: OpenGL
+%dir %{_libdir}/io/addons/ODE
+%dir %{_libdir}/io/addons/ODE/_build
+%dir %{_libdir}/io/addons/ODE/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/ODE/_build/dll/libIoODE.so
+%{_libdir}/io/addons/ODE/io
+%{_libdir}/io/addons/ODE/depends
+%{_libdir}/io/addons/ODE/protos
+
+# R: openssl
+%dir %{_libdir}/io/addons/Oauth
+%dir %{_libdir}/io/addons/Oauth/_build
+%dir %{_libdir}/io/addons/Oauth/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/Oauth/_build/dll/libIoOauth.so
+%{_libdir}/io/addons/Oauth/io
+%{_libdir}/io/addons/Oauth/depends
+%{_libdir}/io/addons/Oauth/protos
+
+# R: gnustep-gui; addons: Box,Socket,SystemCall [Darwin-specific now, was built on Linux in 2006]
+%if 0
 %dir %{_libdir}/io/addons/ObjcBridge
 %dir %{_libdir}/io/addons/ObjcBridge/_build
 %dir %{_libdir}/io/addons/ObjcBridge/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/ObjcBridge/_build/dll/libIoObjcBridge.so
 %{_libdir}/io/addons/ObjcBridge/io
+%endif
+
+# R(addons): TokyoCabinet
+%dir %{_libdir}/io/addons/Obsidian
+%dir %{_libdir}/io/addons/Obsidian/_build
+%dir %{_libdir}/io/addons/Obsidian/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/Obsidian/_build/dll/libIoObsidian.so
+%{_libdir}/io/addons/Obsidian/io
+%{_libdir}/io/addons/Obsidian/depends
+%{_libdir}/io/addons/Obsidian/protos
+
+# R: libogg
+%dir %{_libdir}/io/addons/Ogg
+%dir %{_libdir}/io/addons/Ogg/_build
+%dir %{_libdir}/io/addons/Ogg/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/Ogg/_build/dll/libIoOgg.so
+%{_libdir}/io/addons/Ogg/io
+%{_libdir}/io/addons/Ogg/depends
+%{_libdir}/io/addons/Ogg/protos
+
 # R: OpenGL-GLU OpenGL-glut
 %dir %{_libdir}/io/addons/OpenGL
 %dir %{_libdir}/io/addons/OpenGL/_build
 %dir %{_libdir}/io/addons/OpenGL/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/OpenGL/_build/dll/libIoOpenGL.so
 %{_libdir}/io/addons/OpenGL/io
-# R: portaudio
-#%dir %{_libdir}/io/addons/PortAudio
-#%dir %{_libdir}/io/addons/PortAudio/_build
-#%dir %{_libdir}/io/addons/PortAudio/_build/dll
-#%attr(755,root,root) %{_libdir}/io/addons/PortAudio/_build/dll/libIoPortAudio.so
-#%{_libdir}/io/addons/PortAudio/io
+%{_libdir}/io/addons/OpenGL/depends
+%{_libdir}/io/addons/OpenGL/protos
+
+# R: portaudio [disabled in addons/CMakeLists.txt, no CMakeLists.txt file]
+%if 0
+%dir %{_libdir}/io/addons/PortAudio
+%dir %{_libdir}/io/addons/PortAudio/_build
+%dir %{_libdir}/io/addons/PortAudio/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/PortAudio/_build/dll/libIoPortAudio.so
+%{_libdir}/io/addons/PortAudio/io
+%endif
+
 # R: postgresql-libs
-%dir %{_libdir}/io/addons/Postgres
-%dir %{_libdir}/io/addons/Postgres/_build
-%dir %{_libdir}/io/addons/Postgres/_build/dll
-%attr(755,root,root) %{_libdir}/io/addons/Postgres/_build/dll/libIoPostgres.so
-%{_libdir}/io/addons/Postgres/io
+%dir %{_libdir}/io/addons/PostgreSQL
+%dir %{_libdir}/io/addons/PostgreSQL/_build
+%dir %{_libdir}/io/addons/PostgreSQL/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/PostgreSQL/_build/dll/libIoPostgreSQL.so
+%{_libdir}/io/addons/PostgreSQL/io
+%{_libdir}/io/addons/PostgreSQL/depends
+%{_libdir}/io/addons/PostgreSQL/protos
+
 # R: python-libs
 %dir %{_libdir}/io/addons/Python
 %dir %{_libdir}/io/addons/Python/_build
 %dir %{_libdir}/io/addons/Python/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/Python/_build/dll/libIoPython.so
-#
+%{_libdir}/io/addons/Python/depends
+%{_libdir}/io/addons/Python/protos
+
+# R: qdbm
+%dir %{_libdir}/io/addons/QDBM
+%dir %{_libdir}/io/addons/QDBM/_build
+%dir %{_libdir}/io/addons/QDBM/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/QDBM/_build/dll/libIoQDBM.so
+%{_libdir}/io/addons/QDBM/io
+%{_libdir}/io/addons/QDBM/depends
+%{_libdir}/io/addons/QDBM/protos
+
 %dir %{_libdir}/io/addons/Random
 %dir %{_libdir}/io/addons/Random/_build
 %dir %{_libdir}/io/addons/Random/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/Random/_build/dll/libIoRandom.so
-#
+%{_libdir}/io/addons/Random/io
+%{_libdir}/io/addons/Random/depends
+%{_libdir}/io/addons/Random/protos
+
+%dir %{_libdir}/io/addons/Range
+%dir %{_libdir}/io/addons/Range/_build
+%dir %{_libdir}/io/addons/Range/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/Range/_build/dll/libIoRange.so
+%{_libdir}/io/addons/Range/io
+%{_libdir}/io/addons/Range/depends
+%{_libdir}/io/addons/Range/protos
+
 %dir %{_libdir}/io/addons/Rational
 %dir %{_libdir}/io/addons/Rational/_build
 %dir %{_libdir}/io/addons/Rational/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/Rational/_build/dll/libIoRational.so
 %{_libdir}/io/addons/Rational/io
-# R: pcre
+%{_libdir}/io/addons/Rational/depends
+%{_libdir}/io/addons/Rational/protos
+
+# R: readline
+%dir %{_libdir}/io/addons/ReadLine
+%dir %{_libdir}/io/addons/ReadLine/_build
+%dir %{_libdir}/io/addons/ReadLine/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/ReadLine/_build/dll/libIoReadLine.so
+%{_libdir}/io/addons/ReadLine/depends
+%{_libdir}/io/addons/ReadLine/protos
+
+# R: pcre; addons: Range
 %dir %{_libdir}/io/addons/Regex
 %dir %{_libdir}/io/addons/Regex/_build
 %dir %{_libdir}/io/addons/Regex/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/Regex/_build/dll/libIoRegex.so
 %{_libdir}/io/addons/Regex/io
+%{_libdir}/io/addons/Regex/depends
+%{_libdir}/io/addons/Regex/protos
+
 # R: libsgml
 %dir %{_libdir}/io/addons/SGML
 %dir %{_libdir}/io/addons/SGML/_build
 %dir %{_libdir}/io/addons/SGML/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/SGML/_build/dll/libIoSGML.so
 %{_libdir}/io/addons/SGML/io
-#
+%{_libdir}/io/addons/SGML/depends
+%{_libdir}/io/addons/SGML/protos
+
 %dir %{_libdir}/io/addons/SHA1
 %dir %{_libdir}/io/addons/SHA1/_build
 %dir %{_libdir}/io/addons/SHA1/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/SHA1/_build/dll/libIoSHA1.so
 %{_libdir}/io/addons/SHA1/io
-# R: sqlite
+%{_libdir}/io/addons/SHA1/depends
+%{_libdir}/io/addons/SHA1/protos
+
+# R: sqlite [deprecated, no CMakeLists.txt for addon]
+%if 0
 %dir %{_libdir}/io/addons/SQLite
 %dir %{_libdir}/io/addons/SQLite/_build
 %dir %{_libdir}/io/addons/SQLite/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/SQLite/_build/dll/libIoSQLite.so
 %{_libdir}/io/addons/SQLite/io
+%endif
+
 # R: sqlite3
 %dir %{_libdir}/io/addons/SQLite3
 %dir %{_libdir}/io/addons/SQLite3/_build
 %dir %{_libdir}/io/addons/SQLite3/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/SQLite3/_build/dll/libIoSQLite3.so
 %{_libdir}/io/addons/SQLite3/io
+%{_libdir}/io/addons/SQLite3/depends
+%{_libdir}/io/addons/SQLite3/protos
+
 # R: libsamplerate
 %dir %{_libdir}/io/addons/SampleRateConverter
 %dir %{_libdir}/io/addons/SampleRateConverter/_build
 %dir %{_libdir}/io/addons/SampleRateConverter/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/SampleRateConverter/_build/dll/libIoSampleRateConverter.so
-#
+%{_libdir}/io/addons/SampleRateConverter/io
+%{_libdir}/io/addons/SampleRateConverter/depends
+%{_libdir}/io/addons/SampleRateConverter/protos
+
+# TODO: SecureSocket (nothing is built???)
+# R: openssl; addons: Socket
+
+# disabled in addons/CMakeLists.txt, no CMakeLists.txt for addon
+%if 0
 %dir %{_libdir}/io/addons/SkipDB
 %dir %{_libdir}/io/addons/SkipDB/_build
 %dir %{_libdir}/io/addons/SkipDB/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/SkipDB/_build/dll/libIoSkipDB.so
+%endif
+
 # R: libevent
 %dir %{_libdir}/io/addons/Socket
 %dir %{_libdir}/io/addons/Socket/_build
 %dir %{_libdir}/io/addons/Socket/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/Socket/_build/dll/libIoSocket.so
 %{_libdir}/io/addons/Socket/io
-# R: soundtouch
+%{_libdir}/io/addons/Socket/depends
+%{_libdir}/io/addons/Socket/protos
+
+# R: soundtouch [no CMakeLists.txt for addon]
+%if 0
 %dir %{_libdir}/io/addons/SoundTouch
 %dir %{_libdir}/io/addons/SoundTouch/_build
 %dir %{_libdir}/io/addons/SoundTouch/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/SoundTouch/_build/dll/libIoSoundTouch.so
-#
+%endif
+
+%dir %{_libdir}/io/addons/SqlDatabase
+%dir %{_libdir}/io/addons/SqlDatabase/_build
+%dir %{_libdir}/io/addons/SqlDatabase/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/SqlDatabase/_build/dll/libIoSqlDatabase.so
+%{_libdir}/io/addons/SqlDatabase/io
+%{_libdir}/io/addons/SqlDatabase/depends
+%{_libdir}/io/addons/SqlDatabase/protos
+
 %dir %{_libdir}/io/addons/Syslog
 %dir %{_libdir}/io/addons/Syslog/_build
 %dir %{_libdir}/io/addons/Syslog/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/Syslog/_build/dll/libIoSyslog.so
-#
+%{_libdir}/io/addons/Syslog/depends
+%{_libdir}/io/addons/Syslog/protos
+
 %dir %{_libdir}/io/addons/SystemCall
 %dir %{_libdir}/io/addons/SystemCall/_build
 %dir %{_libdir}/io/addons/SystemCall/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/SystemCall/_build/dll/libIoSystemCall.so
 %{_libdir}/io/addons/SystemCall/io
+%{_libdir}/io/addons/SystemCall/depends
+%{_libdir}/io/addons/SystemCall/protos
+
+# TagDB - no CMakeLists.txt for addon
+
 # R: taglib
 %dir %{_libdir}/io/addons/TagLib
 %dir %{_libdir}/io/addons/TagLib/_build
 %dir %{_libdir}/io/addons/TagLib/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/TagLib/_build/dll/libIoTagLib.so
-#
+%{_libdir}/io/addons/TagLib/io
+%{_libdir}/io/addons/TagLib/depends
+%{_libdir}/io/addons/TagLib/protos
+
+# R: libtheora; addons: Ogg
+%dir %{_libdir}/io/addons/Theora
+%dir %{_libdir}/io/addons/Theora/_build
+%dir %{_libdir}/io/addons/Theora/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/Theora/_build/dll/libIoTheora.so
+%{_libdir}/io/addons/Theora/io
+%{_libdir}/io/addons/Theora/depends
+%{_libdir}/io/addons/Theora/protos
+
 %dir %{_libdir}/io/addons/Thread
 %dir %{_libdir}/io/addons/Thread/_build
 %dir %{_libdir}/io/addons/Thread/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/Thread/_build/dll/libIoThread.so
-#
-%dir %{_libdir}/io/addons/Thunder
-%dir %{_libdir}/io/addons/Thunder/_build
-%dir %{_libdir}/io/addons/Thunder/_build/dll
-%attr(755,root,root) %{_libdir}/io/addons/Thunder/_build/dll/libIoThunder.so
-%{_libdir}/io/addons/Thunder/io
-#
+%{_libdir}/io/addons/Thread/depends
+%{_libdir}/io/addons/Thread/protos
+
+# R: tokyocabinet-libs
+%dir %{_libdir}/io/addons/TokyoCabinet
+%dir %{_libdir}/io/addons/TokyoCabinet/_build
+%dir %{_libdir}/io/addons/TokyoCabinet/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/TokyoCabinet/_build/dll/libIoTokyoCabinet.so
+%{_libdir}/io/addons/TokyoCabinet/io
+%{_libdir}/io/addons/TokyoCabinet/depends
+%{_libdir}/io/addons/TokyoCabinet/protos
+
+%dir %{_libdir}/io/addons/Twitter
+%dir %{_libdir}/io/addons/Twitter/_build
+%dir %{_libdir}/io/addons/Twitter/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/Twitter/_build/dll/libIoTwitter.so
+%{_libdir}/io/addons/Twitter/io
+%{_libdir}/io/addons/Twitter/depends
+%{_libdir}/io/addons/Twitter/protos
+
+# R: libuuid
+%dir %{_libdir}/io/addons/UUID
+%dir %{_libdir}/io/addons/UUID/_build
+%dir %{_libdir}/io/addons/UUID/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/UUID/_build/dll/libIoUUID.so
+%{_libdir}/io/addons/UUID/io
+%{_libdir}/io/addons/UUID/depends
+%{_libdir}/io/addons/UUID/protos
+
 %dir %{_libdir}/io/addons/User
 %dir %{_libdir}/io/addons/User/_build
 %dir %{_libdir}/io/addons/User/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/User/_build/dll/libIoUser.so
-#
-%dir %{_libdir}/io/addons/Vector
-%dir %{_libdir}/io/addons/Vector/_build
-%dir %{_libdir}/io/addons/Vector/_build/dll
-%attr(755,root,root) %{_libdir}/io/addons/Vector/_build/dll/libIoVector.so
-%{_libdir}/io/addons/Vector/io
+%{_libdir}/io/addons/User/depends
+%{_libdir}/io/addons/User/protos
+
+# R(addons): Yajl,Socket
+%dir %{_libdir}/io/addons/VertexDB
+%dir %{_libdir}/io/addons/VertexDB/_build
+%dir %{_libdir}/io/addons/VertexDB/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/VertexDB/_build/dll/libIoVertexDB.so
+%{_libdir}/io/addons/VertexDB/io
+%{_libdir}/io/addons/VertexDB/depends
+%{_libdir}/io/addons/VertexDB/protos
+
+%dir %{_libdir}/io/addons/Volcano
+%dir %{_libdir}/io/addons/Volcano/_build
+%dir %{_libdir}/io/addons/Volcano/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/Volcano/_build/dll/libIoVolcano.so
+%{_libdir}/io/addons/Volcano/io
+%{_libdir}/io/addons/Volcano/depends
+%{_libdir}/io/addons/Volcano/protos
+
+# R: libvorbis; addons: Ogg
+%dir %{_libdir}/io/addons/Vorbis
+%dir %{_libdir}/io/addons/Vorbis/_build
+%dir %{_libdir}/io/addons/Vorbis/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/Vorbis/_build/dll/libIoVorbis.so
+%{_libdir}/io/addons/Vorbis/io
+%{_libdir}/io/addons/Vorbis/depends
+%{_libdir}/io/addons/Vorbis/protos
+
+# R: yajl
+%dir %{_libdir}/io/addons/Yajl
+%dir %{_libdir}/io/addons/Yajl/_build
+%dir %{_libdir}/io/addons/Yajl/_build/dll
+%attr(755,root,root) %{_libdir}/io/addons/Yajl/_build/dll/libIoYajl.so
+%{_libdir}/io/addons/Yajl/io
+%{_libdir}/io/addons/Yajl/depends
+%{_libdir}/io/addons/Yajl/protos
+
 # R: zlib
 %dir %{_libdir}/io/addons/Zlib
 %dir %{_libdir}/io/addons/Zlib/_build
 %dir %{_libdir}/io/addons/Zlib/_build/dll
 %attr(755,root,root) %{_libdir}/io/addons/Zlib/_build/dll/libIoZlib.so
 %{_libdir}/io/addons/Zlib/io
-
-%files static
-%defattr(644,root,root,755)
-%{_libdir}/libiovmall.a
+%{_libdir}/io/addons/Zlib/depends
+%{_libdir}/io/addons/Zlib/protos
diff --git a/io-addons.patch b/io-addons.patch
new file mode 100644
index 0000000..be117fe
--- /dev/null
+++ b/io-addons.patch
@@ -0,0 +1,40 @@
+--- io-2011.09.12/addons/CMakeLists.txt.orig	2011-09-13 00:14:12.000000000 +0200
++++ io-2011.09.12/addons/CMakeLists.txt	2013-11-10 10:59:54.044210680 +0100
+@@ -54,7 +54,7 @@
+ add_subdirectory(Box)
+ add_subdirectory(CFFI)
+ add_subdirectory(CGI)
+-#add_subdirectory(Cairo) # XXX: Broken on OSX: ld: library not found for -lpng12
++add_subdirectory(Cairo)
+ add_subdirectory(Clutter)
+ add_subdirectory(ContinuedFraction)
+ add_subdirectory(Curses)
+@@ -79,8 +79,8 @@
+ add_subdirectory(MySQL)
+ #add_subdirectory(NetworkAdapter)
+ add_subdirectory(NotificationCenter)
+-#add_subdirectory(Oauth) # OAuth should no longer break CMake configuration on Windows now.
+-#add_subdirectory(ODE) # XXX: Can't meet dependencies
++add_subdirectory(Oauth)
++add_subdirectory(ODE)
+ add_subdirectory(ObjcBridge) # XXX: Broken for me -- Objective-C 2.0 not supported
+ add_subdirectory(Obsidian)
+ add_subdirectory(Ogg)
+@@ -99,7 +99,7 @@
+ add_subdirectory(SHA1)
+ #add_subdirectory(SQLite) # XXX: Want to delete in favour of SQLite3
+ add_subdirectory(SQLite3)
+-#add_subdirectory(SampleRateConverter)
++add_subdirectory(SampleRateConverter)
+ add_subdirectory(SecureSocket)
+ #add_subdirectory(SkipDB) # XXX: Disabled...why?
+   add_subdirectory(Socket)
+@@ -108,7 +108,7 @@
+ add_subdirectory(Syslog)
+ add_subdirectory(SystemCall)
+ #add_subdirectory(TagDB) # XXX: I can't meet dependencies
+-#add_subdirectory(TagLib)
++add_subdirectory(TagLib)
+ add_subdirectory(Theora)
+ add_subdirectory(Thread)
+ add_subdirectory(TokyoCabinet)
diff --git a/io-link.patch b/io-link.patch
new file mode 100644
index 0000000..295c1b7
--- /dev/null
+++ b/io-link.patch
@@ -0,0 +1,21 @@
+--- io-2011.09.12/libs/basekit/CMakeLists.txt.orig	2011-09-13 00:14:12.000000000 +0200
++++ io-2011.09.12/libs/basekit/CMakeLists.txt	2013-11-09 11:56:22.217694352 +0100
+@@ -17,6 +17,7 @@
+ 
+ # Now build the shared library
+ add_library(basekit SHARED ${SRCS})
++target_link_libraries(basekit -ldl -lm)
+ 
+ # ...And the static library
+ #add_library(basekit_static STATIC ${SRCS})
+--- io-2011.09.12/libs/iovm/CMakeLists.txt.orig	2011-09-13 00:14:12.000000000 +0200
++++ io-2011.09.12/libs/iovm/CMakeLists.txt	2013-11-09 11:57:12.164358923 +0100
+@@ -84,7 +84,7 @@
+ # Now build the shared library
+ add_library(iovmall SHARED ${SRCS})
+ add_dependencies(iovmall io2c basekit coroutine garbagecollector)
+-target_link_libraries(iovmall basekit coroutine garbagecollector)
++target_link_libraries(iovmall basekit coroutine garbagecollector -lm)
+ 
+ # The following add the install target, so we put libvmall.* in our
+ # install prefix.
diff --git a/io-memcached.patch b/io-memcached.patch
new file mode 100644
index 0000000..7d304e2
--- /dev/null
+++ b/io-memcached.patch
@@ -0,0 +1,30 @@
+--- io-2011.09.12/addons/Memcached/source/IoMemcached.c.orig	2011-09-13 00:14:12.000000000 +0200
++++ io-2011.09.12/addons/Memcached/source/IoMemcached.c	2013-11-10 10:02:10.404356034 +0100
+@@ -472,11 +472,13 @@
+ 	IoMap *results_map = IoMap_new(IOSTATE);
+ 
+ 	int i;
+-	for(i = 0; i < memcached_server_list_count(DATA(self)->mc->servers); i++) {
+-		memcached_server_st *server = DATA(self)->mc->servers + i;
++	for(i = 0; i < memcached_server_count(DATA(self)->mc); i++) {
++		memcached_instance_st *server = memcached_server_instance_by_position(DATA(self)->mc, i);
++		const char *server_name = memcached_server_name(server);
++		in_port_t server_port = memcached_server_port(server);
+ 
+ 		memcached_stat_st stats;
+-		if(memcached_stat_servername(&stats, "", server->hostname, server->port) != 0)
++		if(memcached_stat_servername(&stats, "", server_name, server_port) != 0)
+ 			continue;
+ 
+ 		memcached_return rc;
+@@ -498,8 +500,8 @@
+ 		free(ckeys);
+ 
+ 		// "127.0.0.1:11211"
+-		char *server_key = (char *) malloc((strlen(server->hostname) + 1 + 5 + 1) * sizeof(char));
+-		sprintf(server_key, "%s:%d", server->hostname, server->port);
++		char *server_key = (char *) malloc((strlen(server_name) + 1 + 5 + 1) * sizeof(char));
++		sprintf(server_key, "%s:%d", server_name, server_port);
+ 
+ 		IoMap_rawAtPut(results_map, IOSYMBOL(server_key), per_server_map);
+ 		free(server_key);
diff --git a/io-ode.patch b/io-ode.patch
new file mode 100644
index 0000000..77f28cf
--- /dev/null
+++ b/io-ode.patch
@@ -0,0 +1,43 @@
+ODE requires precision selection (dSINGLE or dDOUBLE) before including headers.
+dWorldStepFast1 API is obsolete.
+--- io-2011.09.12/addons/ODE/CMakeLists.txt.orig	2011-09-13 00:14:12.000000000 +0200
++++ io-2011.09.12/addons/ODE/CMakeLists.txt	2013-11-10 13:42:02.230469137 +0100
+@@ -53,8 +53,9 @@
+ 
+ 	# Now build the shared library
+ 	add_library(IoODE SHARED ${SRCS})
++	add_definitions(-DdSINGLE)
+ 	add_dependencies(IoODE iovmall)
+-	target_link_libraries(IoODE iovmall ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES})
++	target_link_libraries(IoODE iovmall ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} -lode)
+ 
+ 	# Install the addon to our global addons hierarchy.
+ 	install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION lib/io/addons)
+--- io-2011.09.12/addons/ODE/source/IoODEWorld.c.orig	2011-09-13 00:14:12.000000000 +0200
++++ io-2011.09.12/addons/ODE/source/IoODEWorld.c	2013-11-10 14:12:12.697059780 +0100
+@@ -206,16 +206,6 @@
+ 	return self;
+ }
+ 
+-IoObject *IoODEWorld_stepFast1(IoODEWorld *self, IoObject *locals, IoMessage *m)
+-{
+-	const double stepSize = IoMessage_locals_doubleArgAt_(m, locals, 0);
+-	const int maxIterations = IoMessage_locals_intArgAt_(m, locals, 1);
+-
+-	IoODEWorld_assertHasWorldId(self, locals, m);
+-	dWorldStepFast1(WORLDID, stepSize, maxIterations);
+-	return self;
+-}
+-
+ IoObject *IoODEWorld_bodies(IoODEWorld *self, IoObject *locals, IoMessage *m)
+ {
+ 	IoODEWorld_assertHasWorldId(self, locals, m);
+--- io-2011.09.12/addons/ODE/source/IoODEWorld.h.orig	2011-09-13 00:14:12.000000000 +0200
++++ io-2011.09.12/addons/ODE/source/IoODEWorld.h	2013-11-10 14:12:34.303725505 +0100
+@@ -53,6 +53,5 @@
+ 
+ IoObject *IoODEWorld_step(IoODEWorld *self, IoObject *locals, IoMessage *m);
+ IoObject *IoODEWorld_quickStep(IoODEWorld *self, IoObject *locals, IoMessage *m);
+-IoObject *IoODEWorld_stepFast1(IoODEWorld *self, IoObject *locals, IoMessage *m);
+ 
+ #endif
diff --git a/io-python.patch b/io-python.patch
new file mode 100644
index 0000000..22feadf
--- /dev/null
+++ b/io-python.patch
@@ -0,0 +1,10 @@
+--- io-2011.09.12/addons/Python/CMakeLists.txt.orig	2011-09-13 00:14:12.000000000 +0200
++++ io-2011.09.12/addons/Python/CMakeLists.txt	2013-11-10 14:44:06.526979463 +0100
+@@ -4,6 +4,7 @@
+ # Builds the Python addon
+ 
+ # Find curses
++set(Python_ADDITIONAL_VERSIONS 2.7 2.6 2.5 2.4)
+ find_package(PythonLibs)
+ 
+ # Create the _build bundle hierarchy if needed.
diff --git a/io-system-libsgml.patch b/io-system-libsgml.patch
new file mode 100644
index 0000000..f73326a
--- /dev/null
+++ b/io-system-libsgml.patch
@@ -0,0 +1,30 @@
+--- io-2011.09.12/addons/SGML/CMakeLists.txt.orig	2011-09-13 00:14:12.000000000 +0200
++++ io-2011.09.12/addons/SGML/CMakeLists.txt	2013-11-10 10:44:11.617583558 +0100
+@@ -7,9 +7,6 @@
+ make_build_bundle(_build)
+ set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/_build)
+ 
+-# Ensure we build libsgml before we continue
+-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/source/libsgml-1.1.4/src)
+-
+ # Generate the IoSGMLInit.c file.
+ # Argument SHOULD ALWAYS be the exact name of the addon, case is
+ # important.
+@@ -19,7 +16,7 @@
+ set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/_build/dll)
+ 
+ # Set up the include dir
+-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/source/libsgml-1.1.4/include)
++include_directories(/usr/include/sgml)
+ 
+ # Our library sources.
+ set(SRCS
+@@ -30,7 +27,7 @@
+ # Now build the shared library
+ add_library(IoSGML SHARED ${SRCS})
+ add_dependencies(IoSGML iovmall sgml)
+-target_link_libraries(IoSGML iovmall sgml)
++target_link_libraries(IoSGML iovmall -lsgml)
+ 
+ # Install the addon to our global addons hierarchy.
+ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION lib/io/addons)
diff --git a/io-theora.patch b/io-theora.patch
new file mode 100644
index 0000000..5594f80
--- /dev/null
+++ b/io-theora.patch
@@ -0,0 +1,11 @@
+--- io-2011.09.12/modules/FindTheora.cmake.orig	2011-09-13 00:14:12.000000000 +0200
++++ io-2011.09.12/modules/FindTheora.cmake	2013-11-10 10:49:28.524236914 +0100
+@@ -5,7 +5,7 @@
+ 
+ FIND_PATH(THEORA_INCLUDE_DIR theora/theora.h theora/theoradec.h)
+ 
+-SET(THEORA_NAMES ${THEORA_NAMES} theora libtheora theoradec libtheoradec)
++SET(THEORA_NAMES ${THEORA_NAMES} theoradec libtheoradec theora libtheora)
+ FIND_LIBRARY(THEORA_LIBRARY NAMES ${THEORA_NAMES} PATH)
+ 
+ IF(THEORA_INCLUDE_DIR AND THEORA_LIBRARY)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/io.git/commitdiff/55c8e619c3ed0c502bf93229ac6dffd542a1fd6e




More information about the pld-cvs-commit mailing list