Skip to content

Commit

Permalink
feat: upgrade to 1.17 and OTP 27 (#516)
Browse files Browse the repository at this point in the history
Adds a zigpkgs input to use zig from a past rev of nixpkgs, as the 0.11
version in latest does not seem to work.

related: NixOS/nixpkgs#299091

Updates credo to 1.7.7 as it supports Elixir 1.17.0
  • Loading branch information
mhanberg authored Jun 13, 2024
1 parent 2e9c45f commit 4fe9f83
Show file tree
Hide file tree
Showing 7 changed files with 41 additions and 16 deletions.
4 changes: 2 additions & 2 deletions .mise.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
KERL_BUILD_DOCS = "yes"

[tools]
erlang = "26.2.2"
elixir = "ref:e3b6a91b173f7e836401a6a75c3906c26bd7fd39"
erlang = "27.0"
elixir = "1.17.0"
zig = "0.11.0"
4 changes: 2 additions & 2 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
erlang 26.2.2
elixir ref:e3b6a91b173f7e836401a6a75c3906c26bd7fd39
erlang 27.0
elixir 1.17.0
zig 0.11.0
24 changes: 21 additions & 3 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 13 additions & 6 deletions flake.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
zigpkgs = {
url = "github:NixOS/nixpkgs/592a779f3c5e7bce1a02027abe11b7996816223f";
};
};

nixConfig = {
Expand All @@ -11,6 +14,7 @@
outputs = {
self,
nixpkgs,
zigpkgs,
}: let
inherit (nixpkgs) lib;

Expand All @@ -20,13 +24,14 @@
forAllSystems = f:
lib.genAttrs systems (system: let
pkgs = nixpkgs.legacyPackages.${system};
beamPackages = pkgs.beam_minimal.packages.erlang_26;
zpkgs = zigpkgs.legacyPackages.${system};
beamPackages = pkgs.beam_minimal.packages.erlang_27;
otp = (pkgs.beam.packagesWith beamPackages.erlang).extend (final: prev: {
elixir_1_17 = prev.elixir_1_16.override {
rev = "e3b6a91b173f7e836401a6a75c3906c26bd7fd39";
rev = "v1.17.0";
# You can discover this using Trust On First Use by filling in `lib.fakeHash`
sha256 = "sha256-RK0aMW7pz7kQtK9XXN1wVCBxKOJKdQD7I/53V8rWD04=";
version = "1.17.0-dev";
sha256 = "sha256-RBylCfD+aCsvCqWUIvqXi3izNqqQoNfQNnQiZxz0Igg=";
version = "1.17.0";
};

elixir = final.elixir_1_17;
Expand All @@ -36,7 +41,7 @@
});
elixir = otp.elixir;
in
f {inherit system pkgs beamPackages elixir;});
f {inherit system pkgs zpkgs beamPackages elixir;});

systems = [
"aarch64-darwin"
Expand All @@ -50,6 +55,7 @@
system,
beamPackages,
elixir,
...
}: {
default = lib.makeOverridable ({
localBuild,
Expand Down Expand Up @@ -92,6 +98,7 @@

devShells = forAllSystems ({
pkgs,
zpkgs,
beamPackages,
elixir,
...
Expand All @@ -117,7 +124,7 @@
pkgs.openssl
pkgs.starship
pkgs.xz
pkgs.zig_0_11
zpkgs.zig_0_11
pkgs.zsh
];
};
Expand Down
2 changes: 1 addition & 1 deletion mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ defmodule NextLS.MixProject do
{:burrito, "~> 1.0", only: [:dev, :prod]},
{:bypass, "~> 2.1", only: :test},
{:dialyxir, ">= 0.0.0", only: [:dev, :test], runtime: false},
{:credo, "~> 1.7.6", only: [:dev, :test], runtime: false},
{:credo, "~> 1.7.7", only: [:dev, :test], runtime: false},
{:ex_doc, ">= 0.0.0", only: :dev},
{:styler, "~> 1.0-rc.0", only: :dev}
]
Expand Down
2 changes: 1 addition & 1 deletion mix.lock
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"},
"cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"},
"cowlib": {:hex, :cowlib, "2.12.1", "a9fa9a625f1d2025fe6b462cb865881329b5caff8f1854d1cbc9f9533f00e1e1", [:make, :rebar3], [], "hexpm", "163b73f6367a7341b33c794c4e88e7dbfe6498ac42dcd69ef44c5bc5507c8db0"},
"credo": {:hex, :credo, "1.7.6", "b8f14011a5443f2839b04def0b252300842ce7388f3af177157c86da18dfbeea", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "146f347fb9f8cbc5f7e39e3f22f70acbef51d441baa6d10169dd604bfbc55296"},
"credo": {:hex, :credo, "1.7.7", "771445037228f763f9b2afd612b6aa2fd8e28432a95dbbc60d8e03ce71ba4446", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "8bc87496c9aaacdc3f90f01b7b0582467b69b4bd2441fe8aae3109d843cc2f2e"},
"ctx": {:hex, :ctx, "0.6.0", "8ff88b70e6400c4df90142e7f130625b82086077a45364a78d208ed3ed53c7fe", [:rebar3], [], "hexpm", "a14ed2d1b67723dbebbe423b28d7615eb0bdcba6ff28f2d1f1b0a7e1d4aa5fc2"},
"db_connection": {:hex, :db_connection, "2.5.0", "bb6d4f30d35ded97b29fe80d8bd6f928a1912ca1ff110831edcd238a1973652c", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c92d5ba26cd69ead1ff7582dbb860adeedfff39774105a4f1c92cbb654b55aa2"},
"dialyxir": {:hex, :dialyxir, "1.4.3", "edd0124f358f0b9e95bfe53a9fcf806d615d8f838e2202a9f430d59566b6b53b", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "bf2cfb75cd5c5006bec30141b131663299c661a864ec7fbbc72dfa557487a986"},
Expand Down
2 changes: 1 addition & 1 deletion test/next_ls/hover_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ defmodule NextLS.HoverTest do
"contents" => %{
"kind" => "markdown",
"value" =>
"## :timer.sleep/1\n\n`sleep/1`\n\nSuspends the process" <>
"## :timer.sleep/1\n\n`sleep(Time)`\n\nSuspends the process" <>
_
},
"range" => %{
Expand Down

0 comments on commit 4fe9f83

Please sign in to comment.