Age | Commit message (Collapse) | Author |
|
Fixes #369.
Previously we were using "patchelf --set-rpath" in binary-build-system for
binaries to find dependencies in Guix. However, this will override any
previous setting, including if "$ORIGIN" was in RUNPATH.
For Electron applications specifically (like signal-desktop and heroic),
bundled libraries were not found without wrapping with LD_LIBRARY_PATH. While
this does work, it is not ideal and led to issues in child processes that
inherit LD_LIBRARY_PATH, namely breaking games using Wine/Proton in Heroic.
A possible consequence of this commit is that Guix added paths to RUNPATH are
after what was originally set, perhaps leading to library
loading/compatibility issues. However, we always try to replace all needed
libraries with Guix packages (just that Electron applications seem to require
bundled libraries in $ORIGIN).
* nonguix/build/binary-build-system.scm (patchelf): Use add-rpath instead of set-rpath.
* nongnu/packages/game-client.scm (heroic-client)[arguments]<#:phases>: Remove
'wrap-where-patchelf-does-not-work phase as it is no longer needed (needed
libraries are found with $ORIGIN preserved in RUNPATH).
* nongnu/packages/messaging.scm (element-desktop, signal-desktop): Likewise.
* nongnu/packages/editors.scm (vscodium): Likewise.
|
|
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>
|
|
* nonguix/build/binary-build-system.scm (patchelf): Output patchelf version.
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
|
|
.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>
|
|
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>
|
|
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>
|
|
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>
|
|
This build system is an extension to the binary-build-system, designed
to abstract some common boilerplate necessary for packaging Chromium
based software.
* nonguix/build-system/chromium-binary.scm: New file;
* nonguix/build/chromium-binary-build-system.scm: new file;
* nonguix/build/utils.scm (build-paths-for-input): new variable;
(build-paths-from-inputs): New variable.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
|
Fixes https://gitlab.com/nonguix/nonguix/-/issues/224
* *.scm: Use SPDX license identifier and remove obsolete license
statement.
|
|
Follow up to a0079cf1bd8ef707ab9e15a0e249cbd34f157ae4.
* nonguix/build/binary-build-system.scm (patchelf)[make-rpath]: Use 'name'
instead of undefined 'input-or-output'.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
|
Follow up to a0079cf1bd8ef707ab9e15a0e249cbd34f157ae4.
|
|
Makes it possible to define entries like the following in the patchelf-plan:
("the-binary" ("glibc" ("nss" "/lib/nss")))
* nonguix/build/binary-build-system.scm (maybe-make-rpath, make-rpath):
New functions and use them.
Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
|
* nonguix/build/utils.scm (make-wrapper): Add skip-argument-0? keyword.
|
|
* nonguix/build/utils.scm (make-desktop-entry-file): Remove function.
|
|
binary-build-system.
* nonguix/build-system/binary.scm (lower): Adapt the default value of the
install plan.
* nonguix/build/binary-build-system.scm (new-install): New procedure.
(old-install): Rename former `install' procedure to this.
(install): New procedure that dispatches over old-install and new-install.
|
|
* nonguix/build-system/binary.scm (binary-build): Don't fail when setting the
interpreter of libraries that don't contain ".so" in their name.
|
|
* nonguix/build/utils.scm (concatenate-files): New function.
|
|
* nonguix/build-system/binary.scm (binary-build): Default values are unquoted,
so we add an extra quote.
|
|
* nonguix/build-system/binary.scm: New file.
* nonguix/build/binary-build-system.scm: New file.
* nonguix/build/utils.scm: New file.
* nonguix/utils.scm: New file.
|