Subject: [PATCH] gnu: Add offpunk

From: "ShinyZero0" <[email-masked]>
Date: Wed, 16 Aug 2023 01:44:37 +0300

>From 60d578dfedaa237fbf1a7dec4902736ca882f75d Mon Sep 17 00:00:00 2001
Message-ID: <60[email-masked]>
From: "zero@void" <[email-masked]>
Date: Tue, 15 Aug 2023 23:06:12 +0300
Subject: [PATCH] gnu: Add offpunk

---
 gnu/packages/web-browsers.scm | 63 +++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 4b0e33c..f352c43 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -43,6 +43,7 @@ (define-module (gnu packages web-browsers)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system pyproject)
   #:use-module (guix download)
   #:use-module (guix gexp)
   #:use-module (guix git-download)
@@ -61,6 +62,7 @@ (define-module (gnu packages web-browsers)
   #:use-module (gnu packages fltk)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages fonts)
+  #:use-module (gnu packages file)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages fribidi)
   #:use-module (gnu packages gcc)
@@ -72,6 +74,7 @@ (define-module (gnu packages web-browsers)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages less)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libidn)
   #:use-module (gnu packages libunistring)
@@ -97,6 +100,7 @@ (define-module (gnu packages web-browsers)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages webkit)
+  #:use-module (gnu packages web)
   #:use-module (gnu packages xorg))
 
 (define-public midori
@@ -547,6 +551,65 @@ (define-public qutebrowser
 GUI.  It is based on PyQt5 and QtWebEngine.")
     (license license:gpl3+)))
 
+(define-public offpunk
+  (package
+    (name "offpunk")
+    (version "1.10")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.sr.ht/~lioploum/offpunk")
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32
+                "0r8j01s3hdn3iq4ld6pj3v0h4hpakvkc4h55jzz7jr6az4y8lcgs"))))
+    (build-system pyproject-build-system)
+    (arguments
+      (list #:tests? #f ; no tests
+            #:phases #~(modify-phases
+                         %standard-phases
+                         (add-before
+                           'wrap 'wrap-path
+                           (lambda* (#:key inputs outputs #:allow-other-keys)
+                                    (wrap-program
+                                      (string-append #$output
+                                                     "/bin/offpunk")
+                                      `("PATH" ":" prefix
+                                        (,(string-append
+                                            #$(this-package-input "less")
+                                            "/bin")
+                                          ,(string-append
+                                             #$(this-package-input "file")
+                                             "/bin")
+                                          ,(string-append
+                                             #$(this-package-input "xdg-utils")
+                                             "/bin"))))))
+                         (add-after
+                           'install 'install-manpages
+                           (lambda _
+                             (let
+                               ((mandir
+                                  (string-append
+                                    #$output "/share/man/man1")))
+                               (install-file "man/offpunk.1" mandir)))))))
+    (inputs (list python-cryptography
+                  python-requests
+                  python-feedparser
+                  python-beautifulsoup4
+                  python-readability-lxml
+                  python-flit
+                  xdg-utils
+                  file
+                  less))
+    (synopsis
+     "Command-line browser/feed reader for Gemini, Gopher, Spartan and Web")
+    (description
+     "The goal of Offpunk is to be able to synchronise your content once
+     (a day, a week, a month) and then browse/organise it while staying
+     disconnected")
+    (home-page "https://git.sr.ht/~lioploum/offpunk")
+    (license license:bsd-2)))
+
 (define-public vimb
   (package
     (name "vimb")

base-commit: f2943958a224beda05a3d040876df2a7285cd7a2
-- 
2.41.0