summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorng0 <ng0@libertad.pw>2017-02-09 13:37:00 +0000
committerKei Kebreau <kei@openmailbox.org>2017-02-09 12:15:28 -0500
commit3a44c7bbdc45616acb4e24d4ddfdc84cdb85d480 (patch)
tree1c9c26db08d6bcc6281e8f8f9085ccd0f1a31e94
parente0c752f969b06f2364e284df3a4395484c8296b8 (diff)
gnu: Add libmp4v2.
* gnu/packages/video.scm (libmp4v2): New variable. Signed-off-by: Kei Kebreau <kei@openmailbox.org>
-rw-r--r--gnu/packages/video.scm63
1 files changed, 62 insertions, 1 deletions
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 5c5d91d86c..3acd2bf91a 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -11,7 +11,7 @@
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
-;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;;
@@ -57,6 +57,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
+ #:use-module (gnu packages dejagnu)
#:use-module (gnu packages elf)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
@@ -75,6 +76,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages m4)
+ #:use-module (gnu packages man)
#:use-module (gnu packages mp3)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ocr)
@@ -1864,3 +1866,62 @@ of modern, widely supported codecs.")
(description
"Openh264 is a library which can decode H264 video streams.")
(license license:bsd-2)))
+
+(define-public libmp4v2
+ (package
+ (name "libmp4v2")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ ;; XXX: The new location of upstream is uncertain and will become relevant the
+ ;; moment when the googlecode archive shuts down. It is past the date it
+ ;; should've been turned off. I tried to communicate with upstream, but this
+ ;; wasn't very responsive and not very helpful. The short summary is, it is
+ ;; chaos when it comes to the amount of forks and only time will tell where
+ ;; the new upstream location is.
+ (uri (string-append "https://storage.googleapis.com/google-"
+ "code-archive-downloads/v2/"
+ "code.google.com/mp4v2/mp4v2-" version ".tar.bz2"))
+ (file-name (string-append name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0f438bimimsvxjbdp4vsr8hjw2nwggmhaxgcw07g2z361fkbj683"))))
+ (build-system gnu-build-system)
+ (outputs '("out"
+ "static")) ; 3.7MiB .a file
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-dates
+ (lambda _
+ ;; Make the build reproducible.
+ (substitute* "configure"
+ (("PROJECT_build=\"`date`\"") "PROJECT_build=\"\"")
+ (("ac_abs_top_builddir=$ac_pwd") "ac_abs_top_builddir=\"\""))
+ #t))
+ (add-after 'install 'move-static-libraries
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Move static libraries to the "static" output.
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib"))
+ (static (assoc-ref outputs "static"))
+ (slib (string-append static "/lib")))
+ (mkdir-p slib)
+ (for-each (lambda (file)
+ (install-file file slib)
+ (delete-file file))
+ (find-files lib "\\.a$"))
+ #t))))))
+ (native-inputs
+ `(("help2man" ,help2man)
+ ("dejagnu" ,dejagnu)))
+ (home-page "https://code.google.com/archive/p/mp4v2/")
+ (synopsis "API to create and modify mp4 files")
+ (description
+ "The MP4v2 library provides an API to create and modify mp4 files as defined by
+ISO-IEC:14496-1:2001 MPEG-4 Systems. This file format is derived from Apple's QuickTime
+file format that has been used as a multimedia file format in a variety of platforms and
+applications. It is a very powerful and extensible format that can accommodate
+practically any type of media.")
+ (license license:mpl1.1)))