Subject: [bug#30406] [PATCH 1/2] gnu: tome4: Add fix to getself.c.

From: Oleg Pykhalov <[email-masked]>
Date: Sat, 10 Feb 2018 00:23:30 +0300

* gnu/local.mk (dist_patch_DATA): Add this.
* gnu/packages/games.scm (tome4)[source]: Add fix to getself.c.
* gnu/packages/patches/tome4-patch-src-getself-c.patch: New file.
---
 gnu/local.mk                                       |  1 +
 gnu/packages/games.scm                             |  1 +
 .../patches/tome4-patch-src-getself-c.patch        | 24 ++++++++++++++++++++++
 3 files changed, 26 insertions(+)
 create mode 100644 gnu/packages/patches/tome4-patch-src-getself-c.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 925057dc7..24b0bf1e0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1118,6 +1118,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/tome4-patch-src-getself-c.patch		\
   %D%/packages/patches/tophat-build-with-later-seqan.patch	\
   %D%/packages/patches/totem-meson-easy-codec.patch		\
   %D%/packages/patches/tuxpaint-stamps-path.patch		\
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 286d0feef..a5804a87b 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5208,6 +5208,7 @@ Crowther & Woods, its original authors, in 1995.  It has been known as
        (sha256
         (base32
          "0v2qgdfpvdzd1bcbp9v8pfahj1bgczsq2d4xfhh5wg11jgjcwz03"))
+       (patches (search-patches "tome4-patch-src-getself-c.patch"))
        (modules '((guix build utils)))
        (snippet
         '(substitute* '("src/music.h" "src/tSDL.h")
diff --git a/gnu/packages/patches/tome4-patch-src-getself-c.patch b/gnu/packages/patches/tome4-patch-src-getself-c.patch
new file mode 100644
index 000000000..ce4795662
--- /dev/null
+++ b/gnu/packages/patches/tome4-patch-src-getself-c.patch
@@ -0,0 +1,24 @@
+Copied from OpenBSD.
+
+Fixes: ../src/getself.c:40:1: fatal error: opening dependency file
+../obj/Release/TEngine/getself.d: No such file or directory
+
+$OpenBSD: patch-src_getself_c,v 1.3 2017/11/11 11:24:42 kirby Exp $
+
+--- a/src/getself.c
++++ b/src/getself.c
+@@ -47,13 +47,7 @@ int get_number_cpus()
+ const char *get_self_executable(int argc, char **argv)
+ {
+ 	static char res[PATH_MAX];
+-	int mib[4];
+-	mib[0] = CTL_KERN;
+-	mib[1] = KERN_PROC;
+-	mib[2] = KERN_PROC_PATHNAME;
+-	mib[3] = -1;
+-	size_t cb = sizeof(res);
+-	sysctl(mib,4,res,&cb,NULL,0);
++	realpath("${GAMEDIR}/", res);
+ 	return res;
+ }
+ 
-- 
2.15.1