(address . guix-patches@gnu.org)
* gnu/packages/file-systems.scm (jfsutils): New public variable.
---
gnu/local.mk | 2 ++
gnu/packages/file-systems.scm | 34 +++++++++++++++++++
.../patches/jfsutils-add-sysmacros.patch | 26 ++++++++++++++
.../patches/jfsutils-include-systypes.patch | 25 ++++++++++++++
4 files changed, 87 insertions(+)
create mode 100644 gnu/packages/patches/jfsutils-add-sysmacros.patch
create mode 100644 gnu/packages/patches/jfsutils-include-systypes.patch
Toggle diff (123 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index df0959fa7e..2be218f59e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1011,6 +1011,8 @@ dist_patch_DATA = \
%D%/packages/patches/java-xerces-build_dont_unzip.patch \
%D%/packages/patches/java-xerces-xjavac_taskdef.patch \
%D%/packages/patches/jbig2dec-ignore-testtest.patch \
+ %D%/packages/patches/jfsutils-add-sysmacros.patch \
+ %D%/packages/patches/jfsutils-include-systypes.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/libnftnl-dont-check-NFTNL_FLOWTABLE_SIZE.patch \
%D%/packages/patches/libvirt-create-machine-cgroup.patch \
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 7bd09bce0c..527e915e84 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -167,6 +167,40 @@ files. Since the HTTP protocol itself has no notion of directories, only a
single file can be mounted.")
(license license:gpl2+)))
+(define-public jfsutils
+ (package
+ (name "jfsutils")
+ (version "1.1.15")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://jfs.sourceforge.net/project/pub/jfsutils-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0kbsy2sk1jv4m82rxyl25gwrlkzvl3hzdga9gshkxkhm83v1aji4"))
+ (patches (search-patches "jfsutils-add-sysmacros.patch"
+ "jfsutils-include-systypes.patch"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("util-linux" ,util-linux)))
+ (home-page "http://jfs.sourceforge.net/home.html")
+ (synopsis "Utilities for managing JFS file systems")
+ (description
+ "The JFSutils are a collection of utilities for managing the @acronym{JFS,
+Journaled File System}, a 64-bit journaling file system created by IBM and later
+ported to the kernel Linux. The following commands are available:
+@enumerate
+@item @command{fsck.jfs}: check and repair a JFS file system or replay its
+transaction log.
+@item @command{logdump}: dump the JFS journal log.
+@item @command{logredo}: replay the JFS journal log.
+@item @command{mkfs.jfs}: create a new JFS file system.
+@item @command{xchklog}: save a JFS fsck log to a file.
+@item @command{xchkdmp}: dump the contents of such a log file.
+@item @command{xpeek}: a JFS file system editor with a shell-like interface.
+@end enumerate\n")
+ (license license:gpl3+))) ; no explicit version given
+
(define-public disorderfs
(package
(name "disorderfs")
diff --git a/gnu/packages/patches/jfsutils-add-sysmacros.patch b/gnu/packages/patches/jfsutils-add-sysmacros.patch
new file mode 100644
index 0000000000..2349e37c06
--- /dev/null
+++ b/gnu/packages/patches/jfsutils-add-sysmacros.patch
@@ -0,0 +1,26 @@
+From: Tobias Geerinckx-Rice <me@tobias.gr>
+Date: Thu, 12 Dec 2019 02:15:37 +0100
+Subject: gnu: jfsutils: Include sys/sysmacros.h.
+
+Copied verbatim[0] from the Debian package.
+
+[0]: https://sources.debian.org/patches/jfsutils/1.1.15-4/add_sysmacros.patch
+
+Description: Include sys/sysmacros.h
+ Mentioned header needed for major() definition.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Last-Update: 2018-12-11
+
+---
+
+--- jfsutils-1.1.15.orig/libfs/devices.c
++++ jfsutils-1.1.15/libfs/devices.c
+@@ -49,6 +49,8 @@
+ #include <sys/disklabel.h>
+ #endif
+
++#include <sys/sysmacros.h>
++
+ #include "jfs_types.h"
+ #include "jfs_filsys.h"
+ #include "devices.h"
diff --git a/gnu/packages/patches/jfsutils-include-systypes.patch b/gnu/packages/patches/jfsutils-include-systypes.patch
new file mode 100644
index 0000000000..ef1515d02c
--- /dev/null
+++ b/gnu/packages/patches/jfsutils-include-systypes.patch
@@ -0,0 +1,25 @@
+From: Tobias Geerinckx-Rice <me@tobias.gr>
+Date: Thu, 12 Dec 2019 02:15:37 +0100
+Subject: gnu: jfsutils: Include sys/types.h.
+
+Copied verbatim[0] from the Debian package.
+
+[0]: https://sources.debian.org/patches/jfsutils/1.1.15-4/missing-includes.diff
+
+Description: Add missing include to fix FTBFS with eglibc 2.17
+Origin: vendor, http://patches.ubuntu.com/j/jfsutils/jfsutils_1.1.15-2ubuntu1.patch
+Bug-Debian: http://bugs.debian.org/701433
+Last-Update: 2013-07-05
+
+Index: b/fscklog/extract.c
+===================================================================
+--- a/fscklog/extract.c 2006-06-05 19:31:40.000000000 +0000
++++ b/fscklog/extract.c 2013-04-02 07:13:08.737654963 +0000
+@@ -28,6 +28,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <unistd.h>
++#include <sys/types.h>
+
+ #include "devices.h"
+ #include "diskmap.h"
--
2.23.0