I'm using `buildMix` to build a package, which has a dependency with a hyphen in its version: `dialyxir-1.0.0-rc6`.
Due to `mix-bootstrap` using `string:tokens` the dependency ends up in `_build/prod/lib/dyalyxir1.0.0rc6` instead of `_build/prod/lib/dialyxir`.
Here I'm fixing it to use `string:split`, which splits by first hyphen only, and returns an array with no more than two elements.
Updates rebar3 to version 3.6.1, which amongst other things introduces
support for rebar3 on Erlang/OTP 21.
Changes made:
* rebar3 and dependencies updated to new versions
* rebar3 hermeticity patch updated to apply against new version
* hex package registry snapshot updated
Among other things, this will allow *2nix tools to output plain data
while still being composable with the traditional
callPackage/.override interfaces.
GitHub does a redirect to https:// when you use http://
repology complains with:
“Homepage link "https://github.com/…" is dead (HTTP error 404) for more than a month.”
This will fix some of them (not all though)
* pkgs: refactor needless quoting of homepage meta attribute
A lot of packages are needlessly quoting the homepage meta attribute
(about 1400, 22%), this commit refactors all of those instances.
* pkgs: Fixing some links that were wrongfully unquoted in the previous
commit
* Fixed some instances
Use standardized implementation of attribute set extensibility mechanism
instead of manually re-implementing it.
Suggested by @cstrahan at https://github.com/NixOS/nixpkgs/pull/26668.
The documentation got a bit stale compared to actual contents of
nixpkgs. This commit focuses on updating existing docs, not on making
sure all details of beam packages are covered.
This makes beam.package.erlangR19.abnf to be actually built with R19,
instead of the default R18. It means that Elixir and LFE are provided in
two versions, one built with R18 and with R19.
Please note that Elixir does not build with R16 and R17 - trying to
access beam.packages.erlang{R16,R17}.elixir will throw an error.
This change introduces a fixpoint, which allows to do deep override when
building packages defined in pkgs/development/beam-modules/default.hex.
This allows to provide beam.packages.erlang{,R16,R17,R18,R19} which
contains the same packages built with different Erlang/OTP versions.
Top-level attribute beamPackages points at beam.packages.erlangR18, the
same applies to other top-level Erlang packages.
TODO:
- beam.packages.erlang{R16,R17} is almost useless, since rebar/rebar3
does not build using these versions;
- all packages in beam.packages which use buildMix are actually built
with erlangR18;
- update documentation.
The postPatch attribute is already in the function argument but is
unused elsewhere in the code, so setting postPatch with buildRebar3 is
going to end up in a no-op.
This now allows to use postPatch within buildRebar3 by simply appending
to the existing postPatch hook that removes the rebar and rebar3
escripts.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @ericbmerritt
This allows you to turn on debug infor for all the beam packages in the
system with a single change at the top level. This is required for
debugging and dialyzer work. It also allows you to switch it on on a
package by package basis.
This modifies the elixir derivation to allow 'debugInfo' to be set. This
will build the elixir library with debug information and allow dializer
to be used it derivative projects