From 7b6f8dc77f7ba2cc28bdff390f5922befefa8b48 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Fri, 2 Jun 2017 10:49:32 -0500 Subject: [PATCH] qt5: move kdeDerivation to qt5.mkDerivation --- .../kde/build-support/application.nix | 9 ++---- pkgs/applications/kde/default.nix | 9 +++--- pkgs/applications/misc/krename/default.nix | 4 +-- pkgs/applications/misc/krusader/default.nix | 5 ++- pkgs/applications/misc/yakuake/default.nix | 4 +-- .../networking/irc/konversation/default.nix | 4 +-- pkgs/build-support/kde/derivation.nix | 17 ---------- .../plasma-5/build-support/package.nix | 4 +-- pkgs/desktops/plasma-5/default.nix | 5 +-- .../build-support/framework.nix | 4 +-- .../libraries/kde-frameworks/default.nix | 5 +-- .../libraries/qt-5/5.6/default.nix | 32 ++++++++++++++++--- .../libraries/qt-5/5.8/default.nix | 32 ++++++++++++++++--- pkgs/tools/misc/kronometer/default.nix | 4 +-- pkgs/tools/misc/partition-manager/default.nix | 9 +++--- pkgs/tools/misc/peruse/default.nix | 4 +-- pkgs/tools/text/kdiff3/default.nix | 6 ++-- pkgs/top-level/all-packages.nix | 9 ++---- 18 files changed, 93 insertions(+), 73 deletions(-) delete mode 100644 pkgs/build-support/kde/derivation.nix diff --git a/pkgs/applications/kde/build-support/application.nix b/pkgs/applications/kde/build-support/application.nix index 92fdb439330..a5d1ccc3add 100644 --- a/pkgs/applications/kde/build-support/application.nix +++ b/pkgs/applications/kde/build-support/application.nix @@ -1,4 +1,4 @@ -{ kdeDerivation, lib, debug, srcs }: +{ mkDerivation, lib, srcs }: args: @@ -7,15 +7,10 @@ let sname = args.sname or name; inherit (srcs."${sname}") src version; in -kdeDerivation (args // { +mkDerivation (args // { name = "${name}-${version}"; inherit src; - cmakeFlags = - (args.cmakeFlags or []) - ++ [ "-DBUILD_TESTING=OFF" ] - ++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug"; - meta = { platforms = lib.platforms.linux; homepage = "http://www.kde.org"; diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix index 81c50147cb6..5056cc8725e 100644 --- a/pkgs/applications/kde/default.nix +++ b/pkgs/applications/kde/default.nix @@ -27,9 +27,7 @@ still shows most of the available features is in `./gwenview.nix`. { stdenv, lib, libsForQt5, fetchurl, recurseIntoAttrs, - kdeDerivation, plasma5, - attica, phonon, - debug ? false, + plasma5, attica, phonon, }: let @@ -43,8 +41,9 @@ let let callPackage = self.newScope { kdeApp = import ./build-support/application.nix { - inherit lib kdeDerivation; - inherit debug srcs; + inherit lib; + inherit srcs; + mkDerivation = libsForQt5.callPackage ({ mkDerivation }: mkDerivation) {}; }; }; in { diff --git a/pkgs/applications/misc/krename/default.nix b/pkgs/applications/misc/krename/default.nix index c6baab21ee0..05d1ce1a950 100644 --- a/pkgs/applications/misc/krename/default.nix +++ b/pkgs/applications/misc/krename/default.nix @@ -1,5 +1,5 @@ { - kdeDerivation, kdeWrapper, fetchFromGitHub, lib, + mkDerivation, kdeWrapper, fetchFromGitHub, lib, extra-cmake-modules, kdoctools, kconfig, kinit, kjsembed, taglib, exiv2, podofo }: @@ -7,7 +7,7 @@ let pname = "krename"; version = "20170610"; - unwrapped = kdeDerivation rec { + unwrapped = mkDerivation rec { name = "${pname}-${version}"; src = fetchFromGitHub { diff --git a/pkgs/applications/misc/krusader/default.nix b/pkgs/applications/misc/krusader/default.nix index c085d916d86..df557f76e73 100644 --- a/pkgs/applications/misc/krusader/default.nix +++ b/pkgs/applications/misc/krusader/default.nix @@ -1,5 +1,5 @@ { - kdeDerivation, kdeWrapper, fetchurl, lib, + mkDerivation, kdeWrapper, fetchurl, lib, extra-cmake-modules, kdoctools, kconfig, kinit, kparts }: @@ -7,7 +7,7 @@ let pname = "krusader"; version = "2.6.0"; - unwrapped = kdeDerivation rec { + unwrapped = mkDerivation rec { name = "krusader-${version}"; src = fetchurl { @@ -24,7 +24,6 @@ let nativeBuildInputs = [ extra-cmake-modules kdoctools ]; propagatedBuildInputs = [ kconfig kinit kparts ]; - enableParallelBuilding = true; }; in kdeWrapper { diff --git a/pkgs/applications/misc/yakuake/default.nix b/pkgs/applications/misc/yakuake/default.nix index a70b4be287c..7df1c7383c7 100644 --- a/pkgs/applications/misc/yakuake/default.nix +++ b/pkgs/applications/misc/yakuake/default.nix @@ -1,4 +1,4 @@ -{ kdeDerivation +{ mkDerivation , lib , fetchurl , kdoctools @@ -21,7 +21,7 @@ let unwrapped = let pname = "yakuake"; version = "3.0.3"; - in kdeDerivation rec { + in mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { diff --git a/pkgs/applications/networking/irc/konversation/default.nix b/pkgs/applications/networking/irc/konversation/default.nix index 6f4bc2af79f..740f30874bf 100644 --- a/pkgs/applications/networking/irc/konversation/default.nix +++ b/pkgs/applications/networking/irc/konversation/default.nix @@ -1,4 +1,4 @@ -{ kdeDerivation +{ mkDerivation , lib , fetchurl , extra-cmake-modules @@ -31,7 +31,7 @@ let unwrapped = let pname = "konversation"; version = "1.6.2"; - in kdeDerivation rec { + in mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { diff --git a/pkgs/build-support/kde/derivation.nix b/pkgs/build-support/kde/derivation.nix deleted file mode 100644 index 2e29a0a661e..00000000000 --- a/pkgs/build-support/kde/derivation.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ stdenv, lib, debug ? false }: - -args: - -stdenv.mkDerivation (args // { - - outputs = args.outputs or [ "out" "dev" ]; - - propagatedUserEnvPkgs = - builtins.map lib.getBin (args.propagatedBuildInputs or []); - - cmakeFlags = - (args.cmakeFlags or []) - ++ [ "-DBUILD_TESTING=OFF" ] - ++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug"; - -}) diff --git a/pkgs/desktops/plasma-5/build-support/package.nix b/pkgs/desktops/plasma-5/build-support/package.nix index 1e9ba016c47..64c7934cc23 100644 --- a/pkgs/desktops/plasma-5/build-support/package.nix +++ b/pkgs/desktops/plasma-5/build-support/package.nix @@ -1,4 +1,4 @@ -{ kdeDerivation, lib, fetchurl }: +{ mkDerivation, lib, fetchurl }: let mirror = "mirror://kde"; @@ -12,7 +12,7 @@ let sname = args.sname or name; inherit (srcs."${sname}") src version; in -kdeDerivation (args // { +mkDerivation (args // { name = "${name}-${version}"; inherit src; diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix index 1a8f1ed064b..83d7d39dd86 100644 --- a/pkgs/desktops/plasma-5/default.nix +++ b/pkgs/desktops/plasma-5/default.nix @@ -25,7 +25,7 @@ existing packages here and modify it as necessary. */ { - libsForQt5, kdeDerivation, lib, fetchurl, + libsForQt5, lib, fetchurl, gconf, debug ? false, }: @@ -35,7 +35,8 @@ let let callPackage = self.newScope { plasmaPackage = import ./build-support/package.nix { - inherit kdeDerivation lib fetchurl; + inherit lib fetchurl; + mkDerivation = libsForQt5.callPackage ({ mkDerivation }: mkDerivation) {}; }; }; in { diff --git a/pkgs/development/libraries/kde-frameworks/build-support/framework.nix b/pkgs/development/libraries/kde-frameworks/build-support/framework.nix index 5b6f2cc4b26..04832cf5608 100644 --- a/pkgs/development/libraries/kde-frameworks/build-support/framework.nix +++ b/pkgs/development/libraries/kde-frameworks/build-support/framework.nix @@ -1,4 +1,4 @@ -{ kdeDerivation, lib, fetchurl }: +{ mkDerivation, lib, fetchurl }: let mirror = "mirror://kde"; @@ -10,7 +10,7 @@ args: let inherit (args) name; inherit (srcs."${name}") src version; -in kdeDerivation (args // { +in mkDerivation (args // { name = "${name}-${version}"; inherit src; diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix index 221fba628ba..e5a765d7c16 100644 --- a/pkgs/development/libraries/kde-frameworks/default.nix +++ b/pkgs/development/libraries/kde-frameworks/default.nix @@ -24,14 +24,15 @@ existing packages here and modify it as necessary. */ -{ libsForQt5, kdeDerivation, lib, fetchurl }: +{ libsForQt5, lib, fetchurl }: let packages = self: with self; let callPackage = self.newScope { kdeFramework = import ./build-support/framework.nix { - inherit kdeDerivation lib fetchurl; + inherit lib fetchurl; + mkDerivation = libsForQt5.callPackage ({ mkDerivation }: mkDerivation) {}; }; }; in { diff --git a/pkgs/development/libraries/qt-5/5.6/default.nix b/pkgs/development/libraries/qt-5/5.6/default.nix index beb80bbd1b1..586a8d584da 100644 --- a/pkgs/development/libraries/qt-5/5.6/default.nix +++ b/pkgs/development/libraries/qt-5/5.6/default.nix @@ -33,6 +33,7 @@ existing packages here and modify it as necessary. # options developerBuild ? false, decryptSslTraffic ? false, + debug ? null, }: with stdenv.lib; @@ -44,12 +45,36 @@ let mirror = "http://download.qt.io"; srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; }; + mkDerivation = args: + stdenv.mkDerivation (args // { + + outputs = args.outputs or [ "out" "dev" ]; + + propagatedUserEnvPkgs = + (args.propagatedUserEnvPkgs or []) + ++ map getBin (args.propagatedBuildInputs or []); + + qmakeFlags = + (args.qmakeFlags or []) + ++ optional (debug != null) + (if debug then "CONFIG+=debug" else "CONFIG+=release"); + + cmakeFlags = + (args.cmakeFlags or []) + ++ [ "-DBUILD_TESTING=OFF" ] + ++ optional (debug != null) + (if debug then "-DCMAKE_BUILD_TYPE=Debug" + else "-DCMAKE_BUILD_TYPE=Release"); + + enableParallelBuilding = args.enableParallelBuilding or true; + + }); + qtSubmodule = args: let inherit (args) name; version = args.version or srcs."${name}".version; src = args.src or srcs."${name}".src; - inherit (stdenv) mkDerivation; in mkDerivation (args // { name = "${name}-${version}"; inherit src; @@ -61,13 +86,10 @@ let NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true; - outputs = args.outputs or [ "out" "dev" ]; setOutputFlags = args.setOutputFlags or false; setupHook = ../qtsubmodule-setup-hook.sh; - enableParallelBuilding = args.enableParallelBuilding or true; - meta = self.qtbase.meta // (args.meta or {}); }); @@ -76,6 +98,8 @@ let callPackage = self.newScope { inherit qtCompatVersion qtSubmodule srcs; }; in { + inherit mkDerivation; + qtbase = callPackage ./qtbase { inherit bison cups harfbuzz mesa; inherit developerBuild decryptSslTraffic; diff --git a/pkgs/development/libraries/qt-5/5.8/default.nix b/pkgs/development/libraries/qt-5/5.8/default.nix index 129858f8ac9..399c0415b11 100644 --- a/pkgs/development/libraries/qt-5/5.8/default.nix +++ b/pkgs/development/libraries/qt-5/5.8/default.nix @@ -24,6 +24,7 @@ top-level attribute to `top-level/all-packages.nix`. # options developerBuild ? false, decryptSslTraffic ? false, + debug ? null, }: with stdenv.lib; @@ -35,12 +36,36 @@ let mirror = "http://download.qt.io"; srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; }; + mkDerivation = args: + stdenv.mkDerivation (args // { + + outputs = args.outputs or [ "out" "dev" ]; + + propagatedUserEnvPkgs = + (args.propagatedUserEnvPkgs or []) + ++ map getBin (args.propagatedBuildInputs or []); + + qmakeFlags = + (args.qmakeFlags or []) + ++ optional (debug != null) + (if debug then "CONFIG+=debug" else "CONFIG+=release"); + + cmakeFlags = + (args.cmakeFlags or []) + ++ [ "-DBUILD_TESTING=OFF" ] + ++ optional (debug != null) + (if debug then "-DCMAKE_BUILD_TYPE=Debug" + else "-DCMAKE_BUILD_TYPE=Release"); + + enableParallelBuilding = args.enableParallelBuilding or true; + + }); + qtSubmodule = args: let inherit (args) name; version = args.version or srcs."${name}".version; src = args.src or srcs."${name}".src; - inherit (stdenv) mkDerivation; in mkDerivation (args // { name = "${name}-${version}"; inherit src; @@ -52,13 +77,10 @@ let NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true; - outputs = args.outputs or [ "out" "dev" ]; setOutputFlags = args.setOutputFlags or false; setupHook = ../qtsubmodule-setup-hook.sh; - enableParallelBuilding = args.enableParallelBuilding or true; - meta = self.qtbase.meta // (args.meta or {}); }); @@ -67,6 +89,8 @@ let callPackage = self.newScope { inherit qtCompatVersion qtSubmodule srcs; }; in { + inherit mkDerivation; + qtbase = callPackage ./qtbase { inherit (srcs.qtbase) src version; inherit bison cups harfbuzz mesa; diff --git a/pkgs/tools/misc/kronometer/default.nix b/pkgs/tools/misc/kronometer/default.nix index 5ba2543e273..088d01b882d 100644 --- a/pkgs/tools/misc/kronometer/default.nix +++ b/pkgs/tools/misc/kronometer/default.nix @@ -1,5 +1,5 @@ { - kdeDerivation, kdeWrapper, fetchurl, lib, + mkDerivation, kdeWrapper, fetchurl, lib, extra-cmake-modules, kdoctools, kconfig, kinit }: @@ -7,7 +7,7 @@ let pname = "kronometer"; version = "2.1.3"; - unwrapped = kdeDerivation rec { + unwrapped = mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { diff --git a/pkgs/tools/misc/partition-manager/default.nix b/pkgs/tools/misc/partition-manager/default.nix index dcea9c47aec..ffee286f57f 100644 --- a/pkgs/tools/misc/partition-manager/default.nix +++ b/pkgs/tools/misc/partition-manager/default.nix @@ -1,11 +1,11 @@ -{ kdeDerivation, kdeWrapper, fetchurl, lib -, ecm, kdoctools +{ mkDerivation, kdeWrapper, fetchurl, lib +, extra-cmake-modules, kdoctools , kconfig, kinit, kpmcore , eject, libatasmart }: let pname = "partitionmanager"; - unwrapped = kdeDerivation rec { + unwrapped = mkDerivation rec { name = "${pname}-${version}"; version = "3.0.1"; @@ -19,11 +19,10 @@ let license = licenses.gpl2; maintainers = with maintainers; [ peterhoeg ]; }; - nativeBuildInputs = [ ecm kdoctools ]; + nativeBuildInputs = [ extra-cmake-modules kdoctools ]; # refer to kpmcore for the use of eject buildInputs = [ eject libatasmart ]; propagatedBuildInputs = [ kconfig kinit kpmcore ]; - enableParallelBuilding = true; }; in kdeWrapper { diff --git a/pkgs/tools/misc/peruse/default.nix b/pkgs/tools/misc/peruse/default.nix index 1c7a28e2975..5b5cbbf59cf 100644 --- a/pkgs/tools/misc/peruse/default.nix +++ b/pkgs/tools/misc/peruse/default.nix @@ -1,5 +1,5 @@ { - kdeDerivation, kdeWrapper, fetchFromGitHub, fetchurl, lib, + mkDerivation, kdeWrapper, fetchFromGitHub, fetchurl, lib, extra-cmake-modules, kdoctools, baloo, kconfig, kfilemetadata, kinit, kirigami, knewstuff, plasma-framework }: @@ -13,7 +13,7 @@ let rev = "d1be8c43a82a4320306c8e835a86fdb7b2574ca7"; sha256 = "03ds5da69zipa25rsp76l6xqivrh3wcgygwyqa5x2rgcz3rjnlpr"; }; - unwrapped = kdeDerivation rec { + unwrapped = mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix index 124855525ac..3263fe09f6f 100644 --- a/pkgs/tools/text/kdiff3/default.nix +++ b/pkgs/tools/text/kdiff3/default.nix @@ -1,10 +1,10 @@ { - kdeDerivation, kdeWrapper, lib, fetchgit, fetchpatch, + mkDerivation, lib, kdeWrapper, fetchgit, fetchpatch, extra-cmake-modules, kdoctools, kconfig, kinit, kparts }: let - unwrapped = kdeDerivation rec { + unwrapped = mkDerivation rec { name = "kdiff3-${version}"; version = "1.7.0-2017-02-19"; @@ -34,8 +34,6 @@ let propagatedBuildInputs = [ kconfig kinit kparts ]; - enableParallelBuilding = true; - meta = with lib; { homepage = http://kdiff3.sourceforge.net/; license = licenses.gpl2Plus; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d7ba1d6a289..d730991ffdf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -292,9 +292,6 @@ with pkgs; inherit kernel rootModules allowMissing; }; - kdeDerivation = makeOverridable (import ../build-support/kde/derivation.nix) - { inherit stdenv lib; }; - kdeWrapper = callPackage ../build-support/kde/wrapper.nix { inherit (gnome3) dconf; }; @@ -8233,7 +8230,7 @@ with pkgs; mkFrameworks = import ../development/libraries/kde-frameworks; attrs = { inherit libsForQt5; - inherit kdeDerivation lib fetchurl; + inherit lib fetchurl; }; in recurseIntoAttrs (makeOverridable mkFrameworks attrs); @@ -14620,7 +14617,7 @@ with pkgs; mkApplications = import ../applications/kde; attrs = { inherit stdenv lib libsForQt5 fetchurl recurseIntoAttrs; - inherit kdeDerivation plasma5; + inherit plasma5; inherit attica phonon; }; in @@ -17570,7 +17567,7 @@ with pkgs; let mkPlasma5 = import ../desktops/plasma-5; attrs = { - inherit libsForQt5 kdeDerivation lib fetchurl; + inherit libsForQt5 lib fetchurl; inherit (gnome3) gconf; }; in