From 9545c0b80e74fc98e91d3dec6defac0c3a93fa6b Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 8 Mar 2015 18:36:37 +0300 Subject: [PATCH] xmonad: cleanup wrapper --- .../window-managers/xmonad/wrapper.nix | 22 +++++++------------ .../haskell-modules/xmonad-nix.patch | 2 +- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/pkgs/applications/window-managers/xmonad/wrapper.nix b/pkgs/applications/window-managers/xmonad/wrapper.nix index cddaeb5f799f..cb02a214d5bb 100644 --- a/pkgs/applications/window-managers/xmonad/wrapper.nix +++ b/pkgs/applications/window-managers/xmonad/wrapper.nix @@ -1,22 +1,16 @@ -{ stdenv, buildEnv, ghcWithPackages, xmessage, makeWrapper, packages }: +{ stdenv, ghcWithPackages, xmessage, makeWrapper, packages }: let xmonadEnv = ghcWithPackages (self: [ self.xmonad ] ++ packages self); -drv = buildEnv { +in stdenv.mkDerivation { name = "xmonad-with-packages"; - paths = [ xmonadEnv ]; + nativeBuildInputs = [ makeWrapper ]; - postBuild = '' - # TODO: This could be avoided if buildEnv could be forced to create all directories - rm $out/bin - mkdir $out/bin - for i in ${xmonadEnv}/bin/*; do - ln -s $i $out/bin - done - wrapProgram $out/bin/xmonad \ - --set XMONAD_GHC "${xmonadEnv}/bin/ghc" \ + buildCommand = '' + mkdir -p $out/bin + makeWrapper ${xmonadEnv}/bin/xmonad $out/bin/xmonad \ + --set NIX_GHC "${xmonadEnv}/bin/ghc" \ --set XMONAD_XMESSAGE "${xmessage}/bin/xmessage" ''; - }; -in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; }) +} diff --git a/pkgs/development/haskell-modules/xmonad-nix.patch b/pkgs/development/haskell-modules/xmonad-nix.patch index f0785773cc14..810d8435a343 100644 --- a/pkgs/development/haskell-modules/xmonad-nix.patch +++ b/pkgs/development/haskell-modules/xmonad-nix.patch @@ -12,7 +12,7 @@ err = base ++ ".errors" src = base ++ ".hs" lib = dir "lib" -+ ghc <- fromMaybe "ghc" <$> liftIO (lookupEnv "XMONAD_GHC") ++ ghc <- fromMaybe "ghc" <$> liftIO (lookupEnv "NIX_GHC") libTs <- mapM getModTime . Prelude.filter isSource =<< allFiles lib srcT <- getModTime src binT <- getModTime bin