guix-devel
[Top][All Lists]
Advanced

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

Re: Packaging Jami (ex GNU Ring)


From: Pierre Neidhardt
Subject: Re: Packaging Jami (ex GNU Ring)
Date: Thu, 10 Jan 2019 21:13:08 +0100
User-agent: mu4e 1.0; emacs 26.1

> Now I'm onto pjproject.  I'll publish my work later today and if I get stuck
> then everyone is welcome to look into it :D

OK, I'm making progress.  I've pushed some updates on master.

So basically all we need at this stage, I think, is a
an up-to-date, patched definition of pjproject.

The patches are available there:
https://git.ring.cx/savoirfairelinux/ring-daemon/tree/master/contrib/src/pjproject

Lukas, Adonay and Tim have worked on it already, but it needs to be fixed and 
updated.

Then the following libring definition should do:

--8<---------------cut here---------------start------------->8---
(define-public libring
  (let ((pj-version "2.7.2"))
    (package
      (name "libring")
      (version "20190108.1.8659b2c")
      (source
       (origin
         (method url-fetch)
         (uri (string-append "http://dl.ring.cx/ring-release/tarballs/ring_";
                             version
                             ".tar.gz"))
         (modules '((guix build utils)))
         (snippet
          '(begin
             (delete-file-recursively "daemon/contrib")))
         (sha256
          (base32
           "1kvkxxwfl5wh9jrd0v8nbgdby8afg4w6allp1aww2a6xl4q7lwxf"))))
      (build-system gnu-build-system)
      (inputs
       ;; From 
https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/ring-daemon,
       ;; 'libnatpmp', 'expat' might be missing.
       `(("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)
         ("libva" ,libva)
         ("opendht" ,opendht)
         ("opus" ,opus)
         ("pcre" ,pcre)
         ("pulseaudio" ,pulseaudio)
         ("libsamplerate" ,libsamplerate)
         ("libsndfile" ,libsndfile)
         ("speex" ,speex)
         ("speexdsp" ,speexdsp)
         ("libupnp" ,libupnp)
         ("libvorbis" ,libvorbis)
         ("libx264" ,libx264)
         ("libvdpau" ,libvdpau)
         ("yaml-cpp" ,yaml-cpp)
         ("zlib" ,zlib)
         ;; TODO: These were added by adfeno here for now, please fix this if
         ;; this isn't the right place for them,
         ;; ("crypto++" ,crypto++)
         ;; ("gnutls" ,gnutls)
         ("openssl" ,openssl)
         ("libsecp256k1" ,libsecp256k1)
         ("python" ,python)
         ("python-wrapper" ,python-wrapper)
         ("restbed" ,restbed)
         ("libx11" ,libx11)
         ;; TODO: Upstream seems to rely on a custom pjproject (a.k.a. pjsip) 
version.
         ;; See https://git.ring.cx/savoirfairelinux/ring-daemon/issues/24.
         ("pjproject" ,pjproject-jami)))
      (native-inputs
       `(("autoconf" ,autoconf)
         ("automake" ,automake)
         ("libtool" ,libtool)
         ("pkg-config" ,pkg-config)
         ("which" ,which)
         ("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-after 'unpack 'change-directory
             (lambda* (#:key inputs #:allow-other-keys)
               (chdir "daemon")
               #t))
           (add-before 'build 'add-lib-dir
             (lambda _
               (mkdir "src/lib")
               #t)))))
      (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://jami.net/";)
      (license license:gpl3+))))
--8<---------------cut here---------------end--------------->8---



reply via email to

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