Compare commits

...

7 commits

Author SHA1 Message Date
podiki
0ee7706cac Merge branch 'discord' into 'master'
Draft: Add Discord.

See merge request nonguix/nonguix!225
2025-06-21 17:50:41 -04:00
John Kehayias
94c750ad59
nongnu: element-desktop: Update to 1.11.104.
* nongnu/packages/messaging.scm (element-desktop): Update to 1.11.104.
2025-06-21 15:57:27 -04:00
Hilton Chain
382df31152
nongnu: nvidia-driver: Update to 570.169.
* nongnu/packages/nvidia.scm (nvidia-driver): Update to 570.169.
(nvidia-settings): Likewise.
2025-06-20 20:46:08 +08:00
Ashish SHUKLA
bfe682b9ab
nongnu: signal-desktop: Update to 7.58.0.
* nongnu/packages/messaging.scm (signal-desktop): Update to 7.58.0.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2025-06-20 20:46:08 +08:00
Hilton Chain
70a0de71d0
transformations: Deduplicate transformed field values.
* nonguix/transformations.scm (nonguix-transformation-guix)[substitute-urls]:
Delete duplicates.
(nonguix-transformation-nvidia)[kernel-arguments]: Likewise.
2025-06-20 20:40:06 +08:00
Hilton Chain
5c13dbf132
transformations: nvidia: Set nvidia_drm.modeset explicitly.
* nonguix/transformations.scm (nonguix-transformation-nvidia): Set
nvidia_drm.modeset to 0 when kernel-mode-setting? is #f.
2025-06-20 20:40:06 +08:00
John Kehayias
0e902d14e4
nongnu: Add discord.
* nongnu/packages/messaging.scm (discord): New variable.
2022-10-14 14:51:58 -04:00
3 changed files with 146 additions and 17 deletions

View file

