Re: [Nix-dev] Nix 1.2 released

2012-12-11 Thread Florian Friesdorf

Hi Eelco,

great work!

Eelco Dolstra  writes:
>   * Nix no longer sets the immutable bit on files in the Nix store. Instead,
> the recommended way to guard the Nix store against accidental modification
> on Linux is to make it a read-only bind mount, like this:
>
> $ mount --bind /nix/store /nix/store
> $ mount -o remount,ro,bind /nix/store
>
> Nix will automatically make /nix/store writable as needed (using a private
> mount namespace) to allow modifications.

Where would be the correct place to put these commands?

>   * Basic Nix expression evaluation profiling: setting the environment 
> variable
> NIX_COUNT_CALLS to 1 will cause Nix to print how many times each primop or
> function was executed.
>
>   * New primops: concatLists, elem, elemAt and filter.

The elem library function evaluates all list elements instead of
returning "true" after finding a matching element. How does the builtin
elem function behave?

regards
florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp4kOQno8V2Q.pgp
Description: PGP 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.2 released

2012-12-12 Thread Florian Friesdorf
Eelco Dolstra  writes:
> Hi,
>
> On 12/12/12 17:15, Shea Levy wrote:
>
>>>> The elem library function evaluates all list elements instead of
>>>> returning "true" after finding a matching element.
>>> Sure about that?  This seems lazy enough:
>>>
>>>elem =
>>>  builtins.elem or
>>>  (x: list: fold (a: bs: x == a || bs) false list);
>>>
>> Shouldn't the bs come first? i.e. (a: bs: bs || x == a)?
>
> Not if you want to check from left to right.

Sorry, but I'm not getting it yet. What I understand:

list = [0, 0, 1, 2, 3];
x = 1;

elem x list

-> a: 3, x == a: false, bs: false
-> a: 2, x == a: false; bs: false
-> a: 1, x == a: true; bs: false
-> a: 0, x == a: false; bs: true
-> a: 0, x == a: false; bs: true

Probably missing something very basic.

For completeness sake, fold from lib/lists:

  fold =
if builtins ? elemAt
then op: nul: list:
  let
len = length list;
fold' = n:
  if n == len
  then nul
  else op (builtins.elemAt list n) (fold' (add n 1));
  in fold' 0
else op: nul:
  let fold' = list:
if list == []
then nul
else op (head list) (fold' (tail list));
  in fold';


The following would not evaluate all, I'd currently claim:

  elem' = x: list: if list == []
then false
else head list == x || elem' x (tail list);

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp8iF8aNwDVe.pgp
Description: PGP 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.2 released

2012-12-13 Thread Florian Friesdorf
Andres Loeh  writes:
> Why don't you just try it?
>
> $ echo 'let lib = import ; in lib.elem 1
> [1 2 (throw "boo")]' | nix-instantiate --eval-only -
> true
> $ echo 'let lib = import ; in lib.elem 2
> [1 2 (throw "boo")]' | nix-instantiate --eval-only -
> true
> $ echo 'let lib = import ; in lib.elem 3
> [1 2 (throw "boo")]' | nix-instantiate --eval-only -
> error: user-thrown exception: boo
>
> Seems lazy to me.

Thanks Andres and Shea for the explanations.

At this point I definitely get that elem is lazy. I'm a bit confused
about the direction fold(right) is working, but will play with it a bit
before asking further questions.

thanks again!

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp2uPlrfbVpz.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] python rework

2012-12-21 Thread Florian Friesdorf

Hi,

over the last year we were on and off working on python pureness and
general improvements. This work (the python-merge[1] branch) has been
merged now!

A special thank you to Cillian de Roiste, Rok Garbas, Joachim Schiele,
Peter Simons, Shea Levy, and everybody who helped making this possible!

For more information please check the pull request[2].

In addition to python-merge[1] we used a branch with information for
hydra not meant to enter master. It is now available as python-backup
[3] and will disappear once nothing unmerged/useful is left in it.

The python branch[4] is continued to be build by hydra[5]. In contrast
to the old one, it will not contain any commits not meant to end up in
master. I cleaned it up and it is now based on the current nixos
channel[6]. If you have branches based on it, rebasing onto
python-merge[1] or master should be easy.

Next on the agenda is:

- how are pth files processed, i.e. how and where do python wrappers
  find their modules

- distribute instead of setuptools

- enable more tests

- nixos test modules to install subsets of python packages and run tests
  with multiple modules installed

Please let us know what you think, especially if things don't work
anymore for you!

florian

[1] https://github.com/chaoflow/nixpkgs/tree/python-merge
[2] https://github.com/NixOS/nixpkgs/pull/206
[3] https://github.com/chaoflow/nixpkgs/tree/python-backup
[4] https://github.com/chaoflow/nixpkgs/tree/python
[5] http://hydra.nixos.org/jobset/nixpkgs/python-rework
[6] https://github.com/chaoflow/nixpkgs/tree/channel-nixos
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpgHaXN6n1la.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] python26 fails to build

2012-12-22 Thread Florian Friesdorf

Hi,

in the python branch I made a slight change to python2.6 about man page
naming, turns out python2.6 can't be build, probably for a while / ever?

http://hydra.nixos.org/build/3565721

It looks for "/usr/include/netinet/in.h" and I don't see why that should
have ever succeeded, except hydra having used an impure environment for
the last successful build (http://hydra.nixos.org/build/3372587).

Does somebody see what I'm missing?

regards
florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpBEsmDOaKfU.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] nix-env terminal

2013-01-08 Thread Florian Friesdorf

Lluís Batlle i Rossell  writes:
> nixpkgs uses a modified 'gnu make', that outputs some garbled code annoying 
> also
> in xterm (it duplicates the last character of some command lines).
>
> The purpose of that is for the hydra build farm to get a nice 'tree' from a
> build log, like here:
> http://hydra.nixos.org/build/2494797/log
> (..)

From hydra:

+ unpacking sources
patching sources
+ configuring
+ building
+ installing
+ post-installation fixup

Couldn't we scan for specific lines, make them even more specific by
prepending "phase: " or "PHASE: " and fold everything in between?

Why do we need a patch to 'gnu make' to achieve folding?

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpCQherBnB0p.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] localizing firefox

2013-01-08 Thread Florian Friesdorf
Sergey Mironov  writes:
> Hello! I'm working on a mom-friendly NixOS :)

Great, me too. I'd like to get as much application configuration out of
the user home and in form of defaults set via configuration.nix. Might
be a stupid idea.

How far are you?
Do you have already some configuration to share?

> Does anybody have an experience of localizing Firefox's (Nightly's)
> UI? Maybe local *nix patches or howto links?

Sorry, no.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpSoSspzVf6E.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] bsd-games-2.17: monop

2013-01-08 Thread Florian Friesdorf
Christopher Howard  writes:
> On my system, the bsd-games-2.17 package installed an essential data
> file for the monop game to ~/.nix-profile/share/games/monop-cards.pck.
> However, the monop game dies trying to get this file from
> /usr/share/games/monop-cards.pck. Is this an issue I need to drop in the
> bug tracker, or is it something I have done wrong?

I fixed this (https://github.com/NixOS/nixpkgs/issues/251) and also set
the varlibdir to ".". Games should therefore create there score file in
the directory they are started from. For beret we solved it the same way
and it feels most flexible. Open for better ideas.

thx for reporting!

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpQiqgGAmHL0.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] reproducable systems at a (much) later point / archive.org

2013-01-08 Thread Florian Friesdorf

Hi,

nix is able to exactly reproduce a build, given:

- a set of expressions (described by a git repository and a git
  revision)

- that all sources are available

- the build env is pure (including the hardware)


Scenario 1: Backup
--

Currently, to be sure that my system with all profiles' generations is
properly backed up, I need to backup the complete store. It would be
great if the store and the all profiles' generations could be restored
From less. I imagine a list of packages per profile generation and the
git revision of expressions being used to build each package.

Given we would solve that, we still have the problem, that sources
disappear like "intellinuxwireless.org" as Mathijs Kwik recently
experienced[1]. He proposes that nix falls back to a "last-resort
mirror". I like that idea.


Scenario 2: Showing grand children how software looked in the old days
--

It would be great to know that given there is electricity and given
there is something that can emulate nowadays hardware and given there is
something like the internet, that I always will be able to install
whatever I can install now.

The only problem I currently see with that are again the "dead sources".

Wouldn't it be for that, nix would be the perfect tool to archive
software.


Solution


Given that nix would support a "last-resort mirror" and given we could
convince some instution (e.g. archive.org) to provide such a mirror, the
world would be always able to exactly reproduce software installations
and we could show our / somebody's grandchildren how we kept ourselves
entertained.

Thoughts?

regards
florian

[1] http://permalink.gmane.org/gmane.linux.distributions.nixos/10045
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpLtz04ed5zW.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] git and ERROR: ld.so: object '/lib/liblm.so' from LD_PRELOA

2013-01-08 Thread Florian Friesdorf

% git push
ERROR: ld.so: object '/lib/liblm.so' from LD_PRELOAD cannot be preloaded: 
ignored.

git from recent channel.

Known issue?
Thoughts?

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpb33T8vOhTw.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] python26 fails to build

2013-01-08 Thread Florian Friesdorf
Florian Friesdorf  writes:
> Hi,
>
> in the python branch I made a slight change to python2.6 about man page
> naming, turns out python2.6 can't be build, probably for a while / ever?
>
> http://hydra.nixos.org/build/3565721
>
> It looks for "/usr/include/netinet/in.h" and I don't see why that should
> have ever succeeded, except hydra having used an impure environment for
> the last successful build (http://hydra.nixos.org/build/3372587).

I still do not understand how the python 2.6 could have been
successfully built except if the build environment was impure.

For systems with stdenv.gcc.libc I fixed the problem with:
https://github.com/NixOS/nixpkgs/commit/a37cabdbb7ad9adaf9f6da226e6ed2ec74813961

For other systems I don't know what to do.

regards
florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpvUkQgaSDml.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] reproducable systems at a (much) later point / archive.org

2013-01-09 Thread Florian Friesdorf
Bjørn Forsman  writes:
> On 9 January 2013 07:38, Florian Friesdorf  wrote:
> [...]
>> Thoughts?
>
> I really like it. I think supporting additional source mirrors is a
> must-have feature :-)
>
> I have a long term plan to use NixOS for all my systems: desktop,
> server and embedded.

Same here :)

> For embedded it is especially important to be
> able to rebuild the exact same system, maybe years later. This
> requires a local copy of all sources and a completely offline build.
>
> Here is my idea for nix[1]:
>
> * have a mirror on nixos.org where all sources hydra downloads are
> put. (Whether this mirror is checked before or after the upstream URL
> is irrelevant to me.)

hydra already does that. All fetched sources are put into the store.
They are later removed by garbage collection. This can be configured.

However, we (currently) do not have the disk space to pull this off.

> * add a config option for users to provide an URL for their own
> private mirror. If emtpy, nothing happens. If non-empty, nix tries
> this mirror first (to speed up build). The mirror option should handle
> file:// URLs as well as ftp://, http:// etc.

There is NIX_OTHER_STORES (see e.g. man nix-env). If nix finds a source
in other stores it will copy it from there.

> * a config option to make nix error out if the private mirror doesn't
> contain all sources needed for a build. Or, by any means, check that
> you have a mirror of all sources needed for a build.

I think this is the same as saying "please realise all fixed output
derivations" (see Michael Raskin on "going offline")

> * a config option that, if non-empty, is an URL for nix to store all
> sources it downloads. This could be set to the private mirror URL so
> that the mirror builds itself.

The local store is doing that, (see man nix.conf the *-keep-* variable).
The sources of a derivation are outputs of that derivation. But as they
are not linked into profiles they would normally get garbage collected.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpT24Z5q4GIq.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] bsd-games-2.17: monop

2013-01-09 Thread Florian Friesdorf
Lluís Batlle i Rossell  writes:
> On Tue, Jan 08, 2013 at 11:02:17PM -0900, Christopher Howard wrote:
>> On 01/08/2013 10:53 PM, Christopher Howard wrote:
>> > 
>> > In this particular case, I think it would be wiser to put variable data
>> > into $out/var/games (presuming there is no technical reason this can be
>> > done). The bsd-games configuration commentary states:
>> > 
>> 
>> Then again... I only started using Nix 2 days ago, and I am not clear on
>> the ramifications of picking $out/var/games. Presumably that would be
>> that each change in the profile would clear the scores, which is not
>> good, or adjusting the scores would "damage" the state of the profile,
>> which does not sound good.
>> 
>> Perhaps just sticking with /var/games would be best.
>
> The /nix/store is not writeable. I'm also for /var/games.

For completeness: on IRC we came to the conclusion that somewhere in
$HOME/.local would be best. Sharing score files could be achieved by
symlinking them.

However, I fail to tell bsd-games to lookup $HOME during runtime and
lack the time to further investigate at the moment.

It would be easier to use a fixed path (without env var lookup), but we
should use one normal users on non-nixos systems have write access to.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpJYN7di4D4L.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Providing more explicit nix installation instructions

2013-01-14 Thread Florian Friesdorf

Hi Ellis,

Ellis Whitehead  writes:
> (..)
> Sometimes things have worked out, sometimes they haven't.  Usually,
> the documentation lacks a bit of explicit (sometimes vital) detail.
> Since I'll probably go through this processes occasionally in the
> future, I'd be willing to add my findings to the wiki or the
> documentation, if this would be of interest?

I think this would be great!

> Perhaps to start with: I wanted to install it on a Ubuntu 12.10 system
> from a user account, and noticed something weird:
>
> # Try to install the .deb
> $ sudo dpkg -i ~/Downloads/nix_1.3-1_amd64.deb
> # There were missing dependencies, so install them as follows:
> $ sudo apt-get update
> $ sudo apt-get install -f
>
> # Now this is the problem:
> $ sudo nix-channel --add http://nixos.org/channels/nixpkgs-unstable
>
> That created the file $HOME/.nix-channels in my USER home, but with
> owner root.  Obviously not the correct behavior.  The following `sudo
> nix-channel --update` failed (sorry, don't have the error message
> anymore).  Any suggestions for a better way to do this?

sudo -H (see man sudo)

> To get around the problem, I did something like the following:
> $ sudo rm ~/.nix-channels
> $ source /etc/profile.d/nix.sh
>
> The last command created ~/.nix-channels with the proper ownership and
> contents.  I suppose it knew which channel to put in .nix-channels
> because of the first invocation of `nix-channel -add`?  Should I have
> sourced nix.sh before calling `sudo nix-channel` the first time?
>
> Anyhow, after that, the following command *was* successful, and I
> could subsequently install software.
> $ sudo nix-channel --update

For a discussion about that see:
http://www.mail-archive.com/nix-dev@lists.science.uu.nl/msg07638.html

regards
florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpTZs8sr2KY_.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] pull request with couple of python fixes ready

2013-01-15 Thread Florian Friesdorf

Hi,

a pull request with a couple of python fixes (see description) is ready
to be merged:

https://github.com/NixOS/nixpkgs/pull/258

It diffs nicely against the latest merge from master:
% git clone git://github.com/NixOS/nixpkgs
% cd nixpkgs
% git remote add chaoflow git://github.com/chaoflow/nixpkgs
% git co -bt python chaoflow/python
% git cherry -v d3e54e0
...
% git diff d3e54e0..
...

Please, those interested in python, take a look and either
feedback/merge.

thx
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpoVX443bZwG.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] chromiumDev logs missing from hydra

2013-01-19 Thread Florian Friesdorf

Hi,

I wanted to look at broken chromiumDev build:
http://hydra.nixos.org/job/nixpkgs/trunk/chromiumDev

but its logs are not available:
http://hydra.nixos.org/build/3756070/nixlog/1/raw
http://hydra.nixos.org/build/3759653/nixlog/1/raw

How can that happen?

regards
florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpC08SW2bMpM.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] SSP (-fstack-protector-all) in nixos?

2013-01-19 Thread Florian Friesdorf

Hi,

current chromiumBeta fails to compile with error[1]:

out/Release/obj.host/libvpx_obj_int_extract/third_party/libvpx/source/libvpx/build/make/obj_int_extract.o:
 In function `parse_elf':
obj_int_extract.c:(.text.parse_elf+0x1f): undefined reference to 
`__stack_chk_guard'
obj_int_extract.c:(.text.parse_elf+0x31c): undefined reference to 
`__stack_chk_guard'

As far as I understand that is related to the stack smashing protection.
I found some IRC discussion and talk about disabling that. In general it
sounds like something I'd want on my system and I'd work for to get.

What is needed to get SSP in nixos?
How can we get chromium to build?

regards
florian

[1] http://hydra.nixos.org/build/3806642/nixlog/1/raw
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpSQxhXQzNeh.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] GNU Guix 0.1 released (alpha)

2013-01-19 Thread Florian Friesdorf

Ludovic Courtès  writes:
> ;; Announcement. -*- scheme -*-
>
> (define guix
>   (package
> (name "guix")
> (version "0.1")   ; first alpha release
> (source
>   (origin
> (method url-fetch)
> (uri "ftp://alpha.gnu.org/gnu/guix/guix-0.1.tar.gz";)
> (signature "ftp://alpha.gnu.org/gnu/guix/guix-0.1.tar.gz.sig";)
> (sha256
>  "350286bcf37a4035244cdddfe7bd62e79bcd08db0ed35b48e1444302dfc52005")))
> (license gpl3+)
> (home-page "http://www.gnu.org/software/guix/";)
> (synopsis "Functional package management for GNU")
> (description
>  "GNU Guix is a functional package manager and associated free
> software distribution of the GNU system.
> (..)
> See the ROADMAP and TODO files for future directions.  Building the
> distribution is a cooperative effort, and you are invited to join!")))

I like the ROADMAP/TODO and could imagine joining the effort.

What are your thoughts on generating nix expressions from guix
expressions for the purpose of package definition?

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpRSEMBCMuQb.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] GNU Guix 0.1 released (alpha)

2013-01-20 Thread Florian Friesdorf

Ludovic Courtès  writes:
> Florian Friesdorf  skribis:
>> What are your thoughts on generating nix expressions from guix
>> expressions for the purpose of package definition?
>
> Do you mean the opposite–generating Guix expressions from Nix?

I actually meant guix -> nix, as guix being within a full language, I
had gut feeling this direction might be preferable, see also below.

I'd rather maintain packages in one (E)DSL, than two.

> If so, there’s the guix-import program, which works like this:
>
>   guix-import /path/to/nixpkgs attribute
>
> It spits out a basic Guix package definition.  By “basic”, I mean that
> only trivial things are converted; Bash snippets added in
> ‘configurePhase’, ‘preCheck’, etc. are just ignored.

I don't see us writing bash -> guix tranformations...

Ludovic Courtès  writes:
> A nice thing is that Scheme can be used both on the “host” side (as a
> replacement of the Nix language), and on the build side (a nice
> replacement of Bash...).
>

> Philosophically, I’m also interested in making a free software, and a
> “GNU” distro.

+1

> Marc Weber  skribis:
>>   - in which way you're going to utilize the new "power" of scheme first
>> applying to what problems?
>
> On the build side, it nicely replaces Bash, and also Coreutils,
> Findutils, sed, and cURL.  :-)

Do you have ideas how these replacements could be used if generating nix
expressions from guix expressions?

> On the host side, it facilitates the implementation of new tools.  For
> instance, listing the available packages, searching them, using l10n’d
> package descriptions, etc. is easy and fast.  The auto-updater that’s in
> the works, based on Nixpkgs’s gnupdate, is going to be both easier to
> implement and faster (no need to parse several MiBs of a low-level XML
> representation!).

sounds great!

> Guix provides access to several levels of API: store RPCs, low-level
> derivations, Scheme derivations, and high-level package descriptions.
> That opens up a wide range of possibilities, I think.  Again, this is
> the typical advantage of using a single language.

+1

> There’s also a clearer separation of concerns: for instance,
> env. vars. are not abused as arguments to the ‘derivation’ primitive.
>
>>   - how exactly you reuse existing "nix*" software. You should describe
>> this.
>
> It reuses the daemon, and thus libstore, as described in ‘README’.

I take that nix and guix nicely cooperatively use "/nix/store/" though
it's rather unlikely that the two would actually create the same output.

Would it be feasible to depend on nixpkgs from within guix packages?
Would it be feasible to do it the other way round?

>>   - what would be the advantages of your system - eg will you keep the
>> lazy feature? If you build 150 packages its not a big problem.
>
> Of course it’s lazy, it doesn’t try to build every package as soon as
> you fire it.  :-)
>
> More details can be found in the manual, ‘README’, and in my GHM talk
> linked from the web site.
>
> Hope this clarifies things!

Helped me a lot!

thx!
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp_A_EAloIwM.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] GNU Guix 0.1 released (alpha)

2013-01-20 Thread Florian Friesdorf

Florian Friesdorf  writes:
>> There’s also a clearer separation of concerns: for instance,
>> env. vars. are not abused as arguments to the ‘derivation’ primitive.
>>
>>>   - how exactly you reuse existing "nix*" software. You should describe
>>> this.
>>
>> It reuses the daemon, and thus libstore, as described in ‘README’.
>
> I take that nix and guix nicely cooperatively use "/nix/store/" though
> it's rather unlikely that the two would actually create the same output.
>
> Would it be feasible to depend on nixpkgs from within guix packages?
> Would it be feasible to do it the other way round?

It is possible to use nixpkgs within guix, see guix README.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpctrU54wgKV.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] [NixOS/nixpkgs] 8f0ea2: pythonPackages: default to python's maintainers an...

2013-01-20 Thread Florian Friesdorf

Hi Peter,

Peter Simons  writes:
> Hi Florian,
>
>  > pythonPackages: default to python's maintainers and platforms
>
> I am happy to care for the Python interpreter, but I don't want to be
> notified of build errors for every single Python package out there that
> doesn't explicitly set 'meta.maintainers' (which is the majority). It
> appears that this change has that effect, though.

I'm sorry for that and corrected it.

regards
florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpAtag_rIAO2.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] "svn-revision" empty / nixos channel as branch?

2013-01-20 Thread Florian Friesdorf

Hi,

so far "svn-revision" was giving the nixos and nixpkgs SHA forming the
channel. With the latest update, this file is empty:

% cat 
/nix/var/nix/profiles/per-user/root/channels-22-link/nixos/nixos/svn-revision 
4042_e201da3-ff461b0

% cat 
/nix/var/nix/profiles/per-user/root/channels-23-link/nixos/nixos/svn-revision 


I'm using the file to maintain branches "channel-nixos" of nixos and
nixpkgs, so I can develop new features based on a supposedly more stable
base.

Now as the channel only consists of nix expressions, no Manifest files
anymore, wouldn't it be sane to maintain it as a repository?

One repo with nixos and nixpkgs as submodules?
Or probably better: nixpkgs as submodule of nixos?

regards
florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp5EbQHqZKrz.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] [NixOS/nixpkgs] 8f0ea2: pythonPackages: default to python's maintainers an...

2013-01-21 Thread Florian Friesdorf
Eelco Dolstra  writes:
> Hi,
>
> On 20/01/13 16:35, Peter Simons wrote:
>
>>  > pythonPackages: default to python's maintainers and platforms
>> 
>> I am happy to care for the Python interpreter, but I don't want to be
>> notified of build errors for every single Python package out there that
>> doesn't explicitly set 'meta.maintainers' (which is the majority). It
>> appears that this change has that effect, though.
>
> I'll add that setting meta.platforms globally is probably not a good idea
> because it will just add a lot of broken packages to the Hydra jobset.  You
> shouldn't set meta.platforms for a package unless you expect the package to
> build on those platforms or are willing to fix them if they don't.

It's my intention to fix packages / explicityly set platforms for
packages that can't be fixed.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgplN0UrzKIi6.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] "svn-revision" empty / nixos channel as branch?

2013-01-22 Thread Florian Friesdorf

revisions are back:
  /nix/var/nix/profiles/per-user/root/channels/nixos/nixos/svn-revision
nixos revision:   64ffca1
nixpkgs revision: 8eef699

Vladimír Čunát  writes:
> On 01/21/2013 05:12 AM, Florian Friesdorf wrote:
>> I'm using the file to maintain branches "channel-nixos" of nixos and
>> nixpkgs, so I can develop new features based on a supposedly more stable
>> base.
>
> Oh, I'm using parts of those scripts as well. I was thinking of parsing 
> http://hydra.nixos.org/jobset/nixpkgs/trunk instead (which would be more 
> bandwidth-efficient), but your solution was easier.

Also a nice idea!

Am I correct, that the channel would be trunk-combined?
http://hydra.nixos.org/jobset/nixos/trunk-combined

>> Now as the channel only consists of nix expressions, no Manifest files
>> anymore, wouldn't it be sane to maintain it as a repository?
>>
>> One repo with nixos and nixpkgs as submodules?
>> Or probably better: nixpkgs as submodule of nixos?
>
> It might be useful to be able to have one commit change both nixos and 
> nixpkgs. Dependencies between the repos aren't too frequent, but still I 
> think they should be "seen" somehow.

nixpkgs is independent of nixos, nixos needs nixpkgs.

% du -sh dev/nixos/nixos 
17M dev/nixos/nixos

% du -sh dev/nixos/nixpkgs 
152Mdev/nixos/nixpkgs

I think the size at least is not an argument for separate repositories.

Having separate repositories, it would be great to register the revision
of nixpkgs being used for nixos. Registering nixpkgs as a submodule for
nixos would achieve exactly that. However, there would be quite some
commits just for upgrading the submodule - I'm not sure how useful that
is.

On the other hand for hydra to publish what versions have been
successfully built together is definitely useful, but she does that
already.

Having to download 3.5MB for every channel update, while I only miss the
information what revisions to use, is as you say not bandwith efficient.

The hydra channel could be a git repository with two submodules
(nixpkgs, nixos) and hydra updates these in the "master" branch for
every attempted combined build. For every successful combined build it
moves the "tested" branch forward.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp8MxfWWYYRD.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Systemd branch merged

2013-01-22 Thread Florian Friesdorf
Peter Simons  writes:
> Hi Eelco,
>
> thank you very much for all the effort you've put into migrating NixOS
> to systemd. It is very much appreciated.

I second that!

And one less argument for a couple of friends for why to stick with
archlinux :)

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpGxe_ynE_hZ.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Providing more explicit nix installation instructions

2013-01-24 Thread Florian Friesdorf
Vladimír Čunát  writes:
>>> # Now this is the problem:
>>> $ sudo nix-channel --add http://nixos.org/channels/nixpkgs-unstable
>>>
>>> That created the file $HOME/.nix-channels in my USER home, but with
>>> owner root.  Obviously not the correct behavior.  The following `sudo
>>> nix-channel --update` failed (sorry, don't have the error message
>>> anymore).  Any suggestions for a better way to do this?
>>
>> sudo -H (see man sudo)
>
> I believe nix-channel --add is supposed to be run *without* sudo anyway 
> (it only sets up ~/.nix* stuff AFAIK).

If you add the channel as a user, it will be added to your home
directory and you need to run `sudo nixos-rebuild ...`. If you add it as
root with `sudo nix-channel ...` it's going to be added to your user's
home and you need to run `sudo nixos-rebuild ...`, too. If you add it
with `sudo -H nix-channel...`, it will be added to root's home and you
need to run `sudo -H nixos-rebuild...`.

I'm not sure about security implications, but it feels like one should
do both with `-H`.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpo2HkwOANl2.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] python interpreter: interactive editing

2013-01-30 Thread Florian Friesdorf
Shea Levy  writes:
> Hello,
>
> For interactive usage, you want to install pythonFull (nix-env -iA 
> nixpkgs.pythonFull). That has readline support etc.

That, and you might want to take a look at some environments I use to
see what's possible:

https://github.com/chaoflow/skel/blob/master/.nixpkgs/config.nix

We are in the process of documenting it.

> On 01/30/2013 03:10 PM, Christopher Howard wrote:
>> Hi. I used nix to install python-2.7.3 on an older Linux system using
>> Nix. Overall, seems to work fine, except one quirk: the python
>> interpreter doesn't allow interactive editing or history substitution
>> (i.e., readline style). But the python-2.7.3 documents suggests it has
>> this functionality. Does anyone know if this is something that is
>> optionally compiled into Python, or does a setting have to be changed
>> somewhere, or...? I tend to live in the interpreter of whatever
>> language I am using, so it is an important issue to me.
>> ___
>> 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

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpN7dKJ_KIDG.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Problems booting

2013-02-06 Thread Florian Friesdorf

Rommel Martinez  writes:
>1. Dear everyone,
>
>I fetched
>http://nixos.org/releases/nixos/latest-iso-graphical-x86_64-linux,
>which, at the time of download, pointed
>to nixos-graphical-0.2pre4454_979117b-789154b-x86_64-linux.iso. I wanted to
>install it from a USB flash drive, so I followed the methods described at
>http://nixos.org/wiki/Installing_NixOS_from_a_USB_stick.
>
>However, none of them worked. With the second method (syslinux), I only
>got a blinking cursor, then it went on to proceed to the next boot device.
>With the first method, the following message appeared on the screen:

The third method (unetbootin) usually works for me. Have you tried that?

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpS6nQm3y6EC.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] luatex

2013-02-12 Thread Florian Friesdorf

% luatex test.tex
...
This is a summary of all `failed' messages:
`luatex -ini  -jobname=luatex -progname=luatex luatex.ini' failed
warning: kpathsea: mktexfmt output `This is LuaTeX, Version 
beta-0.70.2-2012122207 (TeX Live 2012) (INITEX)
 restricted \write18 enabled.

(/nix/store/pqv310f2sbp6xvip56z9iqgknh8s1snf-TeXLive-linkdir/texmf-dist/tex/pla
in/config/luatex.ini
! I can't find file `luatexiniconfig.tex'.
l.6 \input luatexiniconfig.tex

Any ideas?

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpIxq0ZI1ug9.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Suggest package to install

2013-02-17 Thread Florian Friesdorf
Bjørn Forsman  writes:
> sudo mkdir -p /var/lib/nixos

Take care with `sudo` for more complex commands than `mkdir`, I
developed a habit of nearly always using `sudo -H` if not `sudo -i`.

Except if you know why you would need "plain" `sudo` you should consider
aliasing sudo to `sudo -i`.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp2vLZbVsOSF.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] cyrus-sasl on OS X tries to install to /Library

2013-03-12 Thread Florian Friesdorf

Hi,

cyrus-sasl 2.1.26 (in contrast to 2.1.25) builds successfully on OS X,
but tries to install into system directories
(/Library/Frameworks/SASL2.framework)

http://hydra.nixos.org/build/4378938/nixlog/1

Any suggestions how to fix this?

regards
florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp_yrlrfmLz2.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] chromium update

2013-03-23 Thread Florian Friesdorf

Hi aszlig,

your chromium update script decided to switch Beta to -lite, and the URL
for Dev is returning 404.

I fail to understand what's going on, do you?

regards
florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpuv4nWzpm1P.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] chromium update

2013-03-23 Thread Florian Friesdorf
Florian Friesdorf  writes:
> Hi aszlig,
>
> your chromium update script decided to switch Beta to -lite, and the URL
> for Dev is returning 404.
>
> I fail to understand what's going on, do you?

and:

building out/Release/obj.target/third_party/npapi/npapi.stamp
  TOUCH out/Release/obj.target/ppapi/ppapi_c.stamp
  TOUCH out/Release/obj.target/third_party/npapi/npapi.stamp
building out/Release/obj.target/third_party/mesa/mesa_headers.stamp
  TOUCH out/Release/obj.target/third_party/mesa/mesa_headers.stamp
make: *** No rule to make target 
`out/Release/obj.target/v8_base/v8/src/accessors.o', needed by 
`out/Release/obj.target/v8/tools/gyp/libv8_base.a'.  Stop.
make: *** Waiting for unfinished jobs
builder for 
`/nix/store/3gjch0fzd4fx7c3svab7rpl5j2kc595j-chromium-26.0.1410.40.drv' failed 
with exit code 2
error: build of 
`/nix/store/3gjch0fzd4fx7c3svab7rpl5j2kc595j-chromium-26.0.1410.40.drv' failed

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp9uwtvjeluy.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] wpa_supplicant on install image fails for me

2013-03-24 Thread Florian Friesdorf

Hi,

% cp /mnt/etc/wpa_supplicant.conf /etc
% wpa_supplicant -Dnl80211 -iwlp2s0 -c/etc/wpa_supplicant -d > wpa.debug.log

wpa_supplicant on the installer disc fails to establish a connection,
disassociating repeatedly with reason 3 (see attached log).

The exact same config works on my normal system.

Installer uses some 3.2 kernel, my system 3.7.10.

Network controller:

 02:00.0 Network controller: Intel Corporation Centrino Ultimate-N 6300 (rev 35)
Subsystem: Intel Corporation Centrino Ultimate-N 6300 3x3 AGN
Flags: bus master, fast devsel, latency 0, IRQ 43
Memory at f240 (64-bit, non-prefetchable) [size=8K]
Capabilities: 
Kernel driver in use: iwlwifi

Known issue?

Is there a reason to keep the old 3.2 kernel for the installer?

florian



wpa.debug.log
Description: Binary data
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpmkRZXct5Ss.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] cannot start worker (unexpected end-of-file)

