2017-02-01 58 views
1

我需要修改configureFlagspcre包來自<nixpkgs>。 我試着描述here與.nixpkgs/config.nix文件來做到這一點:如何自定義<nixpkgs>包configureFlags

{ 
    packageOverrides = pkgs: rec { 
    pcre = pkgs.pcre.overrideDerivation (attrs: { 
     configureFlags = [ 
     "--disable-jit" 
     "--enable-unicode-properties" 
     "--disable-cpp" 
     ]; 
     doCheck = ""; 
    }); 
    }; 
} 

但它不工作。當我運行nix-build -p pcre時,它會生成兩次包:使用--disable-jit和--enable-jit。當我運行nix-build -p stdenv config.nix中的自定義被忽略。

回答

2

stdenv是特殊的,它用於構建「正常」的包(並且您將覆蓋pcre作爲「普通」包)。因此,要使自定義工作,您必須修補stdenv

例如,您可以使用adapters中的某個功能。

如果要更深入地嵌入pcre,則必須查看staged stdenv building