Subject: Re: [bug#28917] gst-transcoder + python-pycanberra + gavl (pitivi dependencies)

From: ng0 <[email-masked]>
Date: Thu, 26 Oct 2017 20:07:19 +0000

Kei Kebreau transcribed 3.2K bytes:
> ng0 <[email-masked]> writes:
> 
> > ng0 transcribed 1.4K bytes:
> >> ng0 transcribed 10K bytes:
> >> > This adds gst-transcoder, python-pycanberra and gavl
> >> > required for pitivi.
> >> 
> >> Yarg. I've sent the wrong python-pycanberra. Correction incoming.
> >
> > Correction appended.
> >
> > -- 
> > ng0
> > GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
> > GnuPG: https://dist.ng0.infotropique.org/dist/keys/
> > https://www.infotropique.org https://ng0.infotropique.org
> >
> >
> >
> > From b97a66068be69bc53d654d6204cdb1df5c889dd6 Mon Sep 17 00:00:00 2001
> > From: ng0 <[email-masked]>
> > Date: Fri, 20 Oct 2017 18:32:12 +0000
> > Subject: [PATCH 3/3] gnu: Add gavl.
> >
> > * gnu/packages/video.scm (gavl): New variable.
> > ---
> >  gnu/packages/video.scm | 34 ++++++++++++++++++++++++++++++++++
> >  1 file changed, 34 insertions(+)
> >
> > diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
> > index baebe6404..7294c5bf2 100644
> > --- a/gnu/packages/video.scm
> > +++ b/gnu/packages/video.scm
> > @@ -69,6 +69,7 @@
> >    #:use-module (gnu packages databases)
> >    #:use-module (gnu packages dejagnu)
> >    #:use-module (gnu packages docbook)
> > +  #:use-module (gnu packages documentation)
> >    #:use-module (gnu packages elf)
> >    #:use-module (gnu packages file)
> >    #:use-module (gnu packages flex)
> > @@ -2499,3 +2500,36 @@ tools for styling them, including a built-in real-time video preview.")
> >      (synopsis "GStreamer Transcoding API")
> >      (description "GStreamer Transcoding API")
> >      (license license:lgpl2.1)))
> > +
> > +(define-public gavl
> > +  (package
> > +    (name "gavl")
> > +    (version "1.4.0")
> > +    (source
> > +     (origin
> > +       (method url-fetch)
> > +       (uri (string-append "mirror://sourceforge/gmerlin/"
> > +                           name "/" version "/"
> > +                           name "-" version ".tar.gz"))
> > +       (file-name (string-append name "-" version ".tar.gz"))
> > +       (sha256
> > +        (base32
> > +         "1kikkn971a14zzm7svi7190ldc14fjai0xyhpbcmp48s750sraji"))))
> > +    (build-system gnu-build-system)
> > +    (native-inputs
> > +     `(("pkg-config" ,pkg-config)
> > +       ("doxygen" ,doxygen)))
> > +    (home-page "http://gmerlin.sourceforge.net")
> > +    (synopsis "low level library for multimedia API building")
> > +    (description
> > +     "Gavl is short for Gmerlin Audio Video Library.  It is a low level
> > +library, upon which multimedia APIs can be built.  Gavl handles all the
> > +details of audio and video formats like colorspaces, samplerates,
> 
> "samplerates" should be two words.
> 
> > +multichannel configurations etc.  It provides standardized definitions for
>                               ^
>                a comma after "configurations" would be nice.
> > +those formats as well as container structures for carrying audio samples or
> > +video images inside an application.
> > +
> > +In addition, it handles the sometimes ugly task to convert between all
> 
> Instead of "ugly task to convert..." perhaps we can say "ugly task of
> converting..."
> 
> > +these formats and provides some elementary operations (copying, scaling,
> > +alpha blending etc).")
> > +    (license license:gpl3)))
> 
> I suppose the changes to gavl's description could be forwarded upstream,
> seeing as this is the same description as the one
> gmerlin.sourceforge.net uses.

Maybe… Besides having the correct text it requires writing
the email etc. If I don't forget it, I'll get to it eventually
at some point… this year.

> Everything else LGTM. Thanks for working on this!
> 
Thanks for the review.

Updated patches appended.
-- 
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://dist.ng0.infotropique.org/dist/keys/
https://www.infotropique.org https://ng0.infotropique.org
From 9cebc1dff4d4bf3165de0f6d1d1c521496e032fe Mon Sep 17 00:00:00 2001
From: ng0 <[email-masked]>
Date: Mon, 16 Oct 2017 05:41:50 +0000
Subject: [PATCH 1/3] gnu: Add gst-transcoder.

* gnu/packages/video.scm (gst-transcoder): New variable.
---
 gnu/packages/video.scm | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index d73e21a31..3983c6053 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -11,7 +11,7 @@
 ;;; Copyright © 2016 Kei Kebreau <[email-masked]>
 ;;; Copyright © 2016 Dmitry Nikolaev <[email-masked]>
 ;;; Copyright © 2016 Andy Patterson <[email-masked]>
-;;; Copyright © 2016, 2017 ng0 <[email-masked]>
+;;; Copyright © 2016, 2017 ng0 <[email-masked]>
 ;;; Copyright © 2016 Eric Bavier <[email-masked]>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <[email-masked]>
 ;;; Copyright © 2017 Feng Shu <[email-masked]>
@@ -49,6 +49,7 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system glib-or-gtk)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (guix build-system waf)
   #:use-module (gnu packages)
@@ -2472,3 +2473,29 @@ tools for styling them, including a built-in real-time video preview.")
    ; by upstream). See https://github.com/Aegisub/Aegisub/blob/master/LICENCE
    ; src/MatroskaParser.(c|h) is under bsd-3 with permission from the author
 
+(define-public gst-transcoder
+  (package
+    (name "gst-transcoder")
+    (version "1.12.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/pitivi/gst-transcoder/"
+                           "archive/" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0cnwmrsd321s02ff91m3j27ydj7f8wks0jvmp5admlhka6z7zxm9"))))
+    (build-system meson-build-system)
+    (inputs
+     `(("gobject-introspection" ,gobject-introspection)
+       ("glib" ,glib)
+       ("gstreamer" ,gstreamer)
+       ("gst-plugins-base" ,gst-plugins-base)))
+    (native-inputs
+     `(("python" ,python)
+       ("pkg-config" ,pkg-config)))
+    (home-page "https://github.com/pitivi/gst-transcoder/")
+    (synopsis "GStreamer Transcoding API")
+    (description "GStreamer Transcoding API")
+    (license license:lgpl2.1)))
-- 
2.14.3

From a86ff27522101c6cc3dfe1f9c4b2ded1a1c95d0c Mon Sep 17 00:00:00 2001
From: ng0 <[email-masked]>
Date: Mon, 16 Oct 2017 15:31:04 +0000
Subject: [PATCH 2/3] gnu: Add python-pycanberra.

* gnu/packages/libcanberra.scm (python-pycanberra): New variable.
---
 gnu/packages/libcanberra.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/libcanberra.scm b/gnu/packages/libcanberra.scm
index 941d3dcc4..9af6b40ff 100644
--- a/gnu/packages/libcanberra.scm
+++ b/gnu/packages/libcanberra.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013 Andreas Enge <[email-masked]>
 ;;; Copyright © 2014, 2015 Ludovic Courtès <[email-masked]>
 ;;; Copyright © 2016 Fabian Harfert <[email-masked]>
+;;; Copyright © 2017 ng0 <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,8 +25,11 @@
   #:use-module (gnu packages)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system python)
   #:use-module (guix build utils)
+  #:use-module (guix utils)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
@@ -33,6 +37,7 @@
   #:use-module (gnu packages linux)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages xiph))
 
 (define-public libcanberra
@@ -126,3 +131,26 @@ sounds for various system events.")
     (license (list cc-by-sa4.0 cc-by3.0 gpl2 gpl2+))
 
     (home-page "http://www.freedesktop.org/wiki/Specifications/sound-theme-spec/")))
+
+(define-public python-pycanberra
+  (package
+    (name "python-pycanberra")
+    (version "0.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://dist.ng0.infotropique.org/releases/"
+                           "pycanberra/pycanberra-" version ".tar.xz"))
+       (sha256
+        (base32
+         "16jjf8fcgaprmz6jacsxrh17l1ad891fns38bxv49lg3s3mn1nj2"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f)) ;No tests included.
+    (propagated-inputs
+     `(("libcanberra" ,libcanberra)))
+    (synopsis "Ctypes wrapper for the libcanberra API")
+    (description
+     "Pycanberra is a basic Python wrapper for libcanberra.")
+    (home-page "https://git.ng0.infotropique.org/pycanberra/")
+    (license lgpl2.1+)))
-- 
2.14.3