2013-03-25 Thread Florian Friesdorf
Lluís Batlle i Rossell  writes:
> On Mon, Mar 25, 2013 at 01:29:26PM +0100, Eelco Dolstra wrote:
>> Hi,
>> 
>> On 18/03/13 22:51, Lluís Batlle i Rossell wrote:
>> 
>> > The trouble happens because "nixos-rebuild boot" will use your nix 1.5 to
>> > communicate with your nix 1.2 daemon.
>> > 
>> > When I see there is a nix update, I usually prefer to use "nixos-rebuild 
>> > boot
>> > --no-build-nix", so the store doesn't get updated to a new version.
>> > 
>> > If the store gets updated to a new db version, and the following nixos 
>> > build
>> > fails, you end up in your state: the next nixos-rebuild run won't 
>> > understand
>> > the store.
>> 
>> FWIW, nixos-rebuild tries hard to prevent this situation.  It only uses the 
>> new
>> Nix for evaluation, not for accessing the store; the old daemon is used for
>> that.  So the schema should not be upgraded.
>
> Right, but I remember in my case (and maybe others') it deadlocked, I stopped 
> the
> daemon, and then 'tried' to rebuild nixos. :)

I was in the same situation.

Could upgrading nix be one action, where a new system generation with a
new nix is created? On top of that you can then upgrade the system. Or
the other way round as you suggested.

Having nix and system upgrade in one action calls for trouble.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp8OC6mG0MLU.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] git-annex assistant

2013-06-27 Thread Florian Friesdorf

Hi Peter,

I see you packaged git-annex and it's configure without assistent and/or
webapp. I tried just enabling them, but it would need yesod and
co. <1.2. These however seem not be packaged.

Do you know more? Any idea what to do?

thanks
florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpbME1E2JLR5.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] git-annex assistant

2013-06-28 Thread Florian Friesdorf

Hi Peter,

Peter Simons  writes:
> The following message is a courtesy copy of an article
> that has been posted to gmane.linux.distributions.nixos as well.
>
> Hi Florian,
>
>  > I see you packaged git-annex and it's configure without assistent
>  > and/or webapp.
>
> right, I disabled the web-related parts of the build a while after Yesod
> 1.2 came out. I wanted that update because other packages (like hledger)
> stopped working with Yesod 1.1, and packaging both Yesod 1.1 and 1.2 is
> way too much effort. So I gave up git-annex assistant in order to go
> forward.
>
>  > Any idea what to do?
>
> I believe the only thing one can do is to e-mail Joey Hess and politely
> ask him to update git-annex to Yesod 1.2. I've tried that, but it seems
> like he hasn't had time to work on the issue so far.

It looks like he meanwhile supports building with yesod-1.2 (b44c978).

I know nothing about our haskell packaging. Could we easily include a
git version of git-annex to help him debugging it further with
yesod-1.2? At least for me that would make things easier than working
with a manual checkout and setup.

regards
florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp2C2MuhsLLM.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] [Nix-commits] [NixOS/nixos] f09da4: wip: trackpoint.nix

2013-07-03 Thread Florian Friesdorf

Accidentally pushed a branch, deleted it again and set up a remote
tracking branch to prevent it in the future.

Florian Friesdorf  writes:
>   Branch: refs/heads/rebase/personal
>   Home:   https://github.com/NixOS/nixos
>   Commit: f09da4030ae0595672cbe9215d767f403a1af285
>   
> https://github.com/NixOS/nixos/commit/f09da4030ae0595672cbe9215d767f403a1af285
>   Author: Florian Friesdorf 
>   Date:   2013-06-04 (Tue, 04 Jun 2013)
>
>   Changed paths:
> M modules/module-list.nix
> A modules/tasks/trackpoint.nix
>
>   Log Message:
>   ---
>   wip: trackpoint.nix
>
>
>   Commit: 325106af878446c78330cf144247295c58729fd9
>   
> https://github.com/NixOS/nixos/commit/325106af878446c78330cf144247295c58729fd9
>   Author: Florian Friesdorf 
>   Date:   2013-06-04 (Tue, 04 Jun 2013)
>
>   Changed paths:
> M modules/services/mail/postfix.nix
>
>   Log Message:
>   ---
>   wip: postfix suid
>
>
>   Commit: 62eb9b10b3ee0c661cc72660e1598fcb44f0c330
>   
> https://github.com/NixOS/nixos/commit/62eb9b10b3ee0c661cc72660e1598fcb44f0c330
>   Author: Florian Friesdorf 
>   Date:   2013-06-12 (Wed, 12 Jun 2013)
>
>   Changed paths:
> M maintainers/scripts/ec2/create-ebs-amis.py
> M maintainers/scripts/ec2/create-s3-amis.sh
> M modules/installer/tools/nixos-rebuild.sh
> M modules/services/networking/openvpn.nix
> M modules/services/security/tor.nix
> M modules/services/torrent/transmission.nix
> M modules/system/boot/loader/grub/grub.nix
>
>   Log Message:
>   ---
>   Merge branch 'channel-nixos' into rebase/personal
>
>
>   Commit: 388a9312a03f6abfa573742db77a076cd82444ea
>   
> https://github.com/NixOS/nixos/commit/388a9312a03f6abfa573742db77a076cd82444ea
>   Author: Florian Friesdorf 
>   Date:   2013-06-18 (Tue, 18 Jun 2013)
>
>   Changed paths:
> M lib/test-driver/log2html.xsl
> M lib/testing.nix
> M modules/installer/cd-dvd/system-tarball.nix
> M modules/services/misc/nix-daemon.nix
> M modules/services/monitoring/zabbix-server.nix
> M modules/services/system/nscd.nix
> M modules/services/ttys/agetty.nix
> M modules/services/web-servers/apache-httpd/zabbix.nix
> M tests/installer.nix
>
>   Log Message:
>   ---
>   Merge branch 'channel-nixos' into rebase/personal
>
>
>   Commit: c4e8629414b5245e0cbee03d916a71b34b1b9b44
>   
> https://github.com/NixOS/nixos/commit/c4e8629414b5245e0cbee03d916a71b34b1b9b44
>   Author: Florian Friesdorf 
>   Date:   2013-06-20 (Thu, 20 Jun 2013)
>
>   Changed paths:
> M doc/manual/options-to-docbook.xsl
> M modules/programs/bash/profile.sh
> M modules/services/x11/display-managers/lightdm.nix
> M modules/services/x11/xserver.nix
>
>   Log Message:
>   ---
>   Merge branch 'channel-nixos' into rebase/personal
>
>
>   Commit: 1915e8d39df42cc58c74bdf37990c5e941a92c1e
>   
> https://github.com/NixOS/nixos/commit/1915e8d39df42cc58c74bdf37990c5e941a92c1e
>   Author: Florian Friesdorf 
>   Date:   2013-06-27 (Thu, 27 Jun 2013)
>
>   Changed paths:
> M modules/module-list.nix
> A modules/services/misc/cgminer.nix
> M modules/services/misc/synergy.nix
> M modules/services/web-servers/lighttpd/cgit.nix
> M modules/services/web-servers/lighttpd/default.nix
> M modules/services/web-servers/lighttpd/gitweb.nix
> M modules/system/boot/systemd.nix
> M modules/tasks/filesystems.nix
> M tests/xfce.nix
>
>   Log Message:
>   ---
>   Merge branch 'channel-nixos' into rebase/personal
>
>
>   Commit: bb0b894f1c0bd7001ec0b39ef4578ecee86f5d0f
>   
> https://github.com/NixOS/nixos/commit/bb0b894f1c0bd7001ec0b39ef4578ecee86f5d0f
>   Author: Florian Friesdorf 
>   Date:   2013-07-03 (Wed, 03 Jul 2013)
>
>   Changed paths:
> R modules/config/fonts.nix
> A modules/config/fonts/corefonts.nix
> A modules/config/fonts/fontconfig.nix
> A modules/config/fonts/fontdir.nix
> A modules/config/fonts/fonts.nix
> A modules/config/fonts/ghostscript.nix
> M modules/config/timezone.nix
> A modules/installer/cd-dvd/channel.nix
> M modules/installer/cd-dvd/installation-cd-base.nix
> M modules/module-list.nix
> A modules/profiles/demo.nix
> M modules/programs/ssmtp.nix
> A modules/services/databases/memcached.nix
> A modules/services/databases/redis.nix
> M modules/services/misc/disnix.nix
> M modules/services/monitoring/dd-agent.nix
> M modules/virtualisation/qemu-vm.nix
> A modules/virtualisation/virtualbo

[Nix-dev] Zidanca sprint - work in progress

2013-07-25 Thread Florian Friesdorf

http://titanpad.com/nixos-sprint

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpxAh3bh8bNU.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] chrome

2013-09-24 Thread Florian Friesdorf

While Chrome is open I sometimes get a lot of these messages, sometimes
like really a lot (about 10/s):

Sep 24 13:32:04 eve display-manager-start[1737]: GetModeLine - scrn: 0 clock: 
74080
Sep 24 13:32:04 eve display-manager-start[1737]: GetModeLine - hdsp: 1440 hbeg: 
1464 hend: 1480 httl: 1600
Sep 24 13:32:04 eve display-manager-start[1737]: vdsp: 900 vbeg: 903 vend: 909 
vttl: 926 flags: 10
Sep 24 13:32:04 eve display-manager-start[1737]: GetModeLine - scrn: 0 clock: 
74080
Sep 24 13:32:04 eve display-manager-start[1737]: GetModeLine - hdsp: 1440 hbeg: 
1464 hend: 1480 httl: 1600
Sep 24 13:32:04 eve display-manager-start[1737]: vdsp: 900 vbeg: 903 vend: 909 
vttl: 926 flags: 10
Sep 24 13:32:07 eve display-manager-start[1737]: GetModeLine - scrn: 0 clock: 
74080
Sep 24 13:32:07 eve display-manager-start[1737]: GetModeLine - hdsp: 1440 hbeg: 
1464 hend: 1480 httl: 1600
Sep 24 13:32:07 eve display-manager-start[1737]: vdsp: 900 vbeg: 903 vend: 909 
vttl: 926 flags: 10
Sep 24 13:32:07 eve display-manager-start[1737]: GetModeLine - scrn: 0 clock: 
74080
Sep 24 13:32:07 eve display-manager-start[1737]: GetModeLine - hdsp: 1440 hbeg: 
1464 hend: 1480 httl: 1600

It seems to be independent of whether my laptop (lenovo x201s) is docked
and/or an external screen is connected.

Any ideas?

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp_6uuhOGBXt.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] chrome and many GetModeLine calls in log (was: Re: chrome)

2013-09-24 Thread Florian Friesdorf

sorry for the incomplete subject

Florian Friesdorf  writes:
> While Chrome is open I sometimes get a lot of these messages, sometimes
> like really a lot (about 10/s):
>
> Sep 24 13:32:04 eve display-manager-start[1737]: GetModeLine - scrn: 0 clock: 
> 74080
> Sep 24 13:32:04 eve display-manager-start[1737]: GetModeLine - hdsp: 1440 
> hbeg: 1464 hend: 1480 httl: 1600
> Sep 24 13:32:04 eve display-manager-start[1737]: vdsp: 900 vbeg: 903 vend: 
> 909 vttl: 926 flags: 10
> Sep 24 13:32:04 eve display-manager-start[1737]: GetModeLine - scrn: 0 clock: 
> 74080
> Sep 24 13:32:04 eve display-manager-start[1737]: GetModeLine - hdsp: 1440 
> hbeg: 1464 hend: 1480 httl: 1600
> Sep 24 13:32:04 eve display-manager-start[1737]: vdsp: 900 vbeg: 903 vend: 
> 909 vttl: 926 flags: 10
> Sep 24 13:32:07 eve display-manager-start[1737]: GetModeLine - scrn: 0 clock: 
> 74080
> Sep 24 13:32:07 eve display-manager-start[1737]: GetModeLine - hdsp: 1440 
> hbeg: 1464 hend: 1480 httl: 1600
> Sep 24 13:32:07 eve display-manager-start[1737]: vdsp: 900 vbeg: 903 vend: 
> 909 vttl: 926 flags: 10
> Sep 24 13:32:07 eve display-manager-start[1737]: GetModeLine - scrn: 0 clock: 
> 74080
> Sep 24 13:32:07 eve display-manager-start[1737]: GetModeLine - hdsp: 1440 
> hbeg: 1464 hend: 1480 httl: 1600
>
> It seems to be independent of whether my laptop (lenovo x201s) is docked
> and/or an external screen is connected.
>
> Any ideas?
>
> -- 
> Florian Friesdorf 
>   GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
> Jabber/XMPP: f...@chaoflow.net
> IRC: chaoflow on freenode,ircnet,blafasel,OFTC

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpuE_He9wDD2.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Powertop NixOS

2013-11-19 Thread Florian Friesdorf

Hi Tom,

nix-env -i powertop
sudo powertop

For quicker and in general more accurate help: nix-dev@lists.science.uu.nl

Thomas Bereknyei  writes:
> Hi what is the current method of using powertop I would like to start using
> it but I'm a little new to nixos.
>
> I came across your email on a forum posting regarding the kernel.
>
> Tom

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpRIqcF8HvYS.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] abcde misses cd-paranoia, libcdio 0.92 vs 0.82

2014-02-02 Thread Florian Friesdorf

libcdio 0.92 lacks cd-paranoia in contrast to 0.82, which is dearly
missed by abcde. Does somebody know what's going on?

% ls -l /nix/store/95p14wki597rfi40d7cafisppsj8m992-libcdio-0.92/bin 
total 256K
-r-xr-xr-x 2 root root 44885 Jan  1  1970 cdda-player*
-r-xr-xr-x 2 root root 25946 Jan  1  1970 cd-drive*
-r-xr-xr-x 2 root root 53946 Jan  1  1970 cd-info*
-r-xr-xr-x 2 root root 32707 Jan  1  1970 cd-read*
-r-xr-xr-x 2 root root 34020 Jan  1  1970 iso-info*
-r-xr-xr-x 2 root root 28609 Jan  1  1970 iso-read*
-r-xr-xr-x 2 root root 32370 Jan  1  1970 mmc-tool*

1 % ls -l /nix/store/vsyxvqm2xw2ka1lixlrxs2kdqj76dgks-libcdio-0.82/bin 
total 292K
-r-xr-xr-x 2 root root 44713 Jan  1  1970 cdda-player*
-r-xr-xr-x 2 root root 25384 Jan  1  1970 cd-drive*
-r-xr-xr-x 2 root root 53156 Jan  1  1970 cd-info*
-r-xr-xr-x 2 root root 42766 Jan  1  1970 cd-paranoia*
-r-xr-xr-x 2 root root 32590 Jan  1  1970 cd-read*
-r-xr-xr-x 2 root root 28744 Jan  1  1970 iso-info*
-r-xr-xr-x 2 root root 25450 Jan  1  1970 iso-read*
-r-xr-xr-x 2 root root 32161 Jan  1  1970 mmc-tool*

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpXOzU2QFSzz.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] abcde misses cd-paranoia, libcdio 0.92 vs 0.82

2014-02-02 Thread Florian Friesdorf

workaround: 
https://github.com/NixOS/nixpkgs/commit/9fb8624b94c6db633ebc2baad5de634b5199c97f

Florian Friesdorf  writes:
> libcdio 0.92 lacks cd-paranoia in contrast to 0.82, which is dearly
> missed by abcde. Does somebody know what's going on?
>
> % ls -l /nix/store/95p14wki597rfi40d7cafisppsj8m992-libcdio-0.92/bin 
> total 256K
> -r-xr-xr-x 2 root root 44885 Jan  1  1970 cdda-player*
> -r-xr-xr-x 2 root root 25946 Jan  1  1970 cd-drive*
> -r-xr-xr-x 2 root root 53946 Jan  1  1970 cd-info*
> -r-xr-xr-x 2 root root 32707 Jan  1  1970 cd-read*
> -r-xr-xr-x 2 root root 34020 Jan  1  1970 iso-info*
> -r-xr-xr-x 2 root root 28609 Jan  1  1970 iso-read*
> -r-xr-xr-x 2 root root 32370 Jan  1  1970 mmc-tool*
>
> 1 % ls -l /nix/store/vsyxvqm2xw2ka1lixlrxs2kdqj76dgks-libcdio-0.82/bin 
> total 292K
> -r-xr-xr-x 2 root root 44713 Jan  1  1970 cdda-player*
> -r-xr-xr-x 2 root root 25384 Jan  1  1970 cd-drive*
> -r-xr-xr-x 2 root root 53156 Jan  1  1970 cd-info*
> -r-xr-xr-x 2 root root 42766 Jan  1  1970 cd-paranoia*
> -r-xr-xr-x 2 root root 32590 Jan  1  1970 cd-read*
> -r-xr-xr-x 2 root root 28744 Jan  1  1970 iso-info*
> -r-xr-xr-x 2 root root 25450 Jan  1  1970 iso-read*
> -r-xr-xr-x 2 root root 32161 Jan  1  1970 mmc-tool*
>
> -- 
> Florian Friesdorf 
>   GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
> Jabber/XMPP: f...@chaoflow.net
> IRC: chaoflow on freenode,ircnet,blafasel,OFTC

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpbywU04tLBO.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] abcde flac: `metaflac': realloc(): invalid next size

2014-02-02 Thread Florian Friesdorf

% abcde -1 -o flac -a default,cue
Grabbing entire CD - tracks: 01 02 03 04 05 06 07 08 09 10 11
abcde: attempting to resume from /home/cfl/abcde.81097d0b..
Tagging track 01 of 01: Just This Moment...
*** Error in `metaflac': realloc(): invalid next size: 0x01226a80 ***

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpVAKVY6X68e.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] nixos tests variables and interactive testing

