diff --git a/gnu/packages/adns.scm b/gnu/packages/adns.scm index f6df825e7c..541612d41a 100644 --- a/gnu/packages/adns.scm +++ b/gnu/packages/adns.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 Ludovic Courtès ;;; Copyright © 2015, 2016, 2018 Efraim Flashner ;;; Copyright © 2018 Ricardo Wurmus +;;; Copyright © 2019 Marius Bakke ;;; ;;; 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))))) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index fc527363c0..ace52b4c9d 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -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