From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Nieuwenhuizen Subject: [PATCH 1/2] gnu: Add nasm. Date: Sat, 18 Jun 2016 22:46:58 +0200 Message-ID: <87ziqi8bst.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55842) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bEN9I-00022Q-Dh for guix-devel@gnu.org; Sat, 18 Jun 2016 16:47:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bEN9D-0003fI-R2 for guix-devel@gnu.org; Sat, 18 Jun 2016 16:47:23 -0400 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org --=-=-= Content-Type: text/plain Hi, Trying to play an h264 video, I found this comment in gst-plugins-bad: ;; XXX: The following dependencies are missing: ;; vo-amrwbenc, vo-aacenc, bs2b, chromaprint, directfb, daala, libdts, ;; faac, flite, libgsm, libde265, libmms, libmimic, mjpegtools, ;; mpeg2enc, libofa, opencv, openh264, openni2, libtimemmgr, wildmidi, and packaged openh264 and its dependency nasm. Find attached. Later I found that h264 can be played by installing gst-libav. As an aside, I wonder why gst-plugins-bad is made to depend on qt and Wayland. Greetings, Jan --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-nasm.patch Content-Transfer-Encoding: quoted-printable >From bfe40f5a42edf702277a2580336138438cdb8a62 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 18 Jun 2016 22:39:33 +0200 Subject: [PATCH 1/2] gnu: Add nasm. * gnu/packages/nasm.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/nasm.scm | 59 +++++++++++++++++++++++++++++++++++++++++++++++= ++++ 2 files changed, 60 insertions(+) create mode 100644 gnu/packages/nasm.scm diff --git a/gnu/local.mk b/gnu/local.mk index abd05ef..f9ea769 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -242,6 +242,7 @@ GNU_SYSTEM_MODULES =3D \ %D%/packages/music.scm \ %D%/packages/mtools.scm \ %D%/packages/nano.scm \ + %D%/packages/nasm.scm \ %D%/packages/ncdu.scm \ %D%/packages/ncurses.scm \ %D%/packages/netpbm.scm \ diff --git a/gnu/packages/nasm.scm b/gnu/packages/nasm.scm new file mode 100644 index 0000000..19a1b92 --- /dev/null +++ b/gnu/packages/nasm.scm @@ -0,0 +1,59 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2016 Jan Nieuwenhuizen +;;; +;;; 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 . + +(define-module (gnu packages nasm) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages perl) + #:use-module (gnu packages texinfo)) + +(define-public nasm + (package + (name "nasm") + (version "2.12.01") + (source (origin + (method url-fetch) + (uri (string-append "http://www.nasm.us/pub/nasm/releasebuil= ds/" + version "/" name "-" version ".tar.xz")) + (sha256 + (base32 + "12bl6vc5sjp9nnhf0iwy6l27vq783y0rxrjpp8sy84h5cb7a3fwx")))) + (build-system gnu-build-system) + (native-inputs `(("ghostscript" ,ghostscript) ; ps2pdf + ("perl" ,perl) ;for test target + ("texinfo" ,texinfo))) + (arguments + `(#:test-target "test" + #:phases (modify-phases %standard-phases + (add-after 'install 'install-info + (lambda _ + (zero? (system* "make" "install_doc"))))))) + (home-page "http://www.nasm.us/") + (synopsis "80x86 and x86-64 assembler") + (description + "NASM, the Netwide Assembler, is an 80x86 and x86-64 assembler design= ed +for portability and modularity. It supports a range of object file format= s, +including Linux and *BSD a.out, ELF, COFF, Mach-O, Microsoft 16-bit OBJ, +Windows32 and Windows64. It will also output plain binary files. Its syn= tax +is designed to be simple and easy to understand, similar to Intel's but le= ss +complex. It supports all currently known x86 architectural extensions, and +has strong support for macros.") + (license license:bsd-3))) --=20 2.8.4 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0002-gnu-Add-openh264.patch Content-Transfer-Encoding: quoted-printable >From 950266815f8e2d8d57492c71d3cf72efc0fd9fdd Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 18 Jun 2016 22:40:51 +0200 Subject: [PATCH 2/2] gnu: Add openh264. * gnu/packages/video.scm (openh264): New variable. --- gnu/packages/video.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 377caa9..2b4c99e 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -7,6 +7,7 @@ ;;; Copyright =C2=A9 2015 Andy Patterson ;;; Copyright =C2=A9 2015 Ricardo Wurmus ;;; Copyright =C2=A9 2015 Alex Vong +;;; Copyright =C2=A9 2016 Jan Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -58,6 +59,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages mp3) + #:use-module (gnu packages nasm) #:use-module (gnu packages ncurses) #:use-module (gnu packages ocr) #:use-module (gnu packages perl) @@ -1475,3 +1477,29 @@ implementation.") your graphical desktop and encodes it as a video. This is a useful tool f= or making @dfn{screencasts}.") (license license:gpl2+))) + +(define-public openh264 + (package + (name "openh264") + (version "1.5.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/cisco/" + name "/archive/v" version ".tar.gz")) + (sha256 + (base32 + "1d97dh5hzmy46jamfw03flvcz8md1hxp6y5n0b787h8ks7apn1wq")))) + (build-system gnu-build-system) + (native-inputs `(("nasm" ,nasm) + ("python" ,python))) + (arguments + `(#:make-flags (list (string-append "PREFIX=3D" (assoc-ref %outputs "= out"))) + #:test-target "test" + #:phases (modify-phases %standard-phases + ;; no configure script + (delete 'configure)))) + (home-page "http://www.openh264.org/") + (synopsis "H264 decoder library") + (description + "Openh264 is a library which can decode H264 video streams.") + (license license:bsd-3))) --=20 2.8.4 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable --=20 Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar=C2=AE http://AvatarAcademy.nl= =20=20 --=-=-=--