Hello Nixers, Recently I had to do couple of development tasks on *cough cough* MS Windows.
Unfortunately, Nix did not seem to work on it anymore, so I have decided revive the Cygwin support. I had to make a few subtle modifications to the Nix package manager, such as including cstdlib at several places, because a few functions were undeclared according to the compiler. Moreover, the -std=c++0x gcc parameter caused another file not to compile because fdopen() could not be found (because it's not ANSI/ISO C). I solved it changing the gcc parameter to -std=gnu++0x Currently, these changes live in my personal Nix fork: https://github.com/svanderburg/nix/commit/7f685b6550d7393874fc6ef26b9a03a8ace2f90e Moreover, I had to fix a couple of things in Nixpkgs. These changes also live in my personal fork of Nixpkgs: https://github.com/svanderburg/nixpkgs/commit/9ec52d632302ad6267a83b563de9927f886e1817 Besides a couple of essential cygwin fixes, I also added support for x86_64-cygwin, which also seems to exist these days. To make the Nix package manager work on Cygwin, I had to install the following Perl packages through CPAN (besides having all the relevant development packages installed): perl -MCPAN -e 'install DBD::SQLite' perl -MCPAN -e 'install WWW::Curl' I compiled and installed Nix by running the following command-line instructions: ./configure --disable-perl-bindings make BUILD_SHARED_LIBS=0 make BUILD_SHARED_LIBS=0 install I disabled building shared libs, as they can't really be properly used with Nix on Cygwin anyway, so there is no need to investigate how to enable them. I don't know if anyone is in favour of getting these changes merged upstream? Our current policy is that "Cygwin is not officially supported". But if that doesn't matter, I can file a pull request so that anyone can benefit from these changes. Moreover, any feedback is welcome! Regards, Sander van der Burg
_______________________________________________ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev