102 lines
2.1 KiB
Nix
102 lines
2.1 KiB
Nix
|
/**
|
||
|
* Initial stdenv should have:
|
||
|
* - shell
|
||
|
* - mkdir
|
||
|
* - gnu tar
|
||
|
* - curl
|
||
|
*/
|
||
|
{system} :
|
||
|
|
||
|
let {
|
||
|
/**
|
||
|
* Initial standard environment based on native cygwin tools.
|
||
|
*/
|
||
|
stdenvInit1 =
|
||
|
import ./simple-stdenv {
|
||
|
inherit system;
|
||
|
name = "stdenv-initial-cygwin";
|
||
|
shell = "/bin/bash";
|
||
|
path = ["/usr/bin" "/bin"];
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* Initial standard environment based on MSYS tools.
|
||
|
* From this point, cygwin should no longer by involved.
|
||
|
*/
|
||
|
stdenvInit2 =
|
||
|
import ./simple-stdenv {
|
||
|
name = "stdenv-initial-msys";
|
||
|
inherit system;
|
||
|
shell = msys + /bin/sh + ".exe";
|
||
|
path = [msys];
|
||
|
|
||
|
/**
|
||
|
* Instruct MSYS to change the uname
|
||
|
* The PATH manipulation in /etc/profile is not relevant for now:
|
||
|
* This will be overridden anyway.
|
||
|
*/
|
||
|
extraEnv = {
|
||
|
MSYSTEM = "MSYS";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* Fetchurl, based on native curl in stdenvInit1
|
||
|
*/
|
||
|
fetchurl =
|
||
|
import ../../build-support/fetchurl {
|
||
|
stdenv = stdenvInit1;
|
||
|
|
||
|
/**
|
||
|
* use native curl in Cygwin. We could consider to use curl.exe,
|
||
|
* which is widely available (or we could bootstrap it ourselves)
|
||
|
*/
|
||
|
curl = null;
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* MSYS, installed using stdenvInit1
|
||
|
*/
|
||
|
msys =
|
||
|
stdenvInit1.mkDerivation {
|
||
|
name = "msys-1.0.11";
|
||
|
builder = ./msys-builder.sh;
|
||
|
src = fetchurl {
|
||
|
url = http://www.cs.uu.nl/people/martin/msys-1.0.11.tar.gz;
|
||
|
md5 = "7e76eec10a205ea63ada6a4e834cc468";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* Complete standard environment
|
||
|
*/
|
||
|
body =
|
||
|
import ../generic {
|
||
|
name = "stdenv-mingw";
|
||
|
# preHook = ./prehook.sh;
|
||
|
initialPath = [msys];
|
||
|
stdenv = stdenvInit2;
|
||
|
shell = msys + /bin/sh + ".exe";
|
||
|
gcc = msys;
|
||
|
};
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
|
||
|
mingw = {
|
||
|
langC = true;
|
||
|
langCC = true;
|
||
|
langF77 = true;
|
||
|
};
|
||
|
|
||
|
gcc =
|
||
|
import ../../build-support/gcc-wrapper {
|
||
|
nativeTools = false;
|
||
|
nativeGlibc = false;
|
||
|
stdenv = stdenvInitial;
|
||
|
binutils = msys;
|
||
|
gcc = mingw;
|
||
|
shell = msys + /bin/sh;
|
||
|
}; */
|