Package Details: expert-git r1034.d1cac1d9-1

Git Clone URL: https://aur.archlinux.org/expert-git.git (read-only, click to copy)
Package Base: expert-git
Description: Official Elixir Language Server Protocol implementation
Upstream URL: https://expert-lsp.org/
Licenses: Apache-2.0
Conflicts: expert-git
Provides: expert-git
Submitter: maruss
Maintainer: warmwaffles
Last Packager: warmwaffles
Votes: 1
Popularity: 0.003394
First Submitted: 2025-09-11 20:30 (UTC)
Last Updated: 2026-05-04 21:30 (UTC)

Dependencies (5)

Required by (0)

Sources (1)

Latest Comments

warmwaffles commented on 2026-08-07 12:42 (UTC) (edited on 2026-08-07 12:42 (UTC) by warmwaffles)

@rubin55 I have a fix where I am going to drop the need for burrito completely.

I can not push the update right now to the AUR but, it can be reached here https://github.com/warmwaffles/expert-git

See: https://lists.archlinux.org/archives/list/aur-general@lists.archlinux.org/message/YPJ3FQYJTJXXY3RUXCYLMHUKHLIUNVFF/

rubin55 commented on 2026-08-06 09:37 (UTC)

I was getting really annoyed by the zig 0.15.2 requirement due to burrito not supporting zig 0.16.x. The Burrito guys recently released 1.6, which supports Zig 0.16.x. Here is a diff for the PKGBUILD:

diff --git a/PKGBUILD b/PKGBUILD
index 12ca35c..ae97f6e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
 # Maintainer: Marco Russo <tray-kebab-uneven@duck.com>
 # Maintainer: Matthew Johnston <warmwaffles@gmail.com>
 pkgname=expert-git
-pkgver=r1034.d1cac1d9
+pkgver=r1131.65ceece0
 pkgrel=1
 pkgdesc="Official Elixir Language Server Protocol implementation"
 arch=('x86_64')
@@ -13,11 +13,12 @@ provides=("${pkgname}")
 conflicts=("${pkgname}")
 replaces=()
 backup=()
-options=()
 install=
-source=('expert::git+https://github.com/elixir-lang/expert.git')
+source=('expert::git+https://github.com/elixir-lang/expert.git'
+        'burrito-1.6.patch')
 noextract=()
