Merge branch 'staging'
Hydra is only half-finished, but we'd better get secure glibc fast.
This commit is contained in:
71
pkgs/os-specific/linux/kernel-headers/4.4.nix
Normal file
71
pkgs/os-specific/linux/kernel-headers/4.4.nix
Normal file
@@ -0,0 +1,71 @@
|
||||
{ stdenv, fetchurl, perl, cross ? null }:
|
||||
|
||||
assert cross == null -> stdenv.isLinux;
|
||||
|
||||
let
|
||||
|
||||
version = "4.4.10";
|
||||
|
||||
kernelHeadersBaseConfig =
|
||||
if cross == null
|
||||
then stdenv.platform.kernelHeadersBaseConfig
|
||||
else cross.platform.kernelHeadersBaseConfig;
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "linux-headers-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
|
||||
sha256 = "1kpjvvd9q9wwr3314q5ymvxii4dv2d27295bzly225wlc552xhja";
|
||||
};
|
||||
|
||||
targetConfig = if cross != null then cross.config else null;
|
||||
|
||||
platform =
|
||||
if cross != null then cross.platform.kernelArch else
|
||||
if stdenv.system == "i686-linux" then "i386" else
|
||||
if stdenv.system == "x86_64-linux" then "x86_64" else
|
||||
if stdenv.system == "powerpc-linux" then "powerpc" else
|
||||
if stdenv.isArm then "arm" else
|
||||
if stdenv.platform ? kernelArch then stdenv.platform.kernelArch else
|
||||
abort "don't know what the kernel include directory is called for this platform";
|
||||
|
||||
buildInputs = [perl];
|
||||
|
||||
extraIncludeDirs =
|
||||
if cross != null then
|
||||
(if cross.arch == "powerpc" then ["ppc"] else [])
|
||||
else if stdenv.system == "powerpc-linux" then ["ppc"] else [];
|
||||
|
||||
buildPhase = ''
|
||||
if test -n "$targetConfig"; then
|
||||
export ARCH=$platform
|
||||
fi
|
||||
make ${kernelHeadersBaseConfig} SHELL=bash
|
||||
make mrproper headers_check SHELL=bash
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
make INSTALL_HDR_PATH=$out headers_install
|
||||
|
||||
# Some builds (e.g. KVM) want a kernel.release.
|
||||
mkdir -p $out/include/config
|
||||
echo "${version}-default" > $out/include/config/kernel.release
|
||||
'';
|
||||
|
||||
# !!! hacky
|
||||
fixupPhase = ''
|
||||
ln -s asm $out/include/asm-$platform
|
||||
if test "$platform" = "i386" -o "$platform" = "x86_64"; then
|
||||
ln -s asm $out/include/asm-x86
|
||||
fi
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Header files and scripts for Linux kernel";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -23,6 +23,11 @@ stdenv.mkDerivation rec {
|
||||
"--disable-introspection"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i 's:input.h:input-event-codes.h:' Makefile.in
|
||||
sed -i '20a#include <stdint.h>' src/mtd_probe/mtd_probe.h
|
||||
'';
|
||||
|
||||
NIX_LDFLAGS = [ "-lrt" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
||||
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/utils/util-linux/v${version}/${name}.tar.xz";
|
||||
sha512 = "251zv6lk6b8ip38w2h0w2rpnly38nzh96945mbpssvwjv8fgr5bnhj3207aingyybik79761zngk981wl0rblq5f7l5v655znyi3yd1";
|
||||
sha256 = "1fql204qn3098j34yd358l85ffp7a4kqjf7jf1qk2b4al7i4fn1r";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
Reference in New Issue
Block a user