Subject: bug#43433: closed (Re: [bug#43433] [PATCH v2] gnu: Add cozy.)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 18 Sep 2020 07:19:02 +0000

Your bug report

#43433: [PATCH] gnu: Add cozy.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
43433: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=43433
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#43433] [PATCH v2] gnu: Add cozy.
From: Mathieu Othacehe <[email-masked]>
To: Vinicius Monego <[email-masked]>
Cc: [email-masked]
Date: Fri, 18 Sep 2020 09:18:19 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Vinicius,

> Added phase to rename the executable.
> Added phase to patch desktop file for the renamed executable.
> Added python-wrapper as native-input because it's checked for in configure phase.
> Wrapped lines to fit under the 78 columns limit.
> Added license information for the bundled python-inject.
> Removed comment about python-magic.

Thanks for this v2. The above changelog makes it easier to review :)
Pushed as 13ba3dc8a3fed66dbdc317f0d97357bbb47e1175.

Mathieu

-- 
https://othacehe.org

Subject: [PATCH] gnu: Add cozy.
From: Vinicius Monego <[email-masked]>
To: [email-masked]
Cc: Vinicius Monego <[email-masked]>
Date: Tue, 15 Sep 2020 17:50:54 -0300
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/ebook.scm (cozy): New variable.
---
 gnu/packages/ebook.scm | 90 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 90 insertions(+)

diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index b7c78b6a64..9515c663b0 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2017 Roel Janssen <[email-masked]>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2020 Marius Bakke <[email-masked]>
+;;; Copyright © 2020 Vinicius Monego <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -26,26 +27,32 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix utils)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages file)
   #:use-module (gnu packages fonts)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages fribidi)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
   #:use-module (gnu packages javascript)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages libreoffice)
+  #:use-module (gnu packages music)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -405,6 +412,89 @@ following formats:
 @end enumerate")
     (license license:gpl2+)))
 
+(define-public cozy
+  (package
+    (name "cozy")
+    (version "0.6.19")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/geigi/cozy")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1f1qydjs8sz39yhlg9qdjf31vrsmdk2pxiimw4fzsy1k2zr5dr34"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'wrap-gi-python
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out               (assoc-ref outputs "out"))
+                    (pylib             (string-append out "/lib/python"
+                                                      ,(version-major+minor
+                                                        (package-version python))
+                                                      "/site-packages"))
+                    (gi-typelib-path   (getenv "GI_TYPELIB_PATH"))
+                    (gst-plugin-path   (getenv "GST_PLUGIN_SYSTEM_PATH"))
+                    (libmagic-path     (string-append
+                                        (assoc-ref %build-inputs "file")
+                                        "/lib"))
+                    (python-path       (getenv "PYTHONPATH")))
+               (wrap-program (string-append out "/bin/com.github.geigi.cozy")
+                 `("LD_LIBRARY_PATH" ":" prefix (,libmagic-path))
+                 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
+                 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
+                 `("PYTHONPATH" ":" prefix (,python-path ,pylib))))
+             #t)))))
+    (native-inputs
+     `(("desktop-file-utils" ,desktop-file-utils)
+       ("gettext" ,gettext-minimal)
+       ("glib:bin" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("gtk+:bin" ,gtk+ "bin")
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("file" ,file) ;cozy distributes its own python-magic implementation
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+       ("gst-libav" ,gst-libav)
+       ("gst-plugins-bad" ,gst-plugins-bad)
+       ("gst-plugins-good" ,gst-plugins-good)
+       ("gst-plugins-ugly" ,gst-plugins-ugly)
+       ("gtk+" ,gtk+)
+       ("python-apsw" ,python-apsw)
+       ("python-distro" ,python-distro)
+       ("python-gst" ,python-gst)
+       ("python-mutagen" ,python-mutagen)
+       ("python-peewee" ,python-peewee)
+       ("python-pycairo" ,python-pycairo)
+       ("python-pygobject" ,python-pygobject)
+       ("python-pytz" ,python-pytz)
+       ("python-requests" ,python-requests)))
+    (home-page "https://cozy.geigi.de/")
+    (synopsis "Modern audiobook player using GTK+")
+    (description
+     "Cozy is a modern audiobook player written in GTK+.
+
+Some of the current features:
+
+@itemize
+@item Import your audiobooks into Cozy to browse them comfortably
+@item Sort your audio books by author, reader & name
+@item Remembers your playback position
+@item Sleep timer
+@item Playback speed control
+@item Search your library
+@item Offline mode
+@item Add multiple storage locations
+@item Drag & Drop to import new audio books
+@item Support for DRM free mp3, m4a (aac, ALAC, …), flac, ogg, opus, wav files
+@item Mpris integration (Media keys & playback info for desktop environment)
+@end itemize")
+    (license license:gpl3+)))
+
 (define-public xchm
   (package
     (name "xchm")
-- 
2.20.1