~ruther/guix-local

3d4cadf2759665d3ef9b6b81e5ba73b488d84dc9 — John Kehayias 1 year, 1 month ago 45cf6a1 + 8652412
Merge branch 'mesa-updates'

Key changes include updating the vulkan packages to 1.4.309.0,
wayland-protocols to 1.44, and mesa to 25.1.3.

Change-Id: If4e4d84def0ddddaa0a03a588890df115297de8d
M gnu/packages/cmake.scm => gnu/packages/cmake.scm +25 -0
@@ 439,6 439,31 @@ and workspaces that can be used in the compiler environment of your choice.")
       (prepend (module-ref (resolve-interface '(gnu packages debug))
                            'cppdap))))))

(define-public cmake-minimal-3.30
  (package
    (inherit cmake-minimal)
    (version "3.30.3")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://cmake.org/files/v"
                                  (version-major+minor version)
                                  "/cmake-" version ".tar.gz"))
              (sha256
               (base32
                "1r48zym4dy4mvwzk704zh1vx9gb4a910f424ypvis28mcxdy2pbd"))))
    (arguments
     (substitute-keyword-arguments (package-arguments cmake-minimal)
       ((#:phases phases)
        #~(modify-phases #$phases
            (delete 'delete-help-documentation)))))
    (native-inputs
     (modify-inputs (package-native-inputs cmake-minimal)
       ;; Avoid circular dependency with (gnu packages debug).  Note: cppdap
       ;; is built with cmake, so when the default cmake-minimal is updated to
       ;; this version this circular dependency will need to be worked around.
       (prepend (module-ref (resolve-interface '(gnu packages debug))
                            'cppdap))))))

(define-public cmake-minimal-cross
  (package
    (inherit cmake-minimal)

M gnu/packages/debug.scm => gnu/packages/debug.scm +15 -2
@@ 1,6 1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017, 2019-2022 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2016, 2017, 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016-2018, 2020, 2021, 2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>


@@ 220,7 220,20 @@ tools that process C/C++ code.")
         ;; Only one of the following three can be enabled at the same time
         ;; "-DCPPDAP_USE_EXTERNAL_RAPIDJSON_PACKAGE=ON"
         ;; "-DCPPDAP_USE_EXTERNAL_JSONCPP_PACKAGE=ON"
         "-DCPPDAP_USE_EXTERNAL_NLOHMANN_JSON_PACKAGE=ON")))
         "-DCPPDAP_USE_EXTERNAL_NLOHMANN_JSON_PACKAGE=ON")
      #:phases
      (if (target-riscv64?)
          #~(modify-phases %standard-phases
              ;; We need to unconditionally link with libatomic on some
              ;; architectures to successfully build cmake.
              (add-after 'unpack 'link-with-libatomic
                (lambda _
                  (substitute* "CMakeLists.txt"
                    (("cppdap_set_target_options\\(cppdap\\)" all)
                     (string-append
                       all "\n\n"
                       "target_link_libraries(cppdap PRIVATE atomic)"))))))
          #~%standard-phases)))
    (native-inputs
     (list googletest))
    ;; see lib/cmake/cppdap/cppdapConfig.cmake

M gnu/packages/freedesktop.scm => gnu/packages/freedesktop.scm +6 -6
@@ 1561,7 1561,7 @@ fullscreen) or other display servers.")
(define-public wayland-protocols
  (package
    (name "wayland-protocols")
    (version "1.39")
    (version "1.44")
    (source (origin
              (method git-fetch)
              (uri (git-reference


@@ 1570,7 1570,7 @@ fullscreen) or other display servers.")
              (file-name (git-file-name name version))
              (sha256
               (base32
                "1dpcwsd2p6sjf5164b674cr7vq24hp3lfdshijj438r4bx8bld28"))))
                "1gjhfiah8hkhqlfan2pr8jvf9h8rjkyz79kkxddi8js2q7dy4bbq"))))
    (build-system meson-build-system)
    (inputs
     (list wayland))


@@ 1587,11 1587,11 @@ protocol either in Wayland core, or some other protocol in wayland-protocols.")
    (home-page "https://wayland.freedesktop.org")
    (license license:expat)))

(define-public wayland-protocols-next
(define-public wayland-protocols-1.42
  (package
    (inherit wayland-protocols)
    (name "wayland-protocols-next")
    (version "1.43")
    (name "wayland-protocols-1.42")
    (version "1.42")
    (source (origin
              (method git-fetch)
              (uri (git-reference


@@ 1600,7 1600,7 @@ protocol either in Wayland core, or some other protocol in wayland-protocols.")
              (file-name (git-file-name name version))
              (sha256
               (base32
                "1pgjkc0gw11xb55kn8hf8adnmx3bkpgb4p0haylb2jh7irqhxhqd"))))))
                "1gx8788wgkl42x3fh4kwkfz2xy7n84slbjwqg9w5z2b7jjkwzrrq"))))))

(define-public wayland-utils
  (package

M gnu/packages/gl.scm => gnu/packages/gl.scm +6 -9
@@ 5,7 5,7 @@
;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Nikita <nikita@n0.is>
;;; Copyright © 2016, 2017, 2018, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017-2019, 2021, 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017-2019, 2021, 2023-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>


@@ 15,7 15,7 @@
;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2021-2024 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2021-2025 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>


@@ 303,7 303,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa
  (package
    (name "mesa")
    (version "24.3.2")
    (version "25.1.3")
    (source
     (origin
       (method url-fetch)


@@ 313,7 313,7 @@ also known as DXTn or DXTC) for Mesa.")
                                 "mesa-" version ".tar.xz")))
       (sha256
        (base32
         "05pp7wghydjx428r4wr6p08nsx1g0ssnxvjlc9wf8s91dlx5z7xd"))))
         "0zxsvly6xjinaicgcf81ycljjjzy3mj0hqwf01b6sdgxnnnnrjzz"))))
    (build-system meson-build-system)
    (propagated-inputs
     ;; The following are in the Requires.private field of gl.pc.


@@ 463,11 463,8 @@ panfrost,r300,r600,svga,softpipe,llvmpipe,tegra,v3d,vc4,virgl,zink"))
                "if false"))
             #$@(match (%current-system)
                 ("riscv64-linux"
                  ;; According to the test logs the llvm JIT is not designed
                  ;; for this architecture and the llvmpipe tests all segfault.
                  ;; The same is true for mesa:gallium / osmesa-render.
                  `((substitute* '("src/gallium/drivers/llvmpipe/meson.build"
                                   "src/gallium/targets/osmesa/meson.build")
                  ;; Disable some of the llvmpipe tests.
                  `((substitute* "src/gallium/drivers/llvmpipe/meson.build"
                      (("if with_tests") "if false"))))
                 ("powerpc64le-linux"
                  ;; Disable some of the llvmpipe tests.

M gnu/packages/terminals.scm => gnu/packages/terminals.scm +3 -3
@@ 878,14 878,14 @@ eye-candy, customizable, and reasonably lightweight.")
                        (list wayland pkg-config-for-build)
                        '())
                    (list ncurses ;for 'tic'
                          pkg-config scdoc wayland-protocols-next)))
                          pkg-config scdoc wayland-protocols)))
    (native-search-paths
     ;; FIXME: This should only be located in 'ncurses'.  Nonetheless it is
     ;; provided for usability reasons.  See <https://bugs.gnu.org/22138>.
     (list (search-path-specification
            (variable "TERMINFO_DIRS")
            (files '("share/terminfo")))))
    (inputs (list fcft libxkbcommon-1.8 wayland wayland-protocols-next))
    (inputs (list fcft libxkbcommon-1.8 wayland wayland-protocols))
    (synopsis "Wayland-native terminal emulator")
    (description
     "@command{foot} is a terminal emulator for systems using the Wayland


@@ 1308,7 1308,7 @@ tmux.")
           ncurses ;; for tic command
           pkg-config
           python-sphinx
           wayland-protocols))
           wayland-protocols-1.42))
    (inputs
     (list fontconfig
           freetype

M gnu/packages/video.scm => gnu/packages/video.scm +2 -2
@@ 5172,7 5172,7 @@ post-processing of video formats like MPEG2, H.264/AVC, and VC-1.")
(define-public openh264
  (package
    (name "openh264")
    (version "2.5.0")
    (version "2.6.0")
    (source (origin
              (method git-fetch)
              (uri (git-reference


@@ 5181,7 5181,7 @@ post-processing of video formats like MPEG2, H.264/AVC, and VC-1.")
              (file-name (git-file-name name version))
              (sha256
               (base32
                "1lkzidgb3835jjf3qd56avgb7ag4s6l4yvi2b3aacfqpzvh7vjib"))))
                "1n2x74h1j2sbljkqa0d810gkp7p81al8nv8lzcm4l2hk22gjbzdm"))))
    (build-system gnu-build-system)
    (native-inputs
     (list nasm python))

M gnu/packages/vulkan.scm => gnu/packages/vulkan.scm +38 -32
@@ 8,6 8,7 @@
;;; Copyright © 2022, 2024 dan <i@dan.games>
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024 James Smith <jsubuntuxp@disroot.org>
;;; Copyright © 2025 John Kehayias <john.kehayias@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 52,7 53,7 @@
(define-public spirv-headers
  (package
    (name "spirv-headers")
    (version "1.3.280.0")
    (version "1.4.309.0")
    (source
     (origin
       (method git-fetch)


@@ 61,7 62,7 @@
             (commit (string-append "vulkan-sdk-" version))))
       (sha256
        (base32
         "17jw5gwj2vmicyd6522b1zp7x551krfj826j0fg5kl0ixv0q08wk"))
         "15l35w60sbw1i3a48057hvpvldf0lrlfmkz73bp456g2jn5vln23"))
       (file-name (git-file-name name version))))
    (build-system cmake-build-system)
    (arguments


@@ 84,7 85,7 @@ and for the GLSL.std.450 extended instruction set.
(define-public spirv-tools
  (package
    (name "spirv-tools")
    (version "1.3.280.0")
    (version "1.4.309.0")
    (source
     (origin
      (method git-fetch)


@@ 92,7 93,7 @@ and for the GLSL.std.450 extended instruction set.
            (url "https://github.com/KhronosGroup/SPIRV-Tools")
            (commit (string-append "vulkan-sdk-" version))))
      (sha256
       (base32 "1sj84ngwcgmydlj88nx1a9jfmhmxlij7wc92khp8wf1vsfplayas"))
       (base32 "1ykrsd3fl8sx9sq8pc551swacqnl0xwv3p0l1ppdpw2h2mvz8syr"))
      (file-name (git-file-name name version))))
    (build-system cmake-build-system)
    (arguments


@@ 116,7 117,7 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
(define-public spirv-cross
  (package
    (name "spirv-cross")
    (version "1.3.280.0")
    (version "1.4.309.0")
    (source
     (origin
       (method git-fetch)


@@ 124,11 125,15 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
             (url "https://github.com/KhronosGroup/SPIRV-Cross")
             (commit (string-append "vulkan-sdk-" version))))
       (sha256
        (base32 "1k6fbkradknxis85akzzksz9ipm3v42xvrzaamwj2lrgfm8d6r4d"))
        (base32 "1sckwqz67mh48zypgr1r9x101mcq1dlkh8sxi341ynrxzjk8rm3j"))
       (file-name (git-file-name name version))))
    (build-system cmake-build-system)
    (arguments
     `(#:configure-flags
     `(;; Disable tests for now due to upstream issue hit when running
       ;; update-reference-shaders phase:
       ;; <https://github.com/KhronosGroup/SPIRV-Tools/issues/5980>.
       #:tests? #f
       #:configure-flags
       (list "-DSPIRV_CROSS_SHARED=YES")
       #:phases
       (modify-phases %standard-phases


@@ 141,9 146,10 @@ parser,disassembler, validator, and optimizer for SPIR-V.")
               (("\\$\\{CMAKE_(.*)_DIR\\}/external/spirv-tools(.*)/bin")
                (string-append (assoc-ref inputs "spirv-tools") "/bin")))))
         (add-before 'check 'update-reference-shaders
           (lambda _
             (with-directory-excursion "../source"
               (invoke "./update_test_shaders.sh")))))))
           (lambda* (#:key tests? #:allow-other-keys)
             (when tests?
               (with-directory-excursion "../source"
                 (invoke "./update_test_shaders.sh"))))))))
    (inputs
     (list glslang spirv-headers spirv-tools))
    (native-inputs (list python))


