Merge branch 'master' into core-updates-frozen

This commit is contained in:
Ludovic Courtès 2021-09-07 11:04:44 +02:00
commit d9dfbf886d
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
258 changed files with 218381 additions and 180777 deletions

View file

@ -2,7 +2,7 @@
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
@ -19,7 +19,7 @@
;;; Copyright © 2020 Milkey Mouse <milkeymouse@meme.institute>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -46,6 +46,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix modules)
#:use-module (guix gexp)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
@ -66,6 +67,7 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages pretty-print)
@ -557,6 +559,66 @@ tools:
@end itemize\n")
(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
(package
(name "cpplint")
@ -1213,3 +1275,41 @@ of reading and writing XML.")
;; incompatible with the GPL v2. Refer to the file named FLOSSE for the
;; details.
(license license:gpl2+)))
(define-public jsonnet
(package
(name "jsonnet")
(version "0.17.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/jsonnet")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ddz14699v5lqx3dh0mb7hfffr6fk5zhmzn3z8yxkqqvriqnciim"))
(modules '((guix build utils)))
(snippet
#~(begin
(rename-file "third_party/md5" ".md5")
(delete-file-recursively "third_party")
(delete-file-recursively "doc/third_party")
(substitute* '("core/vm.cpp")
(("#include \"json.hpp\"") "#include <nlohmann/json.hpp>"))
(mkdir "third_party")
(rename-file ".md5" "third_party/md5")))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DUSE_SYSTEM_GTEST=ON" "-DUSE_SYSTEM_JSON=ON"
"-DBUILD_STATIC_LIBS=OFF")))
(native-inputs
`(("googletest" ,googletest)
("pkg-config" ,pkg-config)))
(inputs
`(("json-modern-cxx" ,json-modern-cxx)))
(home-page "https://jsonnet.org/")
(synopsis "Data templating language")
(description "Jsonnet is a templating language extending JSON
syntax with variables, conditions, functions and more.")
(license license:asl2.0)))