Subject: [PATCH 0/2] Kea DHCP

From: Gabriel Wicki <[email-masked]>
Date: Sun, 25 Feb 2024 15:10:45 +0100

since isc-dhcp has been EOLd for about 2 years now i figured it was a good
opportunity to package ISC's kea-dhcp to officially start isc-dhcp's
deprecation in Guix.

Gabriel Wicki (2):
  gnu: Add log4cplus.
  gnu: Add kea-dhcp.

 gnu/packages/admin.scm   | 29 +++++++++++++++++++++++++++++
 gnu/packages/logging.scm | 24 ++++++++++++++++++++++++
 2 files changed, 53 insertions(+)

base-commit: 386080366c642d887f9156059e4e894cd2d4e9b1
-- 
2.41.0

>From 64bab5e5b44bf5d18f75677179cd6315432b5d64 Mon Sep 17 00:00:00 2001
Message-ID: <[email-masked]>
In-Reply-To: <[email-masked]>
References: <[email-masked]>
From: Gabriel Wicki <[email-masked]>
Date: Sun, 25 Feb 2024 14:58:56 +0100
Subject: [PATCH 1/2] gnu: Add log4cplus.

* gnu/packages/logging.scm (log4cplus): New variable.

Change-Id: I83f55dd2ee86ec798e3a8bc17659cc209fdf8533
---
 gnu/packages/logging.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm
index 47e8cd39c2..40916aaf7e 100644
--- a/gnu/packages/logging.scm
+++ b/gnu/packages/logging.scm
@@ -59,6 +59,30 @@ (define-module (gnu packages logging)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages tls))
 
+(define-public log4cplus
+  (package
+    (name "log4cplus")
+    (version "2.1.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/log4cplus/log4cplus")
+                    (commit (string-append
+                             "REL_"
+                             (string-replace-substring version "." "_")))
+                    (recursive? #t)))
+              (sha256
+               (base32
+                "1h3inzfrg5j8wb3m7nf2bpyzwyzpxzg5mzxqwwqgkbplnl5whzfd"))))
+    (build-system gnu-build-system)
+    (home-page "https://log4cplus.github.io/log4cplus/")
+    (synopsis "Log library for C++")
+    (description
+     "log4cplus is a C++ library providing a logging API providing
+thread-safe, flexible and arbitrarily granular control over log management and
+configuration.  It is modeled after the Log4j Java API.")
+    (license license:expat)))
+
 (define-public log4cpp
   (package
     (name "log4cpp")
-- 
2.41.0

>From 60e2d2ed961467e42899a28d65c77bf1cfc508f7 Mon Sep 17 00:00:00 2001
Message-ID: <[email-masked]>
In-Reply-To: <[email-masked]>
References: <[email-masked]>
From: Gabriel Wicki <[email-masked]>
Date: Sun, 25 Feb 2024 15:01:07 +0100
Subject: [PATCH 2/2] gnu: Add kea-dhcp.

* gnu/packages/admin.scm (kea-dhcp): New variable.

Change-Id: I8a480fec430e21c863d02e311dc59f5f04d09a38
---
 gnu/packages/admin.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 601c3b8fac..e4be6f2cc5 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -146,6 +146,7 @@ (define-module (gnu packages admin)
   #:use-module (gnu packages libunwind)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages logging)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages mail)
@@ -1613,6 +1614,34 @@ (define-public isc-dhcp
       (license license:mpl2.0)
       (properties '((cpe-name . "dhcp"))))))
 
+(define-public kea-dhcp
+  (package
+    (name "kea-dhcp")
+    (version "2.5.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.isc.org/isc-projects/kea.git")
+                    (commit (string-append "Kea-" version))))
+              (sha256
+               (base32
+                "15p577z6hrbn97dr89h8fgkccl5srp1bsw0xrcsjmsqjnz07dz8d"))))
+    (build-system gnu-build-system)
+    (native-inputs (list automake autoconf pkg-config))
+    (inputs (list boost libtool log4cplus botan))
+    (home-page "https://www.isc.org/kea/")
+    (synopsis "Dynamic Host Configuration Protocol (DHCP) tools")
+    (description
+     "ISC's Dynamic Host Configuration Protocol (DHCP) distribution provides a
+reference implementation of all aspects of DHCP, through a suite of DHCP
+tools: server, client, and relay agent.
+
+This is the reference software to deprecate ISC DHCP.")
+    (license license:mpl2.0)
+    (properties '((cpe-name . "dhcp")))))
+
+(deprecated-package "isc-dhcp" kea-dhcp)
+
 (define-public radvd
   (package
     (name "radvd")
-- 
2.41.0