* Sync with the trunk.

svn path=/nixpkgs/branches/kde-4.7/; revision=27796
This commit is contained in:
Eelco Dolstra 2011-07-15 10:02:22 +00:00
commit f4ac1126ff
116 changed files with 2066 additions and 464 deletions

View File

@ -1,17 +1,20 @@
{stdenv, fetchurl, libao, libmad, libid3tag, zlib}:
stdenv.mkDerivation {
name = "mpg321-0.2.10";
stdenv.mkDerivation rec {
name = "mpg321-0.2.13-2";
src = fetchurl {
url = mirror://sourceforge/mpg321/mpg321-0.2.10.tar.gz;
sha256 = "db0c299592b8f1f704f41bd3fc3a2bf138658108588d51af61638c551af1b0d4";
url = "mirror://sourceforge/mpg321/0.2.13/${name}.tar.gz";
sha256 = "0zx9xyr97frlyrwyk2msm9h1sn2b84vqaxcy5drbzcd2n585lwlx";
};
buildInputs = [libao libid3tag libmad zlib];
meta = {
description = "Command-line MP3 player.";
description = "mpg321, a command-line MP3 player";
homepage = http://mpg321.sourceforge.net/;
license = "GPLv2";
maintainers = [ stdenv.lib.maintainers.ludo ];
platforms = stdenv.lib.platforms.gnu;
};
}

View File

@ -1,12 +0,0 @@
source "$stdenv/setup" || exit 1
unpackPhase && \
cd bbdb-*.* && patchPhase && \
./configure --prefix="$out" \
--with-package-dir="$out/share/emacs/site-lisp" && \
make && make install-pkg && \
mkdir -p "$out/info" && \
make -C texinfo install-pkg && \
mv "$out/share/emacs/site-lisp/lisp/bbdb/"* \
"$out/share/emacs/site-lisp" && \
rm -rf "$out/share/emacs/site-lisp/lisp"

View File

@ -11,7 +11,20 @@ stdenv.mkDerivation {
patches = [ ./install-infodir.patch ];
buildInputs = [emacs texinfo ctags];
builder = ./builder.sh;
configureFlags = "--with-package-dir=$$out/share/emacs/site-lisp";
preInstall = "ensureDir $out/info";
installTargets = "install-pkg texinfo";
postInstall = ''
mv $out/info $out/share/
mv "$out/share/emacs/site-lisp/lisp/bbdb/"* $out/share/emacs/site-lisp/
mv $out/share/emacs/site-lisp/etc/bbdb $out/share/
rm -rf $out/share/emacs/site-lisp/{lisp,etc}
mv bits $out/share/bbdb/
# Make optional modules from bbdb available for import, but symlink
# them into the site-lisp directory to make it obvious that they are
# not a genuine part of the distribution.
ln -s "$out/share/bbdb/bits/"*.el $out/share/emacs/site-lisp/
'';
meta = {
description = "The Insidious Big Brother Database (BBDB), a contact management utility for Emacs";

View File

@ -1,18 +1,18 @@
{ fetchurl, stdenv, openssl, db4, boost, zlib, glib, libSM, gtk, wxGTK, miniupnpc }:
stdenv.mkDerivation rec {
version = "0.3.22";
version = "0.3.24";
name = "bitcoin-${version}";
src = fetchurl {
url = "mirror://sourceforge/project/bitcoin/Bitcoin/${name}/${name}-linux.tar.gz";
sha256 = "1nyji3xjyvw91snnbxk71dih3yf292d7mvkakw0nkqplbap14xjb";
url = "mirror://sourceforge/project/bitcoin/Bitcoin/${name}/${name}-src.tar.gz";
sha256 = "18n8i37c478b275m2x82411i1fsw8l34qm1k65ynnw38fpaj4h3r";
};
buildInputs = [ openssl db4 boost zlib glib libSM gtk wxGTK miniupnpc ];
preConfigure = ''
cd src/src
cd src
substituteInPlace makefile.unix \
--replace "-Wl,-Bstatic" "" \
--replace "-Wl,-Bdynamic" "" \
@ -21,8 +21,6 @@ stdenv.mkDerivation rec {
makefile = "makefile.unix";
preBuild = "make -f ${makefile} clean";
buildFlags = "bitcoin bitcoind";
installPhase = ''

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, perl, gettext, makeWrapper, lib, PerlMagick,
TextMarkdown, URI, HTMLParser, HTMLScrubber, HTMLTemplate, TimeDate,
CGISession, CGIFormBuilder, DBFile, LocaleGettext, RpcXML, XMLSimple
{ stdenv, fetchurl, perl, gettext, makeWrapper, lib, PerlMagick, YAML
, TextMarkdown, URI, HTMLParser, HTMLScrubber, HTMLTemplate, TimeDate
, CGISession, CGIFormBuilder, DBFile, LocaleGettext, RpcXML, XMLSimple
, gitSupport ? false
, git ? null
, monotoneSupport ? false
@ -13,19 +13,19 @@ assert monotoneSupport -> (monotone != null);
let
name = "ikiwiki";
version = "3.20100704";
version = "3.20110707";
in
stdenv.mkDerivation {
name = "${name}-${version}";
src = fetchurl {
url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz";
sha256 = "1kakh2bf9k0fhvqhn9p9g4wwck64if2y9z23zmlcrm02bw1m6lr9";
sha256 = "b51fa7452a900212ab1c8c879227b83a688c10f770552aee61944695f8c6f1bf";
};
buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate
TimeDate gettext makeWrapper DBFile CGISession CGIFormBuilder LocaleGettext
RpcXML XMLSimple PerlMagick]
RpcXML XMLSimple PerlMagick YAML]
++ stdenv.lib.optionals gitSupport [git]
++ stdenv.lib.optionals monotoneSupport [monotone];
@ -42,11 +42,11 @@ stdenv.mkDerivation {
configurePhase = "perl Makefile.PL PREFIX=$out";
postInstall = ''
for a in $out/bin/*; do
for a in "$out/bin/"*; do
wrapProgram $a --suffix PERL5LIB : $PERL5LIB --prefix PATH : ${perl}/bin:$out/bin \
${lib.optionalString (git != null)
${lib.optionalString gitSupport
''--prefix PATH : ${git}/bin \''}
${lib.optionalString (monotone != null)
${lib.optionalString monotoneSupport
''--prefix PATH : ${monotone}/bin \''}
${lib.concatMapStrings (x: "--prefix PATH : ${x}/bin ") extraUtils}
done

View File

@ -15,14 +15,14 @@ assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
rec {
firefoxVersion = "5.0";
firefoxVersion = "5.0.1";
xulVersion = "5.0"; # this attribute is used by other packages
xulVersion = "5.0.1"; # this attribute is used by other packages
src = fetchurl {
url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
sha1 = "22b7b4751173c2142a0f09cca1aebc717d97b45a";
sha1 = "c93b3513e160d87535a9d61c5e06a6a701e9cd3e";
};

View File

@ -53,9 +53,9 @@ let
url = http://download.macromedia.com/pub/labs/flashplayer10/flashplayer_square_p2_32bit_debug_linux_092710.tar.gz;
sha256 = "11w3mxa39l4mnlsqzlwbdh1sald549afyqbx2kbid7in5qzamlcc";
} else {
version = "10.3.181.14";
version = "10.3.181.34";
url = http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_10_linux.tar.gz;
sha256 = "00sh25g2h7yq9kwrqv9d0fgrd6n87i7biycgkxm46sh65mxb1aif";
sha256 = "1k7gq0rynrv4vwr06dhjmhb633vm5a961bsqi6s8aqk61bdzhsia";
}
else throw "flashplayer is not supported on this platform";

View File

@ -1,39 +1,55 @@
{ fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk
, libglade, libgnomeui, libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant
, gettext, intltool, perl, guile, slibGuile, swig, isocodes, bzip2
, makeWrapper }:
{ fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk, libgnomeui, libofx
, libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui
, intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper
}:
stdenv.mkDerivation rec {
name = "gnucash-2.2.9";
/* If you experience GConf errors when running GnuCash on NixOS, see
* http://wiki.nixos.org/wiki/Solve_GConf_errors_when_running_GNOME_applications
* for a possible solution.
*/
let
name = "gnucash-2.4.7";
in
stdenv.mkDerivation {
inherit name;
src = fetchurl {
url = "http://ftp.at.gnucash.org/pub/gnucash/gnucash/sources/stable/${name}.tar.bz2";
sha256 = "0sj83mmshx50122n1i3y782p4b54k37n7sb4vldmqmhwww32925i";
url = "mirror://sourceforge/gnucash/${name}.tar.bz2";
sha256 = "eeb3b17f9081a544f8705db735df88ab3f468642a1d01552ea4e36bcb5b0730e";
};
buildInputs = [
pkgconfig libxml2 gconf glib gtk
libglade libgnomeui libgtkhtml gtkhtml libgnomeprint goffice enchant
gettext intltool perl guile slibGuile swig isocodes bzip2 makeWrapper
pkgconfig libxml2 gconf glib gtk libgnomeui libgtkhtml gtkhtml
libgnomeprint goffice enchant gettext intltool perl guile slibGuile
swig isocodes bzip2 makeWrapper libofx
];
preConfigure = ''
# The `.gnucash' directory, used by the test suite.
export GNC_DOT_DIR="$PWD/dot-gnucash"
echo "\$GNC_DOT_DIR set to \`$GNC_DOT_DIR'"
'';
configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx";
postInstall = ''
sed -i $out/bin/update-gnucash-gconf \
-e 's|--config-source=[^ ]* --install-schema-file|--makefile-install-rule|'
for prog in "$out/bin/"*
do
wrapProgram "$prog" \
--set SCHEME_LIBRARY_PATH "$SCHEME_LIBRARY_PATH" \
--prefix GUILE_LOAD_PATH ":" "$GUILE_LOAD_PATH"
wrapProgram "$prog" \
--set SCHEME_LIBRARY_PATH "$SCHEME_LIBRARY_PATH" \
--prefix GUILE_LOAD_PATH ":" "$GUILE_LOAD_PATH" \
--prefix LD_LIBRARY_PATH ":" "${libgnomeui}/lib/libglade/2.0" \
--prefix LD_LIBRARY_PATH ":" "${libbonoboui}/lib/libglade/2.0" \
--set GCONF_CONFIG_SOURCE 'xml::~/.gconf' \
--prefix PATH ":" "${gconf}/bin" \
--suffix PATH ":" "$out/bin"
done
'';
# The following settings fix failures in the test suite. It's not required otherwise.
NIX_LDFLAGS = "-rpath=${guile}/lib";
preCheck = "export GNC_DOT_DIR=$PWD/dot-gnucash";
doCheck = true;
enableParallelBuilding = true;
meta = {
description = "GnuCash, a personal and small-business financial-accounting application";
@ -52,7 +68,7 @@ stdenv.mkDerivation rec {
homepage = http://www.gnucash.org/;
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ];
platforms = stdenv.lib.platforms.gnu;
};
}

View File

@ -1,48 +1,53 @@
# TODO: fix a problem with patchelf(?)
# Patchelf fails to hard-code the library paths to ledger's
# libamounts.so and libledger-2.6.3 shared objects:
#
# $ ldd ~/.nix-profile/bin/ledger
# linux-vdso.so.1 => (0x00007fff513ff000)
# libamounts.so.0 => not found
# libledger-2.6.3.so => not found
# libstdc++.so.6 => /nix/store/3r8kfi33y3lbrsvlx8vzwm74h8178y35-gcc-4.5.1/lib/../lib64/libstdc++.so.6 (0x00007f1f0feee000)
# libpcre.so.0 => /nix/store/kfhy189arpj3wrfzpgw8p9ac4g4hfgca-pcre-8.10/lib/libpcre.so.0 (0x00007f1f0fcd3000)
# libgmp.so.3 => /nix/store/ji6py9m9w2ray1bmpkmgig9llj1i2ggf-gmp-4.3.2/lib/libgmp.so.3 (0x00007f1f0fa7f000)
# libm.so.6 => /nix/store/vxycd107wjbhcj720hzkw2px7s7kr724-glibc-2.12.2/lib/libm.so.6 (0x00007f1f0f7fd000)
# libgcc_s.so.1 => /nix/store/3r8kfi33y3lbrsvlx8vzwm74h8178y35-gcc-4.5.1/lib/../lib64/libgcc_s.so.1 (0x00007f1f0f5e8000)
# libc.so.6 => /nix/store/vxycd107wjbhcj720hzkw2px7s7kr724-glibc-2.12.2/lib/libc.so.6 (0x00007f1f0f27d000)
# /nix/store/vxycd107wjbhcj720hzkw2px7s7kr724-glibc-2.12.2/lib/ld-linux-x86-64.so.2 (0x00007f1f101ef000)
#
# Fortunately, libtools builds the program with proper paths hard-coded
# alread, so we don't need patchelf. Phew!
{stdenv, fetchurl, emacs, gmp, pcre}:
{stdenv, fetchurl, emacs, gmp, pcre, expat}:
let
pname = "ledger";
version = "2.6.3";
name = "${pname}-${version}";
name = "ledger-2.6.3";
in
stdenv.mkDerivation {
inherit name;
src = fetchurl {
url = "https://github.com/downloads/jwiegley/ledger/ledger-${version}.tar.gz";
url = "https://github.com/downloads/jwiegley/ledger/${name}.tar.gz";
sha256 = "05zpnypcwgck7lwk00pbdlcwa347xsqifxh4zsbbn01m98bx1v5k";
};
buildInputs = [ emacs gmp pcre ];
buildInputs = [ emacs gmp pcre expat ];
patches = [ ./const.patch ];
# Something goes wrong with pathelf...
# this is a small workaround: adds a small shell script for
# setting LD_LIBRARY_PATH
postInstall = ''
cd $out/bin
mv ledger ledger.bin
echo "#!/bin/sh" > ledger
echo "LD_LIBRARY_PATH=$out/lib $out/bin/ledger.bin "'"$@"' >> ledger
chmod +x ledger
'';
configureFlags = "CPPFLAGS=-DNDEBUG CFLAGS=-O3 CXXFLAGS=-O3";
dontPatchELF = true;
doCheck = true;
meta = {
description =
"A double-entry accounting system with a command-line reporting interface";
homepage = "http://ledger-cli.org/";
description = "A double-entry accounting system with a command-line reporting interface";
license = "BSD";
longDescription = ''
Ledger is a powerful, double-entry accounting system that is accessed
from the UNIX command-line. This may put off some users, as there is
no flashy UI, but for those who want unparalleled reporting access to
their data, there really is no alternative.
'';
homepage = http://wiki.github.com/jwiegley/ledger;
license = "BSD";
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.simons ];
};
}

View File

@ -0,0 +1,41 @@
{ stdenv, fetchurl, SDL, SDL_ttf, SDL_image, mesa, lua5_0 }:
let
name = "gravit-0.4.2";
in
stdenv.mkDerivation {
inherit name;
src = fetchurl {
url = "http://gravit.slowchop.com/dist/${name}.tar.gz";
sha256 = "f37f3ac256a4acbf575f709addaae8cb01eda4f85537affa28c45f2df6fddb07";
};
buildInputs = [mesa SDL SDL_ttf SDL_image lua5_0];
configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3";
postInstall = ''
mv $out/etc/gravit $out/share/gravit/sample-config
rmdir $out/etc
'';
meta = {
homepage = "http://gravit.slowchop.com";
description = "A beautiful OpenGL-based gravity simulator";
license = "GPLv2";
longDescription = ''
Gravit is a gravity simulator which runs under Linux, Windows and
Mac OS X. It uses Newtonian physics using the Barnes-Hut N-body
algorithm. Although the main goal of Gravit is to be as accurate
as possible, it also creates beautiful looking gravity patterns.
It records the history of each particle so it can animate and
display a path of its travels. At any stage you can rotate your
view in 3D and zoom in and out.
'';
platforms = stdenv.lib.platforms.mesaPlatforms;
maintainers = [ stdenv.lib.maintainers.simons ];
};
}

View File

@ -0,0 +1,31 @@
{stdenv, fetchurl, cmake, freetype, libpng, mesa, gettext, openssl, qt4, perl, libiconv}:
let
name = "stellarium-0.11.0";
in
stdenv.mkDerivation {
inherit name;
src = fetchurl {
url = "mirror://sourceforge/stellarium/${name}.tar.gz";
sha256 = "dbedf47dd0744fb325d67d63d1279101be7f4259af2a5e8027f1072012dd2587";
};
buildInputs = [ cmake freetype libpng mesa gettext openssl qt4 perl libiconv ];
cmakeFlags = "-DINTL_INCLUDE_DIR= -DINTL_LIBRARIES=";
preConfigure = ''
sed -i -e '/typedef void (\*__GLXextFuncPtr)(void);/d' src/core/external/GLee.h
'';
enableParallelBuilding = true;
meta = {
description = "an free open source planetarium";
homepage = http://stellarium.org/;
license = "GPL2";
platforms = stdenv.lib.platforms.mesaPlatforms;
maintainers = [ stdenv.lib.maintainers.simons ];
};
}

View File

@ -0,0 +1,37 @@
{ stdenv, fetchurl, bison, flex, texinfo, readline, texLive }:
let
name = "eukleides";
version = "1.5.4";
in
stdenv.mkDerivation {
name = "${name}-${version}";
src = fetchurl {
url = "http://www.eukleides.org/files/${name}-${version}.tar.bz2";
sha256 = "0s8cyh75hdj89v6kpm3z24i48yzpkr8qf0cwxbs9ijxj1i38ki0q";
};
buildInputs = [bison flex texinfo readline texLive];
preConfigure = "sed -i 's/ginstall-info/install-info/g' doc/Makefile";
installPhase = "ensureDir $out/bin ; make PREFIX=$out install";
meta = {
description = "Geometry Drawing Language";
homepage = "http://www.eukleides.org/";
license = "GPLv2";
longDescription = ''
Eukleides is a computer language devoted to elementary plane
geometry. It aims to be a fairly comprehensive system to create
geometric figures, either static or dynamic. Eukleides allows to
handle basic types of data: numbers and strings, as well as
geometric types of data: points, vectors, sets (of points), lines,
circles and conics.
'';
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.simons ];
};
}

View File

@ -1,8 +1,12 @@
{ stdenv, fetchurl, clisp, texinfo, perl }:
{ stdenv, fetchurl, sbcl, texinfo, perl, makeWrapper, rlwrap ? null, tk ? null, gnuplot ? null }:
let
name = "maxima";
version = "5.24.0";
searchPath =
stdenv.lib.makeSearchPath "bin"
(stdenv.lib.filter (x: x != null) [ sbcl rlwrap tk gnuplot ]);
in
stdenv.mkDerivation {
name = "${name}-${version}";
@ -12,11 +16,25 @@ stdenv.mkDerivation {
sha256 = "137crv2f6hxwqrv75m8679vrlbnqgg5ww755cs4kihs1cy03bssq";
};
preConfigure = ''
configureFlags="--infodir=$out/share/info --mandir=$out/share/man"
buildInputs = [sbcl texinfo perl makeWrapper];
postInstall = ''
# Make sure that maxima can find its runtime dependencies.
for prog in "$out/bin/"*; do
wrapProgram "$prog" --prefix PATH ":" "${searchPath}"
done
# Move emacs modules and documentation into the right place.
ensureDir $out/share/emacs $out/share/doc
ln -s ../maxima/${version}/emacs $out/share/emacs/site-lisp
ln -s ../maxima/${version}/doc $out/share/doc/maxima
'';
buildInputs = [clisp texinfo perl];
# The regression test suite has minor failures, but curiously enough
# this doesn't seem to abort the build process:
# <http://sourceforge.net/tracker/?func=detail&aid=3365831&group_id=4933&atid=104933>.
doCheck = true;
enableParallelBuilding = true;
meta = {
description = "Maxima computer algebra system";

View File

@ -1,8 +1,4 @@
{ stdenv, fetchurl, maxima, wxGTK }:
# TODO: Build the correct ${maxima}/bin/maxima store path into wxMaxima so that
# it can run that binary without relying on $PATH, /etc/wxMaxima.conf, or
# ~/.wxMaxima.
{ stdenv, fetchurl, maxima, wxGTK, makeWrapper }:
let
name = "wxmaxima";
@ -16,7 +12,18 @@ stdenv.mkDerivation {
sha256 = "1dfwh5ka125wr6wxzyiwz16lk8kaf09rb6lldzryjwh8zi7yw8dm";
};
buildInputs = [maxima wxGTK];
buildInputs = [wxGTK maxima makeWrapper];
postInstall = ''
# Make sure that wxmaxima can find its runtime dependencies.
for prog in "$out/bin/"*; do
wrapProgram "$prog" --prefix PATH ":" "${maxima}/bin"
done
'';
doCheck = true;
enableParallelBuilding = true;
meta = {
description = "Cross platform GUI for the computer algebra system Maxima.";

View File

@ -29,11 +29,11 @@ rec {
}));
# The full-featured Git.
gitFull = lowPrio (appendToName "full" (git.override {
gitFull = appendToName "full" (git.override {
svnSupport = true;
guiSupport = true;
sendEmailSupport = stdenv.isDarwin == false;
}));
});
gitGit = import ./git/git-git.nix {
inherit fetchurl sourceFromHead stdenv curl openssl zlib expat perl gettext
@ -46,8 +46,9 @@ rec {
};
gitAnnex = lib.makeOverridable (import ./git-annex) {
inherit stdenv fetchurl libuuid rsync findutils curl perl;
inherit (haskellPackages) ghc MissingH utf8String QuickCheck2 pcreLight SHA dataenc;
inherit stdenv fetchurl libuuid rsync findutils curl perl git ikiwiki which;
inherit (haskellPackages) ghc MissingH utf8String QuickCheck2 pcreLight SHA dataenc
HTTP testpack;
};
qgit = import ./qgit {

View File

@ -1,17 +1,22 @@
{ stdenv, fetchurl, ghc, libuuid, rsync, findutils, curl, perl, MissingH, utf8String, QuickCheck2, pcreLight, SHA, dataenc }:
{ stdenv, fetchurl, ghc, libuuid, rsync, findutils, curl, perl, MissingH, utf8String
, QuickCheck2, pcreLight, SHA, dataenc, HTTP, testpack, git, ikiwiki, which }:
let
version = "0.20110427";
version = "3.20110707";
in
stdenv.mkDerivation {
name = "git-annex-${version}";
src = fetchurl {
url = "http://ftp.de.debian.org/debian/pool/main/g/git-annex/git-annex_${version}.tar.gz";
sha256 = "1vbmkvf9hlnfcaqsyi1ay2rr835j49bxqyfdi3v3373pdfd6195z";
sha256 = "0yyrp94przjmdljd97q5p0yll9aa1jdajrvlhl4m1yq0ngx6x4rr";
};
buildInputs = [ghc libuuid rsync findutils curl perl MissingH utf8String QuickCheck2 pcreLight SHA dataenc];
buildInputs = [ghc libuuid rsync findutils curl perl MissingH utf8String QuickCheck2 pcreLight
SHA dataenc HTTP testpack git ikiwiki which];
checkTarget = "test";
doCheck = true;
preConfigure = ''
makeFlagsArray=( PREFIX=$out )
@ -19,7 +24,9 @@ stdenv.mkDerivation {
'';
meta = {
description = "Manage files with git, without checking the file contents into git";
homepage = "http://git-annex.branchable.com/";
description = "Manage files with git without checking them into git";
license = "GPLv3+";
longDescription = ''
Git-annex allows managing files with git, without checking the
@ -38,9 +45,7 @@ stdenv.mkDerivation {
control.
'';
license = "GPLv3+";
homepage = "http://git-annex.branchable.com/";
platforms = stdenv.lib.platforms.unix;
platforms = stdenv.lib.platforms.haskellPlatforms;
maintainers = [ stdenv.lib.maintainers.simons ];
};
}

View File

@ -12,11 +12,11 @@ let
in
stdenv.mkDerivation rec {
name = "git-1.7.5.1";
name = "git-1.7.6";
src = fetchurl {
url = "mirror://kernel/software/scm/git/${name}.tar.bz2";
sha256 = "037q4nl17i1q9zrlp4k38dplv384ay9bwb1s96y8zrh0jg2s3m51";
sha256 = "778795cece63cd758192378f3a999870cea290181b3a4c9de573c77192561082";
};
patches = [ ./docbook2texi.patch ];
@ -41,16 +41,19 @@ stdenv.mkDerivation rec {
chmod +x $1
}
# Install Emacs mode.
echo "installing Emacs mode..."
# Install contrib stuff.
ensureDir $out/share/git
mv contrib $out/share/git/
ensureDir $out/share/emacs/site-lisp
cp -p contrib/emacs/*.el $out/share/emacs/site-lisp
ln -s "$out/share/git/contrib/emacs/"*.el $out/share/emacs/site-lisp/
ensureDir $out/etc/bash_completion.d
ln -s $out/share/git/contrib/completion/git-completion.bash $out/etc/bash_completion.d/
# grep is a runtime dependence, need to patch so that it's found
substituteInPlace $out/libexec/git-core/git-sh-setup \
--replace ' grep' ' ${gnugrep}/bin/grep' \
--replace ' egrep' ' ${gnugrep}/bin/egrep'
'' # */
''
+ (if svnSupport then
@ -97,10 +100,6 @@ stdenv.mkDerivation rec {
done
'')
+ ''# install bash completion script
d="$out/etc/bash_completion.d"
ensureDir $d; cp contrib/completion/git-completion.bash "$d"
''
# Don't know why hardlinks aren't created. git installs the same executable
# multiple times into $out so replace duplicates by symlinks because I
# haven't tested whether the nix distribution system can handle hardlinks.
@ -109,6 +108,7 @@ stdenv.mkDerivation rec {
declare -A seen
shopt -s globstar
for f in "$out/"**; do
if [ -L "$f" ]; then continue; fi
test -f "$f" || continue
sum=$(md5sum "$f");
sum=''\${sum/ */}

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, boost, zlib, botan, libidn
, lua, pcre, sqlite, perl, pkgconfig }:
let
let
version = "1.0";
perlVersion = (builtins.parseDrvName perl.name).version;
in
@ -10,24 +10,24 @@ assert perlVersion != "";
stdenv.mkDerivation rec {
name = "monotone-${version}";
src = fetchurl {
url = "http://monotone.ca/downloads/${version}/monotone-${version}.tar.bz2";
sha256 = "5c530bc4652b2c08b5291659f0c130618a14780f075f981e947952dcaefc31dc";
};
buildInputs = [boost zlib botan libidn lua pcre sqlite pkgconfig];
postInstall = ''
ensureDir $out/share/${name}
cp -rv contrib/ $out/share/${name}/contrib
ensureDir $out/lib/perl5/site_perl/${perlVersion}
cp -v contrib/Monotone.pm $out/lib/perl5/site_perl/${perlVersion}
'';
meta = {
description = "A free distributed version control system";
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.all;
platforms = stdenv.lib.platforms.unix;
};
}

View File

@ -53,5 +53,8 @@ stdenv.mkDerivation rec {
'';
license = "GPLv2+";
maintainers = [ stdenv.lib.maintainers.simons ];
platforms = stdenv.lib.platforms.gnu;
};
}

View File

@ -1,6 +0,0 @@
source $stdenv/setup
buildFlags="all so sobin"
installFlags="INSTALL_ROOT=$out"
genericBuild

View File

@ -1,10 +1,30 @@
{stdenv, fetchurl}:
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "lua-4.0.1";
src = fetchurl {
url = http://www.lua.org/ftp/lua-4.0.1.tar.gz;
md5 = "a31d963dbdf727f9b34eee1e0d29132c";
};
builder= ./builder.sh;
configurePhase = "sed -i -e 's/CFLAGS= -O2/CFLAGS = -O3 -fPIC/' config";
buildFlags = "all so sobin";
installFlags = "INSTALL_ROOT=$$out";
meta = {
homepage = "http://www.lua.org";
description = "Lua is a powerful, fast, lightweight, embeddable scripting language.";
longDescription = ''
Lua combines simple procedural syntax with powerful data
description constructs based on associative arrays and extensible
semantics. Lua is dynamically typed, runs by interpreting bytecode
for a register-based virtual machine, and has automatic memory
management with incremental garbage collection, making it ideal
for configuration, scripting, and rapid prototyping.
'';
license = "MIT";
platforms = stdenv.lib.platforms.unix;
maintainers = [ ];
};
}

View File

@ -0,0 +1,31 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "lua-5.0.3";
src = fetchurl {
url = http://www.lua.org/ftp/lua-5.0.3.tar.gz;
sha256 = "1193a61b0e08acaa6eee0eecf29709179ee49c71baebc59b682a25c3b5a45671";
};
configurePhase = "sed -i -e 's/MYCFLAGS=.*/MYCFLAGS=-O3 -fomit-frame-pointer -fPIC/' config";
buildFlags = "all so sobin";
installFlags = "INSTALL_ROOT=$$out";
installTargets = "install soinstall";
meta = {
homepage = "http://www.lua.org";
description = "Lua is a powerful, fast, lightweight, embeddable scripting language.";
longDescription = ''
Lua combines simple procedural syntax with powerful data
description constructs based on associative arrays and extensible
semantics. Lua is dynamically typed, runs by interpreting bytecode
for a register-based virtual machine, and has automatic memory
management with incremental garbage collection, making it ideal
for configuration, scripting, and rapid prototyping.
'';
license = "MIT";
platforms = stdenv.lib.platforms.unix;
maintainers = [ ];
};
}

View File

@ -0,0 +1,90 @@
{ stdenv, fetchurl, icu, expat, zlib, bzip2, python
, enableRelease ? true
, enableDebug ? false
, enableSingleThreaded ? false
, enableMultiThreaded ? true
, enableShared ? true
, enableStatic ? false
, enablePIC ? false
}:
let
variant = stdenv.lib.concatStringsSep ","
(stdenv.lib.optional enableRelease "release" ++
stdenv.lib.optional enableDebug "debug");
threading = stdenv.lib.concatStringsSep ","
(stdenv.lib.optional enableSingleThreaded "single" ++
stdenv.lib.optional enableMultiThreaded "multi");
link = stdenv.lib.concatStringsSep ","
(stdenv.lib.optional enableShared "shared" ++
stdenv.lib.optional enableStatic "static");
# To avoid library name collisions
finalLayout = if ((enableRelease && enableDebug) ||
(enableSingleThreaded && enableMultiThreaded) ||
(enableShared && enableStatic)) then
"tagged" else "system";
cflags = if (enablePIC) then "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC" else "";
in
stdenv.mkDerivation {
name = "boost-1.44.0";
meta = {
homepage = "http://boost.org/";
description = "Boost C++ Library Collection";
license = "boost-license";
maintainers = [ stdenv.lib.maintainers.simons ];
};
src = fetchurl {
url = "mirror://sourceforge/boost/boost_1_44_0.tar.bz2";
sha256 = "1nvq36mvzr1fr85q0jh86rk3bk65s1y55jgqgzfg3lcpkl12ihs5";
};
enableParallelBuilding = true;
buildInputs = [icu expat zlib bzip2 python];
configureScript = "./bootstrap.sh";
configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python";
buildPhase = "./bjam -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${finalLayout} variant=${variant} threading=${threading} link=${link} ${cflags} install";
installPhase = ":";
patches = [
# Patch to get rid of following error, experienced by some packages like encfs, bitcoin:
# terminate called after throwing an instance of 'std::runtime_error'
# what(): locale::facet::_S_create_c_locale name not valid
(fetchurl {
url = https://svn.boost.org/trac/boost/raw-attachment/ticket/4688/boost_filesystem.patch ;
sha256 = "15k91ihzs6190pnryh4cl0b3c2pjpl9d790mr14x16zq52y7px2d";
})
];
crossAttrs = rec {
buildInputs = [ expat.hostDrv zlib.hostDrv bzip2.hostDrv ];
# all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to
# override them.
propagatedBuildInputs = buildInputs;
# We want to substitute the contents of configureFlags, removing thus the
# usual --build and --host added on cross building.
preConfigure = ''
export configureFlags="--prefix=$out --without-icu"
'';
buildPhase = ''
set -x
cat << EOF > user-config.jam
using gcc : cross : $crossConfig-g++ ;
EOF
./bjam -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat.hostDrv}/include -sEXPAT_LIBPATH=${expat.hostDrv}/lib --layout=${finalLayout} --user-config=user-config.jam toolset=gcc-cross variant=${variant} threading=${threading} link=${link} ${cflags} --without-python install
'';
};
}

View File

@ -33,7 +33,7 @@ let
in
stdenv.mkDerivation {
name = "boost-1.44.0";
name = "boost-1.47.0";
meta = {
homepage = "http://boost.org/";
@ -44,8 +44,8 @@ stdenv.mkDerivation {
};
src = fetchurl {
url = "mirror://sourceforge/boost/boost_1_44_0.tar.bz2";
sha256 = "1nvq36mvzr1fr85q0jh86rk3bk65s1y55jgqgzfg3lcpkl12ihs5";
url = "mirror://sourceforge/boost/boost_1_47_0.tar.bz2";
sha256 = "815a5d9faac4dbd523fbcf3fe1065e443c0bbf43427c44aa423422c6ec4c2e31";
};
enableParallelBuilding = true;
@ -55,20 +55,10 @@ stdenv.mkDerivation {
configureScript = "./bootstrap.sh";
configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python";
buildPhase = "./bjam -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${finalLayout} variant=${variant} threading=${threading} link=${link} ${cflags} install";
buildPhase = "./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${finalLayout} variant=${variant} threading=${threading} link=${link} ${cflags} install";
installPhase = ":";
patches = [
# Patch to get rid of following error, experienced by some packages like encfs, bitcoin:
# terminate called after throwing an instance of 'std::runtime_error'
# what(): locale::facet::_S_create_c_locale name not valid
(fetchurl {
url = https://svn.boost.org/trac/boost/raw-attachment/ticket/4688/boost_filesystem.patch ;
sha256 = "15k91ihzs6190pnryh4cl0b3c2pjpl9d790mr14x16zq52y7px2d";
})
];
crossAttrs = rec {
buildInputs = [ expat.hostDrv zlib.hostDrv bzip2.hostDrv ];
# all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to
@ -84,7 +74,7 @@ stdenv.mkDerivation {
cat << EOF > user-config.jam
using gcc : cross : $crossConfig-g++ ;
EOF
./bjam -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat.hostDrv}/include -sEXPAT_LIBPATH=${expat.hostDrv}/lib --layout=${finalLayout} --user-config=user-config.jam toolset=gcc-cross variant=${variant} threading=${threading} link=${link} ${cflags} --without-python install
./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat.hostDrv}/include -sEXPAT_LIBPATH=${expat.hostDrv}/lib --layout=${finalLayout} --user-config=user-config.jam toolset=gcc-cross variant=${variant} threading=${threading} link=${link} ${cflags} --without-python install
'';
};
}

View File

@ -0,0 +1,18 @@
{cabal, attoparsec, blazeBuilder, blazeTextual, deepseq, hashable, mtl,
syb, text, unorderedContainers, vector}:
cabal.mkDerivation (self : {
pname = "aeson";
version = "0.3.2.9";
sha256 = "1qaajk797zpickw4ik5lc03wnmxkrcmv3zik7n1bjqx6h37h0zqw";
propagatedBuildInputs = [
attoparsec blazeBuilder blazeTextual deepseq hashable mtl
syb text unorderedContainers vector
];
meta = {
description = "Fast JSON parsing and encoding";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self : {
pname = "ansi-wl-pprint";
version = "0.5.0";
sha256 = "295e6924409012e3371db1bb5c02475614fcf1ea99e6bff45a5fc84fb13b8284";
version = "0.6.3";
sha256 = "1cpkfn1ld0sjysksdsxxwwy1b17s4smmzk8y88y9mb81vgwlalkl";
propagatedBuildInputs = [ansiTerminal];
meta = {
description = "The Wadler/Leijen Pretty Printer for colored ANSI terminal output";

View File

@ -1,9 +1,10 @@
{cabal}:
{cabal, deepseq}:
cabal.mkDerivation (self : {
pname = "attoparsec";
version = "0.8.5.0";
sha256 = "0rdhjqgbbasc1diqzjdb6a8s46kcpdw5yxq2vkg3y2z71zln0a31";
version = "0.9.1.1";
sha256 = "1qkkl9pzk4znqh34pchmxbcslybvii35lkxhwf6445lyhj20356b";
propagatedBuildInputs = [deepseq];
meta = {
description = "Fast combinator parsing for bytestrings";
license = "BSD3";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self : {
pname = "attoparsec-enumerator";
version = "0.2.0.3";
sha256 = "02v9cwq1jbn0179zd2cky4ix6ykrkd7cpw38c1x7zgy0pal42x4v";
version = "0.2.0.4";
sha256 = "14v53vppcf4k3m4kid10pg5r3zsn894f36w1y2pzlc72w81fv3gd";
propagatedBuildInputs = [attoparsec enumerator];
meta = {
description = "Converts an Attoparsec parser into an iteratee";

View File

@ -0,0 +1,13 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "base-unicode-symbols";
version = "0.2.1.5";
sha256 = "1ir1dckrpax4xlrfp7jdsjn7s403a8n8mcmv3wdnpzkg1klfahyq";
meta = {
description = "Unicode alternatives for common functions and operators";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self : {
pname = "blaze-builder";
version = "0.2.1.4";
sha256 = "0r0lj2whwa1v99gx59l56af06w704qvv1vhkxlca86h7iri4b262";
version = "0.3.0.1";
sha256 = "1p3xlifcr7v987zx8l2sppn9yydph332mn1xxk0yfi78a6386nfb";
propagatedBuildInputs = [text];
meta = {
description = "Builder to efficiently append text";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self : {
pname = "blaze-html";
version = "0.4.1.0";
sha256 = "0a39wzfsb8lsr0z8c0s90n6pwmhjg6lihbxigk2c02vn5marzc4f";
version = "0.4.1.4";
sha256 = "1xf302dapwmmlxj9alfbdv6rcrxhr9p305s4jz2d6ckq2xzz8yjf";
propagatedBuildInputs = [text blazeBuilder];
meta = {
description = "A blazingly fast HTML combinator library";

View File

@ -0,0 +1,14 @@
{cabal, blazeBuilder, text, vector}:
cabal.mkDerivation (self : {
pname = "blaze-textual";
version = "0.1.0.0";
sha256 = "0ql25b0r4xbshqsjfndl7glq0hp2ncxb3h5zd541vsqrqrf8y4gk";
propagatedBuildInputs = [blazeBuilder text vector];
meta = {
description = "Fast rendering of common datatypes";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,14 @@
{cabal, binary}:
cabal.mkDerivation (self : {
pname = "bytestring-trie";
version = "0.2.3";
sha256 = "1zb4s7fd951swc648szrpx0ldailmdinapgbcg1zajb5c5jq57ga";
propagatedBuildInputs = [binary];
meta = {
description = "An efficient finite map from (byte)strings to values";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,14 @@
{cabal, text}:
cabal.mkDerivation (self : {
pname = "case-insensitive";
version = "0.2.0.2";
sha256 = "0qn2scaxxbqi4770nwvcmb1ldj0ipa2ljxcavcn0kv48xzs519l7";
propagatedBuildInputs = [text];
meta = {
description = "Case insensitive string comparison";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self : {
pname = "cereal";
version = "0.2";
sha256 = "aa00eb88cea5616a0eb9e4b6604cb164b8bef6e86b111cbb67d51d4d3441332b";
version = "0.3.3.0";
sha256 = "0bqd5qfvbz77mq0zxgafj011hrxcanrfzvlwhf4j4dzr6yryk53y";
meta = {
description = "A binary serialization library";
license = "BSD";

View File

@ -0,0 +1,13 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "clientsession";
version = "0.6.0";
sha256 = "0h92jjkhldn7f9b78cajfda8rprsj5scdsyl3pjpzicpvvy9g00y";
meta = {
description = "Store session data in a cookie";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,14 @@
{cabal, blazeBuilder, text}:
cabal.mkDerivation (self : {
pname = "cookie";
version = "0.2.1";
sha256 = "0jn4as09qx2948k0r916vy5igz0xmrvng37s0il81b0ndvhnsc6c";
propagatedBuildInputs = [blazeBuilder text];
meta = {
description = "HTTP cookie parsing and rendering";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -2,10 +2,11 @@
cabal.mkDerivation (self : {
pname = "dataenc";
version = "0.11.1";
sha256 = "1212dbed8a1b8f80140d6450a7635a4365bc5733a00e2b96d00bcc526396c6bc";
version = "0.14";
sha256 = "0q92pzm6wp4rl92ac9b2x2b6na8nzhf229myc9h3cyr3p822liw6";
meta = {
description = "Data encoding library";
license = "BSD3";
};
})

View File

@ -0,0 +1,14 @@
{cabal, parsec, ranges}:
cabal.mkDerivation (self : {
pname = "email-validate";
version = "0.2.6";
sha256 = "1nw4r5wyck30r6n0bjxwybpkw2dqr2mp4y8fy6ypra9zhhw1jd8m";
propagatedBuildInputs = [parsec ranges];
meta = {
description = "Validating an email address string against RFC 5322";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,14 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "funcmp";
version = "1.5";
sha256 = "f68807833f39178c99877321f0f335cfde12a5c4b38e6c51f33f8cab94b9e12e";
propagatedBuildInputs = [];
meta = {
description = "Functional MetaPost";
license = "GPL";
maintainers = [self.stdenv.lib.maintainers.simons];
};
})

View File

@ -3,8 +3,8 @@
cabal.mkDerivation (self : {
pname = "hakyll";
version = "3.0.2.0";
sha256 = "0d1kmvkbwygr9mxz7m8jiasrbj470j4hwsj8mmkdgdm9clxbi74k";
version = "3.2.0.3";
sha256 = "0biy9p662anhhlmwa502iy8cck597q0vlwj57l6cj8kpyxj4g0lz";
propagatedBuildInputs =
[ binary blazeHtml hamlet hopenssl mtl network pandoc regexBase
regexPCRE snapCore snapServer strictConcurrency

View File

@ -1,11 +1,11 @@
{cabal, blazeBuilder, blazeHtml, failure, parsec, text, jsonEnumerator, jsonTypes}:
{cabal, blazeBuilder, blazeHtml, failure, parsec, text}:
cabal.mkDerivation (self : {
pname = "hamlet";
version = "0.7.3";
sha256 = "1knapi8506kqm6pbl1qdr3vm579z2dn6q3h3ahzwbxqjafy7pnj9";
version = "0.8.2.1";
sha256 = "0798ic6qap4npw2rx42xcgmi1fcbwqvyic5x6vyyf6abvxv16925";
propagatedBuildInputs =
[blazeBuilder blazeHtml failure parsec text jsonEnumerator jsonTypes];
[blazeBuilder blazeHtml failure parsec text];
meta = {
description = "Haml-like template files that are compile-time checked";
license = "BSD";

View File

@ -0,0 +1,14 @@
{cabal, text}:
cabal.mkDerivation (self : {
pname = "hashable";
version = "1.1.2.1";
sha256 = "1kmx3jr9cmkbapd7gywx7zvyd22nyz2mgs8lnzspp5hi7crx3wcx";
propagatedBuildInputs = [text];
meta = {
description = "A class for types that can be converted to a hash value";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,13 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "hostname";
version = "1.0";
sha256 = "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv";
meta = {
description = "A very simple package providing a cross-platform means of determining the hostname";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,14 @@
{cabal, bytestringTrie, network}:
cabal.mkDerivation (self : {
pname = "hp2any-core";
version = "0.10.1";
sha256 = "1qblsvlj4x22ml3k5mlr28r5xk9rmi7lpipd369dbvdzm0rflf03";
propagatedBuildInputs = [bytestringTrie network];
meta = {
description = "Heap profiling helper library";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,14 @@
{cabal, GLUT, OpenGL, hp2anyCore, network, parseargs}:
cabal.mkDerivation (self : {
pname = "hp2any-graph";
version = "0.5.3";
sha256 = "1al20pxfgkgwynrx7vr0i57342s91lcm3cnd9qjx8b6vkqmzykkq";
propagatedBuildInputs = [GLUT OpenGL hp2anyCore network parseargs];
meta = {
description = "Real-time heap graphing utility and profile stream server with a reusable graphing module";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,14 @@
{cabal, blazeBuilder, caseInsensitive, text}:
cabal.mkDerivation (self : {
pname = "http-types";
version = "0.6.5";
sha256 = "1z2y219170n6rrmmffkg8xa450xzl42zpwahv7m71bxlz4cvxjc1";
propagatedBuildInputs = [blazeBuilder caseInsensitive text];
meta = {
description = "Generic HTTP types for Haskell (for both client and server code)";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,14 @@
{cabal, baseUnicodeSymbols, transformers}:
cabal.mkDerivation (self : {
pname = "monad-control";
version = "0.2.0.1";
sha256 = "1pnckk9080g64ipvsg3n1vn4jr1083giacgy58if2ppw3dk7m97k";
propagatedBuildInputs = [baseUnicodeSymbols transformers];
meta = {
description = "Lift control operations, like exception catching, through monad transformers";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self : {
pname = "parseargs";
version = "0.1.2";
sha256 = "93e34497bc3921f245474a8fc1807303211cf5ab40f0b655e02eb0242ef75694";
version = "0.1.3.2";
sha256 = "1ncdbjzfkhb1f3aznsci26kss9nrv3iilc65q5xdl9nly8p837mv";
meta = {
description = "Command-line argument parsing library for Haskell programs";
};

View File

@ -0,0 +1,14 @@
{cabal, monadControl, persistent, text, webRoutesQuasi}:
cabal.mkDerivation (self : {
pname = "persistent-template";
version = "0.5.1";
sha256 = "163j36pm6fl64m4h8kgj9h19snh026ia1166p3c6rjw86qi9fk0r";
propagatedBuildInputs = [monadControl persistent text webRoutesQuasi];
meta = {
description = "Type-safe, non-relational, multi-backend persistence";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -1,17 +1,15 @@
{cabal, blazeHtml, MonadCatchIOTransformers, parsec, text, transformers,
utf8String, webRoutesQuasi}:
{cabal, blazeHtml, enumerator, monadControl, parsec, pool, text, transformers}:
cabal.mkDerivation (self : {
pname = "persistent";
version = "0.1.0";
sha256 = "32379f5ef937da1bf910cfaf9b6cce6326b8fba7554ef81159e6684c7ce2ca45";
version = "0.5.1";
sha256 = "1m0558vi99z15q0w62a9rkz25n8djswggbad9m0il359jb3mrzsd";
propagatedBuildInputs = [
blazeHtml MonadCatchIOTransformers parsec text transformers
utf8String webRoutesQuasi
blazeHtml enumerator monadControl parsec pool text transformers
];
meta = {
description = "Type-safe, non-relational, multi-backend persistence";
license = "BSD";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,14 @@
{cabal, monadControl, stm, transformers}:
cabal.mkDerivation (self : {
pname = "pool";
version = "0.1.0.2";
sha256 = "1w2z3p3iriw43g655rhd5b70r3cbzl4jf8bybyk5d04x6mcg3wfq";
propagatedBuildInputs = [monadControl stm transformers];
meta = {
description = "Thread-safe resource pools";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,13 @@
{cabal}:
cabal.mkDerivation (self : {
pname = "ranges";
version = "0.2.3";
sha256 = "1jmybrwwvg8zkbxjrlrahfavlf2g2584ld15hzhch317683nvr1p";
meta = {
description = "Ranges and various functions on them";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,14 @@
{cabal, network}:
cabal.mkDerivation (self : {
pname = "simple-sendfile";
version = "0.1.2";
sha256 = "08w5ria2x41j85z1126kddi918zdqrwmr4vwqczgzh9kdi49wv8j";
propagatedBuildInputs = [network];
meta = {
description = "Cross platform library for the sendfile system call";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -1,13 +1,13 @@
{cabal, attoparsec, attoparsecEnumerator, MonadCatchIOTransformers, blazeBuilder
, bytestringNums, dlist, mtl, unixCompat, vector, zlib}:
, bytestringNums, caseInsensitive, dlist, mtl, unixCompat, vector, zlib}:
cabal.mkDerivation (self : {
pname = "snap-core";
version = "0.4.1";
sha256 = "0cc6qh8rnfdhv6s4clnb4avbxkvvj4dibbdg0vjbf75iafxvsg9f";
version = "0.5.1.4";
sha256 = "0fvff7hjyfwnii057vpg8m75qaipsklk6v6cbvms4p6wp14zqaj1";
propagatedBuildInputs =
[ attoparsec attoparsecEnumerator MonadCatchIOTransformers blazeBuilder
bytestringNums dlist mtl unixCompat vector zlib
bytestringNums caseInsensitive dlist mtl unixCompat vector zlib
];
meta = {
description = "Snap: A Haskell Web Framework (Core)";

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self : {
pname = "snap-server";
version = "0.4.1";
sha256 = "1xav58sk6f1capibkil9a834lxg7badcq3v8016azzzmvvhy9iq8";
version = "0.5.1.4";
sha256 = "17b95db48as418whcvbxzyvql16z1c706n0s4jryyqr6kvgpsvzp";
propagatedBuildInputs =
[ attoparsec attoparsecEnumerator binary blazeBuilder blazeBuilderEnumerator
bytestringNums directoryTree enumerator MonadCatchIOTransformers mtl murmurHash

View File

@ -0,0 +1,14 @@
{cabal, HUnit, testFramework}:
cabal.mkDerivation (self : {
pname = "test-framework-hunit";
version = "0.2.6";
sha256 = "1ivgyh71wwvrrgnk3fp6hsfssvy39jikhjdzr7x68pv1ca7f247r";
propagatedBuildInputs = [HUnit testFramework];
meta = {
description = "HUnit support for the test-framework package";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,14 @@
{cabal, QuickCheck1, testFramework, deepseq}:
cabal.mkDerivation (self : {
pname = "test-framework-quickcheck";
version = "0.2.7";
sha256 = "065nazli8vh9dz8xi71gwzlwy81anfd471jhz6hv3m893cc9vvx8";
propagatedBuildInputs = [QuickCheck1 testFramework deepseq];
meta = {
description = "QuickCheck support for the test-framework package";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,14 @@
{cabal, QuickCheck2, testFramework}:
cabal.mkDerivation (self : {
pname = "test-framework-quickcheck2";
version = "0.2.10";
sha256 = "12c37m74idjydxshgms9ib9ii2rpvy4647kra2ards1w2jmnr6w3";
propagatedBuildInputs = [QuickCheck2 testFramework];
meta = {
description = "QuickCheck2 support for the test-framework package";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,14 @@
{cabal, ansiTerminal, ansiWLPprint, hostname, regexPosix, xml}:
cabal.mkDerivation (self : {
pname = "test-framework";
version = "0.4.0";
sha256 = "0zxrdndycr63kzfibk0c2n4j39x6b8s4332sgqm54g1vdl3fxzbl";
propagatedBuildInputs = [ansiTerminal ansiWLPprint hostname regexPosix xml];
meta = {
description = "Framework for running and organising tests";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -1,10 +1,10 @@
{cabal, HUnit, QuickCheck, mtl}:
{cabal, HUnit, QuickCheck2, mtl}:
cabal.mkDerivation (self : {
pname = "testpack";
version = "1.0.2";
sha256 = "ff3d24a755aeeb765d5e93aa0189d0d67ac96b2d84e27a29609eb4738a6cdabc";
propagatedBuildInputs = [HUnit QuickCheck mtl];
version = "2.1.0";
sha256 = "8128f3a409855fca1d431391b2cbf6a9f4dec32dd6f26825960b936fe578c476";
propagatedBuildInputs = [HUnit QuickCheck2 mtl];
meta = {
description = "Test Utility Pack for HUnit and QuickCheck";
};

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self : {
pname = "unix-compat";
version = "0.2.1.1";
sha256 = "11bh29rq3g4qqvxc72wbip85vc3m91lafa85086izpqkkpnl4pxh";
version = "0.2.1.3";
sha256 = "12645n23b7b86w3fllg3vl39pvbxazqx9rflgnhc6qrlfklkyxxd";
meta = {
description = "Portable POSIX-compatibility layer";
license = "BSD";

View File

@ -0,0 +1,14 @@
{cabal, deepseq, hashable}:
cabal.mkDerivation (self : {
pname = "unordered-containers";
version = "0.1.4.0";
sha256 = "1v5m92rn2k7knhca91ldzi082hy4z0hp4nm66ihns4vxgslywgb9";
propagatedBuildInputs = [deepseq hashable];
meta = {
description = "Efficient hashing-based container types";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,18 @@
{cabal, blazeBuilder, blazeBuilderEnumerator, caseInsensitive, enumerator,
httpTypes, network, text, transformers, wai, zlibBindings}:
cabal.mkDerivation (self : {
pname = "wai-extra";
version = "0.4.0.1";
sha256 = "0xj7dkwqa9axgm6cizf2kd97fakbmq5580mian888i5f21jn1n2z";
propagatedBuildInputs = [
blazeBuilder blazeBuilderEnumerator caseInsensitive enumerator
httpTypes network text transformers wai zlibBindings
];
meta = {
description = "Provides some basic WAI handlers and middleware";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,14 @@
{cabal, blazeBuilder, enumerator, network, httpTypes, text, transformers}:
cabal.mkDerivation (self : {
pname = "wai";
version = "0.4.0";
sha256 = "1xp03g3q967rpgas896a5j3y7hjiir4ny0qlwmaj5ki61zivjsln";
propagatedBuildInputs = [blazeBuilder enumerator network httpTypes text transformers];
meta = {
description = "Web Application Interface";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,18 @@
{cabal, blazeBuilder, blazeBuilderEnumerator, caseInsensitive, enumerator,
httpTypes, network, simpleSendfile, transformers, unixCompat, wai}:
cabal.mkDerivation (self : {
pname = "warp";
version = "0.4.1.1";
sha256 = "0qck4mpg4p6v2yx2r6qchqd3lvsn8n5ys6xsm11hhznc2r50aayh";
propagatedBuildInputs = [
blazeBuilder blazeBuilderEnumerator caseInsensitive enumerator
httpTypes network simpleSendfile transformers unixCompat wai
];
meta = {
description = "A fast, light-weight web server for WAI applications";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -1,13 +1,13 @@
{cabal, webRoutes}:
{cabal, text}:
cabal.mkDerivation (self : {
pname = "web-routes-quasi";
version = "0.5.0";
sha256 = "07ef2717b44f92bccee9af4b4d9a173c12ec3b3b1d49a8495811dad0af240673";
propagatedBuildInputs = [webRoutes];
version = "0.7.0.1";
sha256 = "1khrf5kbw285hddyyzcz2mx4qpz46mdmlm31jszag2ay64gw35gw";
propagatedBuildInputs = [text];
meta = {
description = "Define data types and parse/build functions for web-routes via a quasi-quoted DSL";
license = "BSD";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,20 @@
{cabal, blazeBuilder, blazeHtml, caseInsensitive, cereal, clientsession,
cookie, enumerator, failure, hamlet, httpTypes, monadControl, parsec,
text, transformers, wai, waiExtra, webRoutesQuasi}:
cabal.mkDerivation (self : {
pname = "yesod-core";
version = "0.8.2";
sha256 = "15h5nm45w3z1g4ayn0dj9grviqm857krad1453rway76yrrv7xsr";
propagatedBuildInputs = [
blazeBuilder blazeHtml caseInsensitive cereal clientsession
cookie enumerator failure hamlet httpTypes monadControl parsec
text transformers wai waiExtra webRoutesQuasi
];
meta = {
description = "Creation of type-safe, RESTful web applications";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,21 @@
{cabal, blazeBuilder, blazeHtml, dataDefault, emailValidate, hamlet,
network, persistent, text, transformers, wai, webRoutesQuasi,
xssSanitize, yesodCore, yesodPersistent}:
cabal.mkDerivation (self : {
pname = "yesod-form";
version = "0.2.0";
sha256 = "1dwwndrb09bqfzrarxpiw29xqvxk70iy8b2vcy0rl6g2wvrcm8an";
propagatedBuildInputs = [
blazeBuilder blazeHtml dataDefault emailValidate hamlet
network persistent text transformers wai webRoutesQuasi
xssSanitize yesodCore yesodPersistent
];
noHaddock = true;
meta = {
description = "Form handling support for Yesod Web Framework";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,16 @@
{cabal, aeson, blazeTextual, hamlet, text, vector, yesodCore}:
cabal.mkDerivation (self : {
pname = "yesod-json";
version = "0.1.1.1";
sha256 = "02mly02c6z49s0gznx47w919gcn7qz1qvr8704sab1sjk87cyjwl";
propagatedBuildInputs = [
aeson blazeTextual hamlet text vector yesodCore
];
meta = {
description = "Generate content for Yesod using the aeson package";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,16 @@
{cabal, failure, persistent, persistentTemplate, transformers, yesodCore}:
cabal.mkDerivation (self : {
pname = "yesod-persistent";
version = "0.1.0";
sha256 = "1h0kk3sx0c4c3pcg3s2c5kfy0kz7gci45h4gsgrkhkcgg0pg324c";
propagatedBuildInputs = [
failure persistent persistentTemplate transformers yesodCore
];
meta = {
description = "Some helpers for using Persistent from Yesod";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -0,0 +1,14 @@
{cabal, zlib}:
cabal.mkDerivation (self : {
pname = "zlib-bindings";
version = "0.0.0";
sha256 = "168sll6mrmcnvdmdx79izqxcrli1s7asp4qilhkqss8w0jlrv1ni";
propagatedBuildInputs = [zlib];
meta = {
description = "Low-level bindings to the zlib package";
license = "BSD3";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View File

@ -1,31 +1,36 @@
{ stdenv, fetchurl, pkgconfig, x11, xlibs, libdrm, expat, lipo ? null, talloc }:
{ stdenv, fetchurl, flex, bison, pkgconfig, x11, xlibs, libdrm, file, expat
, python, libxml2Python, lipo ? null }:
if ! stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms then
throw "unsupported platform for Mesa"
else
let version = "7.10.1"; in
let version = "7.10.3"; in
stdenv.mkDerivation {
name = "mesa-${version}";
src = fetchurl {
url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2";
md5 = "efe8da4d80c2a5d32a800770b8ce5dfa";
sha256 = "1h451vgsfsp0h0wig66spqgxmjalsy28gvd9viynfwmq7741yw0y";
};
patches = [ ./swrast-settexbuffer.patch ];
postPatch = ''
find . -name "*.py" -exec sed -i -e "s|#! */usr/bin/env python|#! ${python}/bin/python|" {} +
'';
configureFlags =
"--disable-gallium"
+ stdenv.lib.optionalString (stdenv.system == "mips64-linux")
" --with-dri-drivers=swrast --with-driver=dri"
+ stdenv.lib.optionalString stdenv.isDarwin " --disable-egl";
" --with-driver=dri --enable-gl-osmesa --enable-gles1"
+ " --enable-gallium --enable-gallium-r600 --enable-gles2"
+ " --enable-gallium-swrast --enable-gallium-egl --disable-glx-tls"
+ " --enable-xcb --enable-egl --disable-glut";
buildInputs =
[ pkgconfig expat x11 libdrm xlibs.makedepend xlibs.glproto
xlibs.libXxf86vm xlibs.libXfixes xlibs.libXdamage xlibs.dri2proto
lipo talloc
lipo file python libxml2Python flex bison
];
enableParallelBuilding = true;
@ -36,5 +41,8 @@ stdenv.mkDerivation {
description = "An open source implementation of OpenGL";
homepage = http://www.mesa3d.org/;
license = "bsd";
platforms = stdenv.lib.platforms.mesaPlatforms;
maintainers = [ stdenv.lib.maintainers.simons ];
};
}

View File

@ -1,45 +0,0 @@
{ stdenv, fetchurl, perl }:
let
opensslCrossSystem = stdenv.lib.attrByPath [ "openssl" "system" ]
(throw "openssl needs its platform name cross building" null)
stdenv.cross;
in
stdenv.mkDerivation (rec {
name = "openssl-1.0.0";
src = fetchurl {
url = "http://www.openssl.org/source/${name}.tar.gz";
sha1 = "3f800ea9fa3da1c0f576d689be7dca3d55a4cb62";
};
buildNativeInputs = [ perl ];
configureScript = "./config";
configureFlags="--libdir=lib shared";
crossAttrs = {
preConfigure=''
export cross=$crossSystem-
'';
configureFlags="--libdir=lib ${opensslCrossSystem} shared";
buildPhase = ''
make CC=$crossConfig-gcc \
AR="$crossConfig-ar r" \
RANLIB=$crossConfig-ranlib
'';
};
meta = {
homepage = http://www.openssl.org/;
description = "A cryptographic library that implements the SSL and TLS protocols";
};
}
//
(if stdenv.isDarwin then {
patches = ./darwin-arch.patch;
}
else { })
)

View File

@ -1,16 +0,0 @@
The patch is specific to nix: MacOS gcc supports -arch.
--- a/Configure
+++ b/Configure
@@ -549,9 +549,9 @@ my %table=(
"rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown):MACOSX_RHAPSODY::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}::",
"darwin-ppc-cc","cc:-arch ppc -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
"darwin64-ppc-cc","cc:-arch ppc64 -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc64_asm}:osx64:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
-"darwin-i386-cc","cc:-arch i386 -O3 -fomit-frame-pointer -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
-"debug-darwin-i386-cc","cc:-arch i386 -g3 -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
-"darwin64-x86_64-cc","cc:-arch x86_64 -O3 -DL_ENDIAN -DMD32_REG_T=int -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
+"darwin-i386-cc","cc:-O3 -fomit-frame-pointer -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
+"debug-darwin-i386-cc","cc:-g3 -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
+"darwin64-x86_64-cc","cc:-O3 -DL_ENDIAN -DMD32_REG_T=int -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
"debug-darwin-ppc-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DB_ENDIAN -g -Wall -O::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
##### A/UX

View File

@ -2,10 +2,10 @@
openssl, libpng, lua5}:
stdenv.mkDerivation rec {
name = "podofo-0.8.2";
name = "podofo-0.9.1";
src = fetchurl {
url = "mirror://sourceforge/podofo/${name}.tar.gz";
sha256 = "064cgrvjvy57n5i25d4j7yx5wd3wgkdks448bzc3a8nsmyl08skq";
sha256 = "0icpxh1l1dpviq2zwy764dhg8y03zwyf4pgw4s7kb165nvh9v5kv";
};
propagatedBuildInputs = [ zlib freetype libjpeg libtiff fontconfig openssl libpng ];
buildInputs = [ cmake lua5 stdenv.gcc.libc ];

View File

@ -1,5 +1,33 @@
source $stdenv/setup
# Wrap the given `aclocal' program, appending extra `-I' flags
# corresponding to the directories listed in $ACLOCAL_PATH. (Note
# that `wrapProgram' can't be used for that purpose since it can only
# prepend flags, not append them.)
wrapAclocal() {
local program="$1"
local wrapped="$(dirname $program)/.$(basename $program)-wrapped"
mv "$program" "$wrapped"
cat > "$program"<<EOF
#! $SHELL -e
unset extraFlagsArray
declare -a extraFlagsArray
oldIFS=\$IFS
IFS=:
for dir in \$ACLOCAL_PATH; do
if test -n "\$dir" -a -d "\$dir"; then
extraFlagsArray=("\${extraFlagsArray[@]}" "-I" "\$dir")
fi
done
IFS=\$oldIFS
exec "$wrapped" "\$@" "\${extraFlagsArray[@]}"
EOF
chmod +x "$program"
}
postInstall() {
# Create a wrapper around `aclocal' that converts every element in
@ -9,16 +37,7 @@ postInstall() {
# `-I' options explicitly.
for prog in $out/bin/aclocal*; do
wrapProgram $prog --run \
'
oldIFS=$IFS
IFS=:
for dir in $ACLOCAL_PATH; do
if test -n "$dir" -a -d "$dir"; then
extraFlagsArray=("${extraFlagsArray[@]}" "-I" "$dir")
fi
done
IFS=$oldIFS'
wrapAclocal "$prog"
done
}

View File

@ -0,0 +1,50 @@
{ stdenv, fetchurl, flex, bison, ncurses, buddy, tecla, libsigsegv, gmpxx, makeWrapper }:
let
# Banner depends on two separate libraries. Adding those libraries to
# the top-level seems like overkill, though, because no other tools
# seems to use them. So we'll build them within this expression.
mkDerivation = name: hash: deriv: stdenv.mkDerivation (deriv // {
inherit name;
src = fetchurl {
url = "http://shh.thathost.com/pub-unix/files/${name}.tar.gz";
sha256 = hash;
};
configurePhase = "make dep";
buildPhase = "make OPTIM='-DNDEBUG -O3'";
installPhase = ''
make INSTBASEDIR=$out install
if [ -d $out/man ]; then
ensureDir $out/share
mv -v $out/man $out/share/
fi
'';
});
shhopt = mkDerivation "shhopt-1.1.7" "bae94335124efa6fcc2f0a55cabd68c9c90be935bcdb8054d7e5188e0d5da679" {};
shhmsg = mkDerivation "shhmsg-1.4.1" "f65d45d3a5e415b541a1975e13fe7c5b58e21df6e9306cc3f7901279a9f6d461" {};
in
mkDerivation "banner-1.3.2" "0dc0ac0667b2e884a7f5ad3e467af68cd0fd5917f8c9aa19188e6452aa1fc6d5" {
buildInputs = [shhopt shhmsg];
meta = {
homepage = "http://shh.thathost.com/pub-unix/";
description = "print large banners to ASCII terminals";
license = "GPLv2";
longDescription = ''
An implementation of the traditional Unix-program used to display
large characters.
'';
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.simons ];
};
}

View File

@ -1,28 +0,0 @@
diff -Naur wesnoth-upstream-1.8.5/m4/boost.m4 wesnoth-1.8.5/m4/boost.m4
Libtools seems to set a variable called acl_libext while the Boost
library check code uses a variable called libext. This patch makes
the Boost check use the variable acl_libext actually set by libtools.
--- wesnoth-upstream-1.8.5/m4/boost.m4 2010-10-02 20:35:59.577619372 -0430
+++ wesnoth-1.8.5/m4/boost.m4 2010-10-02 20:39:10.383653233 -0430
@@ -252,8 +252,8 @@
test -n "$boost_rtopt" && boost_rtopt="-$boost_rtopt"
$boost_guess_use_mt && boost_mt=-mt
# Look for the abs path the static archive.
- # $libext is computed by Libtool but let's make sure it's non empty.
- test -z "$libext" &&
+ # $acl_libext is computed by Libtool but let's make sure it's non empty.
+ test -z "$acl_libext" &&
AC_MSG_ERROR([the libext variable is empty, did you invoke Libtool?])
boost_save_ac_objext=$ac_objext
# Generate the test file.
@@ -309,7 +309,7 @@
# Are we looking for a static library?
case $boost_ldpath:$boost_rtopt_ in #(
*?*:*s*) # Yes (Non empty boost_ldpath + s in rt opt)
- Boost_lib_LIBS="$boost_ldpath/lib$boost_lib.$libext"
+ Boost_lib_LIBS="$boost_ldpath/lib$boost_lib.$acl_libext"
test -e "$Boost_lib_LIBS" || continue;; #(
*) # No: use -lboost_foo to find the shared library.
Boost_lib_LIBS="-l$boost_lib";;

View File

@ -3,32 +3,30 @@
, fribidi, asciidoc }:
stdenv.mkDerivation rec {
pname = "wesnoth";
version = "1.8.5";
name = "wesnoth";
version = "1.8.6";
name = "${pname}-${version}";
pname = "${name}-${version}";
src = fetchurl {
url = "mirror://sourceforge/sourceforge/${pname}/${name}.tar.bz2";
sha256 = "1yjmqvwzz446vvkjg923ypwnmhb0fbgqj0ax0k7s102la37bv8zc";
url = "mirror://sourceforge/sourceforge/${name}/${pname}.tar.bz2";
sha256 = "10c01ys846zsy831gprdy2nx3qlzv65s4jy99lw6misak3x07rjg";
};
buildInputs = [ SDL SDL_image SDL_mixer SDL_net SDL_ttf pango gettext zlib boost fribidi
automake autoconf freetype libpng pkgconfig lua dbus fontconfig libtool ];
# The patch and the preInstall sed substitution fix errors which I
# The preInstall sed substitution fix errors which I
# believe arise from autotools version mismatches. Rather than
# hunt for the correct automake and autoconf versions these changes
# make the build work with the versions current in Nixpkgs.
patches = ./add-acl-prefix-to-libext.patch;
preInstall = ''
sed -i -e s,@MKINSTALLDIRS@,`pwd`/config/mkinstalldirs, po/*/Makefile
'';
configurePhase = ''
./autogen.sh --prefix=$out --with-boost=${boost} \
--with-preferences-dir=.${name} --program-suffix=-${version} \
--with-preferences-dir=.${name} \
--with-datadir-name=${name}
'';

View File

@ -13,4 +13,5 @@ rec {
all = linux ++ darwin ++ cygwin ++ freebsd ++ openbsd;
allBut = platform: lists.filter (x: platform != x) all;
mesaPlatforms = linux ++ darwin ++ freebsd;
haskellPlatforms = ["i686-linux" "x86_64-linux" "i686-darwin"];
}

View File

@ -12,20 +12,20 @@ rec {
echo Symlinking "$currentPath"
find $currentPath/share/info $currentPath/share/man $(echo $currentPath/texmf*/) ! -type d | while read; do
REPLY="''${REPLY#$currentPath}"
ensureDir $out/"$(dirname "$REPLY")"
ln -fs $currentPath/"$REPLY" $out/"$REPLY"
echo
ensureDir $out/"$(dirname "$REPLY")"
ln -fs $currentPath/"$REPLY" $out/"$REPLY"
echo
done | while read; do head -n 99 >/dev/null; echo -n .; done
for i in $currentPath/bin/* :; do #*/
test "$i" = : && continue;
echo -ne "#! /bin/sh\\n$i \"\$@\"" > "$out/bin/$(basename "$i")" && \
for i in "$currentPath/bin/"* :; do
test "$i" != : || continue
echo -ne "#! $SHELL\\nexec $i \"\$@\"" > "$out/bin/$(basename "$i")" && \
chmod a+x "$out/bin/$(basename "$i")"
done
echo
echo
cp -Trfp $currentPath/libexec $out/libexec || true
cp -Trfp $currentPath/libexec $out/libexec || true
done
ln -s $out/texmf* $out/share/
@ -39,8 +39,8 @@ rec {
for i in $out/libexec/*/* :; do
test "$i" = : && continue;
test -f "$i" && \
test -x "$i" && \
echo -ne "#! /bin/sh\\n$i \"\$@\"" >$out/bin/$(basename $i) && \
test -x "$i" && \
echo -ne "#! $SHELL\\nexec $i \"\$@\"" >$out/bin/$(basename $i) && \
chmod a+x $out/bin/$(basename $i)
done
@ -58,12 +58,12 @@ rec {
meta = {
description = "TeX distribution directory";
longDescription = ''
Here all the files from different TeX-related
packages are collected in one directory. Of
course, mktexlsr is called. Later placed
Here all the files from different TeX-related
packages are collected in one directory. Of
course, mktexlsr is called. Later placed
directories take precedence. It is supposed that
share and libexec are symlinked, and bin is
recreated with wrappers for libexec-located
recreated with wrappers for libexec-located
linked binaries.
'';
};

View File

@ -1,11 +1,11 @@
args : with args;
args : with args;
rec {
src = fetchurl {
src = fetchurl {
url = mirror://debian/pool/main/t/texlive-bin/texlive-bin_2009.orig.tar.gz;
sha256 = "0ywc8h4jnig53fs0bji2ivw5f9j6zlgdy477jqw7xvpc7migjpw7";
};
texmfSrc = fetchurl {
texmfSrc = fetchurl {
url = mirror://debian/pool/main/t/texlive-base/texlive-base_2009.orig.tar.gz;
sha256 = "130z907xcxr10yrzbbmp9l8a00dabvi4bi702s5jxamjzav17cmf";
};
@ -19,7 +19,7 @@ rec {
doMainBuild = fullDepEntry (''
ensureDir $out
ensureDir $out/nix-support
ensureDir $out/nix-support
cp ${setupHook} $out/nix-support/setup-hook.sh
ensureDir $out/share
tar xf ${texmfSrc} -C $out --strip-components=1
@ -32,7 +32,7 @@ rec {
sed -e 's@\<env python@${python}/bin/python@' -i $(grep 'env python' -rl . )
sed -e '/ubidi_open/i#include <unicode/urename.h>' -i $(find . -name configure)
sed -e s@ncurses/curses.h@curses.h@g -i $(grep ncurses/curses.h -rl . )
sed -e s@ncurses/curses.h@curses.h@g -i $(grep ncurses/curses.h -rl . )
sed -e '1i\#include <string.h>\n\#include <stdlib.h>' -i $( find libs/teckit -name '*.cpp' -o -name '*.c' )
NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype}/include/freetype2"
@ -47,12 +47,13 @@ rec {
mv $out/bin $out/libexec
ensureDir $out/bin
for i in "$out/libexec/"*"/"*; do
echo -ne "#! /bin/sh\\n$i \"\$@\"" >$out/bin/$(basename $i)
test \( \! -d "$i" \) -a -x "$i" || continue
echo -ne "#! $SHELL\\nexec $i \"\$@\"" >$out/bin/$(basename $i)
chmod a+x $out/bin/$(basename $i)
done
[ -d $out/texmf-config ] || ln -s $out/texmf $out/texmf-config
ln -s "$out/"*texmf* "$out/share/"
sed -e 's/.*pyhyph.*/=&/' -i $out/texmf-config/tex/generic/config/language.dat
PATH=$PATH:$out/bin mktexlsr $out/texmf*
@ -76,18 +77,16 @@ rec {
buildInputs = [
zlib bzip2 ncurses libpng flex bison libX11 libICE
xproto freetype t1lib gd libXaw icu ghostscript ed
libXt libXpm libXmu libXext xextproto perl libSM
xproto freetype t1lib gd libXaw icu ghostscript ed
libXt libXpm libXmu libXext xextproto perl libSM
ruby expat curl libjpeg python fontconfig
];
configureFlags = [ "--with-x11"
configureFlags = [ "--with-x11"
"--enable-ipc" "--with-mktexfmt"
];
phaseNames = ["addInputs" (doDump "0") "doMainBuild"
(doDump "1")
"doMakeInstall" "doPostInstall"];
phaseNames = ["addInputs" "doMainBuild" "doMakeInstall" "doPostInstall"];
name = "texlive-core-2009";
meta = {

View File

@ -0,0 +1,25 @@
args: with args;
rec {
name = "moderncv-2007.05.28";
src = fetchurl {
url = "http://mirror.ctan.org/macros/latex/contrib/moderncv.zip";
sha256 = "d479141e9ae6dad745b03af47541b1bf7d312613de42bb7984eb4b556854cb51";
};
buildInputs = [texLive unzip];
phaseNames = ["doCopy"];
doCopy = fullDepEntry (''
ensureDir $out/texmf/tex/latex/moderncv $out/texmf/doc $out/share
mv *.cls *.sty $out/texmf/tex/latex/moderncv/
mv examples $out/texmf/doc/moderncv
ln -s $out/texmf* $out/share/
'') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
meta = {
description = "the moderncv class for TeXLive";
maintainers = [ args.lib.maintainers.simons ];
# Actually, arch-independent..
platforms = [] ;
};
}

View File

@ -0,0 +1,19 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "radeon-r600-firmware-2009-12-09";
src = fetchurl {
url = "http://people.freedesktop.org/~agd5f/radeon_ucode/R600_rlc.bin";
sha256 = "11bxpivxycigv0ffbck33y9czgira3g8py33840zxzwcwbi59yps";
};
unpackPhase = "true";
installPhase = "install -D $src $out/radeon/R600_rlc.bin";
meta = {
description = "Firmware for the RADEON r600 chipset";
homepage = "http://people.freedesktop.org/~agd5f/radeon_ucode";
license = "GPL";
};
}

View File

@ -0,0 +1,19 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "radeon-r700-firmware-2009-12-09";
src = fetchurl {
url = "http://people.freedesktop.org/~agd5f/radeon_ucode/R700_rlc.bin";
sha256 = "1lbgrlbhqijizg16z0g0qa6ggznpdy844cawnwdp1b0fkwhrbkga";
};
unpackPhase = "true";
installPhase = "install -D $src $out/radeon/R700_rlc.bin";
meta = {
description = "Firmware for the RADEON r700 chipset";
homepage = "http://people.freedesktop.org/~agd5f/radeon_ucode";
license = "GPL";
};
}

View File

@ -1,12 +1,18 @@
{fetchurl, stdenv, ncurses}:
stdenv.mkDerivation rec {
name = "htop-0.8.3";
let
name = "htop-0.9";
in
stdenv.mkDerivation {
inherit name;
src = fetchurl {
url = "mirror://sourceforge/htop/${name}.tar.gz";
sha256 = "f03bac8999c57c399cbf4332831bcce905d0393d0f97f7e32a1407b48890dd9d";
sha256 = "4de65c38e1886bccd30ed692b30eb9bf195240680781bfe1eaf5faf84ee6fbfd";
};
buildInputs = [ncurses];
meta = {
description = "An interactive process viewer for Linux";
homepage = "http://htop.sourceforge.net";

View File

@ -16,8 +16,8 @@ postPatch() {
}
configurePhase() {
if test -n "$preConfigure"; then
eval "$preConfigure";
if test -n "$preConfigure"; then
eval "$preConfigure";
fi
export INSTALL_PATH=$out
@ -46,13 +46,6 @@ configurePhase() {
}
postBuild() {
# After the builder did a 'make all' (kernel + modules)
# we force building the target asked: bzImage/zImage/uImage/...
make $makeFlags $kernelTarget
make $makeFlags -C scripts unifdef
}
installPhase() {
ensureDir $out
@ -149,8 +142,8 @@ installPhase() {
fi
fi
if test -n "$postInstall"; then
eval "$postInstall";
if test -n "$postInstall"; then
eval "$postInstall";
fi
}

View File

@ -0,0 +1,44 @@
--- a/fs/cifs/transport.c 2011-04-12 15:16:00.253887813 +0200
+++ b/fs/cifs/transport.c 2011-04-12 15:17:22.650296413 +0200
@@ -247,9 +247,9 @@
n_vec - first_vec, total_len);
if ((rc == -ENOSPC) || (rc == -EAGAIN)) {
i++;
- if(i >= 14) {
+ if(i >= 119) {
cERROR(1,
- ("sends on sock %p stuck for 15 seconds",
+ ("sends on sock %p stuck for 120 seconds",
ssocket));
rc = -EAGAIN;
break;
@@ -421,12 +421,12 @@
else if (long_op == 2) /* writes past end of file can take loong time */
timeout = 180 * HZ;
else if (long_op == 1)
- timeout = 45 * HZ; /* should be greater than
+ timeout = 120 * HZ; /* should be greater than
servers oplock break timeout (about 43 seconds) */
else if (long_op > 2) {
timeout = MAX_SCHEDULE_TIMEOUT;
} else
- timeout = 15 * HZ;
+ timeout = 120 * HZ;
/* wait for 15 seconds or until woken up due to response arriving or
due to last connection to this server being unmounted */
if (signal_pending(current)) {
@@ -687,12 +687,12 @@
else if (long_op == 2) /* writes past end of file can take loong time */
timeout = 180 * HZ;
else if (long_op == 1)
- timeout = 45 * HZ; /* should be greater than
+ timeout = 120 * HZ; /* should be greater than
servers oplock break timeout (about 43 seconds) */
else if (long_op > 2) {
timeout = MAX_SCHEDULE_TIMEOUT;
} else
- timeout = 15 * HZ;
+ timeout = 120 * HZ;
/* wait for 15 seconds or until woken up due to response arriving or
due to last connection to this server being unmounted */
if (signal_pending(current)) {

View File

@ -0,0 +1,46 @@
--- /tmp/linux-2.6.32.14/fs/cifs/transport.c 2011-04-07 10:50:40.844188400 +0200
+++ linux-2.6.32.14/fs/cifs/transport.c 2011-04-07 10:52:22.092690465 +0200
@@ -277,9 +277,9 @@
n_vec - first_vec, total_len);
if ((rc == -ENOSPC) || (rc == -EAGAIN)) {
i++;
- if (i >= 14) {
+ if (i >= 119) {
cERROR(1,
- ("sends on sock %p stuck for 15 seconds",
+ ("sends on sock %p stuck for 120 seconds",
ssocket));
rc = -EAGAIN;
break;
@@ -553,11 +553,11 @@
goto out;
if (long_op == CIFS_STD_OP)
- timeout = 15 * HZ;
+ timeout = 120 * HZ;
else if (long_op == CIFS_VLONG_OP) /* e.g. slow writes past EOF */
timeout = 180 * HZ;
else if (long_op == CIFS_LONG_OP)
- timeout = 45 * HZ; /* should be greater than
+ timeout = 120 * HZ; /* should be greater than
servers oplock break timeout (about 43 seconds) */
else if (long_op == CIFS_ASYNC_OP)
goto out;
@@ -744,7 +744,7 @@
goto out;
if (long_op == CIFS_STD_OP)
- timeout = 15 * HZ;
+ timeout = 120 * HZ;
/* wait for 15 seconds or until woken up due to response arriving or
due to last connection to this server being unmounted */
else if (long_op == CIFS_ASYNC_OP)
@@ -752,7 +752,7 @@
else if (long_op == CIFS_VLONG_OP) /* writes past EOF can be slow */
timeout = 180 * HZ;
else if (long_op == CIFS_LONG_OP)
- timeout = 45 * HZ; /* should be greater than
+ timeout = 120 * HZ; /* should be greater than
servers oplock break timeout (about 43 seconds) */
else if (long_op == CIFS_BLOCKING_OP)
timeout = 0x7FFFFFFF; /* large but no so large as to wrap */

View File

@ -0,0 +1,45 @@
--- /tmp/linux-2.6.32.14/fs/cifs/transport.c 2010-11-22 20:01:26.000000000 +0100
+++ linux-2.6.32.14/fs/cifs/transport.c 2011-03-29 15:31:14.926510480 +0200
@@ -166,8 +166,8 @@
after the retries we will kill the socket and
reconnect which may clear the network problem.
*/
- if ((i >= 14) || (!server->noblocksnd && (i > 2))) {
- cERROR(1, "sends on sock %p stuck for 15 seconds",
+ if ((i >= 119) || (!server->noblocksnd && (i > 2))) {
+ cERROR(1, "sends on sock %p stuck for 119 seconds",
ssocket);
rc = -EAGAIN;
break;
@@ -458,11 +458,11 @@
goto out;
if (long_op == CIFS_STD_OP)
- timeout = 15 * HZ;
+ timeout = 120 * HZ;
else if (long_op == CIFS_VLONG_OP) /* e.g. slow writes past EOF */
timeout = 180 * HZ;
else if (long_op == CIFS_LONG_OP)
- timeout = 45 * HZ; /* should be greater than
+ timeout = 120 * HZ; /* should be greater than
servers oplock break timeout (about 43 seconds) */
else if (long_op == CIFS_ASYNC_OP)
goto out;
@@ -650,7 +650,7 @@
goto out;
if (long_op == CIFS_STD_OP)
- timeout = 15 * HZ;
+ timeout = 120 * HZ;
/* wait for 15 seconds or until woken up due to response arriving or
due to last connection to this server being unmounted */
else if (long_op == CIFS_ASYNC_OP)
@@ -658,7 +658,7 @@
else if (long_op == CIFS_VLONG_OP) /* writes past EOF can be slow */
timeout = 180 * HZ;
else if (long_op == CIFS_LONG_OP)
- timeout = 45 * HZ; /* should be greater than
+ timeout = 120 * HZ; /* should be greater than
servers oplock break timeout (about 43 seconds) */
else if (long_op == CIFS_BLOCKING_OP)
timeout = 0x7FFFFFFF; /* large but no so large as to wrap */

View File

@ -0,0 +1,13 @@
--- /tmp/linux-2.6.32.14/fs/cifs/transport.c 2011-03-27 20:37:20.000000000 +0200
+++ linux-2.6.32.14/fs/cifs/transport.c 2011-04-01 11:07:17.700305670 +0200
@@ -182,8 +182,8 @@
after the retries we will kill the socket and
reconnect which may clear the network problem.
*/
- if ((i >= 14) || (!server->noblocksnd && (i > 2))) {
- cERROR(1, "sends on sock %p stuck for 15 seconds",
+ if ((i >= 119) || (!server->noblocksnd && (i > 2))) {
+ cERROR(1, "sends on sock %p stuck for 119 seconds",
ssocket);
rc = -EAGAIN;
break;

View File

@ -35,6 +35,10 @@
, extraMeta ? {}
, ubootChooser ? null
, postInstall ? ""
, # After the builder did a 'make all' (kernel + modules)
# we force building the target asked: bzImage/zImage/uImage/...
postBuild ? "make $makeFlags $kernelTarget; make $makeFlags -C scripts unifdef"
, ...
}:
@ -65,7 +69,7 @@ stdenv.mkDerivation {
# Combine the `features' attribute sets of all the kernel patches.
features = lib.fold (x: y: (if x ? features then x.features else {}) // y) features kernelPatches;
};
builder = ./builder.sh;
generateConfig = ./generate-config.pl;
@ -87,7 +91,7 @@ stdenv.mkDerivation {
kernelBaseConfig = stdenv.platform.kernelBaseConfig;
kernelTarget = stdenv.platform.kernelTarget;
autoModules = stdenv.platform.kernelAutoModules;
# Should we trust platform.kernelArch? We can only do
# that once we differentiate i686/x86_64 in platforms.
arch =
@ -133,5 +137,6 @@ stdenv.mkDerivation {
license = "GPLv2";
homepage = http://www.kernel.org/;
maintainers = [ lib.maintainers.eelco ];
platforms = lib.platforms.linux;
} // extraMeta;
}

View File

@ -0,0 +1,48 @@
{ stdenv, fetchurl, extraConfig ? "", ... } @ args:
let
configWithPlatform = kernelPlatform:
''
# Don't include any debug features.
DEBUG_KERNEL n
# Support drivers that need external firmware.
STANDALONE n
# Make /proc/config.gz available.
IKCONFIG_PROC y
# Optimize with -O2, not -Os.
CC_OPTIMIZE_FOR_SIZE n
# Enable various subsystems.
MTD_COMPLEX_MAPPINGS y # needed for many devices
# Networking options.
IP_PNP n
IPV6_PRIVACY y
# Filesystem options - in particular, enable extended attributes and
# ACLs for all filesystems that support them.
CIFS_XATTR y
CIFS_POSIX y
${extraConfig}
'';
in
import ./generic.nix (rec {
version = "2.6.15.7";
postBuild = "make $makeFlags $kernelTarget";
src = fetchurl {
url = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${version}.tar.bz2";
sha256 = "43e0c251924324749b06464512532c3002d6294520faabdba5b3aea4e840b48b";
};
config = configWithPlatform stdenv.platform;
configCross = configWithPlatform stdenv.cross.platform;
}
// removeAttrs args ["extraConfig"]
)

View File

@ -0,0 +1,177 @@
{ stdenv, fetchurl, extraConfig ? "", ... } @ args:
let
configWithPlatform = kernelPlatform :
''
# Don't include any debug features.
DEBUG_KERNEL n
# Activate /proc/sys/kernel/modprobe
KMOD y
# Support drivers that need external firmware.
STANDALONE n
# Make /proc/config.gz available.
IKCONFIG_PROC y
# Optimize with -O2, not -Os.
CC_OPTIMIZE_FOR_SIZE n
# Virtualisation (KVM, Xen...).
PARAVIRT_GUEST y
KVM_CLOCK y
KVM_GUEST y
# Include the CFQ I/O scheduler in the kernel, rather than as a
# module, so that the initrd gets a good I/O scheduler.
IOSCHED_CFQ y
# Disable some expensive (?) features.
MARKERS n
KPROBES n
NUMA? n
# Enable various subsystems.
ACCESSIBILITY y # Accessibility support
AUXDISPLAY y # Auxiliary Display support
DONGLE y # Serial dongle support
HIPPI y
MTD_COMPLEX_MAPPINGS y # needed for many devices
NET_POCKET y # enable pocket and portable adapters
SCSI_LOWLEVEL y # enable lots of SCSI devices
SCSI_LOWLEVEL_PCMCIA y
SPI y # needed for many devices
SPI_MASTER y
WAN y
# Networking options.
IP_PNP n
IPV6_PRIVACY y
# Some settings to make sure that fbcondecor works - in particular,
# disable tileblitting and the drivers that need it.
# Enable various FB devices.
FB_EFI y
FB_NVIDIA_I2C y # Enable DDC Support
FB_RIVA_I2C y
FB_ATY_CT y # ach64 CT/VT/GT/LT (incl. 3D RAGE) support
FB_ATY_GX y # Mach64 GX support
FB_SAVAGE_I2C y
FB_SAVAGE_ACCEL y
FB_SIS_300 y
FB_SIS_315 y
FB_3DFX_ACCEL y
FB_TRIDENT_ACCEL y
FB_GEODE y
# Sound.
SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode
SND_USB_CAIAQ_INPUT y
PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
# Enable a bunch of USB storage devices.
USB_STORAGE_DATAFAB y
USB_STORAGE_FREECOM y
USB_STORAGE_ISD200 y
USB_STORAGE_USBAT y
USB_STORAGE_SDDR09 y
USB_STORAGE_SDDR55 y
USB_STORAGE_JUMPSHOT y
USB_STORAGE_ONETOUCH y
USB_STORAGE_KARMA y
USB_STORAGE_CYPRESS_ATACB y
# USB serial devices.
USB_SERIAL_GENERIC y # USB Generic Serial Driver
USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices
USB_SERIAL_KEYSPAN_USA28 y
USB_SERIAL_KEYSPAN_USA28X y
USB_SERIAL_KEYSPAN_USA28XA y
USB_SERIAL_KEYSPAN_USA28XB y
USB_SERIAL_KEYSPAN_USA19 y
USB_SERIAL_KEYSPAN_USA18X y
USB_SERIAL_KEYSPAN_USA19W y
USB_SERIAL_KEYSPAN_USA19QW y
USB_SERIAL_KEYSPAN_USA19QI y
USB_SERIAL_KEYSPAN_USA49W y
USB_SERIAL_KEYSPAN_USA49WLC y
# Filesystem options - in particular, enable extended attributes and
# ACLs for all filesystems that support them.
EXT2_FS_XATTR y # Ext2 extended attributes
EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists
EXT2_FS_SECURITY y # Ext2 Security Labels
EXT2_FS_XIP y # Ext2 execute in place support
REISERFS_FS_XATTR y
REISERFS_FS_POSIX_ACL y
REISERFS_FS_SECURITY y
JFS_POSIX_ACL y
JFS_SECURITY y
XFS_QUOTA y
XFS_POSIX_ACL y
XFS_RT y # XFS Realtime subvolume support
OCFS2_DEBUG_MASKLOG n
NFSD_V2_ACL y
NFSD_V3 y
NFSD_V3_ACL y
NFSD_V4 y
CIFS_XATTR y
CIFS_POSIX y
# Misc. options.
8139TOO_8129 y
8139TOO_PIO n # PIO is slower
AIC79XX_DEBUG_ENABLE n
AIC7XXX_DEBUG_ENABLE n
AIC94XX_DEBUG n
BLK_DEV_BSG n
BLK_DEV_IDEACPI y # IDE ACPI support
BLK_DEV_IO_TRACE n
BT_HCIUART_BCSP y
BT_HCIUART_H4 y # UART (H4) protocol support
BT_HCIUART_LL y
BT_RFCOMM_TTY y # RFCOMM TTY support
CPU_FREQ_DEBUG n
CRASH_DUMP n
DMAR? n # experimental
FUSION y # Fusion MPT device support
IRDA_ULTRA y # Ultra (connectionless) protocol
KALLSYMS_EXTRA_PASS n
LOGO n # not needed
MEDIA_ATTACH y
MEGARAID_NEWGEN y
MODVERSIONS y
NET_FC y # Fibre Channel driver support
PCI_LEGACY y
PPP_MULTILINK y # PPP multilink support
SCSI_LOGGING y # SCSI logging facility
SERIAL_8250 y # 8250/16550 and compatible serial support
SLIP_COMPRESSED y # CSLIP compressed headers
SLIP_SMART y
THERMAL_HWMON y # Hardware monitoring support
USB_DEBUG n
USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
X86_MCE y
${extraConfig}
'';
in
import ./generic.nix (
rec {
version = "2.6.26.8";
src = fetchurl {
url = "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${version}.tar.bz2";
sha256 = "4f2991378a09bd4ba916236cba200052c18e52e44c9d7e4100337f7df2788dc9";
};
config = configWithPlatform stdenv.platform;
configCross = configWithPlatform stdenv.cross.platform;
}
// removeAttrs args ["extraConfig"]
)

View File

@ -1,63 +1,214 @@
args @ {stdenv, fetchurl, userModeLinux ? false, oldI686 ? false, ...}:
{ stdenv, fetchurl, extraConfig ? "", ... } @ args:
assert !userModeLinux;
let
configWithPlatform = kernelPlatform:
''
# Don't include any debug features.
DEBUG_KERNEL n
# Support drivers that need external firmware.
STANDALONE n
# Make /proc/config.gz available.
IKCONFIG_PROC y
# Optimize with -O2, not -Os.
CC_OPTIMIZE_FOR_SIZE n
# Enable the kernel's built-in memory tester.
MEMTEST y
# Include the CFQ I/O scheduler in the kernel, rather than as a
# module, so that the initrd gets a good I/O scheduler.
IOSCHED_CFQ y
# Disable some expensive (?) features.
FTRACE n
KPROBES n
NUMA? n
PM_TRACE_RTC n
# Enable various subsystems.
ACCESSIBILITY y # Accessibility support
AUXDISPLAY y # Auxiliary Display support
DONGLE y # Serial dongle support
HIPPI y
MTD_COMPLEX_MAPPINGS y # needed for many devices
NET_POCKET y # enable pocket and portable adapters
SCSI_LOWLEVEL y # enable lots of SCSI devices
SCSI_LOWLEVEL_PCMCIA y
SPI y # needed for many devices
SPI_MASTER y
WAN y
# Networking options.
IP_PNP n
IPV6_PRIVACY y
NETFILTER_ADVANCED y
IP_VS_PROTO_TCP y
IP_VS_PROTO_UDP y
IP_VS_PROTO_ESP y
IP_VS_PROTO_AH y
IP_DCCP_CCID3 n # experimental
CLS_U32_PERF y
CLS_U32_MARK y
# Wireless networking.
IPW2100_MONITOR y # support promiscuous mode
IPW2200_MONITOR y # support promiscuous mode
IWLWIFI_LEDS? y
IWLWIFI_SPECTRUM_MEASUREMENT y
IWL3945_SPECTRUM_MEASUREMENT y
IWL4965 y # Intel Wireless WiFi 4965AGN
IWL5000 y # Intel Wireless WiFi 5000AGN
HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
HOSTAP_FIRMWARE_NVRAM y
# Some settings to make sure that fbcondecor works - in particular,
# disable tileblitting and the drivers that need it.
# Enable various FB devices.
FB y
FB_EFI y
FB_NVIDIA_I2C y # Enable DDC Support
FB_RIVA_I2C y
FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support
FB_ATY_GX y # Mach64 GX support
FB_SAVAGE_I2C y
FB_SAVAGE_ACCEL y
FB_SIS_300 y
FB_SIS_315 y
FB_3DFX_ACCEL y
FB_GEODE y
# Video configuration
# The intel drivers already require KMS
DRM_I915_KMS y
# Sound.
SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode
SND_HDA_INPUT_BEEP y # Support digital beep via input layer
SND_USB_CAIAQ_INPUT y
PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
# USB serial devices.
USB_SERIAL_GENERIC y # USB Generic Serial Driver
USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices
USB_SERIAL_KEYSPAN_USA28 y
USB_SERIAL_KEYSPAN_USA28X y
USB_SERIAL_KEYSPAN_USA28XA y
USB_SERIAL_KEYSPAN_USA28XB y
USB_SERIAL_KEYSPAN_USA19 y
USB_SERIAL_KEYSPAN_USA18X y
USB_SERIAL_KEYSPAN_USA19W y
USB_SERIAL_KEYSPAN_USA19QW y
USB_SERIAL_KEYSPAN_USA19QI y
USB_SERIAL_KEYSPAN_USA49W y
USB_SERIAL_KEYSPAN_USA49WLC y
# Filesystem options - in particular, enable extended attributes and
# ACLs for all filesystems that support them.
EXT2_FS_XATTR y # Ext2 extended attributes
EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists
EXT2_FS_SECURITY y # Ext2 Security Labels
EXT2_FS_XIP y # Ext2 execute in place support
EXT4_FS_POSIX_ACL y
EXT4_FS_SECURITY y
REISERFS_FS_XATTR y
REISERFS_FS_POSIX_ACL y
REISERFS_FS_SECURITY y
JFS_POSIX_ACL y
JFS_SECURITY y
XFS_QUOTA y
XFS_POSIX_ACL y
XFS_RT y # XFS Realtime subvolume support
OCFS2_DEBUG_MASKLOG n
OCFS2_FS_POSIX_ACL y
BTRFS_FS_POSIX_ACL y
UBIFS_FS_XATTR y
UBIFS_FS_ADVANCED_COMPR y
NFSD_V2_ACL y
NFSD_V3 y
NFSD_V3_ACL y
NFSD_V4 y
CIFS_XATTR y
CIFS_POSIX y
# Security related features.
STRICT_DEVMEM y # Filter access to /dev/mem
SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default
# Misc. options.
8139TOO_8129 y
8139TOO_PIO n # PIO is slower
AIC79XX_DEBUG_ENABLE n
AIC7XXX_DEBUG_ENABLE n
AIC94XX_DEBUG n
B43_PCMCIA y
BLK_DEV_BSG n
BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support
BLK_DEV_IDEACPI y # IDE ACPI support
BLK_DEV_INTEGRITY y
BSD_PROCESS_ACCT_V3 y
BT_HCIUART_BCSP y
BT_HCIUART_H4 y # UART (H4) protocol support
BT_HCIUART_LL y
BT_RFCOMM_TTY y # RFCOMM TTY support
CPU_FREQ_DEBUG n
CRASH_DUMP n
DMAR? n # experimental
DVB_DYNAMIC_MINORS y # we use udev
FUSION y # Fusion MPT device support
IDE_GD_ATAPI y # ATAPI floppy support
IRDA_ULTRA y # Ultra (connectionless) protocol
JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels
JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels
JOYSTICK_XPAD_FF y # X-Box gamepad rumble support
JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED
KALLSYMS_EXTRA_PASS n
LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger
LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
LOGO n # not needed
MEDIA_ATTACH y
MEGARAID_NEWGEN y
MICROCODE_AMD y
MODVERSIONS y
MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension
MTRR_SANITIZER y
NET_FC y # Fibre Channel driver support
PCI_LEGACY y
PPP_MULTILINK y # PPP multilink support
REGULATOR y # Voltage and Current Regulator Support
SCSI_LOGGING y # SCSI logging facility
SERIAL_8250 y # 8250/16550 and compatible serial support
SLIP_COMPRESSED y # CSLIP compressed headers
SLIP_SMART y
THERMAL_HWMON y # Hardware monitoring support
USB_DEBUG n
USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
X86_CHECK_BIOS_CORRUPTION y
X86_MCE y
${extraConfig}
'';
in
import ./generic.nix (
rec {
version = "2.6.31.14";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
sha256 = "1c6ivcjgns4gbx04mhnhndqikm3prqhhfm2a5zrb1mfyvvishqpp";
};
features = {
iwlwifi = true;
};
config = configWithPlatform stdenv.platform;
configCross = configWithPlatform stdenv.cross.platform;
preConfigure = if (stdenv.system != "armv5tel-linux") then ''
killOption () {
sed -re 's/^('"$1"')=[ym]/# \1 is not set/' -i .config
}
setOptionMod () {
sed -re 's/^# ('"$1"') is not set/\1=m/' -i .config
sed -re "1i$1=m" -i .config
}
setOptionYes () {
sed -re 's/^# ('"$1"') is not set/\1=y/' -i .config
sed -re "1i$1=y" -i .config
}
make allmodconfig
killOption CONFIG_CMDLINE_OVERRIDE
killOption CONFIG_IMA
killOption 'CONFIG_.*_DEBUG.*'
killOption 'CONFIG_DEBUG.*'
killOption CONFIG_AUDIT_ARCH
killOption CONFIG_PERF_COUNTERS
killOption 'CONFIG_GCOV.*'
killOption 'CONFIG_KGDB.*'
killOption 'CONFIG_.*_TEST'
killOption 'CONFIG_USB_OTG_BLACKLIST_HUB'
killOption CONFIG_KERNEL_BZIP2
killOption CONFIG_KERNEL_LZMA
setOptionYes CONFIG_KERNEL_GZIP
killOption CONFIG_TASKSTATS
killOption CONFIG_PREEMPT_NONE
setOptionYes CONFIG_PREEMPT_VOLUNTARY
cp .config ${config}
'' else "";
config = if (stdenv.system == "armv5tel-linux") then
(./config-2.6.31-armv5tel) else "./kernel-config";
features.iwlwifi = true;
}
// args
// removeAttrs args ["extraConfig"]
)

View File

@ -38,7 +38,7 @@ let
in
{
rec {
sec_perm_2_6_24 =
{ name = "sec_perm-2.6.24";
@ -55,7 +55,7 @@ in
extraConfig = fbcondecorConfig;
features.fbConDecor = true;
};
fbcondecor_2_6_27 =
{ name = "fbcondecor-0.9.4-2.6.27";
patch = fetchurl {
@ -75,7 +75,7 @@ in
extraConfig = fbcondecorConfig;
features.fbConDecor = true;
};
fbcondecor_2_6_29 =
{ name = "fbcondecor-0.9.6-2.6.29.2";
patch = fetchurl {
@ -85,7 +85,7 @@ in
extraConfig = fbcondecorConfig;
features.fbConDecor = true;
};
fbcondecor_2_6_31 =
{ name = "fbcondecor-0.9.6-2.6.31.2";
patch = fetchurl {
@ -148,7 +148,7 @@ in
};
};
gcov_2_6_28 =
gcov_2_6_28 =
{ name = "gcov";
patch = fetchurl {
url = http://buildfarm.st.ewi.tudelft.nl/~eelco/dist/linux-2.6.28-gcov.patch;
@ -235,12 +235,38 @@ in
# Increase the timeout on CIFS requests from 15 to 120 seconds to
# make CIFS more resilient to high load on the CIFS server.
cifs_timeout =
cifs_timeout_2_6_15 =
{ name = "cifs-timeout";
patch = ./cifs-timeout.patch;
patch = ./cifs-timeout-2.6.15.patch;
features.cifsTimeout = true;
};
cifs_timeout_2_6_25 =
{ name = "cifs-timeout";
patch = ./cifs-timeout-2.6.25.patch;
features.cifsTimeout = true;
};
cifs_timeout_2_6_29 =
{ name = "cifs-timeout";
patch = ./cifs-timeout-2.6.29.patch;
features.cifsTimeout = true;
};
cifs_timeout_2_6_35 =
{ name = "cifs-timeout";
patch = ./cifs-timeout-2.6.35.patch;
features.cifsTimeout = true;
};
cifs_timeout_2_6_38 =
{ name = "cifs-timeout";
patch = ./cifs-timeout-2.6.38.patch;
features.cifsTimeout = true;
};
cifs_timeout = cifs_timeout_2_6_29;
no_xsave =
{ name = "no-xsave";
patch = fetchurl {

View File

@ -0,0 +1,53 @@
{ stdenv, fetchurl, gperf, pkgconfig, glib, acl, libusb, usbutils, pciutils }:
assert stdenv ? glibc;
stdenv.mkDerivation rec {
name = "udev-145";
src = fetchurl {
url = "mirror://kernel/linux/utils/kernel/hotplug/${name}.tar.bz2";
sha256 = "1zmibp6n7d582fqx8vmg9vb2a1435hghfpz36056bc25ccwf7yiv";
};
buildInputs = [gperf pkgconfig glib acl libusb usbutils];
configureFlags = "--with-pci-ids-path=${pciutils}/share/pci.ids";
preConfigure =
''
substituteInPlace extras/keymap/Makefile.in \
--replace /usr/include ${stdenv.glibc}/include
'';
postInstall =
''
# Install some rules that really should be installed by default.
for i in 40-alsa.rules 40-infiniband.rules 40-isdn.rules 40-pilot-links.rules 64-device-mapper.rules 64-md-raid.rules; do
cp rules/packages/$i $out/libexec/rules.d/
done
# The path to rule_generator.functions in write_cd_rules and
# write_net_rules is broken. Also, don't store the mutable
# persistant rules in /etc/udev/rules.d but in
# /var/lib/udev/rules.d.
for i in $out/libexec/write_cd_rules $out/libexec/write_net_rules; do
substituteInPlace $i \
--replace /lib/udev $out/libexec \
--replace /etc/udev/rules.d /var/lib/udev/rules.d
done
# Don't set PATH to /bin:/sbin; won't work in NixOS.
substituteInPlace $out/libexec/rule_generator.functions \
--replace 'PATH=' '#PATH='
# Don't hardcore the FIRMWARE_DIRS variable; obtain it from the
# environment of the caller.
sed '3,4d' -i $out/libexec/firmware.sh
'';
meta = {
homepage = http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html;
description = "Udev manages the /dev filesystem";
};
}

Some files were not shown because too many files have changed in this diff Show More