From aab69735ce9ca4a631222a9cb01909388e63f116 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 22 Mar 2026 20:28:10 +0000 Subject: Add python-meetfree. Change-Id: I4123b211fb3e62fc580c99fd3833830718a828f4 --- arunisaac/meetfree.scm | 138 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 arunisaac/meetfree.scm (limited to 'arunisaac/meetfree.scm') diff --git a/arunisaac/meetfree.scm b/arunisaac/meetfree.scm new file mode 100644 index 0000000..cb7504d --- /dev/null +++ b/arunisaac/meetfree.scm @@ -0,0 +1,138 @@ +(define-module (arunisaac meetfree) + #:use-module ((gnu packages python-build) + #:select (python-flit-core + python-hatch-vcs + python-hatchling + python-pypa-build + python-setuptools)) + #:use-module ((gnu packages python-web) + #:select (python-bottle python-requests)) + #:use-module ((gnu packages python-xyz) + #:select (python-flit python-markdown)) + #:use-module ((gnu packages time) + #:select (python-dateutil python-tzdata)) + #:use-module ((gnu packages xml) #:select (python-lxml)) + #:use-module (guix build-system pyproject) + #:use-module (guix build-system python) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils)) + +(define-public python-feedgen + (package + (name "python-feedgen") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "feedgen" version)) + (sha256 + (base32 "0sjljdip5ffkwphqh49irhprywic9n671hwq56js4mp9np1m3gfr")))) + (build-system pyproject-build-system) + (propagated-inputs + (list python-dateutil + python-lxml)) + (native-inputs + (list python-pytest + python-setuptools)) + (home-page "https://lkiesow.github.io/python-feedgen") + (synopsis "Feed Generator (ATOM, RSS, Podcasts)") + (description + "This module can be used to generate web feeds in both Atom and RSS +format. It supports extensions. For example, it comes with an +extension to produce podcasts.") + (license (list license:bsd-2 + license:lgpl3+)))) + +(define-public python-icalendar + (package + (name "python-icalendar") + (version "7.0.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "icalendar" version)) + (sha256 + (base32 "1plgdlhnij79awxqvlfdfhgq4xaqy9hkgw35sy273f3s1377w0lm")))) + (build-system pyproject-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-tzdata-dependency + (lambda _ + ;; Relax tzdata dependency to latest available in + ;; Guix at the moment. + (substitute* "pyproject.toml" + (("\"tzdata>=2025.3\"") + "\"tzdata>=2025.1\""))))))) + (propagated-inputs (list python-dateutil + python-tzdata)) + (native-inputs (list python-hatch-vcs + python-hatchling)) + (home-page "https://icalendar.readthedocs.io/en/stable/") + (synopsis "iCalendar parser and generator") + (description "The icalendar package is an RFC 5545 compatible +parser and generator of iCalendar files. icalendar can create, +inspect, and modify calendaring information with Python. icalendar +supports multiple timezone implementations, including zoneinfo, +dateutil.tz, and pytz.") + (license license:bsd-3))) + +(define-public python-justhtml + (package + (name "python-justhtml") + (version "1.12.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emilstenstrom/justhtml") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "065iqikxrhwn6f5svlsv3fzpdri49h74ng8gfpsd4hgjknwrwqgn")))) + (build-system pyproject-build-system) + (native-inputs (list python-pypa-build + python-hatchling)) + (home-page "https://github.com/emilstenstrom/justhtml") + (synopsis "Pure Python HTML5 parser") + (description + "JustHTML is a pure Python HTML5 parser. It has a simple API and +does not require C extensions or system dependencies.") + (license license:expat))) + +(define-public python-meetfree + (let ((commit "c263cba1c784ba8d776e655d3f56b8d583b503c5") + (revision "0")) + (package + (name "meetfree") + (version (git-version "0.1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.systemreboot.net/meetfree") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ai72gc2dk26a7g1fkm7l74mgxvqx8bjd14g4y7c381jm0xrwn9j")))) + (build-system pyproject-build-system) + (propagated-inputs + (list python-bottle + python-feedgen + python-icalendar + python-justhtml + python-markdown + python-requests)) + (native-inputs + (list python-flit-core)) + (home-page "https://forge.systemreboot.net/meetfree") + (synopsis "iCalendar and Atom feeds for meetup.com") + (description "meetfree is a bottle web app that serves iCalendar +and Atom feeds for meetup.com groups. meetfree fetches data from +meetup.com using its GraphQL API. The GraphQL API does not require any +authentication.") + (license license:unlicense)))) -- cgit 1.4.1