Subject: [bug#74864] [PATCH v3] gnu: Add adl-submit.

From: Denis 'GNUtoo' Carikli <[email-masked]>
Date: Sat, 10 May 2025 01:46:59 +0200

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

Signed-off-by: Denis 'GNUtoo' Carikli <[email-masked]>
Change-Id: Icd9438fbaf2c53635989fb8cfb443d2c3e541eff
---
ChangeLog v2->v3:
* Updated copyright to 2025.
* Switch to a new repository that only has adl-submit and not
  the full Agenda Du Libre code.

  This simplifies license compliance because while the Agenda Du Libre
  web application was fully free it also pulled in compiled/minified
  JavaScript from other sources (probably with a script if I
  understood well the maintainer).

  This repository is co-maintained by both the Agenda Du Libre
  maintainer (Esharp) and me, though if I understood well, in practice
  the maintainer trusts me to do what's best and doesn't necessarily
  and only reviewed a bit the commits until the revision
  9c62c13ba35720b2d0fdbc37c19cbb55cef6d5c1 ("Add .gitignore.").
  
* Switch to a new git revision that uses the python build system. So
  we don't need to do any workarounds anymore in the Guix package.

  And beside some small fixes, it also has some improvements:

  * adl-submit.py was renamed to adl-submit and #!/usr/bin/python3 is
    now used as per Debian Guidelines on packaging python scripts.

  * All the authors copyrights are now added in the copyright header
    of the python script. This required to contact 2 authors to make
    sure who between them has copyright on a specific commit as they
    both collaborated together to do it.

  * The READMEs are now shipped as part of the documentation.

---
 gnu/packages/calendar.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index ed7a13a2c9..84f83fe9c4 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 © 2025 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,34 @@ (define-module (gnu packages calendar)
   #:use-module (gnu packages xml)
   #:use-module (srfi srfi-26))
 
+(define-public python-adl-submit
+  (let ((revision "1")
+        (commit "f38c7ad161fbe6ec72ecc725edbd624f5c627ea9"))
+    (package
+     (name "python-adl-submit")
+     (version (git-version "1.0" revision commit))
+     (source
+      (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://framagit.org/agenda-libre/adl-submit.git")
+             (commit commit)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1zi5s8xpbm253mjdlcc1j13qqz5q7s9zavk3h0m2gfgb52xy2avp"))))
+     (build-system python-build-system)
+     (inputs (list python python-pycurl))
+     (home-page "https://www.agendadulibre.org")
+     (synopsis "Submit events to the Agenda Du Libre")
+     (description "adl-submit 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 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 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: 7d29ea6c4968de56e9edcae2632aa53d5f2e5e61
-- 
2.46.0