[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
signature.asc
Description: PGP signature