GNU bug report logs - #59386
[PATCH staging 00/11] Update vulkan-sdk packages to sdk-1.3.231.1.

Previous Next

Package: guix-patches;

Reported by: dan <i <at> dan.games>

Date: Sat, 19 Nov 2022 14:57:01 UTC

Severity: normal

Tags: patch

Done: Marius Bakke <marius <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 59386 in the body.
You can then email your comments to 59386 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#59386; Package guix-patches. (Sat, 19 Nov 2022 14:57:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to dan <i <at> dan.games>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 19 Nov 2022 14:57:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: dan <i <at> dan.games>
To: guix-patches <at> gnu.org
Subject: [PATCH staging 00/11] Update vulkan-sdk packages to sdk-1.3.231.1.
Date: Sat, 19 Nov 2022 22:56:07 +0800
Hello Guix,

This patch series update several vulkan-sdk packages to the latest sdk release
version sdk-1.3.231.1.  With each vulkan-sdk release, there is a config.json
file detailing all the version of the included packages[1].  To make sure
these packages are compatible, we introduced a variable %vulkan-sdk-version to
replace the [version] field of each vulkan-sdk packages.  One exception is
shaderc, which is developed by Google, and it uses its own versioning scheme.

For the versioning scheme of the vulkan-sdk, I intentionally included the
'sdk-' prefix into the version string since some of the packages used to have
their own versioning semantic and later changed to this kind of 'unified' sdk
versioning semantic, as Kaelyn explained in #58617[2].

Huge shout out to Kaelyn, who composed #57297 and #58617, trying to bring the
latest version of vulkan-sdk to guix.  I see recently #57297 got merged into
staging, and it would be a good chance to update these vulkan packages to
match the latest version.

[1]: https://sdk.lunarg.com/sdk/download/1.3.231.1/linux/config.json
[2]: https://issues.guix.gnu.org/58617

dan (11):
  gnu: spirv-headers: Replace version with %vulkan-sdk-version.
  gnu: spirv-tools: Replace version with %vulkan-sdk-version.
  gnu: glslang: Update to sdk-1.3.231.1.
  gnu: spirv-cross: Update to sdk-1.3.231.1.
  gnu: shaderc: Update to 2022.3.
  gnu: vulkan-headers: Update to sdk-1.3.231.1.
  gnu: vulkan-loader: Update to sdk-1.3.231.1.
  gnu: vulkan-tools: Update to sdk-1.3.231.1.
  gnu: vulkan-validationlayers: Update to sdk-1.3.231.1.
  gnu: Add volk.
  gnu: Add vulkan-memory-allocator.

 gnu/packages/vulkan.scm | 132 +++++++++++++++++++++++++++++-----------
 1 file changed, 98 insertions(+), 34 deletions(-)


base-commit: f8e1c9c003999cf20db2d7e5c1aa2c64c787056d
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#59386; Package guix-patches. (Sat, 19 Nov 2022 15:04:01 GMT) Full text and rfc822 format available.

Message #8 received at 59386 <at> debbugs.gnu.org (full text, mbox):

From: dan <i <at> dan.games>
To: 59386 <at> debbugs.gnu.org
Subject: [PATCH 01/11] gnu: spirv-headers: Replace version with
 %vulkan-sdk-version.
Date: Sat, 19 Nov 2022 23:02:38 +0800
* gnu/packages/vulkan.scm (spirv-headers) [version]: Replace with
%vulkan-sdk-version variable.
---
 gnu/packages/vulkan.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 57beee7f5b..6f08eab2a0 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -43,16 +43,18 @@ (define-module (gnu packages vulkan)
   #:use-module (gnu packages wine)
   #:use-module (gnu packages xorg))
 
+(define %vulkan-sdk-version "sdk-1.3.231.1")
+
 (define-public spirv-headers
   (package
     (name "spirv-headers")
-    (version "1.3.231.1")
+    (version %vulkan-sdk-version)
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/KhronosGroup/SPIRV-Headers")
-             (commit (string-append "sdk-" version))))
+             (commit version)))
        (sha256
         (base32
          "0z8b485hryya2g0jxv7amwg3fjj7pchbgnsa5ldf5fwgh5js0icm"))
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#59386; Package guix-patches. (Sat, 19 Nov 2022 15:04:02 GMT) Full text and rfc822 format available.

