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