removed mkDerivationByConfiguration, using composableDerivation instead
qgis, vim_configurable both work now svn path=/nixpkgs/trunk/; revision=13661
This commit is contained in:
parent
5ab6464edb
commit
e996113be7
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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;
|
||||
|
45
pkgs/applications/misc/qgis/0.11.0.nix
Normal file
45
pkgs/applications/misc/qgis/0.11.0.nix
Normal 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";
|
||||
|
||||
};
|
||||
}
|
@ -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
|
@ -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";
|
||||
};
|
||||
|
||||
}
|
@ -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 = ''
|
||||
|
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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";
|
||||
} ];
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
46
pkgs/lib/composable-derivation.nix
Normal file
46
pkgs/lib/composable-derivation.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -805,251 +805,5 @@ rec {
|
||||
in removeAttrs
|
||||
(mergeAttrsByFuncDefaults ([args] ++ opts))
|
||||
["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" ];
|
||||
};
|
||||
*/
|
||||
|
@ -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}"; };
|
||||
};
|
||||
}
|
||||
|
@ -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";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -1,24 +0,0 @@
|
||||
args:
|
||||
( args.mkDerivationByConfiguration {
|
||||
flagConfig = {
|
||||
mandatory = { buildInputs = [ "perl" ]; };
|
||||
# many options I don't know wether they should be default ..
|
||||
};
|
||||
|
||||
extraAttrs = co : {
|
||||
name = "squid-3.0-stable5";
|
||||
|
||||
src = args.fetchurl {
|
||||
url = http://www.squid-cache.org/Versions/v3/HEAD/squid-3.HEAD-20080706.tar.bz2;
|
||||
sha256 = "20f5994dd2189faa07edaef2c529f385e4590266d283745027b35d140eefe1ab";
|
||||
};
|
||||
|
||||
configureFlags = ["--enable-ipv6"];
|
||||
|
||||
meta = {
|
||||
description = "http-proxy";
|
||||
homepage = "http://www.squid-cache.org";
|
||||
license = "GPL2";
|
||||
};
|
||||
};
|
||||
} ) args
|
@ -1,24 +1,19 @@
|
||||
args:
|
||||
( args.mkDerivationByConfiguration {
|
||||
flagConfig = {
|
||||
mandatory = { buildInputs = [ "perl" ]; };
|
||||
# many options I don't know wether they should be default ..
|
||||
};
|
||||
args: with args;
|
||||
stdenv.mkDerivation {
|
||||
name = "squid-3.0-stable5";
|
||||
|
||||
extraAttrs = co : {
|
||||
name = "squid-3.0-stable5";
|
||||
buildInputs = [perl];
|
||||
|
||||
src = args.fetchurl {
|
||||
url = http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE5.tar.bz2;
|
||||
sha256 = "1m4ccpjw30q9vwsycmgg9dmhly0mpznvxrch6f7dxgfzpjp26l7w";
|
||||
};
|
||||
|
||||
configureFlags = ["--enable-ipv6"];
|
||||
|
||||
meta = {
|
||||
description = "http-proxy";
|
||||
homepage = "http://www.squid-cache.org";
|
||||
license = "GPL2";
|
||||
};
|
||||
src = args.fetchurl {
|
||||
url = http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE5.tar.bz2;
|
||||
sha256 = "1m4ccpjw30q9vwsycmgg9dmhly0mpznvxrch6f7dxgfzpjp26l7w";
|
||||
};
|
||||
} ) args
|
||||
|
||||
configureFlags = ["--enable-ipv6"];
|
||||
|
||||
meta = {
|
||||
description = "http-proxy";
|
||||
homepage = "http://www.squid-cache.org";
|
||||
license = "GPL2";
|
||||
};
|
||||
}
|
||||
|
@ -251,25 +251,6 @@ let
|
||||
meta = (if drv ? meta then drv.meta else {}) // {priority = "10";};
|
||||
};
|
||||
|
||||
# documentation see examples in lib at end of file or read some use cases
|
||||
# within this file
|
||||
# Before spending much time on investigating how this works just ask me
|
||||
# - Marc Weber (#irc or marco-oweber@gmx.de)
|
||||
mkDerivationByConfiguration =
|
||||
assert builtins ? isAttrs;
|
||||
{ flagConfig ? {}, optionals ? [], defaults ? []
|
||||
, extraAttrs, collectExtraPhaseActions ? []
|
||||
}:
|
||||
args: with args.lib; with args;
|
||||
if ( builtins.isAttrs extraAttrs ) then builtins.throw "the argument extraAttrs needs to be a function beeing passed co, but attribute set passed "
|
||||
else
|
||||
let co = lib.chooseOptionsByFlags { inherit args flagConfig optionals defaults collectExtraPhaseActions; }; in
|
||||
args.stdenv.mkDerivation (
|
||||
{
|
||||
inherit (co) configureFlags buildInputs propagatedBuildInputs /*flags*/;
|
||||
} // extraAttrs co // co.pass // co.flags_prefixed );
|
||||
|
||||
|
||||
# Check absence of non-used options
|
||||
checker = x: flag: opts: config:
|
||||
(if flag then let result=(
|
||||
@ -474,20 +455,9 @@ let
|
||||
inherit pkgs;
|
||||
};
|
||||
|
||||
# see new python derivations for example..
|
||||
# You should be able to override anything you like easily
|
||||
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);
|
||||
composableDerivation = (import ../lib/composable-derivation.nix) {
|
||||
inherit pkgs lib;
|
||||
};
|
||||
|
||||
# Write the references (i.e. the runtime dependencies in the Nix store) of `path' to a file.
|
||||
writeReferencesToFile = path: runCommand "runtime-deps"
|
||||
@ -1801,9 +1771,9 @@ let
|
||||
|
||||
#TODO add packages http://cvs.haskell.org/Hugs/downloads/2006-09/packages/ and test
|
||||
# commented out because it's using the new configuration style proposal which is unstable
|
||||
#hugs = import ../development/compilers/hugs {
|
||||
#inherit lib fetchurl stdenv;
|
||||
#};
|
||||
hugs = import ../development/compilers/hugs {
|
||||
inherit lib fetchurl stdenv composableDerivation;
|
||||
};
|
||||
|
||||
j2sdk14x =
|
||||
assert system == "i686-linux";
|
||||
@ -1916,7 +1886,7 @@ let
|
||||
};
|
||||
|
||||
roadsend = import ../development/compilers/roadsend {
|
||||
inherit fetchurl stdenv flex bison mkDerivationByConfiguration bigloo lib curl;
|
||||
inherit fetchurl stdenv flex bison bigloo lib curl composableDerivation;
|
||||
# optional features
|
||||
# all features pcre, fcgi xml mysql, sqlite3, (not implemented: odbc gtk gtk2)
|
||||
flags = ["pcre" "xml" "mysql"];
|
||||
@ -2085,13 +2055,9 @@ let
|
||||
|
||||
php = import ../development/interpreters/php_configurable {
|
||||
inherit
|
||||
stdenv fetchurl lib mkDerivationByConfiguration autoconf automake
|
||||
stdenv fetchurl lib composableDerivation autoconf automake
|
||||
flex bison apacheHttpd mysql libxml2 # gettext
|
||||
zlib curl gd postgresql openssl pkgconfig;
|
||||
flags = [
|
||||
"xdebug" "mysql" "mysqli" "pdo_mysql" "libxml2" "apxs2" "curl"
|
||||
"postgresql" "bcmath" "gd" "sockets" "curl"
|
||||
];
|
||||
};
|
||||
|
||||
pltScheme = builderDefsPackage (import ../development/interpreters/plt-scheme) {
|
||||
@ -2279,10 +2245,9 @@ let
|
||||
inherit fetchurl stdenv perl autoconf;
|
||||
};
|
||||
|
||||
# commented out because it's using the new configuration style proposal which is unstable
|
||||
#avrdude = import ../development/tools/misc/avrdude {
|
||||
# inherit lib fetchurl stdenv flex yacc;
|
||||
#};
|
||||
avrdude = import ../development/tools/misc/avrdude {
|
||||
inherit lib fetchurl stdenv flex yacc composableDerivation texLive;
|
||||
};
|
||||
|
||||
binutils = useFromStdenv "binutils"
|
||||
(import ../development/tools/misc/binutils {
|
||||
@ -2873,9 +2838,9 @@ let
|
||||
};
|
||||
|
||||
fltk20 = (import ../development/libraries/fltk) {
|
||||
inherit mkDerivationByConfiguration x11 lib;
|
||||
inherit composableDerivation x11 lib pkgconfig freeglut;
|
||||
inherit fetchurl stdenv mesa mesaHeaders libpng libjpeg zlib ;
|
||||
inherit (xlibs) inputproto libXi;
|
||||
inherit (xlibs) inputproto libXi libXinerama libXft;
|
||||
flags = [ "useNixLibs" "threads" "shared" "gl" ];
|
||||
};
|
||||
|
||||
@ -2928,11 +2893,9 @@ let
|
||||
};
|
||||
|
||||
geos = import ../development/libraries/geos {
|
||||
inherit fetchurl fetchsvn stdenv mkDerivationByConfiguration autoconf automake libtool swig which lib;
|
||||
inherit fetchurl fetchsvn stdenv autoconf
|
||||
automake libtool swig which lib composableDerivation python ruby;
|
||||
use_svn = stdenv.system == "x86_64-linux";
|
||||
python = python;
|
||||
# optional features:
|
||||
# python / ruby support
|
||||
};
|
||||
|
||||
gettext = composedArgsAndFun (selectVersion ../development/libraries/gettext "0.17") {
|
||||
@ -3245,7 +3208,7 @@ let
|
||||
};
|
||||
|
||||
libdv = import ../development/libraries/libdv {
|
||||
inherit fetchurl stdenv lib mkDerivationByConfiguration;
|
||||
inherit fetchurl stdenv lib composableDerivation;
|
||||
};
|
||||
|
||||
libdrm = import ../development/libraries/libdrm {
|
||||
@ -3299,7 +3262,7 @@ let
|
||||
};
|
||||
|
||||
libsamplerate = import ../development/libraries/libsamplerate {
|
||||
inherit fetchurl stdenv mkDerivationByConfiguration pkgconfig lib;
|
||||
inherit fetchurl stdenv pkgconfig lib;
|
||||
};
|
||||
|
||||
libspectre = import ../development/libraries/libspectre {
|
||||
@ -5822,11 +5785,7 @@ let
|
||||
};
|
||||
|
||||
squid = import ../servers/squid {
|
||||
inherit fetchurl stdenv mkDerivationByConfiguration perl lib;
|
||||
};
|
||||
|
||||
squidHead = import ../servers/squid/3.head.nix {
|
||||
inherit fetchurl stdenv mkDerivationByConfiguration perl lib;
|
||||
inherit fetchurl stdenv perl lib;
|
||||
};
|
||||
|
||||
tomcat5 = import ../servers/http/tomcat {
|
||||
@ -7699,21 +7658,6 @@ let
|
||||
cddaSupport = true;
|
||||
};
|
||||
|
||||
# commented out because it's using the new configuration style proposal which is unstable
|
||||
# should be the same as the nix expression above except support for esound :)
|
||||
/*
|
||||
MPlayer_new_config = import ../applications/video/MPlayer/newconfig.nix {
|
||||
inherit fetchurl stdenv freetype x11 zlib freefont_ttf lib;
|
||||
inherit (xlibs) libX11 xextproto;
|
||||
|
||||
# optional features
|
||||
inherit alsaLib libtheora libcaca;
|
||||
inherit (gnome) esound;
|
||||
inherit (xlibs) libXv libXinerama;
|
||||
inherit (xlibs) libXrandr; # FIXME does this option exist? I couldn't find it as configure option
|
||||
};
|
||||
*/
|
||||
|
||||
MPlayerPlugin = browser:
|
||||
import ../applications/networking/browsers/mozilla-plugins/mplayerplug-in {
|
||||
inherit browser;
|
||||
@ -7722,13 +7666,10 @@ let
|
||||
# !!! should depend on MPlayer
|
||||
};
|
||||
|
||||
# commented out because it's using the new configuration style proposal which is unstable
|
||||
/*
|
||||
mrxvt = import ../applications/misc/mrxvt {
|
||||
inherit lib fetchurl stdenv;
|
||||
inherit (xlibs) libXaw xproto libXt libX11 libSM libICE;
|
||||
};
|
||||
*/
|
||||
|
||||
multisync = import ../applications/misc/multisync {
|
||||
inherit fetchurl stdenv autoconf automake libtool pkgconfig;
|
||||
@ -7928,9 +7869,9 @@ let
|
||||
};
|
||||
|
||||
sox = import ../applications/misc/audio/sox {
|
||||
inherit fetchurl stdenv lib mkDerivationByConfiguration;
|
||||
inherit fetchurl stdenv lib composableDerivation;
|
||||
# optional features
|
||||
inherit alsaLib; # libao
|
||||
inherit alsaLib libao;
|
||||
inherit libsndfile libogg flac libmad lame libsamplerate;
|
||||
# Using the default nix ffmpeg I get this error when linking
|
||||
# .libs/libsox_la-ffmpeg.o: In function `audio_decode_frame':
|
||||
@ -8096,7 +8037,7 @@ let
|
||||
};
|
||||
|
||||
vim_configurable = import ../applications/editors/vim/configurable.nix {
|
||||
inherit fetchurl stdenv ncurses pkgconfig mkDerivationByConfiguration lib;
|
||||
inherit fetchurl stdenv ncurses pkgconfig composableDerivation lib;
|
||||
inherit (xlibs) libX11 libXext libSM libXpm
|
||||
libXt libXaw libXau libXmu;
|
||||
inherit (gtkLibs) glib gtk;
|
||||
@ -8314,12 +8255,11 @@ let
|
||||
};
|
||||
|
||||
# doesn't compile yet - in case someone else want's to continue ..
|
||||
/*
|
||||
qgis_svn = import ../applications/misc/qgis_svn {
|
||||
inherit mkDerivationByConfiguration fetchsvn stdenv flex lib
|
||||
qgis = composedArgsAndFun (selectVersion ../applications/misc/qgis "0.11.0") {
|
||||
inherit composableDerivation fetchsvn stdenv flex lib
|
||||
ncurses fetchurl perl cmake gdal geos proj x11
|
||||
gsl libpng zlib bison
|
||||
sqlite glibc fontconfig freetype / * use libc from stdenv ? - to lazy now - Marc * /;
|
||||
sqlite glibc fontconfig freetype /* use libc from stdenv ? - to lazy now - Marc */;
|
||||
inherit (xlibs) libSM libXcursor libXinerama libXrandr libXrender;
|
||||
inherit (xorg) libICE;
|
||||
qt = qt4;
|
||||
@ -8327,7 +8267,6 @@ let
|
||||
# optional features
|
||||
# grass = "not yet supported" # cmake -D WITH_GRASS=TRUE and GRASS_PREFX=..
|
||||
};
|
||||
*/
|
||||
|
||||
zapping = import ../applications/video/zapping {
|
||||
inherit fetchurl stdenv pkgconfig perl python
|
||||
@ -8656,17 +8595,14 @@ let
|
||||
x11Support = true;
|
||||
}));
|
||||
|
||||
# commented out because it's using the new configuration style proposal which is unstable
|
||||
/*
|
||||
gxemul = (import ../misc/gxemul) {
|
||||
inherit lib stdenv fetchurl;
|
||||
inherit lib stdenv fetchurl composableDerivation;
|
||||
inherit (xlibs) libX11;
|
||||
};
|
||||
*/
|
||||
|
||||
# using the new configuration style proposal which is unstable
|
||||
jackaudio = import ../misc/jackaudio {
|
||||
inherit mkDerivationByConfiguration
|
||||
inherit composableDerivation
|
||||
ncurses lib stdenv fetchurl alsaLib pkgconfig;
|
||||
flags = [ "posix_shm" "timestamps" "alsa"];
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user