From 59001c4f9156139ca86b3b067d8b04e88f280972 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 8 Mar 2022 13:21:20 -0500 Subject: gnu: opendht: Update to 2.3.4. * gnu/packages/networking.scm (opendht): Update to 2.3.4. --- gnu/packages/networking.scm | 169 +++++++++++++++++++++----------------------- 1 file changed, 82 insertions(+), 87 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 11f1cad007..b45f2f79f2 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -3396,92 +3396,87 @@ and targeted primarily for asynchronous processing of HTTP-requests.") (license license:bsd-3))) (define-public opendht - ;; The version/commit is kept in sync with what Jami uses in its daemon - ;; contrib build system (see: - ;; https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/opendht/rules.mak). - (let ((commit "dbbfdaab0f4119abf79646313e0dbc52881dcd56") - (revision "0")) - (package - (name "opendht") - (version (git-version "2.3.1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/savoirfairelinux/opendht") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "07x8vw999qpfl6qwj5k5l2mcjy1vp32sd567f6imbsnh9vlx2bdv")))) - (outputs '("out" "tools" "debug")) - (build-system gnu-build-system) - (arguments - (list - #:imported-modules `((guix build python-build-system) ;for site-packages - ,@%gnu-build-system-modules) - #:modules '(((guix build python-build-system) #:prefix python:) - (guix build gnu-build-system) - (guix build utils)) - #:tests? #f ;tests require networking - #:configure-flags - #~(list "--enable-tests" - "--enable-proxy-server" - "--enable-push-notifications" - "--enable-proxy-server-identity" - "--enable-proxy-client") - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'fix-python-installation-prefix - ;; Specify the installation prefix for the compiled Python module - ;; that would otherwise attempt to installs itself to Python's own - ;; site-packages directory. - (lambda _ - (substitute* "python/Makefile.am" - (("--root=\\$\\(DESTDIR)/") - (string-append "--root=/ --single-version-externally-managed " - "--prefix=" #$output))))) - (add-after 'unpack 'specify-runpath-for-python-module - (lambda _ - (substitute* "python/setup.py.in" - (("extra_link_args=\\[(.*)\\]" _ args) - (string-append "extra_link_args=[" args - ", '-Wl,-rpath=" #$output "/lib']"))))) - (add-after 'install 'move-and-wrap-tools - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((tools (assoc-ref outputs "tools")) - (dhtcluster (string-append tools "/bin/dhtcluster")) - (site-packages (python:site-packages inputs outputs))) - (mkdir tools) - (rename-file (string-append #$output "/bin") - (string-append tools "/bin")) - ;; TODO: Contribute a patch to python/Makefile.am to - ;; automate this. - (copy-file "python/tools/dhtcluster.py" dhtcluster) - (chmod dhtcluster #o555) - (wrap-program dhtcluster - `("GUIX_PYTHONPATH" prefix (,site-packages))))))))) - (inputs (list bash-minimal fmt readline)) - (propagated-inputs - (list msgpack ;included in several installed headers - restinio ;included in opendht/http.h - ;; The following are listed in the 'Requires.private' field of - ;; opendht.pc: - argon2 - gnutls - jsoncpp - nettle - openssl)) ;required for the DHT proxy - (native-inputs - (list autoconf - automake - pkg-config - python - python-cython - libtool - cppunit)) - (home-page "https://github.com/savoirfairelinux/opendht/") - (synopsis "Lightweight Distributed Hash Table (DHT) library") - (description "OpenDHT provides an easy to use distributed in-memory data + (package + (name "opendht") + (version "2.3.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/savoirfairelinux/opendht") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gp1wdpk50y0pcvlhqfw9vpms8lsrjvv63x4dh40axsvf2ix9lkj")))) + (outputs '("out" "tools" "debug")) + (build-system gnu-build-system) + (arguments + (list + #:imported-modules `((guix build python-build-system) ;for site-packages + ,@%gnu-build-system-modules) + #:modules '(((guix build python-build-system) #:prefix python:) + (guix build gnu-build-system) + (guix build utils)) + #:tests? #f ;tests require networking + #:configure-flags + #~(list "--enable-tests" + "--enable-proxy-server" + "--enable-push-notifications" + "--enable-proxy-server-identity" + "--enable-proxy-client") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-python-installation-prefix + ;; Specify the installation prefix for the compiled Python module + ;; that would otherwise attempt to installs itself to Python's own + ;; site-packages directory. + (lambda _ + (substitute* "python/Makefile.am" + (("--root=\\$\\(DESTDIR)/") + (string-append "--root=/ --single-version-externally-managed " + "--prefix=" #$output))))) + (add-after 'unpack 'specify-runpath-for-python-module + (lambda _ + (substitute* "python/setup.py.in" + (("extra_link_args=\\[(.*)\\]" _ args) + (string-append "extra_link_args=[" args + ", '-Wl,-rpath=" #$output "/lib']"))))) + (add-after 'install 'move-and-wrap-tools + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((tools (assoc-ref outputs "tools")) + (dhtcluster (string-append tools "/bin/dhtcluster")) + (site-packages (python:site-packages inputs outputs))) + (mkdir tools) + (rename-file (string-append #$output "/bin") + (string-append tools "/bin")) + ;; TODO: Contribute a patch to python/Makefile.am to + ;; automate this. + (copy-file "python/tools/dhtcluster.py" dhtcluster) + (chmod dhtcluster #o555) + (wrap-program dhtcluster + `("GUIX_PYTHONPATH" prefix (,site-packages))))))))) + (inputs (list bash-minimal fmt readline)) + (propagated-inputs + (list msgpack ;included in several installed headers + restinio ;included in opendht/http.h + ;; The following are listed in the 'Requires.private' field of + ;; opendht.pc: + argon2 + gnutls + jsoncpp + nettle + openssl)) ;required for the DHT proxy + (native-inputs + (list autoconf + automake + pkg-config + python + python-cython + libtool + cppunit)) + (home-page "https://github.com/savoirfairelinux/opendht/") + (synopsis "Lightweight Distributed Hash Table (DHT) library") + (description "OpenDHT provides an easy to use distributed in-memory data store. Every node in the network can read and write values to the store. Values are distributed over the network, with redundancy. It includes the following features: @@ -3504,7 +3499,7 @@ library (get, put, etc.) with text values. @item dhtchat A very simple IM client working over the DHT. @end table") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public frrouting (package -- cgit v1.2.3