Commit Graph

12 Commits

Author SHA1 Message Date
Don Williams
7afaf65973 Arch: robust AGS v1.9.0 fix — env wrapper + hardened launcher patching
Problem
- AGS v1 under GJS ESM ignores GIR Repository.prepend_*; typelibs in /usr/local aren’t discovered reliably.
- On Arch, users may install AGS into /usr/local while system typelibs can also live under /usr/lib64/ags or /usr/lib/ags.

Solution
- Keep the tolerant ESM patcher (no-op safe): remove deprecated GIR repo calls; ensure GLib import; inject GI_TYPELIB_PATH via GLib.setenv when editing the ESM main.
- Add a distro-agnostic wrapper at /usr/local/bin/ags that sets:
  - GI_TYPELIB_PATH=/usr/local/lib64/girepository-1.0:/usr/local/lib/girepository-1.0:/usr/lib64/girepository-1.0:/usr/lib/girepository-1.0:/usr/local/lib64:/usr/local/lib:/usr/lib64/ags:/usr/lib/ags:$GI_TYPELIB_PATH
  - LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:$LD_LIBRARY_PATH
  Then execs: /usr/bin/gjs -m "$MAIN_JS" (resolved under /usr/local/share or /usr/share).

Why
- Ensures AGS v1 runs reliably on Arch without depending solely on fragile in-place edits; mirrors the working Fedora fix.

File
- install-scripts/ags.sh
2025-11-03 17:08:58 -05:00
Don Williams
a9e33e5c58 ags: fix GIRepository ESM import error by exporting GI_TYPELIB_PATH and dropping GIRepository prepend calls
Context:
- On systems where AGS v1 installs its typelibs to /usr/local/lib, gjs ESM imports like gi://GIRepository?version=2.0 fail with:
  "Typelib file for namespace 'GIRepository', version '2.0' not found"
  even though typelibs exist under /usr/lib{,64}/girepository-1.0.
- The upstream AGS launcher tries to call GIR.Repository.prepend_search_path()/prepend_library_path(),
  but in recent GI (1.86) these are not available from the ESM namespace.

Changes:
- Replace import GIR from "gi://GIRepository?version=2.0" with import GLib from "gi://GLib" in the installed launcher.
- Remove deprecated GIR.Repository.prepend_search_path and prepend_library_path calls.
- Immediately after the GLib import, export GI_TYPELIB_PATH in-process so gjs finds typelibs under /usr/local/lib:
    const __old = GLib.getenv('GI_TYPELIB_PATH');
    GLib.setenv('GI_TYPELIB_PATH', '/usr/local/lib' + (__old ? ':' + __old : ''), true);

Result:
- ags -t overview no longer errors on GIRepository; proceeds until a GTK display is required.
- Behavior is scoped to the AGS process; no user shell env changes required.

Notes:
- Verified by patching an installed launcher on a target host; GI errors resolved.
2025-11-03 12:28:29 -05:00
Ja.KooLit
0803fb9c0f Update ags.sh 2025-04-12 19:54:05 -04:00
JaKooLit
36e84ebc53 replaced folders//folder with directories/directory 2025-03-13 23:16:04 +09:00
JaKooLit
050fd2dcc4 updated ags.sh 2025-03-12 19:45:09 +09:00
JaKooLit
0bdef7305d changed all the depth 1 to depth=1 2025-03-08 23:16:05 +09:00
JaKooLit
c3c4d621ca adjusted to whiptail version 2025-02-27 16:52:27 +09:00
JaKooLit
39e515f9b0 updated since many conflicts 2025-02-07 21:35:56 +09:00
JaKooLit
c1c5450c9b updated installer. AGS overview is completely optional now 2025-01-30 10:21:52 +09:00
JaKooLit
94bc08c1a4 switch to final version of aylurs-gtk-shell-v1 2025-01-12 13:20:42 +09:00
Ja.KooLit
080c210d60 Update ags.sh 2024-11-22 07:04:13 +00:00
JaKooLit
ac22f4e161 revert ags to older version (compiling from source to have AGS overview) 2024-11-16 09:10:51 +09:00