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