Bug#897655: xutils-dev: Please add support for riscv64

2023-08-05 Thread Bo YU
Source: xutils-dev
Followup-For: Bug #897655

Dear Maintainer,

I refreshed Manuel's patch and confirmed that works.
Given riscv64 become more stable maybe I can push it to upstream but
this will take some times.

As #1026002 and #1035848 hint, it will fix some x-like packages's ftbfs
issue if xutiles-dev support riscv64, could you apply it on next upload?

Thanks.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1026002
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1035848

-- 
Regards,
--
  Bo YU

diff -Nru xutils-dev-7.7+6/debian/changelog xutils-dev-7.7+7/debian/changelog
--- xutils-dev-7.7+6/debian/changelog   2021-12-29 03:38:07.0 +0800
+++ xutils-dev-7.7+7/debian/changelog   2023-08-05 16:38:03.0 +0800
@@ -1,3 +1,11 @@
+xutils-dev (1:7.7+7) unstable; urgency=medium
+
+  * Team upload.
+  * Add 08_support_riscv64.patch to support riscv64. (Closes: #897655,
+#1026002, #1035848)
+
+ -- Bo YU   Sat, 05 Aug 2023 16:38:03 +0800
+
 xutils-dev (1:7.7+6) unstable; urgency=medium
 
   [ Julien Cristau ]
diff -Nru xutils-dev-7.7+6/debian/patches/08_support_riscv64.patch 
xutils-dev-7.7+7/debian/patches/08_support_riscv64.patch
--- xutils-dev-7.7+6/debian/patches/08_support_riscv64.patch1970-01-01 
07:30:00.0 +0730
+++ xutils-dev-7.7+7/debian/patches/08_support_riscv64.patch2023-08-05 
15:11:07.0 +0800
@@ -0,0 +1,69 @@
+Description: Add support for riscv64
+ Upstream is not interested in adding these patches, they rejected changes when
+ proposed by people from Fedora.
+ .
+ They were already reluctant to add support back in 2014 for other arches,
+ e.g. OpenRISC or1k (I sent the support then).
+Author: Manuel A. Fernandez Montecelo 
+Last-Update: 2018-05-03
+--- a/xorg-cf-files/Imake.cf
 b/xorg-cf-files/Imake.cf
+@@ -1037,6 +1037,10 @@
+ #   define AArch64Architecture
+ #   undef __aarch64__
+ # endif
++# if defined(__riscv) && (__riscv_xlen == 64)
++#   define RISCV64Architecture
++#   /* undef __riscv */
++# endif
+ #endif /* linux || __GLIBC__ */
+ 
+ #if (defined(__Lynx__) || defined(Lynx)) && (defined(i386) || 
defined(__i386__) || defined(__x86__) || defined(__powerpc__) || 
defined(__sparc__) || defined(sparc))
+--- a/xorg-cf-files/linux.cf
 b/xorg-cf-files/linux.cf
+@@ -1117,6 +1117,15 @@
+ # define ServerExtraDefines-DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
+ #endif /* AArch64Architecture */
+ 
++#ifdef RISCV64Architecture
++# ifndef OptimizedCDebugFlags
++#  define OptimizedCDebugFlags DefaultGcc2RISCV64Opt DefaultGcc2OptimizeOpt 
GccAliasingArgs
++# endif
++# define LinuxMachineDefines   -D__riscv
++# define ServerOSDefines   XFree86ServerOSDefines -DDDXTIME
++# define ServerExtraDefines-DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
++#endif /* RISCV64Architecture */
++
+ #ifndef StandardDefines
+ # ifdef __linux__
+ #  define StandardDefines -Dlinux LinuxMachineDefines LinuxSourceDefines
+--- a/xorg-cf-files/xfree86.cf
 b/xorg-cf-files/xfree86.cf
+@@ -2067,6 +2067,12 @@
+ # endif
+ #endif
+ 
++#if HasGcc2 && defined(RISCV64Architecture)
++# ifndef DefaultGcc2RISCV64Opt
++#  define DefaultGcc2RISCV64Opt DefaultGcc2OptimizeOpt GccAliasingArgs
++# endif
++#endif
++
+ #if HasGcc2 && defined(AlphaArchitecture)
+ # ifndef DefaultGcc2AxpOpt
+ #  define DefaultGcc2AxpOpt DefaultGcc2OptimizeOpt GccAliasingArgs
+--- a/xorg-cf-files/xorg.cf
 b/xorg-cf-files/xorg.cf
+@@ -1584,6 +1584,12 @@
+ # endif
+ #endif
+ 
++#if HasGcc2 && defined(RISCV64Architecture)
++# ifndef DefaultGcc2RISCV64Opt
++#  define DefaultGcc2RISCV64Opt DefaultGcc2OptimizeOpt GccAliasingArgs
++# endif
++#endif
++
+ #if HasGcc2 && defined(AMD64Architecture)
+ # ifndef DefaultGcc2AMD64Opt
+ #  define DefaultGcc2AMD64Opt DefaultGcc2OptimizeOpt GccAliasingArgs
diff -Nru xutils-dev-7.7+6/debian/patches/series 
xutils-dev-7.7+7/debian/patches/series
--- xutils-dev-7.7+6/debian/patches/series  2021-11-27 17:54:00.0 
+0800
+++ xutils-dev-7.7+7/debian/patches/series  2023-08-05 15:11:51.0 
+0800
@@ -3,3 +3,4 @@
 05_xaw_without_xp.diff
 06_font_path.diff
 07_gnu_manpath.diff
