From 27b7192726e565b463fd5af74842a6d0287fec48 Mon Sep 17 00:00:00 2001 From: aszlig Date: Thu, 19 Oct 2017 03:04:45 +0200 Subject: digikam: 5.4.0 -> 5.7.0 The build for the version 5.4.0 of digiKam has been broken at the time prior to this commit, which is the main reason for this update as I don't think it makes sense to fix the build for 5.4.0 when we're going to update it anyway. A lot has changed upstream between version 5.4.0 and 5.7.0 and it's too much to be summarized here, so here are the URLs to the upstream announcements: * https://www.digikam.org/news/2017-03-14_digiKam_5.5.0_is_released/ * https://www.digikam.org/news/2017-06-21-5.6.0-release-announcement/ * https://www.digikam.org/news/2017-09-11-5.7.0_release_announcement/ On the packaging side, we now no longer have the patch that disables -fno-operator-names because the build runs fine without that patch (which didn't even apply but I didn't check why) and IMO it doesn't make sense to rebase that patch for no reason. Additionally, there were build time dependencies lurking around in propagatedBuildInputs, which is kinda pointless and the application just runs fine if those dependencies are listed in buildInputs. While looking for clues about why that might be necessary I haven't found any comment about it in the source nor a clarification within the message of the commit where this has been introduced. The commit in question is be7b7d908f82e8ab16c43ffd0e240addd6f4018a. Apart from these changes, the rest is just adding a few dependencies (kcalcore, libksane, mesa and pcre) to get less errors during cmakeConfigurePhase. I've tested digiKam by playing around within a VM using photos I netcat'ed into it and it works so far. The VM was built using: nix-build nixos --arg configuration '{ pkgs, ... }: { imports = [ ./nixos/tests/common/user-account.nix ]; environment.systemPackages = [ pkgs.digikam ]; services.xserver.enable = true; services.xserver.displayManager.sddm.enable = true; services.xserver.desktopManager.plasma5.enable = true; services.xserver.desktopManager.default = "plasma5"; virtualisation.memorySize = 1024; }' -A vm What I didn't test however was whether importing from a camera would work (as I don't have one), but aside from that, the application seems to run fine compared to the fact that it didn't even build until now :-) Signed-off-by: aszlig Cc: @the-kenny, @urkud, @viric, @cillianderoiste, @ttuegel Cc: @jraygauthier, @fkz, @sh01, @lsix --- .../digikam/0001-Disable-fno-operator-names.patch | 25 ---------------------- pkgs/applications/graphics/digikam/default.nix | 22 ++++++++++--------- pkgs/top-level/all-packages.nix | 1 + 3 files changed, 13 insertions(+), 35 deletions(-) delete mode 100644 pkgs/applications/graphics/digikam/0001-Disable-fno-operator-names.patch (limited to 'pkgs') diff --git a/pkgs/applications/graphics/digikam/0001-Disable-fno-operator-names.patch b/pkgs/applications/graphics/digikam/0001-Disable-fno-operator-names.patch deleted file mode 100644 index 149a2b2b1aca..000000000000 --- a/pkgs/applications/graphics/digikam/0001-Disable-fno-operator-names.patch +++ /dev/null @@ -1,25 +0,0 @@ -From beb9ad0149adfe448acfa650fb3e171d5fdd7e27 Mon Sep 17 00:00:00 2001 -From: Moritz Ulrich -Date: Wed, 22 Feb 2017 15:28:11 +0100 -Subject: [PATCH] Disable `-fno-operator-names` - ---- - core/CMakeLists.txt | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt -index 89e06827e6..01d0c88ea9 100644 ---- a/core/CMakeLists.txt -+++ b/core/CMakeLists.txt -@@ -98,6 +98,8 @@ include(MacroOpenCV) - include(MacroJPEG) - include(MacroBoolTo01) - -+string(REPLACE "-fno-operator-names" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -+ - # ================================================================================================== - - option(ENABLE_OPENCV3 "Build digiKam with OpenCV3 instead OpenCV2 (default=OFF)" OFF) --- -2.11.1 - diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix index 96b1ca54d558..44ee807fe984 100644 --- a/pkgs/applications/graphics/digikam/default.nix +++ b/pkgs/applications/graphics/digikam/default.nix @@ -8,6 +8,7 @@ , qtsvg , qtwebkit +, kcalcore , kconfigwidgets , kcoreaddons , kdoctools @@ -28,12 +29,15 @@ , lensfun , libgphoto2 , libkipi +, libksane , liblqr1 , libqtav , libusb1 +, mesa , marble , mysql -, opencv +, opencv3 +, pcre , threadweaver # For panorama and focus stacking @@ -46,17 +50,15 @@ mkDerivation rec { name = "digikam-${version}"; - version = "5.4.0"; + version = "5.7.0"; src = fetchurl { url = "http://download.kde.org/stable/digikam/${name}.tar.xz"; - sha256 = "0dgsgji14l5zvxny36hrfsp889fsfrsbbn9bg57m18404xp903kg"; + sha256 = "1xah079g47fih8l9qy1ifppfvmq5yms5y1z54nvxdyz8nsszy19n"; }; nativeBuildInputs = [ cmake extra-cmake-modules kdoctools wrapGAppsHook ]; - patches = [ ./0001-Disable-fno-operator-names.patch ]; - buildInputs = [ bison boost @@ -68,19 +70,21 @@ mkDerivation rec { lensfun libgphoto2 libkipi + libksane liblqr1 libqtav libusb1 + mesa mysql - opencv - ]; + opencv3 + pcre - propagatedBuildInputs = [ qtbase qtxmlpatterns qtsvg qtwebkit + kcalcore kconfigwidgets kcoreaddons kfilemetadata @@ -98,8 +102,6 @@ mkDerivation rec { enableParallelBuilding = true; cmakeFlags = [ - "-DLIBUSB_LIBRARIES=${libusb1.out}/lib" - "-DLIBUSB_INCLUDE_DIR=${libusb1.dev}/include/libusb-1.0" "-DENABLE_MYSQLSUPPORT=1" "-DENABLE_INTERNALMYSQL=1" "-DENABLE_MEDIAPLAYER=1" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a9a3674ee6c1..515698b1c12f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17576,6 +17576,7 @@ with pkgs; digikam = libsForQt5.callPackage ../applications/graphics/digikam { inherit (plasma5) oxygen; + inherit (kdeApplications) kcalcore; boost = boost160; }; -- cgit 1.4.1