Commit Graph

23 Commits

Author SHA1 Message Date
Mathew Polzin
b29993a04a beamPackages.mixRelease: format with nixfmt-rfc-style 2024-07-24 23:17:52 -05:00
Mathew Polzin
427bcae622 beamPackages.mixRelease: support named releases 2024-07-24 23:11:45 -05:00
Mathew Polzin
2d5053fca3 beamPackages.mixRelease: Make determinism toggleable 2023-12-08 07:23:35 +00:00
c4710n
e924d0f542 beamPackages.mixRelease: remove erlang references from output 2023-12-08 07:23:35 +00:00
Matt Polzin
4600a9d607 beamPackages.mixRelease: deterministic erlang builds 2023-12-08 07:23:35 +00:00
Zeke Dou
993c8f162d
mixRelease: improve the implementation (#266397)
* mixRelease: format code by nixpkgs-format

* mixRelease: investigate why erlang is referenced in resulting derivation

* mixRelease: organize nativeBuildInputs and buildInputs

It:
+ organizes `nativeBuildInputs` in a structured way.
+ moves `builtins.attrValues mixNixDeps` to `nativeBuildInputs`, because it's only used in compile-time

* mixRelease: remove current attempt for removing erlang references in resulting derivation

As said in the comment about "remove erlang references in resulting
derivation", for now, we don't have a robust method to do that.

Although these removed code did some work, they did not achieve the
final goal - remove erlang references in resulting derivation.
Therefore, it is better to remove them and provide future implementation
with a clean foundation.

> If you want to find these old codes, you can also retrieve them from
> the git history.

* mixRelease: remove all files for Microsoft Windows

* mixRelease: add new option - `removeCookie`

* mixRelease: polish comments

+ Capitalize the sentences.
+ Add punctuation marks.
+ Format a little code.

* mixRelease: wrap programs in $out/bin with their runtime deps

* mixRelease: commit what happysalada suggests

---------

Co-authored-by: c4710n <c4710n@users.noreply.github.com>
2023-11-11 12:15:07 +00:00
Adam Stephens
fcbfef1e43 buildMix: copy package.json to support phoenix builds 2023-09-14 08:24:16 +00:00
Andrew Bruce
87ee7d31d4 mixRelease: use C.UTF-8 locale
Avoid the following during mix releases:

```
warning: the VM is running with native name encoding of latin1 which may
cause Elixir to malfunction as it expects utf8. Please ensure your
locale is set to UTF-8 (which can be verified by running "locale" in
your shell)
```
2023-09-02 16:36:04 +01:00
Kerstin
872987d040
beam/mixRelease: default stripDebug to false due frequent runtime errors (#232107)
This flag appears to cause issues in 3 out 4 users of mixRelease in
Nixpkgs, plus Mobilizon, which isn't merged yet. It might be safer to
set it to fals for now, as the runtime error messages produced by it are
quite cryptic.
2023-05-16 10:50:34 +02:00
Norbert Melzer
9afb944758 mixRelease: add flag for stripping debug from BEAM files 2022-09-16 09:06:05 -04:00
Yuka
3db4201bc8
mixRelease: allow specifying buildInputs (#156288) 2022-01-23 23:13:53 +09:00
Sergei Maximov
2a9336b426 elixir-ls: build LS using the same Elixir version that is used to run LS
The Elixir LS package in Nixpkgs by default used the latest Elixir
version available to compile and run Elixir LS. The user can build
a custom Elixir LS package with a different Elixir version:

    my-custom-elixir-ls = pkgs.elixir-ls.override {
      elixir = my-custom-elixir;
    };

But by doing so the user changes only the Elixir version used to
run Elixir LS; the Elixir version used to compile Elixir LS doesn't
change. As the result, the custom Elixir LS package uses a different
Elixir version at runtime than the Elixir version it was compiled with.

In order to be able to modify the Elixir version used at build time,
I changed `mixRelease` and `fetchMixDeps` to accept `elixir` and
`hex` as parameters (defaults to the latest Elixir and Hex packages).
2021-11-03 08:46:46 +09:00
happysalada
1b9dbf407c beam: mix-release: do not use substituteInPlace on binaries 2021-10-03 20:16:34 +09:00
happysalada
b1b78ac65d mix: add build mix and mix-release configure-hook 2021-08-04 12:05:00 +09:00
happysalada
fc2518d7d2 mix-release: add ERL_LIBS paths to _build dir 2021-08-04 12:05:00 +09:00
happysalada
dca55d9a45 mix-release: add rebar dependency 2021-06-09 12:29:41 +09:00
happysalada
2e3e591211 mix-release: add comments 2021-06-07 10:03:48 +09:00
happysalada
e13301fd5c mix-release: do not override fixup to strip binary 2021-06-07 10:03:48 +09:00
happysalada
5e9f18c572 mix-release: remove erlang ref in resulting derivation 2021-06-07 10:03:48 +09:00
happysalada
8989d2eae8 mix-release: remove erlang ref in erts dir 2021-06-07 10:03:48 +09:00
happysalada
357cc8e05d mix-release: remove rebar dep 2021-06-07 10:03:48 +09:00
happysalada
72a1b62b47 mixRelease: integrate mix2nix 2021-05-25 07:36:38 +09:00
happysalada
481832b32d beam-modules: buildMix -> mixRelease 2021-04-08 20:54:48 +09:00