about summary refs log tree commit diff
path: root/pkgs/top-level/ocaml-packages.nix
diff options
context:
space:
mode:
authorpukkamustard <pukkamustard@posteo.net>2019-01-03 23:58:36 +0100
committerVincent Laporte <vbgl@users.noreply.github.com>2019-01-06 11:20:08 +0000
commit9211bcc7eaf9a0ba25e55eae6a5dad8bab3029ab (patch)
treeb1f5d99dd08420d37ca6e84d1d327b37e02fa01d /pkgs/top-level/ocaml-packages.nix
parent10a12194e301f2ad3ff6899e022afa96af0610c8 (diff)
downloadnixlib-9211bcc7eaf9a0ba25e55eae6a5dad8bab3029ab.tar
nixlib-9211bcc7eaf9a0ba25e55eae6a5dad8bab3029ab.tar.gz
nixlib-9211bcc7eaf9a0ba25e55eae6a5dad8bab3029ab.tar.bz2
nixlib-9211bcc7eaf9a0ba25e55eae6a5dad8bab3029ab.tar.lz
nixlib-9211bcc7eaf9a0ba25e55eae6a5dad8bab3029ab.tar.xz
nixlib-9211bcc7eaf9a0ba25e55eae6a5dad8bab3029ab.tar.zst
nixlib-9211bcc7eaf9a0ba25e55eae6a5dad8bab3029ab.zip
ocamlPackages: Use lib.makeScope
Diffstat (limited to 'pkgs/top-level/ocaml-packages.nix')
-rw-r--r--pkgs/top-level/ocaml-packages.nix38
1 files changed, 16 insertions, 22 deletions
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index c670db817728..a80aec268b9a 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -1,16 +1,13 @@
-{ lib, callPackage, newScope, pkgs, config }:
+{ lib, newScope, pkgs, config }:
 
 let
   inherit (pkgs.stdenv.hostPlatform) system;
 
-  mkOcamlPackages = ocaml: overrides:
-    let
-      packageSet = self:
-        with self; let inherit (self) callPackage; in
-     let ocamlPackages =
-  {
-    callPackage = newScope self;
+  liftJaneStreet = self: super: super.janeStreet // super;
 
+  mkOcamlPackages = ocaml:
+    (lib.makeScope newScope (self: with self;
+  {
     inherit ocaml;
 
     # Libs
@@ -1062,29 +1059,26 @@ let
       camlp5 = callPackage ../development/tools/ocaml/camlp5 { legacy = true; };
     };
 
-  };
-    in (ocamlPackages.janeStreet // ocamlPackages);
-    in lib.fix' (lib.extends overrides packageSet);
-in rec
-{
+  })).overrideScope' liftJaneStreet;
 
-  inherit mkOcamlPackages;
+in let inherit (pkgs) callPackage; in rec
+{
 
-  ocamlPackages_4_00_1 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.00.1.nix { }) (self: super: { });
+  ocamlPackages_4_00_1 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.00.1.nix { });
 
-  ocamlPackages_4_01_0 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.01.0.nix { }) (self: super: { });
+  ocamlPackages_4_01_0 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.01.0.nix { });
 
-  ocamlPackages_4_02 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.02.nix { }) (self: super: { });
+  ocamlPackages_4_02 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.02.nix { });
 
-  ocamlPackages_4_03 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.03.nix { }) (self: super: { });
+  ocamlPackages_4_03 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.03.nix { });
 
-  ocamlPackages_4_04 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.04.nix { }) (self: super: { });
+  ocamlPackages_4_04 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.04.nix { });
 
-  ocamlPackages_4_05 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.05.nix { }) (self: super: { });
+  ocamlPackages_4_05 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.05.nix { });
 
-  ocamlPackages_4_06 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.06.nix { }) (self: super: { });
+  ocamlPackages_4_06 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.06.nix { });
 
-  ocamlPackages_4_07 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.07.nix { }) (self: super: { });
+  ocamlPackages_4_07 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.07.nix { });
 
   ocamlPackages_latest = ocamlPackages_4_07;