* Sync with trunk.

svn path=/nixpkgs/branches/stdenv-updates/; revision=13903
This commit is contained in:
Eelco Dolstra
2009-01-29 16:33:02 +00:00
67 changed files with 1254 additions and 288 deletions

View File

@@ -0,0 +1,18 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "dev86-0.16.17";
src = fetchurl {
url = http://homepage.ntlworld.com/robert.debath/dev86/Dev86src-0.16.17.tar.gz;
md5 = "e7bbfdbe61c2fb964994a087e29b0087";
};
preBuild = "
makeFlags=\"PREFIX=$out\"
";
meta = {
description = "Linux 8086 development environment";
homepage = http://www.debath.co.uk/;
};
}

View File

@@ -1,14 +1,15 @@
{stdenv, fetchurl, readline, ghc, perl, m4, gmp, ncurses}:
stdenv.mkDerivation (rec {
name = "ghc-6.8.2";
version = "6.8.2";
name = "ghc-${version}";
homepage = "http://www.haskell.org/ghc";
src = map fetchurl [
{ url = "${homepage}/dist/stable/dist/${name}-src.tar.bz2";
md5 = "745c6b7d4370610244419cbfec4b2f84";
{ url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
sha256 = "2d10f973c35e8d7d9f62b53e26fef90177a9a15105cda4b917340ba7696a22d9";
}
{ url = "${homepage}/dist/stable/dist/${name}-src-extralibs.tar.bz2";
{ url = "${homepage}/dist/${version}/${name}-src-extralibs.tar.bz2";
md5 = "d199c50814188fb77355d41058b8613c";
}
];

View File

@@ -0,0 +1,27 @@
{stdenv, fetchurl, bison, flex}:
stdenv.mkDerivation {
name = "iasl-20090123.tar.gz";
src = fetchurl {
url = http://www.acpica.org/download/acpica-unix-20090123.tar.gz;
md5 = "4ca6484acbf16cf67fd4ba91d32fd0a0";
};
buildPhase = "
cd compiler
make
cd ..
";
installPhase = "
install -d $out/bin
install compiler/iasl $out/bin
";
buildInputs = [ bison flex ];
meta = {
description = "Intel ACPI Compiler";
homepage = http://www.acpica.org/;
};
}

View File

@@ -17,7 +17,10 @@ stdenv.mkDerivation
configureFlags = if static then "--disable-dynamic" else "--enable-dynamic";
CPPFLAGS = "-DNDEBUG";
CFLAGS = "-O3";
doCheck = 1;
# FIXME: The test suite fails on NixOS in a chroot. See
# http://thread.gmane.org/gmane.linux.distributions.nixos/1328 for details.
doCheck = false;
# adns doesn't understand the automatic --disable-shared from the Cygwin stdenv.
cygwinConfigureEnableShared = true;

View File

@@ -8,27 +8,50 @@
assert postscriptSupport -> zlib != null;
assert pngSupport -> libpng != null;
stdenv.mkDerivation {
name = "cairo-1.8.0";
stdenv.mkDerivation rec {
name = "cairo-1.8.6";
src = fetchurl {
url = http://cairographics.org/releases/cairo-1.8.0.tar.gz;
sha1 = "8a689ca47c24216f37bb8cabae21ff08a7f47899";
url = "http://cairographics.org/releases/${name}.tar.gz";
sha256 = "0d9mfwq7r66j85hqjcjavwbn7c8gdaqnahmmiyz5iwpc1jplg8wk";
};
buildInputs = [
pkgconfig x11 fontconfig freetype pixman libxcb xcbutil
pkgconfig x11 fontconfig pixman libxcb xcbutil
];
propagatedBuildInputs =
[ freetype ] ++
stdenv.lib.optional postscriptSupport zlib ++
stdenv.lib.optional pngSupport libpng;
configureFlags = ["--disable-static" "--enable-xcb"] ++
stdenv.lib.optional pdfSupport "--enable-pdf";
preConfigure = ''
# Work around broken `Requires.private' that prevents Freetype
# `-I' flags to be propagated.
sed -i "src/cairo.pc.in" \
-es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype}/include/freetype2 -I${freetype}/include|g'
'';
meta = {
description = "A 2D graphics library with support for multiple output devices";
longDescription = ''
Cairo is a 2D graphics library with support for multiple output
devices. Currently supported output targets include the X
Window System, Quartz, Win32, image buffers, PostScript, PDF,
and SVG file output. Experimental backends include OpenGL
(through glitz), XCB, BeOS, OS/2, and DirectFB.
Cairo is designed to produce consistent output on all output
media while taking advantage of display hardware acceleration
when available (e.g., through the X Render Extension).
'';
homepage = http://cairographics.org/;
licenses = [ "LGPLv2+" "MPLv1" ];
};
}

View File

@@ -1,15 +1,35 @@
args: with args;
{ fetchurl, stdenv, pkgconfig, cairo, x11, fontconfig, freetype, libsigcxx }:
stdenv.mkDerivation rec {
name = "cairomm-1.4.6";
name = "cairomm-1.7.2";
src = fetchurl {
url = "http://cairographics.org/releases/${name}.tar.gz";
sha256 = "1zd5pq5jd507w1v994awpsl7m26g4dfl0rwgrxig2823hl3rqmrp";
sha256 = "0rcbkk16yj9k1y491ms5j6f9z5wrvv4qkd7wbx44nziwhw6hc0qx";
};
buildInputs = [pkgconfig];
propagatedBuildInputs = [cairo x11 fontconfig freetype];
propagatedBuildInputs = [ cairo x11 fontconfig freetype libsigcxx ];
configureFlags = "--enable-shared --disable-static";
meta = {
description = "A 2D graphics library with support for multiple output devices";
longDescription = ''
Cairo is a 2D graphics library with support for multiple output
devices. Currently supported output targets include the X
Window System, Quartz, Win32, image buffers, PostScript, PDF,
and SVG file output. Experimental backends include OpenGL
(through glitz), XCB, BeOS, OS/2, and DirectFB.
Cairo is designed to produce consistent output on all output
media while taking advantage of display hardware acceleration
when available (e.g., through the X Render Extension).
'';
homepage = http://cairographics.org/;
licenses = [ "LGPLv2+" "MPLv1" ];
};
}

View File

@@ -0,0 +1,30 @@
args: with args;
stdenv.mkDerivation rec {
name = "atk-1.24.0";
src = fetchurl {
url = "mirror://gnome/sources/atk/1.24/${name}.tar.bz2";
sha256 = "0mjxliarzcy7iksh6v1npxsqdpc9sjj3q4wcl567asbdzdpbd803";
};
buildInputs = [pkgconfig perl];
propagatedBuildInputs = [glib];
meta = {
description = "ATK, the accessibility toolkit";
longDescription = ''
ATK is the Accessibility Toolkit. It provides a set of generic
interfaces allowing accessibility technologies such as screen
readers to interact with a graphical user interface. Using the
ATK interfaces, accessibility tools have full access to view and
control running applications.
'';
homepage = http://library.gnome.org/devel/atk/;
license = "LGPLv2+";
};
}

View File

@@ -0,0 +1,21 @@
args: with args;
rec {
glib = (import ./glib) args;
atk = (import ./atk) (args // { inherit glib; });
pango = (import ./pango) (args // { inherit glib cairo; });
gtk = (import ./gtk+) (args // {
inherit glib atk pango;
});
glibmm = (import ./glibmm) (args // { inherit glib; });
pangomm = (import ./pangomm) (args // { inherit pango glibmm cairomm; });
gtkmm = (import ./gtkmm) (args // { inherit gtk atk glibmm pangomm; });
}

View File

@@ -0,0 +1,27 @@
args: with args;
stdenv.mkDerivation rec {
name = "glib-2.18.4";
src = fetchurl {
url = "mirror://gnome/sources/glib/2.18/${name}.tar.bz2";
sha256 = "00711nscyya6j1kdda7sbxy01qspccpvmnmc8f4kip4zbs22rsva";
};
buildInputs = [pkgconfig gettext perl];
meta = {
description = "GLib, a C library of programming buildings blocks";
longDescription = ''
GLib provides the core application building blocks for libraries
and applications written in C. It provides the core object
system used in GNOME, the main loop implementation, and a large
set of utility functions for strings and common data structures.
'';
homepage = http://www.gtk.org/;
license = "LGPLv2+";
};
}

View File

@@ -0,0 +1,21 @@
args: with args;
stdenv.mkDerivation rec {
name = "glibmm-2.18.1";
src = fetchurl {
url = "mirror://gnome/GNOME/sources/glibmm/2.18/${name}.tar.bz2";
sha256 = "0jg65hv6pwxqk4fabsjjz2zwn5hb6rgy3szj956avliarbliyr3r";
};
buildInputs = [pkgconfig];
propagatedBuildInputs = [glib libsigcxx];
meta = {
description = "C++ interface to the GLib library";
homepage = http://gtkmm.org/;
license = "LGPLv2+";
};
}

View File

@@ -0,0 +1,37 @@
args: with args;
stdenv.mkDerivation rec {
name = "gtk+-2.14.7";
src = fetchurl {
url = "mirror://gnome/sources/gtk+/2.14/${name}.tar.bz2";
sha256 = "053yn2fdxhqd4jhds4j96daw2zd4cfw5wx9vf4szrfidwll4fbz8";
};
buildInputs = [ pkgconfig perl jasper ];
propagatedBuildInputs = [
x11 glib atk pango libtiff libjpeg libpng cairo libXrandr
] ++ stdenv.lib.optional xineramaSupport libXinerama;
passthru = { inherit libtiff libjpeg libpng; };
meta = {
description = "A multi-platform toolkit for creating graphical user interfaces";
longDescription = ''
GTK+ is a highly usable, feature rich toolkit for creating
graphical user interfaces which boasts cross platform
compatibility and an easy to use API. GTK+ it is written in C,
but has bindings to many other popular programming languages
such as C++, Python and C# among others. GTK+ is licensed
under the GNU LGPL 2.1 allowing development of both free and
proprietary software with GTK+ without any license fees or
royalties.
'';
homepage = http://www.gtk.org/;
license = "LGPLv2+";
};
}

View File

@@ -0,0 +1,31 @@
args: with args;
stdenv.mkDerivation rec {
name = "gtkmm-2.14.3";
src = fetchurl {
url = "mirror://gnome/sources/gtkmm/2.14/${name}.tar.bz2";
sha256 = "18jral2lv9jv02d3balh0mi0wgbqhrz5y2laclri1skccc2q3c94";
};
buildInputs = [pkgconfig];
propagatedBuildInputs = [ glibmm gtk atk cairomm pangomm ];
meta = {
description = "C++ interface to the GTK+ graphical user interface library";
longDescription = ''
gtkmm is the official C++ interface for the popular GUI library
GTK+. Highlights include typesafe callbacks, and a
comprehensive set of widgets that are easily extensible via
inheritance. You can create user interfaces either in code or
with the Glade User Interface designer, using libglademm.
There's extensive documentation, including API reference and a
tutorial.
'';
homepage = http://gtkmm.org/;
license = "LGPLv2+";
};
}

View File

@@ -0,0 +1,29 @@
args: with args;
stdenv.mkDerivation rec {
name = "pango-1.22.4";
src = fetchurl {
url = "mirror://gnome/sources/pango/1.22/${name}.tar.bz2";
sha256 = "0d55x97c78rmcsls5g236xwwhjq1bvscrlxqligyzsv0hgnxfizz";
};
buildInputs = [pkgconfig];
propagatedBuildInputs = [x11 glib cairo libpng];
meta = {
description = "A library for laying out and rendering of text, with an emphasis on internationalization";
longDescription = ''
Pango is a library for laying out and rendering of text, with an
emphasis on internationalization. Pango can be used anywhere
that text layout is needed, though most of the work on Pango so
far has been done in the context of the GTK+ widget toolkit.
Pango forms the core of text and font handling for GTK+-2.x.
'';
homepage = http://www.pango.org/;
license = "LGPLv2+";
};
}

View File

@@ -0,0 +1,31 @@
{ stdenv, fetchurl, pkgconfig, libtool, gtk, gthread
, alsaLib, pulseaudio, gstreamer, libvorbis }:
stdenv.mkDerivation rec {
name = "libcanberra-0.10";
src = fetchurl {
url = "http://0pointer.de/lennart/projects/libcanberra/${name}.tar.gz";
sha256 = "0wl2hd8zqwzbbp4icng6siim85jb6hvczy9c6m92lh85wrcwpqxh";
};
buildInputs = [ pkgconfig libtool gtk alsaLib pulseaudio gstreamer libvorbis ];
configureFlags = "--disable-oss";
meta = {
description = "libcanberra, an implementation of the XDG Sound Theme and Name Specifications";
longDescription = ''
libcanberra is an implementation of the XDG Sound Theme and Name
Specifications, for generating event sounds on free desktops
such as GNOME. It comes with several backends (ALSA,
PulseAudio, OSS, GStreamer, null) and is designed to be
portable.
'';
homepage = http://0pointer.de/lennart/projects/libcanberra/;
license = "LGPLv2+";
};
}

View File

@@ -1,11 +1,11 @@
{ fetchurl, stdenv, libgpgerror }:
stdenv.mkDerivation rec {
name = "libgcrypt-1.4.3";
name = "libgcrypt-1.4.4";
src = fetchurl {
url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
sha256 = "02r31dycxvlld9mn1ah78g1phkh42ajk7qcqi20x9mq1kyyikj48";
sha256 = "0vrhpw6xp05q98l4yf68j6aw59dgdwbzqf2d2q3a13ygh20bh4ij";
};
propagatedBuildInputs = [ libgpgerror ];

View File

@@ -6,5 +6,6 @@ stdenv.mkDerivation {
url = http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.0.tar.bz2;
sha256 = "0nq62b8y2rhhgxxyiw6b4wchic61q5v649fdl8dd7090nxxcbx4y";
};
buildInputs = [libogg];
propagatedBuildInputs = [ libogg ];
}

View File

@@ -0,0 +1,18 @@
{stdenv, fetchurl, mesa, qt4, tcl, tk}:
stdenv.mkDerivation {
name = "opencascade-6.3.0";
src = fetchurl {
url = http://files.opencascade.com/OCC_6.3_release/OpenCASCADE_src.tgz;
md5 = "52778127974cb3141c2827f9d40d1f11";
};
buildInputs = [ mesa qt4 tcl tk];
preConfigure = "cd ros";
meta = {
description = "Open CASCADE Technology, libraries for 3D modeling and numerical simulation";
homepage = http://www.opencascade.org/;
};
}

View File

@@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, gtk, libXinerama, libSM, libXxf86vm, xf86vidmodeproto
, compat24 ? false, compat26 ? true, unicode ? true
, mesa, compat24 ? false, compat26 ? true, unicode ? true,
}:
assert pkgconfig != null && gtk != null;
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
buildInputs = [
pkgconfig gtk gtk.libtiff gtk.libjpeg gtk.libpng gtk.libpng.zlib
libXinerama libSM libXxf86vm xf86vidmodeproto
libXinerama libSM libXxf86vm xf86vidmodeproto mesa
];
configureFlags = [
@@ -27,17 +27,21 @@ stdenv.mkDerivation {
(if compat26 then "--enable-compat26" else "--disable-compat26")
"--disable-precomp-headers"
(if unicode then "--enable-unicode" else "")
"--with-opengl"
];
# This variable is used by configure to find some dependencies.
SEARCH_INCLUDE =
"${libXinerama}/include ${libSM}/include ${libXxf86vm}/include";
SEARCH_LIB = "${mesa}/lib";
# Work around a bug in configure.
NIX_CFLAGS_COMPILE = "-DHAVE_X11_XLIB_H=1";
preConfigure = "
substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
substituteInPlace configure --replace 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
substituteInPlace configure --replace /usr /no-such-path
";

View File

@@ -0,0 +1,64 @@
diff --git a/Makefile b/Makefile
index 9e85686..b8e6e02 100644
--- a/Makefile
+++ b/Makefile
@@ -15,13 +15,14 @@
#
# add -DUSE_READLINE To compile in support for the GNU readline library.
-CFLAGS= -s -O2 -DUSE_READLINE
+
CC= gcc
-LIBS= -lreadline -ltermcap
+
ALLFILES= makefile cdgram.y cdlex.l cdecl.c cdecl.1 testset testset++
-BINDIR= /usr/bin
-MANDIR= /usr/man/man1
-CATDIR= /usr/man/cat1
+PREFIX?= /usr
+BINDIR= $(PREFIX)/bin
+MANDIR= $(PREFIX)/man/man1
+CATDIR= $(PREFIX)/man/cat1
INSTALL= install -c
INSTALL_DATA= install -c -m 644
@@ -33,7 +34,7 @@ c++decl: cdgram.c cdlex.c cdecl.c
rm -f cdecl
cdlex.c: cdlex.l
- lex cdlex.l && mv lex.yy.c cdlex.c
+ flex cdlex.l && mv lex.yy.c cdlex.c
cdgram.c: cdgram.y
yacc cdgram.y && mv y.tab.c cdgram.c
@@ -43,8 +44,10 @@ test:
./c++decl < testset++
install: cdecl
+ $(INSTALL) -d $(BINDIR)
$(INSTALL) cdecl $(BINDIR)
ln $(BINDIR)/cdecl $(BINDIR)/c++decl
+ $(INSTALL) -d $(MANDIR)
$(INSTALL_DATA) cdecl.1 $(MANDIR)
$(INSTALL_DATA) c++decl.1 $(MANDIR)
diff --git a/cdecl.c b/cdecl.c
index f03f01e..1fdde9f 100644
--- a/cdecl.c
+++ b/cdecl.c
@@ -67,6 +67,7 @@ char cdeclsccsid[] = "@(#)cdecl.c 2.5 1/15/96";
# include <stddef.h>
# include <string.h>
# include <stdarg.h>
+# include <errno.h>
#else
# ifndef NOVARARGS
# include <varargs.h>
@@ -124,7 +125,6 @@ char real_prompt[MAX_NAME+3];
#if __STDC__
char *ds(char *), *cat(char *, ...), *visible(int);
- int getopt(int,char **,char *);
int main(int, char **);
int yywrap(void);
int dostdin(void);

View File

@@ -0,0 +1,19 @@
{stdenv, fetchurl, yacc, flex, readline}:
stdenv.mkDerivation {
name = "cdecl-2.5";
src = fetchurl {
url = ftp://metalab.unc.edu/pub/linux/devel/lang/c/cdecl-2.5.tar.gz;
md5 = "29895dab52e85b2474a59449e07b7996";
};
patches = [ ./cdecl-2.5.patch ];
preBuild = "
makeFlags=\"PREFIX=$out\"
";
buildInputs = [yacc flex readline];
meta = {
description = "Translator English -- C/C++ declarations";
};
}

View File

@@ -0,0 +1,44 @@
{composableDerivation, fetchurl, transfig, texLive}:
let
version = "6.3";
name = "ragel-${version}";
in
composableDerivation.composableDerivation {
initial = rec {
inherit name;
src = fetchurl {
url = "http://www.complang.org/ragel/${name}.tar.gz";
sha256 = "018cedc8a68be85cda330fc53d0bb8a1ca6ad39b1cf790eed0311e7baa5a2520";
};
flags = {
doc = {
# require fig2dev & pdflatex (see README)
buildInputs = [transfig texLive];
# use post* because default values of buildPhase is empty.
postBuild = ''
pushd doc
make
popd
'';
postInstall = ''
pushd doc
make install
popd
'';
};
};
cfg = {
docSupport = false;
};
meta = {
homepage = http://www.complang.org/ragel;
description = "State machine compiler";
license = "GPL-2";
};
};
}