diff --git a/pkgs/development/erlang-modules/build-hex.nix b/pkgs/development/erlang-modules/build-hex.nix index d9191baeb81..d5c71f882ff 100644 --- a/pkgs/development/erlang-modules/build-hex.nix +++ b/pkgs/development/erlang-modules/build-hex.nix @@ -4,6 +4,7 @@ , hexPkg ? name , buildInputs ? [], erlangDeps ? [] , postPatch ? "" +, compilePorts ? false , ... }@attrs: with stdenv.lib; @@ -18,6 +19,16 @@ stdenv.mkDerivation (attrs // { if [ -e "src/${name}.app.src" ]; then sed -i -e 's/{ *vsn *,[^}]*}/{vsn, "${version}"}/' "src/${name}.app.src" fi + + # TODO: figure out how to provide 'pc' plugin hermetically + ${if compilePorts then '' + echo "{plugins, [pc]}. + {provider_hooks, + [{post, + [{compile, {pc, compile}}, + {clean, {pc, clean}}]}]}." >> rebar.config + '' else ''''} + ${postPatch} ''; @@ -43,6 +54,8 @@ stdenv.mkDerivation (attrs // { runHook postConfigure ''; + # TODO: figure out how to provide rebar3 a static registry snapshot to make + # this hermetic buildPhase = '' runHook preBuild HOME=. rebar3 update diff --git a/pkgs/development/erlang-modules/default.nix b/pkgs/development/erlang-modules/default.nix index 87447220bb7..8bcf0ddb6a1 100644 --- a/pkgs/development/erlang-modules/default.nix +++ b/pkgs/development/erlang-modules/default.nix @@ -7,6 +7,7 @@ let buildErlang = callPackage ./build-erlang.nix {}; buildHex = callPackage ./build-hex.nix {}; + esqlite = callPackage ./hex/esqlite.nix {}; goldrush = callPackage ./hex/goldrush.nix {}; ibrowse = callPackage ./hex/ibrowse.nix {}; jiffy = callPackage ./hex/jiffy.nix {}; diff --git a/pkgs/development/erlang-modules/hex/esqlite.nix b/pkgs/development/erlang-modules/hex/esqlite.nix new file mode 100644 index 00000000000..af7a1266712 --- /dev/null +++ b/pkgs/development/erlang-modules/hex/esqlite.nix @@ -0,0 +1,8 @@ +{ buildHex }: + +buildHex { + name = "esqlite"; + version = "0.2.1"; + sha256 = "1296fn1lz4lz4zqzn4dwc3flgkh0i6n4sydg501faabfbv8d3wkr"; + compilePorts = true; +}