diff mbox series

[bug#67698] add python-ical2orgpy and dependencies

Message ID 87wmtpnb9e.fsf@lambda-y.net
State New
Headers show
Series [bug#67698] add python-ical2orgpy and dependencies | expand

Commit Message

Benjamin Slade Dec. 7, 2023, 5:56 p.m. UTC
--

'(Dr Benjamin Slade (he/him)
     (website . <https://lambda-y.net>)     
     `(pgp_fp: ,(21BA 2AE1 28F6 DF36 110A 0E9C A320 BBE8 2B52 EE19))
       "sent by mu4e 1.10.8 in Emacs 30.0.50 with org-msg on GNU Guix (Linux)")

Comments

Sharlatan Hellseher Jan. 29, 2024, 12:49 a.m. UTC | #1
Hi Benjamin,

Thank you for the patches.

May you split the grouped patch into dedicated ones please, for patch
per each new package?

Commit log may be generated by the provided script in etc/commiter.scm.
It need to follow

Link to Guix's cookbook
https://guix.gnu.org/en/cookbook/en/guix-cookbook.html#Packaging

--8<---------------cut here---------------start------------->8---
gnu: Add <package-name>.

* gnu/packages/<module>.scm (<package-name>): New variable
--8<---------------cut here---------------end--------------->8---

Looking forward for v2!

Thanks,
Oleg
diff mbox series

Patch

From 695b50a3744a8bd31a7e4578aaf7e5bb0fc4a36e Mon Sep 17 00:00:00 2001
From: Benjamin Slade <slade@lambda-y.net>
Date: Thu, 7 Dec 2023 11:55:03 -0600
Subject: [PATCH] add python-ical2orgpy and dependencies

---
 gnu/packages/python-xyz.scm | 84 +++++++++++++++++++++++++++++++++++++
 1 file changed, 84 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 86f8d81..67345d8 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -146,6 +146,7 @@ 
 ;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
 ;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2023 Benjamin Slade <slade@lambda-y.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -34377,6 +34378,89 @@  (define-public python-zeroc-ice-3.6
                (base32
                 "0mikjfvq26kh8asnn9v55z41pap4c5ypymqnwwi4xkavc3mzyda2"))))))
 
+(define-public python-x-wr-timezone
+  (package
+    (name "python-x-wr-timezone")
+    (version "0.0.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "x_wr_timezone" version))
+       (sha256
+        (base32 "0j5zjvrshn7smq6cgbh7l66dl64wqs18cfyfnq1np1y00g320pha"))))
+    (build-system python-build-system)
+    (arguments
+     ;; Broken tests or cyclic dependecies with other packages.
+     '(#:phases (modify-phases %standard-phases
+                  (delete 'sanity-check))
+       #:tests? #f))
+    (propagated-inputs (list python-icalendar python-pytz))
+    (home-page "https://github.com/niccokunzmann/x-wr-timezone")
+    (synopsis "Handling of non-standard X-WR-TIMEZONE icalendar property")
+    (description
+     "Some calendar providers introduce the non-standard X-WR-TIMEZONE
+parameter to ICS calendar files.  Strict interpretations according to RFC 5545 ignore
+ the X-WR-TIMEZONE parameter.  This causes the times of the events to differ from those
+ which make use of X-WR-TIMEZONE.  This module aims to bridge the gap by converting
+ calendars using X-WR-TIMEZONE to a strict RFC 5545 calendars.")
+    (license license:lgpl3+)))
+
+(define-public python-recurring-ical-events
+  (package
+    (name "python-recurring-ical-events")
+    (version "2.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "recurring_ical_events" version))
+       (sha256
+        (base32 "00k4l800j2d3zfqhxjlzjk0b6493wqhmg4r58xsp12sx2ia2sxla"))))
+    (build-system python-build-system)
+    (arguments
+     ;; Broken tests or cyclic dependecies with other packages.
+     '(#:phases (modify-phases %standard-phases
+                  (delete 'sanity-check))
+       #:tests? #f))
+    (propagated-inputs (list python-x-wr-timezone python-icalendar python-pytz))
+    (home-page "https://github.com/niccokunzmann/python-recurring-ical-events")
+    (synopsis
+     "Python library for recurrence of ical events based on icalendar")
+    (description
+     "ICal has some complexity to it: Events, TODOs and Journal entries can
+ be repeated, removed from the feed and edited later on.
+This tool takes care of these circumstances.")
+    (license license:lgpl3+)))
+
+(define-public python-ical2orgpy
+  (package
+    (name "python-ical2orgpy")
+    (version "0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ical2orgpy" version))
+       (sha256
+        (base32 "0a2ai78jzn250s1dlsimsfp6035421nrabj08xdlgsh7mb82gkap"))))
+    (build-system python-build-system)
+    (arguments
+     ;; Broken tests or cyclic dependecies with other packages.
+     '(#:phases (modify-phases %standard-phases
+                  (delete 'sanity-check))
+       #:tests? #f))
+    (propagated-inputs (list python-click python-icalendar python-pytz
+                             python-tzlocal python-recurring-ical-events))
+    (home-page "https://github.com/ical2org-py/ical2org.py")
+    (synopsis "Convert ical .ics file to org-mode")
+    (description
+     "This python script converts an ical calendar (for instance, as exported
+ from google calendar) into an org-mode document.  It is conceived as a replacement of
+ the awk script located at
+@url{https://orgmode.org/worg/org-tutorials/org-google-sync.html}.
+  The main difference is that ical2orgpy correctly manages recurring events of
+ @dfn{yearly}, @dfn{daily} and @dfn{weekly} types.  ical2orgpy duplicates all recurring
+ events falling into a specified time-frame into the exported org-document.")
+    (license license:gpl3+)))
+
 ;;;
 ;;; Avoid adding new packages to the end of this file. To reduce the chances
 ;;; of a merge conflict, place them above by existing packages with similar
-- 
2.41.0