replacing applyAndFun by lib.defaultOverridableDelayableArgs

applyAndFun has a bug resulting in the same arg beeing added more than
once when using a concatenating merge function for the attr set.

I've tried giving the function a name "overridableDelayableArgs" which
resembles its usage much more.

important refactoring:
  applyAndFun had .fun and .funMerge only when passing the merge
  function lib.mergeOrApply

  composableDerivation {
    initial = {
      ...
    };
  }

to

  overridableDelayableArgs has always .replace and .merge
  composableDerivation {} {
    ...
  }

svn path=/nixpkgs/trunk/; revision=14428
This commit is contained in:
Marc Weber 2009-03-06 23:21:28 +00:00
parent 51289a41b0
commit b56ed35851
15 changed files with 564 additions and 593 deletions

View File

@ -2,77 +2,74 @@
# but I have gvim with python support now :) - Marc # but I have gvim with python support now :) - Marc
args: with args; args: with args;
let inherit (args.composableDerivation) composableDerivation edf; in let inherit (args.composableDerivation) composableDerivation edf; in
composableDerivation { composableDerivation {} {
initial = {
name = "vim_configurable-7.1"; name = "vim_configurable-7.1";
src = args.fetchurl { src = args.fetchurl {
url = ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2; url = ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2;
sha256 = "11hxkb6r2550c4n13nwr0d8afvh30qjyr5c2hw16zgay43rb0kci"; sha256 = "11hxkb6r2550c4n13nwr0d8afvh30qjyr5c2hw16zgay43rb0kci";
};
configureFlags = ["--enable-gui=auto" "--with-features=${args.features}"];
buildInputs = [ncurses pkgconfig]
++ [ gtk 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"; feat = "perlinterp"; enable = { buildInputs = [perl]; };} #Include Perl interpreter.
// edf { name = "python"; feat = "pythoninterp"; enable = { buildInputs = [python]; }; } #Include Python interpreter.
// edf { name = "tcl"; enable = { buildInputs = [tcl]; }; } #Include Tcl interpreter.
// edf { name = "ruby"; feat = "rubyinterp"; enable = { buildInputs = [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 configureFlags = ["--enable-gui=auto" "--with-features=${args.features}"];
/*
// 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 = " buildInputs = [ncurses pkgconfig]
rpath=`patchelf --print-rpath \$out/bin/vim`; ++ [ gtk libX11 libXext libSM libXpm libXt libXaw libXau libXmu ];
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 = { # most interpreters aren't tested yet.. (see python for example how to do it)
description = "The most popular clone of the VI editor"; flags = {}
homepage = "www.vim.org"; // 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"; feat = "perlinterp"; enable = { buildInputs = [perl]; };} #Include Perl interpreter.
// edf { name = "python"; feat = "pythoninterp"; enable = { buildInputs = [python]; }; } #Include Python interpreter.
// edf { name = "tcl"; enable = { buildInputs = [tcl]; }; } #Include Tcl interpreter.
// edf { name = "ruby"; feat = "rubyinterp"; enable = { buildInputs = [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";
}; };
} }

View File

@ -1,61 +1,58 @@
args: with args; args: with args;
let inherit (args.composableDerivation) composableDerivation edf; in let inherit (args.composableDerivation) composableDerivation edf; in
composableDerivation { composableDerivation {} {
initial = { name = "sox-14.0.0";
name = "sox-14.0.0"; src = args.fetchurl {
url = mirror://sourceforge/sox/sox-14.0.0.tar.gz;
src = args.fetchurl { sha256 = "1l7v04nlvb96y0w9crvm6nq8g50yxp3bkv6nb1c205s982inlalc";
url = mirror://sourceforge/sox/sox-14.0.0.tar.gz;
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;
}; };
flags =
optionals = [ "libsndfile" "libogg" "flac" "ffmpeg" "libmad" "lame" # are these options of interest? We'll see
/* "amr-wb" "amr-nb" */ #--disable-fftw disable usage of FFTW
"libsamplerate" /* "ladspa" */ ]; #--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
*/
meta = { cfg = {
description = "Sample Rate Converter for audio"; ossSupport = false;
homepage = http://www.mega-nerd.com/SRC/index.html; sun_audioSupport = false;
# 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"; 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;
# 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

@ -3,43 +3,41 @@ let edf = composableDerivation.edf;
optionIncLib = name : attr : " -D${name}_INCLUDE_DIR=${__getAttr attr args}/incclude" optionIncLib = name : attr : " -D${name}_INCLUDE_DIR=${__getAttr attr args}/incclude"
+ " -D${name}_LIBRARY=${__getAttr attr args}/lib "; # lib 64? + " -D${name}_LIBRARY=${__getAttr attr args}/lib "; # lib 64?
in in
composableDerivation.composableDerivation { composableDerivation.composableDerivation {} {
initial = {
buildInputs = [ gdal cmake qt flex bison proj geos x11 sqlite gsl]; buildInputs = [ gdal cmake qt flex bison proj geos x11 sqlite gsl];
cfgOption = [ cfgOption = [
# without this option it can't find sqlite libs yet (missing symbols..) (TODO) # without this option it can't find sqlite libs yet (missing symbols..) (TODO)
"-DWITH_INTERNAL_SQLITE3=TRUE" "-DWITH_INTERNAL_SQLITE3=TRUE"
]; ];
name = "qgis-${version}"; 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";
# 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,56 +1,54 @@
args: with args; args: with args;
let edf = composableDerivation.edf; let edf = composableDerivation.edf;
wwf = composableDerivation.wwf; in wwf = composableDerivation.wwf; in
composableDerivation.composableDerivation { composableDerivation.composableDerivation {} {
initial = {
name="hugs98"; name="hugs98";
src = fetchurl {
url = http://cvs.haskell.org/Hugs/downloads/2006-09/hugs98-Sep2006.tar.gz;
sha256 = "3cf4d27673564cffe691bd14032369f646233f14daf2bc37c6c6df9f062b46b6";
};
#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";
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"; };
src = fetchurl {
url = http://cvs.haskell.org/Hugs/downloads/2006-09/hugs98-Sep2006.tar.gz;
sha256 = "3cf4d27673564cffe691bd14032369f646233f14daf2bc37c6c6df9f062b46b6";
}; };
#encode all character I/O using the byte encoding meta = {
#determined by the locale in effect at that time. To license = "as-is"; # gentoo is calling it this way..
#require that the UTF-8 encoding is always used, give description = "The HUGS98 Haskell <interpreter";
#the --enable-char-encoding=utf8 option. homepage = http://www.haskell.org/hugs;
#[default=autodetect]
postUnpack = ''
find -type f | xargs sed -i 's@/bin/cp@cp@';
'';
configurePhase="./configure --prefix=\$out --enable-char-encoding=utf8 $configureFlags";
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,38 +1,36 @@
args: with args; args: with args;
let edf = composableDerivation.edf; in let edf = composableDerivation.edf; in
composableDerivation.composableDerivation { composableDerivation.composableDerivation {} {
initial = { name = "roadsend-2.9.3";
name = "roadsend-2.9.3"; buildInputs = [bigloo curl];
buildInputs = [bigloo curl]; flags = edf { name = "pcre"; }
flags = edf { name = "pcre"; } // edf { name = "fcgi"; enable = { inherit fcgi; }; }
// edf { name = "fcgi"; enable = { inherit fcgi; }; } // edf { name = "xml"; enable = { buildInputs = [ libxml2 ]; }; }
// edf { name = "xml"; enable = { buildInputs = [ libxml2 ]; }; } // edf { name = "mysql"; enable = { buildInputs = [ mysql ]; }; }
// edf { name = "mysql"; enable = { buildInputs = [ mysql ]; }; } // edf { name = "odbc"; };
// edf { name = "odbc"; }; # // edf { name = "gtk"} }
# // edf { name = "gtk"} } # // edf { name = "gtk2", enable = { buildInputs = [ mysql ]; } }
# // edf { name = "gtk2", enable = { buildInputs = [ mysql ]; } } cfg = {
cfg = { pcreSupport = true;
pcreSupport = true; fcgiSupport = true;
fcgiSupport = true; xmlSupport = true;
xmlSupport = true; mysqlSupport = true;
mysqlSupport = true; };
}; src = args.fetchurl {
src = args.fetchurl { url = "http://code.roadsend.com/snaps/roadsend-php-20081210.tar.bz2";
url = "http://code.roadsend.com/snaps/roadsend-php-20081210.tar.bz2"; sha256 = "0yhpiik0dyayd964wvn2k0cq7b1gihx1k3qx343r2l7lla4mapsx";
sha256 = "0yhpiik0dyayd964wvn2k0cq7b1gihx1k3qx343r2l7lla4mapsx"; };
};
# http://code.roadsend.com/snaps/roadsend-php-testsuite-2.9.7.tar.bz2"; # http://code.roadsend.com/snaps/roadsend-php-testsuite-2.9.7.tar.bz2";
# sha256 = "0rf0g9r0prla7daq3aif24d7dx0j01i35hcm8h5bbg3gvpfim463"; # sha256 = "0rf0g9r0prla7daq3aif24d7dx0j01i35hcm8h5bbg3gvpfim463";
# tell pcc where to find the fastcgi library # tell pcc where to find the fastcgi library
postInstall = " sed -e \"s=(ldflags fastcgi.*=(ldflags -l fastcgi -L \$fcgi)=\" -i \$out/etc/pcc.conf "; postInstall = " sed -e \"s=(ldflags fastcgi.*=(ldflags -l fastcgi -L \$fcgi)=\" -i \$out/etc/pcc.conf ";
meta = { meta = {
description = "roadsend PHP -> C compiler"; description = "roadsend PHP -> C compiler";
homepage = http://www.roadsend.com; homepage = http://www.roadsend.com;
# you can choose one of the following licenses: # you can choose one of the following licenses:
# Runtime license is LPGL 2.1 # Runtime license is LPGL 2.1
license = ["GPL2"]; license = ["GPL2"];
};
}; };
} }

View File

@ -4,177 +4,174 @@ args: with args;
let inherit (args.composableDerivation) composableDerivation edf wwf; in let inherit (args.composableDerivation) composableDerivation edf wwf; in
composableDerivation { composableDerivation {} ( fixed : {
initial = fixed : {
name = "php_configurable-${version}"; name = "php_configurable-${version}";
buildInputs = ["flex" "bison" "pkgconfig"]; buildInputs = ["flex" "bison" "pkgconfig"];
flags = { flags = {
# much left to do here... # much left to do here...
# SAPI modules: # SAPI modules:
apxs2 = { apxs2 = {
configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"]; configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"];
buildInputs = [apacheHttpd]; 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 = { # Extensions
mysqlSupport = true;
mysqliSupport = true; curl = {
pdo_mysqlSupport = true; configureFlags = ["--with-curl=${args.curl}" "--with-curlwrappers"];
libxml2Support = true; buildInputs = [curl];
apxs2Support = true; };
bcmathSupport = true;
socketsSupport = true; zlib = {
curlSupport = true; configureFlags = ["--with-zlib=${args.zlib}"];
gettextSupport = true; buildInputs = [zlib];
postgresqlSupport = true; };
zlibSupport = true;
opnesslSupport = true; libxml2 = {
xdebugSupport = true; configureFlags = ["--with-libxml-dir=${libxml2}"];
mbstringSupport = true; buildInputs = [ libxml2 ];
gdSupport = true; };
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";
};
};
}; };
configurePhase = '' cfg = {
iniFile=$out/etc/$name.ini mysqlSupport = true;
[[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin mysqliSupport = true;
./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags pdo_mysqlSupport = true;
echo configurePhase end libxml2Support = true;
''; apxs2Support = true;
bcmathSupport = true;
installPhase = '' socketsSupport = true;
unset installPhase; installPhase; curlSupport = true;
cp php.ini-recommended $iniFile gettextSupport = true;
postgresqlSupport = true;
# Now Let's build xdebug if flag has been given zlibSupport = true;
# TODO I think there are better paths than the given below opnesslSupport = true;
if [ -n $flag_set_xdebug ]; then xdebugSupport = true;
PATH=$PATH:$out/bin mbstringSupport = true;
tar xfz $xdebug_src; gdSupport = true;
cd xdebug*
phpize
./configure --prefix=$out
make
ensureDir $out/lib; cp modules/xdebug.so $out/lib
cat >> $out/etc/php.ini << EOF
zend_extension="$out/lib/xdebug.so"
zend_extension_ts="$out/lib/xdebug.so"
zend_extension_debug="$out/lib/xdebug.so"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=0
xdebug.profiler_output_dir="/tmp/xdebug"
xdebug.remote_mode=req
max_execution_time = 300
date.timezone = UTC
EOF
fi
'';
src = args.fetchurl {
url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror";
md5 = "7380ffecebd95c6edb317ef861229ebd";
name = "php-${version}.tar.bz2";
};
meta = {
description = "The PHP language runtime engine";
homepage = http://www.php.net/;
license = "PHP-3";
};
patches = [./fix.patch];
}; };
} 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 $configureFlags
echo configurePhase end
'';
installPhase = ''
unset installPhase; installPhase;
cp php.ini-recommended $iniFile
# 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;
cd xdebug*
phpize
./configure --prefix=$out
make
ensureDir $out/lib; cp modules/xdebug.so $out/lib
cat >> $out/etc/php.ini << EOF
zend_extension="$out/lib/xdebug.so"
zend_extension_ts="$out/lib/xdebug.so"
zend_extension_debug="$out/lib/xdebug.so"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=0
xdebug.profiler_output_dir="/tmp/xdebug"
xdebug.remote_mode=req
max_execution_time = 300
date.timezone = UTC
EOF
fi
'';
src = args.fetchurl {
url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror";
md5 = "7380ffecebd95c6edb317ef861229ebd";
name = "php-${version}.tar.bz2";
};
meta = {
description = "The PHP language runtime engine";
homepage = http://www.php.net/;
license = "PHP-3";
};
patches = [./fix.patch];
})

View File

@ -129,7 +129,7 @@ in
### python libraries: ### python libraries:
wxPythonBaseFun = (t.pythonLibSetup.merge (a : wxPythonBaseFun = (t.pythonLibSetup.merge (a :
let inherit (a.fixed) wxGTK version; in let inherit (a.fixed.passthru) wxGTK; inherit (a.fixed) version; in
{ {
buildInputs = [p.pkgconfig wxGTK (wxGTK.gtk)]; buildInputs = [p.pkgconfig wxGTK (wxGTK.gtk)];
setupFlags=["WXPORT=gtk2 NO_HEADERS=1 BUILD_GLCANVAS=0 BUILD_OGL=0 UNICODE=1"]; setupFlags=["WXPORT=gtk2 NO_HEADERS=1 BUILD_GLCANVAS=0 BUILD_OGL=0 UNICODE=1"];
@ -196,7 +196,7 @@ in
# If you install dozens of python packages this might be bloat. # If you install dozens of python packages this might be bloat.
# So I think the overhead of installing these packages into the same store path should be prefered. # So I think the overhead of installing these packages into the same store path should be prefered.
pygtkBaseFun = (t.pythonLibStub.merge (a : pygtkBaseFun = (t.pythonLibStub.merge (a :
let inherit (a.fixed) glib gtk; in lib.mergeAttrsByFuncDefaults [ let inherit (a.fixed.passthru) glib gtk; in lib.mergeAttrsByFuncDefaults [
{ {
unpackPhase = "true"; unpackPhase = "true";
configurePhase = "true"; configurePhase = "true";
@ -312,7 +312,7 @@ in
pygtk212 = t.pygtkBaseFun.merge (a : { pygtk212 = t.pygtkBaseFun.merge (a : {
version = "2.12.1"; version = "2.12.1";
name = "pygobject-${a.fixed.pygobjectVersion}-and-pygtk-${a.fixed.version}"; name = "pygobject-${a.fixed.passthru.pygobjectVersion}-and-pygtk-${a.fixed.version}";
pygtkSrc = fetchurl { pygtkSrc = fetchurl {
url = http://ftp.acc.umu.se/pub/GNOME/sources/pygtk/2.12/pygtk-2.12.1.tar.bz2; url = http://ftp.acc.umu.se/pub/GNOME/sources/pygtk/2.12/pygtk-2.12.1.tar.bz2;
sha256 = "0gg13xgr7y9sppw8bdys042928nc66czn74g60333c4my95ys021"; sha256 = "0gg13xgr7y9sppw8bdys042928nc66czn74g60333c4my95ys021";

View File

@ -1,47 +1,45 @@
args: with args; args: with args;
let inherit (args.composableDerivation) composableDerivation edf; in let inherit (args.composableDerivation) composableDerivation edf; in
composableDerivation { composableDerivation {} {
initial = {
name = "fltk-2.0.x-r6483"; name = "fltk-2.0.x-r6483";
src = args.fetchurl { src = args.fetchurl {
url = ftp://ftp.easysw.com/pub/fltk/snapshots/fltk-2.0.x-r6483.tar.bz2; url = ftp://ftp.easysw.com/pub/fltk/snapshots/fltk-2.0.x-r6483.tar.bz2;
sha256 = "1n8b53r5p0zb4sbvr6pj8aasls4zjwksv1sdc3r3pzb20fikp5jb"; sha256 = "1n8b53r5p0zb4sbvr6pj8aasls4zjwksv1sdc3r3pzb20fikp5jb";
}; };
propagatedBuildInputs=[x11 inputproto libXi freeglut]; propagatedBuildInputs=[x11 inputproto libXi freeglut];
buildInputs = [ args.pkgconfig ]; buildInputs = [ args.pkgconfig ];
flags = flags =
# this could be tidied up (?).. eg why does it require freeglut without glSupport? # this could be tidied up (?).. eg why does it require freeglut without glSupport?
edf { name = "cygwin"; } # use the CygWin libraries default=no edf { name = "cygwin"; } # use the CygWin libraries default=no
// edf { name = "debug"; } # turn on debugging default=no // edf { name = "debug"; } # turn on debugging default=no
// edf { name = "gl"; enable = { buildInputs = [ mesa ]; }; } # turn on OpenGL support default=yes // edf { name = "gl"; enable = { buildInputs = [ mesa ]; }; } # turn on OpenGL support default=yes
// edf { name = "shared"; } # turn on shared libraries default=no // edf { name = "shared"; } # turn on shared libraries default=no
// edf { name = "threads"; } # enable multi-threading support // 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 = "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 = "largefile"; } # omit support for large files
// edf { name = "localjpeg"; disable = { buildInputs = [libjpeg]; }; } # use local JPEG library, default=auto // 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 = "localzlib"; disable = { buildInputs = [zlib]; }; } # use local ZLIB library, default=auto
// edf { name = "localpng"; disable = { buildInputs = [libpng]; }; } # use local PNG 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 = "xinerama"; enable = { buildInputs = [libXinerama]; }; } # turn on Xinerama support default=no
// edf { name = "xft"; enable = { buildInputs=[libXft]; }; } # turn on Xft support default=no // edf { name = "xft"; enable = { buildInputs=[libXft]; }; } # turn on Xft support default=no
// edf { name = "xdbe"; }; # turn on Xdbe support default=no // edf { name = "xdbe"; }; # turn on Xdbe support default=no
cfg = { cfg = {
largefileSupport = true; # is default largefileSupport = true; # is default
glSupport = true; # doesn't build without it. Why? glSupport = true; # doesn't build without it. Why?
localjpegSupport = false; localjpegSupport = false;
localzlibSupport = false; localzlibSupport = false;
localpngSupport = false; localpngSupport = false;
sharedSupport = true; sharedSupport = true;
threadsSupport = true; threadsSupport = true;
}; };
meta = { meta = {
description = "a C++ cross platform lightweight gui library binding"; description = "a C++ cross platform lightweight gui library binding";
homepage = http://www.fltk.org; homepage = http://www.fltk.org;
};
}; };
} }

View File

@ -1,38 +1,35 @@
args: with args; args: with args;
let inherit (args.composableDerivation) composableDerivation edf; in let inherit (args.composableDerivation) composableDerivation edf; in
composableDerivation { composableDerivation {} {
initial = { buildInputs = [ "which" ]; # which is needed for the autogen.sh
buildInputs = [ "which" ]; # which is needed for the autogen.sh flags =
# python and ruby untested
edf { name = "python"; enable = { buildInputs = [ python ]; }; };
# (if args.use_svn then ["libtool" "autoconf" "automake" "swig"] else [])
# // edf { name = "ruby"; enable = { buildInputs = [ ruby ]; };}
flags = name = "geos-3.0.3";
# python and ruby untested
edf { name = "python"; enable = { buildInputs = [ python ]; }; };
# (if args.use_svn then ["libtool" "autoconf" "automake" "swig"] else [])
# // edf { name = "ruby"; enable = { buildInputs = [ ruby ]; };}
name = "geos-3.0.3"; src = fetchurl {
url = http://download.osgeo.org/geos/geos-3.0.3.tar.bz2;
sha256 = "1pxk20jcbyidp3bvip1vdf8wfw2wvh8pcn810qkf1y3zfnki0c7k";
};
src = fetchurl { # for development version. can be removed ?
url = http://download.osgeo.org/geos/geos-3.0.3.tar.bz2; #configurePhase = "
sha256 = "1pxk20jcbyidp3bvip1vdf8wfw2wvh8pcn810qkf1y3zfnki0c7k"; # [ -f configure ] || \\
}; # LIBTOOLIZE=libtoolize ./autogen.sh
# [>{ automake --add-missing; autoconf; }
# unset configurePhase; configurePhase
#";
# for development version. can be removed ? meta = {
#configurePhase = " description = "C++ port of the Java Topology Suite (JTS)"
# [ -f configure ] || \\ + "- all the OpenGIS \"Simple Features for SQL\" spatial predicate functions and spatial operators,"
# LIBTOOLIZE=libtoolize ./autogen.sh + " as well as specific JTS topology functions such as IsValid";
# [>{ automake --add-missing; autoconf; } homepage = http://geos.refractions.net/;
# unset configurePhase; configurePhase 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";
};
}; };
} }

View File

@ -1,29 +1,28 @@
args: with args; args: with args;
let inherit (args.composableDerivation) composableDerivation edf; in let inherit (args.composableDerivation) composableDerivation edf; in
composableDerivation { 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 { 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
name = "libdv-1.0.0"; 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 { 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
src = args.fetchurl { name = "libdv-1.0.0";
url = mirror://sourceforge/libdv/libdv-1.0.0.tar.gz;
sha256 = "1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3";
};
meta = { src = args.fetchurl {
description = "software decoder for DV format video, as defined by the IEC 61834 and SMPTE 314M standards"; url = mirror://sourceforge/libdv/libdv-1.0.0.tar.gz;
homepage = http://sourceforge.net/projects/libdv/; sha256 = "1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3";
# you can choose one of the following licenses: };
license = [];
}; 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 = [];
}; };
} }

View File

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

View File

@ -12,14 +12,12 @@ let inherit (lib) nv nvs; in
# TODO add newer example using new syntax (kernel derivation proposal -> mailinglist) # TODO add newer example using new syntax (kernel derivation proposal -> mailinglist)
composableDerivation = { composableDerivation = {
mkDerivation ? pkgs.stdenv.mkDerivation, mkDerivation ? pkgs.stdenv.mkDerivation,
# initial set of arguments to be passed to stdenv.mkDerivation passing prepareDerivationArgs by default
initial ? {},
# list of functions to be applied before defaultOverridableDelayableArgs removes removeAttrs names # list of functions to be applied before defaultOverridableDelayableArgs removes removeAttrs names
# prepareDerivationArgs handles derivation configurations # prepareDerivationArgs handles derivation configurations
# applyPreTidy ? [ lib.prepareDerivationArgs ], applyPreTidy ? [ lib.prepareDerivationArgs ],
applyPreTidy ? [],
# consider adding addtional elements by derivation.merge { removeAttrs = ["elem"]; };
removeAttrs ? ["cfg" "flags"] removeAttrs ? ["cfg" "flags"]
}: (lib.defaultOverridableDelayableArgs ( a: mkDerivation a) }: (lib.defaultOverridableDelayableArgs ( a: mkDerivation a)

View File

@ -1,37 +1,35 @@
args: with args; args: with args;
let edf = composableDerivation.edf; let edf = composableDerivation.edf;
name = "gxemul-0.4.6"; in name = "gxemul-0.4.6"; in
composableDerivation.composableDerivation { composableDerivation.composableDerivation {} {
initial = { inherit name;
inherit name; flags = {
flags = { doc = { installPhase = "ensureDir \$out/share/${name}; cp -r doc \$out/share/${name};"; implies = "man"; };
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};"; };
demos = { installPhase = "ensureDir \$out/share/${name}; cp -r demos \$out/share/${name};"; }; man = { installPhase = "cp -r ./man \$out/;";};
man = { installPhase = "cp -r ./man \$out/;";};
};
cfg = {
docSupport = true;
demosSupport = true;
manSupport = true;
};
installPhase = "ensureDir \$out/bin; cp gxemul \$out/bin;";
src = fetchurl {
url = http://gavare.se/gxemul/src/gxemul-0.4.6.tar.gz;
sha256 = "0hf3gi6hfd2qr5090zimfiddcjgank2q6m7dfsr81wwpxfbhb2z3";
};
configurePhase="./configure";
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}"; };
}; };
cfg = {
docSupport = true;
demosSupport = true;
manSupport = true;
};
installPhase = "ensureDir \$out/bin; cp gxemul \$out/bin;";
src = fetchurl {
url = http://gavare.se/gxemul/src/gxemul-0.4.6.tar.gz;
sha256 = "0hf3gi6hfd2qr5090zimfiddcjgank2q6m7dfsr81wwpxfbhb2z3";
};
configurePhase="./configure";
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

@ -2,52 +2,50 @@
# still much to test but it compiles now # still much to test but it compiles now
args: args:
let inherit (args.composableDerivation) composableDerivation edf; in let inherit (args.composableDerivation) composableDerivation edf; in
composableDerivation { composableDerivation {} {
initial = { buildInputs = [ args.pkgconfig ];
buildInputs = [ args.pkgconfig ]; flags =
flags = # FIXME: tidy up
# FIXME: tidy up edf { name = "posix-shm"; } #use POSIX shm API
edf { name = "posix-shm"; } #use POSIX shm API // edf { name = "timestamps"; } # allow clients to use the JACK timestamp API
// edf { name = "timestamps"; } # allow clients to use the JACK timestamp API // edf { name = "capabilities"; } #use libcap to gain realtime scheduling priviledges
// edf { name = "capabilities"; } #use libcap to gain realtime scheduling priviledges // edf { name = "oldtrans"; } #remove old transport interfaces
// edf { name = "oldtrans"; } #remove old transport interfaces // edf { name = "stripped-jackd"; } #strip jack before computing its md5 sum
// edf { name = "stripped-jackd"; } #strip jack before computing its md5 sum // edf { name = "portaudio"; } #ignore PortAudio driver
// edf { name = "portaudio"; } #ignore PortAudio driver // edf { name = "coreaudio"; } #ignore CoreAudio driver
// edf { name = "coreaudio"; } #ignore CoreAudio driver // edf { name = "oss"; } #ignore OSS driver
// edf { name = "oss"; } #ignore OSS driver // edf { name = "freebob"; } #ignore FreeBob driver
// edf { name = "freebob"; } #ignore FreeBob driver // edf { name = "alsa"; enable = { buildInputs=[args.alsaLib]; }; };
// edf { name = "alsa"; enable = { buildInputs=[args.alsaLib]; }; };
# altivec seems to be for mac only ? # altivec seems to be for mac only ?
# altivec = { configureFlags = ["--enable-altivec"]; }; #enable Altivec support (default=auto) # altivec = { configureFlags = ["--enable-altivec"]; }; #enable Altivec support (default=auto)
# keeping default values by now: # keeping default values by now:
# optimization_by_compiler = { configureFlags = ["--enable-optimization-by-compiler"]; }; [>use compiler (NOT processor) capabilities to determine optimization flags # 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 # optimization_by_cpu = { configureFlags = ["--enable-optimization-by-cpu"]; }; [>use processor capabilities to determine optimization flags
# I think the default is ok # I think the default is ok
# mmx = edf { name = "mmx"; }; #enable MMX support (default=auto) # mmx = edf { name = "mmx"; }; #enable MMX support (default=auto)
#sse = edf { name = "sse"; }; #enable SSE support (default=auto) #sse = edf { name = "sse"; }; #enable SSE support (default=auto)
#dynsimd = edf { name = "dynsimd"; }; #enable dynamic SIMD selection (default=no) #dynsimd = edf { name = "dynsimd"; }; #enable dynamic SIMD selection (default=no)
#optimize = edf { name = "optimize"; }; #ask the compiler for its best optimizations #optimize = edf { name = "optimize"; }; #ask the compiler for its best optimizations
#resize = edf { name = "resize"; }; #enable buffer resizing feature #resize = edf { name = "resize"; }; #enable buffer resizing feature
#ensure_mlock = edf { name = "ensure-mlock"; }; #fail if unable to lock memory #ensure_mlock = edf { name = "ensure-mlock"; }; #fail if unable to lock memory
#debug = edf { name = "debug"; }; #enable debugging messages in jackd and libjack #debug = edf { name = "debug"; }; #enable debugging messages in jackd and libjack
#preemption_check = edf { name = "preemption-check"; }; # #preemption_check = edf { name = "preemption-check"; }; #
cfg = { cfg = {
posix_shmSupport = true; posix_shmSupport = true;
timestampsSupport = true; timestampsSupport = true;
alsaSupport = true; alsaSupport = true;
}; };
name = "jack-0.103.0"; name = "jack-0.103.0";
src = args.fetchurl { src = args.fetchurl {
url = "mirror://sourceforge/jackit/jack-audio-connection-kit-0.109.2.tar.gz"; url = "mirror://sourceforge/jackit/jack-audio-connection-kit-0.109.2.tar.gz";
sha256 = "1m5z8dzalqspsa63pkcgyns0cvh0kqwhb9g1ivcwvnz0bc7ag9r7"; sha256 = "1m5z8dzalqspsa63pkcgyns0cvh0kqwhb9g1ivcwvnz0bc7ag9r7";
}; };
meta = { meta = {
description = "jack audio connection kit"; description = "jack audio connection kit";
homepage = "http://jackaudio.org"; homepage = "http://jackaudio.org";
license = "GPL"; license = "GPL";
}; };
};
} }

View File

@ -8946,7 +8946,7 @@ let
}; };
# doesn't compile yet - in case someone else want's to continue .. # doesn't compile yet - in case someone else want's to continue ..
qgis = composedArgsAndFun (selectVersion ../applications/misc/qgis "0.11.0") { qgis = (selectVersion ../applications/misc/qgis "0.11.0") {
inherit composableDerivation fetchsvn stdenv flex lib inherit composableDerivation fetchsvn stdenv flex lib
ncurses fetchurl perl cmake gdal geos proj x11 ncurses fetchurl perl cmake gdal geos proj x11
gsl libpng zlib bison gsl libpng zlib bison