removed mkDerivationByConfiguration, using composableDerivation instead

qgis, vim_configurable both work now

svn path=/nixpkgs/trunk/; revision=13661
This commit is contained in:
Marc Weber
2008-12-20 01:20:35 +00:00
parent 5ab6464edb
commit e996113be7
22 changed files with 661 additions and 1230 deletions

View File

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

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,126 @@
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"];
};
/*
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;
};
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 +128,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 +161,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

@@ -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

@@ -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

@@ -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,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,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;
};
};
}