Re: [PATCH] gnu: Add ffmpeg.

2013-12-02 Thread Jason Self
Ludovic Courtès asked:
> Anyway, I agree that it’s a major inconvenience, but I wonder if we
> should be concerned about shipping without testing.  What do people
> think?

I have no objection.


Re: [PATCH] gnu: Add ffmpeg.

2013-12-02 Thread Ludovic Courtès
Andreas Enge  skribis:

> On Sun, Dec 01, 2013 at 12:12:54AM +0100, Ludovic Courtès wrote:
>> The samples wouldn’t really have to be “packaged”: they’d just be an
>> input.  For someone using substitutes, the samples are not going to be a
>> problem (because they’ll never be downloaded.)  However, it is indeed a
>> problem when building things locally.
>
> Well, so far the only way I have been told to get them is via rsync.
> So one might need to create a .tar(.gz?) from the download.

Not necessarily.  It could fetch the directory as is.  There could be an
‘rsync-fetch’ method for , just like we have ‘url-fetch’.  (A
little bit of work, but that seems doable, if we want to.)

> And in any case, an input means a package variable, no?

I would rather make it an  (assuming there’s a way to get at an
immutable version of those samples), and it doesn’t need to be bound a
variable:

  (define ffmpeg
(package
  ...
  (inputs `(("samples" ,(origin
  (method rsync-fetch)
  ...))

Back to the problem at hand: the short-term answer is to add
#:tests? #f with a link to this discussion.  The longer term answer
may be to try to run those FATE tests.

WDYT?

Ludo’.



Re: [PATCH] gnu: Add ffmpeg.

2013-12-01 Thread Andreas Enge
On Sun, Dec 01, 2013 at 12:12:54AM +0100, Ludovic Courtès wrote:
> The samples wouldn’t really have to be “packaged”: they’d just be an
> input.  For someone using substitutes, the samples are not going to be a
> problem (because they’ll never be downloaded.)  However, it is indeed a
> problem when building things locally.

Well, so far the only way I have been told to get them is via rsync.
So one might need to create a .tar(.gz?) from the download. And in any
case, an input means a package variable, no?

Andreas
 



Re: [PATCH] gnu: Add ffmpeg.

2013-11-30 Thread John Darrington
On Sat, Nov 30, 2013 at 09:44:26PM +0100, Andreas Enge wrote:
 On Wed, Nov 27, 2013 at 11:50:54PM +0100, Andreas Enge wrote:
 > I just submitted a bug report for the failure on i686:
 >https://trac.ffmpeg.org/ticket/3177#no1
 
 Well, it looks as if "make check" is not the preferred way of testing 
ffmpeg.
 Rather, one should download about 750 MB of video samples and run a 
specific
 test program on them (that can be built and run with "make fate"); see the
 replies to the bug report.
 
 For Guix, it does not seem to be reasonable to either download 750 MB of
 test data, or to package them, so I would suggest to disable the tests
 for now.
 
 What do you think?

I think you should phone the mental health department and suggest the ffmpeg
developers be sectioned, on by reason of public safety!

J'
 

-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.



signature.asc
Description: Digital signature


Re: [PATCH] gnu: Add ffmpeg.

2013-11-30 Thread Ludovic Courtès
Andreas Enge  skribis:

> On Wed, Nov 27, 2013 at 11:50:54PM +0100, Andreas Enge wrote:
>> I just submitted a bug report for the failure on i686:
>>https://trac.ffmpeg.org/ticket/3177#no1
>
> Well, it looks as if "make check" is not the preferred way of testing ffmpeg.
> Rather, one should download about 750 MB of video samples and run a specific
> test program on them (that can be built and run with "make fate"); see the
> replies to the bug report.

Ouch, indeed.

> For Guix, it does not seem to be reasonable to either download 750 MB of
> test data, or to package them, so I would suggest to disable the tests
> for now.
>
> What do you think?

Is it really the case that that much needs to be downloaded before the
slightest test can be run?

The samples wouldn’t really have to be “packaged”: they’d just be an
input.  For someone using substitutes, the samples are not going to be a
problem (because they’ll never be downloaded.)  However, it is indeed a
problem when building things locally.

Anyway, I agree that it’s a major inconvenience, but I wonder if we
should be concerned about shipping without testing.  What do people
think?

Ludo’.



Re: [PATCH] gnu: Add ffmpeg.

2013-11-30 Thread Andreas Enge
On Wed, Nov 27, 2013 at 11:50:54PM +0100, Andreas Enge wrote:
> I just submitted a bug report for the failure on i686:
>https://trac.ffmpeg.org/ticket/3177#no1

Well, it looks as if "make check" is not the preferred way of testing ffmpeg.
Rather, one should download about 750 MB of video samples and run a specific
test program on them (that can be built and run with "make fate"); see the
replies to the bug report.

For Guix, it does not seem to be reasonable to either download 750 MB of
test data, or to package them, so I would suggest to disable the tests
for now.

What do you think?

Andreas




Re: [PATCH] gnu: Add ffmpeg.

2013-11-27 Thread Andreas Enge
I just submitted a bug report for the failure on i686:
   https://trac.ffmpeg.org/ticket/3177#no1
Unfortunately, there is not much information I could give.

Andreas




Re: [PATCH] gnu: Add ffmpeg.

2013-11-02 Thread Andreas Enge
On Sat, Nov 02, 2013 at 12:37:20AM +0100, Ludovic Courtès wrote:
> I have a test failure on x86_64 (for
> /nix/store/iz59b5w12xj4p9yf2mn9vbg7i69vvnks-ffmpeg-2.1):

This is the exact same hash that I compiled without problem. Could you try
a few times to see whether it is deterministic? Or maybe disable parallel
tests? Could it be that the output of yasm depends on the machine?

Andreas




Re: [PATCH] gnu: Add ffmpeg.

2013-11-01 Thread Ludovic Courtès
I have a test failure on x86_64 (for
/nix/store/iz59b5w12xj4p9yf2mn9vbg7i69vvnks-ffmpeg-2.1):

--8<---cut here---start->8---
TESTlavf-xwd
--- ./tests/ref/lavf/xwd2013-10-28 00:58:06.0 +
+++ tests/data/fate/lavf-xwd2013-11-01 23:32:31.0 +
@@ -2,7 +2,7 @@
 ./tests/data/images/xwd/%02d.xwd CRC=0x6da01946
 304239 ./tests/data/images/xwd/02.xwd
 1cdb43599c956dc8563f1e09fac5df00 *./tests/data/images/xwd/02.xwd
-./tests/data/images/xwd/%02d.xwd CRC=0xf07d29cd
+./tests/data/images/xwd/%02d.xwd 
 405615 ./tests/data/images/xwd/02.xwd
 c0866e9e710fce735423594a93bee604 *./tests/data/images/xwd/02.xwd
 ./tests/data/images/xwd/%02d.xwd CRC=0x53209216
Test lavf-xwd failed. Look at tests/data/fate/lavf-xwd.err for details.
make: *** [fate-lavf-xwd] Error 1
--8<---cut here---end--->8---

Ludo’.



Re: [PATCH] gnu: Add ffmpeg.

2013-11-01 Thread Andreas Enge
On Fri, Nov 01, 2013 at 12:38:23PM +0100, Ludovic Courtès wrote:
> > +(synopsis "audio and video framework")
> Start with a capital letter.

Okay, I corrected and pushed it.

Notice that there are plenty of optional inputs, so that people wishing to
train their packaging skills have lots of opportunity to add the corresponding
libraries to the distribution. For a beginner, I would in particular suggest
opus: It is probably just a matter of copy-pasting a package from oggvorbis.scm.

> Thus, I’m inclined to use FFmpeg by default in video applications.
> Thoughts?

Well, I would be inclined to do the same, as ffmpeg is the name I know,
and with respect to functionality and security updates, it looks like they
are a tiny bit ahead.

Andreas




Re: [PATCH] gnu: Add ffmpeg.

2013-11-01 Thread Ludovic Courtès
Andreas Enge  skribis:

> From 4495e12c987a6a0749db8724e8d4d2a7ac546f6d Mon Sep 17 00:00:00 2001
> From: Andreas Enge 
> Date: Thu, 31 Oct 2013 23:15:46 +0100
> Subject: [PATCH] gnu: Add ffmpeg.
>
> * gnu/packages/video.scm: New file.
> * gnu-system.am (GNU_SYSTEM_MODULES): Add module.

Fine with me!

> +(synopsis "audio and video framework")

Start with a capital letter.


To recap, there was a lengthy FFmpeg vs. libav debate on IRC.  As a
distro I think we should provide both (assuming there are noteworthy
technical differences, or incompatibilities.)

The question that heated the debate ;-) is which one should be used as
the default dependency in applications (it’s only about the default;
remember it’s easy to programmatically provide variants of the package
that use the other one, for users who would want that.)

My understanding of the discussion is that there is no big technical
difference between the two, and no significant difference in the
projects’ attitudes toward user freedom.

Thus, I’m inclined to use FFmpeg by default in video applications.

(It’s a choice we can always revisit as the situation evolves.)

Thoughts?

Ludo’.



[PATCH] gnu: Add ffmpeg.

2013-10-31 Thread Andreas Enge
Hello,

the attached patch add ffmpeg. Comments are welcome.

Andreas

>From 4495e12c987a6a0749db8724e8d4d2a7ac546f6d Mon Sep 17 00:00:00 2001
From: Andreas Enge 
Date: Thu, 31 Oct 2013 23:15:46 +0100
Subject: [PATCH] gnu: Add ffmpeg.

* gnu/packages/video.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add module.
---
 gnu-system.am  |   1 +
 gnu/packages/video.scm | 172 +
 2 files changed, 173 insertions(+)
 create mode 100644 gnu/packages/video.scm

diff --git a/gnu-system.am b/gnu-system.am
index f77bb03..eba1dce 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -178,6 +178,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/unrtf.scm   \
   gnu/packages/valgrind.scm\
   gnu/packages/version-control.scm \
+  gnu/packages/video.scm   \
   gnu/packages/vim.scm \
   gnu/packages/vpn.scm \
   gnu/packages/w3m.scm \
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
new file mode 100644
index 000..97287a5
--- /dev/null
+++ b/gnu/packages/video.scm
@@ -0,0 +1,172 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Andreas Enge 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages video)
+  #:use-module ((guix licenses) #:select (gpl2+))
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages algebra)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages oggvorbis)
+  #:use-module (gnu packages openssl)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages yasm))
+
+(define-public ffmpeg
+  (package
+(name "ffmpeg")
+(version "2.1")
+(source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.ffmpeg.org/releases/ffmpeg-";
+ version ".tar.bz2"))
+ (sha256
+  (base32
+   "1pv83nmjgipxwzy5s53834fq0mrqv786zz2w383ki6sfjzyh6rlj"
+(build-system gnu-build-system)
+(inputs
+ `(("bc" ,bc)
+   ("bzip2" ,bzip2)
+   ("fontconfig" ,fontconfig)
+   ("freetype" ,freetype)
+   ("libtheora" ,libtheora)
+   ("libvorbis" ,libvorbis)
+   ("perl" ,perl)
+   ("pkg-config" ,pkg-config)
+   ("python" ,python-2) ; scripts use interpreter python2
+   ("speex" ,speex)
+   ("yasm" ,yasm)
+   ("zlib", zlib)))
+(arguments
+ `(#:phases
+ (alist-replace
+  'configure
+  ;; configure does not work followed by "SHELL=..." and
+  ;; "CONFIG_SHELL=..."; set environment variables instead
+  (lambda* (#:key outputs configure-flags #:allow-other-keys)
+(let ((out (assoc-ref outputs "out")))
+  (substitute* "configure"
+(("#! /bin/sh") (string-append "#!" (which "bash"
+  (setenv "SHELL" (which "bash"))
+  (setenv "CONFIG_SHELL" (which "bash"))
+;; possible additional inputs:
+;;   --enable-avisynthenable reading of AviSynth script files [no]
+;;   --enable-frei0r  enable frei0r video filtering
+;;   --enable-ladspa  enable LADSPA audio filtering
+;;   --enable-libaacplus  enable AAC+ encoding via libaacplus [no]
+;;   --enable-libass  enable libass subtitles rendering [no]
+;;   --enable-libbluray   enable BluRay reading using libbluray [no]
+;;   --enable-libcaca enable textual display using libcaca
+;;   --enable-libcelt enable CELT decoding via libcelt [no]
+;;   --enable-libcdio enable audio CD grabbing with libcdio
+;;   --enable-libdc1394   enable IIDC-1394 grabbing using libdc1394
+;;and libraw1394 [no]
+;;