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. diff --git a/nongnu/packages/game-client.scm b/nongnu/packages/game-client.scm index 817c97b3..d520821c 100644 --- a/nongnu/packages/game-client.scm +++ b/nongnu/packages/game-client.scm @@ -105,12 +105,13 @@ (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 (name "steam-client") - (version "1.0.0.83") + (version "1.0.0.84") (source (origin (method url-fetch) @@ -118,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 @@ -160,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. diff --git a/nongnu/packages/linux.scm b/nongnu/packages/linux.scm index ebc9bab4..a12c0563 100644 --- a/nongnu/packages/linux.scm +++ b/nongnu/packages/linux.scm @@ -180,9 +180,6 @@ on hardware which requires nonfree software to function.")))) (define-public linux-6.16 (corrupt-linux linux-libre-6.16)) -(define-public linux-6.15 - (corrupt-linux linux-libre-6.15)) - (define-public linux-6.12 (corrupt-linux linux-libre-6.12)) @@ -364,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 @@ -418,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 @@ -708,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 diff --git a/nongnu/packages/messaging.scm b/nongnu/packages/messaging.scm index 519c6c6c..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.69.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 "02hrsgx5jwhm16nvmz2pm8n11jp56g9mn404mymn1kfi2qsxy5mm")))) + (base32 "14lk8s040alj2lxqw30hh54l4p3kpq1mxq64l8sqlph2y9c3hig3")))) (supported-systems '("x86_64-linux")) (build-system chromium-binary-build-system) (arguments diff --git a/nongnu/packages/mozilla.scm b/nongnu/packages/mozilla.scm index 6d0fd849..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 @@ -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 diff --git a/nongnu/packages/nvidia.scm b/nongnu/packages/nvidia.scm index 75589389..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) @@ -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 @@ -627,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 @@ -849,7 +851,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 +860,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)) @@ -872,7 +874,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 +883,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)) diff --git a/nongnu/packages/radio.scm b/nongnu/packages/radio.scm index a7ed2c3a..e914c829 100644 --- a/nongnu/packages/radio.scm +++ b/nongnu/packages/radio.scm @@ -1,8 +1,10 @@ ;;; SPDX-License-Identifier: GPL-3.0-or-later ;;; Copyright © 2022 Guillaume Le Vaillant +;;; Copyright © 2024 Brice Waegeneire (define-module (nongnu packages radio) #:use-module (gnu packages gcc) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages radio) #:use-module (guix build-system cmake) @@ -16,21 +18,64 @@ #:use-module (nonguix build-system binary) #:use-module (nonguix licenses)) +;; Extracted from sdrplay's install_lib.sh +(define %sdrplay-hwdb + (plain-file + "20-sdrplay.hwdb" "\ +usb:v1DF7* + ID_VENDOR_FROM_DATABASE=SDRplay + +usb:v1DF7p2500* + ID_MODEL_FROM_DATABASE=RSP1 + +usb:v1DF7p3000* + ID_MODEL_FROM_DATABASE=RSP1A + +usb:v1DF7p3010* + ID_MODEL_FROM_DATABASE=RSP2/RSP2pro + +usb:v1DF7p3020* + ID_MODEL_FROM_DATABASE=RSPduo + +usb:v1DF7p3030* + ID_MODEL_FROM_DATABASE=RSPdx + +usb:v1DF7p3050* + ID_MODEL_FROM_DATABASE=RSP1B + +usb:v1DF7p3060* + ID_MODEL_FROM_DATABASE=RSPdxR2 +")) + +;; Extracted from sdrplay's install_lib.sh +(define %sdrplay-udev-rules + (plain-file + "66-sdrplay.rules" "\ +SUBSYSTEM==\"usb\",ENV{DEVTYPE}==\"usb_device\",ATTRS{idVendor}==\"1df7\",ATTRS{idProduct}==\"2500\",MODE:=\"0666\" +SUBSYSTEM==\"usb\",ENV{DEVTYPE}==\"usb_device\",ATTRS{idVendor}==\"1df7\",ATTRS{idProduct}==\"3000\",MODE:=\"0666\" +SUBSYSTEM==\"usb\",ENV{DEVTYPE}==\"usb_device\",ATTRS{idVendor}==\"1df7\",ATTRS{idProduct}==\"3010\",MODE:=\"0666\" +SUBSYSTEM==\"usb\",ENV{DEVTYPE}==\"usb_device\",ATTRS{idVendor}==\"1df7\",ATTRS{idProduct}==\"3020\",MODE:=\"0666\" +SUBSYSTEM==\"usb\",ENV{DEVTYPE}==\"usb_device\",ATTRS{idVendor}==\"1df7\",ATTRS{idProduct}==\"3030\",MODE:=\"0666\" +SUBSYSTEM==\"usb\",ENV{DEVTYPE}==\"usb_device\",ATTRS{idVendor}==\"1df7\",ATTRS{idProduct}==\"3050\",MODE:=\"0666\" +SUBSYSTEM==\"usb\",ENV{DEVTYPE}==\"usb_device\",ATTRS{idVendor}==\"1df7\",ATTRS{idProduct}==\"3060\",MODE:=\"0666\" +")) + (define-public sdrplay (package (name "sdrplay") - (version "3.07.1") + (version "3.15.1") (source (origin (method url-fetch) (uri (string-append "https://www.sdrplay.com/software/" "SDRplay_RSP_API-Linux-" version ".run")) (sha256 - (base32 "1a25c7rsdkcjxr7ffvx2lwj7fxdbslg9qhr8ghaq1r53rcrqgzmf")))) + (base32 "0520722j9w8yv523pbvyq08q3lpnjsiy5qd15svd3kqpbnzk4dq9")))) (build-system binary-build-system) (supported-systems '("i686-linux" "x86_64-linux")) (inputs `(("eudev" ,eudev) + ("libusb" ,libusb) ("gcc:lib" ,gcc "lib"))) (arguments (let ((arch (match (or (%current-target-system) @@ -46,9 +91,10 @@ (list (string-append #$arch "/libsdrplay_api.so." #$major-minor) '("gcc:lib")) (list (string-append #$arch "/sdrplay_apiService") - '("eudev" "gcc:lib"))) + '("eudev" "gcc:lib" "libusb"))) #:install-plan - #~(list '("66-mirics.rules" "lib/udev/rules.d/66-mirics.rules") + #~(list '("20-sdrplay.hwdb" "lib/udev/hwdb.d/20-sdrplay.hwdb") + '("66-sdrplay.rules" "lib/udev/rules.d/66-sdrplay.rules") '("inc" "include") (list (string-append #$arch "/libsdrplay_api.so." #$major-minor) (string-append "lib/libsdrplay_api.so." #$major-minor)) @@ -65,6 +111,10 @@ (invoke "sh" source-script "--noexec" "--target" "source") (chdir "source")))) + (add-after 'unpack 'create-udev-files + (lambda* (#:key inputs #:allow-other-keys) + (symlink #$%sdrplay-hwdb "20-sdrplay.hwdb") + (symlink #$%sdrplay-udev-rules "66-sdrplay.rules"))) (add-after 'install 'create-library-links (lambda _ (let* ((lib (string-append #$output "/lib/libsdrplay_api.so")) @@ -85,20 +135,18 @@ package. E.g.: @code{(udev-rules-service 'sdrplay sdrplay)}") "/license.txt"))))) (define-public soapysdrplay3 - (let ((commit "9e5c80c45454db56b8b10bb997369f37e750631b") - (revision "1")) - (package +(package (name "soapysdrplay3") - (version (git-version "0.4.1" revision commit)) + (version "0.5.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/pothosware/SoapySDRPlay3") - (commit commit))) + (commit (string-append "soapy-sdrplay3-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1sl3i1id0fily7qfm0yihxsaqy4f4gr85vl5ip05azhhbrnmnayx")))) + (base32 "15mhgqr5whpyn0q7svwd7zz38karfdgnyi6mgl6bpprz2994ww75")))) (build-system cmake-build-system) (inputs (list sdrplay soapysdr)) @@ -108,4 +156,4 @@ package. E.g.: @code{(udev-rules-service 'sdrplay sdrplay)}") (synopsis "SoapySDR SDRplay module") (description "This package provides SDRplay devices support to the SoapySDR library.") - (license expat)))) + (license expat)))