Updating from trunk. I only had to take away the usual stdenv2 in

all-packages.nix


svn path=/nixpkgs/branches/stdenv-updates/; revision=24553
This commit is contained in:
Lluís Batlle i Rossell 2010-10-31 19:30:31 +00:00
commit f4f84af4ab
47 changed files with 803 additions and 150 deletions

@ -9,7 +9,7 @@
let let
pname = "TeXmacs"; pname = "TeXmacs";
version = "1.0.7"; version = "1.0.7.6";
extraFontsSrc = fetchurl { extraFontsSrc = fetchurl {
url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-extra-fonts-1.0-noarch.tar.gz"; url = "ftp://ftp.texmacs.org/pub/TeXmacs/fonts/TeXmacs-extra-fonts-1.0-noarch.tar.gz";
sha256 = "0hylgjmd95y9yahbblmawkkw0i71vb145xxv2xqrmff81301n6k7"; sha256 = "0hylgjmd95y9yahbblmawkkw0i71vb145xxv2xqrmff81301n6k7";
@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "ftp://ftp.texmacs.org/pub/${pname}/targz/${name}-src.tar.gz"; url = "ftp://ftp.texmacs.org/pub/${pname}/targz/${name}-src.tar.gz";
sha256 = "1jdynapwc4fnp4ff71whq7l2jv0v3zwq2v2w463ppxm9cbi3bm5v"; sha256 = "0x4qy3ai9nmz1i90mbqi1n2vgwyllxwmlpllfwcz0fad7yby7msh";
}; };
buildInputs = [ guile libX11 libXext makeWrapper ]; buildInputs = [ guile libX11 libXext makeWrapper ];

@ -17,20 +17,21 @@
}: }:
let let
version = "6.5.9-1"; version = "6.6.5-4";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ImageMagick-${version}"; name = "ImageMagick-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://imagemagick/${name}.tar.bz2"; url = "mirror://imagemagick/${name}.tar.bz2";
sha256 = "0a4yhhfqagz28yccydngi31050101jfmq5ljln61g69yy6m47ifg"; sha256 = "1s3l98xc1gnxi2wdg3sy9723f6qf5yk81wln8ghn2z9kvi09w7gw";
}; };
configureFlags = '' configureFlags = ''
--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts --with-gs-font-dir=${ghostscript}/share/ghostscript/fonts
--with-gslib --with-gslib
${if tetex != null then "--with-frozenpaths" else ""} --with-frozenpaths
${if librsvg != null then "--with-rsvg" else ""}
''; '';
buildInputs = buildInputs =

