nixpkgs-suyu/pkgs/os-specific/linux/aufs2/default.nix
Michael Raskin 5ea58c412e Fix more problems with aufs2
svn path=/nixpkgs/trunk/; revision=17110
2009-09-14 13:30:33 +00:00

50 lines
1.4 KiB
Nix

{ stdenv, fetchgit, kernel, perl }:
let s = import ./src-for-default.nix; in
stdenv.mkDerivation {
name = "${s.name}-${kernel.version}";
src = fetchgit {
inherit (s) url rev;
sha256 = s.hash;
};
buildInputs = [ perl ];
buildPhase = ''
kernelVersion=$(cd ${kernel}/lib/modules && ls)
kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/source)
tar xvfj ${kernel.src}
kernelSource=$(echo $(pwd)/linux-*)
cp -prd $kernelBuild/* $kernelSource
# Looks like GCC3 and GCC4 protect stack differently
# We do have the protection with recent GCC3 and GCC4, so override
# the check
chmod u+w $kernelSource/scripts/gcc-x86_32-has-stack-protector.sh
chmod u+w $kernelSource/scripts/gcc-x86_64-has-stack-protector.sh
echo echo y > $kernelSource/scripts/gcc-x86_32-has-stack-protector.sh
echo echo y > $kernelSource/scripts/gcc-x86_64-has-stack-protector.sh
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$PWD/include"
make KDIR=$kernelSource aufs.ko
'';
installPhase = ''
ensureDir $out/bin
cp util/aulchown $out/bin
ensureDir $out/share/man/man5
cp util/aufs.5 $out/share/man/man5
ensureDir $out/lib/modules/$kernelVersion/misc
cp aufs.ko $out/lib/modules/$kernelVersion/misc
'';
meta = {
description = "Another Unionfs implementation for Linux - second generation";
homepage = http://aufs.sourceforge.net/;
};
}