Your message dated Thu, 22 Oct 2020 11:16:34 +0200
with message-id <20201022091634.GA1644883@jcristau-z4>
and subject line Re: Bug#888898: firefox: Please add patch for big-endian 
support
has caused the Debian Bug report #888898,
regarding firefox: Please add patch for big-endian support
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
888898: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=888898
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: firefox
Version: 59.0~b4-1
Severity: normal
Tags: patch
User: [email protected]
Usertags: powerpc ppc64

Hello!

src:firefox currently FTBFS on big-endian powerpc/ppc64 because skia
needs to be patched to support big-endian systems [1]:

n file included from 
/<<PKGBUILDDIR>>/gfx/skia/skia/src/core/SkRasterPipeline.h:11:0,
                 from /<<PKGBUILDDIR>>/gfx/skia/skia/src/core/SkOpts.h:12,
                 from /<<PKGBUILDDIR>>/gfx/2d/ConvolutionFilter.cpp:11:
/<<PKGBUILDDIR>>/gfx/skia/skia/include/core/SkImageInfo.h:86:6: error: #error 
"SK_*32_SHFIT values must correspond to BGRA or RGBA byte order"
     #error "SK_*32_SHFIT values must correspond to BGRA or RGBA byte order"
      ^~~~~

This is achieved by applying the attached patch which I have taken from
the Firefox package in Fedora [2].

Adrian

> [1] 
> https://buildd.debian.org/status/fetch.php?pkg=firefox&arch=ppc64&ver=59.0%7Eb4-1&stamp=1517354143&raw=0
> [2] https://koji.fedoraproject.org/koji/buildinfo?buildID=1020385

--
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - [email protected]
`. `'   Freie Universitaet Berlin - [email protected]
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
diff -up firefox-56.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian 
firefox-56.0/gfx/skia/skia/include/core/SkColorPriv.h
--- firefox-56.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian    
2017-07-31 18:20:55.000000000 +0200
+++ firefox-56.0/gfx/skia/skia/include/core/SkColorPriv.h       2017-09-29 
17:25:04.651876330 +0200
@@ -31,7 +31,7 @@
  *
  *  Here we enforce this constraint.
  */
-
+/*
 #ifdef SK_CPU_BENDIAN
     #define SK_RGBA_R32_SHIFT   24
     #define SK_RGBA_G32_SHIFT   16
@@ -43,6 +43,7 @@
     #define SK_BGRA_R32_SHIFT   8
     #define SK_BGRA_A32_SHIFT   0
 #else
+*/
     #define SK_RGBA_R32_SHIFT   0
     #define SK_RGBA_G32_SHIFT   8
     #define SK_RGBA_B32_SHIFT   16
@@ -52,7 +53,7 @@
     #define SK_BGRA_G32_SHIFT   8
     #define SK_BGRA_R32_SHIFT   16
     #define SK_BGRA_A32_SHIFT   24
-#endif
+/*#endif*/
 
 #if defined(SK_PMCOLOR_IS_RGBA) && defined(SK_PMCOLOR_IS_BGRA)
     #error "can't define PMCOLOR to be RGBA and BGRA"
diff -up firefox-56.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian 
firefox-56.0/gfx/skia/skia/include/core/SkImageInfo.h
--- firefox-56.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian    
2017-07-31 18:20:55.000000000 +0200
+++ firefox-56.0/gfx/skia/skia/include/core/SkImageInfo.h       2017-09-29 
17:25:04.651876330 +0200
@@ -83,7 +83,8 @@ enum SkColorType {
 #elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
     kN32_SkColorType = kRGBA_8888_SkColorType,
 #else
-    #error "SK_*32_SHFIT values must correspond to BGRA or RGBA byte order"
+    //#error "SK_*32_SHFIT values must correspond to BGRA or RGBA byte order"
+    kN32_SkColorType = kBGRA_8888_SkColorType
 #endif
 };
 
