rtpmidid: update to 26.01
authorDaniel Golle <daniel@makrotopia.org>
Wed, 11 Feb 2026 12:42:44 +0000 (12:42 +0000)
committerDaniel Golle <daniel@makrotopia.org>
Wed, 11 Feb 2026 19:17:22 +0000 (19:17 +0000)
See release notes at
https://github.com/davidmoreno/rtpmidid/releases/tag/v26.01

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
multimedia/rtpmidid/Makefile
multimedia/rtpmidid/patches/001-fix-32bit-compilation.patch [new file with mode: 0644]

index 33b2e959f790b3b2b3ea3456209b648edf2db14c..f01fb52b49c3306fdaf2a91e85b0c7b3b7d77c00 100644 (file)
@@ -1,13 +1,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rtpmidid
-PKG_VERSION:=24.12
+PKG_VERSION:=26.01
 PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/davidmoreno/rtpmidid
 PKG_SOURCE_VERSION:=v$(PKG_VERSION)
-PKG_MIRROR_HASH:=f302061c147833d6c5fe06aa0f8220185e6a29e4840355f26be231c618bc3334
+PKG_MIRROR_HASH:=f4774f0b27b14aa0529ef566cdec9f04480ae9ba498650d454ed23ef96822a03
 
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 PKG_LICENSE:=GPL-3.0-or-later LGPL-2.1-or-later
diff --git a/multimedia/rtpmidid/patches/001-fix-32bit-compilation.patch b/multimedia/rtpmidid/patches/001-fix-32bit-compilation.patch
new file mode 100644 (file)
index 0000000..59d840b
--- /dev/null
@@ -0,0 +1,32 @@
+From: Daniel Golle <daniel@makrotopia.org>
+Date: Tue, 11 Feb 2026 00:00:00 +0000
+Subject: [PATCH] formatterhelper: fix compilation on 32-bit platforms
+
+On 32-bit platforms, size_t and ssize_t are typically typedefs for
+unsigned int and int respectively, which already have built-in
+formatters in std::format and fmt::format.
+
+Defining duplicate formatters causes compile-time format string
+checking to fail with errors like:
+  error: call to non-'constexpr' function
+    'void std::__format::__unmatched_left_brace_in_format_string()'
+
+Fix this by only defining the custom size_t/ssize_t formatters on
+64-bit platforms where they are distinct types.
+
+Fixes: https://github.com/davidmoreno/rtpmidid/issues/138
+
+--- a/include/rtpmidid/formatterhelper.hpp
++++ b/include/rtpmidid/formatterhelper.hpp
+@@ -80,5 +80,11 @@
+     }                                                                          \
+   }
++// Only define size_t and ssize_t formatters on 64-bit platforms.
++// On 32-bit platforms, size_t is unsigned int and ssize_t is int,
++// which already have built-in formatters in std::format/fmt::format.
++// Defining duplicate formatters causes compile-time format checking errors.
++#if __SIZEOF_POINTER__ == 8
+ BASIC_FORMATTER(size_t, "{}", (uint32_t)v);
+ BASIC_FORMATTER(ssize_t, "{}", (int32_t)v);
++#endif