Subject: [PATCH] Add gccmakedep util

From: Jean-Baptiste Note <[email-masked]>
Date: Fri, 01 May 2020 20:53:25 +0000

Dear Guix maintainers,

I'm attempting to package x2go, and gccmakedep from the xorg utils is
required for the build.

This is therefore an attempt to package it -- so as to be able to use it
as native-input -- even though it is a deprecated tool.

There are two flavors of the patch:

- a -tar version which relies on a standard xorg mirror for download,
  and does not need the maintainer tools to build. Unfortunately guix
  lint reports a problem in that the tarball is not mirrored on software
  heritage.

- a -git version which is a bit more convoluted to build (requires
  maintainer tools as native-inputs: autoconf, automake, xorg macros),
  but with no failure in guix lint.

Please also note that /some/ elements from this xorg subdirectory are
prefixed with util- -- i've chosen not to include it here.

Please pick your choose, and let me know how to proceed!

Kind regards,
Jean-Baptiste

From 900a831cc775ab35b1d728da2a06d69c5c03b838 Mon Sep 17 00:00:00 2001
From: Jean-Baptiste Note <[email-masked]>
Date: Fri, 1 May 2020 14:15:07 +0000
Subject: [PATCH] xorg: Add gccmakedep.

* gnu/packages/xorg.scm (gccmakedep): New variable.
---
 gnu/packages/xorg.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 80158b1cab..7ef09aca51 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -6562,3 +6562,37 @@ Thai).")
 a configuration file reusable by xcursorgen.")
     (home-page "https://github.com/eworm-de/xcur2png")
     (license license:gpl3+)))
+
+(define-public gccmakedep
+  (let ((commit "5787c2f5459e19bb7206c98116dbdec54da7bcc0")
+        (revision "1"))
+    (package
+      (name "gccmakedep")
+      (version (git-version "1.0.3" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://gitlab.freedesktop.org/xorg/util/gccmakedep.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "034gp7b1f625gr1991ynkf2fj6lrg0k4980fpq655i3rzhdnjznm"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:phases (modify-phases %standard-phases
+                    (add-after 'unpack 'autogen
+                      (lambda _
+                        (setenv "NOCONFIGURE" "t")
+                        (invoke "sh" "autogen.sh"))))))
+      (native-inputs
+       `(("util-macros" ,util-macros)
+         ("autoconf" ,autoconf)
+         ("automake" ,automake)))
+      (synopsis "Create dependencies in makefiles using 'gcc -M'")
+      (description
+       "The gccmakedep program calls 'gcc -M' to output makefile rules
+describing the dependencies of each sourcefile, so that make knows which
+object files must be recompiled when a dependency has changed.")
+      (home-page "https://gitlab.freedesktop.org/xorg/util/gccmakedep")
+      (license license:x11))))
-- 
2.26.2

From 92a05aa14cd74f2d5a4faa62cc34b29c5cc79c18 Mon Sep 17 00:00:00 2001
From: Jean-Baptiste Note <[email-masked]>
Date: Fri, 1 May 2020 14:15:07 +0000
Subject: [PATCH] xorg: Add gccmakedep.

* gnu/packages/xorg.scm (gccmakedep): New variable.
---
 gnu/packages/xorg.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 80158b1cab..738e98164e 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -6562,3 +6562,23 @@ Thai).")
 a configuration file reusable by xcursorgen.")
     (home-page "https://github.com/eworm-de/xcur2png")
     (license license:gpl3+)))
+
+(define-public gccmakedep
+  (package
+    (name "gccmakedep")
+    (version "1.0.3")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://xorg/individual/util/gccmakedep-"
+                          version ".tar.bz2"))
+      (sha256
+       (base32 "1r1fpy5ni8chbgx7j5sz0008fpb6vbazpy1nifgdhgijyzqxqxdj"))))
+    (build-system gnu-build-system)
+    (synopsis "Create dependencies in makefiles using 'gcc -M'")
+    (description
+     "The gccmakedep is a deprecated program which calls 'gcc -M' to output
+makefile rules describing the dependencies of each sourcefile, so that make
+knows which object files must be recompiled when a dependency has changed.")
+    (home-page "https://gitlab.freedesktop.org/xorg/util/gccmakedep")
+    (license license:x11)))
-- 
2.26.2