summary refs log tree commit diff
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"
+ }
+