Merge branch nonguix:master into qby-master-patch-35957

This commit is contained in:
qby 2024-03-24 16:08:49 +00:00
commit 7aa49ee0be
11 changed files with 282 additions and 102 deletions

View File

@ -87,7 +87,7 @@ lets you focus on your code.")
(define-public clj-kondo (define-public clj-kondo
(package (package
(name "clj-kondo") (name "clj-kondo")
(version "2023.10.20") (version "2024.03.13")
(source (origin (source (origin
(method url-fetch/zipbomb) (method url-fetch/zipbomb)
(uri (string-append (uri (string-append
@ -95,11 +95,11 @@ lets you focus on your code.")
version "/clj-kondo-" version "-linux-amd64.zip")) version "/clj-kondo-" version "-linux-amd64.zip"))
(sha256 (sha256
(base32 (base32
"1zb4bkmhv5mh18z8h82qa1a0m95pd5dwdxg31pqgs6lnlca3vsph")))) "0qdimdf854wsy19i39j18f01b3dhj4zccslymbkn8j9rm90k91m3"))))
(build-system binary-build-system) (build-system binary-build-system)
(arguments (arguments
(list #:patchelf-plan `'(("clj-kondo" ("gcc" "zlib"))) (list #:patchelf-plan `'(("clj-kondo" ("gcc" "zlib")))
#:install-plan `'(("clj-kondo" "/bin/")) #:install-plan `'(("./clj-kondo" "/bin/"))
#:phases #~(modify-phases %standard-phases #:phases #~(modify-phases %standard-phases
(add-after 'unpack 'chmod (add-after 'unpack 'chmod
(lambda _ (lambda _
@ -115,3 +115,67 @@ lets you focus on your code.")
(description "Clj-kondo performs static analysis on Clojure, ClojureScript (description "Clj-kondo performs static analysis on Clojure, ClojureScript
and EDN, without the need of a running REPL.") and EDN, without the need of a running REPL.")
(license license:epl1.0))) (license license:epl1.0)))
(define-public clojure-lsp
(package
(name "clojure-lsp")
(version "2024.03.13-13.11.00")
(source (origin
(method url-fetch/zipbomb)
(uri (string-append "https://github.com/clojure-lsp/clojure-lsp"
"/releases/download/" version
"/clojure-lsp-native-static-linux-amd64.zip"))
(sha256
(base32
"1l6w55aragyf8rzy087iqw97xnpih5syjwhf0jwbgrqps2k44ms5"))))
(build-system binary-build-system)
(arguments
`(#:install-plan
'(("./clojure-lsp" "/bin/"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chmod
(lambda _
(chmod "./clojure-lsp" #o755))))))
(inputs (list `(,gcc "lib") zlib))
(supported-systems '("x86_64-linux"))
(home-page "https://github.com/clojure-lsp/clojure-lsp")
(synopsis "Clojure & ClojureScript Language Server (LSP) implementation")
(description "This package provides a Language Server for Clojure and ClojureScript
languages. The goal of this project is to bring great editing tools for
Clojure/Clojurescript to all editors and programatically via its CLI and API.
It aims to work alongside you to help you navigate, identify and fix errors,
perform refactors and more.")
(license license:expat)))
(define-public babashka
(package
(name "babashka")
(version "1.3.189")
(source (origin
(method url-fetch/tarbomb)
(uri (string-append "https://github.com/babashka/babashka"
"/releases/download/v" version "/babashka-"
version "-linux-amd64.tar.gz"))
(sha256
(base32
"1gzra3y5iljjqi4rj1qxr3yniqla3qnhv881gkzrp788fwsvlmwv"))))
(build-system binary-build-system)
(arguments
`(#:patchelf-plan
'(("bb" ("gcc" "zlib")))
#:install-plan
'(("./bb" "/bin/"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chmod
(lambda _
(chmod "bb" #o755))))))
(inputs (list `(,gcc "lib") zlib))
(supported-systems '("x86_64-linux"))
(home-page "https://github.com/babashka/babashka")
(synopsis "Native, fast starting Clojure interpreter for scripting")
(description "Babashka is a native Clojure interpreter for scripting with
fast startup. Its main goal is to leverage Clojure in places where you would
be using bash otherwise.")
(license license:epl1.0)))

View File

@ -1,6 +1,8 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later ;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2023 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2023 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2024 Andre A. Gomes <andremegafone@gmail.com>
;;; Copyright © 2024 Jonathan Brielmaier <jonathan.brielmaier@web.de>
(define-module (nongnu packages electron) (define-module (nongnu packages electron)
#:use-module (nonguix build-system chromium-binary) #:use-module (nonguix build-system chromium-binary)
@ -13,11 +15,8 @@
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages video)) #:use-module (gnu packages video))
(define-public electron (define (electron-source version hash)
(package (origin
(name "electron")
(version "27.1.0")
(source (origin
(method url-fetch/zipbomb) (method url-fetch/zipbomb)
(uri (uri
(string-append (string-append
@ -29,7 +28,14 @@
("aarch64-linux" "linux-arm64") ("aarch64-linux" "linux-arm64")
("armhf-linux" "linux-armv7l")) ("armhf-linux" "linux-armv7l"))
".zip")) ".zip"))
(sha256 (base32 "08illknzcikzzsb6i7z1p2xgb20jjc5cx9hynll25f44q9pg48b6")))) (sha256 (base32 hash))))
(define-public electron-27
(package
(name "electron")
(version "27.3.6")
(source (electron-source version
"12hjn1bfk8c25f54kk561mkjl7hsk8b16rj7a7gczswjdpx6fpi0"))
(build-system chromium-binary-build-system) (build-system chromium-binary-build-system)
(arguments (arguments
`(#:wrapper-plan `(#:wrapper-plan
@ -81,3 +87,18 @@ Chromium and is used by the Atom editor and many other apps.")
(license (license:nonfree (license (license:nonfree
(string-append "https://github.com/electron/electron/blob/v" (string-append "https://github.com/electron/electron/blob/v"
version "/LICENSE"))))) version "/LICENSE")))))
(define-public electron electron-27)
(define-public electron-28
(package
(inherit electron-27)
(version "28.2.7")
(source (electron-source version
"0sw8nn1jr9x0p4s2g5yp5lrpy8mzq0sjd099x7axbg6cm1c80iff"))))
(define-public electron-29
(package
(inherit electron-27)
(version "29.1.4")
(source (electron-source version
"1d96nhx9j9mzc3q3ald1imqdxdgq9by1qm4q703sjy3knq1p38w3"))))

View File

@ -2,6 +2,7 @@
;;; Copyright © 2022-2023 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2022-2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Krzysztof Baranowski <pharcosyle@gmail.com> ;;; Copyright © 2023 Krzysztof Baranowski <pharcosyle@gmail.com>
;;; Copyright © 2024 Efraim Flashner <efraim@flashner.co.il>
(define-module (nongnu packages firmware) (define-module (nongnu packages firmware)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
@ -134,16 +135,18 @@ HDMI to USB Type-C Bridge in the PinePhone.")
(build-system copy-build-system) (build-system copy-build-system)
(arguments (arguments
`(#:substitutable? #f `(#:substitutable? #f
#:install-plan '( ;Bluetooth firmware #:install-plan '(;;Bluetooth firmware
("BCM4345C5.hcd" "usr/lib/firmware/brcm/") ("BCM4345C5.hcd" "/lib/firmware/brcm/")
;; WiFi firmware ;; WiFi firmware
("fw_bcm43456c5_ag.bin" "usr/lib/firmware/brcm/") ("fw_bcm43456c5_ag.bin" "/lib/firmware/brcm/")
("fw_bcm43456c5_ag.bin"
"/lib/firmware/brcm/brcmfmac43456-sdio.bin")
("brcmfmac43456-sdio.clm_blob" ("brcmfmac43456-sdio.clm_blob"
"usr/lib/firmware/brcm/") "/lib/firmware/brcm/")
("brcmfmac43456-sdio.AP6256.txt" ("brcmfmac43456-sdio.AP6256.txt"
"usr/lib/firmware/brcm/") "/lib/firmware/brcm/")
("brcmfmac43456-sdio.AP6256.txt" ("brcmfmac43456-sdio.AP6256.txt"
"usr/lib/firmware/brcm/brcmfmac43456-sdio.pine64,pinebook-pro.txt")))) "/lib/firmware/brcm/brcmfmac43456-sdio.pine64,pinebook-pro.txt"))))
(synopsis "Firmware for the wifi/bt module AP6256") (synopsis "Firmware for the wifi/bt module AP6256")
(description (description
"This package provides Firmware for the wifi/bt module AP6256, "This package provides Firmware for the wifi/bt module AP6256,

View File

@ -218,6 +218,15 @@ implementation with gogdl and Amazon Games using Nile.")
("python" ,python) ; Required for KillingFloor2 and Wreckfest. ("python" ,python) ; Required for KillingFloor2 and Wreckfest.
("spdlog" ,spdlog))) ; Required for MangoHud. ("spdlog" ,spdlog))) ; Required for MangoHud.
(define steam-container-libs
(append steam-client-libs
steam-gameruntime-libs
fhs-min-libs))
(define steam-nvidia-container-libs
(modify-inputs steam-container-libs
(replace "mesa" nvda)))
(define heroic-extra-client-libs (define heroic-extra-client-libs
`(("curl" ,curl) ; Required for Heroic to download e.g. Wine. `(("curl" ,curl) ; Required for Heroic to download e.g. Wine.
("which" ,which) ; Heroic complains about trying to use which (though works). ("which" ,which) ; Heroic complains about trying to use which (though works).
@ -225,19 +234,26 @@ implementation with gogdl and Amazon Games using Nile.")
(define steam-ld.so.conf (define steam-ld.so.conf
(packages->ld.so.conf (packages->ld.so.conf
(list (fhs-union `(,@steam-client-libs (list (fhs-union steam-container-libs
,@steam-gameruntime-libs
,@fhs-min-libs)
#:name "fhs-union-64") #:name "fhs-union-64")
(fhs-union `(,@steam-client-libs (fhs-union steam-container-libs
,@steam-gameruntime-libs
,@fhs-min-libs)
#:name "fhs-union-32" #:name "fhs-union-32"
#:system "i686-linux")))) #:system "i686-linux"))))
(define steam-ld.so.cache (define steam-ld.so.cache
(ld.so.conf->ld.so.cache steam-ld.so.conf)) (ld.so.conf->ld.so.cache steam-ld.so.conf))
(define steam-nvidia-ld.so.conf
(packages->ld.so.conf
(list (fhs-union steam-nvidia-container-libs
#:name "fhs-union-64")
(fhs-union steam-nvidia-container-libs
#:name "fhs-union-32"
#:system "i686-linux"))))
(define steam-nvidia-ld.so.cache
(ld.so.conf->ld.so.cache steam-nvidia-ld.so.conf))
(define-public steam-container (define-public steam-container
(nonguix-container (nonguix-container
(name "steam") (name "steam")
@ -246,14 +262,10 @@ implementation with gogdl and Amazon Games using Nile.")
(ld.so.conf steam-ld.so.conf) (ld.so.conf steam-ld.so.conf)
(ld.so.cache steam-ld.so.cache) (ld.so.cache steam-ld.so.cache)
(union64 (union64
(fhs-union `(,@steam-client-libs (fhs-union steam-container-libs
,@steam-gameruntime-libs
,@fhs-min-libs)
#:name "fhs-union-64")) #:name "fhs-union-64"))
(union32 (union32
(fhs-union `(,@steam-client-libs (fhs-union steam-container-libs
,@steam-gameruntime-libs
,@fhs-min-libs)
#:name "fhs-union-32" #:name "fhs-union-32"
#:system "i686-linux")) #:system "i686-linux"))
(link-files '("share")) (link-files '("share"))
@ -268,8 +280,16 @@ all games will be installed.")))
(name "steam-nvidia") (name "steam-nvidia")
;; Steam's .desktop files expect a "steam" executable, so provide that. ;; Steam's .desktop files expect a "steam" executable, so provide that.
(binary-name "steam") (binary-name "steam")
(union64 (replace-mesa (ngc-union64 steam-container))) (ld.so.conf steam-nvidia-ld.so.conf)
(union32 (replace-mesa (ngc-union32 steam-container))))) (ld.so.cache steam-nvidia-ld.so.cache)
(union64
(fhs-union steam-nvidia-container-libs
#:name "fhs-union-64"))
(union32
(fhs-union steam-nvidia-container-libs
#:name "fhs-union-32"
#:system "i686-linux"))
(preserved-env %nvidia-environment-variable-regexps)))
(define-public steam (nonguix-container->package steam-container)) (define-public steam (nonguix-container->package steam-container))
(define-public steam-nvidia (nonguix-container->package steam-nvidia-container)) (define-public steam-nvidia (nonguix-container->package steam-nvidia-container))
@ -289,15 +309,11 @@ all games will be installed.")))
;; this is easier and works. ;; this is easier and works.
(union64 (union64
(fhs-union `(,@heroic-extra-client-libs (fhs-union `(,@heroic-extra-client-libs
,@steam-client-libs ,@steam-container-libs)
,@steam-gameruntime-libs
,@fhs-min-libs)
#:name "fhs-union-64")) #:name "fhs-union-64"))
;; Don't include heroic-client-libs as they are not needed in 32-bit. ;; Don't include heroic-client-libs as they are not needed in 32-bit.
(union32 (union32
(fhs-union `(,@steam-client-libs (fhs-union steam-container-libs
,@steam-gameruntime-libs
,@fhs-min-libs)
#:name "fhs-union-32" #:name "fhs-union-32"
#:system "i686-linux")) #:system "i686-linux"))
(link-files '("share")) (link-files '("share"))
@ -312,8 +328,17 @@ installed.")))
(nonguix-container (nonguix-container
(inherit heroic-container) (inherit heroic-container)
(name "heroic-nvidia") (name "heroic-nvidia")
(union64 (replace-mesa (ngc-union64 heroic-container))) (ld.so.conf steam-nvidia-ld.so.conf)
(union32 (replace-mesa (ngc-union32 heroic-container))))) (ld.so.cache steam-nvidia-ld.so.cache)
(union64
(fhs-union `(,@heroic-extra-client-libs
,@steam-nvidia-container-libs)
#:name "fhs-union-64"))
(union32
(fhs-union steam-nvidia-container-libs
#:name "fhs-union-32"
#:system "i686-linux"))
(preserved-env %nvidia-environment-variable-regexps)))
(define-public heroic (nonguix-container->package heroic-container)) (define-public heroic (nonguix-container->package heroic-container))
(define-public heroic-nvidia (nonguix-container->package heroic-nvidia-container)) (define-public heroic-nvidia (nonguix-container->package heroic-nvidia-container))

View File

@ -132,6 +132,9 @@ some freedo package or an output of package-version procedure."
"The unmodified Linux kernel, including nonfree blobs, for running Guix System "The unmodified Linux kernel, including nonfree blobs, for running Guix System
on hardware which requires nonfree software to function.")))) on hardware which requires nonfree software to function."))))
(define-public linux-6.8
(corrupt-linux linux-libre-6.8))
(define-public linux-6.7 (define-public linux-6.7
(corrupt-linux linux-libre-6.7)) (corrupt-linux linux-libre-6.7))
@ -809,8 +812,8 @@ network adapters.")
(license gpl2)))) (license gpl2))))
(define-public rtl8821ce-linux-module (define-public rtl8821ce-linux-module
(let ((commit "a478095a45d8aa957b45be4f9173c414efcacc6f") (let ((commit "66983b69120a13699acf40a12979317f29012111")
(revision "10")) (revision "11"))
(package (package
(name "rtl8821ce-linux-module") (name "rtl8821ce-linux-module")
(version (git-version "0.0.0" revision commit)) (version (git-version "0.0.0" revision commit))
@ -823,7 +826,7 @@ network adapters.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"00cn87jjrcxjqr3n8jv4w3n64zksmzz05fdr1gdvnbx1ab5739f6")))) "0kj12jll0df1h4z6kzv3vylh22xlniki5kg414fv9sqgx1qgs5k7"))))
(build-system linux-module-build-system) (build-system linux-module-build-system)
(arguments (arguments
(list #:make-flags (list #:make-flags
@ -906,8 +909,8 @@ to disable the conflicting rtw88 driver:
"https://github.com/morrownr/8821cu-20210916/blob/main/LICENSE"))))) "https://github.com/morrownr/8821cu-20210916/blob/main/LICENSE")))))
(define-public rtl8812au-aircrack-ng-linux-module (define-public rtl8812au-aircrack-ng-linux-module
(let ((commit "35308f4dd73e77fa572c48867cce737449dd8548") (let ((commit "a3e0c0b6d54546418f046db0dbf1d20e454c9ec2")
(revision "11")) (revision "12"))
(package (package
(inherit rtl8821ce-linux-module) (inherit rtl8821ce-linux-module)
(name "rtl8812au-aircrack-ng-linux-module") (name "rtl8812au-aircrack-ng-linux-module")
@ -920,7 +923,7 @@ to disable the conflicting rtw88 driver:
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1clqrgmq5fhzybbiapmdbhg5qfx9k21r0hqa9pqmyinaqhvfnhfj")) (base32 "1hwzsy62h7ik5s54paikcj5ips7mrnfacprciiq412mz5ag28cdn"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
#~(begin #~(begin
@ -1188,7 +1191,7 @@ driver:
(define-public intel-microcode (define-public intel-microcode
(package (package
(name "intel-microcode") (name "intel-microcode")
(version "20231114") (version "20240312")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1199,7 +1202,7 @@ driver:
(commit (string-append "microcode-" version)))) (commit (string-append "microcode-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "07c7hkwpvb9056s73s55sg04cxr1d9n1sd9r1g7sm3gh70yc17ki")))) (base32 "1j1krkmp9kxmpq8bbbld8bm3y9rqhmlj5qfm43czikawnpw81571"))))
(build-system copy-build-system) (build-system copy-build-system)
(arguments (arguments
(list #:install-plan (list #:install-plan

View File

@ -1,16 +1,14 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later ;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2022 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2022 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2023 André A. Gomes <andremegafone@gmail.com> ;;; Copyright © 2023, 2024 André A. Gomes <andremegafone@gmail.com>
(define-module (nongnu packages lisp) (define-module (nongnu packages lisp)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages node)
#:use-module (gnu packages lisp) #:use-module (gnu packages lisp)
#:use-module (gnu packages lisp-xyz) #:use-module (gnu packages lisp-xyz)
;; #:use-module (gnu packages lisp-check)
#:use-module (nongnu packages electron) #:use-module (nongnu packages electron)
#:use-module (guix build-system copy) #:use-module (guix build-system copy)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
@ -125,8 +123,8 @@ then open a browser at http://localhost:PORT, where PORT is the indicated port."
"https://franz.com/ftp/pub/legal/ACL-Express-20170301.pdf")))) "https://franz.com/ftp/pub/legal/ACL-Express-20170301.pdf"))))
(define-public sbcl-cl-electron (define-public sbcl-cl-electron
(let ((commit "458a60d8c9baae71906294ffae891c3d0686c672") (let ((commit "f2245dc1450a6ad416984cf932be50e00957390a")
(revision "2")) (revision "3"))
(package (package
(name "sbcl-cl-electron") (name "sbcl-cl-electron")
(version (git-version "0.0.0" revision commit)) (version (git-version "0.0.0" revision commit))
@ -138,13 +136,22 @@ then open a browser at http://localhost:PORT, where PORT is the indicated port."
(commit commit))) (commit commit)))
(file-name (git-file-name "cl-electron" version)) (file-name (git-file-name "cl-electron" version))
(sha256 (sha256
(base32 "1ya6y55kv0g3h19ifnmwbc752p00s9mj1b1n4ljw4n7ycxmdpb24")))) (base32 "0c18xbwwnjaiwzd01dprdrwzp27nwihaf7pmkql1f5yk43x3ajs0"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(native-inputs (list ;; sbcl-lisp-unit2 (inputs (list electron
sbcl))
(inputs (list electron node
sbcl-cl-json sbcl-iolib sbcl-cl-str sbcl-nclasses sbcl-cl-json sbcl-iolib sbcl-cl-str sbcl-nclasses
sbcl-parenscript sbcl-bordeaux-threads)) sbcl-cl-ppcre sbcl-bordeaux-threads sbcl-lparallel
sbcl-parenscript sbcl-spinneret))
(arguments
'(#:tests? #f
#:asd-systems '("cl-electron" "cl-electron/demos")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "source/core.lisp"
(("\"electron\"")
(string-append "\"" (assoc-ref inputs "electron") "/bin/electron\""))))))))
(synopsis "Common Lisp interface to Electron") (synopsis "Common Lisp interface to Electron")
(home-page "https://github.com/atlas-engineer/cl-electron") (home-page "https://github.com/atlas-engineer/cl-electron")
(description "@command{cl-electron} is a binding to Electron for (description "@command{cl-electron} is a binding to Electron for

View File

@ -90,7 +90,7 @@ its core.")
(define-public signal-desktop (define-public signal-desktop
(package (package
(name "signal-desktop") (name "signal-desktop")
(version "6.46.0") (version "7.3.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -99,7 +99,7 @@ its core.")
"https://updates.signal.org/desktop/apt/pool/s/" name "/" name "_" version "https://updates.signal.org/desktop/apt/pool/s/" name "/" name "_" version
"_amd64.deb")) "_amd64.deb"))
(sha256 (sha256
(base32 "1pjv8v1hhycwbvqvih83axv41jkyksq6d9152fqic9d61lbb1kpa")))) (base32 "1gkcfh94l5nj8p3jk7g80jqq11fb8igi4wm84g67a9qi8n56wcrc"))))
(supported-systems '("x86_64-linux")) (supported-systems '("x86_64-linux"))
(build-system chromium-binary-build-system) (build-system chromium-binary-build-system)
(arguments (arguments

View File

@ -97,19 +97,19 @@
;; Update this id with every firefox update to its release date. ;; Update this id with every firefox update to its release date.
;; It's used for cache validation and therefore can lead to strange bugs. ;; It's used for cache validation and therefore can lead to strange bugs.
(define %firefox-esr-build-id "20240219101823") (define %firefox-esr-build-id "20240322120907")
(define-public firefox-esr (define-public firefox-esr
(package (package
(name "firefox-esr") (name "firefox-esr")
(version "115.8.0esr") (version "115.9.1esr")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://archive.mozilla.org/pub/firefox/releases/" (uri (string-append "https://archive.mozilla.org/pub/firefox/releases/"
version "/source/firefox-" version ".source.tar.xz")) version "/source/firefox-" version ".source.tar.xz"))
(sha256 (sha256
(base32 "1slmp2v1q3my81z8kiym9rpxw5d9n4sn07v7hv99517w7vr8d05g")))) (base32 "0agr8s42lpbq5gixsgj5kpcvimbnyx6msr4il4rvmf7gpw47hr93"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
@ -532,27 +532,34 @@ MOZ_ENABLE_WAYLAND=1 exec ~a $@\n"
;; Update this id with every firefox update to its release date. ;; Update this id with every firefox update to its release date.
;; It's used for cache validation and therefore can lead to strange bugs. ;; It's used for cache validation and therefore can lead to strange bugs.
(define %firefox-build-id "20240219104035") (define %firefox-build-id "20240322073900")
(define-public firefox (define-public firefox
(package (package
(inherit firefox-esr) (inherit firefox-esr)
(name "firefox") (name "firefox")
(version "123.0") (version "124.0.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://archive.mozilla.org/pub/firefox/releases/" (uri (string-append "https://archive.mozilla.org/pub/firefox/releases/"
version "/source/firefox-" version ".source.tar.xz")) version "/source/firefox-" version ".source.tar.xz"))
(sha256 (sha256
(base32 "1dscgn1ymqi4zr29fpj43y8gaspc5wl7a59w657ws56vmnymm24y")))) (base32 "0hxqd8sfj9zzi1ifni8z5r2hzhjw2pvl7hg3dgzmgq2mm2p1db6x"))))
(arguments (arguments
(substitute-keyword-arguments (package-arguments firefox-esr) (substitute-keyword-arguments (package-arguments firefox-esr)
((#:phases phases) ((#:phases phases)
#~(modify-phases #$phases #~(modify-phases #$phases
(replace 'set-build-id (replace 'set-build-id
(lambda _ (lambda _
(setenv "MOZ_BUILD_DATE" #$%firefox-build-id))))))) (setenv "MOZ_BUILD_DATE" #$%firefox-build-id)))
(replace 'remove-cargo-frozen-flag
(lambda _
;; Remove --frozen flag from cargo invokation, otherwise it'll
;; complain that it's not able to change Cargo.lock.
;; https://bugzilla.mozilla.org/show_bug.cgi?id=1726373
(substitute* "build/RunCbindgen.py"
(("args.append\\(\"--frozen\"\\)") "pass"))))))))
(native-inputs (native-inputs
(modify-inputs (package-native-inputs firefox-esr) (modify-inputs (package-native-inputs firefox-esr)
(replace "rust" rust-firefox) (replace "rust" rust-firefox)
@ -562,7 +569,7 @@ MOZ_ENABLE_WAYLAND=1 exec ~a $@\n"
"Full-featured browser client built from Firefox source tree, without "Full-featured browser client built from Firefox source tree, without
the official icon and the name \"firefox\"."))) the official icon and the name \"firefox\".")))
;; As of Firefox 121.0, Firefox uses Wayland by default. This means we no longer need a seperate package ;; As of Firefox 121.0, Firefox uses Wayland by default. This means we no
;; for Firefox on Wayland. ;; longer need a seperate package for Firefox on Wayland.
(define-public firefox-wayland (define-public firefox-wayland
(deprecated-package "firefox-wayland" firefox)) (deprecated-package "firefox-wayland" firefox))

View File

@ -58,6 +58,21 @@
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (srfi srfi-1)) #:use-module (srfi srfi-1))
(define-public %nvidia-environment-variable-regexps
'("^__GL_" ; NVIDIA OpenGL settings.
"^__GLX_VENDOR_LIBRARY_NAME$" ; For GLVND.
;; NVIDIA PRIME Render Offload.
"^__NV_PRIME_RENDER_OFFLOAD(_PROVIDER)?$"
"^__VK_LAYER_NV_optimus$"
;; NVIDIA NGX.
"^__NGX_CONF_FILE$"
"^__NV_SIGNED_LOAD_CHECK$"
"^PROTON_ENABLE_NGX_UPDATER$"
;; NVIDIA VDPAU settings.
"^VDPAU_NVIDIA_"
;; GSYNC control for Vulkan direct-to-display applications.
"^VKDirectGSYNC(Compatible)?Allowed$"))
(define nvidia-version "515.76") (define nvidia-version "515.76")
(define computed-origin-method (define computed-origin-method

View File

@ -24,17 +24,17 @@
(define-public anytype (define-public anytype
(package (package
(name "anytype") (name "anytype")
(version "0.38") (version "0.39.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (uri
(string-append "https://download.anytype.io?action=download" (string-append "https://anytype-release.fra1.cdn.digitaloceanspaces.com/"
"&key=desktop&id=148487107")) name "_" version "_amd64.deb"))
(file-name (string-append "anytype-" version ".deb")) (file-name (string-append "anytype-" version ".deb"))
(sha256 (sha256
(base32 (base32
"1xc57ppk3l16mq2a53scf79m8hx43x21kac96ws66awlkz14swc7")))) "10y037qwm6k28min2sgpshrlpirc1p0zn3b4syxrrz494x5g2ivi"))))
(build-system chromium-binary-build-system) (build-system chromium-binary-build-system)
(arguments (arguments
(list (list
@ -52,6 +52,7 @@
"libGLESv2.so" "libGLESv2.so"
"libvk_swiftshader.so" "libvk_swiftshader.so"
"libvulkan.so.1" "libvulkan.so.1"
"resources/app.asar.unpacked/dist/nativeMessagingHost"
"resources/app.asar.unpacked/node_modules/keytar/build/Release/keytar.node")) "resources/app.asar.unpacked/node_modules/keytar/build/Release/keytar.node"))
#:install-plan #:install-plan
#~'(("opt/" "/share") #~'(("opt/" "/share")

View File

@ -260,8 +260,9 @@ in a sandboxed FHS environment."
(home (getenv "HOME")) (home (getenv "HOME"))
(sandbox-home (or (getenv "GUIX_SANDBOX_HOME") (sandbox-home (or (getenv "GUIX_SANDBOX_HOME")
(string-append home "/" #$(ngc-sandbox-home container)))) (string-append home "/" #$(ngc-sandbox-home container))))
(wayland-display (or (getenv "WAYLAND_DISPLAY")
"wayland-0"))
(preserved-env '("^DBUS_" (preserved-env '("^DBUS_"
"^DISPLAY$"
"^DRI_PRIME$" "^DRI_PRIME$"
"^GDK_SCALE$" ; For UI scaling. "^GDK_SCALE$" ; For UI scaling.
"^GUIX_LOCPATH$" ; For pressure-vessel locales. "^GUIX_LOCPATH$" ; For pressure-vessel locales.
@ -276,6 +277,7 @@ in a sandboxed FHS environment."
;; need to be shared with the container as ;; need to be shared with the container as
;; well; this is not needed currently. ;; well; this is not needed currently.
"^LD_LIBRARY_PATH$" "^LD_LIBRARY_PATH$"
"^LIBVA_DRIVERS_PATH$" ; For VA-API drivers.
"^MANGOHUD" ; For MangoHud configuration. "^MANGOHUD" ; For MangoHud configuration.
"^PRESSURE_VESSEL_" ; For pressure vessel options. "^PRESSURE_VESSEL_" ; For pressure vessel options.
"_PROXY$" "_PROXY$"
@ -289,12 +291,15 @@ in a sandboxed FHS environment."
"^SDL_" "^SDL_"
"^STEAM_" "^STEAM_"
"^SSL_" ; SSL certificate environment, needed by curl for Heroic. "^SSL_" ; SSL certificate environment, needed by curl for Heroic.
"^VDPAU_DRIVER_PATH$" ; For VDPAU drivers. "^TZ" ; For setting time zone.
"^XAUTHORITY$" "^XAUTHORITY$"
;; Matching all ^XDG_ vars causes issues ;; Matching all ^XDG_ vars causes issues
;; discussed in 80decf05. ;; discussed in 80decf05.
"^XDG_CURRENT_DESKTOP$"
"^XDG_DATA_HOME$" "^XDG_DATA_HOME$"
"^XDG_RUNTIME_DIR$" "^XDG_RUNTIME_DIR$"
"^XDG_SESSION_(CLASS|TYPE)$"
"^(WAYLAND_)?DISPLAY$"
#$@(ngc-preserved-env container) ; Environment from container. #$@(ngc-preserved-env container) ; Environment from container.
;; The following are useful for debugging. ;; The following are useful for debugging.
"^CAPSULE_DEBUG$" "^CAPSULE_DEBUG$"
@ -310,6 +315,7 @@ in a sandboxed FHS environment."
,@(exists-> "/dev/nvidia-modeset") ,@(exists-> "/dev/nvidia-modeset")
,@(exists-> "/etc/machine-id") ,@(exists-> "/etc/machine-id")
"/etc/localtime" ; Needed for correct time zone. "/etc/localtime" ; Needed for correct time zone.
"/etc/os-release" ; Needed for distro info.
"/sys/class/drm" ; Needed for hw monitoring like MangoHud. "/sys/class/drm" ; Needed for hw monitoring like MangoHud.
"/sys/class/hwmon" ; Needed for hw monitoring like MangoHud. "/sys/class/hwmon" ; Needed for hw monitoring like MangoHud.
"/sys/class/hidraw" ; Needed for devices like the Valve Index. "/sys/class/hidraw" ; Needed for devices like the Valve Index.
@ -333,6 +339,7 @@ in a sandboxed FHS environment."
,@(exists-> (string-append home "/.config/pulse")) ,@(exists-> (string-append home "/.config/pulse"))
,@(exists-> (string-append xdg-runtime "/pulse")) ,@(exists-> (string-append xdg-runtime "/pulse"))
,@(exists-> (string-append xdg-runtime "/bus")) ,@(exists-> (string-append xdg-runtime "/bus"))
,@(exists-> (string-append xdg-runtime "/" wayland-display))
,@(exists-> (getenv "XAUTHORITY")) ,@(exists-> (getenv "XAUTHORITY"))
#$@(ngc-shared container))) #$@(ngc-shared container)))
(DEBUG (equal? (getenv "DEBUG") "1")) (DEBUG (equal? (getenv "DEBUG") "1"))
@ -347,10 +354,10 @@ in a sandboxed FHS environment."
;; the "usual" path, probably so they are included in the ;; the "usual" path, probably so they are included in the
;; pressure-vessel container. ;; pressure-vessel container.
(setenv "GUIX_LOCPATH" "/usr/lib/locale") (setenv "GUIX_LOCPATH" "/usr/lib/locale")
;; By default VDPAU drivers are searched for in libvdpau's store ;; By default VA-API drivers are searched for in mesa's store path,
;; path, so set this path to where the drivers will actually be ;; so set this path to where the drivers will actually be located in
;; located in the container. ;; the container.
(setenv "VDPAU_DRIVER_PATH" "/lib64/vdpau") (setenv "LIBVA_DRIVERS_PATH" "/lib64/dri:/lib/dri")
(format #t "\n* Launching ~a in sandbox: ~a.\n\n" (format #t "\n* Launching ~a in sandbox: ~a.\n\n"
#$(package-name (ngc-wrap-package container)) sandbox-home) #$(package-name (ngc-wrap-package container)) sandbox-home)
(when DEBUG (when DEBUG
@ -455,7 +462,9 @@ application."
`((guix build utils)) `((guix build utils))
#~(begin #~(begin
(use-modules (guix build utils) (use-modules (guix build utils)
(ice-9 getopt-long)) (ice-9 getopt-long)
(srfi srfi-1)
(srfi srfi-26))
(define (path->str path) (define (path->str path)
(if (list? path) (if (list? path)
(string-join path "/") (string-join path "/")
@ -465,9 +474,13 @@ application."
(dest (path->str (cdr pair)))) (dest (path->str (cdr pair))))
(unless (file-exists? dest) (unless (file-exists? dest)
(symlink target dest)))) (symlink target dest))))
(define (icd-symlink file) (define (file-symlink file dir)
(mkdir-p dir)
(new-symlink (new-symlink
`(,file . ("/usr/share/vulkan/icd.d" ,(basename file))))) `(,file . (,dir ,(basename file)))))
;; Use stat to follow links from packages like MangoHud.
(define (get-files dir)
(find-files (path->str dir) #:stat stat))
(define fhs-option-spec (define fhs-option-spec
'((asound32 (value #f)))) '((asound32 (value #f))))
(let* ((guix-env (getenv "GUIX_ENVIRONMENT")) (let* ((guix-env (getenv "GUIX_ENVIRONMENT"))
@ -488,14 +501,11 @@ application."
"/run/current-system/profile/share" "/run/current-system/profile/share"
"/sbin" "/sbin"
"/usr/lib" "/usr/lib"
"/usr/share/vulkan/icd.d")) "/usr/share"))
(for-each (for-each
new-symlink new-symlink
`((,ld.so.cache . "/etc/ld.so.cache") `((,ld.so.cache . "/etc/ld.so.cache")
(,ld.so.conf . "/etc/ld.so.conf") ;; needed? (,ld.so.conf . "/etc/ld.so.conf") ;; needed?
;; For MangoHud implicit layers.
((,guix-env "share/vulkan/implicit_layer.d") .
"/usr/share/vulkan/implicit_layer.d")
((,guix-env "etc/ssl") . "/etc/ssl") ((,guix-env "etc/ssl") . "/etc/ssl")
((,guix-env "etc/ssl") . "/run/current-system/profile/etc/ssl") ((,guix-env "etc/ssl") . "/run/current-system/profile/etc/ssl")
((,union32 "lib") . "/lib") ((,union32 "lib") . "/lib")
@ -512,17 +522,41 @@ application."
((,union64 "share/mime") . "/usr/share/mime") ; Steam tray icon. ((,union64 "share/mime") . "/usr/share/mime") ; Steam tray icon.
((,union64 "share/glib-2.0") . "/usr/share/glib-2.0") ; Heroic interface. ((,union64 "share/glib-2.0") . "/usr/share/glib-2.0") ; Heroic interface.
((,union64 "share/drirc.d") . "/usr/share/drirc.d") ((,union64 "share/drirc.d") . "/usr/share/drirc.d")
((,union64 "share/fonts") . "/usr/share/fonts")
((,union64 "share/fonts") . "/run/current-system/profile/share/fonts") ((,union64 "share/fonts") . "/run/current-system/profile/share/fonts")
((,union64 "etc/fonts") . "/etc/fonts") ((,union64 "etc/fonts") . "/etc/fonts")))
((,union64 "share/vulkan/explicit_layer.d") .
"/usr/share/vulkan/explicit_layer.d")))
(for-each (for-each
icd-symlink (cut file-symlink <> "/usr/share/egl/egl_external_platform.d")
;; Use stat to follow links from packages like MangoHud. (append-map
`(,@(find-files (string-append union32 "/share/vulkan/icd.d") get-files
#:directories? #t #:stat stat) `((,union32 "share/egl/egl_external_platform.d")
,@(find-files (string-append union64 "/share/vulkan/icd.d") (,union64 "share/egl/egl_external_platform.d"))))
#:directories? #t #:stat stat))) (for-each
(cut file-symlink <> "/usr/share/glvnd/egl_vendor.d")
(append-map
get-files
`((,union32 "share/glvnd/egl_vendor.d")
(,union64 "share/glvnd/egl_vendor.d"))))
(for-each
(cut file-symlink <> "/usr/share/vulkan/icd.d")
(append-map
get-files
`((,union32 "share/vulkan/icd.d")
(,union64 "share/vulkan/icd.d"))))
(for-each
(cut file-symlink <> "/usr/share/vulkan/explicit_layer.d")
(append-map
get-files
`((,union64 "share/vulkan/explicit_layer.d")
(,union32 "share/vulkan/explicit_layer.d"))))
(for-each
(cut file-symlink <> "/usr/share/vulkan/implicit_layer.d")
(append-map
get-files
`((,union32 "share/vulkan/implicit_layer.d")
(,union64 "share/vulkan/implicit_layer.d")
;; For MangoHud implicit layers.
(,guix-env "share/vulkan/implicit_layer.d"))))
;; TODO: This is not the right place for this. ;; TODO: This is not the right place for this.
;; Newer versions of Steam won't startup if they can't copy to here ;; Newer versions of Steam won't startup if they can't copy to here
;; (previous would output this error but continue). ;; (previous would output this error but continue).
@ -537,7 +571,7 @@ application."
;; games). Wait to set this inside the container to not cause ;; games). Wait to set this inside the container to not cause
;; issues on foreign distros, see ;; issues on foreign distros, see
;; <https://gitlab.com/nonguix/nonguix/-/issues/303> ;; <https://gitlab.com/nonguix/nonguix/-/issues/303>
(setenv "LD_LIBRARY_PATH" "/lib64:/lib") (setenv "LD_LIBRARY_PATH" "/lib64:/lib:/lib64/vdpau:/lib/vdpau")
;; Process FHS-specific command line options. ;; Process FHS-specific command line options.
(let* ((options (getopt-long (or fhs-args '("")) fhs-option-spec)) (let* ((options (getopt-long (or fhs-args '("")) fhs-option-spec))