将最新版本的软件包与nix配合使用

问题描述

我正在尝试为我的应用设置一个依赖于asiofmt的nix构建脚本(暂时跳过第一个脚本,因为这是一个更复杂的故事)。它们不是最新的nix软件包,所以我不能简单地从那里获取它。

但是我意识到它基本上是另一个nix文件,应该可以将其嵌入到我的项目中,因此将在之前建立依赖关系。

我尝试将其嵌入default.nix文件中,但这种方式行不通。

with import <nixpkgs> {};


stdenv.mkDerivation rec {
  pname = "fmt";
  version = "7.0.3";

  outputs = [ "out" "dev" ];

  src = fetchFromGitHub {
    owner = "fmtlib";
    repo = "fmt";
    rev = version;
  };


  nativeBuildInputs = [ cmake ];

  cmakeFlags = [
    "-DBUILD_SHARED_LIBS=ON"
    "-DCMAKE_SKIP_BUILD_RPATH=OFF" # for tests
  ];
}

stdenv.mkDerivation {
  name = "my-app";
  src = ./.;

  buildInputs = [ fmt ];

  buildPhase = "c++ -o main main.cpp -lfmt";
}

如何安装该软件包的最新/所需版本?

如何组合多个派生并依赖它们?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)