From d05a86a1deb87c3b2ffb59a03ab35745b8cc24ea Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 9 Jul 2014 15:39:12 +0200 Subject: [PATCH] Add lambdabot wrapper and mueval wrapper to make lambdabot run out of the box --- .../libraries/haskell/lambdabot/wrapper.nix | 19 +++++++++++ .../libraries/haskell/mueval/wrapper.nix | 33 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 8 +++++ 3 files changed, 60 insertions(+) create mode 100644 pkgs/development/libraries/haskell/lambdabot/wrapper.nix create mode 100644 pkgs/development/libraries/haskell/mueval/wrapper.nix diff --git a/pkgs/development/libraries/haskell/lambdabot/wrapper.nix b/pkgs/development/libraries/haskell/lambdabot/wrapper.nix new file mode 100644 index 00000000000..e8b01533bf1 --- /dev/null +++ b/pkgs/development/libraries/haskell/lambdabot/wrapper.nix @@ -0,0 +1,19 @@ +{ stdenv, lambdabot, mueval, makeWrapper }: + +stdenv.mkDerivation { + name = "lambdabot-wrapper"; + + buildInputs = [ makeWrapper ]; + + buildCommand = '' + makeWrapper "${lambdabot}/bin/lambdabot" "$out/bin/lambdabot" \ + --prefix PATH : "${mueval}/bin" + ''; + + preferLocalBuild = true; + + meta = { + description = lambdabot.meta.description; + }; +} + diff --git a/pkgs/development/libraries/haskell/mueval/wrapper.nix b/pkgs/development/libraries/haskell/mueval/wrapper.nix new file mode 100644 index 00000000000..6c3beb4da8b --- /dev/null +++ b/pkgs/development/libraries/haskell/mueval/wrapper.nix @@ -0,0 +1,33 @@ +{ stdenv, mueval, makeWrapper, ghc +, show, simpleReflect, mtl, random, QuickCheck +, additionalPackages ? [] }: + +stdenv.mkDerivation { + name = "mueval-wrapper"; + + buildInputs = [ makeWrapper show simpleReflect mtl random QuickCheck ] + ++ additionalPackages; + + ghcVersion = ghc.version; + + buildCommand = '' + PKGPATH="" + for p in $nativePkgs; do + for i in "$p/lib/ghc-$ghcVersion/package.conf.d/"*.installedconf; do + PKGPATH=$PKGPATH''${PKGPATH:+:}$i + done + done + + makeWrapper "${mueval}/bin/mueval" "$out/bin/mueval" \ + --prefix PATH : "${mueval}/bin" \ + --prefix GHC_PACKAGE_PATH : "$PKGPATH" \ + --set GHC_PACKAGE_PATH "\$GHC_PACKAGE_PATH:" # always end with : to include base packages + ''; + + preferLocalBuild = true; + + meta = { + description = mueval.meta.description; + }; +} + diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 02ee853ec20..237fc3416e4 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1349,6 +1349,12 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in lambdabot = callPackage ../development/libraries/haskell/lambdabot {}; + lambdabotWrapper = callPackage ../development/libraries/haskell/lambdabot/wrapper.nix { + mueval = self.muevalWrapper.override { + additionalPackages = [ self.lambdabot ]; + }; + }; + lambdabotUtils = callPackage ../development/libraries/haskell/lambdabot-utils {}; lambdacubeEngine = callPackage ../development/libraries/haskell/lambdacube-engine {}; @@ -1544,6 +1550,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in mueval = callPackage ../development/libraries/haskell/mueval {}; + muevalWrapper = callPackage ../development/libraries/haskell/mueval/wrapper.nix {}; + multiarg = callPackage ../development/libraries/haskell/multiarg {}; multimap = callPackage ../development/libraries/haskell/multimap {};