diff --git a/pkgs/applications/audio/ardour/ardour3.nix b/pkgs/applications/audio/ardour/ardour3.nix index c803ec07618..cfa86af3c37 100644 --- a/pkgs/applications/audio/ardour/ardour3.nix +++ b/pkgs/applications/audio/ardour/ardour3.nix @@ -6,8 +6,8 @@ , perl, pkgconfig, python, serd, sord, sratom, suil }: let - # Ardour 3 Beta 4a - rev = "12406"; + # Ardour 3 Beta 5 + rev = "13072"; in stdenv.mkDerivation { @@ -16,7 +16,7 @@ stdenv.mkDerivation { src = fetchsvn { url = http://subversion.ardour.org/svn/ardour2/branches/3.0; inherit rev; - sha256 = "0a68xb3l36m5908y3airxw1b3bymhrjrf1l492mgcvviq6pn7pmk"; + sha256 = "17k990kdb5q17z6jcz5b60imvvfbjw9zfxzy9fk0vg8gd6yq7736"; }; buildInputs = diff --git a/pkgs/applications/audio/linuxsampler/default.nix b/pkgs/applications/audio/linuxsampler/default.nix index a100390c270..1ef081c84d0 100644 --- a/pkgs/applications/audio/linuxsampler/default.nix +++ b/pkgs/applications/audio/linuxsampler/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchsvn, alsaLib, asio, autoconf, automake, bison -, jackaudio, libgig, libsndfile, libtool , pkgconfig }: +, jackaudio, libgig, libsndfile, libtool, lv2, pkgconfig }: stdenv.mkDerivation rec { name = "linuxsampler-svn-${version}"; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { buildInputs = [ alsaLib asio autoconf automake bison jackaudio libgig libsndfile - libtool pkgconfig + libtool lv2 pkgconfig ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index 801efc166da..af71e89a416 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -158,6 +158,20 @@ in { }; }; - + eclipse_sdk_42 = buildEclipse { + name = "eclipse-sdk-4.2"; + description = "Eclipse Classic"; + src = + if stdenv.system == "x86_64-linux" then + fetchurl { + url = http://eclipse.ialto.com/eclipse/downloads/drops4/R-4.2-201206081400/eclipse-SDK-4.2-linux-gtk-x86_64.tar.gz; + sha256 = "1vcr49qm6rsbgzi9d43ggmby68pdigqcy55l5vy1gmixqks3g6s0"; + } + else + fetchurl { + url = http://eclipse.ialto.com/eclipse/downloads/drops4/R-4.2-201206081400/eclipse-SDK-4.2-linux-gtk.tar.gz; + sha256 = "1zlv80idkkdda05ks4biknbkczp24b2xki81ik5nygrjg29jqgnz"; + }; + }; } diff --git a/pkgs/applications/editors/emacs-modes/auto-complete/default.nix b/pkgs/applications/editors/emacs-modes/auto-complete/default.nix new file mode 100644 index 00000000000..75f484d295b --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/auto-complete/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, emacs }: + +stdenv.mkDerivation rec { + name = "auto-complete-1.3.1"; + + src = fetchurl { + url = "http://cx4a.org/pub/auto-complete/${name}.tar.bz2"; + sha256 = "124qxfp0pcphwlmrasbfrci48brxnrzc38h4wcf2sn20x1mvcrlj"; + }; + + buildInputs = [ emacs ]; + + preInstall = '' + install -d $out/share/emacs/site-lisp + ''; + + installFlags = "DIR=$(out)/share/emacs/site-lisp"; + + postInstall = '' + ln -s javascript-mode $out/share/emacs/site-lisp/ac-dict/js2-mode + ''; + + meta = { + description = "Auto-complete extension for Emacs"; + homepage = http://cx4a.org/software/auto-complete/; + license = "GPLv3+"; + + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/coffee/default.nix b/pkgs/applications/editors/emacs-modes/coffee/default.nix new file mode 100644 index 00000000000..c40b3d4cd65 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/coffee/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchgit, emacs }: + +stdenv.mkDerivation rec { + name = "coffee-mode-0.4.1"; + + src = fetchgit { + url = "https://github.com/defunkt/coffee-mode.git"; + rev = "c45c5f7a529363bc7aa57db0f3df26389fd233d8"; + sha256 = "36a7792b5ffbcc5a580e8d5b2425494c60a8015cfde0e3f8a946a685da231ce2"; + }; + + buildInputs = [ emacs ]; + + buildPhase = '' + emacs --batch -f batch-byte-compile coffee-mode.el + ''; + + installPhase = '' + install -d $out/share/emacs/site-lisp + install coffee-mode.el coffee-mode.elc $out/share/emacs/site-lisp + ''; + + meta = { + description = "An Emacs major mode for CoffeeScript, unfancy JavaScript."; + homepage = https://github.com/defunkt/coffee-mode; + license = "GPLv2+"; + + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix b/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix new file mode 100644 index 00000000000..b629186033f --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, emacs }: + +stdenv.mkDerivation rec { + name = "flymake-cursor-0.1.4"; + + src = fetchurl { + url = "http://www.emacswiki.org/emacs/download/flymake-cursor.el"; + sha256 = "1wxqqmn2fk2b778nksvgn1mi7ajarcpc5lla90xx9jwz47d9hx02"; + }; + + phases = [ "buildPhase" "installPhase"]; + + buildInputs = [ emacs ]; + + buildPhase = '' + cp $src flymake-cursor.el + emacs --batch -f batch-byte-compile flymake-cursor.el + ''; + + installPhase = '' + install -d $out/share/emacs/site-lisp + install flymake-cursor.el flymake-cursor.elc $out/share/emacs/site-lisp + ''; + + meta = { + description = "Displays flymake error msg in minibuffer after delay."; + homepage = http://www.emacswiki.org/emacs/flymake-cursor.el; + license = stdenv.lib.licenses.publicDomain; + + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/gh/default.nix b/pkgs/applications/editors/emacs-modes/gh/default.nix new file mode 100644 index 00000000000..28773e97c40 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/gh/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchgit, emacs, pcache, logito }: + +stdenv.mkDerivation rec { + name = "gh-0.5.3"; + + src = fetchgit { + url = "https://github.com/sigma/gh.el.git"; + rev = "ef03b63d063ec22f03af449aa955c98dfad7f80e"; + sha256 = "efa231e0091e8c7785385149dc97b2d8dc24aba65f4b0974b8ed7f62b7596ad3"; + }; + + buildInputs = [ emacs ]; + propagatedUserEnvPkgs = [ pcache logito ]; + + patchPhase = '' + sed -i Makefile \ + -e "s|^ *EFLAGS *=|& -L ${pcache}/share/emacs/site-lisp -L ${logito}/share/emacs/site-lisp --eval '(setq user-emacs-directory \"./\")'|" \ + -e "s|/usr/local|$out|" \ + -e "s|/site-lisp/\$(PKGNAME)|/site-lisp|" + ''; + + buildPhase = "make lisp"; + + meta = { + description = "A (very early) GitHub client library for Emacs"; + homepage = https://github.com/sigma/gh.el; + license = "GPLv2+"; + + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/gist/default.nix b/pkgs/applications/editors/emacs-modes/gist/default.nix new file mode 100644 index 00000000000..21a2137dd39 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/gist/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchgit, emacs, gh, pcache, logito }: + +stdenv.mkDerivation rec { + name = "gist-1.0"; + + src = fetchgit { + url = "https://github.com/sigma/gist.el.git"; + rev = "bbb457e4eaaf5f96cfaaa4f63021e3e542bfbfed"; + sha256 = "469f9df52076d0c6038183cff4b9415bca98de66c08814a60b69729b44bdf294"; + }; + + buildInputs = [ emacs ]; + + buildPhase = '' + emacs -L ${gh}/share/emacs/site-lisp \ + -L ${pcache}/share/emacs/site-lisp \ + -L ${logito}/share/emacs/site-lisp \ + --eval '(setq user-emacs-directory "./")' \ + --batch -f batch-byte-compile gist.el + ''; + + propagatedUserEnvPkgs = [ gh pcache logito ]; + + installPhase = '' + install -d $out/share/emacs/site-lisp + install gist.el gist.elc $out/share/emacs/site-lisp + ''; + + meta = { + description = "Emacs integration for gist.github.com"; + homepage = https://github.com/sigma/gist.el; + license = "GPLv2+"; + + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/haskell/default.nix b/pkgs/applications/editors/emacs-modes/haskell/default.nix index f58b66a506e..c8de8726284 100644 --- a/pkgs/applications/editors/emacs-modes/haskell/default.nix +++ b/pkgs/applications/editors/emacs-modes/haskell/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchgit, emacs }: stdenv.mkDerivation { - name = "haskell-mode-2.8.0.29-g7682f99"; + name = "haskell-mode-2.8.0.29-gae3e4499d2"; src = fetchgit { url = "http://github.com/haskell/haskell-mode.git"; - rev = "7682f991acd63d9400597d5f4980f62d7b1c4c0b"; - sha256 = "f4508a11fa65ece237c9ee9f623bc4e9ad3d3d58ab2fcacc8ddb080c29aac717"; + rev = "ae3e4499d27a1468bdf88ffe0ce15cd7e4bb9f2a"; + sha256 = "29a1725da620c13ff2b3b56906e76dd9f19317eee92bd5750b3aa9a4264effae"; }; buildInputs = [emacs]; diff --git a/pkgs/applications/editors/emacs-modes/jade/default.nix b/pkgs/applications/editors/emacs-modes/jade/default.nix new file mode 100644 index 00000000000..0c99ceaca22 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/jade/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchgit, emacs }: + +stdenv.mkDerivation { + name = "jade-mode-0-20120802"; + + src = fetchgit { + url = "https://github.com/brianc/jade-mode.git"; + rev = "275ab149edb0f6bcfae6ac17ba456f3351191604"; + sha256 = "3cd2bebcd66e59d60b8e5e538e65a8ffdfc9a53b86443090a284e8329d7cb09b"; + }; + + buildInputs = [ emacs ]; + + buildPhase = '' + emacs --batch -L . -f batch-byte-compile *.el + ''; + + installPhase = '' + mkdir -p $out/share/emacs/site-lisp + cp *.el *.elc $out/share/emacs/site-lisp/ + ''; + + meta = { + description = "Emacs major mode for jade and stylus."; + homepage = https://github.com/brianc/jade-mode; + license = "GPLv2+"; + + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/js2/default.nix b/pkgs/applications/editors/emacs-modes/js2/default.nix index 87661d75ff5..cbd88330434 100644 --- a/pkgs/applications/editors/emacs-modes/js2/default.nix +++ b/pkgs/applications/editors/emacs-modes/js2/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchgit, emacs }: stdenv.mkDerivation { - name = "js2-mode-0-20120601"; + name = "js2-mode-0-20120712"; src = fetchgit { url = "git://github.com/mooz/js2-mode.git"; - rev = "81bcbf7df7077db27facf0470cf9e31c18b8333e"; - sha256 = "1bec62816ec9d5f5882832902020573d95d038fff25b17bf1975b84a3ab535c3"; + rev = "f8cb9c52614e0a8e477f1ac557585ed950246c9b"; + sha256 = "37055b7e8c1d9eee6b86f6b9b9d74ad196cc43701bc2263ffd539a3e44025047"; }; buildInputs = [ emacs ]; diff --git a/pkgs/applications/editors/emacs-modes/logito/default.nix b/pkgs/applications/editors/emacs-modes/logito/default.nix new file mode 100644 index 00000000000..09161ec8067 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/logito/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchgit, emacs }: + +stdenv.mkDerivation rec { + name = "logito-0.1"; + + src = fetchgit { + url = "https://github.com/sigma/logito.git"; + rev = "824acb89d2cc18cb47281a4fbddd81ad244a2052"; + sha256 = "b9a7433417eafc5bc158f63dddf559b2044368eb3061f0264169de319c68fe4a"; + }; + + buildInputs = [ emacs ]; + + buildPhase = '' + emacs --batch -f batch-byte-compile logito.el + ''; + + installPhase = '' + install -d $out/share/emacs/site-lisp + install logito.el logito.elc $out/share/emacs/site-lisp + ''; + + meta = { + description = "tiny logging framework for Emacs"; + homepage = https://github.com/sigma/logito; + license = "GPLv2+"; + + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/lorem-ipsum/default.nix b/pkgs/applications/editors/emacs-modes/lorem-ipsum/default.nix new file mode 100644 index 00000000000..94427537003 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/lorem-ipsum/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, emacs }: + +stdenv.mkDerivation rec { + name = "lorem-ipsum-0.1"; + + src = fetchurl { + url = "http://www.emacswiki.org/emacs/download/lorem-ipsum.el"; + sha256 = "122d0z3xqfaikgk34l7bh989mfxddin2ljinysp2lqw8djfi7jsl"; + }; + + phases = [ "buildPhase" "installPhase"]; + + buildInputs = [ emacs ]; + + buildPhase = '' + cp $src lorem-ipsum.el + emacs --batch -f batch-byte-compile lorem-ipsum.el + ''; + + installPhase = '' + install -d $out/share/emacs/site-lisp + install lorem-ipsum.el lorem-ipsum.elc $out/share/emacs/site-lisp + ''; + + meta = { + description = "Insert dummy pseudo Latin text for emacs."; + homepage = http://www.emacswiki.org/emacs/LoremIpsum; + license = "GPLv2+"; + + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/pcache/default.nix b/pkgs/applications/editors/emacs-modes/pcache/default.nix new file mode 100644 index 00000000000..c0aa0772678 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/pcache/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchgit, emacs }: + +stdenv.mkDerivation rec { + name = "pcache-0.2.3"; + + src = fetchgit { + url = "https://github.com/sigma/pcache.git"; + rev = "fa8f863546e2e8f2fc0a70f5cc766a7f584e01b6"; + sha256 = "f7cdad5a729b24f96ec69db4adfd19daf45c27aaf3a0267385b252cb2e59daa0"; + }; + + buildInputs = [ emacs ]; + + buildPhase = '' + emacs --batch -f batch-byte-compile pcache.el + ''; + + installPhase = '' + install -d $out/share/emacs/site-lisp + install pcache.el pcache.elc $out/share/emacs/site-lisp + ''; + + meta = { + description = "Persistent caching for Emacs"; + homepage = https://github.com/sigma/pcache.el; + license = "GPLv2+"; + + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/editors/joe/default.nix b/pkgs/applications/editors/joe/default.nix index b6324e5879c..0e97a036905 100644 --- a/pkgs/applications/editors/joe/default.nix +++ b/pkgs/applications/editors/joe/default.nix @@ -1,10 +1,11 @@ {stdenv, fetchurl} : -stdenv.mkDerivation { - name = "joe-3.3"; +stdenv.mkDerivation rec { + name = "joe-3.7"; + src = fetchurl { - url = mirror://sourceforge/joe-editor/joe-3.3.tar.gz; - md5 = "02221716679c039c5da00c275d61dbf4"; + url = "mirror://sourceforge/joe-editor/${name}.tar.gz"; + sha256 = "0vqhffdjn3xwsfa383i6kdrpfwilq8b382ljjhy1v32smphmdr6a"; }; meta = { diff --git a/pkgs/applications/misc/gxneur/default.nix b/pkgs/applications/misc/gxneur/default.nix new file mode 100644 index 00000000000..520b8304f63 --- /dev/null +++ b/pkgs/applications/misc/gxneur/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, pkgconfig, gtk2, xorg, glib, xneur_0_13, libglade, GConf, pcre }: + +stdenv.mkDerivation { + name = "gxneur-0.13.0"; + + src = fetchurl { + url = http://dists.xneur.ru/release-0.13.0/tgz/gxneur-0.13.0.tar.bz2; + sha256 = "f093428a479158247a7ff8424f0aec9af9f7b1d05b191cf30b7c534965a6839f"; + }; + + buildInputs = [ + xorg.libX11 pkgconfig glib gtk2 xorg.libXpm xorg.libXt xorg.libXext xneur_0_13 + libglade GConf pcre + ]; + + preConfigure = '' + sed -e 's@-Werror@@' -i configure + sed -e 's@"xneur"@"${xneur_0_13}/bin/xneur"@' -i src/misc.c + ''; + + meta = { + description = "GUI for XNEUR keyboard layout switcher"; + }; +} diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix index 83665aab5f5..d061495b176 100644 --- a/pkgs/applications/misc/ikiwiki/default.nix +++ b/pkgs/applications/misc/ikiwiki/default.nix @@ -1,32 +1,51 @@ -{ stdenv, fetchurl, perl, gettext, makeWrapper, lib, PerlMagick, YAML +{ stdenv, fetchurl, perl, gettext, makeWrapper, PerlMagick, YAML , TextMarkdown, URI, HTMLParser, HTMLScrubber, HTMLTemplate, TimeDate , CGISession, CGIFormBuilder, DBFile, LocaleGettext, RpcXML, XMLSimple -, YAMLLibYAML +, YAMLLibYAML, which, HTMLTree, AuthenPassphrase, NetOpenIDConsumer +, LWPxParanoidAgent, CryptSSLeay , gitSupport ? false, git ? null +, docutilsSupport ? false, python ? null, docutils ? null , monotoneSupport ? false, monotone ? null +, bazaarSupport ? false, bazaar ? null +, cvsSupport ? false, cvs ? null, cvsps ? null, Filechdir ? null +, subversionSupport ? false, subversion ? null +, mercurialSupport ? false, mercurial ? null , extraUtils ? [] }: +assert docutilsSupport -> (python != null && docutils != null); assert gitSupport -> (git != null); assert monotoneSupport -> (monotone != null); +assert bazaarSupport -> (bazaar != null); +assert cvsSupport -> (cvs != null && cvsps != null && Filechdir != null); +assert subversionSupport -> (subversion != null); +assert mercurialSupport -> (mercurial != null); let name = "ikiwiki"; - version = "3.20120516"; + version = "3.20120629"; + + lib = stdenv.lib; in stdenv.mkDerivation { name = "${name}-${version}"; src = fetchurl { url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz"; - sha256 = "b75097d4f4db79a16f8b74bc4e7f824a586e0e150ecf18103888bbe553a41eb0"; + sha256 = "7e39cdb727f261ce20fde5f0b05966680589a3d028c569780addd4b530382f07"; }; buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate TimeDate gettext makeWrapper DBFile CGISession CGIFormBuilder LocaleGettext - RpcXML XMLSimple PerlMagick YAML YAMLLibYAML ] - ++ stdenv.lib.optionals gitSupport [git] - ++ stdenv.lib.optionals monotoneSupport [monotone]; + RpcXML XMLSimple PerlMagick YAML YAMLLibYAML which HTMLTree AuthenPassphrase + NetOpenIDConsumer LWPxParanoidAgent CryptSSLeay ] + ++ lib.optionals docutilsSupport [python docutils] + ++ lib.optionals gitSupport [git] + ++ lib.optionals monotoneSupport [monotone] + ++ lib.optionals bazaarSupport [bazaar] + ++ lib.optionals cvsSupport [cvs cvsps Filechdir] + ++ lib.optionals subversionSupport [subversion] + ++ lib.optionals mercurialSupport [mercurial]; patchPhase = '' sed -i s@/usr/bin/perl@${perl}/bin/perl@ pm_filter mdwn2man @@ -42,17 +61,31 @@ stdenv.mkDerivation { postInstall = '' for a in "$out/bin/"*; do wrapProgram $a --suffix PERL5LIB : $PERL5LIB --prefix PATH : ${perl}/bin:$out/bin \ - ${lib.optionalString gitSupport - ''--prefix PATH : ${git}/bin \''} - ${lib.optionalString monotoneSupport - ''--prefix PATH : ${monotone}/bin \''} + ${lib.optionalString gitSupport ''--prefix PATH : ${git}/bin \''} + ${lib.optionalString monotoneSupport ''--prefix PATH : ${monotone}/bin \''} + ${lib.optionalString bazaarSupport ''--prefix PATH : ${bazaar}/bin \''} + ${lib.optionalString cvsSupport ''--prefix PATH : ${cvs}/bin \''} + ${lib.optionalString cvsSupport ''--prefix PATH : ${cvsps}/bin \''} + ${lib.optionalString subversionSupport ''--prefix PATH : ${subversion}/bin \''} + ${lib.optionalString mercurialSupport ''--prefix PATH : ${mercurial}/bin \''} ${lib.concatMapStrings (x: "--prefix PATH : ${x}/bin ") extraUtils} done ''; + preCheck = '' + # Git needs some help figuring this out during test suite run. + export EMAIL="nobody@example.org" + ''; + + checkTarget = "test"; + doCheck = true; + meta = { description = "Wiki compiler, storing pages and history in a RCS"; - homepage = http://ikiwiki.info/; + homepage = "http://ikiwiki.info/"; license = "GPLv2+"; + + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.simons ]; }; } diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix index 4358c3fe6e7..cb832ed99f5 100644 --- a/pkgs/applications/misc/lyx/default.nix +++ b/pkgs/applications/misc/lyx/default.nix @@ -1,18 +1,27 @@ -# I haven't put much effort into this expressions .. so some optional depencencies may be missing - Marc { fetchurl, stdenv, texLive, python, makeWrapper, pkgconfig -, libX11, qt +, libX11, qt4, enchant #, mythes, boost }: stdenv.mkDerivation rec { - version = "2.0.3"; + version = "2.0.4"; name = "lyx-${version}"; src = fetchurl { url = "ftp://ftp.lyx.org/pub/lyx/stable/2.0.x/${name}.tar.xz"; - sha256 = "1j2sl22w41h4vrgnxv2n0s7d11k6zchjbggjw3ai9yxcahvrj72f"; + sha256 = "137dzmz1z6aqz9mdj8gmmi0k60s9sfn6gy916j175cwzq6hpncb8"; }; - buildInputs = [texLive qt python makeWrapper pkgconfig ]; + 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 + ]; + + buildInputs = [ + texLive qt4 python makeWrapper pkgconfig + enchant # mythes boost + ]; meta = { description = "WYSIWYM frontend for LaTeX, DocBook, etc."; diff --git a/pkgs/applications/misc/st/default.nix b/pkgs/applications/misc/st/default.nix new file mode 100644 index 00000000000..5ac2ad6b9ad --- /dev/null +++ b/pkgs/applications/misc/st/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, libX11, ncurses}: + +stdenv.mkDerivation rec { + name = "st-0.2.1"; + + src = fetchurl { + url = http://hg.suckless.org/st/archive/0.2.1.tar.gz; + sha256 = "15yqyys69ifjc4vrzvamrg7x0pwa60mnjpi0kap4y9ykhds83xab"; + }; + + buildInputs = [ libX11 ncurses ]; + + installPhase = '' + TERMINFO=$out/share/terminfo make install PREFIX=$out + ''; + + meta = { + homepage = http://st.suckless.org/; + license = "MIT"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/applications/misc/surf/default.nix b/pkgs/applications/misc/surf/default.nix index 3164f0c1a94..61d2e6a65bd 100644 --- a/pkgs/applications/misc/surf/default.nix +++ b/pkgs/applications/misc/surf/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "surf-${version}"; - version="0.4.1"; + version="0.5"; src = fetchurl { url = "http://dl.suckless.org/surf/surf-${version}.tar.gz"; - sha256 = "0im5psjw0r8av3zjyy2wqcl6y5ylwnrab5kfcwc23bsbx2irnw4k"; + sha256 = "19qfkwdk6p5hcwnnplscp1kmypz74mga7x6iqy6w3g18s221f2mx"; }; buildInputs = [ gtk webkit pkgconfig glib libsoup ]; diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index 4c3a02dcecc..fb3d1109e14 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -172,6 +172,7 @@ in stdenv.mkDerivation rec { mkdir -vp "$out/libexec/${packageName}" cp -v "out/${buildType}/"*.pak "$out/libexec/${packageName}/" cp -vR "out/${buildType}/locales" "out/${buildType}/resources" "$out/libexec/${packageName}/" + cp -v out/${buildType}/libffmpegsumo.so "$out/libexec/${packageName}/" cp -v "out/${buildType}/chrome" "$out/libexec/${packageName}/${packageName}" diff --git a/pkgs/applications/networking/browsers/chromium/sources.nix b/pkgs/applications/networking/browsers/chromium/sources.nix index db07bc460c7..740f0c60980 100644 --- a/pkgs/applications/networking/browsers/chromium/sources.nix +++ b/pkgs/applications/networking/browsers/chromium/sources.nix @@ -1,19 +1,19 @@ # This file is autogenerated from update.sh in the same directory. -# VHASH: 5e5af2017fa2e05f11aa741c6f87fff0549b93e3bc2aa40e6cc0a0aff84ba010 +# VHASH: c9500486764a2433d0f059134a981eb9adccd3546a6f779bc0e05cdcb26d2ae6 { dev = { - version = "21.0.1180.15"; - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-21.0.1180.15.tar.bz2"; - sha256 = "0ahsrsyw4928vg1kl3dv44q77ksp85crw6m7fy20nq46qihb0mxa"; + version = "22.0.1221.1"; + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-22.0.1221.1.tar.bz2"; + sha256 = "08cx2im0ng1dg83mk8jlx4in7v8f5vsf9y2ild0i22jb20c7h31s"; }; beta = { - version = "20.0.1132.47"; - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-20.0.1132.47.tar.bz2"; - sha256 = "1rd1lfn9xchf4nrgi46van5aigqxj2n303890sslc4bcj6p8fkm3"; + version = "21.0.1180.57"; + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-21.0.1180.57.tar.bz2"; + sha256 = "0idimvkrhs09x93hl8p7rddyb0ymk9f8i5jm6m3lg6ga959aj6ri"; }; stable = { - version = "20.0.1132.47"; - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-20.0.1132.47.tar.bz2"; - sha256 = "1rd1lfn9xchf4nrgi46van5aigqxj2n303890sslc4bcj6p8fkm3"; + version = "21.0.1180.57"; + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-21.0.1180.57.tar.bz2"; + sha256 = "0idimvkrhs09x93hl8p7rddyb0ymk9f8i5jm6m3lg6ga959aj6ri"; }; } diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix index 86588f2ed97..ff199791bba 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix @@ -7,6 +7,8 @@ with stdenv.lib; let + baseURL = "http://dl.google.com/linux/talkplugin/deb/pool/main/g/google-talkplugin"; + rpathPlugin = makeLibraryPath [ mesa xorg.libXt @@ -39,28 +41,26 @@ let in -stdenv.mkDerivation { - name = "google-talk-plugin-2.9.10.0"; +stdenv.mkDerivation rec { + name = "google-talk-plugin-${version}"; + version = "3.2.4.0"; src = if stdenv.system == "x86_64-linux" then fetchurl { - url = "http://dl.google.com/linux/direct/google-talkplugin_current_x86_64.rpm"; - sha256 = "1lgvv6bkdc5knghyn4gsg5gp7h3qyr4rb978gsi39gkvcazksm0b"; + url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb"; + sha256 = "0hd8iyv092fr4bz760xjawiad581hphddv608d0dvzy2bhnl17g1"; } else if stdenv.system == "i686-linux" then fetchurl { - url = "http://dl.google.com/linux/direct/google-talkplugin_current_i386.rpm"; - sha256 = "0k9j27pklwb3vih2cydz9552p9270p73hdi14f0bmn6afxjxd13m"; + url = "${baseURL}/google-talkplugin_${version}-1_i386.deb"; + sha256 = "13vqs4k16a6bzc5i4zpnakh31nkdqp7m9cv7p16r1sq5smv1331i"; } else throw "Google Talk does not support your platform."; - buildInputs = [ rpm cpio ]; - - unpackPhase = - '' - rpm2cpio $src | cpio -i --make-directories -v - ''; + unpackPhase = '' + ar p "$src" data.tar.gz | tar xz + ''; installPhase = '' diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix index c53a5f34525..8c3cd9f11cd 100644 --- a/pkgs/applications/networking/browsers/opera/default.nix +++ b/pkgs/applications/networking/browsers/opera/default.nix @@ -9,22 +9,22 @@ assert stdenv.isLinux && stdenv.gcc.gcc != null && stdenv.gcc.libc != null; let - mirror = ftp://ftp.ussg.iu.edu/pub/opera; + mirror = http://get.geo.opera.com/pub/opera; in stdenv.mkDerivation rec { - name = "opera-11.64-1403"; + name = "opera-12.00-1467"; src = if stdenv.system == "i686-linux" then fetchurl { - url = "${mirror}/linux/1164/${name}.i386.linux.tar.xz"; - sha256 = "8b7998586b1b3f8f5722beef7ebb621c0f15915c260b096249e9db5973e30d82"; + url = "${mirror}/linux/1200/${name}.i386.linux.tar.xz"; + sha256 = "d5683f5a4cf0cfd9ce715359b77909c7923c85bcec98513907c1844285356fdc"; } else if stdenv.system == "x86_64-linux" then fetchurl { - url = "${mirror}/linux/1164/${name}.x86_64.linux.tar.xz"; - sha256 = "3b2012cbab826a04417deb56b85d8d31f9c17130071304736bcfa572f78b4c69"; + url = "${mirror}/linux/1200/${name}.x86_64.linux.tar.xz"; + sha256 = "7c3dbe122b1fd20123f1b48a420dea080cc24ede4183d47d66b383c2b7ca5051"; } else throw "Opera is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)"; diff --git a/pkgs/applications/networking/browsers/w3m/default.nix b/pkgs/applications/networking/browsers/w3m/default.nix index d5294c961e6..2a05e920d5f 100644 --- a/pkgs/applications/networking/browsers/w3m/default.nix +++ b/pkgs/applications/networking/browsers/w3m/default.nix @@ -27,6 +27,7 @@ stdenv.mkDerivation rec { configureFlags = "--with-ssl=${openssl} --with-gc=${boehmgc}"; preConfigure = '' + substituteInPlace ./configure --replace "/lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib /lib64 /usr/lib64" /no-such-path substituteInPlace ./configure --replace /usr /no-such-path ''; diff --git a/pkgs/applications/networking/esniper/default.nix b/pkgs/applications/networking/esniper/default.nix index dda0755a738..327e4c4a9c5 100644 --- a/pkgs/applications/networking/esniper/default.nix +++ b/pkgs/applications/networking/esniper/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, openssl, curl }: +{ stdenv, fetchurl, openssl, curl, coreutils, gawk, bash, which }: stdenv.mkDerivation { name = "esniper-2.27.0"; @@ -10,8 +10,12 @@ stdenv.mkDerivation { buildInputs = [openssl curl]; + # Add support for CURL_CA_BUNDLE variable. + patches = [ ./find-ca-bundle.patch ]; + postInstall = '' - sed -e "2i export PATH=\"$out/bin:\$PATH\"" <"frontends/snipe" >"$out/bin/snipe" + sed <"frontends/snipe" >"$out/bin/snipe" \ + -e "2i export PATH=\"$out/bin:${coreutils}/bin:${gawk}/bin:${bash}/bin:${which}/bin:\$PATH\"" chmod 555 "$out/bin/snipe" ''; @@ -24,5 +28,3 @@ stdenv.mkDerivation { maintainers = [ stdenv.lib.maintainers.simons ]; }; } - - diff --git a/pkgs/applications/networking/esniper/find-ca-bundle.patch b/pkgs/applications/networking/esniper/find-ca-bundle.patch new file mode 100644 index 00000000000..e4df272a0c9 --- /dev/null +++ b/pkgs/applications/networking/esniper/find-ca-bundle.patch @@ -0,0 +1,26 @@ +diff -ubr '--exclude=*.o' esniper-2-27-0-orig/http.c esniper-2-27-0-patched/http.c +--- esniper-2-27-0-orig/http.c 2012-02-06 22:04:06.000000000 +0100 ++++ esniper-2-27-0-patched/http.c 2012-07-27 10:54:20.893054646 +0200 +@@ -200,6 +200,9 @@ + int + initCurlStuff(void) + { ++ /* Path to OpenSSL bundle file. */ ++ const char *ssl_capath=NULL; ++ + /* list for custom headers */ + struct curl_slist *slist=NULL; + +@@ -241,6 +244,12 @@ + if ((curlrc = curl_easy_setopt(easyhandle, CURLOPT_COOKIEFILE, ""))) + return initCurlStuffFailed(); + ++ /* If the environment variable CURL_CA_BUNDLE is set, pass through its ++ * contents to curl. */ ++ if ((ssl_capath = getenv("CURL_CA_BUNDLE"))) ++ if ((curlrc = curl_easy_setopt(easyhandle, CURLOPT_CAINFO, ssl_capath))) ++ return initCurlStuffFailed(); ++ + slist = curl_slist_append(slist, "Accept: text/*"); + slist = curl_slist_append(slist, "Accept-Language: en"); + slist = curl_slist_append(slist, "Accept-Charset: iso-8859-1,*,utf-8"); diff --git a/pkgs/applications/networking/instant-messengers/vacuum/default.nix b/pkgs/applications/networking/instant-messengers/vacuum/default.nix index bddedce7183..63f18ee7dc4 100644 --- a/pkgs/applications/networking/instant-messengers/vacuum/default.nix +++ b/pkgs/applications/networking/instant-messengers/vacuum/default.nix @@ -12,11 +12,11 @@ let buildInputs = map (n: builtins.getAttr n x) (builtins.attrNames (builtins.removeAttrs x helperArgNames)); sourceInfo = rec { - version="1.1.2"; + version="1.2.0"; baseName="vacuum-im"; name="${baseName}-${version}"; url="http://vacuum-im.googlecode.com/files/vacuum-${version}.tar.xz"; - hash="451dde9b3587503b035fa1ddd2c99f2052a0b17a603491c59e8c47a8bcd4746d"; + hash="55a2c27aaaf79c7a4de127c22d3845ede35970283d35ee57fd5ceca581b085fc"; }; in rec { diff --git a/pkgs/applications/networking/irc/ii/default.nix b/pkgs/applications/networking/irc/ii/default.nix new file mode 100644 index 00000000000..a283258d589 --- /dev/null +++ b/pkgs/applications/networking/irc/ii/default.nix @@ -0,0 +1,20 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation rec { + name = "ii-1.6"; + + src = fetchurl { + url = "http://dl.suckless.org/tools/${name}.tar.gz"; + sha256 = "0afccbcm7i9lfch5mwzs3l1ax79dg3g6rrw0z8rb7d2kn8wsckvr"; + }; + + installPhase = '' + make install PREFIX=$out + ''; + + meta = { + homepage = http://tools.suckless.org/ii/; + license = "MIT"; + description = "Irc it, simple FIFO based irc client"; + }; +} diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix index 0fd521b9cce..a891c145b76 100644 --- a/pkgs/applications/networking/irc/weechat/default.nix +++ b/pkgs/applications/networking/irc/weechat/default.nix @@ -2,12 +2,12 @@ , zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile }: stdenv.mkDerivation rec { - version = "0.3.7"; + version = "0.3.8"; name = "weechat-${version}"; src = fetchurl { url = "http://weechat.org/files/src/${name}.tar.gz"; - sha256 = "1bphyhx5rnirga5l42z4lijw68qx724gffic1z60jdwfxc5dxknl"; + sha256 = "4293eb9d29f11b8ee8c301049d57e535acbea677bc1dc41ab12fe1bb8af0f10e"; }; buildInputs = diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix index 9dd352857fb..266035aa1bd 100644 --- a/pkgs/applications/networking/mailreaders/notmuch/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "notmuch-0.12"; + name = "notmuch-0.13.2"; src = fetchurl { url = "http://notmuchmail.org/releases/${name}.tar.gz"; - sha256 = "1dbbbbba3567df9c67ecc642d1e63269a527952c557f6b0c8bafcd4e37893992"; + sha256 = "75ec5f5d04bb7e3a8cc6224859b691f704a2a35f2f6027ffb674e829268f1d68"; }; buildInputs = [ bash emacs gdb glib gmime gnupg1 pkgconfig talloc xapian ]; diff --git a/pkgs/applications/networking/netperf/default.nix b/pkgs/applications/networking/netperf/default.nix index 7ef6a86c5eb..705f1455c45 100644 --- a/pkgs/applications/networking/netperf/default.nix +++ b/pkgs/applications/networking/netperf/default.nix @@ -1,11 +1,19 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "netperf-2.5.0"; + name = "netperf-2.6.0"; src = fetchurl { url = "ftp://ftp.netperf.org/netperf/${name}.tar.bz2"; - sha256 = "1l06bb99b4wfnmq247b8rvp4kn3w6bh1m46ri4d74z22li7br545"; + sha256 = "cd8dac710d4273d29f70e8dbd09353a6362ac58a11926e0822233c0cb230323a"; + }; + + meta = { + description = "benchmark to measure the performance of many different types of networking"; + homepage = "http://www.netperf.org/netperf/"; + license = "Hewlett-Packard BSD-like license"; + + platforms = stdenv.lib.platforms.linux; + maintainers = []; }; } - diff --git a/pkgs/applications/networking/newsreaders/pan/default.nix b/pkgs/applications/networking/newsreaders/pan/default.nix index ae6e7dd4681..c9965a784e0 100644 --- a/pkgs/applications/networking/newsreaders/pan/default.nix +++ b/pkgs/applications/networking/newsreaders/pan/default.nix @@ -5,14 +5,14 @@ assert spellChecking -> gtkspell != null; -let version = "0.138"; in +let version = "0.139"; in stdenv.mkDerivation { name = "pan-${version}"; src = fetchurl { url = "http://pan.rebelbase.com/download/releases/${version}/source/pan-${version}.tar.bz2"; - sha1 = "8ad70d0b2bfb771eb7af1f973af6520f9998591a"; + sha1 = "01ea0361a6d81489888e6abb075fd552999c3c60"; }; buildInputs = [ pkgconfig gtk perl gmime gettext intltool dbus_glib libnotify ] diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix index 5214c294b82..f2fbf704649 100644 --- a/pkgs/applications/networking/p2p/gnunet/default.nix +++ b/pkgs/applications/networking/p2p/gnunet/default.nix @@ -1,11 +1,8 @@ { stdenv, fetchurl, libextractor, libmicrohttpd, libgcrypt , zlib, gmp, curl, libtool, adns, sqlite, pkgconfig , libxml2, ncurses, gettext, libunistring -, gtkSupport ? false, gtk ? null, libglade ? null , makeWrapper }: -assert gtkSupport -> (gtk != null) && (libglade != null); - stdenv.mkDerivation rec { name = "gnunet-0.9.3"; @@ -18,7 +15,7 @@ stdenv.mkDerivation rec { libextractor libmicrohttpd libgcrypt gmp curl libtool zlib adns sqlite libxml2 ncurses pkgconfig gettext libunistring makeWrapper - ] ++ (if gtkSupport then [ gtk libglade ] else []); + ]; preConfigure = '' # Brute force: since nix-worker chroots don't provide diff --git a/pkgs/applications/networking/sniffers/kismet/default.nix b/pkgs/applications/networking/sniffers/kismet/default.nix index a7831785db8..9e41e8b7aaf 100644 --- a/pkgs/applications/networking/sniffers/kismet/default.nix +++ b/pkgs/applications/networking/sniffers/kismet/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, libpcap, ncurses, expat, pcre}: stdenv.mkDerivation { - name = "kismet-2010-01-r1"; + name = "kismet-2011-03-r2"; src = fetchurl { - url = http://www.kismetwireless.net/code/kismet-2010-01-R1.tar.gz; - sha256 = "106qird64x1v29nz6k5zs9dxxdq6q7fb7d6np0pnwm3dd2p1w7cx"; + url = http://www.kismetwireless.net/code/kismet-2011-03-R2.tar.gz; + sha256 = "0r1admlaiq7k0v13d9ci9i9mf5m25i1r5r18bkawsla9fbxrk83i"; }; buildInputs = [libpcap ncurses expat pcre]; diff --git a/pkgs/applications/networking/sync/unison/default.nix b/pkgs/applications/networking/sync/unison/default.nix index b6906c86afe..ea30903fb38 100644 --- a/pkgs/applications/networking/sync/unison/default.nix +++ b/pkgs/applications/networking/sync/unison/default.nix @@ -1,9 +1,6 @@ {stdenv, fetchurl, ocaml, lablgtk, fontschumachermisc, xset, makeWrapper, ncurses , enableX11 ? true}: -let - nativeCode = if stdenv.isArm then false else true; -in stdenv.mkDerivation (rec { name = "unison-2.40.63"; @@ -19,7 +16,7 @@ stdenv.mkDerivation (rec { '' else ""; makeFlags = "INSTALLDIR=$(out)/bin/" + (if enableX11 then " UISTYLE=gtk2" else "") - + (if ! nativeCode then " NATIVE=false" else ""); + + (if ! ocaml.nativeCompilers then " NATIVE=false" else ""); preInstall = "mkdir -p $out/bin"; @@ -30,7 +27,7 @@ stdenv.mkDerivation (rec { done '' else ""; - dontStrip = if ! nativeCode then true else false; + dontStrip = if ! ocaml.nativeCompilers then true else false; meta = { homepage = http://www.cis.upenn.edu/~bcpierce/unison/; diff --git a/pkgs/applications/networking/yafc/default.nix b/pkgs/applications/networking/yafc/default.nix index a6c3c43417e..9b1c9892cbf 100644 --- a/pkgs/applications/networking/yafc/default.nix +++ b/pkgs/applications/networking/yafc/default.nix @@ -1,21 +1,18 @@ -{stdenv, fetchurl, readline, openssh}: +{stdenv, fetchurl, readline, libssh, intltool}: -stdenv.mkDerivation { - name = "yafc-1.1.1"; +stdenv.mkDerivation rec { + name = "yafc-1.2.0"; src = fetchurl { - url = mirror://sourceforge/yafc/yafc-1.1.1.tar.bz2; - sha256 = "ab72b2ed89fb75dbe8ebd119458cf513392225f367cccfad881e9780aefcd7e6"; + url = "https://github.com/downloads/sebastinas/yafc/${name}.tar.xz"; + sha256 = "0h5cbvvfkigvzfqqzvgqpn8m0ilyng3rgyh85c0mi48klzv8kb58"; }; - buildInputs = [readline openssh]; - - patchPhase = " - sed -e 's@/usr/bin/ssh@${openssh}/bin/ssh@' -i src/main.c - "; + buildInputs = [ readline libssh intltool ]; meta = { description = "ftp/sftp client with readline, autocompletion and bookmarks"; - homepage = http://yafc.sourceforge.net; + homepage = http://www.yafc-ftp.com; + maintainers = [ stdenv.lib.maintainers.page ]; license = "GPLv2+"; }; } diff --git a/pkgs/applications/office/scribus/default.nix b/pkgs/applications/office/scribus/default.nix index 3c72db17e1f..a4f5821c54c 100644 --- a/pkgs/applications/office/scribus/default.nix +++ b/pkgs/applications/office/scribus/default.nix @@ -1,21 +1,24 @@ { stdenv, fetchurl, pkgconfig, freetype, lcms, libtiff, libxml2 -, libart_lgpl, qt, python, cups, fontconfig, libjpeg -, zlib, libpng, xorg, cairo, podofo, aspell, boost, cmake }: -stdenv.mkDerivation { - name = "scribus-1.4.0rc6"; +, libart_lgpl, qt4, python, cups, fontconfig, libjpeg +, zlib, libpng, xorg, cairo, podofo, aspell, boostHeaders, cmake }: + +stdenv.mkDerivation rec { + name = "scribus-1.4.1"; src = fetchurl { - url = mirror://sourceforge/scribus/scribus/scribus-1.4.0.rc6.tar.bz2; - sha256 = "1rrnzxjzhqj4lgyfswly501xlyvm4hsnnq7zw008v0cnkx31icli"; + url = "mirror://sourceforge/scribus/scribus/${name}.tar.xz"; + sha256 = "1n67z2bk5ca2sxvv43jvj7yygfr4d2x5yc69zk70v38prm0gqlv8"; }; enableParallelBuilding = true; - buildInputs = - [ pkgconfig cmake freetype lcms libtiff libxml2 libart_lgpl qt + buildInputs = with xorg; + [ pkgconfig cmake freetype lcms libtiff libxml2 libart_lgpl qt4 python cups fontconfig - xorg.libXaw xorg.libXext xorg.libX11 xorg.libXtst xorg.libXi xorg.libXinerama libjpeg zlib libpng podofo aspell cairo + boostHeaders # for internal 2geom library + libXaw libXext libX11 libXtst libXi libXinerama + libpthreadstubs libXau libXdmcp ]; meta = { diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix index dcf6ccd7d9b..b651370db21 100644 --- a/pkgs/applications/science/astronomy/stellarium/default.nix +++ b/pkgs/applications/science/astronomy/stellarium/default.nix @@ -1,14 +1,14 @@ {stdenv, fetchurl, cmake, freetype, libpng, mesa, gettext, openssl, qt4, perl, libiconv}: let - name = "stellarium-0.11.2"; + name = "stellarium-0.11.3"; in stdenv.mkDerivation { inherit name; src = fetchurl { url = "mirror://sourceforge/stellarium/${name}.tar.gz"; - sha256 = "1qk26s0gal2pqr8zy95270fiszxsc6znzzrj5jap91zzibn17945"; + sha256 = "f7c7eeaefcdc54c0fb8766f09e0c838acb742719adcdf12a6c1e12d55ecd6ac3"; }; buildInputs = [ cmake freetype libpng mesa gettext openssl qt4 perl libiconv ]; diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix index 697d0e925cd..bb4b969f062 100644 --- a/pkgs/applications/science/electronics/gtkwave/default.nix +++ b/pkgs/applications/science/electronics/gtkwave/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, gtk, gperf, pkgconfig, bzip2, tcl, tk, judy, xz}: stdenv.mkDerivation rec { - name = "gtkwave-3.3.28"; + name = "gtkwave-3.3.39"; src = fetchurl { url = "mirror://sourceforge/gtkwave/${name}.tar.gz"; - sha256 = "0y3dmx39xwc3m23fwjkxvp9gqxpckk8s5814nhs8fnxa384z5cz0"; + sha256 = "1va506anlbpbha7l6h94s44xjdy6ch22iv629swn4bh5m3qi33bg"; }; buildInputs = [ gtk gperf pkgconfig bzip2 tcl tk judy xz ]; diff --git a/pkgs/applications/version-management/bazaar/default.nix b/pkgs/applications/version-management/bazaar/default.nix index 462aede3b1c..856320f0168 100644 --- a/pkgs/applications/version-management/bazaar/default.nix +++ b/pkgs/applications/version-management/bazaar/default.nix @@ -23,5 +23,6 @@ stdenv.mkDerivation rec { meta = { homepage = http://bazaar-vcs.org/; description = "A distributed version control system that Just Works"; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index 4ed5f78d6e0..066b5a50913 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -9,10 +9,10 @@ let - version = "1.7.11"; - + version = "1.7.11.4"; + svn = subversionClient.override { perlBindings = true; }; - + in stdenv.mkDerivation { @@ -20,7 +20,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://git-core.googlecode.com/files/git-${version}.tar.gz"; - sha256 = "0qgi1cj19dnn0sl3n38dbz68nllvyppdvs2jb77ksiar4jb9lsc3"; + sha256 = "16a1gm256w82j9ardzyfyqi0f35l3x92xsqz8ghz1pnja8jns7g9"; }; patches = [ ./docbook2texi.patch ]; @@ -100,7 +100,7 @@ stdenv.mkDerivation { for prog in bin/gitk libexec/git-core/{git-gui,git-citool,git-gui--askpass}; do sed -i -e "s|exec 'wish'|exec '${tk}/bin/wish'|g" \ -e "s|exec wish|exec '${tk}/bin/wish'|g" \ - "$out/$prog" + "$out/$prog" done '' else '' # Don't wrap Tcl/Tk, replace them by notification scripts diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix index 24e1b95bf0c..486bebc2531 100644 --- a/pkgs/applications/version-management/mercurial/default.nix +++ b/pkgs/applications/version-management/mercurial/default.nix @@ -2,14 +2,14 @@ , guiSupport ? false, tk ? null, curses }: let - name = "mercurial-2.1.2"; + name = "mercurial-2.2.3"; in stdenv.mkDerivation { inherit name; src = fetchurl { url = "http://mercurial.selenic.com/release/${name}.tar.gz"; - sha256 = "11lqjnbal667rkbafby9qvb7hyxfycyc7h3hw04p4s4mw64lhkci"; + sha256 = "0yv7kn96270fixigry910c1i3zzivimh1xjxywqjn9dshn2y6qbw"; }; inherit python; # pass it so that the same version can be used in hg2git @@ -43,7 +43,7 @@ stdenv.mkDerivation { # copy hgweb.cgi to allow use in apache mkdir -p $out/share/cgi-bin - cp -v hgweb.cgi $out/share/cgi-bin + cp -v hgweb.cgi contrib/hgweb.wsgi $out/share/cgi-bin chmod u+x $out/share/cgi-bin/hgweb.cgi ''; diff --git a/pkgs/applications/version-management/veracity/default.nix b/pkgs/applications/version-management/veracity/default.nix index 91650deb077..6bf452c1821 100644 --- a/pkgs/applications/version-management/veracity/default.nix +++ b/pkgs/applications/version-management/veracity/default.nix @@ -63,7 +63,7 @@ rec { export SGNEEDS_DIR="$out"/sgneeds/ export VVTHIRDPARTY="$out"/sgneeds/ - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$out/sgneeds/include" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I"$out/sgneeds/include" -Wno-error" '') ["minInit" "defEnsureDir"]; prepareMakefiles = a.fullDepEntry '' diff --git a/pkgs/applications/version-management/veracity/src-for-default.nix b/pkgs/applications/version-management/veracity/src-for-default.nix index b074c3ec507..395dda240b8 100644 --- a/pkgs/applications/version-management/veracity/src-for-default.nix +++ b/pkgs/applications/version-management/veracity/src-for-default.nix @@ -1,9 +1,9 @@ rec { - version="1.5.0.10647"; - name="veracity-1.5.0.10647"; - hash="1b10npyxxg9592wigfpv66h17bzbsg2hqcfm7imyn941a34qrkd3"; - url="http://download.sourcegear.com/Veracity/nightly/1.5.0.10647/veracity-source-${version}.tar.gz"; - advertisedUrl="http://download.sourcegear.com/Veracity/nightly/1.5.0.10647/veracity-source-1.5.0.10647.tar.gz"; + version="2.0.0.10822"; + name="veracity-2.0.0.10822"; + hash="0zgvrsjxfd1p9pflx1kxggmk953jhjk02h1hili9h1vdasvn2188"; + url="http://download.sourcegear.com/Veracity/release/2.0.0.10822/veracity-source-${version}.tar.gz"; + advertisedUrl="http://download.sourcegear.com/Veracity/release/2.0.0.10822/veracity-source-2.0.0.10822.tar.gz"; } diff --git a/pkgs/applications/video/MPlayer/default.nix b/pkgs/applications/video/MPlayer/default.nix index 3c1cd2ff447..566089201cd 100644 --- a/pkgs/applications/video/MPlayer/default.nix +++ b/pkgs/applications/video/MPlayer/default.nix @@ -97,7 +97,7 @@ stdenv.mkDerivation rec { buildInputs = [ freetype zlib pkgconfig ] - ++ stdenv.lib.optional x11Support [ libX11 libXext mesa ] + ++ stdenv.lib.optionals x11Support [ libX11 libXext mesa ] ++ stdenv.lib.optional alsaSupport alsaLib ++ stdenv.lib.optional xvSupport libXv ++ stdenv.lib.optional theoraSupport libtheora diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix index b33bcddbffb..65357acf00f 100644 --- a/pkgs/applications/video/vlc/default.nix +++ b/pkgs/applications/video/vlc/default.nix @@ -10,11 +10,11 @@ stdenv.mkDerivation rec { name = "vlc-${version}"; - version = "2.0.1"; + version = "2.0.3"; src = fetchurl { url = "http://download.videolan.org/pub/videolan/vlc/${version}/${name}.tar.xz"; - sha256 = "7f485725c17487a77d70844cbd9acf528360d65cd6ff79d206657920f4fcbf4b"; + sha256 = "1lnjfpizgp8slj6i4fgk5wld6nfw08wfhkb1i1dvzbhmfigq1agv"; }; buildInputs = diff --git a/pkgs/applications/virtualization/virt-manager/custom_runner.py b/pkgs/applications/virtualization/virt-manager/custom_runner.py new file mode 100644 index 00000000000..5322c20dd32 --- /dev/null +++ b/pkgs/applications/virtualization/virt-manager/custom_runner.py @@ -0,0 +1,13 @@ +#!/usr/bin/python -t +# this script was written to use /etc/nixos/nixpkgs/pkgs/development/python-modules/generic/wrap.sh +# which already automates python executable wrapping by extending the PATH/pythonPath + +# from http://docs.python.org/library/subprocess.html +# Warning Invoking the system shell with shell=True can be a security hazard if combined with untrusted input. See the warning under Frequently Used Arguments for details. + +from subprocess import Popen, PIPE, STDOUT + +cmd = 'PYTHON_EXECUTABLE_PATH -t THE_CUSTOM_PATH/share/virt-manager/THE_CUSTOM_PROGRAM.py' +p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True) +output = p.stdout.read() +print output diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix index c41db3f58c5..79ea777eead 100644 --- a/pkgs/applications/virtualization/virt-manager/default.nix +++ b/pkgs/applications/virtualization/virt-manager/default.nix @@ -1,70 +1,85 @@ -x@{builderDefsPackage - , gnome, gtk, glib, libxml2, libvirt, gtkvnc, cyrus_sasl, libtasn1, makeWrapper - , intltool, python, pygtk, libxml2Python - # virtinst is required, but it breaks when building - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - ["gnome"]; +{ stdenv, fetchurl, pythonPackages, intltool, libvirt, libxml2Python, curl, python, makeWrapper, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc}: - buildInputs = (map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames))) - ++ [gnome.libglade intltool python libvirt]; - sourceInfo = rec { - baseName="virt-manager"; +with stdenv.lib; - version = "0.9.1"; - name = "virt-manager-${version}"; +let version = "0.9.1"; in + +stdenv.mkDerivation rec { + name = "virt-manager-${version}"; + + src = fetchurl { url = "http://virt-manager.et.redhat.com/download/sources/virt-manager/virt-manager-${version}.tar.gz"; - hash = "15e064167ba5ff84ce6fc8790081d61890430f2967f89886a84095a23e40094a"; - }; -in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; + sha256 = "15e064167ba5ff84ce6fc8790081d61890430f2967f89886a84095a23e40094a"; }; - patchPhase = a.fullDepEntry '' - substituteInPlace "src/virt-manager.in" --replace "exec /usr/bin/python" "exec ${python}/bin/python" - sed -e '/import libxml2/i import sys\ - sys.path.append("${libxml2Python}/lib/${python.libPrefix}/site-packages")' \ - -i src/virtManager/util.py - sed -e '/import libxml2/i import sys\ - sys.path.append("${libxml2Python}/lib/${python.libPrefix}/site-packages")' \ - -i src/virtManager/libvirtobject.py - '' ["minInit"]; + pythonPath = with pythonPackages; + [ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes + paste_deploy m2crypto ipy boto_1_9 twisted sqlalchemy_migrate + distutils_extra simplejson readline glance cheetah lockfile httplib2 + # !!! should libvirt be a build-time dependency? Note that + # libxml2Python is a dependency of libvirt.py. + libvirt libxml2Python urlgrabber virtinst pyGtkGlade pythonDBus gnome_python gtkvnc + ]; - inherit (sourceInfo) name version; - inherit buildInputs; + buildInputs = + [ pythonPackages.python + pythonPackages.wrapPython + pythonPackages.mox + pythonPackages.urlgrabber + intltool + pyGtkGlade + pythonDBus + gnome_python + gtkvnc + ] ++ pythonPath; - /* doConfigure should be removed if not needed */ - phaseNames = [ "doUnpack" "patchPhase" "doConfigure" "doMakeInstall" "installPhase" ]; + buildPhase = "make"; + + buildNativeInputs = [ makeWrapper pythonPackages.wrapPython ]; - installPhase = a.fullDepEntry '' - wrapProgram $out/bin/virt-manager --set PYTHONPATH $PYTHONPATH - '' ["minInit"]; + # patch the runner script in order to make wrapPythonPrograms work and run the program using a syscall + # example code: /etc/nixos/nixpkgs/pkgs/development/interpreters/spidermonkey/1.8.0-rc1.nix + customRunner = ./custom_runner.py; - #NIX_CFLAGS_COMPILE = "-fno-stack-protector"; + # TODO + # virt-manager -> import gtk.glade -> No module named glade --> fixed by removing 'pygtk' and by only using pyGtkGlade + # -> import gconf -> ImportError: No module named gconf + # -> pfad um gtk-2.0 erweitern in virt-manger runner -> /nix/store/hnyxc9i4yz2mc42n44ms13mn8n486s5h-gnome-python-2.28.1/lib/python2.7/site-packages/gtk-2.0 + # -> Error starting Virtual Machine Manager: Failed to contact configuration server; the most common cause is a missing or misconfigured D-Bus session bus daemon. See http://projects.gnome.org/gconf/ for information. (Details - 1: GetIOR failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.GConf was not provided by any .service files) + +#Traceback (most recent call last): +# File "/nix/store/y9rcdiv6686sqcv4r39p575s37jzc2cz-virt-manager-0.9.1/share/virt-manager/virt-manager.py", line 383, in +# main() +# File "/nix/store/y9rcdiv6686sqcv4r39p575s37jzc2cz-virt-manager-0.9.1/share/virt-manager/virt-manager.py", line 315, in main +# config = virtManager.config.vmmConfig(appname, appversion, glade_dir) +# File "/nix/store/y9rcdiv6686sqcv4r39p575s37jzc2cz-virt-manager-0.9.1/share/virt-manager/virtManager/config.py", line 98, in __init__ +# self.conf.add_dir(self.conf_dir, gconf.CLIENT_PRELOAD_NONE) +#GError: Failed to contact configuration server; the most common cause is a missing or misconfigured D-Bus session bus daemon. See http://projects.gnome.org/gconf/ for information. (Details - 1: GetIOR failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.GConf was not provided by any .service files) +# -> fixed by http://nixos.org/wiki/Solve_GConf_errors_when_running_GNOME_applications & a restart + # virt-manager-tui -> ImportError: No module named newt_syrup.dialogscreen + + patchPhase = '' + cat ${customRunner} > src/virt-manager.in + substituteInPlace "src/virt-manager.in" --replace "THE_CUSTOM_PATH" "$out" + substituteInPlace "src/virt-manager.in" --replace "THE_CUSTOM_PROGRAM" "virt-manager" + substituteInPlace "src/virt-manager.in" --replace "PYTHON_EXECUTABLE_PATH" "${python}/bin/python" + + cat ${customRunner} > src/virt-manager-tui.in + substituteInPlace "src/virt-manager-tui.in" --replace "THE_CUSTOM_PATH" "$out" + substituteInPlace "src/virt-manager-tui.in" --replace "THE_CUSTOM_PROGRAM" "virt-manager-tui" + substituteInPlace "src/virt-manager-tui.in" --replace "PYTHON_EXECUTABLE_PATH" "${python}/bin/python" + ''; + + # /etc/nixos/nixpkgs/pkgs/development/python-modules/generic/wrap.sh + installPhase = '' + make install + wrapPythonPrograms + ''; meta = { homepage = http://virt-manager.org; description = "The 'Virtual Machine Manager' application (virt-manager for short package name) is a desktop user interface for managing virtual machines."; - - maintainers = with a.lib.maintainers; - [ - qknight - ]; - platforms = with a.lib.platforms; - linux; - license = a.lib.licenses.gpl2; + license = "GPLv2"; + maintainers = with stdenv.lib.maintainers; [qknight]; }; - passthru = { - updateInfo = { - downloadPage = "http://virt-manager.org/download.html"; - }; - }; -}) x - +} diff --git a/pkgs/applications/virtualization/virtinst/default.nix b/pkgs/applications/virtualization/virtinst/default.nix index 0c574db2391..2bb2adaa00a 100644 --- a/pkgs/applications/virtualization/virtinst/default.nix +++ b/pkgs/applications/virtualization/virtinst/default.nix @@ -30,19 +30,11 @@ stdenv.mkDerivation rec { buildPhase = "python setup.py build"; - PYTHON_EGG_CACHE = "`pwd`/.egg-cache"; - -# substituteInPlace nova/api/ec2/cloud.py \ -# --replace 'sh genrootca.sh' $out/libexec/nova/genrootca.sh -# ''; - installPhase = '' python setup.py install --prefix="$out"; ''; - #checkPhase = "python setup.py test"; - meta = { homepage = http://virt-manager.org; license = "GPLv2+"; diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix index ec77ca91910..5b207e2e799 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix @@ -17,16 +17,16 @@ stdenv.mkDerivation { cp -r install/* $out ''; - + buildCommand = '' ${if stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" then '' isoinfo -J -i $src -x /VBoxLinuxAdditions.run > ./VBoxLinuxAdditions.run chmod 755 ./VBoxLinuxAdditions.run - ./VBoxLinuxAdditions.run --noexec --keep + ./VBoxLinuxAdditions.run --noexec --keep '' else throw ("Architecture: "+stdenv.system+" not supported for VirtualBox guest additions") } - + # Unpack files cd install ${if stdenv.system == "i686-linux" then '' @@ -38,31 +38,31 @@ stdenv.mkDerivation { else throw ("Architecture: "+stdenv.system+" not supported for VirtualBox guest additions") } - - # Build kernel modules - cd src + + # Build kernel modules + cd src for i in * do - cd $i - find . -type f | xargs sed 's/depmod -a/true/' -i - make - cd .. + cd $i + find . -type f | xargs sed 's/depmod -a/true/' -i + make + cd .. done cd .. - + # Change the interpreter for various binaries for i in sbin/VBoxService bin/{VBoxClient,VBoxControl} do ${if stdenv.system == "i686-linux" then '' patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $i - '' - else if stdenv.system == "x86_64-linux" then '' - patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $i - '' - else throw ("Architecture: "+stdenv.system+" not supported for VirtualBox guest additions") - } + '' + else if stdenv.system == "x86_64-linux" then '' + patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $i + '' + else throw ("Architecture: "+stdenv.system+" not supported for VirtualBox guest additions") + } done # Change rpath for various binaries and libraries @@ -72,11 +72,11 @@ stdenv.mkDerivation { do patchelf --set-rpath $out/lib $i done - + # Remove references to /usr from various scripts and files sed -i -e "s|/usr/bin|$out/bin|" share/VBoxGuestAdditions/vboxclient.desktop sed -i -e "s|/usr/bin|$out/bin|" bin/VBoxClient-all - + # Install binaries mkdir -p $out/sbin install -m 755 sbin/VBoxService $out/sbin @@ -94,7 +94,7 @@ stdenv.mkDerivation { cp -v lib/VBoxOGL*.so $out/lib mkdir -p $out/lib/dri ln -s $out/lib/VBoxOGL.so $out/lib/dri/vboxvideo_dri.so - + # Install desktop file mkdir -p $out/share/autostart cp -v share/VBoxGuestAdditions/vboxclient.desktop $out/share/autostart @@ -103,23 +103,23 @@ stdenv.mkDerivation { mkdir -p $out/lib/xorg/modules/{drivers,input} install -m 644 lib/VBoxGuestAdditions/vboxvideo_drv_19.so $out/lib/xorg/modules/drivers/vboxvideo_drv.so # There doesn't appear to be a vboxmouse driver for Xorg 1.9. Was there ever? -# install -m 644 lib/VBoxGuestAdditions/vboxmouse_drv_19.so $out/lib/xorg/modules/input/vboxmouse_drv.so + #install -m 644 lib/VBoxGuestAdditions/vboxmouse_drv_19.so $out/lib/xorg/modules/input/vboxmouse_drv.so # Install kernel modules cd src - + for i in * do cd $i - kernelVersion=$(cd ${kernel}/lib/modules; ls) - export MODULE_DIR=$out/lib/modules/$kernelVersion/misc - find . -type f | xargs sed -i -e "s|-o root||g" \ - -e "s|-g root||g" - make install - cd .. - done - ''; - + kernelVersion=$(cd ${kernel}/lib/modules; ls) + export MODULE_DIR=$out/lib/modules/$kernelVersion/misc + find . -type f | xargs sed -i -e "s|-o root||g" \ + -e "s|-g root||g" + make install + cd .. + done + ''; # */ + meta = { description = "Guest additions for VirtualBox"; longDescriptions = '' @@ -129,5 +129,6 @@ stdenv.mkDerivation { ''; license = "GPL"; maintainers = [ lib.maintainers.sander ]; + platforms = lib.platforms.linux; }; } diff --git a/pkgs/applications/virtualization/xen/default.nix b/pkgs/applications/virtualization/xen/default.nix index ce799242e12..d898daad2a7 100644 --- a/pkgs/applications/virtualization/xen/default.nix +++ b/pkgs/applications/virtualization/xen/default.nix @@ -6,7 +6,7 @@ with stdenv.lib; let - version = "4.0.3"; + version = "4.1.2"; libDir = if stdenv.is64bit then "lib64" else "lib"; @@ -30,23 +30,24 @@ let } ]; -in + ipxeSrc = + { url = http://xenbits.xensource.com/xen-extfiles/ipxe-git-v1.0.0.tar.gz; + sha256 = "d3128bfda9a1542049c278755f85bbcbb8441da7bfd702d511ce237fcf86a723"; + }; +in stdenv.mkDerivation { name = "xen-${version}"; src = fetchurl { url = "http://bits.xensource.com/oss-xen/release/${version}/xen-${version}.tar.gz"; - sha256 = "0p4i7mm8cdsr8i9z3dij6nriyvz6la2rhm7jkyk2n8h62nnxi1b5"; + sha256 = "7d9c93057cf480d3f1efa792b19285a84fa3c06060ea5c5c453be00887389b0d"; }; patches = [ # Xen looks for headers in /usr/include and for libraries using # ldconfig. Don't do that. ./has-header.patch - - # GCC 4.5 compatibility. - ./gcc-4.5.patch ]; buildInputs = @@ -102,12 +103,18 @@ stdenv.mkDerivation { --replace 'XENDOM_CONFIG=/etc/sysconfig/xendomains' "" \ --replace /bin/ls ls + grep -rl /etc/xen * | xargs sed -i 's|/etc/xen|$out/etc/xen|g' + # Xen's stubdoms need various sources that it usually fetches at # build time using wget. We can't have that. ${flip concatMapStrings stubdomSrcs (x: let src = fetchurl x; in '' cp ${src} stubdom/${src.name} '')} + ${let src = fetchurl ipxeSrc; in '' + cp ${src} tools/firmware/etherboot/ipxe.tar.gz + ''} + # Hack to get `gcc -m32' to work without having 32-bit Glibc headers. mkdir -p tools/include/gnu touch tools/include/gnu/stubs-32.h diff --git a/pkgs/applications/virtualization/xen/gcc-4.5.patch b/pkgs/applications/virtualization/xen/gcc-4.5.patch deleted file mode 100644 index a8412d69fd3..00000000000 --- a/pkgs/applications/virtualization/xen/gcc-4.5.patch +++ /dev/null @@ -1,39 +0,0 @@ -http://lists.xensource.com/archives/html/xen-devel/2010-07/msg01276.html - -diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/arch/x86/mm.c xen-4.0.1//extras/mini-os/arch/x86/mm.c ---- xen-4.0.1-orig//extras/mini-os/arch/x86/mm.c 2010-08-25 12:22:07.000000000 +0200 -+++ xen-4.0.1//extras/mini-os/arch/x86/mm.c 2010-12-22 20:10:05.000000000 +0100 -@@ -281,7 +281,7 @@ - /* - * Mark portion of the address space read only. - */ --extern void shared_info; -+extern char shared_info[PAGE_SIZE]; - static void set_readonly(void *text, void *etext) - { - unsigned long start_address = -diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/minios.mk xen-4.0.1//extras/mini-os/minios.mk ---- xen-4.0.1-orig//extras/mini-os/minios.mk 2010-08-25 12:22:07.000000000 +0200 -+++ xen-4.0.1//extras/mini-os/minios.mk 2010-12-22 20:03:11.000000000 +0100 -@@ -10,6 +10,7 @@ - DEF_CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,) - DEF_CFLAGS += $(call cc-option,$(CC),-fgnu89-inline) - DEF_CFLAGS += -Wstrict-prototypes -Wnested-externs -Wpointer-arith -Winline -+DEF_CFLAGS += -Wno-uninitialized - DEF_CPPFLAGS += -D__XEN_INTERFACE_VERSION__=$(XEN_INTERFACE_VERSION) - - DEF_ASFLAGS += -D__ASSEMBLY__ -diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/netfront.c xen-4.0.1//extras/mini-os/netfront.c ---- xen-4.0.1-orig//extras/mini-os/netfront.c 2010-08-25 12:22:07.000000000 +0200 -+++ xen-4.0.1//extras/mini-os/netfront.c 2010-12-22 19:56:59.000000000 +0100 -@@ -25,8 +25,8 @@ - - - --#define NET_TX_RING_SIZE __RING_SIZE((struct netif_tx_sring *)0, PAGE_SIZE) --#define NET_RX_RING_SIZE __RING_SIZE((struct netif_rx_sring *)0, PAGE_SIZE) -+#define NET_TX_RING_SIZE __CONST_RING_SIZE(netif_tx, PAGE_SIZE) -+#define NET_RX_RING_SIZE __CONST_RING_SIZE(netif_rx, PAGE_SIZE) - #define GRANT_INVALID_REF 0 - - diff --git a/pkgs/applications/window-managers/awesome/cmake284.patch b/pkgs/applications/window-managers/awesome/cmake284.patch deleted file mode 100644 index 4af70227805..00000000000 --- a/pkgs/applications/window-managers/awesome/cmake284.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 1aedd853fcaeeafadd24512f84e6e269f5db0b4e Mon Sep 17 00:00:00 2001 -From: Thomas Moschny -Date: Mon, 21 Feb 2011 17:58:04 +0100 -Subject: [PATCH] Normalize icon path names (fixes #869). - -The elements in ${icon_sources}, as returned by file(GLOB ...) contain -double slashes, could be a bug in cmake. This causes building with -cmake 2.8.4 to fail, due to dependency problems lateron. - -This patch works around the issue by normalizing all path names in -${icon_sources} while appending them to ${ALL_ICONS}, thereby removing -the double slashes. ---- - CMakeLists.txt | 3 ++- - 1 files changed, 2 insertions(+), 1 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 64be9b9..472bec2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -244,14 +244,15 @@ endif() - - # {{{ Theme icons - file(GLOB icon_sources RELATIVE ${SOURCE_DIR} ${SOURCE_DIR}/themes/*/titlebar/*.png) --set(ALL_ICONS ${icon_sources}) - - foreach(icon ${icon_sources}) - # Copy all icons to the build dir to simplify the following code. - # Source paths are interpreted relative to ${SOURCE_DIR}, target paths - # relative to ${BUILD_DIR}. - get_filename_component(icon_path ${icon} PATH) -+ get_filename_component(icon_name ${icon} NAME) - file(COPY ${icon} DESTINATION ${icon_path}) -+ set(ALL_ICONS ${ALL_ICONS} "${icon_path}/${icon_name}") - endforeach() - - macro(a_icon_convert match replacement input) --- -1.7.3.4 - diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix index 5110e42fb18..5e24a42d3a7 100644 --- a/pkgs/applications/window-managers/awesome/default.nix +++ b/pkgs/applications/window-managers/awesome/default.nix @@ -6,7 +6,7 @@ , docbook_xml_dtd_45, libxslt, coreutils}: let - version = "3.4.11"; + version = "3.4.13"; in stdenv.mkDerivation rec { @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://awesome.naquadah.org/download/awesome-${version}.tar.xz"; - sha256 = "576b4f6d2c3f56dfbe52ad92f2eecece111f0f05816e32126cd03d4b4387761d"; + sha256 = "0jhsgb8wdzpfmdyl9fxp2w6app7l6zl8b513z3ff513nvdlxj5hr"; }; buildInputs = [ cmake gperf imagemagick pkgconfig lua glib cairo pango @@ -36,19 +36,9 @@ stdenv.mkDerivation rec { # asciidoc: FAILED: : line 3: section title expected # make[2]: *** [manpages/ru/man1/awesome.1.xml] Error 1 substituteInPlace CMakeLists.txt \ - --replace "set(AWE_MAN_LANGS es fr de ru)" \ - "set(AWE_MAN_LANGS es fr de)" + --replace "set(AWE_MAN_LANGS it es fr de ru)" \ + "set(AWE_MAN_LANGS it es fr de)" ''; - - # XXX: maybe not needed anymore - # Somehow libev does not get into the rpath, although it should. - # Something may be wrong in the gcc wrapper. - preBuild = '' - export NIX_LDFLAGS_BEFORE="-lev"; - ''; - - # Cmake fails strangely at finding lua. Looks to me like a cmake 2.8 error. - cmakeFlags = [ "-DLUA_LIBRARIES=${lua}/lib/liblua.a" ]; meta = { homepage = http://awesome.naquadah.org/; diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix index 04e50f80827..14fd6ce4193 100644 --- a/pkgs/applications/window-managers/i3/default.nix +++ b/pkgs/applications/window-managers/i3/default.nix @@ -13,18 +13,13 @@ stdenv.mkDerivation rec { buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutil bison xcbutilwm libstartup_notification libX11 pcre libev yajl flex libXcursor perl ]; - prePatch = '' - sed s,/usr/bin/env,${coreutils}/bin/env, -i generate-command-parser.pl - sed s,/usr/bin/env,${coreutils}/bin/env, -i i3-migrate-config-to-v4 - sed s,/usr/bin/env,${coreutils}/bin/env, -i i3-wsbar - ''; + patchPhase = "patchShebangs ."; - makeFlags = "all"; - installFlags = "PREFIX=\${out}"; + configurePhase = "makeFlags=PREFIX=$out"; meta = { description = "i3 is a tiling window manager"; - homepage = http://i3wm.org; + homepage = "http://i3wm.org"; maintainers = [ stdenv.lib.maintainers.garbas ]; license = stdenv.lib.licenses.bsd3; }; diff --git a/pkgs/applications/window-managers/trayer/default.nix b/pkgs/applications/window-managers/trayer/default.nix index ce66f7d9bcc..b8ecf81f7fc 100644 --- a/pkgs/applications/window-managers/trayer/default.nix +++ b/pkgs/applications/window-managers/trayer/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, pkgconfig, gdk_pixbuf, gtk, libXmu }: stdenv.mkDerivation rec { - name = "trayer-1.1.3"; + name = "trayer-1.1.5"; buildInputs = [ pkgconfig gdk_pixbuf gtk libXmu ]; src = fetchurl { url = "https://github.com/sargon/trayer-srg/tarball/${name}"; name = "${name}.tar.gz"; - sha256 = "03be5ea47278ecdb6ffb1d3b5115a855a6eccd6aa6702b84e89ee047ddd76558"; + sha256 = "98804500188c0bb99c7389ebea4b2e4dfffa2f3d06dc97e633b4934cf7c29757"; }; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/build-support/buildenv/builder.pl b/pkgs/build-support/buildenv/builder.pl index 71502c9f668..08331b178f4 100755 --- a/pkgs/build-support/buildenv/builder.pl +++ b/pkgs/build-support/buildenv/builder.pl @@ -66,7 +66,7 @@ sub findFiles { unless (-d $target && ($oldTarget eq "" || -d $oldTarget)) { if ($ignoreCollisions) { - warn "collision between `$target' and `$oldTarget'"; + warn "collision between `$target' and `$oldTarget'" if $ignoreCollisions == 1; return; } else { die "collision between `$target' and `$oldTarget'"; @@ -122,7 +122,7 @@ while (scalar(keys %postponed) > 0) { my @pkgDirs = keys %postponed; %postponed = (); foreach my $pkgDir (sort @pkgDirs) { - addPkg($pkgDir, 1); + addPkg($pkgDir, 2); } } diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix index ec3d45e652e..cc59dd7fab1 100644 --- a/pkgs/build-support/fetchurl/default.nix +++ b/pkgs/build-support/fetchurl/default.nix @@ -22,6 +22,21 @@ let then builtins.attrNames mirrors else [] /* backwards compatibility */; + impureEnvVars = [ + # We borrow these environment variables from the caller to allow + # easy proxy configuration. This is impure, but a fixed-output + # derivation like fetchurl is allowed to do so since its result is + # by definition pure. + "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy" + + # This variable allows the user to pass additional options to curl + "NIX_CURL_FLAGS" + + # This variable allows the user to override hashedMirrors from the + # command-line. + "NIX_HASHED_MIRRORS" + ] ++ (map (site: "NIX_MIRRORS_${site}") sites); + in { # URL to fetch. @@ -83,23 +98,8 @@ stdenv.mkDerivation { if sha256 != "" then "sha256" else if sha1 != "" then "sha1" else "md5"; outputHash = if outputHash != "" then outputHash else if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5; - - impureEnvVars = [ - # We borrow these environment variables from the caller to allow - # easy proxy configuration. This is impure, but a fixed-output - # derivation like fetchurl is allowed to do so since its result is - # by definition pure. - "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy" - # This variable allows the user to pass additional options to curl - "NIX_CURL_FLAGS" - - # This variable allows the user to override hashedMirrors from the - # command-line. - "NIX_HASHED_MIRRORS" - ] ++ (map (site: "NIX_MIRRORS_${site}") sites); - - inherit showURLs mirrorsFile; + inherit showURLs mirrorsFile impureEnvVars; # Doing the download on a remote machine just duplicates network # traffic, so don't do that. diff --git a/pkgs/build-support/gcc-wrapper/buildergo.sh b/pkgs/build-support/gcc-wrapper/buildergo.sh new file mode 100644 index 00000000000..cb6bfd7f051 --- /dev/null +++ b/pkgs/build-support/gcc-wrapper/buildergo.sh @@ -0,0 +1,194 @@ +source $stdenv/setup + + +mkdir -p $out/bin +mkdir -p $out/nix-support + + +if test -z "$nativeLibc"; then + dynamicLinker="$libc/lib/$dynamicLinker" + echo $dynamicLinker > $out/nix-support/dynamic-linker + + if test -e $libc/lib/32/ld-linux.so.2; then + echo $libc/lib/32/ld-linux.so.2 > $out/nix-support/dynamic-linker-m32 + fi + + # The "-B$libc/lib/" flag is a quick hack to force gcc to link + # against the crt1.o from our own glibc, rather than the one in + # /usr/lib. (This is only an issue when using an `impure' + # compiler/linker, i.e., one that searches /usr/lib and so on.) + # + # Unfortunately, setting -B appears to override the default search + # path. Thus, the gcc-specific "../includes-fixed" directory is + # now longer searched and glibc's header fails to + # compile, because it uses "#include_next " to find the + # limits.h file in ../includes-fixed. To remedy the problem, + # another -idirafter is necessary to add that directory again. + echo "-B$libc/lib/ -idirafter $libc/include -idirafter $gcc/lib/gcc/*/*/include-fixed" > $out/nix-support/libc-cflags + + echo "-L$libc/lib" > $out/nix-support/libc-ldflags + + # The dynamic linker is passed in `ldflagsBefore' to allow + # explicit overrides of the dynamic linker by callers to gcc/ld + # (the *last* value counts, so ours should come first). + echo "-dynamic-linker $dynamicLinker" > $out/nix-support/libc-ldflags-before +fi + +if test -n "$nativeTools"; then + gccPath="$nativePrefix/bin" + ldPath="$nativePrefix/bin" +else + if test -e "$gcc/lib64"; then + gccLDFlags="$gccLDFlags -L$gcc/lib64" + fi + gccLDFlags="$gccLDFlags -L$gcc/lib" + if [ -n "$langVhdl" ]; then + gccLDFlags="$gccLDFlags -L$zlib/lib" + fi + echo "$gccLDFlags" > $out/nix-support/gcc-ldflags + + # GCC shows $gcc/lib in `gcc -print-search-dirs', but not + # $gcc/lib64 (even though it does actually search there...).. + # This confuses libtool. So add it to the compiler tool search + # path explicitly. + if test -e "$gcc/lib64"; then + gccCFlags="$gccCFlags -B$gcc/lib64" + fi + + # Find the gcc libraries path (may work only without multilib) + if [ -n "$langAda" ]; then + basePath=`echo $gcc/lib/*/*/*` + gccCFlags="$gccCFlags -B$basePath -I$basePath/adainclude" + + gnatCFlags="-aI$basePath/adainclude -aO$basePath/adalib" + echo "$gnatCFlags" > $out/nix-support/gnat-cflags + fi + echo "$gccCFlags" > $out/nix-support/gcc-cflags + + gccPath="$gcc/bin" + ldPath="$binutils/bin" +fi + + +doSubstitute() { + local src=$1 + local dst=$2 + # Can't use substitute() here, because replace may not have been + # built yet (in the bootstrap). + sed \ + -e "s^@out@^$out^g" \ + -e "s^@shell@^$shell^g" \ + -e "s^@gcc@^$gcc^g" \ + -e "s^@gccProg@^$gccProg^g" \ + -e "s^@gnatProg@^$gnatProg^g" \ + -e "s^@gnatlinkProg@^$gnatlinkProg^g" \ + -e "s^@binutils@^$binutils^g" \ + -e "s^@coreutils@^$coreutils^g" \ + -e "s^@libc@^$libc^g" \ + -e "s^@ld@^$ldPath/ld^g" \ + < "$src" > "$dst" +} + + +# Make wrapper scripts around gcc, g++, and gfortran. Also make symlinks +# cc, c++, and f77. +mkGccWrapper() { + local dst=$1 + local src=$2 + + if ! test -f "$src"; then + echo "$src does not exist (skipping)" + return 1 + fi + + gccProg="$src" + doSubstitute "$gccWrapper" "$dst" + chmod +x "$dst" +} + +mkGnatWrapper() { + local dst=$1 + local src=$2 + + if ! test -f "$src"; then + echo "$src does not exist (skipping)" + return 1 + fi + + gnatProg="$src" + doSubstitute "$gnatWrapper" "$dst" + chmod +x "$dst" +} + +mkGnatLinkWrapper() { + local dst=$1 + local src=$2 + + if ! test -f "$src"; then + echo "$src does not exist (skipping)" + return 1 + fi + + gnatlinkProg="$src" + doSubstitute "$gnatlinkWrapper" "$dst" + chmod +x "$dst" +} + +if mkGccWrapper $out/bin/gcc $gccPath/gcc +then + ln -sv gcc $out/bin/cc +fi + +if mkGccWrapper $out/bin/g++ $gccPath/g++ +then + ln -sv g++ $out/bin/c++ +fi + +if mkGccWrapper $out/bin/gfortran $gccPath/gfortran +then + ln -sv gfortran $out/bin/g77 + ln -sv gfortran $out/bin/f77 +fi + +mkGccWrapper $out/bin/gcj $gccPath/gcj || true + +mkGccWrapper $out/bin/gccgo $gccPath/gccgo || true + +mkGccWrapper $out/bin/gnatgcc $gccPath/gnatgcc || true +mkGnatWrapper $out/bin/gnatmake $gccPath/gnatmake || true +mkGnatWrapper $out/bin/gnatbind $gccPath/gnatbind || true +mkGnatLinkWrapper $out/bin/gnatlink $gccPath/gnatlink || true + +if [ -f $gccPath/ghdl ]; then + ln -sf $gccPath/ghdl $out/bin/ghdl +fi + +# Create a symlink to as (the assembler). This is useful when a +# gcc-wrapper is installed in a user environment, as it ensures that +# the right assembler is called. +ln -s $ldPath/as $out/bin/as + + +# Make a wrapper around the linker. +doSubstitute "$ldWrapper" "$out/bin/ld" +chmod +x "$out/bin/ld" + + +# Emit a setup hook. Also store the path to the original GCC and +# Glibc. +test -n "$gcc" && echo $gcc > $out/nix-support/orig-gcc +test -n "$libc" && echo $libc > $out/nix-support/orig-libc + +doSubstitute "$addFlags" "$out/nix-support/add-flags.sh" + +doSubstitute "$setupHook" "$out/nix-support/setup-hook" + +cp -p $utils $out/nix-support/utils.sh + + +# Propagate the wrapped gcc so that if you install the wrapper, you get +# tools like gcov, the manpages, etc. as well (including for binutils +# and Glibc). +if test -z "$nativeTools"; then + echo $gcc $binutils $libc > $out/nix-support/propagated-user-env-packages +fi diff --git a/pkgs/build-support/gcc-wrapper/default.nix b/pkgs/build-support/gcc-wrapper/default.nix index d3fe5a0569f..5e50a5c7dfb 100644 --- a/pkgs/build-support/gcc-wrapper/default.nix +++ b/pkgs/build-support/gcc-wrapper/default.nix @@ -21,10 +21,11 @@ let gccVersion = (builtins.parseDrvName gcc.name).version; gccName = (builtins.parseDrvName gcc.name).name; - + + langGo = if nativeTools then false else gcc ? langGo && gcc.langGo; in -stdenv.mkDerivation { +stdenv.mkDerivation ({ name = (if name != "" then name else gccName + "-wrapper") + (if gcc != null && gccVersion != "" then "-" + gccVersion else ""); @@ -90,3 +91,9 @@ stdenv.mkDerivation { abort "don't know the name of the dynamic linker for this platform") else ""; } +# This go wrapper should be reworked in stdenv-updates. +// (if langGo then +{ + inherit langGo; + builder = ./buildergo.sh; +} else {})) diff --git a/pkgs/build-support/release/ant-build.nix b/pkgs/build-support/release/ant-build.nix index fe15f93a8fe..696f179a2ed 100644 --- a/pkgs/build-support/release/ant-build.nix +++ b/pkgs/build-support/release/ant-build.nix @@ -100,15 +100,10 @@ stdenv.mkDerivation ( postHook = '' mkdir -p $out/nix-support echo "$system" > $out/nix-support/system + . ${./functions.sh} - # If `src' is the result of a call to `makeSourceTarball', then it - # has a subdirectory containing the actual tarball(s). If there are - # multiple tarballs, just pick the first one. origSrc=$src - if test -d $src/tarballs; then - src=$(ls $src/tarballs/*.tar.bz2 $src/tarballs/*.tar.gz | sort | head -1) - fi - + src=$(findTarballs $src | head -1) ''; } ) diff --git a/pkgs/build-support/release/binary-tarball.nix b/pkgs/build-support/release/binary-tarball.nix index 6901c9f5555..41fab231ee3 100644 --- a/pkgs/build-support/release/binary-tarball.nix +++ b/pkgs/build-support/release/binary-tarball.nix @@ -35,14 +35,10 @@ stdenv.mkDerivation ( postHook = '' mkdir -p $out/nix-support echo "$system" > $out/nix-support/system + . ${./functions.sh} - # If `src' is the result of a call to `makeSourceTarball', then it - # has a subdirectory containing the actual tarball(s). If there are - # multiple tarballs, just pick the first one. origSrc=$src - if test -d $src/tarballs; then - src=$(ls $src/tarballs/*.tar.bz2 $src/tarballs/*.tar.gz | sort | head -1) - fi + src=$(findTarballs $src | head -1) if test -e $origSrc/nix-support/hydra-release-name; then releaseName=$(cat $origSrc/nix-support/hydra-release-name) diff --git a/pkgs/build-support/release/debian-build.nix b/pkgs/build-support/release/debian-build.nix index 0095a2ff881..feb15267f59 100644 --- a/pkgs/build-support/release/debian-build.nix +++ b/pkgs/build-support/release/debian-build.nix @@ -30,17 +30,10 @@ vmTools.runInLinuxImage (stdenv.mkDerivation ( # !!! cut&paste from rpm-build.nix postHook = '' - mkdir -p $out/nix-support - cat "$diskImage"/nix-support/full-name > $out/nix-support/full-name - - # If `src' is the result of a call to `makeSourceTarball', then it - # has a subdirectory containing the actual tarball(s). If there are - # multiple tarballs, just pick the first one. - echo $src - if test -d $src/tarballs; then - src=$(ls $src/tarballs/*.tar.bz2 $src/tarballs/*.tar.gz | sort | head -1) - fi - ''; # */ + . ${./functions.sh} + propagateImageName + src=$(findTarballs $src | head -1) # Find a tarball. + ''; installExtraDebsPhase = '' for i in $extraDebs; do diff --git a/pkgs/build-support/release/functions.sh b/pkgs/build-support/release/functions.sh new file mode 100644 index 00000000000..9f2d03519c8 --- /dev/null +++ b/pkgs/build-support/release/functions.sh @@ -0,0 +1,14 @@ +findTarballs() { + local suffix + test -d "$1/tarballs/" && { + for suffix in tar.gz tgz tar.bz2 tbz2 tar.xz tar.lzma; do + ls $1/tarballs/*.$suffix 2> /dev/null + done | sort + } + echo "$1" +} + +propagateImageName() { + ensureDir $out/nix-support + cat "$diskImage"/nix-support/full-name > $out/nix-support/full-name +} diff --git a/pkgs/build-support/release/nix-build.nix b/pkgs/build-support/release/nix-build.nix index 8abbca97875..336563ae285 100644 --- a/pkgs/build-support/release/nix-build.nix +++ b/pkgs/build-support/release/nix-build.nix @@ -58,13 +58,9 @@ stdenv.mkDerivation ( name = name + (if src ? version then "-" + src.version else ""); postHook = '' - # If `src' is the result of a call to `makeSourceTarball', then it - # has a subdirectory containing the actual tarball(s). If there are - # multiple tarballs, just pick the first one. + . ${./functions.sh} origSrc=$src - if test -d $src/tarballs; then - src=$(ls $src/tarballs/*.tar.bz2 $src/tarballs/*.tar.gz $src/tarballs/*.tar.xz | sort | head -1) - fi + src=$(findTarballs $src | head -1) # Set GCC flags for coverage analysis, if desired. if test -n "${toString doCoverageAnalysis}"; then diff --git a/pkgs/build-support/release/rpm-build.nix b/pkgs/build-support/release/rpm-build.nix index 9ec9ace0757..708b62302d5 100644 --- a/pkgs/build-support/release/rpm-build.nix +++ b/pkgs/build-support/release/rpm-build.nix @@ -14,16 +14,10 @@ vmTools.buildRPM ( name = name + "-" + diskImage.name + (if src ? version then "-" + src.version else ""); preBuild = '' - mkdir -p $out/nix-support - cat "$diskImage"/nix-support/full-name > $out/nix-support/full-name - - # If `src' is the result of a call to `makeSourceTarball', then it - # has a subdirectory containing the actual tarball(s). If there are - # multiple tarballs, just pick the first one. - if test -d $src/tarballs; then - src=$(ls $src/tarballs/*.tar.bz2 $src/tarballs/*.tar.gz | sort | head -1) - fi - ''; # */ + . ${./functions.sh} + propagateImageName + src=$(findTarballs $src | head -1) # Pick the first tarball. + ''; postInstall = '' declare -a rpms rpmNames @@ -36,12 +30,12 @@ vmTools.buildRPM ( done echo "installing ''${rpms[*]}..." - rpm -ip ''${rpms[*]} --excludepath /nix/store + rpm -Up ''${rpms[*]} --excludepath /nix/store eval "$postRPMInstall" echo "uninstalling ''${rpmNames[*]}..." - rpm -e ''${rpmNames[*]} + rpm -e ''${rpmNames[*]} --nodeps for i in $out/rpms/*/*.src.rpm; do echo "file srpm $i" >> $out/nix-support/hydra-build-products diff --git a/pkgs/data/fonts/lmodern/lmmath.nix b/pkgs/data/fonts/lmodern/lmmath.nix new file mode 100644 index 00000000000..651a84726af --- /dev/null +++ b/pkgs/data/fonts/lmodern/lmmath.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, unzip }: + +stdenv.mkDerivation { + name = "lmmath-0.903"; + + src = fetchurl { + url = "http://www.gust.org.pl/projects/e-foundry/lm-math/download/lmmath0903otf"; + sha256 = "ee96cb14f5c746d6c6b9ecfbdf97dafc2f535be3dd277e15e8ea6fb594995d64"; + name = "lmmath-0.903.zip"; + }; + + buildInputs = [unzip]; + + sourceRoot = "."; + + installPhase = '' + mkdir -p $out/texmf/fonts/opentype + mkdir -p $out/share/fonts/opentype + + cp *.{OTF,otf} $out/texmf/fonts/opentype/lmmath-regular.otf + cp *.{OTF,otf} $out/share/fonts/opentype/lmmath-regular.otf + + ln -s $out/texmf* $out/share/ + ''; + + meta = { + description = "Latin Modern font"; + }; +} + diff --git a/pkgs/data/fonts/tipa/default.nix b/pkgs/data/fonts/tipa/default.nix new file mode 100644 index 00000000000..47e98f7c53a --- /dev/null +++ b/pkgs/data/fonts/tipa/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation { + name = "tipa-1.3"; + + src = fetchurl { + url = "mirror://debian/pool/main/t/tipa/tipa_1.3.orig.tar.gz"; + sha256 = "1q1sisxdcd2zd9b7mnagr2mxf9v3n1r4s5892zx5ly4r0niyya9m"; + }; + + installPhase = '' + export PREFIX="$out/texmf" + mkdir -p "$PREFIX" "$out/share" + make install PREFIX="$PREFIX" + + ln -s $out/texmf* $out/share/ + ''; + + meta = { + description = "Phonetic font for TeX"; + }; +} + + diff --git a/pkgs/data/misc/mobile-broadband-provider-info/default.nix b/pkgs/data/misc/mobile-broadband-provider-info/default.nix index 830e0ffa68a..52e9ebf0617 100644 --- a/pkgs/data/misc/mobile-broadband-provider-info/default.nix +++ b/pkgs/data/misc/mobile-broadband-provider-info/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl }: let - version = "20110511"; + version = "20120614"; pname = "mobile-broadband-provider-info"; name = "${pname}-${version}"; in @@ -9,8 +9,8 @@ stdenv.mkDerivation rec { inherit name; src = fetchurl { - url = "mirror://gnome/sources/${pname}/${version}/${name}.tar.bz2"; - sha256 = "0cny8bd6kdwvabnwdr00f4wp4xjbc8ynp0kcdg72c1q9186kdikj"; + url = "mirror://gnome/sources/${pname}/${version}/${name}.tar.xz"; + sha256 = "72507a732e0cd16cf27424bb094b1c7a03e2206c119ad124722a283e587755f1"; }; meta = { diff --git a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix index 3d47ed56787..c65c8b98c6a 100644 --- a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix +++ b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix @@ -13,9 +13,10 @@ stdenv.mkDerivation rec { phases = "unpackPhase configurePhase buildPhase installPhase"; - # You should be using WAF instead; see the file INSTALL.WAF + # WAF is probably the biggest crap on this planet, btw i removed the /gtk-2.0 path thingy configurePhase = '' - python waf configure --prefix=$out + sed -e "s@{PYTHONDIR}/gtk-2.0@{PYTHONDIR}/@" -i gconf/wscript + python waf configure --prefix=$out ''; buildPhase = '' @@ -35,4 +36,4 @@ stdenv.mkDerivation rec { description = "Python wrapper for gconf"; maintainers = [ stdenv.lib.maintainers.qknight ]; }; -} \ No newline at end of file +} diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix index 943dbc9a500..36d0860caa5 100644 --- a/pkgs/desktops/gnome-2/default.nix +++ b/pkgs/desktops/gnome-2/default.nix @@ -44,6 +44,8 @@ gnome_mime_data = callPackage ./platform/gnome-mime-data { }; + gnome_python = callPackage ./bindings/gnome-python { }; + gnome_vfs = callPackage ./platform/gnome-vfs { }; gnome_vfs_monikers = callPackage ./platform/gnome-vfs-monikers { }; @@ -115,6 +117,4 @@ libglademm = callPackage ./bindings/libglademm { }; - gnome_python = callPackage ./bindings/gnome-python { }; - } diff --git a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix index a16dfb14d22..a1dbf78bba2 100644 --- a/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix +++ b/pkgs/desktops/gnome-2/desktop/gnome-icon-theme/default.nix @@ -1,12 +1,14 @@ -{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils }: +{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk }: stdenv.mkDerivation rec { - name = "gnome-icon-theme-2.30.3"; + #name = "gnome-icon-theme-3.4.0"; + name = "gnome-icon-theme-2.91.93"; src = fetchurl { - url = mirror://gnome/sources/gnome-icon-theme/2.30/gnome-icon-theme-2.30.3.tar.bz2; - sha256 = "1iysjfw3rajv9skdhshwcbjsm4jrsl6sfvqzrfynsfl4fyfjyzj1"; + #url = "mirror://gnome/sources/gnome-icon-theme/3.4/${name}.tar.xz"; + url = "mirror://gnome/sources/gnome-icon-theme/2.91/${name}.tar.bz2"; + sha256 = "cc7f15e54e2640697b58c26e74cc3f6ebadeb4ef6622bffe9c1e6874cc3478d6"; }; - buildNativeInputs = [ pkgconfig intltool iconnamingutils ]; + buildNativeInputs = [ pkgconfig intltool iconnamingutils gtk ]; } diff --git a/pkgs/desktops/kde-4.7/kde-workspace.nix b/pkgs/desktops/kde-4.7/kde-workspace.nix index 20fc5b56455..8116f4bb6b5 100644 --- a/pkgs/desktops/kde-4.7/kde-workspace.nix +++ b/pkgs/desktops/kde-4.7/kde-workspace.nix @@ -27,6 +27,8 @@ kde { --replace /usr/share/X11 ${xkeyboard_config}/etc/X11 ''; + enableParallelBuilding = false; + meta = { description = "KDE workspace components such as Plasma, Kwin and System Settings"; license = "GPLv2"; diff --git a/pkgs/desktops/xfce-4.8/support/gvfs.nix b/pkgs/desktops/xfce-4.8/support/gvfs.nix index 6e50e6825dd..33f7315a9d9 100644 --- a/pkgs/desktops/xfce-4.8/support/gvfs.nix +++ b/pkgs/desktops/xfce-4.8/support/gvfs.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, glib, dbus, intltool, udev, libgdu }: +{ stdenv, fetchurl, pkgconfig, glib, dbus, intltool, udev, libgdu, fuse }: stdenv.mkDerivation rec { name = "gvfs-1.8.2"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "0895ac8f6d416e1b15433b6b6b68eb119c6e8b04fdb66db665d684355ef89345"; }; - buildInputs = [ pkgconfig glib dbus.libs intltool udev libgdu ]; + buildInputs = [ pkgconfig glib dbus.libs intltool udev libgdu fuse ]; meta = { description = "Virtual Filesystem support library (for Xfce)"; diff --git a/pkgs/development/compilers/gcc/4.7/builder.sh b/pkgs/development/compilers/gcc/4.7/builder.sh new file mode 100644 index 00000000000..4ae7a1c193b --- /dev/null +++ b/pkgs/development/compilers/gcc/4.7/builder.sh @@ -0,0 +1,249 @@ +source $stdenv/setup + + +export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy +mkdir $NIX_FIXINC_DUMMY + + +if test "$staticCompiler" = "1"; then + EXTRA_LDFLAGS="-static" +else + EXTRA_LDFLAGS="" +fi + +# GCC interprets empty paths as ".", which we don't want. +if test -z "$CPATH"; then unset CPATH; fi +if test -z "$LIBRARY_PATH"; then unset LIBRARY_PATH; fi +echo "\$CPATH is \`$CPATH'" +echo "\$LIBRARY_PATH is \`$LIBRARY_PATH'" + +if test "$noSysDirs" = "1"; then + + if test -e $NIX_GCC/nix-support/orig-libc; then + + # Figure out what extra flags to pass to the gcc compilers + # being generated to make sure that they use our glibc. + extraFlags="$(cat $NIX_GCC/nix-support/libc-cflags)" + extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)" + + # Use *real* header files, otherwise a limits.h is generated + # that does not include Glibc's limits.h (notably missing + # SSIZE_MAX, which breaks the build). + export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include + + # The path to the Glibc binaries such as `crti.o'. + glibc_libdir="$(cat $NIX_GCC/nix-support/orig-libc)/lib" + + else + # Hack: support impure environments. + extraFlags="-isystem /usr/include" + extraLDFlags="-L/usr/lib64 -L/usr/lib" + glibc_libdir="/usr/lib" + export NIX_FIXINC_DUMMY=/usr/include + fi + + extraFlags="-I$NIX_FIXINC_DUMMY $extraFlags" + extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags" + + # BOOT_CFLAGS defaults to `-g -O2'; since we override it below, + # make sure to explictly add them so that files compiled with the + # bootstrap compiler are optimized and (optionally) contain + # debugging information (info "(gccinstall) Building"). + if test -n "$dontStrip"; then + extraFlags="-O2 -g $extraFlags" + else + # Don't pass `-g' at all; this saves space while building. + extraFlags="-O2 $extraFlags" + fi + + EXTRA_FLAGS="$extraFlags" + for i in $extraLDFlags; do + EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,$i" + done + + if test -n "$targetConfig"; then + # Cross-compiling, we need gcc not to read ./specs in order to build + # the g++ compiler (after the specs for the cross-gcc are created). + # Having LIBRARY_PATH= makes gcc read the specs from ., and the build + # breaks. Having this variable comes from the default.nix code to bring + # gcj in. + unset LIBRARY_PATH + unset CPATH + if test -z "$crossStageStatic"; then + EXTRA_TARGET_CFLAGS="-B${libcCross}/lib -idirafter ${libcCross}/include" + EXTRA_TARGET_LDFLAGS="-Wl,-L${libcCross}/lib" + fi + else + if test -z "$NIX_GCC_CROSS"; then + EXTRA_TARGET_CFLAGS="$EXTRA_FLAGS" + EXTRA_TARGET_CXXFLAGS="$EXTRA_FLAGS" + EXTRA_TARGET_LDFLAGS="$EXTRA_LDFLAGS" + else + # This the case of cross-building the gcc. + # We need special flags for the target, different than those of the build + # Assertion: + test -e $NIX_GCC_CROSS/nix-support/orig-libc + + # Figure out what extra flags to pass to the gcc compilers + # being generated to make sure that they use our glibc. + extraFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-cflags)" + extraLDFlags="$(cat $NIX_GCC_CROSS/nix-support/libc-ldflags) $(cat $NIX_GCC_CROSS/nix-support/libc-ldflags-before)" + + # Use *real* header files, otherwise a limits.h is generated + # that does not include Glibc's limits.h (notably missing + # SSIZE_MAX, which breaks the build). + NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/include + + # The path to the Glibc binaries such as `crti.o'. + glibc_libdir="$(cat $NIX_GCC_CROSS/nix-support/orig-libc)/lib" + + extraFlags="-I$NIX_FIXINC_DUMMY_CROSS $extraFlags" + extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags" + + EXTRA_TARGET_CFLAGS="$extraFlags" + for i in $extraLDFlags; do + EXTRA_TARGET_LDFLAGS="$EXTRA_TARGET_LDFLAGS -Wl,$i" + done + fi + fi + + + # CFLAGS_FOR_TARGET are needed for the libstdc++ configure script to find + # the startfiles. + # FLAGS_FOR_TARGET are needed for the target libraries to receive the -Bxxx + # for the startfiles. + makeFlagsArray=( \ + "${makeFlagsArray[@]}" \ + NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ + SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ + CFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \ + CXXFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \ + CFLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \ + CXXFLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \ + FLAGS_FOR_TARGET="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \ + LDFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \ + LDFLAGS_FOR_TARGET="$EXTRA_TARGET_LDFLAGS $EXTRA_TARGET_LDFLAGS" \ + ) + + if test -z "$targetConfig"; then + makeFlagsArray=( \ + "${makeFlagsArray[@]}" \ + BOOT_CFLAGS="$EXTRA_FLAGS $EXTRA_LDFLAGS" \ + BOOT_LDFLAGS="$EXTRA_TARGET_CFLAGS $EXTRA_TARGET_LDFLAGS" \ + ) + fi + + if test -n "$targetConfig" -a "$crossStageStatic" == 1; then + # We don't want the gcc build to assume there will be a libc providing + # limits.h in this stagae + makeFlagsArray=( \ + "${makeFlagsArray[@]}" \ + LIMITS_H_TEST=false \ + ) + else + makeFlagsArray=( \ + "${makeFlagsArray[@]}" \ + LIMITS_H_TEST=true \ + ) + fi +fi + +if test -n "$targetConfig"; then + # The host strip will destroy some important details of the objects + dontStrip=1 +fi + + +preConfigure() { + if test -n "$newlibSrc"; then + tar xvf "$newlibSrc" -C .. + ln -s ../newlib-*/newlib newlib + # Patch to get armvt5el working: + sed -i -e 's/ arm)/ arm*)/' newlib/configure.host + fi + # Bug - they packaged zlib + if test -d "zlib"; then + # This breaks the build without-headers, which should build only + # the target libgcc as target libraries. + # See 'configure:5370' + rm -Rf zlib + fi + + if test -f "$NIX_GCC/nix-support/orig-libc"; then + # Patch the configure script so it finds glibc headers. It's + # important for example in order not to get libssp built, + # because its functionality is in glibc already. + glibc_headers="$(cat $NIX_GCC/nix-support/orig-libc)/include" + sed -i \ + -e "s,glibc_header_dir=/usr/include,glibc_header_dir=$glibc_headers", \ + gcc/configure + fi + + if test -n "$crossMingw" -a -n "$crossStageStatic"; then + mkdir -p ../mingw + # --with-build-sysroot expects that: + cp -R $libcCross/include ../mingw + configureFlags="$configureFlags --with-build-sysroot=`pwd`/.." + fi + + # Perform the build in a different directory. + mkdir ../build + cd ../build + configureScript=../$sourceRoot/configure +} + + +postConfigure() { + # Don't store the configure flags in the resulting executables. + sed -e '/TOPLEVEL_CONFIGURE_ARGUMENTS=/d' -i Makefile +} + + +postInstall() { + # Remove precompiled headers for now. They are very big and + # probably not very useful yet. + find $out/include -name "*.gch" -exec rm -rf {} \; -prune + + # Remove `fixincl' to prevent a retained dependency on the + # previous gcc. + rm -rf $out/libexec/gcc/*/*/install-tools + rm -rf $out/lib/gcc/*/*/install-tools + + # More dependencies with the previous gcc or some libs (gccbug stores the build command line) + rm -rf $out/bin/gccbug + # Take out the bootstrap-tools from the rpath, as it's not needed at all having $out + for i in $out/libexec/gcc/*/*/*; do + if PREV_RPATH=`patchelf --print-rpath $i`; then + patchelf --set-rpath `echo $PREV_RPATH | sed 's,:[^:]*bootstrap-tools/lib,,'` $i + fi + done + + # Get rid of some "fixed" header files + rm -rf $out/lib/gcc/*/*/include/root + + # Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks. + for i in $out/bin/*-gcc*; do + if cmp -s $out/bin/gcc $i; then + ln -sfn gcc $i + fi + done + + for i in $out/bin/c++ $out/bin/*-c++* $out/bin/*-g++*; do + if cmp -s $out/bin/g++ $i; then + ln -sfn g++ $i + fi + done + + eval "$postInstallGhdl" +} + + +if test -z "$targetConfig" && test -z "$crossConfig"; then + if test -z "$profiledCompiler"; then + buildFlags="bootstrap $buildFlags" + else + buildFlags="profiledbootstrap $buildFlags" + fi +fi + +genericBuild diff --git a/pkgs/development/compilers/gcc/4.7/default.nix b/pkgs/development/compilers/gcc/4.7/default.nix new file mode 100644 index 00000000000..084e56173a2 --- /dev/null +++ b/pkgs/development/compilers/gcc/4.7/default.nix @@ -0,0 +1,452 @@ +{ stdenv, fetchurl, noSysDirs +, langC ? true, langCC ? true, langFortran ? false +, langJava ? false +, langAda ? false +, langVhdl ? false +, langGo ? false +, profiledCompiler ? false +, staticCompiler ? false +, enableShared ? true +, texinfo ? null +, perl ? null # optional, for texi2pod (then pod2man); required for Java +, gmp, mpfr, mpc, gettext, which +, libelf # optional, for link-time optimizations (LTO) +, ppl ? null, cloog ? null # optional, for the Graphite optimization framework. +, zlib ? null, boehmgc ? null +, zip ? null, unzip ? null, pkgconfig ? null, gtk ? null, libart_lgpl ? null +, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null +, libXrender ? null, xproto ? null, renderproto ? null, xextproto ? null +, libXrandr ? null, libXi ? null, inputproto ? null, randrproto ? null +, gnatboot ? null +, enableMultilib ? false +, enablePlugin ? true # whether to support user-supplied plug-ins +, name ? "gcc" +, cross ? null +, binutilsCross ? null +, libcCross ? null +, crossStageStatic ? true +, gnat ? null +, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd +, stripped ? true +, gnused ? null +}: + +assert langJava -> zip != null && unzip != null + && zlib != null && boehmgc != null + && perl != null; # for `--enable-java-home' +assert langAda -> gnatboot != null; +assert langVhdl -> gnat != null; + +# LTO needs libelf and zlib. +assert libelf != null -> zlib != null; + +# Make sure we get GNU sed. +assert stdenv.isDarwin -> gnused != null; + +# The go frontend is written in c++ +assert langGo -> langCC; + +with stdenv.lib; +with builtins; + +let version = "4.7.1"; + + # Whether building a cross-compiler for GNU/Hurd. + crossGNU = cross != null && cross.config == "i586-pc-gnu"; + + patches = [ ] + ++ optional (cross != null) ./libstdc++-target.patch + # ++ optional noSysDirs ./no-sys-dirs.patch + # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its + # target libraries and tools. + ++ optional langAda ./gnat-cflags.patch + ++ optional langFortran ./gfortran-driving.patch + ++ optional (stdenv.isGNU || crossGNU) ./hurd-sigrtmin.patch; + + javaEcj = fetchurl { + # The `$(top_srcdir)/ecj.jar' file is automatically picked up at + # `configure' time. + + # XXX: Eventually we might want to take it from upstream. + url = "ftp://sourceware.org/pub/java/ecj-4.3.jar"; + sha256 = "0jz7hvc0s6iydmhgh5h2m15yza7p2rlss2vkif30vm9y77m97qcx"; + }; + + # Antlr (optional) allows the Java `gjdoc' tool to be built. We want a + # binary distribution here to allow the whole chain to be bootstrapped. + javaAntlr = fetchurl { + url = http://www.antlr.org/download/antlr-3.1.3.jar; + sha256 = "1f41j0y4kjydl71lqlvr73yagrs2jsg1fjymzjz66mjy7al5lh09"; + }; + + xlibs = [ + libX11 libXt libSM libICE libXtst libXrender libXrandr libXi + xproto renderproto xextproto inputproto randrproto + ]; + + javaAwtGtk = langJava && gtk != null; + + /* Cross-gcc settings */ + gccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null cross; + gccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null cross; + gccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] 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 ""; + crossMingw = (cross != null && cross.libc == "msvcrt"); + + crossConfigureFlags = + "--target=${cross.config}" + + withArch + + withCpu + + withAbi + + (if (crossMingw && crossStageStatic) then + " --with-headers=${libcCross}/include" + + " --with-gcc" + + " --with-gnu-as" + + " --with-gnu-ld" + + " --with-gnu-ld" + + " --disable-shared" + + " --disable-nls" + + " --disable-debug" + + " --enable-sjlj-exceptions" + + " --enable-threads=win32" + + " --disable-win32-registry" + else if crossStageStatic then + " --disable-libssp --disable-nls" + + " --without-headers" + + " --disable-threads " + + " --disable-libmudflap " + + " --disable-libgomp " + + " --disable-libquadmath" + + " --disable-shared" + + " --disable-decimal-float" # libdecnumber requires libc + else + " --with-headers=${libcCross}/include" + + " --enable-__cxa_atexit" + + " --enable-long-long" + + (if crossMingw then + " --enable-threads=win32" + + " --enable-sjlj-exceptions" + + " --enable-hash-synchronization" + + " --disable-libssp" + + " --disable-nls" + + " --with-dwarf2" + + # I think noone uses shared gcc libs in mingw, so we better do the same. + # In any case, mingw32 g++ linking is broken by default with shared libs, + # unless adding "-lsupc++" to any linking command. I don't know why. + " --disable-shared" + + (if cross.config == "x86_64-w64-mingw32" then + # To keep ABI compatibility with upstream mingw-w64 + " --enable-fully-dynamic-string" + else "") + else (if cross.libc == "uclibc" then + # In uclibc cases, libgomp needs an additional '-ldl' + # and as I don't know how to pass it, I disable libgomp. + " --disable-libgomp" else "") + + " --enable-threads=posix" + + " --enable-nls" + + " --disable-decimal-float") # No final libdecnumber (it may work only in 386) + ); + stageNameAddon = if (crossStageStatic) then "-stage-static" else + "-stage-final"; + crossNameAddon = if (cross != null) then "-${cross.config}" + stageNameAddon else ""; + +in + +# We need all these X libraries when building AWT with GTK+. +assert gtk != null -> (filter (x: x == null) xlibs) == []; + +stdenv.mkDerivation ({ + name = "${name}${if stripped then "" else "-debug"}-${version}" + crossNameAddon; + + builder = ./builder.sh; + + src = fetchurl { + url = "http://ftp.gnu.org/gnu/gcc/gcc-4.7.1/gcc-4.7.1.tar.bz2"; + sha256 = "0vs0v89zzgkngkw2p8kdynyk7j8ky4wf6zyrg3rsschpl1pky28n"; + }; + + inherit patches; + + postPatch = + if (stdenv.isGNU + || (libcCross != null # e.g., building `gcc.hostDrv' + && libcCross ? crossConfig + && libcCross.crossConfig == "i586-pc-gnu") + || (crossGNU && libcCross != null)) + then + # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not + # in glibc, so add the right `-I' flags to the default spec string. + assert libcCross != null -> libpthreadCross != null; + let + libc = if libcCross != null then libcCross else stdenv.glibc; + gnu_h = "gcc/config/gnu.h"; + i386_gnu_h = "gcc/config/i386/gnu.h"; + extraCPPDeps = + libc.propagatedBuildInputs + ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross + ++ stdenv.lib.optional (libpthread != null) libpthread; + extraCPPSpec = + concatStrings (intersperse " " + (map (x: "-I${x}/include") extraCPPDeps)); + extraLibSpec = + if libpthreadCross != null + then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}" + else "-L${libpthread}/lib"; + in + '' echo "augmenting \`CPP_SPEC' in \`${i386_gnu_h}' with \`${extraCPPSpec}'..." + sed -i "${i386_gnu_h}" \ + -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g' + + echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..." + sed -i "${gnu_h}" \ + -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g' + + echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc}/include'..." + sed -i "${gnu_h}" \ + -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc}/include"|g' + sed -i gcc/config/t-gnu \ + -es'|NATIVE_SYSTEM_HEADER_DIR.*$|NATIVE_SYSTEM_HEADER_DIR = ${libc}/include|g' + '' + else if cross != null || stdenv.gcc.libc != null then + # On NixOS, use the right path to the dynamic linker instead of + # `/lib/ld*.so'. + let + libc = if (libcCross != null) then libcCross else stdenv.gcc.libc; + in + '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..." + for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h + do + grep -q LIBC_DYNAMIC_LINKER "$header" || continue + echo " fixing \`$header'..." + sed -i "$header" \ + -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc}\3"|g' + done + '' + else null; + + inherit noSysDirs profiledCompiler staticCompiler langJava crossStageStatic + libcCross crossMingw; + + buildNativeInputs = [ texinfo which gettext ] + ++ (optional (perl != null) perl) + ++ (optional javaAwtGtk pkgconfig); + + buildInputs = [ gmp mpfr mpc libelf ] + ++ (optional (ppl != null) ppl) + ++ (optional (cloog != null) cloog) + ++ (optional (zlib != null) zlib) + ++ (optionals langJava [ boehmgc zip unzip ]) + ++ (optionals javaAwtGtk ([ gtk libart_lgpl ] ++ xlibs)) + ++ (optionals (cross != null) [binutilsCross]) + ++ (optionals langAda [gnatboot]) + ++ (optionals langVhdl [gnat]) + + # The builder relies on GNU sed (for instance, Darwin's `sed' fails with + # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it. + ++ (optional stdenv.isDarwin gnused) + ; + + configureFlagsArray = stdenv.lib.optionals + (ppl != null && ppl ? dontDisableStatic && ppl.dontDisableStatic) + [ "--with-host-libstdcxx=-lstdc++ -lgcc_s" ]; + + # 'iant' at #go-nuts@freenode, gccgo maintainer, said that + # they have a bug in 4.7.1 if adding "--disable-static" + dontDisableStatic = langGo; + + configureFlags = " + ${if enableMultilib then "" else "--disable-multilib"} + ${if enableShared then "" else "--disable-shared"} + ${if enablePlugin then "--enable-plugin" else ""} + ${if ppl != null then "--with-ppl=${ppl}" else ""} + ${if cloog != null then + "--with-cloog=${cloog} --enable-cloog-backend=isl" + else ""} + ${if langJava then + "--with-ecj-jar=${javaEcj} " + + + # Follow Sun's layout for the convenience of IcedTea/OpenJDK. See + # . + "--enable-java-home --with-java-home=\${prefix}/lib/jvm/jre " + else ""} + ${if javaAwtGtk then "--enable-java-awt=gtk" else ""} + ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""} + --with-gmp=${gmp} + --with-mpfr=${mpfr} + --with-mpc=${mpc} + ${if (libelf != null) then "--with-libelf=${libelf}" else ""} + --disable-libstdcxx-pch + --without-included-gettext + --with-system-zlib + --enable-languages=${ + concatStrings (intersperse "," + ( optional langC "c" + ++ optional langCC "c++" + ++ optional langFortran "fortran" + ++ optional langJava "java" + ++ optional langAda "ada" + ++ optional langVhdl "vhdl" + ++ optional langGo "go" + ) + ) + } + ${if (stdenv ? glibc) then " --with-native-system-header-dir=${stdenv.glibc}/include" else ""} + ${ # Trick that should be taken out once we have a mips64el-linux not loongson2f + if cross == null && stdenv.system == "mips64el-linux" then "--with-arch=loongson2f" else ""} + ${if langAda then " --enable-libada" else ""} + ${if (cross == null && stdenv.isi686) then "--with-arch=i686" else ""} + ${if cross != null then crossConfigureFlags else ""} + "; + + targetConfig = if (cross != null) then cross.config else null; + + installTargets = + if stripped + then "install-strip" + else "install"; + + crossAttrs = { + patches = patches ++ [ ./hurd-sigrtmin.patch ]; + AR = "${stdenv.cross.config}-ar"; + LD = "${stdenv.cross.config}-ld"; + CC = "${stdenv.cross.config}-gcc"; + CXX = "${stdenv.cross.config}-gcc"; + AR_FOR_TARGET = "${stdenv.cross.config}-ar"; + LD_FOR_TARGET = "${stdenv.cross.config}-ld"; + CC_FOR_TARGET = "${stdenv.cross.config}-gcc"; + NM_FOR_TARGET = "${stdenv.cross.config}-nm"; + CXX_FOR_TARGET = "${stdenv.cross.config}-g++"; + # If we are making a cross compiler, cross != null + NIX_GCC_CROSS = if cross == null then "${stdenv.gccCross}" else ""; + dontStrip = true; + configureFlags = '' + ${if enableMultilib then "" else "--disable-multilib"} + ${if enableShared then "" else "--disable-shared"} + ${if ppl != null then "--with-ppl=${ppl.hostDrv}" else ""} + ${if cloog != null then "--with-cloog=${cloog.hostDrv} --enable-cloog-backend=isl" else ""} + ${if langJava then "--with-ecj-jar=${javaEcj.hostDrv}" else ""} + ${if javaAwtGtk then "--enable-java-awt=gtk" else ""} + ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr.hostDrv}" else ""} + --with-gmp=${gmp.hostDrv} + --with-mpfr=${mpfr.hostDrv} + --disable-libstdcxx-pch + --without-included-gettext + --with-system-zlib + --enable-languages=${ + concatStrings (intersperse "," + ( optional langC "c" + ++ optional langCC "c++" + ++ optional langFortran "fortran" + ++ optional langJava "java" + ++ optional langAda "ada" + ++ optional langVhdl "vhdl" + ++ optional langGo "go" + ) + ) + } + ${if langAda then " --enable-libada" else ""} + ${if (cross == null && stdenv.isi686) then "--with-arch=i686" else ""} + ${if cross != null then crossConfigureFlags else ""} + --target=${stdenv.cross.config} + ''; + }; + + + # Needed for the cross compilation to work + AR = "ar"; + LD = "ld"; + CC = "gcc"; + + # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find + # the library headers and binaries, regarless of the language being + # compiled. + + # Note: When building the Java AWT GTK+ peer, the build system doesn't + # honor `--with-gmp' et al., e.g., when building + # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just + # add them to $CPATH and $LIBRARY_PATH in this case. + # + # Likewise, the LTO code doesn't find zlib. + + CPATH = concatStrings + (intersperse ":" (map (x: x + "/include") + (optionals (zlib != null) [ zlib ] + ++ optionals langJava [ boehmgc ] + ++ optionals javaAwtGtk xlibs + ++ optionals javaAwtGtk [ gmp mpfr ] + ++ optional (libpthread != null) libpthread + ++ optional (libpthreadCross != null) libpthreadCross + + # On GNU/Hurd glibc refers to Mach & Hurd + # headers. + ++ optionals (libcCross != null && + hasAttr "propagatedBuildInputs" libcCross) + libcCross.propagatedBuildInputs))); + + LIBRARY_PATH = concatStrings + (intersperse ":" (map (x: x + "/lib") + (optionals (zlib != null) [ zlib ] + ++ optionals langJava [ boehmgc ] + ++ optionals javaAwtGtk xlibs + ++ optionals javaAwtGtk [ gmp mpfr ] + ++ optional (libpthread != null) libpthread))); + + EXTRA_TARGET_CFLAGS = + if cross != null && libcCross != null + then "-idirafter ${libcCross}/include" + else null; + + EXTRA_TARGET_LDFLAGS = + if cross != null && libcCross != null + then "-B${libcCross}/lib -Wl,-L${libcCross}/lib" + + (optionalString (libpthreadCross != null) + " -L${libpthreadCross}/lib -Wl,${libpthreadCross.TARGET_LDFLAGS}") + else null; + + passthru = { inherit langC langCC langAda langFortran langVhdl + langGo enableMultilib version; }; + + /* From gccinstall.info: + "parallel make is currently not supported since collisions in profile + collecting may occur" + */ + enableParallelBuilding = !profiledCompiler; + + meta = { + homepage = http://gcc.gnu.org/; + license = "GPLv3+"; # runtime support libraries are typically LGPLv3+ + description = "GNU Compiler Collection, version ${version}" + + (if stripped then "" else " (with debugging info)"); + + longDescription = '' + The GNU Compiler Collection includes compiler front ends for C, C++, + Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well + as libraries for these languages (libstdc++, libgcj, libgomp,...). + + GCC development is a part of the GNU Project, aiming to improve the + compiler used in the GNU system including the GNU/Linux variant. + ''; + + maintainers = [ + stdenv.lib.maintainers.ludo + stdenv.lib.maintainers.viric + stdenv.lib.maintainers.shlevy + ]; + + # Volunteers needed for the {Cyg,Dar}win ports of *PPL. + # gnatboot is not available out of linux platforms, so we disable the darwin build + # for the gnat (ada compiler). + platforms = stdenv.lib.platforms.linux ++ optionals (langAda == false && libelf == null) [ "i686-darwin" ]; + }; +} + +// optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) { + makeFlags = [ "all-gcc" "all-target-libgcc" ]; + installTargets = "install-gcc install-target-libgcc"; +} + +# Strip kills static libs of other archs (hence cross != null) +// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; } +) diff --git a/pkgs/development/compilers/gcc/4.7/gfortran-driving.patch b/pkgs/development/compilers/gcc/4.7/gfortran-driving.patch new file mode 100644 index 00000000000..70708886b40 --- /dev/null +++ b/pkgs/development/compilers/gcc/4.7/gfortran-driving.patch @@ -0,0 +1,20 @@ +This patch fixes interaction with Libtool. +See , for details. + +--- a/gcc/fortran/gfortranspec.c ++++ b/gcc/fortran/gfortranspec.c +@@ -461,8 +461,15 @@ For more information about these matters, see the file named COPYING\n\n")); + { + fprintf (stderr, _("Driving:")); + for (i = 0; i < g77_newargc; i++) ++ { ++ if (g77_new_decoded_options[i].opt_index == OPT_l) ++ /* Make sure no white space is inserted after `-l'. */ ++ fprintf (stderr, " -l%s", ++ g77_new_decoded_options[i].canonical_option[1]); ++ else + fprintf (stderr, " %s", + g77_new_decoded_options[i].orig_option_with_args_text); ++ } + fprintf (stderr, "\n"); + } diff --git a/pkgs/development/compilers/gcc/4.7/gnat-cflags.patch b/pkgs/development/compilers/gcc/4.7/gnat-cflags.patch new file mode 100644 index 00000000000..bf2acf065e9 --- /dev/null +++ b/pkgs/development/compilers/gcc/4.7/gnat-cflags.patch @@ -0,0 +1,33 @@ +diff --git a/libada/Makefile.in b/libada/Makefile.in +index f5057a0..337e0c6 100644 +--- a/libada/Makefile.in ++++ b/libada/Makefile.in +@@ -55,7 +55,7 @@ GCC_WARN_CFLAGS = $(LOOSE_WARN) + WARN_CFLAGS = @warn_cflags@ + + TARGET_LIBGCC2_CFLAGS= +-GNATLIBCFLAGS= -g -O2 ++GNATLIBCFLAGS= -g -O2 $(CFLAGS) + GNATLIBCFLAGS_FOR_C = $(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS) -fexceptions \ + -DIN_RTS @have_getipinfo@ + +--- a/gcc/ada/gcc-interface/Makefile.in ++++ b/gcc/ada/gcc-interface/Makefile.in +@@ -105,7 +105,7 @@ ADAFLAGS = -W -Wall -gnatpg -gnata + SOME_ADAFLAGS =-gnata + FORCE_DEBUG_ADAFLAGS = -g + GNATLIBFLAGS = -gnatpg -nostdinc +-GNATLIBCFLAGS = -g -O2 ++GNATLIBCFLAGS = -g -O2 $(CFLAGS_FOR_TARGET) + # Pretend that _Unwind_GetIPInfo is available for the target by default. This + # should be autodetected during the configuration of libada and passed down to + # here, but we need something for --disable-libada and hope for the best. +@@ -193,7 +193,7 @@ RTSDIR = rts$(subst /,_,$(MULTISUBDIR)) + # Link flags used to build gnat tools. By default we prefer to statically + # link with libgcc to avoid a dependency on shared libgcc (which is tricky + # to deal with as it may conflict with the libgcc provided by the system). +-GCC_LINK_FLAGS=-static-libgcc ++GCC_LINK_FLAGS=-static-libgcc $(CFLAGS_FOR_TARGET) + + # End of variables for you to override. + diff --git a/pkgs/development/compilers/gcc/4.7/hurd-sigrtmin.patch b/pkgs/development/compilers/gcc/4.7/hurd-sigrtmin.patch new file mode 100644 index 00000000000..dc8236d2b99 --- /dev/null +++ b/pkgs/development/compilers/gcc/4.7/hurd-sigrtmin.patch @@ -0,0 +1,14 @@ +GNU libc on GNU/Hurd doesn't define `__SIGRTMIN'. +From . + +--- a/libgcc/generic-morestack.c 2011-12-19 21:14:52.000000000 +0100 ++++ b/libgcc/generic-morestack.c 2011-12-19 21:15:35.000000000 +0100 +@@ -507,7 +507,7 @@ + sigemptyset (&__morestack_initial_sp.mask); + + sigfillset (&__morestack_fullmask); +-#ifdef __GLIBC__ ++#if defined(__GLIBC__) && defined(__SIGRTMIN) + /* In glibc, the first two real time signals are used by the NPTL + threading library. By taking them out of the set of signals, we + avoiding copying the signal mask in pthread_sigmask. More diff --git a/pkgs/development/compilers/gcc/4.7/java-jvgenmain-link.patch b/pkgs/development/compilers/gcc/4.7/java-jvgenmain-link.patch new file mode 100644 index 00000000000..2612e8bfbbb --- /dev/null +++ b/pkgs/development/compilers/gcc/4.7/java-jvgenmain-link.patch @@ -0,0 +1,17 @@ +The `jvgenmain' executable must be linked against `vec.o', among others, +since it uses its vector API. + +--- gcc-4.3.3/gcc/java/Make-lang.in 2008-12-05 00:00:19.000000000 +0100 ++++ gcc-4.3.3/gcc/java/Make-lang.in 2009-07-03 16:11:41.000000000 +0200 +@@ -109,9 +109,9 @@ jcf-dump$(exeext): $(JCFDUMP_OBJS) $(LIB + $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JCFDUMP_OBJS) \ + $(CPPLIBS) $(ZLIB) $(LDEXP_LIB) $(LIBS) + +-jvgenmain$(exeext): $(JVGENMAIN_OBJS) $(LIBDEPS) ++jvgenmain$(exeext): $(JVGENMAIN_OBJS) $(LIBDEPS) $(BUILD_RTL) + rm -f $@ +- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JVGENMAIN_OBJS) $(LIBS) ++ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JVGENMAIN_OBJS) $(BUILD_RTL) $(LIBS) + + # + # Build hooks: diff --git a/pkgs/development/compilers/gcc/4.7/libstdc++-target.patch b/pkgs/development/compilers/gcc/4.7/libstdc++-target.patch new file mode 100644 index 00000000000..fb622b39580 --- /dev/null +++ b/pkgs/development/compilers/gcc/4.7/libstdc++-target.patch @@ -0,0 +1,32 @@ +Patch to make the target libraries 'configure' scripts find the proper CPP. +I noticed that building the mingw32 cross compiler. +Looking at the build script for mingw in archlinux, I think that only nixos +needs this patch. I don't know why. +diff --git a/Makefile.in b/Makefile.in +index 93f66b6..d691917 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -266,6 +266,7 @@ BASE_TARGET_EXPORTS = \ + AR="$(AR_FOR_TARGET)"; export AR; \ + AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \ + CC="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \ ++ CPP="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CC; \ + CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \ +@@ -291,11 +292,13 @@ BASE_TARGET_EXPORTS = \ + RAW_CXX_TARGET_EXPORTS = \ + $(BASE_TARGET_EXPORTS) \ + CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \ +- CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; ++ CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; \ ++ CXXCPP="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CXX; + + NORMAL_TARGET_EXPORTS = \ + $(BASE_TARGET_EXPORTS) \ +- CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; ++ CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; \ ++ CXXCPP="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CXX; + + # Where to find GMP + HOST_GMPLIBS = @gmplibs@ diff --git a/pkgs/development/compilers/gcc/4.7/no-sys-dirs.patch b/pkgs/development/compilers/gcc/4.7/no-sys-dirs.patch new file mode 100644 index 00000000000..79901703cb8 --- /dev/null +++ b/pkgs/development/compilers/gcc/4.7/no-sys-dirs.patch @@ -0,0 +1,41 @@ +diff -ru gcc-4.3.1-orig/gcc/cppdefault.c gcc-4.3.1/gcc/cppdefault.c +--- gcc-4.3.1-orig/gcc/cppdefault.c 2007-07-26 10:37:01.000000000 +0200 ++++ gcc-4.3.1/gcc/cppdefault.c 2008-06-25 17:48:23.000000000 +0200 +@@ -41,6 +41,10 @@ + # undef CROSS_INCLUDE_DIR + #endif + ++#undef LOCAL_INCLUDE_DIR ++#undef SYSTEM_INCLUDE_DIR ++#undef STANDARD_INCLUDE_DIR ++ + const struct default_include cpp_include_defaults[] + #ifdef INCLUDE_DEFAULTS + = INCLUDE_DEFAULTS; +diff -ru gcc-4.3.1-orig/gcc/gcc.c gcc-4.3.1/gcc/gcc.c +--- gcc-4.3.1-orig/gcc/gcc.c 2008-03-02 23:55:19.000000000 +0100 ++++ gcc-4.3.1/gcc/gcc.c 2008-06-25 17:52:53.000000000 +0200 +@@ -1478,10 +1478,10 @@ + /* Default prefixes to attach to command names. */ + + #ifndef STANDARD_STARTFILE_PREFIX_1 +-#define STANDARD_STARTFILE_PREFIX_1 "/lib/" ++#define STANDARD_STARTFILE_PREFIX_1 "" + #endif + #ifndef STANDARD_STARTFILE_PREFIX_2 +-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" ++#define STANDARD_STARTFILE_PREFIX_2 "" + #endif + + #ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */ +--- gcc-4.3.1-orig/gcc/Makefile.in 2008-05-11 20:54:15.000000000 +0200 ++++ gcc-4.3.1/gcc/Makefile.in 2008-06-25 17:48:23.000000000 +0200 +@@ -3277,7 +3281,7 @@ + -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ + -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \ + -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \ +- -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \ ++ -DLOCAL_INCLUDE_DIR=\"/no-such-dir\" \ + -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \ + -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \ + -DPREFIX=\"$(prefix)/\" \ diff --git a/pkgs/development/compilers/ghc/7.6.1.nix b/pkgs/development/compilers/ghc/7.6.1.nix new file mode 100644 index 00000000000..203a354c13c --- /dev/null +++ b/pkgs/development/compilers/ghc/7.6.1.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, ghc, perl, gmp, ncurses }: + +stdenv.mkDerivation rec { + version = "7.6.0.20120810"; + + name = "ghc-${version}"; + + src = fetchurl { + url = "http://haskell.org/ghc/dist/7.6.1-rc1/${name}-src.tar.bz2"; + sha256 = "04m8ms3a58590s4p8x6qma25rdanz0iai8rcla78ka798612pvjd"; + }; + + buildInputs = [ ghc perl gmp ncurses ]; + + enableParallelBuilding = true; + + buildMK = '' + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" + ''; + + preConfigure = '' + echo "${buildMK}" > mk/build.mk + sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure + ''; + + configureFlags=[ + "--with-gcc=${stdenv.gcc}/bin/gcc" + ]; + + # required, because otherwise all symbols from HSffi.o are stripped, and + # that in turn causes GHCi to abort + stripDebugFlags=["-S" "--keep-file-symbols"]; + + meta = { + homepage = "http://haskell.org/ghc"; + description = "The Glasgow Haskell Compiler"; + maintainers = [ + stdenv.lib.maintainers.marcweber + stdenv.lib.maintainers.andres + stdenv.lib.maintainers.simons + ]; + platforms = ghc.meta.platforms; + }; + +} diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index cf0c569d3be..566e7d80f86 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, ghc, perl, gmp, ncurses }: stdenv.mkDerivation rec { - version = "7.5.20120607"; + version = "7.5.20120714"; name = "ghc-${version}"; src = fetchurl { url = "http://haskell.org/ghc/dist/current/dist/${name}-src.tar.bz2"; - sha256 = "1xrdx646g5ip2f2jypbm46y6jis3ddf8bild2704swbl2j4yb3vb"; + sha256 = "02jicyqqr18yixf970f1rfrn64bm528aig6s9566galji063p6ah"; }; buildInputs = [ ghc perl gmp ncurses ]; diff --git a/pkgs/development/compilers/go/cacert.patch b/pkgs/development/compilers/go/cacert.patch new file mode 100644 index 00000000000..42a44313835 --- /dev/null +++ b/pkgs/development/compilers/go/cacert.patch @@ -0,0 +1,15 @@ +Go comes with hardcoded cacert. We add the usual in NixOS, +for easier NixOS life. + +diff --git a/src/pkg/crypto/x509/root_unix.go b/src/pkg/crypto/x509/root_unix.go +index 76e79f4..6ef1dd3 100644 +--- a/src/pkg/crypto/x509/root_unix.go ++++ b/src/pkg/crypto/x509/root_unix.go +@@ -15,6 +15,7 @@ var certFiles = []string{ + "/etc/ssl/ca-bundle.pem", // OpenSUSE + "/etc/ssl/cert.pem", // OpenBSD + "/usr/local/share/certs/ca-root-nss.crt", // FreeBSD ++ "/etc/ssl/certs/ca-bundle.crt", // NixOS + } + + func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate, err error) { diff --git a/pkgs/development/compilers/go/default.nix b/pkgs/development/compilers/go/default.nix index 143c091a1dc..459ce6310bf 100644 --- a/pkgs/development/compilers/go/default.nix +++ b/pkgs/development/compilers/go/default.nix @@ -1,46 +1,51 @@ -{ stdenv, fetchhg, bison, glibc, ed, which, bash, coreutils, makeWrapper, perl }: +{ stdenv, fetchurl, bison, glibc, bash, coreutils, makeWrapper}: let - version = "2010-06-09"; - sha256 = "b607879b333ef100466c726a13cc69ed143566a3c1af59f6d33a6e90b9d0c917"; - loader386 = "${glibc}/lib/ld-linux.so.2"; loaderAmd64 = "${glibc}/lib/ld-linux-x86-64.so.2"; in stdenv.mkDerivation { - name = "go-" + version; + name = "go-1.0.2"; # No tarball yet. - src = fetchhg { - url = https://go.googlecode.com/hg/; - tag = "release." + version; - inherit sha256; + src = fetchurl { + url = http://go.googlecode.com/files/go1.0.2.src.tar.gz; + sha256 = "1a4mpkb3bd9dwp0r3fgrfcyk5lgw0f0cfrbskg2lrhc7a12zpz3h"; }; - buildInputs = [ bison glibc ed which bash makeWrapper ]; + buildInputs = [ bison glibc bash makeWrapper ]; + + # I'm not sure what go wants from its 'src', but the go installation manual + # describes an installation keeping the src. + preUnpack = '' + mkdir -p $out/share + cd $out/share + ''; prePatch = '' patchShebangs ./ # replace /bin/bash - # only for 386 build # !!! substituteInPlace does not seems to be effective. sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c - sed -i 's,/usr/share/zoneinfo/,${glibc}/share/zoneinfo/,' src/pkg/time/zoneinfo.go - sed -i 's,/bin/ed,${ed}/bin/ed,' src/cmd/6l/mkenam + sed -i 's,/usr/share/zoneinfo/,${glibc}/share/zoneinfo/,' src/pkg/time/zoneinfo_unix.go - sed -i -e 's,/bin/cat,${coreutils}/bin/cat,' \ - -e 's,/bin/echo,${coreutils}/bin/echo,' \ - src/pkg/exec/exec_test.go + #sed -i -e 's,/bin/cat,${coreutils}/bin/cat,' \ + # -e 's,/bin/echo,${coreutils}/bin/echo,' \ + # src/pkg/exec/exec_test.go # Disabling the 'os/http/net' tests (they want files not available in # chroot builds) - sed -i -e '/^NOTEST=/a\\tos\\\n\thttp\\\n\tnet\\' src/pkg/Makefile - - sed -i -e 's,/bin:/usr/bin:/usr/local/bin,'$PATH, test/run - sed -i -e 's,/usr/bin/perl,${perl}/bin/perl,' test/errchk + rm src/pkg/net/{multicast_test.go,parse_test.go,port_test.go} + # The os test wants to read files in an existing path. Just it don't be /usr/bin. + sed -i 's,/usr/bin,'"`pwd`", src/pkg/os/os_test.go + sed -i 's,/bin/pwd,'"`type -P pwd`", src/pkg/os/os_test.go + # Disable the hostname test + sed -i '/TestHostname/areturn' src/pkg/os/os_test.go ''; + patches = [ ./cacert.patch ]; + GOOS = "linux"; GOARCH = if (stdenv.system == "i686-linux") then "386" else if (stdenv.system == "x86_64-linux") then "amd64" @@ -55,28 +60,16 @@ stdenv.mkDerivation { ./all.bash cd - - # Handle Libraries and make them availabale under /share/go. - export GOLIB="pkg/"$GOOS"_"$GOARCH - mkdir -p "$out/lib/go/$GOLIB" - cp -r ./$GOLIB $out/lib/go/pkg/ - - # this line set $AS $CC $GC $LD - source ./src/Make.$GOARCH - - # Wrap the compiler and the linker to define the location of the + # Wrap the tools to define the location of the # libraries. - wrapProgram "$out/bin/$GC" \ - --add-flags "-I" \ - --add-flags "$out/lib/go/$GOLIB" - - wrapProgram "$out/bin/$LD" \ - --set "GOROOT" "$out/lib/go/" \ - --set "GOOS" "$GOOS" \ - --set "GOARCH" "$GOARCH" + for a in go gofmt godoc; do + wrapProgram "$out/bin/$a" \ + --set "GOROOT" "$out/share/go/" + done # Copy the emacs configuration for Go files. mkdir -p "$out/share/emacs/site-lisp" - cp ./misc/emacs/* $out/share/emacs/site-lisp/ # */ + cp ./misc/emacs/* $out/share/emacs/site-lisp/ ''; meta = { diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix index a594e0e6815..d0231adb73d 100644 --- a/pkgs/development/compilers/julia/default.nix +++ b/pkgs/development/compilers/julia/default.nix @@ -1,35 +1,46 @@ -{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, blas, liblapack +{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre , readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl - , ncurses, libunistring, lighttpd, patchelf + , ncurses, libunistring, lighttpd, patchelf, openblas, liblapack } : let - liblapackShared = liblapack.override{shared=true;}; realGcc = stdenv.gcc.gcc; in stdenv.mkDerivation rec { pname = "julia"; - date = "20120501"; + date = "20120801"; name = "${pname}-git-${date}"; - grisu_ver = "1.1"; + grisu_ver = "1.1.1"; dsfmt_ver = "2.1"; - arpack_ver = "3.1.0"; + openblas_ver = "v0.2.2"; + lapack_ver = "3.4.1"; + arpack_ver = "3.1.1"; clp_ver = "1.14.5"; lighttpd_ver = "1.4.29"; grisu_src = fetchurl { url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz"; - sha256 = "addee31d11350e4dde2b19c749eda648cb0ab38a68b0dd0d0a45dc49c7346fe7"; + sha256 = "e1cabb73fd69e74f145aea91100cde483aef8b79dc730fcda0a34466730d4d1d"; }; dsfmt_src = fetchurl { url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz"; name = "dsfmt-${dsfmt_ver}.tar.gz"; sha256 = "e9d3e04bc984ec3b14033342f5ebdcd5202d8d8e40128dd737f566945612378f"; }; + openblas_src = fetchurl { + url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}"; + name = "openblas-${openblas_ver}.tar.gz"; + sha256 = "19ffec70f9678f5c159feadc036ca47720681b782910fbaa95aa3867e7e86d8e"; + }; arpack_src = fetchurl { - url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/376/get/"; + url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/417/get/"; name = "arpack-ng_${arpack_ver}.tar.gz"; - sha256 = "65b7856126f06ecbf9ec450d50df92ca9260d4b0d21baf02497554ac230d6feb"; + sha256 = "be250947a7d6eac7dff8c058102fce9922c524aa06be2a090b6e0bb2d1e228cd"; + }; + lapack_src = fetchurl { + url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz"; + name = "lapack-${lapack_ver}.tgz"; + sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f"; }; clp_src = fetchurl { url = "http://www.coin-or.org/download/source/Clp/Clp-${clp_ver}.tgz"; @@ -43,16 +54,17 @@ stdenv.mkDerivation rec { src = fetchgit { url = "git://github.com/JuliaLang/julia.git"; - rev = "990ffabb00f0e51d326911888facdbc473fb634d"; - sha256 = "dfcf41b2d7b62dd490bfd6f6fb962713c920de3f00afaee47423bd26eba7e3b2"; + rev = "3b413ec24957e400c984002f7cdf6232f5391a7e"; + sha256 = "c019b724df9203899a1da5815f85d79291778191bbffc1361d2213ff7d2bbc1d"; }; - buildInputs = [ gfortran perl m4 gmp pcre llvm blas liblapackShared readline + buildInputs = [ gfortran perl m4 gmp pcre llvm readline fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf + openblas liblapack ]; configurePhase = '' - for i in GMP LLVM PCRE BLAS LAPACK READLINE FFTW LIBUNWIND SUITESPARSE GLPK; + for i in GMP LLVM PCRE LAPACK OPENBLAS BLAS READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD; do sed -e "s@USE_SYSTEM_$i=0@USE_SYSTEM_$i=1@" -i Make.inc; done @@ -62,52 +74,44 @@ stdenv.mkDerivation rec { cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')" } - for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${clp_src}" "${lighttpd_src}" ; do + for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${clp_src}" ; do copy_kill_hash "$i" deps done copy_kill_hash "${dsfmt_src}" deps/random - sed -e '/cd SuiteSparse-SYSTEM/,+1s@find /lib /usr/lib /usr/local/lib@find ${suitesparse}/lib@' -i deps/Makefile - ${if realGcc ==null then "" else ''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring "''} sed -e 's@ cpp @ gcc -E @g' -i base/Makefile - sed -e '1s@#! */bin/bash@#!${stdenv.shell}@' -i deps/*.sh - export LDFLAGS="-L${suitesparse}/lib" + export GLPK_PREFIX="${glpk}/include" + mkdir -p "$out/lib" sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile - sed -e '/libumfpack.a/s@find @find ${suitesparse}/lib @' -i deps/Makefile - - export makeFlags="$makeFlags PREFIX=\"$out\" USR=\"$out\"" - - sed -e 's@openblas@blas@' -i base/*.jl - - sed -e '/install -v julia-release-webserver/d' -i Makefile + export makeFlags="$makeFlags PREFIX=$out" export dontPatchELF=1 ''; + preBuild = '' + make -C test/unicode all + make -C extras glpk_h.jl GLPK_PREFIX="$GLPK_PREFIX" + ''; + postInstall = '' - ln -s "$out/share/julia/julia" "$out/bin" + ld -E --whole-archive --shared ${suitesparse}/lib/lib*[a-z].a -o "$out"/lib/libsuitesparse-shared.so + for i in umfpack cholmod amd camd colamd ; do + ln -s "libsuitesparse-shared.so" "$out/lib/lib$i.so" + done + ln -s "${lighttpd}/sbin/lighttpd" "$out/sbin/" + ln -s "${lighttpd}/lib/"* "$out/lib/" - mkdir -p "$out/share/julia/ui/" - cp -r ui/website "$out/share/julia/ui/" - cp deps/lighttpd.conf "$out/share/julia/ui/" - - mkdir -p "$out/share/julia/ui/webserver/" - cp -r ui/webserver/{*.jl,*.h} "$out/share/julia/ui/webserver/" - - echo -e '#!/bin/sh' >> "$out/bin/julia-webserver" - echo -e "cd \"$out/share/julia\"" >> "$out/bin/julia-webserver" - echo -e '${lighttpd}/sbin/lighttpd -D -f ./ui/lighttpd.conf &' >> "$out/bin/julia-webserver" - echo -e "'$out/bin/julia-release-webserver' -p 2001" >> "$out/bin/julia-webserver" - chmod a+x "$out/bin/julia-webserver" + cp -r test examples "$out/lib/julia" + ls -R > "$out/ls-R" ''; meta = { diff --git a/pkgs/development/compilers/ocaml/3.12.1.nix b/pkgs/development/compilers/ocaml/3.12.1.nix index 66075d4a966..a70ba649d1f 100644 --- a/pkgs/development/compilers/ocaml/3.12.1.nix +++ b/pkgs/development/compilers/ocaml/3.12.1.nix @@ -1,8 +1,8 @@ { stdenv, fetchurl, ncurses, x11 }: let - useX11 = !stdenv.isArm; - useNativeCompilers = !stdenv.isArm; + useX11 = !stdenv.isArm && !stdenv.isMips; + useNativeCompilers = !stdenv.isArm && !stdenv.isMips; inherit (stdenv.lib) optionals optionalString; in @@ -30,6 +30,10 @@ stdenv.mkDerivation rec { ln -sv $out/lib/ocaml/caml $out/include/caml ''; + passthru = { + nativeCompilers = useNativeCompilers; + }; + meta = { homepage = http://caml.inria.fr/ocaml; licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; diff --git a/pkgs/development/compilers/ocaml/4.00.0.nix b/pkgs/development/compilers/ocaml/4.00.0.nix new file mode 100644 index 00000000000..da065356e85 --- /dev/null +++ b/pkgs/development/compilers/ocaml/4.00.0.nix @@ -0,0 +1,63 @@ +{ stdenv, fetchurl, ncurses, x11 }: + +let + useX11 = !stdenv.isArm && !stdenv.isMips; + useNativeCompilers = !stdenv.isArm && !stdenv.isMips; + inherit (stdenv.lib) optionals optionalString; +in + +stdenv.mkDerivation rec { + + name = "ocaml-4.00.0"; + + src = fetchurl { + url = "http://caml.inria.fr/pub/distrib/ocaml-4.00/${name}.tar.bz2"; + sha256 = "ec886d7bc587ce472fcbdf294feb4b1fa2d8e7ef78ab6a4e66551699435d5cd7"; + }; + + prefixKey = "-prefix "; + configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" x11 ]; + buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt"; + buildInputs = [ncurses] ++ optionals useX11 [ x11 ]; + installTargets = "install" + optionalString useNativeCompilers " installopt"; + preConfigure = '' + CAT=$(type -tp cat) + sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang + ''; + postBuild = '' + mkdir -p $out/include + ln -sv $out/lib/ocaml/caml $out/include/caml + ''; + + passthru = { + nativeCompilers = useNativeCompilers; + }; + + meta = { + homepage = http://caml.inria.fr/ocaml; + licenses = [ "QPL" /* compiler */ "LGPLv2" /* library */ ]; + description = "OCaml, the most popular variant of the Caml language"; + + longDescription = + '' + OCaml is the most popular variant of the Caml language. From a + language standpoint, it extends the core Caml language with a + fully-fledged object-oriented layer, as well as a powerful module + system, all connected by a sound, polymorphic type system featuring + type inference. + + The OCaml system is an industrial-strength implementation of this + language, featuring a high-performance native-code compiler (ocamlopt) + for 9 processor architectures (IA32, PowerPC, AMD64, Alpha, Sparc, + Mips, IA64, HPPA, StrongArm), as well as a bytecode compiler (ocamlc) + and an interactive read-eval-print loop (ocaml) for quick development + and portability. The OCaml distribution includes a comprehensive + standard library, a replay debugger (ocamldebug), lexer (ocamllex) and + parser (ocamlyacc) generators, a pre-processor pretty-printer (camlp4) + and a documentation generator (ocamldoc). + ''; + + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + }; + +} diff --git a/pkgs/development/compilers/sbcl/src-for-default.nix b/pkgs/development/compilers/sbcl/src-for-default.nix index 467ed05a6a4..d56520d2902 100644 --- a/pkgs/development/compilers/sbcl/src-for-default.nix +++ b/pkgs/development/compilers/sbcl/src-for-default.nix @@ -1,9 +1,9 @@ rec { - version="1.0.57"; - name="sbcl-1.0.57"; - hash="1vvifyq0lapx6p6wz6jknsgch3lbyr7m785844wdgkdx2hh8ch51"; - url="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.57/sbcl-1.0.57-source.tar.bz2"; - advertisedUrl="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.57/sbcl-1.0.57-source.tar.bz2"; + version="1.0.58"; + name="sbcl-1.0.58"; + hash="0ifr96hy5ax5c5iv7igwgkwcqb3pwrc4ism957pkfb5yy39p4yc1"; + url="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.58/sbcl-1.0.58-source.tar.bz2"; + advertisedUrl="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.58/sbcl-1.0.58-source.tar.bz2"; } diff --git a/pkgs/development/interpreters/cython/default.nix b/pkgs/development/interpreters/cython/default.nix new file mode 100644 index 00000000000..42dafcb7f2e --- /dev/null +++ b/pkgs/development/interpreters/cython/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, python, pkgconfig }: + +stdenv.mkDerivation { + name = "cython-0.16"; + + src = fetchurl { + url = http://www.cython.org/release/Cython-0.16.tar.gz; + sha256 = "1yz6jwv25xx5mbr2nm4l7mi65gvpm63dzi3vrw73p51wbpy525lp"; + }; + + buildPhase = "python setup.py build --build-base $out"; + + installPhase = "python setup.py install --prefix=$out"; + + buildInputs = [ python pkgconfig ]; + + meta = { + description = "An interpreter to help writing C extensions for Python"; + }; +} diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix index 0e1e21ed962..cc49ab87af8 100644 --- a/pkgs/development/interpreters/guile/default.nix +++ b/pkgs/development/interpreters/guile/default.nix @@ -81,10 +81,31 @@ // +(stdenv.lib.optionalAttrs stdenv.isSunOS { + # TODO: Move me above. + configureFlags = + [ + # Make sure the right is found, and not the incompatible + # /usr/include/mp.h from OpenSolaris. See + # + # for details. + "--with-libgmp-prefix=${gmp}" + + # Same for these (?). + "--with-libreadline-prefix=${readline}" + "--with-libunistring-prefix=${libunistring}" + + # See below. + "--without-threads" + ]; +}) + +// + (if stdenv.isFreeBSD then { - # XXX: Thread support is currently broken on FreeBSD (namely the - # `SCM_I_IS_THREAD' assertion in `scm_spawn_thread' is hit.) + # XXX: Thread support is currently broken on FreeBSD and Solaris (namely + # the `SCM_I_IS_THREAD' assertion in `scm_spawn_thread' is hit.) configureFlags = [ "--without-threads" ]; } else {})) diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index 4293e011299..3ffdc415f88 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -3,10 +3,10 @@ libX11, graphicsmagick, pcre, liblapack, texLive, pkgconfig, mesa, fltk, fftw, fftwSinglePrec, zlib, curl, qrupdate }: stdenv.mkDerivation rec { - name = "octave-3.6.1"; + name = "octave-3.6.2"; src = fetchurl { url = "mirror://gnu/octave/${name}.tar.bz2"; - sha256 = "1xmd9rqpwzn6z808i3brw1w9lh083vpjg046cj4gg3qdazkkw1zq"; + sha256 = "1bn48ldhx585iyrylnz59b6mb3wlpvmz2i3ri8q75s5ys29rpdhb"; }; buildInputs = [ gfortran readline ncurses perl flex texinfo qhull libX11 diff --git a/pkgs/development/interpreters/php/5.3.nix b/pkgs/development/interpreters/php/5.3.nix index 48eb8ac5ee9..b4f00ab1f7d 100644 --- a/pkgs/development/interpreters/php/5.3.nix +++ b/pkgs/development/interpreters/php/5.3.nix @@ -8,7 +8,7 @@ in composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in { - version = "5.3.14"; + version = "5.3.15"; name = "php-${version}"; @@ -149,15 +149,12 @@ composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in { installPhase = '' unset installPhase; installPhase; - cp php.ini-${ if builtins.lessThan (builtins.compareVersions version "5.3") 0 - then "recommended" /* < PHP 5.3 */ - else "production" /* >= PHP 5.3 */ - } $iniFile + cp php.ini-production $iniFile ''; src = args.fetchurl { url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror"; - sha256 = "1cqw0knkrb7wn49ki5kcly4i0hjnd12sf9l4rhk0vny5hdp5n1y8"; + sha256 = "1vzij845n2akh2lkpacgdc5r0f7nw6pk9l9vi1h8l8k4krjjbdzr"; name = "php-${version}.tar.bz2"; }; diff --git a/pkgs/development/interpreters/pyrex/0.9.5.nix b/pkgs/development/interpreters/pyrex/0.9.5.nix index 5ba57dbc1ea..3f6a3c1bfcb 100644 --- a/pkgs/development/interpreters/pyrex/0.9.5.nix +++ b/pkgs/development/interpreters/pyrex/0.9.5.nix @@ -1,26 +1,19 @@ -{ stdenv, fetchurl, builderDefs, python }: +{ stdenv, fetchurl, pythonPackages }: -let +let version = "0.9.5.1.1"; in - localDefs = builderDefs.passthru.function { +pythonPackages.buildPythonPackage rec { + name = "pyrex-${version}"; - src = fetchurl { - url = http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/oldtar/Pyrex-0.9.5.1.1.tar.gz; - sha256 = "0lxxvn4mjfb83swcbqb5908q4iy53w4ip5i0f9angm2va1jyhd3z"; - }; + src = fetchurl { + url = "http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/oldtar/Pyrex-${version}.tar.gz"; + sha256 = "0lxxvn4mjfb83swcbqb5908q4iy53w4ip5i0f9angm2va1jyhd3z"; + }; - buildInputs = [python]; + doCheck = false; - }; - -in with localDefs; - -stdenv.mkDerivation rec { - name = "pyrex-0.9.5.1.1"; - builder = writeScript (name + "-builder") - (textClosure localDefs [installPythonPackage doForceShare]); meta = { - description = "Python package compiler or something like that"; - inherit src; + homepage = http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/; + description = "A language for writing Python extension modules"; }; } diff --git a/pkgs/development/interpreters/pyrex/0.9.6.nix b/pkgs/development/interpreters/pyrex/0.9.6.nix index cd233415615..44e014322ff 100644 --- a/pkgs/development/interpreters/pyrex/0.9.6.nix +++ b/pkgs/development/interpreters/pyrex/0.9.6.nix @@ -1,26 +1,19 @@ -{ stdenv, fetchurl, builderDefs, python }: +{ stdenv, fetchurl, pythonPackages }: -let +let version = "0.9.6.4"; in - localDefs = builderDefs.passthru.function { - - src = fetchurl { - url = http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/oldtar/Pyrex-0.9.6.4.tar.gz; - sha256 = "18pd9f8al3l6i27cc0ddhgg7hxf28lnfs75x4a8jzscydxgiq5a8"; - }; - - buildInputs = [python]; +pythonPackages.buildPythonPackage rec { + name = "pyrex-${version}"; + src = fetchurl { + url = "http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/oldtar/Pyrex-${version}.tar.gz"; + sha256 = "18pd9f8al3l6i27cc0ddhgg7hxf28lnfs75x4a8jzscydxgiq5a8"; }; -in with localDefs; - -stdenv.mkDerivation rec { - name = "pyrex-0.9.6.4"; - builder = writeScript (name + "-builder") - (textClosure localDefs [installPythonPackage doForceShare]); + doCheck = false; + meta = { - description = "Python package compiler or something like that"; - inherit src; + homepage = http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/; + description = "A language for writing Python extension modules"; }; } diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix index 845ec772010..6b4fbe7df6c 100644 --- a/pkgs/development/libraries/fftw/default.nix +++ b/pkgs/development/libraries/fftw/default.nix @@ -1,15 +1,19 @@ -{fetchurl, stdenv, builderDefs, stringsWithDeps, singlePrecision ? false}: -let localDefs = builderDefs.passthru.function { +{fetchurl, stdenv, builderDefs, stringsWithDeps, singlePrecision ? false, pthreads ? false}: +let + version = "3.3.2"; + localDefs = builderDefs.passthru.function { src = fetchurl { - url = ftp://ftp.fftw.org/pub/fftw/fftw-3.2.2.tar.gz; - sha256 = "13vnglardq413q2518zi4a8pam3znydrz28m9w09kss9xrjsx9va"; + url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz"; + sha256 = "b1236a780ca6e66fc5f8eda6ef0665d680e8253d9f01d7bf211b714a50032d01"; }; buildInputs = []; - configureFlags = ["--enable-shared" "--enable-openmp"] + configureFlags = ["--enable-shared"] # some distros seem to be shipping both versions within the same package? # why does --enable-float still result in ..3f.so instead of ..3.so? ++ (if singlePrecision then [ "--enable-single" ] else [ ]) + ++ (stdenv.lib.optional (!pthreads) "--enable-openmp") + ++ (stdenv.lib.optional pthreads "--enable-threads") # I think all i686 has sse ++ (if (stdenv.isi686 || stdenv.isx86_64) && singlePrecision then [ "--enable-sse" ] else [ ]) # I think all x86_64 has sse2 @@ -18,8 +22,8 @@ let localDefs = builderDefs.passthru.function { }; in with localDefs; stdenv.mkDerivation { - name = "fftw-3.2.2" + ( if singlePrecision then "-single" else "-double" ); - builder = writeScript "fftw-3.2.1-builder" + name = "fftw-3.3.2" + ( if singlePrecision then "-single" else "-double" ); + builder = writeScript "fftw-3.3.2-builder" (textClosure localDefs [doConfigure doMakeInstall doForceShare]); meta = { description = "Fastest Fourier Transform in the West library"; diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix index 4bd0dfdc529..401433343da 100644 --- a/pkgs/development/libraries/gnutls/default.nix +++ b/pkgs/development/libraries/gnutls/default.nix @@ -1,15 +1,15 @@ { fetchurl, stdenv, zlib, lzo, libtasn1, nettle -, guileBindings, guile, perl, psmisc }: +, guileBindings, guile, perl }: assert guileBindings -> guile != null; -stdenv.mkDerivation rec { +stdenv.mkDerivation (rec { - name = "gnutls-3.0.18"; + name = "gnutls-3.0.22"; src = fetchurl { url = "mirror://gnu/gnutls/${name}.tar.xz"; - sha256 = "1ynqnj1j6rrzplk2i64dik34829r0y7lwk4qlvjx993q3mj7z863"; + sha256 = "1pp90fm27qi5cd0pq18xcmnl79xcbfwxc54bg1xi1wv0vryqdpcr"; }; configurePhase = '' @@ -29,13 +29,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ nettle libtasn1 ]; - # XXX: Disable tests on non-Linux because of the `mini-loss-time' hack - # below, which is Linux-specific. - doCheck = stdenv.isLinux; - - postCheck = - # Kill a process that's left behind. - stdenv.lib.optionalString doCheck "${psmisc}/bin/killall mini-loss-time"; + doCheck = true; meta = { description = "The GNU Transport Layer Security Library"; @@ -60,3 +54,10 @@ stdenv.mkDerivation rec { maintainers = [ stdenv.lib.maintainers.ludo ]; }; } + +// + +(stdenv.lib.optionalAttrs stdenv.isFreeBSD { + # FreeBSD doesn't have , and Gnulib's `alloca' module isn't used. + patches = [ ./guile-gnulib-includes.patch ]; +})) diff --git a/pkgs/development/libraries/gnutls/guile-gnulib-includes.patch b/pkgs/development/libraries/gnutls/guile-gnulib-includes.patch new file mode 100644 index 00000000000..1624d1f7ab9 --- /dev/null +++ b/pkgs/development/libraries/gnutls/guile-gnulib-includes.patch @@ -0,0 +1,17 @@ +commit 699ae6ef085c699dd5f3fb460b0f8a2408cc2860 +Author: Simon Josefsson +Date: Thu Aug 9 15:24:11 2012 +0200 + + Add gnulib -I's to guile-snarf command. + +--- gnutls-3.0.22/guile/src/Makefile.in 2012-08-04 20:52:39.000000000 +0200 ++++ gnutls-3.0.22/guile/src/Makefile.in 2012-08-11 21:55:20.000000000 +0200 +@@ -1564,7 +1564,7 @@ AM_CPPFLAGS = \ + # `$(GUILE_CFLAGS)' may contain a series of `-I' switches so it must be + # included here, even though we'd really want `$(GUILE_CPPFLAGS)'. + snarfcppopts = $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ +- $(CFLAGS) $(AM_CFLAGS) $(GUILE_CFLAGS) ++ $(CFLAGS) $(guile_gnutls_v_2_la_CFLAGS) + + all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am diff --git a/pkgs/development/libraries/haskell/AspectAG/default.nix b/pkgs/development/libraries/haskell/AspectAG/default.nix index 3b2df825a73..6cbd760b4ac 100644 --- a/pkgs/development/libraries/haskell/AspectAG/default.nix +++ b/pkgs/development/libraries/haskell/AspectAG/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "AspectAG"; - version = "0.3.4.1"; - sha256 = "12iaf27crynwnnd7qm1zvvaj6zw6i6c05mb4dsq55dnhph2l356g"; + version = "0.3.6.1"; + sha256 = "01pglvf38v5ii2w03kdlgngxbb3ih0j5bsilv5qwc9vrh2iwirhf"; buildDepends = [ HList mtl ]; meta = { homepage = "http://www.cs.uu.nl/wiki/bin/view/Center/AspectAG"; diff --git a/pkgs/development/libraries/haskell/Chart/default.nix b/pkgs/development/libraries/haskell/Chart/default.nix index 4c4584bf9a2..a59e4ca7f42 100644 --- a/pkgs/development/libraries/haskell/Chart/default.nix +++ b/pkgs/development/libraries/haskell/Chart/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "Chart"; - version = "0.15"; - sha256 = "1357gqn2ifalknl85n2z9ysf195dnaxm175rp0kmmzbf4vik9gc4"; + version = "0.16"; + sha256 = "1mb8hgxj0i5s7l061pfn49m5f6qdwvmgy6ni7jmg85vpy6b7jra3"; buildDepends = [ cairo colour dataAccessor dataAccessorTemplate mtl time ]; diff --git a/pkgs/development/libraries/haskell/HStringTemplate/default.nix b/pkgs/development/libraries/haskell/HStringTemplate/default.nix index 0048a9c470d..6754c15f3f4 100644 --- a/pkgs/development/libraries/haskell/HStringTemplate/default.nix +++ b/pkgs/development/libraries/haskell/HStringTemplate/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "HStringTemplate"; - version = "0.6.8"; - sha256 = "1fybvb3v2b786n1hfzcvyanj3yfm5j8z4fm48vaskcggawh6rlkr"; + version = "0.6.9"; + sha256 = "0xa665q5gya51vjkg1i6f6qk67jx28xcbxs5v1d9yr1f8djh5d9v"; buildDepends = [ deepseq filepath mtl parsec syb sybWithClass text time utf8String ]; diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.5.1.nix b/pkgs/development/libraries/haskell/HUnit/1.2.5.1.nix new file mode 100644 index 00000000000..06ac5fa1bbf --- /dev/null +++ b/pkgs/development/libraries/haskell/HUnit/1.2.5.1.nix @@ -0,0 +1,15 @@ +{ cabal, deepseq }: + +cabal.mkDerivation (self: { + pname = "HUnit"; + version = "1.2.5.1"; + sha256 = "0wa4yqgfyrfxzhdyd04xvzi4qaswbg0rrbywz8sxzkp71v91a35w"; + buildDepends = [ deepseq ]; + meta = { + homepage = "http://hunit.sourceforge.net/"; + description = "A unit testing framework for Haskell"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/Hipmunk/default.nix b/pkgs/development/libraries/haskell/Hipmunk/default.nix index d6c3b5ffc23..fee71449142 100644 --- a/pkgs/development/libraries/haskell/Hipmunk/default.nix +++ b/pkgs/development/libraries/haskell/Hipmunk/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "Hipmunk"; - version = "5.2.0.8"; - sha256 = "0xsckndxmzbp32fqb8i90k21rz0xjj3smxjijw742l637p3mv5zw"; + version = "5.2.0.10"; + sha256 = "0kq6dlx1g7dra7nsfmrc13yvnl7wh00fadmgln9v2vyf0ww82x95"; buildDepends = [ StateVar transformers ]; meta = { homepage = "http://patch-tag.com/r/felipe/hipmunk/home"; diff --git a/pkgs/development/libraries/haskell/HsOpenSSL/default.nix b/pkgs/development/libraries/haskell/HsOpenSSL/default.nix index 20213051694..3a4c94e33a2 100644 --- a/pkgs/development/libraries/haskell/HsOpenSSL/default.nix +++ b/pkgs/development/libraries/haskell/HsOpenSSL/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "HsOpenSSL"; - version = "0.10.3.1"; - sha256 = "0dilmaibx18mfg4c8g96c1svhynhkrq4i5zzv3wg0a550g3xc0py"; + version = "0.10.3.2"; + sha256 = "15mlllzw8ahvrx259bz5vwisdig7bvkany1qjhmz6y8v2rcplr7f"; buildDepends = [ network time ]; extraLibraries = [ openssl ]; meta = { diff --git a/pkgs/development/libraries/haskell/IOSpec/default.nix b/pkgs/development/libraries/haskell/IOSpec/default.nix new file mode 100644 index 00000000000..84b5f6fe610 --- /dev/null +++ b/pkgs/development/libraries/haskell/IOSpec/default.nix @@ -0,0 +1,14 @@ +{ cabal, mtl, QuickCheck, Stream }: + +cabal.mkDerivation (self: { + pname = "IOSpec"; + version = "0.2.5"; + sha256 = "0r6vqg39h6vzwlb33cvk72k4mh6jd8rpdcnkqsfxdqmsk7h8x84j"; + buildDepends = [ mtl QuickCheck Stream ]; + meta = { + description = "A pure specification of the IO monad"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/JuicyPixels/default.nix b/pkgs/development/libraries/haskell/JuicyPixels/default.nix new file mode 100644 index 00000000000..a99f8295c60 --- /dev/null +++ b/pkgs/development/libraries/haskell/JuicyPixels/default.nix @@ -0,0 +1,19 @@ +{ cabal, cereal, deepseq, mtl, primitive, transformers, vector +, zlib +}: + +cabal.mkDerivation (self: { + pname = "JuicyPixels"; + version = "1.3"; + sha256 = "07wljfag4ylw16wdi7znjb61pfihdik5d7p4h2lmz6xirm4mjzrm"; + buildDepends = [ + cereal deepseq mtl primitive transformers vector zlib + ]; + meta = { + homepage = "https://github.com/Twinside/Juicy.Pixels"; + description = "Picture loading/serialization (in png, jpeg and bitmap)"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/SHA/default.nix b/pkgs/development/libraries/haskell/SHA/default.nix index d1eff38c0d7..956b1a8f8a3 100644 --- a/pkgs/development/libraries/haskell/SHA/default.nix +++ b/pkgs/development/libraries/haskell/SHA/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "SHA"; - version = "1.5.0.1"; - sha256 = "1nyj50hyka2fnk9nnidygl8d52xgvmj9m8aywjzbzdaxxrmdab8g"; + version = "1.5.1"; + sha256 = "009c0nabva0c4aq4yhqdmdqmrrjmg8scpy7yz65bbhqnfwnjvdks"; isLibrary = true; isExecutable = true; buildDepends = [ binary ]; diff --git a/pkgs/development/libraries/haskell/Shellac/Shellac-haskeline.nix b/pkgs/development/libraries/haskell/Shellac/Shellac-haskeline.nix deleted file mode 100644 index 9f75a09ee69..00000000000 --- a/pkgs/development/libraries/haskell/Shellac/Shellac-haskeline.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ cabal, haskeline, mtl, Shellac }: - -cabal.mkDerivation (self: { - pname = "Shellac-haskeline"; - version = "0.2.0.1"; - sha256 = "1xvs2ni83yyf7rx3ikmn2bkx20fyj03d03crqyyfw28mikhgv5br"; - buildDepends = [ haskeline mtl Shellac ]; - patchPhase = '' - sed -i -e 's|mtl>=1.1 && < 2.1|mtl|' Shellac-haskeline.cabal - ''; - meta = { - description = "Haskeline backend module for Shellac"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/Shellac/Shellac-readline.nix b/pkgs/development/libraries/haskell/Shellac/Shellac-readline.nix deleted file mode 100644 index a39ddf3383e..00000000000 --- a/pkgs/development/libraries/haskell/Shellac/Shellac-readline.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ cabal, readline, Shellac }: - -cabal.mkDerivation (self: { - pname = "Shellac-readline"; - version = "0.9"; - sha256 = "3edffecf2225c199f0a4df55e3685f7deee47755ae7f8d03f5da7fac3c2ab878"; - buildDepends = [ readline Shellac ]; - meta = { - description = "Readline backend module for Shellac"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.andres ]; - }; -}) diff --git a/pkgs/development/libraries/haskell/Vec/default.nix b/pkgs/development/libraries/haskell/Vec/default.nix index 77cc9e37a9d..85fdcfd0b4a 100644 --- a/pkgs/development/libraries/haskell/Vec/default.nix +++ b/pkgs/development/libraries/haskell/Vec/default.nix @@ -2,10 +2,10 @@ cabal.mkDerivation (self: { pname = "Vec"; - version = "0.9.9"; - sha256 = "1ms6w8003aplcndqglw2gxj0ji4m3jki9ndj5gni24w8dqiy5x47"; + version = "1.0.1"; + sha256 = "1v0v0ph881vynx8q8xwmn9da6qrd16g83q5i132nxys3ynl5s76m"; meta = { - homepage = "http://graphics.cs.ucdavis.edu/~sdillard/Vec"; + homepage = "http://github.net/sedillard/Vec"; description = "Fixed-length lists and low-dimensional linear algebra"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/libraries/haskell/accelerate-cuda/default.nix b/pkgs/development/libraries/haskell/accelerate-cuda/default.nix index 4ed0f4ea5e3..ff9a98cbb59 100644 --- a/pkgs/development/libraries/haskell/accelerate-cuda/default.nix +++ b/pkgs/development/libraries/haskell/accelerate-cuda/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "accelerate-cuda"; - version = "0.12.1.0"; - sha256 = "1y6viivizv4frdh3xk5wqhs7wwnhqyjr9wid1y1d5l42mz41vp84"; + version = "0.12.1.1"; + sha256 = "1kj9i6djjb46ad3dnzk72mf33r8h1mjxljs7x5rf2d658hqk5yfv"; buildDepends = [ accelerate binary blazeBuilder cryptohash cuda fclabels filepath hashable hashtables languageCQuote mainlandPretty mtl srcloc diff --git a/pkgs/development/libraries/haskell/async/default.nix b/pkgs/development/libraries/haskell/async/default.nix index 36c9a839ab0..ca759009817 100644 --- a/pkgs/development/libraries/haskell/async/default.nix +++ b/pkgs/development/libraries/haskell/async/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "async"; - version = "2.0.1.0"; - sha256 = "00yfxp18zhfjnxz0bqzym0ikarzsa75yw5pi33dsyv9kivra3k5q"; + version = "2.0.1.1"; + sha256 = "132xr0sb3j02s134my4p7khj95d3v3jlpxqjrgn6h8brw0gp6wcq"; buildDepends = [ stm ]; meta = { homepage = "https://github.com/simonmar/async"; diff --git a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix index d59ebcaf267..db4ebc6799d 100644 --- a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix +++ b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix @@ -2,12 +2,12 @@ cabal.mkDerivation (self: { pname = "attoparsec-conduit"; - version = "0.4.0.1"; - sha256 = "1r01xaaw439qpbfnanv2yfw9fz6id8cy17yqdm6x6vk35hmv59kc"; + version = "0.5.0"; + sha256 = "17l98kbv2pxcchacy7r4ja0czdklc7r4j8vzv3pi0pjb2s9ih6sq"; buildDepends = [ attoparsec conduit text transformers ]; meta = { homepage = "http://github.com/snoyberg/conduit"; - description = "Turn attoparsec parsers into sinks"; + description = "Consume attoparsec parsers via conduit"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; diff --git a/pkgs/development/libraries/haskell/authenticate/default.nix b/pkgs/development/libraries/haskell/authenticate/default.nix index 679e9d39e02..9620fb9ecc5 100644 --- a/pkgs/development/libraries/haskell/authenticate/default.nix +++ b/pkgs/development/libraries/haskell/authenticate/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "authenticate"; - version = "1.2.1.1"; - sha256 = "0kfzsi8za87lgr52b9n6m9fby95d4hm21z7dbaqjv5whr90nwy54"; + version = "1.3.0.1"; + sha256 = "12s1ri2k0hmaws1rnr4s8ck1wa14lhcih0pzi89hjh7jh8si3dl3"; buildDepends = [ aeson attoparsec blazeBuilder blazeBuilderConduit caseInsensitive conduit httpConduit httpTypes monadControl network resourcet diff --git a/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix b/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix index 020bce0a82c..3eccd0a4ffa 100644 --- a/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix +++ b/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "base-unicode-symbols"; - version = "0.2.2.3"; - sha256 = "0803ncdydkxivn4kcjfn9v0lm43xg47y5iws7lajhhyg6v4zq08j"; + version = "0.2.2.4"; + sha256 = "1afc5pchd3vw33bmjbjygkd0l5zh7glbsx4bfyxfscpc1x1l3y52"; meta = { homepage = "http://haskell.org/haskellwiki/Unicode-symbols"; description = "Unicode alternatives for common functions and operators"; diff --git a/pkgs/development/libraries/haskell/benchpress/default.nix b/pkgs/development/libraries/haskell/benchpress/default.nix index 8be4478ce63..c80f04f966d 100644 --- a/pkgs/development/libraries/haskell/benchpress/default.nix +++ b/pkgs/development/libraries/haskell/benchpress/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "benchpress"; - version = "0.2.2.4"; - sha256 = "0cabjx0gkbk5blqkm9pmnz8kmi3573367365gny4r3m431iwxgnf"; + version = "0.2.2.6"; + sha256 = "19ygaf2g4yqkfbc6bw6fmf9jsymbj1iallzvl0zw3vjx860rchfg"; buildDepends = [ mtl time ]; meta = { homepage = "http://github.com/tibbe/benchpress"; diff --git a/pkgs/development/libraries/haskell/binary/default.nix b/pkgs/development/libraries/haskell/binary/default.nix index 01a9483c554..a8fefba0274 100644 --- a/pkgs/development/libraries/haskell/binary/default.nix +++ b/pkgs/development/libraries/haskell/binary/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "binary"; - version = "0.5.1.0"; - sha256 = "18si0f021447b1kqshar224zyh02gc65z7v82waxcn4igss7gm1a"; + version = "0.5.1.1"; + sha256 = "0s62a92a2wwp8hdmkc6j6i9lh5mi6z1yd26fbhsbbm8bxah64pcl"; meta = { homepage = "http://code.haskell.org/binary/"; description = "Binary serialisation for Haskell values using lazy ByteStrings"; diff --git a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix index 127ac09edf5..db3e1e8a71f 100644 --- a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix +++ b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "blaze-builder-conduit"; - version = "0.4.0.2"; - sha256 = "0wblkvh1v7275n1i66xmm3kg57i21s8m2sfwfnjarwbcjqbgrjih"; + version = "0.5.0"; + sha256 = "1saviq46670khz3pcw2ldvbhhgqs522lvbpm62mxjfvrynjw1gwg"; buildDepends = [ blazeBuilder conduit text transformers ]; meta = { homepage = "http://github.com/snoyberg/conduit"; diff --git a/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix b/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix index a953d9f4525..00176d215ba 100644 --- a/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix +++ b/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "blaze-builder-enumerator"; - version = "0.2.0.4"; - sha256 = "1zwp9hcjsmy5p5i436ajvl86zl1z4pzcfp6c57sj8vfr08rrrkq9"; + version = "0.2.0.5"; + sha256 = "0bbbv9wwzw9ss3d02mszdzxzhg6pcrnpwir9bvby7xkmfqpyffaa"; buildDepends = [ blazeBuilder enumerator transformers ]; meta = { homepage = "https://github.com/meiersi/blaze-builder-enumerator"; diff --git a/pkgs/development/libraries/haskell/brainfuck/default.nix b/pkgs/development/libraries/haskell/brainfuck/default.nix new file mode 100644 index 00000000000..a406d1fa500 --- /dev/null +++ b/pkgs/development/libraries/haskell/brainfuck/default.nix @@ -0,0 +1,16 @@ +{ cabal, mtl }: + +cabal.mkDerivation (self: { + pname = "brainfuck"; + version = "0.1"; + sha256 = "0lsw62g4ir8idjjadsdf46p8mqd88mysn0b499bk3x5l5js858z3"; + isLibrary = true; + isExecutable = true; + buildDepends = [ mtl ]; + meta = { + description = "Brainfuck interpreter"; + license = "GPL"; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/certificate/default.nix b/pkgs/development/libraries/haskell/certificate/default.nix index 89410dbcb00..1f2cdd40238 100644 --- a/pkgs/development/libraries/haskell/certificate/default.nix +++ b/pkgs/development/libraries/haskell/certificate/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "certificate"; - version = "1.2.3"; - sha256 = "0xn46327a50vj70d26gc4z2rn4l6qk77j7mkdwg1j2yh6mcn0n7a"; + version = "1.2.4"; + sha256 = "079364567cshfj2bc0lbj933jcgdqisvv8m0czlyscb4hd10vfg7"; isLibrary = true; isExecutable = true; buildDepends = [ asn1Data cryptoPubkeyTypes mtl pem time ]; diff --git a/pkgs/development/libraries/haskell/clientsession/default.nix b/pkgs/development/libraries/haskell/clientsession/default.nix index 08e81eaa98f..da933207e23 100644 --- a/pkgs/development/libraries/haskell/clientsession/default.nix +++ b/pkgs/development/libraries/haskell/clientsession/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "clientsession"; - version = "0.7.5"; - sha256 = "1q2zlq06s0d476ywvb1fkxw34aagcaiqw7jrrmr3lj89q3ylhivr"; + version = "0.8.0"; + sha256 = "1ypd5ki4lvwriw922p65hmj41sargawah1gnwi0q08vc7iagq64k"; buildDepends = [ base64Bytestring cereal cprngAes cryptoApi cryptocipher entropy skein tagged diff --git a/pkgs/development/libraries/haskell/cmdargs/default.nix b/pkgs/development/libraries/haskell/cmdargs/default.nix index 55c50cb99fb..38b0bf24bcb 100644 --- a/pkgs/development/libraries/haskell/cmdargs/default.nix +++ b/pkgs/development/libraries/haskell/cmdargs/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "cmdargs"; - version = "0.9.5"; - sha256 = "0ihanswhq5d29d9ll5q4grkbaq64dwfsayws7y4xa387d5s9p3iv"; + version = "0.9.7"; + sha256 = "0w3y94hjq5w1i2vcj45jfdbi1iadib2nsv0pa3w9dmqvn9wxlvz4"; isLibrary = true; isExecutable = true; buildDepends = [ filepath transformers ]; diff --git a/pkgs/development/libraries/haskell/comonad-transformers/2.1.2.nix b/pkgs/development/libraries/haskell/comonad-transformers/2.1.2.nix new file mode 100644 index 00000000000..1dd7c212c71 --- /dev/null +++ b/pkgs/development/libraries/haskell/comonad-transformers/2.1.2.nix @@ -0,0 +1,19 @@ +{ cabal, comonad, contravariant, distributive, semigroupoids +, semigroups, transformers +}: + +cabal.mkDerivation (self: { + pname = "comonad-transformers"; + version = "2.1.2"; + sha256 = "0yhpsifnqxrg1p8f9hjslwkrakiaxa2kk9726q923a5sj225cvis"; + buildDepends = [ + comonad contravariant distributive semigroupoids semigroups + transformers + ]; + meta = { + homepage = "http://github.com/ekmett/comonad-transformers/"; + description = "Comonad transformers"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/comonad-transformers/3.0.nix b/pkgs/development/libraries/haskell/comonad-transformers/3.0.nix new file mode 100644 index 00000000000..bc378235b91 --- /dev/null +++ b/pkgs/development/libraries/haskell/comonad-transformers/3.0.nix @@ -0,0 +1,19 @@ +{ cabal, comonad, contravariant, distributive, semigroupoids +, semigroups, transformers +}: + +cabal.mkDerivation (self: { + pname = "comonad-transformers"; + version = "3.0"; + sha256 = "1bjix61rdzmqcd1irh6p91jwy4sz1617sj4zic07p7ng9h7fsz24"; + buildDepends = [ + comonad contravariant distributive semigroupoids semigroups + transformers + ]; + meta = { + homepage = "http://github.com/ekmett/comonad-transformers/"; + description = "Comonad transformers"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/comonad/1.1.1.6.nix b/pkgs/development/libraries/haskell/comonad/1.1.1.6.nix new file mode 100644 index 00000000000..53e014fb8ac --- /dev/null +++ b/pkgs/development/libraries/haskell/comonad/1.1.1.6.nix @@ -0,0 +1,14 @@ +{ cabal, semigroups, transformers }: + +cabal.mkDerivation (self: { + pname = "comonad"; + version = "1.1.1.6"; + sha256 = "1sg0pa7393mzfm27pl52nchplhkls3k0f4ff8vzk76wzrgvhysg5"; + buildDepends = [ semigroups transformers ]; + meta = { + homepage = "http://github.com/ekmett/comonad/"; + description = "Haskell 98 compatible comonads"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/comonad/3.0.0.1.nix b/pkgs/development/libraries/haskell/comonad/3.0.0.1.nix new file mode 100644 index 00000000000..b73e29fc1e0 --- /dev/null +++ b/pkgs/development/libraries/haskell/comonad/3.0.0.1.nix @@ -0,0 +1,14 @@ +{ cabal, semigroups, transformers }: + +cabal.mkDerivation (self: { + pname = "comonad"; + version = "3.0.0.1"; + sha256 = "03xslpfil96v1qgk2g29vi46mb7l0fafy446ng1p4xgq9ddb2yaz"; + buildDepends = [ semigroups transformers ]; + meta = { + homepage = "http://github.com/ekmett/comonad/"; + description = "Haskell 98 compatible comonads"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix index 9c2b377aa8a..6ed4ae90221 100644 --- a/pkgs/development/libraries/haskell/conduit/default.nix +++ b/pkgs/development/libraries/haskell/conduit/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "conduit"; - version = "0.4.2"; - sha256 = "1v8s80g8gyxb139dzqbbh4qv6ax08g5smrvx2zc5sd2773wwqwz0"; + version = "0.5.2.3"; + sha256 = "1snyh9zxdmvjb1ilaz6c2z5220r7ygshmcq013nch44b6w3r3cp9"; buildDepends = [ liftedBase monadControl resourcet text transformers transformersBase void diff --git a/pkgs/development/libraries/haskell/configurator/default.nix b/pkgs/development/libraries/haskell/configurator/default.nix new file mode 100644 index 00000000000..0c4c610106e --- /dev/null +++ b/pkgs/development/libraries/haskell/configurator/default.nix @@ -0,0 +1,18 @@ +{ cabal, attoparsec, hashable, text, unixCompat +, unorderedContainers +}: + +cabal.mkDerivation (self: { + pname = "configurator"; + version = "0.2.0.0"; + sha256 = "0zkcmziyfq2sm9i75ysi5nxd21fynp88m0safhmn3jld7plj03la"; + buildDepends = [ + attoparsec hashable text unixCompat unorderedContainers + ]; + meta = { + homepage = "http://github.com/bos/configurator"; + description = "Configuration management"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/contravariant/default.nix b/pkgs/development/libraries/haskell/contravariant/default.nix new file mode 100644 index 00000000000..526b9e1f997 --- /dev/null +++ b/pkgs/development/libraries/haskell/contravariant/default.nix @@ -0,0 +1,14 @@ +{ cabal, transformers }: + +cabal.mkDerivation (self: { + pname = "contravariant"; + version = "0.2.0.2"; + sha256 = "0142s1c914zbfnvysvcc9s3bv8qs6wimnqcmxca1gxaxqvyfkf3p"; + buildDepends = [ transformers ]; + meta = { + homepage = "http://github.com/ekmett/contravariant/"; + description = "Haskell 98 contravariant functors"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/crypto-conduit/default.nix b/pkgs/development/libraries/haskell/crypto-conduit/default.nix index 747cbbf2864..e76d5967836 100644 --- a/pkgs/development/libraries/haskell/crypto-conduit/default.nix +++ b/pkgs/development/libraries/haskell/crypto-conduit/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "crypto-conduit"; - version = "0.3.2"; - sha256 = "09f6l60wcblp15hx3hppskjsyah9bh6jwqqr4dvl6j03011gx4id"; + version = "0.4.0"; + sha256 = "15x7v6vmmd90mrb60wllvdai8fk8cvm5bkxzzqyjikshldvlhmas"; buildDepends = [ cereal conduit cryptoApi transformers ]; meta = { homepage = "https://github.com/meteficha/crypto-conduit"; diff --git a/pkgs/development/libraries/haskell/data-default/default.nix b/pkgs/development/libraries/haskell/data-default/default.nix index 41728d393f8..893f2121f0a 100644 --- a/pkgs/development/libraries/haskell/data-default/default.nix +++ b/pkgs/development/libraries/haskell/data-default/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "data-default"; - version = "0.4.0"; - sha256 = "1pil8dxbk0zl2zw1xj9h2bpwpdriwfd7aj48kh0xpw9yazg3m802"; + version = "0.5.0"; + sha256 = "1wv8wjd9j40s7h19aph5pqph7rby5ma1nlagqywn9q0634iq9n2a"; buildDepends = [ dlist ]; meta = { description = "A class for types with a default value"; diff --git a/pkgs/development/libraries/haskell/data-inttrie/default.nix b/pkgs/development/libraries/haskell/data-inttrie/default.nix new file mode 100644 index 00000000000..926d465065d --- /dev/null +++ b/pkgs/development/libraries/haskell/data-inttrie/default.nix @@ -0,0 +1,14 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "data-inttrie"; + version = "0.0.7"; + sha256 = "19d586p2pj38pirrkip9z6yxrdbpiqsbnczmnyvd8slndilqz0ip"; + meta = { + homepage = "http://github.com/luqui/data-inttrie"; + description = "A lazy, infinite trie of integers"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/data-lens-template/default.nix b/pkgs/development/libraries/haskell/data-lens-template/default.nix new file mode 100644 index 00000000000..fc058b92e54 --- /dev/null +++ b/pkgs/development/libraries/haskell/data-lens-template/default.nix @@ -0,0 +1,14 @@ +{ cabal, dataLens }: + +cabal.mkDerivation (self: { + pname = "data-lens-template"; + version = "2.1.5"; + sha256 = "09i9lby5jd2kcg0l7y4hkga7jxixcpqw4dc7h1kngqdz92a1ydxc"; + buildDepends = [ dataLens ]; + meta = { + homepage = "http://github.com/ekmett/data-lens-template/"; + description = "Utilities for Data.Lens"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/data-lens/default.nix b/pkgs/development/libraries/haskell/data-lens/default.nix new file mode 100644 index 00000000000..e4cff67f376 --- /dev/null +++ b/pkgs/development/libraries/haskell/data-lens/default.nix @@ -0,0 +1,17 @@ +{ cabal, comonad, comonadTransformers, semigroupoids, transformers +}: + +cabal.mkDerivation (self: { + pname = "data-lens"; + version = "2.10.2"; + sha256 = "1mv4lh5rhmq09d89ci07kj9anv7ckrlqh9x3xr4jq9idf7sf54b5"; + buildDepends = [ + comonad comonadTransformers semigroupoids transformers + ]; + meta = { + homepage = "http://github.com/roconnor/data-lens/"; + description = "Haskell 98 Lenses"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/data-memocombinators/default.nix b/pkgs/development/libraries/haskell/data-memocombinators/default.nix new file mode 100644 index 00000000000..25f063c20ac --- /dev/null +++ b/pkgs/development/libraries/haskell/data-memocombinators/default.nix @@ -0,0 +1,15 @@ +{ cabal, dataInttrie }: + +cabal.mkDerivation (self: { + pname = "data-memocombinators"; + version = "0.4.3"; + sha256 = "0mzvjgccm23y7mfaz9iwdy64amf69d7i8yq9fc9mjx1nyzxdrgsc"; + buildDepends = [ dataInttrie ]; + meta = { + homepage = "http://github.com/luqui/data-memocombinators"; + description = "Combinators for building memo tables"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/derive/default.nix b/pkgs/development/libraries/haskell/derive/default.nix index c05f7fd0231..ff65518e7f9 100644 --- a/pkgs/development/libraries/haskell/derive/default.nix +++ b/pkgs/development/libraries/haskell/derive/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "derive"; - version = "2.5.9"; - sha256 = "1rws401dpdck7c9jxfv9h46r06vn730lw1fsxvvidnf3hlr0yyk5"; + version = "2.5.10"; + sha256 = "0r5qcchs6kw080pw95r442yk1ld48lk2imn7apk0ibkx53i4mqls"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix new file mode 100644 index 00000000000..acc75a3552a --- /dev/null +++ b/pkgs/development/libraries/haskell/digestive-functors-heist/default.nix @@ -0,0 +1,14 @@ +{ cabal, digestiveFunctors, heist, text, xmlhtml }: + +cabal.mkDerivation (self: { + pname = "digestive-functors-heist"; + version = "0.5.0.0"; + sha256 = "1cqzpnr53mailnmjgkbqk4f4hrjd84h6682mr8x7qg5v27zvcdbn"; + buildDepends = [ digestiveFunctors heist text xmlhtml ]; + meta = { + homepage = "http://github.com/jaspervdj/digestive-functors"; + description = "Heist frontend for the digestive-functors library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix b/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix new file mode 100644 index 00000000000..3d5725e603f --- /dev/null +++ b/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix @@ -0,0 +1,14 @@ +{ cabal, digestiveFunctors, filepath, mtl, snapCore, text }: + +cabal.mkDerivation (self: { + pname = "digestive-functors-snap"; + version = "0.5.0.0"; + sha256 = "01lbd42rsryzqzra8ax22iw6c9fyv5az8q7dkdi6yyfxdq976l0x"; + buildDepends = [ digestiveFunctors filepath mtl snapCore text ]; + meta = { + homepage = "http://github.com/jaspervdj/digestive-functors"; + description = "Snap backend for the digestive-functors library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/digestive-functors/default.nix b/pkgs/development/libraries/haskell/digestive-functors/default.nix new file mode 100644 index 00000000000..d6d4710f306 --- /dev/null +++ b/pkgs/development/libraries/haskell/digestive-functors/default.nix @@ -0,0 +1,14 @@ +{ cabal, mtl, text }: + +cabal.mkDerivation (self: { + pname = "digestive-functors"; + version = "0.5.0.2"; + sha256 = "1phakcljl6ri2p9lfzjnn001jw0inyxa5zd7lp2k9lhq1yq0byb0"; + buildDepends = [ mtl text ]; + meta = { + homepage = "http://github.com/jaspervdj/digestive-functors"; + description = "A practical formlet library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/directory-tree/default.nix b/pkgs/development/libraries/haskell/directory-tree/default.nix index f99e043cf9e..65148f10a22 100644 --- a/pkgs/development/libraries/haskell/directory-tree/default.nix +++ b/pkgs/development/libraries/haskell/directory-tree/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "directory-tree"; - version = "0.10.0"; - sha256 = "08b0w9j55x6c06pri7yvv84n24inhpb4miybdnkyjkjy7r3yy7m4"; + version = "0.10.1"; + sha256 = "02acmfdw1yjb0h9dpjy04xxclsasm1p0m6w1dvccd4x2aqc6ybbw"; buildDepends = [ filepath ]; meta = { homepage = "http://coder.bsimmons.name/blog/2009/05/directory-tree-module-released/"; diff --git a/pkgs/development/libraries/haskell/distributive/default.nix b/pkgs/development/libraries/haskell/distributive/default.nix new file mode 100644 index 00000000000..a8b07c608d8 --- /dev/null +++ b/pkgs/development/libraries/haskell/distributive/default.nix @@ -0,0 +1,14 @@ +{ cabal, transformers }: + +cabal.mkDerivation (self: { + pname = "distributive"; + version = "0.2.2"; + sha256 = "13wvr2wb3h2nr1qd3dwjqx0b6g4igjqm3q2cyi4mc41gwihkbhr2"; + buildDepends = [ transformers ]; + meta = { + homepage = "http://github.com/ekmett/distributive/"; + description = "Haskell 98 Distributive functors -- Dual to Traversable"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/fast-logger/default.nix b/pkgs/development/libraries/haskell/fast-logger/default.nix index 56248997723..6491515624a 100644 --- a/pkgs/development/libraries/haskell/fast-logger/default.nix +++ b/pkgs/development/libraries/haskell/fast-logger/default.nix @@ -1,10 +1,10 @@ -{ cabal, blazeBuilder, filepath }: +{ cabal, blazeBuilder, filepath, text, unixTime }: cabal.mkDerivation (self: { pname = "fast-logger"; - version = "0.0.2"; - sha256 = "1pwxhgcy4lmc63dnr9fihkmiclf60hrnsv8wzbsdg0jcj4qi0zr7"; - buildDepends = [ blazeBuilder filepath ]; + version = "0.2.1"; + sha256 = "12avan85dkwipp8hqsya8yslirykz2yvqmns3wjhwl9j30idj7r3"; + buildDepends = [ blazeBuilder filepath text unixTime ]; meta = { description = "A fast logging system"; license = self.stdenv.lib.licenses.bsd3; diff --git a/pkgs/development/libraries/haskell/fclabels/default.nix b/pkgs/development/libraries/haskell/fclabels/default.nix index 5f62315a972..25ec69c8459 100644 --- a/pkgs/development/libraries/haskell/fclabels/default.nix +++ b/pkgs/development/libraries/haskell/fclabels/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "fclabels"; - version = "1.1.3"; - sha256 = "1f8aav4gcpixmnnwcml0aqsqswb8fc0rp986nbyap22gmcw4hflx"; + version = "1.1.4"; + sha256 = "0b15nvnsxckw75q7dgrfxnnjc93ah140gi3s5wpb41q0fnvl9npz"; buildDepends = [ mtl transformers ]; meta = { description = "First class accessor labels"; diff --git a/pkgs/development/libraries/haskell/gitit/default.nix b/pkgs/development/libraries/haskell/gitit/default.nix index 7f15c201999..148750e9ddc 100644 --- a/pkgs/development/libraries/haskell/gitit/default.nix +++ b/pkgs/development/libraries/haskell/gitit/default.nix @@ -18,6 +18,9 @@ cabal.mkDerivation (self: { safe SHA syb tagsoup text time url utf8String xhtml xml xssSanitize zlib ]; + patchPhase = '' + sed -i -e 's|hslogger.*,|hslogger,|' gitit.cabal + ''; meta = { homepage = "http://gitit.net"; description = "Wiki using happstack, git or darcs, and pandoc"; diff --git a/pkgs/development/libraries/haskell/glpk-hs/default.nix b/pkgs/development/libraries/haskell/glpk-hs/default.nix new file mode 100644 index 00000000000..621a7e9c4c5 --- /dev/null +++ b/pkgs/development/libraries/haskell/glpk-hs/default.nix @@ -0,0 +1,15 @@ +{ cabal, deepseq, glpk, mtl }: + +cabal.mkDerivation (self: { + pname = "glpk-hs"; + version = "0.3.2"; + sha256 = "0y7imgzcnh6x36m5f6mns5ay1xhxy5p6i5nh16p2ywzjj0padcg8"; + buildDepends = [ deepseq mtl ]; + extraLibraries = [ glpk ]; + meta = { + description = "Comprehensive GLPK linear programming bindings"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix index 11e4d90205c..4224bfe1216 100644 --- a/pkgs/development/libraries/haskell/hakyll/default.nix +++ b/pkgs/development/libraries/haskell/hakyll/default.nix @@ -1,16 +1,16 @@ { cabal, binary, blazeHtml, blazeMarkup, citeprocHs, cryptohash -, filepath, hamlet, mtl, pandoc, parsec, regexBase, regexTdfa -, snapCore, snapServer, tagsoup, text, time +, filepath, hamlet, lrucache, mtl, pandoc, parsec, regexBase +, regexTdfa, snapCore, snapServer, tagsoup, text, time }: cabal.mkDerivation (self: { pname = "hakyll"; - version = "3.3.0.1"; - sha256 = "1rymj7j97803hy7nv235m29m0rird1c0ik81mkaicdfiabkihmrq"; + version = "3.4.1.0"; + sha256 = "028wq61kvh2nkz8dxbpcnvic1vlqnz1a2l1xrvficmvk25qyqmvy"; buildDepends = [ binary blazeHtml blazeMarkup citeprocHs cryptohash filepath hamlet - mtl pandoc parsec regexBase regexTdfa snapCore snapServer tagsoup - text time + lrucache mtl pandoc parsec regexBase regexTdfa snapCore snapServer + tagsoup text time ]; meta = { homepage = "http://jaspervdj.be/hakyll"; diff --git a/pkgs/development/libraries/haskell/hamlet/default.nix b/pkgs/development/libraries/haskell/hamlet/default.nix index addc495d867..31d1ad66d2e 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.0.1.4"; - sha256 = "0rvsp54wrhaz5pnn136w1xlny9dkwv48ihyhq02yg5gg510v08v7"; + version = "1.1.0.2"; + sha256 = "0knkc43ldz3jhn3pmsysqbzlsp8akh9kiyy2jncra9y0xhminpqy"; buildDepends = [ blazeBuilder blazeHtml blazeMarkup failure parsec shakespeare text ]; diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix index 97cfd0173b9..d171795d266 100644 --- a/pkgs/development/libraries/haskell/happstack/happstack-server.nix +++ b/pkgs/development/libraries/haskell/happstack/happstack-server.nix @@ -6,10 +6,8 @@ cabal.mkDerivation (self: { pname = "happstack-server"; - version = "7.0.2"; - sha256 = "0p4vy1h3nkq7riipizljc9wz64y3jfiyq5vzv1r963badk3q0xzb"; - isLibrary = true; - isExecutable = true; + version = "7.0.4"; + sha256 = "168201z5slm6mrkckpdpshgaiz29k9j1j97vmbrybprj0zhcrl7r"; buildDepends = [ base64Bytestring blazeHtml extensibleExceptions filepath hslogger html monadControl mtl network parsec sendfile syb systemFilepath diff --git a/pkgs/development/libraries/haskell/hastache/default.nix b/pkgs/development/libraries/haskell/hastache/default.nix index ef11e344b44..f37badde96d 100644 --- a/pkgs/development/libraries/haskell/hastache/default.nix +++ b/pkgs/development/libraries/haskell/hastache/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hastache"; - version = "0.3.3"; - sha256 = "18ayrfwi3jn3q650m5dm9wx9c7djwc2miz3mxlscd9gzlnrfi772"; + version = "0.4.2"; + sha256 = "1ad691qxnnx0a6ik0cjdzd8aw7z88p06zckbb3cb1r8pk6m0g7vi"; buildDepends = [ blazeBuilder filepath ieee754 mtl syb text utf8String ]; diff --git a/pkgs/development/libraries/haskell/haxr/default.nix b/pkgs/development/libraries/haskell/haxr/default.nix index 12f2b2f84f3..1283d3a4a59 100644 --- a/pkgs/development/libraries/haskell/haxr/default.nix +++ b/pkgs/development/libraries/haskell/haxr/default.nix @@ -1,17 +1,15 @@ -{ cabal, blazeBuilder, dataenc, HaXml, HTTP, mtl, network, time -, utf8String +{ cabal, base64Bytestring, blazeBuilder, HaXml, HTTP, mtl, network +, time, utf8String }: cabal.mkDerivation (self: { pname = "haxr"; - version = "3000.8.5"; - sha256 = "1gfifqc7ldklapnymwd9ss0lll6q87sbg1hc6pa4c9sh275x1rz6"; + version = "3000.9.0.1"; + sha256 = "106hw8ysjx12dvwij4ld6n54mxj2yl1p7iihp2fwz50v50mz6102"; buildDepends = [ - blazeBuilder dataenc HaXml HTTP mtl network time utf8String + base64Bytestring blazeBuilder HaXml HTTP mtl network time + utf8String ]; - patchPhase = '' - sed -i haxr.cabal -e 's|HaXml == 1.22.\*|HaXml|' - ''; meta = { homepage = "http://www.haskell.org/haskellwiki/HaXR"; description = "XML-RPC client and server library"; diff --git a/pkgs/development/libraries/haskell/heist/default.nix b/pkgs/development/libraries/haskell/heist/default.nix new file mode 100644 index 00000000000..44ba8ba15ee --- /dev/null +++ b/pkgs/development/libraries/haskell/heist/default.nix @@ -0,0 +1,21 @@ +{ cabal, aeson, attoparsec, blazeBuilder, blazeHtml, directoryTree +, filepath, MonadCatchIOTransformers, mtl, random, text, time +, transformers, unorderedContainers, vector, xmlhtml +}: + +cabal.mkDerivation (self: { + pname = "heist"; + version = "0.8.1.1"; + sha256 = "0ad56izskafpc1dx2nq0a8w71ayppwx8dc7kdaw1by972kh3nflh"; + buildDepends = [ + aeson attoparsec blazeBuilder blazeHtml directoryTree filepath + MonadCatchIOTransformers mtl random text time transformers + unorderedContainers vector xmlhtml + ]; + meta = { + homepage = "http://snapframework.com/"; + description = "An (x)html templating system"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix index d92d15d2a16..55051901206 100644 --- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix +++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "highlighting-kate"; - version = "0.5.1"; - sha256 = "0l0g71rg7cs9rm4i04h88fm20868s0kf2da89297xlrm58zfv0jj"; + version = "0.5.2"; + sha256 = "1a3aifknbxm3v0lvqisdc6zqgki9x9z12jdrmijxmxq1riwwalr2"; isLibrary = true; isExecutable = true; buildDepends = [ blazeHtml filepath mtl parsec regexPcreBuiltin ]; diff --git a/pkgs/development/libraries/haskell/hledger-lib/default.nix b/pkgs/development/libraries/haskell/hledger-lib/default.nix index fb517c3cef1..ef244bcb768 100644 --- a/pkgs/development/libraries/haskell/hledger-lib/default.nix +++ b/pkgs/development/libraries/haskell/hledger-lib/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hledger-lib"; - version = "0.18.1"; - sha256 = "0dv5q20n5almxxl0n68lv1172x61z2q16nvwydzrc7qp1j31d8my"; + version = "0.18.2"; + sha256 = "0lcs58bdix4m7sslrdi38rqw5x5fb4ip0n5is0phxdrbp0nggd4z"; buildDepends = [ cmdargs csv filepath HUnit mtl parsec regexpr safe shakespeareText split time transformers utf8String diff --git a/pkgs/development/libraries/haskell/hledger-web/default.nix b/pkgs/development/libraries/haskell/hledger-web/default.nix index 2659f1292a7..cc4ccc186c6 100644 --- a/pkgs/development/libraries/haskell/hledger-web/default.nix +++ b/pkgs/development/libraries/haskell/hledger-web/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "hledger-web"; - version = "0.18.1"; - sha256 = "1khjqqjjcwcymyh395rfc39wzybacw5n64wmj2sixyw0p1l4mwg7"; + version = "0.18.2"; + sha256 = "1bhah29why34qaiy7mgzpzjd5dm94izcf3jmgflix56gkgzk86p1"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/hledger/default.nix b/pkgs/development/libraries/haskell/hledger/default.nix index 3f5ce8b43d4..815ca1b87fd 100644 --- a/pkgs/development/libraries/haskell/hledger/default.nix +++ b/pkgs/development/libraries/haskell/hledger/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "hledger"; - version = "0.18.1"; - sha256 = "0nrs9qawvny6dl0pj3f183sgwmam9dsb2dfhp8hqnxx48g1p01lk"; + version = "0.18.2"; + sha256 = "1i0rix3h5vrq9j01fzgwyhs2n8nfzhidi4rjlvn402ps0w6j15ld"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/hmatrix/default.nix b/pkgs/development/libraries/haskell/hmatrix/default.nix index 398299872d5..2542e200586 100644 --- a/pkgs/development/libraries/haskell/hmatrix/default.nix +++ b/pkgs/development/libraries/haskell/hmatrix/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hmatrix"; - version = "0.14.0.1"; - sha256 = "057ii711qsh5307bp3jqpvlhwp2iacr83whhjm5053b5psinj4z5"; + version = "0.14.1.0"; + sha256 = "10fvbk3k2fgac46a86mc8g0s5gsw1p1bz4k57gn6dzgwh73mxjx7"; buildDepends = [ binary random storableComplex vector ]; extraLibraries = [ blas gsl liblapack ]; meta = { diff --git a/pkgs/development/libraries/haskell/hoauth/default.nix b/pkgs/development/libraries/haskell/hoauth/default.nix new file mode 100644 index 00000000000..e118f765097 --- /dev/null +++ b/pkgs/development/libraries/haskell/hoauth/default.nix @@ -0,0 +1,19 @@ +{ cabal, binary, cryptoPubkeyTypes, curl, dataenc, entropy, mtl +, random, RSA, SHA, time, utf8String +}: + +cabal.mkDerivation (self: { + pname = "hoauth"; + version = "0.3.4"; + sha256 = "0a8a77smzhxmynfi0ayvsgibpw9aav2f7pi9j3dxjas14zg9qv2k"; + buildDepends = [ + binary cryptoPubkeyTypes curl dataenc entropy mtl random RSA SHA + time utf8String + ]; + meta = { + description = "A Haskell implementation of OAuth 1.0a protocol."; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/hoogle/default.nix b/pkgs/development/libraries/haskell/hoogle/default.nix index 9db10b33b1d..db5dc38e38f 100644 --- a/pkgs/development/libraries/haskell/hoogle/default.nix +++ b/pkgs/development/libraries/haskell/hoogle/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "hoogle"; - version = "4.2.11"; - sha256 = "0m708qlj3q8s9vywg51gj7bwwasz5nxqxqhqh8f0k96iawqd9gid"; + version = "4.2.12"; + sha256 = "1j726bm8sx4qamaib6l14s4a4jz4z6szhj1vk8n5b6f3g38s7hwy"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/hslogger-template/default.nix b/pkgs/development/libraries/haskell/hslogger-template/default.nix index 5351bbb1777..a7b1a51b705 100644 --- a/pkgs/development/libraries/haskell/hslogger-template/default.nix +++ b/pkgs/development/libraries/haskell/hslogger-template/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "hslogger-template"; - version = "2.0.0"; - sha256 = "1x8c132ckxjhnhlrnm92h0hkalkrgcc91cn73kv9kvcwy9b2fqcr"; + version = "2.0.1"; + sha256 = "1m8h4i8cxxw83vhbw61njvv86qdcff6zi3bf0nyhc4cq7pfrzqvj"; buildDepends = [ hslogger mtl ]; meta = { description = "Automatic generation of hslogger functions"; diff --git a/pkgs/development/libraries/haskell/http-conduit/default.nix b/pkgs/development/libraries/haskell/http-conduit/default.nix index 224e5ff6e96..6d1c7a28a22 100644 --- a/pkgs/development/libraries/haskell/http-conduit/default.nix +++ b/pkgs/development/libraries/haskell/http-conduit/default.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "http-conduit"; - version = "1.4.1.10"; - sha256 = "0a2014bzh4vvm3qx5yarxgirzlngzy2xrwpi3bvnz1h3q0hggq01"; + version = "1.5.0.3"; + sha256 = "1l00wyisb5jkq1c2ikzq0iwhjx6s66bz5s8gricfbrr15bdx1iay"; buildDepends = [ asn1Data attoparsec attoparsecConduit base64Bytestring blazeBuilder blazeBuilderConduit caseInsensitive certificate conduit cookie diff --git a/pkgs/development/libraries/haskell/http-types/default.nix b/pkgs/development/libraries/haskell/http-types/default.nix index b3ae70bbb36..2dcd97e0aef 100644 --- a/pkgs/development/libraries/haskell/http-types/default.nix +++ b/pkgs/development/libraries/haskell/http-types/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "http-types"; - version = "0.6.11"; - sha256 = "1waxhicqwp0nmvmpmfadpq9gdldbcx9wh6jz717ghi6y9l485vhf"; + version = "0.7.1"; + sha256 = "1vfaffraiqdsjbw4b0xwk8h8d4pl94mbxlwyqk8ry786v9aafyqx"; buildDepends = [ blazeBuilder caseInsensitive text ]; meta = { homepage = "https://github.com/aristidb/http-types"; diff --git a/pkgs/development/libraries/haskell/instant-generics/default.nix b/pkgs/development/libraries/haskell/instant-generics/default.nix index 648dfd7c315..f4dfc4848a6 100644 --- a/pkgs/development/libraries/haskell/instant-generics/default.nix +++ b/pkgs/development/libraries/haskell/instant-generics/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "instant-generics"; - version = "0.3.4"; - sha256 = "0j3sfbw3j0izwmhvwcl8nxxvlrpfla5rngxx2yvl6w5i87wyhswi"; + version = "0.3.5"; + sha256 = "15j41krvabf541vm4vpn2jvlg3nbi6pywcig9zbjjpckzwp5vj9x"; buildDepends = [ syb ]; meta = { homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/InstantGenerics"; diff --git a/pkgs/development/libraries/haskell/irc/default.nix b/pkgs/development/libraries/haskell/irc/default.nix index 613f03c80c1..89d277d1f40 100644 --- a/pkgs/development/libraries/haskell/irc/default.nix +++ b/pkgs/development/libraries/haskell/irc/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "irc"; - version = "0.5.0.0"; - sha256 = "0bid9iqgrppkl7hl1cd2m1pvvk5qva53fqfl0v5ld52j904c50sr"; + version = "0.5.1.0"; + sha256 = "1xkgqcjxlxqg60qlv26ypmvf9x288sjz1n47rb7zfvjhdimws8gj"; buildDepends = [ parsec ]; meta = { description = "A small library for parsing IRC messages"; diff --git a/pkgs/development/libraries/haskell/lambdabot-utils/default.nix b/pkgs/development/libraries/haskell/lambdabot-utils/default.nix new file mode 100644 index 00000000000..3339e7aa96d --- /dev/null +++ b/pkgs/development/libraries/haskell/lambdabot-utils/default.nix @@ -0,0 +1,20 @@ +{ cabal, binary, haskellSrc, mtl, network, random, regexCompat +, regexPosix, syb, tagsoup, utf8String, zlib +}: + +cabal.mkDerivation (self: { + pname = "lambdabot-utils"; + version = "4.2.1"; + sha256 = "1a5rj8zjvfhziwldikgki92lg9bwv6h9ysp6yqip6lja18h4lilx"; + buildDepends = [ + binary haskellSrc mtl network random regexCompat regexPosix syb + tagsoup utf8String zlib + ]; + meta = { + homepage = "http://haskell.org/haskellwiki/Lambdabot"; + description = "Utility libraries for the advanced IRC bot, Lambdabot"; + license = "GPL"; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/lambdabot/default.nix b/pkgs/development/libraries/haskell/lambdabot/default.nix new file mode 100644 index 00000000000..926c5acafba --- /dev/null +++ b/pkgs/development/libraries/haskell/lambdabot/default.nix @@ -0,0 +1,27 @@ +{ cabal, arrows, binary, brainfuck, dataMemocombinators, filepath +, haskellSrc, haskellSrcExts, HTTP, IOSpec, lambdabotUtils, logict +, MonadRandom, mtl, network, numbers, oeis, parsec, random +, readline, regexCompat, show, syb, tagsoup, unlambda, utf8String +, vectorSpace +}: + +cabal.mkDerivation (self: { + pname = "lambdabot"; + version = "4.2.3.3"; + sha256 = "1fxxmrm390pnqpf7v4kap2asaqh02sphl8r6inq4sdy1zs2rxrvk"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + arrows binary brainfuck dataMemocombinators filepath haskellSrc + haskellSrcExts HTTP IOSpec lambdabotUtils logict MonadRandom mtl + network numbers oeis parsec random readline regexCompat show syb + tagsoup unlambda utf8String vectorSpace + ]; + meta = { + homepage = "http://haskell.org/haskellwiki/Lambdabot"; + description = "Lambdabot is a development tool and advanced IRC bot"; + license = "GPL"; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/language-c-quote/default.nix b/pkgs/development/libraries/haskell/language-c-quote/default.nix index b4986af4a01..a765b015a31 100644 --- a/pkgs/development/libraries/haskell/language-c-quote/default.nix +++ b/pkgs/development/libraries/haskell/language-c-quote/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "language-c-quote"; - version = "0.3.1.2"; - sha256 = "0lqr9z2akx90l07k1qbv3y4wwwlcilj08zva4v9scbqydrwpqxip"; + version = "0.3.2"; + sha256 = "1pxrag9ws93rsqrsxcyxg07pvp2qw0f19yj2b40ynwzk112nkd16"; buildDepends = [ exceptionMtl exceptionTransformers filepath haskellSrcMeta mainlandPretty mtl srcloc syb symbol diff --git a/pkgs/development/libraries/haskell/largeword/default.nix b/pkgs/development/libraries/haskell/largeword/default.nix index 0c526652399..7f01336f281 100644 --- a/pkgs/development/libraries/haskell/largeword/default.nix +++ b/pkgs/development/libraries/haskell/largeword/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "largeword"; - version = "1.0.1"; - sha256 = "0kkkck220wap3ad2k6461ylhshiqbizv0qh35i2325fhqx892gyr"; + version = "1.0.2"; + sha256 = "0ylbl9rffhqw9ahasn23n00h7v5yqmghmqkrq446zdr72bq23hk2"; meta = { homepage = "http://trac.haskell.org/largeword/wiki"; description = "Provides Word128, Word192 and Word256 and a way of producing other large words if required"; diff --git a/pkgs/development/libraries/haskell/logict/default.nix b/pkgs/development/libraries/haskell/logict/default.nix new file mode 100644 index 00000000000..4e67e4ffb4c --- /dev/null +++ b/pkgs/development/libraries/haskell/logict/default.nix @@ -0,0 +1,15 @@ +{ cabal, mtl }: + +cabal.mkDerivation (self: { + pname = "logict"; + version = "0.5.0.1"; + sha256 = "0k3acw6fwhqz4qaz7k85fx5b43hwc926il0mljc69gjrgw0c8nzv"; + buildDepends = [ mtl ]; + meta = { + homepage = "http://code.haskell.org/~dolio/logict"; + description = "A backtracking logic-programming monad"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/lrucache/default.nix b/pkgs/development/libraries/haskell/lrucache/default.nix new file mode 100644 index 00000000000..d92bd820348 --- /dev/null +++ b/pkgs/development/libraries/haskell/lrucache/default.nix @@ -0,0 +1,13 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "lrucache"; + version = "1.1.1"; + sha256 = "05y0b2dbbp017hkbr0pz943956dm31g5xhma4bqnh49yd4lyn5l9"; + meta = { + homepage = "http://github.com/chowells79/lrucache"; + description = "a simple, pure LRU cache"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/mainland-pretty/default.nix b/pkgs/development/libraries/haskell/mainland-pretty/default.nix index f4b49a6f409..d64a6c76180 100644 --- a/pkgs/development/libraries/haskell/mainland-pretty/default.nix +++ b/pkgs/development/libraries/haskell/mainland-pretty/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "mainland-pretty"; - version = "0.1.2.0"; - sha256 = "0qhv8qfzcm5n1scgmxsv1c2qqnhvp8r0hmax22vzaq7jmlzwhj4p"; + version = "0.1.3.0"; + sha256 = "1grfsn066z11737dxdk1bdhyvz9vjxxn6krfgx9bc8jin6n9h6aq"; buildDepends = [ srcloc symbol ]; meta = { homepage = "http://www.eecs.harvard.edu/~mainland/"; diff --git a/pkgs/development/libraries/haskell/maude/default.nix b/pkgs/development/libraries/haskell/maude/default.nix index 709156d290f..84f0d83a924 100644 --- a/pkgs/development/libraries/haskell/maude/default.nix +++ b/pkgs/development/libraries/haskell/maude/default.nix @@ -1,10 +1,10 @@ -{ cabal, parsec, text }: +{ cabal, filepath, processExtras, temporary, text, xml }: cabal.mkDerivation (self: { pname = "maude"; - version = "0.3.0"; - sha256 = "1z9bk4fzkbfiqqx4mv4cdlckchvcli2gcp40d04ravvj7x6yaghg"; - buildDepends = [ parsec text ]; + version = "0.6.1"; + sha256 = "0qadqpj5vzg84mqh29p6vr2ffih7y69ds0jdpxmr17am5bh3mhql"; + buildDepends = [ filepath processExtras temporary text xml ]; meta = { homepage = "https://github.com/davidlazar/maude-hs"; description = "An interface to the Maude rewriting system"; diff --git a/pkgs/development/libraries/haskell/mime-types/default.nix b/pkgs/development/libraries/haskell/mime-types/default.nix new file mode 100644 index 00000000000..8359d6dc181 --- /dev/null +++ b/pkgs/development/libraries/haskell/mime-types/default.nix @@ -0,0 +1,15 @@ +{ cabal, text }: + +cabal.mkDerivation (self: { + pname = "mime-types"; + version = "0.1.0.0"; + sha256 = "0xc36pr84nszyych3jd8sl6kj1grsyv8ci8v7ilrbpnw7ngbkw1p"; + buildDepends = [ text ]; + meta = { + homepage = "https://github.com/yesodweb/wai"; + description = "Basic mime-type handling types and functions"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/monad-logger/default.nix b/pkgs/development/libraries/haskell/monad-logger/default.nix new file mode 100644 index 00000000000..66f10e16e66 --- /dev/null +++ b/pkgs/development/libraries/haskell/monad-logger/default.nix @@ -0,0 +1,14 @@ +{ cabal, fastLogger, resourcet, text, transformers }: + +cabal.mkDerivation (self: { + pname = "monad-logger"; + version = "0.2.0"; + sha256 = "0rsp24lx9gcvayj5d6afq26qrggm9qrjqjpdm7088xbl5k0c71fz"; + buildDepends = [ fastLogger resourcet text transformers ]; + meta = { + homepage = "https://github.com/kazu-yamamoto/logger"; + description = "A class of monads which can log messages"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/multiplate/default.nix b/pkgs/development/libraries/haskell/multiplate/default.nix index ac572b7c59a..14310f50ef6 100644 --- a/pkgs/development/libraries/haskell/multiplate/default.nix +++ b/pkgs/development/libraries/haskell/multiplate/default.nix @@ -2,12 +2,9 @@ cabal.mkDerivation (self: { pname = "multiplate"; - version = "0.0.1.1"; - sha256 = "00rxgkvgx1rfvk15gjyyg00vqyg4j24d8d19q6rj07j2mgfvdxw6"; + version = "0.0.2"; + sha256 = "02pqfkdcv4fn0pmxphg19b3fiazn4hpphfj8xgp77vpy2lczndsw"; buildDepends = [ transformers ]; - patchPhase = '' - sed -i -e 's|transformers >= 0.2 && < 0.3|transformers|' multiplate.cabal - ''; meta = { homepage = "http://haskell.org/haskellwiki/Multiplate"; description = "Lightweight generic library for mutually recursive data types"; diff --git a/pkgs/development/libraries/haskell/network-conduit/default.nix b/pkgs/development/libraries/haskell/network-conduit/default.nix index 2c1fc014ade..f05d191ed17 100644 --- a/pkgs/development/libraries/haskell/network-conduit/default.nix +++ b/pkgs/development/libraries/haskell/network-conduit/default.nix @@ -3,8 +3,8 @@ cabal.mkDerivation (self: { pname = "network-conduit"; - version = "0.4.0.1"; - sha256 = "0xmfhar4knyn01xyigrp4lymb1vcsahd9v12i6rrqzi10mdcz6bl"; + version = "0.5.0"; + sha256 = "0q7smsrv3gp5kvzqfgw2mw9w70gjr5pkx2bmk58dvbnz6al85abn"; buildDepends = [ conduit liftedBase monadControl network transformers ]; diff --git a/pkgs/development/libraries/haskell/numbers/default.nix b/pkgs/development/libraries/haskell/numbers/default.nix new file mode 100644 index 00000000000..8b57b3d7e96 --- /dev/null +++ b/pkgs/development/libraries/haskell/numbers/default.nix @@ -0,0 +1,14 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "numbers"; + version = "3000.0.0.0"; + sha256 = "073xjrnbv6z16va2h3arlxq3z8kywb961dwh4jcm8g7w5m84b2xb"; + meta = { + homepage = "https://github.com/DanBurton/numbers"; + description = "Various number types"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/oeis/default.nix b/pkgs/development/libraries/haskell/oeis/default.nix new file mode 100644 index 00000000000..c8b9e984eb1 --- /dev/null +++ b/pkgs/development/libraries/haskell/oeis/default.nix @@ -0,0 +1,14 @@ +{ cabal, HTTP, network }: + +cabal.mkDerivation (self: { + pname = "oeis"; + version = "0.3.1"; + sha256 = "0kxs25b1z0b807vhrn8v7chsdsw8civqiym8767fy2rk5si0i4w2"; + buildDepends = [ HTTP network ]; + meta = { + description = "Interface to the Online Encyclopedia of Integer Sequences"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix new file mode 100644 index 00000000000..9b545ad1524 --- /dev/null +++ b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix @@ -0,0 +1,20 @@ +{ cabal, aeson, conduit, monadControl, persistent, postgresqlLibpq +, postgresqlSimple, text, time, transformers +}: + +cabal.mkDerivation (self: { + pname = "persistent-postgresql"; + version = "1.0.0"; + sha256 = "149vv6wd0a85gphwrqcyd66ivdzyy7yc37c99ngq7377fdnszzhn"; + buildDepends = [ + aeson conduit monadControl persistent postgresqlLibpq + postgresqlSimple text time transformers + ]; + meta = { + homepage = "http://www.yesodweb.com/book/persistent"; + description = "Backend for the persistent library using postgresql"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix index 1482eec87e4..5b3ecd5ebc4 100644 --- a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix +++ b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "persistent-sqlite"; - version = "0.9.0.2"; - sha256 = "19wmz13k3qbpam2siykczgacgaj48yw4p7iz3y6v8a2z8wha73zb"; + version = "1.0.0"; + sha256 = "0ak9x6w9566mjc0ggsqxr69x4w5w7igdxkq6wwm6ysy5cvs8fwc8"; buildDepends = [ aeson conduit monadControl persistent text transformers ]; diff --git a/pkgs/development/libraries/haskell/persistent-template/default.nix b/pkgs/development/libraries/haskell/persistent-template/default.nix index a4bbb10a5dd..13c40c6781f 100644 --- a/pkgs/development/libraries/haskell/persistent-template/default.nix +++ b/pkgs/development/libraries/haskell/persistent-template/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "persistent-template"; - version = "0.9.0.2"; - sha256 = "1x3xn5dxv41hbadb0riss046lcr3k0h4rg6cvk60x8zxblrswabw"; + version = "1.0.0"; + sha256 = "14hg2f0v14m34qvj9m75nn3h4c33bh3gg1xixn0q318hwj9vpfcn"; buildDepends = [ aeson monadControl persistent text transformers ]; meta = { homepage = "http://www.yesodweb.com/book/persistent"; diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix index 27b7db94fd2..6820e92f7eb 100644 --- a/pkgs/development/libraries/haskell/persistent/default.nix +++ b/pkgs/development/libraries/haskell/persistent/default.nix @@ -1,17 +1,18 @@ { cabal, aeson, attoparsec, base64Bytestring, blazeHtml -, blazeMarkup, conduit, liftedBase, monadControl, pathPieces -, poolConduit, resourcet, sqlite, text, time, transformers -, transformersBase, unorderedContainers, vector +, blazeMarkup, conduit, liftedBase, monadControl, monadLogger +, pathPieces, poolConduit, resourcet, sqlite, text, time +, transformers, transformersBase, unorderedContainers, vector }: cabal.mkDerivation (self: { pname = "persistent"; - version = "0.9.0.4"; - sha256 = "1igml2hmc8ga9871dfq4mxqvy639vvlgl3cs48j3b27ci3qwd9jr"; + version = "1.0.0"; + sha256 = "1rrvq3girsjxfvdvvr9zxgc3252hrwcy84zj2mj0a5w057jahhhg"; buildDepends = [ aeson attoparsec base64Bytestring blazeHtml blazeMarkup conduit - liftedBase monadControl pathPieces poolConduit resourcet text time - transformers transformersBase unorderedContainers vector + liftedBase monadControl monadLogger pathPieces poolConduit + resourcet text time transformers transformersBase + unorderedContainers vector ]; extraLibraries = [ sqlite ]; meta = { diff --git a/pkgs/development/libraries/haskell/postgresql-libpq/default.nix b/pkgs/development/libraries/haskell/postgresql-libpq/default.nix new file mode 100644 index 00000000000..19f729a5641 --- /dev/null +++ b/pkgs/development/libraries/haskell/postgresql-libpq/default.nix @@ -0,0 +1,15 @@ +{ cabal, postgresql }: + +cabal.mkDerivation (self: { + pname = "postgresql-libpq"; + version = "0.8.2"; + sha256 = "10i3yc5fxlmnrb8j9p2a9w7h49p3ain36qpshlb34chdk9xh3l7g"; + extraLibraries = [ postgresql ]; + meta = { + homepage = "http://github.com/lpsmith/postgresql-libpq"; + description = "low-level binding to libpq"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/postgresql-simple/default.nix b/pkgs/development/libraries/haskell/postgresql-simple/default.nix new file mode 100644 index 00000000000..da78cafde6c --- /dev/null +++ b/pkgs/development/libraries/haskell/postgresql-simple/default.nix @@ -0,0 +1,19 @@ +{ cabal, attoparsec, blazeBuilder, blazeTextual, postgresqlLibpq +, text, time, transformers, vector +}: + +cabal.mkDerivation (self: { + pname = "postgresql-simple"; + version = "0.2.3.0"; + sha256 = "0lbvd7mq7xqz1cala4vvw5zj96sbqi0qqnmfj5h0844ci2f25i97"; + buildDepends = [ + attoparsec blazeBuilder blazeTextual postgresqlLibpq text time + transformers vector + ]; + meta = { + description = "Mid-Level PostgreSQL client library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/process-extras/default.nix b/pkgs/development/libraries/haskell/process-extras/default.nix new file mode 100644 index 00000000000..ac2950d4927 --- /dev/null +++ b/pkgs/development/libraries/haskell/process-extras/default.nix @@ -0,0 +1,15 @@ +{ cabal, text }: + +cabal.mkDerivation (self: { + pname = "process-extras"; + version = "0.1.3"; + sha256 = "16hm1w34qnrpb6x8gaqv1bs1cd4p98kayf23275s6vd48kw9v0b0"; + buildDepends = [ text ]; + meta = { + homepage = "https://github.com/davidlazar/process-extras"; + description = "Process extras"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/semigroupoids/1.3.4.nix b/pkgs/development/libraries/haskell/semigroupoids/1.3.4.nix new file mode 100644 index 00000000000..776e452eafe --- /dev/null +++ b/pkgs/development/libraries/haskell/semigroupoids/1.3.4.nix @@ -0,0 +1,14 @@ +{ cabal, comonad, contravariant, semigroups, transformers }: + +cabal.mkDerivation (self: { + pname = "semigroupoids"; + version = "1.3.4"; + sha256 = "0vnipjndbsldk5w1qw35i2zrd418rq13y10g0i33ylg1gwnsrqph"; + buildDepends = [ comonad contravariant semigroups transformers ]; + meta = { + homepage = "http://github.com/ekmett/semigroupoids"; + description = "Haskell 98 semigroupoids: Category sans id"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/semigroupoids/3.0.nix b/pkgs/development/libraries/haskell/semigroupoids/3.0.nix new file mode 100644 index 00000000000..4ffc3c2badc --- /dev/null +++ b/pkgs/development/libraries/haskell/semigroupoids/3.0.nix @@ -0,0 +1,14 @@ +{ cabal, comonad, contravariant, semigroups, transformers }: + +cabal.mkDerivation (self: { + pname = "semigroupoids"; + version = "3.0"; + sha256 = "0wsax14ck363nby0xrhcpvdzf0pzspayl7gsm0br0lr6ipmpcrag"; + buildDepends = [ comonad contravariant semigroups transformers ]; + meta = { + homepage = "http://github.com/ekmett/semigroupoids"; + description = "Haskell 98 semigroupoids: Category sans id"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/shakespeare-css/default.nix b/pkgs/development/libraries/haskell/shakespeare-css/default.nix index 1fd00e5e08a..a64e9acc7d7 100644 --- a/pkgs/development/libraries/haskell/shakespeare-css/default.nix +++ b/pkgs/development/libraries/haskell/shakespeare-css/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "shakespeare-css"; - version = "1.0.1.2"; - sha256 = "055nzffn5zlbwilm8624iaqzxchi247rwpca8adbxai1n2ja9fh7"; + version = "1.0.1.4"; + sha256 = "0avixf7z3hcvgcijgrm7hisr8i8waa8nb435gv8lv5vvz8yq3k0n"; buildDepends = [ parsec shakespeare text ]; meta = { homepage = "http://www.yesodweb.com/book/shakespearean-templates"; diff --git a/pkgs/development/libraries/haskell/shakespeare-js/default.nix b/pkgs/development/libraries/haskell/shakespeare-js/default.nix index aa759a240c7..ff2f0c09e0c 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.0.0.3"; - sha256 = "00x5xvjlaivl42q75cvbwbh055kgvk9i8s4y3xcmk4h7lnpfyzd6"; + version = "1.0.0.5"; + sha256 = "1d4na2q1q798ki5f84gpf89ri26qmrxqrwbw7mmlrfwkj1qw69rs"; buildDepends = [ shakespeare text ]; meta = { homepage = "http://www.yesodweb.com/book/shakespearean-templates"; diff --git a/pkgs/development/libraries/haskell/shakespeare-text/default.nix b/pkgs/development/libraries/haskell/shakespeare-text/default.nix index 04f9a100619..fbc31e3eda1 100644 --- a/pkgs/development/libraries/haskell/shakespeare-text/default.nix +++ b/pkgs/development/libraries/haskell/shakespeare-text/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "shakespeare-text"; - version = "1.0.0.2"; - sha256 = "1dnw6aipx68cd832vs5rwxv2hr7kfk1y83mzd1xl2b3am1g0izfc"; + version = "1.0.0.4"; + sha256 = "14kas2m7kbv1f49qpx6z097r707l3gqp9lwvh0q42cc6rlwab5l7"; buildDepends = [ shakespeare text ]; meta = { homepage = "http://www.yesodweb.com/book/shakespearean-templates"; diff --git a/pkgs/development/libraries/haskell/shakespeare/default.nix b/pkgs/development/libraries/haskell/shakespeare/default.nix index c5fd290f08d..1619cc6760c 100644 --- a/pkgs/development/libraries/haskell/shakespeare/default.nix +++ b/pkgs/development/libraries/haskell/shakespeare/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "shakespeare"; - version = "1.0.0.2"; - sha256 = "04nk9l7c5wk3rbkk57s5as30zvsa7wzrsmhdak59i6v30ww22c9f"; + version = "1.0.1.1"; + sha256 = "0w5dcli9gbmbpfg8rd8bia7wfll4iisi2cbdwdhbnn159mw8s25x"; buildDepends = [ parsec 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 7b63732024e..0c266ab1b29 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.12.2"; - sha256 = "0nhycisk6jc3mqd2xqcxxgfqsqm8vp5k4g45gdljalb87rqvqkkv"; + version = "0.14.0.1"; + sha256 = "062c3zqr6ad61p0s423h8rhimqfld6p95z3qzrmag9f29a5f4fbz"; buildDepends = [ mtl systemFileio systemFilepath text time unixCompat ]; diff --git a/pkgs/development/libraries/haskell/show/default.nix b/pkgs/development/libraries/haskell/show/default.nix new file mode 100644 index 00000000000..7fe0013d0d2 --- /dev/null +++ b/pkgs/development/libraries/haskell/show/default.nix @@ -0,0 +1,14 @@ +{ cabal, QuickCheck, random, smallcheck, syb }: + +cabal.mkDerivation (self: { + pname = "show"; + version = "0.4.1.2"; + sha256 = "1qaphxjaxng7d0kcn3vvxbvqljzzs1hvmsrdsm3pbi19qlsavd5w"; + buildDepends = [ QuickCheck random smallcheck syb ]; + meta = { + description = "'Show' instances for Lambdabot"; + license = "GPL"; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/simple-sendfile/default.nix b/pkgs/development/libraries/haskell/simple-sendfile/default.nix index 313f2aa4869..766e1ef9617 100644 --- a/pkgs/development/libraries/haskell/simple-sendfile/default.nix +++ b/pkgs/development/libraries/haskell/simple-sendfile/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "simple-sendfile"; - version = "0.2.4"; - sha256 = "1c7imvkb5aq5mlg6a1r36fp9klniicbj56n32yvzj4qqf1zy2pbx"; + version = "0.2.5"; + sha256 = "1g9plryh86lc03rf1s8m36wyc2yqp4y6f02viq9c4g1k85rkbs53"; buildDepends = [ network ]; meta = { description = "Cross platform library for the sendfile system call"; diff --git a/pkgs/development/libraries/haskell/snap/loader-dynamic.nix b/pkgs/development/libraries/haskell/snap/loader-dynamic.nix new file mode 100644 index 00000000000..5815496695c --- /dev/null +++ b/pkgs/development/libraries/haskell/snap/loader-dynamic.nix @@ -0,0 +1,14 @@ +{ cabal, directoryTree, hint, mtl, snapCore, time }: + +cabal.mkDerivation (self: { + pname = "snap-loader-dynamic"; + version = "0.9.0"; + sha256 = "1pbpvi20an077klvha1dflnlxpfb6m81n9d50hjhidf6430cmmhm"; + buildDepends = [ directoryTree hint mtl snapCore time ]; + meta = { + homepage = "http://snapframework.com/"; + description = "Snap: A Haskell Web Framework: dynamic loader"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/snap/loader-static.nix b/pkgs/development/libraries/haskell/snap/loader-static.nix new file mode 100644 index 00000000000..a9dcbf10810 --- /dev/null +++ b/pkgs/development/libraries/haskell/snap/loader-static.nix @@ -0,0 +1,13 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "snap-loader-static"; + version = "0.9.0"; + sha256 = "1blchmg0qfng7bw235z1gqkwyi764j78bc29vd5p6xxhmq111ys7"; + meta = { + homepage = "http://snapframework.com/"; + description = "Snap: A Haskell Web Framework: static loader"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/snap/snap.nix b/pkgs/development/libraries/haskell/snap/snap.nix new file mode 100644 index 00000000000..4121a657357 --- /dev/null +++ b/pkgs/development/libraries/haskell/snap/snap.nix @@ -0,0 +1,31 @@ +{ cabal, aeson, attoparsec, cereal, clientsession, configurator +, dataLens, dataLensTemplate, directoryTree, filepath, hashable +, heist, logict, MonadCatchIOTransformers, mtl, mwcRandom +, pwstoreFast, snapCore, snapServer, stm, syb, text, time +, transformers, unorderedContainers, utf8String, vector +, vectorAlgorithms, xmlhtml +}: + +cabal.mkDerivation (self: { + pname = "snap"; + version = "0.9.1.1"; + sha256 = "1g8jvnwrhna5g064dmv4v4khrpwwn0vcqw8l7rcpkp75l46fq29z"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + aeson attoparsec cereal clientsession configurator dataLens + dataLensTemplate directoryTree filepath hashable heist logict + MonadCatchIOTransformers mtl mwcRandom pwstoreFast snapCore + snapServer stm syb text time transformers unorderedContainers + utf8String vector vectorAlgorithms xmlhtml + ]; + patchPhase = '' + sed -i snap.cabal -e 's|clientsession.*,|clientsession,|' + ''; + meta = { + homepage = "http://snapframework.com/"; + description = "Snap: A Haskell Web Framework: project starter executable and glue code library"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/socks/default.nix b/pkgs/development/libraries/haskell/socks/default.nix index eca78fc90df..d1b4494090c 100644 --- a/pkgs/development/libraries/haskell/socks/default.nix +++ b/pkgs/development/libraries/haskell/socks/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "socks"; - version = "0.4.1"; - sha256 = "0kapic4rf1cwbqy5f229b69kr1mg9blpr5p5jna8sx5ds2b8jdjn"; + version = "0.4.2"; + sha256 = "1nbhx2jjij5kjqa0l68s401ach4yziq6w8mvcv589fcscw212w8r"; buildDepends = [ cereal network ]; meta = { homepage = "http://github.com/vincenthz/hs-socks"; diff --git a/pkgs/development/libraries/haskell/srcloc/default.nix b/pkgs/development/libraries/haskell/srcloc/default.nix index a29d1bd662c..d76309bc795 100644 --- a/pkgs/development/libraries/haskell/srcloc/default.nix +++ b/pkgs/development/libraries/haskell/srcloc/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "srcloc"; - version = "0.1.1.1"; - sha256 = "131g83sa0kjwy4bz6hcaxplywqd0899sw5r5x0nr0bffkhk91k60"; + version = "0.1.2"; + sha256 = "08awipz6al7jk7d974am5v9fkp87i5dy6d457mx1rv7lczlyhws9"; buildDepends = [ syb symbol ]; meta = { homepage = "http://www.eecs.harvard.edu/~mainland/"; diff --git a/pkgs/development/libraries/haskell/symbol/default.nix b/pkgs/development/libraries/haskell/symbol/default.nix index 42cfd77f1c8..b8dd2aa69a2 100644 --- a/pkgs/development/libraries/haskell/symbol/default.nix +++ b/pkgs/development/libraries/haskell/symbol/default.nix @@ -1,10 +1,10 @@ -{ cabal, syb }: +{ cabal, deepseq, syb }: cabal.mkDerivation (self: { pname = "symbol"; - version = "0.1.1.1"; - sha256 = "1vda97jh9jrvb4l9v9m3xzv8z96jdwf5fji643i6ff3n3h9ysn77"; - buildDepends = [ syb ]; + version = "0.1.3"; + sha256 = "1kz4kzbv6bara31pv4vc75r6wvjln6md8gjlsxx8hf50ab8vb68j"; + buildDepends = [ deepseq syb ]; meta = { homepage = "http://www.eecs.harvard.edu/~mainland/"; description = "A 'Symbol' type for fast symbol comparison"; diff --git a/pkgs/development/libraries/haskell/system-fileio/default.nix b/pkgs/development/libraries/haskell/system-fileio/default.nix index 58284655eb8..7534ce4a1d1 100644 --- a/pkgs/development/libraries/haskell/system-fileio/default.nix +++ b/pkgs/development/libraries/haskell/system-fileio/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "system-fileio"; - version = "0.3.8"; - sha256 = "0zv7ngxc3qgrlfbp0vqirzcwmkmi9ql8pgqhn1ls56iqwbxbb654"; + version = "0.3.9"; + sha256 = "0mfmijwnkp92s58jb51lk0p1p3418f6qskr95phc1zp40yrcw8nx"; buildDepends = [ systemFilepath text time ]; meta = { homepage = "https://john-millikin.com/software/haskell-filesystem/"; diff --git a/pkgs/development/libraries/haskell/terminfo/default.nix b/pkgs/development/libraries/haskell/terminfo/default.nix index ea105935cea..24221912025 100644 --- a/pkgs/development/libraries/haskell/terminfo/default.nix +++ b/pkgs/development/libraries/haskell/terminfo/default.nix @@ -1,10 +1,9 @@ -{ cabal, extensibleExceptions, ncurses }: +{ cabal, ncurses }: cabal.mkDerivation (self: { pname = "terminfo"; - version = "0.3.2.3"; - sha256 = "06y2vx7d4hl55p3p1c7yj2lx8yaw14c5h2qclj8m5xg2wkifnf5f"; - buildDepends = [ extensibleExceptions ]; + version = "0.3.2.5"; + sha256 = "1hadb1gv28c43xq78scalb4zzvbs6im2s0hq7ycrbsdgm6iryhbg"; extraLibraries = [ ncurses ]; meta = { homepage = "http://code.haskell.org/terminfo"; diff --git a/pkgs/development/libraries/haskell/tls/default.nix b/pkgs/development/libraries/haskell/tls/default.nix index 9a89c082959..3a225361fb3 100644 --- a/pkgs/development/libraries/haskell/tls/default.nix +++ b/pkgs/development/libraries/haskell/tls/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "tls"; - version = "0.9.6"; - sha256 = "0bcmq7pvdbgnc8ls949m3x9sxj5svsrdpagjns1iq575jg38jx3g"; + version = "0.9.8"; + sha256 = "022hak5wy47j4zpf2f89zvz4j2586s3d0a5jkxvz54dkqimy63r6"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/libraries/haskell/unix-time/default.nix b/pkgs/development/libraries/haskell/unix-time/default.nix new file mode 100644 index 00000000000..61d8f86189d --- /dev/null +++ b/pkgs/development/libraries/haskell/unix-time/default.nix @@ -0,0 +1,12 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "unix-time"; + version = "0.1.2"; + sha256 = "146m4b93bla0pbf76bmff6f3aq9zx60cwy58mkqa0a4dyndd3pid"; + meta = { + description = "Unix time parser/formatter and utilities"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/unlambda/default.nix b/pkgs/development/libraries/haskell/unlambda/default.nix new file mode 100644 index 00000000000..c0cfc72bd9e --- /dev/null +++ b/pkgs/development/libraries/haskell/unlambda/default.nix @@ -0,0 +1,16 @@ +{ cabal, mtl }: + +cabal.mkDerivation (self: { + pname = "unlambda"; + version = "0.1"; + sha256 = "0xmn5w5vza6z2i3fs2hv2jgmb1lyk918viknsx3lk36i1dbyivgi"; + isLibrary = true; + isExecutable = true; + buildDepends = [ mtl ]; + meta = { + description = "Unlambda interpreter"; + license = "GPL"; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/vacuum/default.nix b/pkgs/development/libraries/haskell/vacuum/default.nix index 764a55402e7..11f74432be6 100644 --- a/pkgs/development/libraries/haskell/vacuum/default.nix +++ b/pkgs/development/libraries/haskell/vacuum/default.nix @@ -2,13 +2,13 @@ cabal.mkDerivation (self: { pname = "vacuum"; - version = "1.0.0.2"; - sha256 = "1amlzd89952fvw1sbajf9kv3f2s2i6xbqs1zjxw442achg465y7i"; + version = "2.0.0.0"; + sha256 = "0a810ql4lp1pyvys9a5aw28gxn7h2p4hkc0by4pmpw5d7kdhn9y3"; extraLibraries = [ ghcPaths ]; meta = { - homepage = "http://web.archive.org/web/20100410115820/http://moonpatio.com/vacuum/"; - description = "Extract graph representations of ghc heap values"; - license = "LGPL"; + homepage = "http://thoughtpolice.github.com/vacuum"; + description = "Graph representation of the GHC heap"; + license = self.stdenv.lib.licenses.gpl3; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; }; diff --git a/pkgs/development/libraries/haskell/vector-space/default.nix b/pkgs/development/libraries/haskell/vector-space/default.nix index d24dc536da1..2957959f005 100644 --- a/pkgs/development/libraries/haskell/vector-space/default.nix +++ b/pkgs/development/libraries/haskell/vector-space/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "vector-space"; - version = "0.8.1"; - sha256 = "0khbi46i9q585nhxhf842wsdifcj1i1dqm84hj0r36474rfh55z5"; + version = "0.8.2"; + sha256 = "09gndxxscyc9w85fih370gag8yd1xbfg94nxkwdvhzvbkns9k2ad"; buildDepends = [ Boolean MemoTrie NumInstances ]; meta = { homepage = "http://haskell.org/haskellwiki/vector-space"; diff --git a/pkgs/development/libraries/haskell/void/default.nix b/pkgs/development/libraries/haskell/void/default.nix index 8c129568479..581d2f8c9ae 100644 --- a/pkgs/development/libraries/haskell/void/default.nix +++ b/pkgs/development/libraries/haskell/void/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "void"; - version = "0.5.6"; - sha256 = "168xp4jxrlhxdw47y3xyr3hi57xharsrll8521a1phh8vzrbpi4z"; + version = "0.5.7"; + sha256 = "1rkc32122mkyxl0a4spbcqz908wh49l5ab8gfvsy0y02d3lldfd4"; buildDepends = [ semigroups ]; meta = { homepage = "http://github.com/ekmett/void"; diff --git a/pkgs/development/libraries/haskell/wai-app-static/default.nix b/pkgs/development/libraries/haskell/wai-app-static/default.nix index 0653352d87e..ea4ddd7ae82 100644 --- a/pkgs/development/libraries/haskell/wai-app-static/default.nix +++ b/pkgs/development/libraries/haskell/wai-app-static/default.nix @@ -1,15 +1,17 @@ -{ cabal, base64Bytestring, blazeBuilder, blazeHtml, cryptohash -, fileEmbed, httpDate, httpTypes, text, time, transformers +{ cabal, base64Bytestring, blazeBuilder, blazeHtml, blazeMarkup +, cereal, cryptoConduit, cryptohash, fileEmbed, httpDate, httpTypes +, mimeTypes, systemFileio, systemFilepath, text, time, transformers , unixCompat, wai }: cabal.mkDerivation (self: { pname = "wai-app-static"; - version = "1.2.0.4"; - sha256 = "06j9k93kzzzqznp61kwclvnnfas77jry4x93r5jn5n22198szcyi"; + version = "1.3.0"; + sha256 = "1xsjq0xip9anbd4cpami8w6d2p0pdp375hzw1jx6pvajjmkjksqn"; buildDepends = [ - base64Bytestring blazeBuilder blazeHtml cryptohash fileEmbed - httpDate httpTypes text time transformers unixCompat wai + base64Bytestring blazeBuilder blazeHtml blazeMarkup cereal + cryptoConduit cryptohash fileEmbed httpDate httpTypes mimeTypes + systemFileio systemFilepath text time transformers unixCompat wai ]; meta = { homepage = "http://www.yesodweb.com/book/wai"; diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix index 3c808dd430b..c7732cc6e2b 100644 --- a/pkgs/development/libraries/haskell/wai-extra/default.nix +++ b/pkgs/development/libraries/haskell/wai-extra/default.nix @@ -1,17 +1,17 @@ { cabal, ansiTerminal, blazeBuilder, blazeBuilderConduit , caseInsensitive, conduit, dataDefault, fastLogger, httpTypes -, network, resourcet, stringsearch, text, time, transformers, wai -, zlibConduit +, network, resourcet, stringsearch, text, time, transformers, void +, wai, waiLogger, zlibConduit }: cabal.mkDerivation (self: { pname = "wai-extra"; - version = "1.2.0.5"; - sha256 = "0m9zdn6cdh2j7bwsf17225rdn7jwj7iy97khbd9g7p9rv1lpdain"; + version = "1.3.0"; + sha256 = "1j76iaymnsyrin014slkv06p3zdk8lfff94abwvvanxl7gs9b286"; buildDepends = [ ansiTerminal blazeBuilder blazeBuilderConduit caseInsensitive conduit dataDefault fastLogger httpTypes network resourcet - stringsearch text time transformers wai zlibConduit + stringsearch text time transformers void wai waiLogger zlibConduit ]; meta = { homepage = "http://github.com/yesodweb/wai"; diff --git a/pkgs/development/libraries/haskell/wai-logger/default.nix b/pkgs/development/libraries/haskell/wai-logger/default.nix index d943e2495e6..49e643b4e20 100644 --- a/pkgs/development/libraries/haskell/wai-logger/default.nix +++ b/pkgs/development/libraries/haskell/wai-logger/default.nix @@ -1,14 +1,14 @@ { cabal, blazeBuilder, byteorder, caseInsensitive, fastLogger -, httpTypes, network, time, wai +, httpTypes, network, wai }: cabal.mkDerivation (self: { pname = "wai-logger"; - version = "0.1.4"; - sha256 = "1rvcqq4jlkcjavy8a3vf61jclwpnjmj6cp3whrzwvay9b1qfsck3"; + version = "0.2.0"; + sha256 = "1p89k71y0y5kpvy9iniqfyz3wmaw1q75s2324df1m1w1hcc0lgb6"; buildDepends = [ blazeBuilder byteorder caseInsensitive fastLogger httpTypes network - time wai + wai ]; meta = { description = "A logging system for WAI"; diff --git a/pkgs/development/libraries/haskell/wai/default.nix b/pkgs/development/libraries/haskell/wai/default.nix index 2e0f723aba0..a67da394a65 100644 --- a/pkgs/development/libraries/haskell/wai/default.nix +++ b/pkgs/development/libraries/haskell/wai/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "wai"; - version = "1.2.0.3"; - sha256 = "0pl6zc29z58vpvsn37siiyr89mxc4khsnmzv2408i5vhlv2ks01p"; + version = "1.3.0"; + sha256 = "08y0s7b5db5nyvxv0bvraj6ih7054h5n4lkwdlm3nkbm8s9k8hwv"; buildDepends = [ blazeBuilder conduit httpTypes network text transformers vault ]; diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix index 0a3791a7f8d..e066196cd4d 100644 --- a/pkgs/development/libraries/haskell/warp/default.nix +++ b/pkgs/development/libraries/haskell/warp/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "warp"; - version = "1.2.2"; - sha256 = "0jja9fjjd0f54awbx2p865w1mxj75qxy17skj1sc83i5ck32n6f0"; + version = "1.3.0.1"; + sha256 = "0bgmz2kd2z9agpid0w2whfz1cyrmiaiyap20za1l56d88m0p1z45"; buildDepends = [ blazeBuilder blazeBuilderConduit caseInsensitive conduit httpTypes liftedBase network networkConduit simpleSendfile transformers diff --git a/pkgs/development/libraries/haskell/xml-conduit/default.nix b/pkgs/development/libraries/haskell/xml-conduit/default.nix index 9e2d0c59a52..e321d2b08d9 100644 --- a/pkgs/development/libraries/haskell/xml-conduit/default.nix +++ b/pkgs/development/libraries/haskell/xml-conduit/default.nix @@ -1,16 +1,17 @@ { cabal, attoparsec, attoparsecConduit, blazeBuilder -, blazeBuilderConduit, conduit, dataDefault, failure, monadControl -, resourcet, systemFilepath, text, transformers, xmlTypes +, blazeBuilderConduit, blazeHtml, blazeMarkup, conduit, dataDefault +, failure, monadControl, resourcet, systemFilepath, text +, transformers, xmlTypes }: cabal.mkDerivation (self: { pname = "xml-conduit"; - version = "0.7.0.3"; - sha256 = "143cd8mjxckknlza327cmn63prw89ypnw32bk762s72vbqm1xvvv"; + version = "1.0.3"; + sha256 = "1pci21zwdclv018fk5hjfmif2wg6zfm9b4g1w3srgm6wdh5013r7"; buildDepends = [ attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit - conduit dataDefault failure monadControl resourcet systemFilepath - text transformers xmlTypes + blazeHtml blazeMarkup conduit dataDefault failure monadControl + resourcet systemFilepath text transformers xmlTypes ]; meta = { homepage = "http://github.com/snoyberg/xml"; diff --git a/pkgs/development/libraries/haskell/xml-types/default.nix b/pkgs/development/libraries/haskell/xml-types/default.nix index 080096b6f33..48bd32b7c89 100644 --- a/pkgs/development/libraries/haskell/xml-types/default.nix +++ b/pkgs/development/libraries/haskell/xml-types/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "xml-types"; - version = "0.3.2"; - sha256 = "1aihs1n6hxq6frvxdqjqxsfwi2w2c2qx4bjypimjpjxf6d6n1396"; + version = "0.3.3"; + sha256 = "0jvchgzmqsnc0dax73nh7wa7x6n07qnl4wr1d58v21rlbqcklgcn"; buildDepends = [ text ]; meta = { homepage = "https://john-millikin.com/software/haskell-xml/"; diff --git a/pkgs/development/libraries/haskell/xmlhtml/default.nix b/pkgs/development/libraries/haskell/xmlhtml/default.nix new file mode 100644 index 00000000000..654da2e76b5 --- /dev/null +++ b/pkgs/development/libraries/haskell/xmlhtml/default.nix @@ -0,0 +1,17 @@ +{ cabal, blazeBuilder, blazeHtml, blazeMarkup, parsec, text +, unorderedContainers +}: + +cabal.mkDerivation (self: { + pname = "xmlhtml"; + version = "0.2.0.2"; + sha256 = "0dqlqx3cnrqap3ficdkmwm8661j8i7qknb8xhjqvfmnb9pwqdks2"; + buildDepends = [ + blazeBuilder blazeHtml blazeMarkup parsec text unorderedContainers + ]; + meta = { + description = "XML parser and renderer with HTML 5 quirks mode"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix index e3228d039c1..c6a456bf9a4 100644 --- a/pkgs/development/libraries/haskell/yaml/default.nix +++ b/pkgs/development/libraries/haskell/yaml/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "yaml"; - version = "0.7.0.3"; - sha256 = "1w9xsg48np3wi859jdg5vm3dxihbdrbvd1i364lsfblbmry964mr"; + version = "0.8.0.1"; + sha256 = "0frps30spsxkr479h4hpzsc9gkaazgmdjp5p4pmzy9mf174qacs8"; buildDepends = [ aeson attoparsec conduit resourcet text transformers unorderedContainers vector diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix index 3b92570989e..e1a396287c8 100644 --- a/pkgs/development/libraries/haskell/yesod-auth/default.nix +++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "yesod-auth"; - version = "1.0.2.1"; - sha256 = "0fkk9vyb8z9hr77d771f74ka6s95fbzk5zw359cx8m2d5rc9fqvr"; + version = "1.1.0.1"; + sha256 = "1zidw47yvsvbgi70lhbl1lxgqp3zzgbbjnyz3pcvyahy81cny423"; buildDepends = [ aeson authenticate blazeHtml blazeMarkup hamlet httpConduit liftedBase mimeMail persistent persistentTemplate pureMD5 diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix index 17d3eb4427e..85dbca15fdb 100644 --- a/pkgs/development/libraries/haskell/yesod-core/default.nix +++ b/pkgs/development/libraries/haskell/yesod-core/default.nix @@ -1,21 +1,22 @@ { cabal, aeson, blazeBuilder, blazeHtml, blazeMarkup , caseInsensitive, cereal, clientsession, conduit, cookie, failure -, fastLogger, hamlet, httpTypes, liftedBase, monadControl, parsec -, pathPieces, random, resourcet, shakespeare, shakespeareCss -, shakespeareI18n, shakespeareJs, text, time, transformers -, transformersBase, vector, wai, waiExtra, waiLogger, yesodRoutes +, fastLogger, hamlet, httpTypes, liftedBase, monadControl +, monadLogger, parsec, pathPieces, random, resourcet, shakespeare +, shakespeareCss, shakespeareI18n, shakespeareJs, text, time +, transformers, transformersBase, vector, wai, waiExtra +, yesodRoutes }: cabal.mkDerivation (self: { pname = "yesod-core"; - version = "1.0.1.3"; - sha256 = "1rdj622zi12v9d7cxkn8w4q43k8c6gfz8wrpmvya76gqmg6h2gil"; + version = "1.1.0.1"; + sha256 = "1shjw18bh1kqay3imij41678dk2hpc39a8jdg89mn8mnj7gdzjxw"; buildDepends = [ aeson blazeBuilder blazeHtml blazeMarkup caseInsensitive cereal clientsession conduit cookie failure fastLogger hamlet httpTypes - liftedBase monadControl parsec pathPieces random resourcet - shakespeare shakespeareCss shakespeareI18n shakespeareJs text time - transformers transformersBase vector wai waiExtra waiLogger + liftedBase monadControl monadLogger parsec pathPieces random + resourcet shakespeare shakespeareCss shakespeareI18n shakespeareJs + text time transformers transformersBase vector wai waiExtra yesodRoutes ]; meta = { diff --git a/pkgs/development/libraries/haskell/yesod-default/default.nix b/pkgs/development/libraries/haskell/yesod-default/default.nix index d801d36e9c4..c3dce8ca7d3 100644 --- a/pkgs/development/libraries/haskell/yesod-default/default.nix +++ b/pkgs/development/libraries/haskell/yesod-default/default.nix @@ -1,15 +1,15 @@ -{ cabal, networkConduit, shakespeareCss, shakespeareJs, text -, transformers, unorderedContainers, wai, waiExtra, warp, yaml -, yesodCore +{ cabal, dataDefault, hamlet, networkConduit, shakespeareCss +, shakespeareJs, text, transformers, unorderedContainers, wai +, waiExtra, warp, yaml, yesodCore }: cabal.mkDerivation (self: { pname = "yesod-default"; - version = "1.0.1.1"; - sha256 = "0jv7fxrgh2x93saz0vrba0mzafq3wmq85b3idcsny4d8mgj6ngv0"; + version = "1.1.0"; + sha256 = "124407a0in474l71jja04ds0xh84ac5i3jv62iswxlcp1y9f52bq"; buildDepends = [ - networkConduit shakespeareCss shakespeareJs text transformers - unorderedContainers wai waiExtra warp yaml yesodCore + dataDefault hamlet networkConduit shakespeareCss shakespeareJs text + transformers unorderedContainers wai waiExtra warp yaml yesodCore ]; meta = { homepage = "http://www.yesodweb.com/"; diff --git a/pkgs/development/libraries/haskell/yesod-form/default.nix b/pkgs/development/libraries/haskell/yesod-form/default.nix index 512c0ca1b6d..60042697e1d 100644 --- a/pkgs/development/libraries/haskell/yesod-form/default.nix +++ b/pkgs/development/libraries/haskell/yesod-form/default.nix @@ -1,18 +1,20 @@ -{ cabal, blazeBuilder, blazeHtml, blazeMarkup, dataDefault -, emailValidate, hamlet, network, persistent, shakespeareCss -, shakespeareJs, text, time, transformers, wai, xssSanitize -, yesodCore, yesodPersistent +{ cabal, attoparsec, blazeBuilder, blazeHtml, blazeMarkup +, cryptoApi, dataDefault, emailValidate, hamlet, network +, persistent, shakespeareCss, shakespeareJs, text, time +, transformers, wai, xssSanitize, yesodCore, yesodPersistent }: cabal.mkDerivation (self: { pname = "yesod-form"; - version = "1.0.0.4"; - sha256 = "1wc7nrsf7r9zs24q2amy1zij5sfycs1arnrf8g769c7gihjhdqfd"; + version = "1.1.0.1"; + sha256 = "1fcffvaw1hv5qdgl1h4m93jjv9qwr1b9ggr4zy7ij2cbjynavawq"; buildDepends = [ - blazeBuilder blazeHtml blazeMarkup dataDefault emailValidate hamlet - network persistent shakespeareCss shakespeareJs text time - transformers wai xssSanitize yesodCore yesodPersistent + attoparsec blazeBuilder blazeHtml blazeMarkup cryptoApi dataDefault + emailValidate hamlet network persistent shakespeareCss + shakespeareJs text time transformers wai xssSanitize yesodCore + yesodPersistent ]; + noHaddock = true; meta = { homepage = "http://www.yesodweb.com/"; description = "Form handling support for Yesod Web Framework"; diff --git a/pkgs/development/libraries/haskell/yesod-json/default.nix b/pkgs/development/libraries/haskell/yesod-json/default.nix index 7ff0abedc1a..4a2a2346a87 100644 --- a/pkgs/development/libraries/haskell/yesod-json/default.nix +++ b/pkgs/development/libraries/haskell/yesod-json/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "yesod-json"; - version = "1.0.0.1"; - sha256 = "0dh294y067xa1y9lxamspbq21npv66ilsiayynsiykzik86k6vph"; + version = "1.1.0"; + sha256 = "13dbajs51nyrvch13xz05h6jrnhc097s0iykw5z43x05a6xwj20n"; buildDepends = [ aeson attoparsecConduit blazeBuilder conduit safe shakespeareJs text transformers vector wai waiExtra yesodCore yesodRoutes diff --git a/pkgs/development/libraries/haskell/yesod-persistent/default.nix b/pkgs/development/libraries/haskell/yesod-persistent/default.nix index c6cf7f22159..a094f472233 100644 --- a/pkgs/development/libraries/haskell/yesod-persistent/default.nix +++ b/pkgs/development/libraries/haskell/yesod-persistent/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "yesod-persistent"; - version = "1.0.0.1"; - sha256 = "1v4ip4g9x2a5byl0a9a1raad3aba7hs618vx7fnc5n2ajjji84mx"; + version = "1.1.0"; + sha256 = "0c8cvc2gy9ixa0h79ycnyi86indny2i86g5xcg30a2rvc4mjbaaj"; buildDepends = [ persistent persistentTemplate transformers yesodCore ]; diff --git a/pkgs/development/libraries/haskell/yesod-routes/default.nix b/pkgs/development/libraries/haskell/yesod-routes/default.nix index 8b3a685105a..9a801d62df8 100644 --- a/pkgs/development/libraries/haskell/yesod-routes/default.nix +++ b/pkgs/development/libraries/haskell/yesod-routes/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "yesod-routes"; - version = "1.0.1.2"; - sha256 = "15ar99ywxrsd6pgqwmql7vg801n53l3jw0s2iynddq9jjl4yqpf7"; + version = "1.1.0"; + sha256 = "0r0a3s1dngqp2vcq0cdsbqf1lsyhygj2x4a93csr2iyn244zgxnx"; buildDepends = [ pathPieces text vector ]; meta = { homepage = "http://www.yesodweb.com/"; diff --git a/pkgs/development/libraries/haskell/yesod-static/default.nix b/pkgs/development/libraries/haskell/yesod-static/default.nix index 72a1fed8db9..d7e9498c968 100644 --- a/pkgs/development/libraries/haskell/yesod-static/default.nix +++ b/pkgs/development/libraries/haskell/yesod-static/default.nix @@ -1,15 +1,16 @@ { cabal, base64Bytestring, cereal, conduit, cryptoConduit -, cryptohash, fileEmbed, httpTypes, text, transformers, unixCompat -, wai, waiAppStatic, yesodCore +, cryptohash, fileEmbed, httpTypes, systemFilepath, text +, transformers, unixCompat, wai, waiAppStatic, yesodCore }: cabal.mkDerivation (self: { pname = "yesod-static"; - version = "1.0.0.3"; - sha256 = "1nl7cf8yw5akldlrkamnkbypwnj7g1pjkx7nkmlc38jbx58izf5d"; + version = "1.1.0"; + sha256 = "07aynfgr5hbm98yimlbw9scph387rkxh4mdij4is1mcv2rdhvhxm"; buildDepends = [ base64Bytestring cereal conduit cryptoConduit cryptohash fileEmbed - httpTypes text transformers unixCompat wai waiAppStatic yesodCore + httpTypes systemFilepath text transformers unixCompat wai + waiAppStatic yesodCore ]; 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 256c398cfe4..9a9e9d9c9e8 100644 --- a/pkgs/development/libraries/haskell/yesod/default.nix +++ b/pkgs/development/libraries/haskell/yesod/default.nix @@ -1,22 +1,23 @@ { cabal, attoparsec, blazeBuilder, blazeHtml, blazeMarkup, Cabal -, fastLogger, filepath, hamlet, httpTypes, monadControl, parsec -, shakespeareCss, shakespeareJs, shakespeareText, text, time -, transformers, unixCompat, wai, waiExtra, waiLogger, warp -, yesodAuth, yesodCore, yesodForm, yesodJson, yesodPersistent +, filepath, hamlet, httpTypes, monadControl, parsec, shakespeareCss +, shakespeareJs, shakespeareText, systemFileio, systemFilepath, tar +, text, time, transformers, unixCompat, unorderedContainers, wai +, waiExtra, warp, yaml, yesodAuth, yesodCore, yesodForm, yesodJson +, yesodPersistent, zlib }: cabal.mkDerivation (self: { pname = "yesod"; - version = "1.0.1.6"; - sha256 = "0w5k5bcv50fjpyja6ydknk78dk50swx6b0myhizj8rcf851xga43"; + version = "1.1.0"; + sha256 = "01jwp9i77rmk4iwjqri9jafm809nzlb5bvgyz5my8dnpcfvnf2sz"; isLibrary = true; isExecutable = true; buildDepends = [ - attoparsec blazeBuilder blazeHtml blazeMarkup Cabal fastLogger - filepath hamlet httpTypes monadControl parsec shakespeareCss - shakespeareJs shakespeareText text time transformers unixCompat wai - waiExtra waiLogger warp yesodAuth yesodCore yesodForm yesodJson - yesodPersistent + attoparsec blazeBuilder blazeHtml blazeMarkup Cabal filepath hamlet + httpTypes monadControl parsec shakespeareCss shakespeareJs + shakespeareText systemFileio systemFilepath tar text time + transformers unixCompat unorderedContainers wai waiExtra warp yaml + yesodAuth yesodCore yesodForm yesodJson yesodPersistent zlib ]; meta = { homepage = "http://www.yesodweb.com/"; diff --git a/pkgs/development/libraries/haskell/zlib-bindings/default.nix b/pkgs/development/libraries/haskell/zlib-bindings/default.nix index d5557eae390..3bb9d314957 100644 --- a/pkgs/development/libraries/haskell/zlib-bindings/default.nix +++ b/pkgs/development/libraries/haskell/zlib-bindings/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "zlib-bindings"; - version = "0.1.0.1"; - sha256 = "0r1hjmmxb9kz5fvfrjvzjd0pnhb87vyldqvb73yjq35s16bj4vlc"; + version = "0.1.1"; + sha256 = "0hgqr7sh3pri482191gd9qrz2nbgxw1aqdx1x6lc9s0bbw68isai"; buildDepends = [ zlib ]; meta = { homepage = "http://github.com/snoyberg/zlib-bindings"; diff --git a/pkgs/development/libraries/haskell/zlib-conduit/default.nix b/pkgs/development/libraries/haskell/zlib-conduit/default.nix index e8b63564322..0f6a3656126 100644 --- a/pkgs/development/libraries/haskell/zlib-conduit/default.nix +++ b/pkgs/development/libraries/haskell/zlib-conduit/default.nix @@ -1,10 +1,10 @@ -{ cabal, conduit, transformers, zlibBindings }: +{ cabal, conduit, transformers, void, zlibBindings }: cabal.mkDerivation (self: { pname = "zlib-conduit"; - version = "0.4.0.2"; - sha256 = "1pwgyawc308rm1xcvzfz96ar11mngx79any7lragffj6f132qlm7"; - buildDepends = [ conduit transformers zlibBindings ]; + version = "0.5.0"; + sha256 = "0mba63wx11vb9xir4fbp031ay71xv8b3rnj8gnihsxf3yqq09b99"; + buildDepends = [ conduit transformers void zlibBindings ]; meta = { homepage = "http://github.com/snoyberg/conduit"; description = "Streaming compression/decompression via conduits"; diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix index 9f3650c2155..c5243bc6393 100644 --- a/pkgs/development/libraries/hunspell/default.nix +++ b/pkgs/development/libraries/hunspell/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ncurses, readline }: stdenv.mkDerivation rec { - name = "hunspell-1.2.12"; + name = "hunspell-1.3.2"; src = fetchurl { url = "mirror://sf/hunspell/${name}.tar.gz"; - sha256 = "0s8fh8zanhks6bgkb7dzwscy97fb6wl4ymvjqz7188fz29qjlnaz"; + sha256 = "1gfxdajnqk2civkshkfjx5ldg7kjdgj76m5khpsbjk4lxsjd9vdl"; }; propagatedBuildInputs = [ ncurses readline ]; diff --git a/pkgs/development/libraries/libexif/default.nix b/pkgs/development/libraries/libexif/default.nix index a9b60feff2f..48c66cb6070 100644 --- a/pkgs/development/libraries/libexif/default.nix +++ b/pkgs/development/libraries/libexif/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, gettext }: stdenv.mkDerivation rec { - name = "libexif-0.6.20"; + name = "libexif-0.6.21"; src = fetchurl { url = "mirror://sourceforge/libexif/${name}.tar.bz2"; - sha256 = "05fphfmgrni6838v0lkcqv88fbw7r1mdw3ypy3bh567vv05x4wm7"; + sha256 = "06nlsibr3ylfwp28w8f5466l6drgrnydgxrm4jmxzrmk5svaxk8n"; }; buildInputs = [ gettext ]; diff --git a/pkgs/development/libraries/libextractor/default.nix b/pkgs/development/libraries/libextractor/default.nix index b532f3283d4..a6b670eedb6 100644 --- a/pkgs/development/libraries/libextractor/default.nix +++ b/pkgs/development/libraries/libextractor/default.nix @@ -1,5 +1,10 @@ -{ fetchurl, stdenv, libtool, gettext, zlib, bzip2, flac, libvorbis, libmpeg2 -, ffmpeg, exiv2, libgsf, rpm, pkgconfig, glib, gtk }: +{ fetchurl, stdenv, libtool, gettext, zlib, bzip2, flac, libvorbis +, exiv2, libgsf, rpm, pkgconfig +, gtkSupport ? true, glib ? null, gtk ? null +, videoSupport ? true, ffmpeg ? null, libmpeg2 ? null}: + +assert gtkSupport -> glib != null && gtk != null; +assert videoSupport -> ffmpeg != null && libmpeg2 != null; stdenv.mkDerivation rec { name = "libextractor-0.6.2"; @@ -16,10 +21,11 @@ stdenv.mkDerivation rec { ''; buildInputs = - [ libtool gettext zlib bzip2 flac libvorbis libmpeg2 exiv2 ffmpeg + [ libtool gettext zlib bzip2 flac libvorbis exiv2 libgsf rpm - pkgconfig glib gtk - ]; + pkgconfig + ] ++ stdenv.lib.optionals gtkSupport [ glib gtk ] + ++ stdenv.lib.optionals videoSupport [ ffmpeg libmpeg2 ]; configureFlags = "--disable-ltdl-install " + "--with-ltdl-include=${libtool}/include " diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix index 255057b5134..f7052b90b42 100644 --- a/pkgs/development/libraries/libgpg-error/default.nix +++ b/pkgs/development/libraries/libgpg-error/default.nix @@ -1,6 +1,6 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl, bash }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (rec { name = "libgpg-error-1.10"; src = fetchurl { @@ -26,3 +26,16 @@ stdenv.mkDerivation rec { platforms = stdenv.lib.platforms.all; }; } + +// + +(stdenv.lib.optionalAttrs stdenv.isSunOS { + # For some reason, /bin/sh on OpenIndiana leads to this at the end of the + # `config.status' run: + # ./config.status[1401]: shift: (null): bad number + # (See .) + # Thus, re-run it with Bash. + postConfigure = + '' ${bash}/bin/sh config.status + ''; +})) diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix index 9d36bc3d5f2..3941fd4d694 100644 --- a/pkgs/development/libraries/libgsf/default.nix +++ b/pkgs/development/libraries/libgsf/default.nix @@ -1,7 +1,10 @@ { fetchurl, stdenv, perl, perlXMLParser, pkgconfig, libxml2 -, glib, gettext, intltool, bzip2, gdk_pixbuf -, gnome_vfs, libbonobo, python }: +, gettext, intltool, bzip2, glib, python +, gnomeSupport ? true, gdk_pixbuf ? null +, gnome_vfs ? null, libbonobo ? null }: +assert gnomeSupport -> gdk_pixbuf != null && gnome_vfs != null && libbonobo != null + && glib != null; stdenv.mkDerivation rec { name = "libgsf-1.14.22"; @@ -13,9 +16,11 @@ stdenv.mkDerivation rec { buildNativeInputs = [ intltool pkgconfig ]; buildInputs = - [ perl perlXMLParser gettext bzip2 gnome_vfs python gdk_pixbuf ]; + [ perl perlXMLParser gettext bzip2 python ] + ++ stdenv.lib.optionals gnomeSupport [ gnome_vfs gdk_pixbuf ]; - propagatedBuildInputs = [ glib libxml2 libbonobo ]; + propagatedBuildInputs = [ libxml2 glib ] + ++ stdenv.lib.optionals gnomeSupport [ libbonobo ]; doCheck = true; diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix index f7135e4018d..eb86a1d3ff2 100644 --- a/pkgs/development/libraries/libjpeg-turbo/default.nix +++ b/pkgs/development/libraries/libjpeg-turbo/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchurl, nasm }: +{ stdenv, fetchurl, nasm }: + +stdenv.mkDerivation rec { + name = "libjpeg-turbo-1.2.1"; -stdenv.mkDerivation { - name = "libjpeg-turbo-1.1.1"; - src = fetchurl { - url = mirror://sourceforge/libjpeg-turbo/libjpeg-turbo-1.1.1.tar.gz; - sha256 = "553b1f5a968fb9efc089623ed99be2aa6bc21586be92eb04848489c91a63f1e2"; + url = "mirror://sourceforge/libjpeg-turbo/${name}.tar.gz"; + sha256 = "0w1pj3j7hkx6irkrxlcmz53l94s6im0wml1v36nysb50akq26cyb"; }; buildInputs = [ nasm ]; - + meta = { homepage = http://libjpeg-turbo.virtualgl.org/; description = "A faster (using SIMD) libjpeg implementation"; diff --git a/pkgs/development/libraries/libmng/default.nix b/pkgs/development/libraries/libmng/default.nix index 3082bd0ce23..5a73fd417f9 100644 --- a/pkgs/development/libraries/libmng/default.nix +++ b/pkgs/development/libraries/libmng/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, zlib, libpng, libjpeg, lcms, automake, autoconf, libtool }: +{ stdenv, fetchurl, zlib, libpng, libjpeg, lcms, automake110x, autoconf, libtool }: stdenv.mkDerivation rec { name = "libmng-1.0.10"; @@ -10,11 +10,11 @@ stdenv.mkDerivation rec { preConfigure = "unmaintained/autogen.sh"; - buildNativeInputs = [ automake autoconf libtool ]; + buildNativeInputs = [ automake110x autoconf libtool ]; propagatedBuildInputs = [ zlib libpng libjpeg lcms ]; - meta = { + meta = { description = "Reference library for reading, displaying, writing and examining Multiple-Image Network Graphics"; homepage = http://www.libmng.com; license = "zlib/libpng"; diff --git a/pkgs/development/libraries/mpich2/default.nix b/pkgs/development/libraries/mpich2/default.nix index 967abe500e2..0ad2d4e4749 100644 --- a/pkgs/development/libraries/mpich2/default.nix +++ b/pkgs/development/libraries/mpich2/default.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation { configureFlags = "--enable-shared --enable-sharedlib"; buildInputs = [ python perl gfortran ]; - propagatedBuildInputs = stdenv.lib.optional (stdenv ? glibc) [ stdenv.glibc ]; + propagatedBuildInputs = stdenv.lib.optional (stdenv ? glibc) stdenv.glibc; patchPhase = '' for i in $(find -type f -not -name Makefile.\*) diff --git a/pkgs/development/libraries/nettle/default.nix b/pkgs/development/libraries/nettle/default.nix index 22c2fb14aca..6c7383435a8 100644 --- a/pkgs/development/libraries/nettle/default.nix +++ b/pkgs/development/libraries/nettle/default.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, gmp, gnum4 }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (rec { name = "nettle-2.4"; src = fetchurl { @@ -51,3 +51,13 @@ stdenv.mkDerivation rec { platforms = stdenv.lib.platforms.all; }; } + +// + +stdenv.lib.optionalAttrs stdenv.isSunOS { + # Make sure the right is found, and not the incompatible + # /usr/include/mp.h from OpenSolaris. See + # + # for details. + configureFlags = [ "--with-include-path=${gmp}/include" ]; +}) diff --git a/pkgs/development/libraries/opencv/default.nix b/pkgs/development/libraries/opencv/default.nix index 009935e14c0..d40b253df2f 100644 --- a/pkgs/development/libraries/opencv/default.nix +++ b/pkgs/development/libraries/opencv/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, cmake, gtk, libjpeg, libpng, libtiff, jasper, ffmpeg , pkgconfig, gstreamer, xineLib, glib }: -let v = "2.4.1"; in +let v = "2.4.2"; in stdenv.mkDerivation rec { name = "opencv-${v}"; src = fetchurl { url = "mirror://sourceforge/opencvlibrary/OpenCV-${v}.tar.bz2"; - sha256 = "1wxijbz1jfsg4695fls83825ppiacxfn5x07al0qkkx5rm7spdi9"; + sha256 = "0a1c4ys78k670dsk1fapylpf8hwfyzy944r9jvwivqh33s0j6039"; }; buildInputs = [ gtk glib libjpeg libpng libtiff jasper ffmpeg xineLib gstreamer ]; diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index cd164b13f8e..575b57eb872 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -23,6 +23,11 @@ let ./gnu.patch # submitted upstream ] + ++ stdenv.lib.optionals (stdenv.system == "x86_64-kfreebsd-gnu") + [ ./gnu.patch + ./kfreebsd-gnu.patch + ] + ++ stdenv.lib.optional stdenv.isDarwin ./darwin-arch.patch; in diff --git a/pkgs/development/libraries/openssl/kfreebsd-gnu.patch b/pkgs/development/libraries/openssl/kfreebsd-gnu.patch new file mode 100644 index 00000000000..66cedf746ba --- /dev/null +++ b/pkgs/development/libraries/openssl/kfreebsd-gnu.patch @@ -0,0 +1,36 @@ +Allow compilation on GNU/kFreeBSD. Ideally, there'd be a single way to process +all glibc-based system, but the build system is soooo broken. + +--- openssl-1.0.0i/config ++++ openssl-1.0.0i/config +@@ -170,6 +170,10 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${ + echo "${MACHINE}-whatever-linux1"; exit 0 + ;; + ++ GNU/kFreeBSD*) ++ echo "kfreebsd-gnu"; exit 0; ++ ;; ++ + GNU*) + echo "hurd-x86"; exit 0; + ;; +@@ -810,6 +814,7 @@ case "$GUESSOS" in + beos-*) OUT="$GUESSOS" ;; + x86pc-*-qnx6) OUT="QNX6-i386" ;; + *-*-qnx6) OUT="QNX6" ;; ++ kfreebsd-gnu) OUT="kfreebsd-gnu";; + *) OUT=`echo $GUESSOS | awk -F- '{print $3}'`;; + esac + + +--- openssl-1.0.0i/Configure ++++ openssl-1.0.0i/Configure +@@ -565,6 +565,9 @@ my %table=( + ##### GNU Hurd + "hurd-x86", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC", + ++##### GNU/kFreeBSD on x86_64, copied from "linux-x86_64" ++"kfreebsd-gnu", "gcc:-m64 -DL_ENDIAN -DTERMIOS -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64", ++ + ##### OS/2 EMX + "OS2-EMX", "gcc::::::::", diff --git a/pkgs/development/libraries/pcre/8.30.nix b/pkgs/development/libraries/pcre/8.30.nix new file mode 100644 index 00000000000..2f636492eb6 --- /dev/null +++ b/pkgs/development/libraries/pcre/8.30.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, unicodeSupport ? true, cplusplusSupport ? true }: + +stdenv.mkDerivation rec { + name = "pcre-8.30"; + + src = fetchurl { + url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${name}.tar.bz2"; + sha256 = "c1113fd7db934e97ad8b3917d432e5b642e9eb9afd127eb797804937c965f4ac"; + }; + + # The compiler on Darwin crashes with an internal error while building the + # C++ interface. Disabling optimizations on that platform remedies the + # problem. In case we ever update the Darwin GCC version, the exception for + # that platform ought to be removed. + configureFlags = '' + ${if unicodeSupport then "--enable-unicode-properties" else ""} + ${if !cplusplusSupport then "--disable-cpp" else ""} + '' + stdenv.lib.optionalString stdenv.isDarwin "CXXFLAGS=-O0"; + + doCheck = !stdenv.isCygwin; # XXX: test failure on Cygwin + + meta = { + homepage = "http://www.pcre.org/"; + description = "A library for Perl Compatible Regular Expressions"; + license = "BSD-3"; + + longDescription = '' + The PCRE library is a set of functions that implement regular + expression pattern matching using the same syntax and semantics as + Perl 5. PCRE has its own native API, as well as a set of wrapper + functions that correspond to the POSIX regular expression API. The + PCRE library is free, even for building proprietary software. + ''; + + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.simons ]; + }; +} diff --git a/pkgs/development/libraries/readline/readline-6.2-patches.nix b/pkgs/development/libraries/readline/readline-6.2-patches.nix index 4e0ff213527..719face2135 100644 --- a/pkgs/development/libraries/readline/readline-6.2-patches.nix +++ b/pkgs/development/libraries/readline/readline-6.2-patches.nix @@ -3,4 +3,6 @@ patch: [ (patch "001" "1qxl74f4n0hv4a807byrgbk4ixd8m50apj3922q2ss9pfi0nra1q") (patch "002" "1m670g2xzib6r81315q9r24nh9brmxkpq07acch1fwxmih94jqqy") +(patch "003" "0x13c9wir4r44v2vdg96y0ahn8kl3wcmb5y0xn15yvid6pzk28fb") +(patch "004" "0xjlkxfssfsd6jwbqhfjs4hybcps0b9zgz8v86vbhnzag4j39g89") ] diff --git a/pkgs/development/libraries/sbc/default.nix b/pkgs/development/libraries/sbc/default.nix new file mode 100644 index 00000000000..d621eed6728 --- /dev/null +++ b/pkgs/development/libraries/sbc/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, libsndfile, pkgconfig }: + +stdenv.mkDerivation rec { + name = "sbc-1.0"; + + src = fetchurl { + url = "http://www.kernel.org/pub/linux/bluetooth/${name}.tar.xz"; + sha256 = "10mq2rmh3h90bwq5cdcmizf93zf8f2br8gds0jxr9i962ai0m5xz"; + }; + + buildInputs = [ pkgconfig libsndfile ]; + + meta = { + description = "SubBand Codec Library"; + + homepage = http://www.bluez.org/; + + licenses = stdenv.lib.licenses.gpl2; + + maintainers = [ stdenv.lib.maintainers.shlevy ]; + }; +} diff --git a/pkgs/development/libraries/science/math/liblapack/default.nix b/pkgs/development/libraries/science/math/liblapack/default.nix index e2b43b6b053..9f25011b76f 100644 --- a/pkgs/development/libraries/science/math/liblapack/default.nix +++ b/pkgs/development/libraries/science/math/liblapack/default.nix @@ -4,10 +4,10 @@ let usedLibExtension = if shared then ".so" else ".a"; in stdenv.mkDerivation { - name = "liblapack-3.4.0"; + name = "liblapack-3.4.1"; src = fetchurl { - url = "http://www.netlib.org/lapack/lapack-3.4.0.tgz"; - sha256 = "1sf30v1ps5icg67dvw5sbx5yhypx13am470gqg2f7l04f3wrw4x7"; + url = "http://www.netlib.org/lapack/lapack-3.4.1.tgz"; + sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f"; }; propagatedBuildInputs = [ atlasMaybeShared ]; diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix new file mode 100644 index 00000000000..4d30671c488 --- /dev/null +++ b/pkgs/development/libraries/science/math/openblas/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, gfortran, perl }: + +stdenv.mkDerivation rec { + version = "0.2.2"; + lapack_version = "3.4.1"; + lapack_src = fetchurl { + url = "http://www.netlib.org/lapack/lapack-${lapack_version}.tgz"; + sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f"; + }; + + name = "openblas-${version}"; + src = fetchurl { + url = "https://github.com/xianyi/OpenBLAS/tarball/v${version}"; + sha256 = "13kdx3knff5ajnmgn419g0dnh83plin07p7akwamr3v7z5qfrzqr"; + name = "openblas-${version}.tar.gz"; + }; + + preBuild = "cp ${lapack_src} lapack-${lapack_version}.tgz"; + + buildInputs = [gfortran perl]; + + cpu = builtins.head (stdenv.lib.splitString "-" stdenv.system); + + target = if cpu == "i686" then "P6" else + if cpu == "x86_64" then "CORE2" else + # allow autodetect + ""; + + makeFlags = "${if target != "" then "TARGET=" else ""}${target} FC=gfortran CC=cc PREFIX=\"\$(out)\""; + + meta = { + description = "Basic Linear Algebra Subprograms"; + license = stdenv.lib.licenses.bsd3; + homepage = "https://github.com/xianyi/OpenBLAS"; + }; +} diff --git a/pkgs/development/libraries/silgraphite/default.nix b/pkgs/development/libraries/silgraphite/default.nix new file mode 100644 index 00000000000..db018cca465 --- /dev/null +++ b/pkgs/development/libraries/silgraphite/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, pkgconfig, freetype, libXft, pango, fontconfig }: + +stdenv.mkDerivation rec { + version = "2.3.1"; + name = "silgraphite-2.3.1"; + + src = fetchurl { + url = "mirror://sourceforge/silgraphite/silgraphite/${version}/${name}.tar.gz"; + sha256 = "9b07c6e91108b1fa87411af4a57e25522784cfea0deb79b34ced608444f2ed65"; + }; + + buildInputs = [pkgconfig freetype libXft pango fontconfig]; + + NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2"; + + meta = { + description = "An advanced font engine"; + maintainers = [ stdenv.lib.maintainers.raskin ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/libraries/suitesparse/default.nix b/pkgs/development/libraries/suitesparse/default.nix index b3fe6db059a..e3a7fbb5a08 100644 --- a/pkgs/development/libraries/suitesparse/default.nix +++ b/pkgs/development/libraries/suitesparse/default.nix @@ -1,9 +1,10 @@ { stdenv, fetchurl, blas, liblapack, gfortran } : -stdenv.mkDerivation { - name = "suitesparse"; +stdenv.mkDerivation rec { + version = "4.0.0"; + name = "suitesparse-${version}"; src = fetchurl { - url = http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-3.5.0.tar.gz ; - sha256 = "0npn7c1j5qag5m2r0cmh3bwc42c1jk8k2yg2cfyxlcrp0h7wn4rc"; + url = "http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-${version}.tar.gz" ; + sha256 = "1nvbdw10wa6654k8sa2vhr607q6fflcywyji5xd767cqpwag4v5j"; }; buildInputs = [blas liblapack gfortran] ; patches = [./disable-metis.patch]; @@ -14,6 +15,8 @@ stdenv.mkDerivation { mkdir -p $out/include ''; + makeFlags = ''PREFIX=\"$(out)\" INSTALL_LIB=$(out)/lib INSTALL_INCLUDE=$(out)/include''; + NIX_CFLAGS = "-fPIC"; } diff --git a/pkgs/development/libraries/suitesparse/disable-metis.patch b/pkgs/development/libraries/suitesparse/disable-metis.patch index 68fd22bc643..5b735eb7d3c 100644 --- a/pkgs/development/libraries/suitesparse/disable-metis.patch +++ b/pkgs/development/libraries/suitesparse/disable-metis.patch @@ -1,140 +1,18 @@ -diff -Nrc SuiteSparse/UFconfig/Makefile SuiteSparse-new/UFconfig/Makefile -*** SuiteSparse/UFconfig/Makefile 2009-11-11 20:59:08.000000000 +0100 ---- SuiteSparse-new/UFconfig/Makefile 2010-08-02 13:14:04.000000000 +0200 -*************** -*** 25,31 **** - - # install UFconfig - install: -! $(CP) Lib/libufconfig.a $(INSTALL_LIB)/libufconfig.$(VERSION).a - ( cd $(INSTALL_LIB) ; ln -s libufconfig.$(VERSION).a libufconfig.a ) - $(CP) UFconfig.h $(INSTALL_INCLUDE) - ---- 25,31 ---- - - # install UFconfig - install: -! $(CP) libufconfig.a $(INSTALL_LIB)/libufconfig.$(VERSION).a - ( cd $(INSTALL_LIB) ; ln -s libufconfig.$(VERSION).a libufconfig.a ) - $(CP) UFconfig.h $(INSTALL_INCLUDE) - -diff -Nrc SuiteSparse/UFconfig/UFconfig.mk SuiteSparse-new/UFconfig/UFconfig.mk -*** SuiteSparse/UFconfig/UFconfig.mk 2010-06-02 17:40:42.000000000 +0200 ---- SuiteSparse-new/UFconfig/UFconfig.mk 2010-08-02 14:55:27.000000000 +0200 -*************** -*** 34,40 **** - # performance. You should select the optimization parameters that are best - # for your system. On Linux, use "CFLAGS = -O3 -fexceptions" for example. - CC = cc -! CFLAGS = -O3 -fexceptions - - # C++ compiler (also uses CFLAGS) - CPLUSPLUS = g++ ---- 34,40 ---- - # performance. You should select the optimization parameters that are best - # for your system. On Linux, use "CFLAGS = -O3 -fexceptions" for example. - CC = cc -! CFLAGS = -O3 -fexceptions -fPIC - - # C++ compiler (also uses CFLAGS) - CPLUSPLUS = g++ -*************** -*** 71,78 **** - # MAKE = gmake - - # For "make install" -! INSTALL_LIB = /usr/local/lib -! INSTALL_INCLUDE = /usr/local/include - - #------------------------------------------------------------------------------ - # BLAS and LAPACK configuration: ---- 71,78 ---- - # MAKE = gmake - - # For "make install" -! INSTALL_LIB = $(out)/lib -! INSTALL_INCLUDE = $(out)/include - - #------------------------------------------------------------------------------ - # BLAS and LAPACK configuration: -*************** -*** 127,134 **** - # The path is relative to where it is used, in CHOLMOD/Lib, CHOLMOD/MATLAB, etc. - # You may wish to use an absolute path. METIS is optional. Compile - # CHOLMOD with -DNPARTITION if you do not wish to use METIS. -! METIS_PATH = ../../metis-4.0 -! METIS = ../../metis-4.0/libmetis.a - - # If you use CHOLMOD_CONFIG = -DNPARTITION then you must use the following - # options: ---- 127,134 ---- - # The path is relative to where it is used, in CHOLMOD/Lib, CHOLMOD/MATLAB, etc. - # You may wish to use an absolute path. METIS is optional. Compile - # CHOLMOD with -DNPARTITION if you do not wish to use METIS. -! #METIS_PATH = ../../metis-4.0 -! #METIS = - - # If you use CHOLMOD_CONFIG = -DNPARTITION then you must use the following - # options: -*************** -*** 189,195 **** - # -DNSUNPERF for Solaris only. If defined, do not use the Sun - # Performance Library - -! CHOLMOD_CONFIG = - - #------------------------------------------------------------------------------ - # SuiteSparseQR configuration: ---- 189,195 ---- - # -DNSUNPERF for Solaris only. If defined, do not use the Sun - # Performance Library - -! CHOLMOD_CONFIG = -DNPARTITION - - #------------------------------------------------------------------------------ - # SuiteSparseQR configuration: -*************** -*** 203,209 **** - # -DHAVE_TBB enable the use of Intel's Threading Building Blocks (TBB) - - # default, without timing, without TBB: -! SPQR_CONFIG = - # with timing and TBB: - # SPQR_CONFIG = -DTIMING -DHAVE_TBB - # with timing ---- 203,209 ---- - # -DHAVE_TBB enable the use of Intel's Threading Building Blocks (TBB) - - # default, without timing, without TBB: -! SPQR_CONFIG = -DNPARTITION - # with timing and TBB: - # SPQR_CONFIG = -DTIMING -DHAVE_TBB - # with timing diff -Nrc SuiteSparse/UMFPACK/Demo/Makefile SuiteSparse-new/UMFPACK/Demo/Makefile *** SuiteSparse/UMFPACK/Demo/Makefile 2009-11-11 21:09:45.000000000 +0100 --- SuiteSparse-new/UMFPACK/Demo/Makefile 2010-08-02 12:53:16.000000000 +0200 *************** -*** 40,51 **** +*** 40,46 **** ../../CAMD/Lib/libcamd.a: ( cd ../../CAMD ; $(MAKE) library ) -- ../../metis-4.0/libmetis.a: -- ( cd ../../metis-4.0/Lib ; $(MAKE) ) +- $(METIS): +- ( cd $(METIS_PATH) && $(MAKE) ) UMFPACK = ../Lib/libumfpack.a ../../AMD/Lib/libamd.a \ - ../../CHOLMOD/Lib/libcholmod.a ../../COLAMD/Lib/libcolamd.a \ -! ../../CAMD/Lib/libcamd.a ../../metis-4.0/libmetis.a \ - ../../CCOLAMD/Lib/libccolamd.a - - libs: $(UMFPACK) ---- 40,49 ---- +--- 40,44 ---- ../../CAMD/Lib/libcamd.a: ( cd ../../CAMD ; $(MAKE) library ) UMFPACK = ../Lib/libumfpack.a ../../AMD/Lib/libamd.a \ - ../../CHOLMOD/Lib/libcholmod.a ../../COLAMD/Lib/libcolamd.a \ -! ../../CAMD/Lib/libcamd.a \ - ../../CCOLAMD/Lib/libccolamd.a - - libs: $(UMFPACK) diff --git a/pkgs/development/libraries/tbb/default.nix b/pkgs/development/libraries/tbb/default.nix new file mode 100644 index 00000000000..13ec42f1ba2 --- /dev/null +++ b/pkgs/development/libraries/tbb/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation { + name = "tbb-4.0-u5"; + + src = fetchurl { + url = "http://threadingbuildingblocks.org/uploads/77/187/4.0%20update%205/tbb40_20120613oss_src.tgz"; + sha256 = "aaa98146049e55f6ac969298340eeb49df61395403fcc1480824a4ecd0d46192"; + }; + + checkTarget = "test"; + doCheck = false; + + installPhase = '' + mkdir -p $out/{lib,share/doc} + cp "build/"*release*"/"*so* $out/lib/ + mv include $out/ + rm $out/include/index.html + mv doc/html $out/share/doc/tbb + ''; + + enableParallelBuilding = true; + + meta = { + homepage = "http://threadingbuildingblocks.org/"; + description = "Intel Thread Building Blocks C++ Library"; + license = "LGPLv3+"; + + longDescription = '' + Intel Threading Building Blocks offers a rich and complete approach to + expressing parallelism in a C++ program. It is a library that helps you + take advantage of multi-core processor performance without having to be a + threading expert. Intel TBB is not just a threads-replacement library. It + represents a higher-level, task-based parallelism that abstracts platform + details and threading mechanisms for scalability and performance. + ''; + + maintainers = [ stdenv.lib.maintainers.simons ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix index a7630ee5d69..af0e6426b81 100644 --- a/pkgs/development/libraries/v8/default.nix +++ b/pkgs/development/libraries/v8/default.nix @@ -1,36 +1,43 @@ -{ stdenv, fetchsvn, python, scons, readline, makeWrapper }: +{ stdenv, fetchsvn, gyp, readline, python, which }: assert readline != null; let system = stdenv.system; arch = if system == "i686-linux" then "ia32" else if system == "x86_64-linux" || system == "x86_64-darwin" then "x64" else ""; - version = "3.6.6.25"; + version = "3.11.10.15"; in + assert arch != ""; + stdenv.mkDerivation rec { name = "v8-${version}"; src = fetchsvn { url = "http://v8.googlecode.com/svn/tags/${version}"; - sha256 = "2a097cbea29a8488419840245bf7bf85513941ceb22c5ef0a3825bfe5edaa045"; + sha256 = "0pdw4r6crsb07gshww4kbfbavxgkal8yaxkaggnkz62lrwbcwrwi"; }; - buildInputs = [python scons readline makeWrapper]; - - buildPhase = '' - export CXX=`type -p g++` - export CPPPATH=${readline}/include - export LIBPATH=${readline}/lib - scons snapshot=on console=readline library=shared importenv=PATH arch=${arch} library d8 + configurePhase = '' + mkdir build/gyp + ln -sv ${gyp}/bin/gyp build/gyp/gyp ''; + buildNativeInputs = stdenv.lib.optional (system == "i686-linux") which; + buildInputs = [ readline python ]; + + buildFlags = [ + "library=shared" + "console=readline" + "${arch}.release" + ]; + + enableParallelBuilding = true; + installPhase = '' mkdir -p $out/bin mkdir -p $out/lib - - cp -v libv8.* $out/lib - cp -v d8 $out/bin/d8 - cp -vR include $out/ - wrapProgram $out/bin/d8 --set ${if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"} $out/lib + mv -v out/${arch}.release/d8 $out/bin + mv -v out/${arch}.release/lib.target/libv8.so $out/lib + mv -v include $out/ ''; } diff --git a/pkgs/development/libraries/webkit/gtk2.nix b/pkgs/development/libraries/webkit/gtk2.nix index 76a9b90b411..5c755c193a5 100644 --- a/pkgs/development/libraries/webkit/gtk2.nix +++ b/pkgs/development/libraries/webkit/gtk2.nix @@ -13,8 +13,8 @@ rec { buildInputs = [gtk glib atk cairo curl fontconfig freetype gettext libjpeg libpng libtiff libxml2 libxslt pango sqlite icu gperf bison flex autoconf automake libtool - perl intltool pkgconfig libsoup gtkdoc libXt libproxy - enchant python ruby which renderproto libXrender geoclue + intltool pkgconfig libsoup gtkdoc libXt libproxy + enchant python ruby which renderproto libXrender geoclue perl ]; propagatedBuildInputs = [ diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix index 55e1c841830..a520f8196d8 100644 --- a/pkgs/development/ocaml-modules/extlib/default.nix +++ b/pkgs/development/ocaml-modules/extlib/default.nix @@ -8,6 +8,7 @@ stdenv.mkDerivation { sha256 = "ca6d69adeba4242ce41c02a23746ba1e464c0bbec66e2d16b02c3c6e85dc10aa"; }; + patches = [ ./hashtable-ocaml4-compat.patch ]; buildInputs = [ocaml findlib]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/extlib/hashtable-ocaml4-compat.patch b/pkgs/development/ocaml-modules/extlib/hashtable-ocaml4-compat.patch new file mode 100644 index 00000000000..c587f2b6cd3 --- /dev/null +++ b/pkgs/development/ocaml-modules/extlib/hashtable-ocaml4-compat.patch @@ -0,0 +1,12 @@ +Revision 396 from the official extlib repository. + +--- extlib/extHashtbl.ml (revision 395) ++++ extlib/extHashtbl.ml (working copy) +@@ -32,6 +32,7 @@ + } + + include Hashtbl ++ let create n = Hashtbl.create (* no seed *) n + + external h_conv : ('a, 'b) t -> ('a, 'b) h_t = "%identity" + external h_make : ('a, 'b) h_t -> ('a, 'b) t = "%identity" \ No newline at end of file diff --git a/pkgs/development/ocaml-modules/ocamlgraph/default.nix b/pkgs/development/ocaml-modules/ocamlgraph/default.nix index 92a46573117..2e109f1d621 100644 --- a/pkgs/development/ocaml-modules/ocamlgraph/default.nix +++ b/pkgs/development/ocaml-modules/ocamlgraph/default.nix @@ -1,8 +1,8 @@ -{stdenv, fetchurl, ocaml, findlib }: +{stdenv, fetchurl, ocaml, findlib, ocamlPackages }: let ocaml_version = (builtins.parseDrvName ocaml.name).version; - version = "1.8.1"; + version = "1.8.2"; in stdenv.mkDerivation { @@ -10,15 +10,21 @@ stdenv.mkDerivation { src = fetchurl { url = "http://ocamlgraph.lri.fr/download/ocamlgraph-${version}.tar.gz"; - sha256 = "0hrba69wvw9b42irkvjf6q7zzw12v5nyyc33yaq3jlf1qbzqhqxs"; + sha256 = "e54ae60cd977a032854166dad56348d0fb76c6cd8e03e960af455268f0c8b5a6"; }; - buildInputs = [ ocaml findlib ]; + buildInputs = [ ocaml findlib ocamlPackages.lablgtk ]; patches = ./destdir.patch; + # some patching is required so that the lablgtk2 library is taken into account. It + # does not reside in a subdirectory of the default library path, hence: + # * configure looked in the wrong path + # * ocaml needs that directory and the stubs directory as -I flag postPatch = '' sed -i 's@$(DESTDIR)$(OCAMLLIB)/ocamlgraph@$(DESTDIR)/lib/ocaml/${ocaml_version}/site-lib/ocamlgraph@' Makefile.in + sed -i 's@$OCAMLLIB/lablgtk2@${ocamlPackages.lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2@' configure Makefile.in + sed -i 's@-I +lablgtk2@-I ${ocamlPackages.lablgtk}/lib/ocaml/${ocaml_version}/site-lib/lablgtk2 -I ${ocamlPackages.lablgtk}/lib/ocaml/${ocaml_version}/site-lib/stublibs@' configure Makefile.in editor/Makefile ''; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/ocamlmake/default.nix b/pkgs/development/ocaml-modules/ocamlmake/default.nix index 23858576efd..0170119d94e 100644 --- a/pkgs/development/ocaml-modules/ocamlmake/default.nix +++ b/pkgs/development/ocaml-modules/ocamlmake/default.nix @@ -2,14 +2,14 @@ let - version = "6.36.0"; - sha256 = "7c9a771d79bf945050dc7530957f4b61669976177818185e64c002cbfd75e3a2"; + version = "6.37.0"; + sha256 = "99ff58080ed154cc4bd70f915fe4760dffb026a1c0447caa0b3bdb982b24b0a8"; in stdenv.mkDerivation { name = "ocaml-make-${version}"; src = fetchurl { - url = "http://hg.ocaml.info/release/ocaml-make/archive/release-${version}.tar.bz2"; + url = "http://bitbucket.org/mmottl/ocaml-makefile/downloads/ocaml-makefile-${version}.tar.gz"; inherit sha256; }; diff --git a/pkgs/development/ocaml-modules/sexplib/default.nix b/pkgs/development/ocaml-modules/sexplib/default.nix index d999dc471bd..32d5c842dc8 100644 --- a/pkgs/development/ocaml-modules/sexplib/default.nix +++ b/pkgs/development/ocaml-modules/sexplib/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation { sha256 = "b1022da052254581aae51fb634345920364439f715a2c786abcd0b828c2ce697"; }; - patches = [ ./sexp-3.10-compat.patch ]; + patches = [ ./sexp-3.10-compat.patch ./sexplib-7.0.5-patch-ocamlbuild-ocaml4.patch ]; buildInputs = [ocaml findlib ocaml_typeconv ]; createFindlibDestdir = true; diff --git a/pkgs/development/ocaml-modules/sexplib/sexplib-7.0.5-patch-ocamlbuild-ocaml4.patch b/pkgs/development/ocaml-modules/sexplib/sexplib-7.0.5-patch-ocamlbuild-ocaml4.patch new file mode 100644 index 00000000000..02e13e39445 --- /dev/null +++ b/pkgs/development/ocaml-modules/sexplib/sexplib-7.0.5-patch-ocamlbuild-ocaml4.patch @@ -0,0 +1,29 @@ +Patch from the fedora repository. + +--- sexplib-7.0.5.old/myocamlbuild.ml 2012-03-20 16:41:54.000000000 +0000 ++++ sexplib-7.0.5/myocamlbuild.ml 2012-07-30 11:38:21.829869635 +0100 +@@ -438,7 +438,13 @@ + BaseEnvLight.var_choose cond_specs env + in + flag tags & spec) +- t.flags ++ t.flags; ++ ++ flag ["ocaml"; "compile"; "byte"; "use_toploop"] (S[A"-I"; A"+compiler-libs"]); ++ flag ["ocaml"; "link"; "byte"; "use_toploop"] (S[A"-I"; A"+compiler-libs"; A"+compiler-libs/ocamltoplevel.cma"]); ++ flag ["ocaml"; "compile"; "native"; "use_toploop"] (S[A"-I"; A"+compiler-libs"]); ++ flag ["ocaml"; "link"; "native"; "use_toploop"] (S[A"-I"; A"+compiler-libs"; A"+compiler-libs/ocamltoplevel.cmxa"]); ++ + | _ -> + () + +--- sexplib-7.0.5.old/_tags 2012-03-20 16:41:54.000000000 +0000 ++++ sexplib-7.0.5/_tags 2012-07-30 11:37:01.749255839 +0100 +@@ -49,6 +49,7 @@ + : pkg_camlp4.extend + # Library sexplib_top + "top": include ++: use_toploop + # Executable sexp_test + "lib_test/sexp_test.byte": use_sexplib + "lib_test/sexp_test.byte": pkg_unix diff --git a/pkgs/development/perl-modules/DBD-Pg/default.nix b/pkgs/development/perl-modules/DBD-Pg/default.nix index 29a1da9c7ac..0d0cb1accc5 100644 --- a/pkgs/development/perl-modules/DBD-Pg/default.nix +++ b/pkgs/development/perl-modules/DBD-Pg/default.nix @@ -1,15 +1,17 @@ -{ fetchurl, buildPerlPackage, DBI, postgresql }: +{ stdenv, fetchurl, buildPerlPackage, DBI, postgresql }: buildPerlPackage rec { - name = "DBD-Pg-2.18.1"; - + name = "DBD-Pg-2.19.2"; + src = fetchurl { url = "mirror://cpan/modules/by-module/DBD/${name}.tar.gz"; - sha256 = "10nrmi0hgc9h8c0jbpd9bbbzkdb1riymnlk7a86537c0d4gfqcpm"; + sha256 = "0scnhbp0lfclbppbsfzmcyw32z8jhb9calvbg9q3gk4kli1119j9"; }; - - buildInputs = [postgresql] ; - propagatedBuildInputs = [DBI]; - + + buildInputs = [ postgresql ]; + propagatedBuildInputs = [ DBI ]; + makeMakerFlags = "POSTGRES_HOME=${postgresql}"; + + meta.platforms = stdenv.lib.platforms.linux; } diff --git a/pkgs/development/perl-modules/DBD-SQLite/default.nix b/pkgs/development/perl-modules/DBD-SQLite/default.nix index 8e1faf900a0..4cc2eb6a01c 100644 --- a/pkgs/development/perl-modules/DBD-SQLite/default.nix +++ b/pkgs/development/perl-modules/DBD-SQLite/default.nix @@ -1,15 +1,15 @@ -{fetchurl, buildPerlPackage, DBI, sqlite}: +{ stdenv, fetchurl, buildPerlPackage, DBI, sqlite }: buildPerlPackage rec { name = "DBD-SQLite-1.35"; - + src = fetchurl { url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz"; sha256 = "0zdwnj0jmkaqb2grkh451g1jc8nsdy4sf6lhn8xd0my0a3pd227z"; }; - + propagatedBuildInputs = [ DBI ]; - + makeMakerFlags = "SQLITE_LOCATION=${sqlite}"; patches = [ @@ -23,4 +23,6 @@ buildPerlPackage rec { # Disabled because the tests can randomly fail due to timeouts # (e.g. "database is locked(5) at dbdimp.c line 402 at t/07busy.t"). doCheck = false; + + meta.platforms = stdenv.lib.platforms.linux; } diff --git a/pkgs/development/perl-modules/DB_File/default.nix b/pkgs/development/perl-modules/DB_File/default.nix index 858d459f5ca..f6396af8b65 100644 --- a/pkgs/development/perl-modules/DB_File/default.nix +++ b/pkgs/development/perl-modules/DB_File/default.nix @@ -1,11 +1,11 @@ {fetchurl, buildPerlPackage, db4}: -buildPerlPackage { - name = "DB_File-1.820"; - +buildPerlPackage rec { + name = "DB_File-1.826"; + src = fetchurl { - url = mirror://cpan/authors/id/P/PM/PMQS/DB_File-1.820.tar.gz; - sha256 = "0jnz5lsrad67j42sdw5bqpkmgiyj45rpiqgkff3i21252k9d5s7a"; + url = "mirror://cpan/authors/id/P/PM/PMQS/${name}.tar.gz"; + sha256 = "c39828ef3cfecff8197ff057cb1c6127b87107c051d182b87c6b9ac79d23f09c"; }; preConfigure = '' diff --git a/pkgs/development/tools/haskell/BNFC/default.nix b/pkgs/development/tools/haskell/BNFC/default.nix index c06b5eacc24..e737a02a4ac 100644 --- a/pkgs/development/tools/haskell/BNFC/default.nix +++ b/pkgs/development/tools/haskell/BNFC/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "BNFC"; - version = "2.4.2.0"; - sha256 = "0nnalzsql1k5y3s93g5y2hy2gcdsrbi8r7cwzmdcy4vyy589pin0"; + version = "2.4.2.1"; + sha256 = "0a6ic9mqkxk2gql7dzik2bhm5iikgx035wxlz8iafxf45159dl14"; isLibrary = false; isExecutable = true; buildDepends = [ mtl ]; diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix index 091417cb8a3..b5983dec6fb 100644 --- a/pkgs/development/tools/haskell/cabal2nix/default.nix +++ b/pkgs/development/tools/haskell/cabal2nix/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "cabal2nix"; - version = "1.37"; - sha256 = "0gd20nzr3bqscd4pn0j3vsmnhxiypbv5ppncmi0ck5n4ii8c6m94"; + version = "1.38"; + sha256 = "1kybxrkddbzr1cqpqplbflhakf9njb9hvamhdwvlanlk8985h8jg"; isLibrary = false; isExecutable = true; buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ]; diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix index 3b2afdd791e..471b22a5825 100644 --- a/pkgs/development/tools/haskell/hlint/default.nix +++ b/pkgs/development/tools/haskell/hlint/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hlint"; - version = "1.8.29"; - sha256 = "07l281106kkahdzgilhh2njjirll0mhr318i3zmhn2ygcb9dvkdr"; + version = "1.8.30"; + sha256 = "1c52h7pi759dnqzfq46nyckp75aswpqkf2n7aag2np955ky7rd05"; isLibrary = true; isExecutable = true; buildDepends = [ diff --git a/pkgs/development/tools/haskell/hslogger/default.nix b/pkgs/development/tools/haskell/hslogger/default.nix index b181f164ed9..4128f6b7d09 100644 --- a/pkgs/development/tools/haskell/hslogger/default.nix +++ b/pkgs/development/tools/haskell/hslogger/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "hslogger"; - version = "1.1.5"; - sha256 = "0lk966csxxyjjdg5jg4pzzl5118zj8ms78vn1n9imb7f4vcs8vk7"; + version = "1.2.0"; + sha256 = "17ipnz7zd403x2gi2086chrgcnk76304hdxr5mv4phg4rm8w226y"; isLibrary = true; isExecutable = true; buildDepends = [ mtl network time ]; diff --git a/pkgs/development/tools/misc/autobuild/default.nix b/pkgs/development/tools/misc/autobuild/default.nix index 872dcb6c84c..f8497b5dece 100644 --- a/pkgs/development/tools/misc/autobuild/default.nix +++ b/pkgs/development/tools/misc/autobuild/default.nix @@ -4,7 +4,7 @@ stdenv.mkDerivation rec { name = "autobuild-3.5"; src = fetchurl { - url = "http://josefsson.org/autobuild/releases/${name}.tar.gz"; + url = "http://savannah.spinellicreations.com/autobuild/${name}.tar.gz"; sha256 = "0ik13913x1yj8lsaf65chpiw13brl3q6kx7s1fa41a7s2krl1xvi"; }; diff --git a/pkgs/development/tools/misc/automake/automake-1.11.x.nix b/pkgs/development/tools/misc/automake/automake-1.11.x.nix index 2172460b3c9..7c9d06baa54 100644 --- a/pkgs/development/tools/misc/automake/automake-1.11.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.11.x.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? true}: stdenv.mkDerivation rec { - name = "automake-1.11.2"; + name = "automake-1.11.6"; # TODO: Remove the `aclocal' wrapper when $ACLOCAL_PATH support is # available upstream; see @@ -11,8 +11,8 @@ stdenv.mkDerivation rec { setupHook = ./setup-hook.sh; src = fetchurl { - url = "mirror://gnu/automake/${name}.tar.bz2"; - sha256 = "06476qbd16dlasz29drmljqmr4gwx4qgcl075033b2hc73wx2ijg"; + url = "mirror://gnu/automake/${name}.tar.xz"; + sha256 = "1ffbc6cc41f0ea6c864fbe9485b981679dc5e350f6c4bc6c3512f5a4226936b5"; }; patches = [ ./fix-test-autoconf-2.69.patch ]; diff --git a/pkgs/development/tools/misc/automake/automake-1.12.x.nix b/pkgs/development/tools/misc/automake/automake-1.12.x.nix index 41aaff76876..e2db84d2fc3 100644 --- a/pkgs/development/tools/misc/automake/automake-1.12.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.12.x.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? true}: stdenv.mkDerivation rec { - name = "automake-1.12.1"; + name = "automake-1.12.2"; # TODO: Remove the `aclocal' wrapper when $ACLOCAL_PATH support is # available upstream; see @@ -12,11 +12,17 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnu/automake/${name}.tar.xz"; - sha256 = "0gqpbk51lbk0a4ixwdp4cnabzaj9qdsxypr1cmbs5hjan9lhhx9j"; + sha256 = "5fb56e918189b377a22368e19baaf70252bd85a9969ed5f8a8373f49e8faf07f"; }; buildInputs = [perl autoconf makeWrapper]; + # This test succeeds on my machine, but fails on Hydra (for reasons + # not yet understood). + patchPhase = '' + sed -i -e 's|t/aclocal7.sh||' Makefile.in + ''; + inherit doCheck; # The test suite can run in parallel. diff --git a/pkgs/development/tools/misc/automake/builder.sh b/pkgs/development/tools/misc/automake/builder.sh index 7f9e9219de3..e54a2acca67 100644 --- a/pkgs/development/tools/misc/automake/builder.sh +++ b/pkgs/development/tools/misc/automake/builder.sh @@ -36,10 +36,12 @@ postInstall() { # global directory, while callers of `aclocal' do not need to pass # `-I' options explicitly. - for prog in $out/bin/aclocal*; do + for prog in $out/bin/aclocal*; do wrapAclocal "$prog" done + + ln -s aclocal-1.11 $out/share/aclocal + ln -s automake-1.11 $out/share/automake } - genericBuild diff --git a/pkgs/development/tools/misc/cpphs/default.nix b/pkgs/development/tools/misc/cpphs/default.nix index fe20037cb95..4fbce76474c 100644 --- a/pkgs/development/tools/misc/cpphs/default.nix +++ b/pkgs/development/tools/misc/cpphs/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "cpphs"; - version = "1.13.3"; - sha256 = "1dnz4992hr662ys1lkf6iyqmi2a3bksim8dlryqwd9wx9h24lhq2"; + version = "1.14"; + sha256 = "1lscgylcbbny60lx36xwm8y22jmbv23159pfn8n87kbskq6cpk0z"; isLibrary = true; isExecutable = true; meta = { diff --git a/pkgs/development/tools/misc/frama-c/0007-Port-to-OCamlgraph-1.8.2.patch b/pkgs/development/tools/misc/frama-c/0007-Port-to-OCamlgraph-1.8.2.patch new file mode 100644 index 00000000000..1c16e1794ab --- /dev/null +++ b/pkgs/development/tools/misc/frama-c/0007-Port-to-OCamlgraph-1.8.2.patch @@ -0,0 +1,64 @@ +From: Mehdi Dogguy +Date: Wed, 16 May 2012 14:48:40 +0200 +Subject: Port to OCamlgraph 1.8.2 + + o Graph.Topological: as of OCamlgraph 1.8.2, the input graph must + implement Sig.COMPARABLE instead of Sig.HASHABLE +--- + src/misc/service_graph.ml | 2 +- + src/misc/service_graph.mli | 2 +- + src/semantic_callgraph/register.ml | 1 + + src/syntactic_callgraph/register.ml | 1 + + 4 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/misc/service_graph.ml b/src/misc/service_graph.ml +index f30a1be..567698f 100644 +--- a/src/misc/service_graph.ml ++++ b/src/misc/service_graph.ml +@@ -24,7 +24,7 @@ module Make + (G: sig + type t + module V: sig +- include Graph.Sig.HASHABLE ++ include Graph.Sig.COMPARABLE + val id: t -> int + val name: t -> string + val attributes: t -> Graph.Graphviz.DotAttributes.vertex list +diff --git a/src/misc/service_graph.mli b/src/misc/service_graph.mli +index 5ebb570..8006977 100644 +--- a/src/misc/service_graph.mli ++++ b/src/misc/service_graph.mli +@@ -28,7 +28,7 @@ module Make + (G: sig + type t + module V: sig +- include Graph.Sig.HASHABLE ++ include Graph.Sig.COMPARABLE + val id: t -> int + (** assume is >= 0 and unique for each vertices of the graph *) + val name: t -> string +diff --git a/src/semantic_callgraph/register.ml b/src/semantic_callgraph/register.ml +index 0b3b4df..064dca8 100644 +--- a/src/semantic_callgraph/register.ml ++++ b/src/semantic_callgraph/register.ml +@@ -107,6 +107,7 @@ module Service = + (if Kernel_function.is_definition v then `Bold + else `Dotted) ] + let equal = Kernel_function.equal ++ let compare v1 v2 = Datatype.Int.compare (id v1) (id v2) + let hash = Kernel_function.hash + let entry_point () = + try Some (fst (Globals.entry_point ())) +diff --git a/src/syntactic_callgraph/register.ml b/src/syntactic_callgraph/register.ml +index 4efb594..d9d78b9 100644 +--- a/src/syntactic_callgraph/register.ml ++++ b/src/syntactic_callgraph/register.ml +@@ -41,6 +41,7 @@ module Service = + | NIVar (_,b) when not !b -> `Style `Dotted + | _ -> `Style `Bold ] + let equal v1 v2 = id v1 = id v2 ++ let compare v1 v2 = Datatype.Int.compare (id v1) (id v2) + let hash = id + let entry_point () = !entry_point_ref + end +-- diff --git a/pkgs/development/tools/misc/frama-c/default.nix b/pkgs/development/tools/misc/frama-c/default.nix new file mode 100644 index 00000000000..ede316b4b7b --- /dev/null +++ b/pkgs/development/tools/misc/frama-c/default.nix @@ -0,0 +1,67 @@ +# Note on a potential dependency-bloat: +# Frama-c ships with several plugins that have dependencies on other +# software. Not providing the dependencies has as effect that certain +# plugins will not be available. +# I've included the dependencies that are well-supported by nixpkgs +# and seem useful in general. Not included are: +# alt-ergo, ltl2ba, otags, why-dp + +{ stdenv, fetchurl, ncurses, ocamlPackages, coq, graphviz }: + +let + + version = "20111001"; + sha256 = "8afad848321c958fab265045cd152482e77ce7c175ee7c9af2d4bec57a1bc671"; + +in stdenv.mkDerivation { + name = "frama-c-${version}"; + + src = fetchurl { + url = "http://frama-c.com/download/frama-c-Nitrogen-${version}.tar.gz"; + inherit sha256; + }; + + buildInputs = with ocamlPackages; [ + ncurses ocaml findlib ocamlgraph + lablgtk coq graphviz # optional dependencies + ]; + + patches = [ + # this patch comes from the debian frama-c package, and was + # posted on the frama-c issue tracker. + ./0007-Port-to-OCamlgraph-1.8.2.patch + ]; + + postPatch = '' + # strip absolute paths to /usr/bin + for file in ./configure ./share/Makefile.common ./src/*/configure; do + substituteInPlace $file --replace '/usr/bin/' "" + done + + # find library paths + OCAMLGRAPH_HOME=`ocamlfind query ocamlgraph` + LABLGTK_HOME=`ocamlfind query lablgtk2` + + # patch search paths + # ensure that the tests against the ocamlgraph version succeeds + # filter out the additional search paths from ocamldep + substituteInPlace ./configure \ + --replace '$OCAMLLIB/ocamlgraph' "$OCAMLGRAPH_HOME" \ + --replace '$OCAMLLIB/lablgtk2' "$LABLGTK_HOME" \ + --replace '+ocamlgraph' "$OCAMLGRAPH_HOME" \ + --replace '1.8)' '*)' + substituteInPlace ./Makefile --replace '+lablgtk2' "$LABLGTK_HOME" \ + --replace '$(patsubst +%,.,$(INCLUDES) $(GUI_INCLUDES))' \ + '$(patsubst /%,.,$(patsubst +%,.,$(INCLUDES) $(GUI_INCLUDES)))' + ''; + + meta = { + description = "Frama-C is an extensible tool for source-code analysis of C software"; + + homepage = http://frama-c.com/; + license = "GPLv2"; + + maintainers = [ stdenv.lib.maintainers.amiddelk ]; + platforms = stdenv.lib.platforms.gnu; + }; +} diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix index b3cf2fcbdda..3589ffb5a07 100644 --- a/pkgs/development/tools/misc/strace/default.nix +++ b/pkgs/development/tools/misc/strace/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, perl }: stdenv.mkDerivation rec { - name = "strace-4.6"; + name = "strace-4.7"; src = fetchurl { url = "mirror://sourceforge/strace/${name}.tar.xz"; - sha256 = "12n2faqq7whmszpjhv2lcb06r7900j53p0zl7vipi18inr0smycy"; + sha256 = "158iwk0pl2mfw93m1843xb7a2zb8p6lh0qim07rca6f1ff4dk764"; }; buildNativeInputs = [ perl ]; diff --git a/pkgs/development/tools/node/npm2nix/default.nix b/pkgs/development/tools/node/npm2nix/default.nix new file mode 100644 index 00000000000..8300a7e2bc3 --- /dev/null +++ b/pkgs/development/tools/node/npm2nix/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, coffeescript }: + +let version = "0.1"; in + +stdenv.mkDerivation rec { + name = "npm2nix-${version}"; + + src = fetchurl { + url = "https://bitbucket.org/shlevy/npm2nix/get/${version}.tar.bz2"; + sha256 = "14rfs114k02yc9gx0bcjqy67f9cqgkrr1dccwlzl09q9b6qs1k3k"; + }; + + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir -p $out/bin + sed 's|#!/usr/bin/env coffee|#!${coffeescript}/bin/coffee|' npm2nix.coffee \ + > $out/bin/npm2nix + chmod +x $out/bin/npm2nix + ''; + + meta = { + description = "A tool to generate nix expressions from npm packages"; + maintainer = stdenv.lib.maintainers.shlevy; + }; +} diff --git a/pkgs/development/tools/ocaml/findlib/default.nix b/pkgs/development/tools/ocaml/findlib/default.nix index c89af03097d..3170712b9ba 100644 --- a/pkgs/development/tools/ocaml/findlib/default.nix +++ b/pkgs/development/tools/ocaml/findlib/default.nix @@ -5,11 +5,11 @@ let in stdenv.mkDerivation { - name = "ocaml-findlib-1.2.7"; + name = "ocaml-findlib-1.3.3"; src = fetchurl { - url = http://download.camlcity.org/download/findlib-1.2.7.tar.gz; - sha256 = "16q2avr48hd7vwz3bwvjw39dva86mdwa05drcwz32fwbwhlv2869"; + url = http://download.camlcity.org/download/findlib-1.3.3.tar.gz; + sha256 = "981f5c67118a2be015efa79f3af3cb0063376b93123b5d695e7cb5c586b1d45c"; }; buildInputs = [m4 ncurses ocaml]; diff --git a/pkgs/development/tools/parsing/bison/bison-2.6.nix b/pkgs/development/tools/parsing/bison/bison-2.6.nix new file mode 100644 index 00000000000..ea43d30410e --- /dev/null +++ b/pkgs/development/tools/parsing/bison/bison-2.6.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, m4, perl }: + +stdenv.mkDerivation rec { + name = "bison-2.6.2"; + + src = fetchurl { + url = "mirror://gnu/bison/${name}.tar.xz"; + sha256 = "79503f80397c30ac81b62eca5ffeaccaed72fdfeddb76257efcf8c3ca24be03d"; + }; + + buildNativeInputs = [ m4 ] ++ stdenv.lib.optional doCheck perl; + propagatedBuildInputs = [ m4 ]; + + doCheck = true; + # M4 = "${m4}/bin/m4"; + + meta = { + homepage = "http://www.gnu.org/software/bison/"; + description = "GNU Bison, a Yacc-compatible parser generator"; + license = "GPLv3+"; + + longDescription = '' + Bison is a general-purpose parser generator that converts an + annotated context-free grammar into an LALR(1) or GLR parser for + that grammar. Once you are proficient with Bison, you can use + it to develop a wide range of language parsers, from those used + in simple desk calculators to complex programming languages. + + Bison is upward compatible with Yacc: all properly-written Yacc + grammars ought to work with Bison with no change. Anyone + familiar with Yacc should be able to use Bison with little + trouble. You need to be fluent in C or C++ programming in order + to use Bison. + ''; + + maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ]; + platforms = stdenv.lib.platforms.unix; + }; + + passthru = { glrSupport = true; }; +} diff --git a/pkgs/development/web/nodejs/build-node-package.nix b/pkgs/development/web/nodejs/build-node-package.nix new file mode 100644 index 00000000000..56941ddf27e --- /dev/null +++ b/pkgs/development/web/nodejs/build-node-package.nix @@ -0,0 +1,35 @@ +{ stdenv, nodejs }: + +args @ { src, deps, ... }: + +stdenv.mkDerivation ({ + unpackPhase = "true"; + + configurePhase = '' + runHook preConfigure + mkdir node_modules + ${stdenv.lib.concatStrings (map (dep: '' + ln -sv ${dep}/node_modules/${(builtins.parseDrvName dep.name).name} node_modules/ + '') deps)} + export HOME=$(pwd) + runHook postConfigure + ''; + + buildPhase = '' + runHook preBuild + ${nodejs}/bin/npm --registry http://www.example.com install ${src} + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir $out + mv node_modules $out + if [ -d "$out/node_modules/.bin" ]; then + ln -sv node_modules/.bin $out/bin + find -L $out/node_modules/.bin/* -type f -print0 | \ + xargs -0 sed --follow-symlinks -i 's@#!/usr/bin/env node@#!${nodejs}/bin/node@' + fi + runHook postInstall + ''; +} // args) diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix index ef45825a584..98042359857 100644 --- a/pkgs/development/web/nodejs/default.nix +++ b/pkgs/development/web/nodejs/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchurl, openssl, python, zlib, v8, linkV8Headers ? false }: +{ stdenv, fetchurl, openssl, python, zlib, v8, linkV8Headers ? false, utillinux }: stdenv.mkDerivation rec { - version = "0.6.19"; + version = "0.8.3"; name = "nodejs-${version}"; src = fetchurl { url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz"; - sha256 = "1frgnl7i111b8x3fr43lh3zybwsszn0daa661gszq7dhfwj2jcsf"; + sha256 = "0dgcw6qpgvsxcvcbkmvpjz2i9f2r286zcrcg0jnxnds9fj41s2k0"; }; configureFlags = [ @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { patches = stdenv.lib.optional stdenv.isDarwin ./no-arch-flag.patch; prePatch = '' - sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i tools/{*.py,waf-light,node-waf} + sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i tools/{*.py,waf-light,node-waf} configure ''; postInstall = '' @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { install_name_tool -change libv8.dylib ${v8}/lib/libv8.dylib $out/bin/node ''; - buildInputs = [ python openssl v8 zlib ]; + buildInputs = [ python openssl v8 zlib ] ++ stdenv.lib.optional stdenv.isLinux utillinux; meta = with stdenv.lib; { description = "Event-driven I/O framework for the V8 JavaScript engine"; diff --git a/pkgs/games/kobodeluxe/default.nix b/pkgs/games/kobodeluxe/default.nix index 1d700d5cf03..70288e549a4 100644 --- a/pkgs/games/kobodeluxe/default.nix +++ b/pkgs/games/kobodeluxe/default.nix @@ -9,6 +9,12 @@ stdenv.mkDerivation { buildInputs = [ SDL SDL_image]; + prePatch = '' + sed -e 's/char \*tok/const char \*tok/' -i graphics/window.cpp + ''; + + patches = [ ./glibc29.patch ]; + meta = { homepage = http://olofson.net/kobodl/; description = "Enhanced version of Akira Higuchi's game XKobo for Un*x systems with X11"; diff --git a/pkgs/games/kobodeluxe/glibc29.patch b/pkgs/games/kobodeluxe/glibc29.patch new file mode 100644 index 00000000000..7a9ef355a82 --- /dev/null +++ b/pkgs/games/kobodeluxe/glibc29.patch @@ -0,0 +1,83 @@ +--- a/enemies.h ++++ b/enemies.h +@@ -70,9 +70,9 @@ + extern const enemy_kind bomb2; + extern const enemy_kind bombdeto; + extern const enemy_kind cannon; +-extern const enemy_kind pipe1; ++extern const enemy_kind pipeone; + extern const enemy_kind core; +-extern const enemy_kind pipe2; ++extern const enemy_kind pipetwo; + extern const enemy_kind rock; + extern const enemy_kind ring; + extern const enemy_kind enemy_m1; +@@ -430,7 +430,7 @@ + + inline int _enemy::is_pipe() + { +- return ((_state != notuse) && ((ek == &pipe1) || (ek == &pipe2))); ++ return ((_state != notuse) && ((ek == &pipeone) || (ek == &pipetwo))); + } + + +--- a/enemy.cpp ++++ b/enemy.cpp +@@ -713,7 +713,7 @@ + + void _enemy::kill_cannon() + { +- enemies.make(&pipe1, CS2PIXEL(x), CS2PIXEL(y)); ++ enemies.make(&pipeone, CS2PIXEL(x), CS2PIXEL(y)); + sound.g_base_node_explo(x, y); + release(); + } +@@ -755,10 +755,10 @@ + + void _enemy::kill_core() + { +- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 3); +- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 7); +- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 1); +- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 5); ++ enemies.make(&pipetwo, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 3); ++ enemies.make(&pipetwo, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 7); ++ enemies.make(&pipetwo, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 1); ++ enemies.make(&pipetwo, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 5); + enemies.make(&explosion4, CS2PIXEL(x), CS2PIXEL(y)); + sound.g_base_core_explo(x, y); + release(); +@@ -851,7 +851,7 @@ + screen.set_map(x1, y1, m ^ a); + release(); + } +-const enemy_kind pipe1 = { ++const enemy_kind pipeone = { + 0, + &_enemy::make_pipe1, + &_enemy::move_pipe1, +@@ -978,19 +978,19 @@ + } + p ^= a; + if(p & U_MASK) +- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 1); ++ enemies.make(&pipetwo, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 1); + if(p & R_MASK) +- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 3); ++ enemies.make(&pipetwo, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 3); + if(p & D_MASK) +- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 5); ++ enemies.make(&pipetwo, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 5); + if(p & L_MASK) +- enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 7); ++ enemies.make(&pipetwo, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 7); + manage.add_score(10); + release(); + } + + +-const enemy_kind pipe2 = { ++const enemy_kind pipetwo = { + 0, + &_enemy::make_pipe2, + &_enemy::move_pipe2, diff --git a/pkgs/games/minecraft/default.nix b/pkgs/games/minecraft/default.nix index 171e73896c6..3281f07335b 100644 --- a/pkgs/games/minecraft/default.nix +++ b/pkgs/games/minecraft/default.nix @@ -2,11 +2,11 @@ , mesa, openal}: stdenv.mkDerivation { - name = "minecraft-1.2.5"; + name = "minecraft-1.3.1"; src = fetchurl { url = "https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft.jar"; - sha256 = "0yp3wgy93wm746dkv6kbljhmzdqbcg4qhwkvnaaq4ml84mvvjp38"; + sha256 = "0j8a889w174vwgcxl4yqgp2kbqqha3x505fn7izz38srlx59gnwj"; }; phases = "installPhase"; @@ -30,7 +30,7 @@ stdenv.mkDerivation { meta = { description = "A sandbox-building game"; homepage = http://www.minecraft.net; - maintainers = [ "Carles Pagès " stdenv.lib.maintainers.shlevy ]; + maintainers = [ stdenv.lib.maintainers.page stdenv.lib.maintainers.shlevy ]; license = "unfree-redistributable"; }; } diff --git a/pkgs/lib/attrsets.nix b/pkgs/lib/attrsets.nix index 5e4e9df3711..de6eccbec1f 100644 --- a/pkgs/lib/attrsets.nix +++ b/pkgs/lib/attrsets.nix @@ -5,12 +5,11 @@ with { inherit (import ./trivial.nix) or; inherit (import ./default.nix) fold; inherit (import ./strings.nix) concatStringsSep; - inherit (import ./lists.nix) concatMap; - inherit (import ./misc.nix) eqStrict; + inherit (import ./lists.nix) concatMap concatLists; }; rec { - inherit (builtins) attrNames listToAttrs hasAttr isAttrs; + inherit (builtins) attrNames listToAttrs hasAttr isAttrs getAttr; /* Return an attribute from nested attribute sets. For instance @@ -33,15 +32,6 @@ rec { nameValuePair (head attrPath) (setAttrByPath (tail attrPath) value) )]; - - /* Backwards compatibility hack: lib.attrByPath used to be called - lib.getAttr, which was confusing given that there was also a - builtins.getAttr. Eventually we'll drop this hack and - lib.getAttr will just be an alias for builtins.getAttr. */ - getAttr = a: b: if isString a - then builtins.getAttr a b - else c: builtins.trace "Deprecated use of lib.getAttr!" (attrByPath a b c); - getAttrFromPath = attrPath: set: let errorMsg = "cannot find attribute `" + concatStringsSep "." attrPath + "'"; @@ -75,7 +65,7 @@ rec { catAttrs "a" [{a = 1;} {b = 0;} {a = 2;}] => [1 2] */ - catAttrs = attr: l: fold (s: l: if hasAttr attr s then [(getAttr attr s)] ++ l else l) [] l; + catAttrs = attr: l: concatLists (map (s: if hasAttr attr s then [(getAttr attr s)] else []) l); /* Filter an attribute set by removing all attributes for which the @@ -301,9 +291,9 @@ rec { matchAttrs = pattern: attrs: fold or false (attrValues (zipAttrsWithNames (attrNames pattern) (n: values: let pat = head values; val = head (tail values); in - if tail values == [] then false + if length values == 1 then false else if isAttrs pat then isAttrs val && matchAttrs head values - else eqStrict pat val + else pat == val ) [pattern attrs])); # override only the attributes that are already present in the old set diff --git a/pkgs/lib/debug.nix b/pkgs/lib/debug.nix index e452151add6..b78f946c5d4 100644 --- a/pkgs/lib/debug.nix +++ b/pkgs/lib/debug.nix @@ -66,7 +66,7 @@ rec { let testsToRun = if tests ? tests then tests.tests else []; in if (substring 0 4 name == "test" || elem name testsToRun) && ((testsToRun == []) || elem name tests.tests) - && (!lib.eqStrict test.expr test.expected) + && (test.expr != test.expected) then [ { inherit name; expected = test.expected; result = test.expr; } ] else [] ) tests)); diff --git a/pkgs/lib/lists.nix b/pkgs/lib/lists.nix index 67b0add50dc..b9eba9ab478 100644 --- a/pkgs/lib/lists.nix +++ b/pkgs/lib/lists.nix @@ -1,33 +1,59 @@ # General list operations. rec { - inherit (builtins) head tail length isList; + inherit (builtins) head tail length isList add sub lessThan; # Create a list consisting of a single element. `singleton x' is # sometimes more convenient with respect to indentation than `[x]' # when x spans multiple lines. singleton = x: [x]; - + # "Fold" a binary function `op' between successive elements of # `list' with `nul' as the starting value, i.e., `fold op nul [x_1 # x_2 ... x_n] == op x_1 (op x_2 ... (op x_n nul))'. (This is # Haskell's foldr). - fold = op: nul: list: - if list == [] - then nul - else op (head list) (fold op nul (tail list)); + fold = + if builtins ? elemAt + then op: nul: list: + let + len = length list; + fold' = n: + if n == len + then nul + else op (builtins.elemAt list n) (fold' (add n 1)); + in fold' 0 + else op: nul: + let fold' = list: + if list == [] + then nul + else op (head list) (fold' (tail list)); + in fold'; # Left fold: `fold op nul [x_1 x_2 ... x_n] == op (... (op (op nul # x_1) x_2) ... x_n)'. - foldl = op: nul: list: - if list == [] - then nul - else foldl op (op nul (head list)) (tail list); + foldl = + if builtins ? elemAt + then op: nul: list: + let + len = length list; + foldl' = n: + if n == minus1 + then nul + else op (foldl' (sub n 1)) (builtins.elemAt list n); + in foldl' (sub (length list) 1) + else op: + let foldl' = nul: list: + if list == [] + then nul + else foldl' (op nul (head list)) (tail list); + in foldl'; + + minus1 = sub 0 1; + - # map with index: `imap (i: v: "${v}-${toString i}") ["a" "b"] == # ["a-1" "b-2"]' imap = f: list: @@ -35,7 +61,7 @@ rec { # Concatenate a list of lists. - concatLists = fold (x: y: x ++ y) []; + concatLists = builtins.concatLists or (fold (x: y: x ++ y) []); # Map and concatenate the result. @@ -53,20 +79,24 @@ rec { # Filter a list using a predicate; that is, return a list containing # every element from `list' for which `pred' returns true. - filter = pred: list: - fold (x: y: if pred x then [x] ++ y else y) [] list; + filter = + builtins.filter or + (pred: list: + fold (x: y: if pred x then [x] ++ y else y) [] list); - # Remove elements 'e' from a list. Useful for buildInputs + # Remove elements equal to 'e' from a list. Useful for buildInputs. remove = e: filter (x: x != e); # Given two lists, removes all elements of the first list from the second list removeList = l: filter (x: elem x l); - - # Return true if `list' has an element `x': - elem = x: list: fold (a: bs: x == a || bs) false list; + + # Return true if `list' has an element `x'. + elem = + builtins.elem or + (x: list: fold (a: bs: x == a || bs) false list); # Find the sole element in the list matching the specified @@ -88,27 +118,14 @@ rec { # Return true iff function `pred' returns true for at least element # of `list'. - any = pred: list: - if list == [] then false - else if pred (head list) then true - else any pred (tail list); + any = pred: fold (x: y: if pred x then true else y) false; # Return true iff function `pred' returns true for all elements of # `list'. - all = pred: list: - if list == [] then true - else if pred (head list) then all pred (tail list) - else false; + all = pred: fold (x: y: if pred x then y else false) true; - # Return true if each element of a list is equal, false otherwise. - eqLists = xs: ys: - if xs == [] && ys == [] then true - else if xs == [] || ys == [] then false - else head xs == head ys && eqLists (tail xs) (tail ys); - - # Return a singleton list or an empty list, depending on a boolean # value. Useful when building lists with optional elements # (e.g. `++ optional (system == "i686-linux") flashplayer'). @@ -165,11 +182,11 @@ rec { # order. The implementation does a quick-sort. sort = strictLess: list: let - # This implementation only have one element lists on the left hand + # This implementation only has one element list on the left hand # side of the concatenation operator. qs = l: concat: if l == [] then concat - else if tail l == [] then l ++ concat + else if length l == 1 then l ++ concat else let part = partition (strictLess (head l)) (tail l); in @@ -195,7 +212,7 @@ rec { let loop = l: if tail l == [] then head l else loop (tail l); in loop list; - + # Zip two lists together. zipTwoLists = xs: ys: if xs != [] && ys != [] then diff --git a/pkgs/lib/maintainers.nix b/pkgs/lib/maintainers.nix index aab4d685361..127295a2feb 100644 --- a/pkgs/lib/maintainers.nix +++ b/pkgs/lib/maintainers.nix @@ -23,6 +23,7 @@ marcweber = "Marc Weber "; mornfall = "Petr Ročkai "; neznalek = "Vladimír Čunát "; + page = "Carles Pagès "; phreedom = "Evgeny Egorochkin "; pierron = "Nicolas B. Pierron "; piotr = "Piotr Pietraszkiewicz "; diff --git a/pkgs/lib/misc.nix b/pkgs/lib/misc.nix index d3b236f73e5..39a3ad258b0 100644 --- a/pkgs/lib/misc.nix +++ b/pkgs/lib/misc.nix @@ -158,14 +158,15 @@ rec { (tail x))))) condList)) ; - # !!! This function has O(n^2) performance, so you probably don't want to use it! - uniqList = {inputList, outputList ? []}: - if (inputList == []) then outputList else - let x=head inputList; - newOutputList = outputList ++ - (if elem x outputList then [] else [x]); - in uniqList {outputList=newOutputList; - inputList = (tail inputList);}; + # This function has O(n^2) performance. + uniqList = {inputList, acc ? []} : + let go = xs : acc : + if xs == [] + then [] + else let x = head xs; + y = if elem x acc then [] else [x]; + in y ++ go (tail xs) (y ++ acc); + in go inputList acc; uniqListExt = {inputList, outputList ? [], getter ? (x : x), compare ? (x: y: x==y)}: @@ -214,16 +215,22 @@ rec { modifySumArgs = f: x: innerModifySumArgs f x {}; - innerClosePropagation = ready: list: if list == [] then ready else - if ! isAttrs (head list) then - /* builtins.trace ("not an attrSet: ${lib.showVal (head list)}") */ - innerClosePropagation ready (tail list) - else - innerClosePropagation - (ready ++ [(head list)]) - ((tail list) - ++ (maybeAttrNullable "propagatedBuildInputs" [] (head list)) - ++ (maybeAttrNullable "propagatedBuildNativeInputs" [] (head list))); + innerClosePropagation = acc : xs : + if xs == [] + then acc + else let y = head xs; + ys = tail xs; + in if ! isAttrs y + then innerClosePropagation acc ys + else let acc' = [y] ++ acc; + in innerClosePropagation + acc' + (uniqList { inputList = (maybeAttrNullable "propagatedBuildInputs" [] y) + ++ (maybeAttrNullable "propagatedBuildNativeInputs" [] y) + ++ ys; + acc = acc'; + } + ); closePropagation = list: (uniqList {inputList = (innerClosePropagation [] list);}); @@ -315,10 +322,6 @@ rec { // listToAttrs (map (n : nameValuePair n (a: b: "${a}\n${b}") ) [ "preConfigure" "postInstall" ]) ; - # returns atribute values as a list - flattenAttrs = set : map ( attr : builtins.getAttr attr set) (attrNames set); - mapIf = cond : f : fold ( x : l : if (cond x) then [(f x)] ++ l else l) []; - # prepareDerivationArgs tries to make writing configurable derivations easier # example: # prepareDerivationArgs { @@ -358,7 +361,7 @@ rec { flagName = name : "${name}Support"; cfgWithDefaults = (listToAttrs (map (n : nameValuePair (flagName n) false) (attrNames args2.flags))) // args2.cfg; - opts = flattenAttrs (mapAttrs (a : v : + opts = attrValues (mapAttrs (a : v : let v2 = if (v ? set || v ? unset) then v else { set = v; }; n = if (getAttr (flagName a) cfgWithDefaults) then "set" else "unset"; attr = maybeAttr n {} v2; in @@ -383,18 +386,4 @@ rec { else if isInt x then "int" else "string"; - # deep, strict equality testing. This should be implemented as primop - eqStrict = a : b : - let eqListStrict = a : b : - if (a == []) != (b == []) then false - else if a == [] then true - else eqStrict (head a) (head b) && eqListStrict (tail a) (tail b); - in - if nixType a != nixType b then false - else if isList a then eqListStrict a b - else if isAttrs a then - (eqListStrict (attrNames a) (attrNames b)) - && (eqListStrict (lib.attrValues a) (lib.attrValues b)) - else a == b; # FIXME ! - } diff --git a/pkgs/lib/modules.nix b/pkgs/lib/modules.nix index eb528f141fe..25cb956a0ea 100644 --- a/pkgs/lib/modules.nix +++ b/pkgs/lib/modules.nix @@ -2,7 +2,7 @@ let lib = import ./default.nix; in -with { inherit (builtins) head tail; }; +with { inherit (builtins) head; }; with import ./trivial.nix; with import ./lists.nix; with import ./misc.nix; @@ -44,9 +44,9 @@ rec { delayedModule = delayProperties m; getImports = if m ? config || m ? options then - attrByPath ["imports"] [] m + m.imports or [] else - toList (rmProperties (attrByPath ["require"] [] delayedModule)); + toList (rmProperties (delayedModule.require or [])); getImportedPaths = filter isPath getImports; getImportedSets = filter (x: !isPath x) getImports; @@ -64,7 +64,7 @@ rec { config = getConfig; } // ( if getImportedSets != [] then - assert tail getImportedSets == []; + assert length getImportedSets == 1; { options = head getImportedSets; } else {} @@ -92,7 +92,7 @@ rec { else newModuleName origin index; }; - getImports = m: attrByPath ["imports"] [] m; + getImports = m: m.imports or []; newModuleName = origin: index: "${origin.key}:"; @@ -110,8 +110,8 @@ rec { selectDeclsAndDefs = modules: lib.concatMap (m: if m ? config || m ? options then - [ (attrByPath ["options"] {} m) ] - ++ [ (attrByPath ["config"] {} m) ] + [ (m.options or {}) ] + ++ [ (m.config or {}) ] else [ m ] ) modules; diff --git a/pkgs/lib/options.nix b/pkgs/lib/options.nix index cd60b8f3b88..59bda41a623 100644 --- a/pkgs/lib/options.nix +++ b/pkgs/lib/options.nix @@ -2,7 +2,7 @@ let lib = import ./default.nix; in -with { inherit (builtins) head tail; }; +with { inherit (builtins) head length; }; with import ./trivial.nix; with import ./lists.nix; with import ./misc.nix; @@ -133,7 +133,7 @@ rec { # separate the merge & apply fields from the interface. mergeOptionDecls = opts: if opts == [] then {} - else if tail opts == [] then + else if length opts == 1 then let opt = head opts; in if opt ? options then opt // { options = toList opt.options; } @@ -152,13 +152,11 @@ rec { opt1 // opt2 // optionalAttrs (opt1 ? options || opt2 ? options) { options = - (toList (attrByPath ["options"] [] opt1)) - ++ (toList (attrByPath ["options"] [] opt2)); + (toList (opt1.options or [])) + ++ (toList (opt2.options or [])); } // optionalAttrs (opt1 ? extraConfigs || opt2 ? extraConfigs) { - extraConfigs = - (attrByPath ["extraConfigs"] [] opt1) - ++ (attrByPath ["extraConfigs"] [] opt2); + extraConfigs = opt1.extraConfigs or [] ++ opt2.extraConfigs or []; } )) {} opts; @@ -189,7 +187,7 @@ rec { ) (attrNames defs)); mergeDefaultOption = list: - if list != [] && tail list == [] then head list + if length list == 1 then head list else if all builtins.isFunction list then x: mergeDefaultOption (map (f: f x) list) else if all isList list then concatLists list else if all isAttrs list then fold lib.mergeAttrs {} list @@ -214,7 +212,7 @@ rec { mergeOneOption = list: if list == [] then abort "This case should never happen." - else if tail list != [] then throw "Multiple definitions. Only one is allowed for this option." + else if length list != 1 then throw "Multiple definitions. Only one is allowed for this option." else head list; diff --git a/pkgs/lib/strings.nix b/pkgs/lib/strings.nix index 071bb2c995b..fb2752d97c1 100644 --- a/pkgs/lib/strings.nix +++ b/pkgs/lib/strings.nix @@ -2,12 +2,12 @@ let lib = import ./default.nix; -inherit (builtins) add sub lessThan; +inherit (builtins) add sub lessThan length; in rec { - inherit (builtins) stringLength substring head tail lessThan sub; + inherit (builtins) stringLength substring head tail; # Concatenate a list of strings. @@ -22,7 +22,7 @@ rec { # Place an element between each element of a list, e.g., # `intersperse "," ["a" "b" "c"]' returns ["a" "," "b" "," "c"]. intersperse = separator: list: - if list == [] || tail list == [] + if list == [] || length list == 1 then list else [(head list) separator] ++ (intersperse separator (tail list)); diff --git a/pkgs/lib/tests.nix b/pkgs/lib/tests.nix index 646de7c0e49..835298ddb9e 100644 --- a/pkgs/lib/tests.nix +++ b/pkgs/lib/tests.nix @@ -50,19 +50,6 @@ runTests { expected = 5050; }; - testEqStrict = { - expr = all id [ - (eqStrict 2 2) - (!eqStrict 3 2) - (eqStrict [2 1] [2 1]) - (!eqStrict [1 3] [1 2]) - (eqStrict {a = 7; b = 20;} {b= 20; a = 7;}) - (eqStrict [{a = 7; b = 20;}] [{b= 20; a = 7;}]) - (eqStrict {a = [7 8]; b = 20;} {b= 20; a = [7 8];}) - ]; - expected = true; - }; - testTake = testAllTrue [ ([] == (take 0 [ 1 2 3 ])) ([1] == (take 1 [ 1 2 3 ])) @@ -99,14 +86,14 @@ runTests { in (y.merge) { b = 10; }; strip = attrs : removeAttrs attrs ["merge" "replace"]; in all id - [ (eqStrict (strip res1) { }) - (eqStrict (strip res2) { a = 7; }) - (eqStrict (strip res3) { a = 7; b = 10; }) - (eqStrict (strip res4) { a = 7; b = 10; }) - (eqStrict (strip res5) { a = 10; }) - (eqStrict (strip res6) { a = 17; }) - (eqStrict (strip resRem7) {}) - (eqStrict (strip resFixed1) { a = 7; b = 10; c =10; name = "name-10"; }) + [ ((strip res1) == { }) + ((strip res2) == { a = 7; }) + ((strip res3) == { a = 7; b = 10; }) + ((strip res4) == { a = 7; b = 10; }) + ((strip res5) == { a = 10; }) + ((strip res6) == { a = 17; }) + ((strip resRem7) == {}) + ((strip resFixed1) == { a = 7; b = 10; c =10; name = "name-10"; }) ]; expected = true; }; diff --git a/pkgs/lib/types.nix b/pkgs/lib/types.nix index 2c85ee0077a..38ae7b43630 100644 --- a/pkgs/lib/types.nix +++ b/pkgs/lib/types.nix @@ -89,7 +89,7 @@ rec { path = mkOptionType { name = "path"; # Hacky: there is no ‘isPath’ primop. - check = lib.traceValIfNot (x: builtins.substring 0 1 (toString x) == "/"); + check = lib.traceValIfNot (x: builtins.unsafeDiscardStringContext (builtins.substring 0 1 (toString x)) == "/"); }; listOf = types.list; @@ -157,7 +157,7 @@ rec { uniq = elemType: mkOptionType { inherit (elemType) name check iter fold docPath hasOptions; merge = list: - if tail list == [] then + if length list == 1 then head list else throw "Multiple definitions. Only one is allowed for this option."; diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix index acfe794dc4f..b35660daf5e 100644 --- a/pkgs/misc/emulators/wine/default.nix +++ b/pkgs/misc/emulators/wine/default.nix @@ -7,11 +7,11 @@ assert stdenv.isLinux; assert stdenv.gcc.gcc != null; stdenv.mkDerivation rec { - name = "wine-1.5.5"; + name = "wine-1.5.10"; src = fetchurl { url = "mirror://sourceforge/wine/${name}.tar.bz2"; - sha256 = "e7d5ba716d2ac47193fa31eff66cc179145ddcb453c6923eaea70596a82b084e"; + sha256 = "04wydwc8q49bw8brlklx2nbgr453lx7bbfass5zn88xbz997lppk"; }; gecko = fetchurl { diff --git a/pkgs/misc/lilypond/default.nix b/pkgs/misc/lilypond/default.nix index b3a9bec2972..65575af4c39 100644 --- a/pkgs/misc/lilypond/default.nix +++ b/pkgs/misc/lilypond/default.nix @@ -1,24 +1,36 @@ { stdenv, fetchurl, ghostscript, texinfo, imagemagick, texi2html, guile -, python, gettext, flex, perl, bison, pkgconfig, texLive -, fontconfig, freetype, pango, fontforge, help2man }: +, python, gettext, flex, perl, bison, pkgconfig, texLive, dblatex +, fontconfig, freetype, pango, fontforge, help2man, zip, netpbm, groff +, fetchsvn }: stdenv.mkDerivation rec{ - majorVersion="2.13"; - minorVersion="46"; + majorVersion="2.14"; + minorVersion="2"; version="${majorVersion}.${minorVersion}"; name = "lilypond-${version}"; - src = fetchurl { - url = "http://download.linuxaudio.org/lilypond/sources/v${majorVersion}/lilypond-${version}.tar.gz"; - sha256 = "370f59d10a3fc74c5790111f7a69e04304eda5384513c95838dda3cc087904e6"; + urwfonts = fetchsvn { + url = "http://svn.ghostscript.com/ghostscript/tags/urw-fonts-1.0.7pre44"; + sha256 = "0al5vdsb66db6yzwi0qgs1dnd1i1fb77cigdjxg8zxhhwf6hhwpn"; }; - configureFlags = [ "--disable-documentation" "--with-ncsb-dir=${ghostscript}/share/ghostscript/fonts"]; + src = fetchurl { + url = "http://download.linuxaudio.org/lilypond/sources/v${majorVersion}/lilypond-${version}.tar.gz"; + # 2.15.42 + # sha256 = "0cm2fq1cr9d24w5xkz6ik6qnby516dfahz4cw47xx8mb5qsa4drd"; + sha256 = "15i6k3fjc29wvchayn31khxhpppzd4g6ivbk7l43fakj8lw6nfi4"; + }; + + preConfigure='' + sed -e "s@mem=mf2pt1@mem=$PWD/mf/mf2pt1@" -i scripts/build/mf2pt1.pl + ''; + + configureFlags = [ "--disable-documentation" "--with-ncsb-dir=${urwfonts}"]; buildInputs = - [ ghostscript texinfo imagemagick texi2html guile + [ ghostscript texinfo imagemagick texi2html guile dblatex zip netpbm python gettext flex perl bison pkgconfig texLive fontconfig freetype pango - fontforge help2man + fontforge help2man groff ]; meta = { diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix index 2cd915c498e..cf4f81ea407 100644 --- a/pkgs/misc/screensavers/xscreensaver/default.nix +++ b/pkgs/misc/screensavers/xscreensaver/default.nix @@ -1,16 +1,15 @@ -{ stdenv, fetchurl, pkgconfig, bc, perl, pam -, libXext, libXScrnSaver, libX11, libXrandr, libXmu, libXxf86vm, libXrender -, libXxf86misc -, libjpeg, mesa, gtk, libxml2, libglade +{ stdenv, fetchurl, pkgconfig, bc, perl, pam, libXext, libXScrnSaver, libX11 +, libXrandr, libXmu, libXxf86vm, libXrender, libXxf86misc, libjpeg, mesa, gtk +, libxml2, libglade }: stdenv.mkDerivation rec { - version = "5.15"; + version = "5.18"; name = "xscreensaver-${version}"; src = fetchurl { url = "http://www.jwz.org/xscreensaver/${name}.tar.gz"; - sha256 = "4f6d1f1e4c15dbb74e2296f8fe57a73d47d602515178c248bbc838f779d5082d"; + sha256 = "3d70edb8f46511f5427f21b4ba4d8323f336888f60268d16731f5231c6883db9"; }; buildInputs = @@ -19,6 +18,16 @@ stdenv.mkDerivation rec { libXxf86misc ]; + patchPhase = + '' + # Fix build error in version 5.18. Remove this patch when updating + # to a later version. + sed -i -e '/AF_LINK/d' hacks/glx/sonar-icmp.c + # Fix path to GTK. + sed -e 's%@GTK_DATADIR@%@datadir@% ; s%@PO_DATADIR@%@datadir@%' \ + -i driver/Makefile.in po/Makefile.in.in + ''; + configureFlags = [ "--with-gl" "--with-pam" "--with-pixbuf" "--with-proc-interrupts" "--with-dpms-ext" "--with-randr-ext" "--with-xinerama-ext" @@ -27,12 +36,6 @@ stdenv.mkDerivation rec { "--with-x-app-defaults=\${out}/share/xscreensaver/app-defaults" ]; - preConfigure = - '' - sed -e 's%@GTK_DATADIR@%@datadir@% ; s%@PO_DATADIR@%@datadir@%' \ - -i driver/Makefile.in po/Makefile.in.in - ''; - meta = { homepage = "http://www.jwz.org/xscreensaver/"; description = "A set of screensavers"; diff --git a/pkgs/os-specific/linux/acpi-call/default.nix b/pkgs/os-specific/linux/acpi-call/default.nix index 301a8054557..0689663832e 100644 --- a/pkgs/os-specific/linux/acpi-call/default.nix +++ b/pkgs/os-specific/linux/acpi-call/default.nix @@ -5,21 +5,22 @@ stdenv.mkDerivation { src = fetchgit { url = "git://github.com/mkottman/acpi_call.git"; - rev = "4f71ce83392bc52b3497"; - sha256 = "1f20516dc7d42bc7d9d71eaa54f48f38cd56b8683062f81d6f3857990056bdd3"; + rev = "b570c3b6c7016174107558464e864391d8bbd176"; + sha256 = "a89c62d391b721bb87a094f81cefc77d9c80de4bb314bb6ea449c3ef2decad5e"; }; preBuild = '' sed -e 's/break/true/' -i test_off.sh sed -e 's@/bin/bash@.bin/sh@' -i test_off.sh - sed -e "s@/lib/modules/\$(.*)@${kernel}/lib/modules/${kernel.version}@" -i Makefile + sed -e "s@/lib/modules/\$(.*)@${kernel}/lib/modules/${kernel.modDirVersion}@" -i Makefile ''; installPhase = '' - mkdir -p $out/lib/modules/${kernel.version}/misc - cp acpi_call.ko $out/lib/modules/${kernel.version}/misc + mkdir -p $out/lib/modules/${kernel.modDirVersion}/misc + cp acpi_call.ko $out/lib/modules/${kernel.modDirVersion}/misc mkdir -p $out/bin cp test_off.sh $out/bin/test_discrete_video_off.sh + chmod a+x $out/bin/test_discrete_video_off.sh ''; meta = { diff --git a/pkgs/os-specific/linux/broadcom-sta/default.nix b/pkgs/os-specific/linux/broadcom-sta/default.nix index ff21b5d5254..041141cdad2 100644 --- a/pkgs/os-specific/linux/broadcom-sta/default.nix +++ b/pkgs/os-specific/linux/broadcom-sta/default.nix @@ -7,7 +7,7 @@ in stdenv.mkDerivation { name = "broadcom-sta-${version}-${kernel.version}"; - + src = fetchurl { url = "http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_${bits}-v${version}.tar.gz"; sha256 = if bits == "32" @@ -16,12 +16,10 @@ stdenv.mkDerivation { }; buildInputs = [ kernel ]; - patches = [ ./makefile.patch ./linux-2.6.39.patch ./linux-3.2.patch ]; - #++ stdenv.lib.optional - #(! builtins.lessThan (builtins.compareVersions kernel.version "2.6.37") 0) - #[ ./mutex-sema.patch ]; - - NIX_CFLAGS_COMPILE = "-I${kernel}/lib/modules/${kernel.modDirVersion}/build/include/generated"; + patches = + [ ./makefile.patch ./linux-2.6.39.patch ./linux-3.2.patch + ./linux-3.4.patch ./license.patch + ]; makeFlags = "KDIR=${kernel}/lib/modules/${kernel.modDirVersion}/build"; diff --git a/pkgs/os-specific/linux/broadcom-sta/license.patch b/pkgs/os-specific/linux/broadcom-sta/license.patch new file mode 100644 index 00000000000..b320d977e8b --- /dev/null +++ b/pkgs/os-specific/linux/broadcom-sta/license.patch @@ -0,0 +1,12 @@ +diff -Naur hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c +--- hybrid-portsrc-x86_32-v5_10_91_9.orig/src/wl/sys/wl_linux.c 2009-04-23 02:48:59.000000000 +0900 ++++ hybrid-portsrc-x86_32-v5_10_91_9/src/wl/sys/wl_linux.c 2009-05-08 00:48:20.000000000 +0900 +@@ -163,6 +163,8 @@ + static void wl_free_if(wl_info_t *wl, wl_if_t *wlif); + static void wl_get_driver_info(struct net_device *dev, struct ethtool_drvinfo *info); + ++MODULE_LICENSE("MIXED/Proprietary"); ++ + static struct pci_device_id wl_id_table[] = { + { PCI_VENDOR_ID_BROADCOM, 0x4311, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, + { PCI_VENDOR_ID_BROADCOM, 0x4312, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, diff --git a/pkgs/os-specific/linux/broadcom-sta/linux-3.4.patch b/pkgs/os-specific/linux/broadcom-sta/linux-3.4.patch new file mode 100644 index 00000000000..854131c641b --- /dev/null +++ b/pkgs/os-specific/linux/broadcom-sta/linux-3.4.patch @@ -0,0 +1,12 @@ +--- broadcom-sta.orig/src/wl/sys/wl_linux.c ++++ broadcom-sta.new/src/wl/sys/wl_linux.c +@@ -40,7 +40,9 @@ + #include + #define WLC_MAXBSSCFG 1 + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0) + #include ++#endif + #include + #include + #include diff --git a/pkgs/os-specific/linux/broadcom-sta/mutex-sema.patch b/pkgs/os-specific/linux/broadcom-sta/mutex-sema.patch deleted file mode 100644 index 922c8f2d22d..00000000000 --- a/pkgs/os-specific/linux/broadcom-sta/mutex-sema.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -aur old/src/wl/sys/wl_linux.c new/src/wl/sys/wl_linux.c ---- old/src/wl/sys/wl_linux.c 2010-12-25 18:17:33.333343048 +0100 -+++ new/src/wl/sys/wl_linux.c 2010-12-25 18:21:05.856676376 +0100 -@@ -483,7 +483,7 @@ - #ifdef WL_ALL_PASSIVE - spin_lock_init(&wl->txq_lock); - #endif -- init_MUTEX(&wl->sem); -+ sema_init(&wl->sem, 1); - } - - if (!(wl->wlc = wlc_attach((void *) wl, vendor, device, unit, wl->piomode, diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix index ab0873e7ddc..0848cb33253 100644 --- a/pkgs/os-specific/linux/busybox/default.nix +++ b/pkgs/os-specific/linux/busybox/default.nix @@ -37,11 +37,11 @@ let in stdenv.mkDerivation rec { - name = "busybox-1.20.1"; + name = "busybox-1.20.2"; src = fetchurl { url = "http://busybox.net/downloads/${name}.tar.bz2"; - sha256 = "1jb8xh9a0mc73nmnjz7g5k7ym39vrg7grp7zmgmq71gxps55sl9y"; + sha256 = "10k8kgrprll9hxfm9gc3jl7kkq79g6l2pygn5snqwqg5v80zy4zb"; }; configurePhase = '' diff --git a/pkgs/os-specific/linux/cryptsetup/default.nix b/pkgs/os-specific/linux/cryptsetup/default.nix index 89a9d2b8506..9e762f64904 100644 --- a/pkgs/os-specific/linux/cryptsetup/default.nix +++ b/pkgs/os-specific/linux/cryptsetup/default.nix @@ -1,13 +1,15 @@ -{ stdenv, fetchurl, devicemapper, libgcrypt, libuuid, pkgconfig, popt, udev }: +{ stdenv, fetchurl, devicemapper, libgcrypt, libuuid, pkgconfig, popt }: stdenv.mkDerivation rec { - name = "cryptsetup-1.4.2"; - + name = "cryptsetup-1.5.0"; + src = fetchurl { url = "http://cryptsetup.googlecode.com/files/${name}.tar.bz2"; - sha256 = "1ryzc36wfbfqi69c3xzx2x6jr7l5xp7xwip4s9jkyjyj35xhvs0z"; + sha256 = "1l7qcmaq092k28k8sbw845hs6jwn0f05h68rmb7iwh52232m8wa0"; }; + configureFlags = "--enable-cryptsetup-reencrypt"; + buildInputs = [ devicemapper libgcrypt libuuid pkgconfig popt ]; meta = { diff --git a/pkgs/os-specific/linux/dmraid/default.nix b/pkgs/os-specific/linux/dmraid/default.nix index aa78a517196..35efa8533ab 100644 --- a/pkgs/os-specific/linux/dmraid/default.nix +++ b/pkgs/os-specific/linux/dmraid/default.nix @@ -1,33 +1,26 @@ -a : -let - s = import ./src-for-default.nix; - buildInputs = with a; [ - devicemapper - ]; -in -rec { - src = a.fetchUrlFromSrcInfo s; +{ stdenv, fetchurl, devicemapper }: - inherit (s) name; - inherit buildInputs; - configureFlags = []; +stdenv.mkDerivation rec { + name = "dmraid-1.0.0.rc15"; + + src = fetchurl { + url = "http://people.redhat.com/~heinzm/sw/dmraid/src/old/${name}.tar.bz2"; + sha256 = "01bcaq0sc329ghgj7f182xws7jgjpdc41bvris8fsiprnxc7511h"; + }; + + preConfigure = "cd */"; + + buildInputs = [ devicemapper ]; - /* doConfigure should be removed if not needed */ - phaseNames = ["doConfigure" "doMakeInstall"]; - goSrcDir = "cd */"; - meta = { - description = "Old-style RAID configuration utility."; + description = "Old-style RAID configuration utility"; longDescritipn = '' Old RAID configuration utility (still under development, though). It is fully compatible with modern kernels and mdadm recognizes its volumes. May be needed for rescuing an older system or nuking the metadata when reformatting. ''; - maintainers = [ - a.lib.maintainers.raskin - ]; - platforms = with a.lib.platforms; - linux; + maintainers = [ stdenv.lib.maintainers.raskin ]; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/os-specific/linux/dmraid/src-for-default.nix b/pkgs/os-specific/linux/dmraid/src-for-default.nix deleted file mode 100644 index b8f29ce4b5c..00000000000 --- a/pkgs/os-specific/linux/dmraid/src-for-default.nix +++ /dev/null @@ -1,9 +0,0 @@ -rec { - version="1.0.0.rc15"; - name="dmraid-1.0.0.rc15"; - hash="01bcaq0sc329ghgj7f182xws7jgjpdc41bvris8fsiprnxc7511h"; - url="http://people.redhat.com/~heinzm/sw/dmraid/src/old/dmraid-${version}.tar.bz2"; - advertisedUrl="http://people.redhat.com/~heinzm/sw/dmraid/src/old/dmraid-1.0.0.rc15.tar.bz2"; - - -} diff --git a/pkgs/os-specific/linux/dmraid/src-info-for-default.nix b/pkgs/os-specific/linux/dmraid/src-info-for-default.nix deleted file mode 100644 index 12c4ab1e9a7..00000000000 --- a/pkgs/os-specific/linux/dmraid/src-info-for-default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - downloadPage = "http://people.redhat.com/~heinzm/sw/dmraid/src/old/?C=M;O=D"; - baseName = "dmraid"; - sourceRegexp = "^.*[.]tar[.]bz2\$"; - versionExtractorSedScript = ''s/.*-(.*)[.]tar[.]bz2/\1/''; -} diff --git a/pkgs/os-specific/linux/dstat/default.nix b/pkgs/os-specific/linux/dstat/default.nix new file mode 100644 index 00000000000..fb454c78788 --- /dev/null +++ b/pkgs/os-specific/linux/dstat/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, python }: + +stdenv.mkDerivation rec { + name = "dstat-0.7.2"; + + src = fetchurl { + url = "http://dag.wieers.com/home-made/dstat/${name}.tar.bz2"; + sha256 = "1bivnciwlamnl9q6i5ygr7jhs8pp833z2bkbrffvsa60szcqda9l"; + }; + + buildInputs = [ ]; + + patchPhase = '' + sed -i -e 's|/usr/bin/env python|${python}/bin/python|' \ + -e "s|/usr/share/dstat|$out/share/dstat|" dstat + ''; + + makeFlags = "prefix=$(out)"; + + meta = { + homepage = http://dag.wieers.com/home-made/dstat/; + description = "Versatile resource statistics tool."; + license = "GPLv2"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ ]; + }; +} diff --git a/pkgs/os-specific/linux/ffado/default.nix b/pkgs/os-specific/linux/ffado/default.nix index 3755bbe80bb..a78599c6a20 100644 --- a/pkgs/os-specific/linux/ffado/default.nix +++ b/pkgs/os-specific/linux/ffado/default.nix @@ -26,6 +26,8 @@ stdenv.mkDerivation rec { scons PREFIX=$out LIBDIR=$out/lib SHAREDIR=$out/share/libffado \ PYPKGDIR=$out/$PYLIBSUFFIX install + sed -e "s#/usr/local#$out#g" -i $out/bin/ffado-diag + PYDIR=$out/$PYLIBSUFFIX wrapProgram $out/bin/ffado-mixer --prefix PYTHONPATH : \ $PYTHONPATH:$PYDIR:${pyqt4}/$LIBSUFFIX:${pythonDBus}/$LIBSUFFIX: diff --git a/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix b/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix new file mode 100644 index 00000000000..b6465c0d794 --- /dev/null +++ b/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "b43-fwcutter-015"; + + src = fetchurl { + url = "http://bues.ch/b43/fwcutter/${name}.tar.bz2"; + sha256 = "1sznw1jrhyfbx0ilwzrj6mzlgc96fzjbx56j4ji8lsypyp8m6sjc"; + }; + + patches = [ ./no-root-install.patch ]; + + makeFlags = [ "PREFIX=$(out)" ]; + + meta = { + description = "Firmware extractor for cards supported by the b43 kernel module"; + homepage = http://wireless.kernel.org/en/users/Drivers/b43; + license = "free-non-copyleft"; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + }; +} + diff --git a/pkgs/os-specific/linux/firmware/b43-firmware-cutter/no-root-install.patch b/pkgs/os-specific/linux/firmware/b43-firmware-cutter/no-root-install.patch new file mode 100644 index 00000000000..578812e0ad0 --- /dev/null +++ b/pkgs/os-specific/linux/firmware/b43-firmware-cutter/no-root-install.patch @@ -0,0 +1,18 @@ +diff -Naur b43-fwcutter-015-orig/Makefile b43-fwcutter-015/Makefile +--- b43-fwcutter-015-orig/Makefile 2011-08-21 08:17:01.000000000 -0400 ++++ b43-fwcutter-015/Makefile 2012-07-13 17:57:53.002154557 -0400 +@@ -51,10 +51,10 @@ + $(QUIET_CC) $(CFLAGS) -o $(BIN) $(call OBJS,$(SRCS)) $(LDFLAGS) + + install: all +- install -d -o 0 -g 0 -m 755 $(PREFIX)/bin/ +- install -o 0 -g 0 -m 755 $(BIN) $(PREFIX)/bin/ +- install -d -o 0 -g 0 -m 755 $(PREFIX)/man/man1/ +- install -o 0 -g 0 -m 644 $(BIN).1 $(PREFIX)/man/man1/ ++ install -d -m 755 $(PREFIX)/bin/ ++ install -m 755 $(BIN) $(PREFIX)/bin/ ++ install -d -m 755 $(PREFIX)/man/man1/ ++ install -m 644 $(BIN).1 $(PREFIX)/man/man1/ + + clean: + -rm -Rf obj dep *.orig *.rej *~ diff --git a/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix b/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix new file mode 100644 index 00000000000..1c4173c72fd --- /dev/null +++ b/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, b43FirmwareCutter }: + +let version = "5.100.138"; in + +stdenv.mkDerivation { + name = "b43-firmware-${version}"; + + src = fetchurl { + url = "http://www.lwfinger.com/b43-firmware/broadcom-wl-${version}.tar.bz2"; + sha256 = "0vz4ka8gycf72gmnaq61k8rh8y17j1wm2k3fidxvcqjvmix0drzi"; + }; + + buildInputs = [ b43FirmwareCutter ]; + + phases = [ "unpackPhase" "installPhase" ]; + + installPhase = '' + mkdir $out + b43-fwcutter -w $out linux/wl_apsta.o + ''; + + meta = { + description = "Firmware for cards supported by the b43 kernel module"; + homepage = http://wireless.kernel.org/en/users/Drivers/b43; + license = stdenv.lib.licenses.proprietary; + maintainers = [ stdenv.lib.maintainers.shlevy ]; + }; +} + diff --git a/pkgs/os-specific/linux/firmware/ipw2100/default.nix b/pkgs/os-specific/linux/firmware/ipw2100/default.nix index 617a6cc38dd..abc6bf08dac 100644 --- a/pkgs/os-specific/linux/firmware/ipw2100/default.nix +++ b/pkgs/os-specific/linux/firmware/ipw2100/default.nix @@ -1,7 +1,8 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl }: stdenv.mkDerivation { name = "ipw2100-fw-1.3"; + src = fetchurl { url = http://pkgs.fedoraproject.org/repo/pkgs/ipw2100-firmware/ipw2100-fw-1.3.tgz/46aa75bcda1a00efa841f9707bbbd113/ipw2100-fw-1.3.tgz; sha256 = "18m7wgd062qwfdr6y0kjrvf1715wjcjn4yml2sk29ls8br2pq471"; @@ -13,7 +14,7 @@ stdenv.mkDerivation { # says: "Your rights to redistribute the Software shall be # contingent upon your installation of this Agreement in its # entirety in the same directory as the Software." - installPhase = "mkdir -p $out; cp * $out"; + installPhase = "mkdir -p $out; cp ipw* LICENSE $out"; meta = { # "... you may transfer a copy of the Software ... provided such diff --git a/pkgs/os-specific/linux/firmware/ipw2200/default.nix b/pkgs/os-specific/linux/firmware/ipw2200/default.nix index ec1607ff2f7..5c4989b878a 100644 --- a/pkgs/os-specific/linux/firmware/ipw2200/default.nix +++ b/pkgs/os-specific/linux/firmware/ipw2200/default.nix @@ -1,7 +1,8 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl }: stdenv.mkDerivation { name = "ipw2200-fw-3.1"; + src = fetchurl { url = http://pkgs.fedoraproject.org/repo/pkgs/ipw2200-firmware/ipw2200-fw-3.1.tgz/eaba788643c7cc7483dd67ace70f6e99/ipw2200-fw-3.1.tgz; sha256 = "1gaqc8d827d6ji7zhhkpbr4fzznqpar68gzqbzak1h4cq48qr0f6"; diff --git a/pkgs/os-specific/linux/firmware/rt73/default.nix b/pkgs/os-specific/linux/firmware/rt73/default.nix deleted file mode 100644 index 95393100139..00000000000 --- a/pkgs/os-specific/linux/firmware/rt73/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{stdenv, fetchurl, unzip}: - -stdenv.mkDerivation rec { - name = "rt73-fw-1.8"; - src = fetchurl { - url = "http://www.ralinktech.com/download.php?t=U0wyRnpjMlYwY3k4eU1EQTVMekF6THpNeEwyUnZkMjVzYjJGa056YzVPVE13TmpZMk9TNTZhWEE5UFQxU1ZEY3hWMTlHYVhKdGQyRnlaVjlXTVM0NEM%3D"; - name = "rt73-fw-1.8.zip"; - sha256 = "1gskm6wqp8nnz3qk44rmab6h81pkarzzphqvag4y05a8mwdarlz2"; - }; - - buildInputs = [ unzip ]; - - buildPhase = "true"; - - # Installation copies the firmware AND the license. The license - # says: "Your rights to redistribute the Software shall be - # contingent upon your installation of this Agreement in its - # entirety in the same directory as the Software." - installPhase = "mkdir -p $out/${name}; cp *.bin $out; cp *.txt $out/${name}"; - - meta = { - description = "Firmware for the Ralink RT73 wireless card"; - homepage = http://www.ralinktech.com/; - license = "non-free"; - }; -} diff --git a/pkgs/os-specific/linux/iw/default.nix b/pkgs/os-specific/linux/iw/default.nix new file mode 100644 index 00000000000..7110754357c --- /dev/null +++ b/pkgs/os-specific/linux/iw/default.nix @@ -0,0 +1,24 @@ +{stdenv, fetchurl, libnl, pkgconfig}: + +stdenv.mkDerivation { + name = "iw-3.6"; + + src = fetchurl { + url = http://wireless.kernel.org/download/iw/iw-3.6.tar.bz2; + sha256 = "0my8nv6liya0b15nqn8wq2kxwjy7x6k65a9x1121zwqxq5m064fz"; + }; + + buildInputs = [ libnl pkgconfig ]; + + preBuild = " + makeFlagsArray=(PREFIX=$out) + "; + + meta = { + description = "Tool to use nl80211"; + homepage = http://wireless.kernel.org/en/users/Documentation/iw; + license = "BSD"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/os-specific/linux/kbd/default.nix b/pkgs/os-specific/linux/kbd/default.nix index da45b39cee1..4d04b75b3b0 100644 --- a/pkgs/os-specific/linux/kbd/default.nix +++ b/pkgs/os-specific/linux/kbd/default.nix @@ -1,25 +1,28 @@ -{ stdenv, fetchurl, bison, flex, autoconf, automake }: +{ stdenv, fetchurl, gzip, bzip2 }: stdenv.mkDerivation rec { - name = "kbd-1.15.2"; + name = "kbd-1.15.3"; src = fetchurl { url = "ftp://ftp.altlinux.org/pub/people/legion/kbd/${name}.tar.gz"; - sha256 = "0ff674y6d3b6ix08b9l2yzv8igns768biyp5y92vip7iz4xv2p2j"; + sha256 = "1vcl2791xshjdpi4w88iy87gkb7zv0dbvi83f98v30dvqc9mfl46"; }; - buildNativeInputs = [ bison flex autoconf automake ]; + configureFlags = "--disable-nls"; - # We get a warning in armv5tel-linux and the fuloong2f, - # so we disable -Werror in it - patchPhase = if (stdenv.isArm || - stdenv.system == "mips64el-linux") - then '' - sed -i s/-Werror// src/Makefile.am - '' else ""; - - # Grrr, kbd 1.15.1 doesn't include a configure script. - preConfigure = "autoreconf"; + patchPhase = + '' + # Fix the path to gzip/bzip2. + substituteInPlace src/findfile.c \ + --replace gzip ${gzip}/bin/gzip \ + --replace bzip2 ${bzip2}/bin/bzip2 \ + + # We get a warning in armv5tel-linux and the fuloong2f, so we + # disable -Werror in it. + ${stdenv.lib.optionalString (stdenv.isArm || stdenv.system == "mips64el-linux") '' + sed -i s/-Werror// src/Makefile.am + ''} + ''; makeFlags = "setowner= "; diff --git a/pkgs/os-specific/linux/kernel/linux-3.2.nix b/pkgs/os-specific/linux/kernel/linux-3.2.nix index 70b9d9dcf38..df457bcb7e2 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.2.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.2.nix @@ -237,7 +237,7 @@ in import ./generic.nix ( rec { - version = "3.2.22"; + version = "3.2.27"; 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 = "1nf3ph06p743jjxfgwwcy8156mx4fi1cy7zi7hc1gz5bq4c0k8mw"; + sha256 = "1lchjh6s6mld83yq8gmcla6pydyap412bkyg3qb591ylnhdmg51k"; }; config = configWithPlatform stdenv.platform; diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix index b643de8bff6..ae5f5dcaa3f 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix @@ -76,6 +76,8 @@ let HOSTAP_FIRMWARE_NVRAM y ATH9K_PCI y # Detect Atheros AR9xxx cards on PCI(e) bus ATH9K_AHB y # Ditto, AHB bus + B43_PHY_HT y + BCMA_HOST_PCI y # Some settings to make sure that fbcondecor works - in particular, # disable tileblitting and the drivers that need it. @@ -200,6 +202,7 @@ let THERMAL_HWMON y # Hardware monitoring support USB_DEBUG n USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators + USB_EHCI_TT_NEWSCHED y # Improved transaction translator scheduling X86_CHECK_BIOS_CORRUPTION y X86_MCE y @@ -236,7 +239,7 @@ in import ./generic.nix ( rec { - version = "3.4.4"; + version = "3.4.7"; testing = false; preConfigure = '' @@ -245,7 +248,7 @@ import ./generic.nix ( src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz"; - sha256 = "0l4h7amhsmgpnii8rgwi32nd7ajsifk2xckjd39pfzwdifacw5yw"; + sha256 = "0y93f6vjax4bwl6w73yqxn7dnv43ywd5vf5f5q27fm7y49m9ch95"; }; config = configWithPlatform stdenv.platform; diff --git a/pkgs/os-specific/linux/kernel/linux-3.5.nix b/pkgs/os-specific/linux/kernel/linux-3.5.nix new file mode 100644 index 00000000000..8e347595f22 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-3.5.nix @@ -0,0 +1,263 @@ +args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? "" +, perl, mktemp, module_init_tools +, ... }: + +let + configWithPlatform = kernelPlatform : + '' + # Power management and debugging for powertop. + DEBUG_KERNEL y + PM_ADVANCED_DEBUG y + PM_RUNTIME y + TIMER_STATS y + USB_SUSPEND y + BACKTRACE_SELF_TEST n + CPU_NOTIFIER_ERROR_INJECT? n + DEBUG_DEVRES n + DEBUG_NX_TEST n + DEBUG_STACK_USAGE n + DEBUG_STACKOVERFLOW n + RCU_TORTURE_TEST n + SCHEDSTATS n + + # Support drivers that need external firmware. + STANDALONE n + + # Make /proc/config.gz available. + IKCONFIG_PROC y + + # Optimize with -O2, not -Os. + CC_OPTIMIZE_FOR_SIZE n + + # Enable the kernel's built-in memory tester. + MEMTEST y + + # Include the CFQ I/O scheduler in the kernel, rather than as a + # module, so that the initrd gets a good I/O scheduler. + IOSCHED_CFQ y + BLK_CGROUP y # required by CFQ + + # Enable NUMA. + NUMA? y + + # Disable some expensive (?) features. + FTRACE n + KPROBES n + PM_TRACE_RTC n + + # Enable various subsystems. + ACCESSIBILITY y # Accessibility support + AUXDISPLAY y # Auxiliary Display support + DONGLE y # Serial dongle support + HIPPI? y + MTD_COMPLEX_MAPPINGS y # needed for many devices + SCSI_LOWLEVEL y # enable lots of SCSI devices + SCSI_LOWLEVEL_PCMCIA y + SPI y # needed for many devices + SPI_MASTER y + WAN y + + # Networking options. + IP_PNP n + IPV6_PRIVACY y + NETFILTER_ADVANCED y + IP_VS_PROTO_TCP y + IP_VS_PROTO_UDP y + IP_VS_PROTO_ESP y + IP_VS_PROTO_AH y + IP_DCCP_CCID3 n # experimental + CLS_U32_PERF y + CLS_U32_MARK y + + # Wireless networking. + IPW2100_MONITOR y # support promiscuous mode + IPW2200_MONITOR y # support promiscuous mode + HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver + HOSTAP_FIRMWARE_NVRAM y + ATH9K_PCI y # Detect Atheros AR9xxx cards on PCI(e) bus + ATH9K_AHB y # Ditto, AHB bus + B43_PHY_HT y + BCMA_HOST_PCI y + + # Some settings to make sure that fbcondecor works - in particular, + # disable tileblitting and the drivers that need it. + + # Enable various FB devices. + FB y + FB_EFI y + FB_NVIDIA_I2C y # Enable DDC Support + FB_RIVA_I2C y + FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support + FB_ATY_GX y # Mach64 GX support + FB_SAVAGE_I2C y + FB_SAVAGE_ACCEL y + FB_SIS_300 y + FB_SIS_315 y + FB_3DFX_ACCEL y + FB_GEODE y + + # Video configuration + # Enable KMS for devices whose X.org driver supports it. + DRM_I915_KMS y + DRM_RADEON_KMS y + # Hybrid graphics support + VGA_SWITCHEROO y + + # Sound. + SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode + SND_HDA_INPUT_BEEP y # Support digital beep via input layer + SND_USB_CAIAQ_INPUT y + PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible) + + # USB serial devices. + USB_SERIAL_GENERIC y # USB Generic Serial Driver + USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices + USB_SERIAL_KEYSPAN_USA28 y + USB_SERIAL_KEYSPAN_USA28X y + USB_SERIAL_KEYSPAN_USA28XA y + USB_SERIAL_KEYSPAN_USA28XB y + USB_SERIAL_KEYSPAN_USA19 y + USB_SERIAL_KEYSPAN_USA18X y + USB_SERIAL_KEYSPAN_USA19W y + USB_SERIAL_KEYSPAN_USA19QW y + USB_SERIAL_KEYSPAN_USA19QI y + USB_SERIAL_KEYSPAN_USA49W y + USB_SERIAL_KEYSPAN_USA49WLC y + + # Filesystem options - in particular, enable extended attributes and + # ACLs for all filesystems that support them. + EXT2_FS_XATTR y # Ext2 extended attributes + EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists + EXT2_FS_SECURITY y # Ext2 Security Labels + EXT2_FS_XIP y # Ext2 execute in place support + EXT4_FS_POSIX_ACL y + EXT4_FS_SECURITY y + REISERFS_FS_XATTR y + REISERFS_FS_POSIX_ACL y + REISERFS_FS_SECURITY y + JFS_POSIX_ACL y + JFS_SECURITY y + XFS_QUOTA y + XFS_POSIX_ACL y + XFS_RT y # XFS Realtime subvolume support + OCFS2_DEBUG_MASKLOG n + BTRFS_FS_POSIX_ACL y + UBIFS_FS_XATTR? y + UBIFS_FS_ADVANCED_COMPR y + NFSD_V2_ACL y + NFSD_V3 y + NFSD_V3_ACL y + NFSD_V4 y + CIFS_XATTR y + CIFS_POSIX y + + # Security related features. + STRICT_DEVMEM y # Filter access to /dev/mem + SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default + + # Misc. options. + 8139TOO_8129 y + 8139TOO_PIO n # PIO is slower + AIC79XX_DEBUG_ENABLE n + AIC7XXX_DEBUG_ENABLE n + AIC94XX_DEBUG n + B43_PCMCIA y + BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support + BLK_DEV_IDEACPI y # IDE ACPI support + BLK_DEV_INTEGRITY y + BSD_PROCESS_ACCT_V3 y + BT_HCIUART_BCSP y + BT_HCIUART_H4 y # UART (H4) protocol support + BT_HCIUART_LL y + BT_RFCOMM m + BT_RFCOMM_TTY y # RFCOMM TTY support + CRASH_DUMP n + DMAR? n # experimental + DVB_DYNAMIC_MINORS y # we use udev + EFI_STUB y # EFI bootloader in the bzImage itself + FUSION y # Fusion MPT device support + IDE_GD_ATAPI y # ATAPI floppy support + IRDA_ULTRA y # Ultra (connectionless) protocol + JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels + JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels + JOYSTICK_XPAD_FF y # X-Box gamepad rumble support + JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED + LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support + LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger + LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback + LOGO n # not needed + MEDIA_ATTACH y + MEGARAID_NEWGEN y + MICROCODE_AMD y + MODVERSIONS y + MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension + MTRR_SANITIZER y + NET_FC y # Fibre Channel driver support + PPP_MULTILINK y # PPP multilink support + REGULATOR y # Voltage and Current Regulator Support + SCSI_LOGGING y # SCSI logging facility + SERIAL_8250 y # 8250/16550 and compatible serial support + SLIP_COMPRESSED y # CSLIP compressed headers + SLIP_SMART y + THERMAL_HWMON y # Hardware monitoring support + USB_DEBUG n + USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators + USB_EHCI_TT_NEWSCHED y # Improved transaction translator scheduling + X86_CHECK_BIOS_CORRUPTION y + X86_MCE y + XEN_DOM0 y + + # Linux Containers + RT_GROUP_SCHED? y + CGROUP_DEVICE? y + CGROUP_MEM_RES_CTLR? y + CGROUP_MEM_RES_CTLR_SWAP? y + DEVPTS_MULTIPLE_INSTANCES? y + + # Enable staging drivers. These are somewhat experimental, but + # they generally don't hurt. + STAGING y + + # PROC_EVENTS requires that the netlink connector is not built + # as a module. This is required by libcgroup's cgrulesengd. + CONNECTOR y + PROC_EVENTS y + + # Tracing + FTRACE y + FUNCTION_TRACER y + FTRACE_SYSCALLS y + SCHED_TRACER y + + # Devtmpfs support. + DEVTMPFS y + + ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} + ${extraConfig} + ''; +in + +import ./generic.nix ( + + rec { + version = "3.5.2"; + testing = false; + + preConfigure = '' + substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' "" + ''; + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz"; + sha256 = "13dzx7gqm0n7s73bq87ibhmydrfsngyps9sczkcy1sh56rrkv0x6"; + }; + + config = configWithPlatform stdenv.platform; + configCross = configWithPlatform stdenv.cross.platform; + + features.iwlwifi = true; + features.efiBootStub = true; + } + + // removeAttrs args ["extraConfig"] +) diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix new file mode 100644 index 00000000000..52e284827d0 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -0,0 +1,167 @@ +{ stdenv, runCommand, nettools, perl, kmod, writeTextFile }: + +with stdenv.lib; + +let + + # Function to parse the config file into a nix expression + readConfig = configFile: + let + configAttrs = import "${runCommand "config.nix" {} '' + (. ${configFile} + echo "{" + for var in `set`; do + if [[ "$var" =~ ^CONFIG_ ]]; then + IFS="=" + set -- $var + echo "\"$1\" = \"''${*:2}\";" + fi + done + echo "}") > $out + ''}"; + + config = configAttrs // rec { + attrName = attr: "CONFIG_" + attr; + + isSet = attr: hasAttr (attrName attr) config; + + getValue = attr: if isSet attr then getAttr (attrName attr) config else null; + + isYes = attr: (isSet attr) && ((getValue attr) == "y"); + + isNo = attr: (isSet attr) && ((getValue attr) == "n"); + + isModule = attr: (isSet attr) && ((getValue attr) == "m"); + + isEnabled = attr: (isModule attr) || (isYes attr); + + isDisabled = attr: (!(isSet attr)) || (isNo attr); + }; + in + config; + +in + +{ + # The kernel version + version, + # The version of the kernel module directory + modDirVersion ? version, + # The kernel source (tarball, git checkout, etc.) + src, + # Any patches + kernelPatches ? [], + # The kernel .config file + configfile, + # Manually specified nixexpr representing the config + # If unspecified, this will be autodetected from the .config + config ? optionalAttrs allowImportFromDerivation (readConfig configfile), + # Whether to utilize the controversial import-from-derivation feature to parse the config + allowImportFromDerivation ? false +}: + +let + installkernel = name: writeTextFile { name = "installkernel"; executable=true; text = '' + #!/bin/sh + mkdir $4 + cp -av $2 $4/${name} + cp -av $3 $4 + '';}; + + isModular = config.isYes "MODULES"; + + installsFirmware = (config.isEnabled "FW_LOADER") && + (isModular || (config.isDisabled "FIRMWARE_IN_KERNEL")); + + commonMakeFlags = [ + "O=$(buildRoot)" + "INSTALL_PATH=$(out)" + ] ++ (optional isModular "INSTALL_MOD_PATH=$(out)") + ++ optional installsFirmware "INSTALL_FW_PATH=$(out)/lib/firmware"; +in + +stdenv.mkDerivation { + name = "linux-${version}"; + + enableParallelBuilding = true; + + passthru = { + inherit version modDirVersion config kernelPatches src; + }; + + sourceRoot = stdenv.mkDerivation { + name = "linux-${version}-source"; + + inherit src; + + patches = map (p: p.patch) kernelPatches; + + phases = [ "unpackPhase" "patchPhase" "installPhase" ]; + + prePatch = '' + for mf in $(find -name Makefile -o -name Makefile.include -o -name install.sh); do + echo "stripping FHS paths in \`$mf'..." + sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g ; s|/sbin/||g' + done + sed -i Makefile -e 's|= depmod|= ${kmod}/sbin/depmod|' + ''; + + installPhase = '' + cd .. + mv $sourceRoot $out + ''; + }; + + unpackPhase = '' + mkdir build + export buildRoot="$(pwd)/build" + ln -sv ${configfile} $buildRoot/.config + cd $sourceRoot + ''; + + configurePhase = '' + runHook preConfigure + make $makeFlags "''${makeFlagsArray[@]}" oldconfig + runHook postConfigure + ''; + + buildNativeInputs = [ perl nettools ]; + + makeFlags = commonMakeFlags ++ [ + "INSTALLKERNEL=${installkernel stdenv.platform.kernelTarget}" + ]; + + crossAttrs = { + makeFlags = commonMakeFlags ++ [ + "INSTALLKERNEL=${installkernel stdenv.cross.platform.kernelTarget}" + ]; + }; + + postInstall = optionalString installsFirmware '' + mkdir -p $out/lib/firmware + '' + (if isModular then '' + make modules_install $makeFlags "''${makeFlagsArray[@]}" \ + $installFlags "''${installFlagsArray[@]}" + rm -f $out/lib/modules/${modDirVersion}/build + mv $buildRoot $out/lib/modules/${modDirVersion}/build + '' else optionalString installsFirmware '' + make firmware_install $makeFlags "''${makeFlagsArray[@]}" \ + $installFlags "''${installFlagsArray[@]}" + ''); + + postFixup = optionalString isModular '' + if [ -z "$dontStrip" ]; then + find $out -name "*.ko" -print0 | xargs -0 -r strip -S + fi + ''; + + meta = { + description = "The Linux kernel"; + license = "GPLv2"; + homepage = http://www.kernel.org/; + maintainers = [ + maintainers.shlevy + ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 65cd9b3d830..12f9569ce10 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -175,6 +175,20 @@ rec { features.aufs3 = true; }; + aufs3_5 = rec { + name = "aufs3.5"; + version = "3.5.20120813"; + utilRev = "91af15f977d12e02165759620005f6ce1a4d7602"; + utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996"; + patch = makeAufs3StandalonePatch { + inherit version; + rev = "85b5f7059bc8a1759989408a13fc56f92e0d6d31"; + sha256 = "2be13407a2291c7e69658f10a6fb7672751c906a27ac700a2e5e05dbada97cc5"; + }; + features.aufsBase = true; + features.aufs3 = true; + }; + # Increase the timeout on CIFS requests from 15 to 120 seconds to # make CIFS more resilient to high load on the CIFS server. cifs_timeout_2_6_15 = @@ -212,6 +226,11 @@ rec { patch = ./dell-rfkill.patch; }; + perf3_5 = + { name = "perf-3.5"; + patch = ./perf-3.5.patch; + }; + sheevaplug_modules_2_6_35 = { name = "sheevaplug_modules-2.6.35"; patch = ./sheevaplug_modules-2.6.35.patch; diff --git a/pkgs/os-specific/linux/kernel/perf-3.5.patch b/pkgs/os-specific/linux/kernel/perf-3.5.patch new file mode 100644 index 00000000000..6d62a1db80e --- /dev/null +++ b/pkgs/os-specific/linux/kernel/perf-3.5.patch @@ -0,0 +1,17 @@ +http://permalink.gmane.org/gmane.linux.kernel.perf.user/960 + +Fix to build perf. + +diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c +index 9f6cebd..d5491f1 100644 +--- a/tools/perf/util/evsel.c ++++ b/tools/perf/util/evsel.c +@@ -15,7 +15,7 @@ + #include "cpumap.h" + #include "thread_map.h" + #include "target.h" +-#include "../../include/linux/perf_event.h" ++#include "../../../include/linux/perf_event.h" + + #define FD(e, x, y) (*(int *)xyarray__entry(e->fd, x, y)) + #define GROUP_FD(group_fd, cpu) (*(int *)xyarray__entry(group_fd, cpu, 0)) diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix index 669f61556fc..01d989e75b1 100644 --- a/pkgs/os-specific/linux/kernel/perf.nix +++ b/pkgs/os-specific/linux/kernel/perf.nix @@ -7,7 +7,7 @@ assert withGtk -> gtk != null; stdenv.mkDerivation { name = "perf-linux-${kernel.version}"; - inherit (kernel) src; + inherit (kernel) src patches; preConfigure = '' cd tools/perf diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix index 89d4c463cc7..afa19491ce5 100644 --- a/pkgs/os-specific/linux/kmod/default.nix +++ b/pkgs/os-specific/linux/kmod/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, xz, zlib, pkgconfig }: stdenv.mkDerivation rec { - name = "kmod-8"; + name = "kmod-9"; src = fetchurl { url = "mirror://kernel/linux/utils/kernel/kmod/${name}.tar.xz"; - sha256 = "0kbkjzcyhkwgcplwa29n0f03ccwpg4df83pdl5nkvsk2rzgx3xrm"; + sha256 = "1kyfplx0gygzxp5dn81yk3cn8zzraqm497vis04r1g1dnry2c1q6"; }; # Disable xz/zlib support to prevent needing them in the initrd. diff --git a/pkgs/os-specific/linux/libcap/default.nix b/pkgs/os-specific/linux/libcap/default.nix index c279393d7a4..667fe63bba7 100644 --- a/pkgs/os-specific/linux/libcap/default.nix +++ b/pkgs/os-specific/linux/libcap/default.nix @@ -1,18 +1,18 @@ -{stdenv, fetchurl, attr, perl}: +{ stdenv, fetchurl, attr, perl }: assert stdenv.isLinux; stdenv.mkDerivation rec { name = "libcap-${version}"; - version = "2.19"; + version = "2.22"; src = fetchurl { - url = "mirror://kernel/linux/libs/security/linux-privs/kernel-2.6/${name}.tar.gz"; - sha256 = "0fdsz9j741npvh222f8p1y6l516z9liibiwdpdr3a4zg53m0pw45"; + url = "mirror://gentoo/distfiles/${name}.tar.bz2"; + sha256 = "03q50j6bg65cc501q87qh328ncav1i8qw2bjig99vxmmfx4bvsvk"; }; - buildNativeInputs = [perl]; - propagatedBuildInputs = [attr]; + buildNativeInputs = [ perl ]; + propagatedBuildInputs = [ attr ]; preConfigure = "cd libcap"; @@ -26,4 +26,9 @@ stdenv.mkDerivation rec { }; postInstall = passthru.postinst name; + + meta = { + description = "Library for working with POSIX capabilities"; + platforms = stdenv.lib.platforms.linux; + }; } diff --git a/pkgs/os-specific/linux/libcap/pam.nix b/pkgs/os-specific/linux/libcap/pam.nix index 4cefa825c8a..b78f32dccbb 100644 --- a/pkgs/os-specific/linux/libcap/pam.nix +++ b/pkgs/os-specific/linux/libcap/pam.nix @@ -3,7 +3,7 @@ assert stdenv.isLinux; stdenv.mkDerivation rec { - name = "cap_pam.so-${libcap.version}"; + name = "libcap-pam-${libcap.version}"; inherit (libcap) src; diff --git a/pkgs/os-specific/linux/libcap/progs.nix b/pkgs/os-specific/linux/libcap/progs.nix index 1b38848e77e..1902b4acb1a 100644 --- a/pkgs/os-specific/linux/libcap/progs.nix +++ b/pkgs/os-specific/linux/libcap/progs.nix @@ -11,5 +11,7 @@ stdenv.mkDerivation rec { preConfigure = "cd progs"; + installFlags = "RAISE_SETFCAP=no"; + postInstall = libcap.postinst name; } diff --git a/pkgs/os-specific/linux/libcgroup/default.nix b/pkgs/os-specific/linux/libcgroup/default.nix index aa73867122f..0246f6729b1 100644 --- a/pkgs/os-specific/linux/libcgroup/default.nix +++ b/pkgs/os-specific/linux/libcgroup/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchurl, pam, yacc, flex }: stdenv.mkDerivation rec { - name = "libcgroup-0.37.1"; + name = "libcgroup-0.38"; src = fetchurl { url = "mirror://sourceforge/libcg/${name}.tar.bz2"; - sha256 = "03awrn49bb84a9vaha1kjdbpwdnrfwmd08mlajjilr6kwlnn620b"; + sha256 = "0zw6144jlvzx0hasl4b07vjfa4lm12jaax6zzkljzxlmifjd2djx"; }; buildInputs = [ pam ]; buildNativeInputs = [ yacc flex ]; - + meta = { description = "Library and tools to manage Linux's cgroup resource management system"; homepage = http://libcg.sourceforge.net/; diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix index d17663b7a65..e85ab29078b 100644 --- a/pkgs/os-specific/linux/microcode/intel.nix +++ b/pkgs/os-specific/linux/microcode/intel.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, microcode2ucode }: -let version = "20111110"; - num = "20728"; +let version = "20120606"; + num = "21385"; in stdenv.mkDerivation { name = "microcode-intel-${version}"; src = fetchurl { url = "http://downloadmirror.intel.com/${num}/eng/microcode-${version}.tgz"; - sha256 = "16f532cdf9cce03e01e714619ad9406a465aa965bbd1288035398db79921cbc1"; + sha256 = "0hs95lj24zx3jscc64zg3hf8xc95vrnsyqlid66h453ib0wf8fg1"; }; buildInputs = [ microcode2ucode ]; @@ -25,4 +25,4 @@ in stdenv.mkDerivation { homepage = http://www.intel.com/; description = "Microcode for Intel processors"; }; -} \ No newline at end of file +} diff --git a/pkgs/os-specific/linux/mountall/default.nix b/pkgs/os-specific/linux/mountall/default.nix index b563b80f9a9..67d7801fdb2 100644 --- a/pkgs/os-specific/linux/mountall/default.nix +++ b/pkgs/os-specific/linux/mountall/default.nix @@ -1,8 +1,8 @@ { stdenv, fetchurl, pkgconfig, libnih, dbus, udev, autoconf, automake, libtool, gettext }: - + stdenv.mkDerivation { name = "mountall-2.35"; - + src = fetchurl { url = https://launchpad.net/ubuntu/+archive/primary/+files/mountall_2.35.tar.gz; sha256 = "1k52d4x75balnwcsqgznvzrdqgbp2dqnrzw0n25kajdcwr192wwy"; @@ -15,10 +15,10 @@ stdenv.mkDerivation { buildInputs = [ pkgconfig libnih dbus.libs udev autoconf automake libtool gettext ]; makeFlags = "initramfshookdir=$(out)/share/initramfs-tools/hooks upstart_jobs_initramfs_configdir=$(out)/share/initramfs-tools/event-driven/upstart-jobs"; - + meta = { homepage = https://launchpad.net/ubuntu/+source/mountall; description = "Utility to mount all filesystems and emit Upstart events"; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 99e5ebe7be7..b9cb0de57da 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -8,7 +8,7 @@ with stdenv.lib; -let versionNumber = "295.53"; in +let versionNumber = "304.22"; in stdenv.mkDerivation { name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}"; @@ -19,12 +19,12 @@ stdenv.mkDerivation { if stdenv.system == "i686-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run"; - sha256 = "185hy1d4yixc9drz4r3wgya30zbqcyh2949wfjaqcvxc2ri0jh00"; + sha256 = "1nyyirimpmifr7ka83q5i4wld9zpb5a7ib6vssnlq8rz825fcjqp"; } else if stdenv.system == "x86_64-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run"; - sha256 = "06fdx3iwqcscwkl14rdb5n1wzscm0gvdxfywr5bzf7y591w4yl7y"; + sha256 = "1jhrb9b2x8l3fy25miyyp5h11ajnj4nf45889dkxj3acrdz3z4zs"; } else throw "nvidia-x11 does not support platform ${stdenv.system}"; diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix index 4b30137f5b6..0112270f3bf 100644 --- a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix +++ b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix @@ -1,8 +1,8 @@ -{stdenv, fetchurl, kernel, xlibs, zlib, gtk, atk, pango, glib}: +{stdenv, fetchurl, kernel, xlibs, zlib, gtk, atk, pango, glib, gdk_pixbuf}: let - versionNumber = "173.14.31"; + versionNumber = "173.14.35"; in @@ -15,12 +15,12 @@ stdenv.mkDerivation { if stdenv.system == "i686-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run"; - sha256 = "090rkl1psmcsx3mxb6lnirqipka8vp78y2j7pzqyzl592qpscmg8"; + sha256 = "16kjxj2bn78cgyb4xq39zajjv1hx1z5dw50n9r17w14ifq7i09id"; } else if stdenv.system == "x86_64-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-pkg0.run"; - sha256 = "0hs4fd61iha7b2936wj5w5fj3rxmw60jnkgf6l1pl3va7sfw30d2"; + sha256 = "0mk7pj7in090dx2v5yzkd7qkaf0qvz3jv4cmpiflpmzmg9p15x8n"; } else throw "nvidia-x11 does not support platform ${stdenv.system}"; @@ -32,7 +32,7 @@ stdenv.mkDerivation { cudaPath = stdenv.lib.makeLibraryPath [zlib stdenv.gcc.gcc]; - programPath = stdenv.lib.makeLibraryPath [ gtk atk pango glib xlibs.libXv ]; + programPath = stdenv.lib.makeLibraryPath [ gtk atk pango glib gdk_pixbuf xlibs.libXv ]; meta = { homepage = http://www.nvidia.com/object/unix.html; diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix index f14b249d514..d401a04e6b9 100644 --- a/pkgs/os-specific/linux/shadow/default.nix +++ b/pkgs/os-specific/linux/shadow/default.nix @@ -1,21 +1,25 @@ { stdenv, fetchurl, pam ? null, glibcCross ? null }: let - glibc = if stdenv ? cross - then glibcCross - else assert stdenv ? glibc; stdenv.glibc; + + glibc = + if stdenv ? cross + then glibcCross + else assert stdenv ? glibc; stdenv.glibc; + in + stdenv.mkDerivation rec { - name = "shadow-4.1.4.2"; + name = "shadow-4.1.5.1"; src = fetchurl { url = "http://pkg-shadow.alioth.debian.org/releases/${name}.tar.bz2"; - sha256 = "1449ny7pdnwkavg92wvibapnkgdq5pas38nvl1m5xa37g5m7z64p"; + sha256 = "1yvqx57vzih0jdy3grir8vfbkxp0cl0myql37bnmi2yn90vk6cma"; }; buildInputs = stdenv.lib.optional (pam != null && stdenv.isLinux) pam; - patches = [ ./no-sanitize-env.patch ./su-name.patch ./keep-path.patch ]; + patches = [ ./keep-path.patch ]; # Assume System V `setpgrp (void)', which is the default on GNU variants # (`AC_FUNC_SETPGRP' is not cross-compilation capable.) @@ -26,6 +30,12 @@ stdenv.mkDerivation rec { substituteInPlace lib/nscd.c --replace /usr/sbin/nscd ${glibc}/sbin/nscd ''; + # Don't install ‘groups’, since coreutils already provides it. + postInstall = + '' + rm $out/bin/groups $out/share/man/man1/groups.* + ''; + meta = { homepage = http://pkg-shadow.alioth.debian.org/; description = "Suite containing authentication-related tools such as passwd and su"; diff --git a/pkgs/os-specific/linux/shadow/keep-path.patch b/pkgs/os-specific/linux/shadow/keep-path.patch index 4b8406b53b0..99fd17c27bc 100644 --- a/pkgs/os-specific/linux/shadow/keep-path.patch +++ b/pkgs/os-specific/linux/shadow/keep-path.patch @@ -1,18 +1,15 @@ -Don't reset $PATH to /bin:/usr/bin. This is consistent with `su' in -coreutils and important on NixOS. - -diff -ru -x '*~' shadow-4.1.4.2-orig/src/su.c shadow-4.1.4.2/src/su.c ---- shadow-4.1.4.2-orig/src/su.c 2009-07-23 22:38:56.000000000 +0200 -+++ shadow-4.1.4.2/src/su.c 2010-06-04 13:23:11.000000000 +0200 -@@ -827,6 +827,7 @@ - (void) signal (SIGINT, SIG_DFL); - (void) signal (SIGQUIT, SIG_DFL); +diff -ru shadow-4.1.5.1-orig/src/su.c shadow-4.1.5.1/src/su.c +--- shadow-4.1.5.1-orig/src/su.c 2012-05-25 07:51:55.000000000 -0400 ++++ shadow-4.1.5.1/src/su.c 2012-07-25 17:22:57.013547930 -0400 +@@ -879,6 +879,7 @@ + } + } +#if 0 - cp = getdef_str ((pwent.pw_uid == 0) ? "ENV_SUPATH" : "ENV_PATH"); + cp = getdef_str ((pw->pw_uid == 0) ? "ENV_SUPATH" : "ENV_PATH"); if (NULL == cp) { - addenv ("PATH=/bin:/usr/bin", NULL); -@@ -835,6 +836,7 @@ + addenv ((pw->pw_uid == 0) ? "PATH=/sbin:/bin:/usr/sbin:/usr/bin" : "PATH=/bin:/usr/bin", NULL); +@@ -887,6 +888,7 @@ } else { addenv ("PATH", cp); } diff --git a/pkgs/os-specific/linux/shadow/no-sanitize-env.patch b/pkgs/os-specific/linux/shadow/no-sanitize-env.patch deleted file mode 100644 index 902706d137e..00000000000 --- a/pkgs/os-specific/linux/shadow/no-sanitize-env.patch +++ /dev/null @@ -1,16 +0,0 @@ -Don't remove environment variables such as PATH or SHELL. - -http://bugs.gentoo.org/show_bug.cgi?id=301957 -https://alioth.debian.org/scm/browser.php?group_id=30580 - ---- a/src/su.c -+++ b/src/su.c -@@ -342,7 +342,7 @@ - #endif - #endif /* !USE_PAM */ - -- sanitize_env (); -+ /* sanitize_env (); */ - - (void) setlocale (LC_ALL, ""); - (void) bindtextdomain (PACKAGE, LOCALEDIR); diff --git a/pkgs/os-specific/linux/shadow/su-name.patch b/pkgs/os-specific/linux/shadow/su-name.patch deleted file mode 100644 index 5873c934274..00000000000 --- a/pkgs/os-specific/linux/shadow/su-name.patch +++ /dev/null @@ -1,20 +0,0 @@ -When su is invoked with command line arguments for the shell (e.g. "su -- -c 'cmd'"), set argv[0] in the shell to "-su" or "-" (as -determined by the SU_NAME option in /etc/login.defs). This is -necessary to make Bash compiled with the NON_INTERACTIVE_LOGIN_SHELLS -option to read startup files. It is also consistent with the -behaviour of `su' in coreutils, and with the case where there are no -arguments ("su -"). - -diff -ru -x '*~' shadow-4.1.4.2-orig/src/su.c shadow-4.1.4.2/src/su.c ---- shadow-4.1.4.2-orig/src/su.c 2009-07-23 22:38:56.000000000 +0200 -+++ shadow-4.1.4.2/src/su.c 2010-06-04 13:02:24.000000000 +0200 -@@ -983,7 +983,7 @@ - * Use the shell and create an argv - * with the rest of the command line included. - */ -- argv[-1] = shellstr; -+ argv[-1] = cp; - #ifndef USE_PAM - execve_shell (shellstr, &argv[-1], environ); - err = errno; diff --git a/pkgs/os-specific/linux/sysklogd/builder.sh b/pkgs/os-specific/linux/sysklogd/builder.sh deleted file mode 100644 index d466f075652..00000000000 --- a/pkgs/os-specific/linux/sysklogd/builder.sh +++ /dev/null @@ -1,13 +0,0 @@ -source $stdenv/setup - -prefix=$out -export prefix - -installFlags="BINDIR=$out/sbin MANDIR=$out/share/man INSTALL=install" -patchPhase="sed -e 's@-o \${MAN_USER} -g \${MAN_GROUP} -m \${MAN_PERMS} @@' -i Makefile" - -mkdir -p "$out/share/man/man8/" -mkdir -p "$out/share/man/man5/" -mkdir -p "$out/sbin" - -genericBuild diff --git a/pkgs/os-specific/linux/sysklogd/default.nix b/pkgs/os-specific/linux/sysklogd/default.nix index 2fe27add5bf..979bfa1d0bf 100644 --- a/pkgs/os-specific/linux/sysklogd/default.nix +++ b/pkgs/os-specific/linux/sysklogd/default.nix @@ -2,9 +2,24 @@ stdenv.mkDerivation { name = "sysklogd-1.5"; - builder = ./builder.sh; + src = fetchurl { url = http://www.infodrom.org/projects/sysklogd/download/sysklogd-1.5.tar.gz; sha256 = "0wxpkrznqwz4dy11k90s2sqszwp7d4mlc0ag8288wa193plvhsb1"; }; + + patches = [ ./systemd.patch ]; + + installFlags = "BINDIR=$(out)/sbin MANDIR=$(out)/share/man INSTALL=install"; + + preConfigure = + '' + sed -e 's@-o \''${MAN_USER} -g \''${MAN_GROUP} -m \''${MAN_PERMS} @@' -i Makefile + ''; + + preInstall = "mkdir -p $out/share/man/man5/ $out/share/man/man8/ $out/sbin"; + + meta = { + description = "A system logging daemon"; + }; } diff --git a/pkgs/os-specific/linux/sysklogd/systemd.patch b/pkgs/os-specific/linux/sysklogd/systemd.patch new file mode 100644 index 00000000000..ecdf2b57ebf --- /dev/null +++ b/pkgs/os-specific/linux/sysklogd/systemd.patch @@ -0,0 +1,850 @@ +Based on http://ftp.free.org/mirrors/rsync.frugalware.org/frugalware-testing/source/apps-extra/sysklogd/sysklogd-1.5-systemd.diff + +diff --git a/Makefile b/Makefile +index 9a114b8..aef1fd6 100644 +--- a/Makefile ++++ b/Makefile +@@ -20,7 +20,7 @@ + CC= gcc + #SKFLAGS= -g -DSYSV -Wall + #LDFLAGS= -g +-SKFLAGS= $(RPM_OPT_FLAGS) -O3 -DSYSV -fomit-frame-pointer -Wall -fno-strength-reduce ++SKFLAGS= $(RPM_OPT_FLAGS) -O3 -DSYSV -fomit-frame-pointer -Wall -fno-strength-reduce -I. + # -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE + # -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE + # $(shell getconf LFS_SKFLAGS) +@@ -79,8 +79,8 @@ test: syslog_tst ksym oops.ko tsyslogd + + install: install_man install_exec + +-syslogd: syslogd.o pidfile.o +- ${CC} ${LDFLAGS} -o syslogd syslogd.o pidfile.o ${LIBS} ++syslogd: syslogd.o pidfile.o sd-daemon.o ++ ${CC} ${LDFLAGS} -o syslogd syslogd.o pidfile.o sd-daemon.o ${LIBS} + + klogd: klogd.o syslog.o pidfile.o ksym.o ksym_mod.o + ${CC} ${LDFLAGS} -o klogd klogd.o syslog.o pidfile.o ksym.o \ +@@ -101,6 +101,9 @@ syslogd.o: syslogd.c version.h + syslog.o: syslog.c + ${CC} ${SKFLAGS} ${SYSLOG_FLAGS} -c syslog.c + ++sd-daemon.o: sd-daemon.c sd-daemon.h ++ ${CC} ${SKFLAGS} ${SYSLOG_FLAGS} -c sd-daemon.c ++ + klogd.o: klogd.c klogd.h version.h + ${CC} ${SKFLAGS} ${KLOGD_FLAGS} $(DEB) -c klogd.c + +diff --git a/sd-daemon.c b/sd-daemon.c +new file mode 100644 +index 0000000..6d1eebf +--- /dev/null ++++ b/sd-daemon.c +@@ -0,0 +1,436 @@ ++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ ++ ++/*** ++ Copyright 2010 Lennart Poettering ++ ++ Permission is hereby granted, free of charge, to any person ++ obtaining a copy of this software and associated documentation files ++ (the "Software"), to deal in the Software without restriction, ++ including without limitation the rights to use, copy, modify, merge, ++ publish, distribute, sublicense, and/or sell copies of the Software, ++ and to permit persons to whom the Software is furnished to do so, ++ subject to the following conditions: ++ ++ The above copyright notice and this permission notice shall be ++ included in all copies or substantial portions of the Software. ++ ++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS ++ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ SOFTWARE. ++***/ ++ ++#ifndef _GNU_SOURCE ++#define _GNU_SOURCE ++#endif ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include "sd-daemon.h" ++ ++int sd_listen_fds(int unset_environment) { ++ ++#if defined(DISABLE_SYSTEMD) || !defined(__linux__) ++ return 0; ++#else ++ int r, fd; ++ const char *e; ++ char *p = NULL; ++ unsigned long l; ++ ++ if (!(e = getenv("LISTEN_PID"))) { ++ r = 0; ++ goto finish; ++ } ++ ++ errno = 0; ++ l = strtoul(e, &p, 10); ++ ++ if (errno != 0) { ++ r = -errno; ++ goto finish; ++ } ++ ++ if (!p || *p || l <= 0) { ++ r = -EINVAL; ++ goto finish; ++ } ++ ++ /* Is this for us? */ ++ if (getpid() != (pid_t) l) { ++ r = 0; ++ goto finish; ++ } ++ ++ if (!(e = getenv("LISTEN_FDS"))) { ++ r = 0; ++ goto finish; ++ } ++ ++ errno = 0; ++ l = strtoul(e, &p, 10); ++ ++ if (errno != 0) { ++ r = -errno; ++ goto finish; ++ } ++ ++ if (!p || *p) { ++ r = -EINVAL; ++ goto finish; ++ } ++ ++ for (fd = SD_LISTEN_FDS_START; fd < SD_LISTEN_FDS_START + (int) l; fd ++) { ++ int flags; ++ ++ if ((flags = fcntl(fd, F_GETFD)) < 0) { ++ r = -errno; ++ goto finish; ++ } ++ ++ if (flags & FD_CLOEXEC) ++ continue; ++ ++ if (fcntl(fd, F_SETFD, flags | FD_CLOEXEC) < 0) { ++ r = -errno; ++ goto finish; ++ } ++ } ++ ++ r = (int) l; ++ ++finish: ++ if (unset_environment) { ++ unsetenv("LISTEN_PID"); ++ unsetenv("LISTEN_FDS"); ++ } ++ ++ return r; ++#endif ++} ++ ++int sd_is_fifo(int fd, const char *path) { ++ struct stat st_fd; ++ ++ if (fd < 0) ++ return -EINVAL; ++ ++ memset(&st_fd, 0, sizeof(st_fd)); ++ if (fstat(fd, &st_fd) < 0) ++ return -errno; ++ ++ if (!S_ISFIFO(st_fd.st_mode)) ++ return 0; ++ ++ if (path) { ++ struct stat st_path; ++ ++ memset(&st_path, 0, sizeof(st_path)); ++ if (stat(path, &st_path) < 0) { ++ ++ if (errno == ENOENT || errno == ENOTDIR) ++ return 0; ++ ++ return -errno; ++ } ++ ++ return ++ st_path.st_dev == st_fd.st_dev && ++ st_path.st_ino == st_fd.st_ino; ++ } ++ ++ return 1; ++} ++ ++static int sd_is_socket_internal(int fd, int type, int listening) { ++ struct stat st_fd; ++ ++ if (fd < 0 || type < 0) ++ return -EINVAL; ++ ++ if (fstat(fd, &st_fd) < 0) ++ return -errno; ++ ++ if (!S_ISSOCK(st_fd.st_mode)) ++ return 0; ++ ++ if (type != 0) { ++ int other_type = 0; ++ socklen_t l = sizeof(other_type); ++ ++ if (getsockopt(fd, SOL_SOCKET, SO_TYPE, &other_type, &l) < 0) ++ return -errno; ++ ++ if (l != sizeof(other_type)) ++ return -EINVAL; ++ ++ if (other_type != type) ++ return 0; ++ } ++ ++ if (listening >= 0) { ++ int accepting = 0; ++ socklen_t l = sizeof(accepting); ++ ++ if (getsockopt(fd, SOL_SOCKET, SO_ACCEPTCONN, &accepting, &l) < 0) ++ return -errno; ++ ++ if (l != sizeof(accepting)) ++ return -EINVAL; ++ ++ if (!accepting != !listening) ++ return 0; ++ } ++ ++ return 1; ++} ++ ++union sockaddr_union { ++ struct sockaddr sa; ++ struct sockaddr_in in4; ++ struct sockaddr_in6 in6; ++ struct sockaddr_un un; ++ struct sockaddr_storage storage; ++}; ++ ++int sd_is_socket(int fd, int family, int type, int listening) { ++ int r; ++ ++ if (family < 0) ++ return -EINVAL; ++ ++ if ((r = sd_is_socket_internal(fd, type, listening)) <= 0) ++ return r; ++ ++ if (family > 0) { ++ union sockaddr_union sockaddr; ++ socklen_t l; ++ ++ memset(&sockaddr, 0, sizeof(sockaddr)); ++ l = sizeof(sockaddr); ++ ++ if (getsockname(fd, &sockaddr.sa, &l) < 0) ++ return -errno; ++ ++ if (l < sizeof(sa_family_t)) ++ return -EINVAL; ++ ++ return sockaddr.sa.sa_family == family; ++ } ++ ++ return 1; ++} ++ ++int sd_is_socket_inet(int fd, int family, int type, int listening, uint16_t port) { ++ union sockaddr_union sockaddr; ++ socklen_t l; ++ int r; ++ ++ if (family != 0 && family != AF_INET && family != AF_INET6) ++ return -EINVAL; ++ ++ if ((r = sd_is_socket_internal(fd, type, listening)) <= 0) ++ return r; ++ ++ memset(&sockaddr, 0, sizeof(sockaddr)); ++ l = sizeof(sockaddr); ++ ++ if (getsockname(fd, &sockaddr.sa, &l) < 0) ++ return -errno; ++ ++ if (l < sizeof(sa_family_t)) ++ return -EINVAL; ++ ++ if (sockaddr.sa.sa_family != AF_INET && ++ sockaddr.sa.sa_family != AF_INET6) ++ return 0; ++ ++ if (family > 0) ++ if (sockaddr.sa.sa_family != family) ++ return 0; ++ ++ if (port > 0) { ++ if (sockaddr.sa.sa_family == AF_INET) { ++ if (l < sizeof(struct sockaddr_in)) ++ return -EINVAL; ++ ++ return htons(port) == sockaddr.in4.sin_port; ++ } else { ++ if (l < sizeof(struct sockaddr_in6)) ++ return -EINVAL; ++ ++ return htons(port) == sockaddr.in6.sin6_port; ++ } ++ } ++ ++ return 1; ++} ++ ++int sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t length) { ++ union sockaddr_union sockaddr; ++ socklen_t l; ++ int r; ++ ++ if ((r = sd_is_socket_internal(fd, type, listening)) <= 0) ++ return r; ++ ++ memset(&sockaddr, 0, sizeof(sockaddr)); ++ l = sizeof(sockaddr); ++ ++ if (getsockname(fd, &sockaddr.sa, &l) < 0) ++ return -errno; ++ ++ if (l < sizeof(sa_family_t)) ++ return -EINVAL; ++ ++ if (sockaddr.sa.sa_family != AF_UNIX) ++ return 0; ++ ++ if (path) { ++ if (length <= 0) ++ length = strlen(path); ++ ++ if (length <= 0) ++ /* Unnamed socket */ ++ return l == offsetof(struct sockaddr_un, sun_path); ++ ++ if (path[0]) ++ /* Normal path socket */ ++ return ++ (l >= offsetof(struct sockaddr_un, sun_path) + length + 1) && ++ memcmp(path, sockaddr.un.sun_path, length+1) == 0; ++ else ++ /* Abstract namespace socket */ ++ return ++ (l == offsetof(struct sockaddr_un, sun_path) + length) && ++ memcmp(path, sockaddr.un.sun_path, length) == 0; ++ } ++ ++ return 1; ++} ++ ++int sd_notify(int unset_environment, const char *state) { ++#if defined(DISABLE_SYSTEMD) || !defined(__linux__) || !defined(SOCK_CLOEXEC) ++ return 0; ++#else ++ int fd = -1, r; ++ struct msghdr msghdr; ++ struct iovec iovec; ++ union sockaddr_union sockaddr; ++ const char *e; ++ ++ if (!state) { ++ r = -EINVAL; ++ goto finish; ++ } ++ ++ if (!(e = getenv("NOTIFY_SOCKET"))) ++ return 0; ++ ++ /* Must be an abstract socket, or an absolute path */ ++ if ((e[0] != '@' && e[0] != '/') || e[1] == 0) { ++ r = -EINVAL; ++ goto finish; ++ } ++ ++ if ((fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0)) < 0) { ++ r = -errno; ++ goto finish; ++ } ++ ++ memset(&sockaddr, 0, sizeof(sockaddr)); ++ sockaddr.sa.sa_family = AF_UNIX; ++ strncpy(sockaddr.un.sun_path, e, sizeof(sockaddr.un.sun_path)); ++ ++ if (sockaddr.un.sun_path[0] == '@') ++ sockaddr.un.sun_path[0] = 0; ++ ++ memset(&iovec, 0, sizeof(iovec)); ++ iovec.iov_base = (char*) state; ++ iovec.iov_len = strlen(state); ++ ++ memset(&msghdr, 0, sizeof(msghdr)); ++ msghdr.msg_name = &sockaddr; ++ msghdr.msg_namelen = offsetof(struct sockaddr_un, sun_path) + strlen(e); ++ ++ if (msghdr.msg_namelen > sizeof(struct sockaddr_un)) ++ msghdr.msg_namelen = sizeof(struct sockaddr_un); ++ ++ msghdr.msg_iov = &iovec; ++ msghdr.msg_iovlen = 1; ++ ++ if (sendmsg(fd, &msghdr, MSG_NOSIGNAL) < 0) { ++ r = -errno; ++ goto finish; ++ } ++ ++ r = 1; ++ ++finish: ++ if (unset_environment) ++ unsetenv("NOTIFY_SOCKET"); ++ ++ if (fd >= 0) ++ close(fd); ++ ++ return r; ++#endif ++} ++ ++int sd_notifyf(int unset_environment, const char *format, ...) { ++#if defined(DISABLE_SYSTEMD) || !defined(__linux__) ++ return 0; ++#else ++ va_list ap; ++ char *p = NULL; ++ int r; ++ ++ va_start(ap, format); ++ r = vasprintf(&p, format, ap); ++ va_end(ap); ++ ++ if (r < 0 || !p) ++ return -ENOMEM; ++ ++ r = sd_notify(unset_environment, p); ++ free(p); ++ ++ return r; ++#endif ++} ++ ++int sd_booted(void) { ++#if defined(DISABLE_SYSTEMD) || !defined(__linux__) ++ return 0; ++#else ++ ++ struct stat a, b; ++ ++ /* We simply test whether the systemd cgroup hierarchy is ++ * mounted */ ++ ++ if (lstat("/sys/fs/cgroup", &a) < 0) ++ return 0; ++ ++ if (lstat("/sys/fs/cgroup/systemd", &b) < 0) ++ return 0; ++ ++ return a.st_dev != b.st_dev; ++#endif ++} +diff --git a/sd-daemon.h b/sd-daemon.h +new file mode 100644 +index 0000000..d0a0a94 +--- /dev/null ++++ b/sd-daemon.h +@@ -0,0 +1,265 @@ ++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ ++ ++#ifndef foosddaemonhfoo ++#define foosddaemonhfoo ++ ++/*** ++ Copyright 2010 Lennart Poettering ++ ++ Permission is hereby granted, free of charge, to any person ++ obtaining a copy of this software and associated documentation files ++ (the "Software"), to deal in the Software without restriction, ++ including without limitation the rights to use, copy, modify, merge, ++ publish, distribute, sublicense, and/or sell copies of the Software, ++ and to permit persons to whom the Software is furnished to do so, ++ subject to the following conditions: ++ ++ The above copyright notice and this permission notice shall be ++ included in all copies or substantial portions of the Software. ++ ++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS ++ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ++ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ++ SOFTWARE. ++***/ ++ ++#include ++#include ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* ++ Reference implementation of a few systemd related interfaces for ++ writing daemons. These interfaces are trivial to implement. To ++ simplify porting we provide this reference implementation. ++ Applications are welcome to reimplement the algorithms described ++ here if they do not want to include these two source files. ++ ++ The following functionality is provided: ++ ++ - Support for logging with log levels on stderr ++ - File descriptor passing for socket-based activation ++ - Daemon startup and status notification ++ - Detection of systemd boots ++ ++ You may compile this with -DDISABLE_SYSTEMD to disable systemd ++ support. This makes all those calls NOPs that are directly related to ++ systemd (i.e. only sd_is_xxx() will stay useful). ++ ++ Since this is drop-in code we don't want any of our symbols to be ++ exported in any case. Hence we declare hidden visibility for all of ++ them. ++ ++ You may find an up-to-date version of these source files online: ++ ++ http://cgit.freedesktop.org/systemd/plain/src/sd-daemon.h ++ http://cgit.freedesktop.org/systemd/plain/src/sd-daemon.c ++ ++ This should compile on non-Linux systems, too, but with the ++ exception of the sd_is_xxx() calls all functions will become NOPs. ++ ++ See sd-daemon(7) for more information. ++*/ ++ ++#ifndef _sd_printf_attr_ ++#if __GNUC__ >= 4 ++#define _sd_printf_attr_(a,b) __attribute__ ((format (printf, a, b))) ++#else ++#define _sd_printf_attr_(a,b) ++#endif ++#endif ++ ++#ifndef _sd_hidden_ ++#if (__GNUC__ >= 4) && !defined(SD_EXPORT_SYMBOLS) ++#define _sd_hidden_ __attribute__ ((visibility("hidden"))) ++#else ++#define _sd_hidden_ ++#endif ++#endif ++ ++/* ++ Log levels for usage on stderr: ++ ++ fprintf(stderr, SD_NOTICE "Hello World!\n"); ++ ++ This is similar to printk() usage in the kernel. ++*/ ++#define SD_EMERG "<0>" /* system is unusable */ ++#define SD_ALERT "<1>" /* action must be taken immediately */ ++#define SD_CRIT "<2>" /* critical conditions */ ++#define SD_ERR "<3>" /* error conditions */ ++#define SD_WARNING "<4>" /* warning conditions */ ++#define SD_NOTICE "<5>" /* normal but significant condition */ ++#define SD_INFO "<6>" /* informational */ ++#define SD_DEBUG "<7>" /* debug-level messages */ ++ ++/* The first passed file descriptor is fd 3 */ ++#define SD_LISTEN_FDS_START 3 ++ ++/* ++ Returns how many file descriptors have been passed, or a negative ++ errno code on failure. Optionally, removes the $LISTEN_FDS and ++ $LISTEN_PID file descriptors from the environment (recommended, but ++ problematic in threaded environments). If r is the return value of ++ this function you'll find the file descriptors passed as fds ++ SD_LISTEN_FDS_START to SD_LISTEN_FDS_START+r-1. Returns a negative ++ errno style error code on failure. This function call ensures that ++ the FD_CLOEXEC flag is set for the passed file descriptors, to make ++ sure they are not passed on to child processes. If FD_CLOEXEC shall ++ not be set, the caller needs to unset it after this call for all file ++ descriptors that are used. ++ ++ See sd_listen_fds(3) for more information. ++*/ ++int sd_listen_fds(int unset_environment) _sd_hidden_; ++ ++/* ++ Helper call for identifying a passed file descriptor. Returns 1 if ++ the file descriptor is a FIFO in the file system stored under the ++ specified path, 0 otherwise. If path is NULL a path name check will ++ not be done and the call only verifies if the file descriptor ++ refers to a FIFO. Returns a negative errno style error code on ++ failure. ++ ++ See sd_is_fifo(3) for more information. ++*/ ++int sd_is_fifo(int fd, const char *path) _sd_hidden_; ++ ++/* ++ Helper call for identifying a passed file descriptor. Returns 1 if ++ the file descriptor is a socket of the specified family (AF_INET, ++ ...) and type (SOCK_DGRAM, SOCK_STREAM, ...), 0 otherwise. If ++ family is 0 a socket family check will not be done. If type is 0 a ++ socket type check will not be done and the call only verifies if ++ the file descriptor refers to a socket. If listening is > 0 it is ++ verified that the socket is in listening mode. (i.e. listen() has ++ been called) If listening is == 0 it is verified that the socket is ++ not in listening mode. If listening is < 0 no listening mode check ++ is done. Returns a negative errno style error code on failure. ++ ++ See sd_is_socket(3) for more information. ++*/ ++int sd_is_socket(int fd, int family, int type, int listening) _sd_hidden_; ++ ++/* ++ Helper call for identifying a passed file descriptor. Returns 1 if ++ the file descriptor is an Internet socket, of the specified family ++ (either AF_INET or AF_INET6) and the specified type (SOCK_DGRAM, ++ SOCK_STREAM, ...), 0 otherwise. If version is 0 a protocol version ++ check is not done. If type is 0 a socket type check will not be ++ done. If port is 0 a socket port check will not be done. The ++ listening flag is used the same way as in sd_is_socket(). Returns a ++ negative errno style error code on failure. ++ ++ See sd_is_socket_inet(3) for more information. ++*/ ++int sd_is_socket_inet(int fd, int family, int type, int listening, uint16_t port) _sd_hidden_; ++ ++/* ++ Helper call for identifying a passed file descriptor. Returns 1 if ++ the file descriptor is an AF_UNIX socket of the specified type ++ (SOCK_DGRAM, SOCK_STREAM, ...) and path, 0 otherwise. If type is 0 ++ a socket type check will not be done. If path is NULL a socket path ++ check will not be done. For normal AF_UNIX sockets set length to ++ 0. For abstract namespace sockets set length to the length of the ++ socket name (including the initial 0 byte), and pass the full ++ socket path in path (including the initial 0 byte). The listening ++ flag is used the same way as in sd_is_socket(). Returns a negative ++ errno style error code on failure. ++ ++ See sd_is_socket_unix(3) for more information. ++*/ ++int sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t length) _sd_hidden_; ++ ++/* ++ Informs systemd about changed daemon state. This takes a number of ++ newline separated environment-style variable assignments in a ++ string. The following variables are known: ++ ++ READY=1 Tells systemd that daemon startup is finished (only ++ relevant for services of Type=notify). The passed ++ argument is a boolean "1" or "0". Since there is ++ little value in signalling non-readiness the only ++ value daemons should send is "READY=1". ++ ++ STATUS=... Passes a single-line status string back to systemd ++ that describes the daemon state. This is free-from ++ and can be used for various purposes: general state ++ feedback, fsck-like programs could pass completion ++ percentages and failing programs could pass a human ++ readable error message. Example: "STATUS=Completed ++ 66% of file system check..." ++ ++ ERRNO=... If a daemon fails, the errno-style error code, ++ formatted as string. Example: "ERRNO=2" for ENOENT. ++ ++ BUSERROR=... If a daemon fails, the D-Bus error-style error ++ code. Example: "BUSERROR=org.freedesktop.DBus.Error.TimedOut" ++ ++ MAINPID=... The main pid of a daemon, in case systemd did not ++ fork off the process itself. Example: "MAINPID=4711" ++ ++ Daemons can choose to send additional variables. However, it is ++ recommened to prefix variable names not listed above with X_. ++ ++ Returns a negative errno-style error code on failure. Returns > 0 ++ if systemd could be notified, 0 if it couldn't possibly because ++ systemd is not running. ++ ++ Example: When a daemon finished starting up, it could issue this ++ call to notify systemd about it: ++ ++ sd_notify(0, "READY=1"); ++ ++ See sd_notifyf() for more complete examples. ++ ++ See sd_notify(3) for more information. ++*/ ++int sd_notify(int unset_environment, const char *state) _sd_hidden_; ++ ++/* ++ Similar to sd_notify() but takes a format string. ++ ++ Example 1: A daemon could send the following after initialization: ++ ++ sd_notifyf(0, "READY=1\n" ++ "STATUS=Processing requests...\n" ++ "MAINPID=%lu", ++ (unsigned long) getpid()); ++ ++ Example 2: A daemon could send the following shortly before ++ exiting, on failure: ++ ++ sd_notifyf(0, "STATUS=Failed to start up: %s\n" ++ "ERRNO=%i", ++ strerror(errno), ++ errno); ++ ++ See sd_notifyf(3) for more information. ++*/ ++int sd_notifyf(int unset_environment, const char *format, ...) _sd_printf_attr_(2,3) _sd_hidden_; ++ ++/* ++ Returns > 0 if the system was booted with systemd. Returns < 0 on ++ error. Returns 0 if the system was not booted with systemd. Note ++ that all of the functions above handle non-systemd boots just ++ fine. You should NOT protect them with a call to this function. Also ++ note that this function checks whether the system, not the user ++ session is controlled by systemd. However the functions above work ++ for both user and system services. ++ ++ See sd_booted(3) for more information. ++*/ ++int sd_booted(void) _sd_hidden_; ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif +diff --git a/syslogd.c b/syslogd.c +index acfd8f1..9bfa8c7 100644 +--- a/syslogd.c ++++ b/syslogd.c +@@ -551,6 +551,7 @@ static char sccsid[] = "@(#)syslogd.c 5.27 (Berkeley) 10/10/88"; + + #if defined(__linux__) + #include ++#include + #endif + + #ifndef UTMP_FILE +@@ -965,8 +966,11 @@ int main(argc, argv) + } + signal (SIGTERM, SIG_DFL); + num_fds = getdtablesize(); +- for (i= 0; i < num_fds; i++) +- (void) close(i); ++#if defined(__linux__) ++ if (sd_listen_fds(0) <= 0) ++#endif ++ for (i = 0; i < num_fds; i++) ++ (void) close(i); + untty(); + } + else +@@ -1253,6 +1257,60 @@ static int create_unix_socket(const char *path) + if (path[0] == '\0') + return -1; + ++#if defined(__linux__) ++ if (strcmp(path, _PATH_LOG) == 0) { ++ int r; ++ ++ /* Check whether an FD was passed in from systemd. If ++ * so, it's the /dev/log socket, so use it. */ ++ ++ r = sd_listen_fds(0); ++ if (r < 0) { ++ logerror("Failed to acquire systemd socket"); ++#ifndef SYSV ++ dienow(); ++#else ++ return -1; ++#endif ++ } ++ ++ ++ if (r > 1) { ++ logerror("Wrong number of systemd sockets passed"); ++#ifndef SYSV ++ dienow(); ++#else ++ return -1; ++#endif ++ } ++ ++ if (r == 1) { ++ fd = SD_LISTEN_FDS_START; ++ r = sd_is_socket_unix(fd, SOCK_DGRAM, -1, "/run/systemd/journal/syslog", 0); ++ if (r < 0) { ++ logerror("Failed to verify systemd socket type"); ++#ifndef SYSV ++ dienow(); ++#else ++ return -1; ++#endif ++ } ++ ++ if (!r) { ++ logerror("Passed systemd socket of wrong type"); ++#ifndef SYSV ++ dienow(); ++#else ++ return -1; ++#endif ++ } ++ ++ dprintf("Using systemd socket (%d).\n", fd); ++ return fd; ++ } ++ } ++#endif ++ + (void) unlink(path); + + memset(&sunx, 0, sizeof(sunx)); +@@ -2254,7 +2311,12 @@ void die(sig) + if (InetInuse) close(inetm); + + /* Clean-up files. */ +- for (i = 0; i < nfunix; i++) ++ i = 0; ++#if defined(__linux__) ++ if (sd_listen_fds(0) > 0) ++ i = 1; ++#endif ++ for (; i < nfunix; i++) + if (funixn[i] && funix[i] != -1) + (void)unlink(funixn[i]); + #ifndef TESTING diff --git a/pkgs/os-specific/linux/sysstat/default.nix b/pkgs/os-specific/linux/sysstat/default.nix index 3f464dbd656..2b4888f89cd 100644 --- a/pkgs/os-specific/linux/sysstat/default.nix +++ b/pkgs/os-specific/linux/sysstat/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, gettext }: stdenv.mkDerivation rec { - name = "sysstat-10.0.3"; + name = "sysstat-10.1.1"; src = fetchurl { url = "http://perso.orange.fr/sebastien.godard/${name}.tar.bz2"; - sha256 = "0z7zr1b4xg9k8rbk2rnghjcycdfi0vb55f117d46ygcdym9ks0i2"; + sha256 = "1ig6k4yjkkazddjr90hykiapl30s9r9c1gy1h8hqzn2c3xgkm7p3"; }; buildInputs = [ gettext ]; @@ -13,9 +13,11 @@ stdenv.mkDerivation rec { preConfigure = '' export PATH_CP=$(type -tp cp) export PATH_CHKCONFIG=/no-such-program - makeFlagsArray=(SA_DIR=$out/var/log/sa SYSCONFIG_DIR=$out/etc CHOWN=true IGNORE_MAN_GROUP=y) + makeFlagsArray=(SA_DIR=/var/log/sa SYSCONFIG_DIR=$out/etc CHOWN=true IGNORE_MAN_GROUP=y) ''; + patches = [ ./no-install-statedir.patch ]; + meta = { homepage = http://sebastien.godard.pagesperso-orange.fr/; description = "A collection of performance monitoring tools for Linux (such as sar, iostat and pidstat)"; diff --git a/pkgs/os-specific/linux/sysstat/no-install-statedir.patch b/pkgs/os-specific/linux/sysstat/no-install-statedir.patch new file mode 100644 index 00000000000..ef81f97217f --- /dev/null +++ b/pkgs/os-specific/linux/sysstat/no-install-statedir.patch @@ -0,0 +1,37 @@ +diff -rc sysstat-10.1.1/Makefile.in sysstat-10.1.1-new/Makefile.in +*** sysstat-10.1.1/Makefile.in 2012-01-02 14:36:00.000000000 +0100 +--- sysstat-10.1.1-new/Makefile.in 2012-08-14 14:11:17.676124739 +0200 +*************** +*** 309,315 **** + install_base: all sa1 sa2 sysstat.sysconfig install_man install_nls \ + contrib/isag/isag + mkdir -p $(DESTDIR)$(SA_LIB_DIR) +! mkdir -p $(DESTDIR)$(SA_DIR) + ifeq ($(CLEAN_SA_DIR),y) + find $(DESTDIR)$(SA_DIR) \( -name 'sar??' -o -name 'sa??' -o -name 'sar??.gz' -o -name 'sa??.gz' \) \ + -exec rm -f {} \; +--- 309,315 ---- + install_base: all sa1 sa2 sysstat.sysconfig install_man install_nls \ + contrib/isag/isag + mkdir -p $(DESTDIR)$(SA_LIB_DIR) +! #mkdir -p $(DESTDIR)$(SA_DIR) + ifeq ($(CLEAN_SA_DIR),y) + find $(DESTDIR)$(SA_DIR) \( -name 'sar??' -o -name 'sa??' -o -name 'sar??.gz' -o -name 'sa??.gz' \) \ + -exec rm -f {} \; +*************** +*** 344,350 **** + + install_all: install_base cron/crontab sysstat \ + cron/sysstat.crond cron/sysstat.cron.daily cron/sysstat.cron.hourly +! $(CHOWN) $(CRON_OWNER) $(DESTDIR)$(SA_DIR) + if [ -d $(DESTDIR)/etc/cron.d ]; then \ + $(INSTALL_DATA) cron/sysstat.crond $(DESTDIR)/etc/cron.d/sysstat; \ + elif [ -d $(DESTDIR)/etc/cron.hourly -a -d $(DESTDIR)/etc/cron.daily ]; then \ +--- 344,350 ---- + + install_all: install_base cron/crontab sysstat \ + cron/sysstat.crond cron/sysstat.cron.daily cron/sysstat.cron.hourly +! #$(CHOWN) $(CRON_OWNER) $(DESTDIR)$(SA_DIR) + if [ -d $(DESTDIR)/etc/cron.d ]; then \ + $(INSTALL_DATA) cron/sysstat.crond $(DESTDIR)/etc/cron.d/sysstat; \ + elif [ -d $(DESTDIR)/etc/cron.hourly -a -d $(DESTDIR)/etc/cron.daily ]; then \ diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 80ce415ca80..b6497e0b0b3 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -1,18 +1,22 @@ -{ stdenv, fetchurl, pkgconfig, intltool, gperf, libcap, udev, dbus, kmod +{ stdenv, fetchurl, pkgconfig, intltool, gperf, libcap, dbus, kmod , xz, pam, acl, cryptsetup, libuuid, m4, utillinux, usbutils, pciutils , glib, kbd }: +assert stdenv.gcc.libc or null != null; + stdenv.mkDerivation rec { - name = "systemd-186"; + name = "systemd-188"; src = fetchurl { url = "http://www.freedesktop.org/software/systemd/${name}.tar.xz"; - sha256 = "0zmj8r7a1xb5f3lvyfgw7095rq3yvr0ibw1730j54blm07sh3hmj"; + sha256 = "0nr1cg1mizbwcafjcqw3c30mx6xdv596jpbgjlxr6myvc5hfsfg8"; }; + patches = [ ./fail-after-reaching-respawn-limit.patch ]; + buildInputs = - [ pkgconfig intltool gperf libcap udev dbus kmod xz pam acl + [ pkgconfig intltool gperf libcap dbus kmod xz pam acl cryptsetup libuuid m4 usbutils pciutils glib ]; @@ -45,7 +49,10 @@ stdenv.mkDerivation rec { done ''; - NIX_CFLAGS_COMPILE = "-DKBD_LOADKEYS=\"${kbd}/bin/loadkeys\" -DKBD_SETFONT=\"${kbd}/bin/setfont\""; + # ‘-fstack-protector’ is necessary to build the PAM module correctly. + NIX_CFLAGS_COMPILE = "-DKBD_LOADKEYS=\"${kbd}/bin/loadkeys\" -DKBD_SETFONT=\"${kbd}/bin/setfont\" -fstack-protector"; + + makeFlags = "CPPFLAGS=-I${stdenv.gcc.libc}/include"; installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc"; @@ -60,12 +67,20 @@ stdenv.mkDerivation rec { mkdir -p $out/sbin ln -s $out/lib/systemd/systemd $out/sbin/telinit for i in init halt poweroff runlevel reboot shutdown; do - ln -s $out/bin/systemctl $out/sbin/$i + ln -s $out/bin/systemctl $out/sbin/$i done ''; enableParallelBuilding = true; - + + # The interface version prevents NixOS from switching to an + # incompatible systemd at runtime. (Switching across reboots is + # fine, of course.) It should be increased whenever systemd changes + # in a backwards-incompatible way. If the interface version of two + # systemd builds is the same, then we can switch between them at + # runtime; otherwise we can't and we need to reboot. + passthru.interfaceVersion = 2; + meta = { homepage = http://www.freedesktop.org/wiki/Software/systemd; description = "A system and service manager for Linux"; diff --git a/pkgs/os-specific/linux/systemd/fail-after-reaching-respawn-limit.patch b/pkgs/os-specific/linux/systemd/fail-after-reaching-respawn-limit.patch new file mode 100644 index 00000000000..7271b5578d5 --- /dev/null +++ b/pkgs/os-specific/linux/systemd/fail-after-reaching-respawn-limit.patch @@ -0,0 +1,12 @@ +diff --git a/src/core/service.c b/src/core/service.c +index 1c127bd..eafdbe5 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -2487,6 +2487,7 @@ static int service_start(Unit *u) { + r = service_start_limit_test(s); + if (r < 0) { + service_notify_sockets_dead(s, true); ++ service_set_state(s, SERVICE_FAILED); + return r; + } + diff --git a/pkgs/os-specific/linux/sysvinit/default.nix b/pkgs/os-specific/linux/sysvinit/default.nix index c088d3c5b1b..7b3ea62ea2d 100644 --- a/pkgs/os-specific/linux/sysvinit/default.nix +++ b/pkgs/os-specific/linux/sysvinit/default.nix @@ -34,6 +34,7 @@ stdenv.mkDerivation { rm -rf $out/include rm -rf $out/share/man/man5 rm $(for i in $out/share/man/man8/*; do echo $i; done | grep -v 'pidof\|killall5') + rm $out/bin/{mountpoint,wall} $out/share/man/man1/{mountpoint.1,wall.1} ''; meta = { diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix index 4a8cfbdbc51..71a05486b48 100644 --- a/pkgs/os-specific/linux/upower/default.nix +++ b/pkgs/os-specific/linux/upower/default.nix @@ -4,11 +4,11 @@ assert stdenv.isLinux; stdenv.mkDerivation rec { - name = "upower-0.9.16"; + name = "upower-0.9.17"; src = fetchurl { url = "http://upower.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "eb9a3d39a8cb62970fd612e333bc7a43437ab0e7890303578b0a7e3c67c8c212"; + sha256 = "0a1j2pg44r6ljj9jgzlw8i5fzabpm2b2jk058kxsr77ciz96i7yg"; }; buildInputs = [ dbus_glib polkit intltool libxslt docbook_xsl udev libusb1 ]; diff --git a/pkgs/os-specific/linux/xf86-video-nested/default.nix b/pkgs/os-specific/linux/xf86-video-nested/default.nix new file mode 100644 index 00000000000..6ed04f490c0 --- /dev/null +++ b/pkgs/os-specific/linux/xf86-video-nested/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchgit, autoconf, automake, fontsproto, libX11, libXext +, libtool, pkgconfig, renderproto, utilmacros, xorgserver +}: + +stdenv.mkDerivation { + name = "xf86-video-nested-2011-09-12"; + + # Breaks at 8d80f2e415e9e58ca481fe52ae8f2290e25de898 for Xorg 7.6 + src = fetchgit { + url = git://anongit.freedesktop.org/xorg/driver/xf86-video-nested; + rev = "fceee1716625badf698ca27dd5788a4deb8533bc"; + sha256 = "6b3544ddcf40602364fd0e528f6e677c37ef8d08f6c4e756caea7e29abf200f7"; + }; + + # Fixed in e123277d10337a1c3b853118df0d1becdddf3b77 + patchPhase = "sed -e 's/Werror/Werror -Wno-extra-portability/g' -i configure.ac"; + + buildInputs = + [ autoconf automake fontsproto libX11 libXext libtool pkgconfig + renderproto utilmacros xorgserver + ]; + + configureScript = "./autogen.sh"; + + meta = { + homepage = git://anongit.freedesktop.org/xorg/driver/xf86-video-nested; + description = "Driver to run Xorg on top of Xorg or something else"; + maintainers = [ stdenv.lib.maintainers.goibhniu ]; + }; +} diff --git a/pkgs/servers/http/apache-modules/mod_evasive/default.nix b/pkgs/servers/http/apache-modules/mod_evasive/default.nix new file mode 100644 index 00000000000..22e0fabf832 --- /dev/null +++ b/pkgs/servers/http/apache-modules/mod_evasive/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, apacheHttpd }: + +stdenv.mkDerivation { + name = "mod_evasive_1.10.1"; + + src = fetchurl { + url = http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz; + sha256 = "0rsnx50rjv6xygbp9r0gyss7xqdkcb0hy3wh9949jf1im8wm3i07"; + }; + + buildInputs = [ apacheHttpd ]; + + buildPhase = '' + export APACHE_LIBEXECDIR=$out/modules + export makeFlagsArray=(APACHE_LIBEXECDIR=$out/modules) + apxs -ca mod_evasive20.c + ''; + + installPhase = '' + mkdir -p $out/modules + cp .libs/mod_evasive20.so $out/modules + ''; + + meta = { + homepage = "http://www.zdziarski.com/blog/?page_id=442"; + description = "mod_evasive is an evasive maneuvers module for Apache to provide evasive action in the event of an HTTP DoS or DDoS attack or brute force attack."; + + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/servers/mail/dovecot/2.x.nix b/pkgs/servers/mail/dovecot/2.x.nix index 294a58b4f24..1b4fbe7c7cc 100644 --- a/pkgs/servers/mail/dovecot/2.x.nix +++ b/pkgs/servers/mail/dovecot/2.x.nix @@ -1,18 +1,21 @@ -{stdenv, fetchurl, openssl, pam, bzip2, zlib}: +{stdenv, fetchurl, openssl, pam, bzip2, zlib, inotifyTools, openldap}: stdenv.mkDerivation rec { - name = "dovecot-2.1.7"; + name = "dovecot-2.1.8"; - buildInputs = [openssl pam bzip2 zlib]; + buildInputs = [openssl pam bzip2 zlib inotifyTools openldap]; src = fetchurl { url = "http://dovecot.org/releases/2.1/${name}.tar.gz"; - sha256 = "0lpldhs0nvy6rxabqkp14wzcwf1cx4jvnbp1xcm74izrzxhvrdym"; + sha256 = "03801f4agcwdpqyg6dfxlga3750pnhk4gaf8m7sjq1qmz2277028"; }; # It will hardcode this for /var/lib/dovecot. # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626211 - configureFlags = [ "--localstatedir=/var" ]; + configureFlags = [ + "--localstatedir=/var" + "--with-ldap" + ]; meta = { homepage = http://dovecot.org/; diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix index 8f22d08b759..0f5cefb84c2 100644 --- a/pkgs/servers/mail/spamassassin/default.nix +++ b/pkgs/servers/mail/spamassassin/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, buildPerlPackage, perl, HTMLParser, NetDNS, NetAddrIP, DBFile -, HTTPDate, MailDKIM +, HTTPDate, MailDKIM, makeWrapper }: # TODO: @@ -20,13 +20,21 @@ buildPerlPackage rec { sha256 = "01d2jcpy423zfnhg123wlhzysih1hmb93nxfspiaajzh9r5rn8y7"; }; - propagatedBuildInputs = [ HTMLParser NetDNS NetAddrIP DBFile - HTTPDate MailDKIM ]; + buildInputs = [ makeWrapper HTMLParser NetDNS NetAddrIP DBFile HTTPDate + MailDKIM ]; - makeFlags = "PERL_BIN=${perl}/bin/perl"; + # Enabling 'taint' mode is desirable, but that flag disables support + # for the PERL5LIB environment variable. Needs further investigation. + makeFlags = "PERL_BIN=${perl}/bin/perl PERL_TAINT=no"; doCheck = false; + postInstall = '' + for n in "$out/bin/"*; do + wrapProgram "$n" --prefix PERL5LIB : "$PERL5LIB" + done + ''; + meta = { homepage = "http://spamassassin.apache.org/"; description = "Open-Source Spam Filter"; diff --git a/pkgs/shells/ipython/default.nix b/pkgs/shells/ipython/default.nix index 8e430df5290..a64c2052056 100644 --- a/pkgs/shells/ipython/default.nix +++ b/pkgs/shells/ipython/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, buildPythonPackage, pythonPackages }: buildPythonPackage rec { - name = "ipython-0.11"; + name = "ipython-0.13"; namePrefix = ""; src = fetchurl { url = "http://pypi.python.org/packages/source/i/ipython/${name}.tar.gz"; - md5 = "efc899e752a4a4a67a99575cea1719ef"; + sha256 = "1m4m0zf3llnicfgrbnl2h08p3662px7v2pzbhq4fq24vnyz6x5w2"; }; propagatedBuildInputs = [ pythonPackages.readline pythonPackages.sqlite3 ]; diff --git a/pkgs/shells/tcsh/default.nix b/pkgs/shells/tcsh/default.nix index 9e5fa7dae0f..be182f87f1e 100644 --- a/pkgs/shells/tcsh/default.nix +++ b/pkgs/shells/tcsh/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, ncurses}: -stdenv.mkDerivation { - name = "tcsh-6.16.00"; +stdenv.mkDerivation rec { + name = "tcsh-6.18.01"; src = fetchurl { - url = ftp://ftp.funet.fi/pub/unix/shells/tcsh/tcsh-6.16.00.tar.gz; - sha256 = "1m0p8lqqna3vpf2k4x3hia3rlrz38av67x7hb4qsiq2kfpbbh0vn"; + url = "ftp://ftp.funet.fi/pub/unix/shells/tcsh/${name}.tar.gz"; + sha256 = "1a4z9kwgx1iqqzvv64si34m60gj34p7lp6rrcrb59s7ka5wa476q"; }; buildInputs = [ncurses]; diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix index cf7692cc58a..3fbb350e0ab 100644 --- a/pkgs/tools/X11/xpra/default.nix +++ b/pkgs/tools/X11/xpra/default.nix @@ -1,17 +1,19 @@ -{stdenv, fetchurl, pkgconfig, python, pyrex, pygtk, xlibs, gtk, makeWrapper}: +{ stdenv, fetchurl, pkgconfig, python, cython +, pygtk, pygobject, pycairo, notify, xlibs, gtk +, ffmpeg, x264, libvpx, makeWrapper}: -stdenv.mkDerivation { - name = "xpra-0.0.3"; +stdenv.mkDerivation rec { + name = "xpra-0.3.2"; src = fetchurl { - url = http://partiwm.org/static/downloads/parti-all-0.0.3.tar.gz; - sha256 = "17inksd4cc7mba2vfs17gz1yk3h6x6wf06pm3hcbs5scq8rr5bkp"; + url = http://xpra.org/src/xpra-0.3.2.tar.bz2; + sha256 = "1s1z6r0r78qvf59ci3vxammjz7lj5m64jyk0bfn7yxd5jl3sy41y"; }; - #src = /home/eelco/Dev/nixpkgs/parti-all-0.0.3; + buildNativeInputs = [ cython ]; buildInputs = [ - pkgconfig python pyrex pygtk gtk makeWrapper + pkgconfig python pygtk gtk ffmpeg x264 libvpx makeWrapper xlibs.inputproto xlibs.libXcomposite xlibs.libXdamage xlibs.libXtst ]; @@ -21,19 +23,26 @@ stdenv.mkDerivation { ./do-build ''; + pythonPaths = [ + "$out/lib/python" + "$(toPythonPath ${pygtk})/gtk-2.0" + ] ++ map (i: "$(toPythonPath ${i})") [ + pygobject pycairo notify + ]; + installPhase = '' mkdir -p $out cp -r install/* $out for i in $(cd $out/bin && ls); do wrapProgram $out/bin/$i \ - --set PYTHONPATH "$out/lib/python:$(toPythonPath ${pygtk})/gtk-2.0:$PYTHONPATH" \ + --set PYTHONPATH "${stdenv.lib.concatStringsSep ":" pythonPaths}" \ --prefix PATH : "${xlibs.xauth}/bin:${xlibs.xorgserver}/bin:${xlibs.xmodmap}/bin" done ''; meta = { - homepage = http://partiwm.org/wiki/xpra; + homepage = http://xpra.org/; description = "Persistent remote applications for X"; }; } diff --git a/pkgs/tools/archivers/atool/default.nix b/pkgs/tools/archivers/atool/default.nix new file mode 100644 index 00000000000..d376f75a552 --- /dev/null +++ b/pkgs/tools/archivers/atool/default.nix @@ -0,0 +1,18 @@ +{stdenv, fetchurl, perl}: + +stdenv.mkDerivation rec { + name = "atool-0.39"; + src = fetchurl { + url = http://savannah.nongnu.org/download/atool/atool-0.39.0.tar.gz; + sha256 = "aaf60095884abb872e25f8e919a8a63d0dabaeca46faeba87d12812d6efc703b"; + }; + + buildInputs = [ perl ]; + + meta = { + homepage = http://www.nongnu.org/atool; + description = "Archive command line helper"; + platforms = stdenv.lib.platforms.all; + }; +} + diff --git a/pkgs/tools/backup/btar/default.nix b/pkgs/tools/backup/btar/default.nix index 919b814f60a..0258edb8a19 100644 --- a/pkgs/tools/backup/btar/default.nix +++ b/pkgs/tools/backup/btar/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, librsync }: stdenv.mkDerivation rec { - name = "btar-1.0.1"; + name = "btar-1.1.1"; src = fetchurl { url = "http://vicerveza.homeunix.net/~viric/soft/btar/${name}.tar.gz"; - sha256 = "141mqrghqmms6zpbwn9bw98q4rkxfyly950jh8hajq9d2fk5qyn1"; + sha256 = "0miklk4bqblpyzh1bni4x6lqn88fa8fjn15x1k1n8bxkx60nlymd"; }; buildInputs = [ librsync ]; diff --git a/pkgs/tools/backup/bup/default.nix b/pkgs/tools/backup/bup/default.nix index e08ea1e03f4..586fc514ba6 100644 --- a/pkgs/tools/backup/bup/default.nix +++ b/pkgs/tools/backup/bup/default.nix @@ -1,23 +1,47 @@ -{ stdenv, fetchurl, python, unzip, perl }: +{ stdenv, fetchgit, python, pyxattr, pylibacl, setuptools, fuse, git, perl, pandoc, makeWrapper }: + +with stdenv.lib; stdenv.mkDerivation { - name = "bup-0.24b"; - src = fetchurl { - url = "https://github.com/apenwarr/bup/zipball/bup-0.24b"; - sha256 = "0l50i8mrg43ahd8fn1n6pwa0xslxr07pvkh0r4qyywv55172ip8v"; - name = "bup-0.24b.zip"; + name = "bup-0.25git20120722"; + + src = fetchgit { + url = "https://github.com/apenwarr/bup.git"; + sha256 = "3ad232d7f23071ed34f920bd4c3137583f1adffbe23c022896289bc0a03fe7aa"; + rev = "02bd2b566ea5eec2fd656e0ae572b4c7b6b9550a"; }; - buildInputs = [ unzip python perl ]; + + buildNativeInputs = [ pandoc perl makeWrapper ]; + + buildInputs = [ python git ]; + + postInstall = optionalString (elem stdenv.system platforms.linux) '' + wrapProgram $out/bin/bup --prefix PYTHONPATH : \ + ${stdenv.lib.concatStringsSep ":" + (map (path: "$(toPythonPath ${path})") [ pyxattr pylibacl setuptools fuse ])} + ''; + patchPhase = '' for f in cmd/* lib/tornado/* lib/tornado/test/* t/* wvtest.py main.py; do 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'])" + substituteInPlace lib/bup/csetup.py \ + --replace "'bupsplit.c'])" "'bupsplit.c'], library_dirs=['${python}/lib'])" ''; - makeFlags = "MANDIR=$(out)/man DOCDIR=$(out)/share/doc/bup BINDIR=$(out)/bin LIBDIR=$(out)/lib/bup"; + + makeFlags = [ + "MANDIR=$(out)/share/man" + "DOCDIR=$(out)/share/doc/bup" + "BINDIR=$(out)/bin" + "LIBDIR=$(out)/lib/bup" + ]; + meta = { - description = "Highly efficient file backup system based on the git packfile format. Capable of doing *fast* incremental backups of virtual machine images."; + description = '' + 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"; }; } diff --git a/pkgs/tools/backup/obnam/default.nix b/pkgs/tools/backup/obnam/default.nix index c70e8054c7c..119633e0638 100644 --- a/pkgs/tools/backup/obnam/default.nix +++ b/pkgs/tools/backup/obnam/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, python, pythonPackages, pycrypto, attr }: pythonPackages.buildPythonPackage { - name = "obnam-1.0"; + name = "obnam-1.1"; namePrefix = ""; src = fetchurl rec { - url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_1.0.orig.tar.gz"; - sha256 = "b3589aac8d97283e44ed8e8c8cf751c4e9cc0677d433a85e27bd42f0d54da623"; + url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_1.1.orig.tar.gz"; + sha256 = "763693e5ea4e8d6a63b1a16c2aacd5fe0dc97abc687c8f0dde5840f77d549349"; }; buildInputs = [ pythonPackages.sphinx attr ]; diff --git a/pkgs/tools/backup/rdiff-backup/default.nix b/pkgs/tools/backup/rdiff-backup/default.nix index 2460573310c..f108e6a5063 100644 --- a/pkgs/tools/backup/rdiff-backup/default.nix +++ b/pkgs/tools/backup/rdiff-backup/default.nix @@ -1,18 +1,18 @@ {stdenv, fetchurl, python, librsync, gnused }: stdenv.mkDerivation { - name = "rdiff-backup-1.1.14"; + name = "rdiff-backup-1.2.8"; src = fetchurl { - url = http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.1.14.tar.gz; - sha256 = "0sh2kz90z47yfa9786dyn3q9ba1xcmjvd65rykvm7mg5apnrg27h"; + url = http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.2.8.tar.gz; + sha256 = "1nwmmh816f96h0ff1jxk95ad38ilbhbdl5dgibx1d4cl81dsi48d"; }; phases = "unpackPhase installPhase"; installPhase = '' python ./setup.py install --prefix=$out sed -i $out/bin/rdiff-backup -e \ - "/import sys/ asys.path += [ \"$out/lib/python2.4/site-packages/\" ]" + "/import sys/ asys.path += [ \"$out/lib/python2.7/site-packages/\" ]" ''; buildInputs = [python librsync gnused ]; diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix index 75f155fd0dd..861bacd46c2 100644 --- a/pkgs/tools/filesystems/btrfsprogs/default.nix +++ b/pkgs/tools/filesystems/btrfsprogs/default.nix @@ -1,45 +1,24 @@ -a : -let - fetchurl = a.fetchurl; - fetchgit = a.fetchgit; +{ stdenv, fetchgit, zlib, libuuid, acl, attr, e2fsprogs }: - version = a.lib.attrByPath ["version"] "0.19-20120328" a; - buildInputs = with a; [ - zlib libuuid acl attr e2fsprogs - ]; -in +let version = "0.19-20120328"; in -assert a.libuuid != null; +stdenv.mkDerivation { + name = "btrfs-progs-${version}"; -rec { - srcDrv = fetchgit { - url="git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git" ; - rev="1957076ab4fefa47b6efed3da541bc974c83eed7"; - sha256="566d863c5500652e999d0d6b823365fb06f2f8f9523e65e69eaa3e993e9b26e1"; + src = fetchgit { + url = "git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git"; + rev = "1957076ab4fefa47b6efed3da541bc974c83eed7"; + sha256 = "566d863c5500652e999d0d6b823365fb06f2f8f9523e65e69eaa3e993e9b26e1"; }; - src = srcDrv + "/"; + buildInputs = [ zlib libuuid acl attr e2fsprogs ]; - inherit buildInputs; - configureFlags = []; - makeFlags = ["prefix=$out CFLAGS=-Os"]; + makeFlags = "prefix=$(out)"; - patches = []; - phaseNames = ["fixMakefile" "doEnsureBtrfsImage" "doMakeInstall"]; - - fixMakefile = a.fullDepEntry '' - sed -e 's@^progs = @progs=@g' -i Makefile - '' ["minInit" "doUnpack"]; - - doEnsureBtrfsImage = a.fullDepEntry ('' - if ! grep 'progs = ' Makefile | grep btrfs-image; then - sed -e 's/progs = \(.*\)\\/progs = \1btrfs-image \\/' -i Makefile - fi - '') ["minInit" "doUnpack"]; - - name = "btrfs-progs-" + version; meta = { - description = "BTRFS utilities"; - maintainers = [a.lib.maintainers.raskin]; + description = "Utilities for the btrfs filesystem"; + homepage = https://btrfs.wiki.kernel.org/; + maintainers = [ stdenv.lib.maintainers.raskin ]; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/tools/filesystems/ciopfs/default.nix b/pkgs/tools/filesystems/ciopfs/default.nix new file mode 100644 index 00000000000..f944e591a12 --- /dev/null +++ b/pkgs/tools/filesystems/ciopfs/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, pkgconfig, fuse, glib, attr }: + +stdenv.mkDerivation rec { + name = "ciopfs-0.4"; + + src = fetchurl { + url = "http://www.brain-dump.org/projects/ciopfs/${name}.tar.gz"; + sha256 = "0sr9i9b3qfwbfvzvk00yrrg3x2xqk1njadbldkvn7hwwa4z5bm9l"; + }; + + buildInputs = [ pkgconfig fuse glib attr ]; + + makeFlags = "DESTDIR=$(out) PREFIX="; + + meta = { + homepage = http://www.brain-dump.org/projects/ciopfs/; + description = "A case-insensitive filesystem layered on top of any other filesystem"; + license = "GPLv2"; + }; +} diff --git a/pkgs/tools/filesystems/grive/default.nix b/pkgs/tools/filesystems/grive/default.nix index a2a8bc572c0..67c6d2f8581 100644 --- a/pkgs/tools/filesystems/grive/default.nix +++ b/pkgs/tools/filesystems/grive/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchgit, cmake, libgcrypt, json_c, curl, expat, boost, binutils }: stdenv.mkDerivation rec { - name = "grive-0.2.0"; + name = "grive-0.3.0"; src = fetchgit { url = "https://github.com/Grive/grive.git"; - rev = "34cb3705288aa83283b370118776ac89393ae5fc"; - sha256 = "a30ea886bdc159e1004d1207fcac30c277f1177a3b846bdd82326eebff7a0bbe"; + rev = "51e42914f3666ee6e0bc16a4c78f60b117265c24"; + sha256 = "f2b978cc93a2d16262c7b78c62019b2a58044eaef4ca95feaa74dfd4dfcbfa36"; }; buildInputs = [cmake libgcrypt json_c curl expat stdenv binutils boost]; diff --git a/pkgs/tools/filesystems/ntfs-3g/default.nix b/pkgs/tools/filesystems/ntfs-3g/default.nix index 2a8bef6c6ed..cedb8df39d1 100644 --- a/pkgs/tools/filesystems/ntfs-3g/default.nix +++ b/pkgs/tools/filesystems/ntfs-3g/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation rec { pname = "ntfs-3g_ntfsprogs"; - version = "2011.4.12"; + version = "2012.1.15"; name = "${pname}-${version}"; buildInputs = [libuuid] ++ stdenv.lib.optionals crypto [gnutls libgcrypt]; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://tuxera.com/opensource/${name}.tgz"; - sha256 = "01gfn94f4fdrl1rjhhxjvjbarr1mipdi4pmhhwirp0gy1dzp935a"; + sha256 = "09gvfgvqm4dswzxmwvg3r23bv39cp8y8b6qs2jcwmrqd032i25kg"; }; patchPhase = '' diff --git a/pkgs/tools/graphics/exif/default.nix b/pkgs/tools/graphics/exif/default.nix index 94bf2e2cb0d..a8599980d94 100644 --- a/pkgs/tools/graphics/exif/default.nix +++ b/pkgs/tools/graphics/exif/default.nix @@ -1,12 +1,17 @@ -{stdenv, fetchurl, pkgconfig, libexif, popt}: +{ stdenv, fetchurl, pkgconfig, libexif, popt }: -stdenv.mkDerivation { - name = "exif-0.6.15"; +stdenv.mkDerivation rec { + name = "exif-0.6.21"; src = fetchurl { - url = mirror://sourceforge/libexif/exif-0.6.15.tar.bz2; - sha256 = "19kxl72l1iqq747k58rir7v4ld1676j3dmjdc1pik9hjlgdb1yj1"; + url = "mirror://sourceforge/libexif/${name}.tar.bz2"; + sha256 = "1zb9hwdl783d4vd2s2rw642hg8hd6n0mfp6lrbiqmp9jmhlq5rsr"; }; - buildInputs = [pkgconfig libexif popt]; + buildInputs = [ pkgconfig libexif popt ]; + + meta = { + homepage = http://libexif.sourceforge.net/; + description = "A utility to read and manipulate EXIF data in digital photographs"; + }; } diff --git a/pkgs/tools/misc/grub/1.9x.nix b/pkgs/tools/misc/grub/2.0x.nix similarity index 85% rename from pkgs/tools/misc/grub/1.9x.nix rename to pkgs/tools/misc/grub/2.0x.nix index 49cc4884e63..4186a440535 100644 --- a/pkgs/tools/misc/grub/1.9x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -1,13 +1,17 @@ { fetchurl, stdenv, flex, bison, gettext, ncurses, libusb, freetype, qemu -, EFIsupport ? false }: +, devicemapper, EFIsupport ? false }: let - prefix = "grub${if EFIsupport then "-efi" else ""}"; - version = "1.99"; - unifont_bdf = fetchurl { - url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz"; - sha256 = "0s0qfff6n6282q28nwwblp5x295zd6n71kl43xj40vgvdqxv0fxx"; - }; + + prefix = "grub${if EFIsupport then "-efi" else ""}"; + + version = "2.00"; + + unifont_bdf = fetchurl { + url = "http://unifoundry.com/unifont-5.1.20080820.bdf.gz"; + sha256 = "0s0qfff6n6282q28nwwblp5x295zd6n71kl43xj40vgvdqxv0fxx"; + }; + in stdenv.mkDerivation rec { @@ -15,11 +19,11 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnu/grub/grub-${version}.tar.xz"; - sha256 = "06q2a7bg1mbsms604a89fkdnwrc1jg9hr2mmfdmg3il39j6i827k"; + sha256 = "0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq"; }; buildNativeInputs = [ flex bison ]; - buildInputs = [ ncurses libusb freetype gettext ] + buildInputs = [ ncurses libusb freetype gettext devicemapper ] ++ stdenv.lib.optional doCheck qemu; preConfigure = diff --git a/pkgs/tools/misc/logstash/default.nix b/pkgs/tools/misc/logstash/default.nix new file mode 100644 index 00000000000..b273e4630a3 --- /dev/null +++ b/pkgs/tools/misc/logstash/default.nix @@ -0,0 +1,11 @@ +{ fetchurl }: + +let version = "1.1.0"; in + +fetchurl { + url = "http://semicomplete.com/files/logstash/logstash-${version}-monolithic.jar"; + + name = "logstash-${version}.jar"; + + sha256 = "03s9g2appsmdg973212dl37ldws36fgsvxi9w1lxbvmmclc4k7vc"; +} diff --git a/pkgs/tools/misc/xvfb-run/default.nix b/pkgs/tools/misc/xvfb-run/default.nix new file mode 100644 index 00000000000..162fb73b3f0 --- /dev/null +++ b/pkgs/tools/misc/xvfb-run/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, makeWrapper, xkbcomp, xorgserver, getopt, xkeyboard_config, xauth, utillinux, which, fontsConf}: +let + xvfb_run = fetchurl { + url = https://projects.archlinux.org/svntogit/packages.git/plain/trunk/xvfb-run?h=packages/xorg-server; + sha256 = "1f9mrhqy0l72i3674n98bqlq9a10h0rh9qfjiwvivz3hjhq5c0gz"; + }; +in +stdenv.mkDerivation { + name = "xvfb-run"; + buildInputs = [makeWrapper]; + buildCommand = '' + mkdir -p $out/bin + cp ${xvfb_run} $out/bin/xvfb-run + sed -i 's|XVFBARGS="|XVFBARGS="-xkbdir ${xkeyboard_config}/etc/X11/xkb |' $out/bin/xvfb-run + + chmod a+x $out/bin/xvfb-run + wrapProgram $out/bin/xvfb-run \ + --set XKB_BINDIR "${xkbcomp}/bin" \ + --set FONTCONFIG_FILE "${fontsConf}" \ + --prefix PATH : ${getopt}/bin:${xorgserver}/bin:${xauth}/bin:${which}/bin:${utillinux}/bin + ''; +} diff --git a/pkgs/tools/networking/aircrack-ng/default.nix b/pkgs/tools/networking/aircrack-ng/default.nix index 394022c2d08..9ecaf183f1f 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 = "1859"; + rev = "2178"; 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 = "6ca98321ef3f14af9c78b2fe25091c4e79e3c28679f240b80f8aeda71b84ab4a"; + sha256 = "0rwj2nk4nyy0l9dg6rpg2h5gpvcygs5irj4i6fdcsr8xf0blq7yw"; }; buildInputs = [libpcap openssl zlib]; diff --git a/pkgs/tools/networking/autossh/default.nix b/pkgs/tools/networking/autossh/default.nix index 2cf17f29603..0c32b1c1240 100644 --- a/pkgs/tools/networking/autossh/default.nix +++ b/pkgs/tools/networking/autossh/default.nix @@ -1,23 +1,28 @@ {stdenv, fetchurl, openssh}: stdenv.mkDerivation { - name="autossh-1.4b"; - src = fetchurl { - url = "http://www.harding.motd.ca/autossh/autossh-1.4b.tgz"; - md5 = "8f9aa006f6f69e912d3c2f504622d6f7"; - }; - buildInputs = [ openssh ]; - installPhase = '' -install -D -m755 autossh $out/bin/autossh || return 1 -install -D -m644 CHANGES $out/share/doc/autossh/CHANGES || return 1 -install -D -m644 README $out/share/doc/autossh/README || return 1 -install -D -m644 autossh.host $out/share/autossh/examples/autossh.host || return 1 -install -D -m644 rscreen $out/share/autossh/examples/rscreen || return 1 -install -D -m644 autossh.1 $out/man/man1/autossh.1 || return 1 - ''; - meta = { - homepage = http://www.harding.motd.ca/autossh/; - description = "Automatically restart SSH sessions and tunnels"; - }; + name = "autossh-1.4b"; + + src = fetchurl { + url = "http://www.harding.motd.ca/autossh/autossh-1.4b.tgz"; + md5 = "8f9aa006f6f69e912d3c2f504622d6f7"; + }; + + buildInputs = [ openssh ]; + + installPhase = + '' + install -D -m755 autossh $out/bin/autossh || return 1 + install -D -m644 CHANGES $out/share/doc/autossh/CHANGES || return 1 + install -D -m644 README $out/share/doc/autossh/README || return 1 + install -D -m644 autossh.host $out/share/autossh/examples/autossh.host || return 1 + install -D -m644 rscreen $out/share/autossh/examples/rscreen || return 1 + install -D -m644 autossh.1 $out/man/man1/autossh.1 || return 1 + ''; + + meta = { + homepage = http://www.harding.motd.ca/autossh/; + description = "Automatically restart SSH sessions and tunnels"; + platforms = stdenv.lib.platforms.linux; + }; } - diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix index 7fa1fce66a5..2dac54577b8 100644 --- a/pkgs/tools/networking/dhcp/default.nix +++ b/pkgs/tools/networking/dhcp/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, nettools, iputils, iproute, makeWrapper, coreutils, gnused }: stdenv.mkDerivation rec { - name = "dhcp-4.1.2-P1"; + name = "dhcp-4.1-ESV-R6"; src = fetchurl { - url = "http://ftp.isc.org/isc/dhcp/${name}.tar.gz"; - sha256 = "1kcdsylyx0ai0wlmc6rc6b1qi2fsndqh1pvgvddd3i4hmbhi6vmz"; + url = http://ftp.isc.org/isc/dhcp/4.1-ESV-R6/dhcp-4.1-ESV-R6.tar.gz; + sha256 = "17md1vml07szl9dx4875gfg4sgnb3z73glpbq1si7p82mfhnddny"; }; patches = diff --git a/pkgs/tools/networking/nbd/default.nix b/pkgs/tools/networking/nbd/default.nix index 97ef0080de2..9e2d14c64ff 100644 --- a/pkgs/tools/networking/nbd/default.nix +++ b/pkgs/tools/networking/nbd/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, pkgconfig, glib }: let - name = "nbd-3.1.1"; + name = "nbd-3.2"; in stdenv.mkDerivation { inherit name; src = fetchurl { url = "mirror://sourceforge/nbd/${name}.tar.bz2"; - sha256 = "5cd150b874f966aacf4a9dfe1e9de9b2139b295241ce89bae9f70f9aa844220b"; + sha256 = "e297c1883133f04a55d8e9527a2e4344e577a54046cf81694ffabe13f73793db"; }; buildInputs = [ pkgconfig glib ] ++ stdenv.lib.optional (stdenv ? glibc) stdenv.glibc.kernelHeaders; @@ -18,7 +18,7 @@ stdenv.mkDerivation { cp README "$out/share/doc/${name}/README" ''; - # The test suite doesn't succeed on Hydra. + # The test suite doesn't succeed in chroot builds. doCheck = false; # Glib calls `clock_gettime', which is in librt. Linking that library diff --git a/pkgs/tools/networking/netrw/default.nix b/pkgs/tools/networking/netrw/default.nix new file mode 100644 index 00000000000..23ff6ddba55 --- /dev/null +++ b/pkgs/tools/networking/netrw/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl +, checksumType ? "built-in" +, libmhash ? null +, openssl ? null +}: + +assert checksumType == "mhash" -> libmhash != null; +assert checksumType == "openssl" -> openssl != null; + +stdenv.mkDerivation rec { + name = "netrw-${version}"; + version = "1.3.2"; + + configureFlags = [ + "--with-checksum=${checksumType}" + ]; + + buildInputs = stdenv.lib.optional (checksumType == "mhash") libmhash + ++ stdenv.lib.optional (checksumType == "openssl") openssl; + + src = fetchurl { + urls = [ + "http://mamuti.net/files/netrw/netrw-${version}.tar.bz2" + "http://www.sourcefiles.org/Networking/FTP/Other/netrw-${version}.tar.bz2" + ]; + sha256 = "1gnl80i5zkyj2lpnb4g0q0r5npba1x6cnafl2jb3i3pzlfz1bndr"; + }; + + meta = { + description = "A simple tool for transporting data over the network."; + license = stdenv.lib.licenses.gpl2; + homepage = "http://mamuti.net/netrw/index.en.html"; + }; +} diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix index d22d5f50988..1a9b9485749 100644 --- a/pkgs/tools/networking/network-manager-applet/default.nix +++ b/pkgs/tools/networking/network-manager-applet/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchurl, intltool, pkgconfig, gtk, glib, libglade -, networkmanager, GConf, libnotify, libgnome_keyring, dbus_glib -, polkit, isocodes }: +{ stdenv, fetchurl, intltool, pkgconfig, gtk, libglade, networkmanager, GConf +, libnotify, libgnome_keyring, dbus_glib, polkit, isocodes +, mobile_broadband_provider_info }: let pn = "network-manager-applet"; major = "0.9"; - version = "${major}.2.0"; + version = "${major}.4.1"; in stdenv.mkDerivation rec { @@ -13,19 +13,25 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/${pn}/${major}/${name}.tar.xz"; - sha256 = "ebe725d0140f658c6a3f384674c72fba7a7c417df3be0e84ee8f45e6dfc219de"; + sha256 = "b6b6de75e28d1fbcdfdbb51c0e40fcd6bc0ec0385bfecd16c457260491cd2ff7"; }; - buildInputs = [ gtk libglade networkmanager GConf libnotify libgnome_keyring - polkit isocodes ]; + buildInputs = [ + gtk libglade networkmanager GConf libnotify libgnome_keyring dbus_glib + polkit isocodes + ]; buildNativeInputs = [ intltool pkgconfig ]; + makeFlags = [ + ''CFLAGS=-DMOBILE_BROADBAND_PROVIDER_INFO=\"${mobile_broadband_provider_info}/share/mobile-broadband-provider-info/serviceproviders.xml\"'' + ]; + meta = with stdenv.lib; { homepage = http://projects.gnome.org/NetworkManager/; description = "NetworkManager control applet for GNOME"; license = licenses.gpl2; - maintainers = [ maintainers.phreedom maintainers.urkud ]; + maintainers = with maintainers; [ phreedom urkud rickynils ]; platforms = platforms.linux; }; } diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix index 00f37bd61e3..f7aab9fb4f2 100644 --- a/pkgs/tools/networking/network-manager/default.nix +++ b/pkgs/tools/networking/network-manager/default.nix @@ -1,16 +1,20 @@ { stdenv, fetchurl, intltool, wirelesstools, pkgconfig, dbus_glib, xz , udev, libnl1, libuuid, polkit, gnutls, ppp, dhcp, dhcpcd, iptables -, libgcrypt, dnsmasq, avahi, substituteAll }: +, libgcrypt, dnsmasq, avahi, bind, perl, substituteAll }: stdenv.mkDerivation rec { name = "network-manager-${version}"; - version = "0.9.2.0"; + version = "0.9.4.0"; src = fetchurl { url = "mirror://gnome/sources/NetworkManager/0.9/NetworkManager-${version}.tar.xz"; - sha256 = "1pvd49ji7mh8ww2rfbvq6hmmjms5mb7w10fr7ihgzqbg589zjyj3"; + sha256 = "eb4f124008b3d855a37205d03ef035b7218639cd7332bdae5567095977e93e0f"; }; + preConfigure = '' + substituteInPlace tools/glib-mkenums --replace /usr/bin/perl ${perl}/bin/perl + ''; + # Right now we hardcode quite a few paths at build time. Probably we should # patch networkmanager to allow passing these path in config file. This will # remove unneeded build-time dependencies. @@ -36,7 +40,7 @@ stdenv.mkDerivation rec { patches = [ ( substituteAll { src = ./nixos-purity.patch; - inherit avahi dnsmasq ppp; + inherit avahi dnsmasq ppp bind; glibc = stdenv.gcc.libc; }) ]; @@ -46,11 +50,16 @@ stdenv.mkDerivation rec { installFlagsArray=( "sysconfdir=$out/etc" "localstatedir=$out/var" ) ''; + postInstall = + '' + mkdir -p $out/lib/NetworkManager + ''; + meta = with stdenv.lib; { homepage = http://projects.gnome.org/NetworkManager/; description = "Network configuration and management in an easy way. Desktop environment independent."; license = licenses.gpl2Plus; - maintainers = [ maintainers.phreedom maintainers.urkud ]; + maintainers = with maintainers; [ phreedom urkud rickynils ]; platforms = platforms.linux; }; } diff --git a/pkgs/tools/networking/network-manager/nixos-purity.patch b/pkgs/tools/networking/network-manager/nixos-purity.patch index 41f7d3b7351..998c2f25b2b 100644 --- a/pkgs/tools/networking/network-manager/nixos-purity.patch +++ b/pkgs/tools/networking/network-manager/nixos-purity.patch @@ -1,11 +1,11 @@ diff --git a/src/backends/NetworkManagerExherbo.c b/src/backends/NetworkManagerExherbo.c -index d7e24cf..aa64210 100644 +index d027789..ef6b646 100644 --- a/src/backends/NetworkManagerExherbo.c +++ b/src/backends/NetworkManagerExherbo.c -@@ -56,9 +56,9 @@ void nm_system_enable_loopback (void) - */ - void nm_system_update_dns (void) - { +@@ -41,9 +41,9 @@ void nm_backend_update_dns (void) + /* Make glibc/nscd aware of any changes to the resolv.conf file by + * restarting nscd. Only restart if already running. + */ - if (g_file_test ("/usr/sbin/nscd", G_FILE_TEST_IS_EXECUTABLE)) { + if (g_file_test ("@glibc@/sbin/nscd", G_FILE_TEST_IS_EXECUTABLE)) { nm_log_info (LOGD_DNS, "Clearing nscd hosts cache."); @@ -15,7 +15,7 @@ index d7e24cf..aa64210 100644 } diff --git a/src/dhcp-manager/nm-dhcp-dhclient.c b/src/dhcp-manager/nm-dhcp-dhclient.c -index 88136a9..b4113a9 100644 +index 0932139..5b5aee8 100644 --- a/src/dhcp-manager/nm-dhcp-dhclient.c +++ b/src/dhcp-manager/nm-dhcp-dhclient.c @@ -68,10 +68,6 @@ const char * @@ -44,8 +44,23 @@ index 237661f..48bc33f 100644 NULL }; const char **path = dhcpcd_paths; +diff --git a/src/dns-manager/nm-dns-bind.c b/src/dns-manager/nm-dns-bind.c +index 1a3243b..a47dccd 100644 +--- a/src/dns-manager/nm-dns-bind.c ++++ b/src/dns-manager/nm-dns-bind.c +@@ -51,9 +51,7 @@ static inline const char * + find_bind (void) + { + static const char *paths[] = { +- "/usr/local/sbin/named", +- "/usr/sbin/named", +- "/sbin/named", ++ "@bind@/sbin/named", + NULL + }; + const char **binary = paths; diff --git a/src/dns-manager/nm-dns-dnsmasq.c b/src/dns-manager/nm-dns-dnsmasq.c -index 2767208..6562015 100644 +index 8e216f4..6e00210 100644 --- a/src/dns-manager/nm-dns-dnsmasq.c +++ b/src/dns-manager/nm-dns-dnsmasq.c @@ -52,9 +52,7 @@ static inline const char * @@ -60,7 +75,7 @@ index 2767208..6562015 100644 }; const char **binary = paths; diff --git a/src/dnsmasq-manager/nm-dnsmasq-manager.c b/src/dnsmasq-manager/nm-dnsmasq-manager.c -index ca2f9dc..7afb118 100644 +index ca2f9dc..ce718d0 100644 --- a/src/dnsmasq-manager/nm-dnsmasq-manager.c +++ b/src/dnsmasq-manager/nm-dnsmasq-manager.c @@ -170,9 +170,7 @@ static inline const char * @@ -75,11 +90,11 @@ index ca2f9dc..7afb118 100644 }; diff --git a/src/nm-device.c b/src/nm-device.c -index 3522ea4..75b2db3 100644 +index 1dc94ee..e60f3c8 100644 --- a/src/nm-device.c +++ b/src/nm-device.c -@@ -1285,8 +1285,7 @@ aipd_exec (NMDevice *self, GError **error) - gboolean success = FALSE; +@@ -1321,8 +1321,7 @@ aipd_start (NMDevice *self, NMDeviceStateReason *reason) + char *argv[6], *cmdline; const char **aipd_binary = NULL; static const char *aipd_paths[] = { - "/usr/sbin/avahi-autoipd", @@ -88,7 +103,7 @@ index 3522ea4..75b2db3 100644 NULL }; int i = 0; -@@ -2446,7 +2445,7 @@ share_init (void) +@@ -2555,7 +2554,7 @@ share_init (void) } for (iter = modules; *iter; iter++) { @@ -98,7 +113,7 @@ index 3522ea4..75b2db3 100644 GError *error = NULL; diff --git a/src/ppp-manager/nm-ppp-manager.c b/src/ppp-manager/nm-ppp-manager.c -index e863aab..27c14e2 100644 +index 59698c3..7dba0f7 100644 --- a/src/ppp-manager/nm-ppp-manager.c +++ b/src/ppp-manager/nm-ppp-manager.c @@ -661,9 +661,7 @@ static inline const char * @@ -112,7 +127,7 @@ index e863aab..27c14e2 100644 NULL }; -@@ -992,7 +990,7 @@ nm_ppp_manager_start (NMPPPManager *manager, +@@ -988,7 +986,7 @@ nm_ppp_manager_start (NMPPPManager *manager, /* Make sure /dev/ppp exists (bgo #533064) */ if (stat ("/dev/ppp", &st) || !S_ISCHR (st.st_mode)) diff --git a/pkgs/tools/networking/stunnel/default.nix b/pkgs/tools/networking/stunnel/default.nix index fa225877b40..d16d9bfb089 100644 --- a/pkgs/tools/networking/stunnel/default.nix +++ b/pkgs/tools/networking/stunnel/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, openssl }: stdenv.mkDerivation { - name = "stunnel-4.26"; + name = "stunnel-4.53"; src = fetchurl { - url = http://www.stunnel.org/download/stunnel/src/stunnel-4.26.tar.gz; - sha256 = "1lvbd25krcz1sqk5pj2fv3r32h0160qdxrbzlqqs0kz8f987krp9"; + url = http://www.stunnel.org/downloads/stunnel-4.53.tar.gz; + sha256 = "3e640aa4c96861d10addba758b66e99e7c5aec8697764f2a59ca2268901b8e57"; }; buildInputs = [openssl]; diff --git a/pkgs/tools/networking/trickle/default.nix b/pkgs/tools/networking/trickle/default.nix new file mode 100644 index 00000000000..646108525d3 --- /dev/null +++ b/pkgs/tools/networking/trickle/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, libevent }: + +stdenv.mkDerivation rec { + name = "trickle-1.07"; + + src = fetchurl { + url = "http://monkey.org/~marius/trickle/${name}.tar.gz"; + sha256 = "0s1qq3k5mpcs9i7ng0l9fvr1f75abpbzfi1jaf3zpzbs1dz50dlx"; + }; + + buildInputs = [libevent]; + + preConfigure = '' + sed -i 's|libevent.a|libevent.so|' configure + ''; + + preBuild = '' + sed -i '/#define in_addr_t/ s:^://:' config.h + ''; + + LDFLAGS = "-levent"; + + configureFlags = "--with-libevent"; + + meta = { + description = "Trickle, a portable lightweight userspace bandwidth shaper."; + license = "BSD"; + homepage = http://monkey.org/~marius/pages/?page=trickle; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/tools/package-management/disnix/activation-scripts/default.nix b/pkgs/tools/package-management/disnix/activation-scripts/default.nix index 23906fb3aff..beae2e3b5f6 100644 --- a/pkgs/tools/package-management/disnix/activation-scripts/default.nix +++ b/pkgs/tools/package-management/disnix/activation-scripts/default.nix @@ -18,8 +18,8 @@ assert enableEjabberdDump -> ejabberd != null; stdenv.mkDerivation { name = "disnix-activation-scripts-0.3pre30423"; src = fetchurl { - url = http://hydra.nixos.org/build/1842091/download/1/disnix-activation-scripts-0.3pre30423.tar.gz; - sha256 = "11b569bflknjbjddam4mv07bpmihbfx5acxzxzhnshj6x8sv6064"; + url = http://hydra.nixos.org/build/2794103/download/1/disnix-activation-scripts-0.3pre30423.tar.gz; + sha256 = "1x1702isjnrkvwzycryc8rvjgka4qqmd1dk34pwl51y1l2bxymrx"; }; preConfigure = if enableEjabberdDump then "export PATH=$PATH:${ejabberd}/sbin" else ""; diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 79f73ebb8c3..e433aa60579 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "nix-1.0"; + name = "nix-1.1"; src = fetchurl { - url = "http://hydra.nixos.org/build/2609700/download/4/${name}.tar.bz2"; - sha256 = "27f1d4d2a5fb1951bfc9e706c0894a961aed1afe0d095e16eb8fbef94ee7ec17"; + url = "http://hydra.nixos.org/build/2860022/download/4/${name}.tar.bz2"; + sha256 = "edb2fc444eda49be144ca2901f1fc9472cd24896775ba02556ded5705863d324"; }; buildNativeInputs = [ perl pkgconfig ]; @@ -53,6 +53,7 @@ stdenv.mkDerivation rec { '' + stdenv.lib.optionalString ( stdenv.cross ? nix && stdenv.cross.nix ? system ) ''--with-system=${stdenv.cross.nix.system}''; + doInstallCheck = false; }; diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index 8b6ccb787be..1ed19bb9b25 100644 --- a/pkgs/tools/package-management/nix/unstable.nix +++ b/pkgs/tools/package-management/nix/unstable.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "nix-1.1pre2723_1aba0bf"; + name = "nix-1.1pre2749_ccc52ad"; src = fetchurl { - url = "http://hydra.nixos.org/build/2746466/download/4/${name}.tar.bz2"; - sha256 = "06224ecbde09124eea25bfcafcb06637457bc6ac9a9e332d84e9eaf561599160"; + url = "http://hydra.nixos.org/build/2841643/download/4/${name}.tar.bz2"; + sha256 = "eae2135dd70d2734080ee644a597e131f60e71991dbabdabf67ab0818ff1f6fc"; }; buildNativeInputs = [ perl pkgconfig ]; @@ -53,6 +53,7 @@ stdenv.mkDerivation rec { '' + stdenv.lib.optionalString ( stdenv.cross ? nix && stdenv.cross.nix ? system ) ''--with-system=${stdenv.cross.nix.system}''; + doInstallCheck = false; }; diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix new file mode 100644 index 00000000000..bccf0cc77c5 --- /dev/null +++ b/pkgs/tools/security/clamav/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, zlib, bzip2, libiconv }: +stdenv.mkDerivation rec { + name = "clamav-${version}"; + version = "0.97.5"; + + src = fetchurl { + url = "http://tenet.dl.sourceforge.net/project/clamav/clamav/${version}/clamav-${version}.tar.gz"; + sha256 = "039wm64wl2sx7k019g5ll5dkdlsq64fnd0ng0s00pjn8bqd5wv6v"; + }; + + buildInputs = [ zlib bzip2 libiconv ]; + + configureFlags = [ + "--with-zlib=${zlib}" + "--with-libbz2-prefix=${bzip2}" + "--with-iconv-dir=${libiconv}" + "--disable-clamav" ]; + + meta = with stdenv.lib; { + homepage = http://www.clamav.net; + description = "an open source (GPL) antivirus engine designed for detecting Trojans, viruses, malware and other malicious threats."; + license = licenses.gpl2; + maintainers = [ maintainers.phreedom ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/security/fprot/default.nix b/pkgs/tools/security/fprot/default.nix new file mode 100644 index 00000000000..95f7140b918 --- /dev/null +++ b/pkgs/tools/security/fprot/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl }: +stdenv.mkDerivation rec { + + name = "f-prot-${version}"; + version = "6.2.1"; + + src = fetchurl { + url = http://files.f-prot.com/files/unix-trial/fp-Linux.x86.32-ws.tar.gz; + sha256 = "0qlsrkanf0inplwv1i6hqbimdg91syf5ggd1vahsm9lhivmnr0v5"; + }; + + installPhase = '' + ensureDir $out/bin + cp fpscan $out/bin + + ensureDir $out/opt/f-prot + cp fpupdate $out/opt/f-prot + cp product.data.default $out/opt/f-prot/product.data + cp license.key $out/opt/f-prot/ + cp f-prot.conf.default $out/opt/f-prot/f-prot.conf + ln -s $out/opt/f-prot/fpupdate $out/bin/fpupdate + + patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" $out/opt/f-prot/fpupdate + + ensureDir $out/share/man/ + ensureDir $out/share/man/man1 + cp doc/man/fpscan.1 $out/share/man/man1 + ensureDir $out/share/man/man5 + cp doc/man/f-prot.conf.5 $out/share/man/man5 + ensureDir $out/share/man/man8 + cp doc/man/fpupdate.8 $out/share/man/man8 + ''; + + meta = with stdenv.lib; { + homepage = http://www.f-prot.com; + description = "a popular proprietary antivirus, Linux workstation edition."; + license = licenses.proprietary; + maintainers = [ maintainers.phreedom ]; + platforms = platforms.linux; + }; +} \ No newline at end of file diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix index d3c9e3c13b6..0667a7f9885 100644 --- a/pkgs/tools/security/gnupg/default.nix +++ b/pkgs/tools/security/gnupg/default.nix @@ -54,5 +54,7 @@ stdenv.mkDerivation rec { license = "GPLv3+"; maintainers = with stdenv.lib.maintainers; [ ludo urkud ]; + + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/tools/text/wgetpaste/default.nix b/pkgs/tools/text/wgetpaste/default.nix index 8cfc26d70cc..63313872ede 100644 --- a/pkgs/tools/text/wgetpaste/default.nix +++ b/pkgs/tools/text/wgetpaste/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, wget, bash, coreutils}: stdenv.mkDerivation rec { - version = "2.19"; + version = "2.20"; name = "wgetpaste-${version}"; src = fetchurl { url = "http://wgetpaste.zlin.dk/${name}.tar.bz2"; - sha256 = "bb832557fca3be838838a87d790cb535974ea70bd2393818201676212f0f3b5a"; + sha256 = "7a53836d02e07cefc3c2978bb129a037fa1e1222ba0e275c4e818230a6d6fb9e"; }; # currently zsh-autocompletion support is not installed diff --git a/pkgs/tools/typesetting/lhs2tex/default.nix b/pkgs/tools/typesetting/lhs2tex/default.nix index a78feaadb18..5ac339e92ec 100644 --- a/pkgs/tools/typesetting/lhs2tex/default.nix +++ b/pkgs/tools/typesetting/lhs2tex/default.nix @@ -18,10 +18,6 @@ cabal.mkDerivation (self: { description = "Preprocessor for typesetting Haskell sources with LaTeX"; license = "GPL"; platforms = self.ghc.meta.platforms; - maintainers = [ - self.stdenv.lib.maintainers.andres - self.stdenv.lib.maintainers.simons - ]; + maintainers = [ self.stdenv.lib.maintainers.andres ]; }; }) - diff --git a/pkgs/tools/typesetting/tex/texlive/aggregate.nix b/pkgs/tools/typesetting/tex/texlive/aggregate.nix index c018d2da0d3..c2ccecab089 100644 --- a/pkgs/tools/typesetting/tex/texlive/aggregate.nix +++ b/pkgs/tools/typesetting/tex/texlive/aggregate.nix @@ -46,13 +46,14 @@ rec { rm $out/texmf*/ls-R for i in web2c texconfig fonts/map; do - cp -r $out/texmf/$i/* $out/texmf-config/$i || true + cp -Lr $out/texmf/$i/* $out/texmf-config/$i || true done + chmod -R u+w $out/texmf-config - TEXMFCONFIG=$out/texmf-config HOME=$PWD PATH=$PATH:$out/bin updmap --syncwithtrees - PATH=$PATH:$out/bin mktexlsr $out/texmf* - TEXMFCONFIG=$out/texmf-config HOME=$PWD PATH=$PATH:$out/bin updmap --syncwithtrees - PATH=$PATH:$out/bin mktexlsr $out/texmf* + yes | TEXMFCONFIG=$out/texmf-config HOME=$PWD PATH=$PATH:$out/bin updmap --syncwithtrees + yes | PATH=$PATH:$out/bin mktexlsr $out/texmf* + yes | TEXMFCONFIG=$out/texmf-config HOME=$PWD PATH=$PATH:$out/bin updmap --syncwithtrees + yes | PATH=$PATH:$out/bin mktexlsr $out/texmf* '') ["minInit" "defEnsureDir" "addInputs"]; meta = { diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix index 30e59849d32..aac8da784b3 100644 --- a/pkgs/tools/typesetting/tex/texlive/default.nix +++ b/pkgs/tools/typesetting/tex/texlive/default.nix @@ -1,18 +1,18 @@ args : with args; rec { src = fetchurl { - url = mirror://debian/pool/main/t/texlive-bin/texlive-bin_2009.orig.tar.gz; - sha256 = "0ywc8h4jnig53fs0bji2ivw5f9j6zlgdy477jqw7xvpc7migjpw7"; + url = mirror://debian/pool/main/t/texlive-bin/texlive-bin_2012.20120628.orig.tar.xz; + sha256 = "0k94df3lfvghngzdzi2d4fz2z0gs8iglz7h3w2lxvlhiwwpmx601"; }; texmfSrc = fetchurl { - url = mirror://debian/pool/main/t/texlive-base/texlive-base_2009.orig.tar.gz; - sha256 = "130z907xcxr10yrzbbmp9l8a00dabvi4bi702s5jxamjzav17cmf"; + url = mirror://debian/pool/main/t/texlive-base/texlive-base_2012.20120611.orig.tar.xz; + sha256 = "116zm0qdq9rd4vakhd2py9q7lq3ihspc7hy33bh8wy5v1rgiqsm6"; }; langTexmfSrc = fetchurl { - url = mirror://debian/pool/main/t/texlive-lang/texlive-lang_2009.orig.tar.gz; - sha256 = "10shnsc71n95zy9ys938pljdid9ampmc50k4lji9wv53hm14laic"; + url = mirror://debian/pool/main/t/texlive-lang/texlive-lang_2012.20120611.orig.tar.xz; + sha256 = "0zh9svszfkbjx72i7sa9gg0gak93wf05845mxpjv56h8qwk4bffv"; }; setupHook = ./setup-hook.sh; @@ -44,15 +44,23 @@ rec { '') ["minInit" "doUnpack" "addInputs" "defEnsureDir"]; doPostInstall = fullDepEntry('' - mv $out/bin $out/libexec + mkdir -p $out/libexec/ + mv $out/bin $out/libexec/$(uname -m) mkdir -p $out/bin - for i in "$out/libexec/"*"/"*; do - test \( \! -d "$i" \) -a -x "$i" || continue - echo -ne "#! $SHELL\\nexec $i \"\$@\"" >$out/bin/$(basename $i) - chmod a+x $out/bin/$(basename $i) + for i in "$out/libexec/"* "$out/libexec/"*/* ; do + test \( \! -d "$i" \) -a \( -x "$i" -o -L "$i" \) || continue + if [ -x "$i" ]; then + echo -ne "#! $SHELL\\nexec $i \"\$@\"" >$out/bin/$(basename $i) + chmod a+x $out/bin/$(basename $i) + else + mv "$i" "$out/libexec" + ln -s "$(readlink -f "$out/libexec/$(basename "$i")")" "$out/bin/$(basename "$i")"; + ln -sf "$(readlink -f "$out/libexec/$(basename "$i")")" "$out/libexec/$(uname -m)/$(basename "$i")"; + rm "$out/libexec/$(basename "$i")" + fi; done [ -d $out/texmf-config ] || ln -s $out/texmf $out/texmf-config - ln -s "$out/"*texmf* "$out/share/" + ln -s -v "$out/"*texmf* "$out/share/" || true sed -e 's/.*pyhyph.*/=&/' -i $out/texmf-config/tex/generic/config/language.dat @@ -79,16 +87,20 @@ rec { zlib bzip2 ncurses libpng flex bison libX11 libICE xproto freetype t1lib gd libXaw icu ghostscript ed libXt libXpm libXmu libXext xextproto perl libSM - ruby expat curl libjpeg python fontconfig + ruby expat curl libjpeg python fontconfig xz + pkgconfig poppler silgraphite lesstif zziplib ]; configureFlags = [ "--with-x11" - "--enable-ipc" "--with-mktexfmt" + "--enable-ipc" "--with-mktexfmt" "--enable-shared" + "--disable-native-texlive-build" "--with-system-zziplib" + "--with-system-icu" "--with-system-libgs" "--with-system-t1lib" + "--with-system-freetype2" ]; phaseNames = ["addInputs" "doMainBuild" "doMakeInstall" "doPostInstall"]; - name = "texlive-core-2009"; + name = "texlive-core-2012"; meta = { description = "A TeX distribution"; maintainers = [ args.lib.maintainers.raskin ]; diff --git a/pkgs/tools/typesetting/tex/texlive/extra.nix b/pkgs/tools/typesetting/tex/texlive/extra.nix index 1ecec91a685..180019bb205 100644 --- a/pkgs/tools/typesetting/tex/texlive/extra.nix +++ b/pkgs/tools/typesetting/tex/texlive/extra.nix @@ -1,12 +1,12 @@ args: with args; rec { - name = "texlive-extra-2009"; + name = "texlive-extra-2012"; src = fetchurl { - url = mirror://debian/pool/main/t/texlive-extra/texlive-extra_2009.orig.tar.gz; - sha256 = "04k48lxy76bad1270gb9k4aza2q13can2dbcf2hj0a3byls099kp"; + url = mirror://debian/pool/main/t/texlive-extra/texlive-extra_2012.20120611.orig.tar.xz; + sha256 = "1wn2gwifb5ww6nb15zdbkk5yz5spynvwqscvrgxzb84p0z3hy8dq"; }; - buildInputs = [texLive]; + buildInputs = [texLive xz]; phaseNames = ["doCopy"]; doCopy = fullDepEntry ('' mkdir -p $out/share diff --git a/pkgs/tools/typesetting/tex/texlive/moderncv.nix b/pkgs/tools/typesetting/tex/texlive/moderncv.nix index a3dde11d5ae..2d422385bd5 100644 --- a/pkgs/tools/typesetting/tex/texlive/moderncv.nix +++ b/pkgs/tools/typesetting/tex/texlive/moderncv.nix @@ -1,9 +1,10 @@ args: with args; rec { - name = "moderncv-1.0"; + version = "1.1.1"; + name = "moderncv-${version}"; src = fetchurl { - url = "http://mirror.ctan.org/macros/latex/contrib/moderncv.zip"; - sha256 = "0yq0ss3qnwk71rcxvch7r5phxfx00s3v80ddpbpc0a0rkh124w53"; + url = "https://launchpad.net/moderncv/trunk/${version}/+download/moderncv-${version}.zip"; + sha256 = "929c118eff339a5c59ed58cc961ddee787e9a5933d12ec8801613fd2e2500e9f"; }; buildInputs = [texLive unzip]; diff --git a/pkgs/tools/virtualization/amazon-ec2-ami-tools/default.nix b/pkgs/tools/virtualization/ec2-ami-tools/default.nix similarity index 93% rename from pkgs/tools/virtualization/amazon-ec2-ami-tools/default.nix rename to pkgs/tools/virtualization/ec2-ami-tools/default.nix index b05596ed50a..1420ab5eeeb 100644 --- a/pkgs/tools/virtualization/amazon-ec2-ami-tools/default.nix +++ b/pkgs/tools/virtualization/ec2-ami-tools/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, unzip, ruby, openssl, makeWrapper }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "ec2-ami-tools-1.4.0.7"; buildInputs = [ unzip makeWrapper ]; src = fetchurl { - url = http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.zip; + url = "http://nixos.org/tarballs/${name}.zip"; sha256 = "0l8c623i1w30bh9k622cdjj5f57rlfc1zs0i01ya016ijyr08qip"; }; diff --git a/pkgs/tools/virtualization/amazon-ec2-ami-tools/writable.patch b/pkgs/tools/virtualization/ec2-ami-tools/writable.patch similarity index 100% rename from pkgs/tools/virtualization/amazon-ec2-ami-tools/writable.patch rename to pkgs/tools/virtualization/ec2-ami-tools/writable.patch diff --git a/pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix b/pkgs/tools/virtualization/ec2-api-tools/default.nix similarity index 75% rename from pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix rename to pkgs/tools/virtualization/ec2-api-tools/default.nix index a85d4223b71..22669c67b12 100644 --- a/pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix +++ b/pkgs/tools/virtualization/ec2-api-tools/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, unzip, makeWrapper, jre }: -stdenv.mkDerivation { - name = "ec2-api-tools-1.5.3.0"; +stdenv.mkDerivation rec { + name = "ec2-api-tools-1.6.0.0"; src = fetchurl { - url = http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip; - sha256 = "15mxjay8pr6cvlmp9hdsg5z7zc15bicjrc30f27rknq72zyhxi8h"; + url = "http://nixos.org/tarballs/${name}.zip"; + sha256 = "1j9isvi6g68zhk7zxs29yad2d0rpnbqx8fz25yn5paqx9c8pzqcl"; }; buildInputs = [ unzip makeWrapper ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bf5b5fe0ace..e7522ea9ffb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -131,7 +131,7 @@ let # `__overrides' is a magic attribute that causes the attributes in # its value to be added to the surrounding `rec'. We'll remove this # eventually. - inherit __overrides; + inherit __overrides pkgs; # We use `callPackage' to be able to omit function arguments that @@ -383,9 +383,9 @@ let }; }; - ec2apitools = callPackage ../tools/virtualization/amazon-ec2-api-tools { }; + ec2_api_tools = callPackage ../tools/virtualization/ec2-api-tools { }; - ec2amitools = callPackage ../tools/virtualization/amazon-ec2-ami-tools { }; + ec2_ami_tools = callPackage ../tools/virtualization/ec2-ami-tools { }; altermime = callPackage ../tools/networking/altermime {}; @@ -420,7 +420,7 @@ let }; aws = callPackage ../tools/virtualization/aws { }; - + aws_mturk_clt = callPackage ../tools/misc/aws-mturk-clt { }; axel = callPackage ../tools/networking/axel { }; @@ -441,9 +441,7 @@ let bsod = callPackage ../misc/emulators/bsod { }; - btrfsProgs = builderDefsPackage (import ../tools/filesystems/btrfsprogs) { - inherit (pkgs) libuuid zlib acl attr fetchgit e2fsprogs; - }; + btrfsProgs = callPackage ../tools/filesystems/btrfsprogs { }; catdoc = callPackage ../tools/text/catdoc { }; @@ -489,7 +487,12 @@ let btar = callPackage ../tools/backup/btar { }; - bup = callPackage ../tools/backup/bup { }; + bup = callPackage ../tools/backup/bup { + inherit (pythonPackages) pyxattr pylibacl setuptools fuse; + inherit (haskellPackages) pandoc; + }; + + atool = callPackage ../tools/archivers/atool { }; bzip2 = callPackage ../tools/compression/bzip2 { }; @@ -519,6 +522,8 @@ let cksfv = callPackage ../tools/networking/cksfv { }; + ciopfs = callPackage ../tools/filesystems/ciopfs { }; + colordiff = callPackage ../tools/text/colordiff { }; convertlit = callPackage ../tools/text/convertlit { }; @@ -529,6 +534,8 @@ let usb_modeswitch = callPackage ../development/tools/misc/usb-modeswitch { }; + clamav = callPackage ../tools/security/clamav { }; + cloog = callPackage ../development/libraries/cloog { }; cloogppl = callPackage ../development/libraries/cloog-ppl { }; @@ -716,6 +723,8 @@ let fortune = callPackage ../tools/misc/fortune { }; + fprot = callPackage ../tools/security/fprot { }; + freeipmi = callPackage ../tools/system/freeipmi {}; freetalk = callPackage ../applications/networking/instant-messengers/freetalk { @@ -826,11 +835,9 @@ let buggyBiosCDSupport = getConfig ["grub" "buggyBiosCDSupport"] true; }; - grub19x = callPackage ../tools/misc/grub/1.9x.nix { }; + grub2 = callPackage ../tools/misc/grub/2.0x.nix { }; - grub2 = grub19x; - - grub2_efi = callPackage ../tools/misc/grub/1.9x.nix { EFIsupport = true; }; + grub2_efi = grub2.override { EFIsupport = true; }; gssdp = callPackage ../development/libraries/gssdp { inherit (gnome) libsoup; @@ -957,6 +964,8 @@ let less = callPackage ../tools/misc/less { }; + logstash = callPackage ../tools/misc/logstash { }; + klavaro = callPackage ../games/klavaro {}; minidlna = callPackage ../tools/networking/minidlna { }; @@ -969,6 +978,14 @@ let nodejs = callPackage ../development/web/nodejs {}; + nodePackages = recurseIntoAttrs (import ./node-packages.nix { + inherit pkgs stdenv nodejs fetchurl; + }); + + npm2nix = callPackage ../development/tools/node/npm2nix { + coffeescript = nodePackages."coffee-script"; + }; + ldns = callPackage ../development/libraries/ldns { }; lftp = callPackage ../tools/networking/lftp { }; @@ -1118,6 +1135,8 @@ let netpbm = callPackage ../tools/graphics/netpbm { }; + netrw = callPackage ../tools/networking/netrw { }; + netselect = callPackage ../tools/networking/netselect { }; networkmanager = callPackage ../tools/networking/network-manager { }; @@ -1394,7 +1413,9 @@ let s3cmd = callPackage ../tools/networking/s3cmd { }; - s3sync = callPackage ../tools/networking/s3sync { }; + s3sync = callPackage ../tools/networking/s3sync { + ruby = ruby18; + }; sablotron = callPackage ../tools/text/xml/sablotron { }; @@ -1506,6 +1527,8 @@ let torsocks = callPackage ../tools/security/tor/torsocks.nix { }; + trickle = callPackage ../tools/networking/trickle {}; + ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { }; ttf2pt1_cl_pdf = callPackage ../tools/misc/ttf2pt1 { }; @@ -1717,6 +1740,8 @@ let xtreemfs = callPackage ../tools/filesystems/xtreemfs {}; + xvfb_run = callPackage ../tools/misc/xvfb-run { inherit (texFunctions) fontsConf; }; + youtubeDL = callPackage ../tools/misc/youtube-dl { }; zbar = callPackage ../tools/graphics/zbar {}; @@ -1783,6 +1808,8 @@ let cmucl_binary = callPackage ../development/compilers/cmucl/binary.nix { }; + cython = callPackage ../development/interpreters/cython { }; + dylan = callPackage ../development/compilers/gwydion-dylan { dylan = callPackage ../development/compilers/gwydion-dylan/binary.nix { }; }; @@ -1866,6 +1893,8 @@ let gcc46 = gcc46_real; + gcc47 = gcc47_real; + gcc45_realCross = lib.addMetaAttrs { platforms = []; } (makeOverridable (import ../development/compilers/gcc/4.5) { inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib @@ -2002,20 +2031,22 @@ let binutilsCross = null; })); - gcc47 = lowPrio (wrapGCC (lib.overrideDerivation gcc46_debug.gcc (a: { - name = "gcc-debug-4.7.1"; - src = fetchurl { - url = "mirror://gnu/gcc/gcc-4.7.1/gcc-4.7.1.tar.bz2"; - sha256 = "0vs0v89zzgkngkw2p8kdynyk7j8ky4wf6zyrg3rsschpl1pky28n"; - }; + gcc47_real = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.7 { + inherit noSysDirs; + # I'm not sure if profiling with enableParallelBuilding helps a lot. + # We can enable it back some day. This makes the *gcc* builds faster now. + profiledCompiler = false; - configureFlags = a.configureFlags - # This flag replaces `no-sys-dirs.patch'. - + (lib.optionalString (stdenv ? glibc) - " --with-native-system-header-dir=${stdenv.glibc}/include"); - - patches = []; - }))); + # When building `gcc.hostDrv' (a "Canadian cross", with host == target + # and host != build), `cross' must be null but the cross-libc must still + # be passed. + cross = null; + libcCross = if crossSystem != null then libcCross else null; + libpthreadCross = + if crossSystem != null && crossSystem.config == "i586-pc-gnu" + then gnu.libpthreadCross + else null; + })); gccApple = wrapGCC (makeOverridable @@ -2180,11 +2211,12 @@ let inherit fetchurl stdenv; }); - gccgo = gccgo46; + # gccgo46 does not work. I set 4.7 then. + gccgo = gccgo47; - gccgo46 = wrapGCC (gcc46_real.gcc.override { + gccgo47 = wrapGCC (gcc47_real.gcc.override { name = "gccgo"; - langCC = true; #required for go + langCC = true; #required for go. langC = true; langGo = true; }); @@ -2265,6 +2297,8 @@ let haskellPackages_ghc741 = recurseIntoAttrs (haskell.packages_ghc741.highPrio); # Stable branch snapshot. haskellPackages_ghc742 = recurseIntoAttrs (haskell.packages_ghc742); + # Release candidate. + haskellPackages_ghc761 = haskell.packages_ghc761; # Reasonably current HEAD snapshot. haskellPackages_ghcHEAD = haskell.packages_ghcHEAD; @@ -2337,7 +2371,13 @@ let jikes = callPackage ../development/compilers/jikes { }; - julia = callPackage ../development/compilers/julia { }; + julia = callPackage ../development/compilers/julia { + llvm = llvm_3_1; + pcre = pcre_8_30; + liblapack = liblapack.override {shared = true;}; + fftw = fftw.override {pthreads = true;}; + fftwSinglePrec = fftwSinglePrec.override {pthreads = true;}; + }; lazarus = builderDefsPackage (import ../development/compilers/fpc/lazarus.nix) { inherit makeWrapper gtk glib pango atk gdk_pixbuf; @@ -2374,6 +2414,8 @@ let ocaml_3_12_1 = callPackage ../development/compilers/ocaml/3.12.1.nix { }; + ocaml_4_00_0 = callPackage ../development/compilers/ocaml/4.00.0.nix { }; + metaocaml_3_09 = callPackage ../development/compilers/ocaml/metaocaml-3.09.nix { }; ber_metaocaml_003 = callPackage ../development/compilers/ocaml/ber-metaocaml-003.nix { }; @@ -2469,6 +2511,7 @@ let ocamlPackages_3_10_0 = mkOcamlPackages ocaml_3_10_0 pkgs.ocamlPackages_3_10_0; ocamlPackages_3_11_2 = mkOcamlPackages ocaml_3_11_2 pkgs.ocamlPackages_3_11_2; ocamlPackages_3_12_1 = mkOcamlPackages ocaml_3_12_1 pkgs.ocamlPackages_3_12_1; + ocamlPackages_4_00_0 = mkOcamlPackages ocaml_4_00_0 pkgs.ocamlPackages_4_00_0; ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { }; @@ -2516,6 +2559,8 @@ let swiProlog = callPackage ../development/compilers/swi-prolog { }; + tbb = callPackage ../development/libraries/tbb { }; + tinycc = callPackage ../development/compilers/tinycc { }; urweb = callPackage ../development/compilers/urweb { }; @@ -2845,7 +2890,7 @@ let automake110x = callPackage ../development/tools/misc/automake/automake-1.10.x.nix { }; automake111x = callPackage ../development/tools/misc/automake/automake-1.11.x.nix { - doCheck = !stdenv.isArm && !stdenv.isCygwin + doCheck = !stdenv.isArm && !stdenv.isCygwin && !stdenv.isMips # Some of the parallel tests seem to hang on `i386-pc-solaris2.11'. && stdenv.system != "i686-solaris" @@ -2854,7 +2899,7 @@ let }; automake112x = callPackage ../development/tools/misc/automake/automake-1.12.x.nix { - doCheck = !stdenv.isArm && !stdenv.isCygwin + doCheck = !stdenv.isArm && !stdenv.isCygwin && !stdenv.isMips # Some of the parallel tests seem to hang on `i386-pc-solaris2.11'. && stdenv.system != "i686-solaris"; }; @@ -2890,6 +2935,8 @@ let bison25 = callPackage ../development/tools/parsing/bison/bison-2.5.nix { }; + bison26 = callPackage ../development/tools/parsing/bison/bison-2.6.nix { }; + buildbot = callPackage ../development/tools/build-managers/buildbot { inherit (pythonPackages) twisted; }; @@ -2938,6 +2985,8 @@ let coccinelle = callPackage ../development/tools/misc/coccinelle { }; + framac = callPackage ../development/tools/misc/frama-c { }; + cppi = callPackage ../development/tools/misc/cppi { }; cproto = callPackage ../development/tools/misc/cproto { }; @@ -4134,9 +4183,7 @@ let libmowgli = callPackage ../development/libraries/libmowgli { }; - libmng = callPackage ../development/libraries/libmng { - automake = automake111x; - }; + libmng = callPackage ../development/libraries/libmng { }; libmodplug = callPackage ../development/libraries/libmodplug {}; @@ -4461,6 +4508,7 @@ let openbabel = callPackage ../development/libraries/openbabel { }; opencascade = callPackage ../development/libraries/opencascade { + automake = automake111x; ftgl = ftgl212; }; @@ -4517,6 +4565,11 @@ let cplusplusSupport = !stdenv ? isDietLibC; }; + pcre_8_30 = callPackage ../development/libraries/pcre/8.30.nix { + unicodeSupport = getConfig ["pcre" "unicode"] true; + cplusplusSupport = !stdenv ? isDietLibC; + }; + pdf2xml = callPackage ../development/libraries/pdf2xml {} ; phonon = callPackage ../development/libraries/phonon { }; @@ -4650,6 +4703,8 @@ let inherit (vamp) vampSDK; }; + sbc = callPackage ../development/libraries/sbc { }; + schroedinger = callPackage ../development/libraries/schroedinger { }; SDL = callPackage ../development/libraries/SDL { @@ -4672,7 +4727,9 @@ let SDL_ttf = callPackage ../development/libraries/SDL_ttf { }; serd = callPackage ../development/libraries/serd {}; - + + silgraphite = callPackage ../development/libraries/silgraphite {}; + simgear = callPackage ../development/libraries/simgear {}; sfml_git = callPackage ../development/libraries/sfml { }; @@ -4990,7 +5047,7 @@ let inherit (gnome) libsoup; }; - v8 = callPackage ../development/libraries/v8 { }; + v8 = callPackage ../development/libraries/v8 { inherit (pythonPackages) gyp; }; xalanj = xalanJava; xalanJava = callPackage ../development/libraries/java/xalanj { @@ -5006,7 +5063,6 @@ let jquery_ui = callPackage ../development/libraries/javascript/jquery-ui { }; - ### DEVELOPMENT / PERL MODULES buildPerlPackage = import ../development/perl-modules/generic perl; @@ -5194,6 +5250,8 @@ let memcached = callPackage ../servers/memcached {}; + mod_evasive = callPackage ../servers/http/apache-modules/mod_evasive { }; + mod_python = callPackage ../servers/http/apache-modules/mod_python { }; mod_fastcgi = callPackage ../servers/http/apache-modules/mod_fastcgi { }; @@ -5395,6 +5453,10 @@ let inherit (perlPackages) LocaleGettext TermReadKey RpcXML; }; + b43Firmware_5_1_138 = callPackage ../os-specific/linux/firmware/b43-firmware/5.1.138.nix { }; + + b43FirmwareCutter = callPackage ../os-specific/linux/firmware/b43-firmware-cutter { }; + bcm43xx = callPackage ../os-specific/linux/firmware/bcm43xx { }; bluez = callPackage ../os-specific/linux/bluez { }; @@ -5435,12 +5497,12 @@ let inherit (xlibs) xproto; }; - dmraid = builderDefsPackage ../os-specific/linux/dmraid { - inherit devicemapper; - }; + dmraid = callPackage ../os-specific/linux/dmraid { }; drbd = callPackage ../os-specific/linux/drbd { }; + dstat = callPackage ../os-specific/linux/dstat { }; + libuuid = if crossSystem != null && crossSystem.config == "i586-pc-gnu" then (utillinux // { @@ -5519,6 +5581,8 @@ let ipw2200fw = callPackage ../os-specific/linux/firmware/ipw2200 { }; + iw = callPackage ../os-specific/linux/iw { }; + iwlwifi1000ucode = callPackage ../os-specific/linux/firmware/iwlwifi-1000-ucode { }; iwlwifi3945ucode = callPackage ../os-specific/linux/firmware/iwlwifi-3945-ucode { }; @@ -5666,6 +5730,12 @@ let ]; }; + linux_3_2_xen = linux_3_2.override { + extraConfig = '' + XEN_DOM0 y + ''; + }; + linux_3_3 = makeOverridable (import ../os-specific/linux/kernel/linux-3.3.nix) { inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser; kernelPatches = @@ -5687,6 +5757,19 @@ let ]; }; + linux_3_5 = makeOverridable (import ../os-specific/linux/kernel/linux-3.5.nix) { + inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser; + kernelPatches = + [ + kernelPatches.sec_perm_2_6_24 + kernelPatches.aufs3_5 + kernelPatches.perf3_5 + ] ++ lib.optionals (platform.kernelArch == "mips") + [ kernelPatches.mips_fpureg_emu + kernelPatches.mips_fpu_sigill + ]; + }; + /* Linux kernel modules are inherently tied to a specific kernel. So rather than provide specific instances of those packages for a specific kernel, we have a function that builds those packages @@ -5762,8 +5845,10 @@ let linuxHeaders = glibc.kernelHeaders; }; - splashutils = - if kernel.features ? fbConDecor then pkgs.splashutils else null; + splashutils = let hasFbConDecor = if kernel ? features + then kernel.features ? fbConDecor + else kernel.config.isEnabled "FB_CON_DECOR"; + in if hasFbConDecor then pkgs.splashutils else null; /* compiles but has to be integrated into the kernel somehow Let's have it uncommented and finish it.. @@ -5804,13 +5889,20 @@ let linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0 pkgs.linuxPackages_3_0); linuxPackages_3_1 = recurseIntoAttrs (linuxPackagesFor linux_3_1 pkgs.linuxPackages_3_1); linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 pkgs.linuxPackages_3_2); + linuxPackages_3_2_xen = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2_xen pkgs.linuxPackages_3_2_xen); linuxPackages_3_3 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_3 pkgs.linuxPackages_3_3); linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 pkgs.linuxPackages_3_4); + linuxPackages_3_5 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_5 pkgs.linuxPackages_3_5); # The current default kernel / kernel modules. linux = linuxPackages.kernel; linuxPackages = linuxPackages_3_2; + # A function to build a manually-configured kernel + linuxManualConfig = import ../os-specific/linux/kernel/manual-config.nix { + inherit (pkgs) stdenv runCommand nettools perl kmod writeTextFile; + }; + keyutils = callPackage ../os-specific/linux/keyutils { }; libselinux = callPackage ../os-specific/linux/libselinux { }; @@ -5959,8 +6051,6 @@ let rt2870fw = callPackage ../os-specific/linux/firmware/rt2870 { }; - rt73fw = callPackage ../os-specific/linux/firmware/rt73 { }; - rtkit = callPackage ../os-specific/linux/rtkit { }; rtl8192cfw = callPackage ../os-specific/linux/firmware/rtl8192c { }; @@ -6135,6 +6225,10 @@ let xf86_input_wacom = callPackage ../os-specific/linux/xf86-input-wacom { }; + xf86_video_nested = callPackage ../os-specific/linux/xf86-video-nested { + inherit (xorg) fontsproto renderproto utilmacros xorgserver; + }; + xf86_video_nouveau = callPackage ../os-specific/linux/xf86-video-nouveau { inherit (xorg) xorgserver xproto fontsproto xf86driproto renderproto videoproto utilmacros; @@ -6224,6 +6318,8 @@ let inherit fontforge; }; + lmmath = callPackage ../data/fonts/lmodern/lmmath.nix {}; + lmodern = callPackage ../data/fonts/lmodern { }; manpages = callPackage ../data/documentation/man-pages { }; @@ -6266,6 +6362,8 @@ let terminus_font = callPackage ../data/fonts/terminus-font { }; + tipa = callPackage ../data/fonts/tipa { }; + ttf_bitstream_vera = callPackage ../data/fonts/ttf-bitstream-vera { }; ubuntu_font_family = callPackage ../data/fonts/ubuntu-font-family { }; @@ -6564,12 +6662,16 @@ let emacsPackages = emacs: self: let callPackage = newScope self; in rec { inherit emacs; + autoComplete = callPackage ../applications/editors/emacs-modes/auto-complete { }; + bbdb = callPackage ../applications/editors/emacs-modes/bbdb { }; cedet = callPackage ../applications/editors/emacs-modes/cedet { }; calfw = callPackage ../applications/editors/emacs-modes/calfw { }; + coffee = callPackage ../applications/editors/emacs-modes/coffee { }; + cua = callPackage ../applications/editors/emacs-modes/cua { }; ecb = callPackage ../applications/editors/emacs-modes/ecb { }; @@ -6582,6 +6684,14 @@ let emms = callPackage ../applications/editors/emacs-modes/emms { }; + flymakeCursor = callPackage ../applications/editors/emacs-modes/flymake-cursor { }; + + gh = callPackage ../applications/editors/emacs-modes/gh { }; + + gist = callPackage ../applications/editors/emacs-modes/gist { }; + + jade = callPackage ../applications/editors/emacs-modes/jade { }; + jdee = callPackage ../applications/editors/emacs-modes/jdee { # Requires Emacs 23, for `avl-tree'. }; @@ -6598,6 +6708,10 @@ let htmlize = callPackage ../applications/editors/emacs-modes/htmlize { }; + logito = callPackage ../applications/editors/emacs-modes/logito { }; + + loremIpsum = callPackage ../applications/editors/emacs-modes/lorem-ipsum { }; + magit = callPackage ../applications/editors/emacs-modes/magit { }; maudeMode = callPackage ../applications/editors/emacs-modes/maude { }; @@ -6610,6 +6724,8 @@ let # we want it to have higher precedence. org = hiPrio (callPackage ../applications/editors/emacs-modes/org { }); + pcache = callPackage ../applications/editors/emacs-modes/pcache { }; + phpMode = callPackage ../applications/editors/emacs-modes/php { }; prologMode = callPackage ../applications/editors/emacs-modes/prolog { }; @@ -6947,13 +7063,13 @@ let id3v2 = callPackage ../applications/audio/id3v2 { }; + ii = callPackage ../applications/networking/irc/ii { }; + ikiwiki = callPackage ../applications/misc/ikiwiki { inherit (perlPackages) TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate TimeDate CGISession DBFile CGIFormBuilder LocaleGettext - RpcXML XMLSimple PerlMagick YAML YAMLLibYAML; - gitSupport = false; - monotoneSupport = false; - extraUtils = []; + RpcXML XMLSimple PerlMagick YAML YAMLLibYAML HTMLTree Filechdir + AuthenPassphrase NetOpenIDConsumer LWPxParanoidAgent CryptSSLeay; }; imagemagick = callPackage ../applications/graphics/ImageMagick { @@ -7068,9 +7184,7 @@ let lynx = callPackage ../applications/networking/browsers/lynx { }; - lyx = callPackage ../applications/misc/lyx { - qt = qt4; - }; + lyx = callPackage ../applications/misc/lyx { }; makeself = callPackage ../applications/misc/makeself { }; @@ -7084,7 +7198,7 @@ let mcomix = callPackage ../applications/graphics/mcomix { }; mercurial = callPackage ../applications/version-management/mercurial { - inherit (pythonPackages) curses; + inherit (pythonPackages) curses docutils; guiSupport = false; # use mercurialFull to get hgk GUI }; @@ -7349,7 +7463,7 @@ let rdesktop = callPackage ../applications/networking/remote/rdesktop { }; - RealPlayer = callPackage ../applications/video/RealPlayer { + RealPlayer = callPackage_i686 ../applications/video/RealPlayer { libstdcpp5 = gcc33.gcc; }; @@ -7379,7 +7493,6 @@ let scribus = callPackage ../applications/office/scribus { inherit (gnome) libart_lgpl; - qt = qt4; }; seeks = callPackage ../tools/networking/p2p/seeks { @@ -7398,6 +7511,8 @@ let usePulseAudio = getConfig [ "pulseaudio" ] false; # disabled by default (the 100% cpu bug) }; + st = callPackage ../applications/misc/st { }; + dropbox = callPackage ../applications/networking/dropbox { }; slim = callPackage ../applications/display-managers/slim { }; @@ -7454,6 +7569,7 @@ let surf = callPackage ../applications/misc/surf { libsoup = gnome.libsoup; + webkit = webkit_gtk2; }; svk = perlPackages.SVK; @@ -7589,7 +7705,10 @@ let }; virtviewer = callPackage ../applications/virtualization/virt-viewer {}; - virtmanager = callPackage ../applications/virtualization/virt-manager {}; + virtmanager = callPackage ../applications/virtualization/virt-manager { + inherit (gnome) gnome_python; + }; + virtinst = callPackage ../applications/virtualization/virtinst {}; virtualgl = callPackage ../tools/X11/virtualgl { }; @@ -7700,10 +7819,16 @@ let xineUI = callPackage ../applications/video/xine-ui { }; - xneur = callPackage ../applications/misc/xneur { }; + xneur_0_13 = callPackage ../applications/misc/xneur { }; xneur_0_8 = callPackage ../applications/misc/xneur/0.8.nix { }; + xneur = xneur_0_13; + + gxneur = callPackage ../applications/misc/gxneur { + inherit (gnome) libglade GConf; + }; + xournal = callPackage ../applications/graphics/xournal { inherit (gnome) libgnomeprint libgnomeprintui libgnomecanvas; }; @@ -7717,7 +7842,7 @@ let }; xpra = callPackage ../tools/X11/xpra { - pyrex = pyrex095; + inherit (pythonPackages) notify; }; xscreensaver = callPackage ../misc/screensavers/xscreensaver { @@ -8292,6 +8417,7 @@ let liblapack = callPackage ../development/libraries/science/math/liblapack { }; + openblas = callPackage ../development/libraries/science/math/openblas { }; ### SCIENCE/LOGIC @@ -8493,9 +8619,7 @@ let lazylist = callPackage ../tools/typesetting/tex/lazylist { }; - lilypond = callPackage ../misc/lilypond { - guile = guile_1_8; - }; + lilypond = callPackage ../misc/lilypond { }; martyr = callPackage ../development/libraries/martyr { }; @@ -8516,10 +8640,14 @@ let stateDir = getConfig [ "nix" "stateDir" ] "/nix/var"; }; + nixUnstable = nix; + + /* nixUnstable = callPackage ../tools/package-management/nix/unstable.nix { storeDir = getConfig [ "nix" "storeDir" ] "/nix/store"; stateDir = getConfig [ "nix" "stateDir" ] "/nix/var"; }; + */ nixCustomFun = src: preConfigure: enableScripts: configureFlags: import ../tools/package-management/nix/custom.nix { @@ -8615,9 +8743,9 @@ let texFunctions = import ../tools/typesetting/tex/nix pkgs; texLive = builderDefsPackage (import ../tools/typesetting/tex/texlive) { - inherit builderDefs zlib bzip2 ncurses libpng ed - gd t1lib freetype icu perl expat curl - libjpeg bison python fontconfig flex; + inherit builderDefs zlib bzip2 ncurses libpng ed lesstif + gd t1lib freetype icu perl expat curl xz pkgconfig zziplib + libjpeg bison python fontconfig flex poppler silgraphite; inherit (xlibs) libXaw libX11 xproto libXt libXpm libXmu libXext xextproto libSM libICE; ghostscript = ghostscriptX; @@ -8626,7 +8754,7 @@ let texLiveFull = lib.setName "texlive-full" (texLiveAggregationFun { paths = [ texLive texLiveExtra lmodern texLiveCMSuper texLiveLatexXColor - texLivePGF texLiveBeamer texLiveModerncv ]; + texLivePGF texLiveBeamer texLiveModerncv tipa ]; }); /* Look in configurations/misc/raskin.nix for usage example (around revisions @@ -8651,7 +8779,7 @@ let }; texLiveExtra = builderDefsPackage (import ../tools/typesetting/tex/texlive/extra.nix) { - inherit texLive; + inherit texLive xz; }; texLiveCMSuper = builderDefsPackage (import ../tools/typesetting/tex/texlive/cm-super.nix) { diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix index 64291854a03..e076a92350d 100644 --- a/pkgs/top-level/haskell-defaults.nix +++ b/pkgs/top-level/haskell-defaults.nix @@ -27,9 +27,14 @@ binary = null; # now a core package }; - ghc722Prefs = ghc741Prefs; + ghc722Prefs = + self : self.haskellPlatformArgs_2012_2_0_0 self // { + haskellPlatform = self.haskellPlatform_2012_2_0_0; + binary = null; # a core package + deepseq = self.deepseq_1_3_0_0; + }; - ghc721Prefs = ghc741Prefs; + ghc721Prefs = ghc722Prefs; ghc704Prefs = self : self.haskellPlatformArgs_2011_4_0_0 self // { @@ -251,6 +256,12 @@ prefFun = ghc741Prefs; }; + packages_ghc761 = + packages { ghcPath = ../development/compilers/ghc/7.6.1.nix; + ghcBinary = ghc704Binary; + prefFun = ghcHEADPrefs; + }; + # Reasonably current HEAD snapshot. Should *always* be lowPrio. packages_ghcHEAD = packages { ghcPath = ../development/compilers/ghc/head.nix; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 6afeddf0ac4..7a40423c998 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -126,7 +126,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); haskellSrc = self.haskellSrc_1_0_1_5; # 7.5 ok html = self.html_1_0_1_2; # 7.5 ok HTTP = self.HTTP_4000_2_3; # 7.5 ok - HUnit = self.HUnit_1_2_4_3; # 7.5 ok + HUnit = self.HUnit_1_2_5_1; # 7.5 ok mtl = self.mtl_2_1_2; # 7.5 ok network = self.network_2_3_0_14; # 7.5 ok OpenGL = self.OpenGL_2_2_3_1; # 7.5 fail @@ -473,6 +473,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); Boolean = callPackage ../development/libraries/haskell/Boolean {}; + brainfuck = callPackage ../development/libraries/haskell/brainfuck {}; + bson = callPackage ../development/libraries/haskell/bson {}; byteorder = callPackage ../development/libraries/haskell/byteorder {}; @@ -530,18 +532,33 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); colour = callPackage ../development/libraries/haskell/colour {}; + comonad_1_1_1_6 = callPackage ../development/libraries/haskell/comonad/1.1.1.6.nix {}; + comonad_3_0_0_1 = callPackage ../development/libraries/haskell/comonad/3.0.0.1.nix {}; + comonad = self.comonad_3_0_0_1; + + comonadTransformers_2_1_2 = callPackage ../development/libraries/haskell/comonad-transformers/2.1.2.nix { + comonad = self.comonad_1_1_1_6; + semigroupoids = self.semigroupoids_1_3_4; + }; + comonadTransformers_3_0 = callPackage ../development/libraries/haskell/comonad-transformers/3.0.nix {}; + comonadTransformers = self.comonadTransformers_3_0; + compactStringFix = callPackage ../development/libraries/haskell/compact-string-fix {}; conduit = callPackage ../development/libraries/haskell/conduit {}; ConfigFile = callPackage ../development/libraries/haskell/ConfigFile {}; + configurator = callPackage ../development/libraries/haskell/configurator {}; + convertible = callPackage ../development/libraries/haskell/convertible { time = self.time_1_1_3; }; continuedFractions = callPackage ../development/libraries/haskell/continued-fractions {}; + contravariant = callPackage ../development/libraries/haskell/contravariant {}; + converge = callPackage ../development/libraries/haskell/converge {}; cookie = callPackage ../development/libraries/haskell/cookie {}; @@ -584,6 +601,17 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); dataenc = callPackage ../development/libraries/haskell/dataenc {}; + dataInttrie = callPackage ../development/libraries/haskell/data-inttrie {}; + + dataLens = callPackage ../development/libraries/haskell/data-lens { + comonadTransformers = self.comonadTransformers_2_1_2; + semigroupoids = self.semigroupoids_1_3_4; + }; + + dataLensTemplate = callPackage ../development/libraries/haskell/data-lens-template {}; + + dataMemocombinators = callPackage ../development/libraries/haskell/data-memocombinators {}; + dataReify = callPackage ../development/libraries/haskell/data-reify {}; datetime = callPackage ../development/libraries/haskell/datetime {}; @@ -606,10 +634,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); inherit (pkgs) zlib; }; + digestiveFunctors = callPackage ../development/libraries/haskell/digestive-functors {}; + + digestiveFunctorsHeist = callPackage ../development/libraries/haskell/digestive-functors-heist {}; + + digestiveFunctorsSnap = callPackage ../development/libraries/haskell/digestive-functors-snap {}; + dimensional = callPackage ../development/libraries/haskell/dimensional {}; directoryTree = callPackage ../development/libraries/haskell/directory-tree {}; + distributive = callPackage ../development/libraries/haskell/distributive {}; + dlist = callPackage ../development/libraries/haskell/dlist {}; dotgen = callPackage ../development/libraries/haskell/dotgen {}; @@ -730,6 +766,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); OpenGL = self.OpenGL25; }; + glpkHs = callPackage ../development/libraries/haskell/glpk-hs {}; + GLURaw = callPackage ../development/libraries/haskell/GLURaw {}; GLUT_2_1_1_2 = callPackage ../development/libraries/haskell/GLUT/2.1.1.2.nix {}; @@ -833,6 +871,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); HDBCSqlite = callPackage ../development/libraries/haskell/HDBC/HDBC-sqlite3.nix {}; + heist = callPackage ../development/libraries/haskell/heist {}; + HFuse = callPackage ../development/libraries/haskell/hfuse {}; HGL = callPackage ../development/libraries/haskell/HGL {}; @@ -856,6 +896,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); hmatrix = callPackage ../development/libraries/haskell/hmatrix {}; + hoauth = callPackage ../development/libraries/haskell/hoauth {}; + hoogle = callPackage ../development/libraries/haskell/hoogle {}; hopenssl = callPackage ../development/libraries/haskell/hopenssl {}; @@ -906,7 +948,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); HUnit_1_2_2_3 = callPackage ../development/libraries/haskell/HUnit/1.2.2.3.nix {}; HUnit_1_2_4_2 = callPackage ../development/libraries/haskell/HUnit/1.2.4.2.nix {}; HUnit_1_2_4_3 = callPackage ../development/libraries/haskell/HUnit/1.2.4.3.nix {}; - HUnit = self.HUnit_1_2_4_3; + HUnit_1_2_5_1 = callPackage ../development/libraries/haskell/HUnit/1.2.5.1.nix {}; + HUnit = self.HUnit_1_2_5_1; hxt = callPackage ../development/libraries/haskell/hxt {}; @@ -926,6 +969,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); IORefCAS = callPackage ../development/libraries/haskell/IORefCAS {}; + IOSpec = callPackage ../development/libraries/haskell/IOSpec {}; + ioStorage = callPackage ../development/libraries/haskell/io-storage {}; irc = callPackage ../development/libraries/haskell/irc { @@ -936,6 +981,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); ivor = callPackage ../development/libraries/haskell/ivor {}; + JuicyPixels = callPackage ../development/libraries/haskell/JuicyPixels {}; + jpeg = callPackage ../development/libraries/haskell/jpeg {}; JsContracts = callPackage ../development/libraries/haskell/JsContracts { @@ -957,6 +1004,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); languageHaskellExtract = callPackage ../development/libraries/haskell/language-haskell-extract {}; + lambdabot = callPackage ../development/libraries/haskell/lambdabot {}; + + lambdabotUtils = callPackage ../development/libraries/haskell/lambdabot-utils {}; + largeword = callPackage ../development/libraries/haskell/largeword {}; lazysmallcheck = callPackage ../development/libraries/haskell/lazysmallcheck {}; @@ -969,17 +1020,19 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); ListLike = callPackage ../development/libraries/haskell/ListLike {}; + lrucache = callPackage ../development/libraries/haskell/lrucache {}; + ltk = callPackage ../development/libraries/haskell/ltk {}; logfloat = callPackage ../development/libraries/haskell/logfloat {}; + logict = callPackage ../development/libraries/haskell/logict {}; + mathFunctions = callPackage ../development/libraries/haskell/math-functions {}; mainlandPretty = callPackage ../development/libraries/haskell/mainland-pretty {}; - maude = callPackage ../development/libraries/haskell/maude { - parsec = self.parsec3; - }; + maude = callPackage ../development/libraries/haskell/maude {}; MaybeT = callPackage ../development/libraries/haskell/MaybeT {}; @@ -989,6 +1042,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); mimeMail = callPackage ../development/libraries/haskell/mime-mail {}; + mimeTypes = callPackage ../development/libraries/haskell/mime-types {}; + MissingH = callPackage ../development/libraries/haskell/MissingH {}; mmap = callPackage ../development/libraries/haskell/mmap {}; @@ -1003,6 +1058,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); monadLoops = callPackage ../development/libraries/haskell/monad-loops {}; + monadLogger = callPackage ../development/libraries/haskell/monad-logger {}; + monadPar_0_1_0_3 = callPackage ../development/libraries/haskell/monad-par/0.1.0.3.nix {}; monadPar_0_3 = callPackage ../development/libraries/haskell/monad-par/0.3.nix {}; monadPar = self.monadPar_0_3; @@ -1064,12 +1121,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); NumInstances = callPackage ../development/libraries/haskell/NumInstances {}; + numbers = callPackage ../development/libraries/haskell/numbers {}; + numtype = callPackage ../development/libraries/haskell/numtype {}; OneTuple = callPackage ../development/libraries/haskell/OneTuple {}; ObjectName = callPackage ../development/libraries/haskell/ObjectName {}; + oeis = callPackage ../development/libraries/haskell/oeis {}; + OpenAL = callPackage ../development/libraries/haskell/OpenAL {}; OpenGL_2_2_1_1 = callPackage ../development/libraries/haskell/OpenGL/2.2.1.1.nix {}; @@ -1125,6 +1186,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); persistent = callPackage ../development/libraries/haskell/persistent {}; + persistentPostgresql = callPackage ../development/libraries/haskell/persistent-postgresql {}; + persistentSqlite = callPackage ../development/libraries/haskell/persistent-sqlite {}; persistentTemplate = callPackage ../development/libraries/haskell/persistent-template {}; @@ -1137,12 +1200,20 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); poolConduit = callPackage ../development/libraries/haskell/pool-conduit {}; + postgresqlLibpq = callPackage ../development/libraries/haskell/postgresql-libpq { + postgresql = pkgs.postgresql91; + }; + + postgresqlSimple = callPackage ../development/libraries/haskell/postgresql-simple {}; + ppm = callPackage ../development/libraries/haskell/ppm {}; prettyShow = callPackage ../development/libraries/haskell/pretty-show {}; primitive = callPackage ../development/libraries/haskell/primitive {}; + processExtras = callPackage ../development/libraries/haskell/process-extras {}; + processLeksah = callPackage ../development/libraries/haskell/leksah/process-leksah.nix {}; prolog = callPackage ../development/libraries/haskell/prolog {}; @@ -1256,6 +1327,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); semigroups = callPackage ../development/libraries/haskell/semigroups {}; + semigroupoids_1_3_4 = callPackage ../development/libraries/haskell/semigroupoids/1.3.4.nix { + comonad = self.comonad_1_1_1_6; + }; + semigroupoids_3_0 = callPackage ../development/libraries/haskell/semigroupoids/3.0.nix {}; + semigroupoids = self.semigroupoids_3_0; + shelly = callPackage ../development/libraries/haskell/shelly {}; simpleSendfile = callPackage ../development/libraries/haskell/simple-sendfile {}; @@ -1264,8 +1341,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); smallcheck = callPackage ../development/libraries/haskell/smallcheck {}; + snap = callPackage ../development/libraries/haskell/snap/snap.nix {}; + snapCore = callPackage ../development/libraries/haskell/snap/core.nix {}; + snapLoaderDynamic = callPackage ../development/libraries/haskell/snap/loader-dynamic.nix {}; + + snapLoaderStatic = callPackage ../development/libraries/haskell/snap/loader-static.nix {}; + snapServer = callPackage ../development/libraries/haskell/snap/server.nix {}; socks = callPackage ../development/libraries/haskell/socks {}; @@ -1323,9 +1406,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); Shellac = callPackage ../development/libraries/haskell/Shellac/Shellac.nix {}; - ShellacHaskeline = callPackage ../development/libraries/haskell/Shellac/Shellac-haskeline.nix {}; - - ShellacReadline = callPackage ../development/libraries/haskell/Shellac/Shellac-readline.nix {}; + show = callPackage ../development/libraries/haskell/show {}; SMTPClient = callPackage ../development/libraries/haskell/SMTPClient {}; @@ -1439,6 +1520,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); unixCompat = callPackage ../development/libraries/haskell/unix-compat {}; + unixTime = callPackage ../development/libraries/haskell/unix-time {}; + + unlambda = callPackage ../development/libraries/haskell/unlambda {}; + unorderedContainers = callPackage ../development/libraries/haskell/unordered-containers {}; url = callPackage ../development/libraries/haskell/url {}; @@ -1532,6 +1617,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y); xmlConduit = callPackage ../development/libraries/haskell/xml-conduit {}; + xmlhtml = callPackage ../development/libraries/haskell/xmlhtml {}; + xmlTypes = callPackage ../development/libraries/haskell/xml-types {}; xssSanitize = callPackage ../development/libraries/haskell/xss-sanitize {}; diff --git a/pkgs/top-level/node-packages.nix b/pkgs/top-level/node-packages.nix new file mode 100644 index 00000000000..d263e68981a --- /dev/null +++ b/pkgs/top-level/node-packages.nix @@ -0,0 +1,22 @@ +{ pkgs, stdenv, nodejs, fetchurl }: + +let buildNodePackage = import ../development/web/nodejs/build-node-package.nix { + inherit stdenv nodejs; +}; in + +let self = { + "coffee-script" = self."coffee-script-1.3.3"; + + "coffee-script-1.3.3" = buildNodePackage rec { + name = "coffee-script-1.3.3"; + src = fetchurl { + url = "http://registry.npmjs.org/coffee-script/-/${name}.tgz"; + sha256 = "deedd2cf9d5abe2bad724e6809bec40efa07215dae85f44d78cd37736bb50bc5"; + }; + deps = [ + + ]; + }; +}; + +in self diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 9ce012ec7c7..d33f5a78b8f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -107,6 +107,15 @@ rec { }; }; + AuthenDecHpwd = buildPerlPackage rec { + name = "Authen-DecHpwd-2.006"; + src = fetchurl { + url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/${name}.tar.gz"; + sha256 = "67f45fef6a23b7548f387b675cbf7881bf9da62d7d007cbf90d3a4b851b99eb7"; + }; + propagatedBuildInputs = [ ScalarString DataInteger DigestCRC ]; + }; + AuthenHtpasswd = buildPerlPackage rec { name = "Authen-Htpasswd-0.171"; src = fetchurl { @@ -116,6 +125,16 @@ rec { propagatedBuildInputs = [ ClassAccessor CryptPasswdMD5 DigestSHA1 IOLockedFile ]; }; + AuthenPassphrase = buildPerlPackage rec { + name = "Authen-Passphrase-0.008"; + src = fetchurl { + url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/${name}.tar.gz"; + sha256 = "55db4520617d859d88c0ee54965da815b7226d792b8cdc8debf92073559e0463"; + }; + propagatedBuildInputs = [ModuleRuntime ParamsClassify CryptPasswdMD5 CryptDES + DataEntropy CryptUnixCryptXS CryptEksblowfish CryptMySQL DigestMD4 AuthenDecHpwd]; + }; + AuthenSASL = buildPerlPackage rec { name = "Authen-SASL-2.1401"; src = fetchurl { @@ -386,6 +405,7 @@ rec { CatalystDevel DBIxClassSchemaLoader MooseXNonMoose NamespaceClean HashMerge DBIxClassCursorCached ]; + meta.platforms = stdenv.lib.platforms.linux; }; CatalystRuntime = buildPerlPackage rec{ @@ -594,10 +614,10 @@ rec { }; CGISession = buildPerlPackage rec { - name = "CGI-Session-4.42"; + name = "CGI-Session-4.46"; src = fetchurl { url = "mirror://cpan/authors/id/M/MA/MARKSTOS/${name}.tar.gz"; - sha256 = "186lqqmfvisw3i74anvnsaqlbp6ww3wyhlsgdpni0mlcnh56h4gw"; + sha256 = "c04b725be6a1b9bf22387cc6427eb951408ccba1c52471a43a80306f31e68e1b"; }; buildInputs = [ DBFile ]; }; @@ -721,6 +741,15 @@ rec { }; }; + ClassMix = buildPerlPackage rec { + name = "Class-Mix-0.005"; + src = fetchurl { + url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/${name}.tar.gz"; + sha256 = "054d0db62df90f22601f2a18fc84e9ca026d81601f5940b2fcc543e39d69b36b"; + }; + propagatedBuildInputs = [ParamsClassify]; + }; + ClassMOP = Moose; ClassSingleton = buildPerlPackage rec { @@ -907,6 +936,26 @@ rec { buildInputs = [CryptCBC]; }; + CryptDHGMP = buildPerlPackage rec { + name = "Crypt-DH-GMP-0.00010"; + src = fetchurl { + url = "mirror://cpan/authors/id//D/DM/DMAKI/${name}.tar.gz"; + sha256 = "7d947cd48a98880df4fb5b0785758bef9ae1357eba7c376ad0fca3fd262a5fe9"; + }; + buildInputs = [ DevelChecklib TestRequires pkgs.gmp ]; + NIX_CFLAGS_COMPILE = "-I${pkgs.gmp}/include"; + NIX_CFLAGS_LINK = "-L${pkgs.gmp}/lib -lgmp"; + }; + + CryptEksblowfish = buildPerlPackage rec { + name = "Crypt-Eksblowfish-0.009"; + src = fetchurl { + url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/${name}.tar.gz"; + sha256 = "3cc7126d5841107237a9be2dc5c7fbc167cf3c4b4ce34678a8448b850757014c"; + }; + propagatedBuildInputs = [ClassMix]; + }; + CryptPasswdMD5 = buildPerlPackage { name = "Crypt-PasswdMD5-1.3"; src = fetchurl { @@ -931,6 +980,31 @@ rec { }; }; + CryptMySQL = buildPerlPackage rec { + name = "Crypt-MySQL-0.04"; + src = fetchurl { + url = "mirror://cpan/authors/id/I/IK/IKEBE/${name}.tar.gz"; + sha256 = "93ebdfaaefcfe9ab683f0121c85f24475d8197f0bcec46018219e4111434dde3"; + }; + propagatedBuildInputs = [DigestSHA1]; + }; + + CryptRijndael = buildPerlPackage rec { + name = "Crypt-Rijndael-1.11"; + src = fetchurl { + url = "mirror://cpan/authors/id/B/BD/BDFOY/${name}.tar.gz"; + sha256 = "8f8833bc8839e0d4aa3c26d86d2f39ceb9b13e52a9f5e4fd928da2e71989d3b4"; + }; + }; + + CryptUnixCryptXS = buildPerlPackage rec { + name = "Crypt-UnixCrypt_XS-0.09"; + src = fetchurl { + url = "mirror://cpan/authors/id/B/BO/BORISZ/${name}.tar.gz"; + sha256 = "527c32b8b6eb50d52b081ceae4be2d748e718e40ea85940da59a3adeb3a33156"; + }; + }; + CryptSmbHash = buildPerlPackage rec { name = "Crypt-SmbHash-0.12"; src = fetchurl { @@ -994,6 +1068,23 @@ rec { }; }; + DataEntropy = buildPerlPackage rec { + name = "Data-Entropy-0.007"; + src = fetchurl { + url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/${name}.tar.gz"; + sha256 = "2611c4a1a3038594d79ea4ed14d9e15a9af8f77105f51667795fe4f8a53427e4"; + }; + propagatedBuildInputs = [ParamsClassify DataFloat CryptRijndael HTTPLite]; + }; + + DataFloat = buildPerlPackage rec { + name = "Data-Float-0.012"; + src = fetchurl { + url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/${name}.tar.gz"; + sha256 = "698ecb092a3284e260cd3c3208408feb791d7d0f06a02673f9125ab2d51cc2d8"; + }; + }; + DataHierarchy = buildPerlPackage { name = "Data-Hierarchy-0.34"; src = fetchurl { @@ -1003,6 +1094,14 @@ rec { propagatedBuildInputs = [TestException]; }; + DataInteger = buildPerlPackage rec { + name = "Data-Integer-0.004"; + src = fetchurl { + url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/${name}.tar.gz"; + sha256 = "3a52f7717d1ebda3af40036d72cbcadd1984210737743997abdad141d620f67e"; + }; + }; + DataOptList = buildPerlPackage rec { name = "Data-OptList-0.107"; src = fetchurl { @@ -1121,8 +1220,17 @@ rec { propagatedBuildInputs = [ ClassLoad ClassSingleton ParamsValidate TryTiny ]; }; + DevelChecklib = buildPerlPackage rec { + name = "Devel-CheckLib-0.98"; + src = fetchurl { + url = "mirror://cpan/authors/id/M/MA/MATTN/${name}.tar.gz"; + sha256 = "2b6b62665403bcdce67b53eb3bee7b57b6576026640c01aa57c7126e32ce20da"; + }; + propagatedBuildInputs = [ IOCaptureOutput ]; + }; + DBDSQLite = import ../development/perl-modules/DBD-SQLite { - inherit fetchurl buildPerlPackage DBI; + inherit stdenv fetchurl buildPerlPackage DBI; inherit (pkgs) sqlite; }; @@ -1132,7 +1240,7 @@ rec { }; DBDPg = import ../development/perl-modules/DBD-Pg { - inherit fetchurl buildPerlPackage DBI; + inherit stdenv fetchurl buildPerlPackage DBI; inherit (pkgs) postgresql; }; @@ -1245,6 +1353,14 @@ rec { ]; }; + DigestCRC = buildPerlPackage rec { + name = "Digest-CRC-0.18"; + src = fetchurl { + url = "mirror://cpan/authors/id/O/OL/OLIMAUL/${name}.tar.gz"; + sha256 = "5c5329f37c46eb79835169508583da8767d9839350b69bb2b48ac6f594f70374"; + }; + }; + DigestHMAC = buildPerlPackage { name = "Digest-HMAC-1.01"; src = fetchurl { @@ -1254,6 +1370,14 @@ rec { propagatedBuildInputs = [DigestSHA1]; }; + DigestMD4 = buildPerlPackage rec { + name = "Digest-MD4-1.5"; + src = fetchurl { + url = "mirror://cpan/authors/id/M/MI/MIKEM/DigestMD4/${name}.tar.gz"; + sha256 = "c7d7a32f5c2710c929b5688a7b057ec8ddbc51cf278f623e771fc02dcabd6a1f"; + }; + }; + DigestSHA = buildPerlPackage rec { name = "Digest-SHA-5.47"; src = fetchurl { @@ -1446,11 +1570,11 @@ rec { ] ++ stdenv.lib.optional stdenv.isLinux LinuxInotify2; }; - Filechdir = buildPerlPackage { - name = "File-chdir-0.1002"; + Filechdir = buildPerlPackage rec { + name = "File-chdir-0.1006"; src = fetchurl { - url = mirror://cpan/authors/id/D/DA/DAGOLDEN/File-chdir-0.1002.tar.gz; - sha256 = "1fc2l754bxsizli3injm4wqf8dn03iq16rmfn62l99nxpibl5k6p"; + url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/${name}.tar.gz"; + sha256 = "b26e91f8b5480544da599412612ff9287007be9703d41c35251f09c5ff19879a"; }; }; @@ -1546,6 +1670,14 @@ rec { propagatedBuildInputs = [ TestScript ]; }; + FontAFM = buildPerlPackage rec { + name = "Font-AFM-1.20"; + src = fetchurl { + url = "mirror://cpan/authors/id/G/GA/GAAS/${name}.tar.gz"; + sha256 = "32671166da32596a0f6baacd0c1233825a60acaf25805d79c81a3f18d6088bc1"; + }; + }; + FontTTF = buildPerlPackage { name = "Font-TTF-0.43"; src = fetchurl { @@ -1758,11 +1890,11 @@ rec { buildInputs = [TestPod]; }; - HTMLTree = buildPerlPackage { - name = "HTML-Tree-3.23"; + HTMLTree = buildPerlPackage rec { + name = "HTML-Tree-4.2"; src = fetchurl { - url = mirror://cpan/authors/id/P/PE/PETEK/HTML-Tree-3.23.tar.gz; - sha256 = "1pn80f4g1wixs030f40b80wrj12kwfinwycrx3f10drg4v7ml5zm"; + url = "mirror://cpan/authors/id/J/JF/JFEARN/${name}.tar.gz"; + sha256 = "80e4e3caa5e0e025dee5ed383a8d4cc7479ae4802184c4757dafd147a8fca7c9"; }; propagatedBuildInputs = [HTMLParser]; }; @@ -1815,6 +1947,14 @@ rec { }; }; + HTTPLite = buildPerlPackage rec { + name = "HTTP-Lite-2.4"; + src = fetchurl { + url = "mirror://cpan/authors/id/N/NE/NEILB/${name}.tar.gz"; + sha256 = "66f4fc0f93eeb42c09737f83b21de1944212ae9b2acb784d5103e8208491477b"; + }; + }; + HTTPMessage = buildPerlPackage rec { name = "HTTP-Message-6.02"; src = fetchurl { @@ -1833,6 +1973,15 @@ rec { buildInputs = [ TestMore ]; }; + HTTPRequest = buildPerlPackage rec { + name = "HTTP-Message-6.03"; + src = fetchurl { + url = "mirror://cpan/modules/by-module/HTTP/${name}.tar.gz"; + sha256 = "c736e083bdf0eea1bb73e2dc3b66db0a8283942c0f69063afadb9a7cfa80011b"; + }; + propagatedBuildInputs = [ HTTPDate URI HTMLParser LWP ]; + }; + HTTPRequestAsCGI = buildPerlPackage rec { name = "HTTP-Request-AsCGI-1.2"; src = fetchurl { @@ -1869,6 +2018,14 @@ rec { }; }; + IOCaptureOutput = buildPerlPackage rec { + name = "IO-CaptureOutput-1.1102"; + src = fetchurl { + url = "mirror://cpan/modules/by-module/IO/${name}.tar.gz"; + sha256 = "2ea16dbecb21a3c2be49a93fb1e7e51275bed3f7ef3ac30cbdbff5d0178d43c7"; + }; + }; + IOCompress = buildPerlPackage rec { name = "IO-Compress-2.037"; src = fetchurl { @@ -2249,6 +2406,16 @@ rec { doCheck = false; # tries to connect to https://www.apache.org/. }; + LWPxParanoidAgent = buildPerlPackage rec { + name = "LWPx-ParanoidAgent-1.07"; + src = fetchurl { + url = "mirror://cpan/authors/id/B/BR/BRADFITZ/${name}.tar.gz"; + sha256 = "bd7ccbe6ed6b64195a967e9b2b04c185b7b97e8ec5a8835bb45dbcd42a18e76a"; + }; + doCheck = false; # 3 tests fail, probably because they try to connect to the network + propagatedBuildInputs = [ LWP NetDNS ]; + }; + maatkit = import ../development/perl-modules/maatkit { inherit fetchurl buildPerlPackage stdenv DBDmysql; }; @@ -2742,6 +2909,24 @@ rec { }; }; + NetOpenIDCommon = buildPerlPackage rec { + name = "Net-OpenID-Common-1.14"; + src = fetchurl { + url = "mirror://cpan/authors/id/W/WR/WROG/${name}.tar.gz"; + sha256 = "24ac83539b188d85bd2c7bd67e355aab0ede3f98170b23cb50bd30b11b4387ff"; + }; + propagatedBuildInputs = [ CryptDHGMP URI HTMLParser HTTPRequest XMLSimple ]; + }; + + NetOpenIDConsumer = buildPerlPackage rec { + name = "Net-OpenID-Consumer-1.13"; + src = fetchurl { + url = "mirror://cpan/authors/id/W/WR/WROG/${name}.tar.gz"; + sha256 = "4ab927b6756366fa4cef2b54088645849f32fc7e0cd8de0a50001bbf62946fd8"; + }; + propagatedBuildInputs = [ NetOpenIDCommon JSON ]; + }; + PackageDeprecationManager = buildPerlPackage rec { name = "Package-DeprecationManager-0.11"; src = fetchurl { @@ -3076,6 +3261,14 @@ rec { }; }; + ScalarString = buildPerlPackage rec { + name = "Scalar-String-0.002"; + src = fetchurl { + url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/${name}.tar.gz"; + sha256 = "d3a45cc137bb9f7d8848d5a10a5142d275a98f8dcfd3adb60593cee9d33fa6ae"; + }; + }; + ScopeGuard = buildPerlPackage { name = "Scope-Guard-0.03"; src = fetchurl { @@ -4001,10 +4194,10 @@ rec { }; XMLLibXML = buildPerlPackage rec { - name = "XML-LibXML-1.86"; + name = "XML-LibXML-2.0001"; src = fetchurl { url = "mirror://cpan/modules/by-module/XML/${name}.tar.gz"; - sha256 = "0wgf9898vmjac4mr2k4zvz6aw7nx0yvfv8f093y6w44vv6prxchp"; + sha256 = "1zx4fqi531yzaf1c5cw1qwb9vy37fksz35a7pp6pic9v8jvz09x6"; }; SKIP_SAX_INSTALL = 1; buildInputs = [ pkgs.libxml2 ]; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4d61c2e473b..637d53b06f7 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -33,12 +33,11 @@ let pythonPackages = python.modules // rec { afew = buildPythonPackage rec { - rev = "8abd64bfdcd83a486b2a3977c08fe071523b2551"; - name = "afew-1.0pre${rev}"; + name = "afew-1.0pre"; src = fetchurl { - url = "https://github.com/teythoon/afew/tarball/${rev}"; + url = "https://github.com/teythoon/afew/tarball/master"; name = "${name}.tar.bz"; - sha256 = "9b140d0eb0e5013419983604bb09a51f087a4abdf0a390c24a9596f867dc8c05"; + sha256 = "949710f8dcf503f42f2a2d77ea71e48ccf70155a764f75ad29cc93edc120809b"; }; propagatedBuildInputs = [ notmuch pkgs.dbacl ]; @@ -60,18 +59,17 @@ let pythonPackages = python.modules // rec { alot = buildPythonPackage rec { - version = "0.3.1"; - name = "alot-${version}"; + name = "alot-0.3.1"; src = fetchurl { - url = "https://github.com/pazz/alot/tarball/${version}"; + url = "https://github.com/pazz/alot/tarball/master"; name = "${name}.tar.bz"; - md5 = "6c5986d9192863879e95a3f8f30ccb75"; + sha256 = "06683de36688615d3d526198c93133e1131897c888ffa31e83f1ad292eae57af"; }; doCheck = false; - propagatedBuildInputs = [ notmuch urwid twisted magic configobj ]; + propagatedBuildInputs = [ notmuch urwid twisted magic configobj pygpgme ]; postInstall = '' wrapProgram $out/bin/alot \ @@ -509,11 +507,11 @@ let pythonPackages = python.modules // rec { django = buildPythonPackage rec { name = "Django-${version}"; - version = "1.4"; + version = "1.4.1"; src = fetchurl { - url = "http://www.djangoproject.com/m/releases/${version}/${name}.tar.gz"; - sha256 = "1sc8ajixaqfylb7jmmhn38hgbnqipylh1sqmpicx7rqhxbxvm5n0"; + url = "http://www.djangoproject.com/m/releases/1.4/${name}.tar.gz"; + sha256 = "16s0anvpaccbqmdrhl71z73k0dy2sl166nnc2fbd5lshlgmj13ad"; }; doCheck = false; @@ -525,12 +523,12 @@ let pythonPackages = python.modules // rec { }; - django_1_3_1 = buildPythonPackage rec { - name = "Django-1.3.1"; + django_1_3 = buildPythonPackage rec { + name = "Django-1.3.2"; src = fetchurl { url = "http://www.djangoproject.com/m/releases/1.3/${name}.tar.gz"; - sha256 = "0sqmvqy3y5h76pa3zjcnyiy5x01bzzy03afdp2qdwqx0x321i4dg"; + sha256 = "0r6pdm33x96aba9x36jvqpkh2bf1zixnzvr12mcc8qq8wc7hii3j"; }; doCheck = false; @@ -550,7 +548,7 @@ let pythonPackages = python.modules // rec { md5 = "24b8373916f53f74d701b99a6cf41409"; }; - propagatedBuildInputs = [ django_1_3_1 ]; + propagatedBuildInputs = [ django_1_3 ]; meta = { description = "A database schema evolution tool for the Django web framework"; @@ -567,7 +565,7 @@ let pythonPackages = python.modules // rec { sha256 = "1hhvpi81yknvlaazq1cpgamp9vf3x1fcr0ba64q3j2yz1kgin1i8"; }; - propagatedBuildInputs = [ pkgs.pil django_1_3_1 ]; + propagatedBuildInputs = [ pkgs.pil django_1_3 ]; meta = { description = "A collection of useful extensions for Django"; @@ -688,6 +686,24 @@ let pythonPackages = python.modules // rec { }; + flask = buildPythonPackage { + name = "flask-0.9"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/F/Flask/Flask-0.9.tar.gz"; + md5 = "4a89ef2b3ab0f151f781182bd0cc8933"; + }; + + propagatedBuildInputs = [ werkzeug jinja2 ]; + + meta = { + homepage = http://flask.pocoo.org/; + description = "A microframework based on Werkzeug, Jinja 2, and good intentions"; + license = "BSD"; + }; + }; + + flup = buildPythonPackage (rec { name = "flup-1.0.2"; @@ -736,6 +752,24 @@ let pythonPackages = python.modules // rec { }; }); + fuse = buildPythonPackage (rec { + baseName = "fuse"; + version = "0.2.1"; + name = "${baseName}-${version}"; + + src = fetchurl { + url = "http://downloads.sourceforge.net/sourceforge/fuse/fuse-python-${version}.tar.gz"; + sha256 = "06rmp1ap6flh64m81j0n3a357ij2vj9zwcvvw0p31y6hz1id9shi"; + }; + + buildInputs = [ pkgs.pkgconfig pkgs.fuse ]; + + meta = { + description = "Python bindings for FUSE."; + license = stdenv.lib.licenses.lgpl21; + }; + }); + genshi = buildPythonPackage { name = "genshi-0.6"; @@ -832,6 +866,27 @@ let pythonPackages = python.modules // rec { }; + gyp = buildPythonPackage rec { + rev = "1435"; + name = "gyp-r${rev}"; + + src = fetchsvn { + url = "http://gyp.googlecode.com/svn/trunk"; + inherit rev; + sha256 = "1wmd1svx5344alb8ff9vzdam1ccqdl0h7shp1xnsk843hqwc0fz0"; + }; + + doCheck = false; + + postUnpack = "find . -print0 | xargs -0 touch"; + + meta = { + homepage = http://code.google.com/p/gyp; + description = "Generate Your Projects"; + }; + }; + + httplib2 = buildPythonPackage rec { name = "httplib2-0.6.0"; @@ -1667,6 +1722,29 @@ let pythonPackages = python.modules // rec { }; + pygpgme = buildPythonPackage rec { + version = "0.3"; + name = "pygpgme-${version}"; + + src = fetchurl { + url = "https://launchpad.net/pygpgme/trunk/${version}/+download/${name}.tar.gz"; + sha256 = "5fd887c407015296a8fd3f4b867fe0fcca3179de97ccde90449853a3dfb802e1"; + }; + + doCheck = false; + + propagatedBuildInputs = [ pkgs.gpgme ]; + + meta = { + homepage = "https://launchpad.net/pygpgme"; + description = "A Python wrapper for the GPGME library."; + license = pkgs.lib.licenses.lgpl21; + maintainers = [ stdenv.lib.maintainers.garbas ]; + platforms = python.meta.platforms; + }; + }; + + pyparsing = buildPythonPackage rec { name = "pyparsing-1.5.6"; @@ -1695,7 +1773,26 @@ let pythonPackages = python.modules // rec { propagatedBuildInputs = [pkgs.openldap pkgs.cyrus_sasl pkgs.openssl]; }; - + + pylibacl = buildPythonPackage (rec { + name = "pylibacl-0.5.1"; + + src = fetchurl { + url = "https://github.com/downloads/iustin/pylibacl/${name}.tar.gz"; + sha256 = "1idks7j9bn62xzsaxkvhl7bdq6ws8kv8aa0wahfh7724qlbbcf1k"; + }; + + doCheck = false; + + buildInputs = [ pkgs.acl ]; + + meta = { + description = "A Python extension module for POSIX ACLs. It can be used to query, list, add, and remove ACLs from files and directories under operating systems that support them."; + license = stdenv.lib.licenses.lgpl21Plus; + }; + }); + + pylint = buildPythonPackage rec { name = "pylint-0.23.0"; @@ -1934,7 +2031,26 @@ let pythonPackages = python.modules // rec { }; }); - + + pyxattr = buildPythonPackage (rec { + name = "pyxattr-0.5.1"; + + src = fetchurl { + url = "https://github.com/downloads/iustin/pyxattr/${name}.tar.gz"; + sha256 = "0jmkffik6hdzs7ng8c65bggss2ai40nm59jykswdf5lpd36cxddq"; + }; + + doCheck = false; + + buildInputs = [ pkgs.attr ]; + + meta = { + description = "A Python extension module which gives access to the extended attributes for filesystem objects available in some operating systems."; + license = stdenv.lib.licenses.lgpl21Plus; + }; + }); + + pyyaml = buildPythonPackage (rec { name = "PyYAML-3.09"; @@ -2012,7 +2128,7 @@ let pythonPackages = python.modules // rec { propagatedBuildInputs = [ recaptcha_client pytz memcached dateutil paramiko flup pygments - djblets django_1_3_1 django_evolution pkgs.pycrypto python.modules.sqlite3 + djblets django_1_3 django_evolution pkgs.pycrypto python.modules.sqlite3 pysvn pkgs.pil psycopg2 ]; }; @@ -2028,11 +2144,6 @@ let pythonPackages = python.modules // rec { doCheck = false; - postInstall = '' - find $out -name easy-install.pth | xargs rm -v - find $out -name 'site.py*' | xargs rm -v - ''; - meta = { description = "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information."; homepage = http://www.rdflib.net/; @@ -2146,6 +2257,34 @@ let pythonPackages = python.modules // rec { }; }; + selenium = + buildPythonPackage rec { + name = "selenium-2.25.0"; + src = pkgs.fetchurl { + url = http://pypi.python.org/packages/source/s/selenium/selenium-2.25.0.tar.gz; + sha256 = "0iinpry1vr4dydh44sc0ny22sa9fqhy2302hf56pf8fakvza9m0a"; + }; + + buildInputs = [pkgs.xlibs.libX11]; + + # Recompiling x_ignore_nofocus.so as the original one dlopen's libX11.so.6 by some + # absolute paths. Replaced by relative path so it is found when used in nix. + x_ignore_nofocus = + pkgs.fetchsvn { + url = http://selenium.googlecode.com/svn/tags/selenium-2.25.0/cpp/linux-specific; + rev = 17641; + sha256 = "1wif9r6307qhlcp2zbg6n05yvxxn9ppkxh8gpsplcbyh22zi7bcd"; + }; + + preInstallPhases = "preInstall"; + preInstall = '' + cp ${x_ignore_nofocus}/* . + sed -i 's|dlopen(library,|dlopen("libX11.so.6",|' x_ignore_nofocus.c + gcc -c -fPIC x_ignore_nofocus.c -o x_ignore_nofocus.o + gcc -shared -Wl,-soname,x_ignore_nofocus.so -o x_ignore_nofocus.so x_ignore_nofocus.o + cp -v x_ignore_nofocus.so py/selenium/webdriver/firefox/${if pkgs.stdenv.is64bit then "amd64" else "x86"}/ + ''; + }; setuptoolsDarcs = buildPythonPackage { name = "setuptools-darcs-1.2.9"; @@ -2474,6 +2613,28 @@ let pythonPackages = python.modules // rec { }; }; + + urlgrabber = buildPythonPackage rec { + name = "urlgrabber-3.9.1"; + + src = fetchurl { + url = "http://urlgrabber.baseurl.org/download/${name}.tar.gz"; + sha256 = "4437076c8708e5754ea04540e46c7f4f233734ee3590bb8a96389264fb0650d0"; + }; + + doCheck = false; + + propagatedBuildInputs = [ pycurl ]; + + meta = { + homepage = "urlgrabber.baseurl.org"; + license = "LGPLv2+"; + description = "Python module for downloading files"; + maintainers = [ stdenv.lib.maintainers.qknight ]; + }; + }; + + urwid = buildPythonPackage (rec { name = "urwid-1.0.1"; @@ -2502,6 +2663,8 @@ let pythonPackages = python.modules // rec { patches = [ ../development/python-modules/virtualenv-change-prefix.patch ]; + propagatedBuildInputs = [ python.modules.readline python.modules.sqlite3 ]; + doCheck = false; meta = with stdenv.lib; { @@ -2569,6 +2732,22 @@ let pythonPackages = python.modules // rec { }; + werkzeug = buildPythonPackage { + name = "werkzeug-0.8.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/W/Werkzeug/Werkzeug-0.8.3.tar.gz"; + md5 = "12aa03e302ce49da98703938f257347a"; + }; + + meta = { + homepage = http://werkzeug.pocoo.org/; + description = "A WSGI utility library for Python"; + license = "BSD"; + }; + }; + + wxPython = wxPython28; @@ -2685,11 +2864,11 @@ let pythonPackages = python.modules // rec { }; cliapp = buildPythonPackage rec { - name = "cliapp-0.29"; + name = "cliapp-1.20120630"; src = fetchurl rec { - url = "http://code.liw.fi/debian/pool/main/p/python-cliapp/python-cliapp_0.29.orig.tar.gz"; - sha256 = "4a3f2e1705c5e9ac5a80a460ae9bad8e88c0778f7013638eda39e3ee0dd008b2"; + url = "http://code.liw.fi/debian/pool/main/p/python-cliapp/python-cliapp_1.20120630.orig.tar.gz"; + sha256 = "6beeb1fb3077561540094584ce36055266ac67b80f158b9b82fe4075096f4716"; }; buildInputs = [ sphinx ]; @@ -2725,11 +2904,11 @@ let pythonPackages = python.modules // rec { }; ttystatus = buildPythonPackage rec { - name = "ttystatus-0.18"; + name = "ttystatus-0.19"; src = fetchurl rec { - url = "http://code.liw.fi/debian/pool/main/p/python-ttystatus/python-ttystatus_0.18.orig.tar.gz"; - sha256 = "9fab747f3e1f474b66101354b06f943120d72d1f1e353b4692e7e6cca226b9cc"; + url = "http://code.liw.fi/debian/pool/main/p/python-ttystatus/python-ttystatus_0.19.orig.tar.gz"; + sha256 = "7cc112a4783f2e0c354c5244f8e50b18733b5957677b56a755c1016e04c0c28d"; }; buildInputs = [ sphinx ]; @@ -2745,11 +2924,11 @@ let pythonPackages = python.modules // rec { }; larch = buildPythonPackage rec { - name = "larch-0.31"; + name = "larch-1.20120527"; src = fetchurl rec { - url = "http://code.liw.fi/debian/pool/main/p/python-larch/python-larch_0.31.orig.tar.gz"; - sha256 = "18c243a45b35974c304c9b3d8b05718f1272f14c29cd3c9010800cf821064444"; + url = "http://code.liw.fi/debian/pool/main/p/python-larch/python-larch_1.20120527.orig.tar.gz"; + sha256 = "2865a1bfa6bd276bf746e8e7cb73d5199d0b6d00045d8c92e158626687d3bbe1"; }; buildInputs = [ sphinx ];