+08_support_riscv64.patch
diff -Nru xutils-dev-7.7+6/debian/changelog xutils-dev-7.7+7/debian/changelog
--- xutils-dev-7.7+6/debian/changelog   2021-12-29 03:38:07.0 +0800
+++ xutils-dev-7.7+7/debian/changelog   2023-08-05 16:38:03.0 +0800
@@ -1,3 +1,11 @@
+xutils-dev (1:7.7+7) unstable; urgency=medium
+
+  * Team upload.
+  * Add 08_support_riscv64.patch to support riscv64. Thanks to 
+Manuel A. Fernandez Montecelo (Closes: #897655, #1026002, #1035848)
+
+ -- Bo YU   Sat, 05 Aug 2023 16:38:03 +0800
+
 xutils-dev (1:7.7+6) unstable; urgency=medium
 
   [ Julien Cristau ]
diff -Nru xutils-dev-7.7+6/debian/patches/08_support_riscv64.patch 
xutils-dev-7.7+7/debian/patches/08_support_riscv64.patch
--- xutils-dev-7.7+6/debian/patches/08_support_riscv64.patch1970-01-01 
07:30:00.0 +0730
+++ xutils-dev-7.7+7/debian/patches/08_support_riscv64.patch

Bug#897655: xutils-dev: Please add support for riscv64

2018-05-03 Thread Manuel A. Fernandez Montecelo
Source: xutils-dev
Version: 1:7.7+5
Severity: normal
Tags: patch
User: debian-ri...@lists.debian.org
Usertags: riscv64

Hello,

We need support in this package for the riscv64 architecture.

I am attaching a patch that adds support.  It applies cleanly when added last in
the "series" file.

A similar patch was sent by Fedora people ~1 month ago and rejected, since
upstream are not interested in continuing support of this software.

They already said something similar when I sent a patch back in 2014 for
OpenRISC or1k.  They were even surprised that people wanted to add support to
it.  I would gladly let it go, but it turns out that packages like for example
emacs25 still need it (through xaw3d).

It would be great if you could include these changes and release a new version
for unstable, it lives in "unreleased" for the time being.


Thanks and cheers.
--
Manuel A. Fernandez Montecelo 
Description: Add support for riscv64
 Upstream is not interested in adding these patches, they rejected changes when
 proposed by people from Fedora.
 .
 They were already reluctant to add support back in 2014 for other arches,
 e.g. OpenRISC or1k (I sent the support then).
Author: Manuel A. Fernandez Montecelo 
Last-Update: 2018-05-03
--- a/xorg-cf-files/Imake.cf
+++ b/xorg-cf-files/Imake.cf
@@ -1037,6 +1037,10 @@
 #   define AArch64Architecture
 #   undef __aarch64__
 # endif
+# if defined(__riscv) && (__riscv_xlen == 64)
+#   define RISCV64Architecture
+#   /* undef __riscv */
+# endif
 #endif /* linux || __GLIBC__ */
 
 #if (defined(__Lynx__) || defined(Lynx)) && (defined(i386) || 
defined(__i386__) || defined(__x86__) || defined(__powerpc__) || 
defined(__sparc__) || defined(sparc))
--- a/xorg-cf-files/linux.cf
+++ b/xorg-cf-files/linux.cf
@@ -,6 +,15 @@
 # define ServerExtraDefines-DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
 #endif /* AArch64Architecture */
 
+#ifdef RISCV64Architecture
+# ifndef OptimizedCDebugFlags
+#  define OptimizedCDebugFlags DefaultGcc2RISCV64Opt DefaultGcc2OptimizeOpt 
GccAliasingArgs
+# endif
+# define LinuxMachineDefines   -D__riscv
+# define ServerOSDefines   XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines-DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
+#endif /* RISCV64Architecture */
+
 #ifndef StandardDefines
 # ifdef __linux__
 #  define StandardDefines  -Dlinux LinuxMachineDefines LinuxSourceDefines
--- a/xorg-cf-files/xfree86.cf
+++ b/xorg-cf-files/xfree86.cf
@@ -2067,6 +2067,12 @@
 # endif
 #endif
 
+#if HasGcc2 && defined(RISCV64Architecture)
+# ifndef DefaultGcc2RISCV64Opt
+#  define DefaultGcc2RISCV64Opt DefaultGcc2OptimizeOpt GccAliasingArgs
+# endif
+#endif
+
 #if HasGcc2 && defined(AlphaArchitecture)
 # ifndef DefaultGcc2AxpOpt
 #  define DefaultGcc2AxpOpt DefaultGcc2OptimizeOpt GccAliasingArgs
--- a/xorg-cf-files/xorg.cf
+++ b/xorg-cf-files/xorg.cf
@@ -1584,6 +1584,12 @@
 # endif
 #endif
 
+#if HasGcc2 && defined(RISCV64Architecture)
+# ifndef DefaultGcc2RISCV64Opt
+#  define DefaultGcc2RISCV64Opt DefaultGcc2OptimizeOpt GccAliasingArgs
+# endif
+#endif
+
 #if HasGcc2 && defined(AMD64Architecture)
 # ifndef DefaultGcc2AMD64Opt
 #  define DefaultGcc2AMD64Opt DefaultGcc2OptimizeOpt GccAliasingArgs