我正在尝试为数据组数据库构建一个nix包。
以下是到目前为止的派生:
{ 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";
};
} URL:
https://my.datomic.com/downloads/free/0.9.5561是一个压缩文件,没有压缩扩展名,所以fetchurl抛出了以下错误:
unpacking source archive /nix/store/rrv926023hmbvcxc7r421mk1l0x1537c-0.9.5561
do not know how to unpack source archive /nix/store/rrv926023hmbvcxc7r421mk1l0x1537c-0.9.5561
builder for ‘/nix/store/bhmrgkjqbha5p5cf79xvqwkqwr3rfjfk-datomic-0.9.5561.drv’ failed with exit code 1对于如何获得这个源代码有什么建议吗?也许还可以添加一个*.zip扩展,这样它就可以自己解包了?
发布于 2018-01-09 23:04:47
默认情况下使用的通用构建器具有可配置阶段(source)。
您可以查看unpack phase,在其中您只需指定一个命令来解压下载的源代码(unpackCmd可能正是您想要的)。
或者,您可以只指定fetchurl的名称参数,并为下载的文件指定一个'*.zip‘名称(请参阅name argument)。
发布于 2018-01-09 15:35:24
似乎nixpkgs附带的通用构建器脚本不知道如何处理您的下载。您可以尝试使用自定义构建器shell脚本。只需在version之后编写类似builder = ./builder.sh;的代码,然后在builder.sh中编写shell脚本。脚本应该是这样的:
source $stdenv/setup
unzip $src
# more stuff您必须通过一次修复一条错误消息来自己弄清楚细节。
另注: Datomic不是开源的,所以我不会有一个名为src的变量。
https://stackoverflow.com/questions/48161645
复制相似问题