summary refs log tree commit diff
path: root/pkgs/top-level
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2017-06-11 20:35:07 +0200
committerGitHub <noreply@github.com>2017-06-11 20:35:07 +0200
commit4010313ab901c9022f564dfdc0e9ef27b595aa53 (patch)
tree511b37cd0266825e0b99ec24600ed78b02f8cb37 /pkgs/top-level
parent370ace4cf03b31eedcf1e635ed5d52272b774526 (diff)
parentc9cb6403d3c72b01aeccc537d1cbe7954aecf29b (diff)
downloadnixlib-4010313ab901c9022f564dfdc0e9ef27b595aa53.tar
nixlib-4010313ab901c9022f564dfdc0e9ef27b595aa53.tar.gz
nixlib-4010313ab901c9022f564dfdc0e9ef27b595aa53.tar.bz2
nixlib-4010313ab901c9022f564dfdc0e9ef27b595aa53.tar.lz
nixlib-4010313ab901c9022f564dfdc0e9ef27b595aa53.tar.xz
nixlib-4010313ab901c9022f564dfdc0e9ef27b595aa53.tar.zst
nixlib-4010313ab901c9022f564dfdc0e9ef27b595aa53.zip
Merge pull request #26381 from gleber/generalize-beam
erlang: refactor to generalize Erlang/OTP derivations
Diffstat (limited to 'pkgs/top-level')
-rw-r--r--pkgs/top-level/all-packages.nix103
-rw-r--r--pkgs/top-level/beam-packages.nix65
2 files changed, 81 insertions, 87 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4361ea164457..bf3e3c70f814 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5954,93 +5954,22 @@ with pkgs;
 
   clooj = callPackage ../development/interpreters/clojure/clooj.nix { };
 
-  erlangR16 = callPackage ../development/interpreters/erlang/R16.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-  };
-  erlangR16_odbc = callPackage ../development/interpreters/erlang/R16.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    odbcSupport = true;
-  };
-  erlang_basho_R16B02 = callPackage ../development/interpreters/erlang/R16B02-8-basho.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-  };
-  erlang_basho_R16B02_odbc = callPackage ../development/interpreters/erlang/R16B02-8-basho.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    odbcSupport = true;
-  };
-  erlangR17 = callPackage ../development/interpreters/erlang/R17.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-  };
-  erlangR17_odbc = callPackage ../development/interpreters/erlang/R17.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    odbcSupport = true;
-  };
-  erlangR17_javac = callPackage ../development/interpreters/erlang/R17.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    javacSupport = true;
-  };
-  erlangR17_odbc_javac = callPackage ../development/interpreters/erlang/R17.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    javacSupport = true; odbcSupport = true;
-  };
-  erlangR18 = callPackage ../development/interpreters/erlang/R18.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    wxGTK = wxGTK30;
-  };
-  erlangR18_odbc = callPackage ../development/interpreters/erlang/R18.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    wxGTK = wxGTK30;
-    odbcSupport = true;
-  };
-  erlangR18_javac = callPackage ../development/interpreters/erlang/R18.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    wxGTK = wxGTK30;
-    javacSupport = true;
-  };
-  erlangR18_odbc_javac = callPackage ../development/interpreters/erlang/R18.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    wxGTK = wxGTK30;
-    javacSupport = true; odbcSupport = true;
-  };
-  erlangR19 = callPackage ../development/interpreters/erlang/R19.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    wxGTK = wxGTK30;
-  };
-  erlangR19_odbc = callPackage ../development/interpreters/erlang/R19.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    wxGTK = wxGTK30;
-    odbcSupport = true;
-  };
-  erlangR19_javac = callPackage ../development/interpreters/erlang/R19.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    wxGTK = wxGTK30;
-    javacSupport = true;
-  };
-  erlangR19_odbc_javac = callPackage ../development/interpreters/erlang/R19.nix {
-    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-    wxGTK = wxGTK30;
-    javacSupport = true; odbcSupport = true;
-  };
-  erlang = erlangR18;
-  erlang_odbc = erlangR18_odbc;
-  erlang_javac = erlangR18_javac;
-  erlang_odbc_javac = erlangR18_odbc_javac;
-
-  rebar = callPackage ../development/tools/build-managers/rebar { };
-  rebar3-open = callPackage ../development/tools/build-managers/rebar3 { hermeticRebar3 = false; };
-  rebar3 = callPackage ../development/tools/build-managers/rebar3 { hermeticRebar3 = true; };
-  hexRegistrySnapshot = callPackage ../development/beam-modules/hex-registry-snapshot.nix { };
-  fetchHex = callPackage ../development/beam-modules/fetch-hex.nix { };
-
-  beamPackages = callPackage ../development/beam-modules { };
-  hex2nix = beamPackages.callPackage ../development/tools/erlang/hex2nix { };
-  cuter = callPackage ../development/tools/erlang/cuter { };
-
-  relxExe = callPackage ../development/tools/erlang/relx-exe {};
-
-  elixir = callPackage ../development/interpreters/elixir { debugInfo = true; };
-
-  lfe = callPackage ../development/interpreters/lfe { };
+  beam = callPackage ./beam-packages.nix { };
+
+  inherit (beam.interpreters)
+    erlang erlang_odbc erlang_javac erlang_odbc_javac
+    elixir
+    lfe
+    erlangR16 erlangR16_odbc
+    erlang_basho_R16B02 erlang_basho_R16B02_odbc
+    erlangR17 erlangR17_odbc erlangR17_javac erlangR17_odbc_javac
+    erlangR18 erlangR18_odbc erlangR18_javac erlangR18_odbc_javac
+    erlangR19 erlangR19_odbc erlangR19_javac erlangR19_odbc_javac;
+
+  inherit (beam.packages)
+    rebar rebar3-open rebar3
+    hexRegistrySnapshot fetchHex beamPackages
+    hex2nix cuter relxExe;
 
   groovy = callPackage ../development/interpreters/groovy { };
 
diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix
new file mode 100644
index 000000000000..3451816c0c5b
--- /dev/null
+++ b/pkgs/top-level/beam-packages.nix
@@ -0,0 +1,65 @@
+{ pkgs, stdenv, callPackage, wxGTK30, darwin }:
+
+rec {
+  lib = import ../development/beam-modules/lib.nix { inherit pkgs; };
+
+  interpreters = rec {
+
+    # R18 is the Default version.
+    erlang = erlangR18;
+    erlang_odbc = erlangR18_odbc;
+    erlang_javac = erlangR18_javac;
+    erlang_odbc_javac = erlangR18_odbc_javac;
+
+    # These are standard Erlang versions, using the generic builder.
+    erlangR16 = lib.callErlang ../development/interpreters/erlang/R16.nix {};
+    erlangR16_odbc = erlangR16.override { odbcSupport = true; };
+    erlangR17 = lib.callErlang ../development/interpreters/erlang/R17.nix {};
+    erlangR17_odbc = erlangR17.override { odbcSupport = true; };
+    erlangR17_javac = erlangR17.override { javacSupport = true; };
+    erlangR17_odbc_javac = erlangR17.override {
+      javacSupport = true; odbcSupport = true;
+    };
+    erlangR18 = lib.callErlang ../development/interpreters/erlang/R18.nix {
+      wxGTK = wxGTK30;
+    };
+    erlangR18_odbc = erlangR18.override { odbcSupport = true; };
+    erlangR18_javac = erlangR18.override { javacSupport = true; };
+    erlangR18_odbc_javac = erlangR18.override {
+      javacSupport = true; odbcSupport = true;
+    };
+    erlangR19 = lib.callErlang ../development/interpreters/erlang/R19.nix {
+      wxGTK = wxGTK30;
+    };
+    erlangR19_odbc = erlangR19.override { odbcSupport = true; };
+    erlangR19_javac = erlangR19.override { javacSupport = true; };
+    erlangR19_odbc_javac = erlangR19.override {
+      javacSupport = true; odbcSupport = true;
+    };
+
+    # Bash fork, using custom builder.
+    erlang_basho_R16B02 = lib.callErlang ../development/interpreters/erlang/R16B02-8-basho.nix {
+    };
+    erlang_basho_R16B02_odbc = erlang_basho_R16B02.override {
+      odbcSupport = true;
+    };
+
+    # Other Beam languages.
+    elixir = callPackage ../development/interpreters/elixir { debugInfo = true; };
+    lfe = callPackage ../development/interpreters/lfe { };
+  };
+
+  packages = rec {
+    rebar = callPackage ../development/tools/build-managers/rebar { };
+    rebar3-open = callPackage ../development/tools/build-managers/rebar3 { hermeticRebar3 = false; };
+    rebar3 = callPackage ../development/tools/build-managers/rebar3 { hermeticRebar3 = true; };
+    hexRegistrySnapshot = callPackage ../development/beam-modules/hex-registry-snapshot.nix { };
+    fetchHex = callPackage ../development/beam-modules/fetch-hex.nix { };
+
+    beamPackages = callPackage ../development/beam-modules { };
+    hex2nix = beamPackages.callPackage ../development/tools/erlang/hex2nix { };
+    cuter = callPackage ../development/tools/erlang/cuter { };
+
+    relxExe = callPackage ../development/tools/erlang/relx-exe {};
+  };
+}