From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42448) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dNR72-0007uJ-PI for guix-patches@gnu.org; Tue, 20 Jun 2017 17:55:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dNR71-0001Dz-3f for guix-patches@gnu.org; Tue, 20 Jun 2017 17:55:04 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:55896) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dNR70-0001Du-W9 for guix-patches@gnu.org; Tue, 20 Jun 2017 17:55:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dNR70-0003pq-MP for guix-patches@gnu.org; Tue, 20 Jun 2017 17:55:02 -0400 Subject: [bug#27434] [PATCH] gnu: Add mkvtoolnix. Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42332) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dNR6c-0007u0-2B for guix-patches@gnu.org; Tue, 20 Jun 2017 17:54:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dNR6Z-00015q-NH for guix-patches@gnu.org; Tue, 20 Jun 2017 17:54:38 -0400 Received: from mx03.zaehlwerk.net ([2a01:4f8:212:54b::4:1]:42455) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dNR6Z-00015U-C5 for guix-patches@gnu.org; Tue, 20 Jun 2017 17:54:35 -0400 Received: from localhost (localhost [127.0.0.1]) by mx03.zaehlwerk.net (Postfix) with ESMTP id 3CD472B8C2 for ; Tue, 20 Jun 2017 23:54:33 +0200 (CEST) Received: from mail.zaehlwerk.net ([IPv6:::1]) by localhost (ps04.zaehlwerk.net [IPv6:::1]) (amavisd-new, port 10587) with ESMTP id MAXRY4zx0bNU for ; Tue, 20 Jun 2017 23:54:33 +0200 (CEST) Received: from zaehlwerk.net (p200300DF73C36B00F5B5813198344DEF.dip0.t-ipconnect.de [IPv6:2003:df:73c3:6b00:f5b5:8131:9834:4def]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.zaehlwerk.net (Postfix) with ESMTPSA for ; Tue, 20 Jun 2017 23:54:33 +0200 (CEST) Date: Tue, 20 Jun 2017 23:54:33 +0200 From: Gregor Giesen Message-ID: <20170620215432.h6ed3xyci2gcecz2@zaehlwerk.net> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="2am673zmyq5kjeki" Content-Disposition: inline Content-Transfer-Encoding: 7bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 27434@debbugs.gnu.org --2am673zmyq5kjeki Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello everybody, I have packed mkvtoolnix along with some dependencies. Best, Gregor --2am673zmyq5kjeki Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="0001-gnu-Add-mkvtoolnix.patch" Content-Transfer-Encoding: quoted-printable >From 84c9a44ca17f7e2bc07fd89ef245fc32d1a0ed7b Mon Sep 17 00:00:00 2001 From: Gregor Giesen Date: Tue, 20 Jun 2017 23:47:33 +0200 Subject: [PATCH 1/1] gnu: Add mkvtoolnix. * gnu/packages/serialization.scm (nlohmann-json-cpp): New variable. * gnu/packages/video.scm (mkvtoolnix libmatroska): New variables. * gnu/packages/xml.scm (libebml): New variable. --- gnu/packages/serialization.scm | 23 +++++++++ gnu/packages/video.scm | 113 +++++++++++++++++++++++++++++++++++= ++++++ gnu/packages/xml.scm | 21 ++++++++ 3 files changed, 157 insertions(+) diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.= scm index 6a3d8f900..7fdd20b57 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -5,6 +5,7 @@ ;;; Copyright =C2=A9 2016 Marius Bakke ;;; Copyright =C2=A9 2016 Efraim Flashner ;;; Copyright =C2=A9 2017 Corentin Bocquillon +;;; Copyright =C2=A9 2017 Gregor Giesen ;;; ;;; This file is part of GNU Guix. ;;; @@ -328,3 +329,25 @@ RPC system. Think JSON, except binary. Or think Pr= otocol Buffers, except faste convert JSON documents to BSON and the opposite. BSON stands for Binary= JSON, it is comparable to protobuf.") (license license:asl2.0))) + +(define-public nlohmann-json-cpp + (package + (name "nlohmann-json-cpp") + (version "2.1.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/nlohmann/json/" + "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0lrh6cjd643c7kmvmwafbgq7dqj3b778483gjhjbvp6rc6z5xf2r")))) + (build-system cmake-build-system) + (home-page "https://nlohmann.github.io/json/") + (synopsis "JSON library for C++") + (description + "JSON library for C++ trying to accomplish =E2=80=9CIntuitive synta= x=E2=80=9D, +=E2=80=9CTrivial integration=E2=80=9D, and =E2=80=9CSerious testing=E2=80= =9D. +However, =E2=80=9CMemory efficiency=E2=80=9D and =E2=80=9CSpeed=E2=80=9D= have not been primary goals.") + (license license:x11))) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index ec81bc1a1..f8166c233 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -20,6 +20,7 @@ ;;; Copyright =C2=A9 2017 Thomas Danckaert ;;; Copyright =C2=A9 2017 Ethan R. Jones ;;; Copyright =C2=A9 2017 Cl=C3=A9ment Lassieur +;;; Copyright =C2=A9 2017 Gregor Giesen ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,14 +58,18 @@ #:use-module (gnu packages avahi) #:use-module (gnu packages base) #:use-module (gnu packages bison) + #:use-module (gnu packages boost) #:use-module (gnu packages cdrom) + #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages dejagnu) + #:use-module (gnu packages docbook) #:use-module (gnu packages elf) + #:use-module (gnu packages file) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) @@ -93,7 +98,10 @@ #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages qt) + #:use-module (gnu packages ruby) #:use-module (gnu packages sdl) + #:use-module (gnu packages serialization) + #:use-module (gnu packages shells) #:use-module (gnu packages ssh) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils) @@ -272,6 +280,83 @@ H.264 (MPEG-4 AVC) video streams.") "file://extras/cl.h" "See extras/cl.h in the distribution."))))) =20 +(define-public mkvtoolnix + (package + (name "mkvtoolnix") + (version "12.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://mkvtoolnix.download/sources/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0dmmjizmxcr6agiwxii4135nkniw5yiab4dpgkas5n1nrk8h292w")))) + (build-system gnu-build-system) + (inputs + `(("boost" ,boost) + ("bzip2" ,bzip2) + ("libebml" ,libebml) + ("flac" ,flac) + ("file" ,file) + ("libmatroska" ,libmatroska) + ("libogg" ,libogg) + ("libvorbis" ,libvorbis) + ("lzo" ,lzo) + ("pugixml" ,pugixml) + ("qt" ,qt) + ("utfcpp" ,utfcpp) + ("zlib" ,zlib))) + (native-inputs + `(("docbook-xsl" ,docbook-xsl) + ("gettext" ,gettext-minimal) + ("googletest" ,googletest) + ("libxslt" ,libxslt) + ("nlohmann-json-cpp" ,nlohmann-json-cpp) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("po4a" ,po4a) + ("ruby" ,ruby) + ("zsh", zsh))) + (arguments + `(#:configure-flags + (list (string-append "--with-boost=3D" + (assoc-ref %build-inputs "boost")) + (string-append "--with-docbook-xsl-root=3D" + (assoc-ref %build-inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-" + ,(package-version docbook-xsl)) + (string-append "--with-extra-includes=3D" + (assoc-ref %build-inputs "nlohmann-json-cpp"= ) + "/include/nlohmann")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'add-googletest + (lambda _ + (symlink + (string-append (assoc-ref %build-inputs "googletest") + "/include/gtest") "lib/gtest") + #t)) + (replace 'build + (lambda _ + (let ((-j (list "-j" (number->string (parallel-job-count)))= )) + (zero? (apply system* "rake" -j))))) + (replace 'check + (lambda _ + (zero? (system* "rake" "tests/unit")))) + (replace 'install + (lambda _ + (zero? (system* "rake" "install"))))))) + (home-page "https://mkvtoolnix.download") + (synopsis "Tools to create, alter and inspect Matroska files") + (description + "With these tools one can get information about (via @code{mkvinfo}= )=20 +Matroska files, extract tracks/data from (via @code{mkvextract}) Matrosk= a +files and create (via @code{mkvmerge}) Matroska files from other media f= iles. +Matroska is a new multimedia file format aiming to become THE new contai= ner +format for the future.") + (license license:gpl2))) + (define-public x265 (package (name "x265") @@ -407,6 +492,34 @@ developed according to the official standards for DV= video: IEC 61834 and SMPTE 314M.") (license license:lgpl2.1+))) =20 +(define-public libmatroska + (package + (name "libmatroska") + (version "1.4.7") + (source + (origin + (method url-fetch) + (uri (string-append "https://dl.matroska.org/downloads/" + name "/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "1yi5cnv13nhl27xyqayd5l3sf0j3swfj3apzibv71yg9pariwi26")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libebml" ,libebml))) + (home-page "https://www.matroska.org") + (synopsis "C++ libary to parse Matroska files (.mkv and .mka)") + (description + "Matroska aims to become the standard of multimedia container forma= ts. +It is based on EBML (Extensible Binary Meta Language), a binary derivati= ve +of XML. EBML enables the Matroska Development Team to gain significant +advantages in terms of future format extensibility, without breaking fil= e +support in old parsers. +libebml is a C++ library to read and write EBML files.") + (license license:lgpl2.1))) + (define-public libva (package (name "libva") diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 263c26e31..3f684ffe4 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -15,6 +15,7 @@ ;;; Copyright =C2=A9 2016 Tobias Geerinckx-Rice ;;; Copyright =C2=A9 2016, 2017 Marius Bakke ;;; Copyright =C2=A9 2017 Adriano Peluso +;;; Copyright =C2=A9 2017 Gregor Giesen ;;; ;;; This file is part of GNU Guix. ;;; @@ -87,6 +88,26 @@ things the parser might find in the XML document (like= start tags).") (base32 "11c8jy1wvllvlk7xdc5cm8hdhg0hvs8j0aqy6s702an8wkdcls0q")))= ))) =20 +(define-public libebml + (package + (name "libebml") + (version "1.3.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://dl.matroska.org/downloads/" + name "/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "11zka6z9ncywyjr1gfm5cnii33ln7y3w6s86kiacchip2g7kw3f5")))) + (build-system gnu-build-system) + (home-page "https://www.matroska.org") + (synopsis "C++ libary to parse EBML files") + (description + "libebml is a C++ library to read and write EBML files. +EBML (Extensible Binary Meta Language) is a binary pendant to XML.") + (license license:lgpl2.1))) + (define-public libxml2 (package (name "libxml2") --=20 2.13.1 --2am673zmyq5kjeki--