Germinal, a Common Lisp Gemini Server

  • Open
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • ~vidak
Owner
unassigned
Submitted by
~vidak
Severity
normal
~
~
~vidak wrote on 27 Mar 2022 23:34
(address . guix-patches@gnu.org)
87mthbw052.fsf@riseup.net
Attachment: germinal.scm
Hello all,

I have written this package for Guix. It is a gemini protocol server
written in Common Lisp.

For me, it builds and installs, but I cannot seem to understand how to
run the software.

I understand that there are Guix system configurations/definitions for
'Agate' and 'gmnisrv', that allow one to use Guix to serve gemini
content.


Could anyone help me understand how I might be able to get this
software, Germinal, running on Guix in the same way as Agate and
gmnisrv?

Thanks in advance,

~vidak


=> gemini://tilde.town/~vidak
L
L
Ludovic Courtès wrote on 5 Apr 2022 20:41
(name . ~vidak)(address . vidak@riseup.net)(address . 54602@debbugs.gnu.org)
87lewjid9l.fsf@gnu.org
Hello,

Sorry for the delay! Comments below…

~vidak <vidak@riseup.net> skribis:

Toggle quote (80 lines)
> (use-modules (guix packages)
> (guix build-system asdf)
> (guix build utils)
> (guix git)
> (guix git-download)
> (gnu packages lisp)
> (gnu packages lisp-xyz)
> ((guix licenses) #:prefix license:))
>
> (define-public germinal
> ;; No release.
> (let ((commit "5bfb371ea57dae8985c0e1c6f184f0338487d684"))
> (package
> (name "germinal")
> (version (git-version "1.0.0" "1" commit))
> (source
> (origin
> (method git-fetch)
> (uri (git-reference
> (url "https://git.carcosa.net/jmcbray/germinal")
> (commit commit)))
> (file-name (git-file-name "germinal" version))
> (sha256
> (base32 "12jypa8m10825lp5yxfcm1fyk3r4ziwcri7ndxa0m5dz0y7hggck"))))
> (build-system asdf-build-system/sbcl)
>
> (inputs `(("alexandria" ,sbcl-alexandria)
> ("babel" ,sbcl-babel)
> ("usocket" ,sbcl-usocket)
> ("bordeaux-threads" ,sbcl-bordeaux-threads)
> ("cl+ssl" ,sbcl-cl+ssl)
> ("str" ,sbcl-cl-str)
> ("trivial-mimes" ,sbcl-trivial-mimes)
> ("ppath" ,sbcl-ppath)
> ("osicat" ,sbcl-osicat)
> ("cl-interpol" ,sbcl-cl-interpol)
> ("quri" ,sbcl-quri)
> ("cl-ppcre" ,sbcl-cl-ppcre)
> ("cl-fad" ,sbcl-cl-fad)
> ("local-time" ,sbcl-local-time)
> ("uax-15" ,sbcl-uax-15)))
> (outputs '("out"))
> (arguments
> `(#:asd-systems '("germinal")))
> (synopsis "A gemini protocol server in Common Lisp.")
> (description
> " Germinal is a server for the Gemini Protocol, written in Common
> Lisp.
>
> It is named after the early 20th century Yiddish-language anarchist
> newspaper Germinal. I wanted to name it after an anarchist publication
> to convey the idea of people sharing information and ideas with each
> other, in contrast to the way the web is used to push advertising from
> corporations to people. And it happened that Germinal shares some
> sounds with Gemini.")
>
> (home-page "https://git.carcosa.net/jmcbray/germinal")
> (license license:agpl3))))
>
> germinal
>
>
> Hello all,
>
> I have written this package for Guix. It is a gemini protocol server
> written in Common Lisp.
>
> For me, it builds and installs, but I cannot seem to understand how to
> run the software.
>
> I understand that there are Guix system configurations/definitions for
> 'Agate' and 'gmnisrv', that allow one to use Guix to serve gemini
> content.
>
> (see: https://guix.gnu.org/manual/en/html_node/Web-Services.html )
>
> Could anyone help me understand how I might be able to get this
> software, Germinal, running on Guix in the same way as Agate and
> gmnisrv?

First, I would encourage you to submit the package for inclusion in Guix
proper. For that, you need to turn it into a patch and generally follow
the guidelines at:


In particular, once you’ve added it to the Guix tree, you will need to
run:

./pre-inst-env guix style germinal
./pre-inst-env guix style -S inputs germinal

to obtain the “conventional” style. Let us know how it goes!

As for defining a Guix System service such as those you mention, I don’t
know. My guess is that you could probably copy/paste
‘agate-service-type’ or ‘gmnisrv-service-type’ and related code as a
starting point, and adjust it so it matches Germinal. People can
provide guidance on help-guix@gnu.org and on #guix on Libera.chat.

Thanks in advance,
Ludo’.
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 54602@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 54602
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch