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 אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted