summaryrefslogtreecommitdiff
path: root/nonguix/build/binary-build-system.scm
AgeCommit message (Collapse)Author
2025-02-03nonguix: binary-build-system: Use add-rpath instead of set-rpath.John Kehayias
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.
2024-11-10nonguix: binary-build-system: Print the patchelf version.Attila Lendvai
* nonguix/build/binary-build-system.scm (patchelf): Output patchelf version. Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-10-02nonguix: binary: Improve .deb unpacking.Ashish SHUKLA
.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-01-04nonguix: binary: Cleanup when an unknown binary extension is detected.Giacomo Leidi
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>
2023-12-28nonguix: binary: Automatically detect and unpack .deb files.Giacomo Leidi
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>
2022-12-19*.scm: Use SPDX license identifiers.Jonathan Brielmaier
Fixes https://gitlab.com/nonguix/nonguix/-/issues/224 * *.scm: Use SPDX license identifier and remove obsolete license statement.
2022-06-18nonguix: binary-build-system: Fix use of undefined variable.Guillaume Le Vaillant
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>
2022-05-05nonguix: binary-build-system: Add copyright header for Attila.Jonathan Brielmaier
Follow up to a0079cf1bd8ef707ab9e15a0e249cbd34f157ae4.
2022-05-05nonguix: Extend patchelf-plan syntax with optional path.Attila Lendvai
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>
2020-02-29nonguix: Use the install-plan of the copy-build-system in the ↵Pierre Neidhardt
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.
2020-01-16nonguix: Add support for libraries for an extension other than ".so".Pierre Neidhardt
* nonguix/build-system/binary.scm (binary-build): Don't fail when setting the interpreter of libraries that don't contain ".so" in their name.
2019-12-29nonguix: Fix default values for patchelf-plan and install-plan.Pierre Neidhardt
* nonguix/build-system/binary.scm (binary-build): Default values are unquoted, so we add an extra quote.
2019-12-29Move the "binary" build system from the Gaming Channels to Nonguix.Pierre Neidhardt
* 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.