From 082e2746e0bbd340399b299a7b70ebf09c62bc76 Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
Date: Thu, 14 Nov 2024 22:02:10 +0300
Subject: gnu: Add go-github-com-libdns-libdns.

* gnu/packages/golang-web.scm (go-github-com-libdns-libdns): New variable.

Change-Id: I9d1a1751f575e521deda22177c55ad5be6b41eca
Reviewed-by: Sharlatan Hellseher <sharlatanus@gmail.com>
---
 gnu/packages/golang-web.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 02a0c5e331..64670eed43 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -3078,6 +3078,45 @@ router.")
 @acronym{Simple Service Discovery Protocol, SSDP}} library for Golang.")
     (license license:expat)))
 
+(define-public go-github-com-libdns-libdns
+  (package
+    (name "go-github-com-libdns-libdns")
+    (version "0.2.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/libdns/libdns")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "00zx6yij1ac8mhswhsks1nchzgmhbzrsm9hr0faqbmx0vkip78j5"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "github.com/libdns/libdns"))
+    (native-inputs (list go-github-com-stretchr-testify))
+    (propagated-inputs (list go-golang-org-x-exp))
+    (home-page "https://github.com/libdns/libdns")
+    (synopsis "Universal DNS provider APIs for Go")
+    (description
+     "@code{libdns} is a collection of free-range DNS provider client
+implementations.  It defines the core interfaces that provider packages should
+implement.  They are small and idiomatic interfaces with well-defined semantics.
+
+The interfaces include:
+@itemize
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordGetter, RecordGetter} to
+list records.
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordAppender,
+RecordAppender} to append new records.
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordSetter, RecordSetter} to
+set (create or change existing) records.
+@item @url{https://pkg.go.dev/github.com/libdns/libdns#RecordDeleter, RecordDeleter}
+to delete records.
+@end itemize")
+    (license license:expat)))
+
 (define-public go-github-com-libp2p-go-cidranger
   (package
     (name "go-github-com-libp2p-go-cidranger")
-- 
cgit v1.2.3