Subject: [PATCH] gnu: Add adl-submit.py

From: Denis 'GNUtoo' Carikli <[email-masked]>
Date: Sat, 14 Dec 2024 02:25:30 +0100

* gnu/packages/calendar.scm (adl-submit.py): New variable.

Signed-off-by: Denis 'GNUtoo' Carikli <[email-masked]>
Change-Id: Icd9438fbaf2c53635989fb8cfb443d2c3e541eff
---
 gnu/packages/calendar.scm | 44 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 6717db867f..069e3c05ca 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2020 Peng Mei Yu <[email-masked]>
 ;;; Copyright © 2021 Wamm K. D. <[email-masked]>
 ;;; Copyright © 2022 Maxim Cournoyer <[email-masked]>
+;;; Copyright © 2024 Denis 'GNUtoo' Carikli <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -56,6 +57,7 @@ (define-module (gnu packages calendar)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-build)
+  #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages sphinx)
@@ -65,6 +67,48 @@ (define-module (gnu packages calendar)
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-26))
 
+(define-public adl-submit.py
+  (let ((revision "1")
+        (commit "e20998c17475e64676173828385f22a6d5801240"))
+    (package
+     (name "adl-submit.py")
+     (version (git-version "1.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://framagit.org/agenda-libre/agenda-libre-ruby.git")
+             (commit commit)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1jpasv7skpbi20674f23kbgw2fj78ywhnd542cwgkc65v2s6s4lh"))))
+     (build-system gnu-build-system)
+    (arguments
+     (list
+      #:tests? #f ; No tests
+      #:phases
+      #~(modify-phases %standard-phases
+          (delete 'configure)
+          (delete 'build)
+          (replace 'install
+            (lambda _
+              (install-file
+               "public/adl-submit.py" (string-append #$output "/bin"))
+              (wrap-program (string-append #$output "/bin/adl-submit.py")
+                `("GUIX_PYTHONPATH" ":"
+                  prefix (,(getenv "GUIX_PYTHONPATH")))))))))
+     (inputs (list python python-pycurl))
+     (home-page "https://www.agendadulibre.org")
+     (synopsis "Submit events to the Agenda Du Libre")
+     (description "adl-submit.py is a tool that can be used to submit events
+to any instance of the Agenda Du Libre (a web calendar originally meant for
+free software events).  Users can set fields through the command line or
+create an XML that can be submitted with the adl-submit.py tool.  While the
+Agenda Du Libre web application is available in multiple languages, most of
+the events on https://www.agendadulibre.org are in French and the
+adl-submit.py tool is only available in French.")
+     (license license:gpl2))))
+
 (define-public date
   ;; We make the same choice as the Arch package maintainer by choosing a
   ;; recent commit to fix some bugs.

base-commit: 0787a180b3ca64d3958438920ca1b58a2a27fba4
-- 
2.46.0