uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
88
pkgs/development/beam-modules/build-rebar3.nix
Normal file
88
pkgs/development/beam-modules/build-rebar3.nix
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
{ stdenv, writeText, erlang, rebar3WithPlugins, openssl, libyaml, lib }:
|
||||
|
||||
{ name
|
||||
, version
|
||||
, src
|
||||
, setupHook ? null
|
||||
, buildInputs ? [ ]
|
||||
, beamDeps ? [ ]
|
||||
, buildPlugins ? [ ]
|
||||
, postPatch ? ""
|
||||
, installPhase ? null
|
||||
, buildPhase ? null
|
||||
, configurePhase ? null
|
||||
, meta ? { }
|
||||
, enableDebugInfo ? false
|
||||
, ...
|
||||
}@attrs:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
debugInfoFlag = lib.optionalString (enableDebugInfo || erlang.debugInfo) "debug-info";
|
||||
|
||||
rebar3 = rebar3WithPlugins {
|
||||
plugins = buildPlugins;
|
||||
};
|
||||
|
||||
shell = drv: stdenv.mkDerivation {
|
||||
name = "interactive-shell-${drv.name}";
|
||||
buildInputs = [ drv ];
|
||||
};
|
||||
|
||||
customPhases = filterAttrs
|
||||
(_: v: v != null)
|
||||
{ inherit setupHook configurePhase buildPhase installPhase; };
|
||||
|
||||
pkg = self: stdenv.mkDerivation (attrs // {
|
||||
|
||||
name = "${name}-${version}";
|
||||
inherit version;
|
||||
|
||||
buildInputs = buildInputs ++ [ erlang rebar3 openssl libyaml ];
|
||||
propagatedBuildInputs = unique beamDeps;
|
||||
|
||||
inherit src;
|
||||
|
||||
# stripping does not have any effect on beam files
|
||||
# it is however needed for dependencies with NIFs
|
||||
# false is the default but we keep this for readability
|
||||
dontStrip = false;
|
||||
|
||||
setupHook = writeText "setupHook.sh" ''
|
||||
addToSearchPath ERL_LIBS "$1/lib/erlang/lib/"
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
rm -f rebar rebar3
|
||||
'' + postPatch;
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
HOME=. rebar3 bare compile -path ""
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p "$out/lib/erlang/lib/${name}-${version}"
|
||||
for reldir in src ebin priv include; do
|
||||
[ -d "$reldir" ] || continue
|
||||
# $out/lib/erlang/lib is a convention used in nixpkgs for compiled BEAM packages
|
||||
cp -Hrt "$out/lib/erlang/lib/${name}-${version}" "$reldir"
|
||||
done
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
inherit (erlang.meta) platforms;
|
||||
} // meta;
|
||||
|
||||
passthru = {
|
||||
packageName = name;
|
||||
env = shell self;
|
||||
inherit beamDeps;
|
||||
};
|
||||
} // customPhases);
|
||||
in
|
||||
fix pkg
|
||||
Loading…
Add table
Add a link
Reference in a new issue