diff options
49 files changed, 853 insertions, 167 deletions
diff --git a/pkgs/applications/misc/freicoin/default.nix b/pkgs/applications/misc/freicoin/default.nix new file mode 100644 index 000000000000..163cb04c27eb --- /dev/null +++ b/pkgs/applications/misc/freicoin/default.nix @@ -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; + }; +} diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix index cb832ed99f5c..4c24f149f005 100644 --- a/pkgs/applications/misc/lyx/default.nix +++ b/pkgs/applications/misc/lyx/default.nix @@ -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 = [ diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix new file mode 100644 index 000000000000..43ee98b55dcb --- /dev/null +++ b/pkgs/applications/networking/ftp/filezilla/default.nix @@ -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"; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/kadu/default.nix b/pkgs/applications/networking/instant-messengers/kadu/default.nix index 7dc66886af6e..03cbb1ce0737 100644 --- a/pkgs/applications/networking/instant-messengers/kadu/default.nix +++ b/pkgs/applications/networking/instant-messengers/kadu/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation { - name = "kadu-0.10.1"; + name = "kadu-0.12.2"; src = fetchurl { - url = http://download.kadu.im/stable/kadu-0.10.1.tar.bz2; - sha256 = "0j88pyp2nqpc57j38zr135ypfiv4v329gfgiz9rdbqi8j26cyp7g"; + url = http://download.kadu.im/stable/kadu-0.12.2.tar.bz2; + sha256 = "0rqhkiyn8c7jigpxmvwh7daxsgjxlvd16zjdss1azdzd9x2dbym1"; }; buildInputs = [ cmake qt4 libgadu libXScrnSaver libsndfile libX11 alsaLib aspell libidn qca2 phonon pkgconfig @@ -21,8 +21,12 @@ stdenv.mkDerivation { patchShebangs . ''; - # because I was not able to get those working - patches = [ ./disable_some_plugins.patch ]; + # Disable the kadu plugins I wasn't able to get to work + patchPhase = '' + sed -i -e '/mpd_mediaplayer/d' \ + -e '/encryption_ng/d' \ + -e '/encryption_ng_simlite/d' Plugins.cmake + ''; NIX_LDFLAGS="-lX11"; diff --git a/pkgs/applications/networking/instant-messengers/kadu/disable_some_plugins.patch b/pkgs/applications/networking/instant-messengers/kadu/disable_some_plugins.patch deleted file mode 100644 index 0ee06c21382a..000000000000 --- a/pkgs/applications/networking/instant-messengers/kadu/disable_some_plugins.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/Plugins.cmake b/Plugins.cmake -index ad63f20..c14a781 100644 ---- a/Plugins.cmake -+++ b/Plugins.cmake -@@ -30,9 +30,9 @@ set (COMPILE_PLUGINS - - # encryption - # Encrypted chat support -- encryption_ng -+ # encryption_ng - # OpenSSL encrypted chat support -- encryption_ng_simlite -+ # encryption_ng_simlite - - # docking - # Tray icon support (common part of all docking modules) -@@ -104,9 +104,9 @@ if (UNIX) - - # mediaplayer - # MPD mediaplayer support -- mpd_mediaplayer -+ # mpd_mediaplayer - # MPRIS Media Players support -- mprisplayer_mediaplayer -+ # mprisplayer_mediaplayer - ) - endif (UNIX) - diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix index eb1a9c4474f4..ba7953d737cf 100644 --- a/pkgs/applications/networking/irc/weechat/default.nix +++ b/pkgs/applications/networking/irc/weechat/default.nix @@ -1,20 +1,27 @@ { stdenv, fetchurl, ncurses, openssl, perl, python, aspell, gnutls -, zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile }: +, zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile +, pythonPackages, makeWrapper }: stdenv.mkDerivation rec { - version = "0.3.9"; + version = "0.3.9.2"; name = "weechat-${version}"; src = fetchurl { url = "http://weechat.org/files/src/${name}.tar.gz"; - sha256 = "8666c788cbb212036197365df3ba3cf964a23e4f644d76ea51d66dbe3be593bb"; + sha256 = "114cffqwnrqx8r4dslz7sc4i4ky4akzh863rnzaw3dnn9ky9r503"; }; buildInputs = [ ncurses perl python openssl aspell gnutls zlib curl pkgconfig - libgcrypt ruby lua5 tcl guile + libgcrypt ruby lua5 tcl guile pythonPackages.pycrypto makeWrapper ]; + postInstall = '' + wrapProgram "$out/bin/weechat-curses" \ + --prefix PYTHONPATH : "$PYTHONPATH" \ + --prefix PYTHONPATH : "$out/lib/${python.libPrefix}/site-packages" + ''; + meta = { homepage = http://http://www.weechat.org/; description = "A fast, light and extensible chat client"; diff --git a/pkgs/applications/science/logic/hol_light/default.nix b/pkgs/applications/science/logic/hol_light/default.nix index 5d9866a650bc..e62751cde9d4 100644 --- a/pkgs/applications/science/logic/hol_light/default.nix +++ b/pkgs/applications/science/logic/hol_light/default.nix @@ -9,11 +9,11 @@ let in stdenv.mkDerivation { - name = "hol_light-20120529"; + name = "hol_light-20121213"; src = fetchsvn { url = http://hol-light.googlecode.com/svn/trunk; - rev = "141"; - sha256 = "a11d7e5db7c6035a2debcf9e73f43c6322389aeac5bc4d123ebf58918052a57f"; + rev = "153"; + sha256 = "1n4da5k3jya8mf7dgif8cl5sr2dqf6vl21fw1fcdna215v2x1rc0"; }; buildInputs = [ ocaml findlib camlp5 ]; diff --git a/pkgs/applications/science/logic/logisim/default.nix b/pkgs/applications/science/logic/logisim/default.nix new file mode 100644 index 000000000000..009bed3ffe2a --- /dev/null +++ b/pkgs/applications/science/logic/logisim/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, jre }: + +let version = "2.7.1"; in + +stdenv.mkDerivation { + name = "logisim-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/project/circuit/2.7.x/${version}/logisim-generic-${version}.jar"; + sha256 = "1hkvc9zc7qmvjbl9579p84hw3n8wl3275246xlzj136i5b0phain"; + }; + + phases = [ "installPhase" ]; + + installPhase = '' + mkdir -pv $out/bin + cp -v $src $out/logisim.jar + + cat > $out/bin/logisim << EOF + #!${stdenv.shell} + ${jre}/bin/java -jar $out/logisim.jar + EOF + + chmod +x $out/bin/logisim + ''; + + meta = { + homepage = "http://ozark.hendrix.edu/~burch/logisim"; + description = "Logisim is an educational tool for designing and simulating digital logic circuits."; + license = "GPLv2+"; + }; +} diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix index 219f8531787d..9483868bc5e3 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix @@ -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 diff --git a/pkgs/applications/window-managers/ion-3/default.nix b/pkgs/applications/window-managers/ion-3/default.nix index e6714536cadd..b4dabb300c19 100644 --- a/pkgs/applications/window-managers/ion-3/default.nix +++ b/pkgs/applications/window-managers/ion-3/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, x11, lua, gettext, groff }: stdenv.mkDerivation { - name = "ion-3rc-20070902"; + name = "ion-3-20090110"; meta = { description = "Ion is a tiling tabbed window manager designed with keyboard users in mind."; homepage = http://modeemi.fi/~tuomov/ion; }; src = fetchurl { - url = http://iki.fi/tuomov/dl/ion-3rc-20070902.tar.gz; - sha256 = "062a0rgxzz4h1hih5lp7l2nfvhz095brag9fmnanzqc4dac228xl"; + url = http://tuomov.iki.fi/software/dl/ion-3-20090110.tar.gz; + sha256 = "1nkks5a95986nyfkxvg2rik6zmwx0lh7szd5fji7yizccwzc9xns"; }; buildInputs = [ x11 lua gettext groff ]; buildFlags = "LUA_DIR=${lua} X11_PREFIX=/no-such-path PREFIX=\${out}"; diff --git a/pkgs/development/compilers/gcc/4.7/default.nix b/pkgs/development/compilers/gcc/4.7/default.nix index 60ef44f2a901..5ab7166204e9 100644 --- a/pkgs/development/compilers/gcc/4.7/default.nix +++ b/pkgs/development/compilers/gcc/4.7/default.nix @@ -89,9 +89,11 @@ let version = "4.7.2"; gccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null cross; gccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null cross; gccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null cross; + gccMode = stdenv.lib.attrByPath [ "gcc" "mode" ] null cross; withArch = if gccArch != null then " --with-arch=${gccArch}" else ""; withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else ""; withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else ""; + withMode = if gccMode != null then " --with-mode=${gccMode}" else ""; crossMingw = (cross != null && cross.libc == "msvcrt"); crossConfigureFlags = @@ -99,6 +101,7 @@ let version = "4.7.2"; withArch + withCpu + withAbi + + withMode + (if (crossMingw && crossStageStatic) then " --with-headers=${libcCross}/include" + " --with-gcc" + diff --git a/pkgs/development/libraries/haskell/hamlet/default.nix b/pkgs/development/libraries/haskell/hamlet/default.nix index 609b1ad4fb8e..906a8e2759aa 100644 --- a/pkgs/development/libraries/haskell/hamlet/default.nix +++ b/pkgs/development/libraries/haskell/hamlet/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hamlet"; - version = "1.1.2"; - sha256 = "0k6wnjqmap4wv0p1hvzpd8br4wr4vda9aw87agzf7pix6hwmiybq"; + version = "1.1.3.1"; + sha256 = "04qqsjrn0fh9y4z7gjf3g60w69gqxhzq7dqkraq97p3w45fijm1i"; buildDepends = [ blazeBuilder blazeHtml blazeMarkup failure parsec shakespeare text ]; diff --git a/pkgs/development/libraries/haskell/heist/default.nix b/pkgs/development/libraries/haskell/heist/default.nix index 4191536407e1..22860a85218e 100644 --- a/pkgs/development/libraries/haskell/heist/default.nix +++ b/pkgs/development/libraries/haskell/heist/default.nix @@ -5,14 +5,13 @@ cabal.mkDerivation (self: { pname = "heist"; - version = "0.10.1"; - sha256 = "1rwik8x2bfb0474vc1wzbqlhjgas3089g1rvphs7irfbmyki1646"; + version = "0.10.2"; + sha256 = "13v9x5dph52xddkb2dy4gfrapvihf1881fin996ag0snbma3wh68"; buildDepends = [ aeson attoparsec blazeBuilder blazeHtml directoryTree dlist errors filepath hashable MonadCatchIOTransformers mtl random text time unorderedContainers vector xmlhtml ]; - jailbreak = true; meta = { homepage = "http://snapframework.com/"; description = "An Haskell template system supporting both HTML5 and XML"; diff --git a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix index 7e50b68286ce..62bc2ebac184 100644 --- a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix +++ b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix @@ -1,15 +1,15 @@ { cabal, blazeBuilder, caseInsensitive, classyPreludeConduit -, conduit, httpConduit, httpTypes, liftedBase, monadControl -, network, networkConduit, text, wai, warp, word8 +, conduit, dataDefault, httpConduit, httpTypes, liftedBase +, monadControl, network, networkConduit, text, wai, warp, word8 }: cabal.mkDerivation (self: { pname = "http-reverse-proxy"; - version = "0.1.0.7"; - sha256 = "1fshng7bcpzjq5iqnvl2qsyia9yi80b8sbif18a3w86gsw5xcakk"; + version = "0.1.1"; + sha256 = "0p04zpw1v0zhzri7wpikc0b8g7n21kgl8j8238vv7xqxapkal0pc"; buildDepends = [ blazeBuilder caseInsensitive classyPreludeConduit conduit - httpConduit httpTypes liftedBase monadControl network + dataDefault httpConduit httpTypes liftedBase monadControl network networkConduit text wai warp word8 ]; meta = { diff --git a/pkgs/development/libraries/haskell/monad-logger/default.nix b/pkgs/development/libraries/haskell/monad-logger/default.nix index 40f82c69a378..97078f2fb84f 100644 --- a/pkgs/development/libraries/haskell/monad-logger/default.nix +++ b/pkgs/development/libraries/haskell/monad-logger/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "monad-logger"; - version = "0.2.3.1"; - sha256 = "15f85cf1nsy3xbjgikrn8cr09r70h8n2c67bpbxnfjna3ak94gkn"; + version = "0.2.3.2"; + sha256 = "0b5jfmzmsb7pdawcm5i74sy934q2d78pjs39invas502kx5bxzk5"; buildDepends = [ conduit fastLogger monadControl mtl resourcet text transformers transformersBase diff --git a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix index e09a9b8d161e..8fdc9f641aac 100644 --- a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix +++ b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "persistent-postgresql"; - version = "1.1.2"; - sha256 = "06ylfijm59akdzb6kd0qs5kw3qyn5ig7q9wbj0a8sgkf8hs2mmad"; + version = "1.1.2.1"; + sha256 = "1iz6w9isva1drbr37c8f42g3nnl78sp27ydaj0975yqyp7nh7and"; buildDepends = [ aeson conduit monadControl persistent postgresqlLibpq postgresqlSimple text time transformers diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix index 817047fd5c08..1cec3d609b54 100644 --- a/pkgs/development/libraries/haskell/persistent/default.nix +++ b/pkgs/development/libraries/haskell/persistent/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "persistent"; - version = "1.1.2"; - sha256 = "1khzbmdw3ham8ig58srvcdsz4j5r9mg2s2ackm1f40851fa0642r"; + version = "1.1.3.1"; + sha256 = "12gv2gjkrf7qchlv6kj0an8bvpkin8vdhdkxg4ck9ydw7hh292v2"; buildDepends = [ aeson attoparsec base64Bytestring blazeHtml blazeMarkup conduit liftedBase monadControl monadLogger pathPieces poolConduit diff --git a/pkgs/development/libraries/haskell/shakespeare-js/default.nix b/pkgs/development/libraries/haskell/shakespeare-js/default.nix index 228e35bab467..a7238ba52eb3 100644 --- a/pkgs/development/libraries/haskell/shakespeare-js/default.nix +++ b/pkgs/development/libraries/haskell/shakespeare-js/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "shakespeare-js"; - version = "1.1.0"; - sha256 = "0rb1fim6xvpgc2in71drxgimh1z75p72zj0k6hwh2hyfwkj2yh9p"; + version = "1.1.1"; + sha256 = "1xzhb3ipax2489311hmiaxp9i44099bsbclcj3ds0rhdfa62xarg"; buildDepends = [ aeson shakespeare text ]; meta = { homepage = "http://www.yesodweb.com/book/shakespearean-templates"; diff --git a/pkgs/development/libraries/haskell/shelly/default.nix b/pkgs/development/libraries/haskell/shelly/default.nix index a0ae240f6718..15245bfe0bcd 100644 --- a/pkgs/development/libraries/haskell/shelly/default.nix +++ b/pkgs/development/libraries/haskell/shelly/default.nix @@ -3,8 +3,8 @@ cabal.mkDerivation (self: { pname = "shelly"; - version = "0.15.3.3"; - sha256 = "0g062rzpcksnszcjln9z39lw9cd084k0zs9pbr23s1985xkf6cj7"; + version = "0.15.4"; + sha256 = "1b8fn5fa350hhlswn97g6zn9454nzn9sz60x55j959phwys0fcdk"; buildDepends = [ mtl systemFileio systemFilepath text time unixCompat ]; diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix index 75b36eb0aeba..6f17a9a51774 100644 --- a/pkgs/development/libraries/haskell/yesod-core/default.nix +++ b/pkgs/development/libraries/haskell/yesod-core/default.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "yesod-core"; - version = "1.1.6.1"; - sha256 = "0pk7pxqp9g5pkbba2na503az9pghgqvs538pcz2k3r3cpb6nhgpa"; + version = "1.1.7"; + sha256 = "1z47h7ghhi8mvmrc0rcwb3si1bq4623i5x127k8fahcy6qk4qls8"; buildDepends = [ aeson blazeBuilder blazeHtml blazeMarkup caseInsensitive cereal clientsession conduit cookie failure fastLogger hamlet httpTypes diff --git a/pkgs/development/libraries/haskell/yesod-static/default.nix b/pkgs/development/libraries/haskell/yesod-static/default.nix index ada24ea3193e..7923b6e9e8e3 100644 --- a/pkgs/development/libraries/haskell/yesod-static/default.nix +++ b/pkgs/development/libraries/haskell/yesod-static/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "yesod-static"; - version = "1.1.1.1"; - sha256 = "1wp3ijiwsai9npf6zl0bq3fi4rbh0qjy8bii3d178sariv7588js"; + version = "1.1.1.2"; + sha256 = "0x3vrzqqddi4fmbivmy5pi66jmnc5fh68j5fjfxn5nyhp4n6z0sw"; buildDepends = [ base64Bytestring cereal conduit cryptoConduit cryptohash fileEmbed httpTypes systemFilepath text transformers unixCompat wai diff --git a/pkgs/development/libraries/haskell/yesod-test/default.nix b/pkgs/development/libraries/haskell/yesod-test/default.nix index ebbbc3f939fc..b03274902e67 100644 --- a/pkgs/development/libraries/haskell/yesod-test/default.nix +++ b/pkgs/development/libraries/haskell/yesod-test/default.nix @@ -1,17 +1,18 @@ -{ cabal, attoparsec, blazeHtml, blazeMarkup, caseInsensitive, hspec -, htmlConduit, httpTypes, HUnit, monadControl, network, persistent -, poolConduit, text, transformers, wai, waiTest, xmlConduit -, xmlTypes +{ cabal, attoparsec, blazeBuilder, blazeHtml, blazeMarkup +, caseInsensitive, cookie, hspec, htmlConduit, httpTypes, HUnit +, monadControl, network, persistent, poolConduit, text, time +, transformers, wai, waiTest, xmlConduit, xmlTypes }: cabal.mkDerivation (self: { pname = "yesod-test"; - version = "0.3.2"; - sha256 = "1wd5iwar6jxbv0p7p47js4spivwhph98h403bnmf3dl7069nyjcs"; + version = "0.3.3"; + sha256 = "1jb410r905wd26swh2rk59nbyy389gcfz261adhb69awmsyql5x3"; buildDepends = [ - attoparsec blazeHtml blazeMarkup caseInsensitive hspec htmlConduit - httpTypes HUnit monadControl network persistent poolConduit text - transformers wai waiTest xmlConduit xmlTypes + attoparsec blazeBuilder blazeHtml blazeMarkup caseInsensitive + cookie hspec htmlConduit httpTypes HUnit monadControl network + persistent poolConduit text time transformers wai waiTest + xmlConduit xmlTypes ]; meta = { homepage = "http://www.yesodweb.com"; diff --git a/pkgs/development/libraries/haskell/yesod/default.nix b/pkgs/development/libraries/haskell/yesod/default.nix index 717bba2853c9..50365296270d 100644 --- a/pkgs/development/libraries/haskell/yesod/default.nix +++ b/pkgs/development/libraries/haskell/yesod/default.nix @@ -12,8 +12,8 @@ cabal.mkDerivation (self: { pname = "yesod"; - version = "1.1.7.1"; - sha256 = "01sic3s3mwn67das6cffvndpf4c6n612hd183bvw4a80h7mbaqxz"; + version = "1.1.7.2"; + sha256 = "0mxxzcmp63sdn7g30ilp40dsj2iccajc9gpxycnqxqabdzhqkbm0"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/libgadu/default.nix b/pkgs/development/libraries/libgadu/default.nix index 98324c184c66..430560107702 100644 --- a/pkgs/development/libraries/libgadu/default.nix +++ b/pkgs/development/libraries/libgadu/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation { - name = "libgadu-1.11.0"; + name = "libgadu-1.11.2"; src = fetchurl { - url = http://toxygen.net/libgadu/files/libgadu-1.11.0.tar.gz; - sha256 = "045a0bd395k3ramdvlzyfx3878p42fv4r04rgasmdsm2n33wgm38"; + url = http://toxygen.net/libgadu/files/libgadu-1.11.2.tar.gz; + sha256 = "0kifi9blhbimihqw4kaf6wyqhlx8fpp8nq4s6y280ar9p0il2n3z"; }; propagatedBuildInputs = [ zlib ]; diff --git a/pkgs/development/libraries/tinyxml/2.6.2-add-pkgconfig.patch b/pkgs/development/libraries/tinyxml/2.6.2-add-pkgconfig.patch new file mode 100644 index 000000000000..ca89685a458f --- /dev/null +++ b/pkgs/development/libraries/tinyxml/2.6.2-add-pkgconfig.patch @@ -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} diff --git a/pkgs/development/libraries/tinyxml/2.6.2-entity.patch b/pkgs/development/libraries/tinyxml/2.6.2-entity.patch new file mode 100755 index 000000000000..3164261291ba --- /dev/null +++ b/pkgs/development/libraries/tinyxml/2.6.2-entity.patch @@ -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. +- // © -- 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&#xa+bar</foo>"); ++ std::string str; ++ str << xml; ++ XmlTest( "Entity escaping", "<foo>foo&#xa+bar</foo>", str.c_str() ); ++ } ++ #endif ++ + /* 1417717 experiment + { + TiXmlDocument xml; diff --git a/pkgs/development/libraries/tinyxml/2.6.2.nix b/pkgs/development/libraries/tinyxml/2.6.2.nix new file mode 100644 index 000000000000..8770859817ca --- /dev/null +++ b/pkgs/development/libraries/tinyxml/2.6.2.nix @@ -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"; + }; +} diff --git a/pkgs/development/tools/profiling/sysprof/default.nix b/pkgs/development/tools/profiling/sysprof/default.nix index 154561e27e1e..b6750f889373 100644 --- a/pkgs/development/tools/profiling/sysprof/default.nix +++ b/pkgs/development/tools/profiling/sysprof/default.nix @@ -1,44 +1,24 @@ -{ fetchurl, stdenv, kernel, binutils +{ fetchurl, stdenv, binutils , pkgconfig, gtk, glib, pango, libglade }: stdenv.mkDerivation rec { - name = "sysprof-1.0.12-${kernel.version}"; + name = "sysprof-1.2.0"; src = fetchurl { - url = "http://www.daimi.au.dk/~sandmann/sysprof/sysprof-1.0.12.tar.gz"; - sha256 = "0f0z1dh97swlrkw3cbv5k2jhy5rk7wxv55hp7yhysw3idgp8wbmz"; + url = "http://www.sysprof.com/sysprof-1.2.0.tar.gz"; + sha256 = "1wb4d844rsy8qjg3z5m6rnfm72da4xwzrrkkb1q5r10sq1pkrw5s"; }; buildInputs = [ binutils pkgconfig gtk glib pango libglade ]; - patches = [ ./configure.patch ]; - - preConfigure = '' - kernelVersion=$(cd "${kernel}/lib/modules" && echo *) - echo "assuming Linux kernel version \`$kernelVersion'" - - sed -i "module/Makefile" \ - -e"s|^[[:blank:]]*KDIR[[:blank:]]*:=.*$|KDIR := ${kernel}/lib/modules/$kernelVersion/build|g ; - s|\$(KMAKE) modules_install|install sysprof-module.ko $out/share/sysprof/module|g ; - s|\\[ -e /sbin/depmod.*$|true|g" - - # XXX: We won't run `depmod' after installing the module. - ''; - - configureFlags = "--enable-kernel-module"; - - preInstall = '' - mkdir -p "$out/share/sysprof/module" - ''; - meta = { - homepage = http://www.daimi.au.dk/~sandmann/sysprof/; + homepage = http://sysprof.com/; description = "Sysprof, a system-wide profiler for Linux"; license = "GPLv2+"; longDescription = '' - Sysprof is a sampling CPU profiler for Linux that uses a kernel - module to profile the entire system, not just a single + Sysprof is a sampling CPU profiler for Linux that uses the perf_event_open + system call to profile the entire system, not just a single application. Sysprof handles shared libraries and applications do not need to be recompiled. In fact they don't even have to be restarted. diff --git a/pkgs/lib/maintainers.nix b/pkgs/lib/maintainers.nix index d0ba6b8b6a55..b065a50ce004 100644 --- a/pkgs/lib/maintainers.nix +++ b/pkgs/lib/maintainers.nix @@ -37,6 +37,7 @@ sander = "Sander van der Burg <s.vanderburg@tudelft.nl>"; shlevy = "Shea Levy <shea@shealevy.com>"; simons = "Peter Simons <simons@cryp.to>"; + smironov = "Sergey Mironov <ierton@gmail.com>"; thammers = "Tobias Hammerschmidt <jawr@gmx.de>"; urkud = "Yury G. Kudryashov <urkud+nix@ya.ru>"; viric = "LluĂs Batlle i Rossell <viric@viric.name>"; diff --git a/pkgs/lib/types.nix b/pkgs/lib/types.nix index 6bc2e0f1ecb3..1cb1185b8bb8 100644 --- a/pkgs/lib/types.nix +++ b/pkgs/lib/types.nix @@ -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; diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix index 3f26e159b431..b1bc15ff0836 100644 --- a/pkgs/os-specific/linux/wpa_supplicant/default.nix +++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix @@ -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 = { diff --git a/pkgs/servers/ftp/vsftpd/default.nix b/pkgs/servers/ftp/vsftpd/default.nix index 0fc1531056bc..6dc3cc162975 100644 --- a/pkgs/servers/ftp/vsftpd/default.nix +++ b/pkgs/servers/ftp/vsftpd/default.nix @@ -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 diff --git a/pkgs/servers/nosql/redis/darwin.patch b/pkgs/servers/nosql/redis/darwin.patch new file mode 100644 index 000000000000..002f09b36f34 --- /dev/null +++ b/pkgs/servers/nosql/redis/darwin.patch @@ -0,0 +1,12 @@ +diff -ru redis-2.4.7/deps/hiredis/Makefile redis-2.4.7.patched/deps/hiredis/Makefile +--- redis-2.4.7/deps/hiredis/Makefile 2012-02-02 14:29:24.000000000 +0000 ++++ redis-2.4.7.patched/deps/hiredis/Makefile 2012-12-07 17:14:43.000000000 +0000 +@@ -20,7 +20,7 @@ + CFLAGS?=-std=c99 -pedantic $(OPTIMIZATION) -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings $(ARCH) $(PROF) + CCLINK?=-lm -pthread + LDFLAGS?=-L. -Wl,-rpath,. +- OBJARCH?=-arch i386 -arch x86_64 ++ #OBJARCH?=-arch i386 -arch x86_64 + DYLIBNAME?=libhiredis.dylib + DYLIB_MAKE_CMD?=libtool -dynamic -o ${DYLIBNAME} -lm ${DEBUG} - ${OBJ} + STLIBNAME?=libhiredis.a diff --git a/pkgs/tools/X11/xkb-switch/default.nix b/pkgs/tools/X11/xkb-switch/default.nix new file mode 100644 index 000000000000..0fc49038efee --- /dev/null +++ b/pkgs/tools/X11/xkb-switch/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchgit, cmake, libX11 }: + +stdenv.mkDerivation rec { + name = "xkb-switch-1.2"; + + src = fetchgit { + url = https://github.com/ierton/xkb-switch.git; + rev = "4c90511ecf2cacc040c97f034a13254c3fa9dfef"; + sha256 = "1jxya67v1qnvbzd0cd5gj7xrwvxyfy1rpa70l8p30p9cmw3ahk41"; + }; + + buildInputs = [ cmake libX11 ]; + + meta = { + description = "Switch X layouts from the command line"; + homepage = https://github.com/ierton/xkb-switch.git; + maintainers = with stdenv.lib.maintainers; [smironov]; + platforms = stdenv.lib.platforms.gnu; + license = "BSD"; + }; +} + diff --git a/pkgs/tools/backup/bup/default.nix b/pkgs/tools/backup/bup/default.nix index 586fc514ba65..eef465bd142c 100644 --- a/pkgs/tools/backup/bup/default.nix +++ b/pkgs/tools/backup/bup/default.nix @@ -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"; }; buildNativeInputs = [ 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"; }; } diff --git a/pkgs/tools/backup/obnam/default.nix b/pkgs/tools/backup/obnam/default.nix index 07b86c2e41ed..dcac235c6703 100644 --- a/pkgs/tools/backup/obnam/default.nix +++ b/pkgs/tools/backup/obnam/default.nix @@ -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 ]; diff --git a/pkgs/tools/filesystems/btrfsprogs/btrfs-progs-Fix-the-receive-code-pathing.patch b/pkgs/tools/filesystems/btrfsprogs/btrfs-progs-Fix-the-receive-code-pathing.patch new file mode 100644 index 000000000000..6dd0639c607e --- /dev/null +++ b/pkgs/tools/filesystems/btrfsprogs/btrfs-progs-Fix-the-receive-code-pathing.patch @@ -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_ */ diff --git a/pkgs/tools/filesystems/btrfsprogs/btrfs-receive-help-text.patch b/pkgs/tools/filesystems/btrfsprogs/btrfs-receive-help-text.patch new file mode 100644 index 000000000000..a9892cc780ed --- /dev/null +++ b/pkgs/tools/filesystems/btrfsprogs/btrfs-receive-help-text.patch @@ -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", diff --git a/pkgs/tools/filesystems/btrfsprogs/btrfs-receive-lchown.patch b/pkgs/tools/filesystems/btrfsprogs/btrfs-receive-lchown.patch new file mode 100644 index 000000000000..3abb1ba25d32 --- /dev/null +++ b/pkgs/tools/filesystems/btrfsprogs/btrfs-receive-lchown.patch @@ -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; diff --git a/pkgs/tools/filesystems/btrfsprogs/btrfs-set-received-uuid.c b/pkgs/tools/filesystems/btrfsprogs/btrfs-set-received-uuid.c new file mode 100644 index 000000000000..483ec5f84155 --- /dev/null +++ b/pkgs/tools/filesystems/btrfsprogs/btrfs-set-received-uuid.c @@ -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); +} diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix index 4c1963f46332..a42c6aa7a7ec 100644 --- a/pkgs/tools/filesystems/btrfsprogs/default.nix +++ b/pkgs/tools/filesystems/btrfsprogs/default.nix @@ -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 = { diff --git a/pkgs/tools/filesystems/btrfsprogs/subvol-listing.patch b/pkgs/tools/filesystems/btrfsprogs/subvol-listing.patch new file mode 100644 index 000000000000..1c113ddefbe3 --- /dev/null +++ b/pkgs/tools/filesystems/btrfsprogs/subvol-listing.patch @@ -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; + } diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index 1fc5c08042cb..52c8e493fdcc 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -1,31 +1,31 @@ -{stdenv, fetchgit, python}: +{ stdenv, fetchurl, python, pandoc, zip }: -let pkgname = "youtube-dl"; - pkgver = "2012.09.27"; - +let + version = "2012.12.11"; in stdenv.mkDerivation { - name = "${pkgname}-${pkgver}"; + name = "youtube-dl-${version}"; - src = fetchgit { - url = "git://github.com/rg3/${pkgname}"; - rev = "refs/tags/${pkgver}"; - sha256 = "a98f3339301324ddd6620f7b1353abed807cd8dea5586d6901d7fe69bc6a397c"; + src = fetchurl { + url = "https://github.com/downloads/rg3/youtube-dl/youtube-dl.${version}.tar.gz"; + sha256 = "03zv3z8p0fi122nqj7ff8hkgqscir4s7psm03rq7dfpg1z35klmn"; }; - buildInputs = [python]; - buildPhase = "sed -i 's|#!/usr/bin/env python|#!#{python}/bin/python|' youtube-dl"; + buildInputs = [ python ]; + buildNativeInputs = [ pandoc zip ]; - installPhase = '' - ensureDir $out/bin - cp youtube-dl $out/bin + patchPhase = '' + rm youtube-dl + substituteInPlace Makefile --replace "#!/usr/bin/env python" "#!${python}/bin/python" + ''; + + configurePhase = '' + makeFlagsArray=( PREFIX=$out SYSCONFDIR=$out/etc ) ''; meta = { - description = "A small command-line program to download videos from YouTube.com and a few more sites"; - homepage = http://rg3.github.com/youtube-dl/; - maintainers = [ - stdenv.lib.maintainers.bluescreen303 - ]; + homepage = "http://rg3.github.com/youtube-dl/"; + description = "Command-line tool to download videos from YouTube.com and other sites"; + maintainers = with stdenv.lib.maintainers; [ bluescreen303 simons ]; }; } diff --git a/pkgs/tools/networking/aircrack-ng/default.nix b/pkgs/tools/networking/aircrack-ng/default.nix index ea4f517000a2..c616ba9ee160 100644 --- a/pkgs/tools/networking/aircrack-ng/default.nix +++ b/pkgs/tools/networking/aircrack-ng/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchsvn, libpcap, openssl, zlib, wirelesstools}: let - rev = "2178"; + rev = "2212"; in stdenv.mkDerivation rec { name = "aircrack-ng-1.1-${rev}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { src = fetchsvn { url = "http://trac.aircrack-ng.org/svn/trunk"; inherit rev; - sha256 = "d16fd3a4e918fd6a855c0d0ae0c863247a45189e6ec35c0c7082d3d07b6438db"; + sha256 = "80e567b4e4bc501721cd58f7efadcd13fc3b235a41486174826694a6e701ce09"; }; buildInputs = [libpcap openssl zlib]; diff --git a/pkgs/tools/networking/httpie/default.nix b/pkgs/tools/networking/httpie/default.nix new file mode 100644 index 000000000000..200bac53086a --- /dev/null +++ b/pkgs/tools/networking/httpie/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix index ea0095c66848..316598809f1c 100644 --- a/pkgs/tools/networking/network-manager/default.nix +++ b/pkgs/tools/networking/network-manager/default.nix @@ -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 = '' @@ -30,7 +30,8 @@ stdenv.mkDerivation rec { "--sysconfdir=/etc" "--localstatedir=/var" "--with-dbus-sys-dir=\${out}/etc/dbus-1/system.d" "--with-crypto=gnutls" "--disable-more-warnings" - "--with-systemdsystemunitdir=$(out)/etc/systemd/systemd" ]; + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + "--with-kernel-firmware-dir=/run/current-system/firmware" ]; buildInputs = [ wirelesstools udev libnl libuuid polkit ppp xz ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1ed0c572e1ae..7efc21b827da 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -916,6 +916,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', @@ -1804,7 +1806,7 @@ let xvfb_run = callPackage ../tools/misc/xvfb-run { inherit (texFunctions) fontsConf; }; - youtubeDL = callPackage ../tools/misc/youtube-dl { }; + youtubeDL = callPackage ../tools/misc/youtube-dl { inherit (haskellPackages) pandoc; }; zbar = callPackage ../tools/graphics/zbar {}; @@ -4992,6 +4994,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 { }; @@ -7029,6 +7035,8 @@ let feh = callPackage ../applications/graphics/feh { }; + filezilla = callPackage ../applications/networking/ftp/filezilla { }; + firefox = pkgs.firefoxPkgs.firefox; firefoxWrapper = wrapFirefox { browser = pkgs.firefox; }; @@ -7078,6 +7086,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; @@ -7937,7 +7949,7 @@ let inherit (pkgs) python perl tcl ruby /*x11*/; lua = pkgs.lua5; # optional features by flags - flags = [ "X11" ]; # only flag "X11" by now + flags = [ "python" "X11" ]; # only flag "X11" by now }; virtviewer = callPackage ../applications/virtualization/virt-viewer {}; @@ -8090,6 +8102,8 @@ let base14Fonts = "${ghostscript}/share/ghostscript/fonts"; }; + xkb_switch = callPackage ../tools/X11/xkb-switch { }; + libxpdf = callPackage ../applications/misc/xpdf/libxpdf.nix { }; xpra = callPackage ../tools/X11/xpra { @@ -8740,6 +8754,8 @@ let leo2 = callPackage ../applications/science/logic/leo2 {}; + logisim = callPackage ../applications/science/logic/logisim {}; + matita = callPackage ../applications/science/logic/matita { ocaml = ocaml_3_11_2; inherit (ocamlPackages_3_11_2) findlib lablgtk ocaml_expat gmetadom ocaml_http diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix index f00ad36f2e47..4ff31414722b 100644 --- a/pkgs/top-level/platforms.nix +++ b/pkgs/top-level/platforms.nix @@ -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"; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9c81ffc28829..e0768538cd6a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2916,7 +2916,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 +3253,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 +3317,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 +3339,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 |