**tl;dr** Applying this patch makes Cabal work in Guix environments
and ensures that Cabal picks up Haskell packages installed via Guix.
Guix makes heavy use of GHC_PACKAGE_PATH to make GHC pickup Haskell
packages installed via the Guix package manager. The environment
variable is set using native-search-paths from the GHC packages.
Unfortunately, upstream Cabal does presently not respect
GHC_PACKAGE_PATH. If this environment variable is set, `cabal build`
and other commands will terminate. For building packages, Guix does
not make much use of cabal-install hence this is not as big of an
issue. However, cabal-install does therefore presently not work
out-of-the-box in environments created by Guix. For example,
in `guix shell` environments. This makes it essentially impossible
to use Guix for setting up development environments for Haskell software.
Cabal upstream is aware of this issue and a patch exists to workaround
this problem. The patch is currently not merged upstream due to issues
related to reconfiguration (changing GHC_PACKAGE_PATH between `cabal
configure` and `cabal build`). However, I would argue that this edge
case is not that relevant for Guix and therefore propose including
this patch with the Cabal Guix package. As outlined above, cabal-install
is not usable by default presently, and I would therefore argue that
this is a major improvement over the current situation. I am willing to
work with Cabal upstream to have this issue fixed upstream eventually.
Note that this requires patching the GHC package instead of the
cabal-install package as Guix uses the version of the Cabal package
<https://hackage.haskell.org/package/Cabal> distributed with GHC.
See: https://github.com/haskell/cabal/issues/3728
* gnu/packages/haskell-apps.scm (cabal-install): Include patch
to support the GHC_PACKAGE_PATH environment variable.
Signed-off-by: Sören Tempel <soeren@soeren-tempel.net>
Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
Change-Id: Ib77ffa937b878690d0e2d8964b534842b99da039
* gnu/packages/patches/flatpak-fix-fonts-icons.patch: New patch.
* gnu/packages/package-management.scm(flatpak): Use it.
* gnu/local.mk(dist_patch_DATA): Register it.
Change-Id: I0359d0d9bf10120a8b784c910c50d0e4a9b7a616
Also fix the commands, which would fail due to not finding their
implementation scripts.
* gnu/packages/patches/gnulib-bootstrap.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/build-tools.scm (gnulib): Update to 2024-05-30-1.ac4b301.
[source]: Apply patch.
[phases] {patch-source-shebangs, patch-generated-file-shebangs}
{patch-usr-bin-file, restore-shebangs}: Delete phases.
{disable-failing-tests}: Disable sc_error_message_warn_fatal,
sc_prefer_angle_bracket_headers, sc_check_config_h_reminder,
sc_prohibit_sc_omitted_at, sc_readme_link_copying, sc_readme_link_install,
sc_unsigned_char, sc_unsigned_int, sc_unsigned_long and sc_unsigned_short
checks.
{regenerate-unicode}: Register BidiMirroring.txt unicode data file.
Change-Id: I154b2c5980b671f1e73e7a1f74d926ea080a7aa0
* gnu/packages/bootloaders.scm (grub): Update to 2.12.
[source](patches): Remove ‘grub-ignore-metadata-csum-seed.patch’.
(snippet): Create ‘grub-core/extra_deps.lst’. Replace “exit 99”
by “exit 77”.
(grub-coreboot): Update value of ‘XFAIL_TESTS’.
* doc/guix.texi (Keyboard Layout and Networking and Partitioning): Update
accordingly (it should now be fine to use LUKS2).
* gnu/packages/patches/grub-ignore-metadata-csum-seed.patch: Remove.
* gnu/local.mk (dist_patch_DATA): Remove it.
Change-Id: Ia31b3b7e0a2e7de42d30229733e9c196fcd12fd9
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
The tests which fail to build if building the shared library are removed by a
patch. Autogenerated files are removed by a snippet and generated in a
separate build phase.
* gnu/packages/machine-learning.scm (xnnpack): Update to commit 51a9875.
[source]: Add patch for tests. Add snippet to remove autogenerated files.
[arguments]: New modules and phase arguments.
[inputs]: Add clog and cpuinfo.
[native-inputs]: New field.
* gnu/packages/patches/xnnpack-remove-broken-tests.patch: Add file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/patches/xnnpack-system-libraries.patch: Update patch.
* gnu/packages/machine-learning.scm (foxi): New variable.
* gnu/packages/patches/foxi-fix-build.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/machine-learning.scm (fbgemm): New variable.
* gnu/packages/patches/fbgemm-use-system-libraries.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/parallel.scm (cpuinfo): Update to commit aa4b216.
[arguments]: Set the "-DUSE_SYSTEM_LIBS=ON" configure flag instead of using a
patch.
[supported-systems]: New field.
* gnu/packages/patches/cpuinfo-system-libraries.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
* gnu/packages/compression.scm (miniz-for-pytorch): New variable.
* gnu/packages/patches/miniz-for-pytorch.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/patches/mes-0.26.1-fixups.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/mes.scm (mes)[source]: Use it.
Change-Id: I071d442232c8e4bbce2e85cac0f73fb9205a678c
Version 8.0.5 is the latest version that works reliably as a
qemu-binfmt-service for riscv64, which makes 7.2.4 the newest working version
that was packaged for Guix.
* gnu/packages/patches/qemu-7.2.4-build-info-manual.patch,
gnu/packages/patches/qemu-disable-aarch64-migration-test.patch: New files.
* gnu/local.mk (dist_patch_DATA): Register them.
* gnu/packages/virtualization.scm (qemu-7.2.4): Use them in new package.
Change-Id: Iaedc424e619cdc4964945f7383d47cff0c7ed10f
This reintroduces the patch that was deleted by
cf5f7a8bf9, adjusting file names.
* gnu/packages/patches/audacity-ffmpeg-fallback.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it here.
* gnu/packages/audio.scm (audacity)[patches]: Use it here.
Change-Id: I848df8a9762216eb2b02afc3843e0e9806db14be
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/patches/slurm-23-salloc-fallback-shell.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/parallel.scm (slurm): Use it.
(slurm-22.05, slurm-21.08, slurm-20.11, slurm-20.02)
(slurm-19.05, slurm-18.08): Drop it.
Change-Id: I1498e8d21d631c988edf75a8bcc8d2ae5f244b7a
* gnu/packages/patches/jami-enable-testing.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/jami.scm (jami) [source]: Apply it.
[phases] <check>: Use 'ctest' to run tests. Update comment explaining why the
QML test suite is disabled.
Change-Id: I5c9333a3b5064ecec9a2dd4fe13ae597d5354b7c
* gnu/packages/patches/grub-ignore-metadata-csum-seed.patch: New file.
* gnu/local.mk: Register it.
* gnu/packages/bootloaders.scm (grub): Use it.
Change-Id: I3bfed24b38ecf31b85ed4ac654399fca2d2e12f6
Substantial rework of the podman package. The source is no longer patched (at
all) and all necessary modifications were moved into wrap-program and phases.
Not everything is supported out of the box, but description mentions what
packages to install to get additional functionality working.
* gnu/packages/containers.scm (podman)[source]: Remove snippet and patches.
[arguments]<#:make-flags>: Add HELPER_BINARIES_DIR. Add GOMD2MAN to actually
use go-github-com-go-md2man package instead of the bundled version.
<#:imported-modules>: Add (guix build go-build-system).
<#:phases>{'set-env}: Set `CC' as an environment variable due to bug in make
before 4.4.
{'fix-hardcoded-paths}: Remove everything except patching `libexec' and `lib'
locations.
{'symlink-helpers}: New phase symlinking tools not discoverable via $PATH into
one directory (`HELPER_BINARIES_DIR').
{'wrap-podman}: New phase wrapping `podman' to set correct $PATH.
{'remove-go-references}: New phase stripping references to the golang
toolchain from the binaries.
[inputs]: Remove no longer needed cni-plugins, slirp4netns. Remove referenced
in 'wrap-podman conmon, crun, iptables, passt. Move go-github-com-go-md2man
into native-inputs. Add bash-minimal.
[native-inputs]: Add custom grep with supported -P. Use newer go. Add
mandoc.
[description]: Explain how to get `podman compose' and `podman machine'
working.
* gnu/packages/patches/podman-program-lookup.patch: Delete file.
Change-Id: Ifc28971a68751831d781517b041eec951a617087
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
* gnu/packages/patches/ddcci-driver-linux-linux-6.8.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/linux.scm (ddcci-driver-linux): Apply it.
Change-Id: Iac63146e67333aed2a95e8064b19f031c97a4134
Cover-letter:
Add BTF support to kernel, sysdig and dependents, zstd-compressed modules
This series adds BTF (Berkeley Type Format) support to our kernel, catching up
with other main distributions in enabling embedded BPF (Berkeley Packet
Filter) programs.
This was motivated by packaging 'sysdig', a system introspection application
that can make use of BTF. Adding BTF does incur some size increase; with
'linux-libre' package going up from 132 MiB to 164 MiB (24%). This is later
somewhat mitigated by using Zstd compressed (at maximum level, 19) kernel
modules, which brings the kernel size back down to 144 MiB, which corresponds
to a more reasonable 9% increase from before this series. The BPF kernel
variant we were carrying is removed as proper BPF support will now exists in
our main kernel.
That's it! I hope you enjoy using 'csysdig' to keep track of the syscalls and
IO usage of your process/threads.
END
Change-Id: Icb5fc659f529a2a840281284bfb0d74a0cc9b9d9