Trying to add Zen Linux Kernel
svn path=/nixpkgs/trunk/; revision=17050
This commit is contained in:
parent
3a5645269d
commit
491255bbb3
7 changed files with 76 additions and 2 deletions
24
pkgs/build-support/upstream-updater/create-src-info-git.sh
Executable file
24
pkgs/build-support/upstream-updater/create-src-info-git.sh
Executable file
|
@ -0,0 +1,24 @@
|
|||
#! /bin/sh
|
||||
|
||||
[ -z "$1" ] && {
|
||||
echo "Use $0 expression-basename repo-url branch-name package-base-name"
|
||||
echo "Like:"
|
||||
echo "$0 default http://git.example.com/repo origin/master hello"
|
||||
exit 1;
|
||||
} >&2
|
||||
|
||||
own_dir="$(cd "$(dirname "$0")"; sh -c pwd)"
|
||||
|
||||
cp "$own_dir/../builder-defs/template-bdp-uud.nix" "$1.nix"
|
||||
sed -e "s@src-for-default.nix@src-for-$1.nix@g;
|
||||
s@fetchUrlFromSrcInfo@fetchGitFromSrcInfo@g" -i "$1.nix"
|
||||
echo '{}' > "src-for-$1.nix"
|
||||
cat << EOF > src-info-for-$1.nix
|
||||
{
|
||||
repoUrl = "$2";
|
||||
rev = "$3";
|
||||
baseName = "$4";
|
||||
method = "fetchgit";
|
||||
}
|
||||
EOF
|
||||
|
|
@ -75,7 +75,7 @@ prefetchClause=""
|
|||
"
|
||||
export NIX_HASH_ALGO=sha256
|
||||
rev="$(getAttr rev '')";
|
||||
rev_and_hash="$("$own_dir"/../fetchgit/nix-prefetch-git "$repoUrl" "$rev" | tail -2)"
|
||||
rev_and_hash="$("$own_dir"/../fetchgit/nix-prefetch-git "$repoUrl" "$rev" | tee /dev/stderr | tail -2)"
|
||||
|
||||
rev="$(echo "$rev_and_hash" | head -1)"
|
||||
url="$repoUrl";
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
extraConfig ? []
|
||||
|
||||
, preConfigure ? ""
|
||||
, extraMeta ? {}
|
||||
, ...
|
||||
}:
|
||||
|
||||
|
@ -96,5 +97,5 @@ stdenv.mkDerivation {
|
|||
" (with patches: "
|
||||
+ lib.concatStrings (lib.intersperse ", " (map (x: x.name) kernelPatches))
|
||||
+ ")");
|
||||
};
|
||||
} // extraMeta;
|
||||
}
|
||||
|
|
29
pkgs/os-specific/linux/zen-kernel/2.6.31-zen0.nix
Normal file
29
pkgs/os-specific/linux/zen-kernel/2.6.31-zen0.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
a :
|
||||
let
|
||||
s = import ./src-for-2.6.31-zen0.nix;
|
||||
in
|
||||
(import ../kernel/generic.nix) (rec {
|
||||
inherit (a) stdenv fetchurl perl mktemp module_init_tools;
|
||||
|
||||
src = a.builderDefs.fetchGitFromSrcInfo s;
|
||||
version = "2.6.31-zen0";
|
||||
config = "./kernel-config";
|
||||
features = {
|
||||
iwlwifi = true;
|
||||
zen = true;
|
||||
};
|
||||
|
||||
extraMeta = {
|
||||
maintainers = [
|
||||
a.lib.maintainers.raskin
|
||||
];
|
||||
platforms = with a.lib.platforms;
|
||||
linux;
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
make allmodconfig
|
||||
|
||||
cp .config ${config}
|
||||
'';
|
||||
})
|
|
@ -0,0 +1,9 @@
|
|||
rec {
|
||||
version="dea7da967ccc58d0fbb4adc7671a1c85f6211da0";
|
||||
name="zen-linux-dea7da967ccc58d0fbb4adc7671a1c85f6211da0";
|
||||
hash="65ff82897af27b9f01d459f4ec116d5568c971327efa892ae67bd0abf06136b2";
|
||||
rev="dea7da967ccc58d0fbb4adc7671a1c85f6211da0";
|
||||
url="http://git.zen-sources.org/zen.git";
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
repoUrl = "http://git.zen-sources.org/zen.git";
|
||||
rev = "origin/master";
|
||||
baseName = "zen-linux";
|
||||
method = "fetchgit";
|
||||
}
|
|
@ -5310,6 +5310,11 @@ let
|
|||
oldI686 = true;
|
||||
});
|
||||
|
||||
kernel_2_6_31_zen0 = makeOverridable (import ../os-specific/linux/zen-kernel/2.6.31-zen0.nix) {
|
||||
inherit fetchurl stdenv perl mktemp module_init_tools
|
||||
lib builderDefs;
|
||||
};
|
||||
|
||||
/* Kernel modules are inherently tied to a specific kernel. So
|
||||
rather than provide specific instances of those packages for a
|
||||
specific kernel, we have a function that builds those packages
|
||||
|
|
Loading…
Reference in a new issue