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

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

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.
> 
> -- 
> ng0
> GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
> GnuPG: https://dist.ng0.infotropique.org/dist/keys/
> https://www.infotropique.org https://ng0.infotropique.org

> From b65092f2dddfd0f9b930f534fab218279ad17929 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 | 40 ++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 40 insertions(+)
> 
> diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
> index cea662b04..c978e8a6e 100644
> --- a/gnu/packages/video.scm
> +++ b/gnu/packages/video.scm
> @@ -2548,3 +2548,43 @@ 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 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:

user@abyayala ~/Downloads/frei0r-plugins-1.6.1$ egrep -nr "2\.1"
…
src/generator/ising0r/ising0r.c:9:version 2.1 of the License, or (at your option) any later version.
src/generator/onecol0r/onecol0r.cpp:9:version 2.1 of the License, or (at your option) any later version.
src/generator/nois0r/nois0r.cpp:9:version 2.1 of the License, or (at your option) any later version.
src/generator/lissajous0r/lissajous0r.cpp:10:version 2.1 of the License, or (at your option) any later version.
src/filter/ndvi/gradientlut.hpp:7: * version 2.1 of the License, or (at your option) any later version.
src/filter/ndvi/ndvi.cpp:7: * version 2.1 of the License, or (at your option) any later version.
src/filter/facedetect/facedetect.cpp:8: * version 2.1 of the License, or (at your option) any later version.

so… next version correction coming soon.

> -- 
> 2.14.3

> From 872ec75abcca3b674a6b3c6731642b3b71d5bff1 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 c978e8a6e..afd2b1d4e 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
> 

-- 
ng0
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://dist.ng0.infotropique.org/dist/keys/
https://www.infotropique.org https://ng0.infotropique.org