[Nix-dev] substitute hell ?

Eelco Dolstra eelco.dolstra at logicblox.com
Sat Jun 2 22:59:05 CEST 2012


Hi,

On 02/06/12 16:25, Sergey Mironov wrote:

> We know that vlc package depends on a52dec. We have a substitution for vlc:
> 
> $ sudo nix-env -qas  'vlc' --system --out-path
> --S  vlc-2.0.1  x86_64-linux
> /nix/store/x332qx57qbak8rbmg4hhbjr5m7afn2df-vlc-2.0.1
> --S  vlc-2.0.1  i686-linux
> /nix/store/vwvz7hh1yc1bvjn6avylbzlgib8d2b60-vlc-2.0.1
> --S  vlc-2.0.1  i686-linux
> /nix/store/vwvz7hh1yc1bvjn6avylbzlgib8d2b60-vlc-2.0.1
> (hm.. why are there two of them. ok, let it be so)

I only have one.  Maybe you have multiple channels (e.g. nixos-unstable and
nixpkgs-unstable)?  If you want to find out where they're coming from, use the
-P flag to see the corresponding attribute name.

> Threre is no substitute for a52dec! (And for some reason I can't find
> a52dec job on a hydra website). How did hydra compile vlc without
> building a52dec? If it actually did compile a52dec, then what is wrong
> with it's substitution?

This is because a52dec is only a build-time dependency and not a runtime
dependency.  (This might suggest that vlc doesn't actually do anything with
a52dec, in which case it should be removed as a dependency...)  So Hydra does
build it, but it doesn't end up in the channel because the channel only contains
runtime dependencies.

(In the past the Nixpkgs channel also contained build-time dependencies.)

-- 
Eelco Dolstra | LogicBlox, Inc. | http://www.st.ewi.tudelft.nl/~dolstra/


More information about the nix-dev mailing list