1{stdenv, fetchurl, glibc}:
2
3assert stdenv.isLinux;
4
5stdenv.mkDerivation {
6 name = "dietlibc-0.30";
7 src = fetchurl {
8 url = mirror://kernel/linux/libs/dietlibc/dietlibc-0.30.tar.bz2;
9 md5 = "2465d652fff6f1fad3da3b98e60e83c9";
10 };
11 builder = ./builder.sh;
12
13 inherit glibc;
14 kernelHeaders = glibc.kernelHeaders;
15
16 patches = [
17
18 # dietlibc's sigcontext.h provides a macro called PC(), which is
19 # rather intrusive (e.g., binutils fails to compile because of
20 # it). Rename it.
21 ./pc.patch
22
23 # wchar.h declares lots of functions that don't actually exist.
24 # Remove them.
25 ./no-wchar.patch
26
27 # Fix to get DNS resolution to work on 64-bit platforms. Taken
28 # from 0.31 CVS.
29 ./dns64.patch
30
31 # Get lseek64 working on x86_64. From
32 # http://svn.annvix.org/cgi-bin/viewvc.cgi/packages/releases/2.0-CURRENT/dietlibc/SOURCES
33 ./x86_64-lseek64.patch
34 #./x86_64-stat64.patch
35
36 ];
37
38 meta = {
39 homepage = http://www.fefe.de/dietlibc/;
40 description = "A small implementation of the C library";
41 license = "GPL";
42 };
43}