Commit graph

16 commits

Author SHA1 Message Date
Maxim Cournoyer
fb1cda30b6
build/chromium-binary: Add xdg-inputs to implicit inputs.
* nonguix/build-system/chromium-binary.scm (lower)
<host-inputs>: Add xdg-utils.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2025-06-11 22:15:42 +08:00
Maxim Cournoyer
d829ab32c4
build/chromium-binary: Use 'add-input-labels' for host-inputs labels.
* nonguix/build-system/chromium-binary.scm (add-input-labels): New procedure.
(lower) <host-inputs>: Remove labels.  Adjust accordingly.
* nonguix/build/chromium-binary-build-system.scm
(install-wrapper): Adjust for label change of fontconfig-minimal.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
2025-06-11 22:15:42 +08:00
Giacomo Leidi
5243f9ad75
build-system: chromium-binary: Allow overriding default host-inputs.
Some applications may crash with errors like the following:

libstdc++.so.6: version `GLIBCXX_3.4.31' not found

This can be fixed by using a more recent version of gcc:lib, this patch allows
overriding the default gcc:lib provided by the chromium-binary-build-system.

* nonguix/build-system/chromium-binary.scm (lower)[host-inputs]: Allow
overriding default host-inputs by package inputs.

Signed-off-by: Hilton Chain <hako@ultrarare.space>
Modified-by: Hilton Chain <hako@ultrarare.space>
2025-04-18 15:11:46 +08:00
John Kehayias
26778f221b
nonguix: chromium-binary-build: Extend wrapper-plan syntax.
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.
2025-02-09 14:11:39 -05:00
John Kehayias
f82534a8a8
build-system: binary: Add comment about patchelf version.
This is a followup to commit c7e6962eb3.

* nonguix/build-system/binary.scm (default-patchelf): Add comment and TODO
about using older patchelf-0.16 due to upstream bug.

Reported-by: Attila Lendvai <attila@lendvai.name>
2024-11-10 16:24:17 -05:00
Hilton Chain
c7e6962eb3
build-system: binary: Use patchelf-0.16 by default.
Newer patchelf may break binaries.

This commit replaces patchelf with patchelf-0.16 for binary-build-system and
nvidia-driver (known affected package).

Fixes: https://gitlab.com/nonguix/nonguix/-/issues/350

* nonguix/build-system/binary.scm (default-patchelf): Replace patchelf with
patchelf-0.16.
* nongnu/packages/nvidia.scm (nvidia-driver)[native-inputs]: Likewise.

Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
2024-11-10 16:11:07 -05:00
Yelninei
877ed8cc4e
build-system/chromium-binary: Remove references to source.
Previously the resulting store object would also depend on the source.

* nonguix/build-system/chromium-binary.scm (lower): Remove reference to source
in #:wrap-inputs.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
Tested-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2024-06-21 16:05:24 +02:00
John Kehayias
9ef308959e
nonguix: chromium-binary-build-system: Use gcc:lib.
Effectively reverts changes that came from
9d58bb6e3e which doesn't seem to be needed
anymore.  These got carried into chromium-binary-build-system when it was
introduced.  We need libstdc++ from the gcc:lib package, which is hidden from
users but directly accessible from the build system.  The library from
make-libstdc++ has missing symbols compared to the one from gcc:lib.  The
addition of libgccjit seems to also be unneeded from this change and increases
the closure of e.g. signal-desktop by nearly 10% or 200 MiB.

Fixes #276 and #279.

* nonguix/build-system/chromium-binary.scm (lower)[host-inputs]: Use gcc:lib
again and remove libgccjit.
2023-09-03 11:26:26 -04:00
Giacomo Leidi
f2970727de
nonguix: Add chromium-binary-build-system.
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>
2023-07-12 23:18:05 +02:00
Jonathan Brielmaier
62a5df4222
*.scm: Use SPDX license identifiers.
Fixes https://gitlab.com/nonguix/nonguix/-/issues/224

* *.scm: Use SPDX license identifier and remove obsolete license
statement.
2022-12-19 17:17:39 +01:00
Jelle Licht
c736f26fae
nonguix: Update binary build system to pass sources.
* nonguix/build-system/binary.scm (lower): Remove #:source from
  'private-keywords'.
2021-12-13 23:07:52 +01:00
Josselin Poiret
7b13acb514
nonguix: Update binary build system to return a monadic procedure.
Fixes https://gitlab.com/nonguix/nonguix/-/issues/146.

* nonguix/build-system/binary.scm (binary-build): Update it.

Signed-off-by: Jonathan Brielmaier <jonathan.brielmaier@web.de>
2021-12-13 23:06:01 +01:00
Pierre Neidhardt
da95ca97d4 nonguix: Set default build-inputs priority higher than libc32 in binary-build-system.
* nonguix/build-system/binary.scm (lower): Swap native-inputs and libc32 in
  build-inputs.  In particular, this fixes static linking with GCC.
2020-05-17 14:36:27 +02:00
Pierre Neidhardt
39fecacaef nonguix: Use the install-plan of the copy-build-system in the 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-02-29 10:42:35 +01:00
Pierre Neidhardt
a35038fb8d nonguix: Fix default values for patchelf-plan and install-plan.
* nonguix/build-system/binary.scm (binary-build): Default values are unquoted,
  so we add an extra quote.
2019-12-29 19:07:43 +01:00
Pierre Neidhardt
d622a15d08 Move the "binary" build system from the Gaming Channels to Nonguix.
* 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.
2019-12-29 19:07:43 +01:00