[Nix-dev] Regex in manifest breaks nix-env

Eelco Dolstra eelco.dolstra at logicblox.com
Tue Mar 17 18:26:26 CET 2015


Hi,

On 17/03/15 18:11, Jeffrey David Johnson wrote:

> Hi all! My nix-env commands recently stopped working. For example if I try
> to `nix-env -q`, it says:
> 
> error: syntax error, unexpected $undefined, expecting '"', at "/nix/store/ar83fv0d68frfyifz2wl1dm97m6jvxnn-env-manifest.nix":1:153
> 
> The contents of `/nix/store/ar83fv0d68frfyifz2wl1dm97m6jvxnn-env-manifest.nix` are:
> 
> [ { meta = { description = "RDF database"; downloadPage = "http://archive.apache.org/dis  t/jena/binaries/"; downloadURLRegex = "apache-jena-.*[.]tar[.]gz$"; homepage = "http://j  ena.apache.org"; license = { fullName = "Apache License 2.0"; shortName = "asl20"; spdxI  d = "Apache-2.0"; url = "http://spdx.org/licenses/Apache-2.0"; }; maintainers = [ "Micha  el Raskin <7c6f434c at mail.ru>" ]; platforms = [ "i686-linux" "x86_64-linux" "armv5tel-lin  ux" "armv6l-linux" "armv7l-linux" "mips64el-linux" ]; position = "/nix/store/75d9rrzyal2  7mn3fdwc060yrbhnyjihi-nixos-14.12.374.61adf9e/nixos/nixpkgs/pkgs/servers/nosql/apache-je  na/binary.nix:29"; updateWalker = true; version = "2.12.1"; }; name = "apache-jena-2.12.  1"; out = { outPath = "/nix/store/3pl4jn0l4wx434g8vgv1assymvg7card-apache-jena-2.12.1";   }; outPath = "/nix/store/3pl4jn0l4wx434g8vgv1assymvg7card-apache-jena-2.12.1"; outputs =   [ "out" ]; system = "x86_64-linux"; type = "derivation"; } ]
> 
> So the offending part seems to be `downloadURLRegex = "apache-jena-.*[.]tar[.]gz$";`.
> Is the package broken for including a regex? 

Looks like a bug in the manifest generation, since the '$' should be escaped.

> And how do I remove/fix it without
> parsing that?

Please try "nix-env --rollback" to go back to the most recent non-corrupt version.

-- 
Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/


More information about the nix-dev mailing list