2014-06-21 Thread Florian Friesdorf

Hi,

I'm writing nixos tests for python and fail to find documentation
beyond:

[6.6. NixOS Tests](http://nixos.org/nixos/manual/#ch-development)

What nix variables are available within a testScript and how can I use
them?

How can I stop a test, get an interactive shell to investigate things
and then continue?

regards
florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpXnTkoefJzj.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] nixos tests variables and interactive testing

2014-06-21 Thread Florian Friesdorf
Florian Friesdorf  writes:
> Hi,
>
> I'm writing nixos tests for python and fail to find documentation
> beyond:
>
> [6.6. NixOS Tests](http://nixos.org/nixos/manual/#ch-development)
>
> What nix variables are available within a testScript and how can I use
> them?

I figured meanwhile that it is no different from any other nix
expression - surprise!

> How can I stop a test, get an interactive shell to investigate things
> and then continue?

This still bothers me.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp6TzYBZaRCK.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] nixos tests variables and interactive testing

2014-06-21 Thread Florian Friesdorf
Florian Friesdorf  writes:
> Florian Friesdorf  writes:
>> How can I stop a test, get an interactive shell to investigate things
>> and then continue?
>
> This still bothers me.

And if one reads the manually (carefully) it says so right there.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpfShRF6CVBz.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] nixos tests variables and interactive testing

2014-06-22 Thread Florian Friesdorf
Florian Friesdorf  writes:
> Florian Friesdorf  writes:
>> Florian Friesdorf  writes:
>>> How can I stop a test, get an interactive shell to investigate things
>>> and then continue?

It is possible to get an interactive perl prompt.

Really nice would be a real shell, with tab completion and things. I
assume that something like that could be achieved using ssh. Are there
best practices for this?

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgposE8soPHUG.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] Variable interpolation in strings read from files

2014-06-22 Thread Florian Friesdorf

Hi,

let
  a = "Hello world";
in
  ${./script.pl};

and content of ./script.pl being:
print ${a};

It would be nice if there would be a way to interpolate variables in the
string read from ./script.pl, just like the content would be written
in-place.


For more context:

https://github.com/chaoflow/nixpkgs/blob/f90ad800b7cea03264137327f9f897938602371b/nixos/tests/python.nix#L23
https://github.com/chaoflow/nixpkgs/blob/f90ad800b7cea03264137327f9f897938602371b/nixos/tests/python/preamble.pl


and a workaround:

https://github.com/chaoflow/nixpkgs/blob/fdbf736ccc6e53a0454b2cd52858fc8082df8917/nixos/tests/python.nix#L23
https://github.com/chaoflow/nixpkgs/blob/fdbf736ccc6e53a0454b2cd52858fc8082df8917/nixos/tests/python/preamble.pl


regards
florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpX3AZ0zYj1c.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Variable interpolation in strings read from files

2014-06-22 Thread Florian Friesdorf

Upfront, I partly talked non-sense before, so I might have transported a
wrong picture.

Vladimír Čunát  writes:
> On 06/22/2014 01:11 PM, Florian Friesdorf wrote:
>> It would be nice if there would be a way to interpolate variables in the
>> string read from ./script.pl, just like the content would be written
>> in-place.
>
> Usually one can use substituteAll; see qt4 for example.
>
> It uses a different syntax for what is replaced, but one typically does 
> need a different syntax if substituting in shell-like files.

This is working using "import" and some nix boilerplate in the perl
files.

https://github.com/chaoflow/nixpkgs/blob/7482884953fcd8d3f29d84b864c53c46728d6910/nixos/tests/python.nix#L23

Now, I'd like to get rid of that nix boilerplate. It feels that a
library function doing what substituteAll is doing would be great:

testScriptPreamble = interpolate attrset (readFile ./python/preamble.pl);

I'm happy to switch to whatever variable markup and also to write that
function. Just don't want to go a direction that makes no sense.

Any thoughts?

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpkVbJRbawxT.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Variable interpolation in strings read from files

