aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/networking.scm228
1 files changed, 116 insertions, 112 deletions
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index e62f3d2ecb..35779460a3 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3848,117 +3848,121 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
(replace "llhttp" http-parser)))))
(define-public opendht
- (package
- (name "opendht")
- (version "3.1.11")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/savoirfairelinux/opendht")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "05zli0c14wg5dafw12xjhnva0rlsm3dgiksn6n9g8ab990d915ll"))))
- (outputs '("out" "python" "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))
- #:configure-flags
- #~(list "--disable-static" ;to reduce size
- "--enable-tests"
- "--enable-proxy-server"
- "--enable-push-notifications"
- "--enable-proxy-server-identity"
- "--enable-proxy-client")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'disable-problematic-tests
- (lambda _
- ;; The dhtrunnertester test suite includes 'testListen', which
- ;; is sensitive to the performance/load of the machine it runs
- ;; on, introducing nondeterminism (see:
- ;; https://github.com/savoirfairelinux/opendht/issues/626).
- (substitute* "tests/Makefile.am"
- (("\\bdhtrunnertester\\.(h|cpp)\\b")
- ""))))
- (add-after 'unupack 'relax-test-timeouts
- (lambda _
- ;; At least the 'test_send_json' has been seen to fail
- ;; non-deterministically, but it seems hard to reproducible that
- ;; failure.
- (substitute* "tests/httptester.cpp"
- (("std::chrono::seconds\\(10)")
- "std::chrono::seconds(30)"))))
- (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:python)))))
- (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']")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "tests/opendht_unit_tests"))))
- (add-before 'bootstrap 'delete-autogen.sh
- (lambda _
- ;; The autogen.sh script lacks a shebang, cannot be executed
- ;; directly. Let the bootstrap phase invoke autoreconf itself.
- (delete-file "autogen.sh")))
- (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-cxx ;included in several installed headers
- restinio-0.6 ;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
- python))
- (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
+ ;; Temporarily use the latest commit, as the latest release lacks a 'detach'
+ ;; procedure used by a recent DhtNet, required by Jami.
+ (let ((commit "318d02c55a7061a771a632ff2224b0d195a80d42")
+ (revision "0"))
+ (package
+ (name "opendht")
+ (version (git-version "3.1.11" 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
+ "0d4m9bxvwa1pz8r0sfrjjyml4yp5v7n4vy8ad7k4hcryyvd5npb0"))))
+ (outputs '("out" "python" "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))
+ #:configure-flags
+ #~(list "--disable-static" ;to reduce size
+ "--enable-tests"
+ "--enable-proxy-server"
+ "--enable-push-notifications"
+ "--enable-proxy-server-identity"
+ "--enable-proxy-client")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'disable-problematic-tests
+ (lambda _
+ ;; The dhtrunnertester test suite includes 'testListen', which
+ ;; is sensitive to the performance/load of the machine it runs
+ ;; on, introducing nondeterminism (see:
+ ;; https://github.com/savoirfairelinux/opendht/issues/626).
+ (substitute* "tests/Makefile.am"
+ (("\\bdhtrunnertester\\.(h|cpp)\\b")
+ ""))))
+ (add-after 'unupack 'relax-test-timeouts
+ (lambda _
+ ;; At least the 'test_send_json' has been seen to fail
+ ;; non-deterministically, but it seems hard to reproducible that
+ ;; failure.
+ (substitute* "tests/httptester.cpp"
+ (("std::chrono::seconds\\(10)")
+ "std::chrono::seconds(30)"))))
+ (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:python)))))
+ (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']")))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "tests/opendht_unit_tests"))))
+ (add-before 'bootstrap 'delete-autogen.sh
+ (lambda _
+ ;; The autogen.sh script lacks a shebang, cannot be executed
+ ;; directly. Let the bootstrap phase invoke autoreconf itself.
+ (delete-file "autogen.sh")))
+ (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-cxx ;included in several installed headers
+ restinio-0.6 ;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
+ python))
+ (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:
@@ -3981,7 +3985,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 dhtnet
;; There is no tag nor release; use the latest available commit.