Building Hex packages is a superset of building with rebar3. There is no
need to force folks that use rebar3 but not hex to build with hex. This
commit seperates the rebar3 specific bits and the hex specific bits into
seperate functions that can be used independently.
This adds erlangPackages.${name}.env, which is usable to launch a shell
with the package and it's dependencies like this:
nix-shell -A erlangPackages.lager.env
This required:
1) refactoring buildHex to become a fixed-point function,
2) moves output of a package into $out/${name},
3) introduces erlEnv (buildEnv, which links in package and it's deps
into one directory - a super-simple plagiarization of
haskellPackages.compiler.ghcWithPackages) and
4) shell function producing a un-buildable derivation to be used by
nix-shell
This allows to avoid fetching registry file from S3 at build time,
making the build hermetic and much faster. Automatic tools will be used
to update said external repo content when Hex packages are
imported/update.
There are some packages on Hex which have custom hex-specific names, but
inside there's a base project name.
Remove most packages andadd ibrowse, meck, jiffy