guix-devel
[Top][All Lists]
Advanced

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

Re: [Patch 8/10] Add libring.


From: Ricardo Wurmus
Subject: Re: [Patch 8/10] Add libring.
Date: Sat, 05 Nov 2016 23:30:38 +0100
User-agent: mu4e 0.9.16; emacs 26.0.50.1

Lukas Gradl <address@hidden> writes:

> From ad9397f36c7d4e8797c38a838f27079b8ba32631 Mon Sep 17 00:00:00 2001
> From: Lukas Gradl <address@hidden>
> Date: Sun, 28 Aug 2016 12:26:23 -0500
> Subject: [PATCH 08/10] gnu: Add libring.

> * gnu/packages/telephony.scm (libring): New variable.
> ---
>  gnu/packages/telephony.scm | 94 
> ++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 94 insertions(+)

> diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
> index bd849d6..96b7489 100644
> --- a/gnu/packages/telephony.scm
> +++ b/gnu/packages/telephony.scm
> @@ -25,12 +25,24 @@
>    #:use-module (gnu packages)
>    #:use-module (gnu packages audio)
>    #:use-module (gnu packages autotools)
> +  #:use-module (gnu packages base)
> +  #:use-module (gnu packages boost)
> +  #:use-module (gnu packages check)
> +  #:use-module (gnu packages compression)
> +  #:use-module (gnu packages crypto)
> +  #:use-module (gnu packages glib)
>    #:use-module (gnu packages gnupg)
> +  #:use-module (gnu packages libupnp)
>    #:use-module (gnu packages linux)
>    #:use-module (gnu packages multiprecision)
>    #:use-module (gnu packages ncurses)
> +  #:use-module (gnu packages perl)
> +  #:use-module (gnu packages pcre)
>    #:use-module (gnu packages pkg-config)
> +  #:use-module (gnu packages pulseaudio)
> +  #:use-module (gnu packages serialization)
>    #:use-module (gnu packages tls)
> +  #:use-module (gnu packages video)
>    #:use-module (gnu packages xiph)
>    #:use-module ((guix licenses) #:prefix license:)
>    #:use-module (guix packages)
> @@ -469,3 +481,85 @@
>                   license:gpl3+ ; sfl-patches
>                   license:lgpl2+))))) ; bundled resample
 
> --

What’s with these dashes?

> +(define-public libring
> +  (let ((commit "41e032c81a9cdef457d2ead3767abbd6bcee2a16")) ; This is the
> +                                        ; commit used by the AUR package.

Is there another reason why we should use this commit?  I don’t think
it’s a *good* reason :) 

> +    (package
> +      (name "libring")
> +      (version (string-append "2.2.0-1." (string-take commit 7)))
> +      (source
> +       (origin
> +         (method git-fetch)
> +         (uri (git-reference
> +               (url
> +                "https://gerrit-ring.savoirfairelinux.com/ring-daemon.git";)
> +               (commit commit)))
> +         (file-name (string-append name "-" version "-checkout"))
> +         (modules '((guix build utils)))
> +         (snippet
> +          '(begin
> +             (delete-file-recursively "contrib")
> +             (substitute* "src/media/video/video_scaler.cpp"
> +               ; Fix compatability with recent versions of ffmpeg:
> +               (("PIX_FMT_RGB") "AV_PIX_FMT_FLAG_RGB")
> +               (("PIX_FMT_PLANAR") "AV_PIX_FMT_FLAG_PLANAR"))
> +             (substitute* "src/media/video/video_input.h"
> +               (("#include \"threadloop.h\"")
> +                (string-append "#include \"threadloop.h\"\n"
> +                               "#include \"video/video_base.h\"")))))
> +         (sha256
> +          (base32
> +           "05jqmbihn45pajbyvbb45l1084kr285p23mmmncvqcvdzzw87437"))))
> +      (build-system gnu-build-system)
> +      (inputs
> +       `(("alsa-lib" ,alsa-lib)
> +         ("boost" ,boost)
> +         ("dbus-c++" ,dbus-c++)
> +         ("eudev" ,eudev)
> +         ("ffmpeg" ,ffmpeg)
> +         ("flac" ,flac)
> +         ("gmp" ,gmp)
> +         ("gsm" ,gsm)
> +         ("jack" ,jack-1)
> +         ("jsoncpp" ,jsoncpp)
> +         ("libogg" ,libogg)
> +         ("opendht" ,opendht)
> +         ("opus" ,opus)
> +         ("pcre" ,pcre)
> +         ("pjproject" ,pjproject-sfl)

See my other email about “pjproject”.

> +         ("pulseaudio" ,pulseaudio)
> +         ("libsamplerate" ,libsamplerate)
> +         ("libsndfile" ,libsndfile)
> +         ("speex" ,speex)
> +         ("libupnp" ,libupnp)
> +         ("libvorbis" ,libvorbis)
> +         ("libx264" ,libx264)
> +         ("yaml-cpp" ,yaml-cpp)
> +         ("zlib" ,zlib)))
> +      (native-inputs
> +       `(("autoconf" ,autoconf)
> +         ("pkg-config" ,pkg-config)
> +         ("automake" ,automake)
> +         ("libtool" ,libtool)

We can do without these native-inputs if we take the latest release, right?

> +         ("cppunit" ,cppunit)
> +         ("perl" ,perl))) ; Needed for documentation.
> +      (arguments
> +       `(#:tests? #f ; The tests fail to compile due to missing
> headers.

Is this fixable?

> +         #:phases
> +         (modify-phases %standard-phases
> +           (add-before 'configure 'autoconf
> +             (lambda _
> +               (zero? (system* "autoreconf" "-vfi"))))
> +           (add-before 'build 'add-lib-dir
> +             (lambda _
> +               (zero? (system* "mkdir" "src/lib")))))))

Please use “(lambda _ (mkdir-p "src/lib") #t)” instead.

> +      (synopsis "Distributed multimedia communications platform")
> +      (description "Ring is a secure and distributed voice, video and chat
> +communication platform that requires no centralized server and leaves the
> +power of privacy in the hands of the user.  It supports the SIP and IAX
> +protocols, as well as decentralized calling using P2P-DHT.
> +
> +This package provides a library and daemon implementing the Ring core 
> functionality.")

The last line is a bit long, please break it.

> +      (home-page "https://ring.cx/";)
> +      (license license:gpl3+))))
> +
> 2.9.0

Thanks for this patch!  This must have been a lot of work.  Do you think
you could update this patch under consideration of my comments in this
and the other email about “pjproject”?

~~ Ricardo




reply via email to

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