mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: Add cpp-httplib.
* gnu/packages/cpp.scm (cpp-httplib): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
49bb544b77
commit
ed4dd53b1e
1 changed files with 62 additions and 1 deletions
|
@ -18,7 +18,7 @@
|
||||||
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
|
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
|
||||||
;;; Copyright © 2020 Milkey Mouse <milkeymouse@meme.institute>
|
;;; Copyright © 2020 Milkey Mouse <milkeymouse@meme.institute>
|
||||||
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
|
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
|
||||||
|
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -66,6 +66,7 @@
|
||||||
#:use-module (gnu packages maths)
|
#:use-module (gnu packages maths)
|
||||||
#:use-module (gnu packages onc-rpc)
|
#:use-module (gnu packages onc-rpc)
|
||||||
#:use-module (gnu packages perl)
|
#:use-module (gnu packages perl)
|
||||||
|
#:use-module (gnu packages python)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages popt)
|
#:use-module (gnu packages popt)
|
||||||
#:use-module (gnu packages pretty-print)
|
#:use-module (gnu packages pretty-print)
|
||||||
|
@ -556,6 +557,66 @@ tools:
|
||||||
@end itemize\n")
|
@end itemize\n")
|
||||||
(license license:bsd-3)))
|
(license license:bsd-3)))
|
||||||
|
|
||||||
|
(define-public cpp-httplib
|
||||||
|
;; this package is not graftable, as everything is implemented in a single
|
||||||
|
;; header
|
||||||
|
(package
|
||||||
|
(name "cpp-httplib")
|
||||||
|
(version "0.8.8")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/yhirose/cpp-httplib")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(sha256
|
||||||
|
(base32 "0c0gyfbvm34bgrqy9fhfxw1f8nb9zhf063j7xq91k892flb7qm1c"))
|
||||||
|
(file-name (git-file-name name version))))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:configure-flags
|
||||||
|
'("-DBUILD_SHARED_LIBS=ON"
|
||||||
|
"-DHTTPLIB_COMPILE=ON"
|
||||||
|
"-DHTTPLIB_REQUIRE_BROTLI=ON"
|
||||||
|
"-DHTTPLIB_REQUIRE_OPENSSL=ON"
|
||||||
|
"-DHTTPLIB_REQUIRE_ZLIB=ON")
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'disable-network-tests
|
||||||
|
(lambda _
|
||||||
|
(for-each
|
||||||
|
(lambda (test)
|
||||||
|
(substitute* "test/test.cc"
|
||||||
|
(((string-append "\\(" test))
|
||||||
|
(string-append "(DISABLED_" test))))
|
||||||
|
;; There are tests requiring network access, disable them
|
||||||
|
'("AbsoluteRedirectTest" "BaseAuthTest" "CancelTest"
|
||||||
|
"ChunkedEncodingTest" "ChunkedEncodingTest"
|
||||||
|
"DecodeWithChunkedEncoding" "DefaultHeadersTest"
|
||||||
|
"DigestAuthTest" "HttpsToHttpRedirectTest"
|
||||||
|
"RangeTest" "RedirectTest" "RelativeRedirectTest"
|
||||||
|
"SSLClientTest" "SendAPI" "TooManyRedirectTest" "UrlWithSpace"
|
||||||
|
"YahooRedirectTest" "YahooRedirectTest"))))
|
||||||
|
(replace 'check
|
||||||
|
(lambda* (#:key source tests? #:allow-other-keys)
|
||||||
|
;; openssl genrsa wants to write a file in the git checkout
|
||||||
|
(when tests?
|
||||||
|
(with-directory-excursion "../source/test"
|
||||||
|
(invoke "make"))))))))
|
||||||
|
(native-inputs
|
||||||
|
;; required to build shared lib
|
||||||
|
`(("python" ,python)))
|
||||||
|
(inputs
|
||||||
|
`(("brotli" ,brotli)
|
||||||
|
("openssl" ,openssl)
|
||||||
|
("zlib" ,zlib)))
|
||||||
|
(home-page "https://github.com/yhirose/cpp-httplib")
|
||||||
|
(synopsis "C++ HTTP/HTTPS server and client library")
|
||||||
|
(description "cpp-httplib is a C++11 single-file cross platform blocking
|
||||||
|
HTTP/HTTPS library, easy to setup. It can also be used as a single-header
|
||||||
|
library.")
|
||||||
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public cpplint
|
(define-public cpplint
|
||||||
(package
|
(package
|
||||||
(name "cpplint")
|
(name "cpplint")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue