我正在尝试为数据库数据库构建一个nix包。
这是迄今为止的推导:
See system requirements
网址:
{ stdenv, fetchurl, unzip }:
stdenv.mkDerivation rec {
name = "datomic-${version}";
version = "0.9.5561";
src = fetchurl {
url = "https://my.datomic.com/downloads/free/${version}";
sha256 = "145c3yx9ylmvvxmwgk2s14cdirxasdlglq3vs9qsnhyaz5jp1xjh";
};
}
是一个zip文件,没有zip扩展名,因此https://my.datomic.com/downloads/free/0.9.5561
会抛出以下错误:
fetchurl
有关如何获取此源代码的任何建议,也许还有* .zip扩展名,以便它可以自行解压缩?
答案 0 :(得分:1)
默认情况下使用的通用构建器具有可配置的阶段(source)。
您可以查看unpack phase,其中您可以指定解压缩下载源的命令(unpackCmd
可能正是您想要的那样)。
或者看起来您只需指定fetchurl
的名称参数,并将下载的文件设为' * .zip'姓名(见name argument)。
答案 1 :(得分:0)
似乎nixpkgs附带的通用构建器脚本并不知道如何处理下载。您可以尝试使用自定义构建器shell脚本。只需在builder = ./builder.sh;
之后写version
之类的内容,然后在builder.sh
中编写一个shell脚本。脚本应该是这样的:
source $stdenv/setup
unzip $src
# more stuff
您必须通过一次修复一条错误消息来自行了解详细信息。
P.S。 Datomic不是开源的,因此我没有名为src
的变量。