diff options
Diffstat (limited to 'pkgs/development/libraries/kde-frameworks-5.7/default.nix')
-rw-r--r-- | pkgs/development/libraries/kde-frameworks-5.7/default.nix | 203 |
1 files changed, 203 insertions, 0 deletions
diff --git a/pkgs/development/libraries/kde-frameworks-5.7/default.nix b/pkgs/development/libraries/kde-frameworks-5.7/default.nix new file mode 100644 index 00000000000..30e8d5ffe1c --- /dev/null +++ b/pkgs/development/libraries/kde-frameworks-5.7/default.nix @@ -0,0 +1,203 @@ +# Maintainer's Notes: +# +# Minor updates: +# 1. Edit ./manifest.sh to point to the updated URL. Upstream sometimes +# releases updates that include only the changed packages; in this case, +# multiple URLs can be provided and the results will be merged. +# 2. Run ./manifest.sh and ./dependencies.sh. +# 3. Build and enjoy. +# +# Major updates: +# We prefer not to immediately overwrite older versions with major updates, so +# make a copy of this directory first. After copying, be sure to delete ./tmp +# if it exists. Then follow the minor update instructions. + +{ autonix, fetchurl, pkgs, qt5, stdenv, debug ? false }: + +with stdenv.lib; with autonix; + +let + + mkDerivation = drv: + let inherit (builtins.parseDrvName drv.name) version; in + stdenv.mkDerivation + (drv // { + setupHook = ./setup-hook.sh; + + enableParallelBuilding = drv.enableParallelBuilding or true; + cmakeFlags = + (drv.cmakeFlags or []) + ++ [ "-DBUILD_TESTING=OFF" ] + ++ optional debug "-DCMAKE_BUILD_TYPE=Debug"; + + meta = + { + license = with stdenv.lib.licenses; [ + lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12 + ]; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ ttuegel ]; + homepage = "http://www.kde.org"; + inherit version; + branch = intersperse "." (take 2 (splitString "." version)); + } // (drv.meta or {}); + }); + + renames = builtins.removeAttrs (import ./renames.nix {}) ["Backend" "CTest"]; + + scope = + # packages in this collection + (mapAttrs (dep: name: kf5."${name}") renames) // + # packages pinned to this version of Qt 5 + { + Phonon4Qt5 = pkgs.phonon_qt5.override { inherit qt5; }; + Qt5 = qt5.base; + Qt5Core = qt5.base; + Qt5DBus = qt5.base; + Qt5Gui = qt5.base; + Qt5LinguistTools = qt5.tools; + Qt5Qml = [qt5.declarative qt5.graphicaleffects]; + Qt5Quick = [qt5.quickcontrols qt5.graphicaleffects]; + Qt5Script = qt5.script; + Qt5Svg = qt5.svg; + Qt5WebkitWidgets = qt5.webkit; + Qt5Widgets = qt5.base; + Qt5X11Extras = qt5.x11extras; + Qt5XmlPatterns = qt5.xmlpatterns; + dbusmenu-qt5 = pkgs.libdbusmenu_qt5.override { inherit qt5; }; + } // + # packages from the nixpkgs collection + (with pkgs; + { + Boost = boost155; + inherit cmake epoxy; + GIF = giflib; + GLIB2 = glib; + Gpgme = gpgme; + JPEG = libjpeg; + LibGcrypt = libgcrypt; + LibGit2 = libgit2; + LibIntl = gettext; + LibLZMA = lzma; + NetworkManager = networkmanager; + Perl = perl; + PythonInterp = python; + QImageBlitz = qimageblitz; + SharedMimeInfo = shared_mime_info; + ZLIB = zlib; + } + ); + + mirror = "mirror://kde"; + + preResolve = super: + fold (f: x: f x) super + [ + (userEnvPkg "SharedMimeInfo") + (userEnvPkg "SharedDesktopOntologies") + ]; + + postResolve = super: + super // { + extra-cmake-modules = { + inherit (super.extra-cmake-modules) name src; + + propagatedNativeBuildInputs = [ scope.cmake pkgs.pkgconfig qt5.tools ]; + cmakeFlags = ["-DBUILD_TESTING=OFF"]; + patches = + [ + ./extra-cmake-modules/0001-extra-cmake-modules-paths.patch + ]; + meta = + let inherit (builtins.parseDrvName super.extra-cmake-modules.name) version; in + { + license = with stdenv.lib.licenses; [ bsd2 ]; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ ttuegel ]; + homepage = "http://www.kde.org"; + inherit version; + branch = intersperse "." (take 2 (splitString "." version)); + }; + }; + + frameworkintegration = super.frameworkintegration // { + buildInputs = with pkgs.xlibs; super.frameworkintegration.buildInputs ++ [ libXcursor ]; + }; + + kauth = super.kauth // { + buildInputs = + super.kauth.buildInputs + ++ [(pkgs.polkit_qt5.override { inherit qt5; })]; + patches = [./kauth/kauth-policy-install.patch]; + }; + + kcmutils = super.kcmutils // { + patches = + [./kcmutils/kcmutils-pluginselector-follow-symlinks.patch]; + }; + + kconfigwidgets = super.kconfigwidgets // { + patches = + [./kconfigwidgets/kconfigwidgets-helpclient-follow-symlinks.patch]; + }; + + kdelibs4support = with pkgs; super.kdelibs4support // { + buildInputs = + super.kdelibs4support.buildInputs + ++ [networkmanager xlibs.libSM]; + cmakeFlags = + (super.kdelibs4support.cmakeFlags or []) + ++ [ + "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook" + "-DDocBookXML4_DTD_VERSION=4.5" + ]; + }; + + kdoctools = with pkgs; super.kdoctools // { + cmakeFlags = + (super.kdoctools.cmakeFlags or []) + ++ [ + "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook" + "-DDocBookXML4_DTD_VERSION=4.5" + "-DDocBookXSL_DIR=${docbook5_xsl}/xml/xsl/docbook" + ]; + patches = [./kdoctools/kdoctools-no-find-docbook-xml.patch]; + }; + + ki18n = with pkgs; super.ki18n // { + propagatedNativeBuildInputs = + super.ki18n.propagatedNativeBuildInputs ++ [gettext python]; + }; + + kimageformats = with pkgs; super.kimageformats // { + NIX_CFLAGS_COMPILE = + (super.kimageformats.NIX_CFLAGS_COMPILE or "") + + " -I${ilmbase}/include/OpenEXR"; + }; + + kinit = super.kinit // { patches = [ ./kinit/kinit-libpath.patch ]; }; + + kpackage = super.kpackage // { patches = [ ./kpackage/0001-allow-external-paths.patch ]; }; + + kservice = super.kservice // { + buildInputs = super.kservice.buildInputs ++ [kf5.kwindowsystem]; + patches = + [ + ./kservice/kservice-kbuildsycoca-follow-symlinks.patch + ./kservice/kservice-kbuildsycoca-no-canonicalize-path.patch + ]; + }; + + ktexteditor = super.ktexteditor // { + patches = [ ./ktexteditor/0001-no-qcoreapplication.patch ]; + }; + + }; + + kf5 = generateCollection ./. { + inherit mirror mkDerivation preResolve postResolve renames scope; + }; + +in + + kf5 // { inherit mkDerivation qt5 scope; } |