* 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).
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.
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.
* 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.
* 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.
* 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.
* 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.
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.
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.
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
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.
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.
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>