summary refs log tree commit diff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/opensmtpd-fix-crash.patch44
-rw-r--r--gnu/packages/patches/sdl-pango-api_additions.patch128
-rw-r--r--gnu/packages/patches/sdl-pango-blit_overflow.patch32
-rw-r--r--gnu/packages/patches/sdl-pango-fillrect_crash.patch15
-rw-r--r--gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapToSurface.patch20
-rw-r--r--gnu/packages/patches/sdl-pango-matrix_declarations.patch131
-rw-r--r--gnu/packages/patches/sdl-pango-sans-serif.patch13
-rw-r--r--gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch57
-rw-r--r--gnu/packages/patches/t4k-common-libpng16.patch26
-rw-r--r--gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch54
10 files changed, 419 insertions, 101 deletions
diff --git a/gnu/packages/patches/opensmtpd-fix-crash.patch b/gnu/packages/patches/opensmtpd-fix-crash.patch
deleted file mode 100644
index 0030167533..0000000000
--- a/gnu/packages/patches/opensmtpd-fix-crash.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 9b5f70b93e038df5446bd37a4adac5a0380748e7 Mon Sep 17 00:00:00 2001
-From: johannes <johannes.brechtmann@gmail.com>
-Date: Wed, 21 Feb 2018 23:57:11 +0100
-Subject: [PATCH] crypt_checkpass: include HAVE_CRYPT_H definition, add NULL
- check
-
----
- openbsd-compat/crypt_checkpass.c | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/openbsd-compat/crypt_checkpass.c b/openbsd-compat/crypt_checkpass.c
-index dafd2dae..d10b3a57 100644
---- a/openbsd-compat/crypt_checkpass.c
-+++ b/openbsd-compat/crypt_checkpass.c
-@@ -1,5 +1,6 @@
- /* OPENBSD ORIGINAL: lib/libc/crypt/cryptutil.c */
- 
-+#include "includes.h"
- #include <errno.h>
- #ifdef HAVE_CRYPT_H
- #include <crypt.h>
-@@ -10,6 +11,8 @@
- int
- crypt_checkpass(const char *pass, const char *goodhash)
- {
-+	char *c;
-+
- 	if (goodhash == NULL)
- 		goto fail;
- 
-@@ -17,7 +20,11 @@ crypt_checkpass(const char *pass, const char *goodhash)
- 	if (strlen(goodhash) == 0 && strlen(pass) == 0)
- 		return 0;
- 
--	if (strcmp(crypt(pass, goodhash), goodhash) == 0)
-+	c = crypt(pass, goodhash);
-+	if (c == NULL)
-+		goto fail;
-+
-+	if (strcmp(c, goodhash) == 0)
- 		return 0;
- 
- fail:
-
diff --git a/gnu/packages/patches/sdl-pango-api_additions.patch b/gnu/packages/patches/sdl-pango-api_additions.patch
new file mode 100644
index 0000000000..5c02e79910
--- /dev/null
+++ b/gnu/packages/patches/sdl-pango-api_additions.patch
@@ -0,0 +1,128 @@
+Index: SDL_Pango-0.1.2/src/SDL_Pango.c
+===================================================================
+--- SDL_Pango-0.1.2.orig/src/SDL_Pango.c	2004-12-10 10:06:33.000000000 +0100
++++ SDL_Pango-0.1.2/src/SDL_Pango.c	2007-09-18 14:56:35.362379428 +0200
+@@ -723,13 +723,9 @@
+     SDL_UnlockSurface(surface);

+ }

+ 

+-/*!

+-    Create a context which contains Pango objects.

+ 

+-    @return A pointer to the context as a SDLPango_Context*.

+-*/

+ SDLPango_Context*

+-SDLPango_CreateContext()

++SDLPango_CreateContext_GivenFontDesc(const char* font_desc)

+ {

+     SDLPango_Context *context = g_malloc(sizeof(SDLPango_Context));

+     G_CONST_RETURN char *charset;

+@@ -743,8 +739,7 @@
+     pango_context_set_language (context->context, pango_language_from_string (charset));

+     pango_context_set_base_dir (context->context, PANGO_DIRECTION_LTR);

+ 

+-    context->font_desc = pango_font_description_from_string(

+-	MAKE_FONT_NAME (DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE));

++    context->font_desc = pango_font_description_from_string(font_desc);

+ 

+     context->layout = pango_layout_new (context->context);

+ 

+@@ -762,6 +757,17 @@
+ }

