Author: urkud
Date: Wed Sep 7 22:53:11 2011
New Revision: 29103
URL: https://svn.nixos.org/websvn/nix/?rev=29103&sc=1
Log:
soprano: find virtuoso without LD_LIBRARY_PATH hack
Now it finds virtuoso driver provided that virtuoso-t binary is in PATH.
Added:
nixpkgs/trunk/pkgs/desktops/kde-4.7/support/soprano/find-virtuoso.patch
Modified:
nixpkgs/trunk/pkgs/desktops/kde-4.7/support/soprano/default.nix
Modified: nixpkgs/trunk/pkgs/desktops/kde-4.7/support/soprano/default.nix
==============================================================================
--- nixpkgs/trunk/pkgs/desktops/kde-4.7/support/soprano/default.nix Wed Sep
7 22:52:52 2011 (r29102)
+++ nixpkgs/trunk/pkgs/desktops/kde-4.7/support/soprano/default.nix Wed Sep
7 22:53:11 2011 (r29103)
@@ -14,6 +14,7 @@
name = "soprano-virtuoso-restart.patch";
sha256 = "0jk038fp7ii6847mbxdajhhc7f6ap6lriaklxcqqxf6ddj37gf3y";
})
+ ./find-virtuoso.patch
];
# We disable the Java backend, since we do not need them and they make the
closure size much bigger
Added: nixpkgs/trunk/pkgs/desktops/kde-4.7/support/soprano/find-virtuoso.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ nixpkgs/trunk/pkgs/desktops/kde-4.7/support/soprano/find-virtuoso.patch
Wed Sep 7 22:53:11 2011 (r29103)
@@ -0,0 +1,77 @@
+From: Yury G. Kudryashov <[email protected]>
+Subject: [PATCH] Find virtuoso if virtuoso-t is in PATH
+
+---
+ backends/virtuoso/virtuosobackend.cpp | 29 ++++++++++++++++++++---------
+ backends/virtuoso/virtuosobackend.h | 2 +-
+ 2 files changed, 21 insertions(+), 10 deletions(-)
+
+diff --git a/backends/virtuoso/virtuosobackend.cpp
b/backends/virtuoso/virtuosobackend.cpp
+index c83605d..c24854e 100644
+--- a/backends/virtuoso/virtuosobackend.cpp
++++ b/backends/virtuoso/virtuosobackend.cpp
+@@ -188,19 +188,19 @@ namespace {
+
+ bool Soprano::Virtuoso::BackendPlugin::isAvailable() const
+ {
+-#ifndef Q_OS_WIN
+- if ( findVirtuosoDriver().isEmpty() ) {
+- qDebug() << Q_FUNC_INFO << "could not find Virtuoso ODBC driver";
+- return false;
+- }
+-#endif
+-
+ QString virtuosoBin = VirtuosoController::locateVirtuosoBinary();
+ if ( virtuosoBin.isEmpty() ) {
+ qDebug() << Q_FUNC_INFO << "could not find virtuoso-t binary";
+ return false;
+ }
+
++#ifndef Q_OS_WIN
++ if ( findVirtuosoDriver(virtuosoBin).isEmpty() ) {
++ qDebug() << Q_FUNC_INFO << "could not find Virtuoso ODBC driver";
++ return false;
++ }
++#endif
++
+ QString vs = determineVirtuosoVersion( virtuosoBin );
+ if ( vs.isEmpty() ) {
+ qDebug() << Q_FUNC_INFO << "Failed to determine version of the
Virtuoso server at" << virtuosoBin;
+@@ -217,9 +217,20 @@ bool Soprano::Virtuoso::BackendPlugin::isAvailable() const
+
+
+ #ifndef Q_OS_WIN
+-QString Soprano::Virtuoso::BackendPlugin::findVirtuosoDriver() const
++QString Soprano::Virtuoso::BackendPlugin::findVirtuosoDriver( const QString
&virtuosoBinHint ) const
+ {
+- return Soprano::findLibraryPath( "virtodbc_r", QStringList(),
QStringList() << QLatin1String( "virtuoso/plugins/" ) << QLatin1String( "odbc/"
) );
++ QString virtuosoBin;
++ if (virtuosoBinHint.isEmpty())
++ virtuosoBin = VirtuosoController::locateVirtuosoBinary();
++ else
++ virtuosoBin = virtuosoBinHint;
++
++ QDir virtuosoBinDir = QFileInfo(virtuosoBin).absoluteDir();
++ return Soprano::findLibraryPath( "virtodbc_r",
++ QStringList() << virtuosoBinDir.absolutePath()
++ << virtuosoBinDir.absoluteFilePath("../lib"),
++ QStringList() << QLatin1String( "virtuoso/plugins/" ) <<
++ QLatin1String( "odbc/" ) );
+ }
+ #endif
+
+diff --git a/backends/virtuoso/virtuosobackend.h
b/backends/virtuoso/virtuosobackend.h
+index 3971b83..0807e5d 100644
+--- a/backends/virtuoso/virtuosobackend.h
++++ b/backends/virtuoso/virtuosobackend.h
+@@ -50,7 +50,7 @@ namespace Soprano {
+
+ #ifndef Q_OS_WIN
+ private:
+- QString findVirtuosoDriver() const;
++ QString findVirtuosoDriver(const QString &virtuosoBinHint =
QString()) const;
+ #endif
+ };
+ }
+--
+tg: (432b73f..) t/find-virtuoso (depends on: master)
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits