guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/5] gnu: Add libmp4v2.


From: Kei Kebreau
Subject: Re: [PATCH 1/5] gnu: Add libmp4v2.
Date: Tue, 07 Feb 2017 15:16:07 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

address@hidden writes:

> From: ng0 <address@hidden>
>
> * gnu/packages/video.scm (libmp4v2): New variable.
> ---
>  gnu/packages/video.scm | 56 
> +++++++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 55 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
> index 8ba229e58..601364fdf 100644
> --- a/gnu/packages/video.scm
> +++ b/gnu/packages/video.scm
> @@ -11,7 +11,7 @@
>  ;;; Copyright © 2016 Kei Kebreau <address@hidden>
>  ;;; Copyright © 2016 Dmitry Nikolaev <address@hidden>
>  ;;; Copyright © 2016 Andy Patterson <address@hidden>
> -;;; Copyright © 2016 ng0 <address@hidden>
> +;;; Copyright © 2016, 2017 ng0 <address@hidden>
>  ;;; Copyright © 2016 Eric Bavier <address@hidden>
>  ;;; Copyright © 2016 Jan Nieuwenhuizen <address@hidden>
>  ;;;
> @@ -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)
> @@ -1862,3 +1864,55 @@ 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

Adding a phase here that gets rid of dates and such makes the build
reproducible:

(add-after 'unpack 'pre-configure
           (lambda _
             (substitute* "configure"
               (("PROJECT_build=\"`date`\"") "PROJECT_build=\"\"")
               (("ac_abs_top_builddir=$ac_pwd") "ac_abs_top_builddir=\"\""))))

> +       (modify-phases %standard-phases
> +         (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 "libmp4v2 provides an API to create and modify mp4 files")
The synopsis should start with an uppercase letter and not start with
the package name. Perhaps you could erase everything before "API".

> +    (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)))

The rest LGTM. Could you send an updated patch?

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]