@@ 177,10 183,9 @@ SPIR-V, aiming to emit GLSL or MSL that looks like human-written code.")
                     (target-x86-64?))
       #:configure-flags
       #~(list (string-append "-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="
                              #$(this-package-native-input "spirv-headers")
                              "/include/spirv")
                              #+(this-package-native-input "spirv-headers"))
               (string-append "-DLLVM_EXTERNAL_LIT="
                              #$(this-package-native-input "python-lit")
                              #+(this-package-native-input "python-lit")
                              "/bin/lit")
               (string-append "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath="
                              #$output "/lib")


@@ 198,7 203,7 @@ translation between LLVM IR and SPIR-V.")
(define-public glslang
  (package
    (name "glslang")
    (version "1.3.280.0")
    (version "1.4.309.0")
    (source
     (origin
       (method git-fetch)


@@ 207,11 212,12 @@ translation between LLVM IR and SPIR-V.")
             (commit (string-append "vulkan-sdk-" version))))
       (sha256
        (base32
         "1vvgqvwhsimlz8wkk38b9cvp9abggq840iws8al0znzz3mnvkfdn"))
         "0kzzjh2dxzkznp75jk9sl4fjjgdy5s6xr8vha9av6cvi3jxm2i8y"))
       (file-name (git-file-name name version))))
    (build-system cmake-build-system)
    (arguments
     `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"
     `(#:cmake ,cmake-minimal-3.30
       #:configure-flags '("-DBUILD_SHARED_LIBS=ON"
                           "-DALLOW_EXTERNAL_SPIRV_TOOLS=ON"
                           ,@(if (target-riscv64?)
                                 `("-DCMAKE_EXE_LINKER_FLAGS=-latomic")


@@ 303,7 309,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(define-public vulkan-headers/no-loader
  (package
    (name "vulkan-headers")
    (version "1.3.280.0")
    (version "1.4.309.0")
    (source
     (origin
       (method git-fetch)


@@ 313,7 319,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
       (file-name (git-file-name name version))
       (sha256
        (base32
         "13mmv5621z73hlfnsrccbcb4z0d7kwj92a081701vbpss45a4whj"))))
         "0ncj4gqb5zmkgmd205frrq8rxxdqlissqpj2fq3wxkdbdyx7pwid"))))
    (build-system cmake-build-system)
    (arguments
     `(#:tests? #f))                    ; No tests.


@@ 347,7 353,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
(define-public vulkan-loader
  (package
    (name "vulkan-loader")
    (version "1.3.280.0")
    (version "1.4.309.0")
    (source
     (origin
       (method git-fetch)


@@ 357,7 363,7 @@ Enhanced Subpixel Morphological Anti-Aliasing
       (file-name (git-file-name name version))
       (sha256
        (base32
         "0glix3clqkdbi9kqcp8abmglqpgjd2r2bjqvi11r8sair0z54hnf"))))
         "1y6wqc8adzg7ndmbr95nzhcxf93qsfndfdnsym5pkbjfx454151d"))))
    (build-system cmake-build-system)
    (arguments
     (list


@@ 427,7 433,7 @@ and the ICD.")
(define-public vulkan-tools
  (package
    (name "vulkan-tools")
    (version "1.3.280.0")
    (version "1.4.309.0")
    (source
     (origin
       (method git-fetch)


@@ 442,7 448,7 @@ and the ICD.")
                     "// ASSERT_EQ(std::string(driver_properties.driverInfo)")))
       (sha256
        (base32
         "0w0m04vscr4a6vr682g3mn7mfni740cmai9ylzlgfdggb77y58xz"))))
         "0ywvvkra29y2cvw8i9laf4skn6cl7phrwshcc7z9dljb3il87cym"))))
    (build-system cmake-build-system)
    (inputs
     (list glslang libxrandr vulkan-loader wayland wayland-protocols))


