Re: [Nix-dev] cannot build nova
On 08/17/2013 01:50 AM, Tim Barbour wrote: Thank you. I tried prefetching it, but it makes no difference. The result of prefetching goes in different store location to the one it is looking for. Perhaps the package has the wrong hash for python-novaclient-2012.1.tar.gz ? It does look like the hash is different. That strange, but upstream sometimes change tarballs without changing the version, unfortunately (it's really ugly and relatively insecure). What is the process for updating the package ? Often it's enough to change just the version and hash in the expression. Here it seems that dependencies have changed as well, it reports missing stuff if I do - name = novaclient-2012.1; + name = novaclient-2.14.1; namePrefix = ; src = fetchurl { url = http://pypi.python.org/packages/source/p/python-novaclient/python-${name}.tar.gz;; -md5 = 8f53a308e08b2af4645281917be77ffc; +sha256 = 0cicdr3qlhz2wnhi89kmp709if363yz4bdvsjsr9507c7mw29v0v; }; I know very little about python and nothing about nova at all (or how we package pypi stuff with nix), so I would rather leave this package to others (than me). Vlada smime.p7s Description: S/MIME Cryptographic Signature ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
[Nix-dev] CTest post-test command fails in liblapack build
Hey, could some CMake guru please help me figure out why liblapack's test phase fails [1]? The build and test phase seem to work fine at first, but then it run into the following error: | [...] | 100% tests passed, 0 tests failed out of 86 | | Total Test time (real) = 77.31 sec | No such file or directory | Problem running command: ./lapack_testing.py -s -d TESTING | Problem executing post-test command(s). | Errors while running CTest This happens only on the stdenv-updates branch. Does anyone have a suggestion how to fix that? take care, Peter [1] http://hydra.cryp.to/build/8006/nixlog/13 ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] Samba, nixpkgs and GNU/Hurd
Hi Ludovic, all, I want to update samba from 3.6.8 to 3.6.18 (latest 3.x version), but then the GNU/Hurd patch that you have added failed. Is it OK if I drop the patch? Or do you want to bump samba yourself and re-create the patch? ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] msmtp and certificates
On 22 July 2013 21:43, Bjørn Forsman bjorn.fors...@gmail.com wrote: On 22 July 2013 20:37, Eelco Dolstra eelco.dols...@logicblox.com wrote: Hi, On 20/07/13 20:57, Bjørn Forsman wrote: Would it be an idea to rename ca-bundle.crt to ca-certificates.crt? One less (needless?) distro difference? I don't think the certificate locations are very standardized across distributions. AFAIK /etc/ssl/certs/ca-bundle.crt is what Fedora also uses... You are correct (just checked Fedora 19). Too bad. Thanks. I've sent a pull request that adds /etc/ssl/certs/ca-certificates.crt symlink to be compatible with Ubuntu: https://github.com/NixOS/nixos/pull/224 ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
[Nix-dev] how to install nilfs-utils ?
I am trying to install nilfs-utils. According to the wiki ( http://nixos.org/wiki/Install/remove_software ), I can install a package by 'nix-env -i package for one user, or I can install it for all users by adding it to environment.systemPackages . The second way does not work for me for nilfs-utils. If I put environment.systemPackages = with pkgs; [ wget httpfs2 nilfs-utils ]; in /etc/nixos/configuration.nix, then nix complains: $ nixos-rebuild build building Nix... building the system configuration... error: undefined variable `nilfs-utils' but other packages like wget or httpfs2 are fine. Also 'nix-env -i nilfs-utils' works fine. What is wrong with putting nilfs-utils in environment.systemPackages ? Does it have something to do with the hyphen in the name, or is nilfs-utils a special kind of package ? In the latter case, how can one tell ? How can it be installed for all users ? Tim --- GPG public key available at: http://phasechangeit.com/~trb/gpg-key or http://subkeys.pgp.net:11371 ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
[Nix-dev] how to install nilfs-utils ?
I am trying to install nilfs-utils. According to the wiki ( http://nixos.org/wiki/Install/remove_software ), I can install a package by 'nix-env -i package for one user, or I can install it for all users by adding it to environment.systemPackages . The second way does not work for me for nilfs-utils. If I put environment.systemPackages = with pkgs; [ wget httpfs2 nilfs-utils ]; in /etc/nixos/configuration.nix, then nix complains: $ nixos-rebuild build building Nix... building the system configuration... error: undefined variable `nilfs-utils' but other packages like wget or httpfs2 are fine. Also 'nix-env -i nilfs-utils' works fine. What is wrong with putting nilfs-utils in environment.systemPackages ? Does it have something to do with the hyphen in the name, or is nilfs-utils a special kind of package ? In the latter case, how can one tell ? How can it be installed for all users ? «nix-env -i» deals with evluated package names «nix-env -iA» and «systemPackages» deal with attribute names (most are specified in all-packages.nix). The difference is more or less the difference between a variable name and its value. nilfs-utils is an old package (added before Nix allowed dashes inside variable names) and it haven't been updated for a while. So it is listed in all-packages.nix using attribute name nifs_utils. The simplest way to find out is currently looking at al-packages.nix in pkgs/top-level directory at nixpkgs repository. ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] how to install nilfs-utils ?
On 17 August 2013 13:13, Tim Barbour t...@categorical.net wrote: I am trying to install nilfs-utils. According to the wiki ( http://nixos.org/wiki/Install/remove_software ), I can install a package by 'nix-env -i package for one user, or I can install it for all users by adding it to environment.systemPackages . The second way does not work for me for nilfs-utils. If I put environment.systemPackages = with pkgs; [ wget httpfs2 nilfs-utils ]; in /etc/nixos/configuration.nix, then nix complains: $ nixos-rebuild build building Nix... building the system configuration... error: undefined variable `nilfs-utils' but other packages like wget or httpfs2 are fine. Also 'nix-env -i nilfs-utils' works fine. What is wrong with putting nilfs-utils in environment.systemPackages ? Does it have something to do with the hyphen in the name, or is nilfs-utils a special kind of package ? In the latter case, how can one tell ? How can it be installed for all users ? nix-env -i installs by package name (unless you use -A). In systemPackages you must provide an attribute name, not package name. The following command shows attribute name followed by package name: $ nix-env -qaP \* | grep nilfs nixos.pkgs.nilfs_utils nilfs-utils-2.0.19 Basically, you want nilfs_utils in systemPackages, Best regards, Bjørn Forsman ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
[Nix-dev] disk setup for nixos installation
I would like to be able to boot from nixos installation media, then do automated partitioning, LVM setup and filesystem creation, then let nixops do the rest. What is the best way to automate partitioning, LVM setup and filesystem creation ? I wrote a shell script to do this (just for one disk, so far) using parted etc., but it looks ugly, and I wonder if it would be better done using nix. Does nix / nixos provide any existing mechanisms for doing this ? I am an experienced functional programmer (Haskell, not nix), but I don't understand how to do IO in nix. Perhaps I should be modelling the disk setup as the building of some derivations, but such derivations would not produce a result in the nix store. If I made them produce a result in the store, then the disk setup would be a side-effect, and not referentially transparent. I get the feeling that this is outside the scope of nix. Tim --- GPG public key available at: http://phasechangeit.com/~trb/gpg-key or http://subkeys.pgp.net:11371 ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] Samba, nixpkgs and GNU/Hurd
On 17 August 2013 15:07, Ludovic Courtès l...@gnu.org wrote: Hi! Sorry for the late reply. It's ok :-) Bjørn Forsman bjorn.fors...@gmail.com skribis: I want to update samba from 3.6.8 to 3.6.18 (latest 3.x version), but then the GNU/Hurd patch that you have added failed. Is it OK if I drop the patch? Or do you want to bump samba yourself and re-create the patch? Could you try to port the patch, if it’s not too hard? I tried to update it, but it changes one of several very similar looking blocks of code. Without a way to verify my change I don't feel like committing it. If it’s too difficult, just comment it out and leave it in the repo for future reference. I'd prefer to remove the patch instead of leaving it dangling in nixpkgs. You can always bring it back with git. Or with the mailing list archive (see below). Ok? `libnss_wins' uses pthreads but is built without `-pthread'. This is not a problem when building natively on GNU/Linux, but causes troubles when cross-building for GNU/Hurd (undefined references to libpthread functions.) --- samba-3.6.1/source3/Makefile.in 2012-02-22 15:25:15.0 +0100 +++ samba-3.6.1/source3/Makefile.in 2012-02-22 15:25:47.0 +0100 @@ -2760,6 +2760,7 @@ bin/vlp@EXEEXT@: $(BINARY_PREREQS) $(VLP @echo Linking $@ @$(SHLD) $(LDSHFLAGS) -o $@ $(WINBIND_WINS_NSS_OBJ) \ $(LDAP_LIBS) $(KRB5LIBS) $(LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(ZLIB_LIBS) \ + $(PTHREAD_LDFLAGS) \ @SONAMEFLAG@`basename $@`@NSSSONAMEVERSIONSUFFIX@ bin/winbind_krb5_locator.@SHLIBEXT@: $(BINARY_PREREQS) $(WINBIND_KRB5_LOCATOR_OBJ) $(LIBWBCLIENT) Best regards, Bjørn Forsman ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
[Nix-dev] disk setup for nixos installation
On further reflection, I think I see how it almost might work using derivations. Assume it is possible to have a derivation that is only considered to be built (hand-waving part here ...) if the required filesystem exists. Then that derivation depends on another that is only considered to be built if the necessary LVM volume exists, etc. . I still cannot see how to make the hand-waving part referentially transparent. I think nixos must have a solution to this problem, otherwise how can it install GRUB ? Tim ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] disk setup for nixos installation
I used something like this to generate an ISO image that would self-install: http://paste.ofcode.org/K9Haex6MiBxygqJDFXkSL7 On Sat, Aug 17, 2013 at 3:22 PM, Tim Barbour t...@categorical.net wrote: I would like to be able to boot from nixos installation media, then do automated partitioning, LVM setup and filesystem creation, then let nixops do the rest. What is the best way to automate partitioning, LVM setup and filesystem creation ? I wrote a shell script to do this (just for one disk, so far) using parted etc., but it looks ugly, and I wonder if it would be better done using nix. Does nix / nixos provide any existing mechanisms for doing this ? I am an experienced functional programmer (Haskell, not nix), but I don't understand how to do IO in nix. Perhaps I should be modelling the disk setup as the building of some derivations, but such derivations would not produce a result in the nix store. If I made them produce a result in the store, then the disk setup would be a side-effect, and not referentially transparent. I get the feeling that this is outside the scope of nix. Tim --- GPG public key available at: http://phasechangeit.com/~trb/gpg-key or http://subkeys.pgp.net:11371 ___ 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
[Nix-dev] disk setup for nixos installation
On further reflection, I think I see how it almost might work using derivations. Assume it is possible to have a derivation that is only considered to be built (hand-waving part here ...) if the required filesystem exists. Then that derivation depends on another that is only considered to be built if the necessary LVM volume exists, etc. . I still cannot see how to make the hand-waving part referentially transparent. I think nixos must have a solution to this problem, otherwise how can it install GRUB ? NixOS way is to generate the needed scripts (preferably, the scripts can be safely run the second time after success) and run them. ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] disk setup for nixos installation
Well - the nixos isos ship with nixos-install. It should be easy to add a script which runs automatically on startup (creating llvm devices and so on) and runs the script afterwards. Marc Weber ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
[Nix-dev] where did hydra's tested view go?
It was quite useful to find out if the channel has issues. ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev
Re: [Nix-dev] Software development workflow -- the nix way?
В письме от Четверг 15 августа 2013 18:08:52 пользователь Kyle Heath написал: Hi Nix Folks, *short version:* * * I would like to enable the following development workflow... 1. I write packages of code containing java, c++, python binary and library targets (and probably host them on github) 2. I include with each package a build script that will provide all it's dependencies via nix packages - (either from the official nix repository or from my own public repository of nix packages) An example of package shipping its own nix expression: https://github.com/phreedom/nixpkgs-monitor You can also ship a development environment this way. 3. I can release source and binary versions of my packages by tagging them on github and publishing them to my own nix channel. After publishing them, anyone can depend on them from other packages based on the same build script system. Never dealt with channels :( But you can make the binaries of your package and its dev environment available. Also, while I have never tried this, you can probably write a derivation that fetches the required .nix file from your repository and then imports it: pkgnix = fetchurl { url = http://something; sha256 = ...; } pkg = import pkgnix; The problem with such an approach in general is that such a package will lose CI and that dependency updates become a responsibility of the package publisher. Developers can definitely deal with major versions of their deps, but how closely would developers track minor(read vulnerability and bugfix) updates? I'm not very optimistic in this regard, and suspect that an out-of-tree package depending on out-of-tree package is a recipe for vulnerabilities. To sum it up: 1. 0install sets to make a distro-agnostic package manager 2. Enforces a specific approach to refer to dependencies(by unique ID and version mask) 3. primarily intended by its developers to be used without middlemen like a typical distro maintainers who do integration and security work. [1] Same as Nix. [2] Packages in NixPkgs use the same sloppy references to each other, which facilitates updates. It is also possible to refer to a specific build script as a dependency instead of package name, thus wrestling away the control from distro maintainers. Nix can enforce such specific builds thanks to hashes. In 0install a similar result can be obtained by hosting your own builds of dependencies and referring to their URL instead, although it might be inconvenient due to lack of tools since 0install devs probably didn't intend to encourage such an approach. [3] A distro-like approach can be implemented in 0install as well, since anyone can publish their builds of packages and you can use them as dependencies instead of builds provided by the software publisher. == short version If you wrestle away anyone's influence on your dependencies by specifying hashes, you become responsible for maintenance of the dependencies. If you let someone manage your dependencies, they need to know you exist and you need to trust them to care to not break your stuff(as in do CI), AND they need to be able to fix stuff on your side if their update exposes your mistakes. Which, in case of core dependencies like glibc, gcc, Xorg and such, means that the maintainers need to have and CI all the available packages, thus this causes nixpkgs and hydra to emerge. Has anyone done something like this or have ideas if this could be done? *long version:* I'm a graduate student, and write lots of code that I'd love to share with the world. I'm learning the hard way that publishing source is easy for the developer, but hard for potential users while publishing (a matrix) of binary versions makes it easy for potential users but really hard for the developer. I started packaging my code with zeroinstallhttp://0install.net/, but quickly found that binary portability is hard to pull off and package dependency resolution based on ad-hoc version numbers is not good enough to reliably build software from source. I read the nix papers and documentation and was very excited about the generality of this approach. I would love to figure out if nix can be part of a cross-language cross-platform workflow that eliminates the dependency hell problem. Cheers, Kyle ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev