* [PATCH] gnu: ffmpeg: Move flags into their own argument.
@ 2015-10-29 3:36 Andy Patterson
2015-10-29 7:51 ` Efraim Flashner
2015-10-29 21:11 ` Ludovic Courtès
0 siblings, 2 replies; 3+ messages in thread
From: Andy Patterson @ 2015-10-29 3:36 UTC (permalink / raw)
To: guix-devel
[-- Attachment #1: Type: text/plain, Size: 541 bytes --]
Hey everyone,
Here's a simple patch which makes it easier to customize ffmpeg's
configure flags when inheriting from the package.
The reason I wanted to do this was so that I could enable TLS support
for ffmpeg locally. The comment in the configure flags specifies that
the tests fail with gnutls support enabled. The tests are currently
working for me with gnutls enabled, on AMD64. I'd like to send another
patch to enable it. Does anyone have any concerns about doing so?
Comments on this patch are welcomed, of course.
Thanks,
Andy
[-- Attachment #2: 0001-gnu-ffmpeg-Move-flags-into-their-own-argument.patch --]
[-- Type: application/octet-stream, Size: 11424 bytes --]
From c78491cc816d936722ec403e8bd498162abcf962 Mon Sep 17 00:00:00 2001
From: Andy Patterson <ajpatter@uwaterloo.ca>
Date: Wed, 28 Oct 2015 22:42:42 -0400
Subject: [PATCH] gnu: ffmpeg: Move flags into their own argument.
* gnu/packages/video.scm (ffmpeg)[arguments]: Move the configurable
configure flag literals into the configure-flags argument. Call
configure with these flags from the configure phase.
---
gnu/packages/video.scm | 168 ++++++++++++++++++++++++++-----------------------
1 file changed, 91 insertions(+), 77 deletions(-)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index d22975a..554a2ea 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -412,6 +413,89 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
("yasm" ,yasm)))
(arguments
`(#:test-target "fate"
+ #:configure-flags
+ ;; 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
+ ;; and libraw1394 [no]
+ ;; --enable-libfaac enable AAC encoding via libfaac [no]
+ ;; --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no]
+ ;; --enable-libflite enable flite (voice synthesis) support via
+ ;; libflite [no]
+ ;; --enable-libgme enable Game Music Emu via libgme [no]
+ ;; --enable-libgsm enable GSM de/encoding via libgsm [no]
+ ;; --enable-libiec61883 enable iec61883 via libiec61883 [no]
+ ;; --enable-libilbc enable iLBC de/encoding via libilbc [no]
+ ;; --enable-libmodplug enable ModPlug via libmodplug [no]
+ ;; --enable-libnut enable NUT (de)muxing via libnut,
+ ;; native (de)muxer exists [no]
+ ;; --enable-libopencore-amrnb enable AMR-NB de/encoding via
+ ;; libopencore-amrnb [no]
+ ;; --enable-libopencore-amrwb enable AMR-WB decoding via
+ ;; libopencore-amrwb [no]
+ ;; --enable-libopencv enable video filtering via libopencv [no]
+ ;; --enable-libopenjpeg enable JPEG 2000 de/encoding via
+ ;; OpenJPEG [no]
+ ;; --enable-librtmp enable RTMP[E] support via librtmp [no]
+ ;; --enable-libschroedinger enable Dirac de/encoding via
+ ;; libschroedinger [no]
+ ;; --enable-libshine enable fixed-point MP3 encoding via
+ ;; libshine [no]
+ ;; --enable-libssh enable SFTP protocol via libssh [no]
+ ;; (libssh2 does not work)
+ ;; --enable-libstagefright-h264 enable H.264 decoding via
+ ;; libstagefright [no]
+ ;; --enable-libutvideo enable Ut Video encoding and decoding via
+ ;; libutvideo [no]
+ ;; --enable-libv4l2 enable libv4l2/v4l-utils [no]
+ ;; --enable-libvidstab enable video stabilization using
+ ;; vid.stab [no]
+ ;; --enable-libvo-aacenc enable AAC encoding via libvo-aacenc [no]
+ ;; --enable-libvo-amrwbenc enable AMR-WB encoding via
+ ;; libvo-amrwbenc [no]
+ ;; --enable-libwavpack enable wavpack encoding via libwavpack [no]
+ ;; --enable-libxavs enable AVS encoding via xavs [no]
+ ;; --enable-libzmq enable message passing via libzmq [no]
+ ;; --enable-libzvbi enable teletext support via libzvbi [no]
+ ;; --enable-opencl enable OpenCL code
+ ;; --enable-x11grab enable X11 grabbing [no]
+ '("--enable-avresample"
+ "--enable-gpl" ; enable optional gpl licensed parts
+ "--enable-shared"
+ "--enable-fontconfig"
+ ;; "--enable-gnutls" ; causes test failures
+ "--enable-ladspa"
+ "--enable-libass"
+ "--enable-libbluray"
+ "--enable-libcaca"
+ "--enable-libcdio"
+ "--enable-libfreetype"
+ "--enable-libmp3lame"
+ "--enable-libopus"
+ "--enable-libpulse"
+ "--enable-libquvi"
+ "--enable-libsoxr"
+ "--enable-libspeex"
+ "--enable-libtheora"
+ "--enable-libtwolame"
+ "--enable-libvorbis"
+ "--enable-libvpx"
+ "--enable-libxvid"
+ "--enable-libx264"
+ "--enable-openal"
+
+ "--enable-runtime-cpudetect"
+
+ ;; Runtime cpu detection is not implemented on
+ ;; MIPS, so we disable some features.
+ "--disable-mips32r2"
+ "--disable-mipsdspr1"
+ "--disable-mipsdspr2"
+ "--disable-mipsfpu")
#:phases
(modify-phases %standard-phases
(replace
@@ -424,83 +508,13 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
(("#! /bin/sh") (string-append "#!" (which "bash"))))
(setenv "SHELL" (which "bash"))
(setenv "CONFIG_SHELL" (which "bash"))
- ;; 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
- ;; and libraw1394 [no]
- ;; --enable-libfaac enable AAC encoding via libfaac [no]
- ;; --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no]
- ;; --enable-libflite enable flite (voice synthesis) support via libflite [no]
- ;; --enable-libgme enable Game Music Emu via libgme [no]
- ;; --enable-libgsm enable GSM de/encoding via libgsm [no]
- ;; --enable-libiec61883 enable iec61883 via libiec61883 [no]
- ;; --enable-libilbc enable iLBC de/encoding via libilbc [no]
- ;; --enable-libmodplug enable ModPlug via libmodplug [no]
- ;; --enable-libnut enable NUT (de)muxing via libnut,
- ;; native (de)muxer exists [no]
- ;; --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no]
- ;; --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no]
- ;; --enable-libopencv enable video filtering via libopencv [no]
- ;; --enable-libopenjpeg enable JPEG 2000 de/encoding via OpenJPEG [no]
- ;; --enable-librtmp enable RTMP[E] support via librtmp [no]
- ;; --enable-libschroedinger enable Dirac de/encoding via libschroedinger [no]
- ;; --enable-libshine enable fixed-point MP3 encoding via libshine [no]
- ;; --enable-libssh enable SFTP protocol via libssh [no]
- ;; (libssh2 does not work)
- ;; --enable-libstagefright-h264 enable H.264 decoding via libstagefright [no]
- ;; --enable-libutvideo enable Ut Video encoding and decoding via libutvideo [no]
- ;; --enable-libv4l2 enable libv4l2/v4l-utils [no]
- ;; --enable-libvidstab enable video stabilization using vid.stab [no]
- ;; --enable-libvo-aacenc enable AAC encoding via libvo-aacenc [no]
- ;; --enable-libvo-amrwbenc enable AMR-WB encoding via libvo-amrwbenc [no]
- ;; --enable-libwavpack enable wavpack encoding via libwavpack [no]
- ;; --enable-libxavs enable AVS encoding via xavs [no]
- ;; --enable-libzmq enable message passing via libzmq [no]
- ;; --enable-libzvbi enable teletext support via libzvbi [no]
- ;; --enable-opencl enable OpenCL code
- ;; --enable-x11grab enable X11 grabbing [no]
- (zero? (system*
- "./configure"
- (string-append "--prefix=" out)
- ;; Add $libdir to the RUNPATH of all the binaries.
- (string-append "--extra-ldflags=-Wl,-rpath="
- %output "/lib")
- "--enable-avresample"
- "--enable-gpl" ; enable optional gpl licensed parts
- "--enable-shared"
- "--enable-fontconfig"
- ;; "--enable-gnutls" ; causes test failures
- "--enable-ladspa"
- "--enable-libass"
- "--enable-libbluray"
- "--enable-libcaca"
- "--enable-libcdio"
- "--enable-libfreetype"
- "--enable-libmp3lame"
- "--enable-libopus"
- "--enable-libpulse"
- "--enable-libquvi"
- "--enable-libsoxr"
- "--enable-libspeex"
- "--enable-libtheora"
- "--enable-libtwolame"
- "--enable-libvorbis"
- "--enable-libvpx"
- "--enable-libxvid"
- "--enable-libx264"
- "--enable-openal"
-
- "--enable-runtime-cpudetect"
-
- ;; Runtime cpu detection is not implemented on
- ;; MIPS, so we disable some features.
- "--disable-mips32r2"
- "--disable-mipsdspr1"
- "--disable-mipsdspr2"
- "--disable-mipsfpu")))))
+ (zero? (apply system*
+ "./configure"
+ (string-append "--prefix=" out)
+ ;; Add $libdir to the RUNPATH of all the binaries.
+ (string-append "--extra-ldflags=-Wl,-rpath="
+ out "/lib")
+ configure-flags)))))
(add-before
'check 'set-ld-library-path
(lambda _
--
2.5.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] gnu: ffmpeg: Move flags into their own argument.
2015-10-29 3:36 [PATCH] gnu: ffmpeg: Move flags into their own argument Andy Patterson
@ 2015-10-29 7:51 ` Efraim Flashner
2015-10-29 21:11 ` Ludovic Courtès
1 sibling, 0 replies; 3+ messages in thread
From: Efraim Flashner @ 2015-10-29 7:51 UTC (permalink / raw)
To: Andy Patterson; +Cc: guix-devel
[-- Attachment #1: Type: text/plain, Size: 1023 bytes --]
On Wed, 28 Oct 2015 23:36:51 -0400
Andy Patterson <ajpatter@uwaterloo.ca> wrote:
> Hey everyone,
>
> Here's a simple patch which makes it easier to customize ffmpeg's
> configure flags when inheriting from the package.
>
> The reason I wanted to do this was so that I could enable TLS support
> for ffmpeg locally. The comment in the configure flags specifies that
> the tests fail with gnutls support enabled. The tests are currently
> working for me with gnutls enabled, on AMD64. I'd like to send another
> patch to enable it. Does anyone have any concerns about doing so?
>
> Comments on this patch are welcomed, of course.
If we have problems with gnutls causing test failures on certain
architectures we could also just enable gnutls for the platforms that don't
have the issues.
--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] gnu: ffmpeg: Move flags into their own argument.
2015-10-29 3:36 [PATCH] gnu: ffmpeg: Move flags into their own argument Andy Patterson
2015-10-29 7:51 ` Efraim Flashner
@ 2015-10-29 21:11 ` Ludovic Courtès
1 sibling, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2015-10-29 21:11 UTC (permalink / raw)
To: Andy Patterson; +Cc: guix-devel
Andy Patterson <ajpatter@uwaterloo.ca> skribis:
> The reason I wanted to do this was so that I could enable TLS support
> for ffmpeg locally. The comment in the configure flags specifies that
> the tests fail with gnutls support enabled. The tests are currently
> working for me with gnutls enabled, on AMD64. I'd like to send another
> patch to enable it. Does anyone have any concerns about doing so?
It turns out that FFmpeg already depends on GnuTLS via libquvi, per:
guix graph -t references ffmpeg | dot -Tps > t.ps
So I would say that you can add it in a separate patch without any
problems.
> From c78491cc816d936722ec403e8bd498162abcf962 Mon Sep 17 00:00:00 2001
> From: Andy Patterson <ajpatter@uwaterloo.ca>
> Date: Wed, 28 Oct 2015 22:42:42 -0400
> Subject: [PATCH] gnu: ffmpeg: Move flags into their own argument.
>
> * gnu/packages/video.scm (ffmpeg)[arguments]: Move the configurable
> configure flag literals into the configure-flags argument. Call
> configure with these flags from the configure phase.
Applied, thanks!
Ludo’.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-10-29 21:11 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-29 3:36 [PATCH] gnu: ffmpeg: Move flags into their own argument Andy Patterson
2015-10-29 7:51 ` Efraim Flashner
2015-10-29 21:11 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).