summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHerman Rimm <herman@rimm.ee>2025-03-02 19:40:29 +0100
committerMaxim Cournoyer <maxim@guixotic.coop>2025-07-26 21:46:28 +0900
commit0e47deee689cad234d47764fbbad1ce159740b81 (patch)
treee19d7997c095d832706cf4e8fa890835b6c13ace
parent797bb4862dce401cb4a9ca7a7efda176c91064bd (diff)
gnu: Add cuttlefish.
* gnu/packages/fediverse.scm (cuttlefish): Add variable. Change-Id: I600f105862495a23e3d821b71b61582a442cb2f1 Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop> Modified-by: Maxim Cournoyer <maxim@guixotic.coop>
-rw-r--r--gnu/packages/fediverse.scm60
1 files changed, 60 insertions, 0 deletions
diff --git a/gnu/packages/fediverse.scm b/gnu/packages/fediverse.scm
index 2a0068d012..5378c9437e 100644
--- a/gnu/packages/fediverse.scm
+++ b/gnu/packages/fediverse.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2021 Taiju HIGASHI <higashi@taiju.info>
;;; Copyright © 2024 Sergio Durigan Junior <sergiodj@sergiodj.net>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
+;;; Copyright © 2025 Herman Rimm <herman@rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -49,10 +50,69 @@
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages serialization)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages xml))
+(define-public cuttlefish
+ (package
+ (name "cuttlefish")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.shinice.net/artectrex/Cuttlefish")
+ (commit "9e9b97ccbb27562c86637e5b413c28beacd8cd4d")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0fdkag4j66zaf2shbw4j6hspk6bw6b0kbd5l6wzvh3p7id7yj6qi"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin (substitute* "data/ch.cuttlefish.app.gschema.xml"
+ ;; Instance does not work properly.
+ (("https://video.blender.org")
+ "https://tilvids.com"))
+ (substitute* "src/video-view.cpp"
+ ;; Top-level "files" key has an empty list.
+ (("\\[\"files\"\\]")
+ "[\"streamingPlaylists\"][0][\"files\"]"))))))
+ (build-system meson-build-system)
+ (arguments
+ (list #:glib-or-gtk? #t
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'glib-or-gtk-wrap 'wrap-gst-plugins
+ (lambda _
+ (wrap-program (string-append #$output "/bin/cuttlefish")
+ `("GST_PLUGIN_SYSTEM_PATH" ":" prefix
+ (,(getenv "GST_PLUGIN_SYSTEM_PATH")))))))))
+ (native-inputs
+ (list desktop-file-utils
+ gettext-minimal ;msgfmt
+ (list glib "bin") ;glib-compile-resources
+ gsettings-desktop-schemas ;org.gnome.system.proxy schema
+ pkg-config))
+ (inputs (list bash-minimal
+ gst-plugins-bad
+ gst-plugins-good ;playbin plugin
+ gstreamer
+ gtk
+ jsoncpp
+ libadwaita
+ libsoup-minimal-2))
+ (home-page "https://cuttlefish.ch")
+ (synopsis "GTK client for PeerTube")
+ (description
+ "Cuttlefish is a desktop client for PeerTube, but will work on
+GNU/Linux-based phones (like the Librem 5 or Pinephone) as well. Cuttlefish
+aims to provide a better experience of watching PeerTube videos and using
+PeerTube in general, via an efficient native application that can hook into
+the federation of interconnected video hosting services.")
+ ;; Logo distributed under the Creative Commons CCBY license.
+ (license license:gpl3+)))
+
(define-public toot
(package
(name "toot")