@ -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 { stdenv.mkDerivation {
name = "eaglemode-0.76.0"; name = "eaglemode-0.79.0";
src = fetchurl { src = fetchurl {
url = mirror://sourceforge/eaglemode/eaglemode-0.76.0.tar.bz2; url = mirror://sourceforge/eaglemode/eaglemode-0.79.0.tar.bz2;
sha256 = "152v7p9dicm8shwncpcifg4b2l4c61c1qn00469cz38vja67npww"; 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 = '' buildPhase = ''
export NIX_LDFLAGS="$NIX_LDFLAGS -lXxf86vm -lXext"
yes n | perl make.pl build yes n | perl make.pl build
''; '';
dontPatchELF = true;
installPhase = '' installPhase = ''
perl make.pl install dir=$out perl make.pl install dir=$out
# I don't like this... but it seems the way they plan to run it by now. # I don't like this... but it seems the way they plan to run it by now.

@ -1,21 +1,22 @@
{ stdenv, fetchurl, makeWrapper, autoconf, automake, boost, file, gettext { stdenv, fetchurl, makeWrapper, autoconf, automake, boost, file, gettext
, glib, glibc, gnome_keyring, gtk, gtkmm, intltool, libctemplate, libglade , glib, glibc, gnome_keyring, gtk, gtkmm, intltool, libctemplate, libglade
, libgnome, libsigcxx, libtool, libuuid, libxml2, libzip, lua, mesa, mysql , 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 { stdenv.mkDerivation rec {
name = "mysql-workbench"; pname = "mysql-workbench";
version = "5.2.27"; version = "5.2.28";
name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "http://mirror.services.wisc.edu/mysql/Downloads/MySQLGUITools/mysql-workbench-gpl-${version}.tar.gz"; url = "http://mirror.services.wisc.edu/mysql/Downloads/MySQLGUITools/mysql-workbench-gpl-${version}-src.tar.gz";
sha256 = "01l15f9nvcpcsb56r7qb39jjlknh0dkj5iwfg1pj5bm12pbligng"; sha256 = "1i7icrf3z09rijlvlg99w6m1n3xw0650840hk95ymgrb95kc3437";
}; };
buildInputs = [ autoconf automake boost file gettext glib glibc gnome_keyring gtk gtkmm intltool buildInputs = [ autoconf automake boost file gettext glib glibc gnome_keyring gtk gtkmm intltool
libctemplate libglade libgnome libsigcxx libtool libuuid libxml2 libzip lua makeWrapper mesa 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 = '' preConfigure = ''
substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "catchsegv" "${glibc}/bin/catchsegv" substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "catchsegv" "${glibc}/bin/catchsegv"

@ -6,6 +6,7 @@ let
buildInputs = with a; [ buildInputs = with a; [
libsoup pkgconfig webkit gtk makeWrapper libsoup pkgconfig webkit gtk makeWrapper
kbproto
]; ];
in in
rec { rec {

@ -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: License issues:
Date: Mon, 10 Dec 2007 19:55:16 -0500 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 Sincerly
Marc Weber (small nix contributor) 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
};
}

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

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

@ -60,14 +60,14 @@ rec {
}; };
topGit = stdenv.mkDerivation rec { topGit = stdenv.mkDerivation rec {
name = "topgit-0.8-19-g9404aa1"; name = "topgit-0.8-32-g8b0f1f9";
src = fetchgit { src = fetchurl {
url = "http://repo.or.cz/r/topgit.git"; url = "http://repo.or.cz/w/topgit.git/snapshot/${name}.zip";
rev = name; sha256 = "0v3binh7wc2di57w6rdnlww30ryszzsklfdmm61sl1ildyl1klk4";
sha256 = "47e92d31303c30a22b96ce4a005f3c51f0e12c163e54f6ca589ac4e50ec74bd0";
}; };
buildInputs = [unzip];
configurePhase = "export prefix=$out"; configurePhase = "export prefix=$out";
postInstall = '' postInstall = ''

@ -2,13 +2,13 @@
lua, pcre, sqlite, perl, pkgconfig}: lua, pcre, sqlite, perl, pkgconfig}:
let let
version = "0.48"; version = "0.99";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "monotone-${version}"; name = "monotone-${version}";
inherit perl; inherit perl;
src = fetchurl { src = fetchurl {
url = "http://monotone.ca/downloads/${version}/monotone-${version}.tar.gz"; url = "http://monotone.ca/downloads/${version}/monotone-${version}.tar.gz";
sha256 = "3149abf0e4433a0e14c5da805a04dbbc45b16086bc267d473b17e933407d839d"; sha256 = "fa677f09169afb71452598ce92ea376fe06037d17bfe650fb6aed17cead11453";
}; };
buildInputs = [boost zlib botan libidn lua pcre sqlite pkgconfig]; buildInputs = [boost zlib botan libidn lua pcre sqlite pkgconfig];
postInstall = '' postInstall = ''

@ -68,6 +68,8 @@ stdenv.mkDerivation rec {
inherit perlBindings pythonBindings; inherit perlBindings pythonBindings;
enableParallelBuilding = true;
meta = { meta = {
description = "A version control system intended to be a compelling replacement for CVS in the open source community"; description = "A version control system intended to be a compelling replacement for CVS in the open source community";
homepage = http://subversion.apache.org/; homepage = http://subversion.apache.org/;

@ -1,9 +1,9 @@
rec { rec {
version="0.5.0.10311"; version="0.5.0.10318";
name="veracity-0.5.0.10311"; name="veracity-0.5.0.10318";
hash="0ad30x8dbxrqz6d9jmq40rzkhx4z4mgbqb37zszh8bcf9v69kv6z"; hash="1b5azcxdgabd3c93y9qdyd966xvq6gmj7b1agbk43xmpgpdby07g";
url="http://download-us.sourcegear.com/Veracity/nightly/veracity-source-${version}.tar.gz"; 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";
} }

@ -180,4 +180,11 @@ builtins.listToAttrs
name = "oxygen-icons-4.5.2.tar.bz2"; name = "oxygen-icons-4.5.2.tar.bz2";
value = "0c8hy3vsqpm6n52v6w3igj78s0qy6cb3m6fm8qh795rpw495d5yj"; value = "0c8hy3vsqpm6n52v6w3igj78s0qy6cb3m6fm8qh795rpw495d5yj";
} }
] {
name = "kdepim-4.4.7.tar.bz2";
value = "0jjv1y23hwlkwdvqf3pcs37hzcnnxz5baa4vw1wznj4v816ixj1s";
}
{
name = "kdepim-runtime-4.4.7.tar.bz2";
value = "196gkz2jbphw4r9i91jaz6wd4wnyxavc1na2kpp9s9cvmiafcp7m";
}]

@ -15,7 +15,7 @@ kde.package {
license = "GPL"; license = "GPL";
kde = rec { kde = rec {
name = "kdepim-runtime"; name = "kdepim-runtime";
version = "4.4.6"; version = "4.4.7";
subdir = "kdepim-${version}/src"; subdir = "kdepim-${version}/src";
}; };
}; };

@ -22,7 +22,7 @@ kde.package {
homepage = http://pim.kde.org; homepage = http://pim.kde.org;
kde = rec { kde = rec {
name = "kdepim"; name = "kdepim";
version = "4.4.6"; version = "4.4.7";
subdir = "kdepim-${version}/src"; subdir = "kdepim-${version}/src";
}; };
}; };

@ -1,9 +1,9 @@
{ kde, automoc4, cmake, kdelibs, akonadi, kdepimlibs, boost, zlib, strigi, { 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 { kde.package {
buildInputs = [ automoc4 cmake kdelibs akonadi kdepimlibs boost zlib strigi 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 ]; patches = [ ./boost-1.44.diff ];

@ -3,11 +3,12 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "strigi-0.7.1"; name = "strigi-${version}";
version = "0.7.2";
src = fetchurl { src = fetchurl {
url = "http://www.vandenoever.info/software/strigi/${name}.tar.bz2"; url = "http://www.vandenoever.info/software/strigi/${name}.tar.bz2";
sha256 = "1cra4jlpd7cdvckwalfjrf2224qvhbkmxdd3sn02q9jhv830b0yi"; sha256 = "1f1ac27cjm5m4iwsgvd7nylr0md0a95przkbpsdq7l90wjxj390w";
}; };
includeAllQtDirs=true; includeAllQtDirs=true;

@ -1,5 +1,6 @@
x@{builderDefsPackage x@{builderDefsPackage
, fetchgit, qt4, ecl , fetchgit, qt4, ecl, xorgserver
, xkbcomp, xkeyboard_config
, ...}: , ...}:
builderDefsPackage builderDefsPackage
(a : (a :
@ -11,9 +12,9 @@ let
(builtins.attrNames (builtins.removeAttrs x helperArgNames)); (builtins.attrNames (builtins.removeAttrs x helperArgNames));
sourceInfo = rec { sourceInfo = rec {
method = "fetchgit"; method = "fetchgit";
rev = "7bd32f49c9965d8f7dc262a0f265b153b0a81ced"; rev = "14f62c94f952104d27d920ea662c8a61b370abe8";
url = "git://gitorious.org/eql/eql"; url = "git://gitorious.org/eql/eql";
hash = "f5f34b1a76f65b707446cd9bee4d7cef3b6f9b5b5d8d16fcccb70dbf855c2adf"; hash = "1ca31f0ad8cbc45d2fdf7b1e4059b1e612523c043f4688d7147c7e16fa5ba9ca";
version = rev; version = rev;
name = "eql-git-${version}"; name = "eql-git-${version}";
}; };
@ -29,7 +30,7 @@ rec {
inherit (sourceInfo) name version; inherit (sourceInfo) name version;
inherit buildInputs; inherit buildInputs;
phaseNames = ["setVars" "fixPaths" "buildEQLLib" "doQMake" "doMake" "buildLibEQL" "doDeploy"]; phaseNames = ["setVars" "fixPaths" "firstMetaTypeId" "buildEQLLib" "doQMake" "doMake" "doDeploy"];
setVars = a.fullDepEntry ('' setVars = a.fullDepEntry (''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC" 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 sed -re 's@[(]in-home "gui/.command-history"[)]@(concatenate '"'"'string (ext:getenv "HOME") "/.eql-gui-command-history")@' -i gui/gui.lisp
'') ["minInit" "doUnpack"]; '') ["minInit" "doUnpack"];
buildEQLLib = a.fullDepEntry ('' firstMetaTypeId = a.fullDepEntry (''
cd src cd src
ecl -shell make-eql-lib.lisp 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"]; '') ["doUnpack" "addInputs"];
buildEQLLib = a.fullDepEntry (''
ecl -shell make-eql-lib.lisp
qmake eql_lib.pro
make
'') ["doUnpack" "addInputs" "firstMetaTypeId"];
doQMake = a.fullDepEntry ('' doQMake = a.fullDepEntry (''
qmake qmake eql_exe.pro
'') ["addInputs"];
buildLibEQL = a.fullDepEntry (''
sed -i eql.pro -e 's@#CONFIG += eql_dll@CONFIG += eql_dll@'
qmake
make make
'') ["doUnpack" "addInputs"]; '') ["addInputs" "firstMetaTypeId" "buildEQLLib"];
doDeploy = a.fullDepEntry ('' doDeploy = a.fullDepEntry (''
cd .. cd ..
@ -61,7 +68,7 @@ rec {
ln -s $out/lib/eql/build-dir/eql $out/bin 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/*.h $out/include
ln -s $out/lib/eql/build-dir/src/gen/*.h $out/include/gen 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"]; '') ["minInit" "defEnsureDir"];
meta = { meta = {

@ -1,12 +1,12 @@
{ stdenv, fetchurl, file, libmhash, mlton, mysql, postgresql, sqlite }: { stdenv, fetchurl, file, libmhash, mlton, mysql, postgresql, sqlite }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "urweb"; pname = "urweb";
version = "20100603"; version = "20100603";
pname = "${name}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "http://www.impredicative.com/ur/${pname}.tgz"; url = "http://www.impredicative.com/ur/${name}.tgz";
sha256 = "1f2l09g3586w0fyd7i7wkfnqlqwrk7c1q9pngmd8jz69g5ysl808"; sha256 = "1f2l09g3586w0fyd7i7wkfnqlqwrk7c1q9pngmd8jz69g5ysl808";
}; };

@ -8,7 +8,7 @@ in
composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in { composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
version = "5.2.13"; version = "5.3.3";
name = "php_configurable-${version}"; name = "php_configurable-${version}";
@ -153,7 +153,7 @@ composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
src = args.fetchurl { src = args.fetchurl {
url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror"; url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror";
sha256 = "1nzaqwsxah7hc59931dk81n2fxyqaaa3yqyisj6akf9vbr9s4l1b"; sha256 = "16iz1cprpjw60nf6n5z6isdziyzj56i3r8161si58j65yd86g1zj";
name = "php-${version}.tar.bz2"; name = "php-${version}.tar.bz2";
}; };

@ -3,12 +3,12 @@
, libXt, libXmu, mesa, pkgconfig, which } : , libXt, libXmu, mesa, pkgconfig, which } :
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "racket"; pname = "racket";
version = "5.0.1"; version = "5.0.1";
pname = "${name}-${version}"; name = "${pname}-${version}";
src = fetchurl { 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"; sha256 = "18bzzzbxvr888lnpwggismq5grysrwlyg2dp026hhv5n2mk5sfvn";
}; };

@ -1,4 +1,4 @@
{ stdenv, fetchurl, readline }: { stdenv, fetchurl, readline, nspr }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.8.0-rc1"; version = "1.8.0-rc1";
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "374398699ac3fd802d98d642486cf6b0edc082a119c9c9c499945a0bc73e3413"; sha256 = "374398699ac3fd802d98d642486cf6b0edc082a119c9c9c499945a0bc73e3413";
}; };
buildInputs = [ readline ]; buildInputs = [ readline nspr ];
postUnpack = "sourceRoot=\${sourceRoot}/src"; postUnpack = "sourceRoot=\${sourceRoot}/src";
@ -22,5 +22,9 @@ stdenv.mkDerivation rec {
sed -e 's/ -ltermcap/ -lncurses/' -i ${makefile} 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";
} }

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

@ -1,13 +1,15 @@
{stdenv, fetchurl}: {stdenv, fetchurl, flac, libogg, libvorbis, pkgconfig }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libsndfile-1.0.21"; name = "libsndfile-1.0.23";
src = fetchurl { src = fetchurl {
url = "http://www.mega-nerd.com/libsndfile/files/${name}.tar.gz"; url = "http://www.mega-nerd.com/libsndfile/files/${name}.tar.gz";
sha256 = "0rzav3g865cr1s036r5pq0vx372g5cgvdkc2dlklgwqzani8743y"; sha256 = "0k9x4804gfh9d9zd4rm1v2izm8l716rzk4d6jlrjcf45b5sw7jal";
}; };
buildInputs = [pkgconfig flac libogg libvorbis];
meta = { meta = {
description = "Libsndfile, a C library for reading and writing files containing sampled sound"; description = "Libsndfile, a C library for reading and writing files containing sampled sound";

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

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

@ -7,13 +7,16 @@ stdenv.mkDerivation {
sha256 = "1kggvkkj609hj1xvpadzchki66i7ynz3qq4nc2hmfkf536fx8c03"; sha256 = "1kggvkkj609hj1xvpadzchki66i7ynz3qq4nc2hmfkf536fx8c03";
}; };
buildInputs = [ruby]; 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"; buildPhase = "true";
installPhase = '' installPhase = ''
ensureDir $out/lib ensureDir $out/lib
ensureDir $out/bin ensureDir $out/bin
ruby setup.rb config --prefix=$out export DESTDIR=$out
# --bindir $out/bin --libdir $out/lib ruby install.rb
ruby setup.rb setup
ruby setup.rb install
''; '';
} }

@ -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"; let name = "distcc";
version = "3.1"; version = "3.1";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "${name}-${version}"; name = "${name}-${version}";
src = fetchurl { src = fetchurl {
@ -15,6 +19,7 @@ stdenv.mkDerivation {
'' ''
configureFlagsArray=( CFLAGS="-O2 -fno-strict-aliasing" configureFlagsArray=( CFLAGS="-O2 -fno-strict-aliasing"
CXXFLAGS="-O2 -fno-strict-aliasing" CXXFLAGS="-O2 -fno-strict-aliasing"
${if sysconfDir == "" then "" else "--sysconfdir=${sysconfDir}"}
${if static then "LDFLAGS=-static" else ""} ${if static then "LDFLAGS=-static" else ""}
--with${if static == true || popt == null then "" else "out"}-included-popt --with${if static == true || popt == null then "" else "out"}-included-popt
--with${if avahi != null then "" else "out"}-avahi --with${if avahi != null then "" else "out"}-avahi
@ -22,6 +27,7 @@ stdenv.mkDerivation {
--without-gnome --without-gnome
--enable-rfc2553 --enable-rfc2553
) )
installFlags="sysconfdir=$out/etc";
''; '';
patches = [ ./20-minute-io-timeout.patch ]; patches = [ ./20-minute-io-timeout.patch ];
@ -32,5 +38,8 @@ stdenv.mkDerivation {
description = "a fast, free distributed C/C++ compiler"; description = "a fast, free distributed C/C++ compiler";
homepage = "http://distcc.org"; homepage = "http://distcc.org";
license = "GPL"; license = "GPL";
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.simons ];
}; };
} }

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

@ -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 <tarn.adams@gmail.com>
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, <roconnor@theorem.ca> 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
> <http://nixos.org/>
>
> 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                                      <http://r6.ca/>
> ``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.''
>

@ -64,9 +64,9 @@ runLaTeX
echo 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 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 if grep -q '\\citation' $auxFile; then
echo "RUNNING BIBTEX ON $auxFile..." echo "RUNNING BIBTEX ON $auxFile..."
auxBase=$(basename $auxFile .aux) auxBase=$(basename $auxFile .aux)
@ -75,6 +75,12 @@ for auxFile in $(find . -name "*.aux"); do
runNeeded=1 runNeeded=1
echo echo
fi 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 done

@ -13,6 +13,7 @@ sh archive --extract .
kernelVersion=$(cd ${kernel}/lib/modules && ls) kernelVersion=$(cd ${kernel}/lib/modules && ls)
kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/build) 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 ? # note: maybe the .config file should be used to determine this ?
@ -28,7 +29,15 @@ setSMP(){
# 3 # 3
# linux/autoconf.h may contain this: #define CONFIG_SMP 1 # 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" [ -e $src_file ] || die "$src_file not found"
if [ `cat $src_file | grep "#undef" | grep "CONFIG_SMP" -c` = 0 ]; then 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 # 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.. # make.sh contains some code figuring out whether to use these or not..
PAGE_ATTR_FIX=0 PAGE_ATTR_FIX=0
@ -83,7 +125,7 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
make CC=${CC} \ make CC=${CC} \
LIBIP_PREFIX=$(echo "$LIBIP_PREFIX" | sed -e 's|^\([^/]\)|../\1|') \ 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 \ KVER=$kernelVersion \
KDIR=$kernelBuild \ KDIR=$kernelBuild \
PAGE_ATTR_FIX=$PAGE_ATTR_FIX \ PAGE_ATTR_FIX=$PAGE_ATTR_FIX \

@ -19,8 +19,9 @@ let lib = stdenv.lib;
in in
# http://wiki.cchtml.com/index.php/Main_Page # http://wiki.cchtml.com/index.php/Main_Page
stdenv.mkDerivation { stdenv.mkDerivation rec {
name = "ati-drivers"; name = "ati-drivers-${version}";
version = "10-10-x86";
builder = ./builder.sh; builder = ./builder.sh;
@ -29,8 +30,8 @@ stdenv.mkDerivation {
src = src =
assert stdenv.system == "x86_64-linux"; assert stdenv.system == "x86_64-linux";
fetchurl { 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; 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 = "1rlqbfv729lray1c72ga4528kj7v4a5nmdznbgx7izwaxip2a45z"; sha256 = "1g71sj8qbarshw3hfds2v6y9q7lma3d36d0x79c7vvgllcd5c76x";
}; };
buildInputs = [xlibs.libXext xlibs.libX11 buildInputs = [xlibs.libXext xlibs.libX11

@ -204,20 +204,25 @@ in
}; };
guruplug_defconfig = guruplug_defconfig =
{ { # Default configuration for the GuruPlug. From
# Default configuration for the GuruPlug. From
# <http://www.openplug.org/plugwiki/images/c/c6/Guruplug-patchset-2.6.33.2.tar.bz2>. # <http://www.openplug.org/plugwiki/images/c/c6/Guruplug-patchset-2.6.33.2.tar.bz2>.
name = "guruplug-defconfig"; name = "guruplug-defconfig";
patch = ./guruplug-defconfig.patch; patch = ./guruplug-defconfig.patch;
}; };
guruplug_arch_number = 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 # GuruPlug. This is only needed when using this specific U-Boot
# binary. See # binary. See
# <http://www.plugcomputer.org/plugwiki/index.php/Compiling_Linux_Kernel_for_the_Plug_Computer>. # <http://www.plugcomputer.org/plugwiki/index.php/Compiling_Linux_Kernel_for_the_Plug_Computer>.
name = "guruplug-arch-number"; name = "guruplug-arch-number";
patch = ./guruplug-mach-type.patch; 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;
};
} }

@ -0,0 +1,51 @@
From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
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 <jeremy.fitzhardinge@citrix.com>
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;

@ -1,11 +1,13 @@
{stdenv, fetchurl, ncurses}: {stdenv, fetchurl, ncurses}:
assert stdenv.isLinux;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "psmisc-22.12"; name = "psmisc-22.13";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/psmisc/${name}.tar.gz"; url = "mirror://sourceforge/psmisc/${name}.tar.gz";
sha256 = "0ykak6gf835xj0wksqbw2rjny958prayhm2fv6r3fqfs06jl2bxs"; sha256 = "06d25e8ebb4722dbcede98a787c39a9ed341f8e58fde10c0b2d6b35990b35daa";
}; };
buildInputs = [ncurses]; buildInputs = [ncurses];

@ -6,16 +6,14 @@
assert sslSupport -> openssl != null; assert sslSupport -> openssl != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "2.2.16"; version = "2.2.17";
name = "apache-httpd-${version}"; name = "apache-httpd-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://apache/httpd/httpd-${version}.tar.bz2"; url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
sha1 = "ef92f5b3124fe5e9ba6121ea7f4bab8c014068f9"; sha256 = "017vc5g0dwjycai2qa8427vkw6wpa57ylhajw6nrmynq7qgg32l6";
}; };
#inherit sslSupport;
buildInputs = [perl apr aprutil pcre] ++ buildInputs = [perl apr aprutil pcre] ++
stdenv.lib.optional sslSupport openssl; stdenv.lib.optional sslSupport openssl;
@ -46,5 +44,8 @@ stdenv.mkDerivation rec {
description = "Apache HTTPD, the world's most popular web server"; description = "Apache HTTPD, the world's most popular web server";
homepage = http://httpd.apache.org/; homepage = http://httpd.apache.org/;
license = "ASL2.0"; license = "ASL2.0";
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.simons ];
}; };
} }

@ -29,5 +29,8 @@ stdenv.mkDerivation {
virtually any type of web application, but the result is generally virtually any type of web application, but the result is generally
more scalable. more scalable.
''; '';
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.simons ];
}; };
} }

@ -11,12 +11,17 @@ stdenv.mkDerivation {
buildInputs = [ apacheHttpd python ]; buildInputs = [ apacheHttpd python ];
patchPhase = '' 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 = { meta = {
homepage = "http://code.google.com/p/modwsgi/"; homepage = "http://code.google.com/p/modwsgi/";
description = "Host Python applications in Apache through the WSGI interface"; description = "Host Python applications in Apache through the WSGI interface";
license = "ASL2.0"; license = "ASL2.0";
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.simons ];
}; };
} }

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

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

@ -1,23 +1,20 @@
{ fetchurl, stdenv, zlib, docbook2x, pcre, curl, libxml2, libevent, perl { 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 { stdenv.mkDerivation {
name = "seeks-${version}"; name = "seeks-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/seeks/solo/seeks_solo_stable-${version}.src.tar.gz"; url = "mirror://sourceforge/seeks/solo/seeks-${version}.tar.gz";
sha256 = "0hjaqwcaa19qbq28y5gq0415fz10vx034aghqa01hrhhl9yrjvc4"; sha256 = "07gkf7666bx5fk3zk0s47fj659czlyk3ag9bihkl5mdjfikb6k46";
}; };
buildInputs = buildInputs =
[ zlib docbook2x pcre curl libxml2 libevent perl [ zlib docbook2x pcre curl libxml2 libevent perl pkgconfig
autoconf automake libtool protobuf tokyocabinet
]; ];
# The tarball doesn't contain `configure' & co. Sigh...
preConfigure = "autoreconf -vfi";
configureFlags = configureFlags =
[ # Enable the built-in web server providing a web search interface. [ # Enable the built-in web server providing a web search interface.
# See <http://www.seeks-project.info/wiki/index.php/Seeks_On_Web>. # See <http://www.seeks-project.info/wiki/index.php/Seeks_On_Web>.

@ -1,11 +1,12 @@
{stdenv, fetchurl, perl, readline, rsh, ssh, pam}: {stdenv, fetchurl, perl, readline, rsh, ssh, pam}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "pdsh-2.18"; name = "pdsh-2.22";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/pdsh/${name}.tar.bz2"; url = "mirror://sourceforge/pdsh/${name}.tar.bz2";
sha256 = "8c94acb17b4af8a9f553db180b4d5745c9c98844a5dc070e2ce80590e8e8a539"; sha256 = "1b3c5dbaa8nhw2a5h89khs501m6ywg3zfzv7zahgsvjc8zcnfg8q";
}; };
buildInputs = [perl readline ssh pam]; buildInputs = [perl readline ssh pam];
/* pdsh uses pthread_cancel(), which requires libgcc_s.so.1 to be /* 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"; homepage = "https://computing.llnl.gov/linux/pdsh.html";
description = "A high-performance, parallel remote shell utility."; description = "A high-performance, parallel remote shell utility.";
license = "GPLv2"; 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; platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.simons ]; maintainers = [ stdenv.lib.maintainers.simons ];
}; };

@ -10,6 +10,8 @@
, libxml2 ? null , libxml2 ? null
, docbook5_xsl ? null, libxslt ? null , docbook5_xsl ? null, libxslt ? null
, docbook5 ? null, docbook_xml_dtd_43 ? null , docbook5 ? null, docbook_xml_dtd_43 ? null
, boehmgc ? null
, pkgconfig ? null
, configureFlags ? [] , configureFlags ? []
, lib , lib
, enableScripts ? [] , enableScripts ? []
@ -32,6 +34,8 @@ stdenv.mkDerivation {
++ (if docbook_xml_dtd_43 != null then [docbook_xml_dtd_43] else []) ++ (if docbook_xml_dtd_43 != null then [docbook_xml_dtd_43] else [])
++ (if w3m != null then [w3m] else []) ++ (if w3m != null then [w3m] else [])
++ (if libxml2 != null then [libxml2] else []) ++ (if libxml2 != null then [libxml2] else [])
++ (if boehmgc != null then [boehmgc] else [])
++ (if pkgconfig != null then [pkgconfig] else [])
; ;
preConfigure = preConfigure =

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

@ -608,6 +608,8 @@ let
file = callPackage ../tools/misc/file { }; file = callPackage ../tools/misc/file { };
fileschanged = callPackage ../tools/misc/fileschanged { };
findutils = findutils =
if stdenv.isDarwin if stdenv.isDarwin
then findutils4227 then findutils4227
@ -817,6 +819,8 @@ let
lsh = callPackage ../tools/networking/lsh { }; lsh = callPackage ../tools/networking/lsh { };
lxc = callPackage ../tools/system/lxc { };
lzma = xz; lzma = xz;
xz = callPackage ../tools/compression/xz { }; xz = callPackage ../tools/compression/xz { };
@ -1053,7 +1057,7 @@ let
proxytunnel = callPackage ../tools/misc/proxytunnel { }; proxytunnel = callPackage ../tools/misc/proxytunnel { };
psmisc = callPackage ../tools/misc/psmisc { }; psmisc = callPackage ../os-specific/linux/psmisc { };
pstoedit = callPackage ../tools/graphics/pstoedit { }; pstoedit = callPackage ../tools/graphics/pstoedit { };
@ -1304,6 +1308,8 @@ let
unrar = callPackage ../tools/archivers/unrar { }; unrar = callPackage ../tools/archivers/unrar { };
unarj = callPackage ../tools/archivers/unarj { };
unshield = callPackage ../tools/archivers/unshield { }; unshield = callPackage ../tools/archivers/unshield { };
unzip = unzip552; unzip = unzip552;
@ -2372,9 +2378,7 @@ let
ddd = callPackage ../development/tools/misc/ddd { }; ddd = callPackage ../development/tools/misc/ddd { };
distcc = callPackage ../development/tools/misc/distcc { distcc = callPackage ../development/tools/misc/distcc { };
static = false;
};
docutils = builderDefsPackage (import ../development/tools/documentation/docutils) { docutils = builderDefsPackage (import ../development/tools/documentation/docutils) {
inherit python pil makeWrapper; inherit python pil makeWrapper;
@ -3278,6 +3282,8 @@ let
libmpeg2 = mpeg2dec; libmpeg2 = mpeg2dec;
}; };
libfixposix = callPackage ../development/libraries/libfixposix {};
libffcall = builderDefsPackage (import ../development/libraries/libffcall) { libffcall = builderDefsPackage (import ../development/libraries/libffcall) {
inherit fetchcvs; inherit fetchcvs;
}; };
@ -3722,6 +3728,8 @@ let
postgis = callPackage ../development/libraries/postgis { }; postgis = callPackage ../development/libraries/postgis { };
protobuf = callPackage ../development/libraries/protobuf { };
pth = callPackage ../development/libraries/pth { }; pth = callPackage ../development/libraries/pth { };
ptlib = callPackage ../development/libraries/ptlib {}; ptlib = callPackage ../development/libraries/ptlib {};
@ -3883,6 +3891,8 @@ let
tnt = callPackage ../development/libraries/tnt { }; tnt = callPackage ../development/libraries/tnt { };
tokyocabinet = callPackage ../development/libraries/tokyo-cabinet { };
unicap = callPackage ../development/libraries/unicap {}; unicap = callPackage ../development/libraries/unicap {};
unixODBC = callPackage ../development/libraries/unixODBC { }; unixODBC = callPackage ../development/libraries/unixODBC { };
@ -4602,6 +4612,7 @@ let
kernelPatches.cifs_timeout kernelPatches.cifs_timeout
kernelPatches.no_xsave kernelPatches.no_xsave
kernelPatches.dell_rfkill kernelPatches.dell_rfkill
kernelPatches.xen_pvclock_resume
]; ];
}; };
@ -6257,9 +6268,7 @@ let
gconf = gnome.GConf; gconf = gnome.GConf;
}; };
/* does'nt work yet i686-linux only (32bit version)
teamspeak_client = callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { }; teamspeak_client = callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { };
*/
taskJuggler = callPackage ../applications/misc/taskjuggler { taskJuggler = callPackage ../applications/misc/taskjuggler {
qt = qt3; qt = qt3;
@ -6301,7 +6310,7 @@ let
uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) { uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) {
inherit pkgconfig webkit makeWrapper; inherit pkgconfig webkit makeWrapper;
inherit (gtkLibs) gtk glib; inherit (gtkLibs) gtk glib;
inherit (xlibs) libX11; inherit (xlibs) libX11 kbproto;
libsoup = gnome28.libsoup_2_31; libsoup = gnome28.libsoup_2_31;
}; };
@ -6553,6 +6562,10 @@ let
crack_attack = callPackage ../games/crack-attack { }; crack_attack = callPackage ../games/crack-attack { };
dwarf_fortress = callPackage ../games/dwarf-fortress {
gnomegtk = gnome.gtk;
};
eduke32 = callPackage ../games/eduke32 { }; eduke32 = callPackage ../games/eduke32 { };
egoboo = callPackage ../games/egoboo { }; egoboo = callPackage ../games/egoboo { };
@ -6888,11 +6901,20 @@ let
### SCIENCE / ELECTRONICS ### 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 { }; kicad = callPackage ../applications/science/electronics/kicad { };
ngspice = callPackage ../applications/science/electronics/ngspice { }; 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 { }; xoscope = callPackage ../applications/science/electronics/xoscope { };
@ -7038,8 +7060,10 @@ let
nixCustomFun = src: preConfigure: enableScripts: configureFlags: nixCustomFun = src: preConfigure: enableScripts: configureFlags:
import ../tools/package-management/nix/custom.nix { import ../tools/package-management/nix/custom.nix {
inherit fetchurl stdenv perl curl bzip2 openssl src preConfigure automake inherit fetchurl stdenv perl curl bzip2 openssl src preConfigure automake
autoconf libtool configureFlags enableScripts lib bison libxml2; autoconf libtool configureFlags enableScripts lib libxml2 boehmgc
flex = flex2533; pkgconfig;
flex = flex2535;
bison = bison24;
aterm = aterm25; aterm = aterm25;
db4 = db45; db4 = db45;
inherit docbook5_xsl libxslt docbook5 docbook_xml_dtd_43 w3m; inherit docbook5_xsl libxslt docbook5 docbook_xml_dtd_43 w3m;

@ -562,6 +562,8 @@ rec {
sha256 = "00jhzl3s9xdkbj32h1kq1swk8wpx9zky7qfda40n8mb204xjcn9h"; sha256 = "00jhzl3s9xdkbj32h1kq1swk8wpx9zky7qfda40n8mb204xjcn9h";
}; };
buildInputs = [ pkgs.pycrypto ];
doCheck = false; doCheck = false;
meta = { 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 { setuptoolsDarcs = buildPythonPackage {
name = "setuptools-darcs-1.2.9"; name = "setuptools-darcs-1.2.9";