Upgrade to elixir 1.15 broke matrix dependency

Hi
We are currently on elixir 1.14.3, we import matrix dependency: {:matrix, "~> 0.3.0"},

After upgrading to 1.15.6 there is now an error by starting the application:

error: undefined variable "description"
  /home/me/project/deps/matrix/mix.exs:7: Matrix.Mixfile.project/0

error: undefined variable "package"
  /home/me/project/deps/matrix/mix.exs:8: Matrix.Mixfile.project/0

error: undefined variable "deps"
  /home/me/project/deps/matrix/mix.exs:10: Matrix.Mixfile.project/0

warning: function deps/0 is unused
  /home/me/project/deps/matrix/mix.exs:21: Matrix.Mixfile (module)

warning: function description/0 is unused
  /home/me/project/deps/matrix/mix.exs:26: Matrix.Mixfile (module)

warning: function package/0 is unused
  /home/me/project/deps/matrix/mix.exs:33: Matrix.Mixfile (module)

Error while loading project :matrix at /home/me/project/deps/matrix
** (CompileError) deps/matrix/mix.exs: cannot compile module Matrix.Mixfile (errors have been logged)

Looking at deps/matrix/mix.exs I can see

def project do
    [app: :matrix,
     version: "0.3.2",
     description: description,
     package: package,
     elixir: "~> 1.1",
     deps: deps,
     docs: [extras: []]]
  end

Now if I turn it to:

  def project do
    [app: :matrix,
     version: "0.3.2",
     description: description(),
     package: package(),
     elixir: "~> 1.1",
     deps: deps(),
     docs: [extras: []]]
  end

(just for fun, i.e. calling functions instead) then it compiles.

So it looks like the dependency should be upgraded to support elixir 1.15, or did I misunderstood? I am asking because I cannot find the dependency github, so we probably will have to use another dependency for matrix.

Thx!

That’s right. I see the github link on that library’s hex.pm page though? And it has a PR for 1.15: upgrading to Elixir 15, and dependencies to latest by fabio-t · Pull Request #9 · twist-vector/elixir-matrix · GitHub

1 Like

That project seems to be rarely updated so you can just fork it and add that patch yourself and use your version instead.