Message #11 received at 59386 <at> debbugs.gnu.org (full text, mbox):

From: dan <i <at> dan.games>
To: 59386 <at> debbugs.gnu.org
Subject: [PATCH 02/11] gnu: spirv-tools: Replace version with
 %vulkan-sdk-version.
Date: Sat, 19 Nov 2022 23:02:39 +0800
* gnu/packages/vulkan.scm (spirv-tools)[version]: Replace with
%vulkan-sdk-version.
The commit of tag '2022.4' and 'sdk-1.3.231.1' are the same.
---
 gnu/packages/vulkan.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 6f08eab2a0..d95c875c7a 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -80,13 +80,13 @@ (define-public spirv-headers
 (define-public spirv-tools
   (package
     (name "spirv-tools")
-    (version "2022.4")
+    (version %vulkan-sdk-version)
     (source
      (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/KhronosGroup/SPIRV-Tools")
-            (commit (string-append "v" version))))
+            (commit version)))
       (sha256
        (base32 "03d489ind2az7w7q1slj3mdc04372r3qqbnd7m9akxbg7yix1a5j"))
       (file-name (git-file-name name version))))
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#59386; Package guix-patches. (Sat, 19 Nov 2022 15:04:02 GMT) Full text and rfc822 format available.

Message #14 received at 59386 <at> debbugs.gnu.org (full text, mbox):

