This is accomplished by building LLVM only for the host target.
* gnu/packages/llvm.scm (llvm-cling) [configure-flags]: Add
'-DLLVM_TARGETS_TO_BUILD=host;NVPTX'.
Cover-letter:
Update cling to 1.1 and wrap with GCC include paths
This series does two things:
1. Update the cling package and its related inputs
2. Fix cling crashing when wrong or missing GCC includes were not provided.
Cling is built to use the specific GCC version it knows from at build time;
the headers available should match that version. Wrapping cling with the
gcc-toolchain ones ensures it works correctly out of the box, without the user
having to know to manually match the right GCC (such as in 'guix shell cling
gcc-toolchain@11').
END
Change-Id: Ib24d3b692070e6de9ad4aa558918786d9e25379d
* gnu/packages/llvm.scm (llvm-cling-base): New variable
(llvm-cling): Use it. Update to version 16-20240621-02.
[source]: Delete patches.
(clang-cling-runtime): Base on clang-runtime-16.
[phases]: Delete change-directory phase.
(clang-cling): Base on clang-16.
[phases]: Delete change-directory and delete-static-libraries phases (the
later would cause CMake to fail due to baking the static targets in).
(cling): Update to 1.1.
[source]: Delete patches.
[arguments] <#:tests?>: Reference upstream discussion in comment.
[phases] <patch-paths>: Adjust file name of clang lib directory.
<set-CLANG>: New phase.
[native-inputs]: Add clang-cling, used by the test suite.
* gnu/packages/patches/clang-cling-13-libc-search-path.patch
* gnu/packages/patches/clang-cling-13-remove-crypt-interceptors.patch
* gnu/packages/patches/clang-cling-runtime-13-glibc-2.36-compat.patch
* gnu/packages/patches/cling-use-shared-library.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): De-register deleted files.
Change-Id: Ia8b58188ad9de2795a52289bd46ed15a8e722bfa
(cling) [phases] <patch-paths>: Do not patch CLING_CXX_RLTV anymore; this is
now handled more correctly by wrapping the 'cling' executable. Adjust file
name of clang lib directory. <wrap-with-include-paths, fix-wrapper>: New
phases.
[inputs]: Add gcc-toolchain*, a delayed version of gcc-toolchain, used in the
wrap phase.
Fixes: https://issues.guix.gnu.org/57116
Change-Id: I29f9eee8f4a0e91eadc2eeff2a70d58db3ed0a26
* gnu/packages/games.scm (jstest-gtk) [synopsis]: Mention this is for Joydev
joysticks.
[description]: Likewise.
Change-Id: I3a93a237ea5e2efb6bc49e6a9eee2e8714e25bf5
* gnu/services/games.scm (joycond-service-type): Also extend the udev service
with the configured joycond package.
* doc/guix.texi (Game Services): Update documentation.
Change-Id: I9f7fb0da5cfc1f8a7e8bb5f2ce7161e5e66b2f5e
* gnu/services/networking.scm (<dhcp-client-configuration>)
[version]: New field.
(dhcp-client-shepherd-service): Use 'match-record' instead of various
accessors. Honor the new 'version field'. Include the version the PID file
name when a non-default version is used.
* doc/guix.texi (Networking Setup) <dhcp-client-configuration>
[version]: Document it.
Change-Id: I6236ae160967c95fe7a2c1785821cc9b0c183e77
The RetroArch menus will not correctly render without its assets, the
plugins won't be usable without the core info files, and controllers won't be
usable without joypad-autoconfig files. Hence...
* gnu/packages/emulators.scm (retroarch-minimal): New variable, renamed from
previous retroarch.
(retroarch) [propagated-inputs]: New field.
Change-Id: I9dccf89da1f35acfa705de9ae02ae5f72a0b1825
* gnu/packages/emulators.scm (retroarch) [source]: Add snippet removing
most bundled sources. Apply patch to allow using system SPIRV-Cross.
[phases] <configure>: Add --disable-builtinspirv_cross. Disable non-core features making use of bundled
libraries (7zip, cheevos crtswitchres, discord, dr_mp3, ixbm, stb_font,
stb_image, stb_vorbis and xdelta).
[inputs]: Add spirv-cross.
[license]: Add licenses of bundled sources.
* gnu/packages/patches/retroarch-unbundle-spirv-cross.patch: New file.
Change-Id: I824391424bf0fa2ec3888f02535b94dea3021378
* gnu/packages/emulators.scm (retroarch) [arguments]
<phases>: Use gexps; locate resources using `search-input-file' and
`search-input-directory'.
Change-Id: I0b1c4ff074e6f8287c14ac3327a8d0271391fec2
* gnu/packages/maths.scm (cryptominisat): Update to 5.11.22.
[source]: Patch include for cadiback.
[inputs]: Add cadical, cadiback-for-cryptominisat and gmp.
* gnu/packages/patches/cadical-add-shared-library.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it here.
* gnu/packages/maths.scm (cadical): New variable.
This contains a fix for CVE-2024-8508.
* gnu/packages/dns.scm (unbound): Update to 1.21.1.
Change-Id: I2ed1806a0859c5dbd729d18a074220ab13b53223
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
The tarball was modified upstream. However, the source files themselves
were not: the difference is merely their order within the old & new tar
archives.
* gnu/packages/statistics.scm (r-googlesheets)[source]: Update sha256.
Change-Id: I1074ef61ff09d1599330d227b91b87817c37a2d9
* gnu/packages/music.scm (gx-saturator-lv2): Update to 0-4.2142b14.
[version]: Use GIT-VERSION.
[source]: Use GIT-FILE-NAME.
Change-Id: I848667b0a6e43e9aab119e557c3b257f76bd4f1c
* gnu/packages/music.scm (gx-vbass-preamp-lv2): Update to 0.3.f6a01c2.
[version]: Use GIT-VERSION.
[source]: Use GIT-FILE-NAME.
[arguments]: Set CC in make-flags.
[inputs]: Replace gtk+-2 with gtk+.
Change-Id: Ied9357d1d8804c263a801194ae8df661aa6f8afa