Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package pixman for openSUSE:Factory checked 
in at 2025-09-24 15:22:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pixman (Old)
 and      /work/SRC/openSUSE:Factory/.pixman.new.27445 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pixman"

Wed Sep 24 15:22:11 2025 rev:66 rq:1305523 version:0.46.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/pixman/pixman.changes    2025-07-26 
13:41:14.601026700 +0200
+++ /work/SRC/openSUSE:Factory/.pixman.new.27445/pixman.changes 2025-09-24 
15:23:04.733310747 +0200
@@ -1,0 +2,6 @@
+Wed Sep 17 12:19:38 UTC 2025 - Dominique Leuenberger <[email protected]>
+
+- Update to version 0.46.4:
+  + RISC-V: Use hwprobe interface to check for RVV 1.0
+
+-------------------------------------------------------------------

Old:
----
  pixman-0.46.2.tar.gz

New:
----
  pixman-0.46.4.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ pixman.spec ++++++
--- /var/tmp/diff_new_pack.tp0NPs/_old  2025-09-24 15:23:05.269333326 +0200
+++ /var/tmp/diff_new_pack.tp0NPs/_new  2025-09-24 15:23:05.269333326 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package pixman
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           pixman
-Version:        0.46.2
+Version:        0.46.4
 Release:        0
 Summary:        Pixel manipulation library
 License:        MIT

++++++ pixman-0.46.2.tar.gz -> pixman-0.46.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pixman-0.46.2/meson.build 
new/pixman-0.46.4/meson.build
--- old/pixman-0.46.2/meson.build       2025-06-10 00:57:06.000000000 +0200
+++ new/pixman-0.46.4/meson.build       2025-07-20 18:14:02.000000000 +0200
@@ -21,7 +21,7 @@
 project(
   'pixman',
   ['c'],
-  version : '0.46.2',
+  version : '0.46.4',
   license : 'MIT',
   meson_version : '>= 1.3.0',
   default_options : ['c_std=gnu99,c99', 'buildtype=debugoptimized'],
@@ -372,11 +372,21 @@
   if host_machine.cpu_family() == 'riscv64'
     if cc.compiles('''
         #include <riscv_vector.h>
-        #include <asm/hwcap.h>
-        #ifndef COMPAT_HWCAP_ISA_V /* added in linux-6.5 */
-        #error "COMPAT_HWCAP_ISA_V is not available"
+        #include <asm/hwprobe.h>
+        #include <linux/version.h>
+        #include <sys/auxv.h>
+        #include <sys/syscall.h>
+        #include <unistd.h>
+
+        #if defined(__riscv_v) && __riscv_v < 1000000
+        #error "Minimum supported RVV is 1.0"
+        #endif
+        #if LINUX_VERSION_CODE < KERNEL_VERSION(6, 5, 0)
+        #error "Minimum supported kernel is 6.5.0"
         #endif
         int main() {
+            struct riscv_hwprobe pair = {RISCV_HWPROBE_KEY_IMA_EXT_0, 0};
+            long result = sys_riscv_hwprobe (&pair, 1, 0, 0, 0);
             vfloat32m1_t tmp1; /* added in gcc-13 */
             vfloat32m1x4_t tmp2; /* added in gcc-14 */
             return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pixman-0.46.2/pixman/pixman-riscv.c 
new/pixman-0.46.4/pixman/pixman-riscv.c
--- old/pixman-0.46.2/pixman/pixman-riscv.c     2025-06-10 00:57:06.000000000 
+0200
+++ new/pixman-0.46.4/pixman/pixman-riscv.c     2025-07-20 18:14:02.000000000 
+0200
@@ -30,8 +30,22 @@
 #ifdef USE_RVV
 
 #if defined(__linux__)
-#include <asm/hwcap.h>
+#include <asm/hwprobe.h>
 #include <sys/auxv.h>
+#include <sys/syscall.h>
+#include <unistd.h>
+
+static int
+is_rvv_1_0_available ()
+{
+    struct riscv_hwprobe pair = {RISCV_HWPROBE_KEY_IMA_EXT_0, 0};
+    if (sys_riscv_hwprobe (&pair, 1, 0, 0, 0) < 0)
+    {
+       return 0;
+    }
+    return (pair.value & RISCV_HWPROBE_IMA_V);
+}
+
 #endif
 
 typedef enum
@@ -45,7 +59,7 @@
     riscv_cpu_features_t features = 0;
 
 #if defined(__linux__)
-    if (getauxval (AT_HWCAP) & COMPAT_HWCAP_ISA_V)
+    if (is_rvv_1_0_available ())
     {
        features |= RVV;
     }

Reply via email to