2014-06-22 Thread Florian Friesdorf
Vladimír Čunát  writes:
> On 06/22/2014 02:55 PM, Florian Friesdorf wrote:
>> Any thoughts?
>
> I *did* mean using the library function substituteAll. (It's not only a 
> bash function in stdenv's setup.) It uses practically the syntax you 
> propose. See qt4 for example.

qt4 uses pkgs.substituteAll to read a source file, perform substitution
on it and write a target file. It returns the path to the target file.

This works and I get a file with variables substituted, e.g.:
/nix/store/x32hziqm127agl1ipr6sfs7p9j8zdvpm-preamble.pl

Now I try to read this file:

  testScriptPreamble = { debug, full, pythonstr }:
let debug_ = if debug then "true" else "";
full_ = if full then "true" else "";
in readFile (pkgs.substituteAll { src = ./python/preamble.pl;
  inherit debug_ full_ pythonstr; });

and get:
% nix-build python.nix -A virtualenvPython27Full 
error: string `/nix/store/x32hziqm127agl1ipr6sfs7p9j8zdvpm-preamble.pl' cannot 
refer to other paths, at /home/cfl/dev/nixos/nixpkgs/nixos/tests/python.nix:26:8

Current full experiment:
https://github.com/chaoflow/nixpkgs/blob/5f2341e96cd48c6d75ca9abf7447cc4b04f04611/nixos/tests/python.nix#L26

Is there a way to get this work with pkgs.substituteAll?


I'm thinking of something like:

  testScriptPreamble = { debug, full, pythonstr }:
let attrs = {
  debug_ = if debug then "true" else "";
  full_ = if full then "true" else "";
      inherit pythonstr;
};
in pkgs.lib.substitute attrs (readFile ./python/preamble.pl);

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpaZWpxUqqtc.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Variable interpolation in strings read from files

2014-06-22 Thread Florian Friesdorf
Vladimír Čunát  writes:
> On 06/22/2014 03:45 PM, Florian Friesdorf wrote:
>> Now I try to read this file:
>
> Ah, sorry, I didn't notice that you used the result as a nix string.
>
> Switching back and forth between nix (strings) and derivations (files) 
> is better avoided. The readFile function is only meant for what you have 
> among the nix source expressions. One probably can do more with 
> "recursive nix".
>
> Personally, I would try to do all work from that substituteAll point in 
> derivations and not through nix strings (i.e. catenate by cat command).

I've got a working solution:
https://github.com/chaoflow/nixpkgs/blob/2efc8fe32239cccab0e1b89b3c0983a2857dd128/nixos/tests/python.nix#L23

Should I move replaceSubstring and interpolateAtAtVars to
lib/strings.nix?

Suggestions for better naming?

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpgCPZ4wOU6C.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] pytables, numexpr, and pandas

2014-06-23 Thread Florian Friesdorf

Hi Andreas and Mateusz,

great work!

Andreas Herrmann  writes:
> On 15 June 2014 22:11, Mateusz Kowalczyk  wrote:
>> On 06/15/2014 09:09 PM, Andreas Herrmann wrote:
>> > On 15 June 2014 02:28, Mateusz Kowalczyk 
>> wrote:
>> >> On 06/14/2014 11:17 PM, Andreas Herrmann wrote:
>> > Okay, it runs on all python versions except pypy. Which is to be
>> expected.
>> > However, the pypy branch seems to be somewhat broken. The build failed at
>> > setuptools long before it reached my package.

Thx for reporting, I'm working on nixos python test suites and made a
note to investigate.

>> > I dug a little deeper and found that the problem was actually rooted in
>> the
>> > hdf5 package. pytables needs it to be built with zlib. I put that in, and
>> > also fixed the szip package. However, both could be called optional
>> > dependencies on hdf5. Do you know, how I can make pytables depend on hdf5
>> > with a certain set of parameters? Or are these things handled through
>> > comments and documentation?
>> >
>> > To be more explicit: say hdf5 has the parameters `{ stdenv, fetchurl,
>> zlib
>> > ? null, szip ? null }`. How can I make pytables depend on hdf5 in such a
>> > way, that it requires `zlib != null`, but doesn't care about `szip`?
>>
>> I can't say for sure but I'd imagine you'd simply override it as usual.
>> Say you have pytables at
>> development/python-modules/pytables.default.nix: your entry to
>> python-modules.nix could look like
>>
>> pytables = callPackage ../development/python-modules/pytables {
>>   hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; };
>> };

The solution looks good to me. However, from a brief look it feels that
one would want the default hdf5 package to be built with szip and
zlib.

What do you think?

In that case you would keep the hdf5 expression as is (so people can
disable), you would not need the override here, and would pass szip and
zlib to hdf5 in all-packages.

Waiting for you comment and/or changes and would then merge.

florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpd_DtDXR4cn.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] szip unfree? (was: Re: pytables, numexpr, and pandas)

2014-06-23 Thread Florian Friesdorf
Andreas Herrmann  writes:
> Well, my reason for not including szip by default was it's license.
>
> Quoting the hdf5-group page [1]:
>
>> Licensing terms
>> The version of Szip distributed with HDF products is free for
>> non-commercial use, which may occur in two sets of circumstances:
>> Non-commercial users may use the Szip software integrated with HDF
>> products to both encode (compress) and decode (uncompress) data. This
>> applies to educational and research applications.
>> Commercial users may use the software to decode any data. Further, they
>> may use the software in internal activities that do not involve or result
>> in the development of an Szip-based software product.
>> Commercial licenses are available for commercial users who wish to
>> distribute an Szip-based software product or engage in commercial uses that
>> are not allowed above. For further licensing information or to view a copy
>> of the Szip copyright statement, see Commercial use terms and the copyright
>> and license notice pertaining to Szip in HDF products.
>
> So, it's a license that requires some thought to figure out if you're
> allowed to use it or not. I thought it would be better not to include it by
> default, so that no one breaks the license unknowingly.
>
> I don't know what the Nix policy generally is, when it comes to licenses.
> Basically, I'm returning the question: Is it okay to include this package
> by default, or not?

I think you were right in not including the support by default.

Further, szip might have to set meta.license = "unfree", so you need to
allow it eg. in ~/.nixpkgs/config.nix.

{
  allowUnfree = true;
}

Opinions?

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpxI6q07YycT.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] szip unfree? (was: Re: pytables, numexpr, and pandas)

2014-06-23 Thread Florian Friesdorf

szip unfree or not is an issue independent of your pull request. I
merged - thanks a lot!

Florian Friesdorf  writes:
> Andreas Herrmann  writes:
>> Well, my reason for not including szip by default was it's license.
>>
>> Quoting the hdf5-group page [1]:
>>
>>> Licensing terms
>>> The version of Szip distributed with HDF products is free for
>>> non-commercial use, which may occur in two sets of circumstances:
>>> Non-commercial users may use the Szip software integrated with HDF
>>> products to both encode (compress) and decode (uncompress) data. This
>>> applies to educational and research applications.
>>> Commercial users may use the software to decode any data. Further, they
>>> may use the software in internal activities that do not involve or result
>>> in the development of an Szip-based software product.
>>> Commercial licenses are available for commercial users who wish to
>>> distribute an Szip-based software product or engage in commercial uses that
>>> are not allowed above. For further licensing information or to view a copy
>>> of the Szip copyright statement, see Commercial use terms and the copyright
>>> and license notice pertaining to Szip in HDF products.
>>
>> So, it's a license that requires some thought to figure out if you're
>> allowed to use it or not. I thought it would be better not to include it by
>> default, so that no one breaks the license unknowingly.
>>
>> I don't know what the Nix policy generally is, when it comes to licenses.
>> Basically, I'm returning the question: Is it okay to include this package
>> by default, or not?
>
> I think you were right in not including the support by default.
>
> Further, szip might have to set meta.license = "unfree", so you need to
> allow it eg. in ~/.nixpkgs/config.nix.
>
> {
>   allowUnfree = true;
> }
>
> Opinions?
>
> -- 
> Florian Friesdorf 
>   GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
> Jabber/XMPP: f...@chaoflow.net
> IRC: chaoflow on freenode,ircnet,blafasel,OFTC

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpv0Ih0Utqi5.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] nixlint or nixflakes?

2014-06-23 Thread Florian Friesdorf

Hi,

I would like to see a nixlint/nixflakes to encourage/enforce best
practices for nix expressions and work towards a unified style so I
don't have to think for myself what looks nicer or what would be the
correct way of doing things.

Ideally github would signal whether a pull requests passes this check.

What do you think?

florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpb9pWBjOsbH.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] rebuild impact factor

2014-06-23 Thread Florian Friesdorf

Hi,

it would be nice if github would show a "rebuild impact factor"?

Opinions/thoughts on the whether and how?

florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpyALJzokQzN.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] rebuild impact factor

2014-06-24 Thread Florian Friesdorf
Ludovic Courtès  writes:
> Florian Friesdorf  skribis:
>
>> it would be nice if github would show a "rebuild impact factor"?
>
> In the old days, Nicolas Pierron wrote a script that attempted to
> compute that factor, maintainers/scripts/rebuild-amount.sh.

That would do it, but currently seems broken:

% NIXPKGS=. ./maintainers/scripts/rebuild-amount.sh --git master..HEAD
Please wait, this may take some minutes ...
Number of package to rebuild:
_tmp_rebuild-amount-AFxbZ4Gq_.vcs -> .: 0

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpl3RIcxydfw.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Variable interpolation in strings read from files

2014-06-25 Thread Florian Friesdorf

Hi Eelco, Vlada,

thank you for your feedback!

Eelco Dolstra  writes:
> On 22/06/14 16:41, Florian Friesdorf wrote:
>
>>> Personally, I would try to do all work from that substituteAll point in 
>>> derivations and not through nix strings (i.e. catenate by cat command).
>
> Right. Doing large string rewrites at evaluation time is a bad idea
> because it's slow.

I understand now that with pkgs.substiuteAll I would write a new file
which serves as an input to my expression and would only be updated if
the source file changed in contrast to do the substitution with every
evaluation.

Am I correct that my solution performs about as good as the in-place
testScripts for tests/installer.nix which us ${ } and that as Vlada said
this would be bad within pkgs.* but okish within nixos/tests?

Would caching of function values within nix be an option, so that
caching does not only happen via the store?

>> I've got a working solution:
>> https://github.com/chaoflow/nixpkgs/blob/2efc8fe32239cccab0e1b89b3c0983a2857dd128/nixos/tests/python.nix#L23
>> 
>> Should I move replaceSubstring and interpolateAtAtVars to
>> lib/strings.nix?
>
> At first glance, these functions seem pretty slow to me (since they use
> splitString). So it's probably not a good idea to add them to the standard
> library (and I'd prefer removing splitString from there).

They are definitely slow in their current form.

Florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpw179G8PqGF.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] nixos tests: include multiple tests from one nix file

2014-06-25 Thread Florian Friesdorf

Hi,

I'd like soonish to push and include tests for python in master. Do you
see problems with the way I am doing this?

https://github.com/chaoflow/nixpkgs/commit/75e4ad8f2a81a0517105cc4e8592b74268ebb6d0

Apart from the hardcoded "import tests/python.nix", which I'm going to
fix.

https://github.com/chaoflow/nixpkgs/commit/75e4ad8f2a81a0517105cc4e8592b74268ebb6d0#diff-831e8d9748240fb23e6734fdc2a6d16eR24

florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgplTY_SBmG3J.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] nixos tests: include multiple tests from one nix file

2014-06-25 Thread Florian Friesdorf
Eelco Dolstra  writes:
> On 25/06/14 13:34, Florian Friesdorf wrote:
>> I'd like soonish to push and include tests for python in master. Do you
>> see problems with the way I am doing this?
>
> Are these actually NixOS tests? Seems to me that Python tests are more 
> something
> to be done in Nixpkgs proper (or maybe in a separate jobset for Python tests).
> We don't currently have a tests.* set in the Nixpkgs release.nix, but it would
> be good to have one.

They test the usage and interaction of python packages installed into a
nix profile.

Currently, they use the system profile and are therefore NixOS-specific,
but could be fixed easily to use any profile.

Further, it would be enough to have a profile and an empty directory to
run the tests with, the nixos test isolation with qemu seems to be
overkill.

Does that qualify for a python-tests jobset within nixpkgs?
Where to go from here?

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp9wycPKMFw9.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] nixos tests: include multiple tests from one nix file

2014-06-25 Thread Florian Friesdorf
Florian Friesdorf  writes:
> Eelco Dolstra  writes:
>> On 25/06/14 13:34, Florian Friesdorf wrote:
>>> I'd like soonish to push and include tests for python in master. Do you
>>> see problems with the way I am doing this?
>>
>> Are these actually NixOS tests? Seems to me that Python tests are more 
>> something
>> to be done in Nixpkgs proper (or maybe in a separate jobset for Python 
>> tests).
>> We don't currently have a tests.* set in the Nixpkgs release.nix, but it 
>> would
>> be good to have one.
>
> They test the usage and interaction of python packages installed into a
> nix profile.
>
> Currently, they use the system profile and are therefore NixOS-specific,
> but could be fixed easily to use any profile.
>
> Further, it would be enough to have a profile and an empty directory to
> run the tests with, the nixos test isolation with qemu seems to be
> overkill.

It would be enough and even more comfortable if the test script would
just be a (ba)sh script run with -e. I can imagine how to do this based
on mkDerivation, but fail yet to see how to create something similar to
a profile with the test dependencies installed.

Currently, I have tests failing when run with packages from the system
profile, but they succeed when reproduced with a "normal" profile. So it
seems important how the profile is created.

> Does that qualify for a python-tests jobset within nixpkgs?
> Where to go from here?

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpWCwFIIzAAr.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] nix-build recurse into attributes

2014-06-26 Thread Florian Friesdorf

Hi,

would it be sane for nix-build to have an option to recurse into
attributes so you could for example build all nixos tests like:

% nix-build -A tests --recurse nixos/release.nix

florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpjlPtRYpWBF.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] nix-build recurse into attributes

2014-06-27 Thread Florian Friesdorf
Florian Friesdorf  writes:
> Hi,
>
> would it be sane for nix-build to have an option to recurse into
> attributes so you could for example build all nixos tests like:
>
> % nix-build -A tests --recurse nixos/release.nix

Based on an idea by johnw, using the following snippet allows running
all tests with `-A all`, where are rv is what would be usually returned:

in rv // {
  all = fold (name: acc: acc // (mapAttrs' (n: v: nameValuePair (name + "-" + 
n) v)
   (getAttr name rv)))
 {}
         (attrNames rv);
}

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpVREZ86xqe4.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] determining run-time only dependencies from output, recursive nix?

2014-07-07 Thread Florian Friesdorf

Hi,

Background: python packages can be built to contain easily parsable
runtime dependency information (called requirements from now on).

I'm pondering the idea of a two-stage build:


1. base package with optional build time dependencies:

  lxml' = callPackage ({ libxml2, libxslt }: self.build {
distname = "lxml";
version = "3.3.5";
md5 = "88c75f4c73fc8f59c9ebb17495044f2f";
buildInputs = [ libxml2 libxslt ];
  }) {};

The base package contains METADATA with requirement information, which
can be directly mapped to an attribute path (taken from a different
package for the sake of simplicity):

  % grep Requires 
/nix/store/...-ipdb-0.7/lib/python2.7/site-packages/ipdb-0.7.dist-info/METADATA 
  
  Requires-Dist: ipython (>=0.10)


2. real package to be installed into profiles, pulling in its requirements

  ipdb = buildRealPackage {
basePackage = ipdb'
  }


Installing ipdb should result in ipdb' and ipython' to be installed into
the profile.


Do you see ways to achieve this?
Is recursive nix an option / needed?


regards
florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpCbtTcC8tXB.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Nix users going to EuroPython

2014-07-15 Thread Florian Friesdorf

Georges Dubus  writes:
> Hello there
>
> I know for a fact there's a non-empty intersection between Python and Nix
> users, so I guess I won't be the only one going to the EuroPython.
>
> Domen will be giving a talk[1] which promises to be interesting.
>
> Is anyone interested in a Nix meetup there, or even a Nix/Python sprint on
> the weekend ?

+1

> [1] https://ep2014.europython.eu/en/schedule/sessions/37/

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpH9Or0iZPq7.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Zero Hydra Failures (ZHF) project

2014-08-08 Thread Florian Friesdorf

Rok Garbas  writes:
> Quoting Paul Colomiets (2014-08-08 15:13:57)
>> On Fri, Aug 8, 2014 at 3:35 PM, Eelco Dolstra
>>  wrote:
>> >
>> > Note the huge number of Haskell and Python packages.
>> >
>> 
>> For Python many of them doesn't support that version of python.
>> Wouldn't it be nice to declare supported versions inside a package,
>> inside of moving package to various sets. I.e.:
>> 
>> declarePythonPackage {
>>   supportedPython = [Py33 Py34];
>>   name = ...
>>   src = ..
>> }
>> 
>> What do you think?
>
> with python rework[1] going on, this would be nice also to solve there?
> chaoflow, iElectric any ideas from your side?

The wheels-based system knows a disable flag:
https://github.com/chaoflow/nixpkgs/blob/python/pkgs/development/python-wheels/wheels.nix#L44

I think black-listing python versions means less work than
white-listing. I guess most packages break either because of not
supporting 2.6 anymore or not supporting 3.x, yet. Once we flag that
properly, adding a new python version is unlikely to break a package.

Wit white-listing we would need to add it to every package.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpii26zby0ue.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Zero Hydra Failures (ZHF) project

2014-08-08 Thread Florian Friesdorf

On the long run python2.6 and the corresponding disable flags will be
gone and packages will support 2.7 and 3.x. I expect disable flags to be
the exception.

Anyway, the work needed is to do the flagging. We are doing this for the
wheels we are working on and I'm also looking at the sprint in Ljubljana
to get that ready to be merge into master.

Luca Bruno  writes:
> Not necessarily. Think like platforms.gnu. There may be a
> meta.pythonVersions and a default pythonVersions.default2 and
> pythonVersions.default3 and pythonVersions.all or such. Then adding a new
> major version to all packages is a metter of adding it to the default list.
>
>
> On Fri, Aug 8, 2014 at 5:40 PM, Florian Friesdorf  wrote:
>
>>
>> Rok Garbas  writes:
>> > Quoting Paul Colomiets (2014-08-08 15:13:57)
>> >> On Fri, Aug 8, 2014 at 3:35 PM, Eelco Dolstra
>> >>  wrote:
>> >> >
>> >> > Note the huge number of Haskell and Python packages.
>> >> >
>> >>
>> >> For Python many of them doesn't support that version of python.
>> >> Wouldn't it be nice to declare supported versions inside a package,
>> >> inside of moving package to various sets. I.e.:
>> >>
>> >> declarePythonPackage {
>> >>   supportedPython = [Py33 Py34];
>> >>   name = ...
>> >>   src = ..
>> >> }
>> >>
>> >> What do you think?
>> >
>> > with python rework[1] going on, this would be nice also to solve there?
>> > chaoflow, iElectric any ideas from your side?
>>
>> The wheels-based system knows a disable flag:
>>
>> https://github.com/chaoflow/nixpkgs/blob/python/pkgs/development/python-wheels/wheels.nix#L44
>>
>> I think black-listing python versions means less work than
>> white-listing. I guess most packages break either because of not
>> supporting 2.6 anymore or not supporting 3.x, yet. Once we flag that
>> properly, adding a new python version is unlikely to break a package.
>>
>> Wit white-listing we would need to add it to every package.
>>
>> --
>> Florian Friesdorf 
>>   GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
>> Jabber/XMPP: f...@chaoflow.net
>> IRC: chaoflow on freenode,ircnet,blafasel,OFTC
>>
>> ___
>> nix-dev mailing list
>> nix-dev@lists.science.uu.nl
>> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>>
>>
>
>
> -- 
> www.debian.org - The Universal Operating System

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpNw2dZVOQWF.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] Sprint topics

2014-08-15 Thread Florian Friesdorf

Hi,

in preparation for the sprint, please add your topics to the titanpad:

https://titanpad.com/7yn7iBQ6n2

For discussion it might be nice to have one reply per topic to this
email.

see you soon
florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpeyPeAne9Ar.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] Nixpkgs testing - Re: Sprint topics

2014-08-15 Thread Florian Friesdorf
Florian Friesdorf  writes:
> Hi,
>
> in preparation for the sprint, please add your topics to the titanpad:
>
> https://titanpad.com/7yn7iBQ6n2
>
> For discussion it might be nice to have one reply per topic to this
> email.

We have per-package tests during checkPhase and installCheckPhase, and
NixOS tests using qemu. Eelco Dolstra suggested [tests for
nixpkgs](http://thread.gmane.org/gmane.linux.distributions.nixos/13465/focus=13469).

To test (python-packaging) in nixpkgs, I propose
[nixtest](https://github.com/chaoflow/nixtest/blob/master/nixtest.py#L94),
and test library and [tests in
nixpkgs](https://github.com/chaoflow/nixpkgs/tree/python/tests), would
like to discuss with you and possibly develop further.

Key features:

- Rerun failed tests from command line as your user, i.e. not via
  nix-build. This greatly eases debugging, not to speak of making it
  actually fun. The [nixpkgs testing
  
lib](https://github.com/chaoflow/nixpkgs/blob/python/tests/lib/default.nix#L120)
  creates a wrapper that creates and runs the test environment.

- Python as test language.

- [plumbum](http://plumbum.readthedocs.org/en/latest/index.html#user-guide)
  to construct cli calls.

- [click](http://click.pocoo.org/) for a powerful cli of the test runner
  itself

- Use [ipdb](https://github.com/gotcha/ipdb) to debug your tests, a
  debugger based on [ipython](http://ipython.org/) featuring tab
  completion among many other nice things

Missing:

- log messages in xml format suitable for hydra, currently only logged
  to stdout via python's logging library.

- hydra jobset (within nixpkgs release.nix)

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp4M2kH0Azbc.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] Wheel-based python packaging - Re: Sprint topics

2014-08-17 Thread Florian Friesdorf

Wheel-based python packaging

Key features:

- python wheels are not meant to be installed into profiles

- instead python.site is used to create sites meant to be installed into
  profiles. Scripts/entry-points, i.e. stuff in bin/, can be created
  selectively

- python.tool is used to create only scripts to be installed into a
  profile without potentially colliding libraries

For more info see
https://github.com/chaoflow/nixpkgs/tree/python/pkgs/development/python-wheels

Missing:

- per package testing

- generation of test/runtime/extra requirements from wheels metadata

- discussion of the overall approach

Florian Friesdorf  writes:
> Hi,
>
> in preparation for the sprint, please add your topics to the titanpad:
>
> https://titanpad.com/7yn7iBQ6n2
>
> For discussion it might be nice to have one reply per topic to this
> email.
>
> see you soon
> florian
> -- 
> Florian Friesdorf 
>   GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
> Jabber/XMPP: f...@chaoflow.net
> IRC: chaoflow on freenode,ircnet,blafasel,OFTC

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpy0vyy7Hxxy.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] python packages and dependencies

2011-09-21 Thread Florian Friesdorf

Hi!

buildPythonPackage happily fetches all dependency of a package defined
in setup.py. The dependencies in there are not necessarily fixed to a
specific version. Therefore, it's not guaranteed that one and the same
nix expression produces the same derivation. How is this handled?

florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp6YMgxqxs6O.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] nix-env vs pkgs.buildEnv

2011-09-21 Thread Florian Friesdorf

Installing two python-packages that within their derivation both have a
site.py works fine, nix-env ignores that file. However, defining an
environment using pkgs.buildEnv with the same packages in paths, results
in a collision because of site.py.

Why do nix-env and pkgs.buildEnv use different builders?
How can I teach pkgs.buildEnv to do the right thing, except telling it
to ignore the collision. I'd feel better knowing, that it knows how to
handle python packages.

florian
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp4O8i7vVaMx.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-commits] SVN commit: nix - r29427 - nixpkgs/trunk/pkgs/applications/networking/mailreaders/notmuch

2011-09-21 Thread Florian Friesdorf
Author: chaoflow
Date: Wed Sep 21 20:04:43 2011
New Revision: 29427
URL: https://ssl.nixos.org/websvn/nix/?rev=29427&sc=1

Log:
notmuch-0.8 all tests pass

Modified:
   nixpkgs/trunk/pkgs/applications/networking/mailreaders/notmuch/default.nix

Modified: 
nixpkgs/trunk/pkgs/applications/networking/mailreaders/notmuch/default.nix
==
--- nixpkgs/trunk/pkgs/applications/networking/mailreaders/notmuch/default.nix  
Wed Sep 21 18:48:04 2011(r29426)
+++ nixpkgs/trunk/pkgs/applications/networking/mailreaders/notmuch/default.nix  
Wed Sep 21 20:04:43 2011(r29427)
@@ -1,70 +1,75 @@
-{ fetchgit, stdenv, bash, emacs, gdb, git, glib, gmime, gnupg1, pkgconfig, 
talloc, xapian }:
+{ fetchurl, stdenv, bash, emacs, gdb, git, glib, gmime, gnupg1, pkgconfig, 
talloc, xapian }:
 
 stdenv.mkDerivation rec {
-  name = "notmuch-0.6-rc4";
+  name = "notmuch-0.8";
 
-  src = fetchgit {
-url = "git://github.com/chaoflow/notmuch";
-rev = "9f8ef78e0c6b28918f3edda06b59a9e8f9bef8e3";
-sha256 = 
"c7c425c10a695ca22dfbdf5fe8e0dcb6a888edc0b3388023e7ff35f69acc0085";
+  src = fetchurl {
+url = "http://notmuchmail.org/releases/${name}.tar.gz";;
+sha256 = 
"f40bcdc6447cae9f76d5b4e70ab70d87e4a813cd123b524c1dc3155a3371a949";
   };
 
   buildInputs = [ bash emacs gdb git glib gmime gnupg1 pkgconfig talloc xapian 
];
 
   # XXX: Make me a loop
   patchPhase = ''
-substituteInPlace "test/atomicity" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+# substituteInPlace "test/atomicity" \
+#   --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
+substituteInPlace "test/aggregate-results.sh" \
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/author-order" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/basic" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/crypto" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/dump-restore" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/emacs" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/emacs-large-search-buffer" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/encoding" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/from-guessing" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/json" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/long-id" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/maildir-sync" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/new" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/notmuch-test" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/raw" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/reply" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/search" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/search-by-folder" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/search-insufficient-from-quoting" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
+substituteInPlace "test/search-folder-coherence" \
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/search-output" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash}/bin/bash"
 substituteInPlace "test/search-position-overlap-bug" \
-  --replace "#!/bin/bash" "#!${bash}/bin/bash"
+  --replace "#!/usr/bin/env bash" "#!${bash

[Nix-commits] SVN commit: nix - r29428 - nixpkgs/trunk/pkgs/top-level

2011-09-21 Thread Florian Friesdorf
Author: chaoflow
Date: Wed Sep 21 20:05:24 2011
New Revision: 29428
URL: https://ssl.nixos.org/websvn/nix/?rev=29428&sc=1

Log:
ipython also as pythonPackages.ipython

Modified:
   nixpkgs/trunk/pkgs/top-level/python-packages.nix

Modified: nixpkgs/trunk/pkgs/top-level/python-packages.nix
==
--- nixpkgs/trunk/pkgs/top-level/python-packages.nixWed Sep 21 20:04:43 
2011(r29427)
+++ nixpkgs/trunk/pkgs/top-level/python-packages.nixWed Sep 21 20:05:24 
2011(r29428)
@@ -19,6 +19,12 @@
   };
 
 
+  ipython = import ../shells/ipython {
+inherit (pkgs) stdenv fetchurl;
+inherit buildPythonPackage pythonPackages;
+  };
+
+
   wrapPython = pkgs.makeSetupHook
 { deps = pkgs.makeWrapper;
   substitutions.libPrefix = python.libPrefix;
___
nix-commits mailing list
nix-comm...@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-commits


[Nix-commits] SVN commit: nix - r29429 - nixpkgs/trunk/pkgs/tools/networking/iodine

2011-09-21 Thread Florian Friesdorf
Author: chaoflow
Date: Wed Sep 21 20:05:38 2011
New Revision: 29429
URL: https://ssl.nixos.org/websvn/nix/?rev=29429&sc=1

Log:
iodine-0.6.0-rc1

Modified:
   nixpkgs/trunk/pkgs/tools/networking/iodine/default.nix

Modified: nixpkgs/trunk/pkgs/tools/networking/iodine/default.nix
==
--- nixpkgs/trunk/pkgs/tools/networking/iodine/default.nix  Wed Sep 21 
20:05:24 2011(r29428)
+++ nixpkgs/trunk/pkgs/tools/networking/iodine/default.nix  Wed Sep 21 
20:05:38 2011(r29429)
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib, nettools }:
 
 stdenv.mkDerivation rec {
-  name = "iodine-0.4.1";
+  name = "iodine-0.6.0-rc1";
 
   src = fetchurl {
 url = "http://code.kryo.se/iodine/${name}.tar.gz";;
-sha256 = "1d0v6wbrciwd0xi9khrna956v5wy7wy1inllzrn187as358kiiv5";
+sha256 = 
"dacf950198b68fd1dae09fe980080155b0c75718f581c08e069eee0c1b6c5e60";
   };
 
   buildInputs = [ zlib ];
___
nix-commits mailing list
nix-comm...@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-commits


[Nix-commits] SVN commit: nix - r29430 - nixpkgs/trunk/pkgs/development/libraries/talloc

2011-09-21 Thread Florian Friesdorf
Author: chaoflow
Date: Wed Sep 21 23:23:12 2011
New Revision: 29430
URL: https://ssl.nixos.org/websvn/nix/?rev=29430&sc=1

Log:
attempt to fix talloc build on darwin

see: https://bugzilla.samba.org/show_bug.cgi?id=7000

Modified:
   nixpkgs/trunk/pkgs/development/libraries/talloc/default.nix

Modified: nixpkgs/trunk/pkgs/development/libraries/talloc/default.nix
==
--- nixpkgs/trunk/pkgs/development/libraries/talloc/default.nix Wed Sep 21 
20:05:38 2011(r29429)
+++ nixpkgs/trunk/pkgs/development/libraries/talloc/default.nix Wed Sep 21 
23:23:12 2011(r29430)
@@ -10,6 +10,10 @@
 
   configureFlags = "--enable-talloc-compat1 --enable-largefile";
   
+  patchPhase = if stdenv.isDarwin then ''
+substituteInPlace "Makefile" --replace "SONAMEFLAG = #" "SONAMEFLAG = 
-install_name"
+  '' else "";
+
   meta = {
 description = "talloc is a hierarchical pool based memory allocator with 
destructors";
 homepage = http://tdb.samba.org/;
___
nix-commits mailing list
nix-comm...@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-commits


[Nix-commits] SVN commit: nix - r29431 - nixpkgs/trunk/pkgs/development/libraries/talloc

2011-09-21 Thread Florian Friesdorf
Author: chaoflow
Date: Wed Sep 21 23:31:51 2011
New Revision: 29431
URL: https://ssl.nixos.org/websvn/nix/?rev=29431&sc=1

Log:
indeed fix talloc build on darwin

Modified:
   nixpkgs/trunk/pkgs/development/libraries/talloc/default.nix

Modified: nixpkgs/trunk/pkgs/development/libraries/talloc/default.nix
==
--- nixpkgs/trunk/pkgs/development/libraries/talloc/default.nix Wed Sep 21 
23:23:12 2011(r29430)
+++ nixpkgs/trunk/pkgs/development/libraries/talloc/default.nix Wed Sep 21 
23:31:51 2011(r29431)
@@ -10,7 +10,8 @@
 
   configureFlags = "--enable-talloc-compat1 --enable-largefile";
   
-  patchPhase = if stdenv.isDarwin then ''
+  # https://bugzilla.samba.org/show_bug.cgi?id=7000
+  postConfigure = if stdenv.isDarwin then ''
 substituteInPlace "Makefile" --replace "SONAMEFLAG = #" "SONAMEFLAG = 
-install_name"
   '' else "";
 
___
nix-commits mailing list
nix-comm...@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-commits


[Nix-commits] SVN commit: nix - r29447 - nixpkgs/trunk/pkgs/games/scummvm

2011-09-22 Thread Florian Friesdorf
Author: chaoflow
Date: Fri Sep 23 02:23:05 2011
New Revision: 29447
URL: https://ssl.nixos.org/websvn/nix/?rev=29447&sc=1

Log:
scummvm more deps

Modified:
   nixpkgs/trunk/pkgs/games/scummvm/default.nix

Modified: nixpkgs/trunk/pkgs/games/scummvm/default.nix
==
--- nixpkgs/trunk/pkgs/games/scummvm/default.nixFri Sep 23 00:03:21 
2011(r29446)
+++ nixpkgs/trunk/pkgs/games/scummvm/default.nixFri Sep 23 02:23:05 
2011(r29447)
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, SDL, zlib, mpeg2dec}:
+{ stdenv, fetchurl, SDL, zlib, libmpeg2, libmad, libogg, libvorbis, flac, 
alsaLib }:
 
 stdenv.mkDerivation {
   name = "scummvm-1.2.1";
@@ -8,7 +8,7 @@
 sha256 = "029abzvpz85accwk7x79w255wr83gnkqg3yc5n6ryl28zg00z3j8";
   };
   
-  buildInputs = [SDL zlib mpeg2dec];
+  buildInputs = [ SDL zlib libmpeg2 libmad libogg libvorbis flac alsaLib ];
 
   crossAttrs = {
 preConfigure = ''
@@ -27,3 +27,4 @@
 homepage = http://www.scummvm.org/;
   };
 }
+
___
nix-commits mailing list
nix-comm...@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-commits


Re: [Nix-dev] python packages and dependencies

2011-09-22 Thread Florian Friesdorf
From 21838b4079b6f115dc317922b57c86ba5b66ca2d Mon Sep 17 00:00:00 2001
From: Florian Friesdorf 
Date: Fri, 23 Sep 2011 07:31:10 +0200
Subject: [PATCH] wip: pure python dependencies

---
 .../development/python-modules/generic/default.nix |   22 ---
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix
index 4614917..e5a9ffc 100644
--- a/pkgs/development/python-modules/generic/default.nix
+++ b/pkgs/development/python-modules/generic/default.nix
@@ -17,14 +17,17 @@
   # pollute the user environment.
   pythonPath ? []
 
+  # XXX: always-unzip for the sake of diffing profiles, for debugging right now
 , installCommand ?
 ''
-  easy_install --prefix="$out" .
+  easy_install --no-deps --always-unzip --prefix="$out" .
 ''
 
 , buildPhase ? "true"
 
-, doCheck ? true
+# python setup.py test otherwise triggers downloads, we also need to
+# forbid that and instead fail if a dep is not available.
+, doCheck ? false
 
 , checkPhase ?
 ''
@@ -56,6 +59,10 @@ python.stdenv.mkDerivation (attrs // {
 export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
 ${installCommand}
 
+# no python package is to deliver these, we generate our own .pth files
+find $out -name easy-install.pth | xargs rm -v
+find $out -name 'site.py*' | xargs rm -v
+
 ${postInstall}
   '';
 
@@ -67,8 +74,15 @@ python.stdenv.mkDerivation (attrs // {
   # dependencies in the user environment (since Python modules don't
   # have something like an RPATH, so the only way to find the
   # dependencies is to have them in the PYTHONPATH variable).
-  if test -e $out/nix-support/propagated-build-inputs; then
-  ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
+  if test -e $out/nix-support/propagated-build-native-inputs; then
+  ln -s $out/nix-support/propagated-build-native-inputs $out/nix-support/propagated-user-env-packages
   fi
+
+  # create pth file for this distribution
+  sitepackages=$out/lib/${python.libPrefix}/site-packages
+  for x in $sitepackages/*.egg; do
+   filename=`basename $x`
+   echo $filename > $sitepackages/$filename.nix.pth
+  done
 '';
 })
-- 
1.7.6


Hi Peter,

On Wed, 21 Sep 2011 22:09:02 +0200, Peter Simons  wrote:
> Hi Florian,
> 
>  > buildPythonPackage happily fetches all dependency of a package defined in
>  > setup.py. The dependencies in there are not necessarily fixed to a
>  > specific version. Therefore, it's not guaranteed that one and the same
>  > nix expression produces the same derivation. How is this handled?
> 
> I have noticed that, too, and I'm not about that "feature" either. I assume
> that there is a way (command-line flag) to tell 'distutils' to disable
> network access? Does anyone know how to do that?

Rok Garbas and me are sprinting currently in Arnhem on the Living
Statues Sprint. The attached patch tells easy_install not to install
dependencies, cleans a python package's site-packages and creates an
_nix.pth file for the python package. We get some
interesting behaviour:

Three environments:

config.nix:
{
  packageOverrides = pkgs:
  {
good1 = pkgs.buildEnv {
  name = "good1";
  paths = [
pkgs.python27
pkgs.python27Packages.simplejson
  ];
};
bad = pkgs.buildEnv {
  name = "bad";
  paths = [
pkgs.defaultStdenv
pkgs.python27
pkgs.python27Packages.simplejson
  ];
};
good2 = pkgs.buildEnv {
  name = "good2";
  paths = [
pkgs.zlib
pkgs.python27
pkgs.python27Packages.simplejson
  ];
};
  };
}

The egg in site-packages is loaded without specifying PYTHONPATH:

$ nix-env -p good1 -i good1 && ./good1/bin/python -c 'import sys;import 
pprint;pprint.pprint(sys.path); print sys.prefix; import site; print 
site.PREFIXES'
installing `good1'
['',
 '/tmp/cfl/good1/lib/python27.zip',
 '/tmp/cfl/good1/lib/python2.7',
 '/tmp/cfl/good1/lib/python2.7/plat-linux2',
 '/tmp/cfl/good1/lib/python2.7/lib-tk',
 '/tmp/cfl/good1/lib/python2.7/lib-old',
 '/tmp/cfl/good1/lib/python2.7/lib-dynload',
 '/tmp/cfl/good1/lib/python2.7/site-packages',
 
'/tmp/cfl/good1/lib/python2.7/site-packages/simplejson-2.1.3-py2.7-linux-x86_64.egg']
/tmp/cfl/good1
['/tmp/cfl/good1', '/tmp/cfl/good1']


The prefix is different and site-packages are not loaded:

$ nix-env -p bad -i bad && ./bad/bin/python -c 'import sys;import 
pprint;pprint.pprint(sys.path); p

[Nix-commits] SVN commit: nix - r29462 - in nixpkgs/trunk/pkgs: development/interpreters/python top-level

2011-09-23 Thread Florian Friesdorf
Author: chaoflow
Date: Fri Sep 23 17:00:13 2011
New Revision: 29462
URL: https://ssl.nixos.org/websvn/nix/?rev=29462&sc=1

Log:
python wrapper that sets PYTHONHOME to the profile it is in

Added:
   nixpkgs/trunk/pkgs/development/interpreters/python/pythonhome-wrapper.nix
Modified:
   nixpkgs/trunk/pkgs/top-level/all-packages.nix

Added: nixpkgs/trunk/pkgs/development/interpreters/python/pythonhome-wrapper.nix
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ nixpkgs/trunk/pkgs/development/interpreters/python/pythonhome-wrapper.nix   
Fri Sep 23 17:00:13 2011(r29462)
@@ -0,0 +1,21 @@
+{ stdenv }:
+
+stdenv.mkDerivation {
+  name = "pythonhome-wrapper";
+
+  unpackPhase = "true";
+  installPhase = ''
+ensureDir $out/bin
+echo '
+#!/bin/sh
+
+BINDIR=`dirname $0`
+PYTHONHOME=`dirname $BINDIR`
+PYTHONHOME=`(cd $PYTHONHOME && pwd)`
+export PYTHONHOME
+
+$BINDIR/python "$@"
+' > $out/bin/py
+chmod +x $out/bin/py
+  '';
+}

Modified: nixpkgs/trunk/pkgs/top-level/all-packages.nix
==
--- nixpkgs/trunk/pkgs/top-level/all-packages.nix   Fri Sep 23 16:58:45 
2011(r29461)
+++ nixpkgs/trunk/pkgs/top-level/all-packages.nix   Fri Sep 23 17:00:13 
2011(r29462)
@@ -2585,6 +2585,8 @@
 extraLibs = lib.attrValues python.modules;
   };
 
