* Microsoft Windows SDK, purified. Small problem: building the SDK

takes huge amounts of temporary disk space (almost 2 GB).  Oh well.

svn path=/nixpkgs/trunk/; revision=5386
This commit is contained in:
Eelco Dolstra 2006-06-05 22:03:52 +00:00
parent fef1bdfad1
commit 1a9b6bb4ad
6 changed files with 4404 additions and 21 deletions

View File

@ -1,5 +1,6 @@
source $stdenv/setup
source $visualcpp/setup
source $windowssdk/setup
ensureDir $out/bin
cl "$(cygpath -w $src)" /Fe"$(cygpath -w $out/bin/hello.exe)" user32.lib

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, visualcpp}:
{stdenv, fetchurl, visualcpp, windowssdk}:
assert stdenv.system == "i686-cygwin";
@ -6,5 +6,5 @@ stdenv.mkDerivation {
name = "win32-hello";
builder = ./builder.sh;
src = ./hello.c;
inherit visualcpp;
inherit visualcpp windowssdk;
}

View File

@ -2,19 +2,31 @@ source $stdenv/setup
ensureDir $out
#cabextract $src
n=1
for p in $srcs; do
ln -s $p PSDK-FULL.$n.cab
n=$((n + 1))
done
#mkdir tmp
#cd tmp
#cabextract ../vcsetup1.cab
#rm ../vc* # reduce temporary disk usage a bit
mkdir tmp
cd tmp
cabextract ../PSDK-FULL.1.cab
#while read target; do
# read source
# echo "$source -> $target"
# ensureDir $out/$(dirname $target)
# cp "$source" $out/"$target"
#done < $filemap
mkdir tmp
cd tmp
for i in ../Setup/*.cab; do
cabextract $i
done
while read target; do
read source
echo "$source -> $target"
ensureDir "$out/$(dirname "$target")"
cp "$source" "$out/$target"
done < $filemap
# Make DLLs and executables executable.
find $out \( -iname "*.dll" -o -iname "*.exe" -o -iname "*.config" \) -print0 | xargs -0 chmod +x
cat > $out/setup <<EOF
export PATH="$out/bin:\$PATH"

View File

@ -7,20 +7,86 @@ stdenv.mkDerivation {
name = "windows-sdk-2003-r2";
builder = ./builder.sh;
# src = fetchurl {
# url = http://download.microsoft.com/download/0/5/A/05AA45B9-A4BE-4872-8D57-733DF5297284/Ixpvc.exe;
# md5 = "5b3b07cb048798822582a752f586bab9";
# };
srcs = [
(fetchurl {
url = http://download.microsoft.com/download/1/e/a/1ea37493-825f-464e-a874-403c75facd5b/PSDK-FULL.1.cab;
md5 = "9b07b16ff1ae4982a5d4bfbe550d383e";
})
(fetchurl {
url = http://download.microsoft.com/download/1/e/a/1ea37493-825f-464e-a874-403c75facd5b/PSDK-FULL.2.cab;
md5 = "b8ace0bdda22b267d88149ac3d49f889";
})
(fetchurl {
url = http://download.microsoft.com/download/1/e/a/1ea37493-825f-464e-a874-403c75facd5b/PSDK-FULL.3.cab;
md5 = "b7a0109df5a28a5489e84df7d7a61668";
})
(fetchurl {
url = http://download.microsoft.com/download/1/e/a/1ea37493-825f-464e-a874-403c75facd5b/PSDK-FULL.4.cab;
md5 = "f3aded09c1ea845785247c45574f27fd";
})
(fetchurl {
url = http://download.microsoft.com/download/1/e/a/1ea37493-825f-464e-a874-403c75facd5b/PSDK-FULL.5.cab;
md5 = "978b7124550895358196e3f7de303cf5";
})
(fetchurl {
url = http://download.microsoft.com/download/1/e/a/1ea37493-825f-464e-a874-403c75facd5b/PSDK-FULL.6.cab;
md5 = "cf390a0479860e1e74f8e8fcddaf307f";
})
(fetchurl {
url = http://download.microsoft.com/download/1/e/a/1ea37493-825f-464e-a874-403c75facd5b/PSDK-FULL.7.cab;
md5 = "c9d1c8790fc5becaff4619d778d192a9";
})
(fetchurl {
url = http://download.microsoft.com/download/1/e/a/1ea37493-825f-464e-a874-403c75facd5b/PSDK-FULL.8.cab;
md5 = "d94d61c444ba73702c54d93084b756e1";
})
(fetchurl {
url = http://download.microsoft.com/download/1/e/a/1ea37493-825f-464e-a874-403c75facd5b/PSDK-FULL.9.cab;
md5 = "1990b7598960d503b9cd9aa9b7eb9174";
})
(fetchurl {
url = http://download.microsoft.com/download/1/e/a/1ea37493-825f-464e-a874-403c75facd5b/PSDK-FULL.10.cab;
md5 = "6437fd9dc2c65017c7bb4e759b13f678";
})
(fetchurl {
url = http://download.microsoft.com/download/1/e/a/1ea37493-825f-464e-a874-403c75facd5b/PSDK-FULL.11.cab;
md5 = "98f46cb52a01fae4e56e62f5bfef0fde";
})
(fetchurl {
url = http://download.microsoft.com/download/1/e/a/1ea37493-825f-464e-a874-403c75facd5b/PSDK-FULL.12.cab;
md5 = "b5f21fde5965b0f1079fd9c9a3434da6";
})
(fetchurl {
url = http://download.microsoft.com/download/1/e/a/1ea37493-825f-464e-a874-403c75facd5b/PSDK-FULL.13.cab;
md5 = "708574a95c51307e40e6da48e909f288";
})
(fetchurl {
url = http://download.microsoft.com/download/1/e/a/1ea37493-825f-464e-a874-403c75facd5b/PSDK-FULL.14.cab;
md5 = "19e90769d3500f6448e5ce2e1290fdd5";
})
(fetchurl {
url = http://download.microsoft.com/download/1/e/a/1ea37493-825f-464e-a874-403c75facd5b/PSDK-FULL.15.cab;
md5 = "0ccb3484253b3578e60ff1abb89f2f68";
})
(fetchurl {
url = http://download.microsoft.com/download/1/e/a/1ea37493-825f-464e-a874-403c75facd5b/PSDK-FULL.16.cab;
md5 = "e94106bb4e217b3c86c529afbb8489eb";
})
(fetchurl {
url = http://download.microsoft.com/download/1/e/a/1ea37493-825f-464e-a874-403c75facd5b/PSDK-FULL.17.cab;
md5 = "87eaa56fbd625ec696f16dbf136a3904";
})
];
# The `filemap' maps the pretty much useless paths in the CAB file
# to their intended destinations in the file system, as determined
# from a normal Visual C++ Express installation.
# from a normal SDK installation.
#
# Recipe for reproducing:
# $ find -type f /path/to/unpacked-cab -print0 | xargs -0 md5sum > m1
# $ find -type f /path/to/unpacked-cabs -print0 | xargs -0 md5sum > m1
# $ find -type f /path/to/visual-c++ -print0 | xargs -0 md5sum > m2
# $ nixpkgs/maintainers/scripts/map-files.pl m1 m2 > filemap
# filemap = ./filemap;
filemap = ./filemap;
buildInputs = [cabextract];
}

File diff suppressed because it is too large Load Diff

View File

@ -837,7 +837,7 @@ rec {
};
win32hello = import ../development/compilers/visual-c++/test {
inherit fetchurl stdenv visualcpp;
inherit fetchurl stdenv visualcpp windowssdk;
};