Merged with trunk

svn path=/nixpkgs/branches/stdenv-updates/; revision=10145
This commit is contained in:
Yury G. Kudryashov
2008-01-15 00:55:21 +00:00
parent e17a21b820
commit a7703662a4
125 changed files with 2379 additions and 487 deletions

View File

@@ -0,0 +1,34 @@
args : with args;
with builderDefs {
src = /* put a fetchurl here */
fetchurl {
url = http://downloads.sourceforge.net/madwifi/madwifi-0.9.3.3.tar.bz2;
sha256 = "1dq56dx81wfhpgipbrl3gk2is3g1xvysx2pl6vxyj0dhslkcnf3y";
};
buildInputs = [];
configureFlags = [];
makeFlags = [''KERNELPATH=${kernel}/lib/modules/*/build'' ''DESTDIR=$out''];
patchAR2425x86 = ""; /*(if args ? pci001c_rev01 && args.pci001c_rev01 then
fetchurl {
url = http://madwifi.org/attachment/ticket/1679/madwifi-ng-0933.ar2425.20071130.i386.patch?format=raw;
name = "madwifi-AR2425-x86.patch";
sha256 = "11xpx5g9w7ilagvj60prc3s8a3x0n5n4mr0b7nh0lxwrbjdgjjfg";
} else "")*/;
} null; /* null is a terminator for sumArgs */
let
doPatch = FullDepEntry (if patchAR2425x86 !="" then ''
cd hal
patch -Np1 -i ${patchAR2425x86}
'' else "") [minInit doUnpack];
in
stdenv.mkDerivation rec {
name = "atheros-"+version;
builder = writeScript (name + "-builder")
(textClosure [doPatch doMakeInstall doForceShare doPropagate]);
meta = {
description = "
Atheros WiFi driver.
";
};
}

View File

@@ -0,0 +1,35 @@
args : with args;
with builderDefs {
src = /* put a fetchurl here */
fetchurl {
url = http://snapshots.madwifi.org/madwifi-ng/madwifi-ng-r2756-20071018.tar.gz;
sha256 = "0mm1kx9pjvvla792rv7k48yhsa0fpzvd1717g9xzazjsz2mqwzyv";
};
buildInputs = [];
configureFlags = [];
makeFlags = [''KERNELPATH=${kernel}/lib/modules/*/build'' ''DESTDIR=$out''];
patchAR2425x86 = (if args ? pci001c_rev01 && args.pci001c_rev01 then
fetchurl {
url = http://madwifi.org/attachment/ticket/1679/madwifi-ng-0933.ar2425.20071130.i386.patch?format=raw;
name = "madwifi-AR2425-x86.patch";
sha256 = "11xpx5g9w7ilagvj60prc3s8a3x0n5n4mr0b7nh0lxwrbjdgjjfg";
} else "");
} null; /* null is a terminator for sumArgs */
let
doPatch = FullDepEntry (if patchAR2425x86 !="" then ''
cd hal
patch -Np1 -i ${patchAR2425x86}
cd ..
'' else "") [minInit doUnpack];
in
stdenv.mkDerivation rec {
name = "atheros-"+version;
builder = writeScript (name + "-builder")
(textClosure [doPatch doMakeInstall doForceShare doPropagate]);
meta = {
description = "
Atheros WiFi driver.
";
};
}

View File

@@ -0,0 +1,22 @@
args : with args;
with builderDefs {
src = /* put a fetchurl here */
fetchurl {
url = http://snapshots.madwifi.org/madwifi-ng/madwifi-ng-r3122-20080109.tar.gz;
sha256 = "188258c6q96n8lb57c0cqsvxp47psninirdax13w4yd07v1rymwd";
};
buildInputs = [];
configureFlags = [];
makeFlags = [''KERNELPATH=${kernel}/lib/modules/*/build'' ''DESTDIR=$out''];
} null; /* null is a terminator for sumArgs */
stdenv.mkDerivation rec {
name = "atheros-"+version;
builder = writeScript (name + "-builder")
(textClosure [doMakeInstall doForceShare doPropagate]);
meta = {
description = "
Atheros WiFi driver.
";
};
}

View File

@@ -3,7 +3,7 @@ args.stdenv.mkDerivation {
name = "bridge-utils-1.2";
src = args.fetchurl {
url = http://mirror/sourceforge/bridge/bridge-utils-1.2.tar.gz;
url = mirror://sourceforge/bridge/bridge-utils-1.2.tar.gz;
sha256 = "0jg3z51c2c34byg4zi39j9g4b66js5kanjhid77hpa0jdfmryfy9";
};

View File

@@ -0,0 +1,22 @@
args : with args;
with builderDefs {
src = /* put a fetchurl here */
fetchurl {
url = http://download.savannah.gnu.org/releases/dmidecode/dmidecode-2.9.tar.bz2;
sha256 = "05g0ln400fhqjspg9h4x0a1dvmwiyjq5rk9q9kimxvywbg1b53l8";
};
buildInputs = [];
configureFlags = [];
makeFlags = "prefix=\$out";
} null; /* null is a terminator for sumArgs */
stdenv.mkDerivation rec {
name = "dmidecode-"+version;
builder = writeScript (name + "-builder")
(textClosure [ doMakeInstall doForceShare doPropagate]);
meta = {
description = "
Tool to decode Desktop Management Interface and SBIOS data.
";
};
}

View File

@@ -0,0 +1,27 @@
args : with args;
with builderDefs {
src = /* put a fetchurl here */
fetchurl {
url = http://fy.chalmers.se/~appro/linux/DVD+RW/tools/dvd+rw-tools-7.0.tar.gz;
sha256 = "08hljn2vfn794dfrfpp3m245dbpb6nhk40igfpqm6wg9qimc9zy9";
};
buildInputs = [cdrkit m4];
configureFlags = [];
makeFlags = [" prefix=\$out "];
} null; /* null is a terminator for sumArgs */
let
preBuild = FullDepEntry ("
sed -e 's@/usr/local@'\$out'@g' -i Makefile.m4 Makefile
") [minInit doUnpack];
in
stdenv.mkDerivation rec {
name = "dvd+rw-tools-"+version;
builder = writeScript (name + "-builder")
(textClosure [preBuild doMakeInstall doForceShare doPropagate]);
meta = {
description = "
DVD+RW tools.
";
};
}

View File

@@ -13,4 +13,6 @@ export UDEV_RULES_PATH=$out/etc/udev/rules.d
# $PATH.
export NIX_CFLAGS_COMPILE="-DFUSERMOUNT_DIR=\"/no-such-path\""
export preBuild="sed -e 's@/bin/@$utillinux/bin/@g' -i lib/mount_util.c";
genericBuild

View File

@@ -1,11 +1,19 @@
{stdenv, fetchurl}:
args: with args;
stdenv.mkDerivation {
name = "fuse-2.6.5";
name = "fuse-2.7.2";
builder = ./builder.sh;
src = fetchurl {
url = mirror://sourceforge/fuse/fuse-2.6.5.tar.gz;
sha256 = "0901hrhi1z6dwlgvgn75cg2268wvaz53x0knn7jplk6acwir54db";
url = mirror://sourceforge/fuse/fuse-2.7.2.tar.gz;
sha256 = "1zxssdiirf19mihbnxpy0kiix35d4256b9lani7qwqi7m940jfgv";
};
configureFlags = [ "--disable-kernel-module"];
buildInputs = [ utillinux ];
inherit utillinux;
meta = {
homepage = http://fuse.sourceforge.net/;
description = "Kernel module and library that allows filesystems to be implemented in user space";
};
configureFlags = [ "--disable-kernel-module" ];
}

View File

@@ -1,14 +0,0 @@
diff -rc linux-2.6.22.1/arch/i386/kernel/paravirt.c linux-2.6.22.1-para/arch/i386/kernel/paravirt.c
*** linux-2.6.22.1/arch/i386/kernel/paravirt.c 2007-07-20 16:19:35.000000000 +0200
--- linux-2.6.22.1-para/arch/i386/kernel/paravirt.c 2007-07-20 16:20:00.000000000 +0200
***************
*** 344,347 ****
.activate_mm = paravirt_nop,
};
! EXPORT_SYMBOL(paravirt_ops);
--- 344,347 ----
.activate_mm = paravirt_nop,
};
! EXPORT_SYMBOL_GPL(paravirt_ops);

View File

@@ -0,0 +1,38 @@
args:
(import ./meta.nix)
( args //
{
version = "2.6.23.12";
src_hash = { sha256 = "1x3ngnhyxy9rlaislm2hzijaaa2mp8v930dyp8zmmhjdpzjf3w8k"; };
systemPatches = [
{ # resume with resume=swap:/dev/xx
name = "tux on ice"; # (swsusp2)
patch = args.fetchurl {
url = "http://www.tuxonice.net/downloads/all/tuxonice-3.0-rc3-for-2.6.23.9.patch.bz2";
sha256 = "16f61cn0mdi7yklhdx4isi7c85843fzxq2cifd05cpsl6x6ilrfk";
};
extraConfig = "
CONFIG_SUSPEND2=y
CONFIG_SUSPEND2_FILE=y
CONFIG_SUSPEND2_SWAP=y
CONFIG_CRYPTO_LZF=y
";
}
{ name = "fbsplash-0.9.2-r5-2.6.21";
patch = args.fetchurl {
url = http://dev.gentoo.org/~dsd/genpatches/trunk/2.6.22/4200_fbsplash-0.9.2-r5.patch;
sha256 = "0822wwlf2dqsap5qslnnp0yl1nbvvvb76l73w2dd8zsyn0bqg3px";
};
extraConfig = "CONFIG_FB_SPLASH=y";
}
];
config = with args;
if config != null then config else
if userModeLinux then ./config-2.6.23-uml else
if stdenv.system == "i686-linux" then ./config-2.6.23-i686-smp else
if stdenv.system == "x86_64-linux" then ./config-2.6.23-x86_64-smp else
abort "No kernel configuration for your platform!";
}
)

View File

@@ -119,7 +119,7 @@ CONFIG_X86_PC=y
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
CONFIG_PARAVIRT=y
CONFIG_XEN=y
# CONFIG_XEN is not set
CONFIG_VMI=y
# CONFIG_M386 is not set
# CONFIG_M486 is not set

View File

@@ -0,0 +1,30 @@
args : with args;
with builderDefs {
src = /* put a fetchurl here */
fetchurl {
url = http://fabrice.bellard.free.fr/qemu/kqemu-1.3.0pre11.tar.gz;
sha256 = "03svg2x52ziglf9r9irf6ziiz8iwa731fk1mdskwdip5jxbyy6jl";
};
buildInputs = [];
configureFlags = [''--prefix=$out'' ''--kernel-path=$(ls -d ${kernel}/lib/modules/*/build)''];
} null; /* null is a terminator for sumArgs */
let
debugStep = FullDepEntry (''
cat config-host.mak
'') [minInit];
preConfigure = FullDepEntry (''
sed -e '/kernel_path=/akernel_path=$out$kernel_path' -i install.sh
sed -e '/depmod/d' -i install.sh
cat install.sh
'') [minInit doUnpack];
in
stdenv.mkDerivation rec {
name = "kqemu-"+version;
builder = writeScript (name + "-builder")
(textClosure [preConfigure doConfigure debugStep doMakeInstall doForceShare doPropagate]);
meta = {
description = "
Kernel module for Qemu acceleration
";
};
}

View File

@@ -0,0 +1,34 @@
args : with args;
with builderDefs {
addSbinPath = true;
src = "";
buildInputs = [lndir module_init_tools];
configureFlags = [];
} null; /* null is a terminator for sumArgs */
let
doCollect = FullDepEntry (''
ensureDir $out/
cd $out/
for i in $moduleSources; do
lndir $i/
done
rm -rf nix-support
cd lib/modules/
rm */modules.*
MODULE_DIR=$PWD/ depmod -a
'') [minInit addInputs defEnsureDir];
in
stdenv.mkDerivation rec {
name = "module-aggregator";
inherit moduleSources;
builder = writeScript (name + "-builder")
(textClosure [doCollect doForceShare doPropagate]);
meta = {
description = "
A directory to hold all the modules, including those
built separately from kernel. Earlier directories in
moduleSources have higher priority.
";
};
}

View File

@@ -1,101 +1,76 @@
source $stdenv/setup
echo "Building linux driver against kernel: " $kernelOutPath;
echo "LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
echo $nvidiasrc
cp $nvidiasrc .
chmod 755 ./*-NVIDIA*
./*-NVIDIA* -x
cd NVIDIA*/
cd usr/src/nv/
pwd -P
#Clean up
#make clean
#Create the module
echo $out
mkdir $out
make SYSSRC=$kernelOutPath/lib/modules/2.*/build/ module
#go to the usr dir of the nvidia package
cd ../../
echo "Copying all files to " $out/lib""
cp -R * $out
#add extra symlinks in $out
ln -snf $out/lib/libGLcore.so.$versionNumber $out/lib/libGLcore.so
ln -snf $out/lib/libGLcore.so.$versionNumber $out/lib/libGLcore.so.1
ln -snf $out/lib/libGL.so.$versionNumber $out/lib/libGL.so
ln -snf $out/lib/libGL.so.$versionNumber $out/lib/libGL.so.1
ln -snf $out/lib/libnvidia-cfg.so.$versionNumber $out/lib/libnvidia-cfg.so.1
ln -snf $out/lib/libnvidia-tls.so.$versionNumber $out/lib/libnvidia-tls.so.1
ln -snf $out/X11R6/lib/libXvMCNVIDIA.so.$versionNumber $out/X11R6/lib/libXvMCNVIDIA.so.1
ln -snf $out/X11R6/lib/libXvMCNVIDIA.so.$versionNumber $out/lib/libXvMCNVIDIA.so.1
ln -snf $out/X11R6/lib/modules/libnvidia-wfb.so.$versionNumber $out/X11R6/lib/modules/libnvidia-wfb.so.1
ln -snf $out/X11R6/lib/modules/libnvidia-wfb.so.$versionNumber $out/lib/libnvidia-wfb.so.1
ln -snf $out/X11R6/lib/modules/extensions/libglx.so.$versionNumber $out/X11R6/lib/modules/extensions/libglx.so.1
ln -snf $out/X11R6/lib/modules/extensions/libglx.so.$versionNumber $out/lib/libglx.so.1
#TODO: patchelf binaries !
#patchelf --set-interpreter ${path glibc TODO /lib/ld-linux.so.2 $out/bin/....
#from dep on xorg-sys-opengl: add symlinks in /usr/lib/ (especially libGL.so.1) to the real location...
ensureDir /usr/lib/
cd /usr/lib
ln -snf $out/lib/libGLcore.so.$versionNumber libGLcore.so.1
ln -snf $out/lib/libGL.la libGL.la
ln -snf $out/lib/libGL.so.$versionNumber libGL.so.1
ln -snf $out/lib/libnvidia-cfg.so.$versionNumber libnvidia-cfg.so.1
ln -snf $out/lib/libnvidia-tls.so.$versionNumber libnvidia-tls.so.1
ensureDir /usr/lib/tls/
ln -snf $out/lib/tls/libnvidia-tls.so.$versionNumber /usr/lib/tls/libnvidia-tls.so.1
ln -snf $out/X11R6/lib/modules/extensions/libglx.so.$versionNumber libglx.so.1
ln -snf $out/X11R6/lib/modules/libnvidia-wfb.so.$versionNumber libnvidia-wfb.so.1
ln -snf $out/X11R6/lib/modules/drivers/nvidia_drv.so nvidia_drv.so
ln -snf $out/X11R6/lib/libXvMCNVIDIA.so.$versionNumber libXvMCNVIDIA.so.1
ln -snf $out/bin/tls_test_dso.so tls_test_dso.so
ln -snf $out/src/nv/nvidia.ko nvidia.ko
echo "YOU! need to add symlinks as root to the libs in the current $xorgOutPath/lib/xorg/modules/extensions/ (especially libglx.so)"
rwlibs="
cd $xorgOutPath/lib/xorg/modules/extensions/;
mv libglx.so libglx.so.org;
mv libglx.la libglx.la.org;
mv libGLcore.so libGLcore.so.org;
ln -snf /usr/lib/libglx.so.1 libglx.so;
ln -snf /usr/lib/libglx.so.1 libglx.so.1;
ln -snf /usr/lib/libGLcore.so.1 libGLcore.so;
ln -snf /usr/lib/libGLcore.so.1 libGLcore.so.1;
ln -snf /usr/lib/libGL.so.1 libGL.so;
ln -snf /usr/lib/libGL.so.1 libGL.so.1;
ln -snf /usr/lib/libglx.la libglx.la;
ln -snf /usr/lib/libglx.so.1 libglx.so;
ln -snf /usr/lib/libglx.so.1 libglx.so.1;
ln -snf /usr/lib/nvidia_drv.so nvidia_drv.so;
# rm /var/run/opengl-driver;
ln -snf /var/run/opengl-driver $out;
kerneldrvnvpath=$kernelOutPath/lib/modules/*-default/kernel/drivers/video/nvidia;
#echo TODO kerneldrvnvpath: \$kerneldrvnvpath
ln -snf $out/src/nv/nvidia.ko \$kerneldrvnvpath/nvidia.ko;
"
#TODO ADD ln -sf is sometimes not strong enough ...
rwlibsfile="$out/bin/nvidia-rewriteLibs.sh"
echo "--------------------------------------------------------"
echo "YOU MUST RUN $rwlibsfile as ROOT after this installation"
echo "--------------------------------------------------------"
echo $rwlibs > $rwlibsfile
chmod 755 $rwlibsfile
sleep 5
dontPatchELF=1 # must keep libXv, $out in RPATH
unpackFile() {
sh $src -x
}
buildPhase=myBuildPhase
myBuildPhase() {
echo "Building linux driver against kernel: " $kernel;
cd usr/src/nv/
# Workaround: get it to build on kernels that have CONFIG_XEN set.
# Disable the test, apply a patch to disable the Xen functionality.
#substituteInPlace Makefile.kbuild --replace xen_sanity_check fnord
#patch -p1 < $xenPatch
# Create the module.
sysSrc=$(echo $kernel/lib/modules/2.*/build/)
unset src # used by the nv makefile
make SYSSRC=$sysSrc module
cd ../../..
}
installPhase=myInstallPhase
myInstallPhase() {
# Install the kernel module.
ensureDir $out/lib
cp usr/src/nv/nvidia.ko $out/lib/
# Install libGL and friends.
cp -prd usr/lib/* usr/X11R6/lib/libXv* $out/lib/
ln -snf libGLcore.so.$versionNumber $out/lib/libGLcore.so
ln -snf libGLcore.so.$versionNumber $out/lib/libGLcore.so.1
ln -snf libGL.so.$versionNumber $out/lib/libGL.so
ln -snf libGL.so.$versionNumber $out/lib/libGL.so.1
ln -snf libnvidia-cfg.so.$versionNumber $out/lib/libnvidia-cfg.so.1
ln -snf libnvidia-tls.so.$versionNumber $out/lib/libnvidia-tls.so.1
ln -snf libnvidia-tls.so.$versionNumber $out/lib/tls/libnvidia-tls.so.1
ln -snf libXvMCNVIDIA.so.$versionNumber $out/lib/libXvMCNVIDIA_dynamic.so.1
ln -snf libcuda.so.$versionNumber $out/lib/libcuda.so.1
# Install the X driver.
ensureDir $out/lib/xorg/modules
cp -prd usr/X11R6/lib/modules/* $out/lib/xorg/modules/
ln -snf libnvidia-wfb.so.$versionNumber $out/lib/xorg/modules/libnvidia-wfb.so.1
ln -snf libglx.so.$versionNumber $out/lib/xorg/modules/extensions/libglx.so
# Install the programs.
ensureDir $out/bin
fullPath=$out/lib
for i in $libPath; do
fullPath=$fullPath:$i/lib
done
for i in nvidia-settings nvidia-xconfig; do
cp usr/bin/$i $out/bin/$i
patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
--set-rpath $fullPath $out/bin/$i
done
# Header files etc.
cp -prd usr/include usr/share $out
}
genericBuild

View File

@@ -1,46 +1,26 @@
{ stdenv
, fetchurl
, kernel
, coreutils
, xorg_server
#deps
,libXext, libX11
}:
{stdenv, fetchurl, kernel, xlibs, gtkLibs}:
let
versionNumber = "100.14.19"; #important ! to also update this if the sources are updated, this is used as follows: extensions/libglx.so.$versionNumber
versionNumber = "169.07";
in
stdenv.mkDerivation {
name = "nvidiaDrivers-" + versionNumber;
builder = ./builder.sh;
nvidiasrc = fetchurl { #we cannot use $src since this variable is also used in the nvidia sources
#url = http://www.denbreejen.net/public/nixos/NVIDIA-Linux-x86-1.0-9755-pkg1.run;
#sha256 = "1985373866b1dcae80f3da66dbbbd3c28ad76e75a620865be321ee870ad9d1ea";
#url = http://us.download.nvidia.com/XFree86/Linux-x86/100.14.11/NVIDIA-Linux-x86-100.14.11-pkg1.run;
#sha256 = "8665370e590328cc5bf3d13737739a80dacbfb6844436cab03c992e84bf16b0c";
url = http://us.download.nvidia.com/XFree86/Linux-x86/100.14.19/NVIDIA-Linux-x86-100.14.19-pkg1.run;
sha256 = "4dc97d8ff5340954f3cd446093636261c54b147e9721eb295574207d79e9a7e7";
src = fetchurl {
url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg1.run";
sha256 = "1q4sbwcf24rvx72sj19pvhsmg5n8v2rfzsxf56mfxjbiy2jhjbaa";
};
inherit versionNumber;
kernelOutPath = kernel.outPath;
xorgOutPath = xorg_server.outPath;
#xenPatch = ./nvidia-2.6.24-xen.patch;
buildInputs = [
libXext libX11
inherit versionNumber kernel;
libPath = [
gtkLibs.gtk gtkLibs.atk gtkLibs.pango gtkLibs.glib
xlibs.libXext xlibs.libX11 xlibs.libXv
];
propagatedBuildInputs = [
libX11 libXext
];
NIX_LDFLAGS = "-rpath ${libX11}/lib -rpath ${libXext}/lib";
LD_LIBRARY_PATH = "${libX11}/lib:${libXext}/lib/";
}

View File

@@ -0,0 +1,21 @@
args : with args;
with builderDefs {
src = /* put a fetchurl here */
fetchurl {
url = http://sg.torque.net/sg/p/sdparm-1.02.tgz;
sha256 = "13acyg6r65gypdprjhfkmvaykgfcj1riwpnycpvv9znzgq9fxsiv";
};
buildInputs = [];
configureFlags = [];
} null; /* null is a terminator for sumArgs */
stdenv.mkDerivation rec {
name = "sdparm-"+version;
builder = writeScript (name + "-builder")
(textClosure [doConfigure doMakeInstall doForceShare doPropagate]);
meta = {
description = "
SCSI parameters utility.
";
};
}

View File

@@ -1,11 +1,11 @@
{stdenv, fetchurl, zlib}:
stdenv.mkDerivation {
name = "squashfs-3.1-r2";
name = "squashfs-3.3";
builder = ./builder.sh;
src = fetchurl {
url = mirror://sourceforge/squashfs/squashfs3.1-r2.tar.gz;
md5 = "c252e5286b142afa54ca49829c51a33f";
url = mirror://sourceforge/squashfs/squashfs3.3.tgz;
sha256 = "1j55m26nyvlbld4yxad0r6s1f4rdw9yg89y2gv93ihkx3rx048w4";
};
buildInputs = [zlib];
}