diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix index b958eb6b812..a528d8f7b35 100644 --- a/pkgs/applications/editors/vim/configurable.nix +++ b/pkgs/applications/editors/vim/configurable.nix @@ -2,77 +2,74 @@ # but I have gvim with python support now :) - Marc args: with args; let inherit (args.composableDerivation) composableDerivation edf; in -composableDerivation { - initial = { +composableDerivation {} { - name = "vim_configurable-7.1"; + name = "vim_configurable-7.1"; - src = args.fetchurl { - url = ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2; - sha256 = "11hxkb6r2550c4n13nwr0d8afvh30qjyr5c2hw16zgay43rb0kci"; - }; - - configureFlags = ["--enable-gui=auto" "--with-features=${args.features}"]; - - buildInputs = [ncurses pkgconfig] - ++ [ gtk libX11 libXext libSM libXpm libXt libXaw libXau libXmu ]; - - # most interpreters aren't tested yet.. (see python for example how to do it) - flags = {} - // edf { name = "darwin"; } #Disable Darwin (Mac OS X) support. - // edf { name = "xsmp"; } #Disable XSMP session management - // edf { name = "xsmp_interact"; } #Disable XSMP interaction - // edf { name = "mzscheme"; } #Include MzScheme interpreter. - // edf { name = "perl"; feat = "perlinterp"; enable = { buildInputs = [perl]; };} #Include Perl interpreter. - // edf { name = "python"; feat = "pythoninterp"; enable = { buildInputs = [python]; }; } #Include Python interpreter. - // edf { name = "tcl"; enable = { buildInputs = [tcl]; }; } #Include Tcl interpreter. - // edf { name = "ruby"; feat = "rubyinterp"; enable = { buildInputs = [ruby]; };} #Include Ruby interpreter. - // edf { name = "cscope"; } #Include cscope interface. - // edf { name = "workshop"; } #Include Sun Visual Workshop support. - // edf { name = "netbeans"; } #Disable NetBeans integration support. - // edf { name = "sniff"; } #Include Sniff interface. - // edf { name = "multibyte"; } #Include multibyte editing support. - // edf { name = "hangulinput"; } #Include Hangul input support. - # // edf { name = "xim"; enable = { buildInputs = [xim]; }; } #Include XIM input support. - // edf { name = "fontset"; } #Include X fontset output support. - // edf { name = "acl"; } #Don't check for ACL support. - // edf { name = "gpm"; } #Don't use gpm (Linux mouse daemon). - // edf { name = "nls"; } #Don't support NLS (gettext()). - ; - - cfg = { - pythonSupport = true; + src = args.fetchurl { + url = ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2; + sha256 = "11hxkb6r2550c4n13nwr0d8afvh30qjyr5c2hw16zgay43rb0kci"; }; - #--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 - */ + configureFlags = ["--enable-gui=auto" "--with-features=${args.features}"]; - 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; + buildInputs = [ncurses pkgconfig] + ++ [ gtk libX11 libXext libSM libXpm libXt libXaw libXau libXmu ]; - meta = { - description = "The most popular clone of the VI editor"; - homepage = "www.vim.org"; - }; + # most interpreters aren't tested yet.. (see python for example how to do it) + flags = {} + // edf { name = "darwin"; } #Disable Darwin (Mac OS X) support. + // edf { name = "xsmp"; } #Disable XSMP session management + // edf { name = "xsmp_interact"; } #Disable XSMP interaction + // edf { name = "mzscheme"; } #Include MzScheme interpreter. + // edf { name = "perl"; feat = "perlinterp"; enable = { buildInputs = [perl]; };} #Include Perl interpreter. + // edf { name = "python"; feat = "pythoninterp"; enable = { buildInputs = [python]; }; } #Include Python interpreter. + // edf { name = "tcl"; enable = { buildInputs = [tcl]; }; } #Include Tcl interpreter. + // edf { name = "ruby"; feat = "rubyinterp"; enable = { buildInputs = [ruby]; };} #Include Ruby interpreter. + // edf { name = "cscope"; } #Include cscope interface. + // edf { name = "workshop"; } #Include Sun Visual Workshop support. + // edf { name = "netbeans"; } #Disable NetBeans integration support. + // edf { name = "sniff"; } #Include Sniff interface. + // edf { name = "multibyte"; } #Include multibyte editing support. + // edf { name = "hangulinput"; } #Include Hangul input support. + # // edf { name = "xim"; enable = { buildInputs = [xim]; }; } #Include XIM input support. + // edf { name = "fontset"; } #Include X fontset output support. + // edf { name = "acl"; } #Don't check for ACL support. + // edf { name = "gpm"; } #Don't use gpm (Linux mouse daemon). + // edf { name = "nls"; } #Don't support NLS (gettext()). + ; + cfg = { + pythonSupport = true; + }; + + #--enable-gui=OPTS X11 GUI default=auto OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/photon/carbon + /* + // 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"; }; } diff --git a/pkgs/applications/misc/audio/sox/default.nix b/pkgs/applications/misc/audio/sox/default.nix index 1655457b404..9e72bedfb5a 100644 --- a/pkgs/applications/misc/audio/sox/default.nix +++ b/pkgs/applications/misc/audio/sox/default.nix @@ -1,61 +1,58 @@ args: with args; let inherit (args.composableDerivation) composableDerivation edf; in -composableDerivation { +composableDerivation {} { - initial = { + name = "sox-14.0.0"; - name = "sox-14.0.0"; - - src = args.fetchurl { - url = mirror://sourceforge/sox/sox-14.0.0.tar.gz; - 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; + src = args.fetchurl { + url = mirror://sourceforge/sox/sox-14.0.0.tar.gz; + sha256 = "1l7v04nlvb96y0w9crvm6nq8g50yxp3bkv6nb1c205s982inlalc"; }; - - optionals = [ "libsndfile" "libogg" "flac" "ffmpeg" "libmad" "lame" - /* "amr-wb" "amr-nb" */ - "libsamplerate" /* "ladspa" */ ]; + 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 + */ - 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"; - } ]; - }; + 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; + # 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"; + } ]; }; } diff --git a/pkgs/applications/misc/qgis/0.11.0.nix b/pkgs/applications/misc/qgis/0.11.0.nix index 127675b358d..ed8bb6063c3 100644 --- a/pkgs/applications/misc/qgis/0.11.0.nix +++ b/pkgs/applications/misc/qgis/0.11.0.nix @@ -3,43 +3,41 @@ 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 = { +composableDerivation.composableDerivation {} { - 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" - ]; + 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"; + 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"; + } diff --git a/pkgs/development/compilers/hugs/default.nix b/pkgs/development/compilers/hugs/default.nix index c910d88ccb1..4f3bbc6294b 100644 --- a/pkgs/development/compilers/hugs/default.nix +++ b/pkgs/development/compilers/hugs/default.nix @@ -1,56 +1,54 @@ args: with args; let edf = composableDerivation.edf; wwf = composableDerivation.wwf; in -composableDerivation.composableDerivation { - initial = { +composableDerivation.composableDerivation {} { - name="hugs98"; + name="hugs98"; + + src = fetchurl { + url = http://cvs.haskell.org/Hugs/downloads/2006-09/hugs98-Sep2006.tar.gz; + sha256 = "3cf4d27673564cffe691bd14032369f646233f14daf2bc37c6c6df9f062b46b6"; + }; + + #encode all character I/O using the byte encoding + #determined by the locale in effect at that time. To + #require that the UTF-8 encoding is always used, give + #the --enable-char-encoding=utf8 option. + #[default=autodetect] + postUnpack = '' + find -type f | xargs sed -i 's@/bin/cp@cp@'; + ''; + configurePhase="./configure --prefix=\$out --enable-char-encoding=utf8 $configureFlags"; + + flags = + edf { name = "pathCanonicalization"; feat="path-canonicalization"; } + // edf { name="timer"; } # enable evaluation timing (for benchmarking Hugs) + // edf { name="profiling"; }# enable heap profiler + // edf { name="stackDumps"; feat="stack-dummps"; } # enable stack dump on stack overflow + // edf { name="largeBanner"; feat="large-banner"; } # disable multiline startup banner + // edf { name="internal-prims"; } # experimental primitives to access Hugs's innards + // edf { name="debug"; } # include C debugging information (for debugging Hugs) + // edf { name="tag"; } # runtime tag checking (for debugging Hugs) + // edf { name="lint"; } # enable "lint" flags (for debugging Hugs) + // edf { name="only98"; } # build Hugs to understand Haskell 98 only + // edf { name="ffi"; } + #--with-nmake produce a Makefile compatible with nmake + #--with-gui build Hugs for Windows GUI (Borland C++ only) + // wwf { name="pthreads"; } # build Hugs using POSIX threads C library + ; + + cfg = { + largeBannerSupport = true; # seems to be default + + + char = { cfgOption = "--enable-char-encoding"; blocks = "utf8"; }; + utf8 = { cfgOption = "--enable-char-encoding=utf8"; blocks="char"; }; - src = fetchurl { - url = http://cvs.haskell.org/Hugs/downloads/2006-09/hugs98-Sep2006.tar.gz; - sha256 = "3cf4d27673564cffe691bd14032369f646233f14daf2bc37c6c6df9f062b46b6"; }; - #encode all character I/O using the byte encoding - #determined by the locale in effect at that time. To - #require that the UTF-8 encoding is always used, give - #the --enable-char-encoding=utf8 option. - #[default=autodetect] - postUnpack = '' - find -type f | xargs sed -i 's@/bin/cp@cp@'; - ''; - configurePhase="./configure --prefix=\$out --enable-char-encoding=utf8 $configureFlags"; - - flags = - edf { name = "pathCanonicalization"; feat="path-canonicalization"; } - // edf { name="timer"; } # enable evaluation timing (for benchmarking Hugs) - // edf { name="profiling"; }# enable heap profiler - // edf { name="stackDumps"; feat="stack-dummps"; } # enable stack dump on stack overflow - // edf { name="largeBanner"; feat="large-banner"; } # disable multiline startup banner - // edf { name="internal-prims"; } # experimental primitives to access Hugs's innards - // edf { name="debug"; } # include C debugging information (for debugging Hugs) - // edf { name="tag"; } # runtime tag checking (for debugging Hugs) - // edf { name="lint"; } # enable "lint" flags (for debugging Hugs) - // edf { name="only98"; } # build Hugs to understand Haskell 98 only - // edf { name="ffi"; } - #--with-nmake produce a Makefile compatible with nmake - #--with-gui build Hugs for Windows GUI (Borland C++ only) - // wwf { name="pthreads"; } # build Hugs using POSIX threads C library - ; - - cfg = { - largeBannerSupport = true; # seems to be default - - - char = { cfgOption = "--enable-char-encoding"; blocks = "utf8"; }; - utf8 = { cfgOption = "--enable-char-encoding=utf8"; blocks="char"; }; - - }; - - meta = { - license = "as-is"; # gentoo is calling it this way.. - description = "The HUGS98 Haskell > $out/etc/php.ini << EOF - zend_extension="$out/lib/xdebug.so" - zend_extension_ts="$out/lib/xdebug.so" - zend_extension_debug="$out/lib/xdebug.so" - xdebug.remote_enable=true - xdebug.remote_host=127.0.0.1 - xdebug.remote_port=9000 - xdebug.remote_handler=dbgp - xdebug.profiler_enable=0 - xdebug.profiler_output_dir="/tmp/xdebug" - xdebug.remote_mode=req - max_execution_time = 300 - date.timezone = UTC - EOF - fi - ''; - - src = args.fetchurl { - url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror"; - md5 = "7380ffecebd95c6edb317ef861229ebd"; - name = "php-${version}.tar.bz2"; - }; - - meta = { - description = "The PHP language runtime engine"; - homepage = http://www.php.net/; - license = "PHP-3"; - }; - - patches = [./fix.patch]; - + cfg = { + mysqlSupport = true; + mysqliSupport = true; + pdo_mysqlSupport = true; + libxml2Support = true; + apxs2Support = true; + bcmathSupport = true; + socketsSupport = true; + curlSupport = true; + gettextSupport = true; + postgresqlSupport = true; + zlibSupport = true; + opnesslSupport = true; + xdebugSupport = true; + mbstringSupport = true; + gdSupport = true; }; -} + configurePhase = '' + iniFile=$out/etc/$name.ini + [[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin + ./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out $configureFlags + echo configurePhase end + ''; + + installPhase = '' + unset installPhase; installPhase; + cp php.ini-recommended $iniFile + + # Now Let's build xdebug if flag has been given + # TODO I think there are better paths than the given below + if [ -n $flag_set_xdebug ]; then + PATH=$PATH:$out/bin + tar xfz $xdebug_src; + cd xdebug* + phpize + ./configure --prefix=$out + make + ensureDir $out/lib; cp modules/xdebug.so $out/lib + cat >> $out/etc/php.ini << EOF + zend_extension="$out/lib/xdebug.so" + zend_extension_ts="$out/lib/xdebug.so" + zend_extension_debug="$out/lib/xdebug.so" + xdebug.remote_enable=true + xdebug.remote_host=127.0.0.1 + xdebug.remote_port=9000 + xdebug.remote_handler=dbgp + xdebug.profiler_enable=0 + xdebug.profiler_output_dir="/tmp/xdebug" + xdebug.remote_mode=req + max_execution_time = 300 + date.timezone = UTC + EOF + fi + ''; + + src = args.fetchurl { + url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror"; + md5 = "7380ffecebd95c6edb317ef861229ebd"; + name = "php-${version}.tar.bz2"; + }; + + meta = { + description = "The PHP language runtime engine"; + homepage = http://www.php.net/; + license = "PHP-3"; + }; + + patches = [./fix.patch]; + +}) diff --git a/pkgs/development/interpreters/python-new/2.5/default.nix b/pkgs/development/interpreters/python-new/2.5/default.nix index 10943c9842d..1287c1e5946 100644 --- a/pkgs/development/interpreters/python-new/2.5/default.nix +++ b/pkgs/development/interpreters/python-new/2.5/default.nix @@ -129,7 +129,7 @@ in ### python libraries: wxPythonBaseFun = (t.pythonLibSetup.merge (a : - let inherit (a.fixed) wxGTK version; in + let inherit (a.fixed.passthru) wxGTK; inherit (a.fixed) version; in { buildInputs = [p.pkgconfig wxGTK (wxGTK.gtk)]; setupFlags=["WXPORT=gtk2 NO_HEADERS=1 BUILD_GLCANVAS=0 BUILD_OGL=0 UNICODE=1"]; @@ -196,7 +196,7 @@ in # If you install dozens of python packages this might be bloat. # So I think the overhead of installing these packages into the same store path should be prefered. pygtkBaseFun = (t.pythonLibStub.merge (a : - let inherit (a.fixed) glib gtk; in lib.mergeAttrsByFuncDefaults [ + let inherit (a.fixed.passthru) glib gtk; in lib.mergeAttrsByFuncDefaults [ { unpackPhase = "true"; configurePhase = "true"; @@ -312,7 +312,7 @@ in pygtk212 = t.pygtkBaseFun.merge (a : { version = "2.12.1"; - name = "pygobject-${a.fixed.pygobjectVersion}-and-pygtk-${a.fixed.version}"; + name = "pygobject-${a.fixed.passthru.pygobjectVersion}-and-pygtk-${a.fixed.version}"; pygtkSrc = fetchurl { url = http://ftp.acc.umu.se/pub/GNOME/sources/pygtk/2.12/pygtk-2.12.1.tar.bz2; sha256 = "0gg13xgr7y9sppw8bdys042928nc66czn74g60333c4my95ys021"; diff --git a/pkgs/development/libraries/fltk/default.nix b/pkgs/development/libraries/fltk/default.nix index 6632088ade7..d3a9f9ea3e8 100644 --- a/pkgs/development/libraries/fltk/default.nix +++ b/pkgs/development/libraries/fltk/default.nix @@ -1,47 +1,45 @@ args: with args; let inherit (args.composableDerivation) composableDerivation edf; in -composableDerivation { - initial = { +composableDerivation {} { - 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"; - }; + src = args.fetchurl { + url = ftp://ftp.easysw.com/pub/fltk/snapshots/fltk-2.0.x-r6483.tar.bz2; + sha256 = "1n8b53r5p0zb4sbvr6pj8aasls4zjwksv1sdc3r3pzb20fikp5jb"; + }; - propagatedBuildInputs=[x11 inputproto libXi freeglut]; + propagatedBuildInputs=[x11 inputproto libXi freeglut]; - buildInputs = [ args.pkgconfig ]; + 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; - }; + 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; - }; + meta = { + description = "a C++ cross platform lightweight gui library binding"; + homepage = http://www.fltk.org; }; } diff --git a/pkgs/development/libraries/geos/default.nix b/pkgs/development/libraries/geos/default.nix index 10cc4d94d40..d30f55b95c6 100644 --- a/pkgs/development/libraries/geos/default.nix +++ b/pkgs/development/libraries/geos/default.nix @@ -1,38 +1,35 @@ args: with args; let inherit (args.composableDerivation) composableDerivation edf; in -composableDerivation { +composableDerivation {} { - initial = { + buildInputs = [ "which" ]; # which is needed for the autogen.sh - buildInputs = [ "which" ]; # which is needed for the autogen.sh + flags = + # python and ruby untested + edf { name = "python"; enable = { buildInputs = [ python ]; }; }; + # (if args.use_svn then ["libtool" "autoconf" "automake" "swig"] else []) + # // edf { name = "ruby"; enable = { buildInputs = [ ruby ]; };} - flags = - # python and ruby untested - edf { name = "python"; enable = { buildInputs = [ python ]; }; }; - # (if args.use_svn then ["libtool" "autoconf" "automake" "swig"] else []) - # // edf { name = "ruby"; enable = { buildInputs = [ ruby ]; };} + name = "geos-3.0.3"; - name = "geos-3.0.3"; + src = fetchurl { + url = http://download.osgeo.org/geos/geos-3.0.3.tar.bz2; + sha256 = "1pxk20jcbyidp3bvip1vdf8wfw2wvh8pcn810qkf1y3zfnki0c7k"; + }; - src = fetchurl { - url = http://download.osgeo.org/geos/geos-3.0.3.tar.bz2; - sha256 = "1pxk20jcbyidp3bvip1vdf8wfw2wvh8pcn810qkf1y3zfnki0c7k"; - }; + # for development version. can be removed ? + #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"; }; } diff --git a/pkgs/development/libraries/libdv/default.nix b/pkgs/development/libraries/libdv/default.nix index 70211e928ee..69011a6ef97 100644 --- a/pkgs/development/libraries/libdv/default.nix +++ b/pkgs/development/libraries/libdv/default.nix @@ -1,29 +1,28 @@ 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 { 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 +composableDerivation {} { - name = "libdv-1.0.0"; + flags = { } + # TODO! implement flags + # I want to get kino and cinelerra working. That's why I don't spend more time on this now + // edf { name = "libtool_lock"; } #avoid locking (might break parallel builds) + // edf { name ="asm"; } #disable use of architecture specific assembly code + // edf { name ="sdl"; } #enable use of SDL for display + // edf { name ="gtk"; } #disable use of gtk for display + // edf { name ="xv"; } #disable use of XVideo extension for display + // edf { name ="gprof"; }; #enable compiler options for gprof profiling - src = args.fetchurl { - url = mirror://sourceforge/libdv/libdv-1.0.0.tar.gz; - sha256 = "1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3"; - }; + name = "libdv-1.0.0"; - 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 = []; - }; + src = args.fetchurl { + url = mirror://sourceforge/libdv/libdv-1.0.0.tar.gz; + sha256 = "1fl96f2xh2slkv1i1ix7kqk576a0ak1d33cylm0mbhm96d0761d3"; + }; + + 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 = []; }; } diff --git a/pkgs/development/tools/parsing/ragel/default.nix b/pkgs/development/tools/parsing/ragel/default.nix index f60d32f09ea..2dec606254b 100644 --- a/pkgs/development/tools/parsing/ragel/default.nix +++ b/pkgs/development/tools/parsing/ragel/default.nix @@ -5,40 +5,38 @@ let name = "ragel-${version}"; in -composableDerivation.composableDerivation { - initial = rec { - inherit name; - src = fetchurl { - url = "http://www.complang.org/ragel/${name}.tar.gz"; - sha256 = "018cedc8a68be85cda330fc53d0bb8a1ca6ad39b1cf790eed0311e7baa5a2520"; - }; +composableDerivation.composableDerivation {} { + inherit name; + src = fetchurl { + url = "http://www.complang.org/ragel/${name}.tar.gz"; + sha256 = "018cedc8a68be85cda330fc53d0bb8a1ca6ad39b1cf790eed0311e7baa5a2520"; + }; - flags = { - doc = { - # require fig2dev & pdflatex (see README) - buildInputs = [transfig texLive]; - # use post* because default values of buildPhase is empty. - postBuild = '' - pushd doc - make - popd - ''; - postInstall = '' - pushd doc - make install - popd - ''; - }; - }; - - cfg = { - docSupport = false; - }; - - meta = { - homepage = http://www.complang.org/ragel; - description = "State machine compiler"; - license = "GPL-2"; + flags = { + doc = { + # require fig2dev & pdflatex (see README) + buildInputs = [transfig texLive]; + # use post* because default values of buildPhase is empty. + postBuild = '' + pushd doc + make + popd + ''; + postInstall = '' + pushd doc + make install + popd + ''; }; }; + + cfg = { + docSupport = false; + }; + + meta = { + homepage = http://www.complang.org/ragel; + description = "State machine compiler"; + license = "GPL-2"; + }; } diff --git a/pkgs/lib/composable-derivation.nix b/pkgs/lib/composable-derivation.nix index cc789866e2d..03f1f48ec72 100644 --- a/pkgs/lib/composable-derivation.nix +++ b/pkgs/lib/composable-derivation.nix @@ -12,14 +12,12 @@ let inherit (lib) nv nvs; in # TODO add newer example using new syntax (kernel derivation proposal -> mailinglist) composableDerivation = { mkDerivation ? pkgs.stdenv.mkDerivation, - # initial set of arguments to be passed to stdenv.mkDerivation passing prepareDerivationArgs by default - initial ? {}, # list of functions to be applied before defaultOverridableDelayableArgs removes removeAttrs names # prepareDerivationArgs handles derivation configurations - # applyPreTidy ? [ lib.prepareDerivationArgs ], - applyPreTidy ? [], + applyPreTidy ? [ lib.prepareDerivationArgs ], + # consider adding addtional elements by derivation.merge { removeAttrs = ["elem"]; }; removeAttrs ? ["cfg" "flags"] }: (lib.defaultOverridableDelayableArgs ( a: mkDerivation a) diff --git a/pkgs/misc/gxemul/default.nix b/pkgs/misc/gxemul/default.nix index 548aad3bc27..54418c1bc1e 100644 --- a/pkgs/misc/gxemul/default.nix +++ b/pkgs/misc/gxemul/default.nix @@ -1,37 +1,35 @@ args: with args; let edf = composableDerivation.edf; name = "gxemul-0.4.6"; in -composableDerivation.composableDerivation { +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/;";}; - }; - - cfg = { - docSupport = true; - demosSupport = true; - manSupport = true; - }; - - installPhase = "ensureDir \$out/bin; cp gxemul \$out/bin;"; - - src = fetchurl { - url = http://gavare.se/gxemul/src/gxemul-0.4.6.tar.gz; - sha256 = "0hf3gi6hfd2qr5090zimfiddcjgank2q6m7dfsr81wwpxfbhb2z3"; - }; - - configurePhase="./configure"; - - meta = { - license = "BSD"; - description = "A Machine Emulator, Mainly emulates MIPS, but supports other CPU type"; - homepage = http://gavare.se/gxemul/; - }; - - mergeAttrBy = { installPhase = a : b : "${a}\n${b}"; }; + 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/;";}; }; + + cfg = { + docSupport = true; + demosSupport = true; + manSupport = true; + }; + + installPhase = "ensureDir \$out/bin; cp gxemul \$out/bin;"; + + src = fetchurl { + url = http://gavare.se/gxemul/src/gxemul-0.4.6.tar.gz; + sha256 = "0hf3gi6hfd2qr5090zimfiddcjgank2q6m7dfsr81wwpxfbhb2z3"; + }; + + configurePhase="./configure"; + + meta = { + license = "BSD"; + description = "A Machine Emulator, Mainly emulates MIPS, but supports other CPU type"; + homepage = http://gavare.se/gxemul/; + }; + + mergeAttrBy = { installPhase = a : b : "${a}\n${b}"; }; } diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix index c7c010963c5..d8ef2863b1f 100644 --- a/pkgs/misc/jackaudio/default.nix +++ b/pkgs/misc/jackaudio/default.nix @@ -2,52 +2,50 @@ # still much to test but it compiles now args: 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]; }; }; +composableDerivation {} { + 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]; }; }; - # altivec seems to be for mac only ? - # altivec = { configureFlags = ["--enable-altivec"]; }; #enable Altivec support (default=auto) + # altivec seems to be for mac only ? + # altivec = { configureFlags = ["--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 = { 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 - # 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; - }; - 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; + }; + 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"; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 91f14e1cd9f..a8025096f07 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8946,7 +8946,7 @@ let }; # doesn't compile yet - in case someone else want's to continue .. - qgis = composedArgsAndFun (selectVersion ../applications/misc/qgis "0.11.0") { + qgis = (selectVersion ../applications/misc/qgis "0.11.0") { inherit composableDerivation fetchsvn stdenv flex lib ncurses fetchurl perl cmake gdal geos proj x11 gsl libpng zlib bison