nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 100 lines 2.9 kB view raw
1{ 2 lib, 3 pkgs, 4 erlang, 5}: 6 7let 8 inherit (lib) makeExtensible; 9 10 # FIXME: add support for overrideScope 11 callPackageWithScope = 12 scope: drv: args: 13 lib.callPackageWith scope drv args; 14 mkScope = scope: pkgs // scope; 15 16 packages = 17 self: 18 let 19 defaultScope = mkScope self; 20 callPackage = drv: args: callPackageWithScope defaultScope drv args; 21 in 22 rec { 23 inherit callPackage erlang; 24 beamPackages = self; 25 26 inherit (callPackage ../tools/build-managers/rebar3 { }) rebar3 rebar3WithPlugins; 27 rebar = callPackage ../tools/build-managers/rebar { }; 28 29 pc = callPackage ./pc { }; 30 rebar3-proper = callPackage ./rebar3-proper { }; 31 rebar3-nix = callPackage ./rebar3-nix { }; 32 33 fetchHex = callPackage ./fetch-hex.nix { }; 34 35 fetchRebar3Deps = callPackage ./fetch-rebar-deps.nix { }; 36 rebar3Relx = callPackage ./rebar3-release.nix { }; 37 38 buildRebar3 = callPackage ./build-rebar3.nix { }; 39 buildHex = callPackage ./build-hex.nix { }; 40 buildErlangMk = callPackage ./build-erlang-mk.nix { }; 41 buildMix = callPackage ./build-mix.nix { }; 42 fetchMixDeps = callPackage ./fetch-mix-deps.nix { }; 43 mixRelease = callPackage ./mix-release.nix { }; 44 45 erlfmt = callPackage ./erlfmt { }; 46 elvis-erlang = callPackage ./elvis-erlang { }; 47 48 # BEAM-based languages. 49 elixir = elixir_1_18; 50 51 elixir_1_20 = callPackage ../interpreters/elixir/1.20.nix { 52 inherit erlang; 53 debugInfo = true; 54 }; 55 56 elixir_1_19 = callPackage ../interpreters/elixir/1.19.nix { 57 inherit erlang; 58 debugInfo = true; 59 }; 60 61 elixir_1_18 = callPackage ../interpreters/elixir/1.18.nix { 62 inherit erlang; 63 debugInfo = true; 64 }; 65 66 elixir_1_17 = callPackage ../interpreters/elixir/1.17.nix { 67 inherit erlang; 68 debugInfo = true; 69 }; 70 71 elixir_1_16 = callPackage ../interpreters/elixir/1.16.nix { 72 inherit erlang; 73 debugInfo = true; 74 }; 75 76 elixir_1_15 = callPackage ../interpreters/elixir/1.15.nix { 77 inherit erlang; 78 debugInfo = true; 79 }; 80 81 # Remove old versions of elixir, when the supports fades out: 82 # https://hexdocs.pm/elixir/compatibility-and-deprecations.html 83 84 ex_doc = callPackage ./ex_doc { 85 inherit fetchMixDeps mixRelease; 86 }; 87 88 elixir-ls = callPackage ./elixir-ls { inherit elixir; }; 89 90 lfe = callPackage ../interpreters/lfe { inherit erlang buildRebar3 buildHex; }; 91 92 livebook = callPackage ./livebook { inherit beamPackages; }; 93 94 # Non hex packages. Examples how to build Rebar/Mix packages with and 95 # without helper functions buildRebar3 and buildMix. 96 hex = callPackage ./hex { }; 97 webdriver = callPackage ./webdriver { }; 98 }; 99in 100makeExtensible packages