summary refs log tree commit diff
path: root/pkgs/os-specific/linux/microcode
diff options
context:
space:
mode:
authorArie Middelkoop <amiddelk@gmail.com>2012-02-05 20:44:19 +0000
committerArie Middelkoop <amiddelk@gmail.com>2012-02-05 20:44:19 +0000
commit2d7fe3028818f008f2f431a98fbadf98cfebc73c (patch)
tree5c6ca98f5c5fb1bf87905d0723a60a0e8667b429 /pkgs/os-specific/linux/microcode
parentc81e27f1f7f4ce14a650214e537033eb302f4692 (diff)
downloadnixlib-2d7fe3028818f008f2f431a98fbadf98cfebc73c.tar
nixlib-2d7fe3028818f008f2f431a98fbadf98cfebc73c.tar.gz
nixlib-2d7fe3028818f008f2f431a98fbadf98cfebc73c.tar.bz2
nixlib-2d7fe3028818f008f2f431a98fbadf98cfebc73c.tar.lz
nixlib-2d7fe3028818f008f2f431a98fbadf98cfebc73c.tar.xz
nixlib-2d7fe3028818f008f2f431a98fbadf98cfebc73c.tar.zst
nixlib-2d7fe3028818f008f2f431a98fbadf98cfebc73c.zip
Improved the expression for intel microcode.
svn path=/nixpkgs/trunk/; revision=32042
Diffstat (limited to 'pkgs/os-specific/linux/microcode')
-rw-r--r--pkgs/os-specific/linux/microcode/converter.nix29
-rw-r--r--pkgs/os-specific/linux/microcode/intel.nix14
2 files changed, 36 insertions, 7 deletions
diff --git a/pkgs/os-specific/linux/microcode/converter.nix b/pkgs/os-specific/linux/microcode/converter.nix
new file mode 100644
index 000000000000..ea00c7a6ae42
--- /dev/null
+++ b/pkgs/os-specific/linux/microcode/converter.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "microcode2ucode-20120205";
+  src = fetchurl {
+    url = "http://gentoo-overlays.zugaina.org/gentoo/portage/sys-apps/microcode-data/files/intel-microcode2ucode.c";
+    sha256 = "c51b1b1d8b4b28e7d5d007917c1e444af1a2ff04a9408aa9067c0e57d70164de";
+  };
+
+  sourceRoot = ".";
+
+  unpackPhase = ''
+    # nothing to unpack
+  '';
+
+  buildPhase = ''
+    gcc -Wall -O2 $src -o intel-microcode2ucode
+  '';
+  
+  installPhase = ''
+    ensureDir "$out/bin"
+    cp intel-microcode2ucode "$out/bin/"
+  '';
+
+  meta = {
+    homepage = http://www.intel.com;
+    description = "Microcode converter for Intel .dat files";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix
index 3294c90cb3a0..9a57fef67a1b 100644
--- a/pkgs/os-specific/linux/microcode/intel.nix
+++ b/pkgs/os-specific/linux/microcode/intel.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, microcode2ucode }:
 
 let version = "20111110";
     num = "20728";
@@ -9,16 +9,16 @@ in stdenv.mkDerivation {
     sha256 = "16f532cdf9cce03e01e714619ad9406a465aa965bbd1288035398db79921cbc1";
   };
 
-#  setSourceRoot = ''
-#    sourceRoot=.
-#  '';
-
+  buildInputs = [ microcode2ucode ];
   sourceRoot = ".";
 
-  dontBuild = true;
+  buildPhase = ''
+    intel-microcode2ucode microcode.dat
+  '';
+
   installPhase = ''
     ensureDir $out
-    cp microcode.dat "$out/"
+    cp -r intel-ucode "$out/"
   '';
 
   meta = {