+ 

+ /*!

++    Create a context which contains Pango objects.

++

++    @return A pointer to the context as a SDLPango_Context*.

++*/

++SDLPango_Context*

++SDLPango_CreateContext()

++{

++    SDLPango_CreateContext_GivenFontDesc(MAKE_FONT_NAME(DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE));

++}

++

++/*!

+     Free a context.

+ 

+     @param *context [i/o] Context to be free

+@@ -1053,6 +1059,20 @@
+     pango_layout_set_font_description (context->layout, context->font_desc);

+ }

+ 

++void

++SDLPango_SetText_GivenAlignment(

++    SDLPango_Context *context,

++    const char *text,

++    int length,

++    SDLPango_Alignment alignment)

++{

++    pango_layout_set_attributes(context->layout, NULL);

++    pango_layout_set_text (context->layout, text, length);

++    pango_layout_set_auto_dir (context->layout, TRUE);

++    pango_layout_set_alignment (context->layout, alignment);

++    pango_layout_set_font_description (context->layout, context->font_desc);

++}

++

+ /*!

+     Set plain text to context.

+     Text must be utf-8.

+@@ -1067,11 +1087,7 @@
+     const char *text,

+     int length)

+ {

+-    pango_layout_set_attributes(context->layout, NULL);

+-    pango_layout_set_text (context->layout, text, length);

+-    pango_layout_set_auto_dir (context->layout, TRUE);

+-    pango_layout_set_alignment (context->layout, PANGO_ALIGN_LEFT);

+-    pango_layout_set_font_description (context->layout, context->font_desc);

++    SDLPango_SetText_GivenAlignment(context, text, length, SDLPANGO_ALIGN_LEFT);

+ }

+ 

+ /*!

+Index: SDL_Pango-0.1.2/src/SDL_Pango.h
+===================================================================
+--- SDL_Pango-0.1.2.orig/src/SDL_Pango.h	2004-12-10 10:06:33.000000000 +0100
++++ SDL_Pango-0.1.2/src/SDL_Pango.h	2007-09-18 15:00:41.736419485 +0200
+@@ -26,6 +26,7 @@
+ 

+ #ifndef SDL_PANGO_H

+ #define SDL_PANGO_H

++#define SDL_PANGO_HAS_GC_EXTENSIONS

+ 

+ #include "SDL.h"

+ 

+@@ -109,12 +110,20 @@
+     SDLPANGO_DIRECTION_NEUTRAL	/*! Neutral */

+ } SDLPango_Direction;

+ 

+-

++/*!

++    Specifies alignment of text. See Pango reference for detail

++*/

++typedef enum {

++    SDLPANGO_ALIGN_LEFT,

++    SDLPANGO_ALIGN_CENTER,

++    SDLPANGO_ALIGN_RIGHT

++} SDLPango_Alignment;

+ 

+ extern DECLSPEC int SDLCALL SDLPango_Init();

+ 

+ extern DECLSPEC int SDLCALL SDLPango_WasInit();

+ 

++extern DECLSPEC SDLPango_Context* SDLCALL SDLPango_CreateContext_GivenFontDesc(const char* font_desc);

+ extern DECLSPEC SDLPango_Context* SDLCALL SDLPango_CreateContext();

+ 

+ extern DECLSPEC void SDLCALL SDLPango_FreeContext(

+@@ -157,6 +166,12 @@
+     const char *markup,

+     int length);

+ 

++extern DECLSPEC void SDLCALL SDLPango_SetText_GivenAlignment(

++    SDLPango_Context *context,

++    const char *text,

++    int length,

++    SDLPango_Alignment alignment);

++

+ extern DECLSPEC void SDLCALL SDLPango_SetText(

+     SDLPango_Context *context,

+     const char *markup,

diff --git a/gnu/packages/patches/sdl-pango-blit_overflow.patch b/gnu/packages/patches/sdl-pango-blit_overflow.patch
new file mode 100644
index 0000000000..411d066a74
--- /dev/null
+++ b/gnu/packages/patches/sdl-pango-blit_overflow.patch
@@ -0,0 +1,32 @@
+Index: sdlpango-0.1.2/src/SDL_Pango.c
+===================================================================
+--- sdlpango-0.1.2.orig/src/SDL_Pango.c	2007-10-08 19:44:15.000000000 +0000
++++ sdlpango-0.1.2/src/SDL_Pango.c	2007-10-08 19:45:27.000000000 +0000
+@@ -725,16 +725,23 @@
+     int x = rect->x;

+     int y = rect->y;

+ 

++    if(x < 0) {

++	width += x; x = 0;

++    }

+     if(x + width > surface->w) {

+ 	width = surface->w - x;

+-	if(width <= 0)

+-	    return;

++    }

++    if(width <= 0)

++	return;

++

++    if(y < 0) {

++	height += y; y = 0;

+     }

+     if(y + height > surface->h) {

+ 	height = surface->h - y;

+-	if(height <= 0)

+-	    return;

+     }

++    if(height <= 0)

++	return;

+ 

+     if(SDL_LockSurface(surface)) {

+ 	SDL_SetError("surface lock failed");

diff --git a/gnu/packages/patches/sdl-pango-fillrect_crash.patch b/gnu/packages/patches/sdl-pango-fillrect_crash.patch
new file mode 100644
index 0000000000..7a41bbf2fe
--- /dev/null
+++ b/gnu/packages/patches/sdl-pango-fillrect_crash.patch
@@ -0,0 +1,15 @@
+Index: SDL_Pango-0.1.2/src/SDL_Pango.c
+===================================================================
+--- SDL_Pango-0.1.2.orig/src/SDL_Pango.c	2007-09-18 15:56:12.406223540 +0200
++++ SDL_Pango-0.1.2/src/SDL_Pango.c	2007-09-18 15:57:27.986530616 +0200
+@@ -932,7 +932,9 @@
+     width = PANGO_PIXELS (logical_rect.width);

+     height = PANGO_PIXELS (logical_rect.height);

+ 

+-    SDL_FillRect(surface, NULL, SDL_MapRGBA(surface->format, 0, 0, 0, 0));

++    if (width && height) {

++        SDL_FillRect(surface, NULL, SDL_MapRGBA(surface->format, 0, 0, 0, 0));

++    }

+ 

+     if((! context->tmp_ftbitmap) || context->tmp_ftbitmap->width < width

+ 	|| context->tmp_ftbitmap->rows < height)

diff --git a/gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapToSurface.patch b/gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapToSurface.patch
new file mode 100644
index 0000000000..3d4b10cc10
--- /dev/null
+++ b/gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapToSurface.patch
@@ -0,0 +1,20 @@
+--- a/src/SDL_Pango.h
++++ b/src/SDL_Pango.h
+@@ -171,7 +171,7 @@
+     SDLPango_Direction direction);

+ 

+ 

+-#ifdef __FT2_BUILD_UNIX_H__

++#ifdef FT2BUILD_H_

+ 

+ extern DECLSPEC void SDLCALL SDLPango_CopyFTBitmapToSurface(

+     const FT_Bitmap *bitmap,

+@@ -179,7 +179,7 @@
+     const SDLPango_Matrix *matrix,

+     SDL_Rect *rect);

+ 

+-#endif	/* __FT2_BUILD_UNIX_H__ */

++#endif

+ 

+ 

+ #ifdef __PANGO_H__

diff --git a/gnu/packages/patches/sdl-pango-matrix_declarations.patch b/gnu/packages/patches/sdl-pango-matrix_declarations.patch
new file mode 100644
index 0000000000..c35d0a708d
--- /dev/null
+++ b/gnu/packages/patches/sdl-pango-matrix_declarations.patch
@@ -0,0 +1,131 @@
+Index: SDL_Pango-0.1.2/src/SDL_Pango.c
+===================================================================
+--- SDL_Pango-0.1.2.orig/src/SDL_Pango.c	2007-09-18 15:03:10.732910311 +0200
++++ SDL_Pango-0.1.2/src/SDL_Pango.c	2007-09-18 15:04:41.970109622 +0200
+@@ -286,6 +286,59 @@
+ } contextImpl;

+ 

+ 

++const SDLPango_Matrix _MATRIX_WHITE_BACK

++    = {255, 0, 0, 0,

++       255, 0, 0, 0,

++       255, 0, 0, 0,

++       255, 255, 0, 0,};

++

++/*!

++    Specifies white back and black letter.

++*/

++const SDLPango_Matrix *MATRIX_WHITE_BACK = &_MATRIX_WHITE_BACK;

++

++const SDLPango_Matrix _MATRIX_BLACK_BACK

++    = {0, 255, 0, 0,

++       0, 255, 0, 0,

++       0, 255, 0, 0,

++       255, 255, 0, 0,};

++/*!

++    Specifies black back and white letter.

++*/

++const SDLPango_Matrix *MATRIX_BLACK_BACK = &_MATRIX_BLACK_BACK;

++

++const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_BLACK_LETTER

++    = {0, 0, 0, 0,

++       0, 0, 0, 0,

++       0, 0, 0, 0,

++       0, 255, 0, 0,};

++/*!

++    Specifies transparent back and black letter.

++*/

++const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER = &_MATRIX_TRANSPARENT_BACK_BLACK_LETTER;

++

++const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_WHITE_LETTER

++    = {255, 255, 0, 0,

++       255, 255, 0, 0,

++       255, 255, 0, 0,

++       0, 255, 0, 0,};

++/*!

++    Specifies transparent back and white letter.

++*/

++const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER = &_MATRIX_TRANSPARENT_BACK_WHITE_LETTER;

++

++const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER

++    = {255, 255, 0, 0,

++       255, 255, 0, 0,

++       255, 255, 0, 0,

++       0, 0, 0, 0,};

++/*!

++    Specifies transparent back and transparent letter.

++    This is useful for KARAOKE like rendering.

++*/

++const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER = &_MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER;

++

++

+ /*!

+     Initialize the Glib and Pango API.

+     This must be called before using other functions in this library,

+Index: SDL_Pango-0.1.2/src/SDL_Pango.h
+===================================================================
+--- SDL_Pango-0.1.2.orig/src/SDL_Pango.h	2007-09-18 15:03:10.732910311 +0200
++++ SDL_Pango-0.1.2/src/SDL_Pango.h	2007-09-18 15:06:24.919976401 +0200
+@@ -47,57 +47,27 @@
+     Uint8 m[4][4];  /*! Matrix variables */

+ } SDLPango_Matrix;

+ 

+-const SDLPango_Matrix _MATRIX_WHITE_BACK

+-    = {255, 0, 0, 0,

+-       255, 0, 0, 0,

+-       255, 0, 0, 0,

+-       255, 255, 0, 0,};

+-

+ /*!

+     Specifies white back and black letter.

+ */

+-const SDLPango_Matrix *MATRIX_WHITE_BACK = &_MATRIX_WHITE_BACK;

+-

+-const SDLPango_Matrix _MATRIX_BLACK_BACK

+-    = {0, 255, 0, 0,

+-       0, 255, 0, 0,

+-       0, 255, 0, 0,

+-       255, 255, 0, 0,};

++extern const SDLPango_Matrix *MATRIX_WHITE_BACK;

+ /*!

+     Specifies black back and white letter.

+ */

+-const SDLPango_Matrix *MATRIX_BLACK_BACK = &_MATRIX_BLACK_BACK;

+-

+-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_BLACK_LETTER

+-    = {0, 0, 0, 0,

+-       0, 0, 0, 0,

+-       0, 0, 0, 0,

+-       0, 255, 0, 0,};

++extern const SDLPango_Matrix *MATRIX_BLACK_BACK;

+ /*!

+     Specifies transparent back and black letter.

+ */

+-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER = &_MATRIX_TRANSPARENT_BACK_BLACK_LETTER;

+-

+-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_WHITE_LETTER

+-    = {255, 255, 0, 0,

+-       255, 255, 0, 0,

+-       255, 255, 0, 0,

+-       0, 255, 0, 0,};

++extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER;

+ /*!

+     Specifies transparent back and white letter.

+ */

+-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER = &_MATRIX_TRANSPARENT_BACK_WHITE_LETTER;

+-

+-const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER

+-    = {255, 255, 0, 0,

+-       255, 255, 0, 0,

+-       255, 255, 0, 0,

+-       0, 0, 0, 0,};

++extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER;

+ /*!

+     Specifies transparent back and transparent letter.

+     This is useful for KARAOKE like rendering.

+ */

+-const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER = &_MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER;

++extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER;

+ 

+ /*!

+     Specifies direction of text. See Pango reference for detail

diff --git a/gnu/packages/patches/sdl-pango-sans-serif.patch b/gnu/packages/patches/sdl-pango-sans-serif.patch
new file mode 100644
index 0000000000..ccdc8150a7
--- /dev/null
+++ b/gnu/packages/patches/sdl-pango-sans-serif.patch
@@ -0,0 +1,13 @@
+Index: SDL_Pango-0.1.2/src/SDL_Pango.c
+===================================================================
+--- SDL_Pango-0.1.2.orig/src/SDL_Pango.c	2007-09-18 15:12:20.736253215 +0200
++++ SDL_Pango-0.1.2/src/SDL_Pango.c	2007-09-18 15:12:44.621614364 +0200
+@@ -234,7 +234,7 @@
+ //! non-zero if initialized

+ static int IS_INITIALIZED = 0;

+ 

+-#define DEFAULT_FONT_FAMILY "Sans"

++#define DEFAULT_FONT_FAMILY "sans-serif"

+ #define DEFAULT_FONT_SIZE 12

+ #define DEFAULT_DPI 96

+ #define _MAKE_FONT_NAME(family, size) family " " #size

diff --git a/gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch b/gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch
deleted file mode 100644
index 25f0aaf2f3..0000000000
--- a/gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From c9cbcf8730221e366c7495073f8f8d819ee8ce89 Mon Sep 17 00:00:00 2001
-From: Eric Bavier <bavier@member.fsf.org>
-Date: Wed, 6 Feb 2019 10:06:59 -0600
-Subject: [PATCH] Replace deprecated MPI_Attr_get.
-
-Fixes build with OpenMPI version 4.0.
-
-* SRC/pdgstrf.c, SRC/pdgstrf.c, SRC/superlu_grid.c: 'MPI_Attr_get' ->
-  'MPI_Comm_get_attr'.
----
- SRC/pdgstrf.c      | 2 +-
- SRC/pzgstrf.c      | 2 +-
- SRC/superlu_grid.c | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/SRC/pdgstrf.c b/SRC/pdgstrf.c
-index 736ffa2..f92a1ba 100644
---- a/SRC/pdgstrf.c
-+++ b/SRC/pdgstrf.c
-@@ -426,7 +426,7 @@ pdgstrf(superlu_dist_options_t * options, int m, int n, double anorm,
-     s_eps = smach_dist("Epsilon");
-     thresh = s_eps * anorm;
- 
--    MPI_Attr_get (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag);
-+    MPI_Comm_get_attr (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag);
-     if (!flag) {
-         fprintf (stderr, "Could not get TAG_UB\n");
-         return (-1);
-diff --git a/SRC/pzgstrf.c b/SRC/pzgstrf.c
-index 8896548..8800057 100644
---- a/SRC/pzgstrf.c
-+++ b/SRC/pzgstrf.c
-@@ -426,7 +426,7 @@ pzgstrf(superlu_dist_options_t * options, int m, int n, double anorm,
-     s_eps = smach_dist("Epsilon");
-     thresh = s_eps * anorm;
- 
--    MPI_Attr_get (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag);
-+    MPI_Comm_get_attr (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag);
-     if (!flag) {
-         fprintf (stderr, "Could not get TAG_UB\n");
-         return (-1);
-diff --git a/SRC/superlu_grid.c b/SRC/superlu_grid.c
-index 1213d27..0c0fb90 100644
---- a/SRC/superlu_grid.c
-+++ b/SRC/superlu_grid.c
-@@ -150,7 +150,7 @@ void superlu_gridmap(
-     {
- 	int tag_ub;
- 	if ( !grid->iam ) {
--	    MPI_Attr_get(Bcomm, MPI_TAG_UB, &tag_ub, &info);
-+	    MPI_Comm_get_attr(Bcomm, MPI_TAG_UB, &tag_ub, &info);
- 	    printf("MPI_TAG_UB %d\n", tag_ub);
- 	    /* returns 4295677672
- 	       In reality it is restricted to no greater than 16384. */
--- 
-2.20.1
-
diff --git a/gnu/packages/patches/t4k-common-libpng16.patch b/gnu/packages/patches/t4k-common-libpng16.patch
new file mode 100644
index 0000000000..17967773de
--- /dev/null
+++ b/gnu/packages/patches/t4k-common-libpng16.patch
@@ -0,0 +1,26 @@
+Description: Fix for libpng 1.6
+Author: Programmer Nerd <theprogrammernerd@gmail.com>
+Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743388#20
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743388
+Reviewed-by: Tobias Frost <tobi@debian.org>>
+Last-Update: 2016-04-07
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/src/t4k_loaders.c
++++ b/src/t4k_loaders.c
+@@ -1028,12 +1028,9 @@
+       {
+         png_init_io(png_ptr, fi);
+ 
+-        info_ptr->width = surf->w;
+-        info_ptr->height = surf->h;
+-        info_ptr->bit_depth = 8;
+-        info_ptr->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
+-        info_ptr->interlace_type = 1;
+-        info_ptr->valid = 0;	/* will be updated by various png_set_FOO() functions */
++	png_set_IHDR(png_ptr, info_ptr, surf->w, surf->h, 8,
++		PNG_COLOR_TYPE_RGB_ALPHA,  PNG_INTERLACE_NONE,
++                PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
+ 
+         png_set_sRGB_gAMA_and_cHRM(png_ptr, info_ptr,
+                        PNG_sRGB_INTENT_PERCEPTUAL);
diff --git a/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch b/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch
new file mode 100644
index 0000000000..3feeb1dc5e
--- /dev/null
+++ b/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch
@@ -0,0 +1,54 @@
+From 3fc056f0b9f7c26e58a1e947c8c0184e55919614 Mon Sep 17 00:00:00 2001
+From: David Abdurachmanov <david.abdurachmanov@gmail.com>
+Date: Wed, 21 Aug 2019 12:07:20 -0700
+Subject: [PATCH] qemu-riscv64_smode, sifive-fu540: fix extlinux (define
+ preboot)
+Forwarded: https://patchwork.ozlabs.org/patch/1151125/
+
+Commit 37304aaf60bf92a5dc3ef222ba520698bd862a44 removed preboot
+commands in RISC-V targets and broke extlinux support as reported
+by Fu Wei <wefu@redhat.com>.
+
+The patch finishes migration of CONFIG_USE_PREBOOT and CONFIG_REBOOT
+to Kconfig.
+
+Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
+---
+ configs/qemu-riscv64_smode_defconfig | 2 ++
+ configs/sifive_fu540_defconfig       | 2 ++
+ include/configs/sifive-fu540.h       | 4 ----
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+Index: u-boot/configs/qemu-riscv64_smode_defconfig
+===================================================================
+--- u-boot.orig/configs/qemu-riscv64_smode_defconfig
++++ u-boot/configs/qemu-riscv64_smode_defconfig
+@@ -14,3 +14,5 @@ CONFIG_CMD_NVEDIT_EFI=y
+ CONFIG_OF_PRIOR_STAGE=y
+ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+ CONFIG_DM_MTD=y
++CONFIG_USE_PREBOOT=y
++CONFIG_PREBOOT="setenv fdt_addr ${fdtcontroladdr}; fdt addr ${fdtcontroladdr};"
+Index: u-boot/configs/sifive_fu540_defconfig
+===================================================================
+--- u-boot.orig/configs/sifive_fu540_defconfig
++++ u-boot/configs/sifive_fu540_defconfig
+@@ -12,3 +12,5 @@ CONFIG_DISPLAY_BOARDINFO=y
+ CONFIG_DEFAULT_DEVICE_TREE="hifive-unleashed-a00"
+ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+ CONFIG_DM_MTD=y
++CONFIG_USE_PREBOOT=y
++CONFIG_PREBOOT="setenv fdt_addr ${fdtcontroladdr}; fdt addr ${fdtcontroladdr};"
+Index: u-boot/include/configs/sifive-fu540.h
+===================================================================
+--- u-boot.orig/include/configs/sifive-fu540.h
++++ u-boot/include/configs/sifive-fu540.h
+@@ -40,8 +40,4 @@
+ 	"ramdisk_addr_r=0x88300000\0" \
+ 	BOOTENV
+ 
+-#define CONFIG_PREBOOT \
+-	"setenv fdt_addr ${fdtcontroladdr};" \
+-	"fdt addr ${fdtcontroladdr};"
+-
+ #endif /* __CONFIG_H */