diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix index 895453aae446..4467ae338e49 100644 --- a/pkgs/applications/graphics/digikam/default.nix +++ b/pkgs/applications/graphics/digikam/default.nix @@ -1,28 +1,26 @@ { stdenv, fetchurl, cmake, qt4, kdelibs, automoc4, phonon, qimageblitz, qca2, eigen, -kdegraphics, lcms, jasper, libgphoto2, kdepimlibs, gettext, soprano, kdeedu, +lcms, jasper, libgphoto2, kdepimlibs, gettext, soprano, libjpeg, libtiff, liblqr1, lensfun, pkgconfig, qjson, libkdcraw, opencv, libkexiv2, libkipi, boost, -shared_desktop_ontologies, marble }: +shared_desktop_ontologies, marble, clapack, mysql }: stdenv.mkDerivation rec { - name = "digikam-2.4.1"; + name = "digikam-2.5.0"; src = fetchurl { url = "mirror://sourceforge/digikam/${name}.tar.bz2"; - sha256 = "0fyyhc26syd1d1m8jqyg2i66hwd523mh419ln8y944jkrjj6gadc"; + sha256 = "06l52j8i45vyfj3b81ivifqsqdjlcj4g68d8w06c5lhzniwjqaam"; }; - buildInputs = [ cmake qt4 kdelibs kdegraphics automoc4 phonon qimageblitz qca2 eigen - lcms jasper libgphoto2 kdepimlibs gettext soprano kdeedu liblqr1 lensfun - pkgconfig qjson libkdcraw opencv libkexiv2 libkipi boost shared_desktop_ontologies - marble ]; + buildNativeInputs = [ cmake automoc4 pkgconfig ]; - KDEDIRS=kdeedu; + buildInputs = [ qt4 kdelibs phonon qimageblitz qca2 eigen lcms libjpeg libtiff + jasper libgphoto2 kdepimlibs gettext soprano liblqr1 lensfun qjson libkdcraw + opencv libkexiv2 libkipi boost shared_desktop_ontologies marble mysql ]; # Make digikam find some FindXXXX.cmake - preConfigure = '' - cp ${qjson}/share/apps/cmake/modules/FindQJSON.cmake cmake/modules; - cp ${marble}/share/apps/cmake/modules/FindMarble.cmake cmake/modules; - ''; + KDEDIRS="${marble}:${qjson}"; + + patches = [ ./libkvkontakte-not-topdir.patch ./ftbfs-libkipi.patch ]; meta = { description = "Photo Management Program"; diff --git a/pkgs/applications/graphics/digikam/ftbfs-libkipi.patch b/pkgs/applications/graphics/digikam/ftbfs-libkipi.patch new file mode 100644 index 000000000000..cf7e77f7ef8a --- /dev/null +++ b/pkgs/applications/graphics/digikam/ftbfs-libkipi.patch @@ -0,0 +1,68 @@ +commit 25cc9c9876a5233bd630105d0110319892d4e18c +Author: Gilles Caulier +Date: Tue Jan 3 15:16:37 2012 +0100 + + enable checkall and clearall buttons only with libkipi version 1.4.0 + BUGS: 290496 + +diff --git a/core/utilities/setup/setupplugins.cpp b/utilities/setup/setupplugins.cpp +index 0f4030a..b8efb35 100644 +--- a/core/utilities/setup/setupplugins.cpp ++++ b/core/utilities/setup/setupplugins.cpp +@@ -6,8 +6,8 @@ + * Date : 2004-01-02 + * Description : setup Kipi plugins tab. + * +- * Copyright (C) 2004-2011 by Gilles Caulier +- * Copyright (C) 2011 by Andi Clemens ++ * Copyright (C) 2004-2012 by Gilles Caulier ++ * Copyright (C) 2011-2012 by Andi Clemens + * + * This program is free software; you can redistribute it + * and/or modify it under the terms of the GNU General +@@ -100,6 +100,11 @@ SetupPlugins::SetupPlugins(QWidget* parent) + + panel->setLayout(mainLayout); + ++#if KIPI_VERSION < 0x010400 ++ d->checkAllBtn->setVisible(false); ++ d->clearBtn->setVisible(false); ++#endif ++ + initPlugins(); + + // -------------------------------------------------------- +@@ -158,14 +163,18 @@ void SetupPlugins::applyPlugins() + void SetupPlugins::slotCheckAll() + { + QApplication::setOverrideCursor(Qt::WaitCursor); ++#if KIPI_VERSION >= 0x010400 + d->kipiConfig->slotCheckAll(); ++#endif + QApplication::restoreOverrideCursor(); + } + + void SetupPlugins::slotClear() + { + QApplication::setOverrideCursor(Qt::WaitCursor); ++#if KIPI_VERSION >= 0x010400 + d->kipiConfig->slotClear(); ++#endif + QApplication::restoreOverrideCursor(); + } + +diff --git a/core/utilities/setup/setupplugins.h b/utilities/setup/setupplugins.h +index 271a569..114e0fa 100644 +--- a/core/utilities/setup/setupplugins.h ++++ b/core/utilities/setup/setupplugins.h +@@ -6,8 +6,8 @@ + * Date : 2004-01-02 + * Description : setup Kipi plugins tab. + * +- * Copyright (C) 2004-2011 by Gilles Caulier +- * Copyright (C) 2011 by Andi Clemens ++ * Copyright (C) 2004-2012 by Gilles Caulier ++ * Copyright (C) 2011-2012 by Andi Clemens + * + * This program is free software; you can redistribute it + * and/or modify it under the terms of the GNU General diff --git a/pkgs/applications/graphics/digikam/libkvkontakte-not-topdir.patch b/pkgs/applications/graphics/digikam/libkvkontakte-not-topdir.patch new file mode 100644 index 000000000000..ee92a886c79d --- /dev/null +++ b/pkgs/applications/graphics/digikam/libkvkontakte-not-topdir.patch @@ -0,0 +1,33 @@ +commit 0f0cfa14805519cfd9e0b97ee9668dc4f86379de +Author: Yury G. Kudryashov +Date: Wed Jan 18 05:07:13 2012 +0400 + + Use CMAKE_CURRENT_{SOURCE,BINARY}_DIR + + Some projects (e.g., digikam) include snapshots of this library into their + release tarballs, so the libkvkontakte_SOURCE_DIR != CMAKE_SOURCE_DIR. + +diff --git a/extra/libkvkontakte/CMakeLists.txt b/extra/libkvkontakte/CMakeLists.txt +index f19b28b..4310a74 100644 +--- a/extra/libkvkontakte/CMakeLists.txt ++++ b/extra/libkvkontakte/CMakeLists.txt +@@ -21,7 +21,7 @@ set(INCLUDE_INSTALL_DIR include ) + + + # === Closer to the code, close to the body === +-set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules") ++set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") + find_package(KDE4 REQUIRED) + include(KDE4Defaults) + include(MacroLibrary) +@@ -35,8 +35,8 @@ macro_log_feature(QJSON_FOUND "QJSON" "Qt library for handling JSON data" "http: + add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS}) + + include_directories( +- ${CMAKE_SOURCE_DIR} +- ${CMAKE_BINARY_DIR} ++ ${CMAKE_CURRENT_SOURCE_DIR} ++ ${CMAKE_CURRENT_BINARY_DIR} + ${KDE4_INCLUDES} + ${QJSON_INCLUDE_DIR} + )