diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2009-01-29 15:44:37 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2009-01-29 15:44:37 +0000 |
commit | b48cc44ebf28032d2a932ffc93e23d74b9561791 (patch) | |
tree | eead55f8c57ce03d603c7835cdefd3a596523d06 /pkgs/os-specific/linux | |
parent | 858cf3cdcb6c9d0572698189f59d3638df7908ca (diff) | |
download | nixlib-b48cc44ebf28032d2a932ffc93e23d74b9561791.tar nixlib-b48cc44ebf28032d2a932ffc93e23d74b9561791.tar.gz nixlib-b48cc44ebf28032d2a932ffc93e23d74b9561791.tar.bz2 nixlib-b48cc44ebf28032d2a932ffc93e23d74b9561791.tar.lz nixlib-b48cc44ebf28032d2a932ffc93e23d74b9561791.tar.xz nixlib-b48cc44ebf28032d2a932ffc93e23d74b9561791.tar.zst nixlib-b48cc44ebf28032d2a932ffc93e23d74b9561791.zip |
* klibc: install statically linked binaries as well.
* klibc: build against the regular kernel headers instead of depending on a kernel build. This way we don't have to rebuild klibc every time the kernel changes. * splashutils 1.3: compile properly with a klibc that uses unpatched kernel headers. svn path=/nixpkgs/trunk/; revision=13900
Diffstat (limited to 'pkgs/os-specific/linux')
-rw-r--r-- | pkgs/os-specific/linux/klibc/default.nix | 40 | ||||
-rw-r--r-- | pkgs/os-specific/linux/splashutils/1.3.nix | 2 | ||||
-rw-r--r-- | pkgs/os-specific/linux/splashutils/no-fbsplash.patch | 88 |
3 files changed, 91 insertions, 39 deletions
diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix index 024b1ffe9fa3..3a92c2f4d297 100644 --- a/pkgs/os-specific/linux/klibc/default.nix +++ b/pkgs/os-specific/linux/klibc/default.nix @@ -1,30 +1,34 @@ -{stdenv, fetchurl, perl, bison, mktemp, kernel - , version ? "1.5" - , sha256 ? "1izhf8kscjymsvsvhcqw9awnmp94vwv70zdj09srg9bkpjj0n017" - , subdir ? "" - , addPreBuild ? "" -}: +{stdenv, fetchurl, perl, bison, mktemp, kernelHeaders}: assert stdenv.isLinux; +let version = "1.5"; in + stdenv.mkDerivation { name = "klibc-${version}"; - #builder = ./builder.sh; + + src = fetchurl { + url = "mirror://kernel/linux/libs/klibc/klibc-${version}.tar.bz2"; + sha256 = "1izhf8kscjymsvsvhcqw9awnmp94vwv70zdj09srg9bkpjj0n017"; + }; + makeFlags = ["V=1" "prefix=$out" "SHLIBDIR=$out/lib"]; + preBuild = '' makeFlags=$(eval "echo $makeFlags") - mkdir -p linux/include - cp -prd $kernel/lib/modules/*/build/include/* linux/include/ + mkdir linux + cp -prsd ${kernelHeaders}/include linux/ chmod -R u+w linux/include/ - '' + addPreBuild; - src = fetchurl { - url = "mirror://kernel/linux/libs/klibc/${subdir}klibc-${version}.tar.bz2"; - inherit sha256; -# url = mirror://kernel/linux/libs/klibc/Testing/klibc-1.5.14.tar.bz2; -# sha256 = "1cmrqpgamnv2ns7dlxjm61zc88dxm4ff0aya413ij1lmhp2h2sfc"; - }; - inherit kernel; + ''; # */ + + # Install static binaries as well. + postInstall = '' + dir=$out/lib/klibc/bin.static + mkdir $dir + cp $(find $(find . -name static) -type f ! -name "*.g" -a ! -name ".*") $dir/ + cp usr/dash/sh $dir/ + ''; + buildInputs = [perl bison mktemp]; - #patches = [./install.patch]; } diff --git a/pkgs/os-specific/linux/splashutils/1.3.nix b/pkgs/os-specific/linux/splashutils/1.3.nix index 9775f66a1b79..51c53dd2a799 100644 --- a/pkgs/os-specific/linux/splashutils/1.3.nix +++ b/pkgs/os-specific/linux/splashutils/1.3.nix @@ -2,10 +2,12 @@ stdenv.mkDerivation { name = "splashutils-1.3"; + src = fetchurl { url = http://dev.gentoo.org/~spock/projects/splashutils/archive/splashutils-1.3.tar.bz2; md5 = "c7c92b98e34b860511aa57bd29d62f76"; }; + patches = [ ./purity.patch ./no-fbsplash.patch diff --git a/pkgs/os-specific/linux/splashutils/no-fbsplash.patch b/pkgs/os-specific/linux/splashutils/no-fbsplash.patch index a39fda6591c3..f83275ea84a1 100644 --- a/pkgs/os-specific/linux/splashutils/no-fbsplash.patch +++ b/pkgs/os-specific/linux/splashutils/no-fbsplash.patch @@ -1,21 +1,67 @@ -diff --git a/splash.h b/splash.h -index 5dccfe0..eae2939 100644 ---- a/splash.h -+++ b/splash.h -@@ -30,10 +30,14 @@ #endif - */ - #ifdef TARGET_KERNEL - #include <linux/fb.h> -- #include <linux/console_splash.h> -+ #ifdef CONFIG_FBSPLASH -+ #include <linux/console_splash.h> -+ #endif - #else - #include <fb.h> -- #include <console_splash.h> -+ #ifdef CONFIG_FBSPLASH -+ #include <console_splash.h> -+ #endif - #endif - - /* +diff -rc splashutils-1.3-orig/splash.h splashutils-1.3/splash.h +*** splashutils-1.3-orig/splash.h 2006-07-15 00:02:23.000000000 +0200 +--- splashutils-1.3/splash.h 2009-01-29 16:41:00.000000000 +0100 +*************** +*** 21,40 **** + */ + #ifdef TARGET_KERNEL + #include <linux/fb.h> +- #include <linux/console_splash.h> + #else + #include <fb.h> +- #include <console_splash.h> + #endif + + /* + * Necessary to avoid compilation errors when fbsplash support is + * disabled. + */ +- #if !defined(CONFIG_FBSPLASH) + #define FB_SPLASH_IO_ORIG_USER 0 + #define FB_SPLASH_IO_ORIG_KERNEL 1 +! #endif + + /* + * Adjustable settings +--- 21,60 ---- + */ + #ifdef TARGET_KERNEL + #include <linux/fb.h> + #else + #include <fb.h> + #endif + + /* + * Necessary to avoid compilation errors when fbsplash support is + * disabled. + */ + #define FB_SPLASH_IO_ORIG_USER 0 + #define FB_SPLASH_IO_ORIG_KERNEL 1 +! +! #define FBIOSPLASH_SETCFG _IOWR('F', 0x19, struct fb_splash_iowrapper) +! #define FBIOSPLASH_GETCFG _IOR('F', 0x1A, struct fb_splash_iowrapper) +! #define FBIOSPLASH_SETSTATE _IOWR('F', 0x1B, struct fb_splash_iowrapper) +! #define FBIOSPLASH_GETSTATE _IOR('F', 0x1C, struct fb_splash_iowrapper) +! #define FBIOSPLASH_SETPIC _IOWR('F', 0x1D, struct fb_splash_iowrapper) +! +! #define FB_SPLASH_THEME_LEN 128 /* Maximum lenght of a theme name */ +! +! struct fb_splash_iowrapper +! { +! unsigned short vc; /* Virtual console */ +! unsigned char origin; /* Point of origin of the request */ +! void *data; +! }; +! +! /* A structure used by the framebuffer splash code (drivers/video/fbsplash.c) */ +! struct vc_splash { +! __u8 bg_color; /* The color that is to be treated as transparent */ +! __u8 state; /* Current splash state: 0 = off, 1 = on */ +! __u16 tx, ty; /* Top left corner coordinates of the text field */ +! __u16 twidth, theight; /* Width and height of the text field */ +! char* theme; +! }; + + /* + * Adjustable settings +Only in splashutils-1.3/: splash.h~ |