From c95bc1b8d89951e6d9c91e11ab10fc44e17361c2 Mon Sep 17 00:00:00 2001 From: Jack Faller Date: Thu, 25 Apr 2024 23:13:57 +0100 Subject: [PATCH 01/19] Adds Discord --- nongnu/packages/messaging.scm | 181 ++++++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) diff --git a/nongnu/packages/messaging.scm b/nongnu/packages/messaging.scm index aeb8f3ee..3ef8a64e 100644 --- a/nongnu/packages/messaging.scm +++ b/nongnu/packages/messaging.scm @@ -8,18 +8,26 @@ (define-module (nongnu packages messaging) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages bootstrap) #:use-module (gnu packages compression) #:use-module (gnu packages cups) + #:use-module (gnu packages elf) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gtk) #:use-module (gnu packages kerberos) #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) + #:use-module (gnu packages node) #:use-module (gnu packages nss) #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages video) + #:use-module (gnu packages wget) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -27,12 +35,185 @@ #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix utils) + #:use-module (guix build-system glib-or-gtk) #:use-module ((guix licenses) :prefix license:) #:use-module (nonguix build-system binary) #:use-module (nonguix build-system chromium-binary) #:use-module ((nonguix licenses) :prefix license:) #:use-module (ice-9 match)) + +(define discord-disable-breaking-updates + (with-extensions + (list (@ (gnu packages guile) guile-json-4)) + (program-file + "disable-breaking-updates" + ;; Based on Python script of the same name from Nix. + #~(begin + (use-modules (json)) + (let* ((config-home (or (getenv "XDG_CONFIG_HOME") + (string-append (getenv "HOME") "/.config"))) + (settings-path (string-append config-home + "/discord/settings.json")) + (settings-tmp (string-append settings-path ".tmp")) + (settings + (if (file-exists? settings-path) + (with-exception-handler + (lambda (_) + (display "Settings invalid") + (newline) + (exit 0)) + (lambda () (with-input-from-file settings-path json->scm)) + #:unwind? #t + #:unwind-for-type 'json-invalid) + (list)))) + (if (assoc-ref settings "SKIP_HOST_UPDATE") + (begin (display "Updates already disabled") + (newline)) + (begin + (with-output-to-file settings-tmp + (lambda () + (scm->json (assoc-set! settings "SKIP_HOST_UPDATE" #t)))) + (rename-file settings-tmp settings-path) + (display "Disabled updates") + (newline)))))))) + +(define discord-install + (with-imported-modules + '((guix build utils)) + #~(lambda* (#:key outputs inputs #:allow-other-keys) + (use-modules (guix build utils) + (srfi srfi-26) + (sxml simple)) + (let* ((line (lambda args + (display (apply string-append args)) (newline))) + (output (assoc-ref outputs "out")) + (libs (cons (string-append (assoc-ref inputs "nss") "/lib/nss") + (map (lambda (i) (string-append (cdr i) "/lib")) + inputs))) + (bins (map (lambda (i) (string-append (cdr i) "/bin")) + inputs)) + (libs (filter file-exists? libs)) + (bins (filter file-exists? bins))) + (mkdir-p (string-append output "/opt/discord")) + (copy-recursively "." (string-append output "/opt/discord")) + (mkdir-p (string-append output "/bin")) + (mkdir-p (string-append output "/share/pixmaps")) + (mkdir-p (string-append output "/share/applications")) + (mkdir-p (string-append output "/share/icons/hicolor/256x256/apps")) + (mkdir-p (string-append output "/etc")) + (with-output-to-file (string-append output "/bin/discord") + (lambda _ + (line "#!/bin/sh") + (line #$discord-disable-breaking-updates) + (line "cd " output "/opt/discord") + (line "./Discord" + ;; Always use Ozone on Wayland, not sure if this is a good idea. + " ${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer}" + " \"$@\""))) + (chmod (string-append output "/bin/discord") #o755) + (wrap-program + (string-append output "/bin/discord") + `("LD_LIBRARY_PATH" = (,(string-append output "/opt/discord") ,@libs)) + `("PATH" prefix ,bins)) + (for-each + (lambda (f) + (chmod (string-append output "/opt/discord/" f) #o755) + (invoke #+(file-append patchelf "/bin/patchelf") + "--set-interpreter" + (string-append #$glibc "/lib/ld-linux-x86-64.so.2") + (string-append output "/opt/discord/" f))) + (list "Discord" "chrome_crashpad_handler" "chrome-sandbox")) + (chmod (string-append output "/opt/discord/postinst.sh") #o755) + (link (string-append output "/opt/discord/discord.png") + (string-append output "/share/pixmaps/discord.png")) + (link (string-append output "/opt/discord/discord.png") + (string-append output "/share/icons/hicolor/256x256/apps/discord.png")) + (link (string-append output "/opt/discord/discord.desktop") + (string-append output "/share/applications/discord.desktop")) + (substitute* + (string-append output "/share/applications/discord.desktop") + (("Exec=.*$") (string-append "Exec=" output "/bin/discord\n")) + (("Path=.*$") (string-append "Path=" output "/opt/discord\n"))) + #t)))) + +(define discord + (package + (name "discord") + (version "0.0.51") + (source + (origin + (method url-fetch) + (uri (string-append "https://cdn.discordapp.com/apps/linux/" version + "/discord-" version ".tar.gz")) + (sha256 + (base32 "12d5hghnn6a30szsdbay5rx5j31da8y51zxmxg4dcpc9m9wwpk63")))) + ;; Use this build system to set XDG_DATA_DIRS and other variables. + (build-system glib-or-gtk-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (delete 'bootstrap) + (delete 'configure) + (delete 'build) + (delete 'check) + (replace 'install #$discord-install)))) + (inputs (list alsa-lib + at-spi2-core + cairo + cups + dbus + eudev + expat + fontconfig + freetype + ffmpeg + (list gcc "lib") + gdk-pixbuf + glib + glibc + gtk+ + libappindicator + libcxx + libdbusmenu + libdrm + libglvnd + libnotify + libx11 + libxcb + libxcomposite + libxcursor + libxdamage + libxext + libxfixes + libxi + libxrandr + libxrender + libxscrnsaver + libxshmfence + libxtst + mesa + nspr + nss + pango + util-linux + wayland + ;; Not sure if all of these are needed. + clang-runtime + gzip + libsm + node + pipewire + pulseaudio + unzip + wget + xdg-utils)) + (synopsis "Discord chat client") + (description "All-in-one cross-platform voice and text chat for gamers") + (license (license:nonfree "https://discord.com/terms")) + (home-page "https://discordapp.com"))) + (define-public element-desktop (package (name "element-desktop") From 2b0d85ad299f19f869f8b9d4243f4af4e78afd42 Mon Sep 17 00:00:00 2001 From: Jack Faller Date: Thu, 25 Apr 2024 23:14:24 +0100 Subject: [PATCH 02/19] Make discord public --- nongnu/packages/messaging.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nongnu/packages/messaging.scm b/nongnu/packages/messaging.scm index 3ef8a64e..804a4b0c 100644 --- a/nongnu/packages/messaging.scm +++ b/nongnu/packages/messaging.scm @@ -137,7 +137,7 @@ (("Path=.*$") (string-append "Path=" output "/opt/discord\n"))) #t)))) -(define discord +(define-public discord (package (name "discord") (version "0.0.51") From e1d4956a8b127feb44ca18d6a056bac1efa7422a Mon Sep 17 00:00:00 2001 From: Jack Faller Date: Fri, 26 Apr 2024 09:46:11 +0100 Subject: [PATCH 03/19] Uses chromium-binary-build-system --- nongnu/packages/messaging.scm | 144 ++++++++++------------------------ 1 file changed, 42 insertions(+), 102 deletions(-) diff --git a/nongnu/packages/messaging.scm b/nongnu/packages/messaging.scm index 804a4b0c..8c919ee2 100644 --- a/nongnu/packages/messaging.scm +++ b/nongnu/packages/messaging.scm @@ -8,17 +8,14 @@ (define-module (nongnu packages messaging) #:use-module (gnu packages base) #:use-module (gnu packages bash) - #:use-module (gnu packages bootstrap) #:use-module (gnu packages compression) #:use-module (gnu packages cups) - #:use-module (gnu packages elf) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) - #:use-module (gnu packages gnuzilla) #:use-module (gnu packages gtk) #:use-module (gnu packages kerberos) #:use-module (gnu packages linux) @@ -35,7 +32,6 @@ #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix utils) - #:use-module (guix build-system glib-or-gtk) #:use-module ((guix licenses) :prefix license:) #:use-module (nonguix build-system binary) #:use-module (nonguix build-system chromium-binary) @@ -78,65 +74,6 @@ (display "Disabled updates") (newline)))))))) -(define discord-install - (with-imported-modules - '((guix build utils)) - #~(lambda* (#:key outputs inputs #:allow-other-keys) - (use-modules (guix build utils) - (srfi srfi-26) - (sxml simple)) - (let* ((line (lambda args - (display (apply string-append args)) (newline))) - (output (assoc-ref outputs "out")) - (libs (cons (string-append (assoc-ref inputs "nss") "/lib/nss") - (map (lambda (i) (string-append (cdr i) "/lib")) - inputs))) - (bins (map (lambda (i) (string-append (cdr i) "/bin")) - inputs)) - (libs (filter file-exists? libs)) - (bins (filter file-exists? bins))) - (mkdir-p (string-append output "/opt/discord")) - (copy-recursively "." (string-append output "/opt/discord")) - (mkdir-p (string-append output "/bin")) - (mkdir-p (string-append output "/share/pixmaps")) - (mkdir-p (string-append output "/share/applications")) - (mkdir-p (string-append output "/share/icons/hicolor/256x256/apps")) - (mkdir-p (string-append output "/etc")) - (with-output-to-file (string-append output "/bin/discord") - (lambda _ - (line "#!/bin/sh") - (line #$discord-disable-breaking-updates) - (line "cd " output "/opt/discord") - (line "./Discord" - ;; Always use Ozone on Wayland, not sure if this is a good idea. - " ${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer}" - " \"$@\""))) - (chmod (string-append output "/bin/discord") #o755) - (wrap-program - (string-append output "/bin/discord") - `("LD_LIBRARY_PATH" = (,(string-append output "/opt/discord") ,@libs)) - `("PATH" prefix ,bins)) - (for-each - (lambda (f) - (chmod (string-append output "/opt/discord/" f) #o755) - (invoke #+(file-append patchelf "/bin/patchelf") - "--set-interpreter" - (string-append #$glibc "/lib/ld-linux-x86-64.so.2") - (string-append output "/opt/discord/" f))) - (list "Discord" "chrome_crashpad_handler" "chrome-sandbox")) - (chmod (string-append output "/opt/discord/postinst.sh") #o755) - (link (string-append output "/opt/discord/discord.png") - (string-append output "/share/pixmaps/discord.png")) - (link (string-append output "/opt/discord/discord.png") - (string-append output "/share/icons/hicolor/256x256/apps/discord.png")) - (link (string-append output "/opt/discord/discord.desktop") - (string-append output "/share/applications/discord.desktop")) - (substitute* - (string-append output "/share/applications/discord.desktop") - (("Exec=.*$") (string-append "Exec=" output "/bin/discord\n")) - (("Path=.*$") (string-append "Path=" output "/opt/discord\n"))) - #t)))) - (define-public discord (package (name "discord") @@ -149,54 +86,57 @@ (sha256 (base32 "12d5hghnn6a30szsdbay5rx5j31da8y51zxmxg4dcpc9m9wwpk63")))) ;; Use this build system to set XDG_DATA_DIRS and other variables. - (build-system glib-or-gtk-build-system) + (build-system chromium-binary-build-system) (arguments (list + #:patchelf-plan + #~`(("Discord") ("chrome_crashpad_handler") ("chrome-sandbox")) + #:install-plan + #~`(("." "opt/discord") + ("discord.desktop" "/share/applications/") + ("discord.sh" "bin/discord") + ("discord.png" "share/icons/hicolor/256x256/apps/discord.png") + ("discord.png" "share/pixmaps/discord.png")) #:phases - #~(modify-phases %standard-phases - (delete 'bootstrap) - (delete 'configure) - (delete 'build) - (delete 'check) - (replace 'install #$discord-install)))) - (inputs (list alsa-lib - at-spi2-core - cairo - cups - dbus - eudev - expat - fontconfig - freetype - ffmpeg - (list gcc "lib") + (with-imported-modules '((guix build utils) + (guix build glib-or-gtk-build-system)) + #~(modify-phases %standard-phases + (add-after 'binary-unpack 'setup-cwd + (lambda* (#:key outputs #:allow-other-keys) + (use-modules (guix build utils)) + (define output (assoc-ref outputs "out")) + (substitute* "discord.desktop" + (("Exec=.*$") + (string-append "Exec=" output "/bin/discord\n")) + (("Path=.*$") + (string-append "Path=" output "/opt/discord\n"))) + (with-output-to-file "discord.sh" + (lambda _ + (define (line . args) + (display (apply string-append args)) (newline)) + (line "#!/bin/sh") + (line #$discord-disable-breaking-updates) + (line "cd " output "/opt/discord") + (line "./Discord" + ;; Always use Ozone on Wayland, not sure if this is a good idea. + " ${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer}" + " \"$@\""))) + (for-each + (lambda (f) (chmod f #o755)) + '("Discord" "chrome_crashpad_handler" "chrome-sandbox" + "discord.sh" "postinst.sh")))) + (add-after 'install 'glib-or-gtk-wrap + (assoc-ref (@ (guix build glib-or-gtk-build-system) + %standard-phases) + 'glib-or-gtk-wrap)))))) + (inputs (list ffmpeg gdk-pixbuf - glib glibc - gtk+ libappindicator libcxx libdbusmenu - libdrm libglvnd - libnotify - libx11 - libxcb - libxcomposite - libxcursor - libxdamage - libxext - libxfixes - libxi - libxrandr - libxrender libxscrnsaver - libxshmfence - libxtst - mesa - nspr - nss - pango util-linux wayland ;; Not sure if all of these are needed. @@ -210,7 +150,7 @@ wget xdg-utils)) (synopsis "Discord chat client") - (description "All-in-one cross-platform voice and text chat for gamers") + (description "All-in-one cross-platform voice and text chat for gamers.") (license (license:nonfree "https://discord.com/terms")) (home-page "https://discordapp.com"))) From e90209c8e75911744af15156d5e5dcac18852e30 Mon Sep 17 00:00:00 2001 From: Jack Faller Date: Fri, 26 Apr 2024 09:53:12 +0100 Subject: [PATCH 04/19] Removes necessary inputs from discord --- nongnu/packages/messaging.scm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/nongnu/packages/messaging.scm b/nongnu/packages/messaging.scm index 8c919ee2..d743bbd0 100644 --- a/nongnu/packages/messaging.scm +++ b/nongnu/packages/messaging.scm @@ -19,7 +19,6 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages kerberos) #:use-module (gnu packages linux) - #:use-module (gnu packages llvm) #:use-module (gnu packages node) #:use-module (gnu packages nss) #:use-module (gnu packages pulseaudio) @@ -131,16 +130,13 @@ 'glib-or-gtk-wrap)))))) (inputs (list ffmpeg gdk-pixbuf - glibc libappindicator - libcxx libdbusmenu libglvnd libxscrnsaver util-linux wayland ;; Not sure if all of these are needed. - clang-runtime gzip libsm node From 3984ed6588a6dd1efa881ebb91795377f6476051 Mon Sep 17 00:00:00 2001 From: Jack Faller Date: Fri, 26 Apr 2024 10:35:30 +0100 Subject: [PATCH 05/19] Tidies discord install plan --- nongnu/packages/messaging.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nongnu/packages/messaging.scm b/nongnu/packages/messaging.scm index d743bbd0..c6cddaf0 100644 --- a/nongnu/packages/messaging.scm +++ b/nongnu/packages/messaging.scm @@ -94,8 +94,8 @@ #~`(("." "opt/discord") ("discord.desktop" "/share/applications/") ("discord.sh" "bin/discord") - ("discord.png" "share/icons/hicolor/256x256/apps/discord.png") - ("discord.png" "share/pixmaps/discord.png")) + ("discord.png" "share/icons/hicolor/256x256/apps/") + ("discord.png" "share/pixmaps/")) #:phases (with-imported-modules '((guix build utils) (guix build glib-or-gtk-build-system)) From 188e8fcdec3add6a79d2812566428870a96e64c4 Mon Sep 17 00:00:00 2001 From: Jack Faller Date: Fri, 26 Apr 2024 11:14:01 +0100 Subject: [PATCH 06/19] Removes glib-or-gtk-wrap I put this in because it was in the Nix version, but it doesn't seem to do anything. --- nongnu/packages/messaging.scm | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/nongnu/packages/messaging.scm b/nongnu/packages/messaging.scm index c6cddaf0..61807be1 100644 --- a/nongnu/packages/messaging.scm +++ b/nongnu/packages/messaging.scm @@ -97,8 +97,7 @@ ("discord.png" "share/icons/hicolor/256x256/apps/") ("discord.png" "share/pixmaps/")) #:phases - (with-imported-modules '((guix build utils) - (guix build glib-or-gtk-build-system)) + (with-imported-modules '((guix build utils)) #~(modify-phases %standard-phases (add-after 'binary-unpack 'setup-cwd (lambda* (#:key outputs #:allow-other-keys) @@ -123,11 +122,7 @@ (for-each (lambda (f) (chmod f #o755)) '("Discord" "chrome_crashpad_handler" "chrome-sandbox" - "discord.sh" "postinst.sh")))) - (add-after 'install 'glib-or-gtk-wrap - (assoc-ref (@ (guix build glib-or-gtk-build-system) - %standard-phases) - 'glib-or-gtk-wrap)))))) + "discord.sh" "postinst.sh")))))))) (inputs (list ffmpeg gdk-pixbuf libappindicator From 52d202e8ecd9049d4c474dab56b67a1c50af1e34 Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Tue, 16 Sep 2025 15:11:38 +0200 Subject: [PATCH 07/19] nongnu: firefox: Update to 143.0 [security fixes]. Fixes CVE-2025-10527, CVE-2025-10528, CVE-2025-10529, CVE-2025-10530, CVE-2025-10531, CVE-2025-10532, CVE-2025-10533, CVE-2025-10534, CVE-2025-10535, CVE-2025-10536, CVE-2025-10537. * nongnu/packages/mozilla.scm (firefox): Update to 143.0. Signed-off-by: John Kehayias --- nongnu/packages/mozilla.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nongnu/packages/mozilla.scm b/nongnu/packages/mozilla.scm index 6d0fd849..2764ee6c 100644 --- a/nongnu/packages/mozilla.scm +++ b/nongnu/packages/mozilla.scm @@ -529,20 +529,20 @@ Release (ESR) version.") ;; Update this id with every firefox update to its release date. ;; It's used for cache validation and therefore can lead to strange bugs. -(define %firefox-build-id "20250818122500") +(define %firefox-build-id "20250915125927") (define-public firefox (package (inherit firefox-esr) (name "firefox") - (version "142.0") + (version "143.0") (source (origin (method url-fetch) (uri (string-append "https://archive.mozilla.org/pub/firefox/releases/" version "/source/firefox-" version ".source.tar.xz")) (sha256 - (base32 "03sblq1l5hjlwgqh1vyshrw1161cs5amlx7kjqzmjv1v1zqy2218")) + (base32 "10yz3rz2akf3b19hd2c5v77f038j0h6ci1asjb4w480q14wclibc")) (patches (map (lambda (patch) (search-path From adc55dec01c629efe39c4513e1ffe2b5fb7e7422 Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Tue, 16 Sep 2025 15:14:55 +0200 Subject: [PATCH 08/19] nongnu: firefox-esr: Update to 140.3.0esr [security fixes]. Fixes CVE-2025-10527, CVE-2025-10528, CVE-2025-10529, CVE-2025-10532, CVE-2025-10533, CVE-2025-10536, CVE-2025-10537. * nongnu/packages/mozilla.scm (firefox-esr): Update to 140.3.0esr. Signed-off-by: John Kehayias --- nongnu/packages/mozilla.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nongnu/packages/mozilla.scm b/nongnu/packages/mozilla.scm index 2764ee6c..88f88c3e 100644 --- a/nongnu/packages/mozilla.scm +++ b/nongnu/packages/mozilla.scm @@ -87,19 +87,19 @@ ;; Update this id with every firefox update to its release date. ;; It's used for cache validation and therefore can lead to strange bugs. -(define %firefox-esr-build-id "20250818124956") +(define %firefox-esr-build-id "20250915124517") (define-public firefox-esr (package (name "firefox-esr") - (version "140.2.0esr") + (version "140.3.0esr") (source (origin (method url-fetch) (uri (string-append "https://archive.mozilla.org/pub/firefox/releases/" version "/source/firefox-" version ".source.tar.xz")) (sha256 - (base32 "0mgglah7inji8gyhswdy62w2lqxgm4yfs1xg7ib6sw1vbikwwvcm")) + (base32 "05i3czn3v2qnhir8apcphbqy7rmy1dn7kcwx5yyi2qvmjcyfpipg")) (patches (map (lambda (patch) (search-path From de297a2a28577651cbe27ba58f8b9ea8912392b0 Mon Sep 17 00:00:00 2001 From: Ashish SHUKLA Date: Thu, 11 Sep 2025 12:31:26 +0200 Subject: [PATCH 09/19] nongnu: signal-desktop: Update to 7.70.0 * nongnu/packages/messaging.scm (signal-desktop): Update to 7.70.0 Signed-off-by: John Kehayias --- nongnu/packages/messaging.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nongnu/packages/messaging.scm b/nongnu/packages/messaging.scm index 519c6c6c..d8d2f4d0 100644 --- a/nongnu/packages/messaging.scm +++ b/nongnu/packages/messaging.scm @@ -83,7 +83,7 @@ its core.") (define-public signal-desktop (package (name "signal-desktop") - (version "7.69.0") + (version "7.70.0") (source (origin (method url-fetch) @@ -92,7 +92,7 @@ its core.") "https://updates.signal.org/desktop/apt/pool/s/" name "/" name "_" version "_amd64.deb")) (sha256 - (base32 "02hrsgx5jwhm16nvmz2pm8n11jp56g9mn404mymn1kfi2qsxy5mm")))) + (base32 "1f3vgfyb53c1qbvcmhmmbwz4iychdvbiyrpa2rgnzr3jp5ax8dhp")))) (supported-systems '("x86_64-linux")) (build-system chromium-binary-build-system) (arguments From bc2a73d7a8252b14a2a3705f8df791ab314f5a5c Mon Sep 17 00:00:00 2001 From: Jelle Licht Date: Fri, 19 Sep 2025 13:26:35 +0200 Subject: [PATCH 10/19] nongnu: linux-firmware: Update to 20250917. * nongnu/packages/linux.scm (linux-firmware): Update to 20250917. (select-firmware): Handle the Link keyword correctly. (iwlwifi-firmware)[arguments]{phases}: In the select-firmware phase, use new location of firmware. --- nongnu/packages/linux.scm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/nongnu/packages/linux.scm b/nongnu/packages/linux.scm index 1c458be3..a12c0563 100644 --- a/nongnu/packages/linux.scm +++ b/nongnu/packages/linux.scm @@ -361,14 +361,14 @@ stable, responsive and smooth desktop experience."))) (define-public linux-firmware (package (name "linux-firmware") - (version "20250808") + (version "20250917") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/firmware/" "linux-firmware-" version ".tar.xz")) (sha256 (base32 - "0zw3vsmd07yr27y5fz0m357hci00ah5impx5sz4jcnd18ldmaaf0")))) + "0xgvb0fb4s48423asdb1dnkjjskbfmm336gm6vki2nliasvpa18j")))) (build-system gnu-build-system) (arguments (list #:tests? #f @@ -415,8 +415,11 @@ if your hardware is supported by one of the smaller firmware packages.") #~(lambda _ (use-modules (ice-9 regex)) (substitute* "WHENCE" - (("^(File|RawFile|Link): *([^ ]*)(.*)" _ type file rest) - (string-append (if (string-match #$keep file) type "Skip") ": " file rest))))) + (("^(File|RawFile): *([^ ]*)(.*)" _ type file rest) + (string-append (if (string-match #$keep file) type "Skip") ": " file rest)) + (("^Link: *(.*) *-> *(.*)" _ file target) + (string-append (if (string-match #$keep target) "Link" "Skip") + ": " file " -> " target))))) (define-public amdgpu-firmware (package @@ -705,7 +708,7 @@ laptops).") ((#:phases phases #~%standard-phases) #~(modify-phases #$phases (add-after 'unpack 'select-firmware - #$(select-firmware "^iwlwifi-"))))))) + #$(select-firmware "^intel/iwlwifi/"))))))) (home-page "https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi") (synopsis "Nonfree firmware for Intel wifi chips") (description "The proprietary iwlwifi kernel module is required by many From 0531ba5050d893013864c779ae4c7dd1d16bfb1f Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Wed, 17 Sep 2025 00:28:00 +0800 Subject: [PATCH 11/19] nongnu: heroic-client: Set supported-systems. * nongnu/packages/game-client.scm (heroic-client) [supported-systems]: Limit to x86_64-linux only. --- nongnu/packages/game-client.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nongnu/packages/game-client.scm b/nongnu/packages/game-client.scm index 817c97b3..7f4518ed 100644 --- a/nongnu/packages/game-client.scm +++ b/nongnu/packages/game-client.scm @@ -105,7 +105,8 @@ (description "Heroic is an Open Source Game Launcher. Right now it supports launching games from the Epic Games Store using Legendary, GOG Games using our custom implementation with gogdl and Amazon Games using Nile.") - (license license:gpl3))) + (license license:gpl3) + (supported-systems '("x86_64-linux")))) (define steam-client (package From 0864aa6ba5ff1544222a133cd7cab030b5490250 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Wed, 17 Sep 2025 00:28:27 +0800 Subject: [PATCH 12/19] nongnu: steam-client: Set supported-systems. * nongnu/packages/game-client.scm (steam-client) [supported-systems]: Limit to x86_64-linux only. --- nongnu/packages/game-client.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nongnu/packages/game-client.scm b/nongnu/packages/game-client.scm index 7f4518ed..f33d8036 100644 --- a/nongnu/packages/game-client.scm +++ b/nongnu/packages/game-client.scm @@ -161,7 +161,8 @@ implementation with gogdl and Amazon Games using Nile.") (home-page "https://store.steampowered.com") (synopsis "Digital distribution platform for managing and playing games") (description "Steam is a digital software distribution platform created by Valve.") - (license (license:nonfree "file:///share/doc/steam/steam_subscriber_agreement.txt")))) + (license (license:nonfree "file:///share/doc/steam/steam_subscriber_agreement.txt")) + (supported-systems '("x86_64-linux")))) (define steam-client-libs `(("at-spi2-core" ,at-spi2-core) ; Required (often) for SteamVR interface. From 017e4bf8642dd8bc5de576ed57eec30c0ff833f0 Mon Sep 17 00:00:00 2001 From: Ashish SHUKLA Date: Fri, 19 Sep 2025 08:47:07 +0200 Subject: [PATCH 13/19] nongnu: signal-desktop: Update to 7.71.0. * nongnu/packages/messaging.scm (signal-desktop): Update to 7.71.0. Signed-off-by: Hilton Chain --- nongnu/packages/messaging.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nongnu/packages/messaging.scm b/nongnu/packages/messaging.scm index d8d2f4d0..54acf433 100644 --- a/nongnu/packages/messaging.scm +++ b/nongnu/packages/messaging.scm @@ -83,7 +83,7 @@ its core.") (define-public signal-desktop (package (name "signal-desktop") - (version "7.70.0") + (version "7.71.0") (source (origin (method url-fetch) @@ -92,7 +92,7 @@ its core.") "https://updates.signal.org/desktop/apt/pool/s/" name "/" name "_" version "_amd64.deb")) (sha256 - (base32 "1f3vgfyb53c1qbvcmhmmbwz4iychdvbiyrpa2rgnzr3jp5ax8dhp")))) + (base32 "14lk8s040alj2lxqw30hh54l4p3kpq1mxq64l8sqlph2y9c3hig3")))) (supported-systems '("x86_64-linux")) (build-system chromium-binary-build-system) (arguments From 7a67115e0daafb276574a283ce0d474936cfc3e0 Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Mon, 8 Sep 2025 10:21:39 +0200 Subject: [PATCH 14/19] import: Add firefox updater. * guix/import/firefox.scm: Implement basic firefox updater. Signed-off-by: Hilton Chain Modified-by: Hilton Chain --- guix/import/firefox.scm | 47 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 guix/import/firefox.scm diff --git a/guix/import/firefox.scm b/guix/import/firefox.scm new file mode 100644 index 00000000..7bcaf07e --- /dev/null +++ b/guix/import/firefox.scm @@ -0,0 +1,47 @@ +;;; SPDX-License-Identifier: GPL-3.0-or-later +;;; Copyright © 2025 Nicolas Graves + +;;; This file is not part of GNU Guix but requires this naming scheme +;;; so that the %firefox-updater is properly read when using +;;; `guix refresh -L$(pwd) firefox' in nonguix root. + +(define-module (guix import firefox) + #:use-module (guix import json) + #:use-module (guix memoization) + #:use-module (guix packages) + #:use-module (guix upstream) + #:export (%firefox-updater)) + +(define firefox-json-url "https://product-details.mozilla.org/1.0/firefox_versions.json") + +(define firefox-versions + (memoize + (lambda _ + (let ((alist (json-fetch firefox-json-url))) + (list (cons "firefox" (assoc-ref alist "LATEST_FIREFOX_VERSION")) + (cons "firefox-esr" (assoc-ref alist "FIREFOX_ESR"))))))) + +(define* (latest-release package #:key (version #f) partial-version?) + "Return an for the latest-release of PACKAGE." + (let* ((name (package-name package)) + (version (or version (assoc-ref (firefox-versions) name)))) + (upstream-source + (package name) + (version version) + (urls + (list (string-append "https://archive.mozilla.org/pub/firefox/releases/" + version "/source/firefox-" + version ".source.tar.xz")))))) + +(define (firefox-package? package) + "Return true if PACKAGE is Firefox." + (member (package-name package) (list "firefox" "firefox-esr"))) + +(define %firefox-updater + (upstream-updater + (name 'firefox) + (description "Updater for Firefox packages") + (pred firefox-package?) + (import latest-release))) + +;;; firefox.scm ends here. From 63c7e043869abc244999636bff053f6adcbb0704 Mon Sep 17 00:00:00 2001 From: Murilo Date: Mon, 1 Sep 2025 16:43:06 -0300 Subject: [PATCH 15/19] nongnu: egl-gbm: Update to 1.1.2.1. * nongnu/packages/nvidia.scm (egl-gbm): Update to 1.1.2.1. Signed-off-by: Hilton Chain --- nongnu/packages/nvidia.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nongnu/packages/nvidia.scm b/nongnu/packages/nvidia.scm index 75589389..ea7d7d87 100644 --- a/nongnu/packages/nvidia.scm +++ b/nongnu/packages/nvidia.scm @@ -849,7 +849,7 @@ variables @code{__GLX_VENDOR_LIBRARY_NAME=nvidia} and (define-public egl-gbm (package (name "egl-gbm") - (version "1.1.2") + (version "1.1.2.1") (source (origin (method git-fetch) (uri (git-reference @@ -858,7 +858,7 @@ variables @code{__GLX_VENDOR_LIBRARY_NAME=nvidia} and (file-name (git-file-name name version)) (sha256 (base32 - "1rfgfi06ry7c7hnzdm4b0dc8r3hmbfn2rd37z3mc4wn38sgz5l3a")))) + "1zcr1jksnh0431marzvgg301aybli29r1xw5vs4wnxgcp9bigvn6")))) (build-system meson-build-system) (native-inputs (list pkg-config)) (inputs (list eglexternalplatform mesa-for-nvda)) From 9302c6319b9d4530359f310e45e37e911915b0ce Mon Sep 17 00:00:00 2001 From: Murilo Date: Mon, 1 Sep 2025 16:45:08 -0300 Subject: [PATCH 16/19] nongnu: egl-x11: Update to 1.0.3. * nongnu/packages/nvidia.scm (egl-x11): Update to 1.0.3. Signed-off-by: Hilton Chain --- nongnu/packages/nvidia.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nongnu/packages/nvidia.scm b/nongnu/packages/nvidia.scm index ea7d7d87..9dfc4cd3 100644 --- a/nongnu/packages/nvidia.scm +++ b/nongnu/packages/nvidia.scm @@ -872,7 +872,7 @@ GBM EGL support.") (define-public egl-x11 (package (name "egl-x11") - (version "1.0.2") + (version "1.0.3") (source (origin (method git-fetch) (uri (git-reference @@ -881,7 +881,7 @@ GBM EGL support.") (file-name (git-file-name name version)) (sha256 (base32 - "0s18xpylz16ry51xp1bs2s4hmvwsq49hcfc0gnmmvnymdzm041aq")))) + "1hh1wkdijjhsmym5ab5nw8wyi0w9x7aznnmyg8sczhwdfb5rdnrj")))) (build-system meson-build-system) (native-inputs (list pkg-config)) (inputs (list eglexternalplatform mesa-for-nvda)) From 2fe28d2a1bbeadd52b0c74c4c04cb7983d9f16b3 Mon Sep 17 00:00:00 2001 From: Murilo Date: Mon, 1 Sep 2025 16:32:49 -0300 Subject: [PATCH 17/19] nongnu: nvidia-driver: Install additional components. * nongnu/packages/nvidia.scm (nvidia-driver)[arguments] <#:install-plan>: Install 'nvngx_dlssg.dll' and 'nvoptix.bin'. <#:phases>{create-misc-files}: Set 'nvidia_layers.json' library_path to the store absolute path of 'libnvidia-present.so'. Signed-off-by: Hilton Chain --- nongnu/packages/nvidia.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/nongnu/packages/nvidia.scm b/nongnu/packages/nvidia.scm index 9dfc4cd3..17b10813 100644 --- a/nongnu/packages/nvidia.scm +++ b/nongnu/packages/nvidia.scm @@ -245,8 +245,8 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\ ("x86_64-linux" ".") (_ ".")) "lib/" #:include-regexp ("^./[^/]+\\.so")) - ("." "lib/nvidia/wine/" #:include-regexp ("_?nvngx\\.dll$")) - ("." "share/nvidia/" #:include-regexp ("nvidia-application-profiles")) + ("." "lib/nvidia/wine/" #:include-regexp ("_?nvngx.*?\\.dll$")) + ("." "share/nvidia/" #:include-regexp ("nvidia-application-profiles|nvoptix.bin")) ("." "share/egl/egl_external_platform.d/" #:include-regexp ("(gbm|wayland|xcb|xlib)\\.json")) ("10_nvidia.json" "share/glvnd/egl_vendor.d/") ("90-nvidia.rules" "lib/udev/rules.d/") @@ -287,6 +287,8 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\ (substitute* '("nvidia_icd.json" "nvidia_layers.json") (("libGLX_nvidia\\.so\\.." all) + (string-append #$output "/lib/" all)) + (("libnvidia-present\\.so\\.[0-9.]*" all) (string-append #$output "/lib/" all))) ;; VulkanSC ICD configuration From c33db8571ae46feb457917327db8f6f91599e997 Mon Sep 17 00:00:00 2001 From: Murilo Date: Mon, 1 Sep 2025 16:31:31 -0300 Subject: [PATCH 18/19] nongnu: nvidia-driver: Update to 580.82.09. * nongnu/packages/nvidia.scm (nvidia-driver): Update to 580.82.09. (nvidia-settings): Likewise. Signed-off-by: Hilton Chain --- nongnu/packages/nvidia.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nongnu/packages/nvidia.scm b/nongnu/packages/nvidia.scm index 17b10813..1a5031bc 100644 --- a/nongnu/packages/nvidia.scm +++ b/nongnu/packages/nvidia.scm @@ -228,9 +228,9 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\ (define-public nvidia-driver (package (name "nvidia-driver") - (version "570.181") + (version "580.82.09") (source (nvidia-source - version "1yfwwfwbl5ph7s7zddixa0w8nb1wdg25sjysg98fl0hq7z72avgh")) + version "1dwmardvxb2w6mx7hich5wc06f50qz92jk63kbhf059fv8rgiv1y")) (build-system copy-build-system) (arguments (list #:modules '((guix build copy-build-system) @@ -629,9 +629,9 @@ add @code{nvidia_drm.modeset=1} to @code{kernel-arguments} as well.") (define-public nvidia-settings (package (name "nvidia-settings") - (version "570.181") + (version "580.82.09") (source (nvidia-settings-source - name version "0fq72pj1b4iwlyivi9nmqr45iz6aqqdxgdbgk26x9m1yfxgpy748")) + name version "0sy3mrg3vmyba6m87nanzmpvv2hzhb6nqdckhlaxv8wppmr7fvms")) (build-system gnu-build-system) (arguments (list #:tests? #f ;no test suite From 25d7a8091c2c9678a8694f073d846a7001165169 Mon Sep 17 00:00:00 2001 From: Jelle Licht Date: Tue, 23 Sep 2025 22:45:08 +0200 Subject: [PATCH 19/19] nongnu: steam-client: Update to 1.0.0.84. * nongnu/packages/game-client.scm (steam-client): Update to 1.0.0.84. --- nongnu/packages/game-client.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nongnu/packages/game-client.scm b/nongnu/packages/game-client.scm index f33d8036..d520821c 100644 --- a/nongnu/packages/game-client.scm +++ b/nongnu/packages/game-client.scm @@ -111,7 +111,7 @@ implementation with gogdl and Amazon Games using Nile.") (define steam-client (package (name "steam-client") - (version "1.0.0.83") + (version "1.0.0.84") (source (origin (method url-fetch) @@ -119,7 +119,7 @@ implementation with gogdl and Amazon Games using Nile.") version ".tar.gz")) (sha256 (base32 - "10lgmjsada0n2a4h1vgrnwcjcka7vp4igy82f1n99zbyrjq845kr")) + "0i3v0zz36x7v81qslvfbiby57hk96hn15w4xxal1lgvrb0npdyii")) (file-name (string-append name "-" version ".tar.gz")))) (build-system gnu-build-system) (arguments