summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorBas van Dijk <v.dijk.bas@gmail.com>2018-08-25 15:24:41 +0200
committerSilvan Mosberger <infinisil@icloud.com>2018-10-12 14:12:29 +0200
commit7b49b870cb2326b998e90818a22055fd6e52959d (patch)
tree3f9d4f7c4b29db9f5c7fedab6f5e798d88bc2834 /pkgs
parent0c25079958ac46f7438d2a90e837acf7c69a2ab9 (diff)
downloadnixlib-7b49b870cb2326b998e90818a22055fd6e52959d.tar
nixlib-7b49b870cb2326b998e90818a22055fd6e52959d.tar.gz
nixlib-7b49b870cb2326b998e90818a22055fd6e52959d.tar.bz2
nixlib-7b49b870cb2326b998e90818a22055fd6e52959d.tar.lz
nixlib-7b49b870cb2326b998e90818a22055fd6e52959d.tar.xz
nixlib-7b49b870cb2326b998e90818a22055fd6e52959d.tar.zst
nixlib-7b49b870cb2326b998e90818a22055fd6e52959d.zip
haskell: have a dedicated file for non Hackage packages
We had a few "overrides" in configuration-common.nix that were really
extensions. They introduced packages that weren't in hackage-packages.nix.

The advantage of having a dedicated file for these packages is that we can still
place Nix-specific overrides to these packages in configuration-nix.nix. We
weren't able do this before because configuration-nix.nix extended only the
packages from hackage-packages.nix.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix9
-rw-r--r--pkgs/development/haskell-modules/default.nix5
-rw-r--r--pkgs/development/haskell-modules/non-hackage-packages.nix14
3 files changed, 18 insertions, 10 deletions
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 46e104e34724..15bd1507cc93 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -704,12 +704,6 @@ self: super: {
     then appendConfigureFlag super.gtk "-fhave-quartz-gtk"
     else super.gtk;
 
-  # vaultenv is not available from Hackage.
-  vaultenv = self.callPackage ../tools/haskell/vaultenv { };
-
-  # futhark is not available from Hackage.
-  futhark = self.callPackage ../compilers/futhark { };
-
   # https://github.com/Philonous/hs-stun/pull/1
   # Remove if a version > 0.1.0.1 ever gets released.
   stunclient = overrideCabal super.stunclient (drv: {
@@ -950,9 +944,6 @@ self: super: {
   # Tries to read a file it is not allowed to in the test suite
   load-env = dontCheck super.load-env;
 
-  # Add support for https://github.com/haskell-hvr/multi-ghc-travis.
-  multi-ghc-travis = self.callPackage ../tools/haskell/multi-ghc-travis {};
-
   # https://github.com/yesodweb/Shelly.hs/issues/162
   shelly = dontCheck super.shelly;
 
diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix
index b8943a55394a..a4f0399cf3c6 100644
--- a/pkgs/development/haskell-modules/default.nix
+++ b/pkgs/development/haskell-modules/default.nix
@@ -4,6 +4,7 @@
 , packageSetConfig ? (self: super: {})
 , overrides ? (self: super: {})
 , initialPackages ? import ./initial-packages.nix
+, nonHackagePackages ? import ./non-hackage-packages.nix
 , configurationCommon ? import ./configuration-common.nix
 , configurationNix ? import ./configuration-nix.nix
 }:
@@ -26,7 +27,9 @@ let
       (extends packageSetConfig
         (extends compilerConfig
           (extends commonConfiguration
-            (extends nixConfiguration haskellPackages)))));
+            (extends nixConfiguration
+              (extends nonHackagePackages
+                haskellPackages))))));
 
 in
 
diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix
new file mode 100644
index 000000000000..642c6bff6b53
--- /dev/null
+++ b/pkgs/development/haskell-modules/non-hackage-packages.nix
@@ -0,0 +1,14 @@
+# EXTRA HASKELL PACKAGES NOT ON HACKAGE
+#
+# This file should only contain packages that are not in ./hackage-packages.nix.
+# Attributes in this set should be nothing more than a callPackage call.
+# Overrides to these packages should go to either configuration-nix.nix,
+# configuration-common.nix or to one of the compiler specific configuration
+# files.
+self: super: {
+  multi-ghc-travis = self.callPackage ../tools/haskell/multi-ghc-travis { };
+
+  vaultenv = self.callPackage ../tools/haskell/vaultenv { };
+
+  futhark = self.callPackage ../compilers/futhark { };
+}