summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2010-02-11 12:47:54 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2010-02-11 12:47:54 +0000
commit10c077f3a1abf6332f77fbc21cbcca2ab9b8d941 (patch)
tree7dfacece665b5886122e50f8877babd142d1ee06 /dev-libs
parentstable x86, bug 304353 (diff)
downloadgentoo-2-10c077f3a1abf6332f77fbc21cbcca2ab9b8d941.tar.gz
gentoo-2-10c077f3a1abf6332f77fbc21cbcca2ab9b8d941.tar.bz2
gentoo-2-10c077f3a1abf6332f77fbc21cbcca2ab9b8d941.zip
Apply upstream "unlock the mutex before deleting it" patch.
(Portage version: 2.2_rc62/cvs/Linux x86_64)
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/soprano/ChangeLog8
-rw-r--r--dev-libs/soprano/files/soprano-2.4.0-socketMutex.unlock.patch20
-rw-r--r--dev-libs/soprano/soprano-2.4.0-r1.ebuild104
3 files changed, 131 insertions, 1 deletions
diff --git a/dev-libs/soprano/ChangeLog b/dev-libs/soprano/ChangeLog
index 4d5b71afd94e..49d42e5da280 100644
--- a/dev-libs/soprano/ChangeLog
+++ b/dev-libs/soprano/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-libs/soprano
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/soprano/ChangeLog,v 1.40 2010/02/09 23:32:33 reavertm Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/soprano/ChangeLog,v 1.41 2010/02/11 12:47:53 ssuominen Exp $
+
+*soprano-2.4.0-r1 (11 Feb 2010)
+
+ 11 Feb 2010; Samuli Suominen <ssuominen@gentoo.org>
+ +soprano-2.4.0-r1.ebuild, +files/soprano-2.4.0-socketMutex.unlock.patch:
+ Apply upstream "unlock the mutex before deleting it" patch.
*soprano-2.4.0 (09 Feb 2010)
diff --git a/dev-libs/soprano/files/soprano-2.4.0-socketMutex.unlock.patch b/dev-libs/soprano/files/soprano-2.4.0-socketMutex.unlock.patch
new file mode 100644
index 000000000000..a346e5bfa507
--- /dev/null
+++ b/dev-libs/soprano/files/soprano-2.4.0-socketMutex.unlock.patch
@@ -0,0 +1,20 @@
+http://bugs.kde.org/show_bug.cgi?id=226218#c2
+http://websvn.kde.org/?view=rev&revision=1088551
+
+--- client/clientconnection.cpp
++++ client/clientconnection.cpp
+@@ -71,12 +71,13 @@
+
+ Soprano::Client::ClientConnection::~ClientConnection()
+ {
+- QMutexLocker lock( &d->socketMutex );
++ d->socketMutex.lock();
+ // the sockets need to be deleted in their respective threads.
+ // this is what d->socketStorage does. We only close them here.
+ foreach( QIODevice* socket, d->sockets ) {
+ socket->close();
+ }
++ d->socketMutex.unlock();
+ delete d;
+ }
+
diff --git a/dev-libs/soprano/soprano-2.4.0-r1.ebuild b/dev-libs/soprano/soprano-2.4.0-r1.ebuild
new file mode 100644
index 000000000000..a51fec63f3c6
--- /dev/null
+++ b/dev-libs/soprano/soprano-2.4.0-r1.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/soprano/soprano-2.4.0-r1.ebuild,v 1.1 2010/02/11 12:47:53 ssuominen Exp $
+
+EAPI="2"
+
+JAVA_PKG_OPT_USE="java"
+inherit base cmake-utils flag-o-matic java-pkg-opt-2
+
+DESCRIPTION="Library that provides a nice Qt interface to RDF storage solutions"
+HOMEPAGE="http://sourceforge.net/projects/soprano"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+IUSE="clucene +dbus debug doc elibc_FreeBSD java +raptor +redland +virtuoso"
+
+COMMON_DEPEND="
+ >=x11-libs/qt-core-4.5.0:4
+ clucene? ( dev-cpp/clucene )
+ dbus? ( >=x11-libs/qt-dbus-4.5.0:4 )
+ raptor? ( >=media-libs/raptor-1.4.16 )
+ redland? (
+ >=dev-libs/rasqal-0.9.15
+ >=dev-libs/redland-1.0.10
+ )
+ java? ( >=virtual/jdk-1.6.0 )
+ virtuoso? ( dev-db/libiodbc:0 )
+"
+DEPEND="${COMMON_DEPEND}
+ doc? ( app-doc/doxygen )
+"
+RDEPEND="${COMMON_DEPEND}
+ virtuoso? ( >=dev-db/virtuoso-server-6.1.0 )
+"
+
+CMAKE_IN_SOURCE_BUILD="1"
+
+PATCHES=( "${FILESDIR}/${P}-socketMutex.unlock.patch" )
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+
+ if [[ ${PV} = *9999* && -z $I_KNOW_WHAT_I_AM_DOING ]]; then
+ echo
+ ewarn "WARNING! This is an experimental ebuild of ${PN} SVN tree. Use at your own risk."
+ ewarn "Do _NOT_ file bugs at bugs.gentoo.org because of this ebuild!"
+ echo
+ fi
+
+ if ! use java && ! use virtuoso; then
+ if ! use redland; then
+ echo
+ ewarn "You have explicitly disabled the default soprano backend and haven't chosen"
+ ewarn "a different one. Applications using soprano may need at least one backend"
+ ewarn "to be functional. If you experience any problems, enable any of those USE"
+ ewarn "flags:"
+ ewarn "java, redland, virtuoso (recommended)"
+ echo
+ else
+ echo
+ ewarn "You selected redland as the only backend for soprano."
+ ewarn "Be advised that it's known to be broken (bug #275326)."
+ echo
+ fi
+ fi
+}
+
+src_prepare() {
+ base_src_prepare
+}
+
+src_configure() {
+ # Fix for missing pthread.h linking
+ # NOTE: temporarily fix until a better cmake files patch will be provided.
+ use elibc_FreeBSD && append-flags -pthread
+
+ mycmakeargs=(
+ -DSOPRANO_BUILD_TESTS=OFF
+ -DCMAKE_SKIP_RPATH=OFF
+ $(cmake-utils_use !clucene SOPRANO_DISABLE_CLUCENE_INDEX)
+ $(cmake-utils_use !dbus SOPRANO_DISABLE_DBUS)
+ $(cmake-utils_use !raptor SOPRANO_DISABLE_RAPTOR_PARSER)
+ $(cmake-utils_use !redland SOPRANO_DISABLE_RAPTOR_SERIALIZER)
+ $(cmake-utils_use !redland SOPRANO_DISABLE_REDLAND_BACKEND)
+ $(cmake-utils_use !java SOPRANO_DISABLE_SESAME2_BACKEND)
+ $(cmake-utils_use !virtuoso SOPRANO_DISABLE_VIRTUOSO_BACKEND)
+ $(cmake-utils_use doc SOPRANO_BUILD_API_DOCS)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_test() {
+ mycmakeargs+=(-DSOPRANO_BUILD_TESTS=ON)
+ cmake-utils_src_configure
+ cmake-utils_src_compile
+ ctest --extra-verbose || die "Tests failed."
+}