• # Empaqueter une dépendance manquante (avec Guix

    Posté par . En réponse à la dépêche Gestion de paquets et DevOps avec Nix, tour d’horizon sur un cas concret. Évalué à 3. Dernière modification le 28 janvier 2020 à 19:14.

    Nix

    { stdenv, fetchFromGitHub, cmake, boost, openssl, websocketpp, zlib }:
    stdenv.mkDerivation {
     name = "cpprestsdk";
     src = fetchFromGitHub {
     owner = "Microsoft";
     repo = "cpprestsdk";
     rev = "v2.10.14";
     sha256 = "0z1yblqszs7ig79l6lky02jmrs8zmpi7pnzns237p0w59pipzrvs";
     };
     buildInputs = [ boost cmake openssl websocketpp zlib ];
    }

    Guix

    (define-module (linuxfr)
     #:use-module (guix download)
     #:use-module (guix git-download)
     #:use-module (guix packages)
     #:use-module (guix build-system cmake)
     #:use-module (gnu packages tls)
     #:use-module (gnu packages compression))
    (define-public cpprestsdk
     (package
     (name "cpprestsdk")
     (version "v2.10.14")
     (source (origin
     (method git-fetch)
     (uri (git-reference
     (url "https://github.com/microsoft/cpprestsdk")
     (commit version)))
     (file-name (git-file-name name version))
     (sha256
     (base32 "0z1yblqszs7ig79l6lky02jmrs8zmpi7pnzns237p0w59pipzrvs"))))
     (build-system cmake-build-system)
     (native-inputs
     `(("websocketpp" ,my-websocketpp)
     ("boost" ,boost-old)
     ("openssl" ,openssl)
     ("zlib" ,zlib)))
     (arguments '(#:tests? #f
     ;; Warnings not always addressed by upstream, see:
     ;; https://github.com/microsoft/cpprestsdk/issues/724
     #:configure-flags '("-DWERROR=OFF")))
     (synopsis "C++ REST SDK by Microsoft")
     (description "The C++ REST SDK is a Microsoft project for cloud-based
    client-server communication in native code using a modern asynchronous C++ API
    design. This project aims to help C++ developers connect to and interact with
    services.")
     (home-page "https://github.com/microsoft/cpprestsdk")
     (license #f)))