Subject: Re: [bug#29054] frei0r-plugins + build ffmpeg with frei0r

From: ng0 <[email-masked]>
Date: Sun, 29 Oct 2017 13:23:54 +0000

ng0 transcribed 7.1K bytes:
> ng0 transcribed 6.1K bytes:
> > ng0 transcribed 5.9K bytes:
> > > ng0 transcribed 5.8K bytes:
> > > > This adds frei0r-plugins on my path to pitivi.
> > > > frei0r is also an optional dependency for ffmepg
> > > > so I added it to ffmepg and removed the "TODO" style
> > > > comment about it in ffmepg.
> > …
> > > Ohno… I'll send a correction soon. Obviously this is not the home page.
> > > I have to build another software right now to be able to switch back
> > > to the branch where frei0r is.
> > 
> > Corrected version appended.
…
> > +    (license license:gpl2)))
>                    ^
>                    |
>     ----------------
> actually the files.dyne.org file said GPL2,
> the source itself has:
> - GPL2 or later for all files, but
> - LGPL 2.1 or later applying to:
…

Update appended.

-- 
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://dist.ng0.infotropique.org/dist/keys/
https://www.infotropique.org https://ng0.infotropique.org
From 5872deacd8d3759c90c8eeaa917d6d5770bea174 Mon Sep 17 00:00:00 2001
From: ng0 <[email-masked]>
Date: Sun, 29 Oct 2017 12:16:05 +0000
Subject: [PATCH 1/2] gnu: Add frei0r-plugins.

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

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index cea662b04..ae6c46521 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2548,3 +2548,52 @@ 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)))
+
+(define-public frei0r-plugins
+  (package
+    (name "frei0r-plugins")
+    (version "1.6.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://files.dyne.org/frei0r/"
+                           "frei0r-plugins-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0pji26fpd0dqrx1akyhqi6729s394irl73dacnyxk58ijqq4dhp0"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autotools
+           (lambda _
+             (zero? (system* "sh" "autogen.sh")))))))
+    ;; TODO: opencv for additional face detection filters
+    (inputs
+     `(("gavl" ,gavl)
+       ("cairo" ,cairo)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("libtool" ,libtool)
+       ("automake" ,automake)
+       ("autoconf" ,autoconf)))
+    (home-page "https://www.dyne.org/software/frei0r/")
+    (synopsis "Minimalistic plugin API for video effects")
+    (description
+     "Frei0r is a minimalistic plugin API for video effects.
+The main emphasis is on simplicity for an API that will round up
+the most common video effects into simple filters, sources and
+mixers that can be controlled by parameters.  Frei0r wants to
+provide a way to share these simple effects between many
+applications, avoiding their reimplementation by different projects.
+It counts more than 100 plugins.")
+    (license (list license:gpl2+
+                   ;; The following files are licensed as LGPL2.1+:
+                   ;; src/generator/ising0r/ising0r.c
+                   ;; src/generator/onecol0r/onecol0r.cpp
+                   ;; src/generator/nois0r/nois0r.cpp
+                   ;; src/generator/lissajous0r/lissajous0r.cpp
+                   ;; src/filter/ndvi/gradientlut.hpp
+                   ;; src/filter/ndvi/ndvi.cpp
+                   ;; src/filter/facedetect/facedetect.cpp
+                   license:lgpl2.1+))))
-- 
2.14.3

From a97e5e423886d83eb2ce9e9409b3c585cbc44a7f Mon Sep 17 00:00:00 2001
From: ng0 <[email-masked]>
Date: Sun, 29 Oct 2017 12:33:57 +0000
Subject: [PATCH 2/2] gnu: ffmpeg: Configure with frei0r.

* gnu/packages/video.scm (ffmepg)[inputs]: Add 'frei0r-plugins'.
(arguments)[configure-flags]: Add '--enable-frei0r' and remove
'TODO' comment about frei0r.
---
 gnu/packages/video.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index ae6c46521..e1d3b3564 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -599,6 +599,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
     (inputs
      `(("fontconfig" ,fontconfig)
        ("freetype" ,freetype)
+       ("frei0r-plugins" ,frei0r-plugins)
        ("gnutls" ,gnutls)
        ("opus" ,opus)
        ("ladspa" ,ladspa)
@@ -638,7 +639,6 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
        ;; possible additional inputs:
        ;;   --enable-avisynth        enable reading of AviSynth script
        ;;                            files [no]
-       ;;   --enable-frei0r          enable frei0r video filtering
        ;;   --enable-libaacplus      enable AAC+ encoding via libaacplus [no]
        ;;   --enable-libcelt         enable CELT decoding via libcelt [no]
        ;;   --enable-libdc1394       enable IIDC-1394 grabbing using libdc1394
@@ -686,6 +686,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
        '("--enable-avresample"
          "--enable-gpl" ; enable optional gpl licensed parts
          "--enable-shared"
+         "--enable-frei0r"
          "--enable-fontconfig"
          "--enable-gnutls"
          "--enable-ladspa"
-- 
2.14.3