guix-devel
[Top][All Lists]
Advanced

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

[Patch 8/10] Add libring.


From: Lukas Gradl
Subject: [Patch 8/10] Add libring.
Date: Mon, 12 Sep 2016 21:30:07 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

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 @@ patches, most notably the use of gnutls instead of openssl 
for encryption.")
                  license:gpl3+ ; sfl-patches
                  license:lgpl2+))))) ; bundled resample
 
+(define-public libring
+  (let ((commit "41e032c81a9cdef457d2ead3767abbd6bcee2a16")) ; This is the
+                                        ; commit used by the AUR package.
+    (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)
+         ("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)
+         ("cppunit" ,cppunit)
+         ("perl" ,perl))) ; Needed for documentation.
+      (arguments
+       `(#:tests? #f ; The tests fail to compile due to missing headers.
+         #: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")))))))
+      (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.")
+      (home-page "https://ring.cx/";)
+      (license license:gpl3+))))
+
-- 
2.9.0

Attachment: signature.asc
Description: PGP signature


reply via email to

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