首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构建nix包

构建nix包
EN

Stack Overflow用户
提问于 2018-01-09 12:55:29
回答 2查看 952关注 0票数 0

我正在尝试为数据组数据库构建一个nix包。

以下是到目前为止的派生:

代码语言:javascript
复制
{ 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:

代码语言:javascript
复制
https://my.datomic.com/downloads/free/0.9.5561

是一个压缩文件,没有压缩扩展名,所以fetchurl抛出了以下错误:

代码语言:javascript
复制
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扩展,这样它就可以自己解包了?

EN

回答 2

Stack Overflow用户

发布于 2018-01-09 23:04:47

默认情况下使用的通用构建器具有可配置阶段(source)。

您可以查看unpack phase,在其中您只需指定一个命令来解压下载的源代码(unpackCmd可能正是您想要的)。

或者,您可以只指定fetchurl的名称参数,并为下载的文件指定一个'*.zip‘名称(请参阅name argument)。

票数 1
EN

Stack Overflow用户

发布于 2018-01-09 15:35:24

似乎nixpkgs附带的通用构建器脚本不知道如何处理您的下载。您可以尝试使用自定义构建器shell脚本。只需在version之后编写类似builder = ./builder.sh;的代码,然后在builder.sh中编写shell脚本。脚本应该是这样的:

代码语言:javascript
复制
source $stdenv/setup

unzip $src

# more stuff

您必须通过一次修复一条错误消息来自己弄清楚细节。

另注: Datomic不是开源的,所以我不会有一个名为src的变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48161645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档