From e5e599570651e926ffe41c166574b96d01073691 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= Date: Tue, 12 Dec 2023 09:20:53 +0100 Subject: [PATCH 01/16] Convert to %autorelease and %autochangelog [skip changelog] --- changelog | 5 +++++ vkroots.spec | 8 ++------ 2 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..22ceca5 --- /dev/null +++ b/changelog @@ -0,0 +1,5 @@ +* Tue Jul 25 2023 Frantisek Zatloukal - 0^20230313gite554d4c-1 +- Rebase to a later snapshot + +* Fri Mar 03 2023 Onuralp SEZER - 0^20230103git2675710-1 +- Initial package vkroots diff --git a/vkroots.spec b/vkroots.spec index 43b264a..ec7153f 100644 --- a/vkroots.spec +++ b/vkroots.spec @@ -5,7 +5,7 @@ Name: vkroots Version: 0^%{git_date}git%{shortcommit} -Release: 1%{?dist} +Release: %autorelease Summary: A stupid simple method of making Vulkan layers, at home License: LGPL-2.1-or-later AND (Apache-2.0 or MIT) URL: https://github.com/Joshua-Ashton/vkroots @@ -50,8 +50,4 @@ takes all the complexity/hastle away from you. It's so simple. %changelog -* Tue Jul 25 2023 Frantisek Zatloukal - 0^20230313gite554d4c-1 -- Rebase to a later snapshot - -* Fri Mar 03 2023 Onuralp SEZER - 0^20230103git2675710-1 -- Initial package vkroots +%autochangelog From a693b1775470bab944d61339349165587b377168 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= Date: Tue, 12 Dec 2023 09:26:42 +0100 Subject: [PATCH 02/16] Rebase to 20231119 --- .gitignore | 1 + sources | 2 +- vkroots.spec | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index ebd3cb6..470353e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /vkroots-e554d4c.tar.gz +/vkroots-2ceb105.tar.gz diff --git a/sources b/sources index eee3509..073ed25 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (vkroots-e554d4c.tar.gz) = fb4d14d030e825d92a4d96e87ffd7febd858a5516fadfa68d4c3907dff5c652d0f284e453ae1877df4ecffc8a59e65c7d933034519c0f59da920c29daeb3cba0 +SHA512 (vkroots-2ceb105.tar.gz) = 96de173c9e44b1e367e44b7d49f2dbb2485b97c6426e92028c40bdc617375f0e65e87763baf8339c4cbafdb759044c2cad62a5ad24cab2325a171b47817c27f3 diff --git a/vkroots.spec b/vkroots.spec index ec7153f..3701418 100644 --- a/vkroots.spec +++ b/vkroots.spec @@ -1,7 +1,7 @@ %global debug_package %{nil} -%global commit e554d4c184805523d6db3642afcde85e9d83c50c +%global commit 2ceb105700e23842bec0e56a0a2cbd5885dfcf4b %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global git_date 20230313 +%global git_date 20231119 Name: vkroots Version: 0^%{git_date}git%{shortcommit} From 616086b21d11b3de195fc9e4dc607cb79ce2f025 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jan 2024 08:03:32 +0000 Subject: [PATCH 03/16] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 4b0ed3e825a8f6fc1d80669537d00747122f85c9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 08:55:35 +0000 Subject: [PATCH 04/16] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From ab2b6dbf7a7c91c2cf16051d0cee28548ed5e515 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= Date: Sat, 10 Aug 2024 19:44:07 -0400 Subject: [PATCH 05/16] Resync to 20240429 --- .gitignore | 1 + sources | 2 +- vkroots.spec | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 470353e..92c4eec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /vkroots-e554d4c.tar.gz /vkroots-2ceb105.tar.gz +/vkroots-5106d8a.tar.gz diff --git a/sources b/sources index 073ed25..19c2f4c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (vkroots-2ceb105.tar.gz) = 96de173c9e44b1e367e44b7d49f2dbb2485b97c6426e92028c40bdc617375f0e65e87763baf8339c4cbafdb759044c2cad62a5ad24cab2325a171b47817c27f3 +SHA512 (vkroots-5106d8a.tar.gz) = 726e65dd0bb322d537e985ba2e504c68ef1b474574f11a5b102edcb8a7b74a6d86dea132c3b11417399a00beff9163e7aad413a389cf6073ec44d5ce6175ffc5 diff --git a/vkroots.spec b/vkroots.spec index 3701418..d10d8d1 100644 --- a/vkroots.spec +++ b/vkroots.spec @@ -1,7 +1,7 @@ %global debug_package %{nil} -%global commit 2ceb105700e23842bec0e56a0a2cbd5885dfcf4b +%global commit 5106d8a0df95de66cc58dc1ea37e69c99afc9540 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global git_date 20231119 +%global git_date 20240429 Name: vkroots Version: 0^%{git_date}git%{shortcommit} From 3660a51ccebf7379b4a857e9b7d0e6200fae3b20 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 14:31:15 +0000 Subject: [PATCH 06/16] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From be583165e7b66a7d052fd52789795ad5f4836006 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 20:10:37 +0000 Subject: [PATCH 07/16] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 3911ae40aca9a6e80c60d8560e61b26f5ef92d39 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 20:00:15 +0000 Subject: [PATCH 08/16] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild From 9311385e5c5a4175752018e46492e6faff1aca94 Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Sun, 25 Jan 2026 11:13:07 +0100 Subject: [PATCH 09/16] Update to latest snapshot --- .gitignore | 1 + sources | 2 +- vkroots.spec | 6 +++--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 92c4eec..b294e12 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /vkroots-e554d4c.tar.gz /vkroots-2ceb105.tar.gz /vkroots-5106d8a.tar.gz +/vkroots-51c3213.tar.gz diff --git a/sources b/sources index 19c2f4c..8631daf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (vkroots-5106d8a.tar.gz) = 726e65dd0bb322d537e985ba2e504c68ef1b474574f11a5b102edcb8a7b74a6d86dea132c3b11417399a00beff9163e7aad413a389cf6073ec44d5ce6175ffc5 +SHA512 (vkroots-51c3213.tar.gz) = 1c6c16897dfbdd23421b67c750b30c1e37c020fb032ebb7715c9782761b93c46bcaf8c9a810cc9e1814ee271a49072a6a2d6a2e5ce8fbb63cbb5df134e1b69fa diff --git a/vkroots.spec b/vkroots.spec index d10d8d1..eda8e86 100644 --- a/vkroots.spec +++ b/vkroots.spec @@ -1,7 +1,7 @@ %global debug_package %{nil} -%global commit 5106d8a0df95de66cc58dc1ea37e69c99afc9540 +%global commit 51c32131da197a38c340da2537cbfd695e6ede78 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global git_date 20240429 +%global git_date 20250716 Name: vkroots Version: 0^%{git_date}git%{shortcommit} @@ -11,7 +11,7 @@ License: LGPL-2.1-or-later AND (Apache-2.0 or MIT) URL: https://github.com/Joshua-Ashton/vkroots Source: %{url}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz -BuildRequires: meson +BuildRequires: meson >= 0.58.0 BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: vulkan-headers From a854e8972a246ce09374bf75c5254f4d2a5274a2 Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Mon, 26 Jan 2026 16:03:23 +0100 Subject: [PATCH 10/16] Package is architecture independent --- 12.patch | 21 +++++++++++++++++++++ vkroots.spec | 5 ++++- 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 12.patch diff --git a/12.patch b/12.patch new file mode 100644 index 0000000..b14f3f0 --- /dev/null +++ b/12.patch @@ -0,0 +1,21 @@ +From e3df1afc8d2181815056a305bb596e64b388894c Mon Sep 17 00:00:00 2001 +From: pchome +Date: Sun, 13 Apr 2025 17:36:02 +0300 +Subject: [PATCH] Fix pkgconfig install dir + +--- + meson.build | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 06d7117..4a1f9d2 100644 +--- a/meson.build ++++ b/meson.build +@@ -18,5 +18,6 @@ pkgconfig.generate( + filebase: meson.project_name(), + name: meson.project_name(), + description: 'Vulkan layers library', +- subdirs: '.' ++ subdirs: '.', ++ install_dir: 'share/pkgconfig' + ) diff --git a/vkroots.spec b/vkroots.spec index eda8e86..7f0c32c 100644 --- a/vkroots.spec +++ b/vkroots.spec @@ -9,7 +9,10 @@ Release: %autorelease Summary: A stupid simple method of making Vulkan layers, at home License: LGPL-2.1-or-later AND (Apache-2.0 or MIT) URL: https://github.com/Joshua-Ashton/vkroots +BuildArch: noarch + Source: %{url}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz +Patch: https://patch-diff.githubusercontent.com/raw/misyltoad/vkroots/pull/12.patch BuildRequires: meson >= 0.58.0 BuildRequires: gcc @@ -46,7 +49,7 @@ takes all the complexity/hastle away from you. It's so simple. %license LICENSE %doc README.md %{_includedir}/%{name}.h -%{_libdir}/pkgconfig/%{name}.pc +%{_datadir}/pkgconfig/%{name}.pc %changelog From 38c85349c21bab1bb50ef6e0cfcc2489b56527d4 Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Mon, 26 Jan 2026 16:04:01 +0100 Subject: [PATCH 11/16] Unfortunately it's compatible only with headers at 1.4.322+ --- vkroots.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vkroots.spec b/vkroots.spec index 7f0c32c..d168170 100644 --- a/vkroots.spec +++ b/vkroots.spec @@ -17,7 +17,7 @@ Patch: https://patch-diff.githubusercontent.com/raw/misyltoad/vkroots/p BuildRequires: meson >= 0.58.0 BuildRequires: gcc BuildRequires: gcc-c++ -BuildRequires: vulkan-headers +BuildRequires: vulkan-headers >= 1.4.322 %description From 9b949f4e54225d5e67ac6272d7746aa49cb33e28 Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Mon, 26 Jan 2026 16:40:24 +0100 Subject: [PATCH 12/16] Re-generate vkroots.h file based on the installed Vulkan Headers version --- vkroots.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/vkroots.spec b/vkroots.spec index d168170..a785a1f 100644 --- a/vkroots.spec +++ b/vkroots.spec @@ -17,7 +17,7 @@ Patch: https://patch-diff.githubusercontent.com/raw/misyltoad/vkroots/p BuildRequires: meson >= 0.58.0 BuildRequires: gcc BuildRequires: gcc-c++ -BuildRequires: vulkan-headers >= 1.4.322 +BuildRequires: vulkan-headers %description @@ -35,6 +35,10 @@ takes all the complexity/hastle away from you. It's so simple. %prep %autosetup -p1 -n %{name}-%{commit} +# Autogenerate the header based on the installed Vulkan Headers +cd gen +./make_vkroots -v -x /usr/share/vulkan/registry/vk.xml + %build %meson From 7896468712351ed8a5c95dbb79fac5439504ab9e Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Thu, 25 Jun 2026 14:54:08 +0200 Subject: [PATCH 13/16] Fix issue when two vkroots layers are installed (ex gamescope + dxvk-nvapi reflex layer) --- .gitignore | 5 +---- sources | 2 +- vkroots.spec | 4 ++-- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index b294e12..335ec95 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1 @@ -/vkroots-e554d4c.tar.gz -/vkroots-2ceb105.tar.gz -/vkroots-5106d8a.tar.gz -/vkroots-51c3213.tar.gz +*.tar.gz diff --git a/sources b/sources index 8631daf..f8c2716 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (vkroots-51c3213.tar.gz) = 1c6c16897dfbdd23421b67c750b30c1e37c020fb032ebb7715c9782761b93c46bcaf8c9a810cc9e1814ee271a49072a6a2d6a2e5ce8fbb63cbb5df134e1b69fa +SHA512 (vkroots-ee76e62.tar.gz) = 71ee33568d09e69929bcbfc666119dc365ed3f2e072099f4d19148075259611f14c09049f7011eab45fcd1d96867fb4d4d8c798dbbd5c93690962493b7f01bce diff --git a/vkroots.spec b/vkroots.spec index a785a1f..2db1f0c 100644 --- a/vkroots.spec +++ b/vkroots.spec @@ -1,7 +1,7 @@ %global debug_package %{nil} -%global commit 51c32131da197a38c340da2537cbfd695e6ede78 +%global commit ee76e620798612c52fb8dcc32a1058a0a3538930 %global shortcommit %(c=%{commit}; echo ${c:0:7}) -%global git_date 20250716 +%global git_date 20260507 Name: vkroots Version: 0^%{git_date}git%{shortcommit} From b3ca603d6748e2c218e0f433389fa8f7b522a4de Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Thu, 25 Jun 2026 15:33:02 +0200 Subject: [PATCH 14/16] Fix for new Vulkan 1.4.341+ XML format; add parsing for both old and new format. --- vkroots-fix-funcpointer-xml-format.patch | 96 ++++++++++++++++++++++++ vkroots.spec | 3 +- 2 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 vkroots-fix-funcpointer-xml-format.patch diff --git a/vkroots-fix-funcpointer-xml-format.patch b/vkroots-fix-funcpointer-xml-format.patch new file mode 100644 index 0000000..98a8bf8 --- /dev/null +++ b/vkroots-fix-funcpointer-xml-format.patch @@ -0,0 +1,96 @@ +--- a/gen/vulkan_helpers.py 2026-05-07 22:00:10.000000000 +0200 ++++ b/gen/vulkan_helpers.py 2026-06-25 15:23:53.756076567 +0200 +@@ -462,38 +462,51 @@ + return None + + members = [] +- begin = None ++ proto = funcpointer.find("proto") + +- for t in funcpointer.findall("type"): +- # General form: +- # void* pUserData, +- # Parsing of the tail (anything past ) is tricky since there +- # can be other data on the next line like: const int.. +- +- const = True if begin and "const" in begin else False +- _type = t.text +- lines = t.tail.split(",\n") +- if lines[0][0] == "*": +- pointer = "*" +- name = lines[0][1:].strip() +- else: +- pointer = None +- name = lines[0].strip() ++ if proto is not None: ++ # New XML format (vulkan-headers 1.4.341+): ++ # void PFN_foo ++ # typeA* parmA ++ proto_type_elem = proto.find("type") ++ ret_type = proto_type_elem.text ++ ret_ptr = "*" if proto_type_elem.tail and "*" in proto_type_elem.tail else "" ++ _type = "typedef {}{} (VKAPI_PTR *".format(ret_type, ret_ptr) ++ name = proto.find("name").text ++ ++ for param in funcpointer.findall("param"): ++ member = VkMember.from_xml(param, False, None) ++ if member: ++ members.append(member) ++ else: ++ # Old XML format: ++ # typedef void (VKAPI_PTR *PFN_foo)( ++ # typeA* parmA, ++ begin = None ++ for t in funcpointer.findall("type"): ++ const = True if begin and "const" in begin else False ++ param_type = t.text ++ lines = t.tail.split(",\n") ++ if lines[0][0] == "*": ++ pointer = "*" ++ param_name = lines[0][1:].strip() ++ else: ++ pointer = None ++ param_name = lines[0].strip() + +- # Filter out ); if it is contained. +- name = name.partition(");")[0] ++ # Filter out ); if it is contained. ++ param_name = param_name.partition(");")[0] ++ ++ try: ++ begin = lines[1].strip() ++ except IndexError: ++ begin = None + +- # If tail encompasses multiple lines, assign the second line to begin +- # for the next line. +- try: +- begin = lines[1].strip() +- except IndexError: +- begin = None ++ members.append(VkMember(const=const, _type=param_type, pointer=pointer, name=param_name)) + +- members.append(VkMember(const=const, _type=_type, pointer=pointer, name=name)) ++ _type = funcpointer.text ++ name = funcpointer.find("name").text + +- _type = funcpointer.text +- name = funcpointer.find("name").text + if "requires" in funcpointer.attrib: + forward_decls = funcpointer.attrib.get("requires").split(",") + else: +@@ -2069,10 +2082,13 @@ + continue + + # Name is in general within a name tag else it is an optional +- # attribute on the type tag. ++ # attribute on the type tag. For the new funcpointer format, ++ # the name is nested inside .... + name_elem = t.find("name") + if name_elem is not None: + type_info["name"] = name_elem.text ++ elif t.find("proto/name") is not None: ++ type_info["name"] = t.find("proto/name").text + else: + type_info["name"] = t.attrib.get("name", None) + diff --git a/vkroots.spec b/vkroots.spec index 2db1f0c..861a097 100644 --- a/vkroots.spec +++ b/vkroots.spec @@ -12,7 +12,8 @@ URL: https://github.com/Joshua-Ashton/vkroots BuildArch: noarch Source: %{url}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz -Patch: https://patch-diff.githubusercontent.com/raw/misyltoad/vkroots/pull/12.patch +Patch0: https://patch-diff.githubusercontent.com/raw/misyltoad/vkroots/pull/12.patch +Patch1: vkroots-fix-funcpointer-xml-format.patch BuildRequires: meson >= 0.58.0 BuildRequires: gcc From 8353545e2fb1cf256b17386e06850f7501dc0315 Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Wed, 1 Jul 2026 08:28:55 +0200 Subject: [PATCH 15/16] Small cleanup --- 12.patch | 21 --------------------- changelog | 5 ----- vkroots.spec | 5 ++--- 3 files changed, 2 insertions(+), 29 deletions(-) delete mode 100644 12.patch delete mode 100644 changelog diff --git a/12.patch b/12.patch deleted file mode 100644 index b14f3f0..0000000 --- a/12.patch +++ /dev/null @@ -1,21 +0,0 @@ -From e3df1afc8d2181815056a305bb596e64b388894c Mon Sep 17 00:00:00 2001 -From: pchome -Date: Sun, 13 Apr 2025 17:36:02 +0300 -Subject: [PATCH] Fix pkgconfig install dir - ---- - meson.build | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 06d7117..4a1f9d2 100644 ---- a/meson.build -+++ b/meson.build -@@ -18,5 +18,6 @@ pkgconfig.generate( - filebase: meson.project_name(), - name: meson.project_name(), - description: 'Vulkan layers library', -- subdirs: '.' -+ subdirs: '.', -+ install_dir: 'share/pkgconfig' - ) diff --git a/changelog b/changelog deleted file mode 100644 index 22ceca5..0000000 --- a/changelog +++ /dev/null @@ -1,5 +0,0 @@ -* Tue Jul 25 2023 Frantisek Zatloukal - 0^20230313gite554d4c-1 -- Rebase to a later snapshot - -* Fri Mar 03 2023 Onuralp SEZER - 0^20230103git2675710-1 -- Initial package vkroots diff --git a/vkroots.spec b/vkroots.spec index 861a097..f8843d8 100644 --- a/vkroots.spec +++ b/vkroots.spec @@ -12,8 +12,7 @@ URL: https://github.com/Joshua-Ashton/vkroots BuildArch: noarch Source: %{url}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz -Patch0: https://patch-diff.githubusercontent.com/raw/misyltoad/vkroots/pull/12.patch -Patch1: vkroots-fix-funcpointer-xml-format.patch +Patch0: vkroots-fix-funcpointer-xml-format.patch BuildRequires: meson >= 0.58.0 BuildRequires: gcc @@ -54,7 +53,7 @@ cd gen %license LICENSE %doc README.md %{_includedir}/%{name}.h -%{_datadir}/pkgconfig/%{name}.pc +%{_libdir}/pkgconfig/%{name}.pc %changelog From 0e01a716ec7556e957f86ce05bbf8176a5bbb7c5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jul 2026 08:34:25 +0000 Subject: [PATCH 16/16] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild