Re: [Nix-dev] Nix 1.6 released

2014-03-07 Thread Eelco Dolstra
Hi,

On 07/03/14 04:18, Kevin Quick wrote:

> Looks like I've got a bit of a catch-22 situation here.  My current
> thinking is to get the nix definitions from github and look for a commit
> that's old-enough to let me run nix-env to update nix, but that is a bit
> awkward.  Does anyone have any better advice to help me roll back my
> package descriptions or roll forward my nix-env?

You can upgrade a 1.6.1 release from
http://hydra.nixos.org/release/nix/nix-1.6.1 using nix-install-package.  For
instance, if you're on x86_64-linux:

  $ nix-install-package --non-interactive --url
http://hydra.nixos.org/build/6695697/nix/pkg/nix-1.6.1-x86_64-linux.nixpkg

If nothing else works, you can install from the binary tarball:

  $ bash <(curl https://nixos.org/nix/install)

-- 
Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Nix 1.6 released

2014-03-06 Thread Vladimír Čunát

Hi.

On 03/07/2014 04:18 AM, Kevin Quick wrote:

I have an older NixOS installation that hadn't been updated recently.
After running a channel update, I can unfortunately no longer run
nix-env.


Yes, it's not uncommon for people to have this problem, so it is time to 
create a wiki page for it, I guess. IIRC a couple of people confirmed 
this solution does work.


https://nixos.org/wiki/How_to_update_when_nix_is_too_old_to_evaluate_nixpkgs


Vlada




smime.p7s
Description: S/MIME Cryptographic Signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Nix 1.6 released

2014-03-06 Thread Kevin Quick

Hi folks,

I have an older NixOS installation that hadn't been updated recently.
After running a channel update, I can unfortunately no longer run
nix-env.   I believe it to be due to the nix-channel-obtained
all-packages.nix taking advantage of the new lazy with described below,
but my version 1.5.2 nix-env cannot parse that.

$ nix-env -u nix --show-trace
error: while evaluating the function at 
`/nix/store/afbq2l02995n243s8398sshkcrjw5n2r-nixos-14.04pre40034.c4d5757/nixos/nixpkgs/pkgs/top-level/all-packages.nix:8:1':
while evaluating the function at 
`/nix/store/afbq2l02995n243s8398sshkcrjw5n2r-nixos-14.04pre40034.c4d5757/nixos/nixpkgs/pkgs/top-level/all-packages.nix:116:26':
while evaluating the function at 
`/nix/store/afbq2l02995n243s8398sshkcrjw5n2r-nixos-14.04pre40034.c4d5757/nixos/nixpkgs/pkgs/top-level/all-packages.nix:134:19':
infinite recursion encountered
$ nix-env --version
nix-env (Nix) 1.5.2

I tried downloading the nix source below and building it, but I get:

$ ./configure
...
checking for BZ2_bzWriteOpen in -lbz2... no
configure: error: Nix requires libbz2, which is part of bzip2.  See 
http://www.bzip.org/.
$

Looks like I've got a bit of a catch-22 situation here.  My current
thinking is to get the nix definitions from github and look for a commit
that's old-enough to let me run nix-env to update nix, but that is a bit
awkward.  Does anyone have any better advice to help me roll back my
package descriptions or roll forward my nix-env?

Thanks!
  Kevin



Eelco Dolstra writes:

> Hi,
>
> I'm pleased to announce the availability of a new stable release of the
> Nix package manager.  Release 1.6 can be found at
>
>   http://hydra.nixos.org/release/nix/nix-1.6
>
> and
>
>   http://nixos.org/releases/nix/nix-1.6/
>
> In addition to the usual bug fixes, this release has several new features:
>
>   * The command nix-build --run-env has been renamed to nix-shell.
>
>   * nix-shell now sources $stdenv/setup inside the interactive shell, rather
> than in a parent shell. This ensures that shell functions defined by 
> stdenv
> can be used in the interactive shell.
>
>   * nix-shell has a new flag --pure to clear the environment, so you get an
> environment that more closely corresponds to the "real" Nix build.
>
>   * nix-shell now sets the shell prompt (PS1) to ensure that Nix shells are
> distinguishable from your regular shells.
>
>   * nix-env no longer requires a * argument to match all packages, so nix-env
> -qa is equivalent to nix-env -qa '*'.
>
>   * nix-env -i has a new flag --remove-all (-r) to remove all previous 
> packages
> from the profile. This makes it easier to do declarative package 
> management
> similar to NixOS's environment.systemPackages. For instance, if you have a
> specification my-packages.nix like this:
>
> with import  {};
> [ thunderbird
>   geeqie
>   ...
> ]
>
> then after any change to this file, you can run:
>
> $ nix-env -f my-packages.nix -ir
>
> to update your profile to match the specification.
>
>   * The `with' language construct is now more lazy. It only evaluates its
> argument if a variable might actually refer to an attribute in the
> argument. For instance, this now works:
>
> let
>   pkgs = with pkgs; { foo = "old"; bar = foo; } // overrides;
>   overrides = { foo = "new"; };
> in pkgs.bar
>
> This evaluates to "new", while previously it gave an "infinite recursion"
> error.
>
>   * Nix now has proper integer arithmetic operators. For instance, you can
> write x + y instead of builtins.add x y, or x < y instead of
> builtins.lessThan x y. The comparison operators also work on strings.
>
>   * On 64-bit systems, Nix integers are now 64 bits rather than 32 bits.
>
>   * When using the Nix daemon, the nix-daemon worker process now runs on the
> same CPU as the client, on systems that support setting CPU affinity. This
> gives a significant speedup on some systems.
>
>   * If a stack overflow occurs in the Nix evaluator, you now get a proper 
> error
> message (rather than "Segmentation fault") on some systems.
>
>   * In addition to directories, you can now bind-mount regular files in 
> chroots
> through the (now misnamed) option build-chroot-dirs.
>
> This release has contributions from Domen Kožar, Eelco Dolstra, Florian
> Friesdorf, Gergely Risko, Ivan Kozik, Ludovic Courtès and Shea Levy.


-- 
Kevin Quick
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Nix 1.6 released

2013-09-15 Thread Domen Kožar
Actually tests are failing since Nix 1.6 upgrade, that's why channel is not
updated: http://hydra.nixos.org/job/nixos/trunk-combined/tested


On Sun, Sep 15, 2013 at 10:45 AM, Vladimír Čunát  wrote:

> On 09/15/2013 10:11 AM, Malcolm Matalka wrote:
>
>> I am unable to upgrade to 1.6 on one of my machines for an unknown
>> reason.
>>
>> I updated my machine by doing 'nixos-rebuild --upgrade switch' and
>> rebooting.
>>
>
> "nixos-rebuild --upgrade" uses the channel. Its current nixpkgs revision
> is on 38d54cf, which is *before* the b73deae nix-1.6 update (about four
> days commit-time). Therefore, the reason must be somewhere else than
> nix-1.6.
>
> (The channel currently lags a bit, mainly because the FreeBSD build slaves
> are a little overloaded.)
>
>
> Vlada
>
>
>
> ___
> nix-dev mailing list
> nix-dev@lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>
>
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Nix 1.6 released

2013-09-15 Thread Vladimír Čunát

On 09/15/2013 10:11 AM, Malcolm Matalka wrote:

I am unable to upgrade to 1.6 on one of my machines for an unknown
reason.

I updated my machine by doing 'nixos-rebuild --upgrade switch' and
rebooting.


"nixos-rebuild --upgrade" uses the channel. Its current nixpkgs revision 
is on 38d54cf, which is *before* the b73deae nix-1.6 update (about four 
days commit-time). Therefore, the reason must be somewhere else than 
nix-1.6.


(The channel currently lags a bit, mainly because the FreeBSD build 
slaves are a little overloaded.)



Vlada




smime.p7s
Description: S/MIME Cryptographic Signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Nix 1.6 released

2013-09-15 Thread Malcolm Matalka
I am unable to upgrade to 1.6 on one of my machines for an unknown
reason.

I updated my machine by doing 'nixos-rebuild --upgrade switch' and
rebooting.

$ nixos-version
13.09pre5022_71365b7-38d54cf (Aardvark)

$ nix-env --version
nix-env (Nix) 1.5.3

$ which nix-env
/run/current-system/sw/bin/nix-env

$ sudo nix-channel --list
nixos http://nixos.org/releases/nixos/channels/nixos-unstable

$ nix-env -qa '*' | grep -e '^nix'
nix-1.5.3
nix-1.6pre3215_2c1ecf8
nix-generate-from-cpan-1
nixops-1.0.1
nixpkgs-lint-1


Interesting fact: on my other machine that did upgrade properly, the
output of the grep is different:

$ nix-env -qa '*' | grep -e '^nix'
nix-1.5.2
nix-1.5.3pre3141_1b6ee8f
nix-generate-from-cpan-1

$ nix-env --version
nix-env (Nix) 1.6pre3215_2c1ecf8

Any suggestions?

Thanks!

/Malcolm

Eelco Dolstra  writes:

> Hi,
>
> I'm pleased to announce the availability of a new stable release of the
> Nix package manager.  Release 1.6 can be found at
>
>   http://hydra.nixos.org/release/nix/nix-1.6
>
> and
>
>   http://nixos.org/releases/nix/nix-1.6/
>
> In addition to the usual bug fixes, this release has several new features:
>
>   * The command nix-build --run-env has been renamed to nix-shell.
>
>   * nix-shell now sources $stdenv/setup inside the interactive shell, rather
> than in a parent shell. This ensures that shell functions defined by 
> stdenv
> can be used in the interactive shell.
>
>   * nix-shell has a new flag --pure to clear the environment, so you get an
> environment that more closely corresponds to the "real" Nix build.
>
>   * nix-shell now sets the shell prompt (PS1) to ensure that Nix shells are
> distinguishable from your regular shells.
>
>   * nix-env no longer requires a * argument to match all packages, so nix-env
> -qa is equivalent to nix-env -qa '*'.
>
>   * nix-env -i has a new flag --remove-all (-r) to remove all previous 
> packages
> from the profile. This makes it easier to do declarative package 
> management
> similar to NixOS's environment.systemPackages. For instance, if you have a
> specification my-packages.nix like this:
>
> with import  {};
> [ thunderbird
>   geeqie
>   ...
> ]
>
> then after any change to this file, you can run:
>
> $ nix-env -f my-packages.nix -ir
>
> to update your profile to match the specification.
>
>   * The `with' language construct is now more lazy. It only evaluates its
> argument if a variable might actually refer to an attribute in the
> argument. For instance, this now works:
>
> let
>   pkgs = with pkgs; { foo = "old"; bar = foo; } // overrides;
>   overrides = { foo = "new"; };
> in pkgs.bar
>
> This evaluates to "new", while previously it gave an "infinite recursion"
> error.
>
>   * Nix now has proper integer arithmetic operators. For instance, you can
> write x + y instead of builtins.add x y, or x < y instead of
> builtins.lessThan x y. The comparison operators also work on strings.
>
>   * On 64-bit systems, Nix integers are now 64 bits rather than 32 bits.
>
>   * When using the Nix daemon, the nix-daemon worker process now runs on the
> same CPU as the client, on systems that support setting CPU affinity. This
> gives a significant speedup on some systems.
>
>   * If a stack overflow occurs in the Nix evaluator, you now get a proper 
> error
> message (rather than "Segmentation fault") on some systems.
>
>   * In addition to directories, you can now bind-mount regular files in 
> chroots
> through the (now misnamed) option build-chroot-dirs.
>
> This release has contributions from Domen Kožar, Eelco Dolstra, Florian
> Friesdorf, Gergely Risko, Ivan Kozik, Ludovic Courtès and Shea Levy.
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Nix 1.6 released

2013-09-11 Thread Marc Weber
> $ nix-env -f my-packages.nix -ir
So such usage is officially recommended now? :-)

The old solution still applies, because its easy to create multiple
"sets" and update one of those sets only:
https://nixos.org/wiki/Howto_keep_multiple_packages_up_to_date_at_once

Updating "everything" is doable, but sometimes annoying if it takes a
lot time to update everything if you only need to update one piece at a
given time.

Thanks to all contributors.

Marc Weber
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Nix 1.6 released

2013-09-10 Thread Vladimír Čunát

On 09/10/2013 05:55 PM, Eelco Dolstra wrote:

I'm pleased to announce the availability of a new stable release of the
Nix package manager.
[...]
This release has contributions from Domen Kožar, Eelco Dolstra, Florian
Friesdorf, Gergely Risko, Ivan Kozik, Ludovic Courtès and Shea Levy.


Thanks all! This looks like a very nice set of updates.

Vlada




smime.p7s
Description: S/MIME Cryptographic Signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] Nix 1.6 released

2013-09-10 Thread Eelco Dolstra
Hi,

I'm pleased to announce the availability of a new stable release of the
Nix package manager.  Release 1.6 can be found at

  http://hydra.nixos.org/release/nix/nix-1.6

and

  http://nixos.org/releases/nix/nix-1.6/

In addition to the usual bug fixes, this release has several new features:

  * The command nix-build --run-env has been renamed to nix-shell.

  * nix-shell now sources $stdenv/setup inside the interactive shell, rather
than in a parent shell. This ensures that shell functions defined by stdenv
can be used in the interactive shell.

  * nix-shell has a new flag --pure to clear the environment, so you get an
environment that more closely corresponds to the "real" Nix build.

  * nix-shell now sets the shell prompt (PS1) to ensure that Nix shells are
distinguishable from your regular shells.

  * nix-env no longer requires a * argument to match all packages, so nix-env
-qa is equivalent to nix-env -qa '*'.

  * nix-env -i has a new flag --remove-all (-r) to remove all previous packages
from the profile. This makes it easier to do declarative package management
similar to NixOS's environment.systemPackages. For instance, if you have a
specification my-packages.nix like this:

with import  {};
[ thunderbird
  geeqie
  ...
]

then after any change to this file, you can run:

$ nix-env -f my-packages.nix -ir

to update your profile to match the specification.

  * The `with' language construct is now more lazy. It only evaluates its
argument if a variable might actually refer to an attribute in the
argument. For instance, this now works:

let
  pkgs = with pkgs; { foo = "old"; bar = foo; } // overrides;
  overrides = { foo = "new"; };
in pkgs.bar

This evaluates to "new", while previously it gave an "infinite recursion"
error.

  * Nix now has proper integer arithmetic operators. For instance, you can
write x + y instead of builtins.add x y, or x < y instead of
builtins.lessThan x y. The comparison operators also work on strings.

  * On 64-bit systems, Nix integers are now 64 bits rather than 32 bits.

  * When using the Nix daemon, the nix-daemon worker process now runs on the
same CPU as the client, on systems that support setting CPU affinity. This
gives a significant speedup on some systems.

  * If a stack overflow occurs in the Nix evaluator, you now get a proper error
message (rather than "Segmentation fault") on some systems.

  * In addition to directories, you can now bind-mount regular files in chroots
through the (now misnamed) option build-chroot-dirs.

This release has contributions from Domen Kožar, Eelco Dolstra, Florian
Friesdorf, Gergely Risko, Ivan Kozik, Ludovic Courtès and Shea Levy.

-- 
Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev