summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2021-06-19 00:21:54 +0200
committerMarius Bakke <marius@gnu.org>2021-06-19 17:09:51 +0200
commitfbee3e134bc2ac22f6680d35a443b34c9606059e (patch)
treeea625069af74783538e8e2ea59b8b8b203223097
parente4d5b509fe48a6285afc6a465ee7b1d01955bd12 (diff)
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.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/file-systems.scm1
-rw-r--r--gnu/packages/patches/jfsutils-gcc-compat.patch72
3 files changed, 74 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 7dd3d9ed38..a26ddd4edb 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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 \
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index eb424224b9..e2335b8a86 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -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
diff --git a/gnu/packages/patches/jfsutils-gcc-compat.patch b/gnu/packages/patches/jfsutils-gcc-compat.patch
new file mode 100644
index 0000000000..45b6ec25a1
--- /dev/null
+++ b/gnu/packages/patches/jfsutils-gcc-compat.patch
@@ -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;
+
+ /*