+  pythonhomeWrapper = callPackage 
../development/interpreters/python/pythonhome-wrapper.nix { };
+
   pyrex = pyrex095;
 
   pyrex095 = callPackage ../development/interpreters/pyrex/0.9.5.nix { };
___
nix-commits mailing list
nix-comm...@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-commits


[Nix-dev] python application vs python environment

2011-09-23 Thread Florian Friesdorf

Hi,

sorry for failing to express this in less words:

As far as I understand: a profile in nix is a derivation. A derivation
is build by linking in other derivations. By that installing a python
interpreter and additional python modules into a profile results in
these being linked from their respective derivations.

A python application (eg. offlineimap) installed in a profile is
isolated from the python environment that might also be installed there,
but uses the built time interpreter directly and PYTHONPATH to find the
needed modules in their derivations.

On the other hand, if I install python itself and additional modules
into a python profile, I would expect this profile to behave like a
native python installation or virtualenv environment with additional
modules.

With the patch I recently posted (Subject: python packages and
dependencies) python packages will not clutter their site-packages
directory with easy_install.pth and site.py files, but instead for every
distribution a .pth file is created that loads it.

Given that the python installed into the profile links over
pythonX.Y/site.py (buildEnv succeeds, nix-env fails so far) and that
python itself is not a symlink (see below), python then finds all
packages.

If python is not a symlink the sys.prefix and therfore search mechanisms
for site-packages works fine. If it is a symlink (happens if there is
more than one derivation supplying content for bin/) python will follow
it and find itself in its derivation, ending up with sys.prefix pointing
to the derivation instead of the profile.

By wrapping the python interpreter (see pythonhomeWrapper) and setting
PYTHONHOME to the profile, this can be prevented and site-packages are
correctly available. Doing the same for virtualenv (not committed yet)
enables virtualenv which otherwise complains about mismatching prefixes.

This would need to be done for all python shell commands that should be
connected with the environment they are installed in (like virtualenv,
ipdb, ipython).

A profile corresponds to what others call /usr and a python installed
there I would expect to feel at home there: -> sys.prefix set to the
profile.

I think we should have a python executable that feels at home in
whatever profile it is used.

Patching python itself not to resolve symlinks for finding its prefix, I
think is not an option, because that is what python does and what users
might expect.

Instead we need a python that stops resolving symlinks once it reached
its home profile (not continuing into its derivation).

A solution would be, not to link python and pythonX.Y from the
derivation, but instead to create two wrappers that set the PYTHONHOME
and call then the python in the derivation.

Do we break something by doing that?
How can I influence how a derivation is merged into another derivation?

regards
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpBtF3g71b2n.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] python application vs python environment

2011-09-24 Thread Florian Friesdorf
On Fri, 23 Sep 2011 23:27:40 +0200, Marc Weber  wrote:
> Excerpts from Florian Friesdorf's message of Fri Sep 23 20:46:12 +0200 2011:
> > By wrapping the python interpreter (see pythonhomeWrapper) and setting
> > PYTHONHOME to the profile, this can be prevented and site-packages are
> > correctly available.
> Yes, but it won't work if you want to make configure scripts find
> dependencies unless you start building up temporary PYTHONHOME's for
> each build.

Could you provide an example for what would not work, ie. list of shell
commands to type to run into a problem.

> The better solution NIX_PYTHON_SITES patch has been implemented by me
> and some packages such as pygtk has been patched properly (not for 3.0
> though). Its like PYTHONHOME but supports multiple paths which requires
> some packages to be patched because they want to install into that one
> HOME.

Where is that patch?

> Eventually you should consider having a look at my work. Its not
> complete, But I'm pretty sure that it has some pretty nice ideas.
> For ruby I start building up environments for individual projects:
> ...
> The system is strong enough to not allow two versions of the same libraries to
> be put into the same env. It also resolves dependencies automatically.
> You can add version constraints eg force "savon == 3.2".
> 
> Needless to say that those envs also generate tag files for you automatically.

You are sketching a "system" that builds environments in contrast to
simple nix profiles, which does dependency resolution and creates tag
files. This sounds like interesting pieces of functionality. For me
personally, it would be great to see them as isolated (mostly
independent) patches/applications. I don't want to change nix, but make
its tools fulfill my and other python developers needs.

So, a resolver I see relevant to generate nix expressions (see other
thread currently running). Generation of tag files is something for a
development environment.

There is the concept of a profile in nix and I feel it important to have
a definition of how python behaves in such a profile. If a nix profile
is not suitable to generate a working python environment, than we should
have documented why not and why we do not intend to fix it and what to use
otherwise.

I think (for now): that

- a python and its modules installed in a profile should be a working
  python environment,

- python development tools (virtualenv, ipdb) installed into it should
  be using it,

- its possible to have multiple python versions in one profile

- python applications installed into the profile do not use the python
  environments of the profile but instead their own PYTHONPATH-isolated
  one.

