Compare commits

..

457 Commits

Author SHA1 Message Date
John Kehayias
2ed247c0c8
gnu: heroic-client: Fix .desktop file.
* nongnu/packages/game-client.scm (heroic-client)[arguments]<#:phases>: Add
fix-desktop-file phase to set the "Exec" line to "heroic" to run the correct
binary.  Remove setting the full store path in the .desktop file in the
setup-cwd phase.  Delete the patch-dot-desktop-files phase (not needed).
2025-02-16 18:50:04 -05:00
John Kehayias
8327932008
nongnu: steam-client-libs: Add fonts for emojis and CJK scripts.
The choice of fonts here is arbitrary, chosen as the google-noto set has fonts
for emoji and Chinese/Japanese/Korean and related scripts.  This fixes missing
emoji and characters from these languages in the Steam interface.  It would be
better to be able to use the font configuration and fonts from the host system
in the container, though.

* nongnu/packages/game-client.scm (steam-client-libs): Add font-google-noto,
font-google-noto-emoji, font-google-noto-sans-cjk, font-google-noto-serif-cjk.
2025-02-16 18:48:00 -05:00
John Kehayias
0d9c22d1c4
multiarch-container: make-internal-script: Add nss to LD_LIBRARY_PATH.
* nonguix/multiarch-container.scm (make-internal-script): Add nss to
LD_LIBRARY_PATH (as nss puts libraries in lib/nss).
2025-02-16 18:39:57 -05:00
John Kehayias
794aa4eff8
nongnu: heroic-client: Fix synopsis.
* nongnu/packages/game-client.scm (heroic-client): Fix synopsis to satisfy
guix lint.
2025-02-16 18:34:17 -05:00
John Kehayias
9f06b18aef
nongnu: linux-firmware: Update to 20250211.
* nongnu/packages/linux.scm (linux-firmware): Update to 20250211.
2025-02-14 10:55:16 -05:00
Hilton Chain
3df2e2ccc4
nongnu: linux-xanmod: Update to 6.12.13.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.12.13.
(linux-xanmod-source): Update hash.
2025-02-13 23:39:25 +08:00
Hilton Chain
c385e67f7d
nongnu: nvidia-driver-beta: Update to 570.86.16.
* nongnu/packages/nvidia.scm (nvidia-driver-snippet): Unbundle egl-x11.
(nvidia-driver-beta): Update to 570.86.16.
[inputs]: Add egl-x11.
[arguments]<#:install-plan>: Install its EGL external platform configurations.
Install sandboxutils-filelist.json.
<#:phases>: Adjust for egl-x11.
(nvidia-settings-beta): Update to 570.86.16.
2025-02-13 23:39:24 +08:00
John Kehayias
bd2f475ac6
nongnu: heroic-client: Reduce wrapper-plan.
Most entries were unneeded or didn't make sense (trying to wrap the
libraries).

* nongnu/packages/game-client.scm (heroic-client)[arguments]<#:wrapper-plan>:
Remove unneeded entries.
2025-02-09 14:11:52 -05:00
John Kehayias
9d4664b3d2
nongnu: vscodium: Update wrapper-plan to include binary path.
* nongnu/packages/editors.scm (vscodium)[arguments]<#:wrapper-plan>: Add the
path for codium to its wrapper-plan.
<#:phases>: Remove wrap-where-patchelf-does-not-work phase as it is no longer
needed.
2025-02-09 14:11:50 -05:00
John Kehayias
35d63ed31a
nongnu: element-desktop: Update wrapper-plan to include binary path.
* nongnu/packages/messaging.scm (element-desktop)[arguments]<#:wrapper-plan>:
Add the path for element-desktop to its wrapper-plan.
<#:phases>: Remove wrap-where-patchelf-does-not-work phase as it is no longer
needed.
2025-02-09 14:11:48 -05:00
John Kehayias
8c1658014a
nongnu: signal-desktop: Update wrapper-plan to include binary path.
* nongnu/packages/messaging.scm (signal-desktop)[arguments]<#:wrapper-plan>:
Add the path for signal-desktop to its wrapper-plan.
<#:phases>: Remove wrap-where-patchelf-does-not-work phase as it is no longer
needed.
2025-02-09 14:11:46 -05:00
John Kehayias
7197aec14c
nongnu: heroic-client: Update to 2.15.2.
* nongnu/packages/game-client.scm (heroic-client): Update to 2.15.2.
2025-02-09 14:11:44 -05:00
John Kehayias
1be22dfea3
nongnu: heroic-client: Update wrapper-plan to include binary path.
* nongnu/packages/game-client.scm (heroic-client)[arguments]<#:wrapper-plan>:
Add the path for heroic to its wrapper-plan.
<#:phases>: Remove wrap-where-patchelf-does-not-work phase as it is no longer
needed.
2025-02-09 14:11:42 -05:00
John Kehayias
26778f221b
nonguix: chromium-binary-build: Extend wrapper-plan syntax.
This commit is similar to a0079cf1bd which
allowed patchelf-plan to take entries with an optional path.  Here,
wrapper-plan is extended to allow for additional syntax (not just a list of
strings) similar to patchelf-plan.  Now, entries can be a list, with the first
the string for the file to be patched and the second a list which is added to
the patchelf-plan.

This allows, for example, to patch RPATH to effectively have $ORIGIN for
binaries that need it, with an entry like `("bin/binary" (("out"
"/lib/Binary")))` common for some chromium-based packages.  See followup
commits for these changes to reduce LD_LIBRARY_PATH wrapping in some packages.

* nonguix/build-system/chromium-binary.scm (build-patchelf-plan): Handle
entries in wrapper-plan which are a list so that the cdr is added to
patchelf-plan for the car.
(chromium-binary-build): Update doc string for this change and some basics
which were not documented.
2025-02-09 14:11:39 -05:00
Ashish SHUKLA
1df7887148
nongnu: signal-desktop: Update to 7.41.0.
* nongnu/packages/messaging.scm (signal-desktop): Update to 7.41.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2025-02-07 19:49:10 +01:00
Tomas Volf
7c1a45d8e7
nongnu: firefox: Update to 135.0 [security fixes].
Fixes CVE-2025-1009, CVE-2025-1010, CVE-2025-1011, CVE-2025-1012,
CVE-2025-1013, CVE-2025-1014, CVE-2025-1016, CVE-2025-1017,
CVE-2025-1018, CVE-2025-1019, CVE-2025-1020.

* nongnu/packages/mozilla.scm (firefox): Update to 135.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2025-02-06 21:47:18 +01:00
Tomas Volf
e4fafbad8e
nongnu: firefox-esr: Update to 128.7.0esr [security fixes].
Fixes CVE-2024-11704, CVE-2025-1009, CVE-2025-1010, CVE-2025-1011,
CVE-2025-1012, CVE-2025-1013, CVE-2025-1014, CVE-2025-1016,
CVE-2025-1017.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 128.7.0esr.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2025-02-06 21:46:52 +01:00
Jonathan Brielmaier
9b14c315ef
nongnu: firefox-esr: Use beaconDB as geolocation provider.
* nongnu/packages/mozilla.scm (firefox-esr)[arguments]: Set beaconDB as
geolocation provider in 'fix-preferences phase.
2025-02-06 21:46:11 +01:00
John Kehayias
440758d5dc
nongnu: Add linux-6.13.
* nongnu/packages/linux.scm (linux-6.13): New variable.
2025-02-03 23:58:45 -05:00
B. Wilson
5c6ef7cafd
nongnu: dotnet: Update to 8.0.401.
* nongnu/packages/dotnet.scm (dotnet): Update to 8.0.401.
[arguments]: Update #:patchelf-plan.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2025-01-26 15:00:56 -05:00
James Kalyan
e215ff3c31
services: Deprecate zerotier-service for zerotier-service-type.
* nongnu/services/vpn (zerotier-one-service-type): Rename to ...
(zerotier-service-type): ... this.  Set default-value.
(zerotier-one-service-type, zerotier-one-service): Deprecate procedures.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2025-01-26 14:38:58 -05:00
Ashish SHUKLA
079d6da868
nongnu: signal-desktop: Update to 7.39.0.
* nongnu/packages/messaging.scm (signal-desktop): Update to 7.39.0.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2025-01-26 14:35:40 -05:00
Romain GARBAGE
f80b238275
nongnu: Add hugo.
* nongnu/packages/hugo: New module.
(hugo): New variable.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2025-01-26 14:31:15 -05:00
Tomas Volf
faf4c7dcf3
nongnu: firefox: Update to 134.0.2.
* nongnu/packages/mozilla.scm (firefox): Update to 134.0.2.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2025-01-22 23:35:02 +08:00
Hilton Chain
566cf65f9c
nongnu: linux-xanmod: Update to 6.12.10.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.12.10.
(linux-xanmod-source): Update hash.
2025-01-21 18:59:02 +08:00
Hilton Chain
b33c229161
nongnu: linux-xanmod-lts: Update to 6.6.72.
* nongnu/packages/linux.scm (linux-xanmod-lts-version): Update to 6.6.72.
(linux-xanmod-lts-source): Update hash.
2025-01-21 18:59:02 +08:00
Maxim Cournoyer
f3a110cbd7
nongnu: linux-firmware: Update to 20250109.
* nongnu/packages/linux.scm (linux-firmware): Update to 20250109.
[source]: Delete patches field.
* nongnu/packages/patches/linux-firmware-parallel.patch: Delete file.
2025-01-21 18:59:02 +08:00
Ashish SHUKLA
e290eaf25f
nongnu: signal-desktop: Update to 7.38.0.
* nongnu/packages/messaging.scm (signal-desktop): Update to 7.38.0.
2025-01-21 18:59:02 +08:00
Sergio Pastor Pérez
c29a9af656
nonguix: Add with-transformation.
* nonguix/utils.scm (with-transformation): New procedure.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2025-01-20 23:52:23 +08:00
Giacomo Leidi
a11ff2a65a
nongnu: anytype: Update to 0.44.0.
* nongnu/packages/productivity.scm (anytype): Update to 0.44.0.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2025-01-18 00:03:01 +08:00
Remco van 't Veer
c196d02dc4
nongnu: clj-kondo: Update to 2025.01.16.
* nongnu/packages/clojure.scm (clj-kondo): Update to 2025.01.16.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2025-01-18 00:01:10 +08:00
Hilton Chain
341c6e106d
nongnu: nvidia-driver: Update to 550.144.03.
* nongnu/packages/nvidia.scm (nvidia-driver,nvidia-settings): Update to
550.144.03.
2025-01-18 00:00:49 +08:00
Tomas Volf
368701e26b
nongnu: firefox: Update to 134.0.1.
* nongnu/packages/mozilla.scm (firefox): Update to 134.0.1.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2025-01-16 18:37:02 +08:00
Hilton Chain
f0e7c88853
nongnu: linux-xanmod: Update to 6.12.9.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.12.9.
(linux-xanmod-source): Update hash.
2025-01-15 13:55:48 +08:00
Hilton Chain
e32a8591f9
nongnu: linux-xanmod-lts: Update to 6.6.70.
* nongnu/packages/linux.scm (linux-xanmod-lts-version): Update to 6.6.70.
(linux-xanmod-lts-source): Update hash.
2025-01-15 13:55:45 +08:00
Jonathan Brielmaier
565d287b75
nongnu: broadcom-sta: Fix build for linux@6.12.
We do not need to rename the patches as Software Heritage keeps the old
ones from nixpkgs repo available.

* nongnu/packages/linux.scm (broadcom-sta-patch): Use rpmfusion repo as
nixpkgs no longer maintains those patches.
(broadcom-sta-x86_64-source): Add patch for linux@6.12 and update a
comment.
2025-01-11 17:56:01 +01:00
Ashish SHUKLA
f6c03eefeb
nongnu: signal-desktop: Update to 7.37.0.
* nongnu/packages/messaging.scm (signal-desktop): Update to 7.37.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2025-01-11 17:19:22 +01:00
John Kehayias
2c77fe5331
nongnu: Remove linux-6.11.
Upstream Guix will soon remove linux-libre-6.11.

* nongnu/packages/linux.scm (linux-6.11): Remove variable.
2025-01-10 16:33:23 -05:00
John Kehayias
b680888a22
nongnu: linux: Update the default linux package to the 6.12 series.
Upstream Guix will remove 6.11 soon.

* nongnu/packages/linux.scm (linux): Use linux-6.12
2025-01-10 16:32:18 -05:00
John Kehayias
3195ddf9f1
nonguix: multiarch-container: Handle empty shares env variable.
Launching a package, like steam, with GUIX_SANDBOX_EXTRA_SHARES= (set to an
empty string) will cause guix shell to fail to launch with "guix shell: error:
statfs: : No such file or directory".

* nonguix/multiarch-container.scm (make-container-wrapper): Check that the
environment variable GUIX_SANDBOX_EXTRA_SHARES is both set and not an empty
string.

Reported-by: apoorv569
2025-01-08 17:57:05 -05:00
John Kehayias
3813013d69
nongnu: element-desktop: Update to 1.11.89 [security fixes].
Previous versions fixed CVE-2024-47771, CVE-2024-51750, CVE-2024-51749, and
CVE-2024-50336.

* nongnu/packages/messaging.scm (element-desktop): Update to 1.11.89.
2025-01-08 14:48:30 -05:00
Tomas Volf
83f2040587
nongnu: firefox: Update to 134.0 [security fixes].
Fixes CVE-2025-0237, CVE-2025-0238, CVE-2025-0239, CVE-2025-0240,
CVE-2025-0241, CVE-2025-0242, CVE-2025-0243, CVE-2025-0244,
CVE-2025-0245, CVE-2025-0246, CVE-2025-0247.

* nongnu/packages/mozilla.scm (firefox): Update to 134.0.
[inputs]: Replace icu4c with icu4c-75.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2025-01-08 14:44:18 -05:00
Tomas Volf
7912c08045
nongnu: firefox-esr: Update to 128.6.0esr [security fixes].
Fixes CVE-2025-0237, CVE-2025-0238, CVE-2025-0239, CVE-2025-0240,
CVE-2025-0241, CVE-2025-0242, CVE-2025-0243.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 128.6.0esr.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2025-01-08 14:44:01 -05:00
Jelle Licht
6dc7d74abd
nongnu: linux-lts: Update to 6.12 series.
Upstream Guix defaulted linux-libre-lts to 6.12 in commit
1dcd0ded86e341cbfd0567cefde1e71684c0cdba.  Do the same here.

* nongnu/packages/linux.scm (linux-lts): Use linux-6.12.
2025-01-08 09:32:15 +01:00
Leo Famulari
27954407eb
nongnu: Add linux 6.12.
* nongnu/packages/linux.scm (linux-6.12): New variable.

Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2025-01-08 09:32:12 +01:00
John Kehayias
c075e3ae21
nonguix: multiarch-container: Don't try to start pulseaudio.
Closes #241.

See discussion in above issue, but the summary is that the container (or any
package/program) shouldn't be trying to start pulseaudio (or other home/system
services, especially that can be started on demand).  While previously this
was done to avoid some issue, it is not clear if that is still the case and it
may possibly lead to other issues.  So, let's default to a more
expected (non-) behavior.

* nonguix/multiarch-container.scm (make-container-wrapper): Remove invoke of
pulseaudio.
2025-01-04 19:53:01 -05:00
Maxim Cournoyer
851f2184e4
nongnu: linux-firmware: Compress using multiple cores.
* nongnu/packages/patches/linux-firmware-parallel.patch: New patch.
* nongnu/packages/linux.scm (linux-firmware) [source]: Apply it.
[native-inputs]: Add parallel.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2025-01-04 19:48:36 -05:00
Maxim Cournoyer
d234d9fa94
nongnu: Add a new nongnu-patches syntax.
* nongnu/packages.scm: New file.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2025-01-04 19:48:35 -05:00
Maxim Cournoyer
fd5a852e77
nongnu: linux-firmware: Update to 20241210.
* nongnu/packages/linux.scm (linux-firmware): Update to 20241210.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2025-01-04 19:48:33 -05:00
Karl Hallsby
6ee78bb755
nonguix: chromium-binary-build-system: Hint Electron Ozone Platform.
This should allow Electron apps to detect whether they are running on Wayland
or X11.  If they are on Wayland, then they should default to using Wayland
libraries.  This should help with HiDPI monitors, fractional scaling, and all
the other issues that Wayland solved over X11.

This environment variable is only supported by Electron versions >=28.  All
earlier versions relied on command-line arguments instead.

* nonguix/build/chromium-binary-build-system (install-wrapper): Add
ELECTRON_OZONE_PLATFORM_HINT environment variable and set to "auto".

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2025-01-04 19:40:33 -05:00
Ashish SHUKLA
e3fb39c68a
nongnu: Remove linux-4.19.
linux-libre@4.19 was removed from upstream Guix in commit
7b40b9d2d2ddafd6945f18f19f5e621086d57169 as it is no longer supported
upstream.

Fixes #361.

* nongnu/packages/linux.scm (linux-4.19): Remove variable.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2025-01-04 17:59:57 -05:00
Liam Hupfer
f44a49d309
README.org: Mention Cuirass instance.
* README.org (Substitutes for nonguix): Mention Cuirass instance.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-12-24 10:21:51 +01:00
Ashish SHUKLA
3112b76fb8
nongnu: signal-desktop: Update to 7.36.1.
* nongnu/packages/messaging.scm (signal-desktop): Update to 7.36.1.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-12-24 10:14:59 +01:00
Giacomo Leidi
87a6f757bc
nongnu: google-chrome-unstable: Update to 133.0.6847.2.
* nongnu/packages/chrome.scm (google-chrome-unstable): Update to 133.0.6847.2.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-12-24 09:53:23 +01:00
Giacomo Leidi
fc669782f0
nongnu: google-chrome-beta: Update to 132.0.6834.32.
* nongnu/packages/chrome.scm (google-chrome-beta): Update to 132.0.6834.32.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-12-24 09:53:23 +01:00
Giacomo Leidi
f92d60d0a5
nongnu: google-chrome-stable: Update to 131.0.6778.108.
* nongnu/packages/chrome.scm (google-chrome-stable): Update to 131.0.6778.108.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-12-24 09:53:23 +01:00
Hilton Chain
9730e95072
nongnu: linux-xanmod: Update to 6.12.6.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.12.6.
(linux-xanmod-source): Update hashes.
2024-12-20 17:59:19 +08:00
Hilton Chain
dd10e11910
nongnu: linux-xanmod-lts: Update to 6.6.67.
* nongnu/packages/linux.scm (linux-xanmod-lts-version): Update to 6.6.67.
(linux-xanmod-lts-source): Update hash.
2024-12-20 17:59:16 +08:00
Hilton Chain
578cef4e50
nongnu: nvidia-driver: Update to 550.142.
* nongnu/packages/nvidia.scm (nvidia-driver,nvidia-settings): Update to
550.142.
2024-12-20 17:00:54 +08:00
Hilton Chain
da06a007f8
services: nvidia: Use correct nvidia-smi.
* nongnu/services/nvidia.scm (nvidia-shepherd-service)
[nvidia-shepherd-service]: Use let*.

Reported-by: Murilo <murilo@disroot.org>
2024-12-20 17:00:54 +08:00
Hilton Chain
6dce8b9bc7
nongnu: nvidia-driver: Remove inputs already propagated from mesa.
* nongnu/packages/nvidia.scm (nvidia-driver)[inputs]: Remove libdrm, libx11,
libxcb, libxext.
2024-12-20 17:00:54 +08:00
Murilo
5678801fbb
nongnu: nvidia-driver: Add wine DLLs for DLSS.
* nongnu/packages/nvidia.scm (nvidia-driver)[arguments]<#:install-plan>:
Install NGX for Proton and Wine.

Modified-by: Hilton Chain <hako@ultrarare.space>
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-12-20 17:00:54 +08:00
Hilton Chain
88f33edcb0
nongnu: Add egl-x11.
* nongnu/packages/nvidia.scm (egl-x11): New variable.
2024-12-20 17:00:53 +08:00
Hilton Chain
e2ddc617e7
nongnu: Add egl-gbm.
* nongnu/packages/nvidia.scm (egl-gbm): New variable.
2024-12-20 17:00:52 +08:00
Tomas Volf
10e3c2bcae
nongnu: firefox-esr: Update to 128.5.2esr.
* nongnu/packages/mozilla.scm (firefox-esr): Update to 128.5.2esr.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-12-13 13:08:15 +08:00
Hilton Chain
e81013943d
nongnu: firefox: Support Guix icecat browser extensions.
* nongnu/packages/patches/firefox-use-system-wide-dir.patch: New file.
* nongnu/packages/mozilla.scm (firefox)[source]: Add it along with
firefox-esr-compare-paths.patch.
2024-12-13 13:07:47 +08:00
Hilton Chain
4fe0608a5c
nongnu: firefox-esr: Support Guix icecat browser extensions.
* nongnu/packages/patches/firefox-esr-compare-paths.patch: New file.
* nongnu/packages/patches/firefox-esr-use-system-wide-dir.patch: New file.
* nongnu/packages/mozilla.scm (firefox-esr)[source]: Add them.
[arguments]<#:configure-flags>: Allow unsigned system addons.
[native-search-paths]: Add ICECAT_SYSTEM_DIR.
2024-12-13 13:07:45 +08:00
Tomas Volf
5a7e61a0a5
nongnu: firefox: Update to 133.0.3.
* nongnu/packages/mozilla.scm (firefox): Update to 133.0.3.
2024-12-11 21:14:19 +08:00
Hilton Chain
faeed8a6a4
nongnu: linux-xanmod-lts: Update to 6.6.64.
* nongnu/packages/linux.scm (linux-xanmod-lts-version): Update to 6.6.64.
(linux-xanmod-lts-source): Update hash.
2024-12-10 12:44:39 +08:00
Hilton Chain
d14b552a6d
nongnu: linux-xanmod: Update to 6.11.11.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.11.11.
(linux-xanmod-source): Update hash.
2024-12-09 22:50:49 +08:00
John Kehayias
4aa03a3ccf
nongnu: steam: Use newer gcc for better game compatibility.
Fixes #355.

* nongnu/packages/steam-client.scm (steam-client-libs): Replace gcc with
gcc-14.
2024-12-06 23:11:26 -05:00
Hilton Chain
720df79727
nongnu: nvidia-driver: Simplify patch-elf phase.
* nongnu/packages/nvidia.scm (nvidia-driver)[inputs]: Remove libglvnd-for-nvda.
[arguments]<#:phases>: Simplify 'patch-elf.
2024-12-05 14:38:42 +08:00
Hilton Chain
825c68acea
nongnu: nvidia-driver-beta: Update to 565.57.01.
* nongnu/packages/nvidia.scm (nvidia-driver-beta): Update to 565.57.01.
[arguments]<#:phases>: Install "nvidia-pcc" binary.
(nvidia-settings-beta): Update to 565.57.01.
(nvidia-driver)[inputs]: Add libxcb, mesa-for-nvda.
[arguments]<#:phases>: Add them to RUNPATH.
2024-12-05 14:38:42 +08:00
Hilton Chain
661efb289c
nongnu: nvidia-driver: Update to 550.135.
* nongnu/packages/nvidia.scm (nvidia-driver,nvidia-settings): Update to 550.135.
2024-12-05 14:38:40 +08:00
Hilton Chain
7efff15189
nongnu: linux-xanmod: Update to 6.11.10.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.11.10.
(linux-xanmod-source): Update hash.
2024-12-02 07:24:52 +08:00
Hilton Chain
dae0193bff
nongnu: linux-xanmod-lts: Update to 6.6.63.
* nongnu/packages/linux.scm (linux-xanmod-lts-version): Update to 6.6.63.
(linux-xanmod-lts-source): Update hash.
2024-12-02 07:24:51 +08:00
Ashish SHUKLA
792d5ecba8
nongnu: signal-desktop: Update to 7.34.0.
* nongnu/packages/messaging.scm (signal-desktop): Update to 7.34.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-12-01 14:39:45 +01:00
Jonathan Brielmaier
91c0fed80d
nongnu: firefox-esr: Update to 128.5.1esr.
* nongnu/packages/mozilla.scm (firefox-esr): Update to 128.5.1esr.
2024-11-29 19:46:06 +01:00
Murilo
6e864249c2
nongnu: Add obs-nvenc.
* nongnu/packages/video.scm (obs-nvenc): New variable.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-11-28 14:26:34 +08:00
Murilo
479801db4d
nongnu: Add replace-ffmpeg-nvenc procedure for input rewriting.
* nongnu/packages/video.scm (replace-ffmpeg-nvenc): New procedure.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-11-28 14:26:28 +08:00
Murilo
0c4a83a006
nongnu: Add ffmpeg-nvenc.
* nongnu/packages/video.scm (ffmpeg-nvenc): New variable.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-11-28 14:26:10 +08:00
Murilo
af911e9b2c
nongnu: Add nv-codec-headers.
* nongnu/packages/video.scm (nv-codec-headers): New variable.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-11-28 14:26:00 +08:00
Nicolas Graves
88664240de
nongnu: Add mesa/fake-beta.
* nongnu/packages/nvidia.scm (mesa/fake-beta): New variable.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-11-28 14:25:46 +08:00
Nicolas Graves
eadb3374ab
nongnu: Add nvdb.
‘nvda’ for nvidia-driver-beta.

* nongnu/packages/nvidia.scm (nvdb): New variable.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-11-28 14:25:36 +08:00
Nicolas Graves
0d9869b5ff
nongnu: Add nvidia-settings-beta.
* nongnu/packages/nvidia.scm (nvidia-settings-beta): New variable.

Modified-by: Hilton Chain <hako@ultrarare.space>
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-11-28 14:25:23 +08:00
Nicolas Graves
eab6ec15d9
nongnu: Add nvidia-module-open-beta.
* nongnu/packages/nvidia.scm (nvidia-module-open-beta): New variable.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-11-28 14:25:09 +08:00
Nicolas Graves
63cf400ec9
nongnu: Add nvidia-module-beta.
* nongnu/packages/nvidia.scm (nvidia-module-beta): New variable.

Modified-by: Hilton Chain <hako@ultrarare.space>
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-11-28 14:24:57 +08:00
Hilton Chain
311ad8ee13
nongnu: nvidia-module: Support only x86_64-linux.
* nongnu/packages/nvidia.scm (nvidia-module)[supported-systems]: Support only
x86_64-linux.
2024-11-28 14:24:46 +08:00
Nicolas Graves
5fd10621ce
nongnu: Add nvidia-firmware-beta.
* nongnu/packages/nvidia.scm (nvidia-firmware-beta): New variable.

Modified-by: Hilton Chain <hako@ultrarare.space>
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-11-28 14:24:44 +08:00
Nicolas Graves
9814d2f566
nongnu: Add nvidia-driver-beta.
* nongnu/packages/nvidia.scm (nvidia-driver-beta): New variable.

Modified-by: Hilton Chain <hako@ultrarare.space>
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-11-28 14:24:33 +08:00
Nicolas Graves
a21f497504
import: Add %nvidia-updater.
* guix/import/nvidia.scm: New file.

Modified-by: Hilton Chain <hako@ultrarare.space>
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-11-28 14:24:24 +08:00
Nicolas Graves
3d54c63d35
nongnu: nvidia: Use explicit versions and hashes.
* nongnu/packages/nvidia.scm (nvidia-source,nvidia-settings-source): Add hash
argument.
(nvidia-driver,nvidia-settings)[version,source]: Use explicit versions and
hashes.
(nvda): Don't inherit from nvidia-driver (for updater).
(nvidia-version, %nvidia-driver-hashes,%nvidia-settings-hashes): Delete
variables.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-11-28 14:24:04 +08:00
Nicolas Graves
8a6a4a3982
nongnu: nvidia: Update source procedures.
* nongnu/packages/nvidia.scm (nvidia-driver-snippet): New variable.
(nvidia-source): Switch to ‘url-fetch’ and use it.
(nvidia-driver,nvidia-module)[source,arguments]: Adjust accordingly.
(nvidia-settings-source): New procedure.
(nvidia-settings)[source]: Use it.
(nvidia-source-unbundle-libraries,make-nvidia-source): Delete procedures.

Modified-by: Hilton Chain <hako@ultrarare.space>
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2024-11-28 14:23:54 +08:00
Jonathan Brielmaier
d8c25a0ad2
nongnu: firefox: Update to 133.0 [security fixes].
Fixes CVE-2024-11691, CVE-2024-11692, CVE-2024-11693, CVE-2024-11694,
CVE-2024-11695, CVE-2024-11696, CVE-2024-11697, CVE-2024-11698,
CVE-2024-11699, CVE-2024-11700, CVE-2024-11701, CVE-2024-11702,
CVE-2024-11703, CVE-2024-11704, CVE-2024-11705, CVE-2024-11706
and CVE-2024-11708.

* nongnu/packages/mozilla.scm (firefox): Update to 133.0.
2024-11-27 23:02:47 +01:00
Tomas Volf
8dbfc04639
nongnu: firefox-esr: Update to 128.5.0esr [security fixes].
Fixes CVE-2024-11691, CVE-2024-11692, CVE-2024-11693, CVE-2024-11694,
CVE-2024-11695, CVE-2024-11696, CVE-2024-11697, CVE-2024-11698,
CVE-2024-11699.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 128.5.0esr.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-11-26 19:19:29 +01:00
Jonathan Brielmaier
b03ec15974
nongnu: compcert: Update to 3.14.
* nongnu/packages/coq.scm (compcert): Update to 3.14.
[arguments]: Remove no longer required substitute.
2024-11-26 18:29:50 +01:00
John Kehayias
7d912c1c46
.guix-authorizations: Add comment with podiki's primary key.
* .guix-authorizations: Add comment with podiki's primary key (authorized
fingerprint is the correct subkey).
2024-11-26 12:01:47 -05:00
John Kehayias
3cdafc4802
.guix-authorizations: Add hako to committers.
* .guix-authorizations: Add fingerprint for hako.
2024-11-26 12:00:24 -05:00
Maxim Cournoyer
d9f5fc57b3
nongnu: linux-firmware: Update to 20241110.
* nongnu/packages/linux.scm (linux-firmware): Update to 20241110.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-11-23 00:38:24 +01:00
Timotej Lazar
64314bba83
nongnu: intel-microcode: Update to 20241112 [security-fixes].
Fixes CVE-2024-21820, CVE-2024-21853, CVE-2024-23918.

* nongnu/packages/linux.scm (intel-microcode): Update to 20241112.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-11-23 00:30:47 +01:00
Attila Lendvai
99574ff94b
nonguix: binary-build-system: Print the patchelf version.
* nonguix/build/binary-build-system.scm (patchelf): Output patchelf version.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-11-10 16:46:13 -05:00
John Kehayias
f82534a8a8
build-system: binary: Add comment about patchelf version.
This is a followup to commit c7e6962eb3.

* nonguix/build-system/binary.scm (default-patchelf): Add comment and TODO
about using older patchelf-0.16 due to upstream bug.

Reported-by: Attila Lendvai <attila@lendvai.name>
2024-11-10 16:24:17 -05:00
Rutherther
425f3ee3dd
nongnu: firefox-esr: Wrap with pipewire.
Firefox needs pipewire in LD_LIBRARY_PATH for screensharing on Wayland,
otherwise the screensharing just won't start.

* nongnu/packages/mozilla.scm (firefox-esr)[arguments]: Add pipewire
lib path to LD_LIBRARY_PATH variable in 'wrap-program phase.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-11-10 16:14:18 -05:00
Timotej Lazar
c60ade9082
nongnu: intel-microcode: Update to 20241029.
* nongnu/packages/linux.scm (intel-microcode): Update to 20241029.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-11-10 16:12:50 -05:00
Hilton Chain
e6eccd3891
nongnu: linux-xanmod: Update to 6.11.7.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.11.7.
(linux-xanmod-source): Update hashes.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-11-10 16:12:04 -05:00
Hilton Chain
b79ef566ba
nongnu: linux-xanmod-lts: Update to 6.6.60.
* nongnu/packages/linux.scm (linux-xanmod-lts-version): Update to 6.6.60.
(linux-xanmod-lts-source): Update hash.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-11-10 16:12:02 -05:00
Hilton Chain
c7e6962eb3
build-system: binary: Use patchelf-0.16 by default.
Newer patchelf may break binaries.

This commit replaces patchelf with patchelf-0.16 for binary-build-system and
nvidia-driver (known affected package).

Fixes: https://gitlab.com/nonguix/nonguix/-/issues/350

* nonguix/build-system/binary.scm (default-patchelf): Replace patchelf with
patchelf-0.16.
* nongnu/packages/nvidia.scm (nvidia-driver)[native-inputs]: Likewise.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-11-10 16:11:07 -05:00
John Kehayias
3b78eca656
nongnu: linux-6.10: Remove variable.
linux-libre-6.10 is set to be dropped by upstream Guix, see
<https://issues.guix.gnu.org/74168>.  So, let's remove before then to prevent
guix pull from breaking due to a missing variable.

* nongnu/packages/linux.scm (linux-6.10): Remove variable.
2024-11-05 13:43:55 -05:00
John Kehayias
141db409ef
nongnu: linux: Set to linux-6.11.
Upstream set the default kernel to 6.11 in
<https://git.savannah.gnu.org/cgit/guix.git/commit/?id=00cb8509a46115950173f5a217abea43faa5515c>.

* nongnu/packages/linux.scm (linux): Set to linux-6.11.
2024-11-05 13:42:11 -05:00
Isaac van Bakel
9f065c321e
nongnu: kind: Fix baked-in source in unpack overrides.
* nongnu/packages/k8s.scm (kind)[#:phases]<unpack>: Replace #$source by
keyword argument source.

Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2024-11-03 13:05:26 +01:00
Isaac van Bakel
e72d4a7741
nongnu: helm-kubernetes: Fix baked-in source in unpack overrides.
* nongnu/packages/k8s.scm (helm-kubernetes)[#:phases]<unpack>: Replace source
G-expression by keyword argument source.

Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2024-11-03 13:05:26 +01:00
Isaac van Bakel
ba4c8bdd42
nongnu: kompose: Fix baked-in source in unpack overrides.
* nongnu/packages/k8s.scm (kompose)[#:phases]<unpack>: Replace #$source by
keyword argument source.

Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2024-11-03 13:05:26 +01:00
Isaac van Bakel
b91474f15e
nongnu: kubectl: Fix baked-in source in unpack overrides.
* nongnu/packages/k8s.scm (kubectl)[#:phases]<unpack>: Replace #$source by
keyword argument source.

Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2024-11-03 13:05:26 +01:00
Isaac van Bakel
c1fb20ea53
nongnu: katenary: Fix baked-in source in unpack overrides.
* nongnu/packages/k8s.scm (katenary)[#:phases]<unpack>: Replace #$source by
keyword argument source.

Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2024-11-03 13:05:26 +01:00
Isaac van Bakel
d0e6e969ed
nongnu: k9s: Fix baked-in source in unpack overrides.
* nongnu/packages/k8s.scm (k9s)[#:phases]<unpack>: Replace #$source by keyword
argument source.

Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2024-11-03 13:05:26 +01:00
Isaac van Bakel
bb03bb5dba
nongnu: vscodium: Fix baked-in source in unpack overrides.
* nongnu/packages/editors.scm (vscodium)[#:phases]<unpack>: Replace source
G-expression by keyword argument source.

Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2024-11-03 13:05:26 +01:00
Isaac van Bakel
aa1bfa802f
nongnu: zoom: Fix baked-in source in unpack overrides.
* nongnu/packages/messaging.scm (zoom)[#:phases]<unpack>: Replace #$source by
keyword argument source.

Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2024-11-03 13:05:26 +01:00
Isaac van Bakel
9734a6a1fe
nongnu: nvidia-nvml: Fix baked-in source in unpack overrides.
* nongnu/packages/nvidia.scm (nvidia-nvml)[#:phases]<unpack>: Replace source
G-expression by keyword argument source.

These cases of `replace 'unpack` were referring to the `#$source` of the
package in the g-exp, which was baking in the source *at the point of
package definition* to the g-exp. This prevented inheritor packages from
modifying the source field and getting the expected effect.

The correct way to refer to the source field from a phase override is
with the `source` key. This modifies all the references to `#$source` I
could find in `unpack` phase replacements.

Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2024-11-03 13:05:26 +01:00
Giacomo Leidi
00e2480d23
nongnu: google-chrome-unstable: Update to 131.0.6738.0.
* nongnu/packages/chrome.scm (google-chrome-unstable): Update to 131.0.6738.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-11-01 23:06:16 +01:00
Giacomo Leidi
831f184a7d
nongnu: google-chrome-beta: Update to 130.0.6723.19.
* nongnu/packages/chrome.scm (google-chrome-beta): Update to 130.0.6723.19.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-11-01 23:06:16 +01:00
Giacomo Leidi
459700a58a
nongnu: google-chrome-stable: Update to 129.0.6668.89.
* nongnu/packages/chrome.scm (google-chrome-stable): Update to 129.0.6668.89.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-11-01 23:06:16 +01:00
Giacomo Leidi
a3bdbb9ec1
nongnu: anytype: Update to 0.43.1.
* nongnu/packages/productivity.scm (anytype): Update to 0.43.1.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-11-01 22:55:01 +01:00
Rodion Goritskov
883c28fcec
nongnu: lgogdownloader: Update to 3.15.
* nongnu/packages/gog.scm (lgogdownloader): Update to 3.15.
[inputs]: Remove htmlcxx, liboauth, qtbase-5, qtdeclarative-5,
qtwebchannel-5. Add tidy-hmtl. Replace qtwebengine-5 with qtwebengine.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-11-01 22:52:31 +01:00
Tomas Volf
714db288db
nongnu: firefox-esr: Update to 128.4.0esr [security fixes].
Fixes CVE-2024-10458, CVE-2024-10459, CVE-2024-10460, CVE-2024-10461,
CVE-2024-10462, CVE-2024-10463, CVE-2024-10464, CVE-2024-10465,
CVE-2024-10466, CVE-2024-10467.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 128.4.0esr.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-10-31 10:54:15 +01:00
Leo Famulari
ad966c3844
nongnu: Add linux 6.11.
* nongnu/packages/linux.scm (linux-6.11): New variable.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-10-20 16:22:40 -04:00
John Kehayias
d47b2f5a7b
nongnu: firefox: Update to 131.0.3 [security fixes].
Fixes CVE-2024-9936 and, in previous versions since 130.0.1, CVE-2024-9680,
CVE-2024-9391, CVE-2024-9392, CVE-2024-9393, CVE-2024-9394, CVE-2024-9395,
CVE-2024-9396, CVE-2024-9397, CVE-2024-9398, CVE-2024-9399, CVE-2024-9400,
CVE-2024-9401, CVE-2024-9402, and CVE-2024-9403.

Upstream removed firefox.desktop files which can be generated from their mach
tool.  However, this will try to download various dependencies.  So, for now
at least, use a patch which reverts that commit so we can use the included
desktop file.  In Arch, for example, they include a separate pre-generated
desktop file rather than doing this at build time.

* nongnu/packages/mozilla.scm (firefox): Update to 131.0.3.
* nongnu/packages/patches/firefox-CVE-2024-9680.patch: Delete patch.
* nongnu/packages/patches/firefox-restore-desktop-files.patch: Add patch.
2024-10-19 01:26:32 -04:00
Zhu Zihao
14c3e1fdc8
nongnu: winetricks: Improve package style.
* nongnu/packages/wine.scm (winetricks)[inputs]: Use label-less style.
[arguments]: Use G-expressions.
<#:make-flags>: Replace '(assoc-ref %outputs "out")' with '#$output'.
<#:phases>: In 'wrap-program' and 'patch-perl-path', Replace
'(assoc-ref inputs ...)' with 'this-package-input'.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-10-18 15:01:05 -04:00
Maxim Cournoyer
8cffc6b168
nongnu: linux-firmware: Use Zstd compression.
This halves the size of the firmware collection from 1.1 GiB to 509 MiB.

* nongnu/packages/linux.scm (linux-firmware)[phases]: Override install phase.
[native-inputs]: Add zstd.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-10-18 14:51:28 -04:00
Maxim Cournoyer
15fa7d02b6
nongnu: linux-firmware: Update to 20241017.
* nongnu/packages/linux.scm (linux-firmware): Update to 20241017.
[arguments]<#:phases>: New keyword argument.  Add 'patch-out-check_whence.py phase.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-10-18 14:20:03 -04:00
Maxim Cournoyer
630dc221ab
nongnu: Add mediatek-firmware.
* nongnu/packages/linux.scm (mediatek-firmware): New variable.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-10-18 14:15:26 -04:00
Julian Flake
38f77e9399
nongnu: sof-firmware: Update to 2024.09.
* nongnu/packages/linux.scm (sof-firmware): Update to 2024.09.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-10-18 13:58:33 -04:00
Gabriel Wicki
1fa6d4c194
nongnu: signal-desktop: Update to 7.28.0.
* nongnu/packages/messaging.scm (signal-desktop): Update to 7.28.0.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-10-18 13:57:22 -04:00
Hilton Chain
e355a2ff67
nongnu: firefox: Fix CVE-2024-9680.
* nongnu/packages/patches/firefox-CVE-2024-9680.patch: New file.
* nongnu/packages/mozilla.scm (firefox)[source]<patches>: Add it.
(%firefox-build-id): Update.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-10-11 00:03:14 +02:00
Tomas Volf
db0bb9d0a6
nongnu: firefox-esr: Update to 128.3.1esr [security fixes].
Fixes CVE-2024-9680.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 128.3.1esr.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-10-10 10:46:30 +02:00
Ashish SHUKLA
ea84538b88
nonguix: binary: Improve .deb unpacking.
.deb could contain data.tar compressed in any format, not just .xz as it
assumes now.

* nonguix/build/binary-build-system (unpack-deb): find a data.tar archive to
extract.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-10-02 23:25:02 +02:00
Krzysztof Baranowski
2be61e5d23
nongnu: font-apple-sf-symbols: Update to 6.
* nongnu/packages/fonts (font-apple-sf-symbols): Update to 6.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-10-02 22:43:12 +02:00
Krzysztof Baranowski
3e986ae6eb
nongnu: font-apple-new-york: Update source archive.
No visible version change but all the other Apple font packages got an
update to a newer internet archive timestamp so New York gets one too.

* nongnu/packages/fonts (font-apple-new-york): Update source archive.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-10-02 22:43:12 +02:00
Krzysztof Baranowski
c21ece1b05
nongnu: font-apple-sf-arabic: Update to 20.0d8e1.
* nongnu/packages/fonts (font-apple-sf-arabic): Update to 20.0d8e1.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-10-02 22:43:12 +02:00
Krzysztof Baranowski
6a9fb8ea30
nongnu: font-apple-sf-mono: Update to 20.0d8e1.
* nongnu/packages/fonts (font-apple-sf-mono): Update to 20.0d8e1.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-10-02 22:43:12 +02:00
Krzysztof Baranowski
c2712c15ab
nongnu: font-apple-sf-compact: Update to 20.0d8e1.
* nongnu/packages/fonts (font-apple-sf-compact): Update to 20.0d8e1.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-10-02 22:43:12 +02:00
Krzysztof Baranowski
62cbdd9112
nongnu: font-apple-sf-pro: Update to 20.0d8e1.
* nongnu/packages/fonts (font-apple-sf-pro): Update to 20.0d8e1.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-10-02 22:43:12 +02:00
Tomas Volf
cd0932c23c
nongnu: firefox-esr: Update to 128.3.0esr [security fixes].
Fixes CVE-2024-8900, CVE-2024-9392, CVE-2024-9393, CVE-2024-9394,
CVE-2024-9396, CVE-2024-9397, CVE-2024-9398, CVE-2024-9399,
CVE-2024-9400, CVE-2024-9401, CVE-2024-9402.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 128.3.0esr.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-10-02 22:32:58 +02:00
Julian Flake
820e171503
nongnu: sof-firmware: Also install sof-ace-tplg.
* nongnu/packages/linux.scm (sof-firmware)[arguments]<#:install-plan>: Also
install sof-ace-tplg.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-09-29 16:23:25 -04:00
Julian Flake
b2ce94fe65
nongnu: sof-firmware: Update to 2024.06.
* nongnu/packages/linux.scm (sof-firmware): Update to 2024.06.
[arguments]: Adapt install plan.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-09-22 21:34:12 +02:00
Giacomo Leidi
269997b06c
nongnu: anytype: Update to 0.42.4.
* nongnu/packages/productivity.scm (anytype): Update to 0.42.4.
[arguments]<#:phases>: Add disable-auto-updates and strip-regedit phases.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-09-22 15:24:58 -04:00
Krzysztof Baranowski
a26aa5ecad
nongnu: facetimehd: Update to 0.6.8.2.
* nongnu/packages/linux.scm (facetimehd): Update to 0.6.8.2.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-09-22 15:22:46 -04:00
Krzysztof Baranowski
1f6e595e26
nongnu: google-chrome: support GTK 4.
Use it by launching Chrome with '--gtk-version=4'.  (At the time of this
writing, at least; Google changes these flags often.)

* nongnu/packages/chrome (google-chrome):
[inputs]: Add gtk.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-09-22 15:21:23 -04:00
Hilton Chain
fc5e2c7cb6
nongnu: nvidia-driver: Update to 550.120.
* nongnu/packages/nvidia.scm (nvidia-version): Update to 550.120.
(%nvidia-driver-hashes,%nvidia-settings-hashes): Update hash.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-09-22 15:15:31 -04:00
Hilton Chain
74b354fc26
nongnu: nvidia: Separate hash storage.
* nongnu/packages/nvidia.scm (%nvidia-driver-hashes,%nvidia-settings-hashes):
New variables.
(nvidia-source,nvidia-settings): Use them.
(nvidia-source-hash): Delete procedure.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-09-22 15:15:29 -04:00
Hilton Chain
3c3870a964
nongnu: linux-xanmod: Update to 6.10.11.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.10.11.
(linux-xanmod-source): Update hashes.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-09-22 15:13:23 -04:00
Hilton Chain
6af4aa2947
nongnu: linux-xanmod-lts: Update to 6.6.52.
* nongnu/packages/linux.scm (linux-xanmod-lts-version): Update to 6.6.52.
(linux-xanmod-lts-source): Update hash.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-09-22 15:13:21 -04:00
Tomas Volf
29500f81d4
nongnu: firefox: Update to 130.0.1.
* nongnu/packages/mozilla.scm (firefox): Update to 130.0.1.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-09-22 15:08:08 -04:00
John Kehayias
99a4773155
nongnu: signal-desktop: Update to 7.24.1.
* nongnu/packages/messaging.scm (signal-desktop): Update to 7.24.1.
2024-09-14 15:53:48 -04:00
John Kehayias
e56f2bebc5
nongnu: element-desktop: Update to 1.11.77.
* nongnu/packages/messaging.scm (element-desktop): Update to 1.11.77.
2024-09-14 15:52:00 -04:00
Maxim Cournoyer
b8d6f9b913
nongnu: linux-firmware: Update to 20240909.
This resolves the 'amdgpu [drm] *ERROR* dc_dmub_srv_log_diagnostic_data: DMCUB
error - collecting diagnostic data' visible in `dmesg' when using the
integrated GPU of an AMD 9950x CPU (see:
<https://lore.kernel.org/amd-gfx/Zo4Z2yCK4RrYtJKo@glanzmann.de/>).

* nongnu/packages/linux.scm (linux-firmware): Update to 20240909.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-09-12 15:27:48 -04:00
Timotej Lazar
6b54040cb4
nongnu: intel-microcode: Update to 20240910 [security-fixes].
Fixes CVE-2024-24968, CVE-2024-23984.

* nongnu/packages/linux.scm (intel-microcode): Update to 20240910.

Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2024-09-11 11:41:01 +02:00
Tomas Volf
e6b3bb87a4
dyalog-apl: Use %default-gnu-imported-modules.
%gnu-build-system-modules is deprecated, so let us use
%default-gnu-imported-modules instead as the warning suggests.

* nongnu/packages/dyalog.scm (dyalog-apl)[arguments]<#:modules>: Use
%default-gnu-imported-modules instead of %gnu-build-system-modules.

Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2024-09-04 15:20:47 +02:00
Tomas Volf
fe9e92c924
firefox-esr: Use %default-gnu-imported-modules.
%gnu-build-system-modules is deprecated, so let us use
%default-gnu-imported-modules instead as the warning suggests.

* nongnu/packages/mozilla.scm (firefox-esr)[arguments]<#:modules>: Use
%default-gnu-imported-modules instead of %gnu-build-system-modules.

Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2024-09-04 15:20:04 +02:00
Tomas Volf
bcdd831723
nongnu: firefox-esr: Update to 128.2.0esr [security fixes].
Fixes CVE-2024-8381, CVE-2024-8382, CVE-2024-8383, CVE-2024-8384,
CVE-2024-8385, CVE-2024-8386, CVE-2024-8387.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 128.2.0esr.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-09-03 16:15:33 -04:00
Tomas Volf
1e43499900
nongnu: firefox: Update to 130.0 [security fixes].
Fixes CVE-2024-8381, CVE-2024-8382, CVE-2024-8383, CVE-2024-8384,
CVE-2024-8385, CVE-2024-8386, CVE-2024-8387, CVE-2024-8388,
CVE-2024-8389.

* nongnu/packages/mozilla.scm (firefox): Update to 130.0.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-09-03 16:15:24 -04:00
John Kehayias
60f719b400
nongnu: signal-desktop: Update to 7.22.2.
* nongnu/packages/messaging.scm (signal-desktop): Update to 7.22.2.
2024-09-03 16:10:15 -04:00
John Kehayias
b6bb627631
nongnu: element-desktop: Update to 1.11.76 [security fixes].
Previous versions fix CVE-2024-42369.

* nongnu/packages/messaging.scm (element-desktop): Update to 1.11.76.
2024-09-03 16:08:35 -04:00
John Kehayias
1843650500
nongnu: steam-client: Fix build.
It is unclear why steam failed to build post-core-updates merge in Guix, with
errors like:

In guix/build/utils.scm:
    761:4  0 (alist-cons-after patch-dot-desktop-files # #<procedur?> ?)

guix/build/utils.scm:761:4: In procedure alist-cons-after:
Throw to key `match-error' with args `("match" "no matching pattern" ())'.

The fix is to reorder and rename some phases which apparently don't exist.

* nongnu/packages/game-client.scm (steam-client)[arguments]<phases>: Reorder
the deletion of 'patch-dot-desktop-files to after 'patch-desktop-file (which
tried to add after this now deleted phases).  Change the 'post-install phase
to add after 'install ('install-binaries doesn't exist').
2024-08-31 17:54:34 -04:00
Krzysztof Baranowski
0f2e067ad0
nongnu: unrar: Update to 7.0.9.
* nongnu/packages/compression (unrar): Update to 7.0.9.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-08-30 00:08:52 -04:00
Giacomo Leidi
47983a25db
nongnu: google-chrome-unstable: Update to 129.0.6643.2.
* nongnu/packages/chrome.scm (google-chrome-unstable): Update to 129.0.6643.2.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-08-30 00:07:25 -04:00
Giacomo Leidi
30ebd4262d
nongnu: google-chrome-beta: Update to 128.0.6613.27.
* nongnu/packages/chrome.scm (google-chrome-beta): Update to 128.0.6613.27.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-08-30 00:07:17 -04:00
Giacomo Leidi
55c8b9b212
nongnu: google-chrome-stable: Update to 127.0.6533.119.
* nongnu/packages/chrome.scm (google-chrome-stable): Update to 127.0.6533.119.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-08-30 00:07:05 -04:00
John Kehayias
dc7daa560e
nongnu: Remove icu4c-73.
This version of icu4c is in Guix and made public in
cf842e9b20b89ecb08ac3456a91780ec07b5a201.  This also failed to build on the
core-updates nonguix build due to a test failure which should be fixed in Guix
with 7937c8827b8d23347a3159b4696335bd19fc17aa.

* nongnu/packages/mozilla.scm (icu4c-73): Delete variable.
2024-08-29 19:43:09 -04:00
Jonathan Brielmaier
1d7c890926
nongnu: linux-6.9: Remove variable.
`linux-libre-6.9` was dropped by Upstream Guix.
Fixes https://gitlab.com/nonguix/nonguix/-/issues/344

* nongnu/packages/linux.scm (linux-6.9): Remove variable.
2024-08-27 08:00:20 +02:00
Jonathan Brielmaier
df623c6cd5
nongnu: linux: Set to linux-6.10.
`linux-6.9` was removed from upstream Guix.

* nongnu/packages/linux.scm (linux): Set to `linux-6.10`.
2024-08-27 07:59:06 +02:00
John Kehayias
8d982af6fd
README.org: Clarify installation media channels procedure.
* README.org (Installation image): Current installation media does not need
manual channel configuration. Move instructions on adding the nonguix
channel during installation to ...
(Important note for 1.4.0): ... this new subsection.

Co-authored-by: Hilton Chain <hako@ultrarare.space>
2024-08-26 12:02:51 -04:00
Ashish SHUKLA
6c3b84b0be
nongnu: kind: Update to 0.24.0.
* nongnu/packages/k8s.scm (kind): Update to 0.24.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-08-21 11:20:09 +02:00
Ashish SHUKLA
016cfc5775
nongnu: helm-kubernetes: Update to 3.15.4.
* nongnu/packages/k8s.scm (helm-kubernetes): Update to 3.15.4.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-08-21 11:20:09 +02:00
Ashish SHUKLA
6fc333ec18
nongnu: kompose: Update to 1.34.0.
* nongnu/packages/k8s.scm (komposer): Update to 1.34.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-08-21 11:20:09 +02:00
Ashish SHUKLA
20a6327134
nongnu: kubectl: Update to 1.31.0.
* nongnu/packages/k8s.scm (kubectl): Update to 1.31.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-08-21 11:20:09 +02:00
Tomas Volf
94935f300d
nongnu: firefox: Update to 129.0.2.
* nongnu/packages/mozilla.scm (firefox): Update to 129.0.2.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-08-21 11:13:15 +02:00
Giacomo Leidi
32cc099af9
nongnu: anytype: Update to 0.42.3.
* nongnu/packages/productivity.scm (anytype): Update to 0.42.3.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-08-17 16:54:50 +02:00
Giacomo Leidi
69cf1764db
nongnu: vscodium: Update to 1.92.1.24225.
* nongnu/packages/editors.scm (vscodium): Update to 1.92.1.24225.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-08-17 16:53:57 +02:00
Timotej Lazar
efdd540f5e
nongnu: intel-microcode: Update to 20240813 [security-fixes].
Fixes CVE-2023-42667, CVE-2023-49141, CVE-2024-24853, CVE-2024-24980,
CVE-2024-25939.

* nongnu/packages/linux.scm (intel-microcode): Update to 20240813.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-08-17 16:52:45 +02:00
Tomas Volf
a3f0f98034
nongnu: firefox: Update to 129.0.1.
* nongnu/packages/mozilla.scm (firefox): Update to 129.0.1.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-08-17 16:47:24 +02:00
Katherine Cox-Buday
598738cb95
nongnu: linux-firmware: Update to 20240811 [security fixes].
Fixes CVE-2023-31315.

* nongnu/packages/linux.scm (linux-firmware): Update to 20240811.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-08-13 13:06:33 -04:00
Dariqq
57d6d0cd4b
nongnu: element-desktop: Update to 1.11.72.
* nongnu/packages/messaging.scm (element-desktop): Update to 1.11.72.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-08-08 22:26:24 +02:00
Dariqq
92d4729bc6
nongnu: signal-desktop: Update to 7.18.0.
* nongnu/packages/messaging.scm (signal-desktop): Update to 7.18.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-08-08 22:26:24 +02:00
Tomas Volf
21f160ee83
nongnu: firefox-esr: Update to 128.1.0esr [security fixes].
Fixes CVE-2024-7518, CVE-2024-7519, CVE-2024-7520, CVE-2024-7521,
CVE-2024-7522, CVE-2024-7524, CVE-2024-7525, CVE-2024-7526,
CVE-2024-7527, CVE-2024-7528, CVE-2024-7529, CVE-2024-7531.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 128.1.0esr.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-08-08 22:25:54 +02:00
Tomas Volf
ee166d55db
nongnu: firefox: Update to 129.0 [security fixes].
Fixes CVE-2024-7518, CVE-2024-7519, CVE-2024-7520, CVE-2024-7521,
CVE-2024-7522, CVE-2024-7523, CVE-2024-7524, CVE-2024-7525,
CVE-2024-7526, CVE-2024-7527, CVE-2024-7528, CVE-2024-7529,
CVE-2024-7530, CVE-2024-7531.

* nongnu/packages/mozilla.scm (firefox): Update to 129.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-08-08 22:06:41 +02:00
Ashish SHUKLA
1b0594dc53
nongnu: linux-xanmod-lts: Update to 6.6.43.
* nongnu/packages/linux.scm (linux-xanmod-lts-version): Update to 6.6.43.
  (linux-xanmod-lts-source): Update hash.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-31 20:15:36 +02:00
Ashish SHUKLA
8b3999be51
nongnu: linux-xanmod: Update to 6.9.12.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.9.12.
  (linux-xanmod-source): Update hash.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-31 20:15:36 +02:00
Dariqq
6ffbeaf331
nongnu: Add linux 6.10.
* nongnu/packages/linux.scm (linux-6.10): New variable.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-31 20:14:36 +02:00
Tomas Volf
3c8465d2eb
nongnu: firefox: Update to 128.0.3.
* nongnu/packages/mozilla.scm (firefox): Update to 128.0.3.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-26 18:21:54 +02:00
Tomas Volf
dbbd1bd9a0
nongnu: firefox: Update to 128.0.2.
* nongnu/packages/mozilla.scm (firefox): Update to 128.0.2.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-24 23:06:34 +02:00
Karl Hallsby
3fb11bd107
nongnu: Add zotero.
* nongnu/packages/productivity.scm (zotero): New variable.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-23 18:12:15 +02:00
Jonathan Brielmaier
05df998a00
nongnu: signal-desktop: Update to 7.16.0.
* nongnu/packages/messaging.scm (signal-desktop): Update to 7.16.0.
2024-07-22 23:32:24 +02:00
Ashish SHUKLA
cc0f27fb8d
nongnu: kind: Update to 0.23.0
* nongnu/packages/k8s.scm (kind): Update to 0.23.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-20 20:16:47 +02:00
Ashish SHUKLA
663d6ca760
nongnu: k9s: Update to 0.32.5.
* nongnu/packages/k8s.scm (k9s): Update to 0.32.5.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-20 20:16:08 +02:00
Ashish SHUKLA
2e7c5c0653
nongnu: kubectl: Update to 1.30.3.
* nongnu/packages/k8s.scm (kubectl): Update to 1.30.3.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-20 20:15:15 +02:00
Ashish SHUKLA
b8f18f41d7
nongnu: linux-xanmod-lts: Update to 6.6.39.
* nongnu/packages/linux.scm (linux-xanmod-lts-version): Update to
  6.6.39. (linux-xanmod-lts-source): Update hash.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-20 20:14:17 +02:00
Ashish SHUKLA
1ab9aeb738
nongnu: linux-xanmod: Update to 6.9.9.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.9.9.
  (linux-xanmod-source): Update hash.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-20 20:14:17 +02:00
Ada Stevenson
7a44d01a7f
nongnu: anydesk: Update to 6.3.2-1.
* nongnu/packages/anydesk.scm (anydesk): Update to 6.3.2-1.
[source]: Update uri.
[arguments]: <#:patchelf-plan>: Adjust binary path.
<#:install-plan>: Adjust source file paths.
<#:phases>: Replace 'binary-unpack' phase with one that handles the source .deb file properly.
Adjust 'install-desktop-entry' phase to find source files.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-20 20:10:48 +02:00
Brice Waegeneire
a6d95345e0
nongnu: firefox: Fix WM Class.
* nongnu/packages/mozilla.scm (firefox-esr)[arguments]: Set the
MOZ_APP_REMOTINGNAME environment variable and replace "Navigator" with
"Firefox" in firefox.desktop.

Fixes #325.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-16 20:35:50 +02:00
Tomas Volf
9fe6f0751b
nongnu: firefox: Update to 128.0 [security fixes].
Fixes CVE-2024-6600, CVE-2024-6601, CVE-2024-6602, CVE-2024-6603,
CVE-2024-6604, CVE-2024-6605, CVE-2024-6606, CVE-2024-6607,
CVE-2024-6608, CVE-2024-6609, CVE-2024-6610, CVE-2024-6611,
CVE-2024-6612, CVE-2024-6613, CVE-2024-6614, CVE-2024-6615.

* nongnu/packages/mozilla.scm (firefox): Update to 128.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-10 09:21:38 +02:00
Tomas Volf
f2c953b06b
nongnu: firefox-esr: Update to 128.0esr [security fixes].
Fixes CVE-2024-6600, CVE-2024-6601, CVE-2024-6602, CVE-2024-6603,
CVE-2024-6604.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 128.0esr.
[arguments]<#:phases>: Update 'remove-cargo-frozen-flag.
[native-inputs]: Update rust-cbindgen-0.26.
(rust-firefox-esr): Use rust-1.77.
(firefox)[arguments]<#:phases>: Delete 'remove-cargo-frozen-flag.
[native-inputs]: Drop replace of rust-cbindgen.  Use clang-18, the default
one (13) fails to compile this version of firefox.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-10 09:21:38 +02:00
Ada Stevenson
d0aa4061ce
nongnu: linux-firmware: Update to 20240610.
* nongnu/packages/linux.scm (linux-firmware): Update to 20240610.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-10 09:11:46 +02:00
Danny Milosavljevic
831f3ff142
nongnu: vscodium: Automatically try wayland.
* nongnu/packages/editors.scm (vscodium): Automatically try wayland.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-07 12:24:57 +02:00
Tomas Volf
5a2de72b98
nongnu: firefox: Use rust-1.77.
Efraim was kind enough to add rust versions up to the current 1.79 into the
Guix, however the default version was not changed yet.  That means we can drop
our firefox-rust-1.76 and just use regular rust-1.77.

* nongnu/packages/mozilla.scm (firefox-rust-1.76): Delete variable.
(rust-firefox): Define as `rust-1.77'.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-07-07 12:19:15 +02:00
John Kehayias
ea5ace7f2d
nongnu: element-desktop: Update to 1.11.69.
* nongnu/packages/messaging.scm (element-desktop): Update to 1.11.69.
2024-06-26 14:58:27 -04:00
Tomas Volf
35cba956ad
nongnu: firefox: Update to 127.0.2.
* nongnu/packages/mozilla.scm (firefox): Update to 127.0.2.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-06-26 14:54:08 -04:00
Yelninei
877ed8cc4e
build-system/chromium-binary: Remove references to source.
Previously the resulting store object would also depend on the source.

* nonguix/build-system/chromium-binary.scm (lower): Remove reference to source
in #:wrap-inputs.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
Tested-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-06-21 16:05:24 +02:00
Giacomo Leidi
1dcd866842
nongnu: google-chrome-unstable: Update to 128.0.6535.2.
* nongnu/packages/chrome.scm (google-chrome-unstable): Update to 128.0.6535.2.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-06-20 21:13:32 +02:00
Giacomo Leidi
409b050f94
nongnu: google-chrome-beta: Update to 127.0.6533.4.
* nongnu/packages/chrome.scm (google-chrome-beta): Update to 127.0.6533.4.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-06-20 21:13:32 +02:00
Giacomo Leidi
965c0d251d
nongnu: google-chrome-stable: Update to 126.0.6478.114.
This update includes 6 security fixes.

Fixes CVE-2024-6100, CVE-2024-6101, CVE-2024-6102, CVE-2024-6103.

* nongnu/packages/chrome.scm (google-chrome-stable): Update to 126.0.6478.114.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-06-20 21:13:32 +02:00
Giacomo Leidi
c10fc3e3a7
nongnu: anytype: Update to 0.41.0.
* nongnu/packages/productivity.scm (anytype): Update to 0.41.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-06-20 21:12:11 +02:00
Tomas Volf
75eccbccc8
nongnu: firefox: Update to 127.0.1.
* nongnu/packages/mozilla.scm (firefox): Update to 127.0.1.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-06-20 21:08:44 +02:00
Jonathan Brielmaier
1d8f477b6d
nongnu: signal-desktop: Update to 7.12.0.
* nongnu/packages/messaging.scm (signal-desktop): Update to 7.12.0.
2024-06-18 23:29:15 +02:00
Adam
b9bca55efc
nongnu: Remove linux-6.8.
linux-libre@6.8 got removed from upstream Guix.

* nongnu/packages/linux.scm (linux-6.8): Remove variable.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-06-17 23:59:30 +02:00
Tomas Volf
8a0e6588ee
nongnu: firefox: Update to 127.0 [security fixes].
Fixes CVE-2024-5687, CVE-2024-5688, CVE-2024-5689, CVE-2024-5690,
CVE-2024-5691, CVE-2024-5692, CVE-2024-5693, CVE-2024-5694,
CVE-2024-5695, CVE-2024-5696, CVE-2024-5697, CVE-2024-5698,
CVE-2024-5699, CVE-2024-5700, CVE-2024-5701.

Firefox 127 requires rust >= 1.76 which is currently not in upstream Guix. So
lets bootstrap one.

I took the liberty of adjusting the comment above rust-firefox-esr to use
better link and properly explain why `rust' is used, since it did not really
match the original wording.

* nongnu/packages/mozilla.scm (firefox): Update to 127.0.
(firefox-rust-1.76): New variable.
(rust-firefox): Re-define to firefox-rust-1.76.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-06-15 10:47:41 +02:00
Tomas Volf
82335c1bf5
nongnu: firefox-esr: Update to 115.12.0esr [security fixes].
Fixes CVE-2024-5688, CVE-2024-5690, CVE-2024-5691, CVE-2024-5692,
CVE-2024-5693, CVE-2024-5696, CVE-2024-5700, CVE-2024-5702.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 115.12.0esr.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-06-12 19:37:37 +02:00
Jonathan Brielmaier
143b597422
nongnu: rtl8821ce-linux-module: Update to 0.0.0-12.f119398.
* nongnu/packages/linux.scm (rtl8821ce-linux-module): Update to 0.0.0-12.f119398.
2024-06-04 18:25:48 +02:00
Jonathan Brielmaier
1c14223ced
nongnu: linux: Update the default linux package to the 6.9 series.
Upstream Guix updated linux-libre yesterday:
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=5d3edff1a604414a3c42b89fcbc007e9d573993d

* nongnu/packages/linux.scm (linux): Use linux-6.9.
2024-06-04 18:05:45 +02:00
Hilton Chain
ad46caa248
nongnu: linux-xanmod: Update to 6.9.3.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.9.3.
(linux-xanmod-source): Update hashes.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-06-04 17:59:48 +02:00
Hilton Chain
3592646f8d
nongnu: linux-xanmod-lts: Update to 6.6.32.
* nongnu/packages/linux.scm (linux-xanmod-lts-version): Update to 6.6.32.
(linux-xanmod-lts-source): Update hash.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-06-04 17:59:43 +02:00
Timotej Lazar
e6692e7f07
nongnu: intel-microcode: Update to 20240531.
* nongnu/packages/linux.scm (intel-microcode): Update to 20240531.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-06-01 11:08:15 +02:00
Leo Famulari
5ba636cbef
nongnu: Add linux 6.9.
* nongnu/packages/linux.scm (linux-6.9): New variable.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-06-01 10:21:28 +02:00
Rostislav Svoboda
1a7a7a2a6d
nongnu: fix "Unbound variable: %default-extra-linux-options".
* nongnu/packages/linux.scm (make-linux-xanmod): call `default-extra-linux-options` as procedure.

In the guix repo, the 4114060cd0ca2188de525436ea56ecea22ab40a8 turned %default-extra-linux-options into a procedure.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-05-31 12:23:56 +02:00
Richard Sent
9446bf27a4
nongnu: reaper: Add default case for source.
* nongnu/packages/music.scm (reaper)[source]: Add default case for hash
and uri for unsupported CPU architectures.
2024-05-28 22:39:54 +02:00
Richard Sent
363c541171
nongnu: electron-source: Add default case.
* nongnu/packages/electron.scm (electron-source): Add default case for
CPU architecture.
2024-05-28 22:38:07 +02:00
Tomas Volf
8383f9465b
nongnu: firefox: Update to 126.0.1.
* nongnu/packages/mozilla.scm (firefox): Update to 126.0.1.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-05-28 21:19:04 +02:00
dan
ad1b732187
nongnu: heroic-client: Update to 2.14.1.
* nongnu/packages/game-client.scm (heroic-client): Update to 2.14.1.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-05-28 21:04:43 +02:00
Giacomo Leidi
92f4921c66
nongnu: google-chrome-unstable: Update to 127.0.6485.0.
* nongnu/packages/chrome.scm (google-chrome-unstable): Update to 127.0.6485.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-05-23 17:08:46 +02:00
Giacomo Leidi
f2b49dc993
nongnu: google-chrome-beta: Update to 126.0.6478.17.
* nongnu/packages/chrome.scm (google-chrome-beta): Update to 126.0.6478.17.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-05-23 17:08:46 +02:00
Giacomo Leidi
208255582d
nongnu: google-chrome-stable: Update to 125.0.6422.76.
This update includes 6 security fixes.

Fixes CVE-2024-5157, CVE-2024-5158, CVE-2024-5159, CVE-2024-5160.

* nongnu/packages/chrome.scm (google-chrome-stable): Update to 125.0.6422.76.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-05-23 17:08:46 +02:00
Timotej Lazar
9f10369e01
nongnu: linux-firmware: Update to 20240513.
* nongnu/packages/linux.scm (linux-firmware): Update to 20240513.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-05-23 16:27:41 +02:00
Timotej Lazar
34935b49ae
nongnu: intel-microcode: Update to 20240514 [security fixes].
Fixes CVE-2023-45733, CVE-2023-45745, CVE-2023-46103, CVE-2023-47855

* nongnu/packages/linux.scm (intel-microcode): Update to 20240514.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-05-15 09:00:59 +02:00
Tomas Volf
d1609e765b
nongnu: firefox: Update to 126.0 [security fixes].
Fixes CVE-2024-4367, CVE-2024-4764, CVE-2024-4765, CVE-2024-4766,
CVE-2024-4767, CVE-2024-4768, CVE-2024-4769, CVE-2024-4770,
CVE-2024-4771, CVE-2024-4772, CVE-2024-4773, CVE-2024-4774,
CVE-2024-4775, CVE-2024-4776, CVE-2024-4777, CVE-2024-4778.

* nongnu/packages/mozilla.scm (firefox): Update to 126.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-05-14 19:02:50 +02:00
Tomas Volf
81d5098e9b
nongnu: firefox-esr: Update to 115.11.0esr [security fixes].
Fixes CVE-2024-4367, CVE-2024-4767, CVE-2024-4768, CVE-2024-4769,
CVE-2024-4770, CVE-2024-4777.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 115.11.0esr.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-05-14 19:02:23 +02:00
Picnoir
7081518be7
nongnu: intel-media-driver: Update to 24.1.5.
* nongnu/packages/video.scm (intel-media-driver): Update to 24.1.5.
2024-05-03 21:02:56 +02:00
Picnoir
2ce37848a3
nongnu: gmmlib: Update to 22.3.19.
* nongnu/packages/video.scm (gmmlib): Update to 22.3.19.
2024-05-03 21:02:05 +02:00
Giacomo Leidi
2d1a5c8257
nongnu: vscodium: Update to 1.88.1.24104.
* nongnu/packages/editors.scm (vscodium): Update to 1.88.1.24104;
[source]: add hashes for aarch64-linux and armhf-linux.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-05-03 20:49:34 +02:00
Oleg Pykhalov
779ef9a393
nongnu: Add obs-with-cef.
* nongnu/packages/video.scm (obs-with-cef): New variable.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-05-03 20:44:34 +02:00
Tomas Volf
76251fb771
nongnu: firefox: Update to 125.0.3.
* nongnu/packages/mozilla.scm (firefox): Update to 125.0.3.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-04-29 22:51:34 +02:00
Giacomo Leidi
fd939d13fa
nongnu: anytype: Update to 0.40.0.
* nongnu/packages/productivity.scm (anytype): Update to 0.40.0;
[arguments]<wrapper-plan>: adjust to match new binaries.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-04-29 22:42:37 +02:00
Felix Dumbeck
0018464a1f
nongnu: signal-desktop: Update to 7.4.0.
* nongnu/packages/messaging.scm (signal-desktop): Update to 7.4.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-04-26 10:43:56 +02:00
John Kehayias
cd565db6d7
news: Add entry for update/changes to nvidia driver.
* news.txt: Add entry.
2024-04-24 23:51:02 -04:00
Hilton Chain
3dca585034
nongnu: nvidia-driver: Update to 550.67.
* nongnu/packages/nvidia.scm (nvidia-version): Update to 550.67.
(nvidia-source-hash)[%nvidia-source-hashes]: Update hashes.
(make-nvidia-source): Add zstd to PATH.
(nvidia-source,nvidia-settings): Update hash.
(nvidia-driver)[inputs]: Add openssl, openssl-1.1
[arguments]<#:phases>: Add them to RUNPATH.
Install nvidia-cuda-mps-control and nvidia-cuda-mps-server.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:59 -04:00
Hilton Chain
be61a1829a
README.org: Document setup for NVIDIA graphics card.
* README.org (NVIDIA graphics card): New section.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:58 -04:00
Hilton Chain
39e64b2b77
nongnu: nvda: Update synopsis and description.
* nongnu/packages/nvidia.scm (nvda)[synopsis,description]: Update.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:56 -04:00
Hilton Chain
260855dc5e
nongnu: nvidia-module-open: Update synopsis and description.
* nongnu/packages/nvidia.scm (nvidia-module-open): Don't use package/inherit.
[synopsis,description]: Update.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:55 -04:00
Hilton Chain
3e6050eb84
nongnu: nvidia-module: Update synopsis and description.
* nongnu/packages/nvidia.scm (nvidia-module)[synopsis,description]: Update.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:54 -04:00
Hilton Chain
ffe4fe4e6c
nongnu: nvidia-firmware: Update synopsis and description.
* nongnu/packages/nvidia.scm (nvidia-firmware)[synopsis,description]: Update.
[arguments]<#:install-plan>: Use version of ‘this-package’.
[propagated-inputs]: Set to '().

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:52 -04:00
Hilton Chain
b08562d4c9
nongnu: nvidia-driver: Update synopsis and description.
* nongnu/packages/nvidia.scm (nvidia-driver)[synopsis,description]: Update.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:51 -04:00
Hilton Chain
d35912bd9e
nongnu: nvidia: Group source hashes.
* nongnu/packages/nvidia.scm (nvidia-source-hash): New procedure.
(nvidia-source): Use it.
(nvidia-settings)[source]: Likewise.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:50 -04:00
Hilton Chain
8a56ebb666
services: nvidia: Only invoke commands when NVIDIA driver is in use.
* nongnu/services/nvidia.scm (nvidia-service-type): Don't extend
kernel-module-loader-service-type, move this part to…
(nvidia-shepherd-service)[start]: …here.
Check driver and command availablity.
[stop]: Likewise.
[modules]: Add (guix build utils) for ‘invoke/quiet’.
Add (rnrs io ports) for ‘get-line’.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:48 -04:00
Hilton Chain
97925d2091
services: nvidia: No longer unload ‘nvidia_uvm’ module on powering off.
Shepherd now handles kernel processes properly, no longer need to unload the
module here.

* nongnu/services/nvidia.scm (nvidia-shepherd-service)[requirement]: Remove
'user-processes.
[one-shot?]: Set to #t.
[stop]: Remove field.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:47 -04:00
Hilton Chain
e4e34b7da4
services: nvidia: Create extra device nodes on boot.
* nongnu/services/nvidia.scm (nvidia-shepherd-service)
[requirement]: Add udev.
[start]: Create extra device nodes via ‘nvidia-smi’.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:46 -04:00
Hilton Chain
e3896f51d2
services: nvidia: Adjust configuration options.
* nongnu/services/nvidia.scm (nvidia-configuration):
[nvidia-driver]: Rename to ‘driver’.
Default to nvda.
Accept a file-like object.
[nvidia-firmware]: Rename to ‘firmware’.
Accept a file-like object.
[nvidia-module]: Rename to ‘module’.
Accept a file-like object.
[modules]: Remove option.
(nvidia-shepherd-service): Correct kernel module name.
[stop]: Don't return #f.
(nvidia-service-type): Extend profile-service-type with ‘driver’.
Adjust accordingly.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:44 -04:00
Hilton Chain
deab71dbe6
nongnu: nvidia-driver: Remove libraries provided by libglvnd.
* nongnu/packages/nvidia.scm (nvidia-source-unbundle-libraries): Remove
libraries provided by libglvnd.
(nvidia-driver)[inputs]: Add libglvnd-for-nvda.
[arguments]<#:phases>: Add it to RUNPATH.
(nvda)[arguments]<#:builder>: Add "libglvnd" from inputs to union build.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:43 -04:00
Hilton Chain
fbf5024faf
nongnu: Add mesa-for-nvda.
* nongnu/packages/nvidia.scm (mesa-for-nvda): New variable.
(nvda)[version,inputs]: Replace mesa with it.
[arguments]<#:builder>: Remove resolve-collision procedure.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:42 -04:00
Hilton Chain
8c1a56e16e
nongnu: Add libglvnd-for-nvda.
* nongnu/packages/nvidia.scm (libglvnd-for-nvda): New variable.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:40 -04:00
Hilton Chain
357888aa25
nongnu: nvda: Adjust package style.
* nongnu/packages/nvidia.scm (nvda)[arguments]<#:builder>: Adjust style.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:39 -04:00
Hilton Chain
74fa6e1916
nongnu: nvda: Adjust inputs.
* nongnu/packages/nvidia.scm (nvda)[native-inputs]: Set to '().
[propagated-inputs]: Propagate mesa and nvidia-drivers's propagated-inputs.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:37 -04:00
Hilton Chain
57c915ac9e
nongnu: nvda: Add native-search-paths.
* nongnu/packages/nvidia.scm (nvda): Add native-search-paths.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:36 -04:00
Hilton Chain
b0ebc7cb24
nongnu: nvda: Pad version to the length of mesa version.
* nongnu/packages/nvidia.scm (nvda)[version]: Pad to the length of mesa version.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:34 -04:00
Hilton Chain
2ae8a04b57
nongnu: nvidia-settings: Install desktop file.
* nongnu/packages/nvidia.scm (nvidia-settings)[arguments]<#:phases>:
Add 'install-desktop-file.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:33 -04:00
Hilton Chain
5fab8f4967
nongnu: nvidia-settings: Fix application profile path.
* nongnu/packages/nvidia.scm (nvidia-settings)[arguments]<#:phases>:
Add 'fix-application-profile-path.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:31 -04:00
Hilton Chain
54d01560e9
nongnu: nvidia-settings: Unbundle jansson.
* nongnu/packages/nvidia.scm (nvidia-settings) [inputs]: Add jansson.
[source]<snippet>: Delete bundled jansson.
[arguments]<#:make-flags>: Don't use bundled jansson.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:30 -04:00
Hilton Chain
f6c8eb082c
nongnu: nvidia-driver: Add architecture to configuration filenames.
* nongnu/packages/nvidia.scm (nvidia-driver)[arguments]<#:phases>: Add
architecture to configuration filenames.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:28 -04:00
Hilton Chain
d59c557f79
nongnu: nvidia-driver: Install EGL vendor ICD configuration.
* nongnu/packages/nvidia.scm (nvidia-driver)[arguments]<#:install-plan>: Install
EGL vendor ICD configuration.
<#:phases>: Modify its library path.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:27 -04:00
Hilton Chain
0ae85eb25e
nongnu: nvidia-driver: Install GBM and VDPAU library to correct path.
* nongnu/packages/nvidia.scm (nvidia-driver)[arguments]<#:phases>: Install GBM
and VDPAU library to correct path.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:25 -04:00
Hilton Chain
732cce2c90
nongnu: nvidia-driver: Update udev rules.
* nongnu/packages/nvidia.scm (%nvidia-script-create-device-nodes)
(%nvidia-udev-rules): New variables.
(nvidia-driver)[arguments]<#:modules,#:phases>: Adjust accordingly.
[inputs]: Remove bash-minimal, coreutils, grep.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:24 -04:00
Hilton Chain
c05b4995ab
nongnu: nvidia-driver: Unbundle EGL external platform libraries.
* nongnu/packages/nvidia.scm (nvidia-source-unbundle-libraries): Remove egl-gbm
and egl-wayland libraries.
(nvidia-driver)[inputs]: Add egl-gbm, egl-wayland.
Remove mesa.
[arguments]<#:phases>: Use them for configuration.
Adjust RUNPATH accordingly.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:22 -04:00
Hilton Chain
5b0465cf31
nongnu: nvidia-driver: Adjust package style.
* nongnu/packages/nvidia.scm (nvidia-driver)[arguments]<#:phases>:
Remove $ORIGIN from RUNPATH.
Ungexp properly.
Rewrite configuration substitution.
Rename phase ‘install-nvidia-smi’ to ‘install-commands’.
Relocate libraries in a separate phase.
Remove extra spaces.
<#:install-plan>: Adjust accordingly.
[description]: Remove final newline.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:21 -04:00
Hilton Chain
2b4dfe83e9
nongnu: nvidia-driver: Remove kernel module dependencies.
* nongnu/packages/nvidia.scm (nvidia-driver)[inputs]: Remove kmod, linux-lts.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:19 -04:00
Hilton Chain
7006d54c47
nongnu: nvidia-driver: Remove library provided by opencl-icd-loader.
* nongnu/packages/nvidia.scm (nvidia-source-unbundle-libraries): Remove library
provided by opencl-icd-loader.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:18 -04:00
Hilton Chain
99e12e9cbe
nongnu: nvidia-driver: Remove libraries provided by nvidia-settings.
* nongnu/packages/nvidia.scm (nvidia-source-unbundle-libraries): Remove
libraries provided by nvidia-settings.
(nvidia-driver)[arguments]<#:phases>: Remove their dependencies from RUNPATH.
[inputs]: Remove atk, cairo, gdk-pixbuf, glib, gtk+, gtk+-2, pango.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:16 -04:00
Hilton Chain
4bc11de5dd
nongnu: make-nvidia-source: Extend functionality.
* nongnu/packages/nvidia.scm (nvidia-source-unbundle-libraries): New procedure.
(make-nvidia-source): Create installer origin internally.
Accept a ‘get-cleanup-snippet’ procedure.
(nvidia-source): Adjust accordingly.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:15 -04:00
Hilton Chain
5f7dabe418
nongnu: make-nvidia-source: Adjust style.
* nongnu/packages/nvidia.scm (computed-origin-method): Delete from top-level.
(make-nvidia-source): Use ungexp-native only once.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:13 -04:00
Hilton Chain
47941b0a84
nongnu: nvidia: Re-order variables.
* nongnu/packages/nvidia.scm: Remove unused modules.
Add comments to group NVIDIA driver packages.
Sort other packages alphabetically.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-24 20:06:11 -04:00
Jonathan Brielmaier
c1c9bb0571
nongnu: lightburn: Use qtserialport-5.
Upstream Guix upgraded qtserialport to QT@6, which seems to be
incompatible: 50a72a08af37557575199b56bbee9f334d58575a

* nongnu/packages/cad.scm (lightburn)[inputs]: Replace `qtserialport` with
`qtserialport-5`.
2024-04-24 22:58:48 +02:00
Jonathan Brielmaier
fc49e4d6db
nongnu: facetimehd: Update to 0.6.8.1.
* nongnu/packages/linux.scm (facetimehd): Update to 0.6.8.1.
2024-04-24 22:56:32 +02:00
Jonathan Brielmaier
d358152cc8
nongnu: rtl8821cu-linux-module: Update to 0.0.0-2.4f6004a.
Fixes building with newer kernel versions.

* nongnu/packages/linux.scm (rtl8821cu-linux-module): Update to 0.0.0-2.4f6004a.
2024-04-24 22:53:35 +02:00
Jonathan Brielmaier
dd080d7a91
nongnu: rtl8812au-aircrack-ng-linux-module: Update to 5.6.4.2-13.63cf0b4.
Fixes building with newer kernel versions.

* nongnu/packages/linux.scm (rtl8812au-aircrack-ng-linux-module): Update to 5.6.4.2-13.63cf0b4.
2024-04-24 22:50:41 +02:00
Jonathan Brielmaier
a276531874
nongnu: rtl8192eu-linux-module: Update to 0.0.0-7.3af9a86.
Fixes building with newer kernels.

* nongnu/packages/linux.scm (rtl8192eu-linux-module): Update to 0.0.0-7.3af9a86.
2024-04-24 22:47:14 +02:00
Tomas Volf
bb6fcec6e9
nongnu: firefox: Update to 125.0.2.
* nongnu/packages/mozilla.scm (firefox): Update to 125.0.2.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-04-22 20:55:56 +02:00
Tomas Volf
1ee5d0cc09
nongnu: firefox: Update to 125.0.1 [security fixes].
Fixes CVE-2024-3302, CVE-2024-3852, CVE-2024-3853, CVE-2024-3854,
CVE-2024-3855, CVE-2024-3856, CVE-2024-3857, CVE-2024-3858,
CVE-2024-3859, CVE-2024-3860, CVE-2024-3861, CVE-2024-3862,
CVE-2024-3863, CVE-2024-3864, CVE-2024-3865.

* nongnu/packages/mozilla.scm (firefox): Update to 125.0.1.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-17 12:57:55 -04:00
Tomas Volf
22ceef2501
nongnu: firefox-esr: Update to 115.10.0esr [security fixes].
Fixes CVE-2024-2609, CVE-2024-3302, CVE-2024-3852, CVE-2024-3854,
CVE-2024-3857, CVE-2024-3859, CVE-2024-3861, CVE-2024-3863,
CVE-2024-3864.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 115.10.0esr.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-17 12:57:48 -04:00
Hilton Chain
f9a27a679b
nongnu: linux-xanmod: Update to 6.8.6.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.8.6.
(linux-xanmod-source): Update hash.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-14 16:00:03 -04:00
Hilton Chain
60c4ea0dd0
nongnu: linux-xanmod-lts: Update to 6.6.27.
* nongnu/packages/linux.scm (linux-xanmod-lts-version): Update to 6.6.27.
(linux-xanmod-lts-source): Update hash.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-14 16:00:02 -04:00
Hilton Chain
9c70cf49c8
nongnu: make-linux-xanmod: Remove unnecessary option overrides.
Guix can identify builtin modules when building the initrd now.

* nongnu/packages/linux.scm (make-linux-xanmod)[arguments]<#:phases>: Don't
override CONFIG_CRYPTO_XTS and CONFIG_VIRTIO_CONSOLE in 'add-xanmod-defconfig.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-04-14 16:00:00 -04:00
John Kehayias
393abd05a2
nongnu: element-desktop: Update to 1.11.64.
* nongnu/packages/messaging.scm (element-desktop): Update to 1.11.64.
2024-04-14 15:59:59 -04:00
Hilton Chain
80b273e86a
nongnu: installation-os-nonfree: Set default channels.
* nongnu/system/install.scm (%signing-key,%channels): New variables.
(installation-os-nonfree)[services]: Configure them.
Authorise Nonguix substitute server.

Tested-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-04-13 13:05:31 +02:00
John Kehayias
54fb2194a1
nongnu: linux-lts: Update to 6.6 series.
Upstream Guix defaulted linux-libre-lts to 6.6 in commit
b4aed68e960116b2b60f68ea1468d7a526149823.  Do likewise here.

* nongnu/packages/linux.scm (linux-lts): Use linux-6.6.
2024-04-08 22:07:31 -04:00
John Kehayias
2978ae66b9
nongnu: Remove linux-6.7.
Guix will remove linux-libre-6.7 soon (end of life), so remove linux-6.7
before it leads to an error in 'guix pull' when it is removed upstream.

* nongnu/packages/linux.scm (linux-6.7): Remove variable.
2024-04-08 22:04:35 -04:00
John Kehayias
ec3565d284
nongnu: linux: Update the default linux package to the 6.8 series.
Upstream Guix defaulted to linux-libre-6.8 in commit
40e44bdea6f4c3dc3563427fdf096a60812534a7.  Do likewise here.

* nongnu/packages/linux.scm (linux): Use linux-6.8.
2024-04-08 22:01:54 -04:00
Jelle Licht
e7d3824c87
nongnu: intel-media-driver: Update to 23.4.3.
* nongnu/packages/video.scm (intel-media-driver): Update to 23.4.3.
2024-04-07 17:56:38 +02:00
Jelle Licht
7651e8be04
nongnu: gmmlib: Update to 22.3.15.
* nongnu/packages/video.scm (gmmlib): Update to 22.3.15.
2024-04-07 17:56:21 +02:00
Tomas Volf
ec1daa71c7
nongnu: firefox: Update to 124.0.2.
* nongnu/packages/mozilla.scm (firefox): Update to 124.0.2.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-04-04 21:26:23 +02:00
Jonathan Brielmaier
a79f2b58e2
nongnu: compcert: Update to 3.13.1.
* nongnu/packages/coq.scm (compcert): Update to 3.13.1.
[arguments]: Allow newer coq version.
2024-04-01 15:46:19 +02:00
Timotej Lazar
8d047fc9a1
gnu: eduke32, fury: Update to 20240316-10564-0bc78c53d.
* nongnu/packages/game-development.scm (eduke32, fury): Update to
20240316-10564-0bc78c53d. Rewrite to use gexps.
[arguments]: Drop unnecessary make-flags. Drop wrapper script as upstream now
handles configuration directories.
[native-inputs]: Add gdk-pixbuf to fix compilation.
[license]: Add gpl2.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-04-01 14:53:37 +02:00
Timotej Lazar
b04018d38a
gnu: linux-firmware: Don’t skip deduplication.
* nongnu/packages/linux.scm (linux-firmware)[arguments]: Don’t skip file
deduplication.
[native-inputs]: Add rdfind.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-04-01 14:39:04 +02:00
Timotej Lazar
d6dbbc3a55
nongnu: linux-firmware: Switch to gexps.
* nongnu/packages/linux.scm (linux-firmware, amd-microcode, amdgpu-firmware,
atheros-firmware, i915-firmware, ibt-hw-firmware, iwlwifi-firmware,
radeon-firmware, realtek-firmware): Switch to gexps.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-04-01 14:39:04 +02:00
Timotej Lazar
34dec82fa9
nongnu: linux-firmware: Update to 20240312.
* nongnu/packages/linux.scm (linux-firmware): Update to 20240312.
[arguments]: Disable strip-binaries? and validate-runpath? flags but keep the
corresponding build phases.
(select-firmware): Handle the new RawFile keyword.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-04-01 14:38:54 +02:00
Giacomo Leidi
62daa38457
nonguix: chromium-binary: Use search-path-as-list from (guix build utils).
We rely on the upstream implementation to avoid duplicating effort.

* nonguix/build/chromium-binary-build-system (install-wrapper): Use
search-path-as-list;
* nonguix/build/utils.scm (build-paths-for-input): remove variable;
(build-paths-from-inputs): remove variable.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-03-30 19:50:51 +01:00
Alexey Abramov
185176c8fa
nongnu: zerotier: Update to 1.12.2.
* nongnu/packages/vpn.scm (zerotier): Update to 1.12.2.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-03-30 19:47:21 +01:00
Giacomo Leidi
63fed4f383
nongnu: google-chrome-unstable: Update to 125.0.6368.2.
* nongnu/packages/chrome.scm (google-chrome-unstable): Update to 125.0.6368.2.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-03-30 19:30:45 +01:00
Giacomo Leidi
756f4d2ad9
nongnu: google-chrome-beta: Update to 124.0.6367.18.
* nongnu/packages/chrome.scm (google-chrome-beta): Update to 124.0.6367.18.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-03-30 19:30:45 +01:00
Giacomo Leidi
5bb3df8b35
nongnu: google-chrome-stable: Update to 123.0.6312.86.
This update includes 7 security fixes.

Fixes CVE-2024-2883, CVE-2024-2885, CVE-2024-2886, CVE-2024-2887.

* nongnu/packages/chrome.scm (google-chrome-stable): Update to 123.0.6312.86.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-03-30 19:30:40 +01:00
John Kehayias
a4356defe7
nongnu: Add linux@6.8.
Guix added linux-libre@6.8 in f6f4c71df5558b168fe7a313522af7ea5fe2d0dc but it
is not set as the default yet.

* nongnu/packages/linux.scm (linux-6.8): New variable.
2024-03-23 15:36:57 -04:00
Daniel Ziltener
79939d562b
nongnu: Add babashka.
* nongnu/packages/clojure.scm (babashka): New variable.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
Co-authored-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:46:19 -04:00
Daniel Ziltener
c245d8f80b
nongnu: Add clojure-lsp.
* nongnu/packages/clojure.scm (clojure-lsp): New variable.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
Co-authored-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:43:29 -04:00
Daniel Ziltener
53d1cb350d
nongnu: clj-kondo: Update to 2024.03.13.
* nongnu/packages/clojure.scm (clj-kondo): Update to 2024.03.13.
[arguments]: Update install-plan path.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:27:54 -04:00
Tomas Volf
9bfb057c3b
nongnu: firefox: Update to 124.0.1 [security fixes].
Fixes CVE-2024-29943, CVE-2024-29944.

* nongnu/packages/mozilla.scm (firefox): Update to 124.0.1.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:17:06 -04:00
Tomas Volf
5bfbb978e9
nongnu: firefox-esr: Update to 115.9.1esr [security fixes].
Fixes CVE-2024-29944.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 115.9.1esr.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:16:49 -04:00
Hilton Chain
5c33acaaa5
nonguix: multiarch-container: Link fonts to /usr/share/fonts.
* nonguix/multiarch-container.scm (make-internal-script): Link fonts to
/usr/share/fonts.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:14:25 -04:00
Hilton Chain
cd07617047
nonguix: multiarch-container: Expose /etc/os-release.
* nonguix/multiarch-container.scm (make-container-wrapper): Expose
/etc/os-release.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:14:23 -04:00
Hilton Chain
556057f333
nonguix: multiarch-container: Preserve TZ and TZDIR.
* nonguix/multiarch-container.scm (make-container-wrapper): Preserve TZ and TZDIR.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
Co-authored-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:14:18 -04:00
Hilton Chain
e54439a302
multiarch-container: make-internal-script: Add VDPAU paths to LD_LIBRARY_PATH.
* nonguix/multiarch-container.scm (make-container-wrapper): Don't set
VDPAU_DRIVER_PATH.
(make-internal-script): Add VDPAU paths to LD_LIBRARY_PATH.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:08:42 -04:00
Hilton Chain
2d8de496b1
multiarch-container: make-container-wrapper: Set LIBVA_DRIVERS_PATH.
* nonguix/multiarch-container.scm (make-container-wrapper): Set
LIBVA_DRIVERS_PATH and preserve it.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:08:41 -04:00
Hilton Chain
09151acd73
nonguix: multiarch-container: Share Wayland environment.
* nonguix/multiarch-container.scm (make-container-wrapper): Preserve environment
variables and share socket for Wayland.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:08:39 -04:00
Hilton Chain
8c08d0bbe5
nonguix: multiarch-container: Symlink EGL configurations.
* nonguix/multiarch-container.scm (make-internal-script): Symlink EGL
configurations.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:08:38 -04:00
Hilton Chain
1c419ee1a8
nonguix: multiarch-container: Symlink all available Vulkan layers.
* nonguix/multiarch-container.scm (make-internal-script): Symlink all
available Vulkan layers.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:08:36 -04:00
Hilton Chain
3cebd9c77b
multiarch-container: make-internal-script: Improve icd-symlink.
* nonguix/multiarch-container.scm (make-internal-script)[icd-symlink]: Allow
custom directory.
Rename to…
[file-symlink]: …this.
[get-files]: New procedure to simplify find-files use.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:08:35 -04:00
Hilton Chain
825f6ee783
nongnu: game-client: Preserve environment variables for NVIDIA driver.
* nongnu/packages/nvidia.scm (%nvidia-environment-variable-regexps): New
variable.
* nongnu/packages/game-client.scm (steam-nvidia-container)
(heroic-nvidia-container): Use it.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:08:33 -04:00
Hilton Chain
812250d5b6
nongnu: game-client: Build ld.so.cache for NVIDIA containers.
* nongnu/packages/game-client.scm (steam-nvidia-ld.so.conf)
(steam-nvidia-ld.so.cache): New variables.
(steam-nvidia-container,heroic-nvidia-container): Use them.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:08:32 -04:00
Hilton Chain
40809109fc
nongnu: game-client: Replace mesa with nvda in NVIDIA containers.
* nongnu/packages/game-client.scm (steam-nvidia-container-libs): New variable.
(steam-nvidia-container,heroic-nvidia-container): Use it.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:08:31 -04:00
Hilton Chain
99f3249049
nongnu: game-client: Add steam-container-libs variable.
* nongnu/packages/game-client.scm (steam-container-libs): New variable.
(steam-ld.so.conf,steam-container,heroic-container): Use it.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-03-22 21:08:27 -04:00
Tomas Volf
48d59208fc
nongnu: firefox: Update to 124.0 [security fixes].
Fixes CVE-2023-5388, CVE-2024-2605, CVE-2024-2606, CVE-2024-2607,
CVE-2024-2608, CVE-2024-2609, CVE-2024-2610, CVE-2024-2611,
CVE-2024-2612, CVE-2024-2613, CVE-2024-2614, CVE-2024-2615.

* nongnu/packages/mozilla.scm (firefox): Update to 124.0.
[arguments]<#:phases>{'remove-cargo-frozen-flag}: New phase.
(firefox-wayland): Wrap comment.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-03-21 12:30:16 +01:00
Tomas Volf
cd6b8abeb3
nongnu: firefox-esr: Update to 115.9.0esr [security fixes].
Fixes CVE-2023-5388, CVE-2024-0743, CVE-2024-2605, CVE-2024-2607,
CVE-2024-2608, CVE-2024-2610, CVE-2024-2611, CVE-2024-2612,
CVE-2024-2614, CVE-2024-2616.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 115.9.0esr.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-03-21 12:28:57 +01:00
Jonathan Brielmaier
545a11dee6
nongnu: signal-desktop: Update to 7.3.0.
* nongnu/packages/messaging.scm (signal-desktop): Update to 7.3.0.
2024-03-21 12:27:00 +01:00
Timotej Lazar
5baccd1d72
nongnu: intel-microcode: Update to 20240312 [security fixes].
Fixes CVE-2023-43490, CVE-2023-39368, CVE-2023-38575, CVE-2023-28746,
CVE-2023-22655.

* nongnu/packages/linux.scm (intel-microcode): Update to 20240312.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-03-17 10:39:44 +01:00
Jonathan Brielmaier
8b130114d6
nongnu: rtl8821ce-linux-module: Update to 0.0.0-11.66983b6.
* nongnu/packages/linux.scm (rtl8821ce-linux-module): Update to 0.0.0-11.66983b6.
2024-03-15 13:31:19 +01:00
Jonathan Brielmaier
8ecb4e5b32
nongnu: rtl8812au-aircrack-ng-linux-module: Update to 5.6.4.2-12.a3e0c0b.
* nongnu/packages/linux.scm (rtl8812au-aircrack-ng-linux-module): Update
to 5.6.4.2-12.a3e0c0b.
2024-03-15 13:28:17 +01:00
Efraim Flashner
87357a2bec
nongnu: ap6256-firmware: Update installed firmware.
* nongnu/packages/firmware.scm (ap6256-firmware)[arguments]: Update
install-plan to install to the correct destination.

Sent to me directly via e-mail.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-03-15 13:06:53 +01:00
Andre A. Gomes
f8b956664c
nongnu: sbcl-cl-electron: Update to 0.0.0-3.f2245dc.
* nongnu/packages/lisp.scm (sbcl-cl-electron): Update to 0.0.0-3.f2245dc.
[native-inputs]: Remove `sbcl` and commented out `sbcl-lisp-unit2`.
[inputs]: Add `sbcl-cl-ppcre`, `sbcl-lparallel` and `sbcl-spinneret`.
[arguments]: Disable test and use asd-systems. Add phase to fix paths.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-03-14 23:11:47 +01:00
Jonathan Brielmaier
587cf0a135
nongnu: Add electron@29.
* nongnu/packages/electron.scm (electron-29): New variable.

Co-authored-by: Andre A. Gomes <andremegafone@gmail.com>
2024-03-14 23:08:58 +01:00
Jonathan Brielmaier
e9e954a6f0
nongnu: Add electron@28.
* nongnu/packages/electron.scm (electron-28): New variable.

Co-authored-by: Andre A. Gomes <andremegafone@gmail.com>
2024-03-14 23:07:47 +01:00
Andre A. Gomes
2b8a066fa1
nongnu: electron: Update to 27.3.6.
* nongnu/packages/electron.scm (electron): Rename to `electron-27` and
default to it.
(electron-source): New procedure.
(electron-27): Update to 27.3.6.
[source]: Use `electron-source`.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-03-14 23:06:02 +01:00
Giacomo Leidi
db2293400d
nongnu: anytype: Update to 0.39.0.
* nongnu/packages/productivity.scm (anytype): Update to 0.39.0;
[origin]<uri>: update to match the new distribution URI scheme;
[arguments]<wrapper-plan>: include additional binary.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-03-14 22:39:41 +01:00
Tomas Volf
2d648f10ab
nongnu: firefox: Update to 123.0.1.
* nongnu/packages/mozilla.scm (firefox): Update to 123.0.1.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-03-14 22:37:57 +01:00
John Kehayias
f6121e161d
nongnu: Set linux to linux@6.7
Upstream Guix defaulted to linux-libre@6.7 in commit
001dfb89579856b8695b33b59f484f36e313347f.  Do likewise here.

Also, update my copyright header from previous year as well.

* nongnu/packages/linux.scm (linux): Set to linux-6.7.
2024-03-12 00:12:02 -04:00
Danny Milosavljevic
25bcda2b91
nongnu: Update vscodium to 1.87.0.24060.
* nongnu/packages/editors.scm (vscodium): Update to 1.87.0.24060.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-03-03 21:10:46 +01:00
Hilton Chain
937598e1f2
nongnu: linux-xanmod: Update to 6.7.6.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.7.6.
(linux-xanmod-source): Update hash.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-03-03 21:05:59 +01:00
Hilton Chain
1b3a863979
nongnu: linux-xanmod-lts: Update to 6.6.18.
* nongnu/packages/linux.scm (linux-xanmod-lts-version): Update to 6.6.18.
(linux-xanmod-lts-source): Update hash.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-03-03 21:05:54 +01:00
John Kehayias
b6d05dbefd
nongnu: corrupt-linux: Pass 'linux' argument to customize-linux.
This fixes an issue where corrupt-linux would use the kernel config from the
wrong version.  The reason is that the package phases in customize-linux come
from inheriting the package in the 'linux' keyword argument, defaulting to
linux-libre.  The kernel configuration comes in the configure phase.  Since we
did not use this in the customize-linux in corrupt-linux, we would be using
the wrong configuration.  For example, linux-6.7 would be built with the
linux-libre-6.6 kernel config rather than linux-libre-6.7, missing the new
CONFIG_BCACHEFS_FS option.  Presumably all of our kernels were trying to use
the default linux-libre version kernel config rather than the correct one to
match their version.  This should fix that.

* nongnu/packages/linux.scm (corrupt-linux): Use the 'linux' keyword argument
in customize-linux.

Reported-by: reedm and yelninei on the #nonguix IRC channel.
2024-02-25 15:06:43 -05:00
John Kehayias
a78155eaee
nongnu: heroic-container: Link all of 'share' from heroic-client.
Followup to 5d5d496 to do the same for heroic.

* nongnu/packages/game-client.scm (heroic-container)[link-files]: Link all of
'share' from heroic-client.
2024-02-23 23:21:05 -05:00
John Kehayias
5d5d496e57
nongnu: steam-container: Link all of 'share' from steam-client.
Previously, only the .desktop files from steam-client were shared with
steam-container, and thus only those were available directly when installing
the steam package.  This would miss things like the icons (needed in some
cases for tray support, for example, in waybar).  Update to share all of
'share' to provide a more complete package for the user.

* nongnu/packages/game-client.scm (steam-container)[link-files]: Link all of
'share' from steam-client.
2024-02-23 23:12:58 -05:00
Hilton Chain
a664b6da35
nongnu: linux-xanmod: Update to 6.7.5.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.7.5.
(linux-xanmod-source): Update hash.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-02-21 21:23:10 +01:00
Hilton Chain
66b129c9c2
nongnu: linux-xanmod-lts: Update to 6.6.17.
* nongnu/packages/linux.scm (linux-xanmod-lts-version): Update to 6.6.17.
(linux-xanmod-lts-source): Update hash.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-02-21 21:23:04 +01:00
Tomas Volf
c620b749a0
nongnu: firefox: Update to 123.0 [security fixes].
Fixes CVE-2024-1546, CVE-2024-1547, CVE-2024-1548, CVE-2024-1549,
CVE-2024-1550, CVE-2024-1551, CVE-2024-1552, CVE-2024-1553,
CVE-2024-1554, CVE-2024-1555, CVE-2024-1556, CVE-2024-1557.

* nongnu/packages/mozilla.scm (firefox): Update to 123.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-02-21 19:58:06 +01:00
Tomas Volf
86525cdb21
nongnu: firefox-esr: Update to 115.8.0esr [security fixes].
Fixes CVE-2024-1546, CVE-2024-1547, CVE-2024-1548, CVE-2024-1549,
CVE-2024-1550, CVE-2024-1551, CVE-2024-1552, CVE-2024-1553.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 115.8.0esr.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-02-21 19:57:08 +01:00
John Kehayias
10318ef7dd
nongnu: zoom: Update to 5.17.5.2543.
* nongnu/packages/messaging.scm (zoom): Update to 5.17.5.2543.
2024-02-14 16:36:06 -05:00
Krzysztof Baranowski
1e7af45b5f
nongnu: facetimehd: Update to 0.6.8.
* nongnu/packages/linux.scm (facetimehd): Update to 0.6.8.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-02-14 16:30:45 -05:00
Hilton Chain
80682cbadd
nongnu: linux-xanmod: Update to 6.6.16.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.6.16.
(linux-xanmod-source): Update hash.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-02-14 16:30:13 -05:00
Hilton Chain
abefc82fab
nongnu: linux-xanmod-lts: Update to 6.1.77.
* nongnu/packages/linux.scm (linux-xanmod-lts-version): Update to 6.1.77.
(linux-xanmod-lts-source): Update hash.
2024-02-14 16:29:57 -05:00
Oleg Pykhalov
e4fe4809f8
nongnu: chromium-embedded-framework: Update to 117.2.4.
* nongnu/packages/chromium.scm (chromium-embedded-framework): Update to
117.2.4.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-02-06 18:03:12 +01:00
Tomas Volf
6e646d2c16
nongnu: firefox: Update to 122.0.1.
* nongnu/packages/mozilla.scm (firefox): Update to 122.0.1.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-02-06 17:59:23 +01:00
Giacomo Leidi
fe2fcf125c
nongnu: google-chrome-stable: Fix wrapper-plan.
* nongnu/packages/chrome.scm (make-google-chrome
[patchelf-plan]: Avoid patching nacl_helper for
google-chrome-stable.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-02-01 15:01:03 +01:00
Timotej Lazar
8e6e045a9d
nongnu: lgogdownloader: Update to 3.12.
* nongnu/packages/gog.scm (lgogdownloader): Update to 3.12.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-02-01 14:00:46 +01:00
Giacomo Leidi
ae314a6eaa
nongnu: anytype: Update to 0.38.
* nongnu/packages/productivity.scm (anytype): Update to 0.38.
[arguments]: Add strip-python phase.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
Co-authored-by: John Kehayias <john.kehayias@protonmail.com>
2024-01-31 15:48:57 -05:00
Giacomo Leidi
f9ed62f37d
nongnu: vscodium: Update to 1.85.2.24019.
* nongnu/packages/editors (vscodium): Update to 1.85.2.24019.
[origin]: Download correct binary for different architectures.
[supported-systems]: List all supported architectures.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-01-31 15:38:42 -05:00
Giacomo Leidi
6b779b8179
nongnu: google-chrome-unstable: Update to 123.0.6262.5.
* nongnu/packages/chrome.scm (google-chrome-unstable): Update to 123.0.6262.5.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-01-31 15:38:26 -05:00
Giacomo Leidi
02f9ea0b85
nongnu: google-chrome-beta: Update to 122.0.6261.6.
* nongnu/packages/chrome.scm (google-chrome-beta): Update to 122.0.6261.6.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-01-31 15:38:11 -05:00
Giacomo Leidi
7082201ca0
nongnu: google-chrome-stable: Update to 121.0.6167.139.
* nongnu/packages/chrome.scm (google-chrome-stable): Update to 121.0.6167.139.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-01-31 15:37:29 -05:00
Michal Atlas
729ee6b62a
nongnu: multiarch-container: Fix preserved-env not being used.
* nonguix/multiarch-container.scm (make-container-wrapper): Use
ngc-preserved-env.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
Co-authored-by: John Kehayias <john.kehayias@protonmail.com>
2024-01-31 15:33:42 -05:00
John Kehayias
9e30988482
nongnu: signal-desktop: Update to 6.46.0.
* nongnu/packages/messaging.scm (signal-desktop): Update to 6.46.0.
2024-01-31 15:27:49 -05:00
John Kehayias
79c8cc2b66
nongnu: element-desktop: Update to 1.11.57.
* nongnu/packages/messaging.scm (element-desktop): Update to 1.11.57.
2024-01-31 15:25:15 -05:00
PRESFIL
b2e769487e
nongnu: Add rtl8821cu-linux-module.
* nongnu/packages/linux.scm: (rtl8821cu-linux-module): New variable.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-01-29 20:39:48 +01:00
Hilton Chain
9acfbadebf
nongnu: steam-client: Update to 1.0.0.78.
* nongnu/packages/game-client.scm (steam-client): Update to 1.0.0.78.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-01-29 20:20:28 +01:00
Hilton Chain
90105e5272
nongnu: linux-xanmod: Update to 6.6.14.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.6.14.
(linux-xanmod-source): Update hash.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-01-29 20:08:37 +01:00
Hilton Chain
e261e9ea58
nongnu: linux-xanmod-lts: Update to 6.1.75.
* nongnu/packages/linux.scm (linux-xanmod-lts-version): Update to 6.1.75.
(linux-xanmod-lts-source): Update hash.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-01-29 20:08:31 +01:00
Tomas Volf
3857d86267
nongnu: linux: Enable mt7921e driver.
In order to be able to use WiFi chip in P14s ThinkPad, the mt7921e module is
required.  This commit enables it in kernels that do have it.

I originally implemented this using a list of additional option, same way
%default-extra-linux-options is done.  However I quickly realized that
approach is not suitable for hardware enablement.  The older versions do not
support the same drivers as the newer ones.

Solution is to create a new procedure that generates the list for a specific
kernel version and use it as a default value for #:configs.

* nongnu/packages/linux.scm (nonguix-extra-linux-options): New procedure.
(corrupt-linux): Use it as default value for #:configs.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-01-23 18:25:40 +01:00
Tomas Volf
d0a8b135d3
nongnu: firefox: Update to 122.0 [security fixes].
Fixes CVE-2024-0741, CVE-2024-0742, CVE-2024-0743, CVE-2024-0744,
CVE-2024-0745, CVE-2024-0746, CVE-2024-0747, CVE-2024-0748,
CVE-2024-0749, CVE-2024-0750, CVE-2024-0751, CVE-2024-0752,
CVE-2024-0753, CVE-2024-0754, CVE-2024-0755.

* nongnu/packages/mozilla.scm (firefox): Update to 122.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-01-23 18:13:39 +01:00
Tomas Volf
94f27641b1
nongnu: firefox-esr: Update to 115.7.0esr [security fixes].
Fixes CVE-2024-0741, CVE-2024-0742, CVE-2024-0746, CVE-2024-0747,
CVE-2024-0749, CVE-2024-0750, CVE-2024-0751, CVE-2024-0753,
CVE-2024-0755.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 115.7.0esr.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-01-23 18:11:09 +01:00
Ada Stevenson
47d7caa231
nongnu: linux-firmware: Update to 20240115.
* nongnu/packages/linux.scm (linux-firmware): Update to 20240115.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-01-22 20:06:09 +01:00
Jonathan Brielmaier
da242a7ba1
nongnu: linux@4.14: Remove it.
`linux-libre-4.14` got removed in upstream Guix commit:
497780ad25faf71d3ace39efe7451ef01e353d5b.

* nongnu/packages/linux.scm (linux-4.14): Remove variable.
2024-01-22 20:01:59 +01:00
Tomas Volf
45c3dca80d
nongnu: firefox-esr: Use lambda instead of λ.
Following the project's conventions, replace the λ symbol with the lambda
keyword.

* nongnu/packages/mozilla.scm (firefox-esr)
[arguments]<#:phases>['patch-SpeechDispatcherService.cpp]: Use lambda.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-01-20 17:14:22 -05:00
John Kehayias
53df88e36f
nongnu: Add linux@6.7.
Upstream added linux-libre@6.7 in 95a3aaf7ad37bb0717f2c9e3faf6f636b586d133 but
it is not yet the default.

* nongnu/packages/linux.scm (linux-6.7): New variable.
2024-01-20 16:44:32 -05:00
Christopher League
fcdda9283a
nongnu: zoom: Ignore some QML/QT environment variables.
Fixes https://gitlab.com/nonguix/nonguix/-/issues/301

* nongnu/packages/messaging.scm (zoom)[arguments]: Reset some QML/QT
environment variables.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-01-17 22:59:39 +01:00
Tomas Volf
02903cebbf
.dir-locals.el: Add geiser-insert-actual-lambda.
Guix project seems to prefer using lambda over λ.  Express that preference for
Geiser users by setting the geiser-insert-actual-lambda variable to nil.  In
the 0.31 version it will affect how geiser-insert-lambda works, making it
insert lambda string (instead of the current λ.

* .dir-locals.el (nil): Add geiser-insert-actual-lambda set to nil.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-01-17 22:19:48 +01:00
John Kehayias
01f18977c2
news: Fix entry for GUIX_SANDBOX_EXTRA_SHARES.
* news.txt: Incorrect paren placement.  How embarrassing!
2024-01-10 12:56:32 -05:00
John Kehayias
8c03b980b6
news: Add entry for GUIX_SANDBOX_EXTRA_SHARES variable.
* news.txt: Add entry.
2024-01-10 11:58:10 -05:00
John Kehayias
8078757b88
nonguix: multiarch-container: Allow extra shared directories.
Basic fix for #237.

This allows exposing other directories or drives to the nonguix container, for
example to add additional library locations to Steam, by setting
$GUIX_SANDBOX_EXTRA_SHARES.

* nonguix/multiarch-container.scm (make-container-wrapper): Use environment
variable $GUIX_SANDBOX_EXTRA_SHARES to pass extra directories to share with
the container.
2024-01-10 11:57:37 -05:00
Tomas Volf
9a502ae1b0
nongnu: firefox: Update to 121.0.1.
* nongnu/packages/mozilla.scm (firefox): Update to 121.0.1.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-01-09 18:12:49 +01:00
John Kehayias
5b8b13c956
nongnu: heroic-client: Update to 2.12.0.
* nongnu/packages/game-client.scm (heroic-client): Update to 2.12.0.
2024-01-08 14:37:21 -05:00
Hilton Chain
9080e44271
nongnu: linux-xanmod: Update to 6.6.10.
* nongnu/packages/linux.scm (linux-xanmod-version): Update to 6.6.10.
(linux-xanmod-source): Update hash.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-01-07 17:08:42 +01:00
Hilton Chain
999f7386b7
nongnu: linux-xanmod-lts: Update to 6.1.71.
* nongnu/packages/linux.scm (linux-xanmod-lts-version): Update to 6.1.71.
(linux-xanmod-lts-source): Update hash.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-01-07 17:08:18 +01:00
Hilton Chain
0b4f1c3aff
nongnu: make-linux-xanmod: Adjust style.
* nongnu/packages/linux.scm (%default-extra-linux-options,config->string):
Move into make-linux-xanmod.
(make-linux-xanmod): Adjust comments.
Move the base kernel produced by customize-linux out of let form.
[native-inputs]: Use prepend instead of append.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-01-07 17:06:54 +01:00
Hilton Chain
1eaa24df40
nongnu: make-linux-xanmod-source: Patch upstream kernel source instead.
* nongnu/packages/linux.scm (make-linux-xanmod-source): Patch upstream linux
source instead of downloading the auto-generated tarball from GitLab.
(make-linux-xanmod)[arguments]<#:phases>: Delete 'remove-localversion, moved
to snippet.
(linux-xanmod-source,linux-xanmod-lts-source): Adjust accordingly.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-01-07 16:14:00 +01:00
Giacomo Leidi
f325d88cb6
nongnu: anytype: Update to 0.37.3.
* nongnu/packages/productivity.scm (anytype): Update to 0.37.3;
[arguments]<phases>: avoid hardcoding the icon path in anytype.desktop.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-01-07 16:03:21 +01:00
John Kehayias
1f91ecd3c0
nonguix: multiarch-container: Set LD_LIBRARY_PATH inside container.
Fixes #303.

Previously LD_LIBRARY_PATH was being set before the container was launched,
which could cause issues on some foreign distros where this alters what is
loaded from an FHS structure.  This was only meant to be set inside the
container, though this didn't cause any issues on a Guix System.

* nonguix/multiarch-container.scm (make-container-wrapper): Move setting
LD_LIBRARY_PATH from here ...
(make-internal-script): ... to here.
2024-01-06 17:01:18 -05:00
John Kehayias
7dd68696a2
nongnu: multiarch-container: Fix missing module on foreign distros.
Fixes #277.

See discussion in above issue for details and some education on what went
wrong here.  In short, we didn't capture the needed (guix build utils) module
in the container script.  On a Guix System this didn't cause any problems as
guix modules are found through set Guile environment variables.  But on a
foreign distro these weren't set without hacky workarounds.  This prevented
Steam from launching with a "no code for module" error.

* nonguix/multiarch-container.scm (make-container-wrapper)[make-container-wrapper]:
Use 'with-imported-modules' for (guix build utils).
2024-01-04 21:01:33 -05:00
Giacomo Leidi
a328f6c91f
nonguix: binary: Cleanup when an unknown binary extension is detected.
The binary-unpack phase suffered from a problem for unknown binary file
extensions, see: !336 (comment 1709385147) . This patch fixes the
incorrect behavior by effectively restoring the state of the directory
tree before the phase.

* nonguix/build/binary-build-system.scm (binary-unpack): Restore the
environment as it was before this phase.
* nongnu/packages/clojure.scm (clj-kondo)[arguments]: No longer delete
'binary-unpack phase.
* nongnu/packages/game-development.scm (libsteam)[arguments]: dito.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-01-04 23:19:53 +01:00
John Kehayias
4f2dca3915
news: Fix entry for steam-client module renaming.
* news.txt: Use correct commit in steam-client module entry.
2024-01-03 23:34:01 -05:00
John Kehayias
e823034e40
nongnu: Add heroic.
* nongnu/packages/game-client.scm (heroic-client, heroic-extra-client-libs,
heroic-container, heroic-nvidia-container, heroic, heroic-nvidia): New
variables.
* nonguix/multi-arch-container.scm (make-container-wrapper): Preserve "^SSL_"
for heroic to use curl.
(make-internal-script): Add symlink for "/usr/share/glib-2.0".
2024-01-03 23:02:39 -05:00
John Kehayias
c6771b89c3
news: Add entry for steam-client module renaming.
* news.txt: Add entry.
2024-01-03 20:10:44 -05:00
John Kehayias
1591c3d1d1
nongnu: Rename (nongnu packages steam-client) module.
* nongnu/packages/steam-client.scm: Rename to ...
* nongnu/packages/game-client.scm: ... this.
2024-01-03 20:10:35 -05:00
Timo Wilken
07b884a7b1
nongnu: steam-nvidia: Fix launching .desktop files.
Steam installs .desktop files that refer to an executable called `steam'.
Installing steam-nvidia as the `steam-nvidia' executable breaks this, which
means Steam cannot be launched from its desktop icon.  This also applies to
.desktop files for individual games generated by Steam, when they are copied
from `<ngc-sandbox-home>/.local/share/applications/'.

Fix this by always installing Steam's wrapper executable as `steam'.  We add a
new field using "binary" to keep things shorter.

This has the downside that the `steam' and `steam-nvidia' packages cannot be
installed in the same profile, but likely people wouldn't want to do this
anyway.

Fixes #294.

* nongnu/packages/steam-client.scm (steam-nvidia-container)[binary-name]:
Specify for compatibility with .desktop files.
* nonguix/multiarch-container.scm (<nonguix-container>)[binary-name,
ngc-binary-name]: New field and accessor.
(nonguix-container->package): Use it to set correct executable name.
(make-internal-script): Use it in message.

Co-authored-by: John Kehayias <john.kehayias@protonmail.com>
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-01-03 17:24:44 -05:00
Jonathan Brielmaier
8956906f6b
nongnu: libsteam: Fix build.
The new unpack-binary phase seems to not harmonize with patchelf always:
https://gitlab.com/nonguix/nonguix/-/merge_requests/336#note_1709385147

* nongnu/packages/game-development.scm (libsteam)[arguments]: Delete
'binary-unpack for now.
2023-12-29 00:47:13 +01:00
Jonathan Brielmaier
0f35566104
nongnu: clj-kondo: Fix build.
The new unpack-binary phase seems to not harmonize with patchelf always:
https://gitlab.com/nonguix/nonguix/-/merge_requests/336#note_1709385147

* nongnu/packages/clojure.scm (clj-kondo)[arguments]: Delete
'binary-unpack phase for now and change style to gexp.
[native-inputs]: change style to gexp.
[inputs]: dito.
2023-12-29 00:46:48 +01:00
Giacomo Leidi
13114fa36d
nongnu: anytype: Avoid manually unpacking .deb file.
* nongnu/packages/productivity.scm (anytype)[phases] Drop
'unpack-deb phase;
[native-inputs]: drop tar.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-12-28 23:48:22 +01:00
Giacomo Leidi
62d1c7ab6b
nongnu: lycheeslicer: Avoid manually unpacking .deb file.
* nongnu/packages/engineering.scm (lycheeslicer)[phases]<unpack>:
Replace with 'setup-cwd;
<symlink-binary-file>: there's no need anymore to care about the
environment-variables file;
[native-inputs]: drop tar.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-12-28 23:46:20 +01:00
Giacomo Leidi
9a0253ae89
nongnu: element-desktop: Avoid manually unpacking .deb file.
* nongnu/packages/messaging.scm (element-desktop)[phases]<unpack>:
Replace with 'setup-cwd;
<symlink-binary-file>: there's no need anymore to care about the
environment-variables file;
[native-inputs]: drop tar.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-12-28 23:44:25 +01:00
Giacomo Leidi
a6c27f4d2f
nongnu: signal-desktop: Avoid manually unpacking .deb file.
* nongnu/packages/messaging.scm (signal-desktop)[phases]<unpack>:
Replace with 'setup-cwd;
<symlink-binary-file>: there's no need anymore to care about the
environment-variables file;
[native-inputs]: drop tar.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-12-28 23:43:29 +01:00
Giacomo Leidi
a33d57ee74
nongnu: chrome: Avoid manually unpacking .deb file.
* nongnu/packages/chrome.scm (make-google-chrome)[phases] Drop
'unpack-deb phase;
[native-inputs]: drop tar.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-12-28 23:42:33 +01:00
Giacomo Leidi
00e0b5f319
nonguix: binary: Automatically detect and unpack .deb files.
A new binary-unpack phase is added to the binary-build-system. When a
supported binary file is detected as the only file after the unpack
phase it is then decompressed in a specific directory.

* nonguix/build/binary-build-system.scm (deb-file?): new variable;
(unpack-deb): new variable;
(binary-unpack): new variable;
(%standard-phases): use the new phase.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-12-28 23:41:04 +01:00
Jonathan Brielmaier
768f182776
nongnu: helix-core: Update to r23.1.
* nongnu/packages/version-control.scm (helix-core): Update to r23.1.
2023-12-28 17:06:16 +01:00
Jonathan Brielmaier
d9260c9eeb
nongnu: rtl8192eu-linux-module: Update to 0.0.0-6.a928f08.
* nongnu/packages/linux.scm (rtl8192eu-linux-module): Update to 0.0.0-6.a928f08.
2023-12-28 16:40:38 +01:00
Jonathan Brielmaier
6e4db2848a
nongnu: r8168-linux-module: Update to 8.052.01.
Fixes build with newer kernel version.

* nongnu/packages/linux.scm (r8168-linux-module): Update to 8.052.01.
[arguments]: Remove phases to fix build as proper fix is now in upstream.
2023-12-28 16:33:04 +01:00
Giacomo Leidi
76e8ca00db
nongnu: Update google-chrome-unstable to 122.0.6170.3.
* nongnu/packages/chrome.scm google-chrome-unstable: Update to 122.0.6170.3.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-12-28 16:16:48 +01:00
Giacomo Leidi
9970630a03
nongnu: Update google-chrome-beta to 121.0.6167.8.
* nongnu/packages/chrome.scm google-chrome-beta: Update to 121.0.6167.8.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-12-28 16:16:48 +01:00
Giacomo Leidi
801c09a60c
nongnu: Update google-chrome-stable to 120.0.6099.71.
* nongnu/packages/chrome.scm
(make-google-chrome)[arguments]<wrapper-plan>: Add some bundled
libraries and add nacl_helper only on stable channel;
(google-chrome-stable): update to 120.0.6099.71.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-12-28 16:16:42 +01:00
Dariqq
181e3acdf6
nongnu: linux-4.14: Disable gcc plugins.
* nongnu/packages/linux.scm (linux-4.14): Add additonal config options.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-12-28 14:56:11 +01:00
Jonathan Brielmaier
71a53faf2e
nongnu: firefox-wayland: Make deprecation public.
* nongnu/packages/mozilla.scm (firefox-wayland): Make the deprecation
public.

Follow-up: 75541ecc29
Fixes: https://gitlab.com/nonguix/nonguix/-/merge_requests/386#note_1704258921
Reported-by: Ada Stevenson <adanskana@gmail.com>
2023-12-21 15:01:35 +01:00
Ada Stevenson
f0c8465ed2
nongnu: linux-firmware: Update to 20231211.
* nongnu/packages/linux.scm (linux-firmware): Update to 20231211.
[source]: Remove no longer needed patch.
[arguments]: Replace 'install phase to not call rdfind.
* nongnu/packages/patches/copy-firmware-rdfind.patch: Remove file.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-12-21 12:52:01 +01:00
Tomas Volf
75541ecc29
nongnu: firefox: Update to 121.0 [security fixes].
Fixes CVE-2023-6135, CVE-2023-6856, CVE-2023-6857, CVE-2023-6858,
CVE-2023-6859, CVE-2023-6860, CVE-2023-6861, CVE-2023-6863,
CVE-2023-6864, CVE-2023-6865, CVE-2023-6866, CVE-2023-6867,
CVE-2023-6868, CVE-2023-6869, CVE-2023-6870, CVE-2023-6871,
CVE-2023-6872, CVE-2023-6873.

Firefox 121.0 uses Wayland now by default when available on Linux:
https://www.mozilla.org/en-US/firefox/121.0/releasenotes/

* nongnu/packages/mozilla.scm (firefox): Update to 121.0.
(firefox/wayland): Remove variable and deprecate the package.

Co-authored-by: Ada Stevenson <adanskana@gmail.com>
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-12-21 12:37:27 +01:00
Tomas Volf
5d308347ca
nongnu: firefox-esr: Update to 115.6.0esr [security fixes].
Fixes CVE-2023-6856, CVE-2023-6857, CVE-2023-6858, CVE-2023-6859,
CVE-2023-6860, CVE-2023-6861, CVE-2023-6862, CVE-2023-6863,
CVE-2023-6864, CVE-2023-6865, CVE-2023-6867.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 115.6.0esr.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-12-19 23:27:26 +01:00
Jonathan Brielmaier
25b3a7b6f6
nongnu: hplip-plugin: Update source hash.
Inherited hplip package was updated to 3.23.12 in commit
392de3262ef388ec282d4311a7c2954e86e5aac9 of guix.

* nongnu/packages/printers.scm (hplip-plugin)[native-inputs]: Update sha256
hash for hplip-plugin.
2023-12-13 17:56:18 +01:00
John Kehayias
e721ad7dfd
nongnu: zoom: Update to 5.16.10.668.
* nongnu/packages/messaging.scm (zoom): Update to 5.16.10.668.
2023-12-11 21:10:48 -05:00
John Kehayias
f9327439b8
nongnu: signal-desktop: Update to 6.41.0.
* nongnu/packages/messaging.scm (signal-desktop): Update to 6.41.0
2023-12-11 21:05:24 -05:00
John Kehayias
0dce1e6b6d
nongnu: element-desktop: Update to 1.11.51 [security fixes].
Previous versions include fixes for CVE-2023-5217 and CVE-2023-4863.

* nongnu/packages/messaging.scm (element-desktop): Update to 1.11.51.
2023-12-11 21:01:53 -05:00
Remco van 't Veer
3aa291a94a
nongnu: clj-kondo: Update to 2023.10.20.
* nongnu/packages/clojure.scm (clj-kondo): Update to 2023.10.20.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-12-11 20:40:12 -05:00
Giacomo Leidi
e3694f827b
nongnu: vscodium: Update to 1.85.0.23343.
* nongnu/packages/editors (vscodium): Update to 1.85.0.23343.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-12-11 20:38:54 -05:00
John Kehayias
36ebf117dd
nongnu: Remove linux-6.5.
linux-libre-6.5 was removed upstream in
4bf4e340b74b66a0fc319aeb100fb1f948a67211.

* nongnu/packages/linux.scm (linux-6.5): Remove variable.
2023-12-11 20:30:03 -05:00
John Kehayias
0f7c8e3e2b
nongnu: steam: Fix SteamVR dashboard.
The SteamVR dashboard can be a bit flaky in appearing or not.  While it
doesn't seem to always require at-spi2-core, that does seem to help at other
times.

* nongnu/packages/steam-client.scm (steam-client-libs): Add at-spi2-core.
2023-12-06 00:10:19 -05:00
Giacomo Leidi
f1f12f3cc9
nongnu: anytype: Update to 0.36.0.
* nongnu/packages/productivity.scm (anytype): Update to 0.36.0.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-12-01 17:43:01 -05:00
Tomas Volf
b5b890f30a
nongnu: firefox: Update to 120.0.1.
* nongnu/packages/mozilla.scm (firefox): Update to 120.0.1.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-12-01 17:41:14 -05:00
Andre A. Gomes
e8e6bb1046
nongnu: cl-electron: Fix hash.
* nongnu/packages/lisp.scm (cl-electron)[source]: Update hash.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-12-01 17:36:44 -05:00
Tomas Volf
a7f7269f5f
.dir-locals.el: Use guix repl as geiser-guile-binary.
See discussion at <https://gitlab.com/nonguix/nonguix/-/merge_requests/346>.

Default geiser-guile-binary is guile, which uses an old guix.  This leads to
annoying errors when trying to work with the this repository from geiser.  So,
set the variable to '("guix" "repl"), which will use the current guix command,
making everything work properly.  Note that this may be unexpected for someone
working with a local Guix checkout (differing Guix version) and may need
adjusting then.

* .dir-locals.el (scheme-mode): Add geiser-guile-binary setting.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-11-28 15:43:20 -05:00
Andre A. Gomes
05b7d0423d
nongnu: sbcl-cl-electron: Update to 0.0.0-2.458a60d.
* nongnu/packages/lisp.scm (sbcl-cl-electron): Update to 0.0.0-2.458a60d.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-11-28 15:33:40 -05:00
Andre A. Gomes
5a8a34f193
nongnu: electron: Update to 27.1.0.
* nongnu/packages/electron.scm (electron): Update to 27.1.0.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-11-28 15:33:27 -05:00
Ada Stevenson
170c52a7cf
gnu: linux-firmware: Update to 20231111.
* nongnu/packages/linux.scm (linux-firmware): Update to 20231111.
[source]: Add patch.
* nongnu/packages/patches/copy-firmware-rdfind.patch: New file.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-11-28 01:40:56 -05:00
John Kehayias
621ca1767c
nongnu: linux: Update to 6.6.
Upstream Guix now defaults to linux-libre@6.3.  Follow suit by making linux
track linux@6.6.

* nongnu/packages/linux.scm (linux): Update to linux 6.6.
2023-11-28 00:59:44 -05:00
John Kehayias
efbe707f8e
nongnu: steam: Return to using mesa.
With libx11 ungrafted upstream in 5dcbd9accfcf0e97579604f57681c0565ae07ec2 we
no longer need our workaround for mesa.  The upstream bug with grafts is not
fixed, however.

* nongnu/packages/steam-client.scm (steam-client-libs): Rename mesa-fixed to
mesa.
(libxdamage-fixed, mesa-fixed): Remove variables.
2023-11-28 00:55:56 -05:00
Jonathan Brielmaier
de0125a783
nongnu: signal-desktop: Update to 6.39.1.
* nongnu/packages/messaging.scm (signal-desktop): Update to 6.39.1.
2023-11-24 16:43:49 +01:00
Tomas Volf
639b70063b
nongnu: firefox: Update to 115.5.0esr [security fixes].
Fixes CVE-2023-6204, CVE-2023-6205, CVE-2023-6206, CVE-2023-6207,
CVE-2023-6208, CVE-2023-6209, CVE-2023-6212.

* nongnu/packages/mozilla.scm (firefox): Update to 115.5.0esr.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-11-21 20:43:27 -05:00
Tomas Volf
62823fe037
nongnu: firefox: Update to 120.0 [security fixes].
Fixes CVE-2023-6204, CVE-2023-6205, CVE-2023-6206, CVE-2023-6207,
CVE-2023-6208, CVE-2023-6209, CVE-2023-6210, CVE-2023-6211,
CVE-2023-6212, CVE-2023-6213.

* nongnu/packages/mozilla.scm (firefox): Update to 120.0.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-11-21 20:38:34 -05:00
Timotej Lazar
41b135378f
nongnu: intel-microcode: Update to 20231114 [security fixes].
Fixes CVE-2023-23583.

* nongnu/packages/linux.scm (intel-microcode): Update to 20231114.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-11-21 20:35:48 -05:00
John Kehayias
d5fccef14d
nongnu: Add linux@6.6.
Upstream has added linux-libre@6.6 but it is not yet the default.

* nongnu/packages/linux.scm (linux-6.6): New variable.
2023-11-21 20:33:04 -05:00
arkhan
16e9c0d69b
nongnu: anydesk: Update to 6.3.0.
* nongnu/packages/anydesk.scm (anydesk): Update to 6.3.0.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-11-13 21:03:09 +01:00
Hilton Chain
3c2d2dbd8f
nongnu: linux-xanmod-lts: Update to 6.1.61.
* nongnu/packages/linux.scm (linux-xanmod-lts): Update to 6.1.61.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-11-13 20:55:45 +01:00
Hilton Chain
7d317823ea
nongnu: linux-xanmod: Update to 6.5.10.
* nongnu/packages/linux.scm (linux-xanmod): Update to 6.5.10.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-11-13 20:55:45 +01:00
John Kehayias
c398116f34
nonguix: multiarch-container: Make locale usable by pressure-vessel.
Steam's pressure-vessel startup time can be improved by not having to generate
locales.  So make sure locales are in and used by the pressure-vessel
container by linking the expected location of /usr/lib/locale (presumably so
that pressure-vessel will capture them) and setting $GUIX_LOCPATH.

* nonguix/multiarch-container.scm (make-container-wrapper): Preserve and set
GUIX_LOCPATH.
(make-internal-script): Add symlink for /usr/lib/locale.
2023-11-11 20:56:22 -05:00
John Kehayias
f89556c74c
nonguix: multiarch-container: Preserve MANGOHUD.
Now one can have set MANGOHUD=1 in their environment to have all Steam games
launch with MangoHud, rather than always setting this per game launch
settings.  Likewise for MANGOHUD_CONFIG for configuration.

* nonguix/multiarch-container.scm (make-container-wrapper): Preserve MANGOHUD
environment variables.
2023-11-11 20:56:16 -05:00
John Kehayias
3e698c64a8
nonguix: multiarch-container: Set LD_LIBRARY_PATH (for steam).
Setting $LD_LIBRARY_PATH in the container allows for non-Steam games added to
Steam to launch properly with Proton.  Otherwise they don't make it to the
pressure-vessel container as it seems they start in an environment where the
rest of our setup is not active (e.g. game will fail to launch with an error
about being unable to load libGL.so.1).

* nonguix/multiarch-container.scm (make-container-wrapper): Preserve
LD_LIBRARY_PATH and set it.
2023-11-11 20:56:10 -05:00
John Kehayias
a36cce8028
nonguix: multiarch-container: Remove pressure-vessel workaround.
Setting $PRESSURE_VESSEL_FILESYSTEMS_RO to "/gnu/store" is no longer needed
for Steam as the fix has been merged upstream.  Users can still set this
environment variable (preserved in the container) if needed.

* nonguix/multiarch-container.scm (make-container-wrapper): Remove setting
$PRESSURE_VESSEL_FILESYSTEMS_RO.
2023-11-11 20:56:03 -05:00
Tomas Volf
a82a68b075
nongnu: firefox: Update to 119.0.1.
* nongnu/packages/mozilla.scm (firefox): Update to 119.0.1.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-11-11 18:50:00 -05:00
Ada Stevenson
f38e516623
nongnu: sof-firmware: Update to 2.2.6.
* nongnu/packages/linux.scm (sof-firmware): Update to 2.2.6.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-11-11 18:46:12 -05:00
John Kehayias
def38a656d
README.org: Mention pre-generated installer.
* README.org (Installation image): Mention the pre-generated installer images
on the Release page.
2023-11-04 16:41:12 -04:00
Ada Stevenson
e14c0e2184
nongnu: linux-firmware: Update firmware to 20231030.
* nongnu/packages/linux.scm (linux-firmware): Update to 20231030.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-10-31 23:59:31 -04:00
Tomas Volf
17d964fa17
nongnu: firefox: Update to 119.0 [security fixes].
Fixes CVE-2023-5721, CVE-2023-5722, CVE-2023-5723, CVE-2023-5724,
CVE-2023-5725, CVE-2023-5726, CVE-2023-5727, CVE-2023-5728,
CVE-2023-5729, CVE-2023-5730, CVE-2023-5731.

* nongnu/packages/mozilla.scm (firefox): Update to 119.0.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-10-26 14:41:13 -04:00
Giacomo Leidi
182ce510b5
nongnu: Update google-chrome-beta to 117.0.5938.22.
* nongnu/packages/chrome.scm (google-chrome-beta): Update to 117.0.5938.22.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-10-24 17:16:55 +02:00
Giacomo Leidi
a2714ee761
nongnu: Update google-chrome-stable to 118.0.5993.70.
* nongnu/packages/chrome.scm (google-chrome-stable): Update to 118.0.5993.70.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-10-24 17:16:55 +02:00
Tomas Volf
d2209d3316
nongnu: firefox-esr: Update to 115.4.0esr [security fixes].
Fixes CVE-2023-5721, CVE-2023-5724, CVE-2023-5725, CVE-2023-5726,
CVE-2023-5727, CVE-2023-5728, CVE-2023-5730, CVE-2023-5732.

* nongnu/packages/mozilla.scm (firefox-esr): Update to 115.4.0esr.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-10-24 17:11:46 +02:00
John Kehayias
a1f460497a
nongnu: Remove linux-6.4.
linux-libre-6.4 was removed upstream in
2216d98958edf41da64568f7b9d2a2433e40dda0.

* nongnu/packages/linux.scm (linux-6.4): Delete variable.
2023-10-22 01:30:01 -04:00
John Kehayias
14656d642d
nongnu: steam: Fix to work with newer mangohud.
In 0.7.0 of MangoHud the vulkan implicit layers have different names for 32-
and 64-bit so we no longer need a workaround.

* nonguix/multiarch-container.scm (make-internal-script): No longer create
/usr/share/vulkan/implicit_layer.d.  Symlink instead directly from guix-env.
Remove vulkan layer renaming from mangohud.
2023-10-14 17:09:28 -04:00
Ahmad Draidi
35f6a5b892
nongnu: linux: Update to 6.5.
Upstream Guix defaults to linux-libre@6.5.  Follow suit by making linux track
linux@6.5.

* nongnu/packages/linux.scm (linux): Update to linux-6.5.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2023-10-14 16:44:04 -04:00
John Kehayias
657cfa0822
nongnu: Rename helm to helm-kubernetes.
Reported upstream as <https://issues.guix.gnu.org/66033> by Panos
Alevropoulos.  I don't think we can deprecate since the "helm" package is
still in Guix with that name.

* nongnu/packages/k8s.scm (helm): Rename to ...
(helm-kubernetes): ... this.
2023-10-12 16:48:34 -04:00
Jonathan Brielmaier
2c67b91350
nongnu: firefox: Update to 118.0.2.
* nongnu/packages/mozilla.scm (firefox): Update to 118.0.2.
2023-10-11 00:03:52 +02:00
Tomas Volf
d08096e25f
nongnu: firefox-esr: Fix Web Speech API.
Firefox loads libspeechd.so.2 during runtime using PR_LoadLibrary and it fails
to locate the library in the store.  Fix is to add extra phase that patches
the file to load the library using an absolute path.

* nongnu/packages/mozilla.scm (firefox-esr)
[phases]{'patch-SpeechDispatcherService.cpp}: New phase.
[inputs]: Add `speech-dispatcher`.

Fixes: https://gitlab.com/nonguix/nonguix/-/issues/284
Tested-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2023-10-09 11:27:58 +02:00
51 changed files with 4184 additions and 1512 deletions

View File

@ -1,4 +1,5 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz>
;; Per-directory local variables for GNU Emacs 23 and later.
((nil
@ -9,11 +10,17 @@
;; For use with 'bug-reference-prog-mode'.
(bug-reference-url-format . "https://gitlab.com/nonguix/nonguix/issues/%s")
(bug-reference-bug-regexp
. "\\(#\\([0-9]+\\)\\)")))
. "\\(#\\([0-9]+\\)\\)")
(geiser-insert-actual-lambda . nil)))
(c-mode . ((c-file-style . "gnu")))
(scheme-mode
.
((indent-tabs-mode . nil)
;; Note this next setting will use the current guix as the geiser binary;
;; one working with a local guix checkout may want something different.
((geiser-guile-binary . ("guix" "repl"))
(indent-tabs-mode . nil)
(eval . (put 'eval-when 'scheme-indent-function 1))
(eval . (put 'call-with-prompt 'scheme-indent-function 1))
(eval . (put 'test-assert 'scheme-indent-function 1))

View File

@ -9,6 +9,9 @@
(name "ajgrf"))
("50F3 3E2E 5B0C 3D90 0424 ABE8 9BDC F497 A4BB CC7F"
(name "ambrevar"))
(;; primary: "220F 98D9 5E86 204C 0036 DA7B 6DEC 4360 408B 4185"
"F4C2 D1DF 3FDE EA63 D1D3 0776 ACC6 6D09 CA52 8292"
(name "hako"))
("5DA3 74E1 EADB DC7C 772D 5E65 5E76 B1AD 0FC2 2F93"
(name "ison"))
(;; primary: "1BA4 08C5 8BF2 0EA7 3179 635A 865D C0A3 DED9 B5D0"
@ -18,7 +21,8 @@
(name "jonsger"))
("D319 C7A9 8F2C 3A11 D9C0 0E30 F369 0CBE 3152 EF58"
(name "pineapples"))
("A420 7B56 C255 109F 2CB3 157E 4990 97AE 5EA8 15D9"
(;; primary: "7E9F 5BF6 1680 4367 127B 7A87 F9E6 9FB8 5A75 54F1"
"A420 7B56 C255 109F 2CB3 157E 4990 97AE 5EA8 15D9"
(name "podiki"))
("1EFB 0909 1F17 D28C CBF9 B13A 53D4 57B2 D636 EE82"
(name "roptat"))))

View File

@ -94,19 +94,20 @@ your configuration.
** Installation image
For some hardware the official Guix installation image won't do
(e.g. unsupported wifi). You can generate an installation image running the
nonfree Linux kernel and nonfree firmware with the following command:
(e.g. unsupported wifi). You can find a pre-generated installation image
(time and version in line with upstream Guix), running the nonfree Linux
kernel and nonfree firmware, on the [[https://gitlab.com/nonguix/nonguix/-/releases][Releases page]] (see below for important
note if you use the 1.4.0 release or those created prior to April 2024). Or,
you can generate an installation image from a local checkout of this
repository, at a more recent commit, with the following command:
#+begin_src sh
guix system image --image-type=iso9660 /path/to/this/channel/nongnu/system/install.scm
#+end_src
Like the official Guix installation image, this will produce a read-only image
with any changes made stored in memory. As indicated below, you will need to
run ~guix pull~ to download the Nonguix package descriptions, so will need
enough memory to hold the cached channel code which can be several hundred
megabytes. As an alternative, you can create a writable image with the
following command:
with any changes made stored in memory. Alternatively, a writable image can
be created with the following command:
#+begin_src sh
guix system image --image-size=7.2GiB /path/to/this/channel/nongnu/system/install.scm
@ -123,11 +124,14 @@ Either type of image can be written to a USB thumbdrive with:
dd if=/path/to/disk-image of=/dev/sdb bs=4M status=progress oflag=sync
#+END_SRC
The installation media produced by the above method does not automatically
configure your channels specification. You need to add Nonguix "manually"
into ~/etc/guix/channels.scm~ and then run ~guix pull~ to make Guix aware of
Nonguix scheme libraries. Below is Guile scheme code to include Nonguix in the
channel specification.
*** Important note for 1.4.0
The installation media for 1.4.0 or those produced manually before commit
[[https://gitlab.com/nonguix/nonguix/-/commit/80b273e86a19ceaee6d9b6650ed56e853409a799#note_2075084624][80b273e8]] (April 2024) do not automatically configure your channels
specification. You need to add Nonguix "manually" into ~/etc/guix/channels.scm~
and then run ~guix pull~ to make Guix aware of Nonguix scheme libraries. This
will require enough memory to hold the cached channel code which can be
several hundred megabytes. Below is Guile scheme code to include Nonguix in
the channel specification.
#+BEGIN_SRC scheme
(use-modules (ice-9 pretty-print))
@ -217,6 +221,75 @@ firmware, and blacklisting of conflicting modules:
...))
...)
#+END_SRC
** NVIDIA graphics card
NVIDIA graphics card support in Nonguix consists of a system service =nvidia-service-type= and a package =nvda= for application setup.
The following code serves as an example for system setup:
#+BEGIN_SRC scheme
(use-modules (gnu services gnome)
(gnu services xorg)
(nongnu packages nvidia)
(nongnu services nvidia))
(operating-system
(kernel-arguments '("modprobe.blacklist=nouveau"
;; Set this if the card is not used for displaying or
;; you're using Wayland:
"nvidia_drm.modeset=1"))
(services
(cons* (service nvidia-service-type)
;; Configure desktop environment, GNOME for example.
(service gnome-desktop-service-type
;; Enable NVIDIA support, only do this when the card is
;; used for displaying.
(gnome-desktop-configuration
(gnome (replace-mesa gnome))))
;; Configure Xorg server, only do this when the card is used for
;; displaying.
(set-xorg-configuration
(xorg-configuration
(modules (cons nvda %default-xorg-modules))
(drivers '("nvidia"))))
...))
...)
#+END_SRC
For application setup, =mesa= has to be replaced with =nvda= for every individual package that requires the NVIDIA driver, this can be done with grafting (which doesn't rebuild packages) or rewriting inputs (which rebuilds packages) (see [[https://guix.gnu.org/manual/devel/en/guix.html#Package-Transformation-Options][Package Transformation Options]] in GNU Guix Reference Manual). For example:
#+BEGIN_SRC shell
guix build mesa-utils --with-graft=mesa=nvda
guix build mesa-utils --with-input=mesa=nvda
#+END_SRC
The above transformation can be used within an one-off software environment spawned by =guix shell= as well, for correct environment variables, the =nvda= package may be added into the environment:
#+BEGIN_SRC shell
guix shell mesa-utils nvda --with-graft=mesa=nvda \
-- glxinfo
#+END_SRC
To graft mesa with nvda programmatically, use =replace-mesa= defined in =(nongnu packages nvidia)=:
#+BEGIN_SRC scheme
(use-modules (nongnu packages nvidia))
;; Replace mesa with nvda for a single package.
(replace-mesa <some-package>)
;; Replace mesa with nvda for a package list.
(map replace-mesa (list <some-package> ...))
;; A package with mesa replaced is still a package, it can be part of a
;; package list.
(list (replace-mesa <some-package>)
...)
#+END_SRC
When the card is not used for displaying, environment variables =__GLX_VENDOR_LIBRARY_NAME=nvidia= and =__NV_PRIME_RENDER_OFFLOAD=1= may be set.
** Substitutes for nonguix
A Nonguix substitute server is available at [[https://substitutes.nonguix.org]].
@ -256,6 +329,9 @@ sudo guix archive --authorize < signing-key.pub
sudo guix system reconfigure /etc/config.scm --substitute-urls='https://ci.guix.gnu.org https://bordeaux.guix.gnu.org https://substitutes.nonguix.org'
#+END_SRC
The [[https://cuirass.nonguix.org/][Nonguix Cuirass instance]] can be useful when investigating substitution
failures.
Check out the [[https://guix.gnu.org/manual/en/html_node/Substitutes.html][chapter on substitutes]]
in the Guix manual for more details.

121
guix/import/nvidia.scm Normal file
View File

@ -0,0 +1,121 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; This file is not part of GNU Guix but requires this naming scheme
;;; so that the %nvidia-updater is properly read when using
;;; `guix refresh -L$(pwd) nvidia-driver' in nonguix root.
(define-module (guix import nvidia)
#:use-module (web client)
#:use-module (sxml match)
#:use-module (sxml simple)
#:use-module (guix memoization)
#:use-module (guix packages)
#:use-module (guix upstream)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-71)
#:export (%nvidia-updater))
(define nvidia-latest-url "https://www.nvidia.com/en-us/drivers/unix/")
(define (archive->guix-arch system)
(match system
("https://www.nvidia.com/object/linux-amd64-display-archive.html"
"x86_64-linux")
("https://www.nvidia.com/en-us/drivers/unix/linux-aarch64-archive/"
"aarch64-linux")
(_ #f)))
(define (archive? cand)
(or (string= cand (string-append nvidia-latest-url "linux-aarch64-archive/"))
(and (string-prefix? "https://www.nvidia.com/object/" cand)
(string-suffix? "-archive.html" cand))))
(define nvidia-versions
(memoize
(lambda _
(let* ((response content (http-get nvidia-latest-url))
(match-str (string-match "<div id=\"rightContent\".*</div>"
content))
(greedy-right-content (match:substring match-str))
(match-str (string-match "</div>" greedy-right-content))
(right-content
(string-append (match:prefix match-str) "</div>"))
;; xml->sxml is not flexible enough for html.
;; For instance, <br> tags don't have closing </br>.
;; This trick preprocesses html to extract all <a> tags in
;; a <body> wrapper, which sxml-match can handle well.
(xml (xml->sxml
(string-append
"<body><"
(string-join
(filter (cute string-prefix? "a " <>)
(string-split right-content #\<))
"</a><")
"</a></body>")
#:trim-whitespace? #t))
(link-alist
(sxml-match
xml
((*TOP*
(body
(a (@ (href ,url)) ,version) ...))
(fold acons
'()
(list (or (string= version "Archive")
(string-trim version))
...)
(list (if (archive? url)
(archive->guix-arch url)
url)
...)))))
(system #f)
(versions
(fold
(lambda (el rest)
(match el
(`(#t . ,s)
(set! system s)
rest)
(`(,version . ,address)
;; aarch64 seems to follow the same driver versions than x86_64
;; KISS: use only an alist of versions
;; go for an alist of alists insted if they diverge
(if (and (string? system) (string= system "x86_64-linux"))
(cons version rest)
rest))
(_ rest)))
'()
link-alist)))
(fold acons '() (list "main" "latest" "beta") (take versions 3))))))
(define* (latest-release package #:key (version #f))
"Return an <upstream-source> for the latest-release of PACKAGE."
(let* ((name (package-name package))
(kind (match name
("nvidia-driver" "main")
("nvidia-driver-beta" "beta")))
(version (or version (assoc-ref (nvidia-versions) kind))))
(upstream-source
(package name)
(version version)
(urls (list (string-append
"https://us.download.nvidia.com/XFree86/Linux-x86_64/"
version "/NVIDIA-Linux-x86_64-" version ".run"))))))
(define (nvidia-package? package)
"Return true if PACKAGE is Nvidia."
(member (package-name package)
(list "nvidia-driver" "nvidia-driver-beta")))
(define %nvidia-updater
(upstream-updater
(name 'nvidia)
(description "Updater for Nvidia packages")
(pred nvidia-package?)
(import latest-release)))
;; nvidia.scm ends here.

View File

@ -9,6 +9,44 @@
(channel-news
(version 0)
(entry (commit "be61a1829a19724299e46d6e3c1038229039c3ee")
(title
(en "Nvidia driver package/service updates and changes"))
(body
(en "In addition to the Nvidia driver package being updated to 550.67,
the service, procedures, and configuration has changed. Please see the new
directions in the Nonguix README.org for how to use the Nvidia driver in your
system configuration, and of course report any issues with these changes or
improvements for the documentation.")))
(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")
(title
(en "Linux LTS kernel updated to 6.1")

66
nongnu/packages.scm Normal file
View File

@ -0,0 +1,66 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
(define-module (nongnu packages)
#:use-module (gnu packages)
#:use-module (guix diagnostics)
#:use-module (guix i18n)
#:use-module (ice-9 match)
#:use-module (srfi srfi-34)
#:replace (%patch-path
search-patch)
#:export (nongnu-patches))
;;; Commentary:
;;;
;;; This module refines the default value of some parameters from (gnu
;;; packages) and the syntax/procedures using those. This allows
;;; 'search-paths' and friends to work without any user intervention.
;;;
;;; Code:
(define %nongnu-root-directory
;; This is like %distro-root-directory from (gnu packages), with adjusted
;; paths.
(letrec-syntax ((dirname* (syntax-rules ()
((_ file)
(dirname file))
((_ file head tail ...)
(dirname (dirname* file tail ...)))))
(try (syntax-rules ()
((_ (file things ...) rest ...)
(match (search-path %load-path file)
(#f
(try rest ...))
(absolute
(dirname* absolute things ...))))
((_)
#f))))
(try ("nongnu/packages/firmware.scm" nongnu/ packages/)
("nongnu/ci.scm" nongnu/))))
(define %patch-path
;; Define it after '%package-module-path' so that '%load-path' contains user
;; directories, allowing patches in $GUIX_PACKAGE_PATH to be found.
(make-parameter
(map (lambda (directory)
(if (string=? directory %nongnu-root-directory)
(string-append directory "/nongnu/packages/patches")
directory))
%load-path)))
;;; XXX: The following must be redefined to make use of the overridden
;;; %patch-path parameter above.
(define (search-patch file-name)
"Search the patch FILE-NAME. Raise an error if not found."
(or (search-path (%patch-path) file-name)
(raise (formatted-message (G_ "~a: patch not found")
file-name))))
;;; XXX: `search-patches' being syntax, it can't be overridden by the module
;;; system, or so it seems, so we simply rename it.
(define-syntax-rule (nongnu-patches file-name ...)
"Return the list of absolute file names corresponding to each
FILE-NAME found in %PATCH-PATH."
(list (search-patch file-name) ...))

View File

@ -21,20 +21,20 @@
(define-public anydesk
(package
(name "anydesk")
(version "6.1.1")
(version "6.3.2-1")
(source (origin
(method url-fetch)
(uri (string-append "https://download.anydesk.com/linux/anydesk-"
version "-amd64.tar.gz"))
(uri (string-append "https://download.anydesk.com/linux/anydesk_"
version "_amd64.deb"))
(sha256
(base32
"1ai58fsivb8al1279bayl800qavy0kfj40rjhf87g902ap3p4bhh"))))
"13b5ab4a889vz39d36f45mhv3mlaxb305wsh3plk3dbjcrkkkirb"))))
(build-system binary-build-system)
(arguments
`(#:validate-runpath? #f
#:strip-binaries? #f ;; For some reason it breaks the program
#:patchelf-plan
`(("anydesk" ("atk"
`(("usr/bin/anydesk" ("atk"
"cairo"
"fontconfig"
"freetype"
@ -66,17 +66,29 @@
"polkit-gnome"
"pulseaudio")))
#:install-plan
`(("anydesk" "/bin/")
("polkit-1/com.anydesk.anydesk.policy" "/etc/polkit-1/actions/")
("icons/" "/share/icons/"))
`(("usr/bin/anydesk" "/bin/")
("usr/share/polkit-1/actions/com.anydesk.anydesk.policy" "/etc/polkit-1/actions/")
("usr/share/icons" "/share/icons/"))
#:phases
(modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key inputs #:allow-other-keys)
(invoke "tar" "-xvzf" (assoc-ref inputs "source") "--strip-components" "1")))
(replace 'binary-unpack
(lambda* (#:key source #:allow-other-keys)
(let* ((files (filter (lambda (f)
(not (string=? (basename f) "environment-variables")))
(find-files (getcwd))))
(binary-file (car files)))
(when (= 1 (length files))
(mkdir "binary")
(chdir "binary")
(invoke "ar" "x" binary-file)
(invoke "tar" "xvf" "data.tar.gz")
(invoke "rm" "-rfv" "control.tar.gz"
"data.tar.gz"
binary-file
"debian-binary")))))
(add-after 'wrap-program 'install-desktop-entry
(lambda* (#:key outputs #:allow-other-keys)
(let* ((desktop-file "anydesk.desktop")
(let* ((desktop-file "usr/share/applications/anydesk.desktop")
(out (assoc-ref outputs "out"))
(applications (string-append out "/share/applications")))
(substitute* desktop-file

View File

@ -146,7 +146,7 @@
openlibm
pulseaudio
qtbase-5
qtserialport
qtserialport-5
qtmultimedia-5
zlib))
(synopsis "Layout, editing, and control software for your laser cutter")

View File

@ -15,6 +15,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages photo)
#:use-module (gnu packages qt)
#:use-module (gnu packages video)
#:use-module (gnu packages wget)
#:use-module (gnu packages xiph)
@ -55,24 +56,19 @@
'("chrome"
"chrome-sandbox"
"chrome_crashpad_handler"
"nacl_helper"
"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
#~'(("opt/" "/share")
("usr/share/" "/share"))
#: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
;; Many thanks to
;; https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/browsers/google-chrome/default.nix
@ -119,13 +115,13 @@
(symlink chrome-target exe)
(wrap-program exe
'("CHROME_WRAPPER" = (#$appname)))))))))
(native-inputs (list tar))
(inputs
(list bzip2
curl
flac
font-liberation
gdk-pixbuf
gtk
harfbuzz
libexif
libglvnd
@ -135,6 +131,8 @@
opus
pciutils
pipewire
qtbase-5
qtbase
snappy
util-linux
xdg-utils
@ -146,10 +144,10 @@
(license (nonfree "https://www.google.com/intl/en/chrome/terms/")))))
(define-public google-chrome-stable
(make-google-chrome "stable" "116.0.5845.110" "08hqymyzah1wiyag56iivvydy1zph4jzicjjjyh6br07lpfps7nk"))
(make-google-chrome "stable" "131.0.6778.108" "0b8a3dmn7n4kyjzyirxcy6xihnasmp3rcy2ly4zh7vp7r5l6lkqd"))
(define-public google-chrome-beta
(make-google-chrome "beta" "116.0.5845.50" "047wsszg4c23vxq93a335iymiqpy7lw5izzz4f0zk1a4sijafd59"))
(make-google-chrome "beta" "132.0.6834.32" "0ncjyg3vxsjspb0i1nsflcry9sfsffnqiwa2y7cgh46xamdq6f2c"))
(define-public google-chrome-unstable
(make-google-chrome "unstable" "119.0.6034.6" "156rsklyi1z014pyximwyjsnc2rhdky1kck9g63738vnhcv398b0"))
(make-google-chrome "unstable" "133.0.6847.2" "1z15maqs1g8lhi7dm9hn4r272nl0g967a11igmw2sj14zl3n9j6g"))

View File

@ -26,15 +26,15 @@
#:use-module (srfi srfi-1))
(define-public chromium-embedded-framework
(let ((git-revision "d0bbcbb")
(chromium-version "103.0.5060.114")
(let ((git-revision "5053a95")
(chromium-version "117.0.5938.150")
(arch (match (or (%current-target-system) (%current-system))
("aarch64-linux" "linuxarm64")
("armhf-linux" "linuxarm")
(_ "linux64"))))
(package
(name "chromium-embedded-framework")
(version "103.0.9")
(version "117.2.4")
(source (origin
(method url-fetch)
(uri (string-append
@ -45,7 +45,7 @@
"_" arch "_minimal.tar.bz2"))
(sha256
(base32
"143x0jmasl4z16bkxlrbz874chd9x9xpc5qylb9h7j80gfcrzlsi"))))
"0vzzwq1k6bv9d209yg3samvfnfwj7s58y9r3p3pd98wxa9iyzf4j"))))
(build-system binary-build-system)
(arguments
`(#:patchelf-plan

View File

@ -2,6 +2,7 @@
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2020 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
(define-module (nongnu packages clojure)
#:use-module (gnu packages compression)
@ -11,6 +12,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (nonguix build-system binary)
@ -85,7 +87,7 @@ lets you focus on your code.")
(define-public clj-kondo
(package
(name "clj-kondo")
(version "2023.01.20")
(version "2025.01.16")
(source (origin
(method url-fetch/zipbomb)
(uri (string-append
@ -93,26 +95,87 @@ lets you focus on your code.")
version "/clj-kondo-" version "-linux-amd64.zip"))
(sha256
(base32
"0i91qaqjnrg7ad0rs1r4rjwi77pr16dhck9bflb4kiyggcbs4dds"))))
"0w9a2lz9xr5446bav2fp70jfinlm9zrl0iv9s0h0b6jczqx2f977"))))
(build-system binary-build-system)
(arguments
`(#:patchelf-plan
'(("clj-kondo" ("gcc:lib" "zlib")))
#:install-plan
'(("clj-kondo" "/bin/"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chmod
(lambda _
(chmod "clj-kondo" #o755))))))
(list #:patchelf-plan `'(("clj-kondo" ("gcc" "zlib")))
#:install-plan `'(("./clj-kondo" "/bin/"))
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'chmod
(lambda _
(chmod "clj-kondo" #o755))))))
(native-inputs
`(("unzip" ,unzip)))
(list unzip))
(inputs
`(("gcc:lib" ,gcc "lib")
("zlib" ,zlib)))
(list `(,gcc "lib")
zlib))
(supported-systems '("x86_64-linux"))
(home-page "https://github.com/clj-kondo/clj-kondo")
(synopsis "Linter for Clojure code")
(description "Clj-kondo performs static analysis on Clojure, ClojureScript
and EDN, without the need of a running REPL.")
(license license:epl1.0)))
(define-public clojure-lsp
(package
(name "clojure-lsp")
(version "2024.03.13-13.11.00")
(source (origin
(method url-fetch/zipbomb)
(uri (string-append "https://github.com/clojure-lsp/clojure-lsp"
"/releases/download/" version
"/clojure-lsp-native-static-linux-amd64.zip"))
(sha256
(base32
"1l6w55aragyf8rzy087iqw97xnpih5syjwhf0jwbgrqps2k44ms5"))))
(build-system binary-build-system)
(arguments
`(#:install-plan
'(("./clojure-lsp" "/bin/"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chmod
(lambda _
(chmod "./clojure-lsp" #o755))))))
(inputs (list `(,gcc "lib") zlib))
(supported-systems '("x86_64-linux"))
(home-page "https://github.com/clojure-lsp/clojure-lsp")
(synopsis "Clojure & ClojureScript Language Server (LSP) implementation")
(description "This package provides a Language Server for Clojure and ClojureScript
languages. The goal of this project is to bring great editing tools for
Clojure/Clojurescript to all editors and programatically via its CLI and API.
It aims to work alongside you to help you navigate, identify and fix errors,
perform refactors and more.")
(license license:expat)))
(define-public babashka
(package
(name "babashka")
(version "1.3.189")
(source (origin
(method url-fetch/tarbomb)
(uri (string-append "https://github.com/babashka/babashka"
"/releases/download/v" version "/babashka-"
version "-linux-amd64.tar.gz"))
(sha256
(base32
"1gzra3y5iljjqi4rj1qxr3yniqla3qnhv881gkzrp788fwsvlmwv"))))
(build-system binary-build-system)
(arguments
`(#:patchelf-plan
'(("bb" ("gcc" "zlib")))
#:install-plan
'(("./bb" "/bin/"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chmod
(lambda _
(chmod "bb" #o755))))))
(inputs (list `(,gcc "lib") zlib))
(supported-systems '("x86_64-linux"))
(home-page "https://github.com/babashka/babashka")
(synopsis "Native, fast starting Clojure interpreter for scripting")
(description "Babashka is a native Clojure interpreter for scripting with
fast startup. Its main goal is to leverage Clojure in places where you would
be using bash otherwise.")
(license license:epl1.0)))

View File

@ -10,14 +10,14 @@
(define-public unrar
(package
(name "unrar")
(version "6.2.2")
(version "7.0.9")
(source (origin
(method url-fetch)
(uri (string-append "https://www.rarlab.com/rar/unrarsrc-"
version ".tar.gz"))
(sha256
(base32
"1mbw20lh300r541dz4m84rvq7b542mnb70yc29afrjj6waknqza7"))))
"09l336li4q7yrpjq22q6da2vrynpqbyb4a9fdxa02k65wkwi6p2h"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; No tests.

View File

@ -15,7 +15,7 @@
(define-public compcert
(package
(name "compcert")
(version "3.12")
(version "3.14")
(source (origin
(method git-fetch)
(uri (git-reference
@ -24,15 +24,11 @@
(file-name (git-file-name name version))
(sha256
(base32
"0pcrkz1as37iz2wcp8j226fjn672lrj0cip2s0wpkiy097qi0yc5"))))
"030fsg0qr9aasmwk0ahp78sw8rbjmf6pl1w9ws5ghs61kyk4qwj1"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'allow-newer-coq-version
(lambda _
(substitute* "configure"
(("8.15.2") "8.16.1"))))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((system ,(match (or (%current-target-system) (%current-system))

View File

@ -67,25 +67,25 @@ various IDEs and plugins.")
(license license:expat)))
(define-public dotnet
(let ((dotnet-sdk-version "6.0.9"))
(let ((dotnet-sdk-version "8.0.8"))
(package
(name "dotnet")
(version "6.0.401")
(version "8.0.401")
(source
(origin
(method url-fetch/tarbomb)
(uri
(string-append "https://download.visualstudio.microsoft.com/download/pr/8159607a-e686-4ead-ac99-b4c97290a5fd/ec6070b1b2cc0651ebe57cf1bd411315/dotnet-sdk-"
version
"-linux-x64.tar.gz"))
(string-append "https://download.visualstudio.microsoft.com/"
"download/pr/db901b0a-3144-4d07-b8ab-6e7a43e7a791/"
"4d9d1b39b879ad969c6c0ceb6d052381/dotnet-sdk-"
version "-linux-x64.tar.gz"))
(sha256
(base32
"05yr64ffcaf48ripxzcv9nwlzp7r83cy9hz17dm5c0317lhksqch"))))
(base32 "1ygr563apl2776yjabn0plsvx5fcmb5wb0fnldrqwb9b5n8d6cb2"))))
(build-system binary-build-system)
(arguments
`(#:patchelf-plan
`(("dotnet"
("gcc:lib" "zlib"))
;; TODO: Make this a more compact procedure.
`(("dotnet" ("gcc:lib" "zlib"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version
"/libSystem.Net.Security.Native.so")
@ -94,6 +94,18 @@ various IDEs and plugins.")
dotnet-sdk-version
"/libSystem.Security.Cryptography.Native.OpenSsl.so")
("openssl"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version
"/libSystem.Native.so")
("gcc:lib"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version
"/libSystem.Globalization.Native.so")
("gcc:lib"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version
"/libSystem.Net.Security.Native.so")
("gcc:lib"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version
"/libSystem.IO.Compression.Native.so")
@ -108,12 +120,12 @@ various IDEs and plugins.")
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version "/libclrjit.so")
("gcc:lib"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version "/libclrgc.so")
("gcc:lib"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version "/libcoreclr.so")
("gcc:lib" "icu4c"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version "/libdbgshim.so")
("gcc:lib"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version "/libhostpolicy.so")
("gcc:lib"))

View File

@ -83,7 +83,7 @@
((guix elf) #:select (elf-segments parse-elf PT_INTERP))
((ice-9 binary-ports) #:select (get-bytevector-n))
((srfi srfi-1) #:select (last))
,@%gnu-build-system-modules)
,@%default-gnu-imported-modules)
#:tests? #f
#:phases
(modify-phases %standard-phases

View File

@ -1,5 +1,5 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2023, 2024 Giacomo Leidi <goodoldpaul@autistici.org>
(define-module (nongnu packages editors)
#:use-module (gnu packages base)
@ -8,33 +8,45 @@
#:use-module (guix gexp)
#:use-module (guix packages)
#: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
(package
(name "vscodium")
(version "1.81.1.23222")
(version "1.92.1.24225")
(source
(origin
(method url-fetch)
(uri
(string-append
"https://github.com/VSCodium/vscodium/releases/download/" version
"/VSCodium-linux-x64-" version ".tar.gz"))
(sha256
(base32 "0wx53ajjwil82s3nl6wvpdf01mh33yqasf1ia54s1rfzz10fa1m6"))))
(let ((arch (match (or (%current-target-system) (%current-system))
("aarch64-linux" "arm64")
("armhf-linux" "armhf")
(_ "x64")))
(hash (match (or (%current-target-system) (%current-system))
("aarch64-linux"
"0m5x9v577h8n16ypzb1y2066alc59v5bw7jiqp2xr7g20s9kb0vy")
("armhf-linux"
"047gz12gx8pa5aglykd0785l6i9ivsn4kkgfhi5l0y4jh8hjys8c")
(_
"1w1rhbbk177yz85csck3sax51qnvgaip9w238dmzb4a50ikfnp23"))))
(origin
(method url-fetch)
(uri
(string-append
"https://github.com/VSCodium/vscodium/releases/download/" version
"/VSCodium-linux-" arch "-" version ".tar.gz"))
(sha256
(base32 hash)))))
(build-system chromium-binary-build-system)
(arguments
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
#:substitutable? #f
#:wrapper-plan
#~'("opt/vscodium/codium")
#~'(("opt/vscodium/codium" (("out" "/opt/vscodium"))))
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(lambda _
(lambda* (#:key source #:allow-other-keys)
(mkdir-p "opt/vscodium")
(invoke "tar" "-xvf" #$source "-C" "opt/vscodium")))
(invoke "tar" "-xvf" source "-C" "opt/vscodium")))
(add-before 'install-wrapper 'install-entrypoint
(lambda _
(let* ((bin (string-append #$output "/bin")))
@ -60,7 +72,7 @@
(string-append apps "/" #$name ".desktop")
#:name "VSCodium"
#:generic-name "Text Editor"
#:exec (string-append #$output "/bin/codium")
#:exec (string-append #$output "/bin/codium --ozone-platform-hint=auto")
#:icon "code"
#:type "Application"
#:actions '("new-empty-window")
@ -71,15 +83,8 @@
#:startup-w-m-class "Code"
#:comment
'(("en" "Code Editing. Redefined.")
(#f "Code Editing. Redefined."))))))
(add-after 'install-wrapper 'wrap-where-patchelf-does-not-work
(lambda _
(wrap-program (string-append #$output "/bin/codium")
`("LD_LIBRARY_PATH" ":"
prefix
(,(string-join
(list (string-append #$output "/opt/vscodium"))
":")))))))))
(#f "Code Editing. Redefined.")))))))))
(supported-systems '("armhf-linux" "aarch64-linux" "x86_64-linux"))
(native-inputs
(list tar))
(inputs

View File

@ -1,6 +1,8 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2023 Pierre Neidhardt <mail@ambrevar.xyz>
;;; 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)
#:use-module (nonguix build-system chromium-binary)
@ -13,23 +15,29 @@
#:use-module (gnu packages gtk)
#: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")
;; We need a default case
(_ "unsupported"))
".zip"))
(sha256 (base32 hash))))
(define-public electron-27
(package
(name "electron")
(version "25.3.1")
(source (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 "0x6asi81gwxx33mhpm74l31xzf1lbzbf7s97fay0l35fg73kkw9n"))))
(version "27.3.6")
(source (electron-source version
"12hjn1bfk8c25f54kk561mkjl7hsk8b16rj7a7gczswjdpx6fpi0"))
(build-system chromium-binary-build-system)
(arguments
`(#:wrapper-plan
@ -81,3 +89,18 @@ Chromium and is used by the Atom editor and many other apps.")
(license (license:nonfree
(string-append "https://github.com/electron/electron/blob/v"
version "/LICENSE")))))
(define-public electron electron-27)
(define-public electron-28
(package
(inherit electron-27)
(version "28.2.7")
(source (electron-source version
"0sw8nn1jr9x0p4s2g5yp5lrpy8mzq0sjd099x7axbg6cm1c80iff"))))
(define-public electron-29
(package
(inherit electron-27)
(version "29.1.4")
(source (electron-source version
"1d96nhx9j9mzc3q3ald1imqdxdgq9by1qm4q703sjy3knq1p38w3"))))

View File

@ -35,28 +35,22 @@
#~'("lib/LycheeSlicer/lycheeslicer")
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(add-after 'binary-unpack 'setup-cwd
(lambda _
(invoke "ar" "x" #$source)
(invoke "tar" "xvf" "data.tar.xz")
;; Use the more standard lib directory for everything.
(rename-file "opt/" "lib")
(mkdir-p "share")
(copy-recursively "usr/share" "share")
;; Remove unneeded files.
(delete-file-recursively "usr")
(delete-file "control.tar.gz")
(delete-file "data.tar.xz")
(delete-file "debian-binary")))
(add-after 'unpack 'fix-desktop-file
(delete-file-recursively "usr")))
(add-after 'setup-cwd 'fix-desktop-file
(lambda _
;; Fix the .desktop file binary location.
(substitute* '("share/applications/lycheeslicer.desktop")
(("/opt/LycheeSlicer")
(string-append #$output "/lib/LycheeSlicer")))))
(add-before 'install-wrapper 'symlink-binary-file-and-cleanup
(add-before 'install-wrapper 'symlink-binary-file
(lambda _
(delete-file (string-append #$output "/environment-variables"))
(mkdir-p (string-append #$output "/bin"))
(symlink (string-append #$output "/lib/LycheeSlicer/lycheeslicer")
(string-append #$output "/bin/lycheeslicer"))))
@ -68,7 +62,6 @@
(list
(string-append #$output "/lib/LycheeSlicer"))
":")))))))))
(native-inputs (list tar))
(inputs
(list libxscrnsaver))
(home-page "https://mango3d.io")

View File

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

View File

@ -213,10 +213,10 @@ Included fonts:
(define-public font-apple-sf-pro
(apple-font
#:font-name "SF Pro"
#:archive-timestamp "20230710073336"
#:archive-timestamp "20240527221252"
#:file "SF-Pro"
#:version "19.0d6e1"
#:hash "19qa6fs6x5614sqw9a6idlizzsssw8256crz1ps2p2n6gwp2fvaq"
#:version "20.0d8e1"
#:hash "153k3q8h5mpd358b1lsa8ha32qxv7vc2q661k20j4nnf3ndjkv9j"
#:description "This neutral, flexible, sans-serif typeface is the system
font for iOS, iPad OS, macOS and tvOS. SF Pro features nine weights, variable
optical sizes for optimal legibility, four widths, and includes a rounded
@ -226,10 +226,10 @@ scripts."))
(define-public font-apple-sf-compact
(apple-font
#:font-name "SF Compact"
#:archive-timestamp "20230710073418"
#:archive-timestamp "20240527221317"
#:file "SF-Compact"
#:version "19.0d6e1"
#:hash "02127drlqvwscq6vaphmvsp85cn8j4zfhi0kb9a3fzc0z8b95hdq"
#:version "20.0d8e1"
#:hash "01j7k95rnmg667hyhj88fxqrgsah2mnk2ws7fmclif92mqcgwirj"
#:description "Sharing many features with SF Pro, SF Compact features an
efficient, compact design that is optimized for small sizes and narrow columns.
SF Compact is the system font for watchOS and includes a rounded variant."))
@ -237,10 +237,10 @@ SF Compact is the system font for watchOS and includes a rounded variant."))
(define-public font-apple-sf-mono
(apple-font
#:font-name "SF Mono"
#:archive-timestamp "20230710073457"
#:archive-timestamp "20240527221346"
#:file "SF-Mono"
#:version "19.0d6e1"
#:hash "0vjdpl3xyxl2rmfrnjsxpxdizpdr4canqa1nm63s5d3djs01iad6"
#:version "20.0d8e1"
#:hash "0cxj1wk6nbz1ysi0cg1w79b7ja48n00dypxkrsc3mvrn1vmdb4dm"
#:description "This monospaced variant of San Francisco enables alignment
between rows and columns of text, and is used in coding environments like Xcode.
SF Mono features six weights and supports Latin, Greek, and Cyrillic scripts."))
@ -248,10 +248,10 @@ SF Mono features six weights and supports Latin, Greek, and Cyrillic scripts."))
(define-public font-apple-sf-arabic
(apple-font
#:font-name "SF Arabic"
#:archive-timestamp "20230710073501"
#:archive-timestamp "20240527221359"
#:file "SF-Arabic"
#:version "19.0d6e1"
#:hash "0phl3wi0lq7djcg8nqg1ml1f73bsfjzmvd2n8hkl6dbprmw614jp"
#:version "20.0d8e1"
#:hash "0sm7w5i19n3jdj6d04344nxizqacg264rladjiwhxhwa3ksfbxsn"
#:description "A contemporary interpretation of the Naskh style with a
rational and flexible design, this extension of San Francisco is the Arabic
system font on Apple platforms. Like San Francisco, SF Arabic features nine
@ -261,10 +261,10 @@ based on the point size, and includes a rounded variant."))
(define-public font-apple-new-york
(apple-font
#:font-name "New York"
#:archive-timestamp "20230710073506"
#:archive-timestamp "20240527221356"
#:file "NY"
#:version "17.0d5e1"
#:hash "1hgxyizpgam7y1xh36fsypd3a1nn417wdnnfk1zahq9vhxrrds2w"
#:hash "06d8pnfp4z5nb82mh7g7pnz5m4njph3zy17ww1m8x0m34hn50zdn"
#:description "A companion to San Francisco, this serif typeface is based on
essential aspects of historical type styles. New York features six weights,
supports Latin, Greek and Cyrillic scripts, and features variable optical sizes
@ -278,10 +278,10 @@ graphic display face at larger sizes."))
(define-public font-apple-sf-symbols
(apple-font
#:font-name "SF Symbols"
#:archive-timestamp "20230710073513"
#:file "SF-Symbols-5"
#:version "5"
#:hash "1bwlq1nf75bv0x36qdk371r2pd5slf3jlv50wgsl0kpj1dds22sf"
#:archive-timestamp "20240701100406"
#:file "SF-Symbols-6"
#:version "6"
#:hash "1hyghp03zpsiks2p6kmghnmg28kkjj3qqk2hgwva855kly6r4hv8"
#:description "With over 5,000 symbols, SF Symbols is a library of
iconography designed to integrate seamlessly with San Francisco, the system
font for Apple platforms. Symbols come in nine weights and three scales, and

View File

@ -4,9 +4,10 @@
;;; Copyright © 2021 pineapples
;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me>
;;; Copyright © 2021 Kozo <kozodev@runbox.com>
;;; Copyright © 2021, 2022, 2023 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 Elijah Malaby
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
(define-module (nongnu packages game-client)
#:use-module ((guix licenses) #:prefix license:)
@ -54,10 +55,10 @@
#:use-module (nonguix multiarch-container)
#:use-module (nonguix utils))
(define-public heroic-client
(define heroic-client
(package
(name "heroic-client")
(version "2.9.1")
(version "2.15.2")
(source
(origin
(method url-fetch)
@ -66,54 +67,37 @@
version "/heroic_" version "_amd64.deb"))
(sha256
(base32
"128x6bqp85nib7v6ldnyy39qrxppqjgwmfvi59lbf0jr5pa546jg"))))
"1bzdb9nqmr9w092c22n57ldykm00n98d78rhqzypf430lrl0kzcj"))))
(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")
#~'(("lib/Heroic/heroic" (("out" "/lib/Heroic"))))
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(add-after 'binary-unpack 'setup-cwd
(lambda _
(invoke "ar" "x" #$source)
(invoke "tar" "xvf" "data.tar.xz")
(copy-recursively "usr/" ".")
;; Use the more standard lib directory for everything.
(rename-file "opt/" "lib")
;; Remove unneeded files.
(delete-file-recursively "usr")
(delete-file "control.tar.gz")
(delete-file "data.tar.xz")
(delete-file "debian-binary")
;; Fix the .desktop file binary location.
(substitute* '("share/applications/heroic.desktop")
(("/opt/Heroic/")
(string-append #$output "/bin/")))))
(add-after 'install 'symlink-binary-file-and-cleanup
(delete-file-recursively "usr")))
;; Fix the .desktop file "Exec" line to just be "heroic" in
;; order for this desktop file to be useful to launch heroic in
;; the container (heroic package) as well.
(add-after 'patch-dot-desktop-files 'fix-desktop-file
(lambda _
(substitute*
(string-append #$output "/share/applications/heroic.desktop")
(("Exec=.*/heroic") "Exec=heroic"))))
(delete 'patch-dot-desktop-files)
(add-after 'install 'symlink-binary-file
(lambda _
(delete-file (string-append #$output "/environment-variables"))
(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"))
":")))))))))
(native-inputs (list tar))
(string-append #$output "/bin/heroic")))))))
(home-page "https://heroicgameslauncher.com")
(synopsis "A Native GOG, Amazon and Epic Games Launcher")
(synopsis "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.")
@ -122,7 +106,7 @@ implementation with gogdl and Amazon Games using Nile.")
(define steam-client
(package
(name "steam-client")
(version "1.0.0.75")
(version "1.0.0.78")
(source
(origin
(method url-fetch)
@ -130,7 +114,7 @@ implementation with gogdl and Amazon Games using Nile.")
version ".tar.gz"))
(sha256
(base32
"19rn29slsxv7b5fisr1jzn79bskzifbj5hmxqn2436ivwfjna9g5"))
"0390qy8vy7sx35hxl51yrbk6mvdz1vvpy96v07qva4bjbmsmjhhh"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(arguments
@ -147,7 +131,6 @@ implementation with gogdl and Amazon Games using Nile.")
(substitute* "Makefile"
(("-fns ")
"-fns $(DESTDIR)"))))
(delete 'patch-dot-desktop-files)
(add-after 'unpack 'patch-startscript
(lambda _
(substitute* "bin_steam.sh"
@ -163,8 +146,9 @@ implementation with gogdl and Amazon Games using Nile.")
(substitute* (string-append path "steam-asound32.desktop")
(("Exec=steam %U") "Exec=steam %U -- --asound32")
(("Name=Steam") "Name=Steam (32-bit ALSA)")))))
(delete 'patch-dot-desktop-files)
;; Steamdeps installs missing packages, which doesn't work with Guix.
(add-after 'install-binaries 'post-install
(add-after 'install 'post-install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref %outputs "out")))
(delete-file (string-append out "/lib/steam/bin_steamdeps.py"))
@ -174,30 +158,9 @@ implementation with gogdl and Amazon Games using Nile.")
(description "Steam is a digital software distribution platform created by Valve.")
(license (license:nonfree "file:///share/doc/steam/steam_subscriber_agreement.txt"))))
;; After guix commit to add a replacement for libx11 (security fixes),
;; 5ff0c8997a2ddf71af477883584a5f9ccd9b757f, a profile collision happens with
;; the propagated libx11 (now grafted) from mesa and its propagated-input
;; libxdamage. See previous upstream report (when this occurred for expat and
;; fontconfig) at <https://issues.guix.gnu.org/53406>. So we define explicit
;; replacement packages to workaround this issue.
;; TODO: remove once upstream bug is fixed or libx11 is ungrafted.
(define libxdamage-fixed
(package
(inherit libxdamage)
(propagated-inputs
(modify-inputs (package-propagated-inputs libxdamage)
(replace "libx11" libx11-fixed)))))
(define mesa-fixed
(package
(inherit mesa)
(propagated-inputs
(modify-inputs (package-propagated-inputs mesa)
(replace "libx11" libx11-fixed)
(replace "libxdamage" libxdamage-fixed)))))
(define steam-client-libs
`(("bash" ,bash) ; Required for steam startup.
`(("at-spi2-core" ,at-spi2-core) ; Required (often) for SteamVR interface.
("bash" ,bash) ; Required for steam startup.
("coreutils" ,coreutils)
("diffutils" ,diffutils)
("dbus-glib" ,dbus-glib) ; Required for steam browser.
@ -206,10 +169,18 @@ implementation with gogdl and Amazon Games using Nile.")
("fontconfig" ,fontconfig) ; Required for steam client.
("file" ,file) ; Used for steam installation.
("find" ,findutils) ; Required at least for some logging.
("font-google-noto" ,font-google-noto) ; Not required but to match following fonts.
;; These next three fonts are to cover emoji and Chinese/Japanese/Korean
;; and related scripts.
("font-google-noto-emoji" ,font-google-noto-emoji)
("font-google-noto-sans-cjk" ,font-google-noto-sans-cjk)
("font-google-noto-serif-cjk" ,font-google-noto-serif-cjk)
("freetype" ,freetype) ; Required for steam login.
("gawk" ,gawk)
("gdk-pixbuf" ,gdk-pixbuf) ; Required for steam tray icon.
("gcc:lib" ,gcc "lib") ; Required for steam startup.
;; Required for steam startup; use newer version for better compatibility
;; with some games like Dwarf Fortress.
("gcc:lib" ,gcc-14 "lib")
("grep" ,grep)
("libbsd" ,libbsd)
("libcap" ,libcap) ; Required for SteamVR, but needs pkexec too.
@ -219,9 +190,7 @@ implementation with gogdl and Amazon Games using Nile.")
("libvdpau-va-gl" ,libvdpau-va-gl) ; Additional VDPAU support.
("llvm" ,llvm-for-mesa) ; Required for mesa.
("lsof" ,lsof) ; Required for some friend's list actions.
;; TODO: Set back to mesa once libx11 is ungrafted upstream or once
;; <https://issues.guix.gnu.org/53406> is fixed.
("mesa" ,mesa-fixed) ; Required for steam startup.
("mesa" ,mesa) ; Required for steam startup.
("nss-certs" ,nss-certs) ; Required for steam login.
("pciutils" ,pciutils) ; Tries to run lspci at steam startup.
("procps" ,procps)
@ -247,25 +216,42 @@ implementation with gogdl and Amazon Games using Nile.")
("python" ,python) ; Required for KillingFloor2 and Wreckfest.
("spdlog" ,spdlog))) ; Required for MangoHud.
(define steam-container-libs
(append steam-client-libs
steam-gameruntime-libs
fhs-min-libs))
(define steam-nvidia-container-libs
(modify-inputs steam-container-libs
(replace "mesa" nvda)))
(define heroic-extra-client-libs
`(("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
(packages->ld.so.conf
(list (fhs-union `(,@steam-client-libs
,@steam-gameruntime-libs
,@fhs-min-libs)
(list (fhs-union steam-container-libs
#:name "fhs-union-64")
(fhs-union `(,@steam-client-libs
,@steam-gameruntime-libs
,@fhs-min-libs)
(fhs-union steam-container-libs
#:name "fhs-union-32"
#:system "i686-linux"))))
(define steam-ld.so.cache
(ld.so.conf->ld.so.cache steam-ld.so.conf))
(define steam-nvidia-ld.so.conf
(packages->ld.so.conf
(list (fhs-union steam-nvidia-container-libs
#:name "fhs-union-64")
(fhs-union steam-nvidia-container-libs
#:name "fhs-union-32"
#:system "i686-linux"))))
(define steam-nvidia-ld.so.cache
(ld.so.conf->ld.so.cache steam-nvidia-ld.so.conf))
(define-public steam-container
(nonguix-container
(name "steam")
@ -274,18 +260,13 @@ implementation with gogdl and Amazon Games using Nile.")
(ld.so.conf steam-ld.so.conf)
(ld.so.cache steam-ld.so.cache)
(union64
(fhs-union `(,@steam-client-libs
,@steam-gameruntime-libs
,@fhs-min-libs)
(fhs-union steam-container-libs
#:name "fhs-union-64"))
(union32
(fhs-union `(,@steam-client-libs
,@steam-gameruntime-libs
,@fhs-min-libs)
(fhs-union steam-container-libs
#:name "fhs-union-32"
#:system "i686-linux"))
(link-files '("share/applications/steam.desktop"
"share/applications/steam-asound32.desktop"))
(link-files '("share"))
(description "Steam is a digital software distribution platform created by
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
@ -295,8 +276,18 @@ all games will be installed.")))
(nonguix-container
(inherit steam-container)
(name "steam-nvidia")
(union64 (replace-mesa (ngc-union64 steam-container)))
(union32 (replace-mesa (ngc-union32 steam-container)))))
;; Steam's .desktop files expect a "steam" executable, so provide that.
(binary-name "steam")
(ld.so.conf steam-nvidia-ld.so.conf)
(ld.so.cache steam-nvidia-ld.so.cache)
(union64
(fhs-union steam-nvidia-container-libs
#:name "fhs-union-64"))
(union32
(fhs-union steam-nvidia-container-libs
#:name "fhs-union-32"
#:system "i686-linux"))
(preserved-env %nvidia-environment-variable-regexps)))
(define-public steam (nonguix-container->package steam-container))
(define-public steam-nvidia (nonguix-container->package steam-nvidia-container))
@ -308,22 +299,22 @@ all games will be installed.")))
(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)
,@steam-container-libs)
#:name "fhs-union-64"))
;; Don't include heroic-client-libs as they are not needed in 32-bit and
;; cause profile collisions with gtk+ and the libx11 graft (which is deep
;; and wide spread in the dependency tree).
;; 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)
(fhs-union steam-container-libs
#:name "fhs-union-32"
#:system "i686-linux"))
(link-files '("share/applications/heroic.desktop"))
(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
@ -335,8 +326,17 @@ installed.")))
(nonguix-container
(inherit heroic-container)
(name "heroic-nvidia")
(union64 (replace-mesa (ngc-union64 heroic-container)))
(union32 (replace-mesa (ngc-union32 heroic-steam-container)))))
(ld.so.conf steam-nvidia-ld.so.conf)
(ld.so.cache steam-nvidia-ld.so.cache)
(union64
(fhs-union `(,@heroic-extra-client-libs
,@steam-nvidia-container-libs)
#:name "fhs-union-64"))
(union32
(fhs-union steam-nvidia-container-libs
#:name "fhs-union-32"
#:system "i686-linux"))
(preserved-env %nvidia-environment-variable-regexps)))
(define-public heroic (nonguix-container->package heroic-container))
(define-public heroic-nvidia (nonguix-container->package heroic-nvidia-container))

View File

@ -1,16 +1,20 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2024 Timotej Lazar <timotej.lazar@araneo.si>
(define-module (nongnu packages game-development)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:use-module ((nonguix licenses) :prefix license:)
#:use-module (guix packages)
#:use-module (nonguix build-system binary)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module ((guix licenses) :prefix license:)
#:use-module (gnu packages audio)
#:use-module (gnu packages base)
#:use-module (gnu packages gcc)
@ -159,128 +163,95 @@ development should opt for GLSL rather than Cg.")
"https://raw.githubusercontent.com/ValveSoftware/source-sdk-2013/master/LICENSE"))))
(define-public eduke32
;; There are no official releases.
(let ((commit "188e14622cfe5c6f63b04b989b350bf2a29a893c")
(revision "1")
(duke-nukem-3d-directory "share/dukenukem3d"))
(package
(name "eduke32")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://voidpoint.io/terminx/eduke32.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0wy4bppiw4q2hn0v38msrjyvj2hzfvigakc23c2wqfnbl7rm0hrz"))
;; Unbundle libxmp.
(modules '((guix build utils)))
(snippet
'(begin (delete-file-recursively "source/libxmp-lite") #t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
;; Add glu to rpath so that SDL can dlopen it.
#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %build-inputs "glu") "/lib"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unbundle-libxmp
(lambda _
(substitute* "GNUmakefile"
(("-I\\$\\(libxmplite_inc\\)")
(string-append "-I" (assoc-ref %build-inputs "libxmp") "/include"))
(("^ *audiolib_deps \\+= libxmplite.*$") "")
(("-logg") "-logg -lxmp"))
(with-directory-excursion "source/audiolib/src"
(for-each (lambda (file) (substitute* file (("libxmp-lite/") "")))
'("multivoc.cpp" "xmp.cpp")))
#t))
(delete 'configure)
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(glu (assoc-ref inputs "glu"))
(eduke (string-append out "/bin/eduke32"))
(eduke-real (string-append out "/bin/.eduke32-real")))
;; TODO: Install custom .desktop file? Need icon.
;; See https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=eduke32.
(install-file "eduke32" (string-append out "/bin"))
(install-file "mapster32" (string-append out "/bin"))
(install-file "package/common/buildlic.txt"
(string-append out "/share/licenses"))
;; Wrap program:
;; - Make sure current directory is writable, else eduke32 will segfault.
;; - Add ../share/dukenukem3d to the dir search list.
;; TODO: Skip store duke3d.grp When ~/.config/eduke32/duke3d.grp is found.
(rename-file eduke eduke-real)
(call-with-output-file eduke
(lambda (p)
(format p "\
#!~a
mkdir -p ~~/.config/eduke32
cd ~~/.config/eduke32
exec -a \"$0\" ~a\
-g \"${0%/*}\"/../~a/*.grp\
-g \"${0%/*}\"/../~a/*.zip\
-g \"${0%/*}\"/../~a/*.map\
-g \"${0%/*}\"/../~a/*.con\
-g \"${0%/*}\"/../~a/*.def\
\"$@\"~%"
(which "bash") eduke-real
,duke-nukem-3d-directory
,duke-nukem-3d-directory
,duke-nukem-3d-directory
,duke-nukem-3d-directory
,duke-nukem-3d-directory)))
(chmod eduke #o755)))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("sdl-union" ,(sdl-union (list sdl2 sdl2-mixer)))
("alsa-lib" ,alsa-lib)
("glu" ,glu)
("libvorbis" ,libvorbis)
("libvpx" ,libvpx)
("libxmp" ,libxmp)
("flac" ,flac)
("gtk+" ,gtk+-2)))
(synopsis "Engine of the classic PC first person shooter Duke Nukem 3D")
(description "EDuke32 is a free homebrew game engine and source port of the
classic PC first person shooter Duke Nukem 3DDuke3D for short. A thousands
of features and upgrades were added for regular players and additional editing
capabilities and scripting extensions for homebrew developers and mod
creators. EDuke32 is open source but non-free software.
(package
(name "eduke32")
(version "20240316-10564-0bc78c53d")
(source
(origin
(method url-fetch)
(uri (string-append "https://dukeworld.com/eduke32/synthesis/"
version "/eduke32_src_" version ".tar.xz"))
(sha256
(base32 "1a9fw1kfriyrybjxl72b2434w3yiz2nxg6541lnyhzbdka2cp2lf"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libxmp and platform-specific stuff.
#~(for-each delete-file-recursively '("platform" "source/libxmp-lite")))))
(build-system gnu-build-system)
(arguments
(list #:license-file-regexp "buildlic.txt"
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'link-license
(lambda _
;; Ensure the install-license-files phase can find it.
(link "package/common/buildlic.txt" "buildlic.txt")))
(add-after 'unpack 'unbundle-libxmp
(lambda _
(substitute* "Common.mak"
(("^LIBS :=" match) (string-append match " -lxmp")))
(with-directory-excursion "source/audiolib/src"
(for-each (lambda (file) (substitute* file (("libxmp-lite/") "")))
'("multivoc.cpp" "xmp.cpp")))))
(add-after 'unpack 'fix-share-path
(lambda _
(substitute* "source/duke3d/src/common.cpp"
(("/usr/local/share/games") (string-append #$output "/share")))))
(delete 'configure)
(replace 'install
(lambda _
(let ((bin (string-append #$output "/bin")))
(install-file "eduke32" bin)
(install-file "mapster32" bin)
(install-file "package/sdk/m32help.hlp"
(string-append #$output "/share/eduke32"))))))))
(inputs (list alsa-lib
flac
glu
gtk+-2
libvorbis
libvpx
libxmp
sdl2
sdl2-mixer))
(native-inputs
(list gdk-pixbuf pkg-config))
(synopsis "Engine of the classic PC first person shooter Duke Nukem 3D")
(description "EDuke32 is a free homebrew game engine and source port of
the classic PC first person shooter Duke Nukem 3DDuke3D for short. A
thousands of features and upgrades were added for regular players and
additional editing capabilities and scripting extensions for homebrew
developers and mod creators. EDuke32 is open source but non-free software.
This package does not contain any game file. You can either install packages
with game files or or put @file{.grp} game files manually in
@file{~/.config/eduke32/}.")
(home-page "https://eduke32.com/")
(license (license:nonfree
"https://eduke32.com/buildlic.txt")))))
(home-page "https://eduke32.com")
(license
(list license:gpl2
(license:nonfree "file://package/common/buildlic.txt")))))
(define-public fury
(package
(inherit eduke32)
(package/inherit eduke32
(name "fury")
(arguments
(substitute-keyword-arguments (package-arguments eduke32)
((#:make-flags flags ''()) `(cons* "FURY=1" ,flags))
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(replace 'install
(lambda _
(let* ((out (assoc-ref %outputs "out")))
(install-file "fury" (string-append out "/bin"))
(install-file "mapster32" (string-append out "/bin"))
(install-file "package/common/buildlic.txt"
(string-append out "/share/licenses")))
#t))))))
((#:make-flags flags #~'())
#~(cons* "FURY=1" #$flags))
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'unpack 'disable-sdl-static
(lambda _
(substitute* "GNUmakefile"
(("SDL_STATIC := 1") ""))))
(replace 'install
(lambda _
(install-file "fury" (string-append #$output "/bin"))))))))
(inputs
(alist-delete "libvpx" (package-inputs eduke32)))
(synopsis "Game engine for the first-person shooter Ion Fury")
(description
(string-append
"This is the @code{eduke32} engine built with support for the Ion Fury
"This is the @code{eduke32} engine built with support for the Ion Fury
game. Game data is not provided. Run @command{fury} with the option
@option{-j} to specify the directory containing @file{fury.grp}."))))
@option{-j} to specify the directory containing @file{fury.grp}.")))

View File

@ -22,7 +22,7 @@
(define-public lgogdownloader
(package
(name "lgogdownloader")
(version "3.11")
(version "3.15")
(source
(origin
(method git-fetch)
@ -31,7 +31,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0mcwl6vfyy91sq1816j4v3lhf06dz1rr58hsq8hqx217z102s86d"))))
(base32 "0bjjn2wam4f2lzmk0hkdxxc7k0wk3f0lyszl0birsr9h3jjpjqw7"))))
(build-system qt-build-system)
(arguments
`(#:configure-flags '("-DUSE_QT_GUI=ON")
@ -39,15 +39,11 @@
(inputs
(list boost
curl
htmlcxx
jsoncpp
liboauth
qtbase-5
qtdeclarative-5
qtwebchannel-5
qtwebengine-5
qtwebengine
rhash
tinyxml2
tidy-html
zlib))
(native-inputs
(list help2man

47
nongnu/packages/hugo.scm Normal file
View File

@ -0,0 +1,47 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2024 Romain Garbage <romain.garbage@inria.fr>
(define-module (nongnu packages hugo)
#:use-module (nonguix build-system binary)
#:use-module (guix download)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils))
(define-public hugo
(package
(name "hugo")
(version "0.140.2")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/gohugoio/hugo/releases/download/v" version
"/" name "_" version "_linux-" (cond ((target-aarch64?)
"arm64")
((target-arm32?)
"arm")
((target-x86-64?)
"amd64")) ".tar.gz"))
(sha256
(base32 (cond ((target-aarch64?)
"1dv2k9j3i3294bl94jhwi645pf5r2143hizxd3xpc3fz8w8cfyy8")
((target-arm32?)
"0f3mirqn3x2lrj7gzjyqklj081y7jfyxww2zkccg9f6jq0vcfcxd")
((target-x86-64?)
"0hs4b3nrr1qajrh7f64ibwjrfipqllvifp526kf2gfxnhpkr67l8"))))))
(build-system binary-build-system)
(arguments
(list
#:install-plan ''(("hugo" "/bin/hugo"))))
(supported-systems (list "aarch64-linux"
"armhf-linux"
"x86_64-linux"))
(home-page "https://gohugo.io/")
(synopsis "Static site generator written in Go")
(description
"Hugo is a static site generator written in Go, optimized for speed and
designed for flexibility. With its advanced templating system and fast asset
pipelines, Hugo renders a complete site in seconds, often less.")
(license license:asl2.0)))

View File

@ -11,7 +11,7 @@
(define-public k9s
(package
(name "k9s")
(version "0.27.4")
(version "0.32.5")
(source (origin
(method url-fetch)
(uri (string-append
@ -19,7 +19,7 @@
version "/k9s_Linux_amd64.tar.gz"))
(sha256
(base32
"14j37kl8pbmbid4np48cfv5k8vic6ngnc4pjh01qr6szplg861z5"))))
"18yf4vr4pgdl5ssijmpf45amdasjrd3mbgnsp1cjnadszvsiphrk"))))
(build-system copy-build-system)
(arguments
(list
@ -29,8 +29,8 @@
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(lambda _
(invoke "tar" "-xvf" #$source))))))
(lambda* (#:key source #:allow-other-keys)
(invoke "tar" "-xvf" source))))))
(home-page "https://k9scli.io")
(supported-systems '("x86_64-linux"))
(synopsis "Kubernetes CLI To Manage Your Clusters In Style")
@ -62,8 +62,8 @@ offers subsequent commands to interact with your observed resources.")
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(lambda _
(copy-file #$source "./katenary")
(lambda* (#:key source #:allow-other-keys)
(copy-file source "./katenary")
(chmod "katenary" #o644)))
(add-before 'install 'chmod
(lambda _
@ -79,14 +79,14 @@ Helm Chart for Kubernetes.")
(define-public kubectl
(package
(name "kubectl")
(version "1.28.1")
(version "1.31.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://dl.k8s.io/release/v" version "/bin/linux/amd64/kubectl"))
(sha256
(base32
"1qbl4a2xv795apvbwahdb9kzcm2wys0am1c72as3iavgs3wxd9z7"))))
"0dr40ckdj65ka6ndp8knyprh1k0nx6vg8yyg7p6c1lc49b3as9vw"))))
(build-system copy-build-system)
(arguments
(list
@ -96,8 +96,8 @@ Helm Chart for Kubernetes.")
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(lambda _
(copy-file #$source "./kubectl")
(lambda* (#:key source #:allow-other-keys)
(copy-file source "./kubectl")
(chmod "kubectl" #o644)))
(add-before 'install 'chmod
(lambda _
@ -114,7 +114,7 @@ view logs.")
(define-public kompose
(package
(name "kompose")
(version "1.30.0")
(version "1.34.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -122,7 +122,7 @@ view logs.")
version "/kompose-linux-amd64"))
(sha256
(base32
"0sy3ci7s2dkjigasyv01nm1vg30wwhmdc0cmglzb23ws8bfrfjlh"))))
"0wg1ks3flb5rbpazich7v052s3zm8fwja044r67sky3bxxihx3f5"))))
(build-system copy-build-system)
(arguments
(list
@ -132,8 +132,8 @@ view logs.")
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(lambda _
(copy-file #$source "./kompose")))
(lambda* (#:key source #:allow-other-keys)
(copy-file source "./kompose")))
(add-before 'install 'chmod
(lambda _
(chmod "kompose" #o555))))))
@ -145,17 +145,17 @@ view logs.")
such as Kubernetes (or OpenShift).")
(license license:expat)))
(define-public helm
(define-public helm-kubernetes
(package
(name "helm")
(version "3.12.3")
(name "helm-kubernetes")
(version "3.15.4")
(source (origin
(method url-fetch)
(uri (string-append
"https://get.helm.sh/helm-v" version "-linux-amd64.tar.gz"))
(sha256
(base32
"1d99c506shnz5cr9xhkrla5r82nan7v3hz631jqflicd376i68qv"))))
"1afgf08z6hgy07kjk8fj7xkr8ma4qk2f1r33901nzz87zkn0yh0i"))))
(build-system copy-build-system)
(arguments
(list
@ -165,8 +165,8 @@ such as Kubernetes (or OpenShift).")
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(lambda _
(invoke "tar" "-xvf" #$source)))
(lambda* (#:key source #:allow-other-keys)
(invoke "tar" "-xvf" source)))
(add-before 'install 'chmod
(lambda _
(chmod "linux-amd64/helm" #o555))))))
@ -181,13 +181,13 @@ define, install, and upgrade Kubernetes applications.")
(define-public kind
(package
(name "kind")
(version "0.20.0")
(version "0.24.0")
(source (origin
(method url-fetch)
(uri (string-append "https://kind.sigs.k8s.io/dl/v" version "/kind-linux-amd64"))
(sha256
(base32
"1v9x953a5n0l3kz78wm29yh11vz56nmlvhi7xzcjscyksq9p4fji"))))
"03b0idcb11knqyx2ryakvlkqk1cdyavkar6izjihsqlxlfjsv6mq"))))
(build-system copy-build-system)
(arguments
(list
@ -197,8 +197,8 @@ define, install, and upgrade Kubernetes applications.")
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(lambda _
(copy-file #$source "./kind")
(lambda* (#:key source #:allow-other-keys)
(copy-file source "./kind")
(chmod "kind" #o644)))
(add-before 'install 'chmod
(lambda _

View File

@ -4,7 +4,7 @@
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2020, 2021 James Smith <jsubuntuxp@disroot.org>
;;; Copyright © 2020, 2021, 2022 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020-2025 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020, 2021, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020, 2021, 2022 Zhu Zihao <all_but_last@163.com>
@ -13,7 +13,7 @@
;;; Copyright © 2021 Risto Stevcev <me@risto.codes>
;;; Copyright © 2021 aerique <aerique@xs4all.nl>
;;; Copyright © 2022 Josselin Poiret <dev@jpoiret.xyz>
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022, 2023, 2024, 2025 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022 Remco van 't Veer <remco@remworks.net>
;;; Copyright © 2022 Simen Endsjø <simendsjo@gmail.com>
@ -23,13 +23,20 @@
;;; Copyright © 2023 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2023 Adam Kandur <rndd@tuta.io>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Ada Stevenson <adanskana@gmail.com>
;;; Copyright © 2023 Tomas Volf <~@wolfsden.cz>
;;; Copyright © 2023 PRESFIL <presfil@protonmail.com>
;;; Copyright © 2024, 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
(define-module (nongnu packages linux)
#:use-module (gnu packages)
#:use-module (nongnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpio)
#:use-module (gnu packages linux)
#:use-module (gnu packages parallel)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix utils)
@ -45,22 +52,48 @@
#:use-module (srfi srfi-1)
#: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)
"Return a URL for Linux VERSION."
(string-append "mirror://kernel.org"
"/linux/kernel/v" (version-major version) ".x"
"/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
#:key
(name "linux")
(configs '())
(configs (nonguix-extra-linux-options freedo))
(defconfig #f))
;; TODO: This very directly depends on guix internals.
@ -89,6 +122,7 @@
(inherit
(customize-linux
#:name name
#:linux freedo
#:source (origin
(method url-fetch)
(uri url)
@ -102,11 +136,14 @@
"The unmodified Linux kernel, including nonfree blobs, for running Guix System
on hardware which requires nonfree software to function."))))
(define-public linux-6.5
(corrupt-linux linux-libre-6.5))
(define-public linux-6.13
(corrupt-linux linux-libre-6.13))
(define-public linux-6.4
(corrupt-linux linux-libre-6.4))
(define-public linux-6.12
(corrupt-linux linux-libre-6.12))
(define-public linux-6.6
(corrupt-linux linux-libre-6.6))
(define-public linux-6.1
(corrupt-linux linux-libre-6.1))
@ -120,15 +157,9 @@ on hardware which requires nonfree software to function."))))
(define-public linux-5.4
(corrupt-linux linux-libre-5.4))
(define-public linux-4.19
(corrupt-linux linux-libre-4.19))
(define-public linux-4.14
(corrupt-linux linux-libre-4.14))
(define-public linux linux-6.4)
(define-public linux linux-6.12)
;; linux-lts points to the *newest* released long-term support version.
(define-public linux-lts linux-6.1)
(define-public linux-lts linux-6.12)
(define-public linux-arm64-generic-5.10
(corrupt-linux linux-libre-arm64-generic-5.10 #:name "linux-arm64-generic"))
@ -144,89 +175,129 @@ on hardware which requires nonfree software to function."))))
;;; 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
(method url-fetch)
(uri (string-append "https://gitlab.com/xanmod/linux/-/archive/"
version "-" xanmod-revision ".tar.bz2"))
(sha256 hash-string)))
(inherit kernel-source)
(modules '((guix build utils)))
(snippet
#~(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
#:key
(name "linux-xanmod")
(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*'.
(chmod ".config" #o666)
(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")
(define %default-extra-linux-options
((@@ (gnu packages linux) default-extra-linux-options) version))
(rename-file
".config"
(string-append "arch/x86/configs/" #$defconfig))))))))
(native-inputs
(modify-inputs (package-native-inputs base)
;; cpio is needed for CONFIG_IKHEADERS.
(append 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
(define config->string
(@@ (gnu packages linux) config->string))
(define base-kernel
(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-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))))))
(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
stable, responsive and smooth desktop experience."))))
stable, responsive and smooth desktop experience.")))
;; Linux-XanMod sources
(define-public linux-xanmod-version "6.4.3")
(define-public linux-xanmod-version "6.12.13")
(define-public linux-xanmod-revision "xanmod1")
(define-public linux-xanmod-source
(make-linux-xanmod-source
linux-xanmod-version
linux-xanmod-revision
(base32 "0z6f7lnwbw2y7wwfr253d6gg4kz0l62s71pj266hb9c0dj15xl0r")))
#:xanmod-branch "main"
#:kernel-hash (base32 "1sr58vsh39hdwk0z27lg14isqwn4g8m4r7a8z2rsyhkfwlmmd8mi")
#:xanmod-hash (base32 "18a7hbm7gvf6b7wr84rszmpl1yb3mdgj2plv5627mv09dn87lvz2")))
(define-public linux-xanmod-lts-version "6.1.38")
(define-public linux-xanmod-lts-version "6.6.72")
(define-public linux-xanmod-lts-revision "xanmod1")
(define-public linux-xanmod-lts-source
(make-linux-xanmod-source
linux-xanmod-lts-version
linux-xanmod-lts-revision
(base32 "0c56jmvzzn8jakxffifnrj6pixywrlcwq6sxriylqxfq96bb8can")))
#:xanmod-branch "lts"
#:kernel-hash (base32 "1l2nisx9lf2vdgkq910n5ldbi8z25ky1zvl67zgwg2nxcdna09nr")
#:xanmod-hash (base32 "119jvwmxpjfpifg7mhqirjc1g1q769584hv2xc8wyg2iklhhs653")))
;; Linux-XanMod packages
(define-public linux-xanmod
@ -247,21 +318,44 @@ stable, responsive and smooth desktop experience."))))
(define-public linux-firmware
(package
(name "linux-firmware")
(version "20230919")
(version "20250211")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/firmware/"
"linux-firmware-" version ".tar.xz"))
(sha256
(base32
"1bc4y0w2xa9r3wb7bprdmy6vqj7swxbc9p542zhc9bxx086xmylp"))))
"0z998nxplnc22nbj3yzdyjjs433p92rzvq2x5i9rv0xzjxc39q9d"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'validate-runpath))))
(list #:tests? #f
#:strip-binaries? #f
#:validate-runpath? #f
#:make-flags #~(list (string-append "DESTDIR=" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-out-check_whence.py
(lambda _
;; The 'check_whence.py' script requires git (and the
;; repository metadata).
(substitute* "copy-firmware.sh"
(("./check_whence.py")
"true"))))
(delete 'configure)
(replace 'install
;; Use Zstd compression to reduce space requirements.
(lambda* (#:key (parallel-build? #t) (make-flags '())
#:allow-other-keys)
(let ((num-jobs (if parallel-build?
(number->string (parallel-job-count))
"1")))
;; Use the best 'standard' compression level.
(setenv "ZSTD_CLEVEL" "19")
;; Compress using multiple threads.
(setenv "ZSTD_NBTHREADS" num-jobs)
(apply invoke "make" "install-zst" "-j" num-jobs
make-flags)))))))
(native-inputs (list parallel rdfind zstd))
(home-page
"https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git")
(synopsis "Nonfree firmware blobs for Linux")
@ -275,23 +369,23 @@ if your hardware is supported by one of the smaller firmware packages.")
(define (select-firmware keep)
"Modify linux-firmware copy list to retain only files matching KEEP regex."
`(lambda _
(use-modules (ice-9 regex))
(substitute* "WHENCE"
(("^(File|Link): *([^ ]*)(.*)" _ type file rest)
(string-append (if (string-match ,keep file) type "Skip") ": " file rest)))))
#~(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)))))
(define-public amdgpu-firmware
(package
(inherit linux-firmware)
(name "amdgpu-firmware")
(arguments
`(#:license-file-regexp "LICENSE.amdgpu"
,@(substitute-keyword-arguments (package-arguments linux-firmware)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'select-firmware
,(select-firmware "^amdgpu/")))))))
(cons* #:license-file-regexp "LICENSE.amdgpu"
(substitute-keyword-arguments (package-arguments linux-firmware)
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'unpack 'select-firmware
#$(select-firmware "^amdgpu/")))))))
(home-page "http://support.amd.com/en-us/download/linux")
(synopsis "Nonfree firmware for AMD graphics chips")
(description "Nonfree firmware for AMD graphics chips. While most AMD
@ -309,12 +403,12 @@ advanced 3D.")
(inherit amdgpu-firmware)
(name "radeon-firmware")
(arguments
`(#:license-file-regexp "LICENSE.radeon"
,@(substitute-keyword-arguments (package-arguments linux-firmware)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'select-firmware
,(select-firmware "^radeon/")))))))
(cons* #:license-file-regexp "LICENSE.radeon"
(substitute-keyword-arguments (package-arguments linux-firmware)
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'unpack 'select-firmware
#$(select-firmware "^radeon/")))))))
(synopsis "Nonfree firmware for older AMD graphics chips")
(description "Nonfree firmware for AMD graphics chips. While most AMD
graphics cards can be run with the free Mesa, some cards require a nonfree
@ -366,12 +460,12 @@ and modules, userspace libraries, and bootloader/GPU firmware.")
(inherit linux-firmware)
(name "atheros-firmware")
(arguments
`(#:license-file-regexp "LICEN[CS]E.*[Aa]th"
,@(substitute-keyword-arguments (package-arguments linux-firmware)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'select-firmware
,(select-firmware "^(ar[3579]|ath[1369]|htc_[79]|qca/|wil6)")))))))
(cons* #:license-file-regexp "LICEN[CS]E.*[Aa]th"
(substitute-keyword-arguments (package-arguments linux-firmware)
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'unpack 'select-firmware
#$(select-firmware "^(ar[3579]|ath[1369]|htc_[79]|qca/|wil6)")))))))
(synopsis "Nonfree firmware blobs for Atheros wireless cards")
(description "Nonfree firmware blobs for Atheros wireless cards. This
package contains nonfree firmware for the following chips:
@ -542,12 +636,12 @@ WLAN.TF.2.1-00021-QCARMSWP-1 (ath10k/QCA9377/hw1.0/firmware-6.bin)
(inherit linux-firmware)
(name "ibt-hw-firmware")
(arguments
`(#:license-file-regexp "LICENCE.ibt_firmware"
,@(substitute-keyword-arguments (package-arguments linux-firmware)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'select-firmware
,(select-firmware "^intel/ibt-")))))))
(cons* #:license-file-regexp "LICENCE.ibt_firmware"
(substitute-keyword-arguments (package-arguments linux-firmware)
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'unpack 'select-firmware
#$(select-firmware "^intel/ibt-")))))))
(home-page "http://www.intel.com/support/wireless/wlan/sb/CS-016675.htm")
(synopsis "Non-free firmware for Intel bluetooth chips")
(description "This firmware is required by the btintel kernel module to
@ -563,12 +657,12 @@ laptops).")
(inherit linux-firmware)
(name "iwlwifi-firmware")
(arguments
`(#:license-file-regexp "LICENCE.iwlwifi_firmware"
,@(substitute-keyword-arguments (package-arguments linux-firmware)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'select-firmware
,(select-firmware "^iwlwifi-")))))))
(cons* #:license-file-regexp "LICENCE.iwlwifi_firmware"
(substitute-keyword-arguments (package-arguments linux-firmware)
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'unpack 'select-firmware
#$(select-firmware "^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
@ -584,12 +678,12 @@ support for 5GHz and 802.11ac, among others.")
(inherit linux-firmware)
(name "i915-firmware")
(arguments
`(#:license-file-regexp "LICENCE.i915"
,@(substitute-keyword-arguments (package-arguments linux-firmware)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'select-firmware
,(select-firmware "^i915/")))))))
(cons* #:license-file-regexp "LICENCE.i915"
(substitute-keyword-arguments (package-arguments linux-firmware)
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'unpack 'select-firmware
#$(select-firmware "^i915/")))))))
(home-page "https://01.org/linuxgraphics/gfx-docs/drm/gpu/i915.html")
(synopsis "Nonfree firmware for Intel integrated graphics")
(description "This package contains the various firmware for Intel
@ -599,18 +693,124 @@ integrated graphics chipsets, including GuC, HuC and DMC.")
"https://git.kernel.org/pub/scm/linux/kernel/git/firmware"
"/linux-firmware.git/plain/LICENCE.i915")))))
(define-public mediatek-firmware
(package
(inherit linux-firmware)
(name "mediatek-firmware")
(arguments
(cons* #:license-file-regexp "LICENCE\\.(mediatek\
|ralink_a_mediatek_company_firmware)"
(substitute-keyword-arguments (package-arguments linux-firmware)
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'unpack 'select-firmware
#$(select-firmware "^mediatek/")))))))
(synopsis
"Nonfree firmware for MediaTek chips")
(description
"Nonfree firmware for MediaTek Ethernet, WiFi, Bluetooth, Video Processing
Units (VPU), etc. chips. This package contains nonfree firmware for the
following drivers/chips:
@table @code
@item mt7601u
MediaTek MT7601U firmware (mediatek/mt7601u.bin)
@item btmtk_usb
MediaTek Bluetooth USB driver firmware (mediatek/mt7650.bin,
mediatek/mt7622pr2h.bin, mediatek/mt7668pr2h.bin)
@item mtk-vpu
MediaTek VPU video processing unit driver (mediatek/mt8173/vpu_d.bin
and mediatek/mt8173/vpu_p.bin)
@item mtk_scp
MediaTek SCP System Control Processing Driver (mediatek/mt8183/scp.img,
mediatek/mt8186/scp.img, mediatek/mt8192/scp.img and mediatek/mt8195/scp.img)
@item mt76x0
MediaTek MT76x0 Wireless MACs (mediatek/mt7610u.bin,
mediatek/mt7610e.bin and mediatek/mt7650e.bin)
@item mt76x2e
MediaTek MT76x2 Wireless MACs
(mediatek/mt7662.bin and mediatek/mt7662_rom_patch.bin)
@item mt76x2u
MediaTek MT76x2u Wireless MACs
(mediatek/mt7662u.bin and mediatek/mt7662u_rom_patch.bin)
@item mt7615e
MediaTek MT7615e Wireless MACs (mediatek/mt7615_n9.bin,
mediatek/mt7615_cr4.bin and mediatek/mt7615_rom_patch.bin)
@item mt7622
MediaTek MT7622 Wireless MACs (mediatek/mt7622_n9.bin and
mediatek/mt7622_rom_patch.bin)
@item mt7663
MediaTek MT7663 Wireless MACs (mediatek/mt7663pr2h.bin,
mediatek/mt7663_n9_v3.bin, mediatek/mt7663pr2h_rebb.bin and
mediatek/mt7663_n9_rebb.bin)
@item mt7915e
MediaTek Wireless MACs for MT7915/MT7916/MT7986/MT7981
(mediatek/mt7915_wm.bin, mediatek/mt7915_wa.bin, mediatek/mt7915_rom_patch.bin,
mediatek/mt7915_eeprom.bin, mediatek/mt7915_eeprom_dbdc.bin,
mediatek/mt7916_wm.bin, mediatek/mt7916_wa.bin, mediatek/mt7916_rom_patch.bin,
mediatek/mt7916_eeprom.bin, mediatek/mt7986_wm.bin,
mediatek/mt7986_wm_mt7975.bin, mediatek/mt7986_wa.bin,
mediatek/mt7986_rom_patch.bin, mediatek/mt7986_rom_patch_mt7975.bin,
mediatek/mt7986_wo_0.bin, mediatek/mt7986_wo_1.bin,
mediatek/mt7986_eeprom_mt7976.bin, mediatek/mt7986_eeprom_mt7976_dbdc.bin,
mediatek/mt7986_eeprom_mt7976_dual.bin, mediatek/mt7986_eeprom_mt7975_dual.bin,
mediatek/mt7981_wm.bin, mediatek/mt7981_wa.bin, mediatek/mt7981_rom_patch.bin,
and mediatek/mt7981_wo.bin)
@item mt7921
MediaTek MT7921 Wireless MACs
(mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin and
mediatek/WIFI_RAM_CODE_MT7961_1.bin)
@item mt7921
MediaTek MT7921 bluetooth chipset (BT_RAM_CODE_MT7961_1_2_hdr.bin)
@item mt7922
MediaTek MT7922 Wireless MACs
(mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin and
mediatek/WIFI_RAM_CODE_MT7922_1.bin)
@item mt7922
MediaTek MT7922 bluetooth chipset
(mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin)
@item mt7925
MediaTek MT7925 Wireless MACs
(mediatek/mt7925/WIFI_MT7925_PATCH_MCU_1_1_hdr.bin and
mediatek/mt7925/WIFI_RAM_CODE_MT7925_1_1.bin)
@item mt7925
MediaTek MT7925 bluetooth chipset
(mediatek/mt7925/BT_RAM_CODE_MT7925_1_1_hdr.bin)
@item mt7988
MediaTek MT7988 Internal 2.5G Ethernet Phy
(mediatek/mt7988/i2p5ge-phy-pmb.bin)
@item mt7996e
MediaTek Wireless MACs for MT7996 (mediatek/mt7996/mt7996_wm.bin,
mediatek/mt7996/mt7996_wa.bin, mediatek/mt7996/mt7996_rom_patch.bin,
mediatek/mt7996/mt7996_dsp.bin and mediatek/mt7996/mt7996_eeprom.bin)
@item mtk-sof
MediaTek Sound Open Firmware driver (mediatek/sof/sof-mt8186.ri,
mediatek/sof/sof-mt8186.ri, mediatek/sof/sof-mt8186.ldc,
mediatek/sof-tplg/sof-mt8186.tplg, mediatek/sof/sof-mt8195.ri,
mediatek/sof/sof-mt8195.ldc and
mediatek/sof-tplg/sof-mt8195-mt6359-rt1019-rt5682.tplg)
@end table")
(license
(list (nonfree
(string-append
"https://git.kernel.org/pub/scm/linux/kernel/git/firmware"
"/linux-firmware.git/plain/LICENCE.mediatek"))
(nonfree
(string-append
"https://git.kernel.org/pub/scm/linux/kernel/git/firmware"
"/linux-firmware.git/plain"
"/LICENCE.ralink_a_mediatek_company_firmware"))))))
(define-public realtek-firmware
(package
(inherit linux-firmware)
(name "realtek-firmware")
(arguments
`(#:license-file-regexp "LICENCE.rtlwifi_firmware.txt"
,@(substitute-keyword-arguments (package-arguments linux-firmware)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'select-firmware
,(select-firmware
"^(rtlwifi|rtl_nic|rtl_bt|rtw88|rtw89)/")))))))
(cons* #:license-file-regexp "LICENCE.rtlwifi_firmware.txt"
(substitute-keyword-arguments (package-arguments linux-firmware)
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'unpack 'select-firmware
#$(select-firmware "^(rtlwifi|rtl_nic|rtl_bt|rtw88|rtw89)/")))))))
(home-page "https://wireless.wiki.kernel.org/en/users/drivers/rtl819x")
(synopsis "Nonfree firmware for Realtek ethernet, wifi, and bluetooth chips")
(description
@ -700,8 +900,8 @@ package contains nonfree firmware for the following chips:
(deprecated-package "rtl-bt-firmware" realtek-firmware))
(define-public rtl8192eu-linux-module
(let ((commit "865656c3a1d1aee8c4ba459ce7608756d17c712f")
(revision "5"))
(let ((commit "3af9a868a0ca622d830966ac83aea2bf17cd0d65")
(revision "7"))
(package
(name "rtl8192eu-linux-module")
(version (git-version "0.0.0" revision commit))
@ -714,7 +914,7 @@ package contains nonfree firmware for the following chips:
(file-name (git-file-name name version))
(sha256
(base32
"08nq0wlrpzm8n2g14c4jlxs0crr6s5ls1n14bc17zmpy9vlarhfx"))))
"0d2qzf7xbipjdp1zm2ffqhnda8wasqriqnv6dkl0mhqn2f8za3i8"))))
(build-system linux-module-build-system)
(arguments
`(#:make-flags
@ -737,8 +937,8 @@ network adapters.")
(license gpl2))))
(define-public rtl8821ce-linux-module
(let ((commit "a478095a45d8aa957b45be4f9173c414efcacc6f")
(revision "10"))
(let ((commit "f119398d868b1a3395f40c1df2e08b57b2c882cd")
(revision "12"))
(package
(name "rtl8821ce-linux-module")
(version (git-version "0.0.0" revision commit))
@ -751,7 +951,7 @@ network adapters.")
(file-name (git-file-name name version))
(sha256
(base32
"00cn87jjrcxjqr3n8jv4w3n64zksmzz05fdr1gdvnbx1ab5739f6"))))
"03336fzhcyfkxa32rx0calzlyzamvinql5f19wwm61aijrmlmyhi"))))
(build-system linux-module-build-system)
(arguments
(list #:make-flags
@ -779,9 +979,63 @@ network adapters.")
;; hal/rtl8821c/hal8821c_fw.c
(license gpl2))))
(define-public rtl8821cu-linux-module
(let ((commit "4f6004af4c4171882f37e2e5d8fb3609fe260617")
(revision "2"))
(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 "09ig0rrkkn00i3d1n6p62n1610kcjgb2h9kbcqdsrmpnlnw5kfl2"))))
(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
(let ((commit "35308f4dd73e77fa572c48867cce737449dd8548")
(revision "11"))
(let ((commit "63cf0b4584aa8878b0fe8ab38017f31c319bde3d")
(revision "13"))
(package
(inherit rtl8821ce-linux-module)
(name "rtl8812au-aircrack-ng-linux-module")
@ -794,7 +1048,7 @@ network adapters.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1clqrgmq5fhzybbiapmdbhg5qfx9k21r0hqa9pqmyinaqhvfnhfj"))
(base32 "103pn6qlj116dm244ygf1wic9dq2qn80lafiyxynyhpckkyhhfxl"))
(modules '((guix build utils)))
(snippet
#~(begin
@ -818,7 +1072,7 @@ RTL8812AU, RTL8821AU, and RTL8814AU chips.")
(define-public r8168-linux-module
(package
(name "r8168-linux-module")
(version "8.051.02")
(version "8.052.01")
(source (origin
(method git-fetch)
(uri (git-reference
@ -827,19 +1081,9 @@ RTL8812AU, RTL8821AU, and RTL8814AU chips.")
(file-name (git-file-name name version))
(sha256
(base32
"16mpr0np6xbmzdnwg4p3q6yli2gh032k98g4vplya33hrn50vh52"))))
"01mi7hh92nc7jaxkfrpz7j0ci78djrhgmq0im4k1270mwmvr0yzj"))))
(arguments
(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)")))))))
(list #:tests? #f))
(build-system linux-module-build-system)
(home-page "https://github.com/mtorromeo/r8168")
(synopsis "Linux driver for Realtek PCIe network adapters")
@ -853,9 +1097,9 @@ giving you trouble, you can try this module.")
(define (broadcom-sta-patch name commit hash)
(origin
(method url-fetch)
(uri (string-append "https://raw.githubusercontent.com/NixOS/nixpkgs/"
(uri (string-append "https://raw.githubusercontent.com/rpmfusion/wl-kmod/"
commit
"/pkgs/os-specific/linux/broadcom-sta/"
"wl-kmod-"
name
".patch"))
(sha256
@ -870,12 +1114,12 @@ giving you trouble, you can try this module.")
(string-replace-substring broadcom-sta-version "." "_")
".tar.gz"))
(patches
;; Keep these in sync with the list at
;; https://github.com/NixOS/nixpkgs/tree/master/pkgs/os-specific/linux/broadcom-sta.
;; Nixpkgs is good about keeping broadcom patches up to date so updating
;; Keep these in sync with the patches at
;; https://github.com/rpmfusion/wl-kmod
;; They seem to be good about keeping broadcom patches up to date so updating
;; for a new kernel release should be as simple as chaging the commit to
;; the newest available and adding any new patches.
(let ((commit "355042e2ff5933b245e804c5eaff4ec3f340e71b"))
(let ((commit "cb67598cbf5d8c5260b750d6f7e5c6a6599b7b85"))
(list
(broadcom-sta-patch "i686-build-failure" commit "1522w2gb698svlkb2b4lijbd740agvs2ibpz4g0jlv8v31cybkf4")
(broadcom-sta-patch "license" commit "0rwlhafcmpp97cknqwv8gwf8sbxgqavgci1ywfkdxiylh4mhcvhr")
@ -893,7 +1137,9 @@ giving you trouble, you can try this module.")
(broadcom-sta-patch "linux-6.1" commit "1pvx1h7iimcbfqdc13n1980ngxk9q6iyip8svn293x4h7jn472kf")
(broadcom-sta-patch "pedantic-fix" commit "1kxmw1iyxnfwad75h981sak5qk16p81xy1f2qxss2d0v97vkfkl5")
(broadcom-sta-patch "null-pointer-fix" commit "15c2vxgf7v5wy4s8w9jk7irf3fxxghy05gxmav1ss73a2azajdx7")
(broadcom-sta-patch "gcc" commit "0jcqk2vapyy2pbsjv9n8b3qp6vqz17d6s07cr04cx7075q7yhz5h"))))
(broadcom-sta-patch "gcc" commit "0jcqk2vapyy2pbsjv9n8b3qp6vqz17d6s07cr04cx7075q7yhz5h")
(broadcom-sta-patch "028_kernel_6.12_adaption" commit
"154dhlb3vyq8bnx7f371scsrhp9cszvmqlswqg5vi6gfgbqnrq08"))))
(sha256
(base32
"1gj485qqr190idilacpxwgqyw21il03zph2rddizgj7fbd6pfyaz"))))
@ -1038,7 +1284,7 @@ chipsets from Broadcom:
(define-public facetimehd
(package
(name "facetimehd")
(version "0.5.18")
(version "0.6.8.2")
(source
(origin
(method git-fetch)
@ -1048,7 +1294,7 @@ chipsets from Broadcom:
(file-name (git-file-name "facetimehd" version))
(sha256
(base32
"1598pzjnbij3knvqmk2yslj26wmqiqjqgqgcw9p9jx6z7bdjvvsh"))))
"1mk9zw100258khc3510jzgm8rci3l26ad0lx4fcqrd8ksq8k03kp"))))
(build-system linux-module-build-system)
(arguments
'(#:tests? #f))
@ -1072,7 +1318,7 @@ driver:
(define-public intel-microcode
(package
(name "intel-microcode")
(version "20230808")
(version "20241112")
(source
(origin
(method git-fetch)
@ -1083,7 +1329,7 @@ driver:
(commit (string-append "microcode-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1n0w6q46xag7a9iddl3v1gh1rzv9h6kiyy739ac6vg3v8lazh9n7"))))
(base32 "1i2pfw1vfnws76dpdik5x9kn3rysq8ggb4c16c2lmxzz4phyvxbn"))))
(build-system copy-build-system)
(arguments
(list #:install-plan
@ -1107,12 +1353,12 @@ your CPU.")
(inherit linux-firmware)
(name "amd-microcode")
(arguments
`(#:license-file-regexp "LICENSE.amd-ucode"
,@(substitute-keyword-arguments (package-arguments linux-firmware)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'select-firmware
,(select-firmware "^amd-ucode/")))))))
(cons* #:license-file-regexp "LICENSE.amd-ucode"
(substitute-keyword-arguments (package-arguments linux-firmware)
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'unpack 'select-firmware
#$(select-firmware "^amd-ucode/")))))))
(synopsis "Processor microcode firmware for AMD CPUs")
(description "Updated system processor microcode for AMD x86-64
processors. AMD releases microcode updates to correct processor behavior as
@ -1125,20 +1371,23 @@ documented in the respective processor revision guides.")
(define-public sof-firmware
(package
(name "sof-firmware")
(version "2.2.3")
(version "2024.09")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/thesofproject/sof-bin/releases/download/v"
version "/sof-bin-v" version ".tar.gz"))
version "/sof-bin-" version ".tar.gz"))
(sha256
(base32
"0hnvzbjgib8f0m2gw345vk0p4h9ba34g7vciih1jgcz2y5kgs7sr"))))
"0866rg40gzlal90ykgs0x622vy3qrw1s3g0qfv80i41mh6gxjiza"))))
(build-system copy-build-system)
(arguments
`(#:install-plan
(list (list (string-append "sof-v" ,version) "lib/firmware/intel/sof")
(list (string-append "sof-tplg-v" ,version) "lib/firmware/intel/sof-tplg"))))
'(("sof" "lib/firmware/intel/sof")
("sof-ace-tplg" "lib/firmware/intel/sof-ace-tplg")
("sof-ipc4" "lib/firmware/intel/sof-ipc4")
("sof-ipc4-tplg" "lib/firmware/intel/sof-ipc4-tplg")
("sof-tplg" "lib/firmware/intel/sof-tplg"))))
(home-page "https://www.sofproject.org")
(synopsis "Sound Open Firmware")
(description "This package contains Linux firmwares and topology files for

View File

@ -1,16 +1,14 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; 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)
#:use-module (ice-9 match)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages tls)
#:use-module (gnu packages node)
#:use-module (gnu packages lisp)
#:use-module (gnu packages lisp-xyz)
;; #:use-module (gnu packages lisp-check)
#:use-module (nongnu packages electron)
#:use-module (guix build-system copy)
#: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"))))
(define-public sbcl-cl-electron
(let ((commit "ec8e3610be26d2d7312fab7d59d840e550b221f2")
(revision "1"))
(let ((commit "f2245dc1450a6ad416984cf932be50e00957390a")
(revision "3"))
(package
(name "sbcl-cl-electron")
(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)))
(file-name (git-file-name "cl-electron" version))
(sha256
(base32 "0bmnh0xl5pvjv4pdb4a37x87zlyzr5fy7cyaws69p4p4rgzszzv8"))))
(base32 "0c18xbwwnjaiwzd01dprdrwzp27nwihaf7pmkql1f5yk43x3ajs0"))))
(build-system asdf-build-system/sbcl)
(native-inputs (list ;; sbcl-lisp-unit2
sbcl))
(inputs (list electron node
sbcl-cl-json sbcl-iolib sbcl-nclasses
sbcl-parenscript sbcl-bordeaux-threads))
(inputs (list electron
sbcl-cl-json sbcl-iolib sbcl-cl-str sbcl-nclasses
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")
(home-page "https://github.com/atlas-engineer/cl-electron")
(description "@command{cl-electron} is a binding to Electron for

View File

@ -1,9 +1,10 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2021, 2022 PantherX OS Team <team@pantherx.org>
;;; Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022, 2023, 2024, 2025 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Evgenii Lepikhin <johnlepikhin@gmail.com>
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2023 Raven Hallsby <karl@hallsby.org>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
(define-module (nongnu packages messaging)
#:use-module (gnu packages base)
@ -36,7 +37,7 @@
(define-public element-desktop
(package
(name "element-desktop")
(version "1.11.41")
(version "1.11.89")
(source
(origin
(method url-fetch)
@ -45,47 +46,31 @@
"https://packages.riot.im/debian/pool/main/e/" name "/" name "_" version
"_amd64.deb"))
(sha256
(base32 "1m07b1ykmxly16irca171z4f718as7hqsccp1q7qrqj9b5lkmv64"))))
(base32 "0riavl8qq59s45xxdk0s1n6i1wymsx1zfdz5dp3ccr8xpzw77abq"))))
(supported-systems '("x86_64-linux"))
(build-system chromium-binary-build-system)
(arguments
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
#:wrapper-plan
#~'("lib/Element/element-desktop")
#~'(("lib/Element/element-desktop" (("out" "/lib/Element"))))
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(add-after 'binary-unpack 'setup-cwd
(lambda _
(invoke "ar" "x" #$source)
(invoke "tar" "xvf" "data.tar.xz")
(copy-recursively "usr/" ".")
;; Use the more standard lib directory for everything.
(rename-file "opt/" "lib")
;; Remove unneeded files.
(delete-file-recursively "usr")
(delete-file "control.tar.gz")
(delete-file "data.tar.xz")
(delete-file "debian-binary")
;; Fix the .desktop file binary location.
(substitute* '("share/applications/element-desktop.desktop")
(("/opt/Element/")
(string-append #$output "/bin/")))))
(add-after 'install 'symlink-binary-file-and-cleanup
(add-after 'install 'symlink-binary-file
(lambda _
(delete-file (string-append #$output "/environment-variables"))
(mkdir-p (string-append #$output "/bin"))
(symlink (string-append #$output "/lib/Element/element-desktop")
(string-append #$output "/bin/element-desktop"))))
(add-after 'install-wrapper 'wrap-where-patchelf-does-not-work
(lambda _
(wrap-program (string-append #$output "/lib/Element/element-desktop")
`("LD_LIBRARY_PATH" ":" prefix
(,(string-join
(list
(string-append #$output "/lib/Element"))
":")))))))))
(native-inputs (list tar))
(string-append #$output "/bin/element-desktop")))))))
(home-page "https://github.com/vector-im/element-desktop")
(synopsis "Matrix collaboration client for desktop")
(description "Element Desktop is a Matrix client for desktop with Element Web at
@ -98,7 +83,7 @@ its core.")
(define-public signal-desktop
(package
(name "signal-desktop")
(version "6.30.2")
(version "7.41.0")
(source
(origin
(method url-fetch)
@ -107,47 +92,31 @@ its core.")
"https://updates.signal.org/desktop/apt/pool/s/" name "/" name "_" version
"_amd64.deb"))
(sha256
(base32 "1kxxb6s7h2llksmqrjbk9nhp55r0v7573h3qz44ssb2kx8xxwgdb"))))
(base32 "1ainlhhzf427f0jqdh83m8519ywihnxyiw505n4msgyhpwgwj5n0"))))
(supported-systems '("x86_64-linux"))
(build-system chromium-binary-build-system)
(arguments
(list #:validate-runpath? #f ; TODO: fails on wrapped binary and included other files
#:wrapper-plan
#~'("lib/Signal/signal-desktop")
#~'(("lib/Signal/signal-desktop" (("out" "/lib/Signal"))))
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(add-after 'binary-unpack 'setup-cwd
(lambda _
(invoke "ar" "x" #$source)
(invoke "tar" "xvf" "data.tar.xz")
(copy-recursively "usr/" ".")
;; Use the more standard lib directory for everything.
(rename-file "opt/" "lib")
;; Remove unneeded files.
(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.
(substitute* '("share/applications/signal-desktop.desktop")
(("/opt/Signal/")
(string-append #$output "/bin/")))))
(add-after 'install 'symlink-binary-file-and-cleanup
(add-after 'install 'symlink-binary-file
(lambda _
(delete-file (string-append #$output "/environment-variables"))
(mkdir-p (string-append #$output "/bin"))
(symlink (string-append #$output "/lib/Signal/signal-desktop")
(string-append #$output "/bin/signal-desktop"))))
(add-after 'install-wrapper 'wrap-where-patchelf-does-not-work
(lambda _
(wrap-program (string-append #$output "/lib/Signal/signal-desktop")
`("LD_LIBRARY_PATH" ":" prefix
(,(string-join
(list
(string-append #$output "/lib/Signal"))
":")))))))))
(native-inputs (list tar))
(string-append #$output "/bin/signal-desktop")))))))
(home-page "https://signal.org/")
(synopsis "Private messenger using the Signal protocol")
(description "Signal Desktop is an Electron application that links with Signal on Android
@ -160,14 +129,14 @@ or iOS.")
(define-public zoom
(package
(name "zoom")
(version "5.15.12.7665")
(version "5.17.5.2543")
(source
(origin
(method url-fetch)
(uri (string-append "https://cdn.zoom.us/prod/" version "/zoom_x86_64.tar.xz"))
(file-name (string-append name "-" version "-x86_64.tar.xz"))
(sha256
(base32 "1pmxgfafwlxnrcw1fay91krjqbf1kaf5ng4f3na0p6liyd5c6fhq"))))
(base32 "06m53d3jrpiq1z5wd7m61lb3w8m8g72iaqx5sixnzn290gyyzgim"))))
(supported-systems '("x86_64-linux"))
(build-system binary-build-system)
(arguments
@ -220,8 +189,8 @@ or iOS.")
#:phases
#~(modify-phases %standard-phases
(replace 'unpack
(lambda _
(invoke "tar" "xvf" #$source)
(lambda* (#:key source #:allow-other-keys)
(invoke "tar" "xvf" source)
;; Use the more standard lib directory for everything.
(mkdir-p "lib")
(rename-file "zoom/" "lib/zoom")))
@ -243,6 +212,9 @@ or iOS.")
"libxrender"
"zlib")))))
(wrap-program (string-append #$output "/lib/zoom/zoom")
'("QML2_IMPORT_PATH" = ())
'("QT_PLUGIN_PATH" = ())
'("QT_SCREEN_SCALE_FACTORS" = ())
`("FONTCONFIG_PATH" ":" prefix
(,(string-join
(list

View File

@ -14,14 +14,17 @@
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2019, 2020 Adrian Malacoda <malacoda@monarch-pass.net>
;;; Copyright © 2020-2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020-2025 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2021 pineapples <guixuser6392@protonmail.com>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021, 2024 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021, 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2023 Tomas Volf <wolf@wolfsden.cz>
(define-module (nongnu packages mozilla)
#:use-module (srfi srfi-26)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cargo)
#:use-module (guix build-system trivial)
@ -64,50 +67,46 @@
#:use-module (gnu packages python)
#:use-module (gnu packages rust)
#:use-module (gnu packages rust-apps)
#:use-module (gnu packages speech)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages video)
#:use-module (nongnu packages wasm)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg))
;; Define the versions of rust needed to build firefox, trying to match
;; upstream. See the file taskcluster/ci/toolchain/rust.yml at
;; https://searchfox.org under the particular firefox release, like
;; mozilla-esr102.
(define-public rust-firefox-esr rust) ; 1.60 is the default in Guix
(define-public rust-firefox rust) ; 1.65 is the minimum
(define icu4c-73
(package
(inherit icu4c)
(version "73.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/unicode-org/icu/releases/download/release-"
(string-map (lambda (x) (if (char=? x #\.) #\- x)) version)
"/icu4c-"
(string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
"-src.tgz"))
(sha256
(base32
"0iccpdvc0kvpww5a31k9gjkqigyz016i7v80r9zamd34w4fl6mx4"))))))
;;; Define the versions of rust needed to build firefox, trying to match
;;; upstream. See table at [0], `Uses' column for the specific version.
;;; Using `rust' will likely lead to a newer version then listed in the table,
;;; but since in Guix only the latest packaged Rust is officially supported,
;;; it is a tradeoff worth making.
;;; 0: https://firefox-source-docs.mozilla.org/writing-rust-code/update-policy.html
;; The `rust' package is too old.
(define-public rust-firefox-esr rust-1.77)
(define-public rust-firefox rust-1.77)
;; 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 "20230928000000")
(define %firefox-esr-build-id "20250203132125")
(define-public firefox-esr
(package
(name "firefox-esr")
(version "115.3.1esr")
(version "128.7.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 "0lqymabkhxpdhmgz81if8za1hdakh8nlm4cmsir4y1fa95p2bnkx"))))
(base32 "1xwl6z8ax3dw5hjb5lwpl5641rmlizmfqs3xg74cnczsvm7bz9z0"))
(patches
(map (lambda (patch)
(search-path
(map (cut string-append <> "/nongnu/packages/patches")
%load-path)
patch))
'("firefox-esr-compare-paths.patch"
"firefox-esr-use-system-wide-dir.patch")))))
(build-system gnu-build-system)
(arguments
(list
@ -139,6 +138,11 @@
"--with-distribution-id=org.nonguix"
"--disable-official-branding"
;; Do not require addons in the global app or system directories to
;; be signed by Mozilla.
"--allow-addon-sideload"
"--with-unsigned-addon-scopes=app,system"
;; Features
"--disable-tests"
"--disable-updater"
@ -154,6 +158,7 @@
"--disable-elf-hack"))
#:imported-modules %cargo-utils-modules
#:modules `((ice-9 regex)
(ice-9 string-fun)
(ice-9 ftw)
(srfi srfi-1)
(srfi srfi-26)
@ -161,7 +166,7 @@
(rnrs io ports)
(guix elf)
(guix build gremlin)
,@%gnu-build-system-modules)
,@%default-gnu-imported-modules)
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-preferences
@ -180,6 +185,11 @@
;; XDG settings should be managed by Guix.
(write-setting "browser.shell.checkDefaultBrowser" "false")
;; It defaults to Google Location Services, but misses a necessary
;; API key.
(write-setting "geo.provider.network.url"
"\"https://api.beacondb.net/v1/geolocate\"")
(close-port port))))
(add-after 'fix-preferences 'fix-ffmpeg-runtime-linker
(lambda* (#:key inputs #:allow-other-keys)
@ -228,8 +238,24 @@
;; complain that it's not able to change Cargo.lock.
;; https://bugzilla.mozilla.org/show_bug.cgi?id=1726373
(substitute* "build/RunCbindgen.py"
(("\"--frozen\",") ""))))
(("args.append\\(\"--frozen\"\\)") "pass"))))
(delete 'bootstrap)
(add-before 'configure 'patch-SpeechDispatcherService.cpp
(lambda _
(let* ((lib "libspeechd.so.2")
(file "dom/media/webspeech/synth/speechd/SpeechDispatcherService.cpp")
(old-content (call-with-input-file file get-string-all)))
(substitute
file
`((,(format #f "~s" lib)
. ,(lambda (line _)
(string-replace-substring
line
lib
(string-append #$speech-dispatcher "/lib/" lib))))))
(if (string=? old-content
(call-with-input-file file get-string-all))
(error "substitute did nothing, phase requires an update")))))
(add-before 'configure 'set-build-id
;; Firefox will write the timestamp to output, which is harmful
;; for reproducibility, so change it to a fixed date. Use a
@ -265,6 +291,9 @@
(setenv "MOZ_NOSPAM" "1")
;; WM_CLASS (default is "$MOZ_APP_NAME-$MOZ_UPDATE_CHANNEL").
(setenv "MOZ_APP_REMOTINGNAME" "Firefox")
(setenv "MOZBUILD_STATE_PATH" (getcwd))
(let* ((mozconfig (string-append (getcwd) "/mozconfig"))
@ -359,13 +388,17 @@
'("mesa" "ffmpeg")))))
(pulseaudio-lib (string-append (assoc-ref inputs "pulseaudio")
"/lib"))
;; For sharing on Wayland
(pipewire-lib (string-append (assoc-ref inputs "pipewire")
"/lib"))
;; For U2F and WebAuthn
(eudev-lib (string-append (assoc-ref inputs "eudev") "/lib"))
(gtk-share (string-append (assoc-ref inputs "gtk+")
"/share")))
(wrap-program (car (find-files lib "^firefox$"))
`("LD_LIBRARY_PATH" prefix (,mesa-lib ,libnotify-lib ,libva-lib
,pulseaudio-lib ,eudev-lib ,@rdd-whitelist))
,pulseaudio-lib ,eudev-lib ,@rdd-whitelist
,pipewire-lib))
`("XDG_DATA_DIRS" prefix (,gtk-share))
`("MOZ_LEGACY_PROFILES" = ("1"))
`("MOZ_ALLOW_DOWNGRADE" = ("1"))))))
@ -379,7 +412,7 @@
(("NewWindow") "new-window")
(("NewPrivateWindow") "new-private-window")
(("StartupNotify=true")
"StartupNotify=true\nStartupWMClass=Navigator"))
"StartupNotify=true\nStartupWMClass=Firefox"))
(install-file desktop-file applications))))
(add-after 'install-desktop-entry 'install-icons
(lambda* (#:key outputs #:allow-other-keys)
@ -442,8 +475,9 @@
pipewire
pixman
pulseaudio
startup-notification
speech-dispatcher
sqlite
startup-notification
eudev
unzip
zip
@ -453,7 +487,7 @@
alsa-lib
autoconf-2.13
`(,rust-firefox-esr "cargo")
clang
clang-18
llvm
wasm32-wasi-clang-toolchain
m4
@ -463,9 +497,14 @@
pkg-config
python
rust-firefox-esr
rust-cbindgen-0.24
rust-cbindgen-0.26
which
yasm))
(native-search-paths
(list (search-path-specification
(variable "ICECAT_SYSTEM_DIR")
(separator #f) ;single entry
(files '("lib/icecat")))))
(home-page "https://mozilla.org/firefox/")
(synopsis "Trademarkless version of Firefox")
(description
@ -512,20 +551,29 @@ MOZ_ENABLE_WAYLAND=1 exec ~a $@\n"
;; 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 "20230928000000")
(define %firefox-build-id "20250203132324")
(define-public firefox
(package
(inherit firefox-esr)
(name "firefox")
(version "118.0.1")
(version "135.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://archive.mozilla.org/pub/firefox/releases/"
version "/source/firefox-" version ".source.tar.xz"))
(patches
(map (lambda (patch)
(search-path
(map (cut string-append <> "/nongnu/packages/patches")
%load-path)
patch))
'("firefox-restore-desktop-files.patch"
"firefox-esr-compare-paths.patch"
"firefox-use-system-wide-dir.patch")))
(sha256
(base32 "15gxg5nk62fn5sp77i0b0jfn8qa2a3ikkis0lwaxc19ns5bdmx53"))))
(base32 "0q5r2q6q56kyzl5pknrir9bzlhmzbvv9hi5gi4852izgcali4zl2"))))
(arguments
(substitute-keyword-arguments (package-arguments firefox-esr)
((#:phases phases)
@ -533,6 +581,9 @@ MOZ_ENABLE_WAYLAND=1 exec ~a $@\n"
(replace 'set-build-id
(lambda _
(setenv "MOZ_BUILD_DATE" #$%firefox-build-id)))))))
(inputs
(modify-inputs (package-inputs firefox-esr)
(replace "icu4c" icu4c-75)))
(native-inputs
(modify-inputs (package-native-inputs firefox-esr)
(replace "rust" rust-firefox)
@ -541,38 +592,7 @@ MOZ_ENABLE_WAYLAND=1 exec ~a $@\n"
"Full-featured browser client built from Firefox source tree, without
the official icon and the name \"firefox\".")))
(define-public firefox/wayland
(package
(inherit firefox)
(name "firefox-wayland")
(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))))))
;; As of Firefox 121.0, Firefox uses Wayland by default. This means we no
;; longer need a seperate package for Firefox on Wayland.
(define-public firefox-wayland
(deprecated-package "firefox-wayland" firefox))

View File

@ -34,7 +34,9 @@
("x86_64-linux" "linux_x86_64")
("i686-linux" "linux_i686")
("aarch64-linux" "linux_aarch64")
("armhf-linux" "linux_armv7l"))
("armhf-linux" "linux_armv7l")
;; We need a default case
(_ "unsupported"))
".tar.xz"))
(sha256
(base32
@ -42,7 +44,9 @@
("x86_64-linux" "1hd7fbk0px45fxhqa7nqcnij8ls2fhpjp60v840vy2zqs9fkcr52")
("i686-linux" "11vk32mxyda9xl08pp2ivd1vsahnw6w7d08in4syz6iannfwp19b")
("aarch64-linux" "0zpkaiwwxn8yh3s1d22qswshbgaxx5d8iy17hb3w256zgb722yjw")
("armhf-linux" "18174b1lgsk73gxhala471ppzbrpa1cs953b5par998yqgh74znk"))))))
("armhf-linux" "18174b1lgsk73gxhala471ppzbrpa1cs953b5par998yqgh74znk")
;; We need a valid base32 default case
(_ "0000000000000000000000000000000000000000000000000000"))))))
(build-system binary-build-system)
(arguments
(list #:strip-binaries? #f ;allocated section `.dynsym' not in segment

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,23 @@
See comment in gnu/build/icecat-extension.scm.
diff --git a/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs b/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
index 0b885f6..0bbfbee 100644
--- a/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
+++ b/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
@@ -3607,6 +3607,7 @@ export const XPIDatabaseReconcile = {
if (
newAddon ||
oldAddon.updateDate != xpiState.mtime ||
+ oldAddon.path != xpiState.path ||
(aUpdateCompatibility && this.isAppBundledLocation(installLocation))
) {
newAddon = this.updateMetadata(
@@ -3615,8 +3616,6 @@ export const XPIDatabaseReconcile = {
xpiState,
newAddon
);
- } else if (oldAddon.path != xpiState.path) {
- newAddon = this.updatePath(installLocation, oldAddon, xpiState);
} else if (aUpdateCompatibility || aSchemaChange) {
newAddon = this.updateCompatibility(
installLocation,

View File

@ -0,0 +1,38 @@
Replace "/usr/lib/mozilla" (the system-wide directory for extensions and
native manifests) with "$ICECAT_SYSTEM_DIR".
diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
index d3af49b495..4beef0aa7e 100644
--- a/toolkit/xre/nsXREDirProvider.cpp
+++ b/toolkit/xre/nsXREDirProvider.cpp
@@ -296,24 +296,12 @@ nsresult nsXREDirProvider::GetBackgroundTasksProfilesRootDir(
static nsresult GetSystemParentDirectory(nsIFile** aFile) {
nsresult rv;
nsCOMPtr<nsIFile> localDir;
-# if defined(XP_MACOSX)
- rv = GetOSXFolderType(kOnSystemDisk, kApplicationSupportFolderType,
- getter_AddRefs(localDir));
- if (NS_SUCCEEDED(rv)) {
- rv = localDir->AppendNative("Mozilla"_ns);
- }
-# else
- constexpr auto dirname =
-# ifdef HAVE_USR_LIB64_DIR
- "/usr/lib64/mozilla"_ns
-# elif defined(__OpenBSD__) || defined(__FreeBSD__)
- "/usr/local/lib/mozilla"_ns
-# else
- "/usr/lib/mozilla"_ns
-# endif
- ;
- rv = NS_NewNativeLocalFile(dirname, false, getter_AddRefs(localDir));
-# endif
+
+ const char* systemParentDir = getenv("ICECAT_SYSTEM_DIR");
+ if (!systemParentDir || !*systemParentDir) return NS_ERROR_FAILURE;
+
+ rv = NS_NewNativeLocalFile(nsDependentCString(systemParentDir), false,
+ getter_AddRefs(localDir));
if (NS_SUCCEEDED(rv)) {
localDir.forget(aFile);

View File

@ -0,0 +1,917 @@
From: John Kehayias
Date: Fri, 18 Oct 2024 20:33:02 -0400
Subject: [PATCH] Revert "Bug 1907512 - Remove duplicated desktop files
r=stransky"
This reverts commit 7ac2001cd0d4e1f44f104d9b17a427a009935e20 which removed the desktop files in favor of generating them. See upstream discussion at <https://bugzilla.mozilla.org/show_bug.cgi?id=1901703>.
---
.../search-provider-files/firefox.desktop | 274 +++++++++++++
.../org.mozilla.firefox.desktop | 386 ++++++++++++++++++
.../docker/firefox-snap/firefox.desktop | 219 ++++++++++
3 files changed, 879 insertions(+)
create mode 100644 browser/components/shell/search-provider-files/firefox.desktop
create mode 100644 taskcluster/docker/firefox-flatpak/org.mozilla.firefox.desktop
create mode 100644 taskcluster/docker/firefox-snap/firefox.desktop
diff --git a/browser/components/shell/search-provider-files/firefox.desktop b/browser/components/shell/search-provider-files/firefox.desktop
new file mode 100644
index 000000000000..575290acddc3
--- /dev/null
+++ b/browser/components/shell/search-provider-files/firefox.desktop
@@ -0,0 +1,274 @@
+[Desktop Entry]
+Version=1.0
+Name=Firefox
+GenericName=Web Browser
+GenericName[ca]=Navegador web
+GenericName[cs]=Webový prohlížeč
+GenericName[es]=Navegador web
+GenericName[fa]=مرورگر اینترنتی
+GenericName[fi]=WWW-selain
+GenericName[fr]=Navigateur Web
+GenericName[hu]=Webböngésző
+GenericName[it]=Browser Web
+GenericName[ja]=ウェブ・ブラウザ
+GenericName[ko]=웹 브라우저
+GenericName[nb]=Nettleser
+GenericName[nl]=Webbrowser
+GenericName[nn]=Nettlesar
+GenericName[no]=Nettleser
+GenericName[pl]=Przeglądarka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[sk]=Internetový prehliadač
+GenericName[sv]=Webbläsare
+Comment=Browse the Web
+Comment[ca]=Navegueu per el web
+Comment[cs]=Prohlížení stránek World Wide Webu
+Comment[de]=Im Internet surfen
+Comment[es]=Navegue por la web
+Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
+Comment[fi]=Selaa Internetin WWW-sivuja
+Comment[fr]=Navigue sur Internet
+Comment[hu]=A világháló böngészése
+Comment[it]=Esplora il web
+Comment[ja]=ウェブを閲覧します
+Comment[ko]=웹을 돌아 다닙니다
+Comment[nb]=Surf på nettet
+Comment[nl]=Verken het internet
+Comment[nn]=Surf på nettet
+Comment[no]=Surf på nettet
+Comment[pl]=Przeglądanie stron WWW
+Comment[pt]=Navegue na Internet
+Comment[pt_BR]=Navegue na Internet
+Comment[sk]=Prehliadanie internetu
+Comment[sv]=Surfa på webben
+Exec=firefox %u
+Icon=firefox
+Terminal=false
+Type=Application
+MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
+StartupNotify=true
+Categories=Network;WebBrowser;
+Keywords=web;browser;internet;
+Actions=new-window;new-private-window;
+DBusActivatable=true
+
+X-Desktop-File-Install-Version=0.24
+
+[Desktop Action new-window]
+Name=Open a New Window
+Name[ach]=Dirica manyen
+Name[af]=Nuwe venster
+Name[an]=Nueva finestra
+Name[ar]=نافذة جديدة
+Name[as]=নতুন উইন্ডো
+Name[ast]=Ventana nueva
+Name[az]=Yeni Pəncərə
+Name[be]=Новае акно
+Name[bg]=Нов прозорец
+Name[bn_BD]=নতুন উইন্ডো (N)
+Name[bn_IN]=নতুন উইন্ডো
+Name[br]=Prenestr nevez
+Name[brx]=गोदान उइन्ड'(N)
+Name[bs]=Novi prozor
+Name[ca]=Finestra nova
+Name[cak]=K'ak'a' tzuwäch
+Name[cs]=Nové okno
+Name[cy]=Ffenestr Newydd
+Name[da]=Nyt vindue
+Name[de]=Neues Fenster
+Name[dsb]=Nowe wokno
+Name[el]=Νέο παράθυρο
+Name[en_GB]=New Window
+Name[en_US]=New Window
+Name[en_ZA]=New Window
+Name[eo]=Nova fenestro
+Name[es_AR]=Nueva ventana
+Name[es_CL]=Nueva ventana
+Name[es_ES]=Nueva ventana
+Name[es_MX]=Nueva ventana
+Name[et]=Uus aken
+Name[eu]=Leiho berria
+Name[fa]=پنجره جدید‌
+Name[ff]=Henorde Hesere
+Name[fi]=Uusi ikkuna
+Name[fr]=Nouvelle fenêtre
+Name[fy_NL]=Nij finster
+Name[ga_IE]=Fuinneog Nua
+Name[gd]=Uinneag ùr
+Name[gl]=Nova xanela
+Name[gn]=Ovetã pyahu
+Name[gu_IN]=નવી વિન્ડો
+Name[he]=חלון חדש
+Name[hi_IN]=नया विंडो
+Name[hr]=Novi prozor
+Name[hsb]=Nowe wokno
+Name[hu]=Új ablak
+Name[hy_AM]=Նոր Պատուհան
+Name[id]=Jendela Baru
+Name[is]=Nýr gluggi
+Name[it]=Nuova finestra
+Name[ja]=新しいウィンドウ
+Name[ja_JP-mac]=新規ウインドウ
+Name[ka]=ახალი ფანჯარა
+Name[kk]=Жаңа терезе
+Name[km]=បង្អួច​​​ថ្មី
+Name[kn]=ಹೊಸ ಕಿಟಕಿ
+Name[ko]=새 창
+Name[kok]=नवें जनेल
+Name[ks]=نئئ وِنڈو
+Name[lij]=Neuvo barcon
+Name[lo]=ຫນ້າຕ່າງໃຫມ່
+Name[lt]=Naujas langas
+Name[ltg]=Jauns lūgs
+Name[lv]=Jauns logs
+Name[mai]=नव विंडो
+Name[mk]=Нов прозорец
+Name[ml]=പുതിയ ജാലകം
+Name[mr]=नवीन पटल
+Name[ms]=Tetingkap Baru
+Name[my]=ဝင်းဒိုးအသစ်
+Name[nb_NO]=Nytt vindu
+Name[ne_NP]=नयाँ सञ्झ्याल
+Name[nl]=Nieuw venster
+Name[nn_NO]=Nytt vindauge
+Name[or]=ନୂତନ ୱିଣ୍ଡୋ
+Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
+Name[pl]=Nowe okno
+Name[pt_BR]=Nova janela
+Name[pt_PT]=Nova janela
+Name[rm]=Nova fanestra
+Name[ro]=Fereastră nouă
+Name[ru]=Новое окно
+Name[sat]=नावा विंडो (N)
+Name[si]=නව කවුළුවක්
+Name[sk]=Nové okno
+Name[sl]=Novo okno
+Name[son]=Zanfun taaga
+Name[sq]=Dritare e Re
+Name[sr]=Нови прозор
+Name[sv_SE]=Nytt fönster
+Name[ta]=புதிய சாளரம்
+Name[te]=కొత్త విండో
+Name[th]=หน้าต่างใหม่
+Name[tr]=Yeni pencere
+Name[tsz]=Eraatarakua jimpani
+Name[uk]=Нове вікно
+Name[ur]=نیا دریچہ
+Name[uz]=Yangi oyna
+Name[vi]=Cửa sổ mới
+Name[wo]=Palanteer bu bees
+Name[xh]=Ifestile entsha
+Name[zh_CN]=新建窗口
+Name[zh_TW]=開新視窗
+
+
+Exec=firefox --new-window %u
+
+[Desktop Action new-private-window]
+Name=Open a New Private Window
+Name[ach]=Dirica manyen me mung
+Name[af]=Nuwe privaatvenster
+Name[an]=Nueva finestra privada
+Name[ar]=نافذة خاصة جديدة
+Name[as]=নতুন ব্যক্তিগত উইন্ডো
+Name[ast]=Ventana privada nueva
+Name[az]=Yeni Məxfi Pəncərə
+Name[be]=Новае акно адасаблення
+Name[bg]=Нов прозорец за поверително сърфиране
+Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো
+Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো
+Name[br]=Prenestr merdeiñ prevez nevez
+Name[brx]=गोदान प्राइभेट उइन्ड'
+Name[bs]=Novi privatni prozor
+Name[ca]=Finestra privada nova
+Name[cak]=K'ak'a' ichinan tzuwäch
+Name[cs]=Nové anonymní okno
+Name[cy]=Ffenestr Breifat Newydd
+Name[da]=Nyt privat vindue
+Name[de]=Neues privates Fenster
+Name[dsb]=Nowe priwatne wokno
+Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
+Name[en_GB]=New Private Window
+Name[en_US]=New Private Window
+Name[en_ZA]=New Private Window
+Name[eo]=Nova privata fenestro
+Name[es_AR]=Nueva ventana privada
+Name[es_CL]=Nueva ventana privada
+Name[es_ES]=Nueva ventana privada
+Name[es_MX]=Nueva ventana privada
+Name[et]=Uus privaatne aken
+Name[eu]=Leiho pribatu berria
+Name[fa]=پنجره ناشناس جدید
+Name[ff]=Henorde Suturo Hesere
+Name[fi]=Uusi yksityinen ikkuna
+Name[fr]=Nouvelle fenêtre de navigation privée
+Name[fy_NL]=Nij priveefinster
+Name[ga_IE]=Fuinneog Nua Phríobháideach
+Name[gd]=Uinneag phrìobhaideach ùr
+Name[gl]=Nova xanela privada
+Name[gn]=Ovetã ñemi pyahu
+Name[gu_IN]=નવી ખાનગી વિન્ડો
+Name[he]=חלון פרטי חדש
+Name[hi_IN]=नयी निजी विंडो
+Name[hr]=Novi privatni prozor
+Name[hsb]=Nowe priwatne wokno
+Name[hu]=Új privát ablak
+Name[hy_AM]=Սկսել Գաղտնի դիտարկում
+Name[id]=Jendela Mode Pribadi Baru
+Name[is]=Nýr huliðsgluggi
+Name[it]=Nuova finestra anonima
+Name[ja]=新しいプライベートウィンドウ
+Name[ja_JP-mac]=新規プライベートウインドウ
+Name[ka]=ახალი პირადი ფანჯარა
+Name[kk]=Жаңа жекелік терезе
+Name[km]=បង្អួច​ឯកជន​ថ្មី
+Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
+Name[ko]=새 사생활 보호 모드
+Name[kok]=नवो खाजगी विंडो
+Name[ks]=نْو پرایوٹ وینڈو&amp;
+Name[lij]=Neuvo barcon privou
+Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່
+Name[lt]=Naujas privataus naršymo langas
+Name[ltg]=Jauns privatais lūgs
+Name[lv]=Jauns privātais logs
+Name[mai]=नया निज विंडो (W)
+Name[mk]=Нов приватен прозорец
+Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
+Name[mr]=नवीन वैयक्तिक पटल
+Name[ms]=Tetingkap Persendirian Baharu
+Name[my]=New Private Window
+Name[nb_NO]=Nytt privat vindu
+Name[ne_NP]=नयाँ निजी सञ्झ्याल
+Name[nl]=Nieuw privévenster
+Name[nn_NO]=Nytt privat vindauge
+Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
+Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
+Name[pl]=Nowe okno prywatne
+Name[pt_BR]=Nova janela privativa
+Name[pt_PT]=Nova janela privada
+Name[rm]=Nova fanestra privata
+Name[ro]=Fereastră privată nouă
+Name[ru]=Новое приватное окно
+Name[sat]=नावा निजेराक् विंडो (W )
+Name[si]=නව පුද්ගලික කවුළුව (W)
+Name[sk]=Nové okno v režime Súkromné prehliadanie
+Name[sl]=Novo zasebno okno
+Name[son]=Sutura zanfun taaga
+Name[sq]=Dritare e Re Private
+Name[sr]=Нови приватан прозор
+Name[sv_SE]=Nytt privat fönster
+Name[ta]=புதிய தனிப்பட்ட சாளரம்
+Name[te]=కొత్త ఆంతరంగిక విండో
+Name[th]=หน้าต่างส่วนตัวใหม่
+Name[tr]=Yeni gizli pencere
+Name[tsz]=Juchiiti eraatarakua jimpani
+Name[uk]=Приватне вікно
+Name[ur]=نیا نجی دریچہ
+Name[uz]=Yangi maxfiy oyna
+Name[vi]=Cửa sổ riêng tư mới
+Name[wo]=Panlanteeru biir bu bees
+Name[xh]=Ifestile yangasese entsha
+Name[zh_CN]=新建隐私浏览窗口
+Name[zh_TW]=新增隱私視窗
+Exec=firefox --private-window %u
diff --git a/taskcluster/docker/firefox-flatpak/org.mozilla.firefox.desktop b/taskcluster/docker/firefox-flatpak/org.mozilla.firefox.desktop
new file mode 100644
index 000000000000..21c3e7aec0f4
--- /dev/null
+++ b/taskcluster/docker/firefox-flatpak/org.mozilla.firefox.desktop
@@ -0,0 +1,386 @@
+[Desktop Entry]
+Version=1.0
+Name=Firefox Web Browser
+Name[ar]=متصفح الويب فَيَرفُكْس
+Name[ast]=Restolador web Firefox
+Name[bn]=ফায়ারফক্স ওয়েব ব্রাউজার
+Name[ca]=Navegador web Firefox
+Name[cs]=Firefox Webový prohlížeč
+Name[da]=Firefox - internetbrowser
+Name[el]=Περιηγητής Firefox
+Name[es]=Navegador web Firefox
+Name[et]=Firefoxi veebibrauser
+Name[fa]=مرورگر اینترنتی Firefox
+Name[fi]=Firefox-selain
+Name[fr]=Navigateur Web Firefox
+Name[gl]=Navegador web Firefox
+Name[he]=דפדפן האינטרנט Firefox
+Name[hr]=Firefox web preglednik
+Name[hu]=Firefox webböngésző
+Name[it]=Firefox Browser Web
+Name[ja]=Firefox ウェブ・ブラウザ
+Name[ko]=Firefox 웹 브라우저
+Name[ku]=Geroka torê Firefox
+Name[lt]=Firefox interneto naršyklė
+Name[nb]=Firefox Nettleser
+Name[nl]=Firefox webbrowser
+Name[nn]=Firefox Nettlesar
+Name[no]=Firefox Nettleser
+Name[pl]=Przeglądarka WWW Firefox
+Name[pt]=Firefox Navegador Web
+Name[pt_BR]=Navegador Web Firefox
+Name[ro]=Firefox Navigator Internet
+Name[ru]=Веб-браузер Firefox
+Name[sk]=Firefox - internetový prehliadač
+Name[sl]=Firefox spletni brskalnik
+Name[sv]=Firefox webbläsare
+Name[tr]=Firefox Web Tarayıcısı
+Name[ug]=Firefox توركۆرگۈ
+Name[uk]=Веб-браузер Firefox
+Name[vi]=Trình duyệt web Firefox
+Name[zh_CN]=Firefox 网络浏览器
+Name[zh_TW]=Firefox 網路瀏覽器
+Comment=Browse the World Wide Web
+Comment[ar]=تصفح الشبكة العنكبوتية العالمية
+Comment[ast]=Restola pela Rede
+Comment[bn]=ইন্টারনেট ব্রাউজ করুন
+Comment[ca]=Navegueu per la web
+Comment[cs]=Prohlížení stránek World Wide Webu
+Comment[da]=Surf på internettet
+Comment[de]=Im Internet surfen
+Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web)
+Comment[es]=Navegue por la web
+Comment[et]=Lehitse veebi
+Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
+Comment[fi]=Selaa Internetin WWW-sivuja
+Comment[fr]=Naviguer sur le Web
+Comment[gl]=Navegar pola rede
+Comment[he]=גלישה ברחבי האינטרנט
+Comment[hr]=Pretražite web
+Comment[hu]=A világháló böngészése
+Comment[it]=Esplora il web
+Comment[ja]=ウェブを閲覧します
+Comment[ko]=웹을 돌아 다닙니다
+Comment[ku]=Li torê bigere
+Comment[lt]=Naršykite internete
+Comment[nb]=Surf på nettet
+Comment[nl]=Verken het internet
+Comment[nn]=Surf på nettet
+Comment[no]=Surf på nettet
+Comment[pl]=Przeglądanie stron WWW
+Comment[pt]=Navegue na Internet
+Comment[pt_BR]=Navegue na Internet
+Comment[ro]=Navigați pe Internet
+Comment[ru]=Доступ в Интернет
+Comment[sk]=Prehliadanie internetu
+Comment[sl]=Brskajte po spletu
+Comment[sv]=Surfa på webben
+Comment[tr]=İnternet'te Gezinin
+Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ
+Comment[uk]=Перегляд сторінок Інтернету
+Comment[vi]=Để duyệt các trang web
+Comment[zh_CN]=浏览互联网
+Comment[zh_TW]=瀏覽網際網路
+GenericName=Web Browser
+GenericName[ar]=متصفح ويب
+GenericName[ast]=Restolador Web
+GenericName[bn]=ওয়েব ব্রাউজার
+GenericName[ca]=Navegador web
+GenericName[cs]=Webový prohlížeč
+GenericName[da]=Webbrowser
+GenericName[el]=Περιηγητής διαδικτύου
+GenericName[es]=Navegador web
+GenericName[et]=Veebibrauser
+GenericName[fa]=مرورگر اینترنتی
+GenericName[fi]=WWW-selain
+GenericName[fr]=Navigateur Web
+GenericName[gl]=Navegador Web
+GenericName[he]=דפדפן אינטרנט
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[it]=Browser web
+GenericName[ja]=ウェブ・ブラウザ
+GenericName[ko]=웹 브라우저
+GenericName[ku]=Geroka torê
+GenericName[lt]=Interneto naršyklė
+GenericName[nb]=Nettleser
+GenericName[nl]=Webbrowser
+GenericName[nn]=Nettlesar
+GenericName[no]=Nettleser
+GenericName[pl]=Przeglądarka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator Internet
+GenericName[ru]=Веб-браузер
+GenericName[sk]=Internetový prehliadač
+GenericName[sl]=Spletni brskalnik
+GenericName[sv]=Webbläsare
+GenericName[tr]=Web Tarayıcı
+GenericName[ug]=توركۆرگۈ
+GenericName[uk]=Веб-браузер
+GenericName[vi]=Trình duyệt Web
+GenericName[zh_CN]=网络浏览器
+GenericName[zh_TW]=網路瀏覽器
+Keywords=Internet;WWW;Browser;Web;Explorer
+Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب
+Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador
+Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer
+Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer
+Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet
+Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
+Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;Firefox;Φιρεφοχ;Ιντερνετ
+Keywords[es]=Explorador;Internet;WWW
+Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa
+Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
+Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה;
+Keywords[hr]=Internet;WWW;preglednik;Web
+Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer
+Keywords[it]=Internet;WWW;Browser;Web;Navigatore
+Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk
+Keywords[ja]=Internet;WWW;Web;インターネット;ブラウザ;ウェブ;エクスプローラ
+Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside
+Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online
+Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador
+Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador
+Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокс;огнелис
+Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer
+Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet
+Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara
+Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд
+Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web
+Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;Firefox;ff;互联网;网站;
+Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐
+Exec=firefox %u
+Icon=org.mozilla.firefox
+Terminal=false
+Type=Application
+MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
+StartupNotify=true
+Categories=Network;WebBrowser;
+Actions=new-window;new-private-window;profile-manager-window;
+StartupWMClass=firefox
+
+
+[Desktop Action new-window]
+Name=Open a New Window
+Name[ach]=Dirica manyen
+Name[af]=Nuwe venster
+Name[an]=Nueva finestra
+Name[ar]=نافذة جديدة
+Name[as]=নতুন উইন্ডো
+Name[ast]=Ventana nueva
+Name[az]=Yeni Pəncərə
+Name[be]=Новае акно
+Name[bg]=Нов прозорец
+Name[bn_BD]=নতুন উইন্ডো (N)
+Name[bn_IN]=নতুন উইন্ডো
+Name[br]=Prenestr nevez
+Name[brx]=गोदान उइन्ड'(N)
+Name[bs]=Novi prozor
+Name[ca]=Finestra nova
+Name[cak]=K'ak'a' tzuwäch
+Name[cs]=Nové okno
+Name[cy]=Ffenestr Newydd
+Name[da]=Nyt vindue
+Name[de]=Neues Fenster
+Name[dsb]=Nowe wokno
+Name[el]=Νέο παράθυρο
+Name[en_GB]=New Window
+Name[en_US]=New Window
+Name[en_ZA]=New Window
+Name[eo]=Nova fenestro
+Name[es_AR]=Nueva ventana
+Name[es_CL]=Nueva ventana
+Name[es_ES]=Nueva ventana
+Name[es_MX]=Nueva ventana
+Name[et]=Uus aken
+Name[eu]=Leiho berria
+Name[fa]=پنجره جدید‌
+Name[ff]=Henorde Hesere
+Name[fi]=Uusi ikkuna
+Name[fr]=Nouvelle fenêtre
+Name[fy_NL]=Nij finster
+Name[ga_IE]=Fuinneog Nua
+Name[gd]=Uinneag ùr
+Name[gl]=Nova xanela
+Name[gn]=Ovetã pyahu
+Name[gu_IN]=નવી વિન્ડો
+Name[he]=חלון חדש
+Name[hi_IN]=नया विंडो
+Name[hr]=Novi prozor
+Name[hsb]=Nowe wokno
+Name[hu]=Új ablak
+Name[hy_AM]=Նոր Պատուհան
+Name[id]=Jendela Baru
+Name[is]=Nýr gluggi
+Name[it]=Nuova finestra
+Name[ja]=新しいウィンドウ
+Name[ja_JP]=新規ウインドウ
+Name[ka]=ახალი ფანჯარა
+Name[kk]=Жаңа терезе
+Name[km]=បង្អួច​​​ថ្មី
+Name[kn]=ಹೊಸ ಕಿಟಕಿ
+Name[ko]=새 창
+Name[kok]=नवें जनेल
+Name[ks]=نئئ وِنڈو
+Name[lij]=Neuvo barcon
+Name[lo]=ຫນ້າຕ່າງໃຫມ່
+Name[lt]=Naujas langas
+Name[ltg]=Jauns lūgs
+Name[lv]=Jauns logs
+Name[mai]=नव विंडो
+Name[mk]=Нов прозорец
+Name[ml]=പുതിയ ജാലകം
+Name[mr]=नवीन पटल
+Name[ms]=Tetingkap Baru
+Name[my]=ဝင်းဒိုးအသစ်
+Name[nb_NO]=Nytt vindu
+Name[ne_NP]=नयाँ सञ्झ्याल
+Name[nl]=Nieuw venster
+Name[nn_NO]=Nytt vindauge
+Name[or]=ନୂତନ ୱିଣ୍ଡୋ
+Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
+Name[pl]=Nowe okno
+Name[pt_BR]=Nova janela
+Name[pt_PT]=Nova janela
+Name[rm]=Nova fanestra
+Name[ro]=Fereastră nouă
+Name[ru]=Новое окно
+Name[sat]=नावा विंडो (N)
+Name[si]=නව කවුළුවක්
+Name[sk]=Nové okno
+Name[sl]=Novo okno
+Name[son]=Zanfun taaga
+Name[sq]=Dritare e Re
+Name[sr]=Нови прозор
+Name[sv_SE]=Nytt fönster
+Name[ta]=புதிய சாளரம்
+Name[te]=కొత్త విండో
+Name[th]=หน้าต่างใหม่
+Name[tr]=Yeni pencere
+Name[tsz]=Eraatarakua jimpani
+Name[uk]=Нове вікно
+Name[ur]=نیا دریچہ
+Name[uz]=Yangi oyna
+Name[vi]=Cửa sổ mới
+Name[wo]=Palanteer bu bees
+Name[xh]=Ifestile entsha
+Name[zh_CN]=新建窗口
+Name[zh_TW]=開新視窗
+Exec=firefox --new-window %u
+
+[Desktop Action new-private-window]
+Name=Open a New Private Window
+Name[ach]=Dirica manyen me mung
+Name[af]=Nuwe privaatvenster
+Name[an]=Nueva finestra privada
+Name[ar]=نافذة خاصة جديدة
+Name[as]=নতুন ব্যক্তিগত উইন্ডো
+Name[ast]=Ventana privada nueva
+Name[az]=Yeni Məxfi Pəncərə
+Name[be]=Новае акно адасаблення
+Name[bg]=Нов прозорец за поверително сърфиране
+Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো
+Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো
+Name[br]=Prenestr merdeiñ prevez nevez
+Name[brx]=गोदान प्राइभेट उइन्ड'
+Name[bs]=Novi privatni prozor
+Name[ca]=Finestra privada nova
+Name[cak]=K'ak'a' ichinan tzuwäch
+Name[cs]=Nové anonymní okno
+Name[cy]=Ffenestr Breifat Newydd
+Name[da]=Nyt privat vindue
+Name[de]=Neues privates Fenster
+Name[dsb]=Nowe priwatne wokno
+Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
+Name[en_GB]=New Private Window
+Name[en_US]=New Private Window
+Name[en_ZA]=New Private Window
+Name[eo]=Nova privata fenestro
+Name[es_AR]=Nueva ventana privada
+Name[es_CL]=Nueva ventana privada
+Name[es_ES]=Nueva ventana privada
+Name[es_MX]=Nueva ventana privada
+Name[et]=Uus privaatne aken
+Name[eu]=Leiho pribatu berria
+Name[fa]=پنجره ناشناس جدید
+Name[ff]=Henorde Suturo Hesere
+Name[fi]=Uusi yksityinen ikkuna
+Name[fr]=Nouvelle fenêtre de navigation privée
+Name[fy_NL]=Nij priveefinster
+Name[ga_IE]=Fuinneog Nua Phríobháideach
+Name[gd]=Uinneag phrìobhaideach ùr
+Name[gl]=Nova xanela privada
+Name[gn]=Ovetã ñemi pyahu
+Name[gu_IN]=નવી ખાનગી વિન્ડો
+Name[he]=חלון פרטי חדש
+Name[hi_IN]=नयी निजी विंडो
+Name[hr]=Novi privatni prozor
+Name[hsb]=Nowe priwatne wokno
+Name[hu]=Új privát ablak
+Name[hy_AM]=Սկսել Գաղտնի դիտարկում
+Name[id]=Jendela Mode Pribadi Baru
+Name[is]=Nýr huliðsgluggi
+Name[it]=Nuova finestra anonima
+Name[ja]=新しいプライベートウィンドウ
+Name[ja_JP]=新規プライベートウインドウ
+Name[ka]=ახალი პირადი ფანჯარა
+Name[kk]=Жаңа жекелік терезе
+Name[km]=បង្អួច​ឯកជន​ថ្មី
+Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
+Name[ko]=새 사생활 보호 모드
+Name[kok]=नवो खाजगी विंडो
+Name[ks]=نْو پرایوٹ وینڈو&amp;
+Name[lij]=Neuvo barcon privou
+Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່
+Name[lt]=Naujas privataus naršymo langas
+Name[ltg]=Jauns privatais lūgs
+Name[lv]=Jauns privātais logs
+Name[mai]=नया निज विंडो (W)
+Name[mk]=Нов приватен прозорец
+Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
+Name[mr]=नवीन वैयक्तिक पटल
+Name[ms]=Tetingkap Persendirian Baharu
+Name[my]=New Private Window
+Name[nb_NO]=Nytt privat vindu
+Name[ne_NP]=नयाँ निजी सञ्झ्याल
+Name[nl]=Nieuw privévenster
+Name[nn_NO]=Nytt privat vindauge
+Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
+Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
+Name[pl]=Nowe okno prywatne
+Name[pt_BR]=Nova janela privativa
+Name[pt_PT]=Nova janela privada
+Name[rm]=Nova fanestra privata
+Name[ro]=Fereastră privată nouă
+Name[ru]=Новое приватное окно
+Name[sat]=नावा निजेराक् विंडो (W )
+Name[si]=නව පුද්ගලික කවුළුව (W)
+Name[sk]=Nové okno v režime Súkromné prehliadanie
+Name[sl]=Novo zasebno okno
+Name[son]=Sutura zanfun taaga
+Name[sq]=Dritare e Re Private
+Name[sr]=Нови приватан прозор
+Name[sv_SE]=Nytt privat fönster
+Name[ta]=புதிய தனிப்பட்ட சாளரம்
+Name[te]=కొత్త ఆంతరంగిక విండో
+Name[th]=หน้าต่างส่วนตัวใหม่
+Name[tr]=Yeni gizli pencere
+Name[tsz]=Juchiiti eraatarakua jimpani
+Name[uk]=Приватне вікно
+Name[ur]=نیا نجی دریچہ
+Name[uz]=Yangi maxfiy oyna
+Name[vi]=Cửa sổ riêng tư mới
+Name[wo]=Panlanteeru biir bu bees
+Name[xh]=Ifestile yangasese entsha
+Name[zh_CN]=新建隐私浏览窗口
+Name[zh_TW]=新增隱私視窗
+Exec=firefox --private-window %u
+
+[Desktop Action profile-manager-window]
+Name=Open the Profile Manager
+Name[cs]=Správa profilů
+Name[de]=Profilverwaltung öffnen
+Name[es]=Abrir el Gestor de Perfiles
+Name[fr]=Ouvrir le gestionnaire de profils
+Exec=firefox --ProfileManager
diff --git a/taskcluster/docker/firefox-snap/firefox.desktop b/taskcluster/docker/firefox-snap/firefox.desktop
new file mode 100644
index 000000000000..73e36e8d83de
--- /dev/null
+++ b/taskcluster/docker/firefox-snap/firefox.desktop
@@ -0,0 +1,219 @@
+[Desktop Entry]
+Version=1.0
+Name=Firefox Web Browser
+Name[ar]=متصفح الويب فَيَرفُكْس
+Name[ast]=Restolador web Firefox
+Name[bn]=ফায়ারফক্স ওয়েব ব্রাউজার
+Name[ca]=Navegador web Firefox
+Name[cs]=Firefox Webový prohlížeč
+Name[da]=Firefox - internetbrowser
+Name[el]=Περιηγητής Firefox
+Name[es]=Navegador web Firefox
+Name[et]=Firefoxi veebibrauser
+Name[fa]=مرورگر اینترنتی Firefox
+Name[fi]=Firefox-selain
+Name[fr]=Navigateur Web Firefox
+Name[gl]=Navegador web Firefox
+Name[he]=דפדפן האינטרנט Firefox
+Name[hr]=Firefox web preglednik
+Name[hu]=Firefox webböngésző
+Name[it]=Firefox Browser Web
+Name[ja]=Firefox ウェブ・ブラウザ
+Name[ko]=Firefox 웹 브라우저
+Name[ku]=Geroka torê Firefox
+Name[lt]=Firefox interneto naršyklė
+Name[nb]=Firefox Nettleser
+Name[nl]=Firefox webbrowser
+Name[nn]=Firefox Nettlesar
+Name[no]=Firefox Nettleser
+Name[pl]=Przeglądarka WWW Firefox
+Name[pt]=Firefox Navegador Web
+Name[pt_BR]=Navegador Web Firefox
+Name[ro]=Firefox Navigator Internet
+Name[ru]=Веб-браузер Firefox
+Name[sk]=Firefox - internetový prehliadač
+Name[sl]=Firefox spletni brskalnik
+Name[sv]=Firefox webbläsare
+Name[tr]=Firefox Web Tarayıcısı
+Name[ug]=Firefox توركۆرگۈ
+Name[uk]=Веб-браузер Firefox
+Name[vi]=Trình duyệt web Firefox
+Name[zh_CN]=Firefox 网络浏览器
+Name[zh_TW]=Firefox 網路瀏覽器
+Comment=Browse the World Wide Web
+Comment[ar]=تصفح الشبكة العنكبوتية العالمية
+Comment[ast]=Restola pela Rede
+Comment[bn]=ইন্টারনেট ব্রাউজ করুন
+Comment[ca]=Navegueu per la web
+Comment[cs]=Prohlížení stránek World Wide Webu
+Comment[da]=Surf på internettet
+Comment[de]=Im Internet surfen
+Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web)
+Comment[es]=Navegue por la web
+Comment[et]=Lehitse veebi
+Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
+Comment[fi]=Selaa Internetin WWW-sivuja
+Comment[fr]=Naviguer sur le Web
+Comment[gl]=Navegar pola rede
+Comment[he]=גלישה ברחבי האינטרנט
+Comment[hr]=Pretražite web
+Comment[hu]=A világháló böngészése
+Comment[it]=Esplora il web
+Comment[ja]=ウェブを閲覧します
+Comment[ko]=웹을 돌아 다닙니다
+Comment[ku]=Li torê bigere
+Comment[lt]=Naršykite internete
+Comment[nb]=Surf på nettet
+Comment[nl]=Verken het internet
+Comment[nn]=Surf på nettet
+Comment[no]=Surf på nettet
+Comment[pl]=Przeglądanie stron WWW
+Comment[pt]=Navegue na Internet
+Comment[pt_BR]=Navegue na Internet
+Comment[ro]=Navigați pe Internet
+Comment[ru]=Доступ в Интернет
+Comment[sk]=Prehliadanie internetu
+Comment[sl]=Brskajte po spletu
+Comment[sv]=Surfa på webben
+Comment[tr]=İnternet'te Gezinin
+Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ
+Comment[uk]=Перегляд сторінок Інтернету
+Comment[vi]=Để duyệt các trang web
+Comment[zh_CN]=浏览互联网
+Comment[zh_TW]=瀏覽網際網路
+GenericName=Web Browser
+GenericName[ar]=متصفح ويب
+GenericName[ast]=Restolador Web
+GenericName[bn]=ওয়েব ব্রাউজার
+GenericName[ca]=Navegador web
+GenericName[cs]=Webový prohlížeč
+GenericName[da]=Webbrowser
+GenericName[el]=Περιηγητής διαδικτύου
+GenericName[es]=Navegador web
+GenericName[et]=Veebibrauser
+GenericName[fa]=مرورگر اینترنتی
+GenericName[fi]=WWW-selain
+GenericName[fr]=Navigateur Web
+GenericName[gl]=Navegador Web
+GenericName[he]=דפדפן אינטרנט
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[it]=Browser web
+GenericName[ja]=ウェブ・ブラウザ
+GenericName[ko]=웹 브라우저
+GenericName[ku]=Geroka torê
+GenericName[lt]=Interneto naršyklė
+GenericName[nb]=Nettleser
+GenericName[nl]=Webbrowser
+GenericName[nn]=Nettlesar
+GenericName[no]=Nettleser
+GenericName[pl]=Przeglądarka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator Internet
+GenericName[ru]=Веб-браузер
+GenericName[sk]=Internetový prehliadač
+GenericName[sl]=Spletni brskalnik
+GenericName[sv]=Webbläsare
+GenericName[tr]=Web Tarayıcı
+GenericName[ug]=توركۆرگۈ
+GenericName[uk]=Веб-браузер
+GenericName[vi]=Trình duyệt Web
+GenericName[zh_CN]=网络浏览器
+GenericName[zh_TW]=網路瀏覽器
+Keywords=Internet;WWW;Browser;Web;Explorer
+Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب
+Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador
+Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer
+Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer
+Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet
+Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
+Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;Firefox;Φιρεφοχ;Ιντερνετ
+Keywords[es]=Explorador;Internet;WWW
+Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa
+Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
+Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה;
+Keywords[hr]=Internet;WWW;preglednik;Web
+Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer
+Keywords[it]=Internet;WWW;Browser;Web;Navigatore
+Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk
+Keywords[ja]=Internet;WWW;Web;インターネット;ブラウザ;ウェブ;エクスプローラ
+Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside
+Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online
+Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador
+Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador
+Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокс;огнелис
+Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer
+Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet
+Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara
+Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд
+Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web
+Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;Firefox;ff;互联网;网站;
+Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐
+Exec=firefox %u
+Terminal=false
+X-MultipleArgs=false
+Type=Application
+Icon=/browser/chrome/icons/default/default128.png
+Categories=GNOME;GTK;Network;WebBrowser;
+MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
+StartupNotify=true
+Actions=NewWindow;NewPrivateWindow;
+
+[Desktop Action NewWindow]
+Name=Open a New Window
+Name[ar]=افتح نافذة جديدة
+Name[ast]=Abrir una ventana nueva
+Name[bn]=Abrir una ventana nueva
+Name[ca]=Obre una finestra nova
+Name[cs]=Otevřít nové okno
+Name[da]=Åbn et nyt vindue
+Name[de]=Ein neues Fenster öffnen
+Name[el]=Άνοιγμα νέου παραθύρου
+Name[es]=Abrir una ventana nueva
+Name[fi]=Avaa uusi ikkuna
+Name[fr]=Ouvrir une nouvelle fenêtre
+Name[gl]=Abrir unha nova xanela
+Name[he]=פתיחת חלון חדש
+Name[hr]=Otvori novi prozor
+Name[hu]=Új ablak nyitása
+Name[it]=Apri una nuova finestra
+Name[ja]=新しいウィンドウを開く
+Name[ko]=새 창 열기
+Name[ku]=Paceyeke nû veke
+Name[lt]=Atverti naują langą
+Name[nb]=Åpne et nytt vindu
+Name[nl]=Nieuw venster openen
+Name[pt]=Abrir nova janela
+Name[pt_BR]=Abrir nova janela
+Name[ro]=Deschide o fereastră nouă
+Name[ru]=Новое окно
+Name[sk]=Otvoriť nové okno
+Name[sl]=Odpri novo okno
+Name[sv]=Öppna ett nytt fönster
+Name[tr]=Yeni pencere aç
+Name[ug]=يېڭى كۆزنەك ئېچىش
+Name[uk]=Відкрити нове вікно
+Name[vi]=Mở cửa sổ mới
+Name[zh_CN]=新建窗口
+Name[zh_TW]=開啟新視窗
+Exec=firefox -new-window
+
+[Desktop Action NewPrivateWindow]
+Name=Open a New Private Window
+Name[ar]=افتح نافذة جديدة للتصفح الخاص
+Name[ca]=Obre una finestra nova en mode d'incògnit
+Name[de]=Ein neues privates Fenster öffnen
+Name[es]=Abrir una ventana privada nueva
+Name[fi]=Avaa uusi yksityinen ikkuna
+Name[fr]=Ouvrir une nouvelle fenêtre de navigation privée
+Name[he]=פתיחת חלון גלישה פרטית חדש
+Name[hu]=Új privát ablak nyitása
+Name[it]=Apri una nuova finestra anonima
+Name[nb]=Åpne et nytt privat vindu
+Name[ru]=Новое приватное окно
+Name[sl]=Odpri novo okno zasebnega brskanja
+Name[tr]=Yeni bir pencere aç
+Name[uk]=Відкрити нове вікно у потайливому режимі
+Name[zh_TW]=開啟新隱私瀏覽視窗
+Exec=firefox -private-window
--
2.39.5 (Apple Git-154)

View File

@ -0,0 +1,37 @@
Replace "/usr/lib/mozilla" (the system-wide directory for extensions and
native manifests) with "$ICECAT_SYSTEM_DIR".
diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
index e3be04e70c..a3501c4f44 100644
--- a/toolkit/xre/nsXREDirProvider.cpp
+++ b/toolkit/xre/nsXREDirProvider.cpp
@@ -280,24 +280,11 @@ nsresult nsXREDirProvider::GetBackgroundTasksProfilesRootDir(
static nsresult GetSystemParentDirectory(nsIFile** aFile) {
nsresult rv;
nsCOMPtr<nsIFile> localDir;
-# if defined(XP_MACOSX)
- rv = GetOSXFolderType(kOnSystemDisk, kApplicationSupportFolderType,
- getter_AddRefs(localDir));
- if (NS_SUCCEEDED(rv)) {
- rv = localDir->AppendNative("Mozilla"_ns);
- }
-# else
- constexpr auto dirname =
-# ifdef HAVE_USR_LIB64_DIR
- "/usr/lib64/mozilla"_ns
-# elif defined(__OpenBSD__) || defined(__FreeBSD__)
- "/usr/local/lib/mozilla"_ns
-# else
- "/usr/lib/mozilla"_ns
-# endif
- ;
- rv = NS_NewNativeLocalFile(dirname, getter_AddRefs(localDir));
-# endif
+ const char* systemParentDir = getenv("ICECAT_SYSTEM_DIR");
+ if (!systemParentDir || !*systemParentDir) return NS_ERROR_FAILURE;
+
+ rv = NS_NewNativeLocalFile(nsDependentCString(systemParentDir),
+ getter_AddRefs(localDir));
if (NS_SUCCEEDED(rv)) {
localDir.forget(aFile);

View File

@ -1,7 +1,7 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; 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)
#:use-module (gnu packages)
@ -40,7 +40,7 @@
;; hplip is updated in Guix.
(sha256
(base32
"09kixd9pb0p94bw3xyqy9h62gwqnbwcjjsvb2g3wvl6zxp4j1fvy")))))
"0zq66hm7ni6w1c3cxy1gxrxzvyvfn0lhjnia8p4azvz2r309j9s0")))))
(package-native-inputs hplip)))
(arguments
(substitute-keyword-arguments (package-arguments hplip)

View File

@ -1,11 +1,13 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2024 Karl Hallsby <karl@hallsby.com
(define-module (nongnu packages productivity)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
@ -19,22 +21,23 @@
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (nonguix build-system chromium-binary)
#:use-module ((nonguix licenses) #:prefix license:))
#:use-module ((nonguix licenses) #:prefix license:)
#:use-module ((guix licenses) #:prefix free-license:))
(define-public anytype
(package
(name "anytype")
(version "0.35.2")
(version "0.44.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://download.anytype.io?action=download"
"&key=desktop&id=127051615"))
(string-append "https://anytype-release.fra1.cdn.digitaloceanspaces.com/"
name "_" version "_amd64.deb"))
(file-name (string-append "anytype-" version ".deb"))
(sha256
(base32
"12lfy5rygnaachax62j40b1ns9qsysa94f0hgqhsjaij50kw3dlc"))))
"0djyvz6y4pk277xa2mc4w6w029i3f7zd2d1pniyrpayhnna6f670"))))
(build-system chromium-binary-build-system)
(arguments
(list
@ -52,29 +55,35 @@
"libGLESv2.so"
"libvk_swiftshader.so"
"libvulkan.so.1"
"resources/app.asar.unpacked/node_modules/keytar/build/Release/keytar.node"))
"resources/app.asar.unpacked/node_modules/keytar/build/Release/keytar.node"
"resources/app.asar.unpacked/node_modules/keytar/build/Release/obj.target/keytar.node"))
#:install-plan
#~'(("opt/" "/share")
("usr/share/" "/share"))
#: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.gz"
"debian-binary"
(string-append "anytype-" #$version ".deb"))
(invoke "tar" "xvf" "data.tar.xz")
(invoke "rm" "-vrf" "data.tar.xz")))
(add-after 'binary-unpack 'disable-auto-updates
(lambda _
(delete-file "opt/Anytype/resources/app-update.yml")))
;; We don't need regedit, a node library to interact with Windows
;; hosts.
(add-after 'binary-unpack 'strip-regedit
(lambda _
(delete-file-recursively
(string-append "opt/Anytype/resources/app.asar.unpacked/"
"node_modules/regedit"))))
(add-after 'binary-unpack 'strip-python
(lambda _
(delete-file
(string-append "opt/Anytype/resources/app.asar.unpacked/"
"node_modules/keytar/build/node_gyp_bins/python3"))))
(add-before 'install 'patch-assets
(lambda _
(let* ((bin (string-append #$output "/bin"))
(icon (string-append #$output "/share/icons/hicolor/0x0/apps/anytype.png"))
(usr/share "./usr/share")
(old-exe "/opt/Anytype/anytype")
(exe (string-append bin "/anytype")))
(substitute* (string-append usr/share "/applications/anytype.desktop")
(("^Icon=anytype") (string-append "Icon=" icon))
(((string-append "^Exec=" old-exe)) (string-append "Exec=" exe))))))
(add-before 'install-wrapper 'symlink-entrypoint
(lambda _
@ -86,7 +95,6 @@
(symlink target exe)
(wrap-program exe
`("LD_LIBRARY_PATH" = (,share)))))))))
(native-inputs (list tar))
(inputs
(list bzip2
flac
@ -111,3 +119,118 @@ synchronization.")
(home-page "https://anytype.io")
(license (license:nonfree
"https://github.com/anyproto/anytype-ts/blob/main/LICENSE.md"))))
(define-public zotero
(package
(name "zotero")
(version "6.0.35")
(source
(origin
;; Can switch to git-fetch from Github too!
(method url-fetch)
(uri
(string-append "https://download.zotero.org/client/release/"
version "/Zotero-" version "_linux-x86_64.tar.bz2"))
(sha256
(base32
"17f9an43jwnqpcslbvnhg7hrzkvs2whzwg4ysdgy2gl4m6cln18w"))
(snippet
#~(begin
(use-modules (guix build utils))
;; Disable Zotero's automatic update feature.
(substitute* "defaults/preferences/prefs.js"
(("pref\\(\"app.update.enabled\", true\\)")
"pref(\"app.update.enabled\", false)")
(("pref\\(\"app.update.auto\", true\\)")
"pref(\"app.update.auto\", false)"))))))
(build-system chromium-binary-build-system)
(arguments
(list
;; ~70 MiB
#:substitutable? #f
#:validate-runpath? #t
#:wrapper-plan
#~'("zotero-bin")
#:phases
#~(modify-phases %standard-phases
(add-before 'install-wrapper 'install-entrypoint
(lambda _
(let* ((bin (string-append #$output "/bin")))
(mkdir-p bin)
(symlink (string-append #$output "/zotero")
(string-append bin "/zotero")))))
(add-after 'install 'create-desktop-file
(lambda _
(make-desktop-entry-file
(string-append #$output "/share/applications/zotero.desktop")
#:name "Zotero"
#:type "Application"
#:generic-name "Reference Management"
#:exec (string-append #$output "/bin/zotero -url %U")
#:icon "zotero"
#:keywords '("zotero")
#:categories '("Office" "Database")
#:terminal #f
#:startup-notify #t
#:startup-w-m-class "zotero"
;; MIME-type list taken from Zotero's shipped .desktop file
#:mime-type '("x-scheme-handler/zotero" "text/plain"
"application/x-research-info-systems"
"text/x-research-info-systems"
"text/ris"
"application/x-endnote-refer"
"application/x-inst-for-Scientific-info"
"application/mods+xml"
"application/rdf+xml"
"application/x-bibtex"
"text/x-bibtex"
"application/marc"
"application/vnd.citationstyles.style+xml")
#:comment
'(("en" "Collect, organize, cite, and share your research sources")
(#f "Collect, organize, cite, and share your research sources")))))
(add-after 'install 'install-icons
(lambda _
(let ((icon-sizes (list 16 32 48 256)))
(for-each
(lambda (size)
(mkdir-p (string-append #$output "/share/icons/hicolor/"
size "x" size "/apps"))
(copy-file
(string-append "chrome/icons/default/default" size ".png")
(string-append #$output "/share/icons/hicolor/"
size "x" size "/apps/zotero.png")))
(map number->string icon-sizes))))))))
;; The zotero script that we wrap (which produces .zotero-real), has
;; this open file limit step done for us. If that script ever goes
;; away, then we can just uncomment this one.
;; (add-after 'install-wrapper 'raise-open-file-limit
;; (lambda _
;; (let ((file (string-append #$output "/bin/zotero")))
;; (with-output-to-file file
;; (lambda _
;; (display
;; (string-append
;; "#!/bin/sh\n"
;; ;; Raise the open files limit because Mozilla file
;; ;; functions leave files open for a tiny bit longer than
;; ;; necessary, so an installation with many translators and
;; ;; styles can exceed the default 1024 file limit. ulimit
;; ;; is a shell built-in, so we cannot use Guix's
;; ;; program-file function.
;; "ulimit -n 4096\n"
;; #$output "/bin/zotero-bin" " -app " #$output "/application.ini" " \"$@\""))))
;; (chmod file #o755))))
(inputs (list dbus-glib libxt))
(synopsis "Collect, organize, cite, and share your research sources")
;; If we build from source, then we may be able to support more
;; architectures. But Zotero is a Firefox/Electron app that uses a lot of
;; JavaScript, which may be problematic when packaging using Guix.
(supported-systems '("x86_64-linux"))
(description "Zotero is a research reference and bibliography tool.
Zotero helps you organize your research any way you want. You can sort items
into collections and tag them with keywords. Zotero instantly creates
references and bibliographies for any text editor, and directly inside Word,
LibreOffice, and Google Docs for over 10,000 citation styles.")
(home-page "https://www.zotero.org")
(license free-license:agpl3)))

View File

@ -13,7 +13,7 @@
(define-public helix-core
(package
(name "helix-core")
(version "r22.1")
(version "r23.1")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.perforce.com/perforce/" version
@ -28,7 +28,7 @@
("i686-linux"
"0f5qs55rspw86axnmml3nxx551lwbxwz1cgi9kmy2f9g5rrplnkn")
(_
"077rfbjgyhdgv76i2727s3yk3p52y75nml8n9wv8g7mvhfs9ypa9"))))))
"1vqfkhgbx6ch7710w8mmm7hydl6jmd9qgzs0gfjg8gvd5gnh1csr"))))))
(build-system binary-build-system)
(arguments
`(#:strip-binaries? #f

View File

@ -1,21 +1,54 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2022 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2024 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2024 Murilo <murilo@disroot.org>
(define-module (nongnu packages video)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages video)
#:use-module (guix build utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:))
#:use-module ((guix licenses) #:prefix license:)
#:use-module (nongnu packages chromium)
#:use-module (nongnu packages nvidia))
(define-public ffmpeg-nvenc
(package/inherit ffmpeg
(name "ffmpeg-nvenc")
(inputs
(modify-inputs
(package-inputs ffmpeg)
(prepend nv-codec-headers)))
(arguments
(substitute-keyword-arguments (package-arguments ffmpeg)
((#:configure-flags flags)
;; Currently only interested in NVENC.
;; Might be better to make a ffmpeg-nonfree with all nonfree codecs
;; in the future.
#~(cons* "--enable-cuvid"
"--enable-ffnvcodec"
"--enable-encoder=hevc_nvenc"
"--enable-encoder=h264_nvenc"
#$flags))))
(description
(string-append
(package-description ffmpeg)
" This build of FFmpeg includes the nonfree NVIDIA encoder for
@code{h264_nvenc} and @code{hevc_nvenc} hardware encoding on NVIDIA GPUs."))))
(define-public replace-ffmpeg-nvenc
(package-input-rewriting
`((,ffmpeg . ,ffmpeg-nvenc))))
(define-public gmmlib
(package
(name "gmmlib")
(version "22.3.9")
(version "22.3.19")
(source (origin
(method git-fetch)
(uri (git-reference
@ -24,7 +57,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"0m88lxlqqs5wdk4icf2ahbigr0q87j1c0damq7q0r55h72pf6zyv"))))
"0p3wp6xcvpb4jzw4fsf6554qy91iblmq9y50ph3iy29m19q6nznb"))))
(build-system cmake-build-system)
(arguments
;; Tests are run as part of the normal build step
@ -40,7 +73,7 @@ for VAAPI.")
(define-public intel-media-driver
(package
(name "intel-media-driver")
(version "23.3.0")
(version "24.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
@ -49,7 +82,7 @@ for VAAPI.")
(file-name (git-file-name name version))
(sha256
(base32
"1zh6zgfyp14zlnd6jvhqz9q5rlyk7cb3nam791slh0h7r5f0iimm"))))
"1jm4imld48scj0j499wq5zbdjv4gg7hg2sawljqnjvy09dmp09bs"))))
(build-system cmake-build-system)
(inputs (list libva gmmlib))
(native-inputs (list pkg-config))
@ -92,3 +125,110 @@ graphics hardware.")
(package-description intel-media-driver)
" This build of intel-media-driver includes nonfree blobs to fully enable the
video decode capabilities of supported Intel GPUs."))))
(define-public nv-codec-headers
(package
(name "nv-codec-headers")
(version "12.1.14.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git")
(commit (string-append "n" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0sp4giwbhai9blgd2k7sb571xwmz2yx17w32vy0nyj86ccb2x5jq"))))
(arguments
(list
#:tests? #f ; No tests.
#:make-flags #~(list (string-append "PREFIX=" #$output))
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "include/ffnvcodec/dynlink_loader.h"
(("lib.*\\.so\\.." lib)
(search-input-file
inputs (string-append "lib/" lib)))))))))
(build-system gnu-build-system)
(inputs (list nvidia-driver))
(home-page "https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git")
(synopsis
"FFmpeg version of headers required to interface with NVIDIA's codec APIs")
(description
"This package provides the necessary headers for interfacing with NVIDIA's
codec APIs.")
(license license:expat)))
(define-public obs-with-cef
(package
(inherit obs)
(name "obs-with-cef")
(inputs
(append (package-inputs obs)
`(("chromium-embedded-framework" ,chromium-embedded-framework))))
(arguments
(substitute-keyword-arguments (package-arguments obs)
((#:configure-flags flags)
#~(append #$flags
'("-DBUILD_BROWSER=ON"
"-DCEF_ROOT_DIR=../source/cef")))
((#:phases phases)
#~(modify-phases #$phases
(add-before 'configure 'add-cef
(lambda* (#:key inputs #:allow-other-keys)
(let ((chromium-embedded-framework
#$(this-package-input "chromium-embedded-framework")))
(mkdir-p "cef/Release")
(mkdir-p "cef/Resources")
(for-each (lambda (file)
(symlink file (string-append "cef/Release/"
(basename file)))
(symlink file (string-append "cef/Resources/"
(basename file))))
(filter
(lambda (file)
(not (string= (basename (dirname file))
"locales")))
(find-files
(string-append chromium-embedded-framework
"/share/cef"))))
(symlink (string-append chromium-embedded-framework
"/lib/libcef.so")
"cef/Release/libcef.so")
(mkdir-p "cef/libcef_dll_wrapper")
(symlink (string-append chromium-embedded-framework
"/lib/libcef_dll_wrapper.a")
"cef/libcef_dll_wrapper/libcef_dll_wrapper.a")
(symlink (string-append chromium-embedded-framework
"/include")
"cef/include"))))
(add-after 'install 'symlink-obs-browser
;; Required for lib/obs-plugins/obs-browser.so file.
(lambda* (#:key outputs #:allow-other-keys)
(symlink
(string-append #$output
"/lib/libobs-frontend-api.so.0")
(string-append #$output
"/lib/obs-plugins/libobs-frontend-api.so.0"))
(symlink
(string-append #$output
"/lib/libobs.so.0")
(string-append #$output
"/lib/obs-plugins/libobs.so.0"))))))))
(description
(string-append
(package-description obs)
" This build of OBS includes embeded Chromium-based browser to enable
Browser source."))))
(define-public obs-nvenc
(let ((obs-ffmpeg-nvenc (replace-ffmpeg-nvenc obs)))
(package/inherit obs-ffmpeg-nvenc
(name "obs-nvenc")
(description
(string-append
(package-description obs)
" This build of OBS includes the nonfree NVIDIA encoder for FFmpeg
@code{h264_nvenc} and @code{hevc_nvenc} hardware encoding on NVIDIA GPUs.")))))

View File

@ -12,7 +12,7 @@
(define-public zerotier
(package
(name "zerotier")
(version "1.8.4")
(version "1.12.2")
(source (origin
(method git-fetch)
(uri (git-reference
@ -21,16 +21,17 @@
(file-name (git-file-name name version))
(sha256
(base32
"101b1k9f3cpbgj0l87ya1cbqs9dv0qiayjap4m29fxyjra8hbkb8"))))
"0p5rpvh137gf5y9ylip7kxfl4argv34sr4wiiygvfk670rifnk57"))))
(build-system gnu-build-system)
(arguments
`(#:phases
`(#:make-flags (list "ZT_SSO_SUPPORTED=0") ; We don't need SSO/OIDC
#:phases
(modify-phases %standard-phases
;; There is no ./configure
(delete 'configure)
(replace 'check
(lambda _
(invoke "make" "selftest")
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "selftest" make-flags)
(invoke "./zerotier-selftest")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)

View File

@ -9,6 +9,7 @@
#:use-module (guix build-system trivial)
#:use-module (guix build-system copy)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
@ -33,45 +34,44 @@
"15glm6ws0zihcks93l39mli8wf5b5vkijb0vaid9cqra6x0zppd5"))))
(build-system gnu-build-system)
(inputs
`(("cabextract" ,cabextract)
("p7zip" ,p7zip)
("perl" ,perl)
;; ("unrar" ,unrar) ; TODO: Include unrar? It is referenced in the source.
("unzip" ,unzip)
("wget" ,wget)
("zenity" ,zenity)))
(list cabextract
p7zip
perl
;; unrar ; TODO: Include unrar? It is referenced in the source.
unzip
wget
zenity))
(arguments
`(#:tests? #f
;; TODO: Checks need bashate, shellcheck (in Guix), and checkbashisms.
#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))
"PREFIX=")
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'install 'wrap-program
;; The script relies on WINETRICKS_GUI being exactly "zenity", so
;; we can't patch the path directly. Probably same for other dependencies.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((zenity-bin (string-append (assoc-ref inputs "zenity") "/bin/"))
(perl-bin (string-append (assoc-ref inputs "perl") "/bin/"))
(winetricks (string-append (assoc-ref outputs "out")
"/bin/winetricks")))
(wrap-program winetricks
`("PATH" prefix (,@(map (lambda (in)
(string-append (assoc-ref inputs in) "/bin/"))
'("cabextract"
"p7zip"
"perl"
"unzip"
"wget"
"zenity"))))))))
(add-after 'install 'patch-perl-path
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((perl (string-append (assoc-ref inputs "perl") "/bin/perl"))
(winetricks (string-append (assoc-ref outputs "out")
"/bin/winetricks")))
(substitute* winetricks
(("#!/usr/bin/env perl") (string-append "#!" perl)))))))))
(list
#:tests? #f
;; TODO: Checks need bashate, shellcheck (in Guix), and checkbashisms.
#:make-flags #~(list (string-append "DESTDIR=" #$output)
"PREFIX=")
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(add-after 'install 'wrap-program
;; The script relies on WINETRICKS_GUI being exactly "zenity", so
;; we can't patch the path directly. Probably same for other dependencies.
(lambda _
(let* ((winetricks (string-append #$output "/bin/winetricks"))
(paths (map
(lambda (p) (string-append p "/bin"))
(list #$(this-package-input "cabextract")
#$(this-package-input "p7zip")
#$(this-package-input "perl")
#$(this-package-input "unzip")
#$(this-package-input "wget")
#$(this-package-input "zenity")))))
(wrap-program winetricks
`("PATH" prefix ,paths)))))
(add-after 'install 'patch-perl-path
(lambda _
(let* ((perl (string-append #$(this-package-input "perl")
"/bin/perl"))
(winetricks (string-append #$output "/bin/winetricks")))
(substitute* winetricks
(("#!/usr/bin/env perl") (string-append "#!" perl)))))))))
(home-page "https://github.com/Winetricks/winetricks")
(synopsis "Easy way to work around problems in Wine")
(description "Winetricks is an easy way to work around problems in Wine.

View File

@ -1,15 +1,15 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2022, 2024 Hilton Chain <hako@ultrarare.space>
(define-module (nongnu services nvidia)
#:use-module (guix gexp)
#:use-module (guix records)
#:use-module (gnu packages)
#:use-module (gnu packages linux)
#:use-module (gnu services)
#:use-module (gnu services base)
#:use-module (gnu services linux)
#:use-module (gnu services shepherd)
#:use-module (guix gexp)
#:use-module (guix records)
#:use-module (nongnu packages nvidia)
#:export (nvidia-configuration
nvidia-configuration?
@ -19,24 +19,32 @@
(define-record-type* <nvidia-configuration>
nvidia-configuration make-nvidia-configuration
nvidia-configuration?
(nvidia-driver nvidia-configuration-nvidia-driver
(default (list nvidia-driver))) ; list of file-like
(nvidia-firmware nvidia-configuration-nvidia-firmware
(default (list nvidia-firmware))) ; list of file-like
(nvidia-module nvidia-configuration-nvidia-module
(default (list nvidia-module))) ; list of file-like
(modules nvidia-configuration-modules
(default (list "nvidia-uvm")))) ; list of string
(driver nvidia-configuration-driver
(default nvda)) ; file-like
(firmware nvidia-configuration-firmware
(default nvidia-firmware)) ; file-like
(module nvidia-configuration-module
(default nvidia-module))) ; file-like
(define (nvidia-shepherd-service config)
(list (shepherd-service
(documentation "Unload nvidia-uvm module on powering off.")
(provision '(nvidia))
(requirement '(user-processes))
(start #~(const #t))
(stop #~(lambda _
(let ((rmmod #$(file-append kmod "/bin/rmmod")))
(zero? (system* rmmod "nvidia-uvm"))))))))
(let* ((nvidia-driver (nvidia-configuration-driver config))
(nvidia-smi (file-append nvidia-driver "/bin/nvidia-smi")))
(list (shepherd-service
(documentation "Prepare system environment for NVIDIA driver.")
(provision '(nvidia))
(requirement '(udev))
(one-shot? #t)
(modules '(((guix build utils) #:select (invoke/quiet))
((rnrs io ports) #:select (get-line))))
(start
#~(lambda _
(when (file-exists? "/proc/driver/nvidia")
(let ((modprobe (call-with-input-file
"/proc/sys/kernel/modprobe" get-line)))
(false-if-exception
(begin
(invoke/quiet modprobe "--" "nvidia_uvm")
(invoke/quiet #$nvidia-smi)))))))))))
(define nvidia-service-type
(service-type
@ -44,13 +52,13 @@
(extensions
(list (service-extension shepherd-root-service-type
nvidia-shepherd-service)
(service-extension profile-service-type
(compose list nvidia-configuration-driver))
(service-extension udev-service-type
nvidia-configuration-nvidia-driver)
(compose list nvidia-configuration-driver))
(service-extension firmware-service-type
nvidia-configuration-nvidia-firmware)
(compose list nvidia-configuration-firmware))
(service-extension linux-loadable-module-service-type
nvidia-configuration-nvidia-module)
(service-extension kernel-module-loader-service-type
nvidia-configuration-modules)))
(compose list nvidia-configuration-module))))
(default-value (nvidia-configuration))
(description "Load NVIDIA modules.")))
(description "Prepare system environment for NVIDIA driver.")))

View File

@ -1,13 +1,16 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2020 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2025 James Kalyan <mjkalyan@proton.me>
(define-module (nongnu services vpn)
#:use-module (guix deprecation)
#:use-module (guix gexp)
#:use-module (gnu packages)
#:use-module (gnu services)
#:use-module (gnu services shepherd)
#:use-module (nongnu packages vpn)
#:export (zerotier-one-service))
#:export (zerotier-service-type
zerotier-one-service))
(define %zerotier-action-join
(shepherd-action
@ -47,12 +50,18 @@
(list (string-append #$zerotier "/sbin/zerotier-one"))))
(stop #~(make-kill-destructor))))))
(define zerotier-one-service-type
(service-type (name 'zerotier-one)
(define zerotier-service-type
(service-type (name 'zerotier)
(description "ZeroTier One daemon.")
(extensions
(list (service-extension shepherd-root-service-type
zerotier-one-shepherd-service)))))
zerotier-one-shepherd-service)))
(default-value '())))
(define* (zerotier-one-service #:key (config (list)))
(define-deprecated/alias
zerotier-one-service-type
zerotier-service-type)
(define-deprecated (zerotier-one-service #:key (config '()))
zerotier-service-type
(service zerotier-one-service-type config))

View File

@ -2,20 +2,46 @@
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2022 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2024 Hilton Chain <hako@ultrarare.space>
;; Generate a bootable image (e.g. for USB sticks, etc.) with:
;; $ guix system disk-image nongnu/system/install.scm
;; $ guix system image --image-type=iso9660 nongnu/system/install.scm
(define-module (nongnu system install)
#:use-module (guix channels)
#:use-module (guix gexp)
#:use-module (gnu packages curl)
#:use-module (gnu packages package-management)
#:use-module (gnu packages version-control)
#:use-module (gnu packages vim)
#:use-module (gnu packages zile)
#:use-module (gnu services)
#:use-module (gnu services base)
#:use-module (gnu system)
#:use-module (gnu system install)
#:use-module (nongnu packages linux)
#:export (installation-os-nonfree))
;; https://substitutes.nonguix.org/signing-key.pub
(define %signing-key
(plain-file "nonguix.pub" "\
(public-key
(ecc
(curve Ed25519)
(q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)))"))
(define %channels
(cons* (channel
(name 'nonguix)
(url "https://gitlab.com/nonguix/nonguix")
;; Enable signature verification:
(introduction
(make-channel-introduction
"897c1a470da759236cc11798f4e0a5f7d4d59fbc"
(openpgp-fingerprint
"2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5"))))
%default-channels))
(define installation-os-nonfree
(operating-system
(inherit installation-os)
@ -27,6 +53,19 @@
git
neovim
zile)
(operating-system-packages installation-os)))))
(operating-system-packages installation-os)))
(services
(modify-services (operating-system-user-services installation-os)
(guix-service-type
config => (guix-configuration
(inherit config)
(guix (guix-for-channels %channels))
(authorized-keys
(cons* %signing-key
%default-authorized-guix-keys))
(substitute-urls
`(,@%default-substitute-urls
"https://substitutes.nonguix.org"))
(channels %channels)))))))
installation-os-nonfree

View File

@ -41,7 +41,11 @@
;; Do not use `@' to avoid introducing circular dependencies.
(let ((module (resolve-interface '(gnu packages elf))))
(module-ref module 'patchelf)))
;; Use the older 0.16 version due to an upstream bug which can segfault
;; some binaries. See <https://github.com/NixOS/patchelf/issues/482>.
;; TODO: Set back to patchelf when the package has been updated (or
;; patched) to fix this issue.
(module-ref module 'patchelf-0.16)))
(define (default-glibc)
"Return the default glibc package."

View File

@ -54,7 +54,12 @@
#~(let ((patchelf-inputs
(list #$@(map car inputs))))
(map (lambda (file)
(cons file (list patchelf-inputs)))
;; Either an entry in WRAPPER-PLAN is just a string which can be
;; used directly, or it is a list where the second element is a
;; list of additional inputs for patchelf-plan.
(if (list? file)
(cons (car file) (list (append patchelf-inputs (cadr file))))
(cons file (list patchelf-inputs))))
#$wrapper-plan)))
(define* (lower name
@ -136,7 +141,7 @@
(build chromium-binary-build)
(arguments (append
(strip-keyword-arguments private-keywords arguments)
(list #:wrap-inputs host-inputs))))))
(list #:wrap-inputs (alist-delete "source" host-inputs)))))))
(define* (chromium-binary-build name inputs
#:key
@ -163,7 +168,13 @@
(substitutable? #t)
allowed-references
disallowed-references)
"Build SOURCE using binary-build-system."
"Build SOURCE using binary-build-system. WRAPPER-PLAN is a list of strings for
files which patchelf will add the INPUTS (which implicitly includes the base
packages needed for chromium-based binaries) to RPATH and wrap with needed
environment variables. Optionally, an entry can be a list with the first
entry the file to be patched and the second a list of additional inputs for
patchelf, like PATCHELF-PLAN in binary-build-system. PATCHELF-PLAN itself is
ignored if WRAPPER-PLAN is not '()."
(define builder
(with-imported-modules imported-modules
#~(begin

View File

@ -1,12 +1,15 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
(define-module (nonguix build binary-build-system)
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
#:use-module (nonguix build utils)
#:use-module (guix build utils)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:export (%standard-phases
binary-build))
@ -113,6 +116,10 @@ The inputs are optional when the file is an executable."
(invoke "patchelf" "--set-rpath" rpath binary)))
#t)
(display "Using patchelf version: ")
(force-output)
(invoke "patchelf" "--version")
(when (and patchelf-plan
(not (null? patchelf-plan)))
(let ((interpreter (car (find-files (assoc-ref inputs "libc") "ld-linux.*\\.so")))
@ -133,10 +140,42 @@ The inputs are optional when the file is an executable."
patchelf-plan)))
#t)
(define (deb-file? binary-file)
(string-suffix? ".deb" binary-file))
(define (unpack-deb deb-file)
(invoke "ar" "x" deb-file)
(let ((data-file (find file-exists?
(list "data.tar.xz" "data.tar.gz"
"data.tar.bz2"))))
(invoke "tar" "xvf" data-file)
(invoke "rm" "-rfv" "control.tar.gz"
data-file
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
;; Everything is as with the GNU Build System except for the `configure'
;; , `build', `check' and `install' phases.
;; Everything is as with the GNU Build System except for the `binary-unpack',
;; `configure', `build', `check' and `install' phases.
(modify-phases gnu:%standard-phases
(add-after 'unpack 'binary-unpack binary-unpack)
(delete 'bootstrap)
(delete 'configure)
(delete 'build)

View File

@ -4,7 +4,6 @@
(define-module (nonguix build chromium-binary-build-system)
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
#:use-module ((nonguix build binary-build-system) #:prefix binary:)
#:use-module (nonguix build utils)
#:use-module (guix build utils)
#:use-module (ice-9 ftw)
#:use-module (ice-9 match)
@ -24,9 +23,9 @@
(nss (assoc-ref inputs "nss"))
(wrap-inputs (map cdr inputs))
(lib-directories
(build-paths-from-inputs '("lib") wrap-inputs))
(search-path-as-list '("lib") wrap-inputs))
(bin-directories
(build-paths-from-inputs
(search-path-as-list
'("bin" "sbin" "libexec")
wrap-inputs)))
(for-each
@ -53,7 +52,12 @@
(list
(string-append nss "/lib/nss")
output))
":")))))
":")))
;; Give a hint to Electron-based apps to detect if Wayland or X11 should
;; be used.
;; NOTE: The env-var version of this CLI arg was added in Electron >=28
`("ELECTRON_OZONE_PLATFORM_HINT" ":" =
("auto"))))
(map
(lambda (exe) (string-append bin "/" exe))
(filter

View File

@ -97,23 +97,3 @@ contents:
(call-with-output-file result
(lambda (port)
(for-each (cut dump <> port) files))))
(define build-paths-for-input
(lambda (dirs input)
(filter-map
(lambda (sub-directory)
(let ((directory
(string-append
input "/" sub-directory)))
(and
(directory-exists? directory)
directory)))
dirs)))
(define build-paths-from-inputs
(lambda (dirs inputs)
(reduce append '()
(map
(lambda (input)
(build-paths-for-input dirs input))
inputs))))

View File

@ -8,6 +8,7 @@
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2023 Elijah Malaby
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; The script provided by this package may optionally be started as
;;; a shell instead of automatically launching the wrapped entrypoint by setting
@ -41,7 +42,6 @@
(define-module (nonguix multiarch-container)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages pulseaudio)
#:use-module (guix build-system trivial)
#:use-module (guix gexp)
#:use-module (guix records)
@ -50,6 +50,7 @@
#:export (nonguix-container
nonguix-container?
ngc-name
ngc-binary-name
ngc-version
ngc-wrap-package
ngc-run
@ -82,6 +83,7 @@
nonguix-container make-nonguix-container
nonguix-container? this-nonguix-container
(name ngc-name)
(binary-name ngc-binary-name (default (ngc-name this-nonguix-container)) (thunked))
(version ngc-version (default #f))
(wrap-package ngc-wrap-package)
(run ngc-run)
@ -207,7 +209,7 @@ in a sandboxed FHS environment."
(manifest-target (assoc-ref %build-inputs "fhs-manifest"))
(manifest-dest (string-append out "/etc/" ,(ngc-manifest-name container)))
(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)))
(mkdir-p (string-append out "/sbin"))
(mkdir-p (string-append out "/etc"))
@ -236,119 +238,146 @@ in a sandboxed FHS environment."
in a sandboxed FHS environment."
(program-file
(ngc-wrapper-name container)
#~(begin
(use-modules (guix build utils))
(define (preserve-var var)
(string-append "--preserve=" var))
(define* (add-path path #:key writable?)
(let ((opt (if writable?
"--share="
"--expose=")))
(if (pair? path)
(string-append opt (car path) "=" (cdr path))
(string-append opt path))))
(define (exists-> file)
(if (and file (file-exists? file))
`(,file) '()))
(let* ((run #$(file-append fhs-internal "/bin/" (ngc-internal-name container)))
(manifest-file #$(file-append fhs-manifest))
(xdg-runtime (getenv "XDG_RUNTIME_DIR"))
(home (getenv "HOME"))
(sandbox-home (or (getenv "GUIX_SANDBOX_HOME")
(string-append home "/" #$(ngc-sandbox-home container))))
(preserved-env '("^DBUS_"
"^DISPLAY$"
"^DRI_PRIME$"
"^GDK_SCALE$" ; For UI scaling.
"^PRESSURE_VESSEL_" ; For pressure vessel options.
"_PROXY$"
"_proxy$"
;; To allow workaround for upstream bug
;; <https://github.com/ValveSoftware/steam-for-linux/issues/9306>
;; and tracked on our end as
;; <https://gitlab.com/nonguix/nonguix/-/issues/267>.
;; TODO: Remove once upstream fixes this bug.
"^QT_X11_NO_MITSHM$"
"^SDL_"
"^STEAM_"
"^SSL_" ; SSL certificate environment, needed by curl for Heroic.
"^VDPAU_DRIVER_PATH$" ; For VDPAU drivers.
"^XAUTHORITY$"
;; Matching all ^XDG_ vars causes issues
;; discussed in 80decf05.
"^XDG_DATA_HOME$"
"^XDG_RUNTIME_DIR$"
;; The following are useful for debugging.
"^CAPSULE_DEBUG$"
"^G_MESSAGES_DEBUG$"
"^LD_DEBUG$"
"^LIBGL_DEBUG$"))
(expose `("/dev/bus/usb" ; Needed for libusb.
"/dev/dri"
"/dev/input" ; Needed for controller input.
"/dev/uinput" ; Needed for Steam Input.
,@(exists-> "/dev/nvidia0") ; needed for nvidia proprietary driver
,@(exists-> "/dev/nvidiactl")
,@(exists-> "/dev/nvidia-modeset")
,@(exists-> "/etc/machine-id")
"/etc/localtime" ; Needed for correct time zone.
"/sys/class/drm" ; Needed for hw monitoring like MangoHud.
"/sys/class/hwmon" ; Needed for hw monitoring like MangoHud.
"/sys/class/hidraw" ; Needed for devices like the Valve Index.
"/sys/class/input" ; Needed for controller input.
,@(exists-> "/sys/class/power_supply") ; Needed for power monitoring like MangoHud.
,@(exists-> "/sys/class/powercap") ; Needed for power monitoring like MangoHud.
"/sys/dev"
"/sys/devices"
,@(exists-> "/var/run/dbus")
#$@(ngc-exposed container)))
;; /dev/hidraw is needed for SteamVR to access the HMD, although here we
;; share all hidraw devices. Instead we could filter to only share specific
;; device. See, for example, this script:
;; https://arvchristos.github.io/post/matching-dev-hidraw-devices-with-physical-devices/
(share `(,@(find-files "/dev" "hidraw")
"/dev/shm"
;; "/tmp/.X11-unix" is needed for bwrap, and "/tmp" more generally
;; for writing things like crash dumps and "steam_chrome_shm".
"/tmp"
,(string-append sandbox-home "=" home)
,@(exists-> (string-append home "/.config/pulse"))
,@(exists-> (string-append xdg-runtime "/pulse"))
,@(exists-> (string-append xdg-runtime "/bus"))
,@(exists-> (getenv "XAUTHORITY"))
#$@(ngc-shared container)))
(DEBUG (equal? (getenv "DEBUG") "1"))
(args (cdr (command-line)))
(command (if DEBUG '()
`("--" ,run ,@args))))
;; TODO: Remove once upstream change is merged and in stable pressure-vessel
;; (although may want to hold off for anyone using older pressure-vessel versions
;; for whatever reason), see:
;; https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/merge_requests/406
(setenv "PRESSURE_VESSEL_FILESYSTEMS_RO" "/gnu/store")
;; By default VDPAU drivers are searched for in libvdpau's store
;; path, so set this path to where the drivers will actually be
;; located in the container.
(setenv "VDPAU_DRIVER_PATH" "/lib64/vdpau")
(format #t "\n* Launching ~a in sandbox: ~a.\n\n"
#$(package-name (ngc-wrap-package container)) sandbox-home)
(when DEBUG
(format #t "* DEBUG set to 1: Starting shell. Launch application manually with: ~a.\n\n"
#$(ngc-internal-name container)))
(mkdir-p sandbox-home)
(invoke #$(file-append pulseaudio "/bin/pulseaudio")
"--start"
"--exit-idle-time=60")
(apply invoke
`("guix" "shell"
"--container" "--no-cwd" "--network"
,@(map preserve-var preserved-env)
,@(map add-path expose)
,@(map (lambda (item)
(add-path item #:writable? #t))
share)
"-m" ,manifest-file
,@command))))))
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(define (preserve-var var)
(string-append "--preserve=" var))
(define* (add-path path #:key writable?)
(let ((opt (if writable?
"--share="
"--expose=")))
(if (pair? path)
(string-append opt (car path) "=" (cdr path))
(string-append opt path))))
(define (exists-> file)
(if (and file (file-exists? file))
`(,file) '()))
(let* ((run #$(file-append fhs-internal "/bin/" (ngc-internal-name container)))
(manifest-file #$(file-append fhs-manifest))
(xdg-runtime (getenv "XDG_RUNTIME_DIR"))
(home (getenv "HOME"))
(sandbox-home (or (getenv "GUIX_SANDBOX_HOME")
(string-append home "/" #$(ngc-sandbox-home container))))
(wayland-display (or (getenv "WAYLAND_DISPLAY")
"wayland-0"))
(preserved-env '("^DBUS_"
"^DRI_PRIME$"
"^GDK_SCALE$" ; For UI scaling.
"^GUIX_LOCPATH$" ; For pressure-vessel locales.
;; For startup of added non-Steam games as it
;; seems they start in an early environment
;; before our additional settings. (Likely
;; this can be removed when rewritten to use
;; --emulate-fhs from upstream.) Note that
;; this is explicitly set below. We could
;; preserve what is set before launching the
;; container, but any such directories would
;; need to be shared with the container as
;; well; this is not needed currently.
"^LD_LIBRARY_PATH$"
"^LIBVA_DRIVERS_PATH$" ; For VA-API drivers.
"^MANGOHUD" ; For MangoHud configuration.
"^PRESSURE_VESSEL_" ; For pressure vessel options.
"_PROXY$"
"_proxy$"
;; To allow workaround for upstream bug
;; <https://github.com/ValveSoftware/steam-for-linux/issues/9306>
;; and tracked on our end as
;; <https://gitlab.com/nonguix/nonguix/-/issues/267>.
;; TODO: Remove once upstream fixes this bug.
"^QT_X11_NO_MITSHM$"
"^SDL_"
"^STEAM_"
"^SSL_" ; SSL certificate environment, needed by curl for Heroic.
"^TZ" ; For setting time zone.
"^XAUTHORITY$"
;; Matching all ^XDG_ vars causes issues
;; discussed in 80decf05.
"^XDG_CURRENT_DESKTOP$"
"^XDG_DATA_HOME$"
"^XDG_RUNTIME_DIR$"
"^XDG_SESSION_(CLASS|TYPE)$"
"^(WAYLAND_)?DISPLAY$"
#$@(ngc-preserved-env container) ; Environment from container.
;; The following are useful for debugging.
"^CAPSULE_DEBUG$"
"^G_MESSAGES_DEBUG$"
"^LD_DEBUG$"
"^LIBGL_DEBUG$"))
(expose `("/dev/bus/usb" ; Needed for libusb.
"/dev/dri"
"/dev/input" ; Needed for controller input.
"/dev/uinput" ; Needed for Steam Input.
,@(exists-> "/dev/nvidia0") ; needed for nvidia proprietary driver
,@(exists-> "/dev/nvidiactl")
,@(exists-> "/dev/nvidia-modeset")
,@(exists-> "/etc/machine-id")
"/etc/localtime" ; Needed for correct time zone.
"/etc/os-release" ; Needed for distro info.
"/sys/class/drm" ; Needed for hw monitoring like MangoHud.
"/sys/class/hwmon" ; Needed for hw monitoring like MangoHud.
"/sys/class/hidraw" ; Needed for devices like the Valve Index.
"/sys/class/input" ; Needed for controller input.
,@(exists-> "/sys/class/power_supply") ; Needed for power monitoring like MangoHud.
,@(exists-> "/sys/class/powercap") ; Needed for power monitoring like MangoHud.
"/sys/dev"
"/sys/devices"
,@(exists-> "/var/run/dbus")
#$@(ngc-exposed container)))
;; /dev/hidraw is needed for SteamVR to access the HMD, although here we
;; share all hidraw devices. Instead we could filter to only share specific
;; device. See, for example, this script:
;; https://arvchristos.github.io/post/matching-dev-hidraw-devices-with-physical-devices/
(share `(,@(find-files "/dev" "hidraw")
"/dev/shm"
;; "/tmp/.X11-unix" is needed for bwrap, and "/tmp" more generally
;; for writing things like crash dumps and "steam_chrome_shm".
"/tmp"
,(string-append sandbox-home "=" home)
,@(exists-> (string-append home "/.config/pulse"))
,@(exists-> (string-append xdg-runtime "/pulse"))
,@(exists-> (string-append xdg-runtime "/bus"))
,@(exists-> (string-append xdg-runtime "/" wayland-display))
,@(exists-> (getenv "XAUTHORITY"))
#$@(ngc-shared container)))
(DEBUG (equal? (getenv "DEBUG") "1"))
;; Make sure this environment variable is not set to the
;; emptry string or else guix shell will fail to start.
(extra-shares-env (getenv "GUIX_SANDBOX_EXTRA_SHARES"))
(extra-shares (if (and extra-shares-env (not (string= extra-shares-env "")))
(string-split extra-shares-env #\:)
#f))
(args (cdr (command-line)))
(command (if DEBUG '()
`("--" ,run ,@args))))
;; Set this so Steam's pressure-vessel container does not need to
;; generate locales, improving startup time. This needs to be set to
;; the "usual" path, probably so they are included in the
;; pressure-vessel container.
(setenv "GUIX_LOCPATH" "/usr/lib/locale")
;; By default VA-API drivers are searched for in mesa's store path,
;; so set this path to where the drivers will actually be located in
;; the container.
(setenv "LIBVA_DRIVERS_PATH" "/lib64/dri:/lib/dri")
(format #t "\n* Launching ~a in sandbox: ~a.\n\n"
#$(package-name (ngc-wrap-package container)) sandbox-home)
(when DEBUG
(format #t "* DEBUG set to 1: Starting shell. Launch application manually with: ~a.\n\n"
#$(ngc-internal-name container)))
(mkdir-p sandbox-home)
(apply invoke
`("guix" "shell"
"--container" "--no-cwd" "--network"
,@(map preserve-var preserved-env)
,@(map add-path expose)
,@(map (lambda (item)
(add-path item #:writable? #t))
(if extra-shares
(append share extra-shares)
share))
"-m" ,manifest-file
,@command)))))))
(define (make-container-manifest container fhs-internal)
"Return a scheme file-like object to be used as package manifest for FHS
@ -432,7 +461,9 @@ application."
`((guix build utils))
#~(begin
(use-modules (guix build utils)
(ice-9 getopt-long))
(ice-9 getopt-long)
(srfi srfi-1)
(srfi srfi-26))
(define (path->str path)
(if (list? path)
(string-join path "/")
@ -442,9 +473,13 @@ application."
(dest (path->str (cdr pair))))
(unless (file-exists? dest)
(symlink target dest))))
(define (icd-symlink file)
(define (file-symlink file dir)
(mkdir-p dir)
(new-symlink
`(,file . ("/usr/share/vulkan/icd.d" ,(basename file)))))
`(,file . (,dir ,(basename file)))))
;; Use stat to follow links from packages like MangoHud.
(define (get-files dir)
(find-files (path->str dir) #:stat stat))
(define fhs-option-spec
'((asound32 (value #f))))
(let* ((guix-env (getenv "GUIX_ENVIRONMENT"))
@ -464,8 +499,8 @@ application."
'("/run/current-system/profile/etc"
"/run/current-system/profile/share"
"/sbin"
"/usr/share/vulkan/icd.d"
"/usr/share/vulkan/implicit_layer.d")) ; Implicit layers like MangoHud
"/usr/lib"
"/usr/share"))
(for-each
new-symlink
`((,ld.so.cache . "/etc/ld.so.cache")
@ -479,32 +514,65 @@ application."
((,union64 "lib") . "/lib64")
((,union64 "lib") . "/run/current-system/profile/lib64")
((,union64 "lib/locale") . "/run/current-system/locale")
;; Despite using GUIX_LOCPATH, stil need locales in their
;; expected location for pressure-vessel to use them.
((,union64 "lib/locale") . "/usr/lib/locale")
((,union64 "sbin/ldconfig") . "/sbin/ldconfig")
((,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/fonts") . "/usr/share/fonts")
((,union64 "share/fonts") . "/run/current-system/profile/share/fonts")
((,union64 "etc/fonts") . "/etc/fonts")
((,union64 "share/vulkan/explicit_layer.d") .
"/usr/share/vulkan/explicit_layer.d")
;; The MangoHud layer has the same file name for 64- and 32-bit,
;; so create links with different names.
((,union64 "share/vulkan/implicit_layer.d/MangoHud.json") .
"/usr/share/vulkan/implicit_layer.d/MangoHud.json")
((,union32 "share/vulkan/implicit_layer.d/MangoHud.json") .
"/usr/share/vulkan/implicit_layer.d/MangoHud.x86.json")))
((,union64 "etc/fonts") . "/etc/fonts")))
(for-each
icd-symlink
;; Use stat to follow links from packages like MangoHud.
`(,@(find-files (string-append union32 "/share/vulkan/icd.d")
#:directories? #t #:stat stat)
,@(find-files (string-append union64 "/share/vulkan/icd.d")
#:directories? #t #:stat stat)))
(cut file-symlink <> "/usr/share/egl/egl_external_platform.d")
(append-map
get-files
`((,union32 "share/egl/egl_external_platform.d")
(,union64 "share/egl/egl_external_platform.d"))))
(for-each
(cut file-symlink <> "/usr/share/glvnd/egl_vendor.d")
(append-map
get-files
`((,union32 "share/glvnd/egl_vendor.d")
(,union64 "share/glvnd/egl_vendor.d"))))
(for-each
(cut file-symlink <> "/usr/share/vulkan/icd.d")
(append-map
get-files
`((,union32 "share/vulkan/icd.d")
(,union64 "share/vulkan/icd.d"))))
(for-each
(cut file-symlink <> "/usr/share/vulkan/explicit_layer.d")
(append-map
get-files
`((,union64 "share/vulkan/explicit_layer.d")
(,union32 "share/vulkan/explicit_layer.d"))))
(for-each
(cut file-symlink <> "/usr/share/vulkan/implicit_layer.d")
(append-map
get-files
`((,union32 "share/vulkan/implicit_layer.d")
(,union64 "share/vulkan/implicit_layer.d")
;; For MangoHud implicit layers.
(,guix-env "share/vulkan/implicit_layer.d"))))
;; TODO: This is not the right place for this.
;; Newer versions of Steam won't startup if they can't copy to here
;; (previous would output this error but continue).
(if (file-exists? ".steam/root/bootstrap.tar.xz")
(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"
(string-append "/lib64:/lib:/lib64/nss:/lib/nss:"
"/lib64/vdpau:/lib/vdpau"))
;; Process FHS-specific command line options.
(let* ((options (getopt-long (or fhs-args '("")) fhs-option-spec))
@ -513,7 +581,7 @@ application."
(if asound32-opt
(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 "
#$(ngc-name container)
#$(ngc-binary-name container)
" with \""
(basename #$(ngc-run container))
" -- --asound32\" to use 32-bit instead.\n\n\n")))

View File

@ -4,11 +4,14 @@
(define-module (nonguix utils)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-43)
#:use-module (ice-9 match)
#:use-module (ice-9 textual-ports)
#:use-module (ice-9 popen)
#:use-module (guix utils)
#:use-module (guix packages))
#:use-module (guix packages)
#:use-module (gnu services)
#:export (with-transformation))
(define-public (to32 package64)
"Build package for i686-linux.
@ -22,3 +25,45 @@ Only x86_64-linux and i686-linux are supported.
(arguments `(#:system "i686-linux"
,@(package-arguments package64)))))
(_ package64)))
;; For concerns and direction of improvement, see this thread:
;; https://lists.gnu.org/archive/html/guix-devel/2024-06/msg00275.html
(define* (with-transformation proc obj #:optional (pred package?))
"Recursing into child elements, apply PROC to every element of OBJ that
matches PRED."
(match obj
((? pred)
(proc obj))
((? procedure?)
(lambda args
(apply values
(map (cut with-transformation proc <> pred)
(call-with-values
(lambda ()
(apply obj args))
list)))))
((a . b)
(cons (with-transformation proc a pred)
(with-transformation proc b pred)))
((_ ...)
(map (cut with-transformation proc <> pred)
obj))
(#(_ ...)
(vector-map (lambda (vec elt)
(with-transformation proc elt pred))
obj))
;; `<service-type>' and `<origin>' record types are expected to not be
;; modified. Altering them causes very difficult to debug run-time errors.
((or (? service-type?)
(? origin?))
obj)
((? record?)
(let* ((record-type (record-type-descriptor obj))
(record-fields (record-type-fields record-type)))
(apply (record-constructor record-type)
(map (lambda (field)
(let* ((accessor (record-accessor record-type field))
(obj (accessor obj)))
(with-transformation proc obj pred)))
record-fields))))
(_ obj)))