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.
* 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>
* 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>
* 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>
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.
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).
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>
* 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".
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>
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.
* nongnu/packages/productivity.scm (anytype)[phases] Drop
'unpack-deb phase;
[native-inputs]: drop tar.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
* 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>
* 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>
* 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>
* 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>
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>
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.
* 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>
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.
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.
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>