mirror of
https://gitlab.com/nonguix/nonguix.git
synced 2025-10-02 02:14:59 +00:00
Compare commits
20 commits
b6ced62f75
...
70c907b98f
Author | SHA1 | Date | |
---|---|---|---|
|
70c907b98f | ||
|
25d7a8091c | ||
|
c33db8571a | ||
|
2fe28d2a1b | ||
|
9302c6319b | ||
|
63c7e04386 | ||
|
7a67115e0d | ||
|
017e4bf864 | ||
|
0864aa6ba5 | ||
|
0531ba5050 | ||
|
bc2a73d7a8 | ||
|
de297a2a28 | ||
|
adc55dec01 | ||
|
52d202e8ec | ||
|
188e8fcdec | ||
|
3984ed6588 | ||
|
e90209c8e7 | ||
|
e1d4956a8b | ||
|
2b0d85ad29 | ||
|
c95bc1b8d8 |
6 changed files with 193 additions and 27 deletions
47
guix/import/firefox.scm
Normal file
47
guix/import/firefox.scm
Normal file
|
@ -0,0 +1,47 @@
|
|||
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||
|
||||
;;; This file is not part of GNU Guix but requires this naming scheme
|
||||
;;; so that the %firefox-updater is properly read when using
|
||||
;;; `guix refresh -L$(pwd) firefox' in nonguix root.
|
||||
|
||||
(define-module (guix import firefox)
|
||||
#:use-module (guix import json)
|
||||
#:use-module (guix memoization)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix upstream)
|
||||
#:export (%firefox-updater))
|
||||
|
||||
(define firefox-json-url "https://product-details.mozilla.org/1.0/firefox_versions.json")
|
||||
|
||||
(define firefox-versions
|
||||
(memoize
|
||||
(lambda _
|
||||
(let ((alist (json-fetch firefox-json-url)))
|
||||
(list (cons "firefox" (assoc-ref alist "LATEST_FIREFOX_VERSION"))
|
||||
(cons "firefox-esr" (assoc-ref alist "FIREFOX_ESR")))))))
|
||||
|
||||
(define* (latest-release package #:key (version #f) partial-version?)
|
||||
"Return an <upstream-source> for the latest-release of PACKAGE."
|
||||
(let* ((name (package-name package))
|
||||
(version (or version (assoc-ref (firefox-versions) name))))
|
||||
(upstream-source
|
||||
(package name)
|
||||
(version version)
|
||||
(urls
|
||||
(list (string-append "https://archive.mozilla.org/pub/firefox/releases/"
|
||||
version "/source/firefox-"
|
||||
version ".source.tar.xz"))))))
|
||||
|
||||
(define (firefox-package? package)
|
||||
"Return true if PACKAGE is Firefox."
|
||||
(member (package-name package) (list "firefox" "firefox-esr")))
|
||||
|
||||
(define %firefox-updater
|
||||
(upstream-updater
|
||||
(name 'firefox)
|
||||
(description "Updater for Firefox packages")
|
||||
(pred firefox-package?)
|
||||
(import latest-release)))
|
||||
|
||||
;;; firefox.scm ends here.
|
|
@ -105,12 +105,13 @@
|
|||
(description "Heroic is an Open Source Game Launcher. Right now it supports launching
|
||||
games from the Epic Games Store using Legendary, GOG Games using our custom
|
||||
implementation with gogdl and Amazon Games using Nile.")
|
||||
(license license:gpl3)))
|
||||
(license license:gpl3)
|
||||
(supported-systems '("x86_64-linux"))))
|
||||
|
||||
(define steam-client
|
||||
(package
|
||||
(name "steam-client")
|
||||
(version "1.0.0.83")
|
||||
(version "1.0.0.84")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -118,7 +119,7 @@ implementation with gogdl and Amazon Games using Nile.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"10lgmjsada0n2a4h1vgrnwcjcka7vp4igy82f1n99zbyrjq845kr"))
|
||||
"0i3v0zz36x7v81qslvfbiby57hk96hn15w4xxal1lgvrb0npdyii"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -160,7 +161,8 @@ implementation with gogdl and Amazon Games using Nile.")
|
|||
(home-page "https://store.steampowered.com")
|
||||
(synopsis "Digital distribution platform for managing and playing games")
|
||||
(description "Steam is a digital software distribution platform created by Valve.")
|
||||
(license (license:nonfree "file:///share/doc/steam/steam_subscriber_agreement.txt"))))
|
||||
(license (license:nonfree "file:///share/doc/steam/steam_subscriber_agreement.txt"))
|
||||
(supported-systems '("x86_64-linux"))))
|
||||
|
||||
(define steam-client-libs
|
||||
`(("at-spi2-core" ,at-spi2-core) ; Required (often) for SteamVR interface.
|
||||
|
|
|
@ -361,14 +361,14 @@ stable, responsive and smooth desktop experience.")))
|
|||
(define-public linux-firmware
|
||||
(package
|
||||
(name "linux-firmware")
|
||||
(version "20250808")
|
||||
(version "20250917")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kernel.org/linux/kernel/firmware/"
|
||||
"linux-firmware-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zw3vsmd07yr27y5fz0m357hci00ah5impx5sz4jcnd18ldmaaf0"))))
|
||||
"0xgvb0fb4s48423asdb1dnkjjskbfmm336gm6vki2nliasvpa18j"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f
|
||||
|
@ -415,8 +415,11 @@ if your hardware is supported by one of the smaller firmware packages.")
|
|||
#~(lambda _
|
||||
(use-modules (ice-9 regex))
|
||||
(substitute* "WHENCE"
|
||||
(("^(File|RawFile|Link): *([^ ]*)(.*)" _ type file rest)
|
||||
(string-append (if (string-match #$keep file) type "Skip") ": " file rest)))))
|
||||
(("^(File|RawFile): *([^ ]*)(.*)" _ type file rest)
|
||||
(string-append (if (string-match #$keep file) type "Skip") ": " file rest))
|
||||
(("^Link: *(.*) *-> *(.*)" _ file target)
|
||||
(string-append (if (string-match #$keep target) "Link" "Skip")
|
||||
": " file " -> " target)))))
|
||||
|
||||
(define-public amdgpu-firmware
|
||||
(package
|
||||
|
@ -705,7 +708,7 @@ laptops).")
|
|||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'select-firmware
|
||||
#$(select-firmware "^iwlwifi-")))))))
|
||||
#$(select-firmware "^intel/iwlwifi/")))))))
|
||||
(home-page "https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi")
|
||||
(synopsis "Nonfree firmware for Intel wifi chips")
|
||||
(description "The proprietary iwlwifi kernel module is required by many
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cups)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
|
@ -19,8 +20,11 @@
|
|||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages kerberos)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages wget)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
|
@ -34,6 +38,114 @@
|
|||
#:use-module ((nonguix licenses) :prefix license:)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
|
||||
(define discord-disable-breaking-updates
|
||||
(with-extensions
|
||||
(list (@ (gnu packages guile) guile-json-4))
|
||||
(program-file
|
||||
"disable-breaking-updates"
|
||||
;; Based on Python script of the same name from Nix.
|
||||
#~(begin
|
||||
(use-modules (json))
|
||||
(let* ((config-home (or (getenv "XDG_CONFIG_HOME")
|
||||
(string-append (getenv "HOME") "/.config")))
|
||||
(settings-path (string-append config-home
|
||||
"/discord/settings.json"))
|
||||
(settings-tmp (string-append settings-path ".tmp"))
|
||||
(settings
|
||||
(if (file-exists? settings-path)
|
||||
(with-exception-handler
|
||||
(lambda (_)
|
||||
(display "Settings invalid")
|
||||
(newline)
|
||||
(exit 0))
|
||||
(lambda () (with-input-from-file settings-path json->scm))
|
||||
#:unwind? #t
|
||||
#:unwind-for-type 'json-invalid)
|
||||
(list))))
|
||||
(if (assoc-ref settings "SKIP_HOST_UPDATE")
|
||||
(begin (display "Updates already disabled")
|
||||
(newline))
|
||||
(begin
|
||||
(with-output-to-file settings-tmp
|
||||
(lambda ()
|
||||
(scm->json (assoc-set! settings "SKIP_HOST_UPDATE" #t))))
|
||||
(rename-file settings-tmp settings-path)
|
||||
(display "Disabled updates")
|
||||
(newline))))))))
|
||||
|
||||
(define-public discord
|
||||
(package
|
||||
(name "discord")
|
||||
(version "0.0.51")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://cdn.discordapp.com/apps/linux/" version
|
||||
"/discord-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "12d5hghnn6a30szsdbay5rx5j31da8y51zxmxg4dcpc9m9wwpk63"))))
|
||||
;; Use this build system to set XDG_DATA_DIRS and other variables.
|
||||
(build-system chromium-binary-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:patchelf-plan
|
||||
#~`(("Discord") ("chrome_crashpad_handler") ("chrome-sandbox"))
|
||||
#:install-plan
|
||||
#~`(("." "opt/discord")
|
||||
("discord.desktop" "/share/applications/")
|
||||
("discord.sh" "bin/discord")
|
||||
("discord.png" "share/icons/hicolor/256x256/apps/")
|
||||
("discord.png" "share/pixmaps/"))
|
||||
#:phases
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'binary-unpack 'setup-cwd
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(use-modules (guix build utils))
|
||||
(define output (assoc-ref outputs "out"))
|
||||
(substitute* "discord.desktop"
|
||||
(("Exec=.*$")
|
||||
(string-append "Exec=" output "/bin/discord\n"))
|
||||
(("Path=.*$")
|
||||
(string-append "Path=" output "/opt/discord\n")))
|
||||
(with-output-to-file "discord.sh"
|
||||
(lambda _
|
||||
(define (line . args)
|
||||
(display (apply string-append args)) (newline))
|
||||
(line "#!/bin/sh")
|
||||
(line #$discord-disable-breaking-updates)
|
||||
(line "cd " output "/opt/discord")
|
||||
(line "./Discord"
|
||||
;; Always use Ozone on Wayland, not sure if this is a good idea.
|
||||
" ${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer}"
|
||||
" \"$@\"")))
|
||||
(for-each
|
||||
(lambda (f) (chmod f #o755))
|
||||
'("Discord" "chrome_crashpad_handler" "chrome-sandbox"
|
||||
"discord.sh" "postinst.sh"))))))))
|
||||
(inputs (list ffmpeg
|
||||
gdk-pixbuf
|
||||
libappindicator
|
||||
libdbusmenu
|
||||
libglvnd
|
||||
libxscrnsaver
|
||||
util-linux
|
||||
wayland
|
||||
;; Not sure if all of these are needed.
|
||||
gzip
|
||||
libsm
|
||||
node
|
||||
pipewire
|
||||
pulseaudio
|
||||
unzip
|
||||
wget
|
||||
xdg-utils))
|
||||
(synopsis "Discord chat client")
|
||||
(description "All-in-one cross-platform voice and text chat for gamers.")
|
||||
(license (license:nonfree "https://discord.com/terms"))
|
||||
(home-page "https://discordapp.com")))
|
||||
|
||||
(define-public element-desktop
|
||||
(package
|
||||
(name "element-desktop")
|
||||
|
@ -83,7 +195,7 @@ its core.")
|
|||
(define-public signal-desktop
|
||||
(package
|
||||
(name "signal-desktop")
|
||||
(version "7.69.0")
|
||||
(version "7.71.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -92,7 +204,7 @@ its core.")
|
|||
"https://updates.signal.org/desktop/apt/pool/s/" name "/" name "_" version
|
||||
"_amd64.deb"))
|
||||
(sha256
|
||||
(base32 "02hrsgx5jwhm16nvmz2pm8n11jp56g9mn404mymn1kfi2qsxy5mm"))))
|
||||
(base32 "14lk8s040alj2lxqw30hh54l4p3kpq1mxq64l8sqlph2y9c3hig3"))))
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(build-system chromium-binary-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -87,19 +87,19 @@
|
|||
|
||||
;; Update this id with every firefox update to its release date.
|
||||
;; It's used for cache validation and therefore can lead to strange bugs.
|
||||
(define %firefox-esr-build-id "20250818124956")
|
||||
(define %firefox-esr-build-id "20250915124517")
|
||||
|
||||
(define-public firefox-esr
|
||||
(package
|
||||
(name "firefox-esr")
|
||||
(version "140.2.0esr")
|
||||
(version "140.3.0esr")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://archive.mozilla.org/pub/firefox/releases/"
|
||||
version "/source/firefox-" version ".source.tar.xz"))
|
||||
(sha256
|
||||
(base32 "0mgglah7inji8gyhswdy62w2lqxgm4yfs1xg7ib6sw1vbikwwvcm"))
|
||||
(base32 "05i3czn3v2qnhir8apcphbqy7rmy1dn7kcwx5yyi2qvmjcyfpipg"))
|
||||
(patches
|
||||
(map (lambda (patch)
|
||||
(search-path
|
||||
|
@ -529,20 +529,20 @@ Release (ESR) version.")
|
|||
|
||||
;; Update this id with every firefox update to its release date.
|
||||
;; It's used for cache validation and therefore can lead to strange bugs.
|
||||
(define %firefox-build-id "20250818122500")
|
||||
(define %firefox-build-id "20250915125927")
|
||||
|
||||
(define-public firefox
|
||||
(package
|
||||
(inherit firefox-esr)
|
||||
(name "firefox")
|
||||
(version "142.0")
|
||||
(version "143.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://archive.mozilla.org/pub/firefox/releases/"
|
||||
version "/source/firefox-" version ".source.tar.xz"))
|
||||
(sha256
|
||||
(base32 "03sblq1l5hjlwgqh1vyshrw1161cs5amlx7kjqzmjv1v1zqy2218"))
|
||||
(base32 "10yz3rz2akf3b19hd2c5v77f038j0h6ci1asjb4w480q14wclibc"))
|
||||
(patches
|
||||
(map (lambda (patch)
|
||||
(search-path
|
||||
|
|
|
@ -228,9 +228,9 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\
|
|||
(define-public nvidia-driver
|
||||
(package
|
||||
(name "nvidia-driver")
|
||||
(version "570.181")
|
||||
(version "580.82.09")
|
||||
(source (nvidia-source
|
||||
version "1yfwwfwbl5ph7s7zddixa0w8nb1wdg25sjysg98fl0hq7z72avgh"))
|
||||
version "1dwmardvxb2w6mx7hich5wc06f50qz92jk63kbhf059fv8rgiv1y"))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list #:modules '((guix build copy-build-system)
|
||||
|
@ -245,8 +245,8 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\
|
|||
("x86_64-linux" ".")
|
||||
(_ "."))
|
||||
"lib/" #:include-regexp ("^./[^/]+\\.so"))
|
||||
("." "lib/nvidia/wine/" #:include-regexp ("_?nvngx\\.dll$"))
|
||||
("." "share/nvidia/" #:include-regexp ("nvidia-application-profiles"))
|
||||
("." "lib/nvidia/wine/" #:include-regexp ("_?nvngx.*?\\.dll$"))
|
||||
("." "share/nvidia/" #:include-regexp ("nvidia-application-profiles|nvoptix.bin"))
|
||||
("." "share/egl/egl_external_platform.d/" #:include-regexp ("(gbm|wayland|xcb|xlib)\\.json"))
|
||||
("10_nvidia.json" "share/glvnd/egl_vendor.d/")
|
||||
("90-nvidia.rules" "lib/udev/rules.d/")
|
||||
|
@ -287,6 +287,8 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\
|
|||
(substitute* '("nvidia_icd.json"
|
||||
"nvidia_layers.json")
|
||||
(("libGLX_nvidia\\.so\\.." all)
|
||||
(string-append #$output "/lib/" all))
|
||||
(("libnvidia-present\\.so\\.[0-9.]*" all)
|
||||
(string-append #$output "/lib/" all)))
|
||||
|
||||
;; VulkanSC ICD configuration
|
||||
|
@ -627,9 +629,9 @@ add @code{nvidia_drm.modeset=1} to @code{kernel-arguments} as well.")
|
|||
(define-public nvidia-settings
|
||||
(package
|
||||
(name "nvidia-settings")
|
||||
(version "570.181")
|
||||
(version "580.82.09")
|
||||
(source (nvidia-settings-source
|
||||
name version "0fq72pj1b4iwlyivi9nmqr45iz6aqqdxgdbgk26x9m1yfxgpy748"))
|
||||
name version "0sy3mrg3vmyba6m87nanzmpvv2hzhb6nqdckhlaxv8wppmr7fvms"))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;no test suite
|
||||
|
@ -849,7 +851,7 @@ variables @code{__GLX_VENDOR_LIBRARY_NAME=nvidia} and
|
|||
(define-public egl-gbm
|
||||
(package
|
||||
(name "egl-gbm")
|
||||
(version "1.1.2")
|
||||
(version "1.1.2.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -858,7 +860,7 @@ variables @code{__GLX_VENDOR_LIBRARY_NAME=nvidia} and
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rfgfi06ry7c7hnzdm4b0dc8r3hmbfn2rd37z3mc4wn38sgz5l3a"))))
|
||||
"1zcr1jksnh0431marzvgg301aybli29r1xw5vs4wnxgcp9bigvn6"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list eglexternalplatform mesa-for-nvda))
|
||||
|
@ -872,7 +874,7 @@ GBM EGL support.")
|
|||
(define-public egl-x11
|
||||
(package
|
||||
(name "egl-x11")
|
||||
(version "1.0.2")
|
||||
(version "1.0.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -881,7 +883,7 @@ GBM EGL support.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0s18xpylz16ry51xp1bs2s4hmvwsq49hcfc0gnmmvnymdzm041aq"))))
|
||||
"1hh1wkdijjhsmym5ab5nw8wyi0w9x7aznnmyg8sczhwdfb5rdnrj"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list eglexternalplatform mesa-for-nvda))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue