GNU bug report logs - #43433
[PATCH] gnu: Add cozy.

Previous Next

Package: guix-patches;

Reported by: Vinicius Monego <monego <at> posteo.net>

Date: Tue, 15 Sep 2020 20:52:02 UTC

Severity: normal

Tags: patch

Done: Mathieu Othacehe <othacehe <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 43433 in the body.
You can then email your comments to 43433 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#43433; Package guix-patches. (Tue, 15 Sep 2020 20:52:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Vinicius Monego <monego <at> posteo.net>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 15 Sep 2020 20:52:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Vinicius Monego <monego <at> posteo.net>
To: guix-patches <at> gnu.org
Cc: Vinicius Monego <monego <at> posteo.net>
Subject: [PATCH] gnu: Add cozy.
Date: Tue, 15 Sep 2020 17:50:54 -0300
* 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 <roel <at> gnu.org>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2020 Marius Bakke <mbakke <at> fastmail.com>
+;;; Copyright © 2020 Vinicius Monego <monego <at> posteo.net>
 ;;;
 ;;; 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





Information forwarded to guix-patches <at> gnu.org:
bug#43433; Package guix-patches. (Thu, 17 Sep 2020 14:05:02 GMT) Full text and rfc822 format available.

Message #8 received at 43433 <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Vinicius Monego <monego <at> posteo.net>
Cc: 43433 <at> debbugs.gnu.org
Subject: Re: [bug#43433] [PATCH] gnu: Add cozy.
Date: Thu, 17 Sep 2020 16:04:37 +0200
Hello Vinicius,

> +                                                        (package-version python))

This line is over the 78 columns limit.

> +                                                      "/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")

What about calling the wrapped program "cozy"?

Thanks,

Mathieu




Information forwarded to guix-patches <at> gnu.org:
bug#43433; Package guix-patches. (Thu, 17 Sep 2020 20:42:02 GMT) Full text and rfc822 format available.

Message #11 received at 43433 <at> debbugs.gnu.org (full text, mbox):

From: Vinicius Monego <monego <at> posteo.net>
To: 43433 <at> debbugs.gnu.org
Cc: Vinicius Monego <monego <at> posteo.net>
Subject: [PATCH v2] gnu: Add cozy.
Date: Thu, 17 Sep 2020 17:40:29 -0300
* gnu/packages/ebook.scm (cozy): New variable.
---
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.

 gnu/packages/ebook.scm | 105 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 105 insertions(+)

diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index b7c78b6a64..a8212df031 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2017 Roel Janssen <roel <at> gnu.org>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2020 Marius Bakke <mbakke <at> fastmail.com>
+;;; Copyright © 2020 Vinicius Monego <monego <at> posteo.net>
 ;;;
 ;;; 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,104 @@ 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 'unpack 'patch-desktop-file
+           (lambda _
+             (substitute* "data/com.github.geigi.cozy.desktop.in"
+               (("com.github.geigi.cozy") "cozy"))
+             #t))
+         (add-after 'install 'patch-executable-name
+           (lambda* (#:key outputs #:allow-other-keys)
+             (with-directory-excursion
+                 (string-append (assoc-ref outputs "out") "/bin")
+               (rename-file "com.github.geigi.cozy" "cozy"))
+             #t))
+         (add-after 'wrap 'wrap-libs
+           (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/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)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("file" ,file)
+       ("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")
+    ;; TODO: Unbundle python-inject.
+    (license (list license:gpl3+ ;cozy
+                   license:asl2.0)))) ;python-inject (bundled dependency)
+
 (define-public xchm
   (package
     (name "xchm")
-- 
2.20.1





Reply sent to Mathieu Othacehe <othacehe <at> gnu.org>:
You have taken responsibility. (Fri, 18 Sep 2020 07:19:02 GMT) Full text and rfc822 format available.

Notification sent to Vinicius Monego <monego <at> posteo.net>:
bug acknowledged by developer. (Fri, 18 Sep 2020 07:19:02 GMT) Full text and rfc822 format available.

Message #16 received at 43433-done <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Vinicius Monego <monego <at> posteo.net>
Cc: 43433-done <at> debbugs.gnu.org
Subject: Re: [bug#43433] [PATCH v2] gnu: Add cozy.
Date: Fri, 18 Sep 2020 09:18:19 +0200
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




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 16 Oct 2020 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 192 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.