* stdenv branch: synced with the trunk.

svn path=/nixpkgs/branches/stdenv-updates/; revision=13785
This commit is contained in:
Eelco Dolstra 2009-01-16 10:59:27 +00:00
commit c1579d2e78
150 changed files with 10982 additions and 31204 deletions

View file

@ -1,72 +1,78 @@
# TODO tidy up eg The patchelf code is patching gvim even if you don't build it..
# but I have gvim with python support now :) - Marc
args:
let edf = args.lib.enableDisableFeature; in
( args.mkDerivationByConfiguration {
# most interpreters aren't tested yet.. (see python for example how to do it)
flagConfig = {
mandatory = { cfgOption = "--enable-gui=auto --with-features=${args.features}";
buildInputs = ["ncurses" "pkgconfig"];
};
X11 = { buildInputs = [ "libX11" "libXext" "libSM" "libXpm" "libXt" "libXaw" "libXau" "libXmu" ]; };
args: with args;
let inherit (args.composableDerivation) composableDerivation edf; in
composableDerivation {
initial = {
} // edf "darwin" "darwin" { } #Disable Darwin (Mac OS X) support.
// edf "xsmp" "xsmp" { } #Disable XSMP session management
// edf "xsmp_interact" "xsmp_interact" { } #Disable XSMP interaction
// edf "mzscheme" "mzschemeinterp" { } #Include MzScheme interpreter.
// edf "perl" "perlinterp" { } #Include Perl interpreter.
// edf "python" "pythoninterp" { pass = "python"; } #Include Python interpreter.
// edf "tcl" "tclinterp" { } #Include Tcl interpreter.
// edf "ruby" "rubyinterp" { } #Include Ruby interpreter.
// edf "cscope" "cscope" { } #Include cscope interface.
// edf "workshop" "workshop" { } #Include Sun Visual Workshop support.
// edf "netbeans" "netbeans" { } #Disable NetBeans integration support.
// edf "sniff" "sniff" { } #Include Sniff interface.
// edf "multibyte" "multibyte" { } #Include multibyte editing support.
// edf "hangulinput" "hangulinput" { } #Include Hangul input support.
// edf "xim" "xim" { pass = "xim"; } #Include XIM input support.
// edf "fontset" "fontset" { } #Include X fontset output support.
name = "vim_configurable-7.1";
#--enable-gui=OPTS X11 GUI default=auto OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/photon/carbon
/*
// edf "gtk_check" "gtk_check" { } #If auto-select GUI, check for GTK default=yes
// edf "gtk2_check" "gtk2_check" { } #If GTK GUI, check for GTK+ 2 default=yes
// edf "gnome_check" "gnome_check" { } #If GTK GUI, check for GNOME default=no
// edf "motif_check" "motif_check" { } #If auto-select GUI, check for Motif default=yes
// edf "athena_check" "athena_check" { } #If auto-select GUI, check for Athena default=yes
// edf "nextaw_check" "nextaw_check" { } #If auto-select GUI, check for neXtaw default=yes
// edf "carbon_check" "carbon_check" { } #If auto-select GUI, check for Carbon default=yes
// edf "gtktest" "gtktest" { } #Do not try to compile and run a test GTK program
*/
// edf "acl" "acl" { } #Don't check for ACL support.
// edf "gpm" "gpm" { } #Don't use gpm (Linux mouse daemon).
// edf "nls" "nls" { } #Don't support NLS (gettext()).
;
src = args.fetchurl {
url = ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2;
sha256 = "11hxkb6r2550c4n13nwr0d8afvh30qjyr5c2hw16zgay43rb0kci";
};
optionals = ["python"];
cfgOption = "--enable-gui=auto --with-features=${args.features}";
extraAttrs = co : {
name = "vim_configurable-7.1";
buildInputs = [ncurses pkgconfig]
++ [ libX11 libXext libSM libXpm libXt libXaw libXau libXmu ];
# most interpreters aren't tested yet.. (see python for example how to do it)
flags = {}
// edf { name = "darwin"; } #Disable Darwin (Mac OS X) support.
// edf { name = "xsmp"; } #Disable XSMP session management
// edf { name = "xsmp_interact"; } #Disable XSMP interaction
// edf { name = "mzscheme"; } #Include MzScheme interpreter.
// edf { name = "perl"; } #Include Perl interpreter.
// edf { name = "python"; feat = "pythoninterp"; enable = { buildInputs = [python]; }; } #Include Python interpreter.
// edf { name = "tcl"; } #Include Tcl interpreter.
// edf { name = "ruby"; } #Include Ruby interpreter.
// edf { name = "cscope"; } #Include cscope interface.
// edf { name = "workshop"; } #Include Sun Visual Workshop support.
// edf { name = "netbeans"; } #Disable NetBeans integration support.
// edf { name = "sniff"; } #Include Sniff interface.
// edf { name = "multibyte"; } #Include multibyte editing support.
// edf { name = "hangulinput"; } #Include Hangul input support.
# // edf { name = "xim"; enable = { buildInputs = [xim]; }; } #Include XIM input support.
// edf { name = "fontset"; } #Include X fontset output support.
// edf { name = "acl"; } #Don't check for ACL support.
// edf { name = "gpm"; } #Don't use gpm (Linux mouse daemon).
// edf { name = "nls"; } #Don't support NLS (gettext()).
;
cfg = {
pythonSupport = true;
};
#--enable-gui=OPTS X11 GUI default=auto OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/photon/carbon
/*
// edf "gtk_check" "gtk_check" { } #If auto-select GUI, check for GTK default=yes
// edf "gtk2_check" "gtk2_check" { } #If GTK GUI, check for GTK+ 2 default=yes
// edf "gnome_check" "gnome_check" { } #If GTK GUI, check for GNOME default=no
// edf "motif_check" "motif_check" { } #If auto-select GUI, check for Motif default=yes
// edf "athena_check" "athena_check" { } #If auto-select GUI, check for Athena default=yes
// edf "nextaw_check" "nextaw_check" { } #If auto-select GUI, check for neXtaw default=yes
// edf "carbon_check" "carbon_check" { } #If auto-select GUI, check for Carbon default=yes
// edf "gtktest" "gtktest" { } #Do not try to compile and run a test GTK program
*/
postInstall = "
rpath=`patchelf --print-rpath \$out/bin/vim`;
for i in $\buildInputs; do
echo adding \$i/lib
rpath=\$rpath:\$i/lib
done
echo \$buildInputs
echo \$rpath
patchelf --set-rpath \$rpath \$out/bin/{vim,gvim}
";
dontStrip =1;
meta = {
description = "The most popular clone of the VI editor";
homepage = "www.vim.org";
};
src = args.fetchurl {
url = ftp://ftp.nluug.nl/pub/editors/vim/unix/vim-7.1.tar.bz2;
sha256 = "0w6gy49gdbw7hby5rjkjpa7cdvc0z5iajsm4j1h8108rvfam22kz";
};
postInstall = "
rpath=`patchelf --print-rpath \$out/bin/vim`;
for i in $\buildInputs; do
echo adding \$i/lib
rpath=\$rpath:\$i/lib
done
echo \$buildInputs
echo \$rpath
patchelf --set-rpath \$rpath \$out/bin/{vim,gvim}
";
meta = {
description = "The most popular clone of the VI editor";
homepage = "www.vim.org";
};
};
} ) args
}

View file

@ -1,6 +1,6 @@
args: with args;
assert fltk.flag_set_gl;
assert fltk.glSupport;
stdenv.mkDerivation {
name ="openexr_viewers-1.0.1";

View file

@ -1,11 +1,11 @@
{ stdenv, fetchurl, getopt, which, pkgconfig, gtk } :
stdenv.mkDerivation (rec {
name = "pqiv-0.7.1";
name = "pqiv-0.8";
src = fetchurl {
url = "http://www.pberndt.com/raw//Programme/Linux/pqiv/_download/pqiv-0.7.1.tbz";
sha256 = "659c5d1d12c080dff5152325a2391e01a2c9a6ea225d1f755a98e8766f318eef";
url = "http://www.pberndt.com/raw//Programme/Linux/pqiv/_download/pqiv-0.8.tbz";
sha256 = "365332bab4b13ca56da6935e7155af20658e67d323808942dce23e880466f66d";
};
buildInputs = [ getopt which pkgconfig gtk ];

View file

@ -1,43 +1,9 @@
args:
( args.mkDerivationByConfiguration {
flagConfig = {
mandatory = { implies = [ "no_oss" "no_sun_audio" ]; };
# are these options of interest? We'll see
#--disable-fftw disable usage of FFTW
#--enable-debug enable debugging
#--disable-cpu-clip disable tricky cpu specific clipper
alsa = { cfgOption = "--enable-alsa"; buildInputs = "alsa"; };
no_alsa = { cfgOption = "--disable-alsa"; };
libao = { cfgOption = "--enable-libao"; buildInputs = "libao"; };
no_libao = { cfgOption = "--disable-libao"; };
#oss = { cfgOption = "--enable-oss"; buildInputs = "oss"; };
no_oss = { cfgOption = "--disable-oss"; };
#sun_audio = { cfgOption = "--enable-sun-audio"; buildInputs = "sun_audio"; };
no_sun_audio = { cfgOption = "--disable-sun_audio"; };
args: with args;
let inherit (args.composableDerivation) composableDerivation edf; in
composableDerivation {
# These options should be autodetected by the configure script
/*
--without-sndfile Don't try to use libsndfile
--without-ogg Don't try to use Ogg Vorbis
--without-flac Don't try to use FLAC
--without-ffmpeg Don't try to use ffmpeg
--without-mad Don't try to use MAD (MP3 Audio Decoder)
--without-lame Don't try to use LAME (LAME Ain't an MP3 Encoder)
--without-amr-wb Don't try to use amr-wb
--without-amr-nb Don't try to use amr-nb
--without-samplerate Don't try to use libsamplerate (aka Secret Rabbit
Code)
--without-ladspa Don't try to use LADSPA
--with-ladspa-path Default search path for LADSPA plugins
*/
};
initial = {
optionals = [ "libsndfile" "libogg" "flac" "ffmpeg" "libmad" "lame"
/* "amr-wb" "amr-nb" */
"libsamplerate" /* "ladspa" */ ];
extraAttrs = co : {
name = "sox-14.0.0";
src = args.fetchurl {
@ -45,6 +11,43 @@ args:
sha256 = "1l7v04nlvb96y0w9crvm6nq8g50yxp3bkv6nb1c205s982inlalc";
};
flags =
# are these options of interest? We'll see
#--disable-fftw disable usage of FFTW
#--enable-debug enable debugging
#--disable-cpu-clip disable tricky cpu specific clipper
edf { name = "alsa"; enable = { buildInputs = [alsaLib]; }; }
// edf { name = "libao"; enable = { buildInputs = [libao]; }; }
// edf { name = "oss"; }
// edf { name = "sun_audio"; };
# These options should be autodetected by the configure script
/*
--without-sndfile Don't try to use libsndfile
--without-ogg Don't try to use Ogg Vorbis
--without-flac Don't try to use FLAC
--without-ffmpeg Don't try to use ffmpeg
--without-mad Don't try to use MAD (MP3 Audio Decoder)
--without-lame Don't try to use LAME (LAME Ain't an MP3 Encoder)
--without-amr-wb Don't try to use amr-wb
--without-amr-nb Don't try to use amr-nb
--without-samplerate Don't try to use libsamplerate (aka Secret Rabbit
Code)
--without-ladspa Don't try to use LADSPA
--with-ladspa-path Default search path for LADSPA plugins
*/
cfg = {
ossSupport = false;
sun_audioSupport = false;
};
optionals = [ "libsndfile" "libogg" "flac" "ffmpeg" "libmad" "lame"
/* "amr-wb" "amr-nb" */
"libsamplerate" /* "ladspa" */ ];
meta = {
description = "Sample Rate Converter for audio";
homepage = http://www.mega-nerd.com/SRC/index.html;
@ -55,4 +58,4 @@ args:
} ];
};
};
} ) args
}

View file

@ -10,13 +10,16 @@ stdenv.mkDerivation rec {
buildInputs = [ Xaw3d ghostscriptX ];
postConfigure = [ "sed 's|\\<gs\\>|${ghostscriptX}/bin/gs|g' -i src/*.am" ];
postConfigure = ''
sed 's|\<gs\>|${ghostscriptX}/bin/gs|g' -i src/*.in
sed 's|"gs"|"${ghostscriptX}/bin/gs"|g' -i src/*.c
'';
doCheck = true;
meta = {
homepage = http://www.gnu.org/software/gv/;
description = "GNU gv, a PostScript/PDF document viewer";
license = "GPLv2+";
license = "GPLv3+";
};
}

View file

@ -1,26 +1,17 @@
args: with args.lib; with args;
args: with args;
stdenv.mkDerivation {
let
co = chooseOptionsByFlags {
inherit args;
flagDescr = {
mandatory = { buildInputs = [ "libX11" ]; cfgOption = "--with-x"; };
# many options to add here ... :)
# many of them can be set by configuration file I think..
};
};
name = "mrxvt-0.5.3";
in stdenv.mkDerivation {
buildInputs = [libX11];
inherit (co) buildInputs configureFlags;
configureFlags="--with-x";
src = fetchurl {
url = mirror://sourceforge/materm/mrxvt-0.5.3.tar.gz;
sha256 = "04flnn58hp4qvvk6jzyipsj13v1qyrjabgbw5laz5cqxvxzpncp2";
};
name = "mrxvt-0.5.3";
meta = {
description = "multitabbed lightweight terminal emulator basd on rxvt supporting transparency, backgroundimages, freetype fonts,..";
homepage = http://sourceforge.net/projects/materm;

View file

@ -0,0 +1,45 @@
args: with args;
let edf = composableDerivation.edf;
optionIncLib = name : attr : " -D${name}_INCLUDE_DIR=${__getAttr attr args}/incclude"
+ " -D${name}_LIBRARY=${__getAttr attr args}/lib "; # lib 64?
in
composableDerivation.composableDerivation {
initial = {
buildInputs = [ gdal cmake qt flex bison proj geos x11 sqlite gsl];
cfgOption = [
# without this option it can't find sqlite libs yet (missing symbols..) (TODO)
"-DWITH_INTERNAL_SQLITE3=TRUE"
];
name = "qgis-${version}";
# src = args.fetchsvn { url=https://svn.qgis.org/repos/qgis/trunk/qgis;
# md5="ac0560e0a2d4e6258c8639f1e9b56df3"; rev="7704"; };
src = fetchurl {
url = "http://download.osgeo.org/qgis/src/qgis_${version}.tar.gz";
sha256 = "17vqbld4wr9jyn1s5n0bkpaminsgc2dzcgdfk8ic168xydnwa7b3";
};
meta = {
description = "user friendly Open Source Geographic Information System";
homepage = http://www.qgis.org;
# you can choose one of the following licenses:
license = [ "GPL" ];
};
phases = "unpackPhase buildPhase installPhase";
buildPhase = ''pwd;echo XXXXXXXXX; VERBOSE=1 cmake -DCMAKE_INSTALL_PREFIX=$out ''${cfgOption} ..'';
postUnpack = ''
export CMAKE_SYSTEM_LIBRARY_PATH=
for i in $buildInputs $propagatedBuildInputs; do
CMAKE_SYSTEM_LIBRARY_PATH=$i/lib:$CMAKE_SYSTEM_LIBRARY_PATH
done
'';
#configurePhase="./autogen.sh --prefix=\$out --with-gdal=\$gdal/bin/gdal-config --with-qtdir=\$qt";
# buildPhases="unpackPhase buildPhase";
};
}

View file

@ -1,74 +0,0 @@
args:
let optionIncLib = name : attr : " -D${name}_INCLUDE_DIR=${__getAttr attr args}/inc"
+ " -D${name}_LIBRARY=${__getAttr attr args}/lib "; # lib 64?
in
( args.mkDerivationByConfiguration {
flagConfig = {
mandatory = {
buildInputs = [ "gdal" "cmake" "qt" "flex" "bison" "proj" "geos" "x11" "sqlite" "gsl"];
cfgOption = [ (optionIncLib "GEOS" "geos")
(optionIncLib "PROJ" "proj")
(optionIncLib "QT_X11_X11" "qt")
(optionIncLib "QT_X11_Xext" "qt")
(optionIncLib "QT_X11_m" "glibc")
(optionIncLib "SQLITE3" "sqlite")
"-DQT_FONTCONFIG_LIBRARY=${args.fontconfig}/lib"
"-DQT_FREETYPE_LIBRARY=${args.freetype}/lib"
"-DQT_PNG_LIBRARY=${args.libpng}/lib"
"-DQT_X11_ICE_LIBRARY=${args.libICE}/lib"
"-DQT_X11_SM_LIBRARY=${args.libSM}/lib"
"-DQT_XCURSOR_LIBRARY=${args.libXcursor}/lib"
"-DQT_XINERAMA_LIBRARY=${args.libXinerama}/lib"
"-DQT_XRANDR_LIBRARY=${args.libXrandr}/lib"
"-DQT_XRENDER_LIBRARY=${args.libXrender}/lib"
"-DQT_ZLIB_LIBRARY=${args.zlib}/lib"
];
/* advanced options - feel free to add them if you have time to
"-DPROJ_INCLUDE_DIR"
"-DPROJ_LIBRARY"
"-DQT_X11_X11_LIBRARY"
"-DQT_X11_Xext_LIBRARY"
"-DQT_X11_m_LIBRARY"
"-DSQLITE3_INCLUDE_DIR"
"-DSQLITE3_LIBRARY"
-DQT_FONTCONFIG_LIBRARY (ADVANCED)
-DQT_FREETYPE_LIBRARY (ADVANCED)
-DQT_PNG_LIBRARY (ADVANCED)
-DQT_X11_ICE_LIBRARY (ADVANCED)
-DQT_X11_SM_LIBRARY (ADVANCED)
-DQT_XCURSOR_LIBRARY (ADVANCED)
-DQT_XINERAMA_LIBRARY (ADVANCED)
-DQT_XRANDR_LIBRARY (ADVANCED)
-DQT_XRENDER_LIBRARY (ADVANCED)
-DQT_ZLIB_LIBRARY (ADVANCED)
*/
};
};
#inherit geos proj x11 libXext;
extraAttrs = co : {
name = "qgis-svn";
src = args.fetchsvn { url=https://svn.qgis.org/repos/qgis/trunk/qgis;
md5="ac0560e0a2d4e6258c8639f1e9b56df3"; rev="7704"; };
meta = {
description = "user friendly Open Source Geographic Information System";
homepage = http://www.qgis.org;
# you can choose one of the following licenses:
license = [ "GPL" ];
};
phases = "unpackPhase buildPhase installPhase";
buildPhase = "cmake -DCMAKE_INSTALL_PREFIX=\$out ${co.configureFlags} .";
#configurePhase="./autogen.sh --prefix=\$out --with-gdal=\$gdal/bin/gdal-config --with-qtdir=\$qt";
# buildPhases="unpackPhase buildPhase";
};
} ) args

View file

