nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
fork

Configure Feed

Select the types of activity you want to include in your feed.

Generalize building of LFE

+44 -28
+2 -1
pkgs/development/beam-modules/default.nix
··· 54 54 debugInfo = true; 55 55 }; 56 56 57 - lfe = callPackage ../interpreters/lfe { }; 57 + lfe = lfe_1_2; 58 + lfe_1_2 = lib.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3; }; 58 59 59 60 # Non hex packages 60 61 hex = callPackage ./hex {};
+22
pkgs/development/beam-modules/lib.nix
··· 56 56 mkDerivation = pkgs.makeOverridable builder; 57 57 }; 58 58 59 + /* Uses generic-builder to evaluate provided drv containing Elixir version 60 + specific data. 61 + 62 + drv: package containing version-specific args; 63 + builder: generic builder for all Erlang versions; 64 + args: arguments merged into version-specific args, used mostly to customize 65 + dependencies; 66 + 67 + Arguments passed to the generic-builder are overridable. 68 + 69 + Please note that "mkDerivation" defined here is the one called from 1.2.nix 70 + and similar files. 71 + */ 72 + callLFE = drv: args: 73 + let 74 + inherit (stdenv.lib) versionAtLeast; 75 + builder = callPackage ../interpreters/lfe/generic-builder.nix args; 76 + in 77 + callPackage drv { 78 + mkDerivation = pkgs.makeOverridable builder; 79 + }; 80 + 59 81 }
+6
pkgs/development/interpreters/lfe/1.2.nix
··· 1 + { mkDerivation }: 2 + 3 + mkDerivation { 4 + version = "1.2.1"; 5 + sha256 = "0j5gjlsk92y14kxgvd80q9vwyhmjkphpzadcswyjxikgahwg1avz"; 6 + }
+13 -26
pkgs/development/interpreters/lfe/default.nix pkgs/development/interpreters/lfe/generic-builder.nix
··· 1 - { stdenv, fetchFromGitHub, erlang, makeWrapper, coreutils, bash, beamPackages }: 1 + { stdenv, fetchFromGitHub, erlang, makeWrapper, coreutils, bash, buildRebar3 }: 2 2 3 - let 4 - inherit (beamPackages) buildRebar3 buildHex; 5 - proper = buildHex rec { 6 - name = "proper"; 7 - version = "1.1.1-beta"; 8 - sha256 = "0hnkhs761yjynw9382w8wm4j3x0r7lllzavaq2kh9n7qy3zc1rdx"; 3 + { baseName ? "lfe" 4 + , version 5 + , sha256 ? null 6 + , rev ? version 7 + , src ? fetchFromGitHub { inherit rev sha256; owner = "rvirding"; repo = "lfe"; } 8 + }: 9 9 10 - configurePhase = '' 11 - ${erlang}/bin/escript write_compile_flags include/compile_flags.hrl 12 - ''; 13 - }; 14 - in 15 - buildRebar3 rec { 16 - name = "lfe"; 17 - version = "1.2.1"; 10 + buildRebar3 { 11 + name = "${baseName}"; 18 12 19 - src = fetchFromGitHub { 20 - owner = "rvirding"; 21 - repo = name; 22 - rev = version; 23 - sha256 = "0j5gjlsk92y14kxgvd80q9vwyhmjkphpzadcswyjxikgahwg1avz"; 24 - }; 13 + inherit src version; 25 14 26 - buildInputs = [ makeWrapper ]; 27 - beamDeps = [ proper ]; 15 + buildInputs = [ erlang makeWrapper ]; 28 16 patches = [ ./no-test-deps.patch ]; 29 - doCheck = true; 30 - checkTarget = "travis"; 31 17 32 18 # These installPhase tricks are based on Elixir's Makefile. 33 19 # TODO: Make, upload, and apply a patch. ··· 27 41 install -m644 _build/default/lib/lfe/ebin/* $ebindir 28 42 29 43 install -m755 -d $bindir 44 + 30 45 for bin in bin/lfe{,c,doc,script}; do install -m755 $bin $bindir; done 31 46 32 47 install -m755 -d $out/bin ··· 57 70 downloadPage = "https://github.com/rvirding/lfe/releases"; 58 71 59 72 license = licenses.asl20; 60 - maintainers = with maintainers; [ yurrriq ]; 73 + maintainers = with maintainers; [ yurrriq ankhers ]; 61 74 platforms = platforms.unix; 62 75 }; 63 76 }
+1 -1
pkgs/top-level/beam-packages.nix
··· 58 58 # `beam.packages.erlangR19.elixir`. 59 59 inherit (packages.erlang) elixir elixir_1_5_rc elixir_1_4 elixir_1_3; 60 60 61 - lfe = packages.erlang.lfe; 61 + inherit (packages.erlang) lfe lfe_1_2; 62 62 }; 63 63 64 64 # Helper function to generate package set with a specific Erlang version.