Merge branch nonguix:master into qby-master-patch-anonsurf-parrot
This commit is contained in:
commit
12a3f2f1bf
|
@ -1,4 +1,5 @@
|
||||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz>
|
||||||
;; Per-directory local variables for GNU Emacs 23 and later.
|
;; Per-directory local variables for GNU Emacs 23 and later.
|
||||||
|
|
||||||
((nil
|
((nil
|
||||||
|
@ -9,7 +10,9 @@
|
||||||
;; For use with 'bug-reference-prog-mode'.
|
;; For use with 'bug-reference-prog-mode'.
|
||||||
(bug-reference-url-format . "https://gitlab.com/nonguix/nonguix/issues/%s")
|
(bug-reference-url-format . "https://gitlab.com/nonguix/nonguix/issues/%s")
|
||||||
(bug-reference-bug-regexp
|
(bug-reference-bug-regexp
|
||||||
. "\\(#\\([0-9]+\\)\\)")))
|
. "\\(#\\([0-9]+\\)\\)")
|
||||||
|
|
||||||
|
(geiser-insert-actual-lambda . nil)))
|
||||||
(c-mode . ((c-file-style . "gnu")))
|
(c-mode . ((c-file-style . "gnu")))
|
||||||
(scheme-mode
|
(scheme-mode
|
||||||
.
|
.
|
||||||
|
|
28
news.txt
28
news.txt
|
@ -9,6 +9,34 @@
|
||||||
(channel-news
|
(channel-news
|
||||||
(version 0)
|
(version 0)
|
||||||
|
|
||||||
|
(entry (commit "8078757b887a7691644b119913c3f7b41661775d")
|
||||||
|
(title
|
||||||
|
(en "New @code{GUIX_SANDBOX_EXTRA_SHARES} variable for nonguix containers (Steam)"))
|
||||||
|
(body
|
||||||
|
(en "The nonguix container has a new environment variable
|
||||||
|
@code{GUIX_SANDBOX_EXTRA_SHARES} which is a @code{:} delimited list of
|
||||||
|
directories to share with the container. These directories will be available
|
||||||
|
at the same path as the host. For instance, you can set this to another drive
|
||||||
|
you want to have a Steam library in by either setting this variable in your
|
||||||
|
environment or launching Steam with:
|
||||||
|
|
||||||
|
@example
|
||||||
|
GUIX_SANDBOX_EXTRA_SHARES=/some/other/drive steam
|
||||||
|
@end example
|
||||||
|
|
||||||
|
This should allow you to select @code{/some/other/drive} in Steam for a game
|
||||||
|
library. This is an experimental feature and just provides a basic way to add
|
||||||
|
shares to the container, so please test and report any difficulties or
|
||||||
|
suggestions to improve.")))
|
||||||
|
|
||||||
|
(entry (commit "1591c3d1d10b2884da29ab7d1252304f2ce1514b")
|
||||||
|
(title
|
||||||
|
(en "(nongnu packages steam-client) module renamed"))
|
||||||
|
(body
|
||||||
|
(en "The (nongnu packages steam-client) module has been renamed to (nongnu packages
|
||||||
|
game-client). This is to better reflect the contents with the addition of the
|
||||||
|
Heroic client in a following commit.")))
|
||||||
|
|
||||||
(entry (commit "9456c59cfa580399ab450ca0057321e2d81f3319")
|
(entry (commit "9456c59cfa580399ab450ca0057321e2d81f3319")
|
||||||
(title
|
(title
|
||||||
(en "Linux LTS kernel updated to 6.1")
|
(en "Linux LTS kernel updated to 6.1")
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
#:use-module (gnu packages pciutils)
|
#:use-module (gnu packages pciutils)
|
||||||
#:use-module (gnu packages photo)
|
#:use-module (gnu packages photo)
|
||||||
|
#:use-module (gnu packages qt)
|
||||||
#:use-module (gnu packages video)
|
#:use-module (gnu packages video)
|
||||||
#:use-module (gnu packages wget)
|
#:use-module (gnu packages wget)
|
||||||
#:use-module (gnu packages xiph)
|
#:use-module (gnu packages xiph)
|
||||||
|
@ -55,24 +56,19 @@
|
||||||
'("chrome"
|
'("chrome"
|
||||||
"chrome-sandbox"
|
"chrome-sandbox"
|
||||||
"chrome_crashpad_handler"
|
"chrome_crashpad_handler"
|
||||||
"nacl_helper"
|
|
||||||
"libEGL.so"
|
"libEGL.so"
|
||||||
"libGLESv2.so")))
|
"libGLESv2.so"
|
||||||
|
"liboptimization_guide_internal.so"
|
||||||
|
"libqt5_shim.so"
|
||||||
|
"libqt6_shim.so"
|
||||||
|
"libvk_swiftshader.so"
|
||||||
|
"libvulkan.so.1"
|
||||||
|
"WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so")))
|
||||||
#:install-plan
|
#:install-plan
|
||||||
#~'(("opt/" "/share")
|
#~'(("opt/" "/share")
|
||||||
("usr/share/" "/share"))
|
("usr/share/" "/share"))
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'unpack-deb
|
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
|
||||||
(invoke "ar" "x" #$source)
|
|
||||||
(invoke "rm" "-v" "control.tar.xz"
|
|
||||||
"debian-binary"
|
|
||||||
(string-append "google-chrome-" #$repo "_"
|
|
||||||
#$version
|
|
||||||
"-1_amd64.deb"))
|
|
||||||
(invoke "tar" "xf" "data.tar.xz")
|
|
||||||
(invoke "rm" "-vrf" "data.tar.xz" "etc")))
|
|
||||||
(add-before 'install 'patch-assets
|
(add-before 'install 'patch-assets
|
||||||
;; Many thanks to
|
;; Many thanks to
|
||||||
;; https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/browsers/google-chrome/default.nix
|
;; https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/browsers/google-chrome/default.nix
|
||||||
|
@ -119,7 +115,6 @@
|
||||||
(symlink chrome-target exe)
|
(symlink chrome-target exe)
|
||||||
(wrap-program exe
|
(wrap-program exe
|
||||||
'("CHROME_WRAPPER" = (#$appname)))))))))
|
'("CHROME_WRAPPER" = (#$appname)))))))))
|
||||||
(native-inputs (list tar))
|
|
||||||
(inputs
|
(inputs
|
||||||
(list bzip2
|
(list bzip2
|
||||||
curl
|
curl
|
||||||
|
@ -135,6 +130,8 @@
|
||||||
opus
|
opus
|
||||||
pciutils
|
pciutils
|
||||||
pipewire
|
pipewire
|
||||||
|
qtbase-5
|
||||||
|
qtbase
|
||||||
snappy
|
snappy
|
||||||
util-linux
|
util-linux
|
||||||
xdg-utils
|
xdg-utils
|
||||||
|
@ -146,10 +143,10 @@
|
||||||
(license (nonfree "https://www.google.com/intl/en/chrome/terms/")))))
|
(license (nonfree "https://www.google.com/intl/en/chrome/terms/")))))
|
||||||
|
|
||||||
(define-public google-chrome-stable
|
(define-public google-chrome-stable
|
||||||
(make-google-chrome "stable" "118.0.5993.70" "1bq170l0g9yq17x6xlg6fjar6gv3hdi0zijwmx4s02pmw6727484"))
|
(make-google-chrome "stable" "121.0.6167.139" "1b08wqflp1j5yqpw2g9z2s239gs8bzqbxigcxk93aqwf5c21ijkh"))
|
||||||
|
|
||||||
(define-public google-chrome-beta
|
(define-public google-chrome-beta
|
||||||
(make-google-chrome "beta" "117.0.5938.22" "11w1di146mjb9ql30df9yk9x4b9amc6514jzyfbf09mqsrw88dvr"))
|
(make-google-chrome "beta" "122.0.6261.6" "1b12bjcg99f6bjfhm311hdx9s1a4i13mcgxbvf1gpzq8989c1g96"))
|
||||||
|
|
||||||
(define-public google-chrome-unstable
|
(define-public google-chrome-unstable
|
||||||
(make-google-chrome "unstable" "119.0.6034.6" "156rsklyi1z014pyximwyjsnc2rhdky1kck9g63738vnhcv398b0"))
|
(make-google-chrome "unstable" "123.0.6262.5" "04mf9nysdn77371fxa3z0wbvy2k09vw49s3lrcynlwgiwrz89a3m"))
|
||||||
|
|
|
@ -26,15 +26,15 @@
|
||||||
#:use-module (srfi srfi-1))
|
#:use-module (srfi srfi-1))
|
||||||
|
|
||||||
(define-public chromium-embedded-framework
|
(define-public chromium-embedded-framework
|
||||||
(let ((git-revision "d0bbcbb")
|
(let ((git-revision "5053a95")
|
||||||
(chromium-version "103.0.5060.114")
|
(chromium-version "117.0.5938.150")
|
||||||
(arch (match (or (%current-target-system) (%current-system))
|
(arch (match (or (%current-target-system) (%current-system))
|
||||||
("aarch64-linux" "linuxarm64")
|
("aarch64-linux" "linuxarm64")
|
||||||
("armhf-linux" "linuxarm")
|
("armhf-linux" "linuxarm")
|
||||||
(_ "linux64"))))
|
(_ "linux64"))))
|
||||||
(package
|
(package
|
||||||
(name "chromium-embedded-framework")
|
(name "chromium-embedded-framework")
|
||||||
(version "103.0.9")
|
(version "117.2.4")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
|
@ -45,7 +45,7 @@
|
||||||
"_" arch "_minimal.tar.bz2"))
|
"_" arch "_minimal.tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"143x0jmasl4z16bkxlrbz874chd9x9xpc5qylb9h7j80gfcrzlsi"))))
|
"0vzzwq1k6bv9d209yg3samvfnfwj7s58y9r3p3pd98wxa9iyzf4j"))))
|
||||||
(build-system binary-build-system)
|
(build-system binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:patchelf-plan
|
`(#:patchelf-plan
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||||
;;; Copyright © 2020 Jelle Licht <jlicht@fsfe.org>
|
;;; Copyright © 2020 Jelle Licht <jlicht@fsfe.org>
|
||||||
;;; Copyright © 2020 Alex Griffin <a@ajgrf.com>
|
;;; Copyright © 2020 Alex Griffin <a@ajgrf.com>
|
||||||
|
;;; Copyright © 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||||
|
|
||||||
(define-module (nongnu packages clojure)
|
(define-module (nongnu packages clojure)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
|
@ -11,6 +12,7 @@
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix build-system trivial)
|
#:use-module (guix build-system trivial)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
|
#:use-module (guix gexp)
|
||||||
#:use-module (guix git-download)
|
#:use-module (guix git-download)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (nonguix build-system binary)
|
#:use-module (nonguix build-system binary)
|
||||||
|
@ -85,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.01.20")
|
(version "2023.10.20")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch/zipbomb)
|
(method url-fetch/zipbomb)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
|
@ -93,23 +95,20 @@ lets you focus on your code.")
|
||||||
version "/clj-kondo-" version "-linux-amd64.zip"))
|
version "/clj-kondo-" version "-linux-amd64.zip"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0i91qaqjnrg7ad0rs1r4rjwi77pr16dhck9bflb4kiyggcbs4dds"))))
|
"1zb4bkmhv5mh18z8h82qa1a0m95pd5dwdxg31pqgs6lnlca3vsph"))))
|
||||||
(build-system binary-build-system)
|
(build-system binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:patchelf-plan
|
(list #:patchelf-plan `'(("clj-kondo" ("gcc" "zlib")))
|
||||||
'(("clj-kondo" ("gcc:lib" "zlib")))
|
#:install-plan `'(("clj-kondo" "/bin/"))
|
||||||
#:install-plan
|
#:phases #~(modify-phases %standard-phases
|
||||||
'(("clj-kondo" "/bin/"))
|
(add-after 'unpack 'chmod
|
||||||
#:phases
|
(lambda _
|
||||||
(modify-phases %standard-phases
|
(chmod "clj-kondo" #o755))))))
|
||||||
(add-after 'unpack 'chmod
|
|
||||||
(lambda _
|
|
||||||
(chmod "clj-kondo" #o755))))))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("unzip" ,unzip)))
|
(list unzip))
|
||||||
(inputs
|
(inputs
|
||||||
`(("gcc:lib" ,gcc "lib")
|
(list `(,gcc "lib")
|
||||||
("zlib" ,zlib)))
|
zlib))
|
||||||
(supported-systems '("x86_64-linux"))
|
(supported-systems '("x86_64-linux"))
|
||||||
(home-page "https://github.com/clj-kondo/clj-kondo")
|
(home-page "https://github.com/clj-kondo/clj-kondo")
|
||||||
(synopsis "Linter for Clojure code")
|
(synopsis "Linter for Clojure code")
|
||||||
|
|
|
@ -8,21 +8,26 @@
|
||||||
#:use-module (guix gexp)
|
#:use-module (guix gexp)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module ((guix licenses) :prefix license:)
|
#:use-module ((guix licenses) :prefix license:)
|
||||||
#:use-module (nonguix build-system chromium-binary))
|
#:use-module (nonguix build-system chromium-binary)
|
||||||
|
#:use-module (ice-9 match))
|
||||||
|
|
||||||
(define-public vscodium
|
(define-public vscodium
|
||||||
(package
|
(package
|
||||||
(name "vscodium")
|
(name "vscodium")
|
||||||
(version "1.81.1.23222")
|
(version "1.87.0.24060")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri
|
(uri
|
||||||
(string-append
|
(let ((arch (match (or (%current-target-system) (%current-system))
|
||||||
"https://github.com/VSCodium/vscodium/releases/download/" version
|
("aarch64-linux" "arm64")
|
||||||
"/VSCodium-linux-x64-" version ".tar.gz"))
|
("armhf-linux" "armhf")
|
||||||
|
(_ "x64"))))
|
||||||
|
(string-append
|
||||||
|
"https://github.com/VSCodium/vscodium/releases/download/" version
|
||||||
|
"/VSCodium-linux-" arch "-" version ".tar.gz")))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0wx53ajjwil82s3nl6wvpdf01mh33yqasf1ia54s1rfzz10fa1m6"))))
|
(base32 "1lw7j8h0i96mg8si8dmi55ldbz5j63zb93qf1g59siavx84f1zpd"))))
|
||||||
(build-system chromium-binary-build-system)
|
(build-system chromium-binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||||
|
@ -80,6 +85,7 @@
|
||||||
(,(string-join
|
(,(string-join
|
||||||
(list (string-append #$output "/opt/vscodium"))
|
(list (string-append #$output "/opt/vscodium"))
|
||||||
":")))))))))
|
":")))))))))
|
||||||
|
(supported-systems '("armhf-linux" "aarch64-linux" "x86_64-linux"))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list tar))
|
(list tar))
|
||||||
(inputs
|
(inputs
|
||||||
|
|
|
@ -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,23 +15,27 @@
|
||||||
#: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)
|
||||||
|
(origin
|
||||||
|
(method url-fetch/zipbomb)
|
||||||
|
(uri
|
||||||
|
(string-append
|
||||||
|
"https://github.com/electron/electron/releases/download/v"
|
||||||
|
version "/electron-v" version "-"
|
||||||
|
(match (or (%current-system) (%current-target-system))
|
||||||
|
("x86_64-linux" "linux-x64")
|
||||||
|
("i686-linux" "linux-ia32")
|
||||||
|
("aarch64-linux" "linux-arm64")
|
||||||
|
("armhf-linux" "linux-armv7l"))
|
||||||
|
".zip"))
|
||||||
|
(sha256 (base32 hash))))
|
||||||
|
|
||||||
|
(define-public electron-27
|
||||||
(package
|
(package
|
||||||
(name "electron")
|
(name "electron")
|
||||||
(version "27.1.0")
|
(version "27.3.6")
|
||||||
(source (origin
|
(source (electron-source version
|
||||||
(method url-fetch/zipbomb)
|
"12hjn1bfk8c25f54kk561mkjl7hsk8b16rj7a7gczswjdpx6fpi0"))
|
||||||
(uri
|
|
||||||
(string-append
|
|
||||||
"https://github.com/electron/electron/releases/download/v"
|
|
||||||
version "/electron-v" version "-"
|
|
||||||
(match (or (%current-system) (%current-target-system))
|
|
||||||
("x86_64-linux" "linux-x64")
|
|
||||||
("i686-linux" "linux-ia32")
|
|
||||||
("aarch64-linux" "linux-arm64")
|
|
||||||
("armhf-linux" "linux-armv7l"))
|
|
||||||
".zip"))
|
|
||||||
(sha256 (base32 "08illknzcikzzsb6i7z1p2xgb20jjc5cx9hynll25f44q9pg48b6"))))
|
|
||||||
(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"))))
|
||||||
|
|
|
@ -35,28 +35,22 @@
|
||||||
#~'("lib/LycheeSlicer/lycheeslicer")
|
#~'("lib/LycheeSlicer/lycheeslicer")
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(replace 'unpack
|
(add-after 'binary-unpack 'setup-cwd
|
||||||
(lambda _
|
(lambda _
|
||||||
(invoke "ar" "x" #$source)
|
|
||||||
(invoke "tar" "xvf" "data.tar.xz")
|
|
||||||
;; Use the more standard lib directory for everything.
|
;; Use the more standard lib directory for everything.
|
||||||
(rename-file "opt/" "lib")
|
(rename-file "opt/" "lib")
|
||||||
(mkdir-p "share")
|
(mkdir-p "share")
|
||||||
(copy-recursively "usr/share" "share")
|
(copy-recursively "usr/share" "share")
|
||||||
;; Remove unneeded files.
|
;; Remove unneeded files.
|
||||||
(delete-file-recursively "usr")
|
(delete-file-recursively "usr")))
|
||||||
(delete-file "control.tar.gz")
|
(add-after 'setup-cwd 'fix-desktop-file
|
||||||
(delete-file "data.tar.xz")
|
|
||||||
(delete-file "debian-binary")))
|
|
||||||
(add-after 'unpack 'fix-desktop-file
|
|
||||||
(lambda _
|
(lambda _
|
||||||
;; Fix the .desktop file binary location.
|
;; Fix the .desktop file binary location.
|
||||||
(substitute* '("share/applications/lycheeslicer.desktop")
|
(substitute* '("share/applications/lycheeslicer.desktop")
|
||||||
(("/opt/LycheeSlicer")
|
(("/opt/LycheeSlicer")
|
||||||
(string-append #$output "/lib/LycheeSlicer")))))
|
(string-append #$output "/lib/LycheeSlicer")))))
|
||||||
(add-before 'install-wrapper 'symlink-binary-file-and-cleanup
|
(add-before 'install-wrapper 'symlink-binary-file
|
||||||
(lambda _
|
(lambda _
|
||||||
(delete-file (string-append #$output "/environment-variables"))
|
|
||||||
(mkdir-p (string-append #$output "/bin"))
|
(mkdir-p (string-append #$output "/bin"))
|
||||||
(symlink (string-append #$output "/lib/LycheeSlicer/lycheeslicer")
|
(symlink (string-append #$output "/lib/LycheeSlicer/lycheeslicer")
|
||||||
(string-append #$output "/bin/lycheeslicer"))))
|
(string-append #$output "/bin/lycheeslicer"))))
|
||||||
|
@ -68,7 +62,6 @@
|
||||||
(list
|
(list
|
||||||
(string-append #$output "/lib/LycheeSlicer"))
|
(string-append #$output "/lib/LycheeSlicer"))
|
||||||
":")))))))))
|
":")))))))))
|
||||||
(native-inputs (list tar))
|
|
||||||
(inputs
|
(inputs
|
||||||
(list libxscrnsaver))
|
(list libxscrnsaver))
|
||||||
(home-page "https://mango3d.io")
|
(home-page "https://mango3d.io")
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -4,16 +4,18 @@
|
||||||
;;; Copyright © 2021 pineapples
|
;;; Copyright © 2021 pineapples
|
||||||
;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me>
|
;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me>
|
||||||
;;; Copyright © 2021 Kozo <kozodev@runbox.com>
|
;;; Copyright © 2021 Kozo <kozodev@runbox.com>
|
||||||
;;; Copyright © 2021, 2022 John Kehayias <john.kehayias@protonmail.com>
|
;;; Copyright © 2021, 2022, 2023, 2024 John Kehayias <john.kehayias@protonmail.com>
|
||||||
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||||
;;; Copyright © 2023 Elijah Malaby
|
;;; Copyright © 2023 Elijah Malaby
|
||||||
|
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
|
||||||
|
|
||||||
(define-module (nongnu packages steam-client)
|
(define-module (nongnu packages game-client)
|
||||||
#:use-module ((guix licenses) #:prefix license:)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
#:use-module ((nonguix licenses) #:prefix license:)
|
#:use-module ((nonguix licenses) #:prefix license:)
|
||||||
#:use-module (guix git-download)
|
#:use-module (guix git-download)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
|
#:use-module (guix gexp)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix build-system python)
|
#:use-module (guix build-system python)
|
||||||
#:use-module (gnu packages audio)
|
#:use-module (gnu packages audio)
|
||||||
|
@ -21,6 +23,7 @@
|
||||||
#:use-module (gnu packages bash)
|
#:use-module (gnu packages bash)
|
||||||
#:use-module (gnu packages certs)
|
#:use-module (gnu packages certs)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
|
#:use-module (gnu packages curl)
|
||||||
#:use-module (gnu packages elf)
|
#:use-module (gnu packages elf)
|
||||||
#:use-module (gnu packages file)
|
#:use-module (gnu packages file)
|
||||||
#:use-module (gnu packages fonts)
|
#:use-module (gnu packages fonts)
|
||||||
|
@ -48,13 +51,72 @@
|
||||||
#:use-module (gnu packages toolkits)
|
#:use-module (gnu packages toolkits)
|
||||||
#:use-module (gnu packages video)
|
#:use-module (gnu packages video)
|
||||||
#:use-module (gnu packages xorg)
|
#:use-module (gnu packages xorg)
|
||||||
|
#:use-module (nonguix build-system chromium-binary)
|
||||||
#:use-module (nonguix multiarch-container)
|
#:use-module (nonguix multiarch-container)
|
||||||
#:use-module (nonguix utils))
|
#:use-module (nonguix utils))
|
||||||
|
|
||||||
|
(define heroic-client
|
||||||
|
(package
|
||||||
|
(name "heroic-client")
|
||||||
|
(version "2.12.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "https://github.com/Heroic-Games-Launcher/"
|
||||||
|
"HeroicGamesLauncher/releases/download/v"
|
||||||
|
version "/heroic_" version "_amd64.deb"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0ikb9r72n7xknns81mibipfwqh0r9hqnm5a3k4xsk8my1gajc60c"))))
|
||||||
|
(build-system chromium-binary-build-system)
|
||||||
|
(arguments
|
||||||
|
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
|
||||||
|
#:wrapper-plan
|
||||||
|
#~'("lib/Heroic/heroic"
|
||||||
|
"lib/Heroic/libEGL.so"
|
||||||
|
"lib/Heroic/libGLESv2.so"
|
||||||
|
"lib/Heroic/libvk_swiftshader.so"
|
||||||
|
"lib/Heroic/libvulkan.so.1"
|
||||||
|
"lib/Heroic/chrome-sandbox"
|
||||||
|
"lib/Heroic/chrome_crashpad_handler"
|
||||||
|
"lib/Heroic/libffmpeg.so")
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'binary-unpack 'setup-cwd
|
||||||
|
(lambda _
|
||||||
|
(copy-recursively "usr/" ".")
|
||||||
|
;; Use the more standard lib directory for everything.
|
||||||
|
(rename-file "opt/" "lib")
|
||||||
|
;; Remove unneeded files.
|
||||||
|
(delete-file-recursively "usr")
|
||||||
|
;; Fix the .desktop file binary location.
|
||||||
|
(substitute* '("share/applications/heroic.desktop")
|
||||||
|
(("/opt/Heroic/")
|
||||||
|
(string-append #$output "/bin/")))))
|
||||||
|
(add-after 'install 'symlink-binary-file
|
||||||
|
(lambda _
|
||||||
|
(mkdir-p (string-append #$output "/bin"))
|
||||||
|
(symlink (string-append #$output "/lib/Heroic/heroic")
|
||||||
|
(string-append #$output "/bin/heroic"))))
|
||||||
|
(add-after 'install-wrapper 'wrap-where-patchelf-does-not-work
|
||||||
|
(lambda _
|
||||||
|
(wrap-program (string-append #$output "/lib/Heroic/heroic")
|
||||||
|
`("LD_LIBRARY_PATH" ":" prefix
|
||||||
|
(,(string-join
|
||||||
|
(list
|
||||||
|
(string-append #$output "/lib/Heroic"))
|
||||||
|
":")))))))))
|
||||||
|
(home-page "https://heroicgameslauncher.com")
|
||||||
|
(synopsis "A Native GOG, Amazon and Epic Games Launcher")
|
||||||
|
(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)))
|
||||||
|
|
||||||
(define steam-client
|
(define steam-client
|
||||||
(package
|
(package
|
||||||
(name "steam-client")
|
(name "steam-client")
|
||||||
(version "1.0.0.75")
|
(version "1.0.0.78")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -62,7 +124,7 @@
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"19rn29slsxv7b5fisr1jzn79bskzifbj5hmxqn2436ivwfjna9g5"))
|
"0390qy8vy7sx35hxl51yrbk6mvdz1vvpy96v07qva4bjbmsmjhhh"))
|
||||||
(file-name (string-append name "-" version ".tar.gz"))))
|
(file-name (string-append name "-" version ".tar.gz"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
|
@ -156,6 +218,11 @@
|
||||||
("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 heroic-extra-client-libs
|
||||||
|
`(("curl" ,curl) ; Required for Heroic to download e.g. Wine.
|
||||||
|
("which" ,which) ; Heroic complains about trying to use which (though works).
|
||||||
|
("gtk+" ,gtk+))) ; Required for Heroic interface (gtk filechooser schema).
|
||||||
|
|
||||||
(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-client-libs
|
||||||
|
@ -189,8 +256,7 @@
|
||||||
,@fhs-min-libs)
|
,@fhs-min-libs)
|
||||||
#:name "fhs-union-32"
|
#:name "fhs-union-32"
|
||||||
#:system "i686-linux"))
|
#:system "i686-linux"))
|
||||||
(link-files '("share/applications/steam.desktop"
|
(link-files '("share"))
|
||||||
"share/applications/steam-asound32.desktop"))
|
|
||||||
(description "Steam is a digital software distribution platform created by
|
(description "Steam is a digital software distribution platform created by
|
||||||
Valve. This package provides a script for launching Steam in a Guix container
|
Valve. This package provides a script for launching Steam in a Guix container
|
||||||
which will use the directory @file{$HOME/.local/share/guix-sandbox-home} where
|
which will use the directory @file{$HOME/.local/share/guix-sandbox-home} where
|
||||||
|
@ -200,12 +266,58 @@ all games will be installed.")))
|
||||||
(nonguix-container
|
(nonguix-container
|
||||||
(inherit steam-container)
|
(inherit steam-container)
|
||||||
(name "steam-nvidia")
|
(name "steam-nvidia")
|
||||||
|
;; Steam's .desktop files expect a "steam" executable, so provide that.
|
||||||
|
(binary-name "steam")
|
||||||
(union64 (replace-mesa (ngc-union64 steam-container)))
|
(union64 (replace-mesa (ngc-union64 steam-container)))
|
||||||
(union32 (replace-mesa (ngc-union32 steam-container)))))
|
(union32 (replace-mesa (ngc-union32 steam-container)))))
|
||||||
|
|
||||||
(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))
|
||||||
|
|
||||||
|
(define-public heroic-container
|
||||||
|
(nonguix-container
|
||||||
|
(name "heroic")
|
||||||
|
(wrap-package heroic-client)
|
||||||
|
(run "/bin/heroic")
|
||||||
|
(ld.so.conf steam-ld.so.conf)
|
||||||
|
(ld.so.cache steam-ld.so.cache)
|
||||||
|
;; TODO: Probably can remove some of the packages from these lists, at
|
||||||
|
;; least changing the client libraries as Heroic is rather different from
|
||||||
|
;; Steam. However, a good number will be needed to run games anyway. A
|
||||||
|
;; better separation and testing in Steam as well would be helpful to
|
||||||
|
;; differentiate what packages are needed for what in general. For now,
|
||||||
|
;; this is easier and works.
|
||||||
|
(union64
|
||||||
|
(fhs-union `(,@heroic-extra-client-libs
|
||||||
|
,@steam-client-libs
|
||||||
|
,@steam-gameruntime-libs
|
||||||
|
,@fhs-min-libs)
|
||||||
|
#:name "fhs-union-64"))
|
||||||
|
;; Don't include heroic-client-libs as they are not needed in 32-bit.
|
||||||
|
(union32
|
||||||
|
(fhs-union `(,@steam-client-libs
|
||||||
|
,@steam-gameruntime-libs
|
||||||
|
,@fhs-min-libs)
|
||||||
|
#:name "fhs-union-32"
|
||||||
|
#:system "i686-linux"))
|
||||||
|
(link-files '("share"))
|
||||||
|
(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. This package provides
|
||||||
|
a script for launching Heroic in a Guix container which will use the directory
|
||||||
|
@file{$HOME/.local/share/guix-sandbox-home} where all games will be
|
||||||
|
installed.")))
|
||||||
|
|
||||||
|
(define-public heroic-nvidia-container
|
||||||
|
(nonguix-container
|
||||||
|
(inherit heroic-container)
|
||||||
|
(name "heroic-nvidia")
|
||||||
|
(union64 (replace-mesa (ngc-union64 heroic-container)))
|
||||||
|
(union32 (replace-mesa (ngc-union32 heroic-container)))))
|
||||||
|
|
||||||
|
(define-public heroic (nonguix-container->package heroic-container))
|
||||||
|
(define-public heroic-nvidia (nonguix-container->package heroic-nvidia-container))
|
||||||
|
|
||||||
(define-public protonup-ng
|
(define-public protonup-ng
|
||||||
(package
|
(package
|
||||||
(name "protonup-ng")
|
(name "protonup-ng")
|
|
@ -22,7 +22,7 @@
|
||||||
(define-public lgogdownloader
|
(define-public lgogdownloader
|
||||||
(package
|
(package
|
||||||
(name "lgogdownloader")
|
(name "lgogdownloader")
|
||||||
(version "3.11")
|
(version "3.12")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
(commit (string-append "v" version))))
|
(commit (string-append "v" version))))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0mcwl6vfyy91sq1816j4v3lhf06dz1rr58hsq8hqx217z102s86d"))))
|
(base32 "0kmz5zsbci7iilbqdvql9c1vk2b1q2flsdr6psnkln07xp664di2"))))
|
||||||
(build-system qt-build-system)
|
(build-system qt-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags '("-DUSE_QT_GUI=ON")
|
`(#:configure-flags '("-DUSE_QT_GUI=ON")
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
|
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||||
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
|
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
|
||||||
;;; Copyright © 2020, 2021 James Smith <jsubuntuxp@disroot.org>
|
;;; Copyright © 2020, 2021 James Smith <jsubuntuxp@disroot.org>
|
||||||
;;; Copyright © 2020, 2021, 2022 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
;;; Copyright © 2020-2024 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||||
;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
|
;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
|
||||||
;;; Copyright © 2020, 2021, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2020, 2021, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2020, 2021, 2022 Zhu Zihao <all_but_last@163.com>
|
;;; Copyright © 2020, 2021, 2022 Zhu Zihao <all_but_last@163.com>
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
;;; Copyright © 2021 Risto Stevcev <me@risto.codes>
|
;;; Copyright © 2021 Risto Stevcev <me@risto.codes>
|
||||||
;;; Copyright © 2021 aerique <aerique@xs4all.nl>
|
;;; Copyright © 2021 aerique <aerique@xs4all.nl>
|
||||||
;;; Copyright © 2022 Josselin Poiret <dev@jpoiret.xyz>
|
;;; Copyright © 2022 Josselin Poiret <dev@jpoiret.xyz>
|
||||||
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
|
;;; Copyright © 2022, 2023, 2024 John Kehayias <john.kehayias@protonmail.com>
|
||||||
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
|
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
|
||||||
;;; Copyright © 2022 Remco van 't Veer <remco@remworks.net>
|
;;; Copyright © 2022 Remco van 't Veer <remco@remworks.net>
|
||||||
;;; Copyright © 2022 Simen Endsjø <simendsjo@gmail.com>
|
;;; Copyright © 2022 Simen Endsjø <simendsjo@gmail.com>
|
||||||
|
@ -24,6 +24,8 @@
|
||||||
;;; Copyright © 2023 Adam Kandur <rndd@tuta.io>
|
;;; Copyright © 2023 Adam Kandur <rndd@tuta.io>
|
||||||
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
|
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
|
||||||
;;; Copyright © 2023 Ada Stevenson <adanskana@gmail.com>
|
;;; Copyright © 2023 Ada Stevenson <adanskana@gmail.com>
|
||||||
|
;;; Copyright © 2023 Tomas Volf <~@wolfsden.cz>
|
||||||
|
;;; Copyright © 2023 PRESFIL <presfil@protonmail.com>
|
||||||
|
|
||||||
(define-module (nongnu packages linux)
|
(define-module (nongnu packages linux)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
|
@ -46,22 +48,48 @@
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
#:export (corrupt-linux))
|
#:export (corrupt-linux))
|
||||||
|
|
||||||
(define %default-extra-linux-options
|
|
||||||
(@@ (gnu packages linux) %default-extra-linux-options))
|
|
||||||
|
|
||||||
(define config->string
|
|
||||||
(@@ (gnu packages linux) config->string))
|
|
||||||
|
|
||||||
(define (linux-url version)
|
(define (linux-url version)
|
||||||
"Return a URL for Linux VERSION."
|
"Return a URL for Linux VERSION."
|
||||||
(string-append "mirror://kernel.org"
|
(string-append "mirror://kernel.org"
|
||||||
"/linux/kernel/v" (version-major version) ".x"
|
"/linux/kernel/v" (version-major version) ".x"
|
||||||
"/linux-" version ".tar.xz"))
|
"/linux-" version ".tar.xz"))
|
||||||
|
|
||||||
|
;;; If you are corrupting the kernel on your own, consider using output of
|
||||||
|
;;; this procedure as a base for your options:
|
||||||
|
;;; (corrupt-linux linux-libre-lts
|
||||||
|
;;; #:configs (cons* "CONFIG_FOO=y"
|
||||||
|
;;; (nonguix-extra-linux-options linux-libre-lts)
|
||||||
|
(define-public (nonguix-extra-linux-options linux-or-version)
|
||||||
|
"Return a list containing additional options that nonguix sets by default
|
||||||
|
for a corrupted linux package of specified version. linux-or-version can be
|
||||||
|
some freedo package or an output of package-version procedure."
|
||||||
|
(define linux-version
|
||||||
|
(if (package? linux-or-version)
|
||||||
|
(package-version linux-or-version)
|
||||||
|
linux-or-version))
|
||||||
|
|
||||||
|
(reverse (fold (lambda (opt opts)
|
||||||
|
(if (version>=? linux-version (car opt))
|
||||||
|
(cons* (cdr opt) opts)
|
||||||
|
opts))
|
||||||
|
'()
|
||||||
|
;; List of additional options for nonguix corrupted linux.
|
||||||
|
;; Each member is a pair of a minimal version (>=) and the
|
||||||
|
;; option itself. Option has to be in a format suitable for
|
||||||
|
;; (@ (guix build kconfig) modify-defconfig) procedure.
|
||||||
|
;;
|
||||||
|
;; Do note that this list is intended for enabling use of
|
||||||
|
;; hardware requiring non-free firmware. If a configuration
|
||||||
|
;; option does work under linux-libre, it should go into Guix
|
||||||
|
;; actual.
|
||||||
|
'(
|
||||||
|
;; Driver for MediaTek mt7921e wireless chipset
|
||||||
|
("5.15" . "CONFIG_MT7921E=m")))))
|
||||||
|
|
||||||
(define* (corrupt-linux freedo
|
(define* (corrupt-linux freedo
|
||||||
#:key
|
#:key
|
||||||
(name "linux")
|
(name "linux")
|
||||||
(configs '())
|
(configs (nonguix-extra-linux-options freedo))
|
||||||
(defconfig #f))
|
(defconfig #f))
|
||||||
|
|
||||||
;; TODO: This very directly depends on guix internals.
|
;; TODO: This very directly depends on guix internals.
|
||||||
|
@ -90,6 +118,7 @@
|
||||||
(inherit
|
(inherit
|
||||||
(customize-linux
|
(customize-linux
|
||||||
#:name name
|
#:name name
|
||||||
|
#:linux freedo
|
||||||
#:source (origin
|
#:source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri url)
|
(uri url)
|
||||||
|
@ -103,12 +132,12 @@
|
||||||
"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.7
|
||||||
|
(corrupt-linux linux-libre-6.7))
|
||||||
|
|
||||||
(define-public linux-6.6
|
(define-public linux-6.6
|
||||||
(corrupt-linux linux-libre-6.6))
|
(corrupt-linux linux-libre-6.6))
|
||||||
|
|
||||||
(define-public linux-6.5
|
|
||||||
(corrupt-linux linux-libre-6.5))
|
|
||||||
|
|
||||||
(define-public linux-6.1
|
(define-public linux-6.1
|
||||||
(corrupt-linux linux-libre-6.1))
|
(corrupt-linux linux-libre-6.1))
|
||||||
|
|
||||||
|
@ -124,10 +153,7 @@ on hardware which requires nonfree software to function."))))
|
||||||
(define-public linux-4.19
|
(define-public linux-4.19
|
||||||
(corrupt-linux linux-libre-4.19))
|
(corrupt-linux linux-libre-4.19))
|
||||||
|
|
||||||
(define-public linux-4.14
|
(define-public linux linux-6.7)
|
||||||
(corrupt-linux linux-libre-4.14))
|
|
||||||
|
|
||||||
(define-public linux linux-6.6)
|
|
||||||
;; linux-lts points to the *newest* released long-term support version.
|
;; linux-lts points to the *newest* released long-term support version.
|
||||||
(define-public linux-lts linux-6.1)
|
(define-public linux-lts linux-6.1)
|
||||||
|
|
||||||
|
@ -145,89 +171,131 @@ on hardware which requires nonfree software to function."))))
|
||||||
;;; Linux-XanMod
|
;;; Linux-XanMod
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
(define (make-linux-xanmod-source version xanmod-revision hash-string)
|
(define* (make-linux-xanmod-source version xanmod-revision
|
||||||
|
#:key xanmod-branch kernel-hash xanmod-hash)
|
||||||
|
|
||||||
|
(define %upstream-linux-source
|
||||||
|
(@@ (gnu packages linux) %upstream-linux-source))
|
||||||
|
|
||||||
|
(define kernel-source
|
||||||
|
(%upstream-linux-source (version-major+minor version) kernel-hash))
|
||||||
|
|
||||||
|
(define xanmod-patch
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"mirror://sourceforge/xanmod/releases/" xanmod-branch "/"
|
||||||
|
version "-" xanmod-revision "/patch-"
|
||||||
|
version "-" xanmod-revision ".xz"))
|
||||||
|
(sha256 xanmod-hash)))
|
||||||
|
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(inherit kernel-source)
|
||||||
(uri (string-append "https://gitlab.com/xanmod/linux/-/archive/"
|
(modules '((guix build utils)))
|
||||||
version "-" xanmod-revision ".tar.bz2"))
|
(snippet
|
||||||
(sha256 hash-string)))
|
#~(begin
|
||||||
|
(let* ((xz-name (basename #+xanmod-patch))
|
||||||
|
(patch-xz-name (string-append (string-drop-right xz-name 3)
|
||||||
|
".patch.xz"))
|
||||||
|
(patch-name (string-drop-right patch-xz-name 3)))
|
||||||
|
(copy-file #+xanmod-patch patch-xz-name)
|
||||||
|
(invoke #+(file-append xz "/bin/unxz") patch-xz-name)
|
||||||
|
(invoke #+(file-append patch "/bin/patch")
|
||||||
|
"--force" "--no-backup-if-mismatch"
|
||||||
|
#+@(origin-patch-flags kernel-source)
|
||||||
|
"--input" patch-name)
|
||||||
|
(for-each delete-file
|
||||||
|
(list patch-name
|
||||||
|
;; EXTRAVERSION is used instead.
|
||||||
|
"localversion")))))))
|
||||||
|
|
||||||
(define* (make-linux-xanmod version xanmod-revision source
|
(define* (make-linux-xanmod version xanmod-revision source
|
||||||
#:key
|
#:key
|
||||||
(name "linux-xanmod")
|
(name "linux-xanmod")
|
||||||
(xanmod-defconfig "config_x86-64-v1"))
|
(xanmod-defconfig "config_x86-64-v1"))
|
||||||
(let ((defconfig xanmod-defconfig) ;to be used in phases.
|
|
||||||
(base (customize-linux #:name name
|
|
||||||
#:source source
|
|
||||||
#:defconfig xanmod-defconfig
|
|
||||||
;; EXTRAVERSION is used instead.
|
|
||||||
#:configs (config->string
|
|
||||||
'(("CONFIG_LOCALVERSION" . "")))
|
|
||||||
#:extra-version xanmod-revision)))
|
|
||||||
(package
|
|
||||||
(inherit base)
|
|
||||||
(version version)
|
|
||||||
(arguments
|
|
||||||
(substitute-keyword-arguments (package-arguments base)
|
|
||||||
((#:phases phases)
|
|
||||||
#~(modify-phases #$phases
|
|
||||||
;; EXTRAVERSION is used instead.
|
|
||||||
(add-after 'unpack 'remove-localversion
|
|
||||||
(lambda _
|
|
||||||
(when (file-exists? "localversion")
|
|
||||||
(delete-file "localversion"))))
|
|
||||||
(add-before 'configure 'add-xanmod-defconfig
|
|
||||||
(lambda _
|
|
||||||
(rename-file
|
|
||||||
(string-append "CONFIGS/xanmod/gcc/" #$defconfig)
|
|
||||||
".config")
|
|
||||||
|
|
||||||
;; Adapted from `make-linux-libre*'.
|
(define %default-extra-linux-options
|
||||||
(chmod ".config" #o666)
|
(@@ (gnu packages linux) %default-extra-linux-options))
|
||||||
(let ((port (open-file ".config" "a"))
|
|
||||||
(extra-configuration
|
|
||||||
#$(config->string
|
|
||||||
;; FIXME: There might be other support missing.
|
|
||||||
(append '(("CONFIG_BLK_DEV_NVME" . #t)
|
|
||||||
("CONFIG_CRYPTO_XTS" . m)
|
|
||||||
("CONFIG_VIRTIO_CONSOLE" . m))
|
|
||||||
%default-extra-linux-options))))
|
|
||||||
(display extra-configuration port)
|
|
||||||
(close-port port))
|
|
||||||
(invoke "make" "oldconfig")
|
|
||||||
|
|
||||||
(rename-file
|
(define config->string
|
||||||
".config"
|
(@@ (gnu packages linux) config->string))
|
||||||
(string-append "arch/x86/configs/" #$defconfig))))))))
|
|
||||||
(native-inputs
|
(define base-kernel
|
||||||
(modify-inputs (package-native-inputs base)
|
(customize-linux
|
||||||
;; cpio is needed for CONFIG_IKHEADERS.
|
#:name name
|
||||||
(append cpio zstd)))
|
#:source source
|
||||||
(home-page "https://xanmod.org/")
|
#:defconfig xanmod-defconfig
|
||||||
(supported-systems '("x86_64-linux"))
|
;; EXTRAVERSION is used instead.
|
||||||
(synopsis
|
#:configs (config->string
|
||||||
"Linux kernel distribution with custom settings and new features")
|
'(("CONFIG_LOCALVERSION" . "")))
|
||||||
(description
|
#:extra-version xanmod-revision))
|
||||||
"This package provides XanMod kernel, a general-purpose Linux kernel
|
|
||||||
|
(package
|
||||||
|
(inherit base-kernel)
|
||||||
|
(version version)
|
||||||
|
(arguments
|
||||||
|
(substitute-keyword-arguments (package-arguments base-kernel)
|
||||||
|
((#:phases phases)
|
||||||
|
#~(modify-phases #$phases
|
||||||
|
;; Since `customize-linux' replaces the configure phase, we add
|
||||||
|
;; XanMod defconfig beforehand to ensure compatibility of the
|
||||||
|
;; resulting package with `customize-linux'.
|
||||||
|
(add-before 'configure 'add-xanmod-defconfig
|
||||||
|
(lambda _
|
||||||
|
(rename-file
|
||||||
|
(string-append "CONFIGS/xanmod/gcc/" #$xanmod-defconfig)
|
||||||
|
".config")
|
||||||
|
|
||||||
|
;; Adapted from `make-linux-libre*'.
|
||||||
|
(chmod ".config" #o666)
|
||||||
|
(let ((port (open-file ".config" "a"))
|
||||||
|
(extra-configuration
|
||||||
|
#$(config->string
|
||||||
|
(append %default-extra-linux-options
|
||||||
|
;; NOTE: These are configs expected by Guix
|
||||||
|
;; but missing from XanMod defconfig.
|
||||||
|
'(("CONFIG_BLK_DEV_NVME" . #t)
|
||||||
|
("CONFIG_CRYPTO_XTS" . m)
|
||||||
|
("CONFIG_VIRTIO_CONSOLE" . m))))))
|
||||||
|
(display extra-configuration port)
|
||||||
|
(close-port port))
|
||||||
|
(invoke "make" "oldconfig")
|
||||||
|
|
||||||
|
(rename-file
|
||||||
|
".config"
|
||||||
|
(string-append "arch/x86/configs/" #$xanmod-defconfig))))))))
|
||||||
|
(native-inputs
|
||||||
|
(modify-inputs (package-native-inputs base-kernel)
|
||||||
|
;; cpio is needed for CONFIG_IKHEADERS.
|
||||||
|
(prepend cpio zstd)))
|
||||||
|
(home-page "https://xanmod.org/")
|
||||||
|
(supported-systems '("x86_64-linux"))
|
||||||
|
(synopsis "Linux kernel distribution with custom settings and new features")
|
||||||
|
(description
|
||||||
|
"This package provides XanMod kernel, a general-purpose Linux kernel
|
||||||
distribution with custom settings and new features. It's built to provide a
|
distribution with custom settings and new features. It's built to provide a
|
||||||
stable, responsive and smooth desktop experience."))))
|
stable, responsive and smooth desktop experience.")))
|
||||||
|
|
||||||
;; Linux-XanMod sources
|
;; Linux-XanMod sources
|
||||||
(define-public linux-xanmod-version "6.5.10")
|
(define-public linux-xanmod-version "6.7.6")
|
||||||
(define-public linux-xanmod-revision "xanmod1")
|
(define-public linux-xanmod-revision "xanmod1")
|
||||||
(define-public linux-xanmod-source
|
(define-public linux-xanmod-source
|
||||||
(make-linux-xanmod-source
|
(make-linux-xanmod-source
|
||||||
linux-xanmod-version
|
linux-xanmod-version
|
||||||
linux-xanmod-revision
|
linux-xanmod-revision
|
||||||
(base32 "020f97pd45lg9nw38j4hz4kqd2ch81fqdp3qkpnzpxf8kihzn2li")))
|
#:xanmod-branch "main"
|
||||||
|
#:kernel-hash (base32 "0s8hbcsg7fdvspqam8kzcxygjsznr4zfi60nqgc81l3n4m518cgg")
|
||||||
|
#:xanmod-hash (base32 "0hv76dj9z17w6zcy25v1ndlmdw593wlbmnw5x903vidb3c6a1dfi")))
|
||||||
|
|
||||||
(define-public linux-xanmod-lts-version "6.1.61")
|
(define-public linux-xanmod-lts-version "6.6.18")
|
||||||
(define-public linux-xanmod-lts-revision "xanmod1")
|
(define-public linux-xanmod-lts-revision "xanmod1")
|
||||||
(define-public linux-xanmod-lts-source
|
(define-public linux-xanmod-lts-source
|
||||||
(make-linux-xanmod-source
|
(make-linux-xanmod-source
|
||||||
linux-xanmod-lts-version
|
linux-xanmod-lts-version
|
||||||
linux-xanmod-lts-revision
|
linux-xanmod-lts-revision
|
||||||
(base32 "1rp9g9qdrr2l0wwxx4myz6kr3agznama2r6q8an505l8mwdgwll8")))
|
#:xanmod-branch "lts"
|
||||||
|
#:kernel-hash (base32 "1l2nisx9lf2vdgkq910n5ldbi8z25ky1zvl67zgwg2nxcdna09nr")
|
||||||
|
#:xanmod-hash (base32 "1q33bd4a65l46333l2m7vjn46b0xhdbz508bq7q0bphbmy0bf35m")))
|
||||||
|
|
||||||
;; Linux-XanMod packages
|
;; Linux-XanMod packages
|
||||||
(define-public linux-xanmod
|
(define-public linux-xanmod
|
||||||
|
@ -248,22 +316,23 @@ stable, responsive and smooth desktop experience."))))
|
||||||
(define-public linux-firmware
|
(define-public linux-firmware
|
||||||
(package
|
(package
|
||||||
(name "linux-firmware")
|
(name "linux-firmware")
|
||||||
(version "20231111")
|
(version "20240115")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://kernel.org/linux/kernel/firmware/"
|
(uri (string-append "mirror://kernel.org/linux/kernel/firmware/"
|
||||||
"linux-firmware-" version ".tar.xz"))
|
"linux-firmware-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"165hrdwfvkqngmdf5s759wzfk8wpa8h6bln31bjady1z570mjjcd"))
|
"13b75kd075famc58pvx4r9268pxn69nyihx7p3i6i7mvkgqayz5b"))))
|
||||||
(patches
|
|
||||||
(search-patches "nongnu/packages/patches/copy-firmware-rdfind.patch"))))
|
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f
|
`(#:tests? #f
|
||||||
#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
|
#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
|
(replace 'install
|
||||||
|
(lambda* (#:key (make-flags '()) #:allow-other-keys)
|
||||||
|
(apply invoke "make" "install-nodedup" make-flags)))
|
||||||
(delete 'validate-runpath))))
|
(delete 'validate-runpath))))
|
||||||
(home-page
|
(home-page
|
||||||
"https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git")
|
"https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git")
|
||||||
|
@ -703,8 +772,8 @@ package contains nonfree firmware for the following chips:
|
||||||
(deprecated-package "rtl-bt-firmware" realtek-firmware))
|
(deprecated-package "rtl-bt-firmware" realtek-firmware))
|
||||||
|
|
||||||
(define-public rtl8192eu-linux-module
|
(define-public rtl8192eu-linux-module
|
||||||
(let ((commit "865656c3a1d1aee8c4ba459ce7608756d17c712f")
|
(let ((commit "a928f08c1dd4f9a1e84d85811a543e974551bc4f")
|
||||||
(revision "5"))
|
(revision "6"))
|
||||||
(package
|
(package
|
||||||
(name "rtl8192eu-linux-module")
|
(name "rtl8192eu-linux-module")
|
||||||
(version (git-version "0.0.0" revision commit))
|
(version (git-version "0.0.0" revision commit))
|
||||||
|
@ -717,7 +786,7 @@ package contains nonfree firmware for the following chips:
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"08nq0wlrpzm8n2g14c4jlxs0crr6s5ls1n14bc17zmpy9vlarhfx"))))
|
"1q26kyic4glmgy0hbaq46r067m6cqf7d41chgivyxn8y32rf1fgc"))))
|
||||||
(build-system linux-module-build-system)
|
(build-system linux-module-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:make-flags
|
`(#:make-flags
|
||||||
|
@ -740,8 +809,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))
|
||||||
|
@ -754,7 +823,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
|
||||||
|
@ -782,9 +851,63 @@ network adapters.")
|
||||||
;; hal/rtl8821c/hal8821c_fw.c
|
;; hal/rtl8821c/hal8821c_fw.c
|
||||||
(license gpl2))))
|
(license gpl2))))
|
||||||
|
|
||||||
|
(define-public rtl8821cu-linux-module
|
||||||
|
(let ((commit "a41ef7cabd1aa36fa2b4eb63a71cf719bff11b72")
|
||||||
|
(revision "1"))
|
||||||
|
(package
|
||||||
|
(name "rtl8821cu-linux-module")
|
||||||
|
(version (git-version "0.0.0" revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/morrownr/8821cu-20210916")
|
||||||
|
(commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32 "0fnv4gm4adnf8gbjzc2lljh2a3i111159qira3w0qm1zhyqadaq0"))))
|
||||||
|
(build-system linux-module-build-system)
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:make-flags #~(list (string-append "CC="
|
||||||
|
#$(cc-for-target))
|
||||||
|
(string-append "KSRC="
|
||||||
|
(assoc-ref %build-inputs
|
||||||
|
"linux-module-builder")
|
||||||
|
"/lib/modules/build"))
|
||||||
|
#:phases #~(modify-phases %standard-phases
|
||||||
|
(replace 'build
|
||||||
|
(lambda* (#:key (make-flags '())
|
||||||
|
(parallel-build? #t) #:allow-other-keys)
|
||||||
|
(apply invoke "make"
|
||||||
|
`(,@(if parallel-build?
|
||||||
|
`("-j" ,(number->string (parallel-job-count)))
|
||||||
|
'()) ,@make-flags)))))
|
||||||
|
#:tests? #f))
|
||||||
|
(home-page "https://github.com/morrownr/8821cu-20210916")
|
||||||
|
(synopsis "Linux driver for Realtek USB WiFi adapters")
|
||||||
|
(description
|
||||||
|
"Linux driver for USB WiFi adapters that are based on the
|
||||||
|
Realtek RTL8811CU, RTL8821CU, RTL8821CUH and RTL8731AU chipsets.
|
||||||
|
|
||||||
|
To work, in addition to installing the driver, you need
|
||||||
|
to disable the conflicting rtw88 driver:
|
||||||
|
|
||||||
|
@example
|
||||||
|
(operating-system
|
||||||
|
;; ...
|
||||||
|
;; Blacklist conflicting kernel modules.
|
||||||
|
(kernel-arguments '(\"modprobe.blacklist=rtw88_8821cu\"))
|
||||||
|
(kernel-loadable-modules (list rtl8821cu-linux-module)))
|
||||||
|
@end example")
|
||||||
|
;; Rejected by Guix beause it contains a binary blob in:
|
||||||
|
;; hal/rtl8821c/hal8821c_fw.c
|
||||||
|
(license (nonfree
|
||||||
|
"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")
|
||||||
|
@ -797,7 +920,7 @@ network adapters.")
|
||||||
(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
|
||||||
|
@ -821,7 +944,7 @@ RTL8812AU, RTL8821AU, and RTL8814AU chips.")
|
||||||
(define-public r8168-linux-module
|
(define-public r8168-linux-module
|
||||||
(package
|
(package
|
||||||
(name "r8168-linux-module")
|
(name "r8168-linux-module")
|
||||||
(version "8.051.02")
|
(version "8.052.01")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
@ -830,19 +953,9 @@ RTL8812AU, RTL8821AU, and RTL8814AU chips.")
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"16mpr0np6xbmzdnwg4p3q6yli2gh032k98g4vplya33hrn50vh52"))))
|
"01mi7hh92nc7jaxkfrpz7j0ci78djrhgmq0im4k1270mwmvr0yzj"))))
|
||||||
(arguments
|
(arguments
|
||||||
(list #:tests? #f
|
(list #:tests? #f))
|
||||||
#:phases #~(modify-phases %standard-phases
|
|
||||||
(add-after 'unpack 'enter-src-directory
|
|
||||||
(lambda _
|
|
||||||
(chdir "src")))
|
|
||||||
;; Needed to compile module for linux >= 6.1
|
|
||||||
(add-before 'build 'fix-build
|
|
||||||
(lambda _
|
|
||||||
(substitute* "r8168.h"
|
|
||||||
(("netif_napi_add\\(ndev, &priv->napi, function, weight\\)")
|
|
||||||
"netif_napi_add(ndev, &priv->napi, function)")))))))
|
|
||||||
(build-system linux-module-build-system)
|
(build-system linux-module-build-system)
|
||||||
(home-page "https://github.com/mtorromeo/r8168")
|
(home-page "https://github.com/mtorromeo/r8168")
|
||||||
(synopsis "Linux driver for Realtek PCIe network adapters")
|
(synopsis "Linux driver for Realtek PCIe network adapters")
|
||||||
|
@ -1041,7 +1154,7 @@ chipsets from Broadcom:
|
||||||
(define-public facetimehd
|
(define-public facetimehd
|
||||||
(package
|
(package
|
||||||
(name "facetimehd")
|
(name "facetimehd")
|
||||||
(version "0.5.18")
|
(version "0.6.8")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -1051,7 +1164,7 @@ chipsets from Broadcom:
|
||||||
(file-name (git-file-name "facetimehd" version))
|
(file-name (git-file-name "facetimehd" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1598pzjnbij3knvqmk2yslj26wmqiqjqgqgcw9p9jx6z7bdjvvsh"))))
|
"1g0ky9w5klkjndf30mjymq78r6yls9gri9x702nn8qkmgkjbqdsg"))))
|
||||||
(build-system linux-module-build-system)
|
(build-system linux-module-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:tests? #f))
|
'(#:tests? #f))
|
||||||
|
@ -1075,7 +1188,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)
|
||||||
|
@ -1086,7 +1199,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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
;;; Copyright © 2021, 2022 PantherX OS Team <team@pantherx.org>
|
;;; Copyright © 2021, 2022 PantherX OS Team <team@pantherx.org>
|
||||||
;;; Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
|
;;; Copyright © 2022, 2023, 2024 John Kehayias <john.kehayias@protonmail.com>
|
||||||
;;; Copyright © 2022 Evgenii Lepikhin <johnlepikhin@gmail.com>
|
;;; Copyright © 2022 Evgenii Lepikhin <johnlepikhin@gmail.com>
|
||||||
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||||
;;; Copyright © 2023 Raven Hallsby <karl@hallsby.org>
|
;;; Copyright © 2023 Raven Hallsby <karl@hallsby.org>
|
||||||
|
@ -36,7 +36,7 @@
|
||||||
(define-public element-desktop
|
(define-public element-desktop
|
||||||
(package
|
(package
|
||||||
(name "element-desktop")
|
(name "element-desktop")
|
||||||
(version "1.11.41")
|
(version "1.11.57")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -45,7 +45,7 @@
|
||||||
"https://packages.riot.im/debian/pool/main/e/" name "/" name "_" version
|
"https://packages.riot.im/debian/pool/main/e/" name "/" name "_" version
|
||||||
"_amd64.deb"))
|
"_amd64.deb"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1m07b1ykmxly16irca171z4f718as7hqsccp1q7qrqj9b5lkmv64"))))
|
(base32 "05318i6z5kkzi01ygr77g5ij0hs4xmy0j23hznkqc4zia02q1vgx"))))
|
||||||
(supported-systems '("x86_64-linux"))
|
(supported-systems '("x86_64-linux"))
|
||||||
(build-system chromium-binary-build-system)
|
(build-system chromium-binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
|
@ -54,25 +54,19 @@
|
||||||
#~'("lib/Element/element-desktop")
|
#~'("lib/Element/element-desktop")
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(replace 'unpack
|
(add-after 'binary-unpack 'setup-cwd
|
||||||
(lambda _
|
(lambda _
|
||||||
(invoke "ar" "x" #$source)
|
|
||||||
(invoke "tar" "xvf" "data.tar.xz")
|
|
||||||
(copy-recursively "usr/" ".")
|
(copy-recursively "usr/" ".")
|
||||||
;; Use the more standard lib directory for everything.
|
;; Use the more standard lib directory for everything.
|
||||||
(rename-file "opt/" "lib")
|
(rename-file "opt/" "lib")
|
||||||
;; Remove unneeded files.
|
;; Remove unneeded files.
|
||||||
(delete-file-recursively "usr")
|
(delete-file-recursively "usr")
|
||||||
(delete-file "control.tar.gz")
|
|
||||||
(delete-file "data.tar.xz")
|
|
||||||
(delete-file "debian-binary")
|
|
||||||
;; Fix the .desktop file binary location.
|
;; Fix the .desktop file binary location.
|
||||||
(substitute* '("share/applications/element-desktop.desktop")
|
(substitute* '("share/applications/element-desktop.desktop")
|
||||||
(("/opt/Element/")
|
(("/opt/Element/")
|
||||||
(string-append #$output "/bin/")))))
|
(string-append #$output "/bin/")))))
|
||||||
(add-after 'install 'symlink-binary-file-and-cleanup
|
(add-after 'install 'symlink-binary-file
|
||||||
(lambda _
|
(lambda _
|
||||||
(delete-file (string-append #$output "/environment-variables"))
|
|
||||||
(mkdir-p (string-append #$output "/bin"))
|
(mkdir-p (string-append #$output "/bin"))
|
||||||
(symlink (string-append #$output "/lib/Element/element-desktop")
|
(symlink (string-append #$output "/lib/Element/element-desktop")
|
||||||
(string-append #$output "/bin/element-desktop"))))
|
(string-append #$output "/bin/element-desktop"))))
|
||||||
|
@ -84,8 +78,6 @@
|
||||||
(list
|
(list
|
||||||
(string-append #$output "/lib/Element"))
|
(string-append #$output "/lib/Element"))
|
||||||
":")))))))))
|
":")))))))))
|
||||||
|
|
||||||
(native-inputs (list tar))
|
|
||||||
(home-page "https://github.com/vector-im/element-desktop")
|
(home-page "https://github.com/vector-im/element-desktop")
|
||||||
(synopsis "Matrix collaboration client for desktop")
|
(synopsis "Matrix collaboration client for desktop")
|
||||||
(description "Element Desktop is a Matrix client for desktop with Element Web at
|
(description "Element Desktop is a Matrix client for desktop with Element Web at
|
||||||
|
@ -98,7 +90,7 @@ its core.")
|
||||||
(define-public signal-desktop
|
(define-public signal-desktop
|
||||||
(package
|
(package
|
||||||
(name "signal-desktop")
|
(name "signal-desktop")
|
||||||
(version "6.39.1")
|
(version "6.46.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -107,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 "0rlcn3fyzc69x52g634nd7wryfkkrmykp62wl590shp92nkx8dkl"))))
|
(base32 "1pjv8v1hhycwbvqvih83axv41jkyksq6d9152fqic9d61lbb1kpa"))))
|
||||||
(supported-systems '("x86_64-linux"))
|
(supported-systems '("x86_64-linux"))
|
||||||
(build-system chromium-binary-build-system)
|
(build-system chromium-binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
|
@ -116,26 +108,19 @@ its core.")
|
||||||
#~'("lib/Signal/signal-desktop")
|
#~'("lib/Signal/signal-desktop")
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(replace 'unpack
|
(add-after 'binary-unpack 'setup-cwd
|
||||||
(lambda _
|
(lambda _
|
||||||
(invoke "ar" "x" #$source)
|
|
||||||
(invoke "tar" "xvf" "data.tar.xz")
|
|
||||||
(copy-recursively "usr/" ".")
|
(copy-recursively "usr/" ".")
|
||||||
;; Use the more standard lib directory for everything.
|
;; Use the more standard lib directory for everything.
|
||||||
(rename-file "opt/" "lib")
|
(rename-file "opt/" "lib")
|
||||||
;; Remove unneeded files.
|
;; Remove unneeded files.
|
||||||
(delete-file-recursively "usr")
|
(delete-file-recursively "usr")
|
||||||
(delete-file "control.tar.gz")
|
|
||||||
(delete-file "data.tar.xz")
|
|
||||||
(delete-file "debian-binary")
|
|
||||||
(delete-file "environment-variables")
|
|
||||||
;; Fix the .desktop file binary location.
|
;; Fix the .desktop file binary location.
|
||||||
(substitute* '("share/applications/signal-desktop.desktop")
|
(substitute* '("share/applications/signal-desktop.desktop")
|
||||||
(("/opt/Signal/")
|
(("/opt/Signal/")
|
||||||
(string-append #$output "/bin/")))))
|
(string-append #$output "/bin/")))))
|
||||||
(add-after 'install 'symlink-binary-file-and-cleanup
|
(add-after 'install 'symlink-binary-file
|
||||||
(lambda _
|
(lambda _
|
||||||
(delete-file (string-append #$output "/environment-variables"))
|
|
||||||
(mkdir-p (string-append #$output "/bin"))
|
(mkdir-p (string-append #$output "/bin"))
|
||||||
(symlink (string-append #$output "/lib/Signal/signal-desktop")
|
(symlink (string-append #$output "/lib/Signal/signal-desktop")
|
||||||
(string-append #$output "/bin/signal-desktop"))))
|
(string-append #$output "/bin/signal-desktop"))))
|
||||||
|
@ -147,7 +132,6 @@ its core.")
|
||||||
(list
|
(list
|
||||||
(string-append #$output "/lib/Signal"))
|
(string-append #$output "/lib/Signal"))
|
||||||
":")))))))))
|
":")))))))))
|
||||||
(native-inputs (list tar))
|
|
||||||
(home-page "https://signal.org/")
|
(home-page "https://signal.org/")
|
||||||
(synopsis "Private messenger using the Signal protocol")
|
(synopsis "Private messenger using the Signal protocol")
|
||||||
(description "Signal Desktop is an Electron application that links with Signal on Android
|
(description "Signal Desktop is an Electron application that links with Signal on Android
|
||||||
|
@ -160,14 +144,14 @@ or iOS.")
|
||||||
(define-public zoom
|
(define-public zoom
|
||||||
(package
|
(package
|
||||||
(name "zoom")
|
(name "zoom")
|
||||||
(version "5.15.12.7665")
|
(version "5.17.5.2543")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://cdn.zoom.us/prod/" version "/zoom_x86_64.tar.xz"))
|
(uri (string-append "https://cdn.zoom.us/prod/" version "/zoom_x86_64.tar.xz"))
|
||||||
(file-name (string-append name "-" version "-x86_64.tar.xz"))
|
(file-name (string-append name "-" version "-x86_64.tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1pmxgfafwlxnrcw1fay91krjqbf1kaf5ng4f3na0p6liyd5c6fhq"))))
|
(base32 "06m53d3jrpiq1z5wd7m61lb3w8m8g72iaqx5sixnzn290gyyzgim"))))
|
||||||
(supported-systems '("x86_64-linux"))
|
(supported-systems '("x86_64-linux"))
|
||||||
(build-system binary-build-system)
|
(build-system binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
|
@ -243,6 +227,9 @@ or iOS.")
|
||||||
"libxrender"
|
"libxrender"
|
||||||
"zlib")))))
|
"zlib")))))
|
||||||
(wrap-program (string-append #$output "/lib/zoom/zoom")
|
(wrap-program (string-append #$output "/lib/zoom/zoom")
|
||||||
|
'("QML2_IMPORT_PATH" = ())
|
||||||
|
'("QT_PLUGIN_PATH" = ())
|
||||||
|
'("QT_SCREEN_SCALE_FACTORS" = ())
|
||||||
`("FONTCONFIG_PATH" ":" prefix
|
`("FONTCONFIG_PATH" ":" prefix
|
||||||
(,(string-join
|
(,(string-join
|
||||||
(list
|
(list
|
||||||
|
|
|
@ -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 "20231120132923")
|
(define %firefox-esr-build-id "20240219101823")
|
||||||
|
|
||||||
(define-public firefox-esr
|
(define-public firefox-esr
|
||||||
(package
|
(package
|
||||||
(name "firefox-esr")
|
(name "firefox-esr")
|
||||||
(version "115.5.0esr")
|
(version "115.8.0esr")
|
||||||
(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 "0a578r4kri7jdw8pkkzp7f1mm9idlk7sjxjghcb08k5p14172gyv"))))
|
(base32 "1slmp2v1q3my81z8kiym9rpxw5d9n4sn07v7hv99517w7vr8d05g"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
@ -241,7 +241,7 @@
|
||||||
(substitute
|
(substitute
|
||||||
file
|
file
|
||||||
`((,(format #f "~s" lib)
|
`((,(format #f "~s" lib)
|
||||||
. ,(λ (line _)
|
. ,(lambda (line _)
|
||||||
(string-replace-substring
|
(string-replace-substring
|
||||||
line
|
line
|
||||||
lib
|
lib
|
||||||
|
@ -532,20 +532,20 @@ 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 "20231129224408")
|
(define %firefox-build-id "20240304165820")
|
||||||
|
|
||||||
(define-public firefox
|
(define-public firefox
|
||||||
(package
|
(package
|
||||||
(inherit firefox-esr)
|
(inherit firefox-esr)
|
||||||
(name "firefox")
|
(name "firefox")
|
||||||
(version "120.0.1")
|
(version "123.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 "1qlsjpiwgr17bd0dphshs6dj23889m7h3sfq8j21b0282hmbprvn"))))
|
(base32 "073lbl2gs7c08kr9h6r2jvl3cvj84h3pdh6aj151c3synravkp6m"))))
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments firefox-esr)
|
(substitute-keyword-arguments (package-arguments firefox-esr)
|
||||||
((#:phases phases)
|
((#:phases phases)
|
||||||
|
@ -562,38 +562,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\".")))
|
||||||
|
|
||||||
(define-public firefox/wayland
|
;; As of Firefox 121.0, Firefox uses Wayland by default. This means we no longer need a seperate package
|
||||||
(package
|
;; for Firefox on Wayland.
|
||||||
(inherit firefox)
|
(define-public firefox-wayland
|
||||||
(name "firefox-wayland")
|
(deprecated-package "firefox-wayland" firefox))
|
||||||
(native-inputs '())
|
|
||||||
(inputs
|
|
||||||
`(("bash" ,bash-minimal)
|
|
||||||
("firefox" ,firefox)))
|
|
||||||
(build-system trivial-build-system)
|
|
||||||
(arguments
|
|
||||||
'(#:modules ((guix build utils))
|
|
||||||
#:builder
|
|
||||||
(begin
|
|
||||||
(use-modules (guix build utils))
|
|
||||||
(let* ((bash (assoc-ref %build-inputs "bash"))
|
|
||||||
(firefox (assoc-ref %build-inputs "firefox"))
|
|
||||||
(out (assoc-ref %outputs "out"))
|
|
||||||
(exe (string-append out "/bin/firefox")))
|
|
||||||
(mkdir-p (dirname exe))
|
|
||||||
|
|
||||||
(call-with-output-file exe
|
|
||||||
(lambda (port)
|
|
||||||
(format port "#!~a
|
|
||||||
MOZ_ENABLE_WAYLAND=1 exec ~a $@\n"
|
|
||||||
(string-append bash "/bin/bash")
|
|
||||||
(string-append firefox "/bin/firefox"))))
|
|
||||||
(chmod exe #o555)
|
|
||||||
|
|
||||||
;; Provide the manual and .desktop file.
|
|
||||||
(copy-recursively (string-append firefox "/share")
|
|
||||||
(string-append out "/share"))
|
|
||||||
(substitute* (string-append
|
|
||||||
out "/share/applications/firefox.desktop")
|
|
||||||
((firefox) out))
|
|
||||||
#t))))))
|
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
diff --git a/copy-firmware.sh b/copy-firmware.sh
|
|
||||||
index f9b1f0ff..de28e882 100755
|
|
||||||
--- a/copy-firmware.sh
|
|
||||||
+++ b/copy-firmware.sh
|
|
||||||
@@ -69,11 +69,6 @@ if [ -z "$destdir" ]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
-if ! which rdfind 2>/dev/null >/dev/null; then
|
|
||||||
- echo "ERROR: rdfind is not installed"
|
|
||||||
- exit 1
|
|
||||||
-fi
|
|
||||||
-
|
|
||||||
# shellcheck disable=SC2162 # file/folder name can include escaped symbols
|
|
||||||
grep -E '^(RawFile|File):' WHENCE | sed -E -e 's/^(RawFile|File): */\1 /;s/"//g' | while read k f; do
|
|
||||||
test -f "$f" || continue
|
|
||||||
@@ -87,14 +82,6 @@ grep -E '^(RawFile|File):' WHENCE | sed -E -e 's/^(RawFile|File): */\1 /;s/"//g'
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
-$verbose "Finding duplicate files"
|
|
||||||
-rdfind -makesymlinks true -makeresultsfile false "$destdir" >/dev/null
|
|
||||||
-find "$destdir" -type l | while read -r l; do
|
|
||||||
- target="$(realpath "$l")"
|
|
||||||
- $verbose "Correcting path for $l"
|
|
||||||
- ln -fs "$(realpath --relative-to="$(dirname "$(realpath -s "$l")")" "$target")" "$l"
|
|
||||||
-done
|
|
||||||
-
|
|
||||||
# shellcheck disable=SC2162 # file/folder name can include escaped symbols
|
|
||||||
grep -E '^Link:' WHENCE | sed -e 's/^Link: *//g;s/-> //g' | while read f d; do
|
|
||||||
if test -L "$f$compext"; then
|
|
|
@ -1,7 +1,7 @@
|
||||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
|
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
|
||||||
;;; Copyright © 2021 Kahka F
|
;;; Copyright © 2021 Kahka F
|
||||||
;;; Copyright © 2021 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
;;; Copyright © 2021, 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||||
|
|
||||||
(define-module (nongnu packages printers)
|
(define-module (nongnu packages printers)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
|
@ -40,7 +40,7 @@
|
||||||
;; hplip is updated in Guix.
|
;; hplip is updated in Guix.
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"09kixd9pb0p94bw3xyqy9h62gwqnbwcjjsvb2g3wvl6zxp4j1fvy")))))
|
"0zq66hm7ni6w1c3cxy1gxrxzvyvfn0lhjnia8p4azvz2r309j9s0")))))
|
||||||
(package-native-inputs hplip)))
|
(package-native-inputs hplip)))
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments hplip)
|
(substitute-keyword-arguments (package-arguments hplip)
|
||||||
|
|
|
@ -24,17 +24,17 @@
|
||||||
(define-public anytype
|
(define-public anytype
|
||||||
(package
|
(package
|
||||||
(name "anytype")
|
(name "anytype")
|
||||||
(version "0.36.0")
|
(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=136705969"))
|
name "_" version "_amd64.deb"))
|
||||||
(file-name (string-append "anytype-" version ".deb"))
|
(file-name (string-append "anytype-" version ".deb"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"17cs4w3k7nmjav873wwzpxb2dz4mp2zgkpz1karp3x2mxan0x2i3"))))
|
"10y037qwm6k28min2sgpshrlpirc1p0zn3b4syxrrz494x5g2ivi"))))
|
||||||
(build-system chromium-binary-build-system)
|
(build-system chromium-binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
@ -52,29 +52,25 @@
|
||||||
"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")
|
||||||
("usr/share/" "/share"))
|
("usr/share/" "/share"))
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'unpack-deb
|
(add-after 'binary-unpack 'strip-python
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda _
|
||||||
(invoke "ar" "x" #$source)
|
(delete-file
|
||||||
(invoke "rm" "-v" "control.tar.gz"
|
(string-append "opt/Anytype/resources/app.asar.unpacked/"
|
||||||
"debian-binary"
|
"node_modules/keytar/build/node_gyp_bins/python3"))))
|
||||||
(string-append "anytype-" #$version ".deb"))
|
|
||||||
(invoke "tar" "xvf" "data.tar.xz")
|
|
||||||
(invoke "rm" "-vrf" "data.tar.xz")))
|
|
||||||
(add-before 'install 'patch-assets
|
(add-before 'install 'patch-assets
|
||||||
(lambda _
|
(lambda _
|
||||||
(let* ((bin (string-append #$output "/bin"))
|
(let* ((bin (string-append #$output "/bin"))
|
||||||
(icon (string-append #$output "/share/icons/hicolor/0x0/apps/anytype.png"))
|
|
||||||
(usr/share "./usr/share")
|
(usr/share "./usr/share")
|
||||||
(old-exe "/opt/Anytype/anytype")
|
(old-exe "/opt/Anytype/anytype")
|
||||||
(exe (string-append bin "/anytype")))
|
(exe (string-append bin "/anytype")))
|
||||||
(substitute* (string-append usr/share "/applications/anytype.desktop")
|
(substitute* (string-append usr/share "/applications/anytype.desktop")
|
||||||
(("^Icon=anytype") (string-append "Icon=" icon))
|
|
||||||
(((string-append "^Exec=" old-exe)) (string-append "Exec=" exe))))))
|
(((string-append "^Exec=" old-exe)) (string-append "Exec=" exe))))))
|
||||||
(add-before 'install-wrapper 'symlink-entrypoint
|
(add-before 'install-wrapper 'symlink-entrypoint
|
||||||
(lambda _
|
(lambda _
|
||||||
|
@ -86,7 +82,6 @@
|
||||||
(symlink target exe)
|
(symlink target exe)
|
||||||
(wrap-program exe
|
(wrap-program exe
|
||||||
`("LD_LIBRARY_PATH" = (,share)))))))))
|
`("LD_LIBRARY_PATH" = (,share)))))))))
|
||||||
(native-inputs (list tar))
|
|
||||||
(inputs
|
(inputs
|
||||||
(list bzip2
|
(list bzip2
|
||||||
flac
|
flac
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
(define-public helix-core
|
(define-public helix-core
|
||||||
(package
|
(package
|
||||||
(name "helix-core")
|
(name "helix-core")
|
||||||
(version "r22.1")
|
(version "r23.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://ftp.perforce.com/perforce/" version
|
(uri (string-append "https://ftp.perforce.com/perforce/" version
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
("i686-linux"
|
("i686-linux"
|
||||||
"0f5qs55rspw86axnmml3nxx551lwbxwz1cgi9kmy2f9g5rrplnkn")
|
"0f5qs55rspw86axnmml3nxx551lwbxwz1cgi9kmy2f9g5rrplnkn")
|
||||||
(_
|
(_
|
||||||
"077rfbjgyhdgv76i2727s3yk3p52y75nml8n9wv8g7mvhfs9ypa9"))))))
|
"1vqfkhgbx6ch7710w8mmm7hydl6jmd9qgzs0gfjg8gvd5gnh1csr"))))))
|
||||||
(build-system binary-build-system)
|
(build-system binary-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:strip-binaries? #f
|
`(#:strip-binaries? #f
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
|
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
|
||||||
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
|
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
|
||||||
|
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||||
|
|
||||||
(define-module (nonguix build binary-build-system)
|
(define-module (nonguix build binary-build-system)
|
||||||
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
|
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
|
||||||
|
@ -133,10 +134,39 @@ The inputs are optional when the file is an executable."
|
||||||
patchelf-plan)))
|
patchelf-plan)))
|
||||||
#t)
|
#t)
|
||||||
|
|
||||||
|
(define (deb-file? binary-file)
|
||||||
|
(string-suffix? ".deb" binary-file))
|
||||||
|
|
||||||
|
(define (unpack-deb deb-file)
|
||||||
|
(invoke "ar" "x" deb-file)
|
||||||
|
(invoke "tar" "xvf" "data.tar.xz")
|
||||||
|
(invoke "rm" "-rfv" "control.tar.gz"
|
||||||
|
"data.tar.xz"
|
||||||
|
deb-file
|
||||||
|
"debian-binary"))
|
||||||
|
|
||||||
|
(define* (binary-unpack #: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")
|
||||||
|
(match binary-file
|
||||||
|
((? deb-file?) (unpack-deb binary-file))
|
||||||
|
(_
|
||||||
|
(begin
|
||||||
|
(format #t "Unknown file type: ~a~%" (basename binary-file))
|
||||||
|
;; Cleanup after ourselves
|
||||||
|
(chdir "..")
|
||||||
|
(rmdir "binary")))))))
|
||||||
|
|
||||||
(define %standard-phases
|
(define %standard-phases
|
||||||
;; Everything is as with the GNU Build System except for the `configure'
|
;; Everything is as with the GNU Build System except for the `binary-unpack',
|
||||||
;; , `build', `check' and `install' phases.
|
;; `configure', `build', `check' and `install' phases.
|
||||||
(modify-phases gnu:%standard-phases
|
(modify-phases gnu:%standard-phases
|
||||||
|
(add-after 'unpack 'binary-unpack binary-unpack)
|
||||||
(delete 'bootstrap)
|
(delete 'bootstrap)
|
||||||
(delete 'configure)
|
(delete 'configure)
|
||||||
(delete 'build)
|
(delete 'build)
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||||
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
|
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
|
||||||
;;; Copyright © 2023 Elijah Malaby
|
;;; Copyright © 2023 Elijah Malaby
|
||||||
|
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
|
||||||
|
|
||||||
;;; The script provided by this package may optionally be started as
|
;;; The script provided by this package may optionally be started as
|
||||||
;;; a shell instead of automatically launching the wrapped entrypoint by setting
|
;;; a shell instead of automatically launching the wrapped entrypoint by setting
|
||||||
|
@ -50,6 +51,7 @@
|
||||||
#:export (nonguix-container
|
#:export (nonguix-container
|
||||||
nonguix-container?
|
nonguix-container?
|
||||||
ngc-name
|
ngc-name
|
||||||
|
ngc-binary-name
|
||||||
ngc-version
|
ngc-version
|
||||||
ngc-wrap-package
|
ngc-wrap-package
|
||||||
ngc-run
|
ngc-run
|
||||||
|
@ -82,6 +84,7 @@
|
||||||
nonguix-container make-nonguix-container
|
nonguix-container make-nonguix-container
|
||||||
nonguix-container? this-nonguix-container
|
nonguix-container? this-nonguix-container
|
||||||
(name ngc-name)
|
(name ngc-name)
|
||||||
|
(binary-name ngc-binary-name (default (ngc-name this-nonguix-container)) (thunked))
|
||||||
(version ngc-version (default #f))
|
(version ngc-version (default #f))
|
||||||
(wrap-package ngc-wrap-package)
|
(wrap-package ngc-wrap-package)
|
||||||
(run ngc-run)
|
(run ngc-run)
|
||||||
|
@ -207,7 +210,7 @@ in a sandboxed FHS environment."
|
||||||
(manifest-target (assoc-ref %build-inputs "fhs-manifest"))
|
(manifest-target (assoc-ref %build-inputs "fhs-manifest"))
|
||||||
(manifest-dest (string-append out "/etc/" ,(ngc-manifest-name container)))
|
(manifest-dest (string-append out "/etc/" ,(ngc-manifest-name container)))
|
||||||
(wrapper-target (assoc-ref %build-inputs "fhs-wrapper"))
|
(wrapper-target (assoc-ref %build-inputs "fhs-wrapper"))
|
||||||
(wrapper-dest (string-append out "/bin/" ,(ngc-name container)))
|
(wrapper-dest (string-append out "/bin/" ,(ngc-binary-name container)))
|
||||||
(link-files ',(ngc-link-files container)))
|
(link-files ',(ngc-link-files container)))
|
||||||
(mkdir-p (string-append out "/sbin"))
|
(mkdir-p (string-append out "/sbin"))
|
||||||
(mkdir-p (string-append out "/etc"))
|
(mkdir-p (string-append out "/etc"))
|
||||||
|
@ -236,135 +239,139 @@ in a sandboxed FHS environment."
|
||||||
in a sandboxed FHS environment."
|
in a sandboxed FHS environment."
|
||||||
(program-file
|
(program-file
|
||||||
(ngc-wrapper-name container)
|
(ngc-wrapper-name container)
|
||||||
#~(begin
|
(with-imported-modules '((guix build utils))
|
||||||
(use-modules (guix build utils))
|
#~(begin
|
||||||
(define (preserve-var var)
|
(use-modules (guix build utils))
|
||||||
(string-append "--preserve=" var))
|
(define (preserve-var var)
|
||||||
(define* (add-path path #:key writable?)
|
(string-append "--preserve=" var))
|
||||||
(let ((opt (if writable?
|
(define* (add-path path #:key writable?)
|
||||||
"--share="
|
(let ((opt (if writable?
|
||||||
"--expose=")))
|
"--share="
|
||||||
(if (pair? path)
|
"--expose=")))
|
||||||
(string-append opt (car path) "=" (cdr path))
|
(if (pair? path)
|
||||||
(string-append opt path))))
|
(string-append opt (car path) "=" (cdr path))
|
||||||
(define (exists-> file)
|
(string-append opt path))))
|
||||||
(if (and file (file-exists? file))
|
(define (exists-> file)
|
||||||
`(,file) '()))
|
(if (and file (file-exists? file))
|
||||||
(let* ((run #$(file-append fhs-internal "/bin/" (ngc-internal-name container)))
|
`(,file) '()))
|
||||||
(manifest-file #$(file-append fhs-manifest))
|
(let* ((run #$(file-append fhs-internal "/bin/" (ngc-internal-name container)))
|
||||||
(xdg-runtime (getenv "XDG_RUNTIME_DIR"))
|
(manifest-file #$(file-append fhs-manifest))
|
||||||
(home (getenv "HOME"))
|
(xdg-runtime (getenv "XDG_RUNTIME_DIR"))
|
||||||
(sandbox-home (or (getenv "GUIX_SANDBOX_HOME")
|
(home (getenv "HOME"))
|
||||||
(string-append home "/" #$(ngc-sandbox-home container))))
|
(sandbox-home (or (getenv "GUIX_SANDBOX_HOME")
|
||||||
(preserved-env '("^DBUS_"
|
(string-append home "/" #$(ngc-sandbox-home container))))
|
||||||
"^DISPLAY$"
|
(preserved-env '("^DBUS_"
|
||||||
"^DRI_PRIME$"
|
"^DISPLAY$"
|
||||||
"^GDK_SCALE$" ; For UI scaling.
|
"^DRI_PRIME$"
|
||||||
"^GUIX_LOCPATH$" ; For pressure-vessel locales.
|
"^GDK_SCALE$" ; For UI scaling.
|
||||||
;; For startup of added non-Steam games as it
|
"^GUIX_LOCPATH$" ; For pressure-vessel locales.
|
||||||
;; seems they start in an early environment
|
;; For startup of added non-Steam games as it
|
||||||
;; before our additional settings. (Likely
|
;; seems they start in an early environment
|
||||||
;; this can be removed when rewritten to use
|
;; before our additional settings. (Likely
|
||||||
;; --emulate-fhs from upstream.) Note that
|
;; this can be removed when rewritten to use
|
||||||
;; this is explicitly set below. We could
|
;; --emulate-fhs from upstream.) Note that
|
||||||
;; preserve what is set before launching the
|
;; this is explicitly set below. We could
|
||||||
;; container, but any such directories would
|
;; preserve what is set before launching the
|
||||||
;; need to be shared with the container as
|
;; container, but any such directories would
|
||||||
;; well; this is not needed currently.
|
;; need to be shared with the container as
|
||||||
"^LD_LIBRARY_PATH$"
|
;; well; this is not needed currently.
|
||||||
"^MANGOHUD" ; For MangoHud configuration.
|
"^LD_LIBRARY_PATH$"
|
||||||
"^PRESSURE_VESSEL_" ; For pressure vessel options.
|
"^MANGOHUD" ; For MangoHud configuration.
|
||||||
"_PROXY$"
|
"^PRESSURE_VESSEL_" ; For pressure vessel options.
|
||||||
"_proxy$"
|
"_PROXY$"
|
||||||
;; To allow workaround for upstream bug
|
"_proxy$"
|
||||||
;; <https://github.com/ValveSoftware/steam-for-linux/issues/9306>
|
;; To allow workaround for upstream bug
|
||||||
;; and tracked on our end as
|
;; <https://github.com/ValveSoftware/steam-for-linux/issues/9306>
|
||||||
;; <https://gitlab.com/nonguix/nonguix/-/issues/267>.
|
;; and tracked on our end as
|
||||||
;; TODO: Remove once upstream fixes this bug.
|
;; <https://gitlab.com/nonguix/nonguix/-/issues/267>.
|
||||||
"^QT_X11_NO_MITSHM$"
|
;; TODO: Remove once upstream fixes this bug.
|
||||||
"^SDL_"
|
"^QT_X11_NO_MITSHM$"
|
||||||
"^STEAM_"
|
"^SDL_"
|
||||||
"^VDPAU_DRIVER_PATH$" ; For VDPAU drivers.
|
"^STEAM_"
|
||||||
"^XAUTHORITY$"
|
"^SSL_" ; SSL certificate environment, needed by curl for Heroic.
|
||||||
;; Matching all ^XDG_ vars causes issues
|
"^VDPAU_DRIVER_PATH$" ; For VDPAU drivers.
|
||||||
;; discussed in 80decf05.
|
"^XAUTHORITY$"
|
||||||
"^XDG_DATA_HOME$"
|
;; Matching all ^XDG_ vars causes issues
|
||||||
"^XDG_RUNTIME_DIR$"
|
;; discussed in 80decf05.
|
||||||
;; The following are useful for debugging.
|
"^XDG_DATA_HOME$"
|
||||||
"^CAPSULE_DEBUG$"
|
"^XDG_RUNTIME_DIR$"
|
||||||
"^G_MESSAGES_DEBUG$"
|
#$@(ngc-preserved-env container) ; Environment from container.
|
||||||
"^LD_DEBUG$"
|
;; The following are useful for debugging.
|
||||||
"^LIBGL_DEBUG$"))
|
"^CAPSULE_DEBUG$"
|
||||||
(expose `("/dev/bus/usb" ; Needed for libusb.
|
"^G_MESSAGES_DEBUG$"
|
||||||
"/dev/dri"
|
"^LD_DEBUG$"
|
||||||
"/dev/input" ; Needed for controller input.
|
"^LIBGL_DEBUG$"))
|
||||||
"/dev/uinput" ; Needed for Steam Input.
|
(expose `("/dev/bus/usb" ; Needed for libusb.
|
||||||
,@(exists-> "/dev/nvidia0") ; needed for nvidia proprietary driver
|
"/dev/dri"
|
||||||
,@(exists-> "/dev/nvidiactl")
|
"/dev/input" ; Needed for controller input.
|
||||||
,@(exists-> "/dev/nvidia-modeset")
|
"/dev/uinput" ; Needed for Steam Input.
|
||||||
,@(exists-> "/etc/machine-id")
|
,@(exists-> "/dev/nvidia0") ; needed for nvidia proprietary driver
|
||||||
"/etc/localtime" ; Needed for correct time zone.
|
,@(exists-> "/dev/nvidiactl")
|
||||||
"/sys/class/drm" ; Needed for hw monitoring like MangoHud.
|
,@(exists-> "/dev/nvidia-modeset")
|
||||||
"/sys/class/hwmon" ; Needed for hw monitoring like MangoHud.
|
,@(exists-> "/etc/machine-id")
|
||||||
"/sys/class/hidraw" ; Needed for devices like the Valve Index.
|
"/etc/localtime" ; Needed for correct time zone.
|
||||||
"/sys/class/input" ; Needed for controller input.
|
"/sys/class/drm" ; Needed for hw monitoring like MangoHud.
|
||||||
,@(exists-> "/sys/class/power_supply") ; Needed for power monitoring like MangoHud.
|
"/sys/class/hwmon" ; Needed for hw monitoring like MangoHud.
|
||||||
,@(exists-> "/sys/class/powercap") ; Needed for power monitoring like MangoHud.
|
"/sys/class/hidraw" ; Needed for devices like the Valve Index.
|
||||||
"/sys/dev"
|
"/sys/class/input" ; Needed for controller input.
|
||||||
"/sys/devices"
|
,@(exists-> "/sys/class/power_supply") ; Needed for power monitoring like MangoHud.
|
||||||
,@(exists-> "/var/run/dbus")
|
,@(exists-> "/sys/class/powercap") ; Needed for power monitoring like MangoHud.
|
||||||
#$@(ngc-exposed container)))
|
"/sys/dev"
|
||||||
;; /dev/hidraw is needed for SteamVR to access the HMD, although here we
|
"/sys/devices"
|
||||||
;; share all hidraw devices. Instead we could filter to only share specific
|
,@(exists-> "/var/run/dbus")
|
||||||
;; device. See, for example, this script:
|
#$@(ngc-exposed container)))
|
||||||
;; https://arvchristos.github.io/post/matching-dev-hidraw-devices-with-physical-devices/
|
;; /dev/hidraw is needed for SteamVR to access the HMD, although here we
|
||||||
(share `(,@(find-files "/dev" "hidraw")
|
;; share all hidraw devices. Instead we could filter to only share specific
|
||||||
"/dev/shm"
|
;; device. See, for example, this script:
|
||||||
;; "/tmp/.X11-unix" is needed for bwrap, and "/tmp" more generally
|
;; https://arvchristos.github.io/post/matching-dev-hidraw-devices-with-physical-devices/
|
||||||
;; for writing things like crash dumps and "steam_chrome_shm".
|
(share `(,@(find-files "/dev" "hidraw")
|
||||||
"/tmp"
|
"/dev/shm"
|
||||||
,(string-append sandbox-home "=" home)
|
;; "/tmp/.X11-unix" is needed for bwrap, and "/tmp" more generally
|
||||||
,@(exists-> (string-append home "/.config/pulse"))
|
;; for writing things like crash dumps and "steam_chrome_shm".
|
||||||
,@(exists-> (string-append xdg-runtime "/pulse"))
|
"/tmp"
|
||||||
,@(exists-> (string-append xdg-runtime "/bus"))
|
,(string-append sandbox-home "=" home)
|
||||||
,@(exists-> (getenv "XAUTHORITY"))
|
,@(exists-> (string-append home "/.config/pulse"))
|
||||||
#$@(ngc-shared container)))
|
,@(exists-> (string-append xdg-runtime "/pulse"))
|
||||||
(DEBUG (equal? (getenv "DEBUG") "1"))
|
,@(exists-> (string-append xdg-runtime "/bus"))
|
||||||
(args (cdr (command-line)))
|
,@(exists-> (getenv "XAUTHORITY"))
|
||||||
(command (if DEBUG '()
|
#$@(ngc-shared container)))
|
||||||
`("--" ,run ,@args))))
|
(DEBUG (equal? (getenv "DEBUG") "1"))
|
||||||
;; Set this so that e.g. non-Steam games added to Steam will launch
|
(extra-shares (if (getenv "GUIX_SANDBOX_EXTRA_SHARES")
|
||||||
;; properly. It seems otherwise they don't make it to launching
|
(string-split (getenv "GUIX_SANDBOX_EXTRA_SHARES") #\:)
|
||||||
;; Steam's pressure-vessel container (for Proton games).
|
#f))
|
||||||
(setenv "LD_LIBRARY_PATH" "/lib64:/lib")
|
(args (cdr (command-line)))
|
||||||
;; Set this so Steam's pressure-vessel container does not need to
|
(command (if DEBUG '()
|
||||||
;; generate locales, improving startup time. This needs to be set to
|
`("--" ,run ,@args))))
|
||||||
;; the "usual" path, probably so they are included in the
|
;; Set this so Steam's pressure-vessel container does not need to
|
||||||
;; pressure-vessel container.
|
;; generate locales, improving startup time. This needs to be set to
|
||||||
(setenv "GUIX_LOCPATH" "/usr/lib/locale")
|
;; the "usual" path, probably so they are included in the
|
||||||
;; By default VDPAU drivers are searched for in libvdpau's store
|
;; pressure-vessel container.
|
||||||
;; path, so set this path to where the drivers will actually be
|
(setenv "GUIX_LOCPATH" "/usr/lib/locale")
|
||||||
;; located in the container.
|
;; By default VDPAU drivers are searched for in libvdpau's store
|
||||||
(setenv "VDPAU_DRIVER_PATH" "/lib64/vdpau")
|
;; path, so set this path to where the drivers will actually be
|
||||||
(format #t "\n* Launching ~a in sandbox: ~a.\n\n"
|
;; located in the container.
|
||||||
#$(package-name (ngc-wrap-package container)) sandbox-home)
|
(setenv "VDPAU_DRIVER_PATH" "/lib64/vdpau")
|
||||||
(when DEBUG
|
(format #t "\n* Launching ~a in sandbox: ~a.\n\n"
|
||||||
(format #t "* DEBUG set to 1: Starting shell. Launch application manually with: ~a.\n\n"
|
#$(package-name (ngc-wrap-package container)) sandbox-home)
|
||||||
#$(ngc-internal-name container)))
|
(when DEBUG
|
||||||
(mkdir-p sandbox-home)
|
(format #t "* DEBUG set to 1: Starting shell. Launch application manually with: ~a.\n\n"
|
||||||
(invoke #$(file-append pulseaudio "/bin/pulseaudio")
|
#$(ngc-internal-name container)))
|
||||||
"--start"
|
(mkdir-p sandbox-home)
|
||||||
"--exit-idle-time=60")
|
(invoke #$(file-append pulseaudio "/bin/pulseaudio")
|
||||||
(apply invoke
|
"--start"
|
||||||
`("guix" "shell"
|
"--exit-idle-time=60")
|
||||||
"--container" "--no-cwd" "--network"
|
(apply invoke
|
||||||
,@(map preserve-var preserved-env)
|
`("guix" "shell"
|
||||||
,@(map add-path expose)
|
"--container" "--no-cwd" "--network"
|
||||||
,@(map (lambda (item)
|
,@(map preserve-var preserved-env)
|
||||||
(add-path item #:writable? #t))
|
,@(map add-path expose)
|
||||||
share)
|
,@(map (lambda (item)
|
||||||
"-m" ,manifest-file
|
(add-path item #:writable? #t))
|
||||||
,@command))))))
|
(if extra-shares
|
||||||
|
(append share extra-shares)
|
||||||
|
share))
|
||||||
|
"-m" ,manifest-file
|
||||||
|
,@command)))))))
|
||||||
|
|
||||||
(define (make-container-manifest container fhs-internal)
|
(define (make-container-manifest container fhs-internal)
|
||||||
"Return a scheme file-like object to be used as package manifest for FHS
|
"Return a scheme file-like object to be used as package manifest for FHS
|
||||||
|
@ -503,6 +510,7 @@ application."
|
||||||
((,union64 "lib/locale") . "/usr/lib/locale")
|
((,union64 "lib/locale") . "/usr/lib/locale")
|
||||||
((,union64 "sbin/ldconfig") . "/sbin/ldconfig")
|
((,union64 "sbin/ldconfig") . "/sbin/ldconfig")
|
||||||
((,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/drirc.d") . "/usr/share/drirc.d")
|
((,union64 "share/drirc.d") . "/usr/share/drirc.d")
|
||||||
((,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")
|
||||||
|
@ -520,6 +528,16 @@ application."
|
||||||
;; (previous would output this error but continue).
|
;; (previous would output this error but continue).
|
||||||
(if (file-exists? ".steam/root/bootstrap.tar.xz")
|
(if (file-exists? ".steam/root/bootstrap.tar.xz")
|
||||||
(chmod ".steam/root/bootstrap.tar.xz" #o644))
|
(chmod ".steam/root/bootstrap.tar.xz" #o644))
|
||||||
|
;; TODO: Should other environment setup also happen inside the
|
||||||
|
;; container rather than before container is launched?
|
||||||
|
;;
|
||||||
|
;; Set this so that e.g. non-Steam games added to Steam will
|
||||||
|
;; launch properly. It seems otherwise they don't make it to
|
||||||
|
;; launching Steam's pressure-vessel container (for Proton
|
||||||
|
;; games). Wait to set this inside the container to not cause
|
||||||
|
;; issues on foreign distros, see
|
||||||
|
;; <https://gitlab.com/nonguix/nonguix/-/issues/303>
|
||||||
|
(setenv "LD_LIBRARY_PATH" "/lib64:/lib")
|
||||||
|
|
||||||
;; 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))
|
||||||
|
@ -528,7 +546,7 @@ application."
|
||||||
(if asound32-opt
|
(if asound32-opt
|
||||||
(display "\n\n/etc/asound.conf configured for 32-bit.\n\n\n")
|
(display "\n\n/etc/asound.conf configured for 32-bit.\n\n\n")
|
||||||
(display (string-append "\n\n/etc/asound.conf configured for 64-bit.\nLaunch "
|
(display (string-append "\n\n/etc/asound.conf configured for 64-bit.\nLaunch "
|
||||||
#$(ngc-name container)
|
#$(ngc-binary-name container)
|
||||||
" with \""
|
" with \""
|
||||||
(basename #$(ngc-run container))
|
(basename #$(ngc-run container))
|
||||||
" -- --asound32\" to use 32-bit instead.\n\n\n")))
|
" -- --asound32\" to use 32-bit instead.\n\n\n")))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user