Subject: [bug#70684] [PATCH go-team 6/6] gnu: miniflux: Update to 2.1.3.

From: Rodion Goritskov <[email-masked]>
Date: Wed, 1 May 2024 00:42:46 +0400

* gnu/packages/web.scm (miniflux): Update to 2.1.3.

Change-Id: I51a93f290b6a625a2c1db9959871396c0f67f5e5
---
 gnu/packages/web.scm | 97 +++++++++++++++++++++++---------------------
 1 file changed, 50 insertions(+), 47 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index d729e9bdbf..1c97dc389c 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -145,6 +145,7 @@ (define-module (gnu packages web)
   #:use-module (gnu packages golang)
   #:use-module (gnu packages golang-build)
   #:use-module (gnu packages golang-check)
+  #:use-module (gnu packages golang-compression)
   #:use-module (gnu packages golang-web)
   #:use-module (gnu packages golang-xyz)
   #:use-module (gnu packages gperf)
@@ -335,56 +336,57 @@ (define-public httpd/pinned
 (define-public miniflux
   (package
     (name "miniflux")
-    (version "2.0.46")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/miniflux/v2")
-                    (commit version)))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "1qv95kipjlg374kiq6gssh5jsb5arahq4jsb7vkg3njnx0ldwvkb"))))
+    (version "2.1.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/miniflux/v2")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0cb0fkjzbjrhgmx1s8jv1drdgfaddkyj9j9z451qswgvz6xyp3a3"))))
     (build-system go-build-system)
     (arguments
-     (list #:go go-1.19
-           #:install-source? #f
-           #:import-path "miniflux.app"
-           #:build-flags
-           #~(list (string-append
-                    "-ldflags= -X miniflux.app/version.Version=" #$version))
-           #:phases
-           #~(modify-phases %standard-phases
-               (add-before 'build 'disable-cgo
-                 (lambda _
-                   (setenv "CGO_ENABLED" "0")))
-               (add-after 'install 'install-manpage
-                 (lambda* (#:key import-path #:allow-other-keys)
-                   (let ((man1 (string-append #$output "/share/man/man1/"))
-                         (page (format #f "src/~a/miniflux.1" import-path)))
-                     (install-file page man1))))
-               (add-after 'install-manpage 'rename-binary
-                 (lambda _
-                   (let ((bindir (string-append #$output "/bin/")))
-                     (rename-file (string-append bindir "miniflux.app")
-                                  (string-append bindir "miniflux"))))))))
-    (inputs
-     (list go-github-com-coreos-go-oidc-v3
-           go-github-com-go-telegram-bot-api-telegram-bot-api
-           go-github-com-gorilla-mux
-           go-github-com-lib-pq
-           go-github-com-matrix-org-gomatrix
-           go-github-com-prometheus-client-golang
-           go-github-com-puerkitobio-goquery
-           go-github-com-rylans-getlang
-           go-github-com-tdewolff-minify-v2
-           go-github-com-yuin-goldmark
-           go-golang-org-x-term
-           go-mvdan-cc-xurls))
+     (list
+      #:go go-1.22
+      #:install-source? #f
+      #:import-path "miniflux.app/v2"
+      #:build-flags #~(list (string-append
+                             "-ldflags= -X miniflux.app/v2/internal/version.Version="
+                             #$version))
+      #:phases #~(modify-phases %standard-phases
+		   ;; Scans for all tests recursively
+		   (replace 'check
+			    (lambda* (#:key import-path #:allow-other-keys)
+			      (invoke "go" "test" (string-append import-path "/..."))))
+                   (add-after 'install 'install-manpage
+                     (lambda* (#:key import-path #:allow-other-keys)
+                       (let ((man1 (string-append #$output "/share/man/man1/"))
+                             (page (format #f "src/~a/miniflux.1" import-path)))
+                         (install-file page man1))))
+                   (add-after 'install-manpage 'rename-binary
+                     (lambda _
+                       (let ((bindir (string-append #$output "/bin/")))
+                         (rename-file (string-append bindir "v2")
+                                      (string-append bindir "miniflux"))))))))
+    (inputs (list go-github-com-go-webauthn-webauthn-webauthn
+                  go-github-com-go-webauthn-webauthn-protocol
+                  go-github-com-go-webauthn-webauthn-metadata
+		  go-github-com-andybalholm-brotli
+                  go-github-com-abadojack-whatlanggo
+                  go-github-com-coreos-go-oidc-v3
+                  go-github-com-gorilla-mux
+                  go-github-com-lib-pq
+                  go-github-com-prometheus-client-golang
+                  go-github-com-puerkitobio-goquery
+                  go-github-com-tdewolff-minify-v2
+                  go-github-com-yuin-goldmark
+                  go-golang-org-x-term
+                  go-mvdan-cc-xurls))
     (home-page "https://miniflux.app/")
     (synopsis "Minimalist and opinionated feed reader")
-    (description
-     "Miniflux is a minimalist and opinionated feed reader:
+    (description "Miniflux is a minimalist and opinionated feed reader:
 
 @itemize
 @item Written in Go (Golang)
@@ -394,7 +396,8 @@ (define-public miniflux
 @item Use only modern vanilla Javascript (ES6 and Fetch API)
 @item Single binary compiled statically without dependency
 @item The number of features is voluntarily limited
-@end itemize\n")
+@end itemize
+")
     (license license:asl2.0)))
 
 (define-public mod-wsgi
-- 
2.41.0