> > Instead we need a python that stops resolving symlinks once it reached
> > its home profile (not continuing into its derivation).
> > 
> > A solution would be, not to link python and pythonX.Y from the
> > derivation, but instead to create two wrappers that set the PYTHONHOME
> > and call then the python in the derivation.
> I have to think about this. I won't have time within the next 8 days or so.
> 
> > How can I influence how a derivation is merged into another derivation?
> Not sure what you're referring to here.

When nix merges a derivation into a profile, all its files will be
linked to the profile. More specifically, if the derivation is the only
provider of a directory, the directory will be linked instead of
individually linking its contents.

If ./bin/python is a symlink, we have currently a problem and PYTHONHOME
would be a solution, if python is a real file, we do not have a problem.

So instead of symlinking the python executable, nix-env should be instructed
to hard-link it - is this possible?

regards
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp7lvD6lcL6b.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] nix store: hardlink vs symlink (was Re: python application vs python environment)

2011-09-24 Thread Florian Friesdorf

Isolating aspects of the original mail:

On Sat, 24 Sep 2011 14:36:20 +0200, Florian Friesdorf  wrote:
> If ./bin/python is a symlink, we have currently a problem and PYTHONHOME
> would be a solution, if python is a real file, we do not have a problem.
> 
> So instead of symlinking the python executable, nix-env should be instructed
> to hard-link it - is this possible?

Why is nix using symlinks to link files in the nix store?
Would switching to hardlinks break something?

- symlinks in case of whole directories
- hardlinks for individual files

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpWI8UPz99Lr.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] distutils2nix/python4nix

2011-09-24 Thread Florian Friesdorf
On Sat, 24 Sep 2011 10:38:41 +0400, Michael Raskin <7c6f4...@mail.ru> wrote:
> >Before we start writing cabal2nix, perl2nix, X2nix: How should the
> >result look like?
> >There are 20.000 ruby packages!
> >And I personally don't like seeing more and more individual "let me
> >update just this package and then that cause I need it right now and I
> >don't know what this might break.." There is no choice unless we start
> >supporting constraints.
> 
> I am afraid this would mean building a solid general-purpose 
> data-grinding programming language into Nix. The idea to keep Nix small
> seems to be still held, and it will not help us build a constraint 
> solver.
> 
> We can - as usual - trade HDD space for sanity damage. That way every 
> version of every package has its preference of versions of all other 
> packages and we sometimes try to remove obsolete versions.

+1
 
> >In theory I've packaged all of those ruby packages. But do we really
> >want to checkout such masses of .nix files to get only 10 packages?
> >
> >Or would it be much better to query PyPi package database, cpan, ..
> >lazily (which would require changing nix?)
> 
> Or not Nix. If you have a way to programmatically generate all these 
> expressions, it is a no-brainer to find/write a FUSE FS tht will simply
> generate the file whenever it is needed. Default checkout will have some
> packages voted essential, and everyone can mount overlay and pretend all
> rubyforge is there.

+1

> The real problem with that solution would be deciding on policy of 
> keeping checksums. Of course, I could keep checksums locally. That would
> give me all local benefits of Nix (I can reproduce whatever I have ever
> done - maybe I should copy checksum DB over to be sure, but that seems 
> acceptable, if suboptimal), but denies global checksum synchronization.
> Maybe we could have some online service to use for that database.

I'm in favor of checksum synchronization. But for now I would just focus
on how to automatically generate nix trees for the various languages.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgp8p61VVGFAX.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] distutils2nix/python4nix

2011-09-24 Thread Florian Friesdorf
On Fri, 23 Sep 2011 23:12:14 +0200, Marc Weber  wrote:
> Excerpts from Peter Simons's message of Fri Sep 23 21:21:16 +0200 2011:
> > One issue that you might want to consider is that the "pythonPackages"
> > set needs to support several different versions of Python, i.e. the
> > python interpreter needs to be an argument to that expression.
> > Currently, we cannot build our python packages with Python 3.x, for
> > example, which is really a shame.
> 
> And that's the issue: The python packages don't say "I'm tested with
> python-2.7". There are some wired automatic conversion tools.
> 
> Before we start writing cabal2nix, perl2nix, X2nix: How should the
> result look like?
> There are 20.000 ruby packages!
> And I personally don't like seeing more and more individual "let me
> update just this package and then that cause I need it right now and I
> don't know what this might break.." There is no choice unless we start
> supporting constraints.
> 
> In theory I've packaged all of those ruby packages. But do we really
> want to checkout such masses of .nix files to get only 10 packages?
> 
> Or would it be much better to query PyPi package database, cpan, ..
> lazily (which would require changing nix?)

I would first create all thix X2nix and Y4nix tools, once we have them
we can think about whether and how to use them on-the-fly. Solving
constraints would happen in those tools (maybe via a hook) and could be
implemented as a generic, language independent solver (in prolog?, as
Peter suggested). Or it might be feasible to use a language's own
package manager to handle the resolving. But at the time a nix
expression is being installed, that resolving has happened already and
eg. python setup.py install is not allowed to fetch any dependencies.

In any case nix knows how to handle nix expressions, so let's feed it
nix expressions and use the magic to create them.
 
> For python there is another issue: You have to run the setup.py file in
> most cases to learn about package dependencies.

You as a person generating nix expressions currently have to, changes
towards a declarative format are ahead.

> I already have written kind python 2 nix and its good enough to install
> some packages on the fly but still needs much more love.
> 
> If you want to learn about this way (which perfectly work for all ruby
> versions) I'll point you to the code and explain how to use it.

You were showing me all these tools, but I failed in seeing the
currently relevant pieces. As said before, I am not searching an
integrated new solution, but pieces to extend/adjust nix.
 
> I personally believe that the final solution should take version
> constraints into account so that you can fail early.

+1 at the time of nix expression generation

> How should this all look in the future (there are vim, emacs, perl,
> ruby, python, eclipse, zsh, haxe, java, scala, ... ) packages to package.
> And eg for scala, java it almost impossible to keep up to date using the
> current manual way.

I'm not sure what you mean with "current manual way". As far as I
understand Peter uses cabal2nix and haskell4nix to semi-automatically
maintain the haskell expressions. cabal2nix generates a nix expression
and haskell4nix keeps nix haskell tree up-to-date. You run haskell4nix,
check whether things look good, install something, run some tests, and
check it in.

Maybe Peter can explain in more detail what manual work he currently
needs to do and where he sees potential for further automisation.

I prefer a "manually" maintained tree over on-the-fly. Having explicit
nix expressions allows for somebody/something to test these and building
a database of known good sets of packages. If we generate the
expressions on-the-fly, we would need a database of checksums in order
to know whether the on-the-fly generated expressions are what we want
them to be (as brought up by Michael).

> It may be possible to tune the tools (sbt, maven,
> ..) to use the nix store as cache at least..
> And I'm pretty sure that I've forgotten tons of package solutions (eg
> ocaml)
> 
> Thoughts?

Are your tools providing the functionality of distutils2nix/python4nix
described so far?

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpjVy91dEPD3.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] fetchgit vs tarball creation, privately maintained infrastructure

2011-09-24 Thread Florian Friesdorf

I messed up Subject and Cc m( Now, with Marc's permission publicly.

My original mail:
> Hi Marc,
> 
> there are currently several expressions pointing to your server
> resulting in 404s.
> 
> Why do you prefer to put sources on your private server instead of
> public infrastructure?
> 
> Maybe we can keep the benefits and still profit from assumed higher
> availability of public infrastructure.
> 
> regards
> florian


On Fri, 23 Sep 2011 23:19:55 +0200, Marc Weber  wrote:
> (..)
> I haven't had time to recover. Tell me the target packages and I'll
> upload everything required to build them.

see the attached file

> Why don't I use fetchgit etc? Cause its too slow. My internet is slow.
> I need incremental updates. That's why I wrote nix-repository-manager
> to serve my needs.

To solve that I would rather teach fetchgit to keep a cache of its
repositories, instead of creating tarballs. Many things I install via
fetchgit, I anyway want to have on my laptop for development. Having one
common cache from which fetchgit for nix and you for development can
clone.

Anyway, I think nix expressions should not depend on anybody's private
infrastructure, but instead use public infrastructure.

> > Why do you prefer to put sources on your private server instead of
> > public infrastructure?
> > Maybe we can keep the benefits and still profit from assumed higher
> > availability of public infrastructure.
> I'm planing to put my stuff on amazon. I can't afford huge build farms.
> But being able to launch some nice CPU powered instances on Amazon will
> allow to me provide binaries for my branches.

I don't think its necessary that you provide your own hosting
infrastructure for that.

> Currently my tool supports pushing tars by SSH. It should be doable to
> make it cope with any public infrastructure. Which one do you suggest?

I would not like to see packages use that approach without agreement
that we in nix are generating tarballs for things available via
git/svn/...

I think the approach of caching is more fruitful. If we agree to create
tarballs instead of fetching git, there is some good reason for it and
those tarballs should be hosted on nix infrastructure, i.e. making it a
solution used by every package maintainer.

> If you want to join tell me. A lot of my patches did never get any
> review. And committing them without "ok" was no good according to ludo
> either. That's why I had to fork (also because SVN is too slow for me).

I'd happy to review isolated patches implementing functionality I'm
interested in.



mawercer.de
Description: Binary data
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpXdp2Arf1CJ.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] nix store: hardlink vs symlink

2011-09-24 Thread Florian Friesdorf
On Sat, 24 Sep 2011 16:41:07 +0200, Peter Simons  wrote:
> Hi Florian,
> 
>  > Why is nix using symlinks to link files in the nix store?
>  > Would switching to hardlinks break something?
> 
> why do you think that hardlinks would be preferable?

Two profiles:
/tmp/cfl/bad: more than one derivation provides ./bin content,
./bin/python is a symlink

/tmp/cfl/good1: only python provides ./bin content, ./bin/python is not
a symlink.

If ./bin/python is a symlink, python will resolve it to find its home
and set sys.prefix accordingly. It ends with the python derivation being
the home (bad):
readlink("/tmp/cfl/bad/bin/python", 
"/nix/store/vzpvrymynp4n93bznxha6hadj0ww68vx-python-2.7.1/bin/python", 4096) = 
67
readlink("/nix/store/vzpvrymynp4n93bznxha6hadj0ww68vx-python-2.7.1/bin/python", 
0x7fff5ec0fa60, 4096) = -1 EINVAL (Invalid argument)


If ./bin/python is not a symlink, the profile python is installed to
becomes the home and therefore sys.prefix (good):
readlink("/tmp/cfl/good1/bin/python", 0x7fff013ffc10, 4096) = -1 EINVAL 
(Invalid argument)


I think the profile should be the home in both cases.

Making ./bin/python (and ./bin/pythonX.Y) a real file would solve the
problem.

> It is easy to determine where a symlink points to, but it's expensive to
> determine that for a hardlink. That information is oftentimes relevant,
> though, i.e. when analyzing run-time dependencies between store paths.

As python links in many more files than only ./bin/python and
./bin/pythonX.Y, would it be ok, to not symlink these two files, but
simply copy them or is there some other nix-conformant way to avoid the
symlinks for these two files?

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpm1wIcfdl43.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] nix store: hardlink vs symlink

2011-09-24 Thread Florian Friesdorf
On Sat, 24 Sep 2011 08:03:03 -0700, s...@shealevy.com wrote:
> It seems like the problem here is with Python, not nix. Isn't there a way
> to set some env var or command line flag to set sys.prefix manually? Then
> you can create a wrapper script to call the "real" Python with the right
> value.

Setting PYTHONHOME overrides the prefix, pythonhomeWrapper (WIP) does
that.

Having:
pyhome = pkgs.buildEnv {
  name = "pyhome";
  paths = [
pkgs.defaultStdenv
pkgs.python27
pkgs.python27Packages.simplejson
pkgs.pythonhomeWrapper
  ];
};

you get an environment where ./bin/py is starting a python with correct
prefix.

I'm in favor of changing the python expressions to replace all relevant
scripts (./bin/python, ./bin/pythonX.Y, maybe more) with wrapped
versions.

Are there reasons against doing so?

> Or patch Python not to follow symlinks like that.

I think we should not change that, because that's what python does and
there might be people using it. Will bring this up on python-dev.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpx3ocEO8mCz.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] nix store: hardlink vs symlink

2011-09-24 Thread Florian Friesdorf
On Sat, 24 Sep 2011 17:15:08 +0200, Peter Simons  wrote:
> Hi Florian,
> 
>  > If ./bin/python is a symlink, python will resolve it to find its home
>  > and set sys.prefix accordingly.
> 
> it seems to me like Python is behaving perfectly reasonable. The prefix of
> Python is at /nix/store/vzpvrymynp4n93bznxha6hadj0ww68vx-python-2.7.1. The
> other paths, /tmp/cfl/bad or /tmp/cfl/good1, are not its prefix.
> 
> Why would you want Python to believe that its prefix would be at one of those
> paths?

The prefix determines where python searches for site-packages.

I currently see two ways python is called:

Python applications with an isolated environment

They call python as:
/nix/store/vzpvrymynp4n93bznxha6hadj0ww68vx-python-2.7.1/bin/python

the prefix is:
/nix/store/vzpvrymynp4n93bznxha6hadj0ww68vx-python-2.7.1

and python will load its empty site-packages in there.
Modules needed by the application are made available via PYTHONPATH.


Python development
~~
You currently can install python modules into a profile, together with a
python interpreter (of the same python version) they can build a python
environment. Not meant for running applications, but for example
development.

For this environment to function properly python needs to treat the
profile as its home. virtualenv for example currently breaks because of
modules coming from different prefixes.

If I install ipdb and ipython into a profile, I'd expect them to see
all modules I added to the profile.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpP9xZBaHkK9.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] [Marc Weber] Re: distutils2nix/python4nix

2011-09-24 Thread Florian Friesdorf

some mails that accidentally did not make it to the list

--- Begin Message ---
Excerpts from Florian Friesdorf's message of Sat Sep 24 15:19:06 +0200 2011:
> I prefer a "manually" maintained tree over on-the-fly. Having explicit
> nix expressions allows for somebody/something to test these and building
> a database of known good sets of packages. If we generate the
> expressions on-the-fly, we would need a database of checksums in order
> to know whether the on-the-fly generated expressions are what we want
> them to be (as brought up by Michael).

If you mantain them manually you 

- miss to remove dependencies even if they got dropped unless you
  regenerate everything

- you may run into some cases where dependencies depend on cabal flags
  or versions of other packages being used. Obviously it doesn't matter
  much in practise (anymore?) else Peter would have had more issues.

- you may start builds which then might fail due to wrong versions being
  passed (either ghc or library versions).

using hack-nix you update the hack-nix cache. You define which C
libraries to pass. Everything else should be automatic (dependency
resolution etc). Brute force is used. So it only works on "limited
package list such as _latest packages_".

It fails early. Eg it says "no version of X found but 2.0 required".

Current drawback: requires more evaluation time. Colud be fixed by using
haskell or C implementation.

You can easily construct artificial dependency construct which can not
be mapped to what Peter does. However because most other distros have
similar limitations it looks like people work hard on avoid such
scenarios so it may not matter that much for most common packages.

That's a short list. You can overwrite arbitrary cabal flags on the fly
which also may lead to many changes in dependencies. hack-nix copes with
it - if you generate .nix files it may force you regenerating a new pool
of .nix files (worst case). Again: it doesn't seem to happen often
enough to care about.

Marc Weber
--- End Message ---

<#secure method=pgpmime mode=sign>

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] [Florian Friesdorf] Re: distutils2nix/python4nix

2011-09-24 Thread Florian Friesdorf

some mails that accidentally did not make it to the list

--- Begin Message ---
On Sat, 24 Sep 2011 15:57:52 +0200, Marc Weber  wrote:
> Excerpts from Florian Friesdorf's message of Sat Sep 24 15:19:06 +0200 2011:
> > I prefer a "manually" maintained tree over on-the-fly. Having explicit
> > nix expressions allows for somebody/something to test these and building
> > a database of known good sets of packages. If we generate the
> > expressions on-the-fly, we would need a database of checksums in order
> > to know whether the on-the-fly generated expressions are what we want
> > them to be (as brought up by Michael).
> 
> If you mantain them manually you 
> 
> - miss to remove dependencies even if they got dropped unless you
>   regenerate everything

+1 for regenerate everything, if that's too slow: introduce caching.

> - you may run into some cases where dependencies depend on cabal flags
>   or versions of other packages being used. Obviously it doesn't matter
>   much in practise (anymore?) else Peter would have had more issues.
> 
> - you may start builds which then might fail due to wrong versions being
>   passed (either ghc or library versions).
> 
> using hack-nix you update the hack-nix cache. You define which C
> libraries to pass. Everything else should be automatic (dependency
> resolution etc). Brute force is used. So it only works on "limited
> package list such as _latest packages_".
> 
> It fails early. Eg it says "no version of X found but 2.0 required".

