diff --git a/pulseaudio-0.9.6-gcc-fix.diff b/pulseaudio-0.9.6-gcc-fix.diff deleted file mode 100644 index 3be63b4..0000000 --- a/pulseaudio-0.9.6-gcc-fix.diff +++ /dev/null @@ -1,10 +0,0 @@ ---- src/pulsecore/core-util.c-dist 2007-06-08 14:45:27.000000000 +0200 -+++ src/pulsecore/core-util.c 2007-06-08 14:45:45.000000000 +0200 -@@ -544,6 +544,7 @@ fail: - cap_free(caps); - } - #endif -+ ; - } - - /* Reset the priority to normal, inverting the changes made by pa_raise_priority() */ diff --git a/pulseaudio-0.9.6-nochown.patch b/pulseaudio-0.9.6-nochown.patch new file mode 100644 index 0000000..8a61a42 --- /dev/null +++ b/pulseaudio-0.9.6-nochown.patch @@ -0,0 +1,20 @@ +--- pulseaudio-0.9.6/src/Makefile.in.orig 2007-05-27 22:59:32.000000000 +0200 ++++ pulseaudio-0.9.6/src/Makefile.in 2007-05-29 11:30:19.000000000 +0200 +@@ -5028,7 +5028,7 @@ + + suid: pulseaudio .libs/lt-pulseaudio + chown root $^ +- chmod u+s $^ ++# chmod u+s $^ + + esdcompat: daemon/esdcompat.in Makefile + sed -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ +@@ -5052,7 +5052,7 @@ + + install-exec-hook: + chown root $(DESTDIR)$(bindir)/pulseaudio ; true +- chmod u+s $(DESTDIR)$(bindir)/pulseaudio ++# chmod u+s $(DESTDIR)$(bindir)/pulseaudio + ln -sf pacat $(DESTDIR)$(bindir)/parec + rm -f $(DESTDIR)$(modlibexecdir)/*.a + rm -f $(DESTDIR)$(libdir)/libpulsedsp.a diff --git a/pulseaudio-0.9.7-eof-fix-r1964.patch b/pulseaudio-0.9.7-eof-fix-r1964.patch new file mode 100644 index 0000000..7ddc839 --- /dev/null +++ b/pulseaudio-0.9.7-eof-fix-r1964.patch @@ -0,0 +1,39 @@ +Index: /branches/lennart/src/pulsecore/protocol-esound.c +=================================================================== +--- /branches/lennart/src/pulsecore/protocol-esound.c (revision 1884) ++++ /branches/lennart/src/pulsecore/protocol-esound.c (revision 1964) +@@ -949,5 +949,5 @@ + + if ((r = pa_iochannel_read(c->io, (uint8_t*) c->read_data + c->read_data_length, handler->data_length - c->read_data_length)) <= 0) { +- if (errno == EINTR || errno == EAGAIN) ++ if (r < 0 && (errno == EINTR || errno == EAGAIN)) + return 0; + +@@ -979,5 +979,5 @@ + + if (r <= 0) { +- if (errno == EINTR || errno == EAGAIN) ++ if (r < 0 && (errno == EINTR || errno == EAGAIN)) + return 0; + +@@ -1042,5 +1042,5 @@ + if (r <= 0) { + +- if (errno == EINTR || errno == EAGAIN) ++ if (r < 0 && (errno == EINTR || errno == EAGAIN)) + return 0; + +@@ -1073,5 +1073,5 @@ + if ((r = pa_iochannel_write(c->io, (uint8_t*) c->write_data+c->write_data_index, c->write_data_length-c->write_data_index)) < 0) { + +- if (errno == EINTR || errno == EAGAIN) ++ if (r < 0 && (errno == EINTR || errno == EAGAIN)) + return 0; + +@@ -1102,5 +1102,5 @@ + if (r < 0) { + +- if (errno == EINTR || errno == EAGAIN) ++ if (r < 0 && (errno == EINTR || errno == EAGAIN)) + return 0; + diff --git a/pulseaudio-0.9.7.svn20071017.tar.gz b/pulseaudio-0.9.7.svn20071017.tar.gz new file mode 100644 index 0000000..4bb0d53 --- /dev/null +++ b/pulseaudio-0.9.7.svn20071017.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2902b00c433137882781130c30831cc6bbe2a2962644b6e7c912da7d52076ec +size 1276662 diff --git a/pulseaudio-0.9.7.tar.bz2 b/pulseaudio-0.9.7.tar.bz2 deleted file mode 100644 index 22340dc..0000000 --- a/pulseaudio-0.9.7.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3893ae4ee2044d3e8b0715f176ccba1226c2dca1750dfa6d0987ce37c3649650 -size 743827 diff --git a/pulseaudio.changes b/pulseaudio.changes index a326f62..ea1a4ba 100644 --- a/pulseaudio.changes +++ b/pulseaudio.changes @@ -1,4 +1,18 @@ ------------------------------------------------------------------- +Tue Dec 11 12:43:34 CET 2007 - rodrigo@suse.de + +- Merged with package from home:rodrigomoya:pulseaudio BS project. + +------------------------------------------------------------------- +Thu Nov 22 19:21:00 IST 2007 - cyberorg@cyberorg.info + +- Remove Provides and Obsoletes from esound compat package + +------------------------------------------------------------------- +Wed Nov 21 18:13:48 IST 2007 - cyberorg@cyberorg.info + +- Restructured spec file to build more subpackages, like in Fedora 8. +------------------------------------------------------------------- Wed Oct 31 14:43:48 CET 2007 - tiwai@suse.de - updated to version 0.9.7: diff --git a/pulseaudio.spec b/pulseaudio.spec index 577c7b4..43dd69b 100644 --- a/pulseaudio.spec +++ b/pulseaudio.spec @@ -11,19 +11,24 @@ # norootforbuild Name: pulseaudio -BuildRequires: alsa-devel doxygen glib2-devel hal-devel jack-devel libatomic-ops-devel libavahi-devel liboil-devel libsamplerate-devel libsndfile-devel xorg-x11-devel +%define drvver 0.9 Summary: A Networked Sound Server Version: 0.9.7 -Release: 1 +Release: 14 License: GPL v2 or later; LGPL v2.1 or later Group: System/Sound Daemons -Source: %{name}-%{version}.tar.bz2 +#Source0: http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-%{version}.tar.gz +Source0: pulseaudio-0.9.7.svn20071017.tar.gz Source1: default.pa -Patch: pulseaudio-0.9.5-esd-max-samplesize.diff -Patch2: pulseaudio-0.9.6-gcc-fix.diff -Patch3: pulseaudio-0.9.7-type-punning.diff Url: http://pulseaudio.org BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: alsa-devel avahi-devel doxygen glib2-devel hal-devel jack-devel libatomic-ops-devel liboil-devel libsamplerate-devel libsndfile-devel xorg-x11-devel +BuildRequires: doxygen gconf2-devel lirc-devel +Requires: %{name}-core-libs = %{version}-%{release} +Patch1: pulseaudio-0.9.6-nochown.patch +Patch2: pulseaudio-0.9.7-eof-fix-r1964.patch +Patch3: pulseaudio-0.9.5-esd-max-samplesize.diff +Patch4: pulseaudio-0.9.7-type-punning.diff %description pulseaudio is a networked sound server for Linux and other Unix like @@ -32,6 +37,91 @@ improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). +Authors: +-------- + Lennart Poettering + Pierre Ossman + +%package esound-compat +Summary: A Networked Sound Server +Group: System/Sound Daemons +Requires: %{name} = %{version}-%{release} + +%description esound-compat +pulseaudio is a networked sound server for Linux and other Unix like +operating systems and Microsoft Windows. It is intended to be an +improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). + + + +Authors: +-------- + Lennart Poettering + Pierre Ossman + +%package module-lirc +Summary: A Networked Sound Server +Group: System/Sound Daemons +Requires: %{name} = %{version}-%{release} + +%description module-lirc +pulseaudio is a networked sound server for Linux and other Unix like +operating systems and Microsoft Windows. It is intended to be an +improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). + + + +Authors: +-------- + Lennart Poettering + Pierre Ossman + +%package module-x11 +Summary: A Networked Sound Server +Group: System/Sound Daemons +Requires: %{name} = %{version}-%{release} + +%description module-x11 +pulseaudio is a networked sound server for Linux and other Unix like +operating systems and Microsoft Windows. It is intended to be an +improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). + + + +Authors: +-------- + Lennart Poettering + Pierre Ossman + +%package module-zeroconf +Summary: A Networked Sound Server +Group: System/Sound Daemons +Requires: %{name} = %{version}-%{release} + +%description module-zeroconf +pulseaudio is a networked sound server for Linux and other Unix like +operating systems and Microsoft Windows. It is intended to be an +improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). + + + +Authors: +-------- + Lennart Poettering + Pierre Ossman + +%package module-gconf +Summary: A Networked Sound Server +Group: System/Sound Daemons +Requires: %{name} = %{version}-%{release} + +%description module-gconf +pulseaudio is a networked sound server for Linux and other Unix like +operating systems and Microsoft Windows. It is intended to be an +improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). + + + Authors: -------- Lennart Poettering @@ -39,7 +129,10 @@ Authors: %package libs Summary: System libraries for pulseaudio +License: GPL v2 or later; LGPL v2.1 or later Group: System/Libraries +Provides: pulseaudio-lib +Obsoletes: pulseaudio-lib %description libs This package contains the system libraries for clients of pulseaudio @@ -47,6 +140,61 @@ sound server. +Authors: +-------- + Lennart Poettering + Pierre Ossman + +%package core-libs +Summary: A Networked Sound Server +License: GPL v2 or later; LGPL v2.1 or later +Group: System/Sound Daemons + +%description core-libs +pulseaudio is a networked sound server for Linux and other Unix like +operating systems and Microsoft Windows. It is intended to be an +improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). + + + +Authors: +-------- + Lennart Poettering + Pierre Ossman + +%package libs-glib2 +Summary: A Networked Sound Server +License: GPL v2 or later; LGPL v2.1 or later +Group: System/Sound Daemons +Provides: pulseaudio-lib-glib2 +Obsoletes: pulseaudio-lib-glib2 + +%description libs-glib2 +pulseaudio is a networked sound server for Linux and other Unix like +operating systems and Microsoft Windows. It is intended to be an +improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). + + + +Authors: +-------- + Lennart Poettering + Pierre Ossman + +%package libs-zeroconf +Summary: A Networked Sound Server +License: GPL v2 or later; LGPL v2.1 or later +Group: System/Sound Daemons +Provides: pulseaudio-lib-zeroconf +Obsoletes: pulseaudio-lib-zeroconf + +%description libs-zeroconf +pulseaudio is a networked sound server for Linux and other Unix like +operating systems and Microsoft Windows. It is intended to be an +improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). + + + Authors: -------- Lennart Poettering @@ -54,8 +202,14 @@ Authors: %package devel Summary: Development package for the pulseaudio library +License: GPL v2 or later; LGPL v2.1 or later Group: Development/Libraries/C and C++ -Requires: pulseaudio-libs = %{version}, glib2-devel +Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-libs-glib2 = %{version}-%{release} +Requires: %{name}-libs-zeroconf = %{version}-%{release} +Requires: pkgconfig glib2-devel +Provides: pulseaudio-devel +Obsoletes: pulseaudio-devel %description devel This package contains the files needed to compile programs that use the @@ -63,67 +217,240 @@ pulseaudio library. +Authors: +-------- + Lennart Poettering + Pierre Ossman + +%package utils +Summary: A Networked Sound Server +License: GPL v2 or later; LGPL v2.1 or later +Group: System/Sound Daemons +Requires: %{name}-libs = %{version}-%{release} + +%description utils +pulseaudio is a networked sound server for Linux and other Unix like +operating systems and Microsoft Windows. It is intended to be an +improved drop-in replacement for the Enlightened Sound Daemon (ESOUND). + + + Authors: -------- Lennart Poettering Pierre Ossman %prep -%setup -q -%patch -p1 -%patch2 -%patch3 -cp /usr/share/gettext/config.rpath . -%{?suse_update_config:%{suse_update_config -f}} -autoreconf --force --install +%setup -q -T -b0 +%patch1 -p1 +%patch2 -p3 +%patch3 -p1 +%patch4 %build -%configure --disable-ltdl-install --disable-static --disable-rpath -make +%configure --disable-ltdl-install --disable-static --disable-rpath --with-system-user=pulse --with-system-group=pulse --with-realtime-group=pulse-rt --with-access-group=pulse-access +make LIBTOOL=/usr/bin/libtool make doxygen %install -make DESTDIR="$RPM_BUILD_ROOT" install +rm -rf $RPM_BUILD_ROOT +make DESTDIR=$RPM_BUILD_ROOT install cp %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pulse/ -chmod 755 $RPM_BUILD_ROOT%{_bindir}/* -# remove *.la files -rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.la -rm -f $RPM_BUILD_ROOT%{_libdir}/pulse*/modules/*.la - -%post libs -%run_ldconfig - -%postun libs -%run_ldconfig +rm -rf $RPM_BUILD_ROOT%{_libdir}/*.la $RPM_BUILD_ROOT%{_libdir}/pulse-%{drvver}/modules/*.la +# configure --disable-static had no effect; delete manually. +rm -rf $RPM_BUILD_ROOT%{_libdir}/*.a +chmod 755 $RPM_BUILD_ROOT%{_bindir}/pulseaudio +ln -s esdcompat $RPM_BUILD_ROOT%{_bindir}/esd +rm $RPM_BUILD_ROOT/%{_libdir}/libpulsecore.so %clean -test "$RPM_BUILD_ROOT" != "/" -a -d "$RPM_BUILD_ROOT" && rm -rf $RPM_BUILD_ROOT +rm -rf $RPM_BUILD_ROOT + +%pre +groupadd -r pulse &>/dev/null || : +useradd -r -c 'PulseAudio daemon' \ + -s /sbin/nologin -d / -g pulse pulse &>/dev/null || : +groupadd -r pulse-rt &>/dev/null || : +groupadd -r pulse-access &>/dev/null || : + +%post -p /sbin/ldconfig + +%postun +/sbin/ldconfig +if [ $1 -eq 0 ]; then + userdel pulse &>/dev/null || : + groupdel pulse &>/dev/null || : + groupdel pulse-rt &>/dev/null || : + groupdel pulse-access &>/dev/null || : +fi + +%post libs -p /sbin/ldconfig + +%postun libs -p /sbin/ldconfig + +%post libs-glib2 -p /sbin/ldconfig + +%postun libs-glib2 -p /sbin/ldconfig + +%post libs-zeroconf -p /sbin/ldconfig + +%postun libs-zeroconf -p /sbin/ldconfig %files -%defattr(-, root, root) -%doc GPL LGPL LICENSE README -%{_bindir}/* -%{_libdir}/pulse* -%dir %{_sysconfdir}/pulse -%config %{_sysconfdir}/pulse/* -%{_libdir}/libpulsedsp.so -/etc/xdg/autostart/*.desktop +%defattr(-,root,root) +%doc README LICENSE GPL LGPL +%dir %{_sysconfdir}/pulse/ +%config(noreplace) %{_sysconfdir}/pulse/daemon.conf +%config(noreplace) %{_sysconfdir}/pulse/default.pa +%attr(4755,root,root) %{_bindir}/pulseaudio +%dir %{_libdir}/pulse-%{drvver}/ +%dir %{_libdir}/pulse-%{drvver}/modules/ +%{_libdir}/pulse-%{drvver}/modules/libalsa-util.so +%{_libdir}/pulse-%{drvver}/modules/libauthkey-prop.so +%{_libdir}/pulse-%{drvver}/modules/libauthkey.so +%{_libdir}/pulse-%{drvver}/modules/libcli.so +%{_libdir}/pulse-%{drvver}/modules/libdbus-util.so +%{_libdir}/pulse-%{drvver}/modules/libiochannel.so +%{_libdir}/pulse-%{drvver}/modules/libioline.so +%{_libdir}/pulse-%{drvver}/modules/libipacl.so +%{_libdir}/pulse-%{drvver}/modules/liboss-util.so +%{_libdir}/pulse-%{drvver}/modules/libpacket.so +%{_libdir}/pulse-%{drvver}/modules/libparseaddr.so +%{_libdir}/pulse-%{drvver}/modules/libpdispatch.so +%{_libdir}/pulse-%{drvver}/modules/libprotocol-cli.so +%{_libdir}/pulse-%{drvver}/modules/libprotocol-esound.so +%{_libdir}/pulse-%{drvver}/modules/libprotocol-http.so +%{_libdir}/pulse-%{drvver}/modules/libprotocol-native.so +%{_libdir}/pulse-%{drvver}/modules/libprotocol-simple.so +%{_libdir}/pulse-%{drvver}/modules/libpstream-util.so +%{_libdir}/pulse-%{drvver}/modules/libpstream.so +%{_libdir}/pulse-%{drvver}/modules/librtp.so +%{_libdir}/pulse-%{drvver}/modules/libsocket-client.so +%{_libdir}/pulse-%{drvver}/modules/libsocket-server.so +%{_libdir}/pulse-%{drvver}/modules/libsocket-util.so +%{_libdir}/pulse-%{drvver}/modules/libstrlist.so +%{_libdir}/pulse-%{drvver}/modules/libtagstruct.so +%{_libdir}/pulse-%{drvver}/modules/module-alsa-sink.so +%{_libdir}/pulse-%{drvver}/modules/module-alsa-source.so +%{_libdir}/pulse-%{drvver}/modules/module-cli-protocol-tcp.so +%{_libdir}/pulse-%{drvver}/modules/module-cli-protocol-unix.so +%{_libdir}/pulse-%{drvver}/modules/module-cli.so +%{_libdir}/pulse-%{drvver}/modules/module-combine.so +%{_libdir}/pulse-%{drvver}/modules/module-detect.so +%{_libdir}/pulse-%{drvver}/modules/module-esound-compat-spawnfd.so +%{_libdir}/pulse-%{drvver}/modules/module-esound-compat-spawnpid.so +%{_libdir}/pulse-%{drvver}/modules/module-esound-protocol-tcp.so +%{_libdir}/pulse-%{drvver}/modules/module-esound-protocol-unix.so +#%{_libdir}/pulse-%{drvver}/modules/module-esound-sink.so +%{_libdir}/pulse-%{drvver}/modules/module-hal-detect.so +%{_libdir}/pulse-%{drvver}/modules/module-http-protocol-tcp.so +%{_libdir}/pulse-%{drvver}/modules/module-http-protocol-unix.so +%{_libdir}/pulse-%{drvver}/modules/module-match.so +%{_libdir}/pulse-%{drvver}/modules/module-mmkbd-evdev.so +%{_libdir}/pulse-%{drvver}/modules/module-native-protocol-fd.so +%{_libdir}/pulse-%{drvver}/modules/module-native-protocol-tcp.so +%{_libdir}/pulse-%{drvver}/modules/module-native-protocol-unix.so +%{_libdir}/pulse-%{drvver}/modules/module-null-sink.so +%{_libdir}/pulse-%{drvver}/modules/module-oss.so +%{_libdir}/pulse-%{drvver}/modules/module-pipe-sink.so +%{_libdir}/pulse-%{drvver}/modules/module-pipe-source.so +%{_libdir}/pulse-%{drvver}/modules/module-rescue-streams.so +%{_libdir}/pulse-%{drvver}/modules/module-rtp-recv.so +%{_libdir}/pulse-%{drvver}/modules/module-rtp-send.so +%{_libdir}/pulse-%{drvver}/modules/module-simple-protocol-tcp.so +%{_libdir}/pulse-%{drvver}/modules/module-simple-protocol-unix.so +%{_libdir}/pulse-%{drvver}/modules/module-sine.so +#%{_libdir}/pulse-%{drvver}/modules/module-tunnel-sink.so +#%{_libdir}/pulse-%{drvver}/modules/module-tunnel-source.so +%{_libdir}/pulse-%{drvver}/modules/module-volume-restore.so +%{_libdir}/pulse-%{drvver}/modules/module-suspend-on-idle.so +%{_libdir}/pulse-%{drvver}/modules/module-default-device-restore.so +%{_libdir}/pulse-%{drvver}/modules/module-ladspa-sink.so +%{_libdir}/pulse-%{drvver}/modules/module-remap-sink.so + +%files esound-compat +%defattr(-,root,root) +%{_bindir}/esdcompat +%{_bindir}/esd + +%files module-lirc +%defattr(-,root,root) +%{_libdir}/pulse-%{drvver}/modules/module-lirc.so + +%files module-x11 +%defattr(-,root,root) +%{_libdir}/pulse-%{drvver}/modules/libx11prop.so +%{_libdir}/pulse-%{drvver}/modules/libx11wrap.so +%{_libdir}/pulse-%{drvver}/modules/module-x11-bell.so +%{_libdir}/pulse-%{drvver}/modules/module-x11-publish.so +%{_libdir}/pulse-%{drvver}/modules/module-x11-xsmp.so +%config %{_sysconfdir}/xdg/autostart/pulseaudio-module-xsmp.desktop + +%files module-zeroconf +%defattr(-,root,root) +%{_libdir}/pulse-%{drvver}/modules/libavahi-wrap.so +%{_libdir}/pulse-%{drvver}/modules/module-zeroconf-publish.so +#%files module-jack +#%defattr(-,root,root) +#%{_libdir}/pulse-%{drvver}/modules/module-jack-sink.so +#%{_libdir}/pulse-%{drvver}/modules/module-jack-source.so + +%files module-gconf +%defattr(-,root,root) +%dir %{_libdir}/pulse +%{_libdir}/pulse-%{drvver}/modules/module-gconf.so +%{_libexecdir}/pulse/gconf-helper %files libs -%defattr(-, root, root) -%{_libdir}/lib*.so.* +%defattr(-,root,root) +%doc README LICENSE GPL LGPL +%dir %{_sysconfdir}/pulse/ +%config(noreplace) %{_sysconfdir}/pulse/client.conf +%{_libdir}/libpulse.so.* +%{_libdir}/libpulse-simple.so.* + +%files core-libs +%defattr(-,root,root) +%{_libdir}/libpulsecore.so.* + +%files libs-glib2 +%defattr(-,root,root) +%{_libdir}/libpulse-mainloop-glib.so.* + +%files libs-zeroconf +%defattr(-,root,root) +%{_bindir}/pabrowse +%{_libdir}/libpulse-browse.so.* %files devel -%defattr(-, root, root) +%defattr(-,root,root) %doc doxygen/html +%{_includedir}/pulse/ %{_libdir}/libpulse.so -%{_libdir}/libpulsecore.so -%{_libdir}/libpulse-browse.so %{_libdir}/libpulse-mainloop-glib.so %{_libdir}/libpulse-simple.so -%{_libdir}/pkgconfig/*.pc -%{_includedir}/pulse* +%{_libdir}/libpulse-browse.so +%{_libdir}/pkgconfig/libpulse*.pc + +%files utils +%defattr(-,root,root) +%{_bindir}/pacat +%{_bindir}/pacmd +%{_bindir}/pactl +%{_bindir}/paplay +%{_bindir}/parec +%{_bindir}/pax11publish +%{_bindir}/padsp +%{_bindir}/pasuspender +%{_libdir}/libpulsedsp.so + %changelog +* Tue Dec 11 2007 - rodrigo@suse.de +- Merged with package from home:rodrigomoya:pulseaudio BS project. +* Thu Nov 22 2007 - cyberorg@cyberorg.info +- Remove Provides and Obsoletes from esound compat package +* Wed Nov 21 2007 - cyberorg@cyberorg.info +- Restructured spec file to build more subpackages, like in Fedora 8. * Wed Oct 31 2007 - tiwai@suse.de - updated to version 0.9.7: * New threaded lock-free (mostly at least) core