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

Reply via email to