diff options
author | Eric Bailey <eric@ericb.me> | 2020-01-30 12:00:09 -0600 |
---|---|---|
committer | Frederik Rietdijk <freddyrietdijk@fridh.nl> | 2020-02-10 20:03:47 +0100 |
commit | d723b9122345b0198ad5349ebdd21651561a6e64 (patch) | |
tree | fa110f6c35146e84a13756da6d933f48450a1c85 /pkgs/development/interpreters/lfe | |
parent | 82e007f80fd14216f2104798acf3d53645383da2 (diff) |
lfe: 1.2.1 -> 1.3
Add patches to the builder expression, and add those necessary for 1.3.
Diffstat (limited to 'pkgs/development/interpreters/lfe')
-rw-r--r-- | pkgs/development/interpreters/lfe/1.3.nix | 43 | ||||
-rw-r--r-- | pkgs/development/interpreters/lfe/dedup-ebins.patch | 13 | ||||
-rw-r--r-- | pkgs/development/interpreters/lfe/generic-builder.nix | 13 |
3 files changed, 65 insertions, 4 deletions
diff --git a/pkgs/development/interpreters/lfe/1.3.nix b/pkgs/development/interpreters/lfe/1.3.nix new file mode 100644 index 0000000000000..52df5c0254472 --- /dev/null +++ b/pkgs/development/interpreters/lfe/1.3.nix @@ -0,0 +1,43 @@ +{ fetchpatch, mkDerivation }: + +let + _fetchpatch = + { rev, sha256 }: + fetchpatch { + url = "https://github.com/rvirding/lfe/commit/${rev}.patch"; + inherit sha256; + }; + fetchPatches = map _fetchpatch; +in + +mkDerivation { + version = "1.3"; + sha256 = "0pgwi0h0d34353m39jin8dxw4yykgfcg90k6pc4qkjyrg40hh4l6"; + maximumOTPVersion = "21"; + patches = fetchPatches [ + { + rev = "b457e5d521bb35008e6049fab31b4073cc10d583"; + sha256 = "1zrq1b3291xhb0jsirgb5s8hacq5xvz7xidsp29aqcnpazdvivdc"; + } + { + rev = "5fe9f37741b7d53bd43109fd3435e1437f124a0d"; + sha256 = "1anqlcbih52lc0wynf58r67w1jhn264lz49rczwgh19pqg92dvqf"; + } + { + rev = "b8f3e06511cb6805cf3a904c1589b27f33f3958d"; + sha256 = "1zqafc0asm9m6cq7r0brvfawv69fqggy1phif3zknjmpicf25pqf"; + } + { + rev = "40c239a608460e55563edb68c1b6faca57518b54"; + sha256 = "03av5115jwyammw337xzy50l6api5h0wbwwda5vzw0w10zwb2z8y"; + } + { + rev = "5faa7106419263689bfc0bc08a7451ccb1fba718"; + sha256 = "0ml5yh5b3rn4ympks4bpx409hkra0i79zvq80azk0kmbjd869fxp"; + } + { + rev = "9ff978693babcfd043d741b5c6940920b8315892"; + sha256 = "04968dmp527wbkdv7dqpaj3nsyjls93whc1b5hx73b39dvl3n3y1"; + } + ]; +} diff --git a/pkgs/development/interpreters/lfe/dedup-ebins.patch b/pkgs/development/interpreters/lfe/dedup-ebins.patch new file mode 100644 index 0000000000000..44e3733c4165b --- /dev/null +++ b/pkgs/development/interpreters/lfe/dedup-ebins.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile b/Makefile +index 59f2c06..5ee8f6e 100644 +--- a/Makefile ++++ b/Makefile +@@ -60,7 +60,7 @@ ESRCS = $(notdir $(wildcard $(SRCDIR)/*.erl)) + XSRCS = $(notdir $(wildcard $(SRCDIR)/*.xrl)) + YSRCS = $(notdir $(wildcard $(SRCDIR)/*.yrl)) + LSRCS = $(notdir $(wildcard $(LSRCDIR)/*.lfe)) +-EBINS = $(ESRCS:.erl=.beam) $(XSRCS:.xrl=.beam) $(YSRCS:.yrl=.beam) ++EBINS = $(sort $(ESRCS:.erl=.beam) $(XSRCS:.xrl=.beam) $(YSRCS:.yrl=.beam)) + LBINS = $(LSRCS:.lfe=.beam) + + CSRCS = $(notdir $(wildcard $(CSRCDIR)/*.c)) diff --git a/pkgs/development/interpreters/lfe/generic-builder.nix b/pkgs/development/interpreters/lfe/generic-builder.nix index 5df491e72d3a1..ba42c2d59d56b 100644 --- a/pkgs/development/interpreters/lfe/generic-builder.nix +++ b/pkgs/development/interpreters/lfe/generic-builder.nix @@ -6,10 +6,13 @@ , sha256 ? null , rev ? version , src ? fetchFromGitHub { inherit rev sha256; owner = "rvirding"; repo = "lfe"; } +, patches ? [] }: let - inherit (stdenv.lib) assertMsg getVersion versionAtLeast versions; + inherit (stdenv.lib) + assertMsg makeBinPath optionalString + getVersion versionAtLeast versionOlder versions; mainVersion = versions.major (getVersion erlang); @@ -36,13 +39,15 @@ buildRebar3 { buildInputs = [ erlang makeWrapper ]; beamDeps = [ proper ]; - patches = [ ./no-test-deps.patch ]; + patches = [ ./no-test-deps.patch ./dedup-ebins.patch ] ++ patches; doCheck = true; checkTarget = "travis"; + makeFlags = [ "-e" "MANDB=''" "PREFIX=$$out"]; + # These installPhase tricks are based on Elixir's Makefile. # TODO: Make, upload, and apply a patch. - installPhase = '' + installPhase = optionalString (versionOlder version "1.3") '' local libdir=$out/lib/lfe local ebindir=$libdir/ebin local bindir=$libdir/bin @@ -65,7 +70,7 @@ buildRebar3 { # Add some stuff to PATH so the scripts can run without problems. for f in $out/bin/*; do wrapProgram $f \ - --prefix PATH ":" "${stdenv.lib.makeBinPath [ erlang coreutils bash ]}:$out/bin" + --prefix PATH ":" "${makeBinPath [ erlang coreutils bash ]}:$out/bin" substituteInPlace $f --replace "/usr/bin/env" "${coreutils}/bin/env" done ''; |