If you can solve these problems in hack-nix, I do not understand how it
would differ from generating nix expressions, instead of doing it
on-the-fly.

> Current drawback: requires more evaluation time. Colud be fixed by using
> haskell or C implementation.
> 
> You can easily construct artificial dependency construct which can not
> be mapped to what Peter does.

Why not? And are they artificial or is there some package creating this
problem?

> However because most other distros have similar limitations it looks
> like people work hard on avoid such scenarios so it may not matter
> that much for most common packages.

For me it looks like there are many potential problems and worst case
scenarios, but I kind of refuse to cope with them until I experience
them. Creating nix expressions automatically feels like the next logical
step after "creating nix expressions manually".

> That's a short list. You can overwrite arbitrary cabal flags on the fly
> which also may lead to many changes in dependencies. hack-nix copes with
> it - if you generate .nix files it may force you regenerating a new pool
> of .nix files (worst case). Again: it doesn't seem to happen often
> enough to care about.

But if I understand it correctly, you are creating a "pool" of nix
files, which I currently call a "tree" of nix expressions. Why are you
opposing (are you?) the idea of distutils2nix/python4nix?

Given the following python packages:
plone.app.deco-1.2.3
plone.app.deco-1.3.4
plone.app.deco-2.1
plone.app.standardtiles-1.2
plone.app.standardtiles-1.3

I would create:
pkgs.pythonXYPackages.plone.app.deco
pkgs.pythonXYPackages.plone.app.deco_1
pkgs.pythonXYPackages.plone.app.deco_1_2
pkgs.pythonXYPackages.plone.app.deco_1_2_3
pkgs.pythonXYPackages.plone.app.deco_1_3
pkgs.pythonXYPackages.plone.app.deco_1_3_4
pkgs.pythonXYPackages.plone.app.deco_2
pkgs.pythonXYPackages.plone.app.deco_2_1
pkgs.pythonXYPackages.plone.app.standardtiles
pkgs.pythonXYPackages.plone.app.standardtiles_1
pkgs.pythonXYPackages.plone.app.standardtiles_1_2
pkgs.pythonXYPackages.plone.app.standardtiles_1_3

stored as:
./plone/app/deco/default.nix
./plone/app/deco/1/default.nix
./plone/app/deco/1/2/default.nix
./plone/app/deco/1/2/3/default.nix
./plone/app/deco/1/3/default.nix
./plone/app/deco/1/3/4/default.nix
./plone/app/deco/2/default.nix
./plone/app/deco/2/1/default.nix
./plone/app/standardtiles/default.nix
./plone/app/standardtiles/1/default.nix
./plone/app/standardtiles/1/2/default.nix
./plone/app/standardtiles/1/3/default.nix

By that you can add to every package any new version and there are
attributes that always fulfill requirements like:
- plone.app.deco<2 --> ...plone.app.deco_1
- plone.app.deco<1.3 --> ...plone.app.deco_1_2

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpDpCSE0L9Ln.pgp
Description: PGP signature
--- End Message ---

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpnei7xPr1OP.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-dev] [Marc Weber] Re: distutils2nix/python4nix

2011-09-24 Thread Florian Friesdorf

some mails that accidentally did not make it to the list

--- Begin Message ---
> If you can solve these problems in hack-nix, I do not understand how it
> would differ from generating nix expressions, instead of doing it
> on-the-fly.
http://article.gmane.org/gmane.linux.distributions.nixos/6180/match=sketchy+list
See first link given there. That's the "pool" I'm talking about: a nix
readable representation of hackage.
 
> Why not? And are they artificial or is there some package creating this
> problem?

A depends on either
 - B-1.0 AND C (case I)
 - or B-2.0(case II)

Now TARGET depends on A AND OTHER.
If OTHER depends on B-1.0  case I must be chosen, if OTHER depends on B-2.0
case II must be chosen when building A because you should not use B-1.0
and B-2.0 at the same time or bad things can happen.

Now A is a dependency of TARGET. And TARGET determines the set of
dependencies which must be used by A. That's why generating simple .nix
files will not work in such a case.

split-base etc in the past was such a case.

hack-nix copes with that artificial TARGET case, the ruby and python
implementations I wrote only fail with an error telling you that two
versions of B are used and that you have to manually choose one to make
it work. That's better than nothing.
Yes - this also happens for C apps. evince or such once broke. Took
quite a while to find out that one dependency was using an overwritten
version of a library while another dependency was not. The result was a
segfault. I agree that it doesn't happen often.

> For me it looks like there are many potential problems and worst case
> scenarios, but I kind of refuse to cope with them until I experience
> them. Creating nix expressions automatically feels like the next logical
> step after "creating nix expressions manually".
But if there is such an issue I don't want to start rewriting all of
hack-nix.nix - that would take too much of my time. That's why I wrote
hack-nix. But I agree that its a working proof concept implementation
only.
 
Marc Weber
--- End Message ---

<#secure method=pgpmime mode=sign>

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] distutils2nix/python4nix

2011-09-24 Thread Florian Friesdorf

On Sat, 24 Sep 2011 17:13:23 +0200, Marc Weber  wrote:
> > If you can solve these problems in hack-nix, I do not understand how it
> > would differ from generating nix expressions, instead of doing it
> > on-the-fly.
> http://article.gmane.org/gmane.linux.distributions.nixos/6180/match=sketchy+list
> See first link given there. That's the "pool" I'm talking about: a nix
> readable representation of hackage.
>  
> > Why not? And are they artificial or is there some package creating this
> > problem?
> 
> A depends on either
>  - B-1.0 AND C (case I)
>  - or B-2.0(case II)
> 
> Now TARGET depends on A AND OTHER.
> If OTHER depends on B-1.0  case I must be chosen, if OTHER depends on B-2.0
> case II must be chosen when building A because you should not use B-1.0
> and B-2.0 at the same time or bad things can happen.
> 
> Now A is a dependency of TARGET. And TARGET determines the set of
> dependencies which must be used by A. That's why generating simple .nix
> files will not work in such a case.

My understanding is, that all (needed) combinations would be created as nix
expressions. If you did not install the combination sometime beforehand,
then nix is I think the wrong tool by design. The question is more what
tools we have to generate expressions for us.

If my perception of nix is wrong, please correct me.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpbVoLOTdJW7.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] nix store: hardlink vs symlink (was Re: python application vs python environment)

2011-09-24 Thread Florian Friesdorf
On Sat, 24 Sep 2011 21:56:02 +0200, l...@gnu.org (Ludovic 
=?iso-8859-1?Q?Court=E8s?=) wrote:
> Hi Florian,
> 
> Florian Friesdorf  skribis:
> 
> > Why is nix using symlinks to link files in the nix store?
> 
> Because hard links don’t work across devices.

But the links would be just intra-store links, or?  Is it a supported
setup to have parts of the store on different devices?

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpXQt3pv8vwx.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] distutils2nix/python4nix

2011-09-24 Thread Florian Friesdorf
On Sat, 24 Sep 2011 23:54:48 +0200, Marc Weber  wrote:
> (..)
> To keep the long story short: I don't believe in generating .nix
> expressions scaling very well for the future. But I don't know :)
> 
> > expressions. If you did not install the combination sometime beforehand,
> > then nix is I think the wrong tool by design. The question is more what
> > tools we have to generate expressions for us.
> 
> So how to use ruby,python,.. or many java maven driven packages on
> nixpkgs then? Is the answer: Don't? Or "symlink libraries to /usr/lib
> so that standard tools like ruby and python packages find them easier?
> I'd like to get rid of this kind of mess. But I don't have the perfect
> solution yet.

I cannot follow your argument. How is generating nix expressions related
to having syminks in /usr/lib?

> > If my perception of nix is wrong, please correct me.
> You're welcome at "great Nix" facing reald world dynamic managed package
> databases of dynamic languages :)
> 
> So yes, its a feeling only that the current way won't scale for the future. 
> Its
> not knowing. I may be wrong. I'm waiting for others proofing me wrong doing 
> all
> the work :) Meanwhile I try to find solutions which work for me minimizing the
> time I have to spend to get packages working ..

Well then, lean back, let others struggle with generating nix
expressions and enjoy the show ;)

I'd like to see a discussion on how to generate nix expressions, not on
"why what we are currently doing is maybe not going to work out", I
guess that was discussed enough in the past.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpfBJ7DpjBuz.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] nix store: hardlink vs symlink (was Re: python application vs python environment)

2011-09-25 Thread Florian Friesdorf
On Sun, 25 Sep 2011 22:23:57 +0200, l...@gnu.org (Ludovic 
=?iso-8859-1?Q?Court=E8s?=) wrote:
> Florian Friesdorf  skribis:
> 
> > On Sat, 24 Sep 2011 21:56:02 +0200, l...@gnu.org (Ludovic 
> > =?iso-8859-1?Q?Court=E8s?=) wrote:
> >> Hi Florian,
> >> 
> >> Florian Friesdorf  skribis:
> >> 
> >> > Why is nix using symlinks to link files in the nix store?
> >> 
> >> Because hard links don’t work across devices.
> >
> > But the links would be just intra-store links, or?
> 
> Sorry, I thought you were referring to why profiles use symlinks to the
> store.
> 
> Within a store, using hard links is OK, yes, and ‘nix-store --optimise’
> does exactly that.

But I think thats for a different purpose: An expression installs a
programm into a derivation. If two of them have the exact same file,
nix-store --optimise will hardlink them. If now two derivations are put
together into a new derivation, their components will be symlinked and
here, as I understand now, hardlinks are not an option because nix uses
the symlinks to store information about dependencies.

-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpKVEyoShxBE.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] How to set python's module search path (was: nix store: hardlink vs symlink)

2011-09-25 Thread Florian Friesdorf

Hi Peter,

On Sun, 25 Sep 2011 16:08:35 +0200, Peter Simons  wrote:
> Hi Florian,
> 
>  > The prefix determines where python searches for site-packages. [...]
> 
> my impression is that you are not concerned about the use of symlinks
> versus hardlinks, but you're really interested in ways to make Python
> find its extra libraries.

yes

> It looks on first sight as if those two issues are related, but they
> are really not. The proper way to make Python find its extra libraries
> is through use of environment variables, and there are two alternative
> solutions:
> 
>  > Python applications with an isolated environment
>  > 
>  > They call python as:
>  > /nix/store/vzpvrymynp4n93bznxha6hadj0ww68vx-python-2.7.1/bin/python
>  >
>  > the prefix is:
>  > /nix/store/vzpvrymynp4n93bznxha6hadj0ww68vx-python-2.7.1
>  >
>  > and python will load its empty site-packages in there. Modules needed
>  > by the application are made available via PYTHONPATH.
> 
> This approach has extremely reliable behavior. It is easy to predict how
> Python is going to have, because the set of available libraries does not
> depend on any external factors, such as the contents of the profile that
> Python happens to be installed in. Suppose I wanted Python to know about
> the Cheetah library, then would configure
> 
>   {
>   pythonCheetah = pkgs.pythonFull.override {
> extraLibs = with pkgs.python27Packages; [ cheetah ];
>   };
> };
>   }

I was not aware that this is possible. So far I was not able to find
documentation for config.nix.

> in ~/.nixpkgs/config.nix, install
> 
>   nix-env -p /tmp/foobar -iA pythonCheetah
> 
> ..., and I'd be able to run
> 
>   /tmp/foobar/bin/python -c 'import Cheetah'
> 
> just fine. That particular approach allows me to control which libraries
> Python knows, and which libraries Python *doesn't know*, and Python is
> going to behave that way no matter what I other things I do.

I will try this approach for my use cases and report back.
 
>  > Python development
>  > ~~
>  > You currently can install python modules into a profile, together with a
>  > python interpreter (of the same python version) they can build a python
>  > environment. Not meant for running applications, but for example
>  > development.
>  >
>  > For this environment to function properly python needs to treat the
>  > profile as its home. virtualenv for example currently breaks because of
>  > modules coming from different prefixes.
>  >
>  > If I install ipdb and ipython into a profile, I'd expect them to see
>  > all modules I added to the profile.
> 
> This approach doesn't work well within Nix, because Nix calls things
> directly from their store path (i.e. there is no "profile"), but it's a
> fine solution for end users who to install things into their home
> profile and just run them without re-configuring their expressions every
> time. The behavior is inherently unpredictable, though. When a certain
> library is installed in the profile, Python is going to know about it.
> When that library is missing, however, Python won't know about it. In
> other words, there are hidden dependencies.
> 
> One could argue that PYTHONHOME is not the proper way to accomplish this
> configuration, though. Personally, I'd rather set
> 
>   export PYTHONPATH=$HOME/.nix-profile/lib/python2.7/site-packages
>
> in my ~/.bashrc or something, but that's a matter of taste.
>
> Anyway, both solutions have their individual strengths and weaknesses,
> and I believe that we should support both.

+1

> The "pythonhomeWrapper" expression seems to be superfluous, though.
> There is no need for two different wrapper scripts, so I'd much rather
> see that functionality incorporated into the existing wrapper.

+1

thanks a lot!
-- 
Florian Friesdorf 
  GPG FPR: 7A13 5EEE 1421 9FC2 108D  BAAF 38F8 99A3 0C45 F083
Jabber/XMPP: f...@chaoflow.net
IRC: chaoflow on freenode,ircnet,blafasel,OFTC


pgpiaqi3cUl1B.pgp
Description: PGP signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


[Nix-commits] SVN commit: nix - r29805 - nixpkgs/trunk/pkgs/top-level

2011-10-13 Thread Florian Friesdorf
Author: chaoflow
Date: Thu Oct 13 08:47:49 2011
New Revision: 29805
URL: https://nixos.org/websvn/nix/?rev=29805&sc=1

Log:
linux_2_6_39_powertop

Modified:
   nixpkgs/trunk/pkgs/top-level/all-packages.nix

Modified: nixpkgs/trunk/pkgs/top-level/all-packages.nix
==
--- nixpkgs/trunk/pkgs/top-level/all-packages.nix   Thu Oct 13 08:21:57 
2011(r29804)
+++ nixpkgs/trunk/pkgs/top-level/all-packages.nix   Thu Oct 13 08:47:49 
2011(r29805)
@@ -5537,6 +5537,7 @@
 
   linux_2_6_38_ati = linux_2_6_38.override { extraConfig="DRM_RADEON_KMS y"; };
 
+  # Please keep in sync with linux_2_6_39_powertop, except for extraConfig
   linux_2_6_39 = makeOverridable (import 
../os-specific/linux/kernel/linux-2.6.39.nix) {
 inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
 kernelPatches =
@@ -5547,6 +5548,30 @@
   ];
   };
 
+  # Please keep in sync with linux_2_6_39, except for extraConfig
+  linux_2_6_39_powertop = makeOverridable (import 
../os-specific/linux/kernel/linux-2.6.39.nix) {
+inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
+extraConfig = ''
+CPU_FREQ_GOV_ONDEMAND y
+CPU_FREQ_STAT y
+DEBUG_KERNEL y
+HIGH_RES_TIMERS y
+HPET_TIMER y
+NO_HZ y
+PM_ADVANCED_DEBUG y
+PM_RUNTIME y
+SND_AC97_POWER_SAVE y
+TIMER_STATS y
+USB_SUSPEND y
+'';
+kernelPatches =
+  [ #kernelPatches.fbcondecor_2_6_38
+kernelPatches.sec_perm_2_6_24
+kernelPatches.aufs2_1_2_6_39
+#kernelPatches.mips_restart_2_6_36
+  ];
+  };
+
   linux_3_0 = makeOverridable (import 
../os-specific/linux/kernel/linux-3.0.nix) {
 inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
 kernelPatches =
@@ -5713,6 +5738,7 @@
   linuxPackages_2_6_38 = recurseIntoAttrs (linuxPackagesFor linux_2_6_38 
pkgs.linuxPackages_2_6_38);
   linuxPackages_2_6_38_ati = recurseIntoAttrs (linuxPackagesFor 
linux_2_6_38_ati pkgs.linuxPackages_2_6_38);
   linuxPackages_2_6_39 = recurseIntoAttrs (linuxPackagesFor linux_2_6_39 
pkgs.linuxPackages_2_6_39);
+  linuxPackages_2_6_39_powertop = recurseIntoAttrs (linuxPackagesFor 
linux_2_6_39_powertop pkgs.linuxPackages_2_6_39_powertop);
   linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0 
pkgs.linuxPackages_3_0);
   linuxPackages_3_1 = recurseIntoAttrs (linuxPackagesFor linux_3_1 
pkgs.linuxPackages_3_1);
   linuxPackages_nanonote_jz_2_6_34 = recurseIntoAttrs (linuxPackagesFor 
linux_nanonote_jz_2_6_34 pkgs.linuxPackages_nanonote_jz_2_6_34);
___
nix-commits mailing list
nix-comm...@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-commits


<    1   2   3   4   5   >