diff options
| author | Arun Isaac | 2026-03-19 00:33:01 +0000 |
|---|---|---|
| committer | Arun Isaac | 2026-03-19 00:33:08 +0000 |
| commit | 489f79d646a2c701baadc2d5751da779ac4c6a04 (patch) | |
| tree | 335145d9ec4131024de7268cff13f993974b9ece | |
| parent | 78ea4a2c7efeeffdbc78cb22ef09998fb8b8ef08 (diff) | |
| download | meetfree-489f79d646a2c701baadc2d5751da779ac4c6a04.tar.gz meetfree-489f79d646a2c701baadc2d5751da779ac4c6a04.tar.lz meetfree-489f79d646a2c701baadc2d5751da779ac4c6a04.zip | |
Package for Guix.
Change-Id: Ibc4d3f452e51fcb47b0c054db71393b9430ac023
| -rw-r--r-- | .guix/meetfree-package.scm | 136 | ||||
| l--------- | guix.scm | 1 |
2 files changed, 137 insertions, 0 deletions
diff --git a/.guix/meetfree-package.scm b/.guix/meetfree-package.scm new file mode 100644 index 0000000..e623568 --- /dev/null +++ b/.guix/meetfree-package.scm @@ -0,0 +1,136 @@ +(define-module (meetfree-package) + #: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) + (arguments + ;; TODO: Fix tests. + (list #:tests? #f)) + (propagated-inputs + (list python-lxml + python-dateutil)) + (native-inputs + (list 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 'remove-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 meetfree + (package + (name "meetfree") + (version "0.1.0") + (source (local-file ".." + "meetfree-checkout" + #:recursive? #t + #:select? (or (git-predicate (dirname (current-source-directory))) + (const #t)))) + (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))) + +meetfree diff --git a/guix.scm b/guix.scm new file mode 120000 index 0000000..199adb5 --- /dev/null +++ b/guix.scm @@ -0,0 +1 @@ +.guix/meetfree-package.scm \ No newline at end of file |
