gnu: gRPC: Re-add custom c-ares variant.

Commit e8393ebe46 updated c-ares without knowing
that cmake-build-system was the most important feature of 'c-ares-next'.

* gnu/packages/adns.scm (c-ares/cmake): New hidden package.
* gnu/packages/machine-learning.scm (grpc)[inputs]: Change C-ARES to C-ARES/CMAKE.
This commit is contained in:
Marius Bakke 2019-07-15 16:51:16 +02:00
parent d08482f03f
commit c1cb85bf76
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
2 changed files with 16 additions and 1 deletions

View file

@ -2,6 +2,7 @@
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -82,3 +83,17 @@ (define-public c-ares
The primary examples of such applications are servers which communicate with
multiple clients and programs with graphical user interfaces.")
(license (x11-style "https://c-ares.haxx.se/license.html"))))
;; gRPC requires a c-ares built with CMake in order to get the .cmake modules.
;; We can not build c-ares itself with CMake because that would introduce a
;; circular dependency through nghttp2.
;; XXX: It would be nice if we could extract the modules somehow and make them
;; work with the "normal" c-ares package instead of building a whole new library.
(define-public c-ares/cmake
(hidden-package
(package
(inherit c-ares)
(build-system cmake-build-system)
(arguments
`(;; XXX: Tests require name resolution (the normal variant runs no tests).
#:tests? #f)))))

View file

@ -1292,7 +1292,7 @@ (define-public grpc
"-DgRPC_SSL_PROVIDER=package"
"-DgRPC_PROTOBUF_PROVIDER=package")))
(inputs
`(("c-ares" ,c-ares)
`(("c-ares" ,c-ares/cmake)
("openssl" ,openssl)
("zlib" ,zlib)))
(native-inputs