~ruther/guix-local

fbee3e134bc2ac22f6680d35a443b34c9606059e — Marius Bakke 5 years ago e4d5b50
gnu: jfsutils: Adjust for GCC 10.

* gnu/packages/patches/jfsutils-gcc-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/file-systems.scm (jfsutils)[source](patches): Add it.
3 files changed, 74 insertions(+), 0 deletions(-)

M gnu/local.mk
M gnu/packages/file-systems.scm
A gnu/packages/patches/jfsutils-gcc-compat.patch
M gnu/local.mk => gnu/local.mk +1 -0
@@ 1278,6 1278,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/java-xerces-build_dont_unzip.patch	\
  %D%/packages/patches/java-xerces-xjavac_taskdef.patch	\
  %D%/packages/patches/jfsutils-add-sysmacros.patch		\
  %D%/packages/patches/jfsutils-gcc-compat.patch		\
  %D%/packages/patches/jfsutils-include-systypes.patch		\
  %D%/packages/patches/jsoncpp-fix-inverted-case.patch		\
  %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch	\

M gnu/packages/file-systems.scm => gnu/packages/file-systems.scm +1 -0
@@ 576,6 576,7 @@ single file can be mounted.")
       (sha256
        (base32 "0kbsy2sk1jv4m82rxyl25gwrlkzvl3hzdga9gshkxkhm83v1aji4"))
       (patches (search-patches "jfsutils-add-sysmacros.patch"
                                "jfsutils-gcc-compat.patch"
                                "jfsutils-include-systypes.patch"))))
    (build-system gnu-build-system)
    (inputs

A gnu/packages/patches/jfsutils-gcc-compat.patch => gnu/packages/patches/jfsutils-gcc-compat.patch +72 -0
@@ 0,0 1,72 @@
Various fixes for building with GCC 10.

Taken from Debian:
https://sources.debian.org/patches/jfsutils/1.1.15-5/gcc10_fix-1.patch/

--- jfsutils-1.1.15.old/fscklog/display.c	2005-11-22 21:43:54.000000000 +0100
+++ jfsutils-1.1.15.new/fscklog/display.c	2020-05-21 18:15:13.410617620 +0200
@@ -54,7 +54,7 @@
  * output: fsck extracted service log I/O buffer
  *
  */
-char xchklog_buffer[XCHKLOG_BUFSIZE];
+static char xchklog_buffer[XCHKLOG_BUFSIZE];
 
 /* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  *
diff -ur --exclude '*.o' --exclude '*.a' jfsutils-1.1.15.old/libfs/logredo.c jfsutils-1.1.15.new/libfs/logredo.c
--- jfsutils-1.1.15.old/libfs/logredo.c	2005-11-22 21:43:55.000000000 +0100
+++ jfsutils-1.1.15.new/libfs/logredo.c	2020-05-21 18:19:44.927703271 +0200
@@ -87,9 +87,9 @@
  *    S T U F F    F O R    T H E    L O G
  *
  */
-struct logsuper logsup;		/* log super block */
-int32_t numdoblk;		/* number of do blocks used     */
-int32_t numnodofile;		/* number of nodo file blocks used  */
+static struct logsuper logsup;		/* log super block */
+static int32_t numdoblk;		/* number of do blocks used     */
+static int32_t numnodofile;		/* number of nodo file blocks used  */
 int32_t numExtDtPg = 0;		/* number of extended dtpage blocks used  */
 
 /*
@@ -129,7 +129,7 @@
  */
 
 /* buffer header table */
-struct bufhdr {
+static struct bufhdr {
 	int16_t next;		/* 2: next on free/lru list */
 	int16_t prev;		/* 2: previous on free/lru list */
 	int16_t hnext;		/* 2: next on hash chain */
@@ -142,7 +142,7 @@
 } bufhdr[NBUFPOOL];		/* (24) */
 
 /* buffer table */
-struct bufpool {
+static struct bufpool {
 	char bytes[PSIZE];
 } buffer[NBUFPOOL - 1];
 
@@ -151,15 +151,16 @@
  *
  * log has its own 4 page buffer pool.
  */
-uint8_t afterdata[LOGPSIZE * 2];	/* buffer to read in redopage data */
+static uint8_t afterdata[LOGPSIZE * 2];	/* buffer to read in redopage data */
 
 /*
  * Miscellaneous
  */
-caddr_t prog;			/* Program name */
-int32_t mntcnt, bufsize;
-char *mntinfo;
-int32_t retcode;		/* return code from logredo    */
+static caddr_t prog;			/* Program name */
+extern int32_t mntcnt;
+static int32_t bufsize;
+static char *mntinfo;
+static int32_t retcode;		/* return code from logredo    */
 int end_of_transaction = 0;
 
 /*