lol

extra-cmake-modules: separate setup hook from package

+36 -33
+1 -1
pkgs/desktops/kde-5/applications/default.nix
··· 21 21 packages = self: with self; { 22 22 23 23 kdeApp = import ./kde-app.nix { 24 - inherit stdenv lib; 24 + inherit kdeDerivation lib; 25 25 inherit debug srcs; 26 26 }; 27 27
+2 -9
pkgs/desktops/kde-5/applications/kde-app.nix
··· 1 - { stdenv, lib, debug, srcs }: 1 + { kdeDerivation, lib, debug, srcs }: 2 2 3 3 args: 4 4 ··· 7 7 sname = args.sname or name; 8 8 inherit (srcs."${sname}") src version; 9 9 in 10 - stdenv.mkDerivation (args // { 10 + kdeDerivation (args // { 11 11 name = "${name}-${version}"; 12 12 inherit src; 13 - 14 - outputs = args.outputs or [ "dev" "out" ]; 15 - 16 - cmakeFlags = 17 - (args.cmakeFlags or []) 18 - ++ [ "-DBUILD_TESTING=OFF" ] 19 - ++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug"; 20 13 21 14 meta = { 22 15 platforms = lib.platforms.linux;
+2 -9
pkgs/desktops/kde-5/plasma/default.nix
··· 13 13 14 14 let 15 15 16 - inherit (pkgs) lib stdenv symlinkJoin; 16 + inherit (pkgs) lib makeSetupHook stdenv symlinkJoin; 17 17 18 18 mirror = "mirror://kde"; 19 19 srcs = import ./srcs.nix { inherit (pkgs) fetchurl; inherit mirror; }; ··· 24 24 inherit (args) name; 25 25 sname = args.sname or name; 26 26 inherit (srcs."${sname}") src version; 27 - in stdenv.mkDerivation (args // { 27 + in kdeDerivation (args // { 28 28 name = "${name}-${version}"; 29 29 inherit src; 30 - 31 - outputs = args.outputs or [ "dev" "out" ]; 32 - 33 - cmakeFlags = 34 - (args.cmakeFlags or []) 35 - ++ [ "-DBUILD_TESTING=OFF" ] 36 - ++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug"; 37 30 38 31 meta = { 39 32 license = with lib.licenses; [
+23 -6
pkgs/development/libraries/kde-frameworks/default.nix
··· 19 19 srcs = import ./srcs.nix { inherit (pkgs) fetchurl; inherit mirror; }; 20 20 21 21 packages = self: with self; { 22 - kdeFramework = args: 22 + 23 + kdeDerivation = args: 23 24 let 24 - inherit (args) name; 25 - inherit (srcs."${name}") src version; 25 + setupHook = 26 + let drv = { qtbase, qttools }: 27 + makeSetupHook { deps = [ qtbase qttools ]; } ./setup-hook.sh; 28 + in callPackage drv {}; 26 29 in stdenv.mkDerivation (args // { 27 - name = "${name}-${version}"; 28 - inherit src; 29 30 30 31 outputs = args.outputs or [ "dev" "out" ]; 31 32 ··· 34 35 ++ [ "-DBUILD_TESTING=OFF" ] 35 36 ++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug"; 36 37 38 + nativeBuildInputs = 39 + (args.nativeBuildInputs or []) 40 + ++ [ pkgs.cmake pkgs.pkgconfig setupHook ]; 41 + 42 + }); 43 + 44 + kdeFramework = args: 45 + let 46 + inherit (args) name; 47 + inherit (srcs."${name}") src version; 48 + in kdeDerivation (args // { 49 + name = "${name}-${version}"; 50 + inherit src; 51 + 37 52 meta = { 38 53 license = with lib.licenses; [ 39 54 lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12 ··· 47 62 baloo = callPackage ./baloo.nix {}; 48 63 bluez-qt = callPackage ./bluez-qt.nix {}; 49 64 breeze-icons = callPackage ./breeze-icons.nix {}; 50 - extra-cmake-modules = callPackage ./extra-cmake-modules {}; 65 + extra-cmake-modules = callPackage ./extra-cmake-modules { 66 + inherit (srcs.extra-cmake-modules) src version; 67 + }; 51 68 frameworkintegration = callPackage ./frameworkintegration.nix {}; 52 69 kactivities = callPackage ./kactivities.nix {}; 53 70 kactivities-stats = callPackage ./kactivities-stats.nix {};
+8 -8
pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix
··· 1 - { kdeFramework, lib, copyPathsToStore, cmake, pkgconfig, qttools }: 1 + { stdenv, lib, copyPathsToStore, src, version, cmake }: 2 2 3 - kdeFramework { 4 - name = "extra-cmake-modules"; 3 + stdenv.mkDerivation { 4 + name = "extra-cmake-modules-${version}"; 5 + 6 + inherit src; 5 7 6 8 patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); 7 9 8 10 outputs = [ "out" ]; # this package has no runtime components 9 - setupHook = ./setup-hook.sh; 10 11 11 - # It is OK to propagate these inputs as long as 12 - # extra-cmake-modules is never a propagated input 13 - # of some other derivation. 14 - propagatedNativeBuildInputs = [ cmake pkgconfig qttools ]; 12 + nativeBuildInputs = [ cmake ]; 15 13 16 14 meta = with lib; { 15 + platforms = lib.platforms.linux; 16 + homepage = "http://www.kde.org"; 17 17 license = licenses.bsd2; 18 18 maintainers = [ maintainers.ttuegel ]; 19 19 };
pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh pkgs/development/libraries/kde-frameworks/setup-hook.sh