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 <urkud.ur...@gmail.com> +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 nix-comm...@cs.uu.nl http://mail.cs.uu.nl/mailman/listinfo/nix-commits