Source: jsonnet
Version: 0.20.0+ds-3.1
Severity: normal
Tags: patch
User: [email protected]
Usertags: loong64

Dear maintainers,

Compiling the jsonnet failed for loong64 in the Debian Package Auto-Building environment.
The error log is as follows,
```
......
In file included from /<<PKGBUILDDIR>>/third_party/rapidyaml/rapidyaml.cpp:2: /<<PKGBUILDDIR>>/third_party/rapidyaml/ryml_all.hpp:509:5: error: #error "unknown CPU architecture"
  509 |    #error "unknown CPU architecture"
      |     ^~~~~
......
```
The full build log can be found at https://buildd.debian.org/status/logs.php?pkg=jsonnet&arch=loong64.

jsonnet 0.20.0+ds-2.1 can be built successfully for loong64.
But jsonnet 0.20.0+ds-3.1 includes third_party/rapidyaml/ryml_all.hpp which lacks of loongarch64 support.
Please consider the patch I attached.
Based on attached patch, I have built jsonnet (0.20.0+ds-3.1+loong64) successfully on locally.
```
......
dpkg-deb: building package 'python3-jsonnet' in '../python3-jsonnet_0.20.0+ds-3.1+loong64_loong64.deb'. dpkg-deb: building package 'python3-jsonnet-dbgsym' in '../python3-jsonnet-dbgsym_0.20.0+ds-3.1+loong64_loong64.deb'.
 dpkg-genbuildinfo -O../jsonnet_0.20.0+ds-3.1+loong64_loong64.buildinfo
 dpkg-genchanges -O../jsonnet_0.20.0+ds-3.1+loong64_loong64.changes
```

Your opinions are welcome.

Best regards,
Dandan Zhang

diff -Nru jsonnet-0.20.0+ds/debian/changelog jsonnet-0.20.0+ds/debian/changelog
--- jsonnet-0.20.0+ds/debian/changelog  2025-06-30 13:31:34.000000000 +0000
+++ jsonnet-0.20.0+ds/debian/changelog  2025-08-20 07:36:01.000000000 +0000
@@ -1,3 +1,9 @@
+jsonnet (0.20.0+ds-3.1+loong64) unstable; urgency=medium
+  
+  * third_party/rapidyaml: Add loongarch64 support.
+
+ -- Dandan Zhang <[email protected]>  Wed, 20 Aug 2025 15:36:01 +0800
+
 jsonnet (0.20.0+ds-3.1) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -Nru 
jsonnet-0.20.0+ds/debian/patches/jsonnet-third_party-rapidyaml-add-loongarch64-support.patch
 
jsonnet-0.20.0+ds/debian/patches/jsonnet-third_party-rapidyaml-add-loongarch64-support.patch
--- 
jsonnet-0.20.0+ds/debian/patches/jsonnet-third_party-rapidyaml-add-loongarch64-support.patch
        1970-01-01 00:00:00.000000000 +0000
+++ 
jsonnet-0.20.0+ds/debian/patches/jsonnet-third_party-rapidyaml-add-loongarch64-support.patch
        2025-08-20 07:36:01.000000000 +0000
@@ -0,0 +1,24 @@
+Description: <short summary of the patch>
+ .
+ jsonnet (0.20.0+ds-3.1+loong64) unstable; urgency=medium
+ .
+   * third_party/rapidyaml: Add loongarch64 support.
+Author: Dandan Zhang <[email protected]>
+
+---
+Last-Update: 2025-08-20
+
+--- jsonnet-0.20.0+ds.orig/third_party/rapidyaml/ryml_all.hpp
++++ jsonnet-0.20.0+ds/third_party/rapidyaml/ryml_all.hpp
+@@ -502,6 +502,11 @@ C4_FOR_EACH(PRN_STRUCT_OFFSETS, a, b, c)
+ #   define C4_BYTE_ORDER _C4EL
+ #   define C4_WORDSIZE 4
+ 
++#elif defined(__loongarch64)
++#   define C4_CPU_LOONGARCH64
++#   define C4_WORDSIZE 8
++#   define C4_BYTE_ORDER _C4EL
++
+ #elif defined(SWIG)
+    #error "please define CPU architecture macros when compiling with swig"
+ 
diff -Nru jsonnet-0.20.0+ds/debian/patches/series 
jsonnet-0.20.0+ds/debian/patches/series
--- jsonnet-0.20.0+ds/debian/patches/series     2025-03-19 13:57:48.000000000 
+0000
+++ jsonnet-0.20.0+ds/debian/patches/series     2025-08-20 07:36:01.000000000 
+0000
@@ -3,3 +3,4 @@
 0003-switch-to-the-single-header-Rapid-YAML-upgrade-to-v0.patch
 0004-correct-spelling-error-catched-caught.patch
 0005-Add-manpages-for-commands-automatically.patch
+jsonnet-third_party-rapidyaml-add-loongarch64-support.patch

Reply via email to