Merge branch 'master' into stdenv-updates.

This commit is contained in:
Peter Simons 2013-01-04 21:00:53 +01:00
commit 9e9cd7b529
80 changed files with 1022 additions and 222 deletions

View File

@ -0,0 +1,30 @@
{ fetchurl, stdenv, db4, boost, gmp, mpfr, miniupnpc, qt4, unzip }:
stdenv.mkDerivation rec {
version = "0.0.1-3";
name = "freicoin-${version}";
src = fetchurl {
url = "https://github.com/freicoin/freicoin/archive/v${version}.zip";
sha256 = "19q4llv67kmvfr0x56rnqcf0d050dayv246q4i51mmkvjijc1qpf";
};
# I think that openssl and zlib are required, but come through other
# packages
buildInputs = [ db4 boost gmp mpfr miniupnpc qt4 unzip ];
configurePhase = "qmake";
installPhase = ''
mkdir -p $out/bin
cp freicoin-qt $out/bin
'';
meta = {
description = "Peer-to-peer currency with demurrage fee";
homepage = "http://freicoi.in/";
license = "MIT";
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}

View File

@ -3,19 +3,19 @@
}:
stdenv.mkDerivation rec {
version = "2.0.4";
version = "2.0.5";
name = "lyx-${version}";
src = fetchurl {
url = "ftp://ftp.lyx.org/pub/lyx/stable/2.0.x/${name}.tar.xz";
sha256 = "137dzmz1z6aqz9mdj8gmmi0k60s9sfn6gy916j175cwzq6hpncb8";
sha256 = "00pv2d9p8j1p6x87kalbn1bgxg9l4zqh65zcajrnh10a76isv6nk";
};
configureFlags = [
#"--without-included-boost"
/* Boost is a huge dependency from which 1.4 MB of libs would be used.
Using internal boost stuff only increases executable by around 0.2 MB. */
#"--without-included-mythes" # such a small library isn't worth a split package
#"--without-included-mythes" # such a small library isn't worth a separate package
];
buildInputs = [

View File

@ -0,0 +1,23 @@
{ stdenv, fetchurl, dbus, gnutls2, wxGTK28, libidn, tinyxml, gettext, pkgconfig, xdg_utils, gtk2, sqlite36 }:
let version = "3.6.0.2"; in
stdenv.mkDerivation {
name = "filezilla-${version}";
src = fetchurl {
url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
sha256 = "01n6k1q21i21451rdx3rgc4hhxghdn5b0ldzpjsp44ipgww5wsjk";
};
configureFlags = [
"--disable-manualupdatecheck"
];
buildInputs = [ dbus gnutls2 wxGTK28 libidn tinyxml gettext pkgconfig xdg_utils gtk2 sqlite36 ];
meta = {
homepage = "http://filezilla-project.org/";
description = "FileZilla is a cross-platform graphical FTP, FTPS and SFTP client a lot of features, supporting Windows, Linux, Mac OS X and more.";
license = "GPLv2";
};
}

View File

@ -12,14 +12,14 @@
}:
let
version = "3.20121211";
version = "3.20130102";
in
stdenv.mkDerivation {
name = "git-annex-${version}";
src = fetchurl {
url = "http://git.kitenet.net/?p=git-annex.git;a=snapshot;sf=tgz;h=${version}";
sha256 = "1l5sffcn6mcfk0s808z490s30dbq8m4wi8a11ard35hyf599zawq";
sha256 = "0aga3i7rzq21vyj2wq87n4yl5aljzxc69vbzw43nxx9sr2f3xyh5";
name = "git-annex-${version}.tar.gz";
};

View File

@ -9,7 +9,7 @@
let
version = "1.8.0.1";
version = "1.8.1";
svn = subversionClient.override { perlBindings = true; };
@ -20,7 +20,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://git-core.googlecode.com/files/git-${version}.tar.gz";
sha1 = "4e7492f7558f3ba2a450c43efa7de3b0b1adc6c1";
sha1 = "wfj2pbqf9l56014dm330wb13qgcwx3dc";
};
patches = [ ./docbook2texi.patch ];

View File

@ -1,5 +1,6 @@
{ stdenv, fetchurl, lib, patchelf, cdrkit, kernel, which, makeWrapper
, libX11, libXt, libXext, libXmu, libXcomposite, libXfixes, libXrandr, libXcursor}:
, libX11, libXt, libXext, libXmu, libXcomposite, libXfixes, libXrandr, libXcursor
, dbus }:
let version = "4.2.4"; in
@ -13,7 +14,7 @@ stdenv.mkDerivation {
KERN_DIR = "${kernel}/lib/modules/*/build";
buildInputs = [ patchelf cdrkit makeWrapper ];
buildInputs = [ patchelf cdrkit makeWrapper dbus ];
installPhase = ''
mkdir -p $out
@ -56,7 +57,7 @@ stdenv.mkDerivation {
cd ..
# Change the interpreter for various binaries
for i in sbin/VBoxService bin/{VBoxClient,VBoxControl}
for i in sbin/VBoxService bin/{VBoxClient,VBoxControl} lib/VBoxGuestAdditions/mount.vboxsf
do
${if stdenv.system == "i686-linux" then ''
patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $i
@ -66,14 +67,12 @@ stdenv.mkDerivation {
''
else throw ("Architecture: "+stdenv.system+" not supported for VirtualBox guest additions")
}
patchelf --set-rpath ${stdenv.gcc.gcc}/lib:${dbus}/lib:${libX11}/lib:${libXt}/lib:${libXext}/lib:${libXmu}/lib:${libXfixes}/lib:${libXrandr}/lib:${libXcursor}/lib $i
done
# Change rpath for various binaries and libraries
patchelf --set-rpath ${stdenv.gcc.gcc}/lib:${libX11}/lib:${libXt}/lib:${libXext}/lib:${libXmu}/lib:${libXfixes}/lib:${libXrandr}/lib:${libXcursor}/lib bin/VBoxClient
for i in lib/VBoxOGL*.so
do
patchelf --set-rpath $out/lib $i
patchelf --set-rpath $out/lib:${dbus}/lib $i
done
# Remove references to /usr from various scripts and files
@ -82,6 +81,7 @@ stdenv.mkDerivation {
# Install binaries
mkdir -p $out/sbin
install -m 4755 lib/VBoxGuestAdditions/mount.vboxsf $out/sbin/mount.vboxsf
install -m 755 sbin/VBoxService $out/sbin
mkdir -p $out/bin

View File

@ -1,24 +1,19 @@
{ cabal, extensibleExceptions, mtl, utf8String, X11, xmessage }:
{ cabal, extensibleExceptions, filepath, mtl, utf8String, X11 }:
cabal.mkDerivation (self: {
pname = "xmonad";
version = "0.10";
sha256 = "19z5y36pybsm93x6hlj5hzyys9r4ag7hkdib5spsnryk2mv72xj6";
version = "0.11";
sha256 = "1nsv88y2b206n3s5hrsp5ginvz1bj818ns7jmikavb2g33akdgg5";
isLibrary = true;
isExecutable = true;
buildDepends = [ extensibleExceptions mtl utf8String X11 ];
buildDepends = [
extensibleExceptions filepath mtl utf8String X11
];
meta = {
homepage = "http://xmonad.org";
description = "A tiling window manager";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [
self.stdenv.lib.maintainers.andres
];
maintainers = [ self.stdenv.lib.maintainers.andres ];
};
preConfigure = ''
substituteInPlace XMonad/Core.hs --replace \
'"xmessage"' '"${xmessage}/bin/xmessage"'
'';
})

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "xmonad-contrib";
version = "0.10";
sha256 = "0lp7qr69rpjy4s3knhdgh2bp6zs81xp0az1lisv4a2i7i1ys7hfq";
version = "0.11";
sha256 = "188brys16b3wmxd22j4284wnpasm8bixdjfxl1jr2q2xi45nzks0";
buildDepends = [
extensibleExceptions mtl random utf8String X11 X11Xft xmonad
];

View File

@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
xmonadContrib
];
configureFlags = "-f-with_hlist -fwith_split -fwith_parsec";
jailbreak = true;
meta = {
homepage = "http://projects.haskell.org/xmonad-extras";
description = "Third party extensions for xmonad with wacky dependencies";

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "man-pages-3.43";
name = "man-pages-3.45";
src = fetchurl {
url = "mirror://kernel/linux/docs/man-pages/Archive/${name}.tar.xz";
sha256 = "05fjq8llfxm77mnf2jhly98780xbkakim7b7hbx6kafvvs5zisrf";
sha256 = "1lwqrp79xcyhnjlyg1n0imz5wc88lpgv909xxz8bdgbk7c1mky0h";
};
preBuild =

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, yasm, zlib, bzip2
{ stdenv, fetchurl, pkgconfig, yasm, zlib, bzip2, alsaLib
, mp3Support ? true, lame ? null
, speexSupport ? true, speex ? null
, theoraSupport ? true, libtheora ? null
@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
++ stdenv.lib.optional dc1394Support "--enable-libdc1394"
++ stdenv.lib.optional x11grabSupport "--enable-x11grab";
buildInputs = [ pkgconfig lame yasm zlib bzip2 ]
buildInputs = [ pkgconfig lame yasm zlib bzip2 alsaLib ]
++ stdenv.lib.optional mp3Support lame
++ stdenv.lib.optional speexSupport speex
++ stdenv.lib.optional theoraSupport libtheora

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "Diff";
version = "0.1.3";
sha256 = "02dhy4rp3mkzm5x3h1rkdin2h8qcb7h7nhn14gl2gvl6wdykfh5w";
version = "0.2.0";
sha256 = "15hdkrzwajnfcx8bj4jdcy4jli115g9v20msw1xyc9wnwrmbz97k";
meta = {
description = "O(ND) diff algorithm in haskell";
license = self.stdenv.lib.licenses.bsd3;

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "Graphalyze";
version = "0.13.0.1";
sha256 = "1yk7iglsspbj0kxh5rhjkc6q65vz07vpygiig07w86g2s6gad8am";
version = "0.14.0.0";
sha256 = "027nxvv38cza6y6rivmvc9wpglbazkjrkyriwv3mn03pp21y53fg";
buildDepends = [
bktrees fgl filepath graphviz pandoc random text time
];

View File

@ -1,16 +0,0 @@
{ cabal, libX11, libXext, libXinerama, syb }:
cabal.mkDerivation (self: {
pname = "X11";
version = "1.5.0.1";
sha256 = "0s8k3lhvlks6i1mwfnm5fimfd2f0sjw9k2p67is3x564kih7mh19";
buildDepends = [ syb ];
extraLibraries = [ libX11 libXext libXinerama ];
meta = {
homepage = "https://github.com/haskell-pkg-janitors/X11";
description = "A binding to the X11 graphics library";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [ self.stdenv.lib.maintainers.andres ];
};
})

View File

@ -1,13 +1,13 @@
{ cabal, hashable, ReadArgs, systemFilepath, text, transformers
, unorderedContainers, vector
{ cabal, hashable, liftedBase, ReadArgs, systemFilepath, text
, transformers, unorderedContainers, vector
}:
cabal.mkDerivation (self: {
pname = "basic-prelude";
version = "0.3.1.0";
sha256 = "15k89z78zjhga36wrvfn8b17hsmlwr1na6xq0gmimivfrdlnz5j0";
version = "0.3.2.0";
sha256 = "1sdwkh9xrsx8v96d06jll7cqc0p6ykv2y9gnjzpbfx0k3ns69kcj";
buildDepends = [
hashable ReadArgs systemFilepath text transformers
hashable liftedBase ReadArgs systemFilepath text transformers
unorderedContainers vector
];
meta = {

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "cautious-file";
version = "1.0.1";
sha256 = "0mlgchvdhw9lhml4pqmxxvx1zcqmkcyl3yx6w3zp0df200njzsws";
version = "1.0.2";
sha256 = "1sw5ngwrarq1lsd4c6v2wdmgbhkkq6kpybb62r8ccm11ddgn3yiq";
buildDepends = [ filepath ];
meta = {
description = "Ways to write a file cautiously, to reduce the chances of problems such as data loss due to crashes or power failures";

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "classy-prelude-conduit";
version = "0.4.2";
sha256 = "1p5j519s95cgiy5ig0agbfs4vyay8srzwsimnblij68zz5jjfrzp";
version = "0.4.3";
sha256 = "0ny4si6z6i6g6khcg9d3m9wks42sqh8i8kpgghhdwd37v32l3f34";
buildDepends = [
classyPrelude conduit monadControl resourcet transformers void
xmlConduit

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "classy-prelude";
version = "0.4.2";
sha256 = "082zqhyswzlnl250g8pf88nmh7pkwxwjwnkp0pm9960qsl6kbn7s";
version = "0.4.3";
sha256 = "1k2iszja03s8azypl8lpkdjvvqsgzg73cl1wp4jl2fqp1psqv36q";
buildDepends = [
basicPrelude hashable systemFilepath text transformers
unorderedContainers vector

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "clientsession";
version = "0.8.0.1";
sha256 = "0r6j15wkyp4akhaxvimjxlwdka7cbm3c3nfk5bvkqan1nrip5rxv";
version = "0.8.0.2";
sha256 = "189v030g23lvky4vccdaw3p0p6drn26zly80a8n9bbn7b8kbfh4r";
buildDepends = [
base64Bytestring cereal cprngAes cryptoApi cryptocipher entropy
skein tagged

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "conduit";
version = "0.5.5";
sha256 = "0av12gaxsrfmsbs70y532wfwnpz9v6ymn182dr8phpqn8d9lx2iq";
version = "0.5.6";
sha256 = "1a5apcds3jjksz7hzw4ag725796axqk9nm5fhn5i4l82zphq2cxs";
buildDepends = [
liftedBase monadControl resourcet text transformers
transformersBase void

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "cprng-aes";
version = "0.3.1";
sha256 = "0z1kpgy9d4yp1vmcparsv3r5g1khv2yqqkr99ac3mgvr6pyh24dk";
version = "0.3.2";
sha256 = "1xwwhg83llf9fzfafxsky65biwk0sla9273rp4gqr7vg9p02k221";
buildDepends = [
cipherAes cryptoApi cryptoRandomApi entropy random
];

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "crypto-random-api";
version = "0.1.0";
sha256 = "1zx05hskzdxm0kfj6x9qsx8f659zv77pa189s3xg56i7h18d25md";
version = "0.2.0";
sha256 = "0z49kwgjj7rz235642q64hbkgp0zl6ipn29xd19yb75xc5q7gsan";
buildDepends = [ entropy ];
meta = {
homepage = "http://github.com/vincenthz/hs-crypto-random-api";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "cryptohash";
version = "0.8.2";
sha256 = "0mym1q5sa1pqfffy0p8v12lfim1dlaczppw3c3wjhxgs222303wj";
version = "0.8.3";
sha256 = "1fcqbbclii2hmbhi7h64v0nnbc34zzs107m3lqq38iiyy5fvqqv2";
buildDepends = [ cereal cryptoApi tagged ];
meta = {
homepage = "http://github.com/vincenthz/hs-cryptohash";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "dataenc";
version = "0.14.0.4";
sha256 = "0xnn90nyz4m0rbzykkr5p9270s8dq2bfiz5j7qyzyy5m8vbl15bw";
version = "0.14.0.5";
sha256 = "13gajqbayar7x8sq3rw93i277gqd0bx1i34spshlj4b41fraxc8w";
isLibrary = true;
isExecutable = true;
meta = {

View File

@ -1,10 +1,10 @@
{ cabal, digestiveFunctors, heist, text, xmlhtml }:
{ cabal, digestiveFunctors, heist, mtl, text, xmlhtml }:
cabal.mkDerivation (self: {
pname = "digestive-functors-heist";
version = "0.5.1.0";
sha256 = "1rycf6y1c0car2m71iia929si5iqpc2rdyyxzp326q0rgj94whpk";
buildDepends = [ digestiveFunctors heist text xmlhtml ];
version = "0.5.1.1";
sha256 = "0jdg35xrikqg3r0rziv71g619vnmn8fzsv63b73m72fbj5xvy881";
buildDepends = [ digestiveFunctors heist mtl text xmlhtml ];
meta = {
homepage = "http://github.com/jaspervdj/digestive-functors";
description = "Heist frontend for the digestive-functors library";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "double-conversion";
version = "0.2.0.5";
sha256 = "1z23a8sfnq5lady8n2kcina9a7df8lmsliscf85x84dxkd3a1ahf";
version = "0.2.0.6";
sha256 = "1c6hy0ghdqf44fvhdpdxjbcr0ahimw283x5fnvjxja36i71qshjp";
buildDepends = [ text ];
meta = {
homepage = "https://github.com/bos/double-conversion";

View File

@ -1,9 +1,10 @@
{ cabal }:
{ cabal, filepath }:
cabal.mkDerivation (self: {
pname = "file-embed";
version = "0.0.4.6";
sha256 = "0p2vs56s1jy5xaw3axzfsir925z2a46624n32x797lga9khm3qvp";
version = "0.0.4.7";
sha256 = "1hn08499kay0y6ik5z1s58s8r9h1nzf116avgi6ia4b565wpzkvi";
buildDepends = [ filepath ];
meta = {
homepage = "https://github.com/snoyberg/file-embed";
description = "Use Template Haskell to embed file contents directly";

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "filestore";
version = "0.5.0.1";
sha256 = "1wbiw3skbbcqi9p97xnhg5lnakq3vyan9v4f68wd3g4swk09xp7l";
version = "0.6";
sha256 = "1bmsqxrkiqw791h0xwasry3jm56rjsyvl9l5r78209bhiv5v6xk0";
isLibrary = true;
isExecutable = true;
buildDepends = [

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "fsnotify";
version = "0.0.4";
sha256 = "0s71zxj48jimzhl7wz9j22g9c09z64g61nfmpy4mlrhpkzn1f8sz";
version = "0.0.5";
sha256 = "1pi1dpm48igcc8n5cn8hdml8bknxl18kqhjbh6jan839fgmwagb9";
buildDepends = [ hinotify systemFileio systemFilepath text time ];
meta = {
description = "Cross platform library for file creation, modification, and deletion notification";

View File

@ -7,8 +7,8 @@
cabal.mkDerivation (self: {
pname = "gitit";
version = "0.10.0.2";
sha256 = "0cnql35h4laqpaymg32dmszwzc74qmbmmjas44gcsd8v5n6f701i";
version = "0.10.1.1";
sha256 = "1akrc362cf3fzfjyyf1g8bzna093kwsiyxdfpz0d9wd3z6jyc8cg";
isLibrary = true;
isExecutable = true;
buildDepends = [

View File

@ -4,12 +4,11 @@
cabal.mkDerivation (self: {
pname = "graphviz";
version = "2999.14.1.0";
sha256 = "13fni5sf6cdfvgyh7kqjjdhmjxkhbgl3gbi0cbq90n8blzg4q1ql";
version = "2999.15.0.1";
sha256 = "137d8n20fbpdz7az79gqharsfl293pl3xn444338i6blfi47ssdy";
buildDepends = [
colour dlist fgl filepath polyparse text transformers wlPprintText
];
patchPhase = "sed -i -e 's|bytestring.*,|bytestring,|' graphviz.cabal";
meta = {
homepage = "http://projects.haskell.org/graphviz/";
description = "Bindings to Graphviz for graph visualisation";

View File

@ -5,8 +5,8 @@
cabal.mkDerivation (self: {
pname = "heist";
version = "0.10.2";
sha256 = "13v9x5dph52xddkb2dy4gfrapvihf1881fin996ag0snbma3wh68";
version = "0.10.2.1";
sha256 = "14lp27vlzv6qqv325x2vqqvphw5ads5ywjqpjramv3hhd275fn3d";
buildDepends = [
aeson attoparsec blazeBuilder blazeHtml directoryTree dlist errors
filepath hashable MonadCatchIOTransformers mtl random text time

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "hsemail";
version = "1.7.3";
sha256 = "0i9qh4rbgcgpjiz7nj8rrmj0ai53s420dskfvwrbwl4j6z67f7la";
version = "1.7.4";
sha256 = "0nigv0zbkm90m5jskfc5a4zx2d3gyqj1y472jplrgd76s15alsmw";
buildDepends = [ mtl parsec ];
meta = {
homepage = "http://gitorious.org/hsemail";

View File

@ -8,8 +8,8 @@
cabal.mkDerivation (self: {
pname = "http-conduit";
version = "1.8.5.2";
sha256 = "0c1a6iknvi34sh97j7cfzwyikcz0kdz4vgsc47lr7c2a75gl0via";
version = "1.8.6.1";
sha256 = "1vkfld5kn8fql78mw8zwsp524m07kr4a10c411rzpv6xqx92azy7";
buildDepends = [
asn1Data attoparsec attoparsecConduit base64Bytestring blazeBuilder
blazeBuilderConduit caseInsensitive certificate conduit cookie

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "http-date";
version = "0.0.3";
sha256 = "12iylfzz1d0v0gl4cf31dxcmlg0x7bq5f7acacy2pb0ilrxmzsnn";
version = "0.0.4";
sha256 = "1pbm066i1cpa3z2kfsqpva0qixnx87s76dpafz3wf6dkaqj8n8i5";
buildDepends = [ attoparsec ];
meta = {
description = "HTTP Date parser/formatter";

View File

@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
mainlandPretty mtl srcloc syb symbol
];
buildTools = [ alex happy ];
jailbreak = true;
meta = {
homepage = "http://www.eecs.harvard.edu/~mainland/";
description = "C/CUDA/OpenCL quasiquoting library";

View File

@ -1,16 +1,16 @@
{ cabal, aeson, attoparsec, curl, mtl, pureMD5, urlencoded
, utf8String, xml
{ cabal, aeson, cereal, cryptoApi, httpConduit, httpTypes, network
, pureMD5, text
}:
cabal.mkDerivation (self: {
pname = "liblastfm";
version = "0.0.3.8";
sha256 = "0icx86x3w85z0pqdxcch583j6jk5id5aw9gf24266mgfg5k6iwdy";
version = "0.1.0.0";
sha256 = "1777p2zysha9z389dkzvc22wph5k2xa6f23xk1ckr8j1q5v9dg6x";
buildDepends = [
aeson attoparsec curl mtl pureMD5 urlencoded utf8String xml
aeson cereal cryptoApi httpConduit httpTypes network pureMD5 text
];
meta = {
description = "Wrapper to Lastfm API";
description = "Lastfm API interface";
license = self.stdenv.lib.licenses.mit;
platforms = self.ghc.meta.platforms;
};

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "mainland-pretty";
version = "0.2.4";
sha256 = "0x481k36rz4zvj1nwvrfw1d10vbmmx8gb5f2nc8alnxcbc2y7xwq";
version = "0.2.5";
sha256 = "0h3q7xw69dc0lcqwlacsnv36dlbj0sfgv5imjlqrixy6m5cniq9x";
buildDepends = [ srcloc text ];
meta = {
homepage = "http://www.eecs.harvard.edu/~mainland/";

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "persistent-template";
version = "1.1.2";
sha256 = "1hz8cxx2a84c93x364vgahmv4xd3cbpjx4j7si5n0pasyq3clbvr";
version = "1.1.2.1";
sha256 = "02sqrq847cxywj9hwixvi0bqq09kxr9w6lhn6kqg4ww0mw2add6s";
buildDepends = [ aeson monadControl persistent text transformers ];
meta = {
homepage = "http://www.yesodweb.com/book/persistent";

View File

@ -6,8 +6,8 @@
cabal.mkDerivation (self: {
pname = "persistent";
version = "1.1.3.1";
sha256 = "12gv2gjkrf7qchlv6kj0an8bvpkin8vdhdkxg4ck9ydw7hh292v2";
version = "1.1.3.2";
sha256 = "1q8p5nxsf9fjhsyy1lha852f7vssp9mz6l24gg47mgv6y5mm9myv";
buildDepends = [
aeson attoparsec base64Bytestring blazeHtml blazeMarkup conduit
liftedBase monadControl monadLogger pathPieces poolConduit

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "random-fu";
version = "0.2.3.1";
sha256 = "06b4v7012fj1kmnz6i63vbwl9gkhzgk556gmcc62k14299ks8pci";
version = "0.2.4.0";
sha256 = "1wiwh52qfs699mcj3ylwc97pyabczn6dr8j92qczs89g8vvi91wd";
buildDepends = [
erf gamma monadLoops mtl randomShuffle randomSource rvar syb
transformers vector

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "random-source";
version = "0.3.0.2";
sha256 = "0sp39bj7rqg4w4rc4d4zgj0f77c23z4xc47p55chy12znc4frlp2";
version = "0.3.0.4";
sha256 = "1gvx9r6vy36lx7fy537zdbnbhpmfxz88a7gh0aiyd2vi7bvnndxy";
buildDepends = [
flexibleDefaults mersenneRandomPure64 mtl mwcRandom random stateref
syb thExtras

View File

@ -1,10 +1,9 @@
{ cabal, syb }:
{ cabal }:
cabal.mkDerivation (self: {
pname = "srcloc";
version = "0.3.0";
sha256 = "1ymk8k0r9ckk7dalz3virvvpyrf4nw8xvb23cs6ibdjjbzsphpiz";
buildDepends = [ syb ];
version = "0.4.0";
sha256 = "00af562n4m3nwlhl86x8rx7hhpnhwaijin61wk574pp47bh2jg0k";
meta = {
homepage = "http://www.eecs.harvard.edu/~mainland/";
description = "Data types for managing source code locations";

View File

@ -2,12 +2,11 @@
cabal.mkDerivation (self: {
pname = "tabular";
version = "0.2.2.3";
sha256 = "cf6d9f1928ec6981edcbb06c4dcbaea7a96deef5272192ad4290caa18711ea76";
version = "0.2.2.4";
sha256 = "103fqbypsgykv6z29jp1s75pd99vra9sfa70krcnlhbk9kbvdyjk";
buildDepends = [ csv html mtl ];
jailbreak = true;
meta = {
homepage = "http://patch-tag.com/r/kowey/tabular";
homepage = "http://hub.darcs.net/kowey/tabular";
description = "Two-dimensional data tables with rendering functions";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;

View File

@ -6,8 +6,8 @@
cabal.mkDerivation (self: {
pname = "wai-app-static";
version = "1.3.0.5";
sha256 = "1fz2a30f3imn0m5q6hjkm2xan0ddalhfbzx78pklz4g7k79s1ncn";
version = "1.3.1";
sha256 = "0r2ghx3nqh7nms8yxa874h5pyagj993r077f8riybjyjp078s2lk";
buildDepends = [
base64Bytestring blazeBuilder blazeHtml blazeMarkup cereal
cryptoConduit cryptohash fileEmbed httpDate httpTypes mimeTypes

View File

@ -6,8 +6,8 @@
cabal.mkDerivation (self: {
pname = "wai-extra";
version = "1.3.0.5";
sha256 = "0xzsnsf4sdbzkw92xyzmyi6qp2qpbh5dj3579sppcihdq9djj8l8";
version = "1.3.1.1";
sha256 = "0590i9zs47fxqlz4l7zrk15x4s1rvzvp0fs1caygr5hw32v8h0by";
buildDepends = [
ansiTerminal blazeBuilder blazeBuilderConduit caseInsensitive
conduit dataDefault dateCache fastLogger httpTypes network

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "xss-sanitize";
version = "0.3.2";
sha256 = "0m7gl232i06i090kbrlz67cs4q3pqf8169m9kjdj41kj6jay1dcx";
version = "0.3.3";
sha256 = "0xnyp8nwglh4waawijk1q5z8higf8mggh6hp0pp6ys4bm7gsp74a";
buildDepends = [
attoparsec cssText network tagsoup text utf8String
];

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "yaml";
version = "0.8.1.2";
sha256 = "1prk1nxzb84svqr552pgrfxg8kd34zvnh35js8l0q58y9rifxyq0";
version = "0.8.2";
sha256 = "1c83vxgry1425z4wk2mnijy183pnlhamcra7fvh55rvhq4bql1m8";
buildDepends = [
aeson attoparsec conduit resourcet text transformers
unorderedContainers vector

View File

@ -9,8 +9,8 @@
cabal.mkDerivation (self: {
pname = "yesod-core";
version = "1.1.7";
sha256 = "1z47h7ghhi8mvmrc0rcwb3si1bq4623i5x127k8fahcy6qk4qls8";
version = "1.1.7.1";
sha256 = "07rh6yy8hz660hxz60gvminm166cb5was8qb1l24lrmzchigbf3r";
buildDepends = [
aeson blazeBuilder blazeHtml blazeMarkup caseInsensitive cereal
clientsession conduit cookie failure fastLogger hamlet httpTypes

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "zip-archive";
version = "0.1.2.1";
sha256 = "1c0pjbrkfv44nbpz60b1c4xdbkdk8qaxlkfxl51rb2183gj1gkph";
version = "0.1.3.3";
sha256 = "0zzps6s6lsv35qv1xx1fwipk2nwv255wpa956mvzbwdr47pgqjwi";
isLibrary = true;
isExecutable = true;
buildDepends = [ binary digest filepath mtl time utf8String zlib ];

View File

@ -0,0 +1,13 @@
--- a/tinyxml.pc 1970-01-01 01:00:00.000000000 +0100
+++ b/tinyxml.pc 2012-12-29 08:52:07.512266072 +0100
@@ -0,0 +1,10 @@
+prefix=@out@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: TinyXML
+Description: A simple, small, C++ XML parser
+Version: @version@
+Libs: -L${libdir} -ltinyxml
+Cflags: -I${includedir}

View File

@ -0,0 +1,64 @@
? entity.patch
Index: a/tinyxml.cpp
===================================================================
RCS file: b/tinyxml.cpp,v
retrieving revision 1.105
diff -u -r1.105 a/tinyxml.cpp
--- tinyxml.cpp 5 Jun 2010 19:06:57 -0000 1.105
+++ tinyxml.cpp 19 Jul 2010 21:24:16 -0000
@@ -57,30 +57,7 @@
{
unsigned char c = (unsigned char) str[i];
- if ( c == '&'
- && i < ( (int)str.length() - 2 )
- && str[i+1] == '#'
- && str[i+2] == 'x' )
- {
- // Hexadecimal character reference.
- // Pass through unchanged.
- // &#xA9; -- copyright symbol, for example.
- //
- // The -1 is a bug fix from Rob Laveaux. It keeps
- // an overflow from happening if there is no ';'.
- // There are actually 2 ways to exit this loop -
- // while fails (error case) and break (semicolon found).
- // However, there is no mechanism (currently) for
- // this function to return an error.
- while ( i<(int)str.length()-1 )
- {
- outString->append( str.c_str() + i, 1 );
- ++i;
- if ( str[i] == ';' )
- break;
- }
- }
- else if ( c == '&' )
+ if ( c == '&' )
{
outString->append( entity[0].str, entity[0].strLength );
++i;
Index: a/xmltest.cpp
===================================================================
RCS file: b/xmltest.cpp,v
retrieving revision 1.89
diff -u -r1.89 a/xmltest.cpp
--- xmltest.cpp 5 Jun 2010 17:41:52 -0000 1.89
+++ xmltest.cpp 19 Jul 2010 21:24:16 -0000
@@ -1340,6 +1340,16 @@
}*/
}
+ #ifdef TIXML_USE_STL
+ {
+ TiXmlDocument xml;
+ xml.Parse("<foo>foo&amp;#xa+bar</foo>");
+ std::string str;
+ str << xml;
+ XmlTest( "Entity escaping", "<foo>foo&amp;#xa+bar</foo>", str.c_str() );
+ }
+ #endif
+
/* 1417717 experiment
{
TiXmlDocument xml;

View File

@ -0,0 +1,61 @@
{ stdenv, fetchurl, unzip }:
let
version = "2.6.2";
in stdenv.mkDerivation {
name = "tinyxml-${version}";
src = fetchurl {
url = "mirror://sourceforge/project/tinyxml/tinyxml/${version}/tinyxml_2_6_2.zip";
sha256 = "04nmw6im2d1xp12yir8va93xns5iz816pwi25n9cql3g3i8bjsxc";
};
patches = [
# add pkgconfig file
./2.6.2-add-pkgconfig.patch
# http://sourceforge.net/tracker/index.php?func=detail&aid=3031828&group_id=13559&atid=313559
./2.6.2-entity.patch
];
buildInputs = [ unzip ];
buildPhase = ''
# build xmltest
make
# build the lib as a shared library
g++ -Wall -O2 -shared -fpic tinyxml.cpp \
tinyxmlerror.cpp tinyxmlparser.cpp \
tinystr.cpp -o libtinyxml.so
'';
doCheck = true;
checkPhase = ''
./xmltest
result=$?
if [[ $result != 0 ]] ; then
exit $result
fi
'';
installPhase = ''
mkdir -pv $out/include/
mkdir -pv $out/lib/pkgconfig/
mkdir -pv $out/share/doc/tinyxml/
cp -v libtinyxml.so $out/lib/
cp -v *.h $out/include/
substituteInPlace tinyxml.pc --replace "@out@" "$out"
substituteInPlace tinyxml.pc --replace "@version@" "${version}"
cp -v tinyxml.pc $out/lib/pkgconfig/
cp -v docs/* $out/share/doc/tinyxml/
'';
meta = {
description = "TinyXML is a simple, small, C++ XML parser that can be easily integrating into other programs.";
homepage = "http://www.grinninglizard.com/tinyxml/index.html";
license = "free-non-copyleft";
};
}

View File

@ -7,12 +7,15 @@ assert withMesa -> mesa != null;
with stdenv.lib;
let
version = "2.9.4";
in
stdenv.mkDerivation {
name = "wxwidgets-2.9.3";
name = "wxwidgets-${version}";
src = fetchurl {
url = "mirror://sourceforge/wxwindows/wxWidgets-2.9.3.tar.bz2";
sha256 = "739c31a360b5c46b55904a7fb086f5cdfff0816efbc491d8263349210bf323b2";
url = "mirror://sourceforge/wxwindows/wxWidgets-${version}.tar.bz2";
sha256 = "04jda4bns7cmp7xy68qz112yg0lribpc6xs5k9gilfqcyhshqlvc";
};
buildInputs = [ gtk libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer gst_plugins_base GConf ]

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "SourceGraph";
version = "0.7.0.3";
sha256 = "04bx7przxha38n9vckcxz3mbcxcws5ifbc1xfm0rg6bn8rym78yb";
version = "0.7.0.4";
sha256 = "1rxbanvw1dpdnpmrf5gpl12gn9796yq89dnmdxy56mb9qzsm7nm6";
isLibrary = false;
isExecutable = true;
buildDepends = [

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "splot";
version = "0.3.7";
sha256 = "0mal7zphwzycxm2i0v87vn6gvdb582zy51prngj4w11xgpxd7dg1";
version = "0.3.8";
sha256 = "188v9c070wn6gr47k5q55gsiph0lj96d96bss76gz7znknfj9rm3";
isLibrary = false;
isExecutable = true;
buildDepends = [

View File

@ -0,0 +1,40 @@
{ stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false }:
stdenv.mkDerivation rec {
name = "automake-1.13.1";
src = fetchurl {
url = "mirror://gnu/automake/${name}.tar.xz";
sha256 = "12yi1bzkipi7qdmkdy77pazljsa9z7q66hi6c4rq73p7hbv6rkbf";
};
buildInputs = [ perl autoconf ];
setupHook = ./setup-hook.sh;
# Disable indented log output from Make, otherwise "make.test" will
# fail.
preCheck = "unset NIX_INDENT_MAKE";
inherit doCheck;
# The test suite can run in parallel.
enableParallelBuilding = true;
# Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
# "fixed" path in generated files!
dontPatchShebangs = true;
meta = {
homepage = "http://www.gnu.org/software/automake/";
description = "GNU Automake, a GNU standard-compliant makefile generator";
license = "GPLv2+";
longDescription = ''
GNU Automake is a tool for automatically generating
`Makefile.in' files compliant with the GNU Coding
Standards. Automake requires the use of Autoconf.
'';
maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ];
};
}

View File

@ -0,0 +1,67 @@
{ stdenv, lib, fetchurl
, python, pyqt4, pythonPackages
# This little flag adds a huge number of dependencies, but we assume that
# everyone wants Anki to draw plots with statistics by default.
, plotsSupport ? true }:
let
py = pythonPackages;
in
stdenv.mkDerivation rec {
name = "anki-2.0.3";
src = fetchurl {
url = "http://ankisrs.net/download/mirror/${name}.tgz";
sha256 = "f40ee4ef29c91101cf9978ce7bd4c513f13ca7c77497a3fb50b8128adf3a5178";
};
pythonPath = [ pyqt4 py.pysqlite py.sqlalchemy ]
++ lib.optional plotsSupport py.matplotlib;
buildInputs = [ python py.wrapPython ];
preConfigure = ''
substituteInPlace anki \
--replace /usr/share/ $out/share/
substituteInPlace Makefile \
--replace PREFIX=/usr PREFIX=$out \
--replace /local/bin/ /bin/
sed -i '/xdg-mime/ d' Makefile
'';
preInstall = ''
mkdir -p $out/bin
mkdir -p $out/share/pixmaps
mkdir -p $out/share/applications
mkdir -p $out/share/man/man1
'';
postInstall = ''
wrapPythonPrograms
'';
meta = {
homepage = http://ankisrs.net/;
description = "Spaced repetition flashcard program";
# Copy-pasted from the homepage
longDescription = ''
Anki is a program which makes remembering things easy. Because it is a lot
more efficient than traditional study methods, you can either greatly
decrease your time spent studying, or greatly increase the amount you learn.
Anyone who needs to remember things in their daily life can benefit from
Anki. Since it is content-agnostic and supports images, audio, videos and
scientific markup (via LaTeX), the possibilities are endless. For example:
* learning a language
* studying for medical and law exams
* memorizing people's names and faces
* brushing up on geography
* mastering long poems
* even practicing guitar chords!
'';
license = "GPLv3";
};
}

View File

@ -11,7 +11,7 @@ with import ./trivial.nix;
rec {
hasType = x: isAttrs x && x ? _type;
typeOf = x: if hasType x then x._type else "";
typeOf = x: x._type or "";
setType = typeName: value: value // {
_type = typeName;

View File

@ -237,7 +237,7 @@ in
import ./generic.nix (
rec {
version = "3.2.35";
version = "3.2.36";
testing = false;
modDirVersion = version;
@ -248,7 +248,7 @@ import ./generic.nix (
src = fetchurl {
url = "mirror://kernel/linux/kernel/v3.0/${if testing then "testing/" else ""}linux-${version}.tar.xz";
sha256 = "0p665msvhmjmcvgravi10yyfbnvn6bm9xfhsflj61qj0frj0lzn9";
sha256 = "0jyla0mjh1jjk84jywyvd7n6ax27xarkllfjf991rqj32zinlnzn";
};
config = configWithPlatform stdenv.platform;

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, openssl, dbus_libs, pkgconfig, libnl }:
stdenv.mkDerivation rec {
version = "1.0";
version = "1.1";
name = "wpa_supplicant-${version}";
src = fetchurl {
url = "http://hostap.epitest.fi/releases/${name}.tar.gz";
sha256 = "171b9027rbzy64zaal4832ix9i3mm6ypwmynbpia5bss793ivm4i";
sha256 = "00lyifj8cz7qyal6dy1dxbpk3g3bywvdarik8gbj9ds7zmfbwkd5";
};
preBuild = ''
@ -38,10 +38,11 @@ stdenv.mkDerivation rec {
mkdir -p $out/share/man/man5 $out/share/man/man8
cp -v doc/docbook/*.5 $out/share/man/man5/
cp -v doc/docbook/*.8 $out/share/man/man8/
mkdir -p $out/etc/dbus-1/system.d $out/share/dbus-1/system-services
mkdir -p $out/etc/dbus-1/system.d $out/share/dbus-1/system-services $out/etc/systemd/system
cp -v dbus/*service $out/share/dbus-1/system-services
sed -e "s@/sbin/wpa_supplicant@$out&@" -i $out/share/dbus-1/system-services/*
cp -v dbus/dbus-wpa_supplicant.conf $out/etc/dbus-1/system.d
cp -v systemd/*.service $out/etc/systemd/system
''; # */
meta = {

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, openssl, sslEnable ? false, libcap, pam }:
stdenv.mkDerivation (rec {
name = "vsftpd-2.3.4";
name = "vsftpd-3.0.2";
src = fetchurl {
url = "ftp://vsftpd.beasts.org/users/cevans/${name}.tar.gz";
sha256 = "0nhsqwnb8qkbxx5wjahara1ln85hp151v656psra5brpckwysrml";
url = "https://security.appspot.com/downloads/${name}.tar.gz";
sha256 = "0mjy345wszskz1vnk83360c1y37arwgap3gwz8hy13sjqpig0imy";
};
# The gcc-wrappers use -idirafter for glibc, and vsftpd also, and
@ -14,9 +14,13 @@ stdenv.mkDerivation (rec {
sed -i -e 's/-idirafter.*//' Makefile
'';
preBuild =''
makeFlagsArray=( "LIBS=${if sslEnable then "-lcrypt -lssl -lcrypto " else ""}-lpam -lcap" )
'';
preBuild = let
sslLibs = if sslEnable then "-lcrypt -lssl -lcrypto " else "";
in ''
makeFlagsArray=( "LIBS=${sslLibs}-lpam -lcap -fstack-protector" )
'';
# It won't link without this flag, used in CFLAGS
buildInputs = [ openssl libcap pam ];

View File

@ -3,12 +3,12 @@
with stdenv.lib;
stdenv.mkDerivation {
name = "bup-0.25git20120722";
name = "bup-0.25git20121224";
src = fetchgit {
url = "https://github.com/apenwarr/bup.git";
sha256 = "3ad232d7f23071ed34f920bd4c3137583f1adffbe23c022896289bc0a03fe7aa";
rev = "02bd2b566ea5eec2fd656e0ae572b4c7b6b9550a";
url = "https://github.com/bup/bup.git";
sha256 = "f0e0c835ab83f00b28920d493e4150d2247113aad3a74385865c2a8c6f1ba7b8";
rev = "458e92da32ddd3c18fc1c3e52a76e9f0b48b832f";
};
nativeBuildInputs = [ pandoc perl makeWrapper ];
@ -26,8 +26,6 @@ stdenv.mkDerivation {
substituteInPlace $f --replace "/usr/bin/env python" "${python}/bin/python"
done
substituteInPlace Makefile --replace "./format-subst.pl" "perl ./format-subst.pl"
substituteInPlace lib/bup/csetup.py \
--replace "'bupsplit.c'])" "'bupsplit.c'], library_dirs=['${python}/lib'])"
'';
makeFlags = [
@ -42,6 +40,6 @@ stdenv.mkDerivation {
Highly efficient file backup system based on the git packfile format.
Capable of doing *fast* incremental backups of virtual machine images.
'';
homepage = "https://github.com/apenwarr/bup";
homepage = "https://github.com/bup/bup";
};
}

View File

@ -1,12 +1,14 @@
{ stdenv, fetchurl, python, pythonPackages, pycrypto, attr }:
pythonPackages.buildPythonPackage {
name = "obnam-1.2";
pythonPackages.buildPythonPackage rec {
name = "obnam-${version}";
version = "1.3";
namePrefix = "";
src = fetchurl rec {
url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_1.2.orig.tar.gz";
sha256 = "33457452726d5c393d98c565b8e1ab3ac11276cc42bf67c4eee6c4e4ac9976d6";
url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_${version}.orig.tar.gz";
sha256 = "1hmi58knv7qjw6jr5m28sip5gwzavk87i3s77xk72anaxhvf4g8w";
};
buildInputs = [ pythonPackages.sphinx attr ];

View File

@ -0,0 +1,146 @@
diff --git a/cmds-receive.c b/cmds-receive.c
index a8be6fa..6b7cf12 100644
--- a/cmds-receive.c
+++ b/cmds-receive.c
@@ -52,11 +52,13 @@ static int g_verbose = 0;
struct btrfs_receive
{
int mnt_fd;
+ int dest_dir_fd;
int write_fd;
char *write_path;
char *root_path;
+ char *dest_dir_path; /* relative to root_path */
char *full_subvol_path;
struct subvol_info *cur_subvol;
@@ -150,8 +152,11 @@ static int process_subvol(const char *path, const u8 *uuid, u64 ctransid,
r->cur_subvol = calloc(1, sizeof(*r->cur_subvol));
r->parent_subvol = NULL;
- r->cur_subvol->path = strdup(path);
- r->full_subvol_path = path_cat(r->root_path, path);
+ if (strlen(r->dest_dir_path) == 0)
+ r->cur_subvol->path = strdup(path);
+ else
+ r->cur_subvol->path = path_cat(r->dest_dir_path, path);
+ r->full_subvol_path = path_cat3(r->root_path, r->dest_dir_path, path);
fprintf(stderr, "At subvol %s\n", path);
@@ -167,7 +172,7 @@ static int process_subvol(const char *path, const u8 *uuid, u64 ctransid,
memset(&args_v1, 0, sizeof(args_v1));
strcpy(args_v1.name, path);
- ret = ioctl(r->mnt_fd, BTRFS_IOC_SUBVOL_CREATE, &args_v1);
+ ret = ioctl(r->dest_dir_fd, BTRFS_IOC_SUBVOL_CREATE, &args_v1);
if (ret < 0) {
ret = -errno;
fprintf(stderr, "ERROR: creating subvolume %s failed. "
@@ -195,8 +200,11 @@ static int process_snapshot(const char *path, const u8 *uuid, u64 ctransid,
r->cur_subvol = calloc(1, sizeof(*r->cur_subvol));
r->parent_subvol = NULL;
- r->cur_subvol->path = strdup(path);
- r->full_subvol_path = path_cat(r->root_path, path);
+ if (strlen(r->dest_dir_path) == 0)
+ r->cur_subvol->path = strdup(path);
+ else
+ r->cur_subvol->path = path_cat(r->dest_dir_path, path);
+ r->full_subvol_path = path_cat3(r->root_path, r->dest_dir_path, path);
fprintf(stderr, "At snapshot %s\n", path);
@@ -243,7 +251,7 @@ static int process_snapshot(const char *path, const u8 *uuid, u64 ctransid,
goto out;
}
- ret = ioctl(r->mnt_fd, BTRFS_IOC_SNAP_CREATE_V2, &args_v2);
+ ret = ioctl(r->dest_dir_fd, BTRFS_IOC_SNAP_CREATE_V2, &args_v2);
close(args_v2.fd);
if (ret < 0) {
ret = -errno;
@@ -790,17 +798,48 @@ struct btrfs_send_ops send_ops = {
int do_receive(struct btrfs_receive *r, const char *tomnt, int r_fd)
{
int ret;
+ char *dest_dir_full_path;
int end = 0;
- r->root_path = strdup(tomnt);
- r->mnt_fd = open(tomnt, O_RDONLY | O_NOATIME);
+ dest_dir_full_path = realpath(tomnt, NULL);
+ if (!dest_dir_full_path) {
+ ret = -errno;
+ fprintf(stderr, "ERROR: realpath(%s) failed. %s\n", tomnt,
+ strerror(-ret));
+ goto out;
+ }
+ r->dest_dir_fd = open(dest_dir_full_path, O_RDONLY | O_NOATIME);
+ if (r->dest_dir_fd < 0) {
+ ret = -errno;
+ fprintf(stderr, "ERROR: failed to open destination directory %s. %s\n",
+ dest_dir_full_path, strerror(-ret));
+ goto out;
+ }
+
+ ret = find_mount_root(dest_dir_full_path, &r->root_path);
+ if (ret < 0) {
+ ret = -EINVAL;
+ fprintf(stderr, "ERROR: failed to determine mount point "
+ "for %s\n", dest_dir_full_path);
+ goto out;
+ }
+ r->mnt_fd = open(r->root_path, O_RDONLY | O_NOATIME);
if (r->mnt_fd < 0) {
ret = -errno;
- fprintf(stderr, "ERROR: failed to open %s. %s\n", tomnt,
+ fprintf(stderr, "ERROR: failed to open %s. %s\n", r->root_path,
strerror(-ret));
goto out;
}
+ /*
+ * find_mount_root returns a root_path that is a subpath of
+ * dest_dir_full_path. Now get the other part of root_path,
+ * which is the destination dir relative to root_path.
+ */
+ r->dest_dir_path = dest_dir_full_path + strlen(r->root_path);
+ if (r->dest_dir_path[0] == '/')
+ r->dest_dir_path++;
+
ret = subvol_uuid_search_init(r->mnt_fd, &r->sus);
if (ret < 0)
return ret;
diff --git a/cmds-send.c b/cmds-send.c
index 9b47e70..c408bc7 100644
--- a/cmds-send.c
+++ b/cmds-send.c
@@ -81,6 +81,14 @@ int find_mount_root(const char *path, char **mount_root)
}
}
+ if (!longest_match) {
+ fprintf(stderr, "ERROR: Failed to find mount root for path %s.\n",
+ path);
+ fprintf(stderr, "Please make sure that you have a valid \
+ /etc/mtab file.\n");
+ return -ENOENT;
+ }
+
*mount_root = realpath(longest_match, NULL);
free(longest_match);
diff --git a/send-utils.h b/send-utils.h
index da407eb..a3e038b 100644
--- a/send-utils.h
+++ b/send-utils.h
@@ -65,5 +65,6 @@ void subvol_uuid_search_add(struct subvol_uuid_search *s,
char *path_cat(const char *p1, const char *p2);
char *path_cat3(const char *p1, const char *p2, const char *p3);
+int find_mount_root(const char *path, char **mount_root);
#endif /* SEND_UTILS_H_ */

View File

@ -0,0 +1,13 @@
diff --git a/cmds-receive.c b/cmds-receive.c
index a8be6fa..c182175 100644
--- a/cmds-receive.c
+++ b/cmds-receive.c
@@ -880,7 +880,7 @@ static const char * const receive_cmd_group_usage[] = {
};
static const char * const cmd_receive_usage[] = {
- "btrfs receive [-v] [-i <infile>] <mount>",
+ "btrfs receive [-v] [-f <infile>] <mount>",
"Receive subvolumes from stdin.",
"Receives one or more subvolumes that were previously ",
"sent with btrfs send. The received subvolumes are stored",

View File

@ -0,0 +1,12 @@
diff --git a/cmds-receive.c b/cmds-receive.c
index 6b7cf12..a6a6a5b 100644
--- a/cmds-receive.c
+++ b/cmds-receive.c
@@ -731,7 +731,7 @@ static int process_chown(const char *path, u64 uid, u64 gid, void *user)
fprintf(stderr, "chown %s - uid=%llu, gid=%llu\n", path,
uid, gid);
- ret = chown(full_path, uid, gid);
+ ret = lchown(full_path, uid, gid);
if (ret < 0) {
ret = -errno;

View File

@ -0,0 +1,109 @@
/*
btrfs receive currently mandates that incremental receives can only be performed on a parent subvolume
that was also received. This means you cannot apply it to (snapshotted) subvolumes you still have on disk,
as they were not received themselves.
This small utility allows you to set the received_uuid of a subvolume, tricking btrfs receive into using it.
found on btrfs mailing list
read the discussion here: http://comments.gmane.org/gmane.comp.file-systems.btrfs/21922
*/
#define _GNU_SOURCE
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <uuid/uuid.h>
#include <sys/ioctl.h>
#include "ctree.h"
#include "ioctl.h"
#include "send-utils.h"
#define CLEAR(var) memset(&var, 0, sizeof(var))
int main(int argc, char **argv) {
int ret, fd;
struct subvol_uuid_search sus;
struct btrfs_ioctl_received_subvol_args rs_args;
struct subvol_info *si;
char uuidbuf[37], parent_uuidbuf[37], received_uuidbuf[37];
if (argc != 3 && argc != 4) {
printf("usage: btrfs-set-received-uuid btrfs-mountpoint src-subvolume-path-relative-to-mountpoint [dest-absolute-subvolume-path]\n");
exit(1);
}
printf("opening srcmnt %s\n", argv[1]);
fd = open(argv[1], O_RDONLY | O_NOATIME);
if (fd < 0) {
printf("failed to open srcmnt %s! %s\n", argv[1], strerror(errno));
exit(2);
}
puts("initializing sub search");
CLEAR(sus);
ret = subvol_uuid_search_init(fd, &sus);
if (ret < 0) {
printf("failed to initialize sub search! %s\n", strerror(-ret));
exit(3);
}
printf("searching srcsub %s\n", argv[2]);
si = subvol_uuid_search(&sus, 0, NULL, 0, argv[2], subvol_search_by_path);
if (!si) {
puts("srcsub not found!");
exit(4);
}
uuid_unparse(si->uuid, uuidbuf);
uuid_unparse(si->parent_uuid, parent_uuidbuf);
uuid_unparse(si->received_uuid, received_uuidbuf);
printf("\nsrcsub found:\n"
" uuid=%s\n"
" parent_uuid=%s\n"
"received_uuid=%s\n"
"ctransid=%Lu otransid=%Lu stransid=%Lu rtransid=%Lu\n\n",
uuidbuf, parent_uuidbuf, received_uuidbuf,
(unsigned long long)(si->ctransid),
(unsigned long long)(si->otransid),
(unsigned long long)(si->stransid),
(unsigned long long)(si->rtransid));
if (argc == 3)
goto done;
printf("opening dst subvol %s\n", argv[3]);
fd = open(argv[3], O_RDONLY | O_NOATIME);
if (fd < 0) {
printf("failed to open dst subvol %s. %s\n", argv[3], strerror(errno));
exit(5);
}
printf("\nhere we go with BTRFS_IOC_SET_RECEIVED_SUBVOL:\n"
"dstsub.received_uuid = srcsub.uuid == %s\n"
"dstsub.stransid = srcsub.ctransid == %Lu\n\n",
uuidbuf, (unsigned long long)(si->ctransid));
CLEAR(rs_args);
memcpy(rs_args.uuid, si->uuid, BTRFS_UUID_SIZE);
rs_args.stransid = si->ctransid;
ret = ioctl(fd, BTRFS_IOC_SET_RECEIVED_SUBVOL, &rs_args);
if (ret < 0) {
printf("BTRFS_IOC_SET_RECEIVED_SUBVOL failed: %s", strerror(-ret));
exit(6);
}
done:
printf("done.\n");
exit(0);
}

View File

@ -11,8 +11,27 @@ stdenv.mkDerivation {
sha256 = "72d4cd4fb23d876a17146d6231ad40a2151fa47c648485c54cf7478239b43764";
};
patches = [
./subvol-listing.patch
./btrfs-receive-help-text.patch
./btrfs-progs-Fix-the-receive-code-pathing.patch
./btrfs-receive-lchown.patch
];
buildInputs = [ zlib libuuid acl attr e2fsprogs ];
postPatch = ''
cp ${./btrfs-set-received-uuid.c} btrfs-set-received-uuid.c
'';
postBuild = ''
gcc -O2 -luuid -o btrfs-set-received-uuid send-utils.o rbtree.o btrfs-list.o btrfs-set-received-uuid.c
'';
postInstall = ''
cp btrfs-set-received-uuid $out/bin
'';
makeFlags = "prefix=$(out)";
meta = {

View File

@ -0,0 +1,34 @@
--- a/btrfs-list.c 2012-12-30 12:20:01.394137593 +0100
+++ b/btrfs-list.c 2012-12-30 12:22:47.242452906 +0100
@@ -1004,6 +1004,23 @@
return 0;
}
+static void __drop_deleting_roots(struct root_lookup *root_lookup)
+{
+ struct rb_node *n;
+
+again:
+ n = rb_first(&root_lookup->root);
+ while (n) {
+ struct root_info *entry = rb_entry(n, struct root_info, rb_node);
+ if (!entry->ref_tree) {
+ rb_erase(n, &root_lookup->root);
+ free(entry);
+ goto again;
+ }
+ n = rb_next(n);
+ }
+}
+
static int __list_subvol_search(int fd, struct root_lookup *root_lookup)
{
int ret;
@@ -1123,6 +1140,8 @@
break;
}
+ __drop_deleting_roots(root_lookup);
+
return 0;
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, python, pandoc }:
{ stdenv, fetchurl, python, pandoc, zip }:
let
version = "2012.12.11";
@ -11,7 +11,13 @@ stdenv.mkDerivation {
sha256 = "03zv3z8p0fi122nqj7ff8hkgqscir4s7psm03rq7dfpg1z35klmn";
};
buildInputs = [ python pandoc ];
buildInputs = [ python ];
buildNativeInputs = [ pandoc zip ];
patchPhase = ''
rm youtube-dl
substituteInPlace Makefile --replace "#!/usr/bin/env python" "#!${python}/bin/python"
'';
configurePhase = ''
makeFlagsArray=( PREFIX=$out SYSCONFDIR=$out/etc )
@ -20,6 +26,6 @@ stdenv.mkDerivation {
meta = {
homepage = "http://rg3.github.com/youtube-dl/";
description = "Command-line tool to download videos from YouTube.com and other sites";
maintainers = [ stdenv.lib.maintainers.bluescreen303 stdenv.lib.maintainers.simons ];
maintainers = with stdenv.lib.maintainers; [ bluescreen303 simons ];
};
}

View File

@ -0,0 +1,20 @@
{ stdenv, fetchurl, buildPythonPackage }:
buildPythonPackage {
name = "httpie-0.3.1";
namePrefix = "";
src = fetchurl {
url = "http://pypi.python.org/packages/source/h/httpie/httpie-0.3.1.tar.gz";
sha256 = "0abjkwcirmp6qa190qgbgj5fmmkmk5aa3fdiyayl2indh6304x7a";
};
doCheck = false;
meta = {
description = "A command line HTTP client whose goal is to make CLI human-friendly";
homepage = http://httpie.org/;
license = "BSD";
maintainers = [ stdenv.lib.maintainers.antono ];
};
}

View File

@ -0,0 +1,20 @@
{ fetchurl, stdenv, pkgconfig, pcre, perl }:
stdenv.mkDerivation rec {
name = "maildrop-2.6.0";
src = fetchurl {
url = "mirror://sourceforge/courier/maildrop/2.6.0/maildrop-2.6.0.tar.bz2";
sha256 = "1a94p2b41iy334cwfwmzi19557dn5j61abh0cp2rfc9dkc8ibhdg";
};
buildInputs = [ pkgconfig pcre perl ];
patches = [ ./maildrop.configure.hack.patch ]; # for building in chroot
meta = {
homepage = http://www.courier-mta.org/maildrop/;
description = "Mail filter/mail delivery agent that is used by the Courier Mail Server";
licenses = [ "GPLv3" ];
};
}

View File

@ -0,0 +1,13 @@
--- a/maildrop/configure 2012-09-06 01:52:13.000000000 +0100
+++ b/maildrop/configure 2013-01-04 03:00:57.095628327 +0000
@@ -17562,8 +17562,8 @@
check_spooldir() {
if test "$CHECKED_SPOOLDIR" != 1
then
- get_spooldir
- MBOX_DIR="$SPOOLDIR"
+ MBOX_DIR="/var/spool/mail"
+ MBOX_RESET_GID=0
CHECKED_SPOOLDIR=1
fi
}

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
name = "network-manager-${version}";
version = "0.9.4.0";
version = "0.9.6.4";
src = fetchurl {
url = "mirror://gnome/sources/NetworkManager/0.9/NetworkManager-${version}.tar.xz";
sha256 = "eb4f124008b3d855a37205d03ef035b7218639cd7332bdae5567095977e93e0f";
sha256 = "1sx7h29j9h13qszcppja1p27zq2m7vdrylbcyb47n62x0lg426si";
};
preConfigure = ''
@ -29,7 +29,9 @@ stdenv.mkDerivation rec {
"--without-resolvconf"
"--sysconfdir=/etc" "--localstatedir=/var"
"--with-dbus-sys-dir=\${out}/etc/dbus-1/system.d"
"--with-crypto=gnutls" "--disable-more-warnings" ];
"--with-crypto=gnutls" "--disable-more-warnings"
"--with-systemdsystemunitdir=$(out)/etc/systemd/system"
"--with-kernel-firmware-dir=/run/current-system/firmware" ];
buildInputs = [ wirelesstools udev libnl libuuid polkit ppp xz ];

View File

@ -920,6 +920,8 @@ let
hping = callPackage ../tools/networking/hping { };
httpie = callPackage ../tools/networking/httpie { };
httpfs2 = callPackage ../tools/filesystems/httpfs { };
# FIXME: This Hydra snapshot is outdated and depends on the `nixPerl',
@ -1056,6 +1058,8 @@ let
lzop = callPackage ../tools/compression/lzop { };
maildrop = callPackage ../tools/networking/maildrop { };
mailutils = callPackage ../tools/networking/mailutils {
guile = guile_1_8;
};
@ -2964,6 +2968,8 @@ let
automake112x = callPackage ../development/tools/misc/automake/automake-1.12.x.nix { };
automake113x = callPackage ../development/tools/misc/automake/automake-1.13.x.nix { };
automoc4 = callPackage ../development/tools/misc/automoc4 { };
avrdude = callPackage ../development/tools/misc/avrdude { };
@ -4941,6 +4947,10 @@ let
telepathy_qt = callPackage ../development/libraries/telepathy/qt { };
tinyxml = tinyxml2;
tinyxml2 = callPackage ../development/libraries/tinyxml/2.6.2.nix { };
tk = callPackage ../development/libraries/tk { };
tnt = callPackage ../development/libraries/tnt { };
@ -6984,6 +6994,8 @@ let
feh = callPackage ../applications/graphics/feh { };
filezilla = callPackage ../applications/networking/ftp/filezilla { };
firefox = pkgs.firefoxPkgs.firefox;
firefoxWrapper = wrapFirefox { browser = pkgs.firefox; };
@ -7033,6 +7045,10 @@ let
freerdpUnstable = callPackage ../applications/networking/remote/freerdp/unstable.nix { };
freicoin = callPackage ../applications/misc/freicoin {
db4 = db48;
};
fspot = callPackage ../applications/graphics/f-spot {
inherit (gnome) libgnome libgnomeui;
gtksharp = gtksharp1;
@ -8104,6 +8120,8 @@ let
andyetitmoves = if stdenv.isLinux then callPackage ../games/andyetitmoves {} else null;
anki = callPackage ../games/anki { };
asc = callPackage ../games/asc {
lua = lua5;
libsigcxx = libsigcxx12;

View File

@ -1784,9 +1784,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
wxdirect = callPackage ../development/libraries/haskell/wxHaskell/wxdirect.nix {};
X11_1_5_0_1 = callPackage ../development/libraries/haskell/X11/1.5.0.1.nix {};
X11_1_6_0_2 = callPackage ../development/libraries/haskell/X11/1.6.0.2.nix {};
X11 = self.X11_1_6_0_2;
X11 = callPackage ../development/libraries/haskell/X11 {};
X11Xft = callPackage ../development/libraries/haskell/X11-xft {};
@ -1960,18 +1958,11 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
stm = self.stm_2_3;
};
xmonad = callPackage ../applications/window-managers/xmonad {
X11 = self.X11_1_5_0_1;
};
xmonad = callPackage ../applications/window-managers/xmonad {};
xmonadContrib = callPackage ../applications/window-managers/xmonad/xmonad-contrib.nix {
X11 = self.X11_1_5_0_1;
X11Xft = self.X11Xft.override { X11 = self.X11_1_5_0_1; };
};
xmonadContrib = callPackage ../applications/window-managers/xmonad/xmonad-contrib.nix {};
xmonadExtras = callPackage ../applications/window-managers/xmonad/xmonad-extras.nix {
X11 = self.X11_1_5_0_1;
};
xmonadExtras = callPackage ../applications/window-managers/xmonad/xmonad-extras.nix {};
# Tools.
@ -1983,7 +1974,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
tar = self.tar_0_3_2_0;
};
cabalGhci = callPackage ../development/tools/haskell/cabal-ghci {};
cabalInstall_0_6_2 = callPackage ../tools/package-management/cabal-install/0.6.2.nix {};

View File

@ -119,6 +119,11 @@ rec {
UBIFS_FS_LZO y
UBIFS_FS_ZLIB y
UBIFS_FS_DEBUG n
# Kdb, for kernel troubles
KGDB y
KGDB_SERIAL_CONSOLE y
KGDB_KDB y
'';
kernelTarget = "uImage";
uboot = "sheevaplug";

View File

@ -86,13 +86,13 @@ let pythonPackages = python.modules // rec {
alot = buildPythonPackage rec {
rev = "09804636609b4245cde4faceddffdb5361f3d390";
rev = "5b5dbecb5a03840b751219db90bcf4dcffda315e";
name = "alot-0.3.3_${rev}";
src = fetchurl {
url = "https://github.com/pazz/alot/tarball/${rev}";
name = "${name}.tar.bz";
sha256 = "b5239c4dfcd9882608fb48ef80fe9ba9223949ab7e6a2c1abe970ac307ebcd4a";
sha256 = "156q7x4wilhcgmaap7rjci3cgwm5ia85ddgx6xm6lfp5hkf5300v";
};
# error: invalid command 'test'
@ -1047,6 +1047,22 @@ let pythonPackages = python.modules // rec {
};
};
jedi = buildPythonPackage (rec {
name = "jedi-0.5b5";
src = fetchurl {
url = "http://pypi.python.org/packages/source/j/jedi/${name}.tar.gz";
sha256 = "10xqdhda9kdbc22h4dphxqjncpdb80s1crxsirr5h016rw9czsa4";
};
meta = {
homepage = "https://github.com/davidhalter/jedi";
description = "An autocompletion tool for Python that can be used for text editors.";
license = pkgs.lib.licenses.lgpl3Plus;
maintainers = [ stdenv.lib.maintainers.garbas ];
platforms = python.meta.platforms;
};
});
jinja2 = buildPythonPackage {
name = "jinja2-2.6";
@ -2102,23 +2118,19 @@ let pythonPackages = python.modules // rec {
pymacs = pkgs.stdenv.mkDerivation rec {
version = "v0.24-beta2";
version = "v0.25";
name = "Pymacs-${version}";
src = fetchurl {
url = "https://github.com/pinard/Pymacs/tarball/${version}";
name = "${name}.tar.gz";
sha256 = "0nzb3wrxwy0cmmj087pszkwgj2v22x0y5m4vxb6axz94zfl02r8j";
sha256 = "1hmy76c5igm95rqbld7gvk0az24smvc8hplfwx2f5rhn6frj3p2i";
};
buildInputs = [ python ];
configurePhase = ''
python p4 -C p4config.py *.in Pymacs contrib tests
'';
installPhase = ''
python setup.py install --prefix=$out
patchPhase = ''
sed -e "s@ install@ install --prefix=$out@g" -i Makefile
'';
meta = with stdenv.lib; {
@ -2449,21 +2461,15 @@ let pythonPackages = python.modules // rec {
};
});
rope = pkgs.stdenv.mkDerivation rec {
version = "0.9.3";
rope = buildPythonPackage rec {
version = "0.9.4";
name = "rope-${version}";
src = fetchurl {
url = "http://pypi.python.org/packages/source/r/rope/${name}.tar.gz";
sha256 = "1092rlsfna7rm1jkdanilsmw7rr3hlkgyji02xfd02wfcm8xa2i7";
sha256 = "1fm6ahff50b10mlnc0ar4x1fv9sxmcp1g651myyqy7c50hk39h1d";
};
buildInputs = [ python ];
installPhase = ''
python setup.py install --prefix=$out
'';
meta = with stdenv.lib; {
description = "python refactoring library";
homepage = http://rope.sf.net;
@ -2472,20 +2478,16 @@ let pythonPackages = python.modules // rec {
};
};
ropemacs = pkgs.stdenv.mkDerivation rec {
version = "0.6";
ropemacs = buildPythonPackage rec {
version = "0.7";
name = "ropemacs-${version}";
src = fetchurl {
url = "mirror://sourceforge/rope/${name}.tar.gz";
sha256 = "1afqybmjn7fqkwx8y8kx1kfx181ix73cbq3a0d5n7ryjm7k1r0s4";
url = "http://pypi.python.org/packages/source/r/ropemacs/${name}.tar.gz";
sha256 = "1x5qf1drcdz9jfiiakc60kzqkb3ahsg9j902c5byf3gjfacdrmqj";
};
buildInputs = [ python ];
installPhase = ''
python setup.py install --prefix=$out
'';
propagatedBuildInputs = [ ropemode ];
meta = with stdenv.lib; {
description = "a plugin for performing python refactorings in emacs";
@ -2495,6 +2497,26 @@ let pythonPackages = python.modules // rec {
};
};
ropemode = buildPythonPackage rec {
version = "0.2";
name = "ropemode-${version}";
src = fetchurl {
url = "http://pypi.python.org/packages/source/r/ropemode/${name}.tar.gz";
sha256 = "0jw6h1wvk6wk0wknqdf7s9pw76m8472jv546lqdd88jbl2scgcjl";
};
propagatedBuildInputs = [ rope ];
meta = with stdenv.lib; {
description = "a plugin for performing python refactorings in emacs";
homepage = http://rope.sf.net;
maintainers = [ maintainers.goibhniu ];
license = licenses.gpl2;
};
};
routes = buildPythonPackage rec {
name = "routes-1.12.3";
@ -2916,7 +2938,7 @@ let pythonPackages = python.modules // rec {
});
twisted = buildPythonPackage rec {
name = "twisted-10.2.0";
name = "twisted-12.3.0";
src = fetchurl {
url = http://tmrc.mit.edu/mirror/twisted/Twisted/10.2/Twisted-10.2.0.tar.bz2;
@ -3253,11 +3275,12 @@ let pythonPackages = python.modules // rec {
# };
cliapp = buildPythonPackage rec {
name = "cliapp-1.20120929";
name = "cliapp-${version}";
version = "1.20121216";
src = fetchurl rec {
url = "http://code.liw.fi/debian/pool/main/p/python-cliapp/python-cliapp_1.20120929.orig.tar.gz";
sha256 = "30d5077e53b3e45f892b1c49feaaf4f47e4664400ed71435e77a82a2b823a0f8";
url = "http://code.liw.fi/debian/pool/main/p/python-cliapp/python-cliapp_${version}.orig.tar.gz";
sha256 = "1bzvc4aj3w8g85qycwz1jxa73jj8rl6zrgd4hi78kr4dgslcfns5";
};
buildInputs = [ sphinx ];
@ -3316,11 +3339,12 @@ let pythonPackages = python.modules // rec {
};
larch = buildPythonPackage rec {
name = "larch-1.20121006";
name = "larch-${version}";
version = "1.20121216";
src = fetchurl rec {
url = "http://code.liw.fi/debian/pool/main/p/python-larch/python-larch_1.20121006.orig.tar.gz";
sha256 = "b4482981010e9c22ee3fce6fdc664b8fc0a1a3a18ed30b40f247f3b44437ccfa";
url = "http://code.liw.fi/debian/pool/main/p/python-larch/python-larch_${version}.orig.tar.gz";
sha256 = "0w4hirs8wkp1hji6nxfmq4rahkd5rgw4cavvdhpdfr4mddycbis3";
};
buildInputs = [ sphinx ];
@ -3337,4 +3361,88 @@ let pythonPackages = python.modules // rec {
};
};
whisper = buildPythonPackage rec {
name = "whisper-${version}";
version = "0.9.10";
src = fetchurl rec {
url = "https://launchpad.net/graphite/0.9/${version}/+download/${name}.tar.gz";
sha256 = "1zy4z4hrbiqj4ipcv2m9197hf03d4xphllqav9w4c8i6fn8zmd9n";
};
# error: invalid command 'test'
doCheck = false;
meta = {
homepage = http://graphite.wikidot.com/;
description = "Fixed size round-robin style database";
maintainers = [ stdenv.lib.maintainers.rickynils ];
platforms = python.meta.platforms;
};
};
carbon = buildPythonPackage rec {
name = "carbon-${version}";
version = "0.9.10";
src = fetchurl rec {
url = "https://launchpad.net/graphite/0.9/${version}/+download/${name}.tar.gz";
sha256 = "0wjhd87pvpcpvaj3wql2d92g8lpp33iwmxdkp7npic5mjl2y0dsg";
};
buildInputs = [ txamqp zopeInterface twisted ];
propagatedBuildInputs = [ whisper ];
# error: invalid command 'test'
doCheck = false;
meta = {
homepage = http://graphite.wikidot.com/;
description = "Backend data caching and persistence daemon for Graphite";
maintainers = [ stdenv.lib.maintainers.rickynils ];
platforms = python.meta.platforms;
};
};
txamqp = buildPythonPackage rec {
name = "txamqp-${version}";
version = "0.3";
src = fetchurl rec {
url = "https://launchpad.net/txamqp/trunk/${version}/+download/python-txamqp_${version}.orig.tar.gz";
sha256 = "1r2ha0r7g14i4b5figv2spizjrmgfpspdbl1m031lw9px2hhm463";
};
buildInputs = [ twisted ];
meta = {
homepage = https://launchpad.net/txamqp;
description = "Library for communicating with AMQP peers and brokers using Twisted";
maintainers = [ stdenv.lib.maintainers.rickynils ];
platforms = python.meta.platforms;
};
};
graphite_web = buildPythonPackage rec {
name = "graphite-web-${version}";
version = "0.9.10";
src = fetchurl rec {
url = "https://launchpad.net/graphite/0.9/${version}/+download/${name}.tar.gz";
sha256 = "1gj8i6j2i172cldqw98395235bn78ciagw6v17fgv01rmind3lag";
};
buildInputs = [ django pkgs.pycairo ldap memcached python.modules.sqlite3 ];
# error: invalid command 'test'
doCheck = false;
meta = {
homepage = http://graphite.wikidot.com/;
description = "Enterprise scalable realtime graphing";
maintainers = [ stdenv.lib.maintainers.rickynils ];
platforms = python.meta.platforms;
};
};
}; in pythonPackages