From cf8d746dfe009d761846267ca66002a3df8f401d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Tempel?= Date: Mon, 8 Dec 2025 02:47:38 +0100 Subject: [PATCH] gnu: Add sogogi. * gnu/packages/web.scm (sogogi): New variable. Change-Id: If6a618a3344f3722103dd073305dd4c4b92ec69a Modified-by: Sharlatan Hellseher Signed-off-by: Sharlatan Hellseher --- gnu/packages/web.scm | 54 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index e51f3711136..810bb7ff64a 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1260,6 +1260,60 @@ over FastCGI. It hopes to provide clean CGI support to Nginx (and other web servers that may need it).") (license license:expat)))) +(define-public sogogi + ;; Using the latest version that is compatible with our packaged version + ;; of go-github-com-emersion-go-webdav. We can update to the latest release + ;; once go-github-com-emersion-go-webdav is upgraded. + (let ((commit "afabb59eb615853a271c2af8cca03b60a6ca850e") + (revision "0")) + (package + (name "sogogi") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emersion/sogogi.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09pi493xz1nkjd1n05nh09whv1shy0mxxy9p56fjh6r87l5b8dnj")) + (modules '((guix build utils))) + ;; Update import path of go-scfg, see: + ;; . + (snippet '(substitute* "config.go" + (("git.sr.ht/~emersion/go-scfg") + "codeberg.org/emersion/go-scfg"))))) + (build-system go-build-system) + (arguments + (list + #:install-source? #f + #:import-path "codeberg.org/emersion/sogogi" + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-man-page + (lambda* (#:key import-path #:allow-other-keys) + (let ((man (string-append #$output "/share/man/man"))) + (mkdir-p (string-append man "1")) + (with-input-from-file + (string-append "src/" import-path "/doc/sogogi.1.scd") + (lambda _ + (with-output-to-file (string-append man "1/sogogi.1") + (lambda _ + (invoke "scdoc"))))))))))) + (native-inputs + (list go-codeberg-org-emersion-go-scfg + go-github-com-emersion-go-webdav + scdoc)) + (home-page "https://codeberg.org/emersion/sogogi") + (synopsis "Minimalistic WebDav server implementation") + (description + "This package provides a WebDAV file server based on +@code{github.com/emersion/go-webdav}. The server exposes a configured local +filesystem to remote users via HTTP and supports defining access rights +on a per-user basis.") + (license license:agpl3)))) + (define-public starman (package (name "starman")