From: dan <i <at> dan.games>
To: 59386 <at> debbugs.gnu.org
Subject: [PATCH 03/11] gnu: glslang: Update to sdk-1.3.231.1.
Date: Sat, 19 Nov 2022 23:02:40 +0800
* gnu/packages/vulkan.scm (glslang): Update to sdk-1.3.231.1.
---
 gnu/packages/vulkan.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index d95c875c7a..1d5677cfb6 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -155,7 +155,7 @@ (define-public spirv-cross
 (define-public glslang
   (package
     (name "glslang")
-    (version "11.9.0")
+    (version %vulkan-sdk-version)
     (source
      (origin
        (method git-fetch)
@@ -164,7 +164,7 @@ (define-public glslang
              (commit version)))
        (sha256
         (base32
-         "1q6gjlx2y6g0hfvahnw063anb4yb4ky82hfh3b7nbsm43crzzfb0"))
+         "12a1zl8qxa28nbf6m67260c0lwdw3bqbj0jz1382wgm5px1fpqw6"))
        (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (arguments
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#59386; Package guix-patches. (Sat, 19 Nov 2022 15:04:02 GMT) Full text and rfc822 format available.

Message #17 received at 59386 <at> debbugs.gnu.org (full text, mbox):

From: dan <i <at> dan.games>
To: 59386 <at> debbugs.gnu.org
Subject: [PATCH 04/11] gnu: spirv-cross: Update to sdk-1.3.231.1.
Date: Sat, 19 Nov 2022 23:02:41 +0800
* gnu/packages/vulkan.scm (spirv-cross): Update to sdk-1.3.231.1.
---
 gnu/packages/vulkan.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 1d5677cfb6..5a2294d6bc 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -112,7 +112,7 @@ (define-public spirv-tools
 (define-public spirv-cross
   (package
     (name "spirv-cross")
-    (version "2020-05-19")
+    (version %vulkan-sdk-version)
     (source
      (origin
        (method git-fetch)
@@ -120,7 +120,7 @@ (define-public spirv-cross
              (url "https://github.com/KhronosGroup/SPIRV-Cross")
              (commit version)))
        (sha256
-        (base32 "0zyijp9zx9wbd4i5lwjap7n793iz6yjkf27la60dsffxl75yy9pd"))
+        (base32 "1ypbc1krkr0yywa1m976g3sjyb80l7hxwrnh6gp70w6va1dlnnn9"))
        (file-name (git-file-name name version))))
     (build-system cmake-build-system)
     (arguments
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#59386; Package guix-patches. (Sat, 19 Nov 2022 15:04:03 GMT) Full text and rfc822 format available.

Message #20 received at 59386 <at> debbugs.gnu.org (full text, mbox):

From: dan <i <at> dan.games>
To: 59386 <at> debbugs.gnu.org
Subject: [PATCH 05/11] gnu: shaderc: Update to 2022.3.
Date: Sat, 19 Nov 2022 23:02:42 +0800
* gnu/packages/vulkan.scm (shaderc): Update to 2022.3.
---
 gnu/packages/vulkan.scm | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 5a2294d6bc..3440c671dc 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -296,7 +296,8 @@ (define-public vulkan-tools
 (define-public shaderc
   (package
     (name "shaderc")
-    (version "2021.3")
+    ;; shaderc doesn't follow the versioning scheme of vulkan sdk
+    (version "2022.3")
     (source
      (origin
        (method git-fetch)
@@ -306,7 +307,7 @@ (define-public shaderc
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0qjwixcx74dvx68jl51x2mp2q1346hvhwxr8w3wk36nzla62k2s6"))))
+         "0sdbfi66zmqj0c5q5yv2zvcvry7557yzgxk2mwflyjgqh7kdhb8d"))))
     (build-system cmake-build-system)
     (arguments
      `(;; FIXME: Skip most of the tests, because enabling system gtest breaks
@@ -338,7 +339,16 @@ (define-public shaderc
                          ,version
                          ,(package-version spirv-tools)
                          ,(package-version glslang))))
-             #t)))))
+             #t))
+         ;; see: https://github.com/google/shaderc/pull/1276
+         (add-after 'do-not-look-for-bundled-sources 'drop-additional-glslang-deps
+           (lambda _
+             (substitute* "glslc/CMakeLists.txt"
+               (("OSDependent OGLCompiler") ""))
+             (substitute* "libshaderc/CMakeLists.txt"
+               (("OSDependent OGLCompiler") ""))
+             (substitute* "libshaderc_util/CMakeLists.txt"
+               (("OSDependent OGLCompiler") "")))))))
     (inputs
      (list glslang python spirv-headers spirv-tools))
     (native-inputs
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#59386; Package guix-patches. (Sat, 19 Nov 2022 15:04:03 GMT) Full text and rfc822 format available.

Message #23 received at 59386 <at> debbugs.gnu.org (full text, mbox):

From: dan <i <at> dan.games>
To: 59386 <at> debbugs.gnu.org
Subject: [PATCH 08/11] gnu: vulkan-tools: Update to sdk-1.3.231.1.
Date: Sat, 19 Nov 2022 23:02:45 +0800
* gnu/packages/vulkan.scm (vulkan-tools): Update to sdk-1.3.231.1.
---
 gnu/packages/vulkan.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 7fddbbd52e..3c094cd3d3 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -264,20 +264,20 @@ (define-public vulkan-loader
 (define-public vulkan-tools
   (package
     (name "vulkan-tools")
-    (version "1.2.201")
+    (version %vulkan-sdk-version)
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/KhronosGroup/Vulkan-Tools")
-             (commit (string-append "v" version))))
+             (commit version)))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1ik90d7pygaw2pq81brqmcjiczag3biqvgpqp3cpws07glf29lf9"))))
+         "0jzwjfx4c7y15wkwfhhc64rzljpi47bxrm5jw5blfsqjh8zsd27a"))))
     (build-system cmake-build-system)
     (inputs
-     (list glslang libxrandr vulkan-loader wayland))
+     (list glslang libxrandr vulkan-loader wayland wayland-protocols))
     (native-inputs
      (list pkg-config python vulkan-headers))
     (arguments
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#59386; Package guix-patches. (Sat, 19 Nov 2022 15:04:04 GMT) Full text and rfc822 format available.

Message #26 received at 59386 <at> debbugs.gnu.org (full text, mbox):

From: dan <i <at> dan.games>
To: 59386 <at> debbugs.gnu.org
Subject: [PATCH 06/11] gnu: vulkan-headers: Update to sdk-1.3.231.1.
Date: Sat, 19 Nov 2022 23:02:43 +0800
* gnu/packages/vulkan.scm (vulkan-headers): Update to sdk-1.3.231.1.
---
 gnu/packages/vulkan.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 3440c671dc..bb50b6f13c 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -187,17 +187,17 @@ (define-public glslang
 (define-public vulkan-headers
   (package
     (name "vulkan-headers")
-    (version "1.2.202")
+    (version %vulkan-sdk-version)
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/KhronosGroup/Vulkan-Headers")
-             (commit (string-append "v" version))))
+             (commit version)))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0lsjpxqb7k2mf0w1qadpki6vnwxr29kjg5y1jafl3pvk0mdy1azj"))))
+         "167zdank6pn66mzjdwgrdlmhmsy4v2k0nhw0nwg649k863rgi00j"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f))                    ; No tests.
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#59386; Package guix-patches. (Sat, 19 Nov 2022 15:04:04 GMT) Full text and rfc822 format available.

Message #29 received at 59386 <at> debbugs.gnu.org (full text, mbox):

From: dan <i <at> dan.games>
To: 59386 <at> debbugs.gnu.org
Subject: [PATCH 09/11] gnu: vulkan-validationlayers: Update to sdk-1.3.231.1.
Date: Sat, 19 Nov 2022 23:02:46 +0800
* gnu/packages/vulkan.scm (vulkan-validationlayers): Update to sdk-1.3.231.1.
---
 gnu/packages/vulkan.scm | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 3c094cd3d3..330df898e5 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -411,17 +411,17 @@ (define-public vkd3d
 (define-public vulkan-validationlayers
   (package
     (name "vulkan-validationlayers")
-    (version "1.2.201")
+    (version %vulkan-sdk-version)
     (source (origin
               (method git-fetch)
               (uri (git-reference
                     (url
                      "https://github.com/KhronosGroup/Vulkan-ValidationLayers")
-                    (commit (string-append "v" version))))
+                    (commit version)))
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1jnz9cmy5d5g6jh9p4wr0qrlqlpfp07b3cizq37i5p1bcabdgmrz"))))
+                "07djrk6yym4vl2b52wr09r8y649v5lark5hnr5rwvlxwxdmd9g75"))))
     (build-system cmake-build-system)
     (inputs (list glslang
                   libxrandr
@@ -435,16 +435,10 @@ (define-public vulkan-validationlayers
      (list #:tests? #f ;no tests
            #:configure-flags
            #~(list "-DUSE_ROBIN_HOOD_HASHING=OFF"
-                   (string-append "-DGLSLANG_INSTALL_DIR="
-                                  (dirname (dirname
-                                            (search-input-directory
-                                             %build-inputs
-                                             "include/glslang"))))
-                   (string-append "-DSPIRV_HEADERS_INSTALL_DIR="
-                                  (dirname (dirname
-                                            (search-input-directory
-                                             %build-inputs
-                                             "include/spirv"))))
+                   (string-append "-DGLSLANG_INSTALL_DIR=" #$glslang)
+                   (string-append "-DSPIRV_HEADERS_INSTALL_DIR=" #$spirv-headers)
+                   (string-append "-DSPIRV_TOOLS_INSTALL_DIR=" #$spirv-tools)
+                   (string-append "-DVULKAN_HEADERS_INSTALL_DIR=" #$vulkan-headers)
                    "-Wno-dev")
            #:phases #~(modify-phases %standard-phases
                         (add-after 'install 'set-layer-path-in-manifest
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#59386; Package guix-patches. (Sat, 19 Nov 2022 15:04:05 GMT) Full text and rfc822 format available.

Message #32 received at 59386 <at> debbugs.gnu.org (full text, mbox):

From: dan <i <at> dan.games>
To: 59386 <at> debbugs.gnu.org
Subject: [PATCH 07/11] gnu: vulkan-loader: Update to sdk-1.3.231.1.
Date: Sat, 19 Nov 2022 23:02:44 +0800
* gnu/packages/vulkan.scm (vulkan-loader): Update to sdk-1.3.231.1.
---
 gnu/packages/vulkan.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index bb50b6f13c..7fddbbd52e 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -211,17 +211,17 @@ (define-public vulkan-headers
 (define-public vulkan-loader
   (package
     (name "vulkan-loader")
-    (version "1.2.202")
+    (version %vulkan-sdk-version)
     (source
      (origin
        (method git-fetch)
        (uri (git-reference
              (url "https://github.com/KhronosGroup/Vulkan-Loader")
-             (commit (string-append "v" version))))
+             (commit version)))
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1vsaa16clncz19lihgj39rdg4dspkxjay1ii6pkf6fpl1vkw1dh2"))))
+         "0jx3hbmk0rlmh8mrwhn3l6ph6by3035pbndvm5ppikpljkf9lrhx"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#59386; Package guix-patches. (Sat, 19 Nov 2022 15:04:05 GMT) Full text and rfc822 format available.

Message #35 received at 59386 <at> debbugs.gnu.org (full text, mbox):

From: dan <i <at> dan.games>
To: 59386 <at> debbugs.gnu.org
Subject: [PATCH 10/11] gnu: Add volk.
Date: Sat, 19 Nov 2022 23:02:47 +0800
* gnu/packages/vulkan.scm (volk): New variable.
---
 gnu/packages/vulkan.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 330df898e5..0e40de0e39 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -457,3 +457,36 @@ (define-public vulkan-validationlayers
 can assist development by enabling developers to verify their applications correctly
 use the Vulkan API.")
     (license license:asl2.0)))
+
+(define-public volk
+  (package
+    (name "volk")
+    (version %vulkan-sdk-version)
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url
+                     "https://github.com/zeux/volk")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0xaw3kg754mknx8lfj1p74a9npjfvdvlpicvn0hla4495zpc10rq"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f     ; no test
+       #:configure-flags (list "-DVOLK_INSTALL=ON"
+                               "-DVOLK_PULL_IN_VULKAN=ON")))
+    (inputs
+     (list vulkan-headers))
+    (synopsis "Meta loader for Vulkan API")
+    (description
+     "volk is a meta-loader for Vulkan. It allows you to dynamically load
+entrypoints required to use Vulkan without linking to vulkan-1.dll or
+statically linking Vulkan loader. Additionally, volk simplifies the use of
+Vulkan extensions by automatically loading all associated
+entrypoints. Finally, volk enables loading Vulkan entrypoints directly from
+the driver which can increase performance by skipping loader dispatch
+overhead.")
+    (home-page "https://github.com/zeux/volk")
+    (license license:expat)))
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#59386; Package guix-patches. (Sat, 19 Nov 2022 15:04:05 GMT) Full text and rfc822 format available.

Message #38 received at 59386 <at> debbugs.gnu.org (full text, mbox):

From: dan <i <at> dan.games>
To: 59386 <at> debbugs.gnu.org
Subject: [PATCH 11/11] gnu: Add vulkan-memory-allocator.
Date: Sat, 19 Nov 2022 23:02:48 +0800
* gnu/packages/vulkan.scm (vulkan-memory-allocator): New variable.
---
 gnu/packages/vulkan.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 0e40de0e39..78c89af1ba 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2020 Marius Bakke <mbakke <at> fastmail.com>
 ;;; Copyright © 2021 Mathieu Othacehe <othacehe <at> gnu.org>
 ;;; Copyright © 2022 Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
+;;; Copyright © 2022 dan <i <at> dan.games>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -490,3 +491,27 @@ (define-public volk
 overhead.")
     (home-page "https://github.com/zeux/volk")
     (license license:expat)))
+
+(define-public vulkan-memory-allocator
+  (package
+    (name "vulkan-memory-allocator")
+    (version "3.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator"
+                    "/archive/refs/tags/v" version ".tar.gz"))
+              (sha256
+               (base32
+                "031nd9lrbi8j88aax94mszrx32nai8cjm061kl5m9gqh5lmpd11a"))))
+    (build-system cmake-build-system)
+    (arguments
+     ; no test
+     `(#:tests? #f))
+    (inputs
+     (list vulkan-loader
+           vulkan-headers))
+    (synopsis "Easy to integrate Vulkan memory allocation library")
+    (description "Easy to integrate Vulkan memory allocation library.")
+    (home-page "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator")
+    (license license:expat)))
-- 
2.38.1





Information forwarded to guix-patches <at> gnu.org:
bug#59386; Package guix-patches. (Sun, 20 Nov 2022 08:07:02 GMT) Full text and rfc822 format available.

Message #41 received at 59386 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <marius <at> gnu.org>
To: dan <i <at> dan.games>, 59386 <at> debbugs.gnu.org
Subject: Re: [bug#59386] [PATCH staging 00/11] Update vulkan-sdk packages to
 sdk-1.3.231.1.
Date: Sun, 20 Nov 2022 09:06:04 +0100
[Message part 1 (text/plain, inline)]
dan <i <at> dan.games> skriver:

> Hello Guix,
>
> This patch series update several vulkan-sdk packages to the latest sdk release
> version sdk-1.3.231.1.  With each vulkan-sdk release, there is a config.json
> file detailing all the version of the included packages[1].  To make sure
> these packages are compatible, we introduced a variable %vulkan-sdk-version to
> replace the [version] field of each vulkan-sdk packages.  One exception is
> shaderc, which is developed by Google, and it uses its own versioning scheme.

Thanks for this explanation.

> For the versioning scheme of the vulkan-sdk, I intentionally included the
> 'sdk-' prefix into the version string since some of the packages used to have
> their own versioning semantic and later changed to this kind of 'unified' sdk
> versioning semantic, as Kaelyn explained in #58617[2].

Makes sense.  I'm partial to removing "sdk-" from %vulkan-sdk-version
and instead use (commit (string-append "sdk-" version)) in sources, but
no strong opinion.

(feedback from other contributors wanted!)

> Huge shout out to Kaelyn, who composed #57297 and #58617, trying to bring the
> latest version of vulkan-sdk to guix.  I see recently #57297 got merged into
> staging, and it would be a good chance to update these vulkan packages to
> match the latest version.

Great, thank you!  I've applied the patches up to and including 'volk'
with minor tweaks and will comment separately on the remaining patch +
changes done.

> [1]: https://sdk.lunarg.com/sdk/download/1.3.231.1/linux/config.json
> [2]: https://issues.guix.gnu.org/58617
>
> dan (11):
>   gnu: spirv-headers: Replace version with %vulkan-sdk-version.
>   gnu: spirv-tools: Replace version with %vulkan-sdk-version.
>   gnu: glslang: Update to sdk-1.3.231.1.
>   gnu: spirv-cross: Update to sdk-1.3.231.1.
>   gnu: shaderc: Update to 2022.3.
>   gnu: vulkan-headers: Update to sdk-1.3.231.1.
>   gnu: vulkan-loader: Update to sdk-1.3.231.1.
>   gnu: vulkan-tools: Update to sdk-1.3.231.1.
>   gnu: vulkan-validationlayers: Update to sdk-1.3.231.1.
>   gnu: Add volk.
>   gnu: Add vulkan-memory-allocator.
>
>  gnu/packages/vulkan.scm | 132 +++++++++++++++++++++++++++++-----------
>  1 file changed, 98 insertions(+), 34 deletions(-)
>
>
> base-commit: f8e1c9c003999cf20db2d7e5c1aa2c64c787056d
> -- 
> 2.38.1
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#59386; Package guix-patches. (Sun, 20 Nov 2022 08:12:01 GMT) Full text and rfc822 format available.

Message #44 received at 59386 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <marius <at> gnu.org>
To: dan <i <at> dan.games>, 59386 <at> debbugs.gnu.org
Subject: Re: [bug#59386] [PATCH 09/11] gnu: vulkan-validationlayers: Update
 to sdk-1.3.231.1.
Date: Sun, 20 Nov 2022 09:11:36 +0100
[Message part 1 (text/plain, inline)]
dan <i <at> dan.games> skriver:

> * gnu/packages/vulkan.scm (vulkan-validationlayers): Update to sdk-1.3.231.1.

This forgot to mention the changes to [arguments].

[...]

> @@ -435,16 +435,10 @@ (define-public vulkan-validationlayers
>       (list #:tests? #f ;no tests
>             #:configure-flags
>             #~(list "-DUSE_ROBIN_HOOD_HASHING=OFF"
> -                   (string-append "-DGLSLANG_INSTALL_DIR="
> -                                  (dirname (dirname
> -                                            (search-input-directory
> -                                             %build-inputs
> -                                             "include/glslang"))))
> -                   (string-append "-DSPIRV_HEADERS_INSTALL_DIR="
> -                                  (dirname (dirname
> -                                            (search-input-directory
> -                                             %build-inputs
> -                                             "include/spirv"))))
> +                   (string-append "-DGLSLANG_INSTALL_DIR=" #$glslang)
> +                   (string-append "-DSPIRV_HEADERS_INSTALL_DIR=" #$spirv-headers)
> +                   (string-append "-DSPIRV_TOOLS_INSTALL_DIR=" #$spirv-tools)
> +                   (string-append "-DVULKAN_HEADERS_INSTALL_DIR=" #$vulkan-headers)

Avoid referencing variables directly in arguments.  Otherwise
transformations such as --with-input etc can't work.

I reverted back to the original (but arguably ugly!)
search-input-directory style, and added similar incantations for
SPIRV_TOOLS_INSTALL_DIR and VULKAN_HEADERS_INSTALL_DIR.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#59386; Package guix-patches. (Sun, 20 Nov 2022 08:15:01 GMT) Full text and rfc822 format available.

Message #47 received at 59386 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <marius <at> gnu.org>
To: dan <i <at> dan.games>, 59386 <at> debbugs.gnu.org
Subject: Re: [bug#59386] [PATCH 10/11] gnu: Add volk.
Date: Sun, 20 Nov 2022 09:14:03 +0100
[Message part 1 (text/plain, inline)]
dan <i <at> dan.games> skriver:

> * gnu/packages/vulkan.scm (volk): New variable.

[...]

> +(define-public volk
> +  (package
> +    (name "volk")
> +    (version %vulkan-sdk-version)
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url
> +                     "https://github.com/zeux/volk")
> +                    (commit version)))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "0xaw3kg754mknx8lfj1p74a9npjfvdvlpicvn0hla4495zpc10rq"))))
> +    (build-system cmake-build-system)
> +    (arguments
> +     `(#:tests? #f     ; no test
> +       #:configure-flags (list "-DVOLK_INSTALL=ON"
> +                               "-DVOLK_PULL_IN_VULKAN=ON")))

I ran this through 'guix style' ...

> +    (inputs
> +     (list vulkan-headers))
> +    (synopsis "Meta loader for Vulkan API")
> +    (description
> +     "volk is a meta-loader for Vulkan. It allows you to dynamically load
> +entrypoints required to use Vulkan without linking to vulkan-1.dll or
> +statically linking Vulkan loader. Additionally, volk simplifies the use of
> +Vulkan extensions by automatically loading all associated
> +entrypoints. Finally, volk enables loading Vulkan entrypoints directly from
> +the driver which can increase performance by skipping loader dispatch
> +overhead.")

... and simplified the description somewhat, + added two spaces after
sentences ('guix lint' should warn about this).
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#59386; Package guix-patches. (Sun, 20 Nov 2022 08:25:02 GMT) Full text and rfc822 format available.

Message #50 received at 59386 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <marius <at> gnu.org>
To: dan <i <at> dan.games>, 59386 <at> debbugs.gnu.org
Subject: Re: [bug#59386] [PATCH 11/11] gnu: Add vulkan-memory-allocator.
Date: Sun, 20 Nov 2022 09:24:40 +0100
[Message part 1 (text/plain, inline)]
dan <i <at> dan.games> skriver:

> * gnu/packages/vulkan.scm (vulkan-memory-allocator): New variable.

[...]

> +(define-public vulkan-memory-allocator
> +  (package
> +    (name "vulkan-memory-allocator")
> +    (version "3.0.1")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator"
> +                    "/archive/refs/tags/v" version ".tar.gz"))

The GitHub "/archive" URLs are not stable: the tarballs are generated on
demand and cached; when the cache expires they get regenerated with
different time stamps.

Use git-fetch instead.

> +    (build-system cmake-build-system)
> +    (arguments
> +     ; no test
> +     `(#:tests? #f))
> +    (inputs
> +     (list vulkan-loader
> +           vulkan-headers))

Please run './pre-inst-env guix style vulkan-memory-allocator'.  :-)

> +    (synopsis "Easy to integrate Vulkan memory allocation library")

Just 'Vulkan memory allocation library' is sufficient.

> +    (description "Easy to integrate Vulkan memory allocation library.")

Can you turn this into a full sentence, i.e. "vulkan-memory-allocator is
an easy to integrate ...", ideally with some information about what that
means for potential users?

Can you send an updated patch?

TIA!
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#59386; Package guix-patches. (Sun, 20 Nov 2022 13:53:02 GMT) Full text and rfc822 format available.

Message #53 received at 59386 <at> debbugs.gnu.org (full text, mbox):

From: dan <i <at> dan.games>
To: 59386 <at> debbugs.gnu.org
Cc: marius <at> gnu.org
Subject: [PATCH] gnu: Add vulkan-memory-allocator.
Date: Sun, 20 Nov 2022 21:49:31 +0800
* gnu/packages/vulkan.scm (vulkan-memory-allocator): New variable.
---
 gnu/packages/vulkan.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 95b8542133..cbad4f3abc 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2020 Marius Bakke <mbakke <at> fastmail.com>
 ;;; Copyright © 2021 Mathieu Othacehe <othacehe <at> gnu.org>
 ;;; Copyright © 2022 Kaelyn Takata <kaelyn.alexi <at> protonmail.com>
+;;; Copyright © 2022 dan <i <at> dan.games>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -502,3 +503,30 @@ (define-public volk
 skipping loader dispatch overhead.")
     (home-page "https://github.com/zeux/volk")
     (license license:expat)))
+
+(define-public vulkan-memory-allocator
+  (package
+    (name "vulkan-memory-allocator")
+    (version "3.0.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url
+                     "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator")
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32
+                "1hpzjwl5bgqv9hmf1fdldihfllcbdg515f391a200klg0rnixdds"))))
+    (build-system cmake-build-system)
+    (arguments
+     ;; no test
+     `(#:tests? #f))
+    (inputs (list vulkan-loader vulkan-headers))
+    (synopsis "Vulkan memory allocation library")
+    (description
+     "The Vulkan Memory Allocator (VMA) library provides a simple and easy to
+integrate API to help users allocate memory for Vulkan buffer and image
+storage.")
+    (home-page
+     "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator")
+    (license license:expat)))
-- 
2.38.1





Reply sent to Marius Bakke <marius <at> gnu.org>:
You have taken responsibility. (Sun, 20 Nov 2022 16:26:02 GMT) Full text and rfc822 format available.

Notification sent to dan <i <at> dan.games>:
bug acknowledged by developer. (Sun, 20 Nov 2022 16:26:02 GMT) Full text and rfc822 format available.

Message #58 received at 59386-done <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <marius <at> gnu.org>
To: dan <i <at> dan.games>, 59386-done <at> debbugs.gnu.org
Subject: Re: [PATCH] gnu: Add vulkan-memory-allocator.
Date: Sun, 20 Nov 2022 17:25:04 +0100
[Message part 1 (text/plain, inline)]
dan <i <at> dan.games> skriver:

> * gnu/packages/vulkan.scm (vulkan-memory-allocator): New variable.

Applied, thanks!

I added a (file-name ...) field to the source and reindented to shorten
line lengths.

Great job on the description.  :-)

Pushed as cae97cd773befcc68ce0ba8709e50c8697b7f0d3.
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 19 Dec 2022 12:24:13 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 180 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.