1

我正在尝试在 OS X 上将 libgrpc 构建为 nixpkg。它取决于 zlib、protobuf >= 3.0 和 openssl >= 1.0.2。

如何将这些版本指定为最低版本?两者都包含在官方频道中,并且都成功构建。

我对 nix 很陌生,这是我试图弄湿我的脚。现在,这就是我所拥有的default.nix

{ stdenv, fetchurl, zlib, openssl, protobuf }:

stdenv.mkDerivation rec {
  name = "libgrpc-0.10.1";

  src = fetchurl {
    url = "https://github.com/grpc/grpc/archive/release-0_10_1.tar.gz";
    sha256 = "2da8deef4fcc421ce8e9102e8531261b3c23073ab4d2bf459e549ed4e37b5ba1";
  };

  buildInputs = [zlib "openssl-1.0.2d" "protobuf-3.0.0-alpha-3.1"];

  meta = {
    homepage = "https://github.com/grpc/grpc/";
    version = "0.10.1";
    description = "A library for a RPC service based on HTTP/2 and protobuf";
    license = stdenv.lib.licenses.bsd3;
    platforms = [
      "i686-linux"
      "x86_64-linux"
      "x86_64-darwin"
      "i686-cygwin"
      "i686-freebsd"
      "x86_64-freebsd"
      "i686-openbsd"
      "x86_64-openbsd"
    ];
    downloadPage = "https://github.com/grpc/grpc/archive/release-0_10_1.tar.gz";
  };
}

我要么正在寻找一种在 nix 下构建 libgrpc > 0.10 的方法,要么正在寻找一种方法来定义需求的最低版本,以便我可以尝试自己解决这个问题。

谢谢!

4

1 回答 1

1

查看内部all-packages.nix显示这些版本可作为openssl_1_0_2protobuf3_0.

我仍然陷入 zlib 依赖问题,但我问的问题已经解决。

于 2015-08-14T13:33:26.597 回答