From 6c9de3f6009fbbebeb92593577622da6d7d05408 Mon Sep 17 00:00:00 2001 From: Parnell Springmeyer Date: Sat, 2 Dec 2017 09:20:22 -0600 Subject: [PATCH] hocker: Don't check package and wrap the binaries with PATH to nix --- nixos/tests/hocker-fetchdocker/machine.nix | 5 --- .../haskell-modules/configuration-common.nix | 34 +++++++++++++++++++ 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/nixos/tests/hocker-fetchdocker/machine.nix b/nixos/tests/hocker-fetchdocker/machine.nix index 0d71aedd054d..12c58a012243 100644 --- a/nixos/tests/hocker-fetchdocker/machine.nix +++ b/nixos/tests/hocker-fetchdocker/machine.nix @@ -1,11 +1,6 @@ { config, pkgs, ... }: { nixpkgs.config.packageOverrides = pkgs': { hello-world-container = pkgs'.callPackage ./hello-world-container.nix { }; - haskellPackages = pkgs'.haskellPackages.override { - overrides = new: old: { - hocker = pkgs'.haskell.lib.dontCheck old.hocker; - }; - }; }; virtualisation.docker = { diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 84df4d1f0c4d..37b9feb84f02 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -984,4 +984,38 @@ self: super: { }; }).override { language-c = self.language-c_0_7_0; }; + hocker = + overrideCabal + # Not checking because it's failing on a test that needs a data + # file not included in its source distribution; this will be + # removed when that is fixed + ( dontCheck super.hocker ) + ( oldDerivation: { + testToolDepends = + (oldDerivation.testToolDepends or []) ++[ pkgs.nix ]; + buildDepends = + (oldDerivation.buildDepends or []) ++ [ pkgs.makeWrapper ]; + + postInstall = + (oldDerivation.postInstall or "") + '' + # Globbing for hocker-* fails with: Builder called die: + # makeWrapper doesn't understand the arg /nix/store/rsic1v6y6v63q6lkmpn3xmn7cnzx8irk-hocker-1.0.2/bin/hocker-image + wrapProgram $out/bin/hocker-image \ + --suffix PATH : ${pkgs.nix}/bin + + wrapProgram $out/bin/hocker-layer \ + --suffix PATH : ${pkgs.nix}/bin + + wrapProgram $out/bin/hocker-config \ + --suffix PATH : ${pkgs.nix}/bin + + wrapProgram $out/bin/hocker-manifest \ + --suffix PATH : ${pkgs.nix}/bin + + wrapProgram $out/bin/docker2nix \ + --suffix PATH : ${pkgs.nix}/bin + ''; + } + ); + }