;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
-;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016 Benz Schenk <benz.schenk@uzh.ch>
;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2018 Adam Van Ymeren <adam@vany.ca>
;;; Copyright © 2018 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
- #:use-module (gnu packages databases)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages documentation)
#:use-module (gnu packages flex)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages nettle)
+ #:use-module (gnu packages password-utils)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages serialization)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
'check 'disable-checkconf-test
(lambda _
(substitute* "src/Makefile"
- (("^TESTS = .*") "TESTS = \n")))))))
+ (("^TESTS = .*") "TESTS = \n"))
+ #t)))))
(home-page "http://www.remlab.net/miredo/")
(synopsis "Teredo IPv6 tunneling software")
(description
(substitute* "scaffold.c"
(("extern char .malloc.*;") ""))
;; This, believe it or not, is the recommended way to build!
- (zero? (system* "make" "REAL_DAEMON_DIR=/etc" "linux"))))
+ (invoke "make" "REAL_DAEMON_DIR=/etc" "linux")))
;; There is no make install stage, so we have to do it ourselves.
(replace 'install
(lambda _
(for-each
(lambda (x)
(install-file x (string-append out "/bin/")))
- bins)))))))
+ bins))
+ #t)))))
(home-page "http://www.porcupine.org")
(synopsis "Monitor and filter incoming requests for network services")
(description "With this package you can monitor and filter incoming requests for
;; librdkafka++.so lacks RUNPATH for librdkafka.so
(setenv "LDFLAGS"
(string-append "-Wl,-rpath=" out "/lib"))
- (zero? (system* "./configure"
- (string-append "--prefix=" out)))))))))
+ (invoke "./configure"
+ (string-append "--prefix=" out))))))))
(native-inputs
`(("python" ,python-wrapper)))
(propagated-inputs
(bin (string-append out "/bin")))
(mkdir-p bin)
(copy-file "ifstatus"
- (string-append bin "/ifstatus"))))))))
+ (string-append bin "/ifstatus")))
+ #t)))))
(inputs `(("ncurses" ,ncurses)))
(home-page "http://ifstatus.sourceforge.net/graphic/index.html")
(synopsis "Text based network interface status monitor")
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/tun.c"
(("PATH=[^ ]* ")
- (string-append (assoc-ref inputs "net-tools") "/bin/")))))
+ (string-append (assoc-ref inputs "net-tools") "/bin/")))
+ #t))
(add-before 'check 'delete-failing-tests
;; Avoid https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802105.
(lambda _
(substitute* "tests/common.c"
(("tcase_add_test\\(tc, \
test_parse_format_ipv(4(|_listen_all|_mapped_ipv6)|6)\\);")
- "")))))
+ ""))
+ #t)))
#:make-flags (list "CC=gcc"
(string-append "prefix=" (assoc-ref %outputs "out")))
#:test-target "test"))
(define-public whois
(package
(name "whois")
- (version "5.3.2")
+ (version "5.4.0")
(source
(origin
(method url-fetch)
name "_" version ".tar.xz"))
(sha256
(base32
- "0m3352d5b0ragygbqjbaimghrbx4va2rixa34j5a1g3jj6l4nwbr"))))
+ "0y73b3z1akni620s1hlrijwdrk95ca1c8csjds48vpd6z86awx9p"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
(define-public wireshark
(package
(name "wireshark")
- (version "2.6.2")
+ (version "2.6.5")
(source
(origin
(method url-fetch)
version ".tar.xz"))
(sha256
(base32
- "153h6prxamv5a62f3pfadkry0y57696xrgxfy2gfy5xswdg8kcj9"))))
+ "12j3fw0j8qcr86c1vsz4bsb55j9inp0ll3wjjdvg1cj4hmwmn5ck"))))
(build-system gnu-build-system)
(inputs `(("c-ares" ,c-ares)
("glib" ,glib)
(define-public fping
(package
(name "fping")
- (version "4.0")
+ (version "4.1")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "1kp81wchi79l8z8rrj602fpjrd8bi84y3i7fsaclzlwap5943sv7"))))
+ "0wxbvm480vij8dy4v1pi8f0c7010rx6bidg3qhsvkdf2ijhy4cr7"))))
(build-system gnu-build-system)
- (home-page "http://fping.org/")
+ (home-page "https://fping.org/")
(synopsis "Send ICMP ECHO_REQUEST packets to network hosts")
(description
"fping is a ping like program which uses the Internet Control Message
fashion.")
(license license:expat)))
+(define-public gandi.cli
+ (package
+ (name "gandi.cli")
+ (version "1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri name version))
+ (sha256
+ (base32 "0vfzkw1avybjkf6fwqpf5m4kjz4c0qkkmj62f3jd0zx00vh5ly1d"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'embed-store-file-names
+ (lambda _
+ (substitute* (list "gandi/cli/modules/cert.py"
+ "gandi/cli/tests/commands/test_certificate.py")
+ (("openssl") (which "openssl")))
+ #t))
+ (add-after 'install 'install-documentation
+ ;; The included man page may be outdated but we install it anyway,
+ ;; since it's mentioned in 'gandi --help' and better than nothing.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (man1 (string-append out "/share/man/man1")))
+ (mkdir-p man1)
+ (with-output-to-file (string-append man1 "/gandi.1")
+ (lambda _
+ (invoke "rst2man.py" "gandicli.man.rst")))
+ #t))))))
+ (native-inputs
+ `(("python-docutils" ,python-docutils) ; for rst2man.py
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-tox" ,python-tox)))
+ (inputs
+ `(("openssl" ,openssl)
+ ("python-click" ,python-click)
+ ("python-ipy" ,python-ipy)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-requests" ,python-requests)))
+ (home-page "https://cli.gandi.net")
+ (synopsis "Command-line interface to the Gandi.net Web API")
+ (description
+ "This package provides a command-line client (@command{gandi}) to buy,
+manage, and delete Internet resources from Gandi.net such as domain names,
+virtual machines, and certificates.")
+ (license license:gpl3+)))
+
(define-public httping
(package
(name "httping")
(("ENV_CURL_BIN.get\\('curl'\\)")
(string-append "ENV_CURL_BIN.get('"
(assoc-ref inputs "curl")
- "/bin/curl')"))))))))
+ "/bin/curl')")))
+ #t)))))
(home-page "https://github.com/reorx/httpstat")
(synopsis "Visualize curl statistics")
(description
(define-public aircrack-ng
(package
(name "aircrack-ng")
- (version "1.2-rc4")
+ (version "1.3")
(source
(origin
(method url-fetch)
- (uri (string-append "http://download.aircrack-ng.org/aircrack-ng-"
+ (uri (string-append "https://download.aircrack-ng.org/aircrack-ng-"
version ".tar.gz"))
(sha256
(base32
- "0dpzx9kddxpgzmgvdpl3rxn0jdaqhm5wxxndp1xd7d75mmmc2fnr"))))
+ "1jl30d0kibc82447fr3lgw75arik0l9729k94z76l7vl51y8mq4a"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ("which" ,which)))
(inputs
`(("libgcrypt" ,libgcrypt)
("libnl" ,libnl)
+ ("libpcap" ,libpcap)
("ethtool" ,ethtool)
("pcre" ,pcre)
("sqlite" ,sqlite)
("zlib" ,zlib)))
(arguments
- `(#:make-flags `("sqlite=true"
- "gcrypt=true"
- "libnl=true"
- "pcre=true"
- "experimental=true" ;build wesside-ng, etc.
- "AVX2FLAG=N" "AVX1FLAG=N"
- ,,@(match (%current-system)
- ((or "x86_64-linux" "i686-linux")
- `("SSEFLAG=Y"))
- (_
- `("NEWSSE=false")))
- ,(string-append "prefix=" %output))
+ `(#:configure-flags
+ (list "--with-experimental=yes" ; build wesside-ng, etc.
+ "--with-gcrypt") ; openssl's the default
#:phases (modify-phases %standard-phases
- (delete 'configure) ;no configure phase
+ (add-before 'bootstrap 'patch-evalrev
+ (lambda _
+ ;; Called by ./autogen.sh below, before the default
+ ;; ‘patch-shebangs’ phase has had a chance to run.
+ (substitute* "evalrev"
+ (("/bin/sh")
+ (which "sh")))
+ #t))
+ (replace 'bootstrap
+ (lambda _
+ ;; Patch shebangs in generated files before running
+ ;; ./configure.
+ (setenv "NOCONFIGURE" "please")
+ (invoke "bash" "./autogen.sh")))
(add-after 'build 'absolutize-tools
(lambda* (#:key inputs #:allow-other-keys)
(let ((ethtool (string-append (assoc-ref inputs "ethtool")
"/sbin/ethtool")))
(substitute* "scripts/airmon-ng"
- (("\\[ ! -x \"\\$\\(command -v ethtool 2>&1)\" \\]")
- (string-append "! " ethtool " --version "
- ">/dev/null 2>&1"))
- (("\\$\\(ethtool")
- (string-append "$(" ethtool)))
+ (("ethtool ")
+ (string-append ethtool " ")))
#t))))))
- (home-page "http://www.aircrack-ng.org")
+ (home-page "https://www.aircrack-ng.org")
(synopsis "Assess WiFi network security")
(description
"Aircrack-ng is a complete suite of tools to assess WiFi network
(define-public perl-net-dns
(package
(name "perl-net-dns")
- (version "1.17")
+ (version "1.18")
(source
(origin
(method url-fetch)
version ".tar.gz")))
(sha256
(base32
- "1q62w9rf2w8kjzqagzr0rdn20ybl8gj3l6cdq4k8fw0sxa7zsycs"))))
+ "1lx902cbvlfl63bqfdrnyavmfwbjvrfdnwgdc1dgs1wpzja19kjj"))))
(build-system perl-build-system)
(inputs
`(("perl-digest-hmac" ,perl-digest-hmac)))
(define-public perl-socket6
(package
(name "perl-socket6")
- (version "0.28")
+ (version "0.29")
(source
(origin
(method url-fetch)
".tar.gz"))
(sha256
(base32
- "11j5jzqbzmwlws9zals43ry2f1nw9qy6im7yhn9ck5rikywrmm5z"))))
+ "054izici8klfxs8hr5rljib28plijpsfymy99xbzdp047bx1b2a6"))))
(build-system perl-build-system)
(arguments
`(#:phases
,(string-append "PREFIX=" out)
"INSTALLDIRS=site")))
(setenv "CONFIG_SHELL" (which "sh"))
- (zero? (apply system* "perl" args))))))))
+ (apply invoke "perl" args)))))))
(home-page "https://metacpan.org/release/Socket6")
(synopsis
"IPv6 related part of the C socket.h defines and structure manipulators for Perl")
,(string-append "PREFIX=" out)
"INSTALLDIRS=site")))
(setenv "CONFIG_SHELL" (which "sh"))
- (zero? (apply system* "perl" args))))))))
+ (apply invoke "perl" args)))))))
(home-page
"https://metacpan.org/release/NetAddr-IP")
(synopsis
(modify-phases %standard-phases
(replace 'check
(lambda _
- (zero? (system* "ctest" "-E" "url-test")))))))
+ (invoke "ctest" "-E" "url-test"))))))
(synopsis "Library providing automatic proxy configuration management")
(description "Libproxy handles the details of HTTP/HTTPS proxy
configuration for applications across all scenarios. Applications using
(modify-phases %standard-phases
(replace 'install
(lambda _
- (zero? (system* "make"
- ;; Don't try to create directories under /var.
- "RUNDIR=/tmp"
- "PKIDIR=/tmp"
- "LOGDIR=/tmp"
- "DBDIR=/tmp"
- "install")))))))
+ (invoke "make"
+ ;; Don't try to create directories under /var.
+ "RUNDIR=/tmp"
+ "PKIDIR=/tmp"
+ "LOGDIR=/tmp"
+ "DBDIR=/tmp"
+ "install"))))))
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
(define-public libnet
(package
(name "libnet")
- (version "1.1.6")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/sam-github/libnet/"
- "archive/libnet-" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0l4gbzzvr199fzczzricjz7b825i7dlk6sgl5p5alnkcagmq0xys"))))
+ (version "1.2-rc3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sam-github/libnet")
+ (commit (string-append "libnet-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0cy8w4g5rv963v4p6iq3333kxgdddx2lywp70xf62553a25xhhs4"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(lambda _ (chdir "libnet") #t))
(add-before 'build 'build-doc
(lambda* (#:key make-flags #:allow-other-keys)
- (zero? (apply system* "make" "-C" "doc" "doc"
- make-flags)))))))
+ (apply invoke "make" "-C" "doc" "doc"
+ make-flags))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
(name "amule")
(version "2.3.2")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/amule-project/amule/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/amule-project/amule")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1wvcj0n9xz03xz5c2xwp6dwfp7sqjhhwbki3m0lwikskpn9lkzk2"))
+ "010wxm6g9f92x6fympj501zbnjka32rzbx0sk3a2y4zpih5d2nsn"))
;; Patch for adopting crypto++ >= 6.0.
(patches (search-patches "amule-crypto-6.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
+ (delete 'bootstrap) ; bootstrap phase runs too early.
(add-after 'patch-source-shebangs 'autogen
(lambda _
(invoke "sh" "autogen.sh")
(list (string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
"/lib")
- "--with-logfile=/var/log/snmpd.log")
+ "--with-logfile=/var/log/snmpd.log"
+ (string-append "--with-openssl="
+ (assoc-ref %build-inputs "openssl")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
between various technologies. Currently, bridging between UDP tunnels,
Ethernet and TAP interfaces is supported. Packet capture is also supported.")
(license license:gpl3+)))
+
+(define-public hcxtools
+ (let* ((commit "2ecfc9a06c2028c47522ea566ccd82b2c1f94647"))
+ (package
+ (name "hcxtools")
+ (version (git-version "0.0.0" "1" commit))
+ (home-page "https://github.com/ZerBea/hcxtools")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (sha256
+ (base32
+ "1hzwrpmxjxl674if0pp5iq06mdi24k7ni7bh1h20isp4s40201n3"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("curl" ,curl)
+ ("libpcap" ,libpcap)
+ ("openssl" ,openssl)
+ ("zlib" ,zlib)))
+ (arguments
+ `(#:make-flags (list "CC=gcc"
+ (string-append "INSTALLDIR=" (assoc-ref %outputs "out") "/bin"))
+ #:tests? #f ;no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'set-environment
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "C_INCLUDE_PATH"
+ (string-append (assoc-ref inputs "curl")
+ "/include:"
+ (assoc-ref inputs "libpcap")
+ "/include:"
+ (assoc-ref inputs "openssl")
+ "/include:"
+ (assoc-ref inputs "zlib")
+ "/include:"
+ (getenv "C_INCLUDE_PATH")))
+ #t)))))
+ (synopsis "Capture wlan traffic to hashcat and John the Ripper")
+ (description
+ "This package contains a small set of tools to capture and convert
+packets from wireless devices for use with hashcat or John the Ripper.")
+ (license license:expat))))
+
+(define-public hcxdumptool
+ (let* ((commit "f4799b5da82c5b030a6d99b02d1c1b9dc838ad36"))
+ (package
+ (name "hcxdumptool")
+ (version (git-version "0.0.0" "1" commit))
+ (home-page "https://github.com/ZerBea/hcxdumptool")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (sha256
+ (base32
+ "0qlsin0rws9sshn12faq4spmd0ffzssal36s71vhv6gkhhga7abl"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags (list "CC=gcc"
+ (string-append "INSTALLDIR=" (assoc-ref %outputs "out") "/bin"))
+ #:tests? #f ;no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (synopsis "Small tool to capture packets from wlan devices")
+ (description
+ "Small tool to capture packets from WLAN devices. After capturing,
+upload the \"uncleaned\" cap to @url{https://wpa-sec.stanev.org/?submit} to
+see if the access point or the client is vulnerable to a dictionary attack.
+Convert the cap file to hccapx format and/or to WPA-PMKID-PBKDF2
+hashline (16800) with @command{hcxpcaptool} from the @code{hcxtools} package
+and check if the WLAN key or the master key was transmitted unencrypted.")
+ (license license:expat))))
+
+(define-public dante
+ (package
+ (name "dante")
+ (version "1.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.inet.no/dante/files/dante-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "19rqzj167q73ag20zxpvswhkk0bj56r5maf83v5016sw7vrcz5sc"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; XXX: The dynamic socks library doesn't work with 'libc.so' (GNU ld
+ ;; script). When preloading is enabled, 'sockd' failed with:
+ ;; … Failed to open library "libc.so": …: invalid ELF header
+ '(#:configure-flags '("--disable-preload")))
+ (home-page "https://www.inet.no/dante/")
+ (synopsis "SOCKS server and client")
+ (description "Dante is a SOCKS client and server implementation. It can
+be installed on a machine with access to an external TCP/IP network and will
+allow all other machines, without direct access to that network, to be relayed
+through the machine the Dante server is running on. The external network will
+never see any machines other than the one Dante is running on.")
+ (license (license:non-copyleft "file://LICENSE"))))
+
+(define-public restbed
+ (let ((commit "6eb385fa9051203f28bf96cc1844bbb5a9a6481f"))
+ (package
+ (name "restbed")
+ (version (git-version "4.6" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Corvusoft/restbed/")
+ (commit commit)))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0k60i5drklqqrb4khb25fzkgz9y0sncxf1sp6lh2bm1m0gh0661n"))))
+ (build-system cmake-build-system)
+ (inputs
+ `(("asio" ,asio)
+ ("catch" ,catch-framework)
+ ("openssl" ,openssl)))
+ (arguments
+ `(#:tests? #f
+ #:configure-flags
+ '("-DBUILD_TESTS=NO"
+ "-DBUILD_EXAMPLES=NO"
+ "-DBUILD_SSL=NO"
+ "-DBUILD_SHARED=NO")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'apply-patches-and-fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((asio (assoc-ref inputs "asio"))
+ (catch (assoc-ref inputs "catch"))
+ (openssl (assoc-ref inputs "openssl")))
+ (substitute* "cmake/Findasio.cmake"
+ (("(find_path\\( asio_INCLUDE asio\\.hpp HINTS ).*$" all begin)
+ (string-append begin " \"" asio "/include\" )")))
+ (substitute* "cmake/Findcatch.cmake"
+ (("(find_path\\( catch_INCLUDE catch\\.hpp HINTS ).*$" all begin)
+ (string-append begin " \"" catch "/include\" )")))
+ (substitute* "cmake/Findopenssl.cmake"
+ (("(find_library\\( ssl_LIBRARY ssl ssleay32 HINTS ).*$" all begin)
+ (string-append begin " \"" openssl "/lib\" )"))
+ (("(find_library\\( crypto_LIBRARY crypto libeay32 HINTS ).*$" all begin)
+ (string-append begin " \"" openssl "/lib\" )"))
+ (("(find_path\\( ssl_INCLUDE openssl/ssl\\.h HINTS ).*$" all begin)
+ (string-append begin " \"" openssl "/include\" )")))))))))
+ (synopsis "Asynchronous RESTful functionality to C++11 applications")
+ (description "Restbed is a comprehensive and consistent programming
+model for building applications that require seamless and secure
+communication over HTTP.")
+ (home-page "https://github.com/Corvusoft/restbed")
+ (license license:agpl3+))))
+
+(define-public opendht
+ (package
+ (name "opendht")
+ (version "1.8.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/savoirfairelinux/opendht.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0vninb5mak27wigajslyvr05vq7wbrwqhbr4wzl2nmqcb20wmlq2"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("gnutls" ,gnutls)
+ ("nettle" ,nettle)
+ ("readline" ,readline)
+ ("jsoncpp" ,jsoncpp)
+ ("restbed" ,restbed)))
+ (propagated-inputs
+ `(("argon2" ,argon2) ; TODO: Needed for the pkg-config .pc file to work?
+ ("msgpack" ,msgpack))) ;included in several installed headers
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("pkg-config" ,pkg-config)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
+ (arguments
+ `(#:configure-flags '("--disable-tools"
+ "--disable-python"
+ "--with-argon2")))
+ (home-page "https://github.com/savoirfairelinux/opendht/")
+ (synopsis "Distributed Hash Table (DHT) library")
+ (description "OpenDHT is a Distributed Hash Table (DHT) library. It may
+be used to manage peer-to-peer network connections as needed for real time
+communication.")
+ (license license:gpl3+)))