@@ 468,7 474,7 @@ API.")
  (package
    (name "shaderc")
    ;; shaderc doesn't follow the versioning scheme of vulkan sdk
    (version "2024.0")
    (version "2025.1")
    (source
     (origin
       (method git-fetch)


@@ 478,7 484,7 @@ API.")
       (file-name (git-file-name name version))
       (sha256
        (base32
         "1m5jncn6y8c6g83f8nwh86hz33mvv03x7fyr5zq0ynwanrcpn2hb"))))
         "0hbsvyyy5fzgal83z8kx4a3x9d2fnd2fcs53l3s9n0pyybip3i5j"))))
    (build-system cmake-build-system)
    (arguments
     `(;; FIXME: Skip most of the tests, because enabling system gtest breaks


@@ 578,7 584,7 @@ shader compilation.")
(define-public vulkan-validationlayers
  (package
    (name "vulkan-validationlayers")
    (version "1.3.280.0")
    (version "1.4.309.0")
    (source (origin
              (method git-fetch)
              (uri (git-reference


@@ 593,7 599,7 @@ shader compilation.")
                           "")))
              (sha256
               (base32
                "1w6fsaicrgnzkj5vz2v86a2gk1n7478q6n66ac2920avnin9a64c"))))
                "1dvgbgfxcp3ypy06j5m561j1gag0hk40zqd477cdv1kizv6i7nsk"))))
    (build-system cmake-build-system)
    (inputs (list glslang
                  libxrandr


@@ 642,7 648,7 @@ use the Vulkan API.")
(define-public vulkan-volk
  (package
    (name "vulkan-volk")
    (version "1.3.280.0")
    (version "1.4.304")
    (source (origin
              (method git-fetch)
              (uri (git-reference


@@ 651,7 657,7 @@ use the Vulkan API.")
              (file-name (git-file-name name version))
              (sha256
               (base32
                "0x4jhc8n9c4k8svmmcaxxs613xbsav7wam94gacddlm738cwp13v"))))
                "0slgshhrr1l08wkc4n0ky2z670cfrnzw8gxdrznmja4ly13cc8pr"))))
    (build-system cmake-build-system)
    (arguments
     (list


@@ 681,7 687,7 @@ skipping loader dispatch overhead.")
(define-public vulkan-memory-allocator
  (package
    (name "vulkan-memory-allocator")
    (version "3.0.1")
    (version "3.2.1")
    (source
     (origin
       (method git-fetch)


@@ 692,7 698,7 @@ skipping loader dispatch overhead.")
       (file-name (git-file-name name version))
       (sha256
        (base32
         "1hpzjwl5bgqv9hmf1fdldihfllcbdg515f391a200klg0rnixdds"))))
         "0y8ccx080bqrgv71ggixxpl57vc5znq55rnvl4v4srfkjxhz6yiy"))))
    (build-system cmake-build-system)
    (arguments
     ;; no test


@@ 710,7 716,7 @@ storage.")
(define-public vulkan-utility-libraries
  (package
    (name "vulkan-utility-libraries")
    (version "1.3.280.0")
    (version "1.4.309.0")
    (source
     (origin
       (method git-fetch)


@@ 718,7 724,7 @@ storage.")
             (url "https://github.com/KhronosGroup/Vulkan-Utility-Libraries")
             (commit (string-append "vulkan-sdk-" version))))
       (sha256
        (base32 "17fmalilczs4x435f8kdx8bf0x5mnjhkmcp34xap8lanpbyzs84q"))
        (base32 "1ihk95gjszk9yn3r6xvda83qp7f463m86srj6cq43z01sk2naxkr"))
       (file-name (git-file-name name version))))
    (build-system cmake-build-system)
    (arguments

M gnu/packages/wm.scm => gnu/packages/wm.scm +1 -1
@@ 441,7 441,7 @@ loginctl commands (lock/unlock/before-sleep) and inhibit.")
           re2-next
           udis86
           wayland
           wayland-protocols-next
           wayland-protocols
           linux-libre-headers-6.14
           xcb-util-errors
           xcb-util-wm

M gnu/packages/xorg.scm => gnu/packages/xorg.scm +6 -5
@@ 37,7 37,7 @@
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023, 2024 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2023, 2024, 2025 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2023, 2024 Kaelyn Takata <kaelyn.alexi@protonmail.com>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>


@@ 3910,15 3910,16 @@ extension to the X11 protocol.  It includes:
(define-public xkeyboard-config
  (package
    (name "xkeyboard-config")
    (version "2.38")
    (version "2.44")
    (source (origin
              (method url-fetch)
              (uri (string-append
                    "ftp://ftp.freedesktop.org/pub/xorg//individual/data/xkeyboard-config/"
                    "xkeyboard-config-" version ".tar.xz"))
                    "mirror://xorg/individual/data/" name "/" name "-"
                    version
                    ".tar.xz"))
              (sha256
               (base32
                "0wn8asnbz111194ksi2mysa6ikn4kqgd9rpfydl8icc6mcdsk406"))))
                "0aillh6pmx5ji5jbqviq007vvg69ahz5832rz941s0xvxqzc7ljl"))))
    (build-system meson-build-system)
    (inputs (list libx11 xkbcomp-intermediate))
    (native-inputs (list gettext-minimal libxslt perl pkg-config python))