[Nix-dev] xorgReplacements broke in nix-0.12pre12474

Eelco Dolstra e.dolstra at tudelft.nl
Wed Oct 29 10:42:55 CET 2008


Hi all,

Jeevakan Suresh wrote:

> I just did an svn update, and when I try to install anything - I get the
> following error.
> 
> error: while evaluating the function at
> `/home/isdtc/jsuresh/.nix-defexpr/channels/channel/nixexpr/pkgs/lib/defa
> ult.nix', line 42:
> while evaluating the attribute `<let-body>' at
> `/home/isdtc/jsuresh/.nix-defexpr/channels/channel/nixexpr/pkgs/lib/defa
> ult.nix', line 43:
> syntax error, unexpected '.', expecting '}', at
> `/home/isdtc/jsuresh/.nix-defexpr/channels/channel/nixexpr/pkgs/servers/
> x11/xorg/replacements.nix':1:76
> 
> I got rid of the compile errors by commenting out the '...' on line 1
> and 3 in replacements.nix - I'm currently running nix-0.12pre12474 - I'm
> guessing this is a new language feature?

Thanks for reporting this.  Nixpkgs is not supposed to used that feature yet
since it's not in any released Nix version.  (The expressions for NixOS are
another matter - they can use "unstable" features since nixos-rebuild installs
the latest unstable version of Nix from Nixpkgs automatically.)

I've removed the `...' for now.  I'll try to produce a new stable release
shortly so that we can start using it.

BTW, can someone explain to me what xorgReplacements is for?  And why the crazy
complexity of that function:

{stdenv, fetchurl, xorg, automake, autoconf, libtool, composedArgsAndFun, ...}:
{
  xf86videoati = {src, suffix, ...}:
  composedArgsAndFun stdenv.mkDerivation {
...

and then the call site:

  xorgReplacements = composedArgsAndFun (import
../servers/x11/xorg/replacements.nix) {

I don't understand any of this stuff.  I have the impression that this is highly
user-specific customization stuff that can be ripped from Nixpkgs entirely and
placed in ~/.nixpkgs/config.nix, but I might be mistaken.  (This applies to
almost all the recent complexity in all-packages.nix BTW: almost all getConfig
calls, the selectVersion calls --- it's unnecessary because it can be done more
easily in config.nix).

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




More information about the nix-dev mailing list