diff mbox series

[bug#38286] gnu: Add netcat-openbsd.

Message ID 8e0a1df0-2df6-4efe-b8e5-02cf468ab8d9@www.fastmail.com
State Accepted
Headers show
Series [bug#38286] gnu: Add netcat-openbsd. | expand

Commit Message

Alex Griffin Nov. 21, 2019, 10:09 p.m. UTC
Sorry, one last revision. There was no point in adding PREFIX=out since the Makefile doesn't install the software. Also, may as well include the example scripts since they're right there in the Debian repo.
diff mbox series

Patch

From 8bdd9758763252a06079702728b8d2ace56fac0d Mon Sep 17 00:00:00 2001
From: Alex Griffin <a@ajgrf.com>
Date: Tue, 19 Nov 2019 19:59:32 -0600
Subject: [PATCH] gnu: Add netcat-openbsd.

* gnu/packages/admin.scm (netcat-openbsd): New variable.
---
 gnu/packages/admin.scm | 58 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 761b26a8d6..d4cf3b6aaf 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -27,6 +27,7 @@ 
 ;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 ;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>
 ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -67,6 +68,7 @@ 
   #:use-module (gnu packages file)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages libbsd)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages guile)
@@ -87,6 +89,7 @@ 
   #:use-module (gnu packages glib)
   #:use-module (gnu packages openldap)
   #:use-module (gnu packages mcrypt)
+  #:use-module (gnu packages patchutils)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages popt)
   #:use-module (gnu packages python)
@@ -620,6 +623,61 @@  and exploration tool, since it can create almost any kind of connection you
 would need and has several interesting built-in capabilities.")
     (license license:gpl2+)))
 
+(define-public netcat-openbsd
+  (package
+    (name "netcat-openbsd")
+    (version "1.203-2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://salsa.debian.org/debian/netcat-openbsd.git")
+                    (commit (string-append "debian/" version))))
+              (sha256
+               (base32
+                "0j85gzbjzs6yrhgabh3zkwzd27qkr5s0zjjczl0hah8q7yhrjk3m"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no test suite
+       #:make-flags
+       (list "CC=gcc"
+             (string-append "CFLAGS=-I" (assoc-ref %build-inputs "libbsd") "/include")
+             "LDFLAGS=-lbsd")
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-before 'build 'patch
+           (lambda _
+             (setenv "QUILT_PATCHES" "debian/patches")
+             (invoke "quilt" "push" "-a")
+             #t))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin"))
+                    (doc (string-append out "/share/doc/netcat-openbsd-" ,version))
+                    (man (string-append out "/share/man/man1")))
+               (install-file "nc" bin)
+               (install-file "nc.1" man)
+               (install-file "debian/copyright" doc)
+               #t))))))
+    (inputs `(("libbsd" ,libbsd)))
+    (native-inputs `(("pkg-config" ,pkg-config)
+                     ("quilt" ,quilt)))
+    (home-page "https://packages.debian.org/sid/netcat-openbsd")
+    (synopsis "TCP/IP swiss army knife")
+    (description
+     "A simple Unix utility which reads and writes data across network
+connections using TCP or UDP protocol.  It is designed to be a reliable
+\"back-end\" tool that can be used directly or easily driven by other programs
+and scripts.  At the same time it is a feature-rich network debugging and
+exploration tool, since it can create almost any kind of connection you would
+need and has several interesting built-in capabilities.
+
+This package contains the OpenBSD rewrite of netcat, including support for
+IPv6, proxies, and Unix sockets.")
+    (license (list license:bsd-3
+                   license:bsd-2))))  ; atomicio.*, socks.c
+
 (define-public sipcalc
   (package
     (name "sipcalc")
-- 
2.24.0