Subject: [PATCH] gnu: Add diod.
From: Justin Veilleux <[email-masked]>
To: [email-masked]
Date: Thu, 15 Feb 2024 22:39:50 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

This is a 9p protocol server. It is compatible with the linux 9p module.

From a88e118700509d0db95f533fecd700976145718c Mon Sep 17 00:00:00 2001
Message-ID: <a88[email-masked]>
From: terramorpha <[email-masked]>
Date: Thu, 15 Feb 2024 22:36:39 -0500
Subject: [PATCH] gnu: Add diod.

* gnu/packages/plan9.scm (diod): New variable.

Change-Id: If8b8eea856376573c20141981cecd40723143737
---
 gnu/packages/patches/diod-version.patch | 15 ++++++++
 gnu/packages/plan9.scm                  | 47 ++++++++++++++++++++++++-
 2 files changed, 61 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/diod-version.patch

diff --git a/gnu/packages/patches/diod-version.patch b/gnu/packages/patches/diod-version.patch
new file mode 100644
index 0000000000..0c7e5baae6
--- /dev/null
+++ b/gnu/packages/patches/diod-version.patch
@@ -0,0 +1,15 @@
+This patch fixes the version.
+
+diff --git a/configure.ac b/configure.ac
+index 419056e..a160d6d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2,7 +2,7 @@
+ # Prologue
+ ##
+ AC_INIT([diod],
+-        m4_esyscmd([git describe --always | awk '/.*/ {sub(/^v/, ""); printf "%s",$1; exit}']))
++        [master])
+ AC_CONFIG_AUX_DIR([config])
+ AC_CONFIG_MACRO_DIR([config])
+ AC_CONFIG_SRCDIR([NEWS])
diff --git a/gnu/packages/plan9.scm b/gnu/packages/plan9.scm
index f78c26e215..b5abbb628b 100644
--- a/gnu/packages/plan9.scm
+++ b/gnu/packages/plan9.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2021 宋文武 <[email-masked]>
 ;;; Copyright © 2023 Antero Mejr <[email-masked]>
+;;; Copyright © 2024 Justin Veilleux <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,12 +25,19 @@ (define-module (gnu packages plan9)
   #:use-module (guix gexp)
   #:use-module (guix utils)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages commencement)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages perl)
-  #:use-module (gnu packages xorg))
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages lua)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages admin))
 
 (define-public drawterm
   (let ((revision "1")
@@ -176,3 +184,40 @@ (define-public plan9port
       (license (list license:expat ;modifications
                      license:lpl1.02 ;original Plan9 code
                      license:zlib))))) ;src/cmd/bzip2
+
+(define-public diod
+  (package
+   (name "diod")
+   (version "1.0.24")
+   (source
+    (origin
+     (method git-fetch)
+     (uri (git-reference
+           (url "https://github.com/chaos/diod")
+           ;; The last release was in 2014
+           (commit "9da28f911978957dbec251c653200db7a4dcad6e")))
+     (sha256
+      (base32 "1kf981m615w9x2l8km360ap80mlds7pgd44jgrblh87cq1aq8pms"))
+     (patches
+      (search-patches "diod-version.patch"))))
+   (build-system gnu-build-system)
+   (inputs
+    (list
+     ncurses
+     lua
+     libcap
+     munge))
+   (native-inputs
+    (list
+     autoconf
+     automake
+     pkg-config))
+(home-page "https://github.com/chaos/diod")
+   (synopsis
+    "Distributed I/O Daemon - a 9P file server")
+   (description
+    "Diod is a multi-threaded, user space file server that speaks 9P2000.L
+protocol.")
+   (license license:gpl2+)))
+
+

base-commit: a8196632647b343f8e03c8f12fbdc0cc84ff90f6
-- 
2.41.0

Cheers.