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/anydesk.scm b/nongnu/packages/anydesk.scm index 78e16f1b..49ec592e 100644 --- a/nongnu/packages/anydesk.scm +++ b/nongnu/packages/anydesk.scm @@ -11,41 +11,46 @@ #:use-module (gnu packages gl) #:use-module (gnu packages fontutils) #:use-module (gnu packages polkit) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages image) + #:use-module (gnu packages linux) + #:use-module (gnu packages libffi) + #:use-module (gnu packages pcre) #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages xml) #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg) #:use-module (guix download) #:use-module (guix packages) #:use-module (nonguix build-system binary) + #:use-module (nongnu packages anydesk) #:use-module (nonguix licenses)) (define-public anydesk (package (name "anydesk") - (version "6.3.2-1") - (source (origin - (method url-fetch) - (uri (string-append "https://download.anydesk.com/linux/anydesk_" - version "_amd64.deb")) - (sha256 - (base32 - "13b5ab4a889vz39d36f45mhv3mlaxb305wsh3plk3dbjcrkkkirb")))) + (version "7.0.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.anydesk.com/linux/anydesk-" + version "-amd64.tar.gz")) + (sha256 + (base32 + "0jmrhcic5kmhxlw7rxw0d37fp9lzzz10qs8ar0dqjgfhbynkskm8")))) (build-system binary-build-system) (arguments `(#:validate-runpath? #f - #:strip-binaries? #f ;; For some reason it breaks the program + #:strip-binaries? #f #:patchelf-plan - `(("usr/bin/anydesk" ("atk" + `(("anydesk" ("atk" "cairo" "fontconfig" "freetype" "gcc:lib" "gdk-pixbuf" "glib" - "glu" "gtk+" - "gtkglext" - "libice" - "libsm" "libx11" "libxcb" "libxdamage" @@ -53,62 +58,102 @@ "libxfixes" "libxi" "libxkbfile" - "libxmu" "libxrandr" "libxrender" - "libxsts" - "libxt" - "mesa" - "minizip" + "libxtst" + "libxcursor" + "libxcomposite" + "libxinerama" + "libxau" + "libxdmcp" "pango" - "pangox-compat" + "harfbuzz" + "libepoxy" + "pixman" + "libjpeg-turbo" + "libpng" + "libthai" + "graphite2" + "libdatrie" "polkit" - "polkit-gnome" - "pulseaudio"))) + "zlib" + "dbus" + "at-spi2-core" + "libxkbcommon" + "wayland" + "util-linux:lib" + "libffi" + "pcre2" + "elogind" + "bzip2" + "expat" + "libcap"))) #:install-plan - `(("usr/bin/anydesk" "/bin/") - ("usr/share/polkit-1/actions/com.anydesk.anydesk.policy" "/etc/polkit-1/actions/") - ("usr/share/icons" "/share/icons/")) + `(("anydesk" "/bin/") + ("polkit-1/com.anydesk.anydesk.policy" "/share/polkit-1/actions/") + ("icons" "/share/icons/") + ("anydesk.desktop" "/share/applications/") + ("copyright" "/share/licenses/anydesk/")) #:phases (modify-phases %standard-phases (replace 'binary-unpack (lambda* (#:key source #:allow-other-keys) (let* ((files (filter (lambda (f) - (not (string=? (basename f) "environment-variables"))) - (find-files (getcwd)))) - (binary-file (car files))) - (when (= 1 (length files)) - (mkdir "binary") - (chdir "binary") - (invoke "ar" "x" binary-file) - (invoke "tar" "xvf" "data.tar.gz") - (invoke "rm" "-rfv" "control.tar.gz" - "data.tar.gz" - binary-file - "debian-binary"))))) - (add-after 'install 'install-desktop-entry + (not (string=? (basename f) "environment-variables"))) + (find-files (getcwd)))) + (binary-file (car files))) + (when (= 1 (length files)) + (mkdir "binary") + (chdir "binary") + (invoke "tar" "xvf" binary-file) + (chdir (string-append "anydesk-" ,(package-version this-package))))))) + (add-after 'install 'fix-desktop-entry (lambda* (#:key outputs #:allow-other-keys) - (let* ((desktop-file "usr/share/applications/anydesk.desktop") - (out (assoc-ref outputs "out")) - (applications (string-append out "/share/applications"))) + (let* ((out (assoc-ref outputs "out")) + (desktop-file (string-append out "/share/applications/anydesk.desktop"))) (substitute* desktop-file - (("^Exec=.*") (string-append "Exec=" out "/bin/anydesk\n")) - (("^Icon=.*") "Icon=anydesk\n")) - (install-file desktop-file applications)) - #t))))) + (("^Exec=anydesk") (string-append "Exec=env GDK_BACKEND=x11 " out "/bin/anydesk")) + (("^Icon=anydesk") "Icon=anydesk")) + #t))) + (add-after 'install 'install-icon + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (icon-src "icons/hicolor/scalable/apps/anydesk.svg") + (icon-dest (string-append out "/share/pixmaps/anydesk.svg"))) + (when (file-exists? icon-src) + (install-file icon-src (dirname icon-dest))) + #t)))))) (inputs `(("atk" ,atk) ("cairo" ,cairo) ("fontconfig" ,fontconfig) ("freetype" ,freetype) - ("gcc:lib" ,gcc "lib") ("gdk-pixbuf" ,gdk-pixbuf) ("glib" ,glib) - ("glu" ,glu) - ("gtk+" ,gtk+-2) - ("gtkglext" ,gtkglext) - ("libice" ,libice) - ("libsm" ,libsm) + ("gtk+" ,gtk+) + ("pango" ,pango) + ("harfbuzz" ,harfbuzz) + ("libepoxy" ,libepoxy) + ("pixman" ,pixman) + ("libjpeg-turbo" ,libjpeg-turbo) + ("libpng" ,libpng) + ("libthai" ,libthai) + ("graphite2" ,graphite2) + ("libdatrie" ,libdatrie) + ("gcc:lib" ,gcc "lib") + ("polkit" ,polkit) + ("zlib" ,zlib) + ("dbus" ,dbus) + ("at-spi2-core" ,at-spi2-core) + ("libxkbcommon" ,libxkbcommon) + ("wayland" ,wayland) + ("util-linux:lib" ,util-linux "lib") + ("libffi" ,libffi) + ("pcre2" ,pcre2) + ("elogind" ,elogind) + ("bzip2" ,bzip2) + ("expat" ,expat) + ("libcap" ,libcap) ("libx11" ,libx11) ("libxcb" ,libxcb) ("libxdamage" ,libxdamage) @@ -116,19 +161,15 @@ ("libxfixes" ,libxfixes) ("libxi" ,libxi) ("libxkbfile" ,libxkbfile) - ("libxmu" ,libxmu) ("libxrandr" ,libxrandr) ("libxrender" ,libxrender) - ("libxsts" ,libxtst) - ("libxt" ,libxt) - ("mesa" ,mesa) - ("minizip" ,minizip) - ("pango" ,pango) - ("pangox-compat" ,pangox-compat) - ("polkit" ,polkit) - ("polkit-gnome" ,polkit-gnome) - ("pulseaudio" ,pulseaudio))) - (synopsis "Remote desktop software") + ("libxtst" ,libxtst) + ("libxcursor" ,libxcursor) + ("libxcomposite" ,libxcomposite) + ("libxinerama" ,libxinerama) + ("libxau" ,libxau) + ("libxdmcp" ,libxdmcp))) + (synopsis "Remote desktop software") (supported-systems '("x86_64-linux")) (description "Connect to a computer remotely, be it from the other end of the office or halfway around the world. AnyDesk ensures secure and reliable 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/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 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/printers.scm b/nongnu/packages/printers.scm index 5ee6f210..65b4ea02 100644 --- a/nongnu/packages/printers.scm +++ b/nongnu/packages/printers.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2021 Kahka F ;;; Copyright © 2021, 2023 Jonathan Brielmaier + (define-module (nongnu packages printers) #:use-module (gnu packages) #:use-module (gnu packages cups) @@ -155,7 +156,7 @@ installed=1 eula=1 version=~A -" #$(package-version hplip)))) +" #$(package-version hplip (substitute* (string-append out "/etc/hp/hplip.conf") - (("/usr") out))))))))))) + (("/usr") out)))))))))))))))