{ mkDerivation, lib, fetchurl, cmake, doxygen, extra-cmake-modules, wrapGAppsHook # For `digitaglinktree` , perl, sqlite , qtbase , qtxmlpatterns , qtsvg , qtwebengine , akonadi-contacts , kcalendarcore , kconfigwidgets , kcoreaddons , kdoctools , kfilemetadata , knotifications , knotifyconfig , ktextwidgets , kwidgetsaddons , kxmlgui , bison , boost , eigen , exiv2 , ffmpeg , flex , graphviz , imagemagick , lcms2 , lensfun , libgphoto2 , libkipi , libksane , liblqr1 , libqtav , libusb1 , marble , libGL , libGLU , opencv , pcre , threadweaver , x265 # For panorama and focus stacking , enblend-enfuse , hugin , gnumake , breeze-icons , oxygen }: mkDerivation rec { pname = "digikam"; version = "7.4.0"; src = fetchurl { url = "mirror://kde/stable/${pname}/${version}/digiKam-${version}.tar.xz"; sha256 = "sha256-0Iq2bacyu0SbwQEG7BHdne+ls1Yt7TdBsEHbuqcVUEo="; }; nativeBuildInputs = [ cmake doxygen extra-cmake-modules kdoctools wrapGAppsHook ]; buildInputs = [ bison boost eigen exiv2 ffmpeg flex graphviz imagemagick lcms2 lensfun libgphoto2 libkipi libksane liblqr1 libqtav libusb1 libGL libGLU opencv pcre x265 qtbase qtxmlpatterns qtsvg qtwebengine akonadi-contacts kcalendarcore kconfigwidgets kcoreaddons kfilemetadata knotifications knotifyconfig ktextwidgets kwidgetsaddons kxmlgui breeze-icons marble oxygen threadweaver ]; cmakeFlags = [ "-DENABLE_MYSQLSUPPORT=1" "-DENABLE_INTERNALMYSQL=1" "-DENABLE_MEDIAPLAYER=1" "-DENABLE_QWEBENGINE=on" "-DENABLE_APPSTYLES=on" ]; dontWrapGApps = true; preFixup = '' qtWrapperArgs+=("''${gappsWrapperArgs[@]}") qtWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ gnumake hugin enblend-enfuse ]}) qtWrapperArgs+=(--suffix DK_PLUGIN_PATH : ${placeholder "out"}/${qtbase.qtPluginPrefix}/${pname}) substituteInPlace $out/bin/digitaglinktree \ --replace "/usr/bin/perl" "${perl}/bin/perl" \ --replace "/usr/bin/sqlite3" "${sqlite}/bin/sqlite3" ''; meta = with lib; { description = "Photo Management Program"; license = licenses.gpl2; homepage = "https://www.digikam.org"; platforms = platforms.linux; }; }