diff options
author | Sergio Durigan Junior <sergiodj@sergiodj.net> | 2024-06-16 00:54:44 -0400 |
---|---|---|
committer | Andreas Enge <andreas@enge.fr> | 2024-06-30 11:40:57 +0200 |
commit | 007e749142897e24d8a77e14d2709086de49227b (patch) | |
tree | 437c59be0a7c2e1dbe3fbae3b219aec8a099b546 /gnu/packages/fediverse.scm | |
parent | 7d7ee4e5750b0e57f6bec3c6ca227afe791d7e78 (diff) |
gnu: mastodon: Rename to fediverse.scm
* gnu/local.mk (GNU_SYSTEM_MODULES): Rename mastodon.scm to fediverse.scm.
* gnu/packages/mastodon.scm: Rename to...
* gnu/packages/fediverse.scm: ...this.
Change-Id: I64d72d1ddea626dcebaab6ad50f7036934c1a1a5
Signed-off-by: Andreas Enge <andreas@enge.fr>
Diffstat (limited to 'gnu/packages/fediverse.scm')
-rw-r--r-- | gnu/packages/fediverse.scm | 192 |
1 files changed, 192 insertions, 0 deletions
diff --git a/gnu/packages/fediverse.scm b/gnu/packages/fediverse.scm new file mode 100644 index 00000000000..3f3c2597261 --- /dev/null +++ b/gnu/packages/fediverse.scm @@ -0,0 +1,192 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019-2024 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2021 Taiju HIGASHI <higashi@taiju.info> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages fediverse) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module (guix build-system meson) + #:use-module (guix build-system pyproject) + #:use-module (guix build-system python) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (gnu packages check) + #:use-module (gnu packages databases) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gstreamer) + #:use-module (gnu packages gtk) + #:use-module (gnu packages image) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python-build) + #:use-module (gnu packages python-check) + #:use-module (gnu packages python-crypto) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages time) + #:use-module (gnu packages xml)) + +(define-public toot + (package + (name "toot") + (version "0.42.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "toot" version)) + (sha256 + (base32 "1vw3j504dxmq22s40kysps3d09hl7l48cwznwrfr9zqif67i4v3g")))) + (build-system pyproject-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "py.test"))))))) + (native-inputs + (list python-psycopg2-binary + python-pytest + python-pyyaml + python-typing-extensions)) + (inputs + (list python-beautifulsoup4 + python-click + python-requests + python-tomlkit + python-urwid + python-urwidgets + python-wcwidth)) + (home-page "https://github.com/ihabunek/toot/") + (synopsis "Mastodon CLI client") + (description "Interact with Mastodon social network from the command line. +Features include: +@itemize +@item Posting, replying, deleting statuses +@item Support for media uploads, spoiler text, sensitive content +@item Search by account or hash tag +@item Following, muting and blocking accounts +@item Simple switching between authenticated in Mastodon accounts +@end itemize") + (license license:gpl3))) + +(define-public tuba + (package + (name "tuba") + (version "0.6.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/GeopJr/Tuba") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1s1iq9bwv6wp4dyvrdjdbmj9sqj9zxa0c78swcw7nhmm3fksh3vz")))) + (build-system meson-build-system) + (arguments + (list + #:glib-or-gtk? #t + #:configure-flags #~(list "-Ddistro=true") + #:phases + #~(modify-phases %standard-phases + (add-after 'glib-or-gtk-wrap 'lib-vars-wrap + (lambda _ + (let ((gstvar "GST_PLUGIN_SYSTEM_PATH") + (pixvar "GDK_PIXBUF_MODULE_FILE")) + (wrap-program (string-append #$output "/bin/dev.geopjr.Tuba") + `(,gstvar ":" suffix (,(getenv gstvar))) + `(,pixvar ":" = (,(getenv pixvar))))))) + (add-after 'lib-vars-wrap 'symlink-package + (lambda _ + (with-directory-excursion (string-append #$output "/bin") + (symlink "dev.geopjr.Tuba" "tuba"))))))) + (native-inputs + (list gdk-pixbuf ; so pixbuf loader cache (for webp) is generated + gettext-minimal + `(,glib "bin") ; for glib-compile-resources + gsettings-desktop-schemas ; for the org.gnome.system.proxy schema + pkg-config)) + (inputs + (list gst-plugins-bad + gst-plugins-base + gst-plugins-good + gstreamer + gtk + gtksourceview + json-glib + libadwaita + libgee + libsoup-minimal + libsecret + libwebp + libxml2 + vala + webp-pixbuf-loader)) + (home-page "https://tuba.geopjr.dev/") + (synopsis "GTK client for Mastodon") + (description "Tuba is a GTK client for Mastodon. It provides a clean, +native interface that allows you to integrate Mastodon's social experience +seamlessly with your desktop environment.") + (license license:gpl3))) + +(define-public tootle + (deprecated-package "tootle" tuba)) + +(define-public python-mastodon-py + (package + (name "python-mastodon-py") + (version "1.5.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Mastodon.py" version)) + (sha256 + (base32 + "1vikvkzcij2gd730cssigxi38vlmzqmwdy58r3y2cwsxifnxpz9a")))) + (build-system python-build-system) + (propagated-inputs + (list python-blurhash + python-dateutil + python-decorator + python-magic + python-pytz + python-requests + python-six)) + (native-inputs + (list python-blurhash + python-cryptography + python-http-ece + python-pytest + python-pytest-cov + python-pytest-mock + python-pytest-runner + python-pytest-vcr + python-requests-mock + python-vcrpy)) + (home-page "https://github.com/halcy/Mastodon.py") + (synopsis "Python wrapper for the Mastodon API") + (description + "This package provides a python wrapper for the Mastodon API.") + (license license:expat))) |