From 939166948d5b278c47536276b0aa09229f6ecaa7 Mon Sep 17 00:00:00 2001
From: ng0 <[email-masked]>
Date: Fri, 20 Oct 2017 18:32:12 +0000
Subject: [PATCH 3/3] gnu: Add gavl.

* gnu/packages/video.scm (gavl): New variable.
---
 gnu/packages/video.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 3983c6053..be22a84fe 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -69,6 +69,7 @@
   #:use-module (gnu packages databases)
   #:use-module (gnu packages dejagnu)
   #:use-module (gnu packages docbook)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages elf)
   #:use-module (gnu packages file)
   #:use-module (gnu packages flex)
@@ -2499,3 +2500,36 @@ tools for styling them, including a built-in real-time video preview.")
     (synopsis "GStreamer Transcoding API")
     (description "GStreamer Transcoding API")
     (license license:lgpl2.1)))
+
+(define-public gavl
+  (package
+    (name "gavl")
+    (version "1.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/gmerlin/"
+                           name "/" version "/"
+                           name "-" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1kikkn971a14zzm7svi7190ldc14fjai0xyhpbcmp48s750sraji"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("doxygen" ,doxygen)))
+    (home-page "http://gmerlin.sourceforge.net")
+    (synopsis "low level library for multimedia API building")
+    (description
+     "Gavl is short for Gmerlin Audio Video Library.  It is a low level
+library, upon which multimedia APIs can be built.  Gavl handles all the
+details of audio and video formats like colorspaces, sample rates,
+multichannel configurations, etc.  It provides standardized definitions for
+those formats as well as container structures for carrying audio samples or
+video images inside an application.
+
+In addition, it handles the sometimes ugly task of converting between all
+these formats and provides some elementary operations (copying, scaling,
+alpha blending etc).")
+    (license license:gpl3)))
-- 
2.14.3