guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add Handbrake.


From: Efraim Flashner
Subject: Re: [PATCH] gnu: Add Handbrake.
Date: Mon, 31 Oct 2016 10:46:04 +0200
User-agent: Mutt/1.7.1 (2016-10-04)

On Mon, Oct 31, 2016 at 10:09:26AM +0200, Efraim Flashner wrote:
> On Sun, Oct 30, 2016 at 10:08:22PM -0500, Eric Bavier wrote:
> > * gnu/packages/video.scm (handbrake): New variable.
> > * gnu/packages/patches/handbrake-pkg-config-path.patch: New patch.
> > * gnu/local.mk (dist_patch_DATA): Add it.
...
> >    #:use-module (gnu packages base)
> >    #:use-module (gnu packages bison)
> >    #:use-module (gnu packages cdrom)
> > +  #:use-module (gnu packages cmake)

I'm not sure you need this one

> >    #:use-module (gnu packages compression)
> >    #:use-module (gnu packages curl)
> >    #:use-module (gnu packages databases)
...
> > +       ("libx264" ,libx264)
> > +       ("libx265" ,x265)
> > +       ("zlib" ,zlib)))
> > +    (arguments
> > +     `(#:tests? #f             ;tests require Ruby and claim to be 
> > unsupported
> > +       #:configure-flags '("--enable-gtk")
> 
>  I looked to see if there was the --ignore-options-i-dont-understand
>  flag and I didn't see it. Do we need any of the other flags?
>  --disable-gtk-update-checks
>  --enable-qsv (intel quick sync, if we support it)
>  --enable-hwd
>  --enable-x265
> 
>  would --fetch=wget eliminate the need for curl in native-inputs?
> 

to answer some of my own questions, wget isn't natively there, using
'--fetch=wget' with curl and no wget fails configuring.

qsv: not packaged
hwd: also breaks configure
adding '--enable-x265' doesn't remove the need for the 'fix-x265-linking
issue

> > +       #:phases
> > +       (modify-phases %standard-phases
> > +         (add-before 'patch-source-shebangs 'bootstrap-gtk
> > +           ;; Run bootstrap ahead of time so that shebangs get patched.
> > +           (lambda _
> > +             (setenv "CONFIG_SHELL" (which "sh"))
> > +             (and
> > +              (begin
> > +                (setenv "NOCONFIGURE" "1")
> > +                (zero? (system* "sh" "./gtk/autogen.sh")))
> > +              ;; Patch the Makefile so that it doesn't bootstrap again.
> > +              (begin
> > +                (substitute* "gtk/module.rules"
> > +                  ((".*autogen\\.sh.*") ""))
> > +                #t))))

I commented the autogen part out by accident and it didn't seem to be
needed afterall.

> > +         (add-before 'configure 'disable-contrib
> > +           (lambda _
> > +             (substitute* "make/include/main.defs"
> > +               ;; Disable unconditional inclusion of some "contrib"
> > +               ;; libraries (ffmpeg, libvpx, libdvdread, libdvdnav,
> > +               ;; and libbluray), which would lead to fetching and
> > +               ;; building of these libraries.  Use our own instead.
> > +               (("MODULES \\+= contrib") "# MODULES += contrib"))
> > +             #t))
> > +         (add-before 'configure 'fix-x265-linking
> > +           (lambda _
> > +             (substitute* "test/module.defs"
> > +               ;; Fix missing library during linking error
> > +               (("TEST.GCC.l =") "TEST.GCC.l = x265"))
> > +             #t))
> > +         (replace 'configure
> > +           (lambda* (#:key outputs configure-flags #:allow-other-keys)
> > +             ;; 'configure' is not an autoconf-generated script, and
> > +             ;; errors on unrecognized arguments,
> > +             ;; e.g. --enable-fast-install
> > +             (let ((out (assoc-ref outputs "out")))
> > +               (zero? (apply system* "./configure"
> > +                             (string-append "--prefix=" out)
> > +                             (or configure-flags '()))))))
> > +         (add-after 'configure 'chdir-build
> > +           (lambda _ (chdir "./build") #t)))))
> > +    (home-page "https://handbrake.fr";)
> > +    (synopsis "Video transcoder")
> > +    (description
> > +     "HandBrake is a tool for converting video from any format to a 
> > selection
> > +of modern, widely supported codecs.")
> > +    ;; Most under GPL version 2, and portions under BSD 3 Clause
> > +    (license (list license:gpl2 license:bsd-3))))
> > --
> > 2.10.0
> > 
> > 



-- 
Efraim Flashner   <address@hidden>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]