Message ID | 87lgywzg40.fsf@openmailbox.org |
---|---|
State | New |
Headers | show |
Lukas Gradl <lgradl@openmailbox.org> writes: > From ad9397f36c7d4e8797c38a838f27079b8ba32631 Mon Sep 17 00:00:00 2001 > From: Lukas Gradl <lgradl@openmailbox.org> > 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
From ad9397f36c7d4e8797c38a838f27079b8ba32631 Mon Sep 17 00:00:00 2001 From: Lukas Gradl <lgradl@openmailbox.org> 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