diff -up firefox-56.0/gfx/skia/skia/include/gpu/GrColor.h.big-endian 
firefox-56.0/gfx/skia/skia/include/gpu/GrColor.h
--- firefox-56.0/gfx/skia/skia/include/gpu/GrColor.h.big-endian 2017-07-31 
18:20:55.000000000 +0200
+++ firefox-56.0/gfx/skia/skia/include/gpu/GrColor.h    2017-09-29 
17:25:04.652876327 +0200
@@ -74,8 +74,13 @@ static inline GrColor GrColorPackA4(unsi
  *  Since premultiplied means that alpha >= color, we construct a color with
  *  each component==255 and alpha == 0 to be "illegal"
  */
-#define GrColor_ILLEGAL     (~(0xFF << GrColor_SHIFT_A))
+//Just for big endian platforms, little has: (~(0xFF << GrColor_SHIFT_A))
+#ifdef SK_CPU_BENDIAN
+#define GrColor_ILLEGAL     0xFFFFFF00
+#else
+#define GrColor_ILLEGAL     (~(0xFF << GrColor_SHIFT_A)) 
 
+#endif
 #define GrColor_WHITE 0xFFFFFFFF
 #define GrColor_TRANSPARENT_BLACK 0x0
 
diff -up firefox-56.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian 
firefox-56.0/gfx/skia/skia/include/gpu/GrTypes.h
--- firefox-56.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian 2017-07-31 
18:20:55.000000000 +0200
+++ firefox-56.0/gfx/skia/skia/include/gpu/GrTypes.h    2017-09-29 
17:25:04.652876327 +0200
@@ -326,15 +326,13 @@ enum GrPixelConfig {
 static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1;
 
 // Aliases for pixel configs that match skia's byte order.
-#ifndef SK_CPU_LENDIAN
-    #error "Skia gpu currently assumes little endian"
-#endif
 #if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
     static const GrPixelConfig kSkia8888_GrPixelConfig = 
kBGRA_8888_GrPixelConfig;
 #elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
     static const GrPixelConfig kSkia8888_GrPixelConfig = 
kRGBA_8888_GrPixelConfig;
 #else
-    #error "SK_*32_SHIFT values must correspond to GL_BGRA or GL_RGBA format."
+    static const GrPixelConfig kSkia8888_GrPixelConfig = 
kBGRA_8888_GrPixelConfig;
+    static const GrPixelConfig kSkiaGamma8888_GrPixelConfig = 
kSBGRA_8888_GrPixelConfig;
 #endif
 
 // Returns true if the pixel config is a GPU-specific compressed format

--- End Message ---
--- Begin Message ---
Newer builds worked e.g.
https://buildd.debian.org/status/logs.php?pkg=firefox&ver=77.0-1&arch=ppc64&suite=sid
so I'm assuming this particular issue is fixed.

Closing.

Cheers,
Julien

On Wed, Jan 31, 2018 at 12:21:35AM +0100, John Paul Adrian Glaubitz wrote:
> Source: firefox
> Version: 59.0~b4-1
> Severity: normal
> Tags: patch
> User: [email protected]
> Usertags: powerpc ppc64
> 
> Hello!
> 
> src:firefox currently FTBFS on big-endian powerpc/ppc64 because skia
> needs to be patched to support big-endian systems [1]:
> 
> n file included from 
> /<<PKGBUILDDIR>>/gfx/skia/skia/src/core/SkRasterPipeline.h:11:0,
>                  from /<<PKGBUILDDIR>>/gfx/skia/skia/src/core/SkOpts.h:12,
>                  from /<<PKGBUILDDIR>>/gfx/2d/ConvolutionFilter.cpp:11:
> /<<PKGBUILDDIR>>/gfx/skia/skia/include/core/SkImageInfo.h:86:6: error: #error 
> "SK_*32_SHFIT values must correspond to BGRA or RGBA byte order"
>      #error "SK_*32_SHFIT values must correspond to BGRA or RGBA byte order"
>       ^~~~~
> 
> This is achieved by applying the attached patch which I have taken from
> the Firefox package in Fedora [2].
> 
> Adrian
> 
> > [1] 
> > https://buildd.debian.org/status/fetch.php?pkg=firefox&arch=ppc64&ver=59.0%7Eb4-1&stamp=1517354143&raw=0
> > [2] https://koji.fedoraproject.org/koji/buildinfo?buildID=1020385
> 
> --
>  .''`.  John Paul Adrian Glaubitz
> : :' :  Debian Developer - [email protected]
> `. `'   Freie Universitaet Berlin - [email protected]
>   `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

> diff -up firefox-56.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian 
> firefox-56.0/gfx/skia/skia/include/core/SkColorPriv.h
> --- firefox-56.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian  
> 2017-07-31 18:20:55.000000000 +0200
> +++ firefox-56.0/gfx/skia/skia/include/core/SkColorPriv.h     2017-09-29 
> 17:25:04.651876330 +0200
> @@ -31,7 +31,7 @@
>   *
>   *  Here we enforce this constraint.
>   */
> -
> +/*
>  #ifdef SK_CPU_BENDIAN
>      #define SK_RGBA_R32_SHIFT   24
>      #define SK_RGBA_G32_SHIFT   16
> @@ -43,6 +43,7 @@
>      #define SK_BGRA_R32_SHIFT   8
>      #define SK_BGRA_A32_SHIFT   0
>  #else
> +*/
>      #define SK_RGBA_R32_SHIFT   0
>      #define SK_RGBA_G32_SHIFT   8
>      #define SK_RGBA_B32_SHIFT   16
> @@ -52,7 +53,7 @@
>      #define SK_BGRA_G32_SHIFT   8
>      #define SK_BGRA_R32_SHIFT   16
>      #define SK_BGRA_A32_SHIFT   24
> -#endif
> +/*#endif*/
>  
>  #if defined(SK_PMCOLOR_IS_RGBA) && defined(SK_PMCOLOR_IS_BGRA)
>      #error "can't define PMCOLOR to be RGBA and BGRA"
> diff -up firefox-56.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian 
> firefox-56.0/gfx/skia/skia/include/core/SkImageInfo.h
> --- firefox-56.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian  
> 2017-07-31 18:20:55.000000000 +0200
> +++ firefox-56.0/gfx/skia/skia/include/core/SkImageInfo.h     2017-09-29 
> 17:25:04.651876330 +0200
> @@ -83,7 +83,8 @@ enum SkColorType {
>  #elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
>      kN32_SkColorType = kRGBA_8888_SkColorType,
>  #else
> -    #error "SK_*32_SHFIT values must correspond to BGRA or RGBA byte order"
> +    //#error "SK_*32_SHFIT values must correspond to BGRA or RGBA byte order"
> +    kN32_SkColorType = kBGRA_8888_SkColorType
>  #endif
>  };
>  
> diff -up firefox-56.0/gfx/skia/skia/include/gpu/GrColor.h.big-endian 
> firefox-56.0/gfx/skia/skia/include/gpu/GrColor.h
> --- firefox-56.0/gfx/skia/skia/include/gpu/GrColor.h.big-endian       
> 2017-07-31 18:20:55.000000000 +0200
> +++ firefox-56.0/gfx/skia/skia/include/gpu/GrColor.h  2017-09-29 
> 17:25:04.652876327 +0200
> @@ -74,8 +74,13 @@ static inline GrColor GrColorPackA4(unsi
>   *  Since premultiplied means that alpha >= color, we construct a color with
>   *  each component==255 and alpha == 0 to be "illegal"
>   */
> -#define GrColor_ILLEGAL     (~(0xFF << GrColor_SHIFT_A))
> +//Just for big endian platforms, little has: (~(0xFF << GrColor_SHIFT_A))
> +#ifdef SK_CPU_BENDIAN
> +#define GrColor_ILLEGAL     0xFFFFFF00
> +#else
> +#define GrColor_ILLEGAL     (~(0xFF << GrColor_SHIFT_A)) 
>  
> +#endif
>  #define GrColor_WHITE 0xFFFFFFFF
>  #define GrColor_TRANSPARENT_BLACK 0x0
>  
> diff -up firefox-56.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian 
> firefox-56.0/gfx/skia/skia/include/gpu/GrTypes.h
> --- firefox-56.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian       
> 2017-07-31 18:20:55.000000000 +0200
> +++ firefox-56.0/gfx/skia/skia/include/gpu/GrTypes.h  2017-09-29 
> 17:25:04.652876327 +0200
> @@ -326,15 +326,13 @@ enum GrPixelConfig {
>  static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1;
>  
>  // Aliases for pixel configs that match skia's byte order.
> -#ifndef SK_CPU_LENDIAN
> -    #error "Skia gpu currently assumes little endian"
> -#endif
>  #if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
>      static const GrPixelConfig kSkia8888_GrPixelConfig = 
> kBGRA_8888_GrPixelConfig;
>  #elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
>      static const GrPixelConfig kSkia8888_GrPixelConfig = 
> kRGBA_8888_GrPixelConfig;
>  #else
> -    #error "SK_*32_SHIFT values must correspond to GL_BGRA or GL_RGBA 
> format."
> +    static const GrPixelConfig kSkia8888_GrPixelConfig = 
> kBGRA_8888_GrPixelConfig;
> +    static const GrPixelConfig kSkiaGamma8888_GrPixelConfig = 
> kSBGRA_8888_GrPixelConfig;
>  #endif
>  
>  // Returns true if the pixel config is a GPU-specific compressed format

--- End Message ---

Reply via email to