@ -1,15 +1,15 @@
source $stdenv/setup
# PATH=$perl/bin:$PATH
tar zxvf $wxWidgets
# we need the absolute path, relative will not work
wxwdir=$(pwd)/wxX11-*
tar xvfz $src
cd truecrypt-*
make WX_ROOT=$wxwdir wxbuild
make
cp $pkcs11h pkcs11.h
cp $pkcs11th pkcs11t.h
cp $pkcs11fh pkcs11f.h
make PKCS11_INC="`pwd`"
mkdir -p $out/bin
cp Main/truecrypt $out/bin
mkdir -p $out/share/$name
cp License.txt $out/share/$name/LICENSE

View file

@ -40,24 +40,38 @@ library, use the 'NOGUI' parameter:
$ make NOGUI=1
*/
{ fetchurl, stdenv, pkgconfig, fuse, gtk, libSM, glibc
{ fetchurl, stdenv, pkgconfig, fuse, wxGTK, devicemapper
}:
stdenv.mkDerivation {
name = "trueCrypt-6.0a";
name = "trueCrypt-6.1a";
builder = ./builder.sh;
src = fetchurl {
url = http://www.sfr-fresh.com/unix/misc/TrueCrypt-6.0a-Source.tar.gz;
sha256 = "dea0ac2f1f6964d7e88f6751fa9f0a89d0dbfb957e9a557e8dee48492d0b4fac";
url = http://www.sfr-fresh.com/unix/misc/TrueCrypt-6.1a-Source.tar.gz;
sha256 = "a2bb8273edcb3c3d10d9819daac853f940033deb1f9726986311356bd5b88c4a";
};
wxWidgets = fetchurl {
url = mirror://sourceforge/wxwindows/wxX11-2.8.8.tar.gz;
sha256 = "85e1a458fd9523c68b22af0a51eb507b792894e9ba58a560f9dbe7b6faa6f625";
pkcs11h = fetchurl {
url = ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11.h;
sha256 = "1563d877b6f8868b8eb8687358162bfb7f868104ed694beb35ae1c5cf1a58b9b";
};
buildInputs = [pkgconfig fuse gtk libSM glibc];
#configureFlags =
#postInstall = "
pkcs11th = fetchurl {
url = ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11t.h;
sha256 = "8ce68616304684f92a7e267bcc8f486441e92a5cbdfcfd97e69ac9a0b436fb7b";
};
pkcs11fh = fetchurl {
url = ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11f.h;
sha256 = "5ae6a4f32ca737e02def3bf314c9842fb89be82bf00b6f4022a97d8d565522b8";
};
buildInputs = [pkgconfig fuse wxGTK devicemapper];
meta = {
description = "Free Open-Source filesystem on-the-fly encryption";
homepage = http://www.truecrypt.org/;
license = "TrueCrypt License Version 2.6";
};
}

View file

@ -0,0 +1,26 @@
args: with args;
stdenv.mkDerivation {
name="xneur";
src = fetchurl {
url = http://dists.xneur.ru/release-0.8.0/tgz/xneur-0.8.0.tar.bz2;
sha256 = "1f05bm4vqdrlm8rxwgqv89k5lhc236xg841aw4snw514g0hi2sl8";
};
buildInputs = [libX11 pkgconfig pcre GStreamer glib libxml2 aspell
libXpm imlib2 xosd libXt libXext];
inherit aspell imlib2 xosd;
preConfigure = ''
sed -e 's/-Werror//' -i configure
sed -e 's/for aspell_dir in/for aspell_dir in $aspell /' -i configure
sed -e 's/for imlib2_dir in/for imlib2_dir in $imlib2 /' -i configure
sed -e 's/for xosd_dir in/for xosd_dir in $xosd /' -i configure
'';
meta = {
description = "xneur is the keyboard layout switcher.";
};
}

View file

@ -3,18 +3,20 @@ args: with args;
stdenv.mkDerivation {
name="xneur";
src = fetchurl {
url = "http://dists.xneur.ru/release-0.9.2/tgz/xneur-0.9.2.tar.bz2";
sha256 = "1zk13ixd82nq8a2rzmmk53xy2iphydf57mfb2ndfil21rkffr0jq";
url = http://dists.xneur.ru/release-0.9.3/tgz/xneur-0.9.3.tar.bz2;
sha256 = "14pjsxajbibjl70yrvina3kk2114h3i7bgyqlxpjkfcz2778qq12";
};
buildInputs = [libX11 pkgconfig pcre GStreamer glib libxml2 aspell
libXpm];
libXpm imlib2 xosd libXt libXext];
inherit aspell;
inherit aspell imlib2 xosd;
preConfigure = ''
sed -e 's/-Werror//' -i configure
sed -e 's/for aspell_dir in/for aspell_dir in $aspell /' -i configure
sed -e 's/for imlib2_dir in/for imlib2_dir in $imlib2 /' -i configure
sed -e 's/for xosd_dir in/for xosd_dir in $xosd /' -i configure
'';
meta = {
@ -22,6 +24,3 @@ stdenv.mkDerivation {
};
}

View file

@ -8,7 +8,7 @@ assert enablePDFtoPPM -> freetype != null;
assert useT1Lib -> t1lib != null;
stdenv.mkDerivation {
name = "xpdf-3.02pl1";
name = "xpdf-3.02pl2";
src = fetchurl {
url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02.tar.gz;
@ -24,6 +24,10 @@ stdenv.mkDerivation {
url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl1.patch;
sha256 = "1wxv9l0d2kkwi961ihpdwi75whdvk7cgqxkbfym8cjj11fq17xjq";
})
(fetchurl {
url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl2.patch;
sha256 = "1nfrgsh9xj0vryd8h65myzd94bjz117y89gq0hzji9dqn23xihfi";
})
./xpdf-3.02-protection.patch
];

View file

@ -10,12 +10,12 @@
}:
stdenv.mkDerivation {
name = "firefox-2.0.0.17";
name = "firefox-2.0.0.20";
builder = ./builder.sh;
src = fetchurl {
url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.17/source/firefox-2.0.0.17-source.tar.bz2;
sha1 = "ba95d9f64f2307b109dbce25d7a17af7e68298ed";
url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.20/source/firefox-2.0.0.20-source.tar.bz2;
sha1 = "16601fdbbb0a83b85fd053e76350f7da397f525e";
};
buildInputs = [

View file

@ -0,0 +1,84 @@
{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
, libjpeg, zlib, cairo, dbus, dbus_glib, bzip2
, freetype, fontconfig, xulrunner, alsaLib, autoconf
, # If you want the resulting program to call itself "Firefox" instead
# of "Deer Park", enable this option. However, those binaries may
# not be distributed without permission from the Mozilla Foundation,
# see http://www.mozilla.org/foundation/trademarks/.
enableOfficialBranding ? false
}:
stdenv.mkDerivation {
name = "firefox-3.1b2";
src = fetchurl {
url = ftp://ftp.mozilla.org/pub/firefox/releases/3.1b2/source/firefox-3.1b2-source.tar.bz2;
sha256 = "1mqy7q4bfw8iphlmzvymqfki8r4zzynyyy6z6gws4qqx9ry42jqs";
};
buildInputs = [
pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2
python dbus dbus_glib pango freetype fontconfig alsaLib
autoconf
];
propagatedBuildInputs = [xulrunner];
preConfigure = ''
export PREFIX=$out
export LIBXUL_DIST=$out
autoconf
cd js/src
autoconf
cd ../..
'';
preBuild = ''
cd nsprpub
autoconf
./configure
make
cd ..
'';
configureFlags = [
"--enable-application=browser"
"--enable-optimize"
"--disable-debug"
"--enable-strip"
"--with-system-jpeg"
"--with-system-zlib"
"--with-system-bz2"
# "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
"--enable-system-cairo"
#"--enable-system-sqlite" # <-- this seems to be discouraged
"--disable-crashreporter"
"--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
];
postInstall = ''
# Strip some more stuff.
strip -S $out/lib/*/* || true
libDir=$(cd $out/lib && ls -d firefox-[0-9]*)
test -n "$libDir"
ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $out/lib/$libDir/xulrunner
# Register extensions etc. !!! is this needed anymore?
echo "running firefox -register..."
$out/bin/firefox -register
''; # */
meta = {
description = "Mozilla Firefox - the browser, reloaded";
homepage = http://www.mozilla.com/en-US/firefox/;
};
passthru = {
inherit gtk;
isFirefox3Like = true;
};
}

View file

@ -11,11 +11,12 @@
}:
stdenv.mkDerivation {
name = "firefox-3.0.4";
name = "firefox-3.0.5";
src = fetchurl {
url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.4/source/firefox-3.0.4-source.tar.bz2;
sha1 = "16715b4af7ca2bad6baa8d450a3fd9cb375ad6d6";
# Don't forget to update xulrunner.nix as well!
url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.5/source/firefox-3.0.5-source.tar.bz2;
sha1 = "f934e073efaad3d4dde847c8491fa9529564d5d2";
};
buildInputs = [

View file

@ -0,0 +1,96 @@
{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
, freetype, fontconfig, file, alsaLib, autoconf
, # If you want the resulting program to call itself "Firefox" instead
# of "Deer Park", enable this option. However, those binaries may
# not be distributed without permission from the Mozilla Foundation,
# see http://www.mozilla.org/foundation/trademarks/.
enableOfficialBranding ? false
}:
let
version = "1.9.1b2"; # this attribute is used by other packages
in
stdenv.mkDerivation {
name = "xulrunner-${version}";
src = fetchurl {
url = ftp://ftp.mozilla.org/pub/firefox/releases/3.1b2/source/firefox-3.1b2-source.tar.bz2;
sha256 = "1mqy7q4bfw8iphlmzvymqfki8r4zzynyyy6z6gws4qqx9ry42jqs";
};
buildInputs = [
pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
python dbus dbus_glib pango freetype fontconfig
xlibs.libXi xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt
file alsaLib autoconf
];
preConfigure = ''
export PREFIX=$out
export LIBXUL_DIST=$out
autoconf
cd js/src
autoconf
cd ../..
'';
configureFlags = [
"--enable-application=xulrunner"
"--disable-javaxpcom"
"--enable-optimize"
"--disable-debug"
"--enable-strip"
"--with-system-jpeg"
"--with-system-zlib"
"--with-system-bz2"
# "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
"--enable-system-cairo"
#"--enable-system-sqlite" # <-- this seems to be discouraged
"--disable-crashreporter"
];
installFlags = [
"SKIP_GRE_REGISTRATION=1"
];
postInstall = ''
export dontPatchELF=1;
# Strip some more stuff
strip -S $out/lib/*/* || true
# Fix some references to /bin paths in the Firefox shell script.
substituteInPlace $out/bin/xulrunner \
--replace /bin/pwd "$(type -tP pwd)" \
--replace /bin/ls "$(type -tP ls)"
# Fix run-mozilla.sh search
libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
echo libDir: $libDir
test -n "$libDir"
cd $out/bin
mv xulrunner ../lib/$libDir/
for i in $out/lib/$libDir/*; do
file $i;
if file $i | grep executable &>/dev/null; then
ln -s $i $out/bin
fi;
done;
rm $out/bin/run-mozilla.sh || true
''; # */
meta = {
description = "Mozilla Firefox XUL runner";
homepage = http://www.mozilla.com/en-US/firefox/;
};
passthru = { inherit gtk version; };
}

View file

@ -11,7 +11,7 @@
let
version = "1.9.0.4"; # this attribute is used by other packages
version = "1.9.0.5"; # this attribute is used by other packages
in
@ -19,8 +19,8 @@ stdenv.mkDerivation {
name = "xulrunner-${version}";
src = fetchurl {
url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.4/source/firefox-3.0.4-source.tar.bz2;
sha1 = "16715b4af7ca2bad6baa8d450a3fd9cb375ad6d6";
url = http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.5/source/firefox-3.0.5-source.tar.bz2;
sha1 = "f934e073efaad3d4dde847c8491fa9529564d5d2";
};
buildInputs = [

View file

@ -4,13 +4,13 @@
, freetype, fontconfig
, application ? "browser" }:
let version = "3.0.3-g1"; in
let version = "3.0.5-g1"; in
stdenv.mkDerivation {
name = "icecat-${version}";
src = fetchurl {
url = "mirror://gnu/gnuzilla/${version}/icecat-${version}.tar.lzma";
sha256 = "189rfgcsp98hd8ix8mc294xg0iw3qwmn2nyb2495hx84zli09n5m";
sha256 = "15s71zjwiqpaqsmjzk5kxwamxzkb3p7172dbazqyxmgvca9yw8bs";
};
buildInputs = [
@ -104,7 +104,7 @@ stdenv.mkDerivation {
};
passthru = {
inherit gtk;
inherit gtk version;
isFirefox3Like = true;
};
}

View file

@ -9,7 +9,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_10_linux.tar.gz;
sha256 = "0bcn07a3684krqbh6cw08hb8lymm0wijnlcx5bvln44749kzg7wf";
sha256 = "cd3e8fbb05da4a5303f958cb627bc7f3845dd86576a96ab157effc4f0ae65e5d";
};
inherit zlib alsaLib;

View file

@ -0,0 +1,19 @@
{stdenv, fetchurl, openssl, ncurses, pkgconfig, glib}:
stdenv.mkDerivation {
name = "mcabber-0.9.9";
src = fetchurl {
url = http://mirror.mcabber.com/files/mcabber-0.9.9.tar.bz2;
sha256 = "2a231c9241211d33745f110f35cfa6bdb051b32791461b9579794b6623863bb1";
};
meta = { homepage = "http://mirror.mcabber.com/";
description = "Small Jabber console client";
};
buildInputs = [openssl ncurses pkgconfig glib];
configureFlags = "--with-openssl=${openssl}";
}

View file

@ -0,0 +1,20 @@
args : with args;
rec {
src = fetchurl {
url = mirror://sourceforge/psi/psi-0.12.tar.gz;
sha256 = "6afbb3b017009bf4d8d275ec1481e92831b0618ecb58f1372cd9189140a316af";
};
buildInputs = [aspell qt zlib sox openssl libX11 xproto
libSM libICE];
configureFlags = [" --with-zlib-inc=${zlib}/include "
" --with-openssl-inc=${openssl}/include "
];
phaseNames = ["doConfigure" "doMakeInstall"];
name = "psi-" + version;
meta = {
description = "Psi, an XMPP (Jabber) client";
};
}

View file

@ -11,13 +11,13 @@
}:
stdenv.mkDerivation {
name = "thunderbird-2.0.0.18";
name = "thunderbird-2.0.0.19";
builder = ./builder.sh;
src = fetchurl {
url = ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/2.0.0.18/source/thunderbird-2.0.0.18-source.tar.bz2;
sha1 = "4d05300280763e34c7a115835523ed2805f7733c";
url = ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/2.0.0.19/source/thunderbird-2.0.0.19-source.tar.bz2;
sha1 = "4d2e0f8b405bb0ceab20a9f570ce91cf4640f456";
};
buildInputs = [

View file

@ -0,0 +1,18 @@
{stdenv, fetchurl, ocaml, zlib, ncurses}:
stdenv.mkDerivation {
name = "mldonkey-2.9.6";
src = fetchurl {
url = mirror://sourceforge/mldonkey/mldonkey-2.9.6.tar.bz2;
sha256 = "27cc8ae95aa7a2934b6cc9b077d10ca6a776496c051d8f35d60f1e73d38fd505";
};
meta = {
description = "Client for many p2p networks, with multiple frontends";
homepage = http://mldonkey.sourceforge.net/;
};
buildInputs = [ ocaml zlib ncurses ];
configureFlags = "--disable-gd --disable-gui";
}

View file

@ -1,12 +1,12 @@
args: with args;
stdenv.mkDerivation ( rec {
pname = "skype";
version = "1.4.0.118";
name = "skype-1.4";
version = "2.0.0.72";
name = "skype-2.0";
src = fetchurl {
url = http://www.skype.com/go/getskype-linux-static;
sha256 = "1293f54811a36b2a1b83c56a4ad2844e58c753fe39b61422fac66b001d0f9e0c";
sha256 = "2f37963e8f19c0ec5efd8631abe9633b6551f09dee024460c40fad10728bc580";
name = "${pname}_static-${version}.tar.bz2";
};
@ -17,6 +17,8 @@ stdenv.mkDerivation ( rec {
libSM
libICE
libXi
libXv
libXScrnSaver
libXrender
libXrandr
libXfixes

View file

@ -1,12 +1,11 @@
args: with args;
stdenv.mkDerivation {
name = "maxima-5.13.0";
name = "maxima-5.17.0";
src = fetchurl {
name = "maxima-5.13.0.tar.gz";
url = mirror://sf/maxima/maxima-5.13.0.tar.gz;
sha256 = "11zidbbp4cbgsmdfyf9w0j7345ydka469ba0my7p73zqhnby09cn";
};
src = fetchurl {
url = "mirror://sourceforge/maxima/maxima-5.17.0.tar.gz";
sha256 = "1nzphlm4al0j8jcgalscdqfcgkbscl68qz2mkm8n8804mss32alj";
};
buildInputs =[clisp];

View file

@ -1,11 +1,11 @@
{stdenv, fetchurl, python, makeWrapper}:
stdenv.mkDerivation {
name = "bazaar-1.5";
name = "bazaar-1.10rc1";
src = fetchurl {
url = http://launchpad.net/bzr/1.5/1.5/+download/bzr-1.5.tar.gz;
sha256 = "0wacjmnil5pivkcqz3jcqfqh258yrwv33fg2p8vf45pbmr7yw0bv";
url = http://launchpad.net/bzr/1.10/1.10rc1/+download/bzr-1.10rc1.tar.gz;
sha256 = "dc3669e15ced93e0956c13b724f604075e0323ce07fb08f6463946c85e69bec0";
};
buildInputs = [python makeWrapper];
@ -24,4 +24,5 @@ stdenv.mkDerivation {
homepage = http://bazaar-vcs.org/;
description = "A distributed version control system that Just Works";
};
}

View file

@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
for prog in bin/gitk libexec/git-core/git-gui
do
notSupported "$out/$prog" \
"reinstall with config \`git = { guiSupport = true; }' set"
"reinstall with config git = { guiSupport = true; } set"
done
'')

View file

@ -1,255 +0,0 @@
# this nix expression is not well tested (experimental!)
args: with args.lib; with args;
let
win32codecs = (import ./win32codecs) {
inherit stdenv fetchurl;
};
co = chooseOptionsByFlags {
inherit args;
flagConfig = {
# FIXME: we only have to pass X11 if we want to use a X11 driver
mandatory = { buildInputs = [ "x11" "libX11" "freetype" "zlib" ]; };
# FIXME this options are still a mess.. :) feel free to test and implement the missing ones
# Optional features
#--disable-mencoder disable mencoder (a/v encoder) compilation [enable]
#--enable-gui enable gmplayer compilation (GTK+ GUI) [disable]
#--enable-gtk1 force using GTK 1.2 for GUI [disable]
#--enable-largefiles enable support for files > 2 GBytes [disable]
#--enable-linux-devfs set default devices to devfs ones [disable]
#--enable-termcap use termcap database for key codes [autodetect]
#--enable-termios use termios database for key codes [autodetect]
#--disable-iconv do not use iconv(3) function [autodetect]
#--disable-langinfo do not use langinfo [autodetect]
#--enable-lirc enable LIRC (remote control) support [autodetect]
#--enable-lircc enable LIRCCD (LIRC client daemon) input [autodetect]
#--enable-joystick enable joystick support [disable]
#--disable-vm disable support X video mode extensions [autodetect]
#--disable-xf86keysym disable support for 'multimedia' keys [autodetect]
#--enable-radio enable Radio Interface [disable]
#--enable-radio-capture enable Capture for Radio Interface (through pci/line-in) [disable]
#--disable-radio-v4l2 disable Video4Linux2 Radio Interface support [autodetect]
#--disable-tv disable TV Interface (tv/dvb grabbers) [enable]
#--disable-tv-v4l1 disable Video4Linux TV Interface support [autodetect]
#--disable-tv-v4l2 disable Video4Linux2 TV Interface support [autodetect]
#--disable-tv-bsdbt848 disable BSD BT848 Interface support [autodetect]
#--disable-pvr disable Video4Linux2 MPEG PVR support [autodetect]
#--disable-rtc disable RTC (/dev/rtc) on Linux [autodetect]
#--disable-network disable network support (for: http/mms/rtp) [enable]
#--enable-winsock2 enable winsock2 usage [autodetect]
#--enable-smb enable Samba (SMB) input support [autodetect]
#--enable-live enable LIVE555 Streaming Media support [autodetect]
#--disable-dvdnav disable libdvdnav support [autodetect]
#--disable-dvdread Disable libdvdread support [autodetect]
#--disable-mpdvdkit Disable mpdvdkit2 support [autodetect]
#--disable-cdparanoia Disable cdparanoia support [autodetect]
#--disable-bitmap-font Disable bitmap font support [enable]
#--disable-freetype Disable freetype2 font rendering support [autodetect]
#--disable-fontconfig Disable fontconfig font lookup support [autodetect]
#--disable-unrarlib Disable Unique RAR File Library [enabled]
#--enable-menu Enable OSD menu support (NOT DVD MENU) [disabled]
#--disable-sortsub Disable subtitles sorting [enabled]
#--enable-fribidi Enable using the FriBiDi libs [autodetect]
#--disable-enca Disable using ENCA charset oracle library [autodetect]
#--disable-macosx Disable Mac OS X specific features [autodetect]
#--disable-maemo Disable maemo specific features [autodetect]
#--enable-macosx-finder-support Enable Mac OS X Finder invocation parameter parsing [disabled]
#--enable-macosx-bundle Enable Mac OS X bundle file locations [autodetect]
#--disable-inet6 Disable IPv6 support [autodetect]
#--disable-gethostbyname2 gethostbyname() function is not provided by the C
#library [autodetect]
#--disable-ftp Disable ftp support [enabled]
#--disable-vstream Disable tivo vstream client support [autodetect]
#--disable-pthreads Disable Posix threads support [autodetect]
#--disable-ass Disable internal SSA/ASS subtitles support [autodetect]
#--enable-rpath Enable runtime linker path for extra libs [disabled]
# Codecs
#--enable-png enable png input/output support [autodetect]
#--enable-jpeg enable jpeg input/output support [autodetect]
#--enable-libcdio enable external libcdio support [autodetect]
#--enable-liblzo enable external liblzo support [autodetect]
#--disable-win32 disable Win32 DLL support [autodetect]
#--disable-qtx disable Quicktime codecs [autodetect]
#--disable-xanim disable XAnim DLL support [autodetect]
#--disable-real disable RealPlayer DLL support [autodetect]
#--disable-xvid disable XviD codec [autodetect]
#--disable-x264 disable H.264 encoder [autodetect]
#--disable-nut disable libnut demuxer [autodetect]
#--disable-libavutil disable libavutil [autodetect]
#--disable-libavcodec disable libavcodec [autodetect]
#--disable-libavformat disable libavformat [autodetect]
#--disable-libpostproc disable libpostproc [autodetect]
#--disable-libavutil_so disable shared libavutil [autodetect]
#--disable-libavcodec_so disable shared libavcodec [autodetect]
#--disable-libavformat_so disable shared libavformat [autodetect]
#--disable-libpostproc_so disable shared libpostproc [autodetect]
#--disable-libavcodec_mpegaudio_hp disable high precision audio decoding
# in libavcodec [enabled]
#--enable-libfame enable libfame realtime encoder [autodetect]
#--disable-tremor-internal do not build internal Tremor support [enabled]
#--enable-tremor-low build with lower accuracy internal Tremor [disabled]
#--enable-tremor-external build with external Tremor [autodetect]
#--disable-libvorbis disable libvorbis support [autodetect]
#--disable-speex disable Speex support [autodetect]
theora = { cfgOption = "--enable-theora"; buildInputs = "libtheora"; };
#--enable-theora build with OggTheora support [autodetect]
#--enable-faad-external build with external FAAD2 (AAC) support [autodetect]
#--disable-faad-internal disable internal FAAD2 (AAC) support [autodetect]
#--enable-faad-fixed enable fixed-point mode in internal FAAD2 [disabled]
#--disable-faac disable support for FAAC (AAC encoder) [autodetect]
#--disable-ladspa disable LADSPA plugin support [autodetect]
#--disable-libdv disable libdv 0.9.5 en/decoding support [autodetect]
#--disable-mad disable libmad (MPEG audio) support [autodetect]
#--disable-toolame disable Toolame (MPEG layer 2 audio) support in mencoder [autodetect]
#--disable-twolame disable Twolame (MPEG layer 2 audio) support in mencoder [autodetect]
#--enable-xmms build with XMMS inputplugin support [disabled]
#--disable-mp3lib disable builtin mp3lib [enabled]
#--disable-liba52 disable builtin liba52 [enabled]
#--enable-libdts enable libdts support [autodetect]
#--disable-libmpeg2 disable builtin libmpeg2 [enabled]
#--disable-musepack disable musepack support [autodetect]
#--disable-amr_nb disable amr narrowband, floating point [autodetect]
#--disable-amr_nb-fixed disable amr narrowband, fixed point [autodetect]
#--disable-amr_wb disable amr wideband, floating point [autodetect]
#--disable-decoder=DECODER disable specified FFmpeg decoder
#--enable-decoder=DECODER enable specified FFmpeg decoder
#--disable-encoder=ENCODER disable specified FFmpeg encoder
#--enable-encoder=ENCODER enable specified FFmpeg encoder
#--disable-parser=PARSER disable specified FFmpeg parser
#--enable-parser=PARSER enable specified FFmpeg parser
#--disable-demuxer=DEMUXER disable specified FFmpeg demuxer
#--enable-demuxer=DEMUXER enable specified FFmpeg demuxer
#--disable-muxer=MUXER disable specified FFmpeg muxer
#--enable-muxer=MUXER enable specified FFmpeg muxer--enable-muxer=MUXER enable specified FFmpeg muxer
# Video output
#--disable-vidix-internal disable internal VIDIX [for x86 *nix]
#--disable-vidix-external disable external VIDIX [for x86 *nix]
#--enable-gl build with OpenGL render support [autodetect]
#--enable-dga[=n] build with DGA [n in {1, 2} ] support [autodetect]
#--enable-vesa build with VESA support [autodetect]
#--enable-svga build with SVGAlib support [autodetect]
#--enable-sdl build with SDL render support [autodetect]
#--enable-aa build with AAlib render support [autodetect]
caca = { cfgOption = "--enable-caca"; buildInputs = "libcaca"; }; # CACA render support
#--enable-ggi build with GGI render support [autodetect]
#--enable-ggiwmh build with GGI libggiwmh extension [autodetect]
#--enable-directx build with DirectX support [autodetect]
#--enable-dxr2 build with DXR2 render support [autodetect]
#--enable-dxr3 build with DXR3/H+ render support [autodetect]
#--enable-ivtv build with IVTV TV-Out render support [autodetect]
#--enable-dvb build with support for output via DVB-Card [autodetect]
#--enable-dvbhead build with DVB support (HEAD version) [autodetect]
#--enable-mga build with mga_vid (for Matrox G200/G4x0/G550) support
# (check for /dev/mga_vid) [autodetect]
#--enable-xmga build with mga_vid X Window support
# (check for X & /dev/mga_vid) [autodetect]
xv = { cfgOption = "--enable-xv"; buildInputs = "libXv"; }; # Xv render support for X 4.x
#--enable-xvmc build with XvMC acceleration for X 4.x [disable]
#--enable-vm build with XF86VidMode support for X11 [autodetect]
xinerama = { cfgOption = "--enable-xinerama"; buildInputs = "libXinerama"; }; # Xinerama support for X11
#--enable-x11 build with X11 render support [autodetect]
#--enable-xshape build with XShape support [autodetect]
#--enable-fbdev build with FBDev render support [autodetect]
#--enable-mlib build with mediaLib support (Solaris only) [disable]
#--enable-3dfx build with obsolete /dev/3dfx support [disable]
#--enable-tdfxfb build with tdfxfb (Voodoo 3/banshee) support [disable]
#--enable-s3fb build with s3fb (S3 ViRGE) support [disable]
#--enable-directfb build with DirectFB support [autodetect]
#--enable-zr build with ZR360[56]7/ZR36060 support [autodetect]
#--enable-bl build with Blinkenlights support [disable]
#--enable-tdfxvid build with tdfx_vid support [disable]
#--disable-tga disable targa output support [enable]
#--disable-pnm disable pnm output support [enable]
#--disable-md5sum disable md5sum output support [enable]
# Audio Output (they are all autodetect but adding the enable flag will show \
# wrong cofigured libraries I hope)
# the ones beeing commented out I don't know exactly which libraries they need?
alsa = { cfgOption = "--enable-alsa"; buildInputs = "alsaLib"; };
#oss = { cfgOption = "--enable-oss"; buildInputs = "oss"; };
#arts = { cfgOption = "--enable-arts"; buildInputs = "arts"; };
esd = { cfgOption = "--enable-esd"; buildInputs = "esound"; };
#polyp = { cfgOption = "--enable-polyp"; buildInputs = "polyp"; };
#jack = { cfgOption = "--enable-jack"; buildInputs = "jack"; };
#openal = { cfgOption = "--enable-openal"; buildInputs = "openal"; };
#nas = { cfgOption = "--enable-nas"; buildInputs = "nas"; };
#sgiaudio = { cfgOption = "--enable-sgiaudio"; buildInputs = "sgiaudio"; };
#sunaudio = { cfgOption = "--enable-sunaudio"; buildInputs = "sunaudio"; };
#win32waveout = { cfgOption = "--enable-win32waveout"; buildInputs = "win32waveout"; };
disableSelect = { cfgOption = "--disable-select"; }; # disable using select() on audio device [enable]
#Miscellaneous options:
#--enable-runtime-cpudetection Enable runtime CPU detection [disable]
#--enable-cross-compile Enable cross-compilation [autodetect]
#--cc=COMPILER use this C compiler to build MPlayer [gcc]
#--host-cc=COMPILER use this C compiler to build apps needed for the build process [gcc]
#--as=ASSEMBLER use this assembler to build MPlayer [as]
#--target=PLATFORM target platform (i386-linux, arm-linux, etc)
#--enable-static build a statically linked binary. Set further linking
#options with --enable-static="-lslang -lncurses"
#--charset convert the help messages to this charset
#--language=list a white space or comma separated list of languages
#for translated man pages, the first language is the
#primary and therefore used for translated messages
#and GUI (also the environment variable $LINGUAS is
#honored) [en]
#(Available: bg cs de dk el en es fr hu it ja ko mk nb nl pl ro ru sk sv tr uk pt_BR zh
#_CN zh_TW all)
};
optionals = [ "esound" "alsa" "xv" "theora" "caca" "xinerama" "libXrandr" "esd" ];
};
in args.stdenv.mkDerivation {
inherit (co) buildInputs;
name = "MPlayer-1.0rc1try2NewConfig";
#name = "MPlayer-snapshot";
#src = fetchurl {
# url = http://www7.mplayerhq.hu/MPlayer/releases/mplayer-checkout-snapshot.tar.bz2;
# sha1 = "529682cdea4f412d35f2c456897ab8808810975c";
#};
src = fetchurl {
url = http://www1.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc1.tar.bz2;
sha1 = "a450c0b0749c343a8496ba7810363c9d46dfa73c";
};
configurePhase = "./configure --prefix=\$out " + co.configureFlags
# FIXME to which options do these settings belong?
+ " --with-win32libdir=${win32codecs}"
+ " --with-reallibdir=${win32codecs}"
+ " --enable-runtime-cpudetection"
+ " --enable-x11"
+ " --with-x11libdir=/no-such-dir"
+ " --with-extraincdir=${libX11}/include"
+ " --disable-xanim";
# Provide a reasonable standard font. Maybe we should symlink here.
postInstall = "cp ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mplayer/subfont.ttf";
patches = [
# These fix MPlayer's aspect ratio when run in a screen rotated with
# Xrandr.
# See: http://itdp.de/~itdp/html/mplayer-dev-eng/2005-08/msg00427.html
./mplayer-aspect.patch
./mplayer-pivot.patch
# Security fix.
./asmrules-fix.patch
];
meta = {
homepage = http://www.mplayerhq.hu/;
description = "A movie player that supports many video formats";
license = "GPL-2";
};
}

View file

@ -0,0 +1,17 @@
args:
args.stdenv.mkDerivation {
name = "dvdauthor-0.6.14";
src = args.fetchurl {
url = mirror://sourceforge/dvdauthor/dvdauthor-0.6.14.tar.gz;
sha256 = "1x4flj3ja7m8rbc956a6ha3qk0k6zxd1y6sl826r6r7dyc91a6yx";
};
buildInputs =(with args; [imagemagick libdvdread libxml2 freetype fribidi libpng]);
meta = {
description = "Tools for generating DVD files to be played on standalone DVD players";
homepage = http://dvdauthor.sourceforge.net/;
license = ["GPLv2"];
};
}

View file

@ -21,9 +21,7 @@ stdenv.mkDerivation rec {
builder = writeScript (name + "-builder")
(textClosure localDefs [doCopy doForceShare doPropagate]);
meta = {
description = "
${abort "Write a description"}
";
description = "Qemu sample image.";
inherit src;
};
}

View file

@ -1,5 +1,5 @@
args : with args;
let localDefs = builderDefs {
let localDefs = builderDefs.passthru.function {
src = /* put a fetchurl here */
fetchurl {
url = http://releases.compiz-fusion.org/0.6.0/compiz-manager-0.6.0.tar.bz2;
@ -19,7 +19,7 @@ args : with args;
"INDIRECT" "yes"
"XORG_DRIVER_PATH" "/nix/store/.*"
]];
} null; /* null is a terminator for sumArgs */
};
in with localDefs;
let
install = FullDepEntry ("

View file

@ -10,6 +10,6 @@ rec
ccsm = selectVersion ./ccsm (args // {inherit libcompizconfig bcop compizConfigPython configBackendGConf;});
pluginsMain = selectVersion ./main (args //{inherit bcop ;});
pluginsExtra = selectVersion ./extra (args //{inherit bcop pluginsMain;});
compizManager = selectVersion ./compiz-manager (args // {inherit bcop ccsm;});
compizManager = (import ./compiz-manager/0.6.0.nix) (args // {inherit bcop ccsm;});
ccsmSimple = selectVersion ./ccsm-simple (args // {inherit libcompizconfig bcop compizConfigPython configBackendGConf;});
}

View file

@ -6,4 +6,5 @@ args: with args;
libpng
GConf mesa metacity librsvg dbus.libs dbus_glib gnomedesktop git autoconf automake
libtool libxslt libwnck intltool perl perlXMLParser compiz pkgconfig libxml2
gettext
]

View file

@ -8,6 +8,7 @@ args: with args; stdenv.mkDerivation {
buildInputs = [ libX11 libXinerama ];
patchPhase = ''sed -i "s@/usr/local@$out@" config.mk'';
buildPhase = " make ";
meta = { homepage = "www.suckless.org";

View file

@ -34,13 +34,6 @@ vmTools.runInLinuxImage (stdenv.mkDerivation (
fi
''; # */
extraDebs = [
(fetchurl {
url = http://checkinstall.izto.org/files/deb/checkinstall_1.6.1-1_i386.deb;
sha256 = "0c9wwk1m0w677gr37zd4lhvkskkcrwa0bk7csh7b3qy94pnab618";
})
];
installExtraDebsPhase = ''
for i in $extraDebs; do
dpkg --install $i
@ -56,7 +49,9 @@ vmTools.runInLinuxImage (stdenv.mkDerivation (
'';
installCommand = ''
/usr/local/sbin/checkinstall -y -D make install
export LOGNAME=root
${checkinstall}/sbin/checkinstall -y -D make install
ensureDir $out/debs
find . -name "*.deb" -exec cp {} $out/debs \;

View file

@ -20,7 +20,7 @@ rec {
rpmBuild = args: import ./rpm-build.nix vmTools args;
debBuild = args: import ./debian-build.nix {inherit vmTools fetchurl;} (
{ inherit stdenv;
{ inherit stdenv checkinstall;
} // args);
}

View file

@ -1,11 +1,11 @@
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
name = "man-pages-3.11";
name = "man-pages-3.15";
src = fetchurl {
url = "mirror://kernel/linux/docs/man-pages/${name}.tar.bz2";
sha256 = "1pl3jdp7vh6vl2drqdal3ggdc22icdgfkfbswh21k8jlcxf00dn8";
sha256 = "0pr29ziz2d2zl2iii16372x2bqvx1a5g8xbb6wga4nxiz4w6ixhh";
};
preBuild = "

View file

@ -1,10 +1,11 @@
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
name = "freefont-ttf-20080912";
name = "freefont-ttf-20090104";
src = fetchurl {
url = "mirror://gnu/freefont/${name}.tar.gz";
sha256 = "1l6ip2xy4s4xacnz299y7afc4rhvnxb593nn8acxavmr623sh5ir";
sha256 = "13k3gm31wqa5ch14rmd3zpapckaif9bv4x82x72xaqn3n1j733ib";
};
installPhase = ''
@ -22,6 +23,6 @@ stdenv.mkDerivation rec {
'';
homepage = http://www.gnu.org/software/freefont/;
license = "GPLv2+";
license = "GPLv3+";
};
}

View file

@ -0,0 +1,5 @@
{fetchurl, ...} :
fetchurl {
url = http://www.kde-look.org/CONTENT/content-files/58501-green.tar.gz;
sha256 = "0sdykpziij1f3w4braq8r8nqg4lnsd7i7gi1k5d7c31m2q3b9a7r";
}

View file

@ -0,0 +1,5 @@
{fetchurl, ...}:
fetchurl {
url = http://www.bootsplash.de/files/themes/Theme-GNU.tar.bz2;
md5 = "61969309d23c631e57b0a311102ef034";
}

View file

@ -0,0 +1,83 @@
diff --git a/rules/base.lst b/rules/base.lst
index 7004bcd..804f9f0 100644
--- a/rules/base.lst
+++ b/rules/base.lst
@@ -168,6 +168,7 @@
nl Netherlands
bt Bhutan
ee Estonia
+ eo Esperanto
ir Iran
iq Iraq
fo Faroe Islands
diff --git a/rules/base.xml.in b/rules/base.xml.in
index ec321f8..e9c3546 100644
--- a/rules/base.xml.in
+++ b/rules/base.xml.in
@@ -1786,6 +1786,13 @@
</layout>
<layout>
<configItem>
+ <name>eo</name>
+ <_shortDescription>Esp</_shortDescription>
+ <_description>Esperanto</_description>
+ </configItem>
+ </layout>
+ <layout>
+ <configItem>
<name>ir</name>
<_shortDescription>Irn</_shortDescription>
<_description>Iran</_description>
diff --git a/symbols/Makefile.am b/symbols/Makefile.am
index 97c816d..d7e3a4e 100644
--- a/symbols/Makefile.am
+++ b/symbols/Makefile.am
@@ -10,7 +10,7 @@ bt by braille \
ca cd \
ch cn cz \
de dk \
-ee es et epo \
+ee eo es et epo \
fi fo fr \
gb ge gh gn \
gr hr hu \
diff --git a/symbols/Makefile.in b/symbols/Makefile.in
index b5be077..5cddcc7 100644
--- a/symbols/Makefile.in
+++ b/symbols/Makefile.in
@@ -222,7 +222,7 @@ bt by braille \
ca cd \
ch cn cz \
de dk \
-ee es et epo \
+ee eo es et epo \
fi fo fr \
gb ge gh gn \
gr hr hu \
diff --git a/symbols/eo b/symbols/eo
new file mode 100644
index 0000000..d6358c9
--- /dev/null
+++ b/symbols/eo
@@ -0,0 +1,21 @@
+// $XFree86$
+
+partial alphanumeric_keys
+xkb_symbols "basic" {
+
+ // Describes the differences between a very simple en_US
+ // keyboard and a simple Esperanto keyboard
+ // Press AltGr or Windows Menu key together with C, H, J, S, U
+ // to get accented letters.
+ // 2001 by Radovan Garabik <garabik@melkor.dnp.fmph.uniba.sk>
+
+ key.type = "FOUR_LEVEL";
+
+ key <AD02> { [w,W, ubreve,Ubreve ] };
+ key <AD07> { [u,U, ubreve, Ubreve ] };
+ key <AC02> { [s,S, scircumflex, Scircumflex ] };
+ key <AC05> { [g,G, gcircumflex,Gcircumflex ] };
+ key <AC06> { [h,H, hcircumflex,Hcircumflex ] };
+ key <AC07> { [j,J, jcircumflex,Jcircumflex ] };
+ key <AB03> { [c,C, ccircumflex,Ccircumflex ] };
+};

View file

@ -1,11 +1,11 @@
{ fetchurl, stdenv }:
stdenv.mkDerivation rec {
name = "bigloo3.1b";
name = "bigloo3.2a";
src = fetchurl {
url = "ftp://ftp-sop.inria.fr/mimosa/fp/Bigloo/${name}.tar.gz";
sha256 = "1m7mrrrqm6668j6x834mclzc9am63wlf0knm4xiwrhv3zcky8vnv";
sha256 = "131jnn17rcccbijpji7v5xlx4z2jldhbn46gkysf6axdcwxwqgg4";
};
patchPhase = ''

View file

@ -27,34 +27,42 @@ stdenv.mkDerivation rec {
buildInputs = [perl makeWrapper];
# On Linux, use patchelf to modify the executables so that they can
# find editline/gmp.
postUnpack = (if stdenv.isLinux then ''
find . -type f -perm +100 \
-exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
--set-rpath "${editline}/lib:${ncurses}/lib:${gmp}/lib" {} \;
for prog in strip ranlib; do
find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
done
'' else "")
+ ''
mkdir "$TMP/bin"
for i in strip; do
echo '#!/bin/sh' >> "$TMP/bin/$i"
chmod +x "$TMP/bin/$i"
PATH="$TMP/bin:$PATH"
done
''
;
postUnpack =
# Strip is harmful, see also below. It's important that this happens
# first. The GHC Cabal build system makes use of strip by default and
# has hardcoded paths to /usr/bin/strip in many places. We replace
# those below, making them point to our dummy script.
''
mkdir "$TMP/bin"
for i in strip; do
echo '#!/bin/sh' >> "$TMP/bin/$i"
chmod +x "$TMP/bin/$i"
PATH="$TMP/bin:$PATH"
done
'' +
# On Linux, use patchelf to modify the executables so that they can
# find editline/gmp.
(if stdenv.isLinux then ''
find . -type f -perm +100 \
-exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
--set-rpath "${editline}/lib:${ncurses}/lib:${gmp}/lib" {} \;
for prog in ld ar gcc strip ranlib; do
find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
done
'' else "");
configurePhase = ''
./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include
'';
# Stripping combined with patchelf breaks the executables (they die
# with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
dontStrip = true;
# No building is necessary, but calling make without flags ironically
# calls install-strip ...
buildPhase = ":";
# The binaries for Darwin use frameworks, so fake those frameworks,
# and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so
# that the executables work with no special setup.
@ -78,9 +86,6 @@ stdenv.mkDerivation rec {
" else "")
+
''
# the installed ghc executable segfaults, maybe some stripping or such has been done somewhere?
# Just copy teh version from the $TMP dir over
cp ghc/dist-stage2/build/ghc/ghc $out/lib/ghc-${version}/ghc
# bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way
sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp}/lib\",\2@" $out/lib/ghc-${version}/package.conf

View file

@ -1,57 +1,56 @@
args: with args.lib; with args;
let
co = chooseOptionsByFlags {
inherit args;
flagDescr = {
# does without X make sense? We can try
mandatory ={ cfgOption = [ "--prefix=\$out" ]; implies = "pthreads"; };
pathcanonicalization = { cfgOption = "--enable-path-canonicalization"; }; # enable canonicalization of filenames
timer = { cfgOption = "--enable-timer"; };# enable evaluation timing (for benchmarking Hugs)
profiling = { cfgOption = "--enable-profiling"; };# enable heap profiler
stack = { cfgOption = "--enable-stack-dumps"; };#-dumps enable stack dump on stack overflow
large = { cfgOption = "--disable-large-banner"; };#-banner disable multiline startup banner
internal = { cfgOption = "--enable-internal-prims"; };#-prims experimental primitives to access Hugs's innards
debug = { cfgOption = "--enable-debug"; };# include C debugging information (for debugging Hugs)
tag = { cfgOption = "--enable-tag-checks"; };#-checks runtime tag checking (for debugging Hugs)
lint = { cfgOption = "--enable-lint"; };# enable "lint" flags (for debugging Hugs)
only98 = { cfgOption = "--enable-only98"; };# build Hugs to understand Haskell 98 only
ffi = { cfgOption = "--enable-ffi"; };# include modules that use the FFI [default=autodetect]
char = { cfgOption = "--enable-char-encoding"; blocks = "utf8"; };
#-encoding encode all character I/O using the byte encoding
#determined by the locale in effect at that time. To
#require that the UTF-8 encoding is always used, give
#the --enable-char-encoding=utf8 option.
#[default=autodetect]
utf8 = { cfgOption = "--enable-char-encoding=utf8"; blocks="char"; };
args: with args;
let edf = composableDerivation.edf;
wwf = composableDerivation.wwf; in
composableDerivation.composableDerivation {
initial = {
name="hugs98";
#--with-nmake produce a Makefile compatible with nmake
#--with-gui build Hugs for Windows GUI (Borland C++ only)
pthreads = { cfgOption = "--with-pthreads"; }; # build Hugs using POSIX threads C library
# I think we need this as long as not using nptl ?
};
optionals = [];
defaultFlags = ["ffi"];
};
in args.stdenv.mkDerivation {
# passing the flags in case a library using this want's to check them (*) ..
inherit (co) /* flags */ buildInputs;
configurePhase="./configure --prefix=\$out";
src = fetchurl {
url = http://cvs.haskell.org/Hugs/downloads/2006-09/hugs98-Sep2006.tar.gz;
sha256 = "3cf4d27673564cffe691bd14032369f646233f14daf2bc37c6c6df9f062b46b6";
src = fetchurl {
url = http://cvs.haskell.org/Hugs/downloads/2006-09/hugs98-Sep2006.tar.gz;
sha256 = "3cf4d27673564cffe691bd14032369f646233f14daf2bc37c6c6df9f062b46b6";
};
name="hugs98";
#encode all character I/O using the byte encoding
#determined by the locale in effect at that time. To
#require that the UTF-8 encoding is always used, give
#the --enable-char-encoding=utf8 option.
#[default=autodetect]
postUnpack = ''
find -type f | xargs sed -i 's@/bin/cp@cp@';
'';
configurePhase="./configure --prefix=\$out --enable-char-encoding=utf8 $configureFlags";
meta = {
license = "as-is"; # gentoo is calling it this way..
description = "The HUGS98 Haskell <interpreter";
homepage = http://www.haskell.org/hugs;
flags =
edf { name = "pathCanonicalization"; feat="path-canonicalization"; }
// edf { name="timer"; } # enable evaluation timing (for benchmarking Hugs)
// edf { name="profiling"; }# enable heap profiler
// edf { name="stackDumps"; feat="stack-dummps"; } # enable stack dump on stack overflow
// edf { name="largeBanner"; feat="large-banner"; } # disable multiline startup banner
// edf { name="internal-prims"; } # experimental primitives to access Hugs's innards
// edf { name="debug"; } # include C debugging information (for debugging Hugs)
// edf { name="tag"; } # runtime tag checking (for debugging Hugs)
// edf { name="lint"; } # enable "lint" flags (for debugging Hugs)
// edf { name="only98"; } # build Hugs to understand Haskell 98 only
// edf { name="ffi"; }
#--with-nmake produce a Makefile compatible with nmake
#--with-gui build Hugs for Windows GUI (Borland C++ only)
// wwf { name="pthreads"; } # build Hugs using POSIX threads C library
;
cfg = {
largeBannerSupport = true; # seems to be default
char = { cfgOption = "--enable-char-encoding"; blocks = "utf8"; };
utf8 = { cfgOption = "--enable-char-encoding=utf8"; blocks="char"; };
};
meta = {
license = "as-is"; # gentoo is calling it this way..
description = "The HUGS98 Haskell <interpreter";
homepage = http://www.haskell.org/hugs;
};
};
}

View file

@ -1,31 +1,33 @@
args:
let edf = args.lib.enableDisableFeature; in
( args.mkDerivationByConfiguration {
flagConfig = {
mandatory = { buildInputs = ["bigloo" "curl"]; };
} // edf "pcre" "pcre" { } #support pcre extension [default=check]
// edf "fcgi" "fcgi" { pass = "fcgi"; } #support FastCGI web backend [default=check]
// edf "xml" "xml" { pass ="libxml2"; } #support xml extension [default=check]
// edf "mysql" "mysql" { pass = "mysql"; } #support mysql extension [default=check]
#// edf "sqlite3=[ARG]" "sqlite3=[ARG]" { } [>use SQLite 3 library [default=yes], optionally
#specify the prefix for sqlite3 library
// edf "odbc" "odbc" { } #support ODBC extension [default=check]
// edf "gtk" "gtk" { } #support PHP-GTK extension [default=no]
// edf "gtk2" "gtk2" { }; #support PHP-GTK 2 extension [default=no]
args: with args;
let edf = composableDerivation.edf; in
composableDerivation.composableDerivation {
initial = {
name = "roadsend-2.9.3";
buildInputs = [bigloo curl];
flags = edf { name = "pcre"; }
// edf { name = "fcgi"; enable = { inherit fcgi; }; }
// edf { name = "xml"; enable = { buildInputs = [ libxml2 ]; }; }
// edf { name = "mysql"; enable = { buildInputs = [ mysql ]; }; }
// edf { name = "odbc"; };
# // edf { name = "gtk"} }
# // edf { name = "gtk2", enable = { buildInputs = [ mysql ]; } }
cfg = {
pcreSupport = true;
fcgiSupport = true;
xmlSupport = true;
mysqlSupport = true;
};
src = args.fetchurl {
url = "http://code.roadsend.com/snaps/roadsend-php-20081210.tar.bz2";
sha256 = "0yhpiik0dyayd964wvn2k0cq7b1gihx1k3qx343r2l7lla4mapsx";
};
optionals = [ "libxml2" "gettext" "fcgi" ];
extraAttrs = co : {
name = "roadsend-2.9.3";
src = args.fetchurl {
url = "http://code.roadsend.com/snaps/roadsend-php-2.9.4.tar.bz2";
sha256 = "0nw7rvrrwkss5cp6ws0m3q63q1mcyy27s8yjhy7kn508db1rgl9x";
};
# http://code.roadsend.com/snaps/roadsend-php-testsuite-2.9.7.tar.bz2";
# sha256 = "0rf0g9r0prla7daq3aif24d7dx0j01i35hcm8h5bbg3gvpfim463";
# tell pcc where to find the fastcgi library
postInstall = " sed -e \"s=(ldflags fastcgi.*=(ldflags -l fastcgi -L \$fcgi)=\" -i \$out/etc/pcc.conf ";
meta = {
postInstall = " sed -e \"s=(ldflags fastcgi.*=(ldflags -l fastcgi -L \$fcgi)=\" -i \$out/etc/pcc.conf ";
meta = {
description = "roadsend PHP -> C compiler";
homepage = http://www.roadsend.com;
# you can choose one of the following licenses:
@ -33,4 +35,4 @@ let edf = args.lib.enableDisableFeature; in
license = ["GPL2"];
};
};
} ) args
}

View file

@ -1,122 +1,132 @@
let version = "5.2.6"; in
args:
args: with args;
(args.mkDerivationByConfiguration {
let inherit (args.composableDerivation) composableDerivation edf wwf; in
flagConfig = {
composableDerivation {
initial = fixed : {
# much left to do here...
mandatory = { buildInputs = ["flex" "bison" "pkgconfig"]; };
# SAPI modules:
apxs2 = {
cfgOption = "--with-apxs2=\$apacheHttpd/bin/apxs";
pass = "apacheHttpd";
};
# Extensions
curl = {
cfgOption = "--with-curl=${args.curl} --with-curlwrappers";
pass = "curl";
};
zlib = {
cfgOption = "--with-zlib=${args.zlib}";
pass = "zlib";
};
libxml2 = {
cfgOption = "--with-libxml-dir=\$libxml2";
pass = { inherit (args) libxml2; };
};
no_libxml2 = {
cfgOption = "--disable-libxml";
};
postgresql = {
cfgOption = "--with-pgsql=\$postgresql";
pass = { inherit (args) postgresql; };
};
mysql = {
cfgOption = "--with-mysql=\$mysql";
pass = { inherit (args) mysql; };
};
mysqli = {
cfgOption = "--with-mysqli=\$mysql/bin/mysql_config";
pass = { inherit (args) mysql; };
};
mysqli_embedded = {
cfgOption = "--enable-embedded-mysqli";
depends = "mysqli";
};
pdo_mysql = {
cfgOption = "--with-pdo-mysql=\$mysql";
pass = { inherit (args) mysql; };
};
no_pdo_mysql = { };
bcmath = {
cfgOption = "--enable-bcmath";
};
gd = {
cfgOption = "--with-gd=${args.gd}";
buildInputs = ["gd"]; # <-- urgh, these strings are ugly
};
sockets = {
cfgOption = "--enable-sockets";
};
openssl = {
cfgOption = "--with-openssl=${args.openssl}";
buildInputs = ["openssl"];
};
/*
Building xdebug withing php to be able to add the parameters to the ini file.. Ther should be a better way
meta = {
description = "debugging support for PHP";
homepage = http://xdebug.org;
license = "based on the PHP license - as is";
};
*/
xdebug = {
buildInputs = [ "automake" "autoconf" ];
pass = {
xdebug_src = args.fetchurl {
name = "xdebug-2.0.2.tar.gz";
url = "http://xdebug.org/link.php?url=xdebug202";
sha256 = "1h0bxvf8krr203fmk1k7izrrr81gz537xmd3pqh4vslwdlbhrvic";
};
};
};
};
defaults = [ "mysql" "mysqli" "pdo_mysql" "libxml2" "apxs2" "bcmath" ];
optionals = [ "libxml2" "gettext" "postgresql" "zlib" "openssl" ];
extraAttrs = co: {
name = "php_configurable-${version}";
buildInputs = args.lib.getAttr ["phpIncludes"] [] args ++ co.buildInputs;
buildInputs = ["flex" "bison" "pkgconfig"];
flags = {
# much left to do here...
# SAPI modules:
apxs2 = {
configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"];
buildInputs = [apacheHttpd];
};
# Extensions
curl = {
configureFlags = ["--with-curl=${args.curl}" "--with-curlwrappers"];
buildInputs = [curl];
};
zlib = {
configureFlags = ["--with-zlib=${args.zlib}"];
buildInputs = [zlib];
};
libxml2 = {
configureFlags = ["--with-libxml-dir=${libxml2}"];
buildInputs = [ libxml2 ];
};
postgresql = {
configureFlags = ["--with-pgsql=${postgresql}"];
buildInputs = [ postgresql ];
};
mysql = {
configureFlags = ["--with-mysql=${mysql}"];
buildInputs = [ mysql ];
};
mysqli = {
configureFlags = ["--with-mysqli=${mysql}/bin/mysql_config"];
buildInputs = [ mysql];
};
mysqli_embedded = {
configureFlags = ["--enable-embedded-mysqli"];
depends = "mysqli";
assertion = fixed.mysqliSupport;
};
pdo_mysql = {
configureFlags = ["--with-pdo-mysql=${mysql}"];
buildInputs = [ mysql ];
};
bcmath = {
configureFlags = ["--enable-bcmath"];
};
gd = {
configureFlags = ["--with-gd=${args.gd}"];
buildInputs = [gd];
};
sockets = {
configureFlags = ["--enable-sockets"];
};
openssl = {
configureFlags = ["--with-openssl=${args.openssl}"];
buildInputs = ["openssl"];
};
mbstring = {
configureFlags = ["--enable-mbstring"];
};
/*
Building xdebug withing php to be able to add the parameters to the ini file.. Ther should be a better way
meta = {
description = "debugging support for PHP";
homepage = http://xdebug.org;
license = "based on the PHP license - as is";
};
*/
xdebug = {
buildInputs = [ automake autoconf ];
xdebug_src = args.fetchurl {
name = "xdebug-2.0.2.tar.gz";
url = "http://xdebug.org/link.php?url=xdebug202";
sha256 = "1h0bxvf8krr203fmk1k7izrrr81gz537xmd3pqh4vslwdlbhrvic";
};
};
};
cfg = {
mysqlSupport = true;
mysqliSupport = true;
pdo_mysqlSupport = true;
libxml2Support = true;
apxs2Support = true;
bcmathSupport = true;
socketsSupport = true;
curlSupport = true;
gettextSupport = true;
postgresqlSupport = true;
zlibSupport = true;
opnesslSupport = true;
xdebugSupport = true;
mbstringSupport = true;
gdSupport = true;
};
configurePhase = ''
iniFile=$out/etc/$name.ini
[[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin
./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out ${co.configureFlags}
./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags
echo configurePhase end
'';
@ -124,11 +134,11 @@ args:
unset installPhase; installPhase;
cp php.ini-recommended $iniFile
# Now Let's build xdebug if flag has been given
# Now Let's build xdebug if flag has been given
# TODO I think there are better paths than the given below
if [ -n $flag_set_xdebug ]; then
PATH=$PATH:$out/bin
tar xfz $xdebug_src;
tar xfz $xdebug_src;
cd xdebug*
phpize
./configure --prefix=$out
@ -157,13 +167,14 @@ args:
name = "php-${version}.tar.bz2";
};
meta = {
meta = {
description = "The PHP language runtime engine";
homepage = http://www.php.net/;
license = "PHP-3";
};
patches = [./fix.patch];
};
}) args
}

View file

@ -13,6 +13,7 @@
p: # p = pkgs
let
inherit (p) lib fetchurl stdenv getConfig;
inherit (p.composableDerivation) composableDerivation;
# withName prevents nix-env -qa \* from aborting (pythonLibStub is a derivation but hasn't a name)
withName = lib.mapAttrs (n : v : if (__isAttrs v && (!__hasAttr "name" v)) then null else v);
in
@ -24,7 +25,8 @@ in
# see pythonFull.
pythonMinimal = ( (import ./python.nix) {
name = "python-${t.version}";
inherit (p) fetchurl stdenv lib bzip2 ncurses composableDerivation;
inherit composableDerivation;
inherit (p) fetchurl stdenv lib bzip2 ncurses;
inherit (p) zlib sqlite db4 readline openssl gdbm;
});
@ -59,11 +61,16 @@ in
buildPhase = ''
ensureDir $out/bin
cat >> $out/bin/python << EOF
export NIX_PYTHON_SITES=\$NIX_PYTHON_SITES:$NIX_PYTHON_SITES
exec ${t.pythonFull}/bin/python "\$@"
for prog in python pydoc; do
echo ========= prog $prog
cat >> $out/bin/$prog << EOF
export NIX_PYTHON_SITES=\$NIX_PYTHON_SITES:$NIX_PYTHON_SITES
exec ${t.pythonFull}/bin/$prog "\$@"
EOF
chmod +x $out/bin/python
echo chmod +x
chmod +x $out/bin/$prog
done
'';
};
@ -72,7 +79,7 @@ in
# lib to verify it works
# You can define { python25 { debugCmd = "DISPLAY=:0.0 pathtoxterm"; }
# in your config for easier debugging..
pythonLibStub = p.composableDerivation {
pythonLibStub = composableDerivation {
initial = {
propagatedBuildInputs = [ t.pythonFull ]; # see [1]
postPhases = ["postAll"]; # using new name so that you dno't override this phase by accident
@ -465,7 +472,7 @@ in
### python applications
pythonExStub = p.composableDerivation {
pythonExStub = composableDerivation {
initial = {
buildInputs = [p.makeWrapper];
postPhases = ["wrapExecutables"];

View file

@ -3,7 +3,7 @@
stdenv.mkDerivation {
name = "aterm-2.4.2-fixes-r2";
src = fetchurl {
url = http://losser.st-lab.cs.uu.nl/~eelco/dist/aterm-2.4.2-fixes-r2.tar.bz2;
url = http://nixos.org/tarballs/aterm-2.4.2-fixes-r2.tar.bz2;
sha256 = "1w3bxdpc2hz29li5ssmdcz3x0fn47r7g62ns0v8nazxwf40vff4j";
};
doCheck = true;

View file

@ -1,2 +0,0 @@
args:
import ./common.nix "0q954lwhr6xnv7chhi4bqlmkn4nx9shyw0mbdr3n26018dgw65yq" args

View file

@ -1,2 +0,0 @@
args:
import ./common.nix "0lnxzsdhihb3kjwd3vcrl9pq6ykfbp0vy9ja0mch01ffnrqgiilx" args

View file

@ -1,15 +1,20 @@
sha256: args: with args;
{ fetchurl, stdenv, pkgconfig, libdaemon, dbus, perl, perlXMLParser
, expat, gettext, intltool, glib, gtk, qt4 ? null, lib
, qt4Support ? false }:
assert qt4Support -> qt4 != null;
stdenv.mkDerivation rec {
name = "avahi-" + version;
name = "avahi-0.6.24";
src = fetchurl {
url = "${meta.homepage}/download/${name}.tar.gz";
inherit sha256;
sha256 = "0l5rsi4s7az7cs9p4aqs77v7jrh95iiwwx0ivksmivc8c7a70016";
};
buildInputs = [pkgconfig libdaemon dbus perl perlXMLParser glib expat]
buildInputs = [
pkgconfig libdaemon dbus perl perlXMLParser glib expat
gettext intltool
]
++ lib.optional qt4Support qt4;
configureFlags = ''

View file

@ -1,16 +1,24 @@
args: with args;
{stdenv, fetchurl, pkgconfig, expat, libX11, libICE, libSM, useX11 ? true}:
let
version = "1.2.4";
src = fetchurl {
url = "http://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz";
sha256 = "1f7v79ws34mh6j75fk6w4w9v441vffll0fwf5vk94mwa0bc28g5b";
};
configureFlags = "--disable-static --localstatedir=/var --with-session-socket-dir=/tmp";
in rec {
libs = stdenv.mkDerivation {
name = "dbus-library-" + version;
buildInputs = [pkgconfig expat];
inherit src configureFlags;
patchPhase = ''
sed -i /mkinstalldirs.*localstatedir/d bus/Makefile.in
sed -i '/SUBDIRS/s/ tools//' Makefile.in
@ -19,21 +27,25 @@ in rec {
tools = stdenv.mkDerivation {
name = "dbus-tools-" + version;
inherit src configureFlags;
buildInputs = [pkgconfig expat libs]
++ (if useX11 then [libX11 libICE libSM] else []);
++ stdenv.lib.optionals useX11 [libX11 libICE libSM];
postConfigure = "cd tools";
NIX_LDFLAGS = "-ldbus-1";
makeFlags = "DBUS_DAEMONDIR=${daemon}/bin";
patchPhase = ''
sed -i 's@ $(top_builddir)/dbus/libdbus-1.la@@' tools/Makefile.in
sed -i '/mkdir.*localstate/d' tools/Makefile.in
substituteInPlace tools/Makefile.in --replace 'install-localstatelibDATA:' 'disabled:'
'';
};
# I'm too lazy to separate daemon and libs now.
# I'm too lazy to separate daemon and libs now.
daemon = libs;
# FIXME TODO

View file

@ -1,35 +1,47 @@
args:
( args.mkDerivationByConfiguration {
flagConfig = {
mandatory = { propagatedBuildInputs=["x11" "inputproto" "libXi"];
blocks = ["cygwin" "quartz"]; }; # cgywin quartz and much more not yet tested
cygwin = { cfgOption = "--enable-cygwin"; }; # use the CygWin libraries default=no
debug = { cfgOption = "--enable-debug"; }; # turn on debugging default=no
gl = { cfgOption = "--enable-gl"; buildInputs = [ "mesa" ]; }; # turn on OpenGL support default=yes
shared = { cfgOption = "--enable-shared"; }; # turn on shared libraries default=no
threads = { cfgOption = "--enable-threads"; }; # enable multi-threading support
quartz = { cfgOption = "--enable-quartz"; buildInputs = "quartz"; }; # don't konw yet what quartz is # use Quartz instead of Quickdraw (default=no)
largefile = { cfgOption = "--disable-largefile"; }; # omit support for large files
useNixLibs = { implies = [ "nixjpeg" "nixpng" "nixzlib" ]; }; # use nix libraries only
nixjpeg = { cfgOption = "--disable-localjpeg"; buildInputs = "libjpeg"; }; # use local JPEG library, default=auto
nixzlib = { cfgOption = "--disable-localzlib"; buildInputs = "zlib"; }; # use local ZLIB library, default=auto
nixpng = { cfgOption = "--disable-localpng"; buildInputs = "libpng"; }; # use local PNG library, default=auto
xinerama = { cfgOption = "--enable-xinerama"; buildInputs = "xinerama"; }; # turn on Xinerama support default=no
xft = { cfgOption = "--enable-xft"; buildInputs="xft"; }; # turn on Xft support default=no
xdbe = { cfgOption = "--enable-xdbe"; }; # turn on Xdbe support default=no
};
args: with args;
let inherit (args.composableDerivation) composableDerivation edf; in
composableDerivation {
initial = {
extraAttrs = co : {
name = "fltk-2.0.x-r6483";
name = "fltk-2.0.x-r6483";
src = args.fetchurl {
url = ftp://ftp.easysw.com/pub/fltk/snapshots/fltk-2.0.x-r6483.tar.bz2;
sha256 = "1n8b53r5p0zb4sbvr6pj8aasls4zjwksv1sdc3r3pzb20fikp5jb";
};
meta = {
propagatedBuildInputs=[x11 inputproto libXi freeglut];
buildInputs = [ args.pkgconfig ];
flags =
# this could be tidied up (?).. eg why does it require freeglut without glSupport?
edf { name = "cygwin"; } # use the CygWin libraries default=no
// edf { name = "debug"; } # turn on debugging default=no
// edf { name = "gl"; enable = { buildInputs = [ mesa ]; }; } # turn on OpenGL support default=yes
// edf { name = "shared"; } # turn on shared libraries default=no
// edf { name = "threads"; } # enable multi-threading support
// edf { name = "quartz"; enable = { buildInputs = "quartz"; }; } # don't konw yet what quartz is # use Quartz instead of Quickdraw (default=no)
// edf { name = "largefile"; } # omit support for large files
// edf { name = "localjpeg"; disable = { buildInputs = [libjpeg]; }; } # use local JPEG library, default=auto
// edf { name = "localzlib"; disable = { buildInputs = [zlib]; }; } # use local ZLIB library, default=auto
// edf { name = "localpng"; disable = { buildInputs = [libpng]; }; } # use local PNG library, default=auto
// edf { name = "xinerama"; enable = { buildInputs = [libXinerama]; }; } # turn on Xinerama support default=no
// edf { name = "xft"; enable = { buildInputs=[libXft]; }; } # turn on Xft support default=no
// edf { name = "xdbe"; }; # turn on Xdbe support default=no
cfg = {
largefileSupport = true; # is default
glSupport = true; # doesn't build without it. Why?
localjpegSupport = false;
localzlibSupport = false;
localpngSupport = false;
sharedSupport = true;
threadsSupport = true;
};
meta = {
description = "a C++ cross platform lightweight gui library binding";
homepage = http://www.fltk.org;
};
};
} ) args
}

View file

@ -0,0 +1,22 @@
{stdenv, fetchurl, unzip}:
stdenv.mkDerivation {
name = "freeimage-3.11.0";
src = fetchurl {
url = mirror://sourceforge/freeimage/FreeImage3110.zip;
sha256 = "84021b8c0b86e5801479474ad9a99c18d121508ee16d363e02ddcbf24195340c";
};
buildInputs = [ unzip ];
patchPhase = ''
sed -e s@/usr/@$out/@ \
-e 's@-o root -g root@@' \
-e 's@ldconfig@echo not running ldconfig@' \
-i Makefile.gnu
'';
preInstall = "mkdir -p $out/include $out/lib";
meta = {
description = "Open Source library for accessing popular graphics image file formats";
homepage = http://freeimage.sourceforge.net/;
license = "GPL";
};
}

View file

@ -1,42 +1,38 @@
args:
( args.mkDerivationByConfiguration {
args: with args;
let inherit (args.composableDerivation) composableDerivation edf; in
composableDerivation {
flagConfig = {
mandatory = { implies = "python";
buildInputs = [ "which" ]; # which is needed for the autogen.sh
};
initial = {
buildInputs = [ "which" ]; # which is needed for the autogen.sh
flags =
# python and ruby untested
python = { cfgOption = "--enable-python"; #Enable build of python module
buildInputs=["python"] ++ (if args.use_svn then ["libtool" "autoconf" "automake" "swig"] else []);
};
ruby = { cfgOption = "--enable-ruby"; }; #Enable build of ruby module
};
edf { name = "python"; enable = { buildInputs = [ python ]; }; };
# (if args.use_svn then ["libtool" "autoconf" "automake" "swig"] else [])
# // edf { name = "ruby"; enable = { buildInputs = [ ruby ]; };}
extraAttrs = co : {
name = "geos-3.0.0rc4";
name = "geos-3.0.3";
src = if (args.use_svn) then
args.fetchsvn {
url = http://svn.osgeo.org/geos/trunk;
md5 = "b46f5ea517a337064006bab92f3090d4";
} else args.fetchurl {
url = http://geos.refractions.net/geos-3.0.0rc4.tar.bz2;
sha256 = "0pgwwv8q4p234r2jwdkaxcf68z2fwgmkc74c6dnmms2sdwkb5lbw";
};
src = fetchurl {
url = http://download.osgeo.org/geos/geos-3.0.3.tar.bz2;
sha256 = "1pxk20jcbyidp3bvip1vdf8wfw2wvh8pcn810qkf1y3zfnki0c7k";
};
configurePhase = "
[ -f configure ] || \\
LIBTOOLIZE=libtoolize ./autogen.sh
#{ automake --add-missing; autoconf; }
unset configurePhase; configurePhase
";
# for development version. can be removed ?
#configurePhase = "
# [ -f configure ] || \\
# LIBTOOLIZE=libtoolize ./autogen.sh
# [>{ automake --add-missing; autoconf; }
# unset configurePhase; configurePhase
#";
meta = {
description = "C++ port of the Java Topology Suite (JTS)"
+ "- all the OpenGIS \"Simple Features for SQL\" spatial predicate functions and spatial operators,"
+ " as well as specific JTS topology functions such as IsValid";
homepage = http://geos.refractions.net/;
license = "GPL";
};
meta = {
description = "C++ port of the Java Topology Suite (JTS)"
+ "- all the OpenGIS \"Simple Features for SQL\" spatial predicate functions and spatial operators,"
+ " as well as specific JTS topology functions such as IsValid";
homepage = http://geos.refractions.net/;
license = "GPL";
};
};
} ) args
}

View file

@ -5,11 +5,11 @@ assert guileBindings -> guile != null;
stdenv.mkDerivation rec {
name = "gnutls-2.6.2";
name = "gnutls-2.6.3";
src = fetchurl {
url = "mirror://gnu/gnutls/${name}.tar.bz2";
sha256 = "1jg7mcf8z9ghyzm8ca1b19pzwaaq3cvj5grsgi2hmlfms95zic80";
sha256 = "1rs0a9d5ag17ws7d442ywlsdm6nb8fdmxkpj5hv9byfwb7k7xpgd";
};
patches = [ ./tmpdir.patch ];

View file

@ -1,15 +1,32 @@
args: with args;
stdenv.mkDerivation {
name = "gsl-1.11";
{ fetchurl, stdenv }:
stdenv.mkDerivation rec {
name = "gsl-1.12";
src = fetchurl {
url = ftp://ftp.gnu.org/gnu/gsl/gsl-1.11.tar.gz;
sha256 = "1c8ijbykgm6w8q0a1j3bfjdd9764fcw9v709bv7pqrgimq3ya4bn";
url = "mirror://gnu/gsl/${name}.tar.gz";
sha256 = "1fdpqw981gcc0wkvcacm16mrrsq5f4jdq395zk59lxjcsa492092";
};
doCheck = true;
configureFlags = "--disable-static";
meta = {
description = "numerical library (>1000 functions)";
homepage = http://www.gnu.org/software/gsl;
license = "GPL2";
description = "The GNU Scientific Library, a large numerical library";
longDescription = ''
The GNU Scientific Library (GSL) is a numerical library for C
and C++ programmers. It is free software under the GNU General
Public License.
The library provides a wide range of mathematical routines such
as random number generators, special functions and least-squares
fitting. There are over 1000 functions in total with an
extensive test suite.
'';
homepage = http://www.gnu.org/software/gsl/;
license = "GPLv3+";
};
}

View file

@ -2,13 +2,21 @@
stdenv.mkDerivation {
name = "wxHaskell-0.10.1-pre20070124";
src = fetchurl {
url = http://losser.st-lab.cs.uu.nl/~eelco/dist/wxhaskell-src-0.10.1-pre20070124.tar.bz2;
url = http://nixos.org/tarballs/wxhaskell-src-0.10.1-pre20070124.tar.bz2;
sha256 = "1cl0yd3blynjslzz05312bzg1dbymmj8pg88bhnr4p3rqxrlmhx9";
};
buildInputs = [unzip ghc wxGTK];
postInstall = "
postInstall = ''
make wx
make wx-install
";
'';
meta = {
homepage = http://haskell.org/haskellwiki/WxHaskell;
description = "A portable and native GUI library for Haskell";
};
}

View file

@ -3,7 +3,8 @@ stdenv.mkDerivation rec {
name = "heimdal-1.0.2";
src = fetchurl {
url = "http://ftp.pdc.kth.se/pub/heimdal/src/${name}.tar.gz";
urls = [ "http://www.h5l.org/dist/src/${name}.tar.gz"
"http://ftp.pdc.kth.se/pub/heimdal/src/${name}.tar.gz" ];
sha256 = "1h4x41lpv2abpv5l3yjd58pfzs0kkp5sbnih9iykhwd6sii1iig5";
};

View file

@ -1,16 +1,28 @@
args: with args;
{ fetchurl, stdenv, pth }:
stdenv.mkDerivation rec {
name = "libassuan-1.0.4";
name = "libassuan-1.0.5";
src = fetchurl {
url = "ftp://ftp.gnupg.org/gcrypt/libassuan/${name}.tar.bz2";
sha256 = "1milkb5128nkgvfvfc9yi3qq8d1bvci7b3qmzfibmyh7qga6pwpw";
};
src = fetchurl {
url = "mirror://gnupg/libassuan/${name}.tar.bz2";
sha256 = "1xar8i5jmah75wa9my4x7vkc5b6nmzd2p6k9kmpdg9hsv04292y5";
};
propagatedBuildInputs = [pth];
propagatedBuildInputs = [ pth ];
meta = {
description = "Libassuan is the IPC library used by some GnuPG related software";
homepage = http://www.gnupg.org;
};
doCheck = true;
meta = {
description = "Libassuan, the IPC library used by GnuPG and related software";
longDescription = ''
Libassuan is a small library implementing the so-called Assuan
protocol. This protocol is used for IPC between most newer
GnuPG components. Both, server and client side functions are
provided.
'';
homepage = http://gnupg.org;
license = "LGPLv2+";
};
}

View file

@ -1,30 +1,29 @@
args:
let edf = args.lib.enableDisableFeature; in
( args.mkDerivationByConfiguration {
flagConfig = { }
args: with args;
let inherit (args.composableDerivation) composableDerivation edf; in
composableDerivation {
initial = {
flags = { }
# TODO! implement flags
# I want to get kino and cinelerra working. That's why I don't spend more time on this now
// edf "libtool_lock" "libtool_lock" { } #avoid locking (might break parallel builds)
// edf "asm" "asm" { } #disable use of architecture specific assembly code
// edf "sdl" "sdl" { } #enable use of SDL for display
// edf "gtk" "gtk" { } #disable use of gtk for display
// edf "xv" "xv" { } #disable use of XVideo extension for display
// edf "gprof" "gprof" { } #enable compiler options for gprof profiling
;
// edf { name = "libtool_lock"; } #avoid locking (might break parallel builds)
// edf { name ="asm"; } #disable use of architecture specific assembly code
// edf { name ="sdl"; } #enable use of SDL for display
// edf { name ="gtk"; } #disable use of gtk for display
// edf { name ="xv"; } #disable use of XVideo extension for display
// edf { name ="gprof"; }; #enable compiler options for gprof profiling
extraAttrs = co : {
name = "libdv-1.0.0";
name = "libdv-1.0.0";
src = args.fetchurl {
url = mirror://sourceforge/libdv/libdv-1.0.0.tar.gz;
sha256 = "1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3";
};
src = args.fetchurl {
url = mirror://sourceforge/libdv/libdv-1.0.0.tar.gz;
sha256 = "1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3";
};
meta = {
meta = {
description = "software decoder for DV format video, as defined by the IEC 61834 and SMPTE 314M standards";
homepage = http://sourceforge.net/projects/libdv/;
# you can choose one of the following licenses:
license = [];
};
};
} ) args
}

View file

@ -1,9 +1,27 @@
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
name = "libgpg-error-1.4";
name = "libgpg-error-1.7";
src = fetchurl {
url = "mirror://gnupg/libgpg-error/${name}.tar.gz";
sha256 = "06fn9rshrm7r49fkjc17xg39nz37kyda2l13qqgzjg69zz2pxxpz";
url = "mirror://gnupg/libgpg-error/${name}.tar.bz2";
sha256 = "14as9cpm4k9c6lxm517s9vzqrmjmdpf8i4s41k355xc27qdk6083";
};
doCheck = true;
meta = {
description = "Libgpg-error, a small library that defines common error values for all GnuPG components";
longDescription = ''
Libgpg-error is a small library that defines common error values
for all GnuPG components. Among these are GPG, GPGSM, GPGME,
GPG-Agent, libgcrypt, Libksba, DirMngr, Pinentry, SmartCard
Daemon and possibly more in the future.
'';
homepage = http://gnupg.org;
license = "LGPLv2+";
};
}

View file

@ -1,35 +1,31 @@
args:
( args.mkDerivationByConfiguration {
flagConfig = {
mandatory = { buildInputs = ["pkgconfig"];};
# are these options of interest? We'll see
#--disable-fftw disable usage of FFTW
#--enable-debug enable debugging
#--disable-cpu-clip disable tricky cpu specific clipper
args: with args;
stdenv.mkDerivation {
};
name = "libsamplerate-0.1.2";
extraAttrs = co : {
name = "libsamplerate-0.1.2";
src = args.fetchurl {
url = http://www.mega-nerd.com/SRC/libsamplerate-0.1.2.tar.gz;
sha256 = "1m1iwzpcny42kcqv5as2nyb0ggrb56wzckpximqpp2y74dipdf4q";
};
configurePhase = "
export LIBSAMPLERATE_CFLAGS=\"-I \$libsamplerate/include\"
export LIBSAMPLERATE_LIBS=\"-L \$libsamplerate/libs\"
./configure --prefix=\$out"+co.configureFlags;
meta = {
description = "Sample Rate Converter for audio";
homepage = http://www.mega-nerd.com/SRC/index.html;
# you can choose one of the following licenses:
license = [ "GPL"
{ url=http://www.mega-nerd.com/SRC/libsamplerate-cul.pdf;
name="libsamplerate Commercial Use License";
} ];
};
src = args.fetchurl {
url = http://www.mega-nerd.com/SRC/libsamplerate-0.1.2.tar.gz;
sha256 = "1m1iwzpcny42kcqv5as2nyb0ggrb56wzckpximqpp2y74dipdf4q";
};
} ) args
buildInputs = ["pkgconfig"];
# maybe interesting configure flags:
#--disable-fftw disable usage of FFTW
#--disable-cpu-clip disable tricky cpu specific clipper
configurePhase = "
export LIBSAMPLERATE_CFLAGS=\"-I \$libsamplerate/include\"
export LIBSAMPLERATE_LIBS=\"-L \$libsamplerate/libs\"
./configure --prefix=\$out";
meta = {
description = "Sample Rate Converter for audio";
homepage = http://www.mega-nerd.com/SRC/index.html;
# you can choose one of the following licenses:
license = [ "GPL"
{ url=http://www.mega-nerd.com/SRC/libsamplerate-cul.pdf;
name="libsamplerate Commercial Use License";
} ];
};
}

View file

@ -1,13 +0,0 @@
{stdenv, fetchurl, gettext, libtool, autoconf, automake}:
assert gettext != null;
stdenv.mkDerivation {
builder = ./builder-1.10.6.sh;
name = "popt-1.10.6";
src = fetchurl {
url = http://losser.st-lab.cs.uu.nl/~armijn/.nix/popt-1.10.6.tar.gz;
md5 = "130ee632bd4c677d898b0ef5efa67666";
};
buildInputs = [gettext libtool automake autoconf];
}

View file

@ -0,0 +1,8 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "pthread-stubs-0.1";
src = fetchurl {
url = http://xcb.freedesktop.org/dist/libpthread-stubs-0.1.tar.bz2;
sha256 = "0raxl73kmviqinp00bfa025d0j4vmfjjcvfn754mi60mw48swk80";
};
}

View file

@ -0,0 +1,17 @@
{ stdenv, fetchurl, unzip, cmake, libtiff, expat, zlib, libpng, libjpeg }:
stdenv.mkDerivation {
name = "vxl-1.11.0";
src = fetchurl {
url = mirror://sourceforge/vxl/vxl-1.11.0.zip;
sha256 = "84f38d0c3656b5e4470e16ddce715bafcaa478ff066e6cec6f54524b5d72fa68";
};
buildInputs = [ cmake unzip libtiff expat zlib libpng libjpeg ];
meta = {
description = "C++ Libraries for Computer Vision Research and Implementation";
homepage = http://vxl.sourceforge.net/;
license = "VXL License";
};
}

View file

@ -1,8 +0,0 @@
--- valgrind-3.3.0/callgrind/callgrind_annotate.in 2007-12-11 00:18:11.000000000 +0100
+++ valgrind-3.3.0/callgrind/callgrind_annotate.in 2008-06-03 23:12:26.000000000 +0200
@@ -1,4 +1,4 @@
-#! /usr/bin/perl -w
+#! @PERL@ -w
##--------------------------------------------------------------------##
##--- The cache simulation framework: instrumentation, recording ---##
##--- and results printing. ---##

View file

@ -1,15 +1,13 @@
{ stdenv, fetchurl, perl, gdb }:
stdenv.mkDerivation {
name = "valgrind-3.3.1";
name = "valgrind-3.4.0";
src = fetchurl {
url = http://valgrind.org/downloads/valgrind-3.3.1.tar.bz2;
sha256 = "1ymai2xr3c7132vzkngrshlcsrs1qagfd4vwccr96ixx2pcb9dwm";
url = http://valgrind.org/downloads/valgrind-3.4.0.tar.bz2;
sha256 = "0x4zbwk9ml3kbjzwh887ahw0pdxcm5h9159qg9kwm7zgn7jlmsnm";
};
patches = [ ./callgrind_annotate.patch ];
# Perl is needed for `cg_annotate'.
# GDB is needed to provide a sane default for `--db-command'.
buildInputs = [ perl gdb ];

View file

@ -1,4 +1,4 @@
{fetchurl, stdenv, replace}:
{fetchurl, stdenv, replace, ncurses}:
stdenv.mkDerivation rec {
name = "cmake-2.6.2";
@ -10,7 +10,12 @@ stdenv.mkDerivation rec {
url = "http://www.cmake.org/files/v2.6/${name}.tar.gz";
sha256 = "b3f5a9dfa97fb82cb1b7d78a62d949f93c8d4317af36674f337d27066fa6b7e9";
};
inherit ncurses;
propagatedBuildInputs = [replace];
postUnpack = "source \${setupHook}; fixCmakeFiles \${sourceRoot}";
postUnpack = "
source \${setupHook}; fixCmakeFiles \${sourceRoot};
echo 'SET (CMAKE_SYSTEM_PREFIX_PATH \"'\${ncurses}'\" CACHE FILEPATH \"Root for libs for cmake\" FORCE)' > \${sourceRoot}/cmakeInit.txt
";
configureFlags= [ " --init=cmakeInit.txt " ];
postInstall="fixCmakeFiles \$out/share";
}

View file

@ -2,9 +2,9 @@
cabal.mkDerivation (self : {
pname = "uuagc";
version = "0.9.6";
version = "0.9.7";
name = self.fname;
sha256 = "10e148bdf052e9a80e52c54a94314df9d1772e68416e5dfac289c47fd1ba8558";
sha256 = "7479ddbc8dc4b04cae278a942a50d7d76f06011aca06c56bcd26bdeba6eeb2d6";
extraBuildInputs = [uulib];
meta = {
description = "Attribute Grammar System of Universiteit Utrecht";

View file

@ -0,0 +1,37 @@
{stdenv, fetchurl, m4, perl, lzma}:
stdenv.mkDerivation rec {
name = "autoconf-2.13";
src = fetchurl {
url = "mirror://gnu/autoconf/${name}.tar.gz";
sha256 = "07krzl4czczdsgzrrw9fiqx35xcf32naf751khg821g5pqv12qgh";
};
buildInputs = [m4 perl lzma];
unpackCmd = "lzma -d < $src | tar -x ";
doCheck = true;
# Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the
# "fixed" path in generated files!
dontPatchShebangs = true;
meta = {
homepage = http://www.gnu.org/software/autoconf/;
description = "GNU Autoconf, a part of the GNU Build System";
longDescription = ''
GNU Autoconf is an extensible package of M4 macros that produce
shell scripts to automatically configure software source code
packages. These scripts can adapt the packages to many kinds of
UNIX-like systems without manual user intervention. Autoconf
creates a configuration script for a package from a template
file that lists the operating system features that the package
can use, in the form of M4 macro calls.
'';
license = "GPLv2+";
};
}

View file

@ -1,32 +1,32 @@
args:
with args.lib; with args;
let
co = chooseOptionsByFlags {
inherit args;
flagDescr = {
mandatory ={ cfgOption = [ "--disable-dependency-tracking" ];
buildInputs=["yacc" "flex"]; };
doc = { cfgOption = "--enable-doc"; buildInputs=["tetex"]; blocks=["doc" "because untested"]; }; #Enable building documents
no_parport = { cfgOption = "--disable-parport"; }; #Enable accessing parallel ports(default)
};
#defaultFlags = ["doc"];
};
args: with args;
let edf = composableDerivation.edf; in
composableDerivation.composableDerivation {
initial = {
name="avrdude-5.4";
in stdenv.mkDerivation {
# passing the flags in case a library using this want's to check them (*) ..
inherit (co) /* flags */ buildInputs configureFlags;
src = fetchurl {
url = http://mirror.switch.ch/mirror/gentoo/distfiles/avrdude-5.4.tar.gz;
sha256 = "bee4148c51ec95999d803cb9f68f12ac2e9128b06f07afe307d38966c0833b30";
src = fetchurl {
url = http://mirror.switch.ch/mirror/gentoo/distfiles/avrdude-5.4.tar.gz;
sha256 = "bee4148c51ec95999d803cb9f68f12ac2e9128b06f07afe307d38966c0833b30";
};
name="avrdude-5.4";
configureFlags = [ "--disable-dependency-tracking" ];
meta = {
license = "GPL-2";
description = "AVR Downloader/UploaDEr";
homepage = http://savannah.nongnu.org/projects/avrdude;
buildInputs = [yacc flex];
flags =
edf { name = "doc"; enable = { buildInputs = texLive; configureFlags = ["--enable-doc"]; }; }
// edf { name = "parport"; }
;
cfg = {
docSupport = false; # untested
parportSupport = true;
};
meta = {
license = "GPL-2";
description = "AVR Downloader/UploaDEr";
homepage = http://savannah.nongnu.org/projects/avrdude;
};
};
}

View file

@ -1,4 +1,4 @@
{ fetchurl, stdenv, ncurses, gmp, mpfr, texinfo }:
{ fetchurl, stdenv, ncurses, readline, gmp, mpfr, texinfo }:
stdenv.mkDerivation rec {
name = "gdb-6.8";
@ -8,9 +8,9 @@ stdenv.mkDerivation rec {
sha256 = "067qpnpgmz9jffi208q5c981xsyn8naq3rkp5ypg477lddcgvpzf";
};
buildInputs = [ ncurses gmp mpfr texinfo ];
buildInputs = [ ncurses readline gmp mpfr texinfo ];
configureFlags = "--with-gmp=${gmp} --with-mpfr=${mpfr}";
configureFlags = "--with-gmp=${gmp} --with-mpfr=${mpfr} --with-system-readline";
postInstall = ''
# Remove Info files already provided by Binutils and other packages.

View file

@ -1,9 +1,10 @@
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
name = "m4-1.4.12";
name = "gnum4-1.4.12";
src = fetchurl {
url = "mirror://gnu/m4/${name}.tar.bz2";
url = mirror://gnu/m4/m4-1.4.12.tar.bz2;
sha256 = "18qvi12843kvqkpcmrjxz1929s833q5d0jzm8hc965j663g1fll5";
};

View file

@ -1,10 +1,10 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "strace-4.5.16";
name = "strace-4.5.18";
src = fetchurl {
url = mirror://sourceforge/strace/strace-4.5.16.tar.bz2;
sha256 = "15ks9i1gv7mbyiwnzbjls2xy0pyv5x4j9a5ca2x0258fq8lxwdhp";
url = mirror://sourceforge/strace/strace-4.5.18.tar.bz2;
sha256 = "1l16vax3mn2wak288g1inmn30i49vlghnvfwr0z2rwh41r3vgrwm";
};
}

View file

@ -0,0 +1,23 @@
# This package is only used to create the documentation of zsh-cvs
# eg have a look at http://www.zsh.org/mla/users/2008/msg00715.html
# latest release is newer though
args: with args;
stdenv.mkDerivation {
name = "yodl-2.13.2";
buildInputs = [perl];
src = fetchurl {
url = "mirror://sourceforge/sourceforge/yodl/yodl_2.13.2.orig.tar.gz";
sha256 = "07zzyx8vf27y3p549qza0pqrb61hfh0gynxqb8i1cghjmxhrlxj3";
};
# maybe apply diff?
# This doesn't isntall docs yet, do you need them?
installPhase = ''
# -> $out
sed -i "s@'/usr/@'$out/@" contrib/build.pl
perl contrib/build.pl make-software
perl contrib/build.pl install-software
'';
}

View file

@ -1,11 +1,11 @@
{stdenv, fetchurl, m4}:
stdenv.mkDerivation rec {
name = "bison-2.4";
name = "bison-2.4.1";
src = fetchurl {
url = "mirror://gnu/bison/${name}.tar.bz2";
sha256 = "0c9sv03wsqnqc7wfpa51yc9yy1i3kdgsrjg7qchx0sk8zr11cvqf";
sha256 = "0swf0qbxrcqwb5dw19fd47nj8m490m8kwz5f8k33d7hlhablcm13";
};
buildInputs = [m4];

View file

@ -5,7 +5,7 @@ stdenv.mkDerivation {
builder = ./builder.sh;
dist = fetchurl {
url = http://losser.st-lab.cs.uu.nl/~eelco/dist/keen4.zip;
url = http://nixos.org/tarballs/keen4.zip;
md5 = "ffcdd9e3bce224d92797166bc3f56f1c";
};

View file

@ -6,13 +6,13 @@ stdenv.mkDerivation {
# This is needed for pak0.pk3.
demo = fetchurl {
url = http://losser.st-lab.cs.uu.nl/~eelco/dist/linuxq3ademo-1.11-6.x86.gz.sh;
url = http://nixos.org/tarballs/linuxq3ademo-1.11-6.x86.gz.sh;
md5 = "484610c1ce34272223a52ec331c99d5d";
};
# This is needed for the additional pak?.pk3 files.
update = fetchurl {
url = http://losser.st-lab.cs.uu.nl/~eelco/dist/linuxq3apoint-1.31.x86.run;
url = http://nixos.org/tarballs/linuxq3apoint-1.31.x86.run;
md5 = "2620b9eefb6d0775f766b6570870157a";
};

View file

@ -0,0 +1,34 @@
a :
let
fetchurl = a.fetchurl;
version = a.lib.getAttr ["version"] "r8373" a;
buildInputs = with a; [
gtk glib pkgconfig libX11
];
in
rec {
src = fetchurl {
url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz";
sha256 = "1mkf36rah61x0pxpmjbpgy8ccv8m38hf088mf2i5cx9paya830dc";
};
inherit buildInputs;
configureFlags = [];
makeFlags = ["prefix=$out" "gamesdir=$out/bin"];
neededDirs = ["$out/bin" "$out/share" ""];
extraDoc = ["puzzles.txt"];
/* doConfigure should be removed if not needed */
phaseNames = ["addInputs" "doExport" "doMakeInstall"];
doExport = a.noDepEntry ''
export NIX_LDFLAGS="$NIX_LDFLAGS -L${a.libX11}/lib -lX11"
'';
name = "sgt-puzzles-" + version;
meta = {
description = "Simon Tatham's portable puzzle collection";
};
}

View file

@ -0,0 +1,81 @@
{ fetchurl, stdenv, python, alsaLib, libX11, mesa, SDL }:
stdenv.mkDerivation rec {
name = "teeworlds-0.5.0";
src = fetchurl {
url = "http://www.teeworlds.com/files/${name}-src.tar.gz";
sha256 = "1akns8852j208cy3q4ki0fgbbpp0wyjm5fhnma7qs5k60321305x";
};
# Note: Teeworlds requires Python 2.x to compile. Python 3.0 will
# not work.
buildInputs = [ python alsaLib libX11 mesa SDL ];
patchPhase = ''
substituteInPlace "default.bam" \
--replace 'settings.linker.flags = ""' \
'settings.linker.flags = "-fstack-protector-all"'
'';
configurePhase = ''
# Fetch and build BAM, the home-made build system.
# FIXME: Move BAM outside of here. See http://www.teeworlds.com/trac/bam .
tar xzvf ${fetchurl {
url = "http://teeworlds.com/trac/bam/browser/releases/bam-0.2.0.tar.gz?format=raw";
sha256 = "0n077iiidw7xsyna4y92pz5dwqaywps3w0v5c88dic27vz0xsv7g";
}
}
( cd bam-* && ./make_unix.sh )
# Build Teeworlds.
./bam-*/src/bam release
'';
installPhase = ''
# Copy the graphics, sounds, etc.
ensureDir "$out/share/${name}"
cp -rv data other/icons "$out/share/${name}"
# Copy the executables (client, server, etc.).
ensureDir "$out/bin"
executables=""
for file in *
do
if [ -f "$file" ] && [ -x "$file" ]
then
executables="$file $executables"
fi
done
cp -v $executables "$out/bin"
# Make sure the programs are executed from the right directory so
# that they can access the graphics and sounds.
for program in $executables
do
mv -v "$out/bin/$program" "$out/bin/.wrapped-$program"
cat > "$out/bin/$program" <<EOF
#!/bin/sh
cd "$out/share/${name}" && exec "$out/bin/.wrapped-$program"
EOF
chmod -v +x "$out/bin/$program"
done
# Copy the documentation.
ensureDir "$out/doc/${name}"
cp -v *.txt "$out/doc/${name}"
'';
meta = {
description = "Teeworlds, a retro multiplayer shooter game";
longDescription = ''
Teeworlds is a free online multiplayer game, available for all
major operating systems. Battle with up to 12 players in a
variety of game modes, including Team Deathmatch and Capture The
Flag. You can even design your own maps!
'';
homepage = http://teeworlds.com/;
license = "BSD-style, see `license.txt'";
};
}

View file

@ -0,0 +1,48 @@
a :
let
fetchurl = a.fetchurl;
version = a.lib.getAttr ["version"] "3.3c" a;
buildInputs = with a; [
a.libX11 a.xproto a.libXpm a.libXt
];
in
rec {
src = fetchurl {
url = "http://www.cs.cornell.edu/andru/release/xsokoban-${version}.tar.gz";
sha256 = "006lp8y22b9pi81x1a9ldfgkl1fbmkdzfw0lqw5y9svmisbafbr9";
};
inherit buildInputs;
configureFlags = [];
/* doConfigure should be removed if not needed */
phaseNames = ["preConfigure" "doConfigure" "preBuild" "doMakeInstall"];
preConfigure = a.FullDepEntry (''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${a.libXpm}/include/X11"
for i in $NIX_CFLAGS_COMPILE; do echo $i; ls ''${i#-I}; done
chmod a+rw config.h
echo '#define HERE "@nixos-packaged"' >> config.h
echo '#define WWW 0' >> config.h
echo '#define OWNER "'$(whoami)'"' >> config.h
echo '#define ROOTDIR "'$out/lib/xsokoban'"' >> config.h
echo '#define ANYLEVEL 1' >> config.h
echo '#define SCOREFILE "/tmp/.xsokoban-score"' >> config.h
echo '#define LOCKFILE "/tmp/.xsokoban-score-lock"' >> config.h
sed -e 's/getpass[(][^)]*[)]/PASSWORD/' -i main.c
sed -e '/if [(]owner[)]/iowner=1;' -i main.c
'') ["minInit" "doUnpack"];
preBuild = a.FullDepEntry (''
sed -e "s@/usr/local/@$out/@" -i Makefile
sed -e "s@ /bin/@ @" -i Makefile
ensureDir $out/bin $out/share $out/man/man1 $out/lib
'') ["minInit" "doConfigure" "defEnsureDir"];
name = "xsokoban-" + version;
meta = {
description = "X sokoban";
};
}

View file

@ -0,0 +1,46 @@
{lib, pkgs} :
let inherit (lib) nv nvs; in
{
# see new python derivations for example..
# You should be able to override anything you like easily
# grep the mailinglist by title "python proposal" (dec 08)
# -> http://mail.cs.uu.nl/pipermail/nix-dev/2008-December/001571.html
# to see why this got complicated when using all its features
composableDerivation = {
# modify args before applying stdenv.mkDerivation, this should remove at least attrs removeAttrsBy
f ? lib.prepareDerivationArgs,
stdenv ? pkgs.stdenv,
# initial set of arguments to be passed to stdenv.mkDerivation passing prepareDerivationArgs by default
initial ? {},
# example func : (x: x // { x.buildInputs ++ ["foo"] }), but see mergeAttrByFunc which does this for you
merge ? (lib.mergeOrApply lib.mergeAttrByFunc)
}: lib.applyAndFun
(args: stdenv.mkDerivation (f args))
merge
(merge { inherit (lib) mergeAttrBy; } initial);
# some utility functions
# use this function to generate flag attrs for prepareDerivationArgs
# E nable D isable F eature
edf = {name, feat ? name, enable ? {}, disable ? {} , value ? ""}:
nvs name {
set = {
configureFlags = ["--enable-${feat}${if value == "" then "" else "="}${value}"];
} // enable;
unset = {
configureFlags = ["--disable-${feat}"];
} // disable;
};
# same for --with and --without-
# W ith or W ithout F eature
wwf = {name, feat ? name, enable ? {}, disable ? {}, value ? ""}:
nvs name {
set = {
configureFlags = ["--with-${feat}${if value == "" then "" else "="}${value}"];
} // enable;
unset = {
configureFlags = ["--without-${feat}"];
} // disable;
};
}

View file

@ -484,6 +484,7 @@ rec {
else if all __isList list then concatLists list
else if all __isAttrs list then mergeAttrs list
else if all (x: true == x || false == x) list then fold logicalOR false list
else if all (x: x == toString x) list then concatStrings list
else abort "${name}: Cannot merge values.";
mergeTypedOption = typeName: predicate: merge: name: list:
@ -803,253 +804,7 @@ rec {
else throw "assertion of flag ${a} of derivation ${args.name} failed"
) args2.flags );
in removeAttrs
(mergeAttrsByFuncDefaults ([args] ++ opts))
(mergeAttrsByFuncDefaults ([args] ++ opts ++ [{ passthru = cfgWithDefaults; }]))
["flags" "cfg" "mergeAttrBy" "fixed" ]; # fixed may be passed as fix argument or such
# supportFlag functions for convinience
sFlagEnable = { name, buildInputs ? [], propagatedBuildInputs ? [] } : {
set = { configureFlags = "--enable-${name}"; inherit buildInputs; inherit propagatedBuildInputs; };
unset = { configureFlags = "--disable-${name}"; };
};
# Marc 2nd proposal: (not everything has been tested in detail yet..)
# depreceated because it's too complicated. use prepareDerivationArgs instead
# usage / example
# flagConfig = {
# } // (enableDisableFeature "flagName" "configure_feature" extraAttrs;)
#
# is equal to
# flagConfig = {
# flagName = { cfgOption = "--enable-configure_feature"; } // extraAttrs;
# no_flagName = { cfgOption = "--disable-configure_feature"; };
enableDisableFeature = flagName : configure_feature : extraAttrs :
listToAttrs [ ( nv flagName ({ cfgOption = "--enable-${configure_feature}"; } // extraAttrs ) )
( nv "no_${flagName}" ({ cfgOption = "--disable-${configure_feature}"; } ) )];
# calls chooseOptionsByFlags2 with some preprocessing
# chooseOptionsByFlags2 returns an attribute set meant to be used to create new derivaitons.
# see mkDerivationByConfiguration in all-packages.nix and the examples given below.
# You can just copy paste them into all-packages.nix to test them..
chooseOptionsByFlags = { flagConfig, args, optionals ? [], defaults ? [],
collectExtraPhaseActions ? [] } :
let passedOptionals = filter ( x : hasAttr x args ) optionals; # these are in optionals and in args
# we simply merge in <optional_name> = { buildInputs = <arg.<optional_name>; pass = <arg.optional_name>; }
flagConfigWithOptionals = flagConfig // ( listToAttrs
(map ( o : nv o ( { buildInputs = o; pass = nvs o (builtins.getAttr o args); }
// getAttr [o] {} flagConfig )
)
passedOptionals ) );
in chooseOptionsByFlags2 flagConfigWithOptionals collectExtraPhaseActions args
( (getAttr ["flags"] defaults args) ++ passedOptionals);
chooseOptionsByFlags2 = flagConfig : collectExtraPhaseActions : args : flags :
let
# helper function
collectFlags = # state : flags :
fold ( flag : s : (
if (hasAttr flag s.result) then s # this state has already been visited
else if (! hasAttr flag flagConfig) then throw "unkown flag `${flag}' specified"
else let fDesc = (builtins.getAttr flag flagConfig);
implied = flatten ( getAttr ["implies"] [] fDesc );
blocked = flatten ( getAttr ["blocks"] [] fDesc );
# add this flag
s2 = s // { result = ( setAttr s.result flag (builtins.getAttr flag flagConfig) );
blockedFlagsBy = s.blockedFlagsBy
// listToAttrs (map (b: nv b flag ) blocked); };
# add implied flags
in collectFlags s2 implied
));
# chosen contains flagConfig but only having those attributes elected by flags
# (or by implies attributes of elected attributes)
options = let stateOpts = collectFlags { blockedFlagsBy = {}; result = {}; }
(flags ++ ( if (hasAttr "mandatory" flagConfig) then ["mandatory"] else [] ));
# these options have not been chosen (neither by flags nor by implies)
unsetOptions = filter ( x : (! hasAttr x stateOpts.result) && (hasAttr ("no_"+x) flagConfig))
( attrNames flagConfig );
# no add the corresponding no_ attributes as well ..
state = collectFlags stateOpts (map ( x : "no_" + x ) unsetOptions);
in # check for blockings:
assert ( all id ( map ( b: if (hasAttr b state.result)
then throw "flag ${b} is blocked by flag ${__getAttr b state.blockedFlagsBy}"
else true )
(attrNames state.blockedFlagsBy) ) );
state.result;
flatOptions = flattenAttrs options;
# helper functions :
collectAttrs = attr : catAttrs attr flatOptions;
optsConcatStrs = delimiter : attrs : concatStrings
( intersperse delimiter (flatten ( collectAttrs attrs ) ) );
ifStringGetArg = x : if (__isAttrs x) then x # ( TODO implement __isString ?)
else nvs x (__getAttr x args);
in assert ( all id ( mapRecordFlatten ( attr : r : if ( all id ( flatten (getAttr ["assertion"] [] r ) ) )
then true else throw "assertion failed flag ${attr}" )
options) );
( rec {
#foldOptions = attr: f : start: fold f start (catAttrs attr flatOptions);
# compared to flags flagsSet does also contain the implied flags.. This makes it easy to write assertions. ( assert args.
inherit options flatOptions collectAttrs optsConcatStrs;
buildInputs = map ( attr: if (! hasAttr attr args) then throw "argument ${attr} is missing!" else (builtins.getAttr attr args) )
(flatten (catAttrs "buildInputs" flatOptions));
propagatedBuildInputs = map ( attr: if (! hasAttr attr args) then throw "argument ${attr} is missing!" else (builtins.getAttr attr args) )
(flatten (catAttrs "propagatedBuildInputs" flatOptions));
configureFlags = optsConcatStrs " " "cfgOption";
#flags = listToAttrs (map ( flag: nv flag (hasAttr flag options) ) (attrNames flagConfig) );
flags_prefixed = listToAttrs (map ( flag: nv ("flag_set_"+flag) (hasAttr flag options) ) (attrNames flagConfig) );
pass = mergeAttrs ( map ifStringGetArg ( flatten (collectAttrs "pass") ) );
} # now add additional phase actions (see examples)
// listToAttrs ( map ( x : nv x (optsConcatStrs "\n" x) ) collectExtraPhaseActions ) );
}
/*
TODO: Perhaps it's better to move this documentation / these tests into some extra packages ..
# ###########################################################################
# configuration tutorial .. examples and tests..
# Copy this into all-packages.nix and try
# The following derviations will all fail..
# But they will print the passed options so that you can get to know
# how these configurations ought to work.
# TODO: There is no nice way to pass an otpion yet.
# I could imagine something like
# flags = [ "flagA" "flagB" { flagC = 4; } ];
# They are named:
# simpleYes, simpleNo,
# defaultsimpleYes, defaultsimpleNo
# optionalssimpleYes, optionalssimpleNo
# bitingsimpleYes can only be ran with -iA blockingBiteMonster
# assertionsimpleNo
# of course you can use -iA and the attribute name as well to select these examples
# dummy build input
whoGetsTheFlagFirst = gnused;
whoGetsTheFlagLast = gnumake;
# simple example demonstrating containing one flag.
# features:
# * configure options are passed automatically
# * buildInputs are collected (they are special, see the setup script)
# * they can be passed by additional name as well using pass = { inherit (args) python }
# ( or short (value not attrs) : pass = "python" )
# * an attribute named the same way as the flag is added indicating
# true/ false (flag has been set/ not set)
# * extra phase dependend commands can be added
# Its easy to add your own stuff using co.collectAttrs or co.optsConcatStrs
# ( perhaps this name will change?)
simpleFlagYesNoF = namePrefix : extraFlagAttrs : mkDerivationByConfiguration ( {
flagConfig = {
flag = { name = namePrefix + "simpleYes";
cfgOption = [ "--Yes" "--you-dont-need-a-list" ];
buildInputs = [ "whoGetsTheFlagFirst" ];
pass = { inherit gnumake; };
extraConfigureCmd = "echo Hello, it worked! ";
blocks = "bitingMonster";
};
no_flag = { name = namePrefix + "simpleNo";
cfgOption = "--no";
implies = ["bitingMonster"];
};
bitingMonster = {
extraConfigureCmd = "echo Ill bite you";
};
gnutar = { cfgOption="--with-gnutar";
# buildInputs and pass will be added automatically if gnutar is added to optionals
};
# can be used to check configure options of dependencies
# eg testFlag = { assertion = [ arg.desktop.flag_set_wmii (! arg.desktop.flag_set_gnome) (! arg.desktops.flag_set_kde ]; }
assertionFlag = { assertion = false; }; # assert is nix language keyword
};
collectExtraPhaseActions = [ "extraConfigureCmd" ];
extraAttrs = co : {
name = ( __head (co.collectAttrs "name") );
unpackPhase = "
echo my name is
echo \$name
echo
echo flag given \\(should be 1 or empty string\\) ?
echo \$flag_set_flag
echo
echo my build inputs are
echo \$buildInputs
echo
echo my configuration flags are
echo \$configureFlags
echo
echo what about gnumake? Did it pass?
echo \$gnumake
echo
echo configurePhase command is
echo $\configurePhase
echo
echo gnutar passed? \\(optional test\\)
echo \$gnutar
echo
echo dying now
echo die_Hopefully_Soon
";
configurePhase = co.extraConfigureCmd;
};
} // extraFlagAttrs );
simpleYes = simpleFlagYesNoF "" {} {
inherit whoGetsTheFlagFirst lib stdenv;
flags = ["flag"];
};
# note the "I'll bite you" because of the implies attribute
simpleNo = simpleFlagYesNoF "" {} {
inherit whoGetsTheFlagFirst lib stdenv;
flags = [];
};
# specifying defaults by adding a default attribute
yesAgainDefault = simpleFlagYesNoF "default" { defaults = [ "flag" ];} {
inherit whoGetsTheFlagFirst lib stdenv;
};
noAgainOverridingDefault = simpleFlagYesNoF "default" { defaults = [ "flag" ];} {
inherit whoGetsTheFlagFirst lib stdenv;
flags = [];
};
# requested by Michael Raskin: activate flag automatically if dependency is passed:
withGnutarOptional = simpleFlagYesNoF "optionals" { optionals = [ "gnutar" ];} {
flags = [ "flag" ]; # I only need to pass this to trigger name optionalssimpleYes
inherit whoGetsTheFlagFirst lib stdenv;
inherit gnutar;
};
withoutGnutarOptional = simpleFlagYesNoF "optionals" { optionals = [ "gnutar" ];} {
inherit whoGetsTheFlagFirst lib stdenv;
};
# blocking example, this shouldn't even start building:
blockingBiteMonster = simpleFlagYesNoF "biting" {} {
inherit whoGetsTheFlagFirst lib stdenv;
flags = [ "flag" "bitingMonster" ];
};
# assertion example this shouldn't even start building:
assertion = simpleFlagYesNoF "assertion" {} {
inherit whoGetsTheFlagFirst lib stdenv;
flags = [ "assertionFlag" ];
};
*/

View file

@ -227,4 +227,8 @@
url = "http://mawercer.de/~nix/repos/octave-03b414516dd8.tar.gz";
sha256 = "28ca0be1407954e746909241bda95c5bf0a04f611e73100c1e3967ddc249c519";
};
zsh = args: with args; fetchurl { # Sun Dec 21 12:50:24 UTC 2008
url = "http://mawercer.de/~nix/repos/zsh-2008-12-21_12-50-23.tar.gz";
sha256 = "9af16f89205759d7ade51268dbdfa02cec3db10b35dc7a56ffe8e1fde2074ae7";
};
}

View file

@ -8,11 +8,11 @@ assert stdenv.isLinux;
let lib = import ../../../lib/default.nix; in
stdenv.mkDerivation {
name = "wine-1.1.9";
name = "wine-1.1.10";
src = fetchurl {
url = mirror://sourceforge/wine/wine-1.1.9.tar.bz2;
sha256 = "1jhy7l5q1jri529n5070f4wjigbw4dr7d4jgdc10v6hxfmlp1mzy";
url = mirror://sourceforge/wine/wine-1.1.10.tar.bz2;
sha256 = "0saj7c2cmx720pdha04niz5c1jkym8zf5snjvdgxmwlizfjy2qr2";
};
buildInputs = [

View file

@ -1,34 +1,37 @@
args: with args.lib; with args;
let
name="gxemul-0.4.6";
co = chooseOptionsByFlags {
inherit args;
flagDescr = {
mandatory = { install = "ensureDir \$out/bin; cp gxemul \$out/bin;"; };
doc = { install = "ensureDir \$out/share/${name}; cp -r doc \$out/share/${name};"; implies = "man"; };
demos = { install = "ensureDir \$out/share/${name}; cp -r demos \$out/share/${name};"; };
man = { install = "cp -r ./man \$out/;";};
args: with args;
let edf = composableDerivation.edf;
name = "gxemul-0.4.6"; in
composableDerivation.composableDerivation {
initial = {
inherit name;
flags = {
doc = { installPhase = "ensureDir \$out/share/${name}; cp -r doc \$out/share/${name};"; implies = "man"; };
demos = { installPhase = "ensureDir \$out/share/${name}; cp -r demos \$out/share/${name};"; };
man = { installPhase = "cp -r ./man \$out/;";};
};
optionals = ["libX11"];
defaultFlags = [ "demos" "doc" ];
};
in stdenv.mkDerivation {
inherit name;
inherit (co) /* flags */ buildInputs configureFlags;
cfg = {
docSupport = true;
demosSupport = true;
manSupport = true;
};
src = fetchurl {
url = http://gavare.se/gxemul/src/gxemul-0.4.6.tar.gz;
sha256 = "0hf3gi6hfd2qr5090zimfiddcjgank2q6m7dfsr81wwpxfbhb2z3";
};
installPhase = "ensureDir \$out/bin; cp gxemul \$out/bin;";
configurePhase="./configure";
src = fetchurl {
url = http://gavare.se/gxemul/src/gxemul-0.4.6.tar.gz;
sha256 = "0hf3gi6hfd2qr5090zimfiddcjgank2q6m7dfsr81wwpxfbhb2z3";
};
installPhase = concatStrings ( catAttrs "install" co.flatOptions );
configurePhase="./configure";
meta = {
license = "BSD";
description = "A Machine Emulator, Mainly emulates MIPS, but supports other CPU type";
homepage = http://gavare.se/gxemul/;
meta = {
license = "BSD";
description = "A Machine Emulator, Mainly emulates MIPS, but supports other CPU type";
homepage = http://gavare.se/gxemul/;
};
mergeAttrBy = { installPhase = a : b : "${a}\n${b}"; };
};
}

View file

@ -1,57 +1,53 @@
# Perhaps we can get some ideas from here ? http://gentoo-wiki.com/HOWTO_Jack
# Perhaps we can get some ideas from here ? http://gentoo-wiki.com/HOWTO_Jack
# still much to test but it compiles now
args:
args.mkDerivationByConfiguration {
flagConfig = {
mandatory = { buildInputs = [ "pkgconfig" ];};
let inherit (args.composableDerivation) composableDerivation edf; in
composableDerivation {
initial = {
buildInputs = [ args.pkgconfig ];
flags =
# FIXME: tidy up
edf { name = "posix-shm"; } #use POSIX shm API
// edf { name = "timestamps"; } # allow clients to use the JACK timestamp API
// edf { name = "capabilities"; } #use libcap to gain realtime scheduling priviledges
// edf { name = "oldtrans"; } #remove old transport interfaces
// edf { name = "stripped-jackd"; } #strip jack before computing its md5 sum
// edf { name = "portaudio"; } #ignore PortAudio driver
// edf { name = "coreaudio"; } #ignore CoreAudio driver
// edf { name = "oss"; } #ignore OSS driver
// edf { name = "freebob"; } #ignore FreeBob driver
// edf { name = "alsa"; enable = { buildInputs=[args.alsaLib]; }; };
# FIXME: tidy up
# altivec seems to be for mac only ?
# altivec = { configureFlags = ["--enable-altivec"]; }; #enable Altivec support (default=auto)
# static[=PKGS] = { cfgOption = "--enable-static[=PKGS]"; }; #build static libraries [default=no]
# shared[=PKGS] = { cfgOption = "--enable-shared[=PKGS]"; }; #build shared libraries [default=yes]
posix_shm = { cfgOption = "--enable-posix-shm"; }; #use POSIX shm API
# altivec seems to be for mac only ?
# altivec = { cfgOption = "--enable-altivec"; }; #enable Altivec support (default=auto)
# keeping default values by now:
# optimization_by_compiler = { configureFlags = ["--enable-optimization-by-compiler"]; }; [>use compiler (NOT processor) capabilities to determine optimization flags
# optimization_by_cpu = { configureFlags = ["--enable-optimization-by-cpu"]; }; [>use processor capabilities to determine optimization flags
# keeping default values by now:
# optimization_by_compiler = { cfgOption = "--enable-optimization-by-compiler"; }; [>use compiler (NOT processor) capabilities to determine optimization flags
# optimization_by_cpu = { cfgOption = "--enable-optimization-by-cpu"; }; [>use processor capabilities to determine optimization flags
# I think the default is ok
# mmx = { cfgOption = "--enable-mmx"; }; #enable MMX support (default=auto)
#sse = { cfgOption = "--enable-sse"; }; #enable SSE support (default=auto)
#dynsimd = { cfgOption = "--enable-dynsimd"; }; #enable dynamic SIMD selection (default=no)
#optimize = { cfgOption = "--enable-optimize"; }; #ask the compiler for its best optimizations
#resize = { cfgOption = "--enable-resize"; }; #enable buffer resizing feature
#ensure_mlock = { cfgOption = "--enable-ensure-mlock"; }; #fail if unable to lock memory
#debug = { cfgOption = "--enable-debug"; }; #enable debugging messages in jackd and libjack
timestamps = { cfgOption = "--enable-timestamps"; }; # allow clients to use the JACK timestamp API
#preemption_check = { cfgOption = "--enable-preemption-check"; }; #
capabilities = { cfgOption = "--enable-capabilities"; }; #use libcap to gain realtime scheduling priviledges
no_oldtrans = { cfgOption = "--disable-oldtrans"; }; #remove old transport interfaces
stripped_jackd = { cfgOption = "--enable-stripped-jackd"; }; #strip jack before computing its md5 sum
no_portaudio = { cfgOption = "--disable-portaudio"; }; #ignore PortAudio driver
no_coreaudio = { cfgOption = "--disable-coreaudio"; }; #ignore CoreAudio driver
no_oss = { cfgOption = "--disable-oss"; }; #ignore OSS driver
no_freebob = { cfgOption = "--disable-freebob"; }; #ignore FreeBob driver
alsa = { cfgOption = "--enable-alsa"; buildInputs="alsaLib"; }; #enable ALSA driver
no_alsa = { cfgOption = "--disable-alsa"; }; #ignore ALSA driver
};
extraAttrs = co : {
name = "jack-0.103.0";
src = args.fetchurl {
url = "mirror://sourceforge/jackit/jack-audio-connection-kit-0.109.2.tar.gz";
sha256 = "1m5z8dzalqspsa63pkcgyns0cvh0kqwhb9g1ivcwvnz0bc7ag9r7";
};
meta = {
description = "jack audio connection kit";
homepage = "http://jackaudio.org";
license = "GPL";
};
# I think the default is ok
# mmx = edf { name = "mmx"; }; #enable MMX support (default=auto)
#sse = edf { name = "sse"; }; #enable SSE support (default=auto)
#dynsimd = edf { name = "dynsimd"; }; #enable dynamic SIMD selection (default=no)
#optimize = edf { name = "optimize"; }; #ask the compiler for its best optimizations
#resize = edf { name = "resize"; }; #enable buffer resizing feature
#ensure_mlock = edf { name = "ensure-mlock"; }; #fail if unable to lock memory
#debug = edf { name = "debug"; }; #enable debugging messages in jackd and libjack
#preemption_check = edf { name = "preemption-check"; }; #
cfg = {
posix_shmSupport = true;
timestampsSupport = true;
alsaSupport = true;
};
} args
name = "jack-0.103.0";
src = args.fetchurl {
url = "mirror://sourceforge/jackit/jack-audio-connection-kit-0.109.2.tar.gz";
sha256 = "1m5z8dzalqspsa63pkcgyns0cvh0kqwhb9g1ivcwvnz0bc7ag9r7";
};
meta = {
description = "jack audio connection kit";
homepage = "http://jackaudio.org";
license = "GPL";
};
};
}

View file

@ -61,13 +61,18 @@ runLaTeX
echo
if grep -q '\\citation' $rootNameBase.aux; then
echo "RUNNING BIBTEX..."
bibtex --terse $rootNameBase
cp $rootNameBase.bbl $out
runNeeded=1
echo
fi
# Run bibtex to process all bibliographies. There may be several when
# we're using the multibib package.
for auxFile in $(find . -name "*.aux"); do
if grep -q '\\citation' $auxFile; then
echo "RUNNING BIBTEX ON $auxFile..."
auxBase=$(basename $auxFile .aux)
bibtex --terse $auxBase
cp $auxBase.bbl $out
runNeeded=1
echo
fi
done
if test "$runNeeded"; then

View file

@ -0,0 +1,19 @@
{stdenv, fetchurl, kernelHeaders, glibc, libtool, gettext}:
assert stdenv.isLinux;
stdenv.mkDerivation {
name = "cpufrequtils-005";
src = fetchurl {
url = http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils-005.tar.gz;
md5 = "100a8220a546ce61ce943d4107e67db9";
};
patchPhase = ''
sed -e "s@= /usr/bin/@= @g" \
-e "s@/usr/@$out/@" \
-i Makefile
'';
buildInputs = [ kernelHeaders glibc libtool gettext ];
}

View file

@ -1,20 +1,35 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "e2fsprogs-1.40.11";
name = "e2fsprogs-1.41.3";
src = fetchurl {
url = mirror://sourceforge/e2fsprogs/e2fsprogs-1.40.11.tar.gz;
sha256 = "0yw97irzwrra09wijjn8ig5j2fkyqwxl3hqyspsm3cmk2cshrsry";
url = mirror://sourceforge/e2fsprogs/e2fsprogs-1.41.3.tar.gz;
sha256 = "0yldax5z1d1gfxpvzmr8y2z5zg5xhbi9pjjy4yw0q28dd2pfsxyf";
};
configureFlags =
if stdenv ? isDietLibC
then ""
then "--with-diet-libc"
else "--enable-elf-shlibs";
preBuild = if stdenv ? isDietLibC then ''
sed -e 's/-lpthread//' -i Makefile */Makefile */*/Makefile
'' else "";
preInstall = "installFlagsArray=('LN=ln -s')";
postInstall = "make install-libs";
NIX_CFLAGS_COMPILE =
if stdenv ? isDietLibC then
"-UHAVE_SYS_PRCTL_H " +
(if stdenv.system == "x86_64-linux" then "-DHAVE_LSEEK64_PROTOTYPE=1 -Dstat64=stat" else "")
+ " -lcompat -lpthread "
else "";
meta = {
homepage = http://e2fsprogs.sourceforge.net/;
description = "Tools for creating and checking ext2/ext3/ext4 filesystems";
};
}

View file

@ -1,11 +1,11 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "iwlwifi-3945-ucode-2.14.1.5";
name = "iwlwifi-3945-ucode-15.28.1.8";
src = fetchurl {
url = http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-3945-ucode-2.14.1.5.tgz;
sha256 = "06gy21qkd4kj6pf3nsz5z3xkgmcafzrm1krywd8lbb8i56i3jkra";
url = http://www.intellinuxwireless.org/iwlwifi/downloads/iwlwifi-3945-ucode-15.28.1.8.tgz;
sha256 = "0pwilsk8m9f5ihlp3wlam485a52lkbj2di5990bnz2m6ina9j8v2";
};
buildPhase = "true";

View file

@ -1,11 +1,11 @@
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
name = "iwlwifi-4965-ucode-4.44.17";
name = "iwlwifi-4965-ucode-228.57.1.21";
src = fetchurl {
url = "http://intellinuxwireless.org/iwlwifi/downloads/" + name + ".tgz";
sha256 = "1mfnxsp58jvh0njvwaxrkbiggbzr4jd0hk314hxfwyjpjdd2hj6w";
sha256 = "1rry0kpzszxk60h5gb94advzi009010xb332iyvfpaiwbj6aiyas";
};
buildPhase = "true";

View file

@ -1,14 +1,14 @@
args: with args;
stdenv.mkDerivation {
name = "htop-0.6.6";
src = fetchurl {
url = mirror://sourceforge/htop/htop-0.6.6.tar.gz;
sha256 = "1q2jlyxgvx7bj4z0vfvlpq1ap3ykzd9rp598fbpwjw68mwwyzqmj";
};
buildInputs = [ncurses];
{fetchurl, stdenv, ncurses}:
meta = {
description = "An interactive process viewer for Linux";
homepage = http://htop.sourceforge.net;
};
stdenv.mkDerivation rec {
name = "htop-0.8.1";
src = fetchurl {
url = "mirror://sourceforge/htop/${name}.tar.gz";
sha256 = "0a2x28ibz7bg18nnb75gdssxwys0xvzd760j1vnq5dx45wh2ibi5";
};
buildInputs = [ncurses];
meta = {
description = "An interactive process viewer for Linux";
homepage = "http://htop.sourceforge.net";
};
}

View file

@ -1,16 +1,25 @@
{fetchurl, stdenv, flex, bison, db4}:
pkgs:
pkgs.stdenv.mkDerivation {
name = "iproute-20070313";
stdenv.mkDerivation {
name = "iproute-2.6.22-070710";
src = pkgs.fetchurl {
url = http://ftp.debian.org/debian/pool/main/i/iproute/iproute_20070313.orig.tar.gz;
sha256 = "1j7cmlr7p9xcg9ys8fhjnynwrp475rbkr2j2c5jqm1xzczw60f9v";
src = fetchurl {
url = http://developer.osdl.org/dev/iproute2/download/iproute2-2.6.22-070710.tar.gz;
sha256 = "3c6b48af9e655e4f0a34c7718e288960a1dc84a3ac7eb726e855adb45fbd953a";
};
unpackPhase = ''
mkdir tmp; cd tmp
unpackFile "$src"
'';
preConfigure = "for script in $(find . -type f); do sed -e 's@#! /bin/bash@#! /bin/sh@' -i $script; done;";
patchPhase = ''
for script in $(find . -type f); do sed -e 's@#! /bin/bash@#! /bin/sh@' -i $script;
done;
sed -e s@/usr/lib@$out/lib@ -i tc/Makefile
'';
makeFlags = " SBINDIR=\\$(out)/sbin CONFDIR=\\$(out)/etc DOCDIR=\\$(out)/doc MANDIR=\\$(out)/man ";
buildInputs = [pkgs.bison pkgs.flex pkgs.db4];
buildInputs = [bison flex db4];
}

View file

@ -2,13 +2,13 @@
assert stdenv.isLinux;
let version = "2.6.26.2"; in
stdenv.mkDerivation {
name = "linux-headers-2.6.26.2";
builder = ./builder.sh;
name = "linux-headers-${version}";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v2.6/linux-2.6.26.2.tar.bz2";
url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
sha256 = "0xrkv6wk5l4qhza35a76cd00a7g9xv3ymw7znwskig2kmqswnp1m";
};
@ -23,4 +23,20 @@ stdenv.mkDerivation {
extraIncludeDirs =
if stdenv.system == "powerpc-linux" then ["ppc"] else [];
patchPhase = ''
sed -i '/scsi/d' include/Kbuild
'';
buildPhase = ''
make mrproper headers_check
'';
installPhase = ''
make INSTALL_HDR_PATH=$out headers_install
# Some builds (e.g. KVM) want a kernel.release.
ensureDir $out/include/config
echo "${version}-default" > $out/include/config/kernel.release
'';
}

View file

@ -0,0 +1,44 @@
{stdenv, fetchurl, perl}:
assert stdenv.isLinux;
let version = "2.6.28"; in
stdenv.mkDerivation {
name = "linux-headers-${version}";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
sha256 = "1023nl992s4qmnwzbfz385azzpph58azi5rw4w0wwzzybv2rf3df";
};
platform =
if stdenv.system == "i686-linux" then "i386" else
if stdenv.system == "x86_64-linux" then "x86_64" else
if stdenv.system == "powerpc-linux" then "powerpc" else
abort "don't know what the kernel include directory is called for this platform";
buildInputs = [perl];
# !!! hacky
fixupPhase = "ln -s $out/include/asm $out/include/asm-$platform";
extraIncludeDirs =
if stdenv.system == "powerpc-linux" then ["ppc"] else [];
patchPhase = ''
sed -i '/scsi/d' include/Kbuild
'';
buildPhase = ''
make mrproper headers_check
'';
installPhase = ''
make INSTALL_HDR_PATH=$out headers_install
# Some builds (e.g. KVM) want a kernel.release.
ensureDir $out/include/config
echo "${version}-default" > $out/include/config/kernel.release
'';
}

View file

@ -1,127 +0,0 @@
source $stdenv/setup
configurePhase=configurePhase
configurePhase() {
export INSTALL_PATH=$out
export INSTALL_MOD_PATH=$out
eval "$preConfigure"
# Get rid of any "localversion" files installed by patches.
if test -z "$allowLocalVersion"; then
rm -f localversion*
fi
# Set our own localversion, if specified.
if test -n "$localVersion"; then
echo "$localVersion" > localversion-nix
fi
# Create the config file.
cp $config .config
chmod u+w .config
echo --extraConfig--;
echo "${extraConfig}";
echo "$extraConfig" | while read; do
optionName=$( echo "$REPLY" | sed -e 's/[^A-Z_]//g' );
echo --optionName--;
echo "$REPLY";
echo ${optionName};
if [ -n "${optionName}" ]; then
sed -e s/.'*'${optionName}.'*'/"$REPLY/" -i .config
fi;
done;
echo "$extraConfig" >> .config
#substituteInPlace scripts/kconfig/lxdialog/check-lxdialog.sh \
# --replace /usr /no-such-path
# Necessary until NIXPKGS-38 is fixed:
echo "#! $SHELL" > scripts/kconfig/lxdialog/check-lxdialog.sh
chmod +x scripts/kconfig/lxdialog/check-lxdialog.sh
make oldconfig \
$makeFlags "${makeFlagsArray[@]}"
echo --finalConfig--
cat .config
}
installPhase=installPhase
installPhase() {
ensureDir $out
# Copy the bzImage and System.map.
cp System.map $out
if test "$arch" = um; then
ensureDir $out/bin
cp linux $out/bin
else
cp arch/$arch/boot/bzImage $out/vmlinuz
fi
# Install the modules in $out/lib/modules with matching paths
# in modules.dep (i.e., refererring to $out/lib/modules, not
# /lib/modules). The depmod_opts= is to prevent the kernel
# from passing `-b PATH' to depmod.
export MODULE_DIR=$out/lib/modules/
make modules_install \
DEPMOD=$module_init_tools/sbin/depmod depmod_opts= \
$makeFlags "${makeFlagsArray[@]}" \
$installFlags "${installFlagsArray[@]}"
# Strip the kernel modules.
echo "Stripping kernel modules..."
find $out -name "*.ko" -print0 | xargs -0 strip -S
# move this to install later on
# largely copied from early FC3 kernel spec files
version=$(cd $out/lib/modules && ls -d *)
# remove symlinks and create directories
rm -f $out/lib/modules/$version/build
rm -f $out/lib/modules/$version/source
mkdir $out/lib/modules/$version/build
# copy config
cp .config $out/lib/modules/$version/build/.config
if test "$arch" != um; then
# copy all Makefiles and Kconfig files
ln -s $out/lib/modules/$version/build $out/lib/modules/$version/source
cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` $out/lib/modules/$version/build
cp Module.symvers $out/lib/modules/$version/build
# weed out unneeded stuff
rm -rf $out/lib/modules/$version/build/Documentation
rm -rf $out/lib/modules/$version/build/scripts
rm -rf $out/lib/modules/$version/build/include
# copy architecture dependent files
cp -a arch/$arch/scripts $out/lib/modules/$version/build || true
cp -a arch/$arch/*lds $out/lib/modules/$version/build || true
cp -a "arch/$arch/Makefile*.cpu" $out/lib/modules/$version/build/arch/$arch || true
cp -a --parents arch/$arch/kernel/asm-offsets.s $out/lib/modules/$version/build/arch/$arch/kernel || true
# copy scripts
rm -f scripts/*.o
rm -f scripts/*/*.o
cp -a scripts $out/lib/modules/$version/build
# copy include files
mkdir -p $out/lib/modules/$version/build/include
cd include
cp -a acpi config linux math-emu media net pcmcia rxrpc scsi sound video asm asm-generic $out/lib/modules/$version/build/include
cp -a `readlink asm` $out/lib/modules/$version/build/include
cd ..
fi
}
genericBuild

View file

@ -122,11 +122,14 @@ installPhase() {
cp -a scripts $out/lib/modules/$version/build
# copy include files
mkdir -p $out/lib/modules/$version/build/include
cd include
cp -a acpi config linux math-emu media net pcmcia rxrpc scsi sound video asm asm-generic $out/lib/modules/$version/build/include
cp -a `readlink asm` $out/lib/modules/$version/build/include
cd ..
includeDir=$out/lib/modules/$version/build/include
mkdir -p $includeDir
(cd include && cp -a acpi config linux math-emu media net pcmcia rxrpc scsi sound video asm-generic $includeDir)
if test -e arch/$archDir/include/asm; then
cp -a arch/$archDir/include/asm $includeDir
else
cp -a include/asm-$archDir $includeDir/asm
fi
fi
}

Some files were not shown because too many files have changed in this diff Show more