From d23dc7ab22c092d6e95027e6b7b47fbd70ae8695 Mon Sep 17 00:00:00 2001 From: Alexander Miroshnichenko Date: Fri, 29 May 2026 20:04:32 +0300 Subject: [PATCH] fix(loop): add runtime fixes for gsettings and GPU libraries - Add LD_LIBRARY_PATH to wrapper so Electron GPU process finds bundled libEGL.so.1 - Add glib.bin to buildInputs and wrap gsettings into PATH - Create versioned symlinks for bundled libEGL.so and libGLESv2.so - Clean up formatting in package inputs --- .beads/issues.jsonl | 2 +- packages/loop/package.nix | 20 ++++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index 8e2caf7..c2d45fa 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -1,4 +1,4 @@ -{"_type":"issue","id":"nix-overlay-6y6","title":"Add Loop corporate messenger package","description":"Add Loop - Corporate messenger for your team. Distributed as x86-64 binary from https://artifacts.wilix.dev/repository/loop-files/loop-6.0.3/loop-desktop-6.0.3-linux-x64.tar.gz","status":"in_progress","priority":2,"issue_type":"feature","assignee":"Alexander Miroshnichenko","owner":"alex@millerson.name","created_at":"2026-05-29T16:41:37Z","created_by":"Alexander Miroshnichenko","updated_at":"2026-05-29T16:42:02Z","started_at":"2026-05-29T16:42:02Z","dependency_count":0,"dependent_count":0,"comment_count":0} +{"_type":"issue","id":"nix-overlay-6y6","title":"Add Loop corporate messenger package","description":"Add Loop - Corporate messenger for your team. Distributed as x86-64 binary from https://artifacts.wilix.dev/repository/loop-files/loop-6.0.3/loop-desktop-6.0.3-linux-x64.tar.gz","status":"closed","priority":2,"issue_type":"feature","assignee":"Alexander Miroshnichenko","owner":"alex@millerson.name","created_at":"2026-05-29T16:41:37Z","created_by":"Alexander Miroshnichenko","updated_at":"2026-05-29T16:51:32Z","started_at":"2026-05-29T16:42:02Z","closed_at":"2026-05-29T16:51:32Z","close_reason":"Closed","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"nix-overlay-cdt","title":"radar-1.6.1","description":"update package radar to v1.6.1","status":"closed","priority":2,"issue_type":"task","owner":"alex@millerson.name","created_at":"2026-05-17T12:41:54Z","created_by":"Alexander Miroshnichenko","updated_at":"2026-05-17T13:03:38Z","closed_at":"2026-05-17T13:03:38Z","close_reason":"Closed","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"nix-overlay-27z","title":"freebuff","description":"В данный nixos overlay репозиторй необходимо добавить новый пакет https://www.npmjs.com/package/freebuff .\nИспользуй mcp: nixos, karpathy-guidelines и Sequential Thinking для планирования шаг за шагом задачи. Управление тасками используй beads. Разбей задачу на подзадачи, используя beads с указанием parent task.\n\nRequired Skills\ncaveman,karpathy-guidelines,nix,nix-flakes","status":"closed","priority":2,"issue_type":"feature","assignee":"Alexander Miroshnichenko","owner":"alex@millerson.name","created_at":"2026-05-11T16:11:44Z","created_by":"Alexander Miroshnichenko","updated_at":"2026-05-11T17:03:53Z","started_at":"2026-05-11T16:17:34Z","closed_at":"2026-05-11T17:03:53Z","close_reason":"Closed","dependency_count":0,"dependent_count":0,"comment_count":0} {"_type":"issue","id":"nix-overlay-qlc.5","title":"Update package metadata and updateScript","description":"Remove binaryNativeCode sourceProvenance, update meta, adjust updateScript for source build","status":"closed","priority":2,"issue_type":"task","assignee":"Alexander Miroshnichenko","owner":"alex@millerson.name","created_at":"2026-05-11T13:51:22Z","created_by":"Alexander Miroshnichenko","updated_at":"2026-05-11T15:01:06Z","started_at":"2026-05-11T14:59:33Z","closed_at":"2026-05-11T15:01:06Z","close_reason":"Closed","dependencies":[{"issue_id":"nix-overlay-qlc.5","depends_on_id":"nix-overlay-qlc","type":"parent-child","created_at":"2026-05-11T16:51:21Z","created_by":"Alexander Miroshnichenko","metadata":"{}"}],"dependency_count":0,"dependent_count":0,"comment_count":0} diff --git a/packages/loop/package.nix b/packages/loop/package.nix index add0a3a..65fb2b0 100644 --- a/packages/loop/package.nix +++ b/packages/loop/package.nix @@ -18,8 +18,9 @@ xorg, systemd, libnotify, - libsecret, libappindicator-gtk3, - gsettings-desktop-schemas, + libsecret, + libappindicator-gtk3, + gsettings-desktop-schemas, }: let @@ -66,6 +67,7 @@ stdenv.mkDerivation { libsecret libappindicator-gtk3 gsettings-desktop-schemas + glib.bin ]; dontBuild = true; @@ -114,9 +116,23 @@ EOF cp "$out/share/loop/app_icon.png" "$out/share/icons/hicolor/256x256/apps/loop.png" fi + # Electron GPU libraries expect versioned sonames + if [ -f "$out/share/loop/libEGL.so" ] && [ ! -e "$out/share/loop/libEGL.so.1" ]; then + ln -s libEGL.so "$out/share/loop/libEGL.so.1" + fi + if [ -f "$out/share/loop/libGLESv2.so" ] && [ ! -e "$out/share/loop/libGLESv2.so.2" ]; then + ln -s libGLESv2.so "$out/share/loop/libGLESv2.so.2" + fi + runHook postInstall ''; + postFixup = '' + wrapProgram $out/bin/loop \ + --prefix PATH : ${glib.bin}/bin \ + --prefix LD_LIBRARY_PATH : $out/share/loop + ''; + passthru = { category = "Communication"; updateScript = [