aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/crypto.scm5
-rw-r--r--gnu/packages/patches/tomb-fix-errors-on-open.patch25
3 files changed, 29 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 4e6fb7c1d8..0bc23b92ee 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1386,6 +1386,7 @@ dist_patch_DATA = \
%D%/packages/patches/tk-find-library.patch \
%D%/packages/patches/ttf2eot-cstddef.patch \
%D%/packages/patches/ttfautohint-source-date-epoch.patch \
+ %D%/packages/patches/tomb-fix-errors-on-open.patch \
%D%/packages/patches/totem-meson-compat.patch \
%D%/packages/patches/totem-meson-easy-codec.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 2ae867f45b..4a9e45e819 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -339,14 +339,15 @@ no man page, refer to the home page for usage details.")
(define-public tomb
(package
(name "tomb")
- (version "2.6")
+ (version "2.7")
(source (origin
(method url-fetch)
(uri (string-append "https://files.dyne.org/tomb/"
"Tomb-" version ".tar.gz"))
(sha256
(base32
- "1sr3jcn96mciyn8xd0amd1jzamxxzpybakf8an7laf26gjim1dh2"))))
+ "0x3al02796vx1cvy6y6h685c367qx70dwv471g0hmks2gr10f0cn"))
+ (patches (search-patches "tomb-fix-errors-on-open.patch"))))
(build-system gnu-build-system)
(native-inputs `(("sudo" ,sudo))) ;presence needed for 'check' phase
(inputs
diff --git a/gnu/packages/patches/tomb-fix-errors-on-open.patch b/gnu/packages/patches/tomb-fix-errors-on-open.patch
new file mode 100644
index 0000000000..5f41c9ee8f
--- /dev/null
+++ b/gnu/packages/patches/tomb-fix-errors-on-open.patch
@@ -0,0 +1,25 @@
+Description: Avoid error messages when opening a new tomb
+ Make sure control file exists and has user ownership before user writes to it.
+Author: Sven Geuer <debmaint@g-e-u-e-r.de>
+Bug: https://github.com/dyne/Tomb/issues/369
+Last-Update: 2019-11-04
+--- a/tomb
++++ b/tomb
+@@ -2197,14 +2197,15 @@
+ # {{{ Open
+
+ _update_control_file() {
+- # replaces a control file with new contents and gives it user ownership
++ # make sure a control file exists, gives it user ownership
++ # and replaces it with new contents
+ # stdin = contents
+ # $1 = path to control file
+ # $2 = contents
+ [[ "$2" = "" ]] && return 1
+ _sudo touch "$1"
+- print "$2" > "$1"
+ _sudo chown ${_UID}:${_GID} "$1"
++ print "$2" > "$1"
+ _verbose "updated control file $1 = $2"
+ }
+