-sha256sums=('SKIP')
+sha256sums=('SKIP'
+            'ad8487d005684df1663ae327f56d9102041ed56f38579503d31481cc4044df0b')

 pkgver() {
   cd "$srcdir/expert"
@@ -26,6 +27,7 @@ pkgver() {

 prepare() {
   cd "$srcdir/expert"
+  patch -Np1 -i "$srcdir/burrito-1.6.patch"
   just deps forge
   just deps engine
   just deps expert
@@ -33,6 +35,12 @@ prepare() {

 build() {
   cd "$srcdir/expert"
+  # Zig's linker (used by burrito to build NIFs) rejects this flag.
+  export LDFLAGS="${LDFLAGS//-Wl,-z,pack-relative-relocs/}"
+  # Zig's clang driver mis-parses -flto=auto, so drop LTO for the NIF rebuild.
+  export CFLAGS="${CFLAGS//-flto=auto/}"
+  export CXXFLAGS="${CXXFLAGS//-flto=auto/}"
+  export LDFLAGS="${LDFLAGS//-flto=auto/}"
   just burrito-local
 }

And the burrito-1.6.patch:

--- a/apps/expert/mix.lock
+++ b/apps/expert/mix.lock
@@ -1,7 +1,7 @@
 %{
   "briefly": {:hex, :briefly, "0.5.1", "ee10d48da7f79ed2aebdc3e536d5f9a0c3e36ff76c0ad0d4254653a152b13a8a", [:mix], [], "hexpm", "bd684aa92ad8b7b4e0d92c31200993c4bc1469fc68cd6d5f15144041bd15cb57"},
   "bunt": {:hex, :bunt, "1.0.0", "081c2c665f086849e6d57900292b3a161727ab40431219529f13c4ddcf3e7a44", [:mix], [], "hexpm", "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"},
-  "burrito": {:hex, :burrito, "1.5.0", "d68ec01df2871f1d5bc603b883a78546c75761ac73c1bec1b7ae2cc74790fcd1", [:mix], [{:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:req, ">= 0.5.0", [hex: :req, repo: "hexpm", optional: false]}, {:typed_struct, "~> 0.2.0 or ~> 0.3.0", [hex: :typed_struct, repo: "hexpm", optional: false]}], "hexpm", "3861abda7bffa733862b48da3e03df0b4cd41abf6fd24b91745f5c16d971e5fa"},
+  "burrito": {:hex, :burrito, "1.6.0", "7af0a75f11680e8a6e9c01370c9af51cb9d0e15b3226eddf4f438dbc68570520", [:mix], [{:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:req, ">= 0.5.0", [hex: :req, repo: "hexpm", optional: false]}, {:typed_struct, "~> 0.2.0 or ~> 0.3.0", [hex: :typed_struct, repo: "hexpm", optional: false]}], "hexpm", "e636a00b032c45a69ff755d9fc53fa5fdc9e1d21bdbd229075fe4a15b05355fe"},
   "cc_precompiler": {:hex, :cc_precompiler, "0.1.11", "8c844d0b9fb98a3edea067f94f616b3f6b29b959b6b3bf25fee94ffe34364768", [:mix], [{:elixir_make, "~> 0.7", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "3427232caf0835f94680e5bcf082408a70b48ad68a5f5c0b02a3bea9f3a075b9"},
   "credo": {:hex, :credo, "1.7.18", "5c5596bf7aedf9c8c227f13272ac499fe8eae6237bd326f2f07dfc173786f042", [: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", "a189d164685fd945809e862fe76a7420c4398fa288d76257662aecb909d6b3e5"},
   "db_connection": {:hex, :db_connection, "2.10.1", "d5465f6bcc125c1b8981c1dbf23c193ca16f446ec0b25832dc174f74f18be510", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "18ed94c6e627b4bf452dbd4df61b69a35a1e768525140bc1917b7a685026a6a3"},

I now have expert-git building with Zig 0.16, bliss!

warmwaffles commented on 2026-05-05 18:31 (UTC)

Can confirm, this is an issue upstream. Burrito requires 0.15.2 and zig proper bumped to 0.16.0

rubin55 commented on 2026-05-05 16:49 (UTC)

After update to zig 0.16.0 this morning, expert-git fails to build:

> Your Zig version does not match the one Burrito requires! We need `0.15.2`, you have: `0.16.0`
** (exit) 1
    (burrito 1.5.0) lib/burrito.ex:59: Burrito.check_zig_version/0
    (burrito 1.5.0) lib/burrito.ex:11: Burrito.wrap/1
    (mix 1.19.5) lib/mix/tasks/release.ex:1086: Mix.Tasks.Release.run_steps/1
    (mix 1.19.5) lib/mix/task.ex:499: anonymous fn/3 in Mix.Task.run_task/5
    (mix 1.19.5) lib/mix/cli.ex:129: Mix.CLI.run_task/2
    /usr/bin/mix:7: (file)
error: Recipe `burrito-local` failed with exit code 1
==> ERROR: A failure occurred in build().
    Aborting...

warmwaffles commented on 2026-01-06 15:16 (UTC)

There's an issue with the build process. We have to go back to burrito-local rather than just release. I'll update when we have more information.

uriel commented on 2025-12-31 00:47 (UTC)

@warmwaffles lovely stuff, thanks!

warmwaffles commented on 2025-12-30 15:16 (UTC)

@uriel I switched it to just release since we don't need burrito because we are building locally.

warmwaffles commented on 2025-12-30 15:12 (UTC)

@uriel because upstream made the change for that https://github.com/elixir-lang/expert/commit/98a6a1ec2c4d51d8b096341e95363117a3dc6faa

uriel commented on 2025-12-24 15:26 (UTC)

Hi, why did you change to building "burrito-local" instead of "release-local"?