diff --git a/pkgs/applications/editors/texmacs/default.nix b/pkgs/applications/editors/texmacs/default.nix index e4270ef3f83b..5cd4d6684fc2 100644 --- a/pkgs/applications/editors/texmacs/default.nix +++ b/pkgs/applications/editors/texmacs/default.nix @@ -9,7 +9,7 @@ let pname = "TeXmacs"; - version = "1.0.7"; + version = "1.0.7.6"; extraFontsSrc = fetchurl { url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-extra-fonts-1.0-noarch.tar.gz"; sha256 = "0hylgjmd95y9yahbblmawkkw0i71vb145xxv2xqrmff81301n6k7"; @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "ftp://ftp.texmacs.org/pub/${pname}/targz/${name}-src.tar.gz"; - sha256 = "1jdynapwc4fnp4ff71whq7l2jv0v3zwq2v2w463ppxm9cbi3bm5v"; + sha256 = "0x4qy3ai9nmz1i90mbqi1n2vgwyllxwmlpllfwcz0fad7yby7msh"; }; buildInputs = [ guile libX11 libXext makeWrapper ]; diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index e40c0372ffec..7ec65f3de941 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -17,20 +17,21 @@ }: let - version = "6.5.9-1"; + version = "6.6.5-4"; in stdenv.mkDerivation rec { name = "ImageMagick-${version}"; src = fetchurl { url = "mirror://imagemagick/${name}.tar.bz2"; - sha256 = "0a4yhhfqagz28yccydngi31050101jfmq5ljln61g69yy6m47ifg"; + sha256 = "1s3l98xc1gnxi2wdg3sy9723f6qf5yk81wln8ghn2z9kvi09w7gw"; }; configureFlags = '' --with-gs-font-dir=${ghostscript}/share/ghostscript/fonts --with-gslib - ${if tetex != null then "--with-frozenpaths" else ""} + --with-frozenpaths + ${if librsvg != null then "--with-rsvg" else ""} ''; buildInputs = diff --git a/pkgs/applications/misc/eaglemode/default.nix b/pkgs/applications/misc/eaglemode/default.nix index 8f29fdc8b750..adf240414830 100644 --- a/pkgs/applications/misc/eaglemode/default.nix +++ b/pkgs/applications/misc/eaglemode/default.nix @@ -1,18 +1,26 @@ -{ stdenv, fetchurl, perl, libX11, xineLib, libjpeg, libpng, libtiff }: +{ stdenv, fetchurl, perl, libX11, xineLib, libjpeg, libpng, libtiff, pkgconfig, +librsvg, glib, gtk, libXext, libXxf86vm }: stdenv.mkDerivation { - name = "eaglemode-0.76.0"; + name = "eaglemode-0.79.0"; src = fetchurl { - url = mirror://sourceforge/eaglemode/eaglemode-0.76.0.tar.bz2; - sha256 = "152v7p9dicm8shwncpcifg4b2l4c61c1qn00469cz38vja67npww"; + url = mirror://sourceforge/eaglemode/eaglemode-0.79.0.tar.bz2; + sha256 = "115jydig35dqkrwl3x7fv564bks13nw89vfb46bb5rlr3l4a084s"; }; - buildInputs = [ perl libX11 xineLib libjpeg libpng libtiff ]; + buildInputs = [ perl libX11 xineLib libjpeg libpng libtiff pkgconfig + librsvg glib gtk libXxf86vm libXext ]; + # The program tries to dlopen both Xxf86vm and Xext, so we use the + # trick on NIX_LDFLAGS and dontPatchELF to make it find them. buildPhase = '' + export NIX_LDFLAGS="$NIX_LDFLAGS -lXxf86vm -lXext" yes n | perl make.pl build ''; + + dontPatchELF = true; + installPhase = '' perl make.pl install dir=$out # I don't like this... but it seems the way they plan to run it by now. diff --git a/pkgs/applications/misc/mysql-workbench/default.nix b/pkgs/applications/misc/mysql-workbench/default.nix index 0f3b3f2bb5fd..f3aac956c366 100644 --- a/pkgs/applications/misc/mysql-workbench/default.nix +++ b/pkgs/applications/misc/mysql-workbench/default.nix @@ -1,21 +1,22 @@ { stdenv, fetchurl, makeWrapper, autoconf, automake, boost, file, gettext , glib, glibc, gnome_keyring, gtk, gtkmm, intltool, libctemplate, libglade , libgnome, libsigcxx, libtool, libuuid, libxml2, libzip, lua, mesa, mysql -, pango, paramiko, pcre, pexpect, pkgconfig, python, sqlite +, pango, paramiko, pcre, pexpect, pkgconfig, pycrypto, python, sqlite }: stdenv.mkDerivation rec { - name = "mysql-workbench"; - version = "5.2.27"; + pname = "mysql-workbench"; + version = "5.2.28"; + name = "${pname}-${version}"; src = fetchurl { - url = "http://mirror.services.wisc.edu/mysql/Downloads/MySQLGUITools/mysql-workbench-gpl-${version}.tar.gz"; - sha256 = "01l15f9nvcpcsb56r7qb39jjlknh0dkj5iwfg1pj5bm12pbligng"; + url = "http://mirror.services.wisc.edu/mysql/Downloads/MySQLGUITools/mysql-workbench-gpl-${version}-src.tar.gz"; + sha256 = "1i7icrf3z09rijlvlg99w6m1n3xw0650840hk95ymgrb95kc3437"; }; buildInputs = [ autoconf automake boost file gettext glib glibc gnome_keyring gtk gtkmm intltool libctemplate libglade libgnome libsigcxx libtool libuuid libxml2 libzip lua makeWrapper mesa - mysql paramiko pcre pexpect pkgconfig python sqlite ]; + mysql paramiko pcre pexpect pkgconfig pycrypto python sqlite ]; preConfigure = '' substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "catchsegv" "${glibc}/bin/catchsegv" diff --git a/pkgs/applications/networking/browsers/uzbl/default.nix b/pkgs/applications/networking/browsers/uzbl/default.nix index b5093419a26b..05dfaa3e67ee 100644 --- a/pkgs/applications/networking/browsers/uzbl/default.nix +++ b/pkgs/applications/networking/browsers/uzbl/default.nix @@ -6,6 +6,7 @@ let buildInputs = with a; [ libsoup pkgconfig webkit gtk makeWrapper + kbproto ]; in rec { diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix index 2763969ddecc..108e549d01f6 100644 --- a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix +++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix @@ -1,3 +1,61 @@ +{ stdenv, fetchurl, zlib, glib, libpng, freetype, xorg, fontconfig, alsaLib }: + +let + + libDir = if stdenv.is64bit then "lib64" else "lib"; + + deps = + [ zlib glib libpng freetype xorg.libSM xorg.libICE xorg.libXrender + xorg.libXrandr xorg.libXfixes xorg.libXcursor xorg.libXinerama + fontconfig xorg.libXext xorg.libX11 alsaLib + ]; + +in + +stdenv.mkDerivation { + name = "teamspeak-client-3.0.0-beta35"; + + src = fetchurl { + url = http://ftp.4players.de/pub/hosted/ts3/releases/beta-35/TeamSpeak3-Client-linux_amd64-3.0.0-beta35.run; + sha256 = "0vygsvjs11lr5lv4x7awv7hvkycvmm9qs2vklfjs91w3f434cmrx"; + }; + + unpackPhase = + '' + yes yes | sh $src + cd TeamSpeak* + ''; + + buildPhase = + '' + ls -l + for i in ts3client_linux_*; do + echo "patching $i..." + patchelf \ + --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath ${stdenv.lib.makeLibraryPath deps}:$(cat $NIX_GCC/nix-support/orig-gcc)/${libDir} \ + --force-rpath \ + $i + done + ''; + + + installPhase = + '' + mkdir -p $out/lib/teamspeak + mv * $out/lib/teamspeak/ + ''; + + dontStrip = true; + dontPatchELF = true; + + meta = { + description = "The TeamSpeak voice communication tool"; + homepage = http://teamspeak.com/; + license = "http://www.teamspeak.com/?page=downloads&type=ts3_linux_client_latest"; + }; +} + /* License issues: Date: Mon, 10 Dec 2007 19:55:16 -0500 @@ -32,40 +90,3 @@ I'd like to ask wether you permit us to add teamspeak (server/ client?) Sincerly Marc Weber (small nix contributor) */ - -args: with args; -stdenv.mkDerivation { - name = "teamspeak-client-rc2-2032"; - - src = fetchurl { - url = ftp://213.202.254.114/teamspeak/releases/ts2_client_rc2_2032.tar.bz2; - md5 = "e93d17a25e07b1cbe400e4eb028ca8f8"; - }; - - phases="installPhase"; - - rpathInputs = [ glibc x11 ]; - - installPhase=" - set -x - i=\$out/nix-support - ensureDir \$out/{bin,nix-support} - mv setup.data/image \$i - cp \$out/{nix-support/image/TeamSpeak,bin} - echo sed - sed -i \"s=%installdir%=\$i/image=\" \$out/bin/TeamSpeak - - echo for - for p in $\rpathInputs; do - rpath=\$rpath:\$p/lib - done - echo patchelf - patchelf --set-rpath \$rpath \$i/image/TeamSpeak.bin - "; - - meta = { - description = "The TeamSpeak voice communication tool"; - homepage = http://www.goteamspeak.com; - license = "TODO"; # non commercial use see email above - }; -} diff --git a/pkgs/applications/science/electronics/caneda/default.nix b/pkgs/applications/science/electronics/caneda/default.nix new file mode 100644 index 000000000000..e1d6a886b674 --- /dev/null +++ b/pkgs/applications/science/electronics/caneda/default.nix @@ -0,0 +1,38 @@ +{stdenv, fetchgit, qt4, cmake, libxml2, libxslt}: + +let + srcComponents = fetchgit { + url = git://git.tuxfamily.org/gitroot/caneda/components.git; + rev = "9ff20b6ad1b8f639441123f195337121f3b02404"; + sha256 = "32f12e72eaadca7b8e409ee12c55fbbdbf43dfa9bc9675ac8458da6393ef3cad"; + }; + +in + +stdenv.mkDerivation rec { + name = "caneda-git-2010-10-24"; + + src = fetchgit { + url = git://git.tuxfamily.org/gitroot/caneda/caneda.git; + rev = "62fc0d8e248705ea51269dce8f291ff69924728e"; + sha256 = "8fa928b7dbd235eff3d938c5a1212ee360c6a90aab7b396eea2f5fe68aba7ab0"; + }; + + cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ]; + + buildInputs = [ cmake qt4 libxml2 libxslt ]; + + postInstall = '' + mkdir $out/share/caneda/components + cp -R ${srcComponents}/* $out/share/caneda/components + chmod u+w -R $out/share/caneda/components + ''; + + meta = { + description = "Open source EDA software focused on easy of use and portability"; + homepage = http://caneda.tuxfamily.org; + license = "GPLv2+"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/applications/science/electronics/qucs/default.nix b/pkgs/applications/science/electronics/qucs/default.nix new file mode 100644 index 000000000000..1218ad711805 --- /dev/null +++ b/pkgs/applications/science/electronics/qucs/default.nix @@ -0,0 +1,20 @@ +{stdenv, fetchurl, qt, libX11}: + +stdenv.mkDerivation rec { + name = "qucs-0.0.15"; + + src = fetchurl { + url = "mirror://sourceforge/qucs/${name}.tar.gz"; + sha256 = "0ggs2nicj8q270l0rbmzg4jc0d0zdxvfsjh4wgww670ma5855xsp"; + }; + + buildInputs = [ qt libX11 ]; + + meta = { + description = "Integrated circuit simulator"; + homepage = http://qucs.sourceforge.net; + license = "GPLv2+"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix index 40fec58b6549..419918e983ee 100644 --- a/pkgs/applications/version-management/git-and-tools/default.nix +++ b/pkgs/applications/version-management/git-and-tools/default.nix @@ -60,14 +60,14 @@ rec { }; topGit = stdenv.mkDerivation rec { - name = "topgit-0.8-19-g9404aa1"; + name = "topgit-0.8-32-g8b0f1f9"; - src = fetchgit { - url = "http://repo.or.cz/r/topgit.git"; - rev = name; - sha256 = "47e92d31303c30a22b96ce4a005f3c51f0e12c163e54f6ca589ac4e50ec74bd0"; + src = fetchurl { + url = "http://repo.or.cz/w/topgit.git/snapshot/${name}.zip"; + sha256 = "0v3binh7wc2di57w6rdnlww30ryszzsklfdmm61sl1ildyl1klk4"; }; + buildInputs = [unzip]; configurePhase = "export prefix=$out"; postInstall = '' diff --git a/pkgs/applications/version-management/monotone/default.nix b/pkgs/applications/version-management/monotone/default.nix index 091f1075084c..3d74654b3467 100644 --- a/pkgs/applications/version-management/monotone/default.nix +++ b/pkgs/applications/version-management/monotone/default.nix @@ -2,13 +2,13 @@ lua, pcre, sqlite, perl, pkgconfig}: let - version = "0.48"; + version = "0.99"; in stdenv.mkDerivation rec { name = "monotone-${version}"; inherit perl; src = fetchurl { url = "http://monotone.ca/downloads/${version}/monotone-${version}.tar.gz"; - sha256 = "3149abf0e4433a0e14c5da805a04dbbc45b16086bc267d473b17e933407d839d"; + sha256 = "fa677f09169afb71452598ce92ea376fe06037d17bfe650fb6aed17cead11453"; }; buildInputs = [boost zlib botan libidn lua pcre sqlite pkgconfig]; postInstall = '' diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix index 9478ad74c989..8f7ec37823ae 100644 --- a/pkgs/applications/version-management/subversion/default.nix +++ b/pkgs/applications/version-management/subversion/default.nix @@ -68,6 +68,8 @@ stdenv.mkDerivation rec { inherit perlBindings pythonBindings; + enableParallelBuilding = true; + meta = { description = "A version control system intended to be a compelling replacement for CVS in the open source community"; homepage = http://subversion.apache.org/; diff --git a/pkgs/applications/version-management/veracity/src-for-default.nix b/pkgs/applications/version-management/veracity/src-for-default.nix index 67fafdee7513..c10456c35c8e 100644 --- a/pkgs/applications/version-management/veracity/src-for-default.nix +++ b/pkgs/applications/version-management/veracity/src-for-default.nix @@ -1,9 +1,9 @@ rec { - version="0.5.0.10311"; - name="veracity-0.5.0.10311"; - hash="0ad30x8dbxrqz6d9jmq40rzkhx4z4mgbqb37zszh8bcf9v69kv6z"; + version="0.5.0.10318"; + name="veracity-0.5.0.10318"; + hash="1b5azcxdgabd3c93y9qdyd966xvq6gmj7b1agbk43xmpgpdby07g"; url="http://download-us.sourcegear.com/Veracity/nightly/veracity-source-${version}.tar.gz"; - advertisedUrl="http://download-us.sourcegear.com/Veracity/nightly/veracity-source-0.5.0.10311.tar.gz"; + advertisedUrl="http://download-us.sourcegear.com/Veracity/nightly/veracity-source-0.5.0.10318.tar.gz"; } diff --git a/pkgs/desktops/kde-4.5/kde-package/manifest.nix b/pkgs/desktops/kde-4.5/kde-package/manifest.nix index 7a6a8f128c47..5274035ea564 100644 --- a/pkgs/desktops/kde-4.5/kde-package/manifest.nix +++ b/pkgs/desktops/kde-4.5/kde-package/manifest.nix @@ -180,4 +180,11 @@ builtins.listToAttrs name = "oxygen-icons-4.5.2.tar.bz2"; value = "0c8hy3vsqpm6n52v6w3igj78s0qy6cb3m6fm8qh795rpw495d5yj"; } -] +{ + name = "kdepim-4.4.7.tar.bz2"; + value = "0jjv1y23hwlkwdvqf3pcs37hzcnnxz5baa4vw1wznj4v816ixj1s"; +} +{ + name = "kdepim-runtime-4.4.7.tar.bz2"; + value = "196gkz2jbphw4r9i91jaz6wd4wnyxavc1na2kpp9s9cvmiafcp7m"; +}] diff --git a/pkgs/desktops/kde-4.5/pim-runtime/default.nix b/pkgs/desktops/kde-4.5/pim-runtime/default.nix index 0bf301219232..98a04d00f1c6 100644 --- a/pkgs/desktops/kde-4.5/pim-runtime/default.nix +++ b/pkgs/desktops/kde-4.5/pim-runtime/default.nix @@ -15,7 +15,7 @@ kde.package { license = "GPL"; kde = rec { name = "kdepim-runtime"; - version = "4.4.6"; + version = "4.4.7"; subdir = "kdepim-${version}/src"; }; }; diff --git a/pkgs/desktops/kde-4.5/pim/default.nix b/pkgs/desktops/kde-4.5/pim/default.nix index a551c4c405d4..360719a8b437 100644 --- a/pkgs/desktops/kde-4.5/pim/default.nix +++ b/pkgs/desktops/kde-4.5/pim/default.nix @@ -22,7 +22,7 @@ kde.package { homepage = http://pim.kde.org; kde = rec { name = "kdepim"; - version = "4.4.6"; + version = "4.4.7"; subdir = "kdepim-${version}/src"; }; }; diff --git a/pkgs/desktops/kde-4.5/pim45/default.nix b/pkgs/desktops/kde-4.5/pim45/default.nix index 821c03fe7e14..1c390e4c8207 100644 --- a/pkgs/desktops/kde-4.5/pim45/default.nix +++ b/pkgs/desktops/kde-4.5/pim45/default.nix @@ -1,9 +1,9 @@ { kde, automoc4, cmake, kdelibs, akonadi, kdepimlibs, boost, zlib, strigi, - shared_desktop_ontologies, soprano, grantlee, libassuan, perl, libxslt }: + shared_mime_info, soprano, grantlee, libassuan, perl, libxslt }: kde.package { buildInputs = [ automoc4 cmake kdelibs akonadi kdepimlibs boost zlib strigi - shared_desktop_ontologies soprano grantlee libassuan perl libxslt ]; + shared_mime_info soprano grantlee libassuan perl libxslt ]; patches = [ ./boost-1.44.diff ]; diff --git a/pkgs/desktops/kde-4.5/support/strigi/default.nix b/pkgs/desktops/kde-4.5/support/strigi/default.nix index 10847482df3d..7a4cb3b664cb 100644 --- a/pkgs/desktops/kde-4.5/support/strigi/default.nix +++ b/pkgs/desktops/kde-4.5/support/strigi/default.nix @@ -3,11 +3,12 @@ }: stdenv.mkDerivation rec { - name = "strigi-0.7.1"; - + name = "strigi-${version}"; + version = "0.7.2"; + src = fetchurl { url = "http://www.vandenoever.info/software/strigi/${name}.tar.bz2"; - sha256 = "1cra4jlpd7cdvckwalfjrf2224qvhbkmxdd3sn02q9jhv830b0yi"; + sha256 = "1f1ac27cjm5m4iwsgvd7nylr0md0a95przkbpsdq7l90wjxj390w"; }; includeAllQtDirs=true; diff --git a/pkgs/development/compilers/eql/default.nix b/pkgs/development/compilers/eql/default.nix index ba779c07254d..c4ed06a00eaf 100644 --- a/pkgs/development/compilers/eql/default.nix +++ b/pkgs/development/compilers/eql/default.nix @@ -1,5 +1,6 @@ x@{builderDefsPackage - , fetchgit, qt4, ecl + , fetchgit, qt4, ecl, xorgserver + , xkbcomp, xkeyboard_config , ...}: builderDefsPackage (a : @@ -11,9 +12,9 @@ let (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { method = "fetchgit"; - rev = "7bd32f49c9965d8f7dc262a0f265b153b0a81ced"; + rev = "14f62c94f952104d27d920ea662c8a61b370abe8"; url = "git://gitorious.org/eql/eql"; - hash = "f5f34b1a76f65b707446cd9bee4d7cef3b6f9b5b5d8d16fcccb70dbf855c2adf"; + hash = "1ca31f0ad8cbc45d2fdf7b1e4059b1e612523c043f4688d7147c7e16fa5ba9ca"; version = rev; name = "eql-git-${version}"; }; @@ -29,7 +30,7 @@ rec { inherit (sourceInfo) name version; inherit buildInputs; - phaseNames = ["setVars" "fixPaths" "buildEQLLib" "doQMake" "doMake" "buildLibEQL" "doDeploy"]; + phaseNames = ["setVars" "fixPaths" "firstMetaTypeId" "buildEQLLib" "doQMake" "doMake" "doDeploy"]; setVars = a.fullDepEntry ('' export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC" @@ -39,20 +40,26 @@ rec { sed -re 's@[(]in-home "gui/.command-history"[)]@(concatenate '"'"'string (ext:getenv "HOME") "/.eql-gui-command-history")@' -i gui/gui.lisp '') ["minInit" "doUnpack"]; - buildEQLLib = a.fullDepEntry ('' - cd src - ecl -shell make-eql-lib.lisp + firstMetaTypeId = a.fullDepEntry ('' + cd src + qmake first_metatype_id.pro + make + TMP=. + TMPDIR=. + XKB_BINDIR="${xkbcomp}/bin" Xvfb -once -reset -terminate :2 -xkbdir ${xkeyboard_config}/etc/X11/xkb & + DISPLAY=:2 ./first_metatype_id '') ["doUnpack" "addInputs"]; + buildEQLLib = a.fullDepEntry ('' + ecl -shell make-eql-lib.lisp + qmake eql_lib.pro + make + '') ["doUnpack" "addInputs" "firstMetaTypeId"]; + doQMake = a.fullDepEntry ('' - qmake - '') ["addInputs"]; - - buildLibEQL = a.fullDepEntry ('' - sed -i eql.pro -e 's@#CONFIG += eql_dll@CONFIG += eql_dll@' - qmake + qmake eql_exe.pro make - '') ["doUnpack" "addInputs"]; + '') ["addInputs" "firstMetaTypeId" "buildEQLLib"]; doDeploy = a.fullDepEntry ('' cd .. @@ -61,7 +68,7 @@ rec { ln -s $out/lib/eql/build-dir/eql $out/bin ln -s $out/lib/eql/build-dir/src/*.h $out/include ln -s $out/lib/eql/build-dir/src/gen/*.h $out/include/gen - mv $out/lib/eql/build-dir/my_app/libeql*.so* $out/lib + ln -s $out/lib/eql/build-dir/libeql*.so* $out/lib '') ["minInit" "defEnsureDir"]; meta = { diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix index 449e5ccdb477..4a9b6acc1545 100644 --- a/pkgs/development/compilers/urweb/default.nix +++ b/pkgs/development/compilers/urweb/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, file, libmhash, mlton, mysql, postgresql, sqlite }: stdenv.mkDerivation rec { - name = "urweb"; + pname = "urweb"; version = "20100603"; - pname = "${name}-${version}"; + name = "${pname}-${version}"; src = fetchurl { - url = "http://www.impredicative.com/ur/${pname}.tgz"; + url = "http://www.impredicative.com/ur/${name}.tgz"; sha256 = "1f2l09g3586w0fyd7i7wkfnqlqwrk7c1q9pngmd8jz69g5ysl808"; }; diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 422d6ceba871..3f3efa782753 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -8,7 +8,7 @@ in composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in { - version = "5.2.13"; + version = "5.3.3"; name = "php_configurable-${version}"; @@ -153,7 +153,7 @@ composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in { src = args.fetchurl { url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror"; - sha256 = "1nzaqwsxah7hc59931dk81n2fxyqaaa3yqyisj6akf9vbr9s4l1b"; + sha256 = "16iz1cprpjw60nf6n5z6isdziyzj56i3r8161si58j65yd86g1zj"; name = "php-${version}.tar.bz2"; }; diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix index f9b6c5ab2410..6642ef501cf4 100644 --- a/pkgs/development/interpreters/racket/default.nix +++ b/pkgs/development/interpreters/racket/default.nix @@ -3,12 +3,12 @@ , libXt, libXmu, mesa, pkgconfig, which } : stdenv.mkDerivation rec { - name = "racket"; + pname = "racket"; version = "5.0.1"; - pname = "${name}-${version}"; + name = "${pname}-${version}"; src = fetchurl { - url = "http://download.racket-lang.org/installers/${version}/${name}/${pname}-src-unix.tgz"; + url = "http://download.racket-lang.org/installers/${version}/${pname}/${name}-src-unix.tgz"; sha256 = "18bzzzbxvr888lnpwggismq5grysrwlyg2dp026hhv5n2mk5sfvn"; }; diff --git a/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix b/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix index eb384b87fe24..ecaed5077121 100644 --- a/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix +++ b/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, readline }: +{ stdenv, fetchurl, readline, nspr }: stdenv.mkDerivation rec { version = "1.8.0-rc1"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "374398699ac3fd802d98d642486cf6b0edc082a119c9c9c499945a0bc73e3413"; }; - buildInputs = [ readline ]; + buildInputs = [ readline nspr ]; postUnpack = "sourceRoot=\${sourceRoot}/src"; @@ -22,5 +22,9 @@ stdenv.mkDerivation rec { sed -e 's/ -ltermcap/ -lncurses/' -i ${makefile} ''; - makeFlags = "-f ${makefile} JS_DIST=\${out} BUILD_OPT=1 JS_READLINE=1"; + preConfigure = '' + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr" + ''; + + makeFlags = "-f ${makefile} JS_DIST=\${out} BUILD_OPT=1 JS_READLINE=1 JS_THREADSAFE=1"; } diff --git a/pkgs/development/libraries/libfixposix/default.nix b/pkgs/development/libraries/libfixposix/default.nix new file mode 100644 index 000000000000..19c2d2a6b800 --- /dev/null +++ b/pkgs/development/libraries/libfixposix/default.nix @@ -0,0 +1,57 @@ +x@{builderDefsPackage + , fetchgit + , autoconf, automake, libtool + , ...}: +builderDefsPackage +(a : +let + helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ + ["fetchgit"]; + + buildInputs = map (n: builtins.getAttr n x) + (builtins.attrNames (builtins.removeAttrs x helperArgNames)); + sourceInfo = rec { + method="fetchgit"; + baseName="libfixposix"; + url="git://gitorious.org/${baseName}/${baseName}"; + rev="30b75609d858588ea00b427015940351896867e9"; + version="git-${rev}"; + name="${baseName}-${version}"; + hash="44553c90d67f839cdd57d14d37d9faa25b1b766f607408896137f3013c1c9424"; + }; +in +rec { + srcDrv = a.fetchgit { + url = sourceInfo.url; + rev = sourceInfo.rev; + sha256 = sourceInfo.hash; + }; + + src = srcDrv +"/"; + + inherit (sourceInfo) name version; + inherit buildInputs; + + /* doConfigure should be removed if not needed */ + phaseNames = ["doAutoreconf" "doConfigure" "doMakeInstall"]; + + doAutoreconf = a.fullDepEntry ('' + autoreconf -i + '') ["doUnpack" "addInputs"]; + + meta = { + description = "A set of workarounds for places in POSIX that get implemented differently"; + maintainers = with a.lib.maintainers; + [ + raskin + ]; + platforms = with a.lib.platforms; + linux; + }; + passthru = { + updateInfo = { + downloadPage = "http://gitorious.org/libfixposix/libfixposix"; + }; + }; +}) x + diff --git a/pkgs/development/libraries/libsndfile/default.nix b/pkgs/development/libraries/libsndfile/default.nix index 84c463996898..d9b4afbf0ff8 100644 --- a/pkgs/development/libraries/libsndfile/default.nix +++ b/pkgs/development/libraries/libsndfile/default.nix @@ -1,13 +1,15 @@ -{stdenv, fetchurl}: +{stdenv, fetchurl, flac, libogg, libvorbis, pkgconfig }: stdenv.mkDerivation rec { - name = "libsndfile-1.0.21"; + name = "libsndfile-1.0.23"; src = fetchurl { url = "http://www.mega-nerd.com/libsndfile/files/${name}.tar.gz"; - sha256 = "0rzav3g865cr1s036r5pq0vx372g5cgvdkc2dlklgwqzani8743y"; + sha256 = "0k9x4804gfh9d9zd4rm1v2izm8l716rzk4d6jlrjcf45b5sw7jal"; }; + buildInputs = [pkgconfig flac libogg libvorbis]; + meta = { description = "Libsndfile, a C library for reading and writing files containing sampled sound"; diff --git a/pkgs/development/libraries/protobuf/default.nix b/pkgs/development/libraries/protobuf/default.nix new file mode 100644 index 000000000000..05dabd23773f --- /dev/null +++ b/pkgs/development/libraries/protobuf/default.nix @@ -0,0 +1,28 @@ +{ fetchurl, stdenv, zlib }: + +stdenv.mkDerivation rec { + name = "protobuf-2.3.0"; + + src = fetchurl { + url = "http://protobuf.googlecode.com/files/${name}.tar.bz2"; + sha256 = "1b40cb7ij4bnw78k46y0a2jkm8qisxkk1gbbj40yi77yqc3pf33n"; + }; + + buildInputs = [ zlib ]; + + doCheck = true; + + meta = { + description = "Protocol Buffers - Google's data interchange format"; + + longDescription = + '' Protocol Buffers are a way of encoding structured data in an + efficient yet extensible format. Google uses Protocol Buffers for + almost all of its internal RPC protocols and file formats. + ''; + + license = "mBSD"; + + homepage = http://code.google.com/p/protobuf/; + }; +} diff --git a/pkgs/development/libraries/tokyo-cabinet/default.nix b/pkgs/development/libraries/tokyo-cabinet/default.nix new file mode 100644 index 000000000000..59afb3345cac --- /dev/null +++ b/pkgs/development/libraries/tokyo-cabinet/default.nix @@ -0,0 +1,45 @@ +{ fetchurl, stdenv, zlib, bzip2 }: + +stdenv.mkDerivation rec { + name = "tokyocabinet-1.4.46"; + + src = fetchurl { + url = "http://www.1978th.net/tokyocabinet/${name}.tar.gz"; + sha256 = "18rkv6kq43cqabc9mvfw534nsv6v8bc2i2r2bmax0yxnbhqa7ahf"; + }; + + buildInputs = [ zlib bzip2 ]; + + doCheck = true; + + postInstall = + '' sed -i "$out/lib/pkgconfig/tokyocabinet.pc" \ + -e 's|-lz|-L${zlib}/lib -lz|g; + s|-lbz2|-L${bzip2}/lib -lbz2|g' + ''; + + meta = { + description = "Tokyo Cabinet: a modern implementation of DBM"; + + longDescription = + '' Tokyo Cabinet is a library of routines for managing a database. The + database is a simple data file containing records, each is a pair of + a key and a value. Every key and value is serial bytes with + variable length. Both binary data and character string can be used + as a key and a value. There is neither concept of data tables nor + data types. Records are organized in hash table, B+ tree, or + fixed-length array. + + Tokyo Cabinet is developed as the successor of GDBM and QDBM on the + following purposes. They are achieved and Tokyo Cabinet replaces + conventional DBM products: improves space efficiency, improves time + efficiency, improves parallelism, improves usability, improves + robustness, supports 64-bit architecture. + ''; + + license = "LGPLv2+"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/pkgs/development/ruby-modules/rake/default.nix b/pkgs/development/ruby-modules/rake/default.nix index 7e724f9773af..00bad68b695e 100644 --- a/pkgs/development/ruby-modules/rake/default.nix +++ b/pkgs/development/ruby-modules/rake/default.nix @@ -7,13 +7,16 @@ stdenv.mkDerivation { sha256 = "1kggvkkj609hj1xvpadzchki66i7ynz3qq4nc2hmfkf536fx8c03"; }; buildInputs = [ruby]; + patchPhase = '' + sed -i install.rb \ + -e 's/$bindir = destdir + $bindir/prefix = CONFIG["prefix"];$bindir = $bindir.slice(prefix.length..$bindir.length);$bindir = destdir + $bindir/' \ + -e 's/$sitedir = destdir + $sitedir/$sitedir = $sitedir.slice(prefix.length..$sitedir.length);$sitedir = destdir + $sitedir/' + ''; buildPhase = "true"; installPhase = '' ensureDir $out/lib ensureDir $out/bin - ruby setup.rb config --prefix=$out - # --bindir $out/bin --libdir $out/lib - ruby setup.rb setup - ruby setup.rb install + export DESTDIR=$out + ruby install.rb ''; } diff --git a/pkgs/development/tools/misc/distcc/default.nix b/pkgs/development/tools/misc/distcc/default.nix index a46c007cf31d..e372350e3846 100644 --- a/pkgs/development/tools/misc/distcc/default.nix +++ b/pkgs/development/tools/misc/distcc/default.nix @@ -1,8 +1,12 @@ -{stdenv, fetchurl, popt, avahi, pkgconfig, python, gtk, static ? false}: +{ stdenv, fetchurl, popt, avahi, pkgconfig, python, gtk +, sysconfDir ? "" # set this parameter to override the default value $out/etc +, static ? false +}: -let name = "distcc"; - version = "3.1"; +let name = "distcc"; + version = "3.1"; in + stdenv.mkDerivation { name = "${name}-${version}"; src = fetchurl { @@ -15,6 +19,7 @@ stdenv.mkDerivation { '' configureFlagsArray=( CFLAGS="-O2 -fno-strict-aliasing" CXXFLAGS="-O2 -fno-strict-aliasing" + ${if sysconfDir == "" then "" else "--sysconfdir=${sysconfDir}"} ${if static then "LDFLAGS=-static" else ""} --with${if static == true || popt == null then "" else "out"}-included-popt --with${if avahi != null then "" else "out"}-avahi @@ -22,6 +27,7 @@ stdenv.mkDerivation { --without-gnome --enable-rfc2553 ) + installFlags="sysconfdir=$out/etc"; ''; patches = [ ./20-minute-io-timeout.patch ]; @@ -32,5 +38,8 @@ stdenv.mkDerivation { description = "a fast, free distributed C/C++ compiler"; homepage = "http://distcc.org"; license = "GPL"; + + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.simons ]; }; } diff --git a/pkgs/games/dwarf-fortress/default.nix b/pkgs/games/dwarf-fortress/default.nix new file mode 100644 index 000000000000..b08a70a39821 --- /dev/null +++ b/pkgs/games/dwarf-fortress/default.nix @@ -0,0 +1,82 @@ +{stdenv, fetchurl, SDL, SDL_image, SDL_ttf, gnomegtk, glib, mesa, openal, glibc, libsndfile}: + +assert stdenv.system == "i686-linux"; + +stdenv.mkDerivation rec { + name = "dwarf-fortress-0.31.16"; + + src = fetchurl { + url = "http://www.bay12games.com/dwarves/df_31_16_linux.tar.bz2"; + sha256 = "04pyxyigrrclbpxdx3wryisgy5xraz0s7rsxr2kp4i136479f2r4"; + }; + + phases = "unpackPhase patchPhase installPhase"; + + /* :TODO: Game options should be configurable by patching the default configuration files */ + + permission = ./df_permission; + + installPhase = '' + set -x + ensureDir $out/bin + ensureDir $out/share/df_linux + cp -r * $out/share/df_linux + cp $permission $out/share/df_linux/nix_permission + + patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 $out/share/df_linux/libs/Dwarf_Fortress + ln -s ${libsndfile}/lib/libsndfile.so $out/share/df_linux/libs/ + + cat > $out/bin/dwarf-fortress << EOF + #!${stdenv.shell} + export DF_DIR="\$HOME/.config/df_linux" + if [ -n "\$XDG_DATA_HOME" ] + then export DF_DIR="\$XDG_DATA_HOME/df_linux" + fi + + # Recreate a directory sturctor reflecting the original distribution in the user directory + + # Link in the static stuff + mkdir -p \$DF_DIR + ln -sf $out/share/df_linux/libs \$DF_DIR/ + ln -sf $out/share/df_linux/raw \$DF_DIR/ + ln -sf $out/share/df_linux/df \$DF_DIR/ + + # Delete old data directory + rm -rf \$DF_DIR/data + + # Link in the static data directory + mkdir \$DF_DIR/data + for i in $out/share/df_linux/data/* + do + ln -s \$i \$DF_DIR/data/ + done + + # index initial_movies, announcement, dipscript and help files are as of 0.31.16 opened in read/write mode instead of read-only mode + # this is a hack to work around this + # Should I just apply this to the whole data directory? + for i in index initial_movies announcement dipscript help + do + rm \$DF_DIR/data/\$i + cp -rf $out/share/df_linux/data/\$i \$DF_DIR/data/ + chmod -R u+w \$DF_DIR/data/\$i + done + + # link in persistant data + mkdir -p \$DF_DIR/save + ln -s \$DF_DIR/save \$DF_DIR/data/ + + # now run Dwarf Fortress! + export LD_LIBRARY_PATH=\$DF_DIR/df_linux/libs/:${SDL}/lib:${SDL_image}/lib/:${SDL_ttf}/lib/:${gnomegtk}/lib/:${glib}/lib/:${mesa}/lib/:${openal}/lib/ + \$DF_DIR/df "\$@" + EOF + + chmod +x $out/bin/dwarf-fortress + ''; + + meta = { + description = "control a dwarven outpost or an adventurer in a randomly generated, persistent world"; + homepage = http://www.bay12games.com/dwarves; + license = "unfree-redistributable"; + maintainers = [stdenv.lib.maintainers.roconnor]; + }; +} diff --git a/pkgs/games/dwarf-fortress/df_permission b/pkgs/games/dwarf-fortress/df_permission new file mode 100644 index 000000000000..b0121bb3fa37 --- /dev/null +++ b/pkgs/games/dwarf-fortress/df_permission @@ -0,0 +1,40 @@ +From tarn.adams@gmail.com Sat Oct 30 00:56:16 2010 +Date: Fri, 29 Oct 2010 16:56:15 -0800 +From: Tarn Adams +To: roconnor@theorem.ca +Subject: Re: Dwarf Fortress Redistribution for NixOS + +Sure, that redistribution is fine. I think I've handled the movie +issue for next time now. Thanks for the heads up on that. + +Tarn + +On Fri, Oct 29, 2010 at 6:56 AM, wrote: +> I'd like to distribute a *slightly* modified version of Dwarf Fortress which +> is needed to run it under the NixOS distribution of Linux (see +> +> +> Modification: The interpreter location /lib/ld-linux.so.2 in +> lib/Dwarf_Fortress is replaced with the location of ld-linux.so.2 under the +> NixOS distribution (which is currently +> /nix/store/l8x3fdy1r6zf441vnqa87lzsvxrjbdz9-glibc-2.11.1/lib/ld-linux.so.2 +> but might change at a later date to something similar). +> +> I don't need you to recompile Dwarf Fortress.  I can patch the binary itself +> using patchelf.  I just would like your permission to redistrubute this +> modified binary. +> +> Thanks, I'm looking forward to trying out your game and letting other Nix +> users try it out too. +> +> P.S. the inital_movies are open in read/write mode instead of read-only mode +> which causes some issues under NixOS because the inital_movies are stored +> read-only.  I have a workaround, but you may want to consider opening these +> files in read-only mode. +> +> -- +> Russell O'Connor                                       +> ``All talk about `theft,''' the general counsel of the American Graphophone +> Company wrote, ``is the merest claptrap, for there exists no property in +> ideas musical, literary or artistic, except as defined by statute.'' +> diff --git a/pkgs/misc/tex/nix/run-latex.sh b/pkgs/misc/tex/nix/run-latex.sh index 1db41f3c336f..58c7cac302f0 100644 --- a/pkgs/misc/tex/nix/run-latex.sh +++ b/pkgs/misc/tex/nix/run-latex.sh @@ -64,9 +64,9 @@ runLaTeX echo -# Run bibtex to process all bibliographies. There may be several when -# we're using the multibib package. for auxFile in $(find . -name "*.aux"); do + # Run bibtex to process all bibliographies. There may be several + # when we're using the multibib package. if grep -q '\\citation' $auxFile; then echo "RUNNING BIBTEX ON $auxFile..." auxBase=$(basename $auxFile .aux) @@ -75,6 +75,12 @@ for auxFile in $(find . -name "*.aux"); do runNeeded=1 echo fi + + # "\pgfsyspdfmark" in the aux file seems to indicate that PGF/TikZ + # requires a second run (e.g. to resolve arrows between pictures). + if grep -q pgfsyspdfmark $auxFile; then + runNeeded=1 + fi done diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh index f830e1e066f8..1fd6234b48e2 100644 --- a/pkgs/os-specific/linux/ati-drivers/builder.sh +++ b/pkgs/os-specific/linux/ati-drivers/builder.sh @@ -13,6 +13,7 @@ sh archive --extract . kernelVersion=$(cd ${kernel}/lib/modules && ls) kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/build) +linuxsources=$(echo ${kernel}/lib/modules/$kernelVersion/source) # note: maybe the .config file should be used to determine this ? @@ -28,7 +29,15 @@ setSMP(){ # 3 # linux/autoconf.h may contain this: #define CONFIG_SMP 1 - src_file=$linuxincludes/linux/autoconf.h + # Before 2.6.33 autoconf.h is under linux/. + # For 2.6.33 and later autoconf.h is under generated/. + if [ -f $linuxincludes/generated/autoconf.h ]; then + autoconf_h=$linuxincludes/generated/autoconf.h + else + autoconf_h=$linuxincludes/linux/autoconf.h + fi + src_file=$autoconf_h + [ -e $src_file ] || die "$src_file not found" if [ `cat $src_file | grep "#undef" | grep "CONFIG_SMP" -c` = 0 ]; then @@ -54,6 +63,39 @@ setModVersions(){ # make.sh contains much more code to determine this whether its enabled } +# ============================================================== +# resolve if we are building for a kernel with a fix for CVE-2010-3081 +# On kernels with the fix, use arch_compat_alloc_user_space instead +# of compat_alloc_user_space since the latter is GPL-only + +COMPAT_ALLOC_USER_SPACE=compat_alloc_user_space + +for src_file in \ + $kernelBuild/arch/x86/include/asm/compat.h \ + $linuxsources/arch/x86/include/asm/compat.h \ + $kernelBuild/include/asm-x86_64/compat.h \ + $linuxsources/include/asm-x86_64/compat.h \ + $kernelBuild/include/asm/compat.h; +do + if [ -e $src_file ]; + then + break + fi +done +if [ ! -e $src_file ]; +then + echo "Warning: x86 compat.h not found in kernel headers" + echo "neither arch/x86/include/asm/compat.h nor include/asm-x86_64/compat.h" + echo "could be found in $kernelBuild or $linuxsources" + echo "" +else + if [ `cat $src_file | grep -c arch_compat_alloc_user_space` -gt 0 ] + then + COMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space + fi + echo "file $src_file says: COMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE" +fi + # make.sh contains some code figuring out whether to use these or not.. PAGE_ATTR_FIX=0 @@ -83,7 +125,7 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`" make CC=${CC} \ LIBIP_PREFIX=$(echo "$LIBIP_PREFIX" | sed -e 's|^\([^/]\)|../\1|') \ - MODFLAGS="-DMODULE -DATI -DFGL -DPAGE_ATTR_FIX=$PAGE_ATTR_FIX $def_smp $def_modversions" \ + MODFLAGS="-DMODULE -DATI -DFGL -DPAGE_ATTR_FIX=$PAGE_ATTR_FIX -DCOMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE $def_smp $def_modversions" \ KVER=$kernelVersion \ KDIR=$kernelBuild \ PAGE_ATTR_FIX=$PAGE_ATTR_FIX \ diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix index 65c42e09039a..db25bebb06c9 100644 --- a/pkgs/os-specific/linux/ati-drivers/default.nix +++ b/pkgs/os-specific/linux/ati-drivers/default.nix @@ -19,8 +19,9 @@ let lib = stdenv.lib; in # http://wiki.cchtml.com/index.php/Main_Page -stdenv.mkDerivation { - name = "ati-drivers"; +stdenv.mkDerivation rec { + name = "ati-drivers-${version}"; + version = "10-10-x86"; builder = ./builder.sh; @@ -29,8 +30,8 @@ stdenv.mkDerivation { src = assert stdenv.system == "x86_64-linux"; fetchurl { - url = https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-10-4-x86.x86_64.run; - sha256 = "1rlqbfv729lray1c72ga4528kj7v4a5nmdznbgx7izwaxip2a45z"; + url = https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-10-10-x86.x86_64.run; + sha256 = "1g71sj8qbarshw3hfds2v6y9q7lma3d36d0x79c7vvgllcd5c76x"; }; buildInputs = [xlibs.libXext xlibs.libX11 diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 327b16bd2023..cdaa9da57d93 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -204,20 +204,25 @@ in }; guruplug_defconfig = - { - # Default configuration for the GuruPlug. From + { # Default configuration for the GuruPlug. From # . name = "guruplug-defconfig"; patch = ./guruplug-defconfig.patch; }; guruplug_arch_number = - { - # Hack to match the `arch_number' of the U-Boot that ships with the + { # Hack to match the `arch_number' of the U-Boot that ships with the # GuruPlug. This is only needed when using this specific U-Boot # binary. See # . name = "guruplug-arch-number"; patch = ./guruplug-mach-type.patch; }; + + xen_pvclock_resume = + { # Fix the clock after a DomU restore following a Dom0 reboot or migration. + name = "xen-pvclock-resume"; + patch = ./xen-pvclock-resume.patch; + }; + } diff --git a/pkgs/os-specific/linux/kernel/xen-pvclock-resume.patch b/pkgs/os-specific/linux/kernel/xen-pvclock-resume.patch new file mode 100644 index 000000000000..b92bb74d30b4 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/xen-pvclock-resume.patch @@ -0,0 +1,51 @@ +From: Jeremy Fitzhardinge +Date: Mon, 25 Oct 2010 16:53:46 -0700 +Subject: [PATCH] x86/pvclock: zero last_value on resume + +If the guest domain has been suspend/resumed or migrated, then the +system clock backing the pvclock clocksource may revert to a smaller +value (ie, can be non-monotonic across the migration/save-restore). +Make sure we zero last_value in that case so that the domain +continues to see clock updates. + +Signed-off-by: Jeremy Fitzhardinge + +diff --git a/arch/x86/include/asm/pvclock.h b/arch/x86/include/asm/pvclock.h +index cd02f32..6226870 100644 +--- a/arch/x86/include/asm/pvclock.h ++++ b/arch/x86/include/asm/pvclock.h +@@ -11,5 +11,6 @@ unsigned long pvclock_tsc_khz(struct pvclock_vcpu_time_info *src); + void pvclock_read_wallclock(struct pvclock_wall_clock *wall, + struct pvclock_vcpu_time_info *vcpu, + struct timespec *ts); ++void pvclock_resume(void); + + #endif /* _ASM_X86_PVCLOCK_H */ +diff --git a/arch/x86/kernel/pvclock.c b/arch/x86/kernel/pvclock.c +index 239427c..a4f07c1 100644 +--- a/arch/x86/kernel/pvclock.c ++++ b/arch/x86/kernel/pvclock.c +@@ -120,6 +120,11 @@ unsigned long pvclock_tsc_khz(struct pvclock_vcpu_time_info *src) + + static atomic64_t last_value = ATOMIC64_INIT(0); + ++void pvclock_resume(void) ++{ ++ atomic64_set(&last_value, 0); ++} ++ + cycle_t pvclock_clocksource_read(struct pvclock_vcpu_time_info *src) + { + struct pvclock_shadow_time shadow; +diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c +index b2bb5aa..5da5e53 100644 +--- a/arch/x86/xen/time.c ++++ b/arch/x86/xen/time.c +@@ -426,6 +426,8 @@ void xen_timer_resume(void) + { + int cpu; + ++ pvclock_resume(); ++ + if (xen_clockevent != &xen_vcpuop_clockevent) + return; diff --git a/pkgs/tools/misc/psmisc/default.nix b/pkgs/os-specific/linux/psmisc/default.nix similarity index 74% rename from pkgs/tools/misc/psmisc/default.nix rename to pkgs/os-specific/linux/psmisc/default.nix index 4ee3da48f92c..71ab69b9f216 100644 --- a/pkgs/tools/misc/psmisc/default.nix +++ b/pkgs/os-specific/linux/psmisc/default.nix @@ -1,13 +1,15 @@ {stdenv, fetchurl, ncurses}: +assert stdenv.isLinux; + stdenv.mkDerivation rec { - name = "psmisc-22.12"; - + name = "psmisc-22.13"; + src = fetchurl { url = "mirror://sourceforge/psmisc/${name}.tar.gz"; - sha256 = "0ykak6gf835xj0wksqbw2rjny958prayhm2fv6r3fqfs06jl2bxs"; + sha256 = "06d25e8ebb4722dbcede98a787c39a9ed341f8e58fde10c0b2d6b35990b35daa"; }; - + buildInputs = [ncurses]; meta = { diff --git a/pkgs/servers/http/apache-httpd/default.nix b/pkgs/servers/http/apache-httpd/default.nix index ce71d9248392..ab3f62331851 100644 --- a/pkgs/servers/http/apache-httpd/default.nix +++ b/pkgs/servers/http/apache-httpd/default.nix @@ -6,16 +6,14 @@ assert sslSupport -> openssl != null; stdenv.mkDerivation rec { - version = "2.2.16"; + version = "2.2.17"; name = "apache-httpd-${version}"; src = fetchurl { url = "mirror://apache/httpd/httpd-${version}.tar.bz2"; - sha1 = "ef92f5b3124fe5e9ba6121ea7f4bab8c014068f9"; + sha256 = "017vc5g0dwjycai2qa8427vkw6wpa57ylhajw6nrmynq7qgg32l6"; }; - #inherit sslSupport; - buildInputs = [perl apr aprutil pcre] ++ stdenv.lib.optional sslSupport openssl; @@ -46,5 +44,8 @@ stdenv.mkDerivation rec { description = "Apache HTTPD, the world's most popular web server"; homepage = http://httpd.apache.org/; license = "ASL2.0"; + + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.simons ]; }; } diff --git a/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix b/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix index 5c32b2c4572f..4a016f991ebd 100644 --- a/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix +++ b/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix @@ -29,5 +29,8 @@ stdenv.mkDerivation { virtually any type of web application, but the result is generally more scalable. ''; + + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.simons ]; }; } diff --git a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix index c866c79e10d8..b5073428754c 100644 --- a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix +++ b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix @@ -11,12 +11,17 @@ stdenv.mkDerivation { buildInputs = [ apacheHttpd python ]; patchPhase = '' - sed -r -i "s|^LIBEXECDIR=.*$|LIBEXECDIR=$out/modules|" configure + sed -r -i -e "s|^LIBEXECDIR=.*$|LIBEXECDIR=$out/modules|" \ + ${if stdenv.isDarwin then "-e 's|/usr/bin/lipo|lipo|'" else ""} \ + configure ''; meta = { homepage = "http://code.google.com/p/modwsgi/"; description = "Host Python applications in Apache through the WSGI interface"; license = "ASL2.0"; + + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.simons ]; }; } diff --git a/pkgs/tools/archivers/unarj/default.nix b/pkgs/tools/archivers/unarj/default.nix new file mode 100644 index 000000000000..7a15514a7287 --- /dev/null +++ b/pkgs/tools/archivers/unarj/default.nix @@ -0,0 +1,20 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation rec { + name = "unarj-2.63a"; + + src = fetchurl { + url = http://www.ibiblio.org/pub/Linux/utils/compress/unarj-2.63a.tar.gz; + sha256 = "0j4sn57fq2p23pcq4ck06pm618q4vq09wgm89ilfn4c9l9x2ky1k"; + }; + + preInstall = '' + ensureDir $out/bin + sed -i -e s,/usr/local/bin,$out/bin, Makefile + ''; + + meta = { + description = "Unarchiver of ARJ files"; + license = "free"; + }; +} diff --git a/pkgs/tools/misc/fileschanged/default.nix b/pkgs/tools/misc/fileschanged/default.nix new file mode 100644 index 000000000000..0af42822af28 --- /dev/null +++ b/pkgs/tools/misc/fileschanged/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, fam }: + +stdenv.mkDerivation { + name = "fileschanged-0.6.9"; + + src = fetchurl { + url = "http://nongnu.askapache.com/fileschanged/fileschanged-0.6.9.tar.gz"; + sha256 = "0ajc9h023vzpnlqqjli4wbvs0q36nr5p9msc3wzbic8rk687qcxc"; + }; + + buildInputs = [ fam ]; + + doCheck = true; + + meta = { + homepage = "http://www.nongnu.org/fileschanged/"; + description = "A command-line utility that reports when files have been altered."; + license = "GPL"; + + longDescription = '' + This utility is a client to FAM (File Alteration Monitor) servers + like FAM or Gamin. You give it some filenames on the command line + and then it monitors those files for changes. When it discovers + that a file has been altered, it displays the filename on the + standard-output or executes a given command. + ''; + + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.simons ]; + }; +} diff --git a/pkgs/tools/networking/p2p/seeks/default.nix b/pkgs/tools/networking/p2p/seeks/default.nix index 83f9b74e11a4..50b833059389 100644 --- a/pkgs/tools/networking/p2p/seeks/default.nix +++ b/pkgs/tools/networking/p2p/seeks/default.nix @@ -1,23 +1,20 @@ { fetchurl, stdenv, zlib, docbook2x, pcre, curl, libxml2, libevent, perl -, autoconf, automake, libtool }: +, pkgconfig, protobuf, tokyocabinet }: -let version = "0.2.3a"; in +let version = "0.3.0"; in stdenv.mkDerivation { name = "seeks-${version}"; src = fetchurl { - url = "mirror://sourceforge/seeks/solo/seeks_solo_stable-${version}.src.tar.gz"; - sha256 = "0hjaqwcaa19qbq28y5gq0415fz10vx034aghqa01hrhhl9yrjvc4"; + url = "mirror://sourceforge/seeks/solo/seeks-${version}.tar.gz"; + sha256 = "07gkf7666bx5fk3zk0s47fj659czlyk3ag9bihkl5mdjfikb6k46"; }; buildInputs = - [ zlib docbook2x pcre curl libxml2 libevent perl - autoconf automake libtool + [ zlib docbook2x pcre curl libxml2 libevent perl pkgconfig + protobuf tokyocabinet ]; - # The tarball doesn't contain `configure' & co. Sigh... - preConfigure = "autoreconf -vfi"; - configureFlags = [ # Enable the built-in web server providing a web search interface. # See . diff --git a/pkgs/tools/networking/pdsh/default.nix b/pkgs/tools/networking/pdsh/default.nix index 1034d7e09f5f..c48ec9265c93 100644 --- a/pkgs/tools/networking/pdsh/default.nix +++ b/pkgs/tools/networking/pdsh/default.nix @@ -1,11 +1,12 @@ {stdenv, fetchurl, perl, readline, rsh, ssh, pam}: stdenv.mkDerivation rec { - name = "pdsh-2.18"; + name = "pdsh-2.22"; src = fetchurl { url = "mirror://sourceforge/pdsh/${name}.tar.bz2"; - sha256 = "8c94acb17b4af8a9f553db180b4d5745c9c98844a5dc070e2ce80590e8e8a539"; + sha256 = "1b3c5dbaa8nhw2a5h89khs501m6ywg3zfzv7zahgsvjc8zcnfg8q"; }; + buildInputs = [perl readline ssh pam]; /* pdsh uses pthread_cancel(), which requires libgcc_s.so.1 to be @@ -39,6 +40,16 @@ stdenv.mkDerivation rec { homepage = "https://computing.llnl.gov/linux/pdsh.html"; description = "A high-performance, parallel remote shell utility."; license = "GPLv2"; + + longDescription = '' + Pdsh is a high-performance, parallel remote shell utility. It has + built-in, thread-safe clients for Berkeley and Kerberos V4 rsh and + can call SSH externally (though with reduced performance). Pdsh + uses a "sliding window" parallel algorithm to conserve socket + resources on the initiating node and to allow progress to continue + while timeouts occur on some connections. + ''; + platforms = stdenv.lib.platforms.all; maintainers = [ stdenv.lib.maintainers.simons ]; }; diff --git a/pkgs/tools/package-management/nix/custom.nix b/pkgs/tools/package-management/nix/custom.nix index f87044d70456..a84718e7b4aa 100644 --- a/pkgs/tools/package-management/nix/custom.nix +++ b/pkgs/tools/package-management/nix/custom.nix @@ -10,6 +10,8 @@ , libxml2 ? null , docbook5_xsl ? null, libxslt ? null , docbook5 ? null, docbook_xml_dtd_43 ? null +, boehmgc ? null +, pkgconfig ? null , configureFlags ? [] , lib , enableScripts ? [] @@ -32,6 +34,8 @@ stdenv.mkDerivation { ++ (if docbook_xml_dtd_43 != null then [docbook_xml_dtd_43] else []) ++ (if w3m != null then [w3m] else []) ++ (if libxml2 != null then [libxml2] else []) + ++ (if boehmgc != null then [boehmgc] else []) + ++ (if pkgconfig != null then [pkgconfig] else []) ; preConfigure = diff --git a/pkgs/tools/system/lxc/default.nix b/pkgs/tools/system/lxc/default.nix new file mode 100644 index 000000000000..773ee536fb80 --- /dev/null +++ b/pkgs/tools/system/lxc/default.nix @@ -0,0 +1,25 @@ +{stdenv, fetchurl, libcap}: + +stdenv.mkDerivation rec{ + name = "lxc-0.7.3"; + + src = fetchurl { + url = "mirror://sourceforge/lxc/${name}.tar.gz"; + sha256 = "02fs90gj8vc3sls2kknqhdv8nk7r2k85slx8x8slfz4vnz6jhfzs"; + }; + + patchPhase = '' + sed -i -e '/ldconfig/d' src/lxc/Makefile.in + ''; + + configureFlags = [ "--localstatedir=/var" ]; + + buildInputs = [ libcap ]; + + meta = { + homepage = http://lxc.sourceforge.net; + description = "lxc Linux Containers userland tools"; + license = "LGPLv2.1+"; + platforms = with stdenv.lib.platforms; all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 842850f30d7b..13d9f573e15f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -608,6 +608,8 @@ let file = callPackage ../tools/misc/file { }; + fileschanged = callPackage ../tools/misc/fileschanged { }; + findutils = if stdenv.isDarwin then findutils4227 @@ -817,6 +819,8 @@ let lsh = callPackage ../tools/networking/lsh { }; + lxc = callPackage ../tools/system/lxc { }; + lzma = xz; xz = callPackage ../tools/compression/xz { }; @@ -1053,7 +1057,7 @@ let proxytunnel = callPackage ../tools/misc/proxytunnel { }; - psmisc = callPackage ../tools/misc/psmisc { }; + psmisc = callPackage ../os-specific/linux/psmisc { }; pstoedit = callPackage ../tools/graphics/pstoedit { }; @@ -1304,6 +1308,8 @@ let unrar = callPackage ../tools/archivers/unrar { }; + unarj = callPackage ../tools/archivers/unarj { }; + unshield = callPackage ../tools/archivers/unshield { }; unzip = unzip552; @@ -2372,9 +2378,7 @@ let ddd = callPackage ../development/tools/misc/ddd { }; - distcc = callPackage ../development/tools/misc/distcc { - static = false; - }; + distcc = callPackage ../development/tools/misc/distcc { }; docutils = builderDefsPackage (import ../development/tools/documentation/docutils) { inherit python pil makeWrapper; @@ -3278,6 +3282,8 @@ let libmpeg2 = mpeg2dec; }; + libfixposix = callPackage ../development/libraries/libfixposix {}; + libffcall = builderDefsPackage (import ../development/libraries/libffcall) { inherit fetchcvs; }; @@ -3722,6 +3728,8 @@ let postgis = callPackage ../development/libraries/postgis { }; + protobuf = callPackage ../development/libraries/protobuf { }; + pth = callPackage ../development/libraries/pth { }; ptlib = callPackage ../development/libraries/ptlib {}; @@ -3883,6 +3891,8 @@ let tnt = callPackage ../development/libraries/tnt { }; + tokyocabinet = callPackage ../development/libraries/tokyo-cabinet { }; + unicap = callPackage ../development/libraries/unicap {}; unixODBC = callPackage ../development/libraries/unixODBC { }; @@ -4602,6 +4612,7 @@ let kernelPatches.cifs_timeout kernelPatches.no_xsave kernelPatches.dell_rfkill + kernelPatches.xen_pvclock_resume ]; }; @@ -6257,9 +6268,7 @@ let gconf = gnome.GConf; }; - /* does'nt work yet i686-linux only (32bit version) teamspeak_client = callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { }; - */ taskJuggler = callPackage ../applications/misc/taskjuggler { qt = qt3; @@ -6301,7 +6310,7 @@ let uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) { inherit pkgconfig webkit makeWrapper; inherit (gtkLibs) gtk glib; - inherit (xlibs) libX11; + inherit (xlibs) libX11 kbproto; libsoup = gnome28.libsoup_2_31; }; @@ -6553,6 +6562,10 @@ let crack_attack = callPackage ../games/crack-attack { }; + dwarf_fortress = callPackage ../games/dwarf-fortress { + gnomegtk = gnome.gtk; + }; + eduke32 = callPackage ../games/eduke32 { }; egoboo = callPackage ../games/egoboo { }; @@ -6888,11 +6901,20 @@ let ### SCIENCE / ELECTRONICS + caneda = callPackage ../applications/science/electronics/caneda { + # At the time of writing, it fails to build with qt47 + qt4 = qt46; + }; + + gtkwave = callPackage ../applications/science/electronics/gtkwave { }; + kicad = callPackage ../applications/science/electronics/kicad { }; ngspice = callPackage ../applications/science/electronics/ngspice { }; - gtkwave = callPackage ../applications/science/electronics/gtkwave { }; + qucs = callPackage ../applications/science/electronics/qucs { + qt = qt3; + }; xoscope = callPackage ../applications/science/electronics/xoscope { }; @@ -7038,8 +7060,10 @@ let nixCustomFun = src: preConfigure: enableScripts: configureFlags: import ../tools/package-management/nix/custom.nix { inherit fetchurl stdenv perl curl bzip2 openssl src preConfigure automake - autoconf libtool configureFlags enableScripts lib bison libxml2; - flex = flex2533; + autoconf libtool configureFlags enableScripts lib libxml2 boehmgc + pkgconfig; + flex = flex2535; + bison = bison24; aterm = aterm25; db4 = db45; inherit docbook5_xsl libxslt docbook5 docbook_xml_dtd_43 w3m; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a380e5f30c8e..8c4595dcd21a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -562,6 +562,8 @@ rec { sha256 = "00jhzl3s9xdkbj32h1kq1swk8wpx9zky7qfda40n8mb204xjcn9h"; }; + buildInputs = [ pkgs.pycrypto ]; + doCheck = false; meta = { @@ -838,6 +840,52 @@ rec { }; }); + pysvn = pkgs.stdenv.mkDerivation { + name = "pysvn-1.7.2"; + + src = fetchurl { + url = "http://pysvn.barrys-emacs.org/source_kits/pysvn-1.7.2.tar.gz"; + sha256 = "2b2980d200515e754e00a12d99dbce25c1ea90fddf8cba2bfa354c9305c5e455"; + }; + + buildInputs = [ python pkgs.subversion pkgs.apr pkgs.aprutil pkgs.expat pkgs.neon pkgs.openssl ] + ++ (if stdenv.isLinux then [pkgs.e2fsprogs] else []); + + # There seems to be no way to pass that path to configure. + NIX_CFLAGS_COMPILE="-I${pkgs.aprutil}/include/apr-1"; + + configurePhase = '' + cd Source + python setup.py backport + python setup.py configure \ + --apr-inc-dir=${pkgs.apr}/include/apr-1 \ + --apr-lib-dir=${pkgs.apr}/lib \ + --svn-root-dir=${pkgs.subversion} + '' + (if !stdenv.isDarwin then "" else '' + sed -i -e 's|libpython2.7.dylib|lib/libpython2.7.dylib|' Makefile + ''); + + # The regression test suite expects locale support, which our glibc + # doesn't have by default. + doCheck = false; + checkPhase = "make -C ../Tests"; + + installPhase = '' + dest=$(toPythonPath $out)/pysvn + ensureDir $dest + cp pysvn/__init__.py $dest/ + cp pysvn/_pysvn*.so $dest/ + ensureDir $out/share/doc + mv -v ../Docs $out/share/doc/pysvn-1.7.2 + rm -v $out/share/doc/pysvn-1.7.2/generate_cpp_docs_from_html_docs.py + ''; + + meta = { + description = "Python bindings for Subversion"; + homepage = "http://pysvn.tigris.org/"; + }; + }; + setuptoolsDarcs = buildPythonPackage { name = "setuptools-darcs-1.2.9";