@ -34,10 +34,134 @@
#:use-module ((nonguix licenses) :prefix license:) #:use-module ((nonguix licenses) :prefix license:)
#:use-module (ice-9 match)) #:use-module (ice-9 match))
(define-public discord
(package
(name "discord")
(version "0.0.20")
(source
(origin
(method url-fetch)
(uri
(string-append
"https://dl.discordapp.net/apps/linux/" version "/" name "-" version ".deb"))
(sha256
(base32 "036pg6xi6jwn7qadfbdq88w55mwyszy83sq4xnfbhm1xw5gmn16n"))))
(supported-systems '("x86_64-linux"))
(build-system binary-build-system)
(arguments
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
#:patchelf-plan
#~'(("lib/discord/Discord"
("alsa-lib" "at-spi2-atk" "at-spi2-core" "atk" "cairo" "cups"
"dbus" "expat" "fontconfig-minimal" "gcc" "gdk-pixbuf" "glib"
"gtk+" "libdrm" "libnotify" "libx11" "libxcb"
"libxcomposite" "libxcursor" "libxdamage" "libxext" "libxfixes"
"libxi" "libxkbcommon" "libxkbfile" "libxrandr" "libxshmfence"
"libxrender" "libxkbcommon" "libxkbfile" "libxrandr" "libxtst"
"libxtst" "mesa" "nspr" "pango" "pulseaudio" "zlib")))
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(lambda _
(invoke "ar" "x" #$source)
(invoke "tar" "xvf" "data.tar.gz")
(copy-recursively "usr/" ".")
;; Use the more standard lib directory for everything.
(mkdir-p "lib")
(rename-file "share/discord" "lib/discord")
;; Remove unneeded files.
(delete-file-recursively "bin")
(delete-file "control.tar.gz")
(delete-file "data.tar.gz")
(delete-file "debian-binary")))
(add-after 'unpack 'fix-desktop-file
(lambda _
;; Fix the .desktop file binary location.
(rename-file "lib/discord/discord.desktop" "share/applications/discord.desktop")
(substitute* '("share/applications/discord.desktop")
(("/usr/share/")
(string-append #$output "/lib/")))
;; And move the icon, replacing the (broken) symlink.
(rename-file "lib/discord/discord.png" "share/pixmaps/discord.png")))
(add-after 'install 'symlink-binary-file-and-cleanup
(lambda _
(delete-file (string-append #$output "/environment-variables"))
(mkdir-p (string-append #$output "/bin"))
(symlink (string-append #$output "/lib/discord/Discord")
(string-append #$output "/bin/discord"))))
(add-after 'install 'wrap-where-patchelf-does-not-work
(lambda _
(wrap-program (string-append #$output "/lib/discord/Discord")
`("FONTCONFIG_PATH" ":" prefix
(,(string-join
(list
(string-append #$(this-package-input "fontconfig-minimal") "/etc/fonts")
#$output)
":")))
`("LD_LIBRARY_PATH" ":" prefix
(,(string-join
(list
(string-append #$(this-package-input "nss") "/lib/nss")
(string-append #$(this-package-input "eudev") "/lib")
(string-append #$(this-package-input "gcc") "/lib")
(string-append #$(this-package-input "libnotify") "/lib")
(string-append #$(this-package-input "libxkbfile") "/lib")
(string-append #$(this-package-input "mesa") "/lib")
(string-append #$(this-package-input "pulseaudio") "/lib")
(string-append #$(this-package-input "sqlcipher") "/lib")
(string-append #$(this-package-input "zlib") "/lib")
(string-append #$output "/lib/discord")
#$output)
":")))))))))
(native-inputs (list tar))
(inputs
(list alsa-lib
at-spi2-atk
at-spi2-core
atk
cairo
cups
dbus
eudev
expat
fontconfig
`(,gcc "lib")
glib
gtk+
libdrm
libnotify
librsvg
libx11
libxcb
libxcomposite
libxcursor
libxdamage
libxext
libxfixes
libxi
libxkbcommon
libxkbfile
libxrandr
libxrender
libxshmfence
libxtst
mesa
nspr
nss
pango
pulseaudio
sqlcipher
zlib))
(home-page "https://discord.com/")
(synopsis "All-in-one voice, video, and text chat for gamers")
(description "Discord is a cross-platform text, voice, and video chat platform aimed at
gamers.")
(license (license:nonfree "https://discord.com/terms"))))
(define-public element-desktop (define-public element-desktop
(package (package
(name "element-desktop") (name "element-desktop")
(version "1.11.103") (version "1.11.104")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -46,7 +170,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 "1apnj9n428lc9cw6jlmnqhcywqd6fnplkj3j5k731f2dzvzaifs6")))) (base32 "1b1rzcsf0pdgccsl0cmrp9lnrcbhy50ygwkwik7hdnygr2721mbl"))))
(supported-systems '("x86_64-linux")) (supported-systems '("x86_64-linux"))
(build-system chromium-binary-build-system) (build-system chromium-binary-build-system)
(arguments (arguments
@ -83,7 +207,7 @@ its core.")
(define-public signal-desktop (define-public signal-desktop
(package (package
(name "signal-desktop") (name "signal-desktop")
(version "7.57.0") (version "7.58.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -92,7 +216,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 "0xy4xfyx58v0869x0inypy9rgnbcxzrdnfh3r8qq00640wfj9j2c")))) (base32 "1bhh9z7mclxlzq4pfs695pnkb5x36wm5ihniydvzqqi2g3xjbqam"))))
(supported-systems '("x86_64-linux")) (supported-systems '("x86_64-linux"))
(build-system chromium-binary-build-system) (build-system chromium-binary-build-system)
(arguments (arguments

View file

@ -228,9 +228,9 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\
(define-public nvidia-driver (define-public nvidia-driver
(package (package
(name "nvidia-driver") (name "nvidia-driver")
(version "570.153.02") (version "570.169")
(source (nvidia-source (source (nvidia-source
version "1dp1bpx4scx7lzqnajn75q5zjlbfvpjych3ils7zlxlmyvj8d20l")) version "0r9phz9rv0n208f61lvv3m492387mjmqk4gph3ww7iawg53shcjz"))
(build-system copy-build-system) (build-system copy-build-system)
(arguments (arguments
(list #:modules '((guix build copy-build-system) (list #:modules '((guix build copy-build-system)
@ -627,9 +627,9 @@ add @code{nvidia_drm.modeset=1} to @code{kernel-arguments} as well.")
(define-public nvidia-settings (define-public nvidia-settings
(package (package
(name "nvidia-settings") (name "nvidia-settings")
(version "570.153.02") (version "570.169")
(source (nvidia-settings-source (source (nvidia-settings-source
name version "1qvvsrhlswpnv9aldqnynjch8y1x219ccsk3w4rfrw3swxm9qvp6")) name version "15sxzczan9kq55hyiq73arls95lsdakpfbbzf4b6741fjfgd8kfh"))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list #:tests? #f ;no test suite (list #:tests? #f ;no test suite

View file

@ -2,6 +2,8 @@
;;; Copyright © 2025 Hilton Chain <hako@ultrarare.space> ;;; Copyright © 2025 Hilton Chain <hako@ultrarare.space>
(define-module (nonguix transformations) (define-module (nonguix transformations)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (guix channels) #:use-module (guix channels)
#:use-module (guix diagnostics) #:use-module (guix diagnostics)
#:use-module (guix gexp) #:use-module (guix gexp)
@ -74,10 +76,11 @@ FIXME: GUIX-SOURCE? is disabled by default due to performance issue."
(cons %nonguix-signing-key (cons %nonguix-signing-key
(guix-configuration-authorized-keys config))) (guix-configuration-authorized-keys config)))
(substitute-urls (substitute-urls
`(,@(guix-configuration-substitute-urls config) (delete-duplicates
,@(if substitutes? `(,@(guix-configuration-substitute-urls config)
'("https://substitutes.nonguix.org") ,@(if substitutes?
'())))))))))) '("https://substitutes.nonguix.org")
'())))))))))))
(define* (nonguix-transformation-linux #:key (linux linux) (define* (nonguix-transformation-linux #:key (linux linux)
(firmware (list linux-firmware)) (firmware (list linux-firmware))
@ -128,11 +131,13 @@ TODO: Xorg configuration."
(operating-system (operating-system
(inherit os) (inherit os)
(kernel-arguments (kernel-arguments
`("modprobe.blacklist=nouveau" (delete-duplicates
,@(if kernel-mode-setting? (cons* "modprobe.blacklist=nouveau"
'("nvidia_drm.modeset=1") (string-append
'()) "nvidia_drm.modeset=" (if kernel-mode-setting? "1" "0"))
,@(operating-system-user-kernel-arguments os))) (remove
(cut string-prefix? "nvidia_drm.modeset=" <>)
(operating-system-user-kernel-arguments os)))))
(services (services
`(,(or (assoc-ref %presets driver) `(,(or (assoc-ref %presets driver)
(leave (leave