From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: [Patch 8/10] Add libring. Date: Sat, 05 Nov 2016 23:30:38 +0100 Message-ID: <87y40x8sq9.fsf@elephly.net> References: <87mvjc1quq.fsf@openmailbox.org> <87lgywzg40.fsf@openmailbox.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43632) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c39UA-0001JM-59 for guix-devel@gnu.org; Sat, 05 Nov 2016 18:30:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c39U6-0006Vp-Uz for guix-devel@gnu.org; Sat, 05 Nov 2016 18:30:50 -0400 Received: from sender163-mail.zoho.com ([74.201.84.163]:21499) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1c39U6-0006Ue-Kq for guix-devel@gnu.org; Sat, 05 Nov 2016 18:30:46 -0400 In-reply-to: <87lgywzg40.fsf@openmailbox.org> 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: Lukas Gradl Cc: guix-devel@gnu.org Lukas Gradl writes: > From ad9397f36c7d4e8797c38a838f27079b8ba32631 Mon Sep 17 00:00:00 2001 > From: Lukas Gradl > 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