mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH] xkeyboard-config: Version bump. 2.41 -> 2.42
@ 2024-06-11 16:44 Christian Melki
  2024-06-15 14:58 ` [ptxdist] [APPLIED] " Michael Olbrich
  0 siblings, 1 reply; 2+ messages in thread
From: Christian Melki @ 2024-06-11 16:44 UTC (permalink / raw)
  To: ptxdist

Minor changes.
https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/commits/xkeyboard-config-2.42

* Add patch to remove changes in python script that would
require python 3.11 which isn't default in even Ubuntu 22.04.
Ie, revert:
https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/commit/809b7ad3003863476eb76a16e27ff7d00519f199

Signed-off-by: Christian Melki <christian.melki@t2data.com>
---
 ...nor-improvement-to-generation-script.patch | 127 ++++++++++++++++++
 patches/xkeyboard-config-2.42/series          |   4 +
 rules/xkeyboard-config.make                   |   4 +-
 3 files changed, 133 insertions(+), 2 deletions(-)
 create mode 100644 patches/xkeyboard-config-2.42/0001-revert-rules-minor-improvement-to-generation-script.patch
 create mode 100644 patches/xkeyboard-config-2.42/series

diff --git a/patches/xkeyboard-config-2.42/0001-revert-rules-minor-improvement-to-generation-script.patch b/patches/xkeyboard-config-2.42/0001-revert-rules-minor-improvement-to-generation-script.patch
new file mode 100644
index 000000000..9d14240da
--- /dev/null
+++ b/patches/xkeyboard-config-2.42/0001-revert-rules-minor-improvement-to-generation-script.patch
@@ -0,0 +1,127 @@
+From: Christian Melki <christian.melki@t2data.com>
+Date: Tue, 11 Jun 2024 18:23:54 +0200
+Subject: [PATCH] revert rules: minor improvement to generation script
+
+Revert 809b7ad3003863476eb76a16e27ff7d00519f199
+
+This delta needs python 3.11 but adds nothing in term
+of functionality.
+
+Signed-off-by: Christian Melki <christian.melki@t2data.com>
+---
+ rules/generate-options-symbols.py | 30 ++++++++++++++----------------
+ 1 file changed, 14 insertions(+), 16 deletions(-)
+
+diff --git a/rules/generate-options-symbols.py b/rules/generate-options-symbols.py
+index b29b9253fe1f..1ac3be2cff29 100755
+--- a/rules/generate-options-symbols.py
++++ b/rules/generate-options-symbols.py
+@@ -7,7 +7,7 @@
+ 
+ from __future__ import annotations
+ import argparse
+-from enum import StrEnum, unique
++from enum import Enum, unique
+ import sys
+ import xml.etree.ElementTree as ET
+ 
+@@ -23,7 +23,7 @@ def error(msg):
+ 
+ 
+ @unique
+-class Section(StrEnum):
++class Section(Enum):
+     """
+     XKB sections.
+     Name correspond to the header (`xkb_XXX`), value to the subdir/rules header.
+@@ -37,9 +37,6 @@ class Section(StrEnum):
+ 
+     @classmethod
+     def parse(cls, raw: str) -> Section:
+-        # Note: in order to display a nice message, argparse requires the error
+-        # to be one of: ArgumentTypeError, TypeError, or ValueError
+-        # See: https://docs.python.org/3/library/argparse.html#type
+         try:
+             return cls[raw]
+         except KeyError:
+@@ -62,7 +59,7 @@ class Directive:
+ 
+ @dataclass
+ class DirectiveSet:
+-    option: Option
++    option: "Option"
+     keycodes: Directive | None
+     compatibility: Directive | None
+     geometry: Directive | None
+@@ -108,7 +105,7 @@ def resolve_option(xkb_root: Path, option: Option) -> DirectiveSet:
+     directive = option.directive
+     filename, section_name = directive.filename, directive.section
+     for section in Section:
+-        subdir = xkb_root / section
++        subdir = xkb_root / section.value
+         if not (subdir / filename).exists():
+             # Some of our foo:bar entries map to a baz_vndr/foo file
+             for vndr in subdir.glob("*_vndr"):
+@@ -128,8 +125,8 @@ def resolve_option(xkb_root: Path, option: Option) -> DirectiveSet:
+         # Now check if the target file actually has that section
+         f = subdir / resolved_filename
+         with f.open("rt", encoding="utf-8") as fd:
+-            section_header = f'xkb_{section.name} "{section_name}"'
+-            if any(section_header in line for line in fd):
++            found = any(f'xkb_{section.name} "{section_name}"' in line for line in fd)
++            if found:
+                 directives[section] = Directive(option, resolved_filename, section_name)
+ 
+     return DirectiveSet(
+@@ -142,7 +139,7 @@ def resolve_option(xkb_root: Path, option: Option) -> DirectiveSet:
+     )
+ 
+ 
+-def options(rules_xml: Path) -> Iterable[Option]:
++def options(rules_xml) -> Iterable[Option]:
+     """
+     Yields all Options from the given XML file
+     """
+@@ -229,10 +226,9 @@ def main():
+         default=Section.symbols,
+     )
+     parser.add_argument(
+-        "files", nargs="+", help="The base.xml and base.extras.xml files", type=Path
++        "files", nargs="+", help="The base.xml and base.extras.xml files"
+     )
+     ns = parser.parse_args()
+-    rules_section: Section = ns.rules_section
+ 
+     all_options = (opt for f in ns.files for opt in options(f))
+ 
+@@ -244,24 +240,26 @@ def main():
+         if o.name not in skip and not o.name.startswith("custom:")
+     )
+ 
+-    def check_and_map(directive: DirectiveSet) -> Directive:
++    def check_and_map(directive: DirectiveSet):
+         assert (
+             not directive.is_empty
+         ), f"Option {directive.option} does not resolve to any section"
+ 
+-        return getattr(directive, rules_section.name)
++        return getattr(directive, ns.rules_section.name)
+ 
+     filtered = filter(
+         lambda y: y is not None,
+         map(check_and_map, directives),
+     )
+ 
+-    print(f"! option                         = {rules_section}")
++    header = ns.rules_section.value
++
++    print(f"! option                         = {header}")
+     for d in filtered:
+         assert d is not None
+         print(f"  {d.name:30s} = +{d}")
+ 
+-    if rules_section is Section.types:
++    if ns.rules_section is Section.types:
+         print(f"  {'custom:types':30s} = +custom")
+ 
+ 
diff --git a/patches/xkeyboard-config-2.42/series b/patches/xkeyboard-config-2.42/series
new file mode 100644
index 000000000..e909ad068
--- /dev/null
+++ b/patches/xkeyboard-config-2.42/series
@@ -0,0 +1,4 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-revert-rules-minor-improvement-to-generation-script.patch
+# 2bf998cd0fca5a75f9109f7b885eb737  - git-ptx-patches magic
diff --git a/rules/xkeyboard-config.make b/rules/xkeyboard-config.make
index 50899f715..19e732e24 100644
--- a/rules/xkeyboard-config.make
+++ b/rules/xkeyboard-config.make
@@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_XKEYBOARD_CONFIG) += xkeyboard-config
 #
 # Paths and names
 #
-XKEYBOARD_CONFIG_VERSION	:= 2.41
-XKEYBOARD_CONFIG_MD5		:= 2f0b843b5283b82cae0402cbc4f374b4
+XKEYBOARD_CONFIG_VERSION	:= 2.42
+XKEYBOARD_CONFIG_MD5		:= 2d3b7e43e597f4c607ad6261e2b3d77f
 XKEYBOARD_CONFIG		:= xkeyboard-config-$(XKEYBOARD_CONFIG_VERSION)
 XKEYBOARD_CONFIG_SUFFIX		:= tar.xz
 XKEYBOARD_CONFIG_URL		:= $(call ptx/mirror, XORG, individual/data/xkeyboard-config/$(XKEYBOARD_CONFIG).$(XKEYBOARD_CONFIG_SUFFIX))
-- 
2.34.1




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-06-15 15:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-11 16:44 [ptxdist] [PATCH] xkeyboard-config: Version bump. 2.41 -> 2.42 Christian Melki
2024-06-15 14:58 ` [ptxdist] [APPLIED] " Michael Olbrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox