From 236f8c720da861408029c65e07b32b545365ab70 Mon Sep 17 00:00:00 2001 From: Bob van der Linden Date: Mon, 8 Jun 2015 19:33:23 +0200 Subject: [PATCH 01/72] added popcorntime package --- .../video/popcorntime/default.nix | 35 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/applications/video/popcorntime/default.nix diff --git a/pkgs/applications/video/popcorntime/default.nix b/pkgs/applications/video/popcorntime/default.nix new file mode 100644 index 000000000000..80ec5051daea --- /dev/null +++ b/pkgs/applications/video/popcorntime/default.nix @@ -0,0 +1,35 @@ +{ stdenv, pkgs, fetchurl, runCommand, makeWrapper, node_webkit_0_9 +}: + +let + node-webkit = node_webkit_0_9; + version = "0.3.7.2"; + popcorntimePackage = stdenv.mkDerivation rec { + name = "popcorntime-package-${version}"; + src = fetchurl { + url = "https://get.popcorntime.io/build/Popcorn-Time-${version}-Linux64.tar.xz"; + sha256 = "0lm9k4fr73a9p00i3xj2ywa4wvjf9csadm0pcz8d6imwwq44sa8b"; + }; + sourceRoot = "."; + installPhase = '' + mkdir -p $out + cp -r *.so *.pak $out/ + cat ${node-webkit}/bin/nw package.nw > $out/Popcorn-Time + chmod 555 $out/Popcorn-Time + ''; + }; +in + runCommand "popcorntime-${version}" { + buildInputs = [ makeWrapper ]; + meta = with stdenv.lib; { + homepage = http://popcorntime.io/; + description = "An application that streams movies and TV shows from torrents"; + license = stdenv.lib.licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ bobvanderlinden ]; + }; + } + '' + mkdir -p $out/bin + makeWrapper ${popcorntimePackage}/Popcorn-Time $out/bin/popcorntime + '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c7a08a428982..ffc4f347b1b8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2582,6 +2582,8 @@ let polkit_gnome = callPackage ../tools/security/polkit-gnome { }; + popcorntime = callPackage ../applications/video/popcorntime { }; + ponysay = callPackage ../tools/misc/ponysay { }; povray = callPackage ../tools/graphics/povray { From f2f0d98e53d6960610b2d811a8a364e7fa235417 Mon Sep 17 00:00:00 2001 From: Bob van der Linden Date: Fri, 19 Jun 2015 23:18:05 +0200 Subject: [PATCH 02/72] popcorntime: added support for i686-linux --- pkgs/applications/video/popcorntime/default.nix | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/video/popcorntime/default.nix b/pkgs/applications/video/popcorntime/default.nix index 80ec5051daea..8d294325a916 100644 --- a/pkgs/applications/video/popcorntime/default.nix +++ b/pkgs/applications/video/popcorntime/default.nix @@ -4,12 +4,21 @@ let node-webkit = node_webkit_0_9; version = "0.3.7.2"; + + srcs = { + x86_64-linux = fetchurl { + url = "https://get.popcorntime.io/build/Popcorn-Time-${version}-Linux64.tar.xz"; + sha256 = "0lm9k4fr73a9p00i3xj2ywa4wvjf9csadm0pcz8d6imwwq44sa8b"; + }; + i686-linux = fetchurl { + url = "https://get.popcorntime.io/build/Popcorn-Time-${version}-Linux32.tar.xz"; + sha256 = "1dz1cp31qbwamm9pf8ydmzzhnb6d9z73bigdv3y74dgicz3dpr91"; + }; + }; + popcorntimePackage = stdenv.mkDerivation rec { name = "popcorntime-package-${version}"; - src = fetchurl { - url = "https://get.popcorntime.io/build/Popcorn-Time-${version}-Linux64.tar.xz"; - sha256 = "0lm9k4fr73a9p00i3xj2ywa4wvjf9csadm0pcz8d6imwwq44sa8b"; - }; + src = srcs."${stdenv.system}"; sourceRoot = "."; installPhase = '' mkdir -p $out From e315d0599df1ba01a4bc9edbc1197a2544058d49 Mon Sep 17 00:00:00 2001 From: Bob van der Linden Date: Fri, 19 Jun 2015 23:19:00 +0200 Subject: [PATCH 03/72] popcorntime: allow different versions of node_webkit --- pkgs/applications/video/popcorntime/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/video/popcorntime/default.nix b/pkgs/applications/video/popcorntime/default.nix index 8d294325a916..ab22a30d866a 100644 --- a/pkgs/applications/video/popcorntime/default.nix +++ b/pkgs/applications/video/popcorntime/default.nix @@ -1,8 +1,7 @@ -{ stdenv, pkgs, fetchurl, runCommand, makeWrapper, node_webkit_0_9 +{ stdenv, pkgs, fetchurl, runCommand, makeWrapper, node_webkit ? pkgs.node_webkit_0_9 }: let - node-webkit = node_webkit_0_9; version = "0.3.7.2"; srcs = { @@ -23,7 +22,7 @@ let installPhase = '' mkdir -p $out cp -r *.so *.pak $out/ - cat ${node-webkit}/bin/nw package.nw > $out/Popcorn-Time + cat ${node_webkit}/bin/nw package.nw > $out/Popcorn-Time chmod 555 $out/Popcorn-Time ''; }; From bb10e48573ee9cd644fa7ecaf64ea5586b4ffc8d Mon Sep 17 00:00:00 2001 From: Bob van der Linden Date: Thu, 25 Jun 2015 19:05:52 +0200 Subject: [PATCH 04/72] popcorntime: don't use pkgs in argument --- pkgs/applications/video/popcorntime/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/popcorntime/default.nix b/pkgs/applications/video/popcorntime/default.nix index ab22a30d866a..0db56cc6fcd7 100644 --- a/pkgs/applications/video/popcorntime/default.nix +++ b/pkgs/applications/video/popcorntime/default.nix @@ -1,4 +1,4 @@ -{ stdenv, pkgs, fetchurl, runCommand, makeWrapper, node_webkit ? pkgs.node_webkit_0_9 +{ stdenv, fetchurl, runCommand, makeWrapper, node_webkit_0_9 }: let @@ -22,7 +22,7 @@ let installPhase = '' mkdir -p $out cp -r *.so *.pak $out/ - cat ${node_webkit}/bin/nw package.nw > $out/Popcorn-Time + cat ${node_webkit_0_9}/bin/nw package.nw > $out/Popcorn-Time chmod 555 $out/Popcorn-Time ''; }; From 658c8c5e38da54808c8a025a7aa2251554cbad8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Sat, 27 Jun 2015 14:18:31 +0200 Subject: [PATCH 05/72] eyeD3: fix and update to 0.7.8 --- pkgs/top-level/python-packages.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c324ae1c00c7..93b74c805144 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3006,20 +3006,21 @@ let eyeD3 = buildPythonPackage rec { - version = "0.7.4"; + version = "0.7.8"; name = "eyeD3-${version}"; disabled = isPyPy; src = pkgs.fetchurl { - url = "http://eyed3.nicfit.net/releases/${name}.tgz"; - sha256 = "001hzgqqnf2ig432mq78jsxidpky2rl2ilm28xwjp32vzphycf51"; + url = "http://eyed3.nicfit.net/releases/${name}.tar.gz"; + sha256 = "1nv7nhfn1d0qm7rgkzksbccgqisng8klf97np0nwaqwd5dbmdf86"; }; buildInputs = with self; [ paver ]; postInstall = '' for prog in "$out/bin/"*; do - wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" + wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" \ + --prefix PATH : ${python}/bin done ''; From 8658ab967548837389dc9530bd69585e46900ef0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Sat, 27 Jun 2015 14:19:22 +0200 Subject: [PATCH 06/72] abcde: update to 2.7 and fix mp3 tagging It now depends on eyeD3 (python), but that's an upstream decision. --- pkgs/applications/audio/abcde/default.nix | 16 ++++++++-------- pkgs/top-level/all-packages.nix | 1 + 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/audio/abcde/default.nix b/pkgs/applications/audio/abcde/default.nix index b8c8c183753e..eec1bdcf31cd 100644 --- a/pkgs/applications/audio/abcde/default.nix +++ b/pkgs/applications/audio/abcde/default.nix @@ -1,18 +1,18 @@ -{ stdenv, fetchurl, libcdio, cddiscid, wget, bash, vorbisTools, id3v2, lame, flac, eject, mkcue +{ stdenv, fetchurl, libcdio, cddiscid, wget, bash, vorbisTools, id3v2, eyeD3 +, lame, flac, eject, mkcue , perl, DigestSHA, MusicBrainz, MusicBrainzDiscID , makeWrapper }: -let version = "2.6"; +let version = "2.7"; in stdenv.mkDerivation { name = "abcde-${version}"; src = fetchurl { - url = "mirror://debian/pool/main/a/abcde/abcde_${version}.orig.tar.gz"; - sha256 = "0y2cg233n2hixs0ji76dggpzgf52v4c4mnpwiai889ql2piafgk8"; + url = "http://abcde.einval.com/download/abcde-${version}.tar.gz"; + sha256 = "0ikpffzvacadh6vj9qlary8126j1zrd2knp9gvivmp7y1656jj01"; }; - # FIXME: This package does not support MP3 encoding (only Ogg), - # nor `distmp3', `eject', etc. + # FIXME: This package does not support `distmp3', `eject', etc. patches = [ ./abcde.patch ]; @@ -50,7 +50,7 @@ in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl' wrapProgram "$out/bin/abcde" --prefix PATH ":" \ - "$out/bin:${libcdio}/bin:${cddiscid}/bin:${wget}/bin:${vorbisTools}/bin:${id3v2}/bin:${lame}/bin" + "$out/bin:${libcdio}/bin:${cddiscid}/bin:${wget}/bin:${vorbisTools}/bin:${id3v2}/bin:${eyeD3}/bin:${lame}/bin" wrapProgram "$out/bin/cddb-tool" --prefix PATH ":" \ "${wget}/bin" @@ -60,7 +60,7 @@ in ''; meta = { - homepage = "http://lly.org/~rcw/abcde/page/"; + homepage = http://abcde.einval.com/wiki/; license = stdenv.lib.licenses.gpl2Plus; description = "Command-line audio CD ripper"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6cf9fed11ae2..6b73976de7ef 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10407,6 +10407,7 @@ let abcde = callPackage ../applications/audio/abcde { inherit (perlPackages) DigestSHA MusicBrainz MusicBrainzDiscID; + inherit (pythonPackages) eyeD3; libcdio = libcdio082; }; From 7ea32d390b292f780ce00f494441f6179b4395b0 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sat, 27 Jun 2015 19:40:56 +0200 Subject: [PATCH 07/72] mdp: 0.93 -> 1.0.0 --- pkgs/applications/misc/mdp/default.nix | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/misc/mdp/default.nix b/pkgs/applications/misc/mdp/default.nix index 2e94414235db..02202fd332c9 100644 --- a/pkgs/applications/misc/mdp/default.nix +++ b/pkgs/applications/misc/mdp/default.nix @@ -1,13 +1,12 @@ -{ stdenv, fetchFromGitHub, ncurses }: +{ stdenv, fetchurl, ncurses }: -stdenv.mkDerivation { - name = "mdp-0.93"; +stdenv.mkDerivation rec { + version = "1.0.0"; + name = "mdp-${version}"; - src = fetchFromGitHub { - owner = "visit1985"; - repo = "mdp"; - rev = "09d6bd1a8a33fac75a999f0822ec10cb77fbc072"; - sha256 = "0ksa0zqzv1yb8nspxp2vww7bp9y99pcma1vx3cixd3qb5y5ljn1n"; + src = fetchurl { + url = "https://github.com/visit1985/mdp/archive/${version}.tar.gz"; + sha256 = "1xkmzcwa5ml1xfv92brwirnm00a44jkj7wpfimxbny98zgmad8vn"; }; makeFlags = "PREFIX=$(out)"; From c37e2745bd82050b9b238c04d512bfb7652aa07e Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sat, 27 Jun 2015 19:41:11 +0200 Subject: [PATCH 08/72] mdp: Add license, pkg maintainer --- pkgs/applications/misc/mdp/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/misc/mdp/default.nix b/pkgs/applications/misc/mdp/default.nix index 02202fd332c9..aa2045cc8e86 100644 --- a/pkgs/applications/misc/mdp/default.nix +++ b/pkgs/applications/misc/mdp/default.nix @@ -13,8 +13,10 @@ stdenv.mkDerivation rec { buildInputs = [ ncurses ]; - meta = { + meta = with stdenv.lib; { homepage = https://github.com/visit1985/mdp; description = "A command-line based markdown presentation tool"; + maintainers = with maintainers; [ matthiasbeyer ]; + license = licenses.gpl3; }; } From ca2cf48e1035c3f92579efe3825e787292c0c182 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 27 Jun 2015 11:31:10 -0700 Subject: [PATCH 09/72] tinc_pre: 2015-05-15 -> 2015-06-20 --- pkgs/tools/networking/tinc/pre.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/tinc/pre.nix b/pkgs/tools/networking/tinc/pre.nix index 2eb003bacb0c..f05ffdd6a467 100644 --- a/pkgs/tools/networking/tinc/pre.nix +++ b/pkgs/tools/networking/tinc/pre.nix @@ -1,12 +1,12 @@ { stdenv, fetchgit, autoreconfHook, texinfo, ncurses, readline, zlib, lzo, openssl }: stdenv.mkDerivation rec { - name = "tinc-1.1pre-2015-05-15"; + name = "tinc-1.1pre-2015-06-20"; src = fetchgit { url = "git://tinc-vpn.org/tinc"; - rev = "613c121cdceec0199dc4d056857be021ed1d21de"; - sha256 = "1l99bvqmb35hwb63fcy9gbjxasxnrgqw3i9f14f26dq3sz2j035l"; + rev = "ebffa40aa7832459f63801e3a91cc741e6b339a8"; + sha256 = "0yp40n5cgfadd7lmi28qv7cf5s14qqw5ga76y5xd0fjpacv6akcp"; }; buildInputs = [ autoreconfHook texinfo ncurses readline zlib lzo openssl ]; From 512beee9621b2cd7610b112cd9bb0d8f1d4d95dd Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 27 Jun 2015 12:38:21 -0700 Subject: [PATCH 10/72] zeroc-ice: 3.5.1 -> 3.6.0 --- .../libraries/zeroc-ice/default.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/zeroc-ice/default.nix b/pkgs/development/libraries/zeroc-ice/default.nix index 29e92d0b6ece..d89fae5c9649 100644 --- a/pkgs/development/libraries/zeroc-ice/default.nix +++ b/pkgs/development/libraries/zeroc-ice/default.nix @@ -1,24 +1,29 @@ -{ stdenv, fetchurl, mcpp, bzip2, expat, openssl, db5 }: +{ stdenv, fetchFromGitHub, mcpp, bzip2, expat, openssl, db5 }: stdenv.mkDerivation rec { - name = "zeroc-ice-3.5.1"; + name = "zeroc-ice-${version}"; + version = "3.6.0"; - src = fetchurl { - url = "http://www.zeroc.com/download/Ice/3.5/Ice-3.5.1.tar.gz"; - sha256 = "14pk794p0fq3hcp50xmqnf9pp15dggiqhcnsav8xpnka9hcm37lq"; + src = fetchFromGitHub { + owner = "zeroc-ice"; + repo = "ice"; + rev = "v${version}"; + sha256 = "192lhynf369bbrvbb9nldc49n09kyxp8vg8j9d7w5h2c1yxpjgjq"; }; buildInputs = [ mcpp bzip2 expat openssl db5 ]; buildPhase = '' cd cpp - make OPTIMIZE=yes + make -j $NIX_BUILD_CORES OPTIMIZE=yes ''; installPhase = '' - make prefix=$out install + make -j $NIX_BUILD_CORES prefix=$out install ''; + enableParallelBuilding = true; + meta = with stdenv.lib; { homepage = "http://www.zeroc.com/ice.html"; description = "The internet communications engine"; From cab3572e99c7266c507174cb073fcb2f91ef154c Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 27 Jun 2015 12:39:52 -0700 Subject: [PATCH 11/72] btrfsprogs: 4.0.1 -> 4.1 --- pkgs/tools/filesystems/btrfsprogs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix index c50367726db4..7b29e0a783be 100644 --- a/pkgs/tools/filesystems/btrfsprogs/default.nix +++ b/pkgs/tools/filesystems/btrfsprogs/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, pkgconfig, attr, acl, zlib, libuuid, e2fsprogs, lzo , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt }: -let version = "4.0.1"; in +let version = "4.1"; in stdenv.mkDerivation (rec { name = "btrfs-progs-${version}"; src = fetchurl { url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz"; - sha256 = "1jwk0bnb4nvhw6b7i9mw5wkvqc6igx99qqg8zwpaj5nxkvki0bic"; + sha256 = "1s5pzvi30mivxgbkx7nbqn38pfiw20rdnd6xiqsyfj7rpffzzimb"; }; buildInputs = [ From ae7d918499ff7d9933f68dd493262943c0e20c62 Mon Sep 17 00:00:00 2001 From: Arseniy Seroka Date: Sun, 28 Jun 2015 00:27:26 +0300 Subject: [PATCH 12/72] sip: 4.16.4 -> 4.16.6 --- pkgs/development/python-modules/sip/4.16.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/sip/4.16.nix b/pkgs/development/python-modules/sip/4.16.nix index b10852d17f39..adb6c7ef80d6 100644 --- a/pkgs/development/python-modules/sip/4.16.nix +++ b/pkgs/development/python-modules/sip/4.16.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, python, isPyPy }: if isPyPy then throw "sip not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec { - name = "sip-4.16.4"; + name = "sip-4.16.6"; src = fetchurl { url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz"; - sha256 = "1xapklcz5ndilax0gr2h1fqzhdzh7yvxfb3y0rxfcag1qlzl9nnf"; + sha256 = "0lj5f581dkwswlwpg7lbicqf940dvrp8vjbkhmyywd99ynxb4zcc"; }; configurePhase = '' From f893ac062256017c40d69b826e09eaa8792c7f1f Mon Sep 17 00:00:00 2001 From: Arseniy Seroka Date: Sat, 27 Jun 2015 23:15:18 +0300 Subject: [PATCH 13/72] pyqt5: 5.3 -> 5.4.2 --- pkgs/development/python-modules/pyqt/5.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix index 83dac459284c..7d5b4e3ec470 100644 --- a/pkgs/development/python-modules/pyqt/5.x.nix +++ b/pkgs/development/python-modules/pyqt/5.x.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, python, pkgconfig, qt5, sip, pythonDBus, lndir, makeWrapper }: let - version = "5.3"; + version = "5.4.2"; in stdenv.mkDerivation { name = "PyQt-${version}"; @@ -15,7 +15,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt-gpl-${version}.tar.gz"; - sha256 = "0xc1cc68fi989rfybibimhhi3mqn3b93n0p3jdqznzabgilcb1m2"; + sha256 = "1402n5kwzd973b65avxk1j9js96wzfm0yw4rshjfy8l7an00bnac"; }; buildInputs = [ python pkgconfig makeWrapper lndir qt5 ]; From 511fc648b53398c618ac0fa8e8e5869813aee06b Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 27 Jun 2015 14:33:21 -0700 Subject: [PATCH 14/72] keepalived: Add derivation --- pkgs/tools/networking/keepalived/default.nix | 35 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/tools/networking/keepalived/default.nix diff --git a/pkgs/tools/networking/keepalived/default.nix b/pkgs/tools/networking/keepalived/default.nix new file mode 100644 index 000000000000..8331e4af6833 --- /dev/null +++ b/pkgs/tools/networking/keepalived/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, openssl, net_snmp }: + +stdenv.mkDerivation rec { + name = "keepalived-1.2.17"; + + src = fetchurl { + url = "http://keepalived.org/software/${name}.tar.gz"; + sha256 = "1w7px8phx3pyb3b56m3nz1a9ncx26q34fgy8j4n2dpi284jmqm6z"; + }; + + buildInputs = [ openssl net_snmp ]; + + postPatch = '' + sed -i 's,$(DESTDIR)/usr/share,$out/share,g' Makefile.in + ''; + + configureFlags = [ + "--sysconfdir=/etc" + "--localstatedir=/var" + "--enable-snmp" + "--enable-sha1" + ]; + + installFlags = [ + "sysconfdir=\${out}/etc" + ]; + + meta = with stdenv.lib; { + homepage = http://keepalived.org; + description = "routing software written in C"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ wkennington ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 118a4e5e49a2..dff4a09436b8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1927,6 +1927,8 @@ let kdbplus = callPackage_i686 ../applications/misc/kdbplus { }; + keepalived = callPackage ../tools/networking/keepalived { }; + kexectools = callPackage ../os-specific/linux/kexectools { }; keybase = callPackage ../applications/misc/keybase { }; From b6adf14ebfc7e598d97ae88450b217ed9000c4d2 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 27 Jun 2015 15:34:35 -0700 Subject: [PATCH 15/72] reiserfsprogs: Fix gcc5 compiling --- pkgs/tools/filesystems/reiserfsprogs/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/tools/filesystems/reiserfsprogs/default.nix b/pkgs/tools/filesystems/reiserfsprogs/default.nix index 899f94639518..e41318a982c2 100644 --- a/pkgs/tools/filesystems/reiserfsprogs/default.nix +++ b/pkgs/tools/filesystems/reiserfsprogs/default.nix @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { buildInputs = [ libuuid ]; + NIX_CFLAGS_COMPILE = "-std=gnu90"; + meta = { inherit version; homepage = http://www.namesys.com/; From 06b2804bea7f83e9cf68fbc40360e8a4697344d9 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 27 Jun 2015 15:49:30 -0700 Subject: [PATCH 16/72] memtest86+: Make compatible with gcc5 --- pkgs/tools/misc/memtest86+/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/misc/memtest86+/default.nix b/pkgs/tools/misc/memtest86+/default.nix index dbd5a46e10ab..7e3824263365 100644 --- a/pkgs/tools/misc/memtest86+/default.nix +++ b/pkgs/tools/misc/memtest86+/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { fi ''; - NIX_CFLAGS_COMPILE = "-I."; + NIX_CFLAGS_COMPILE = "-I. -std=gnu90"; buildFlags = "memtest.bin"; From 6209961810837508bf63ba1cb4666c44fc4c2d24 Mon Sep 17 00:00:00 2001 From: Kirill Elagin Date: Sun, 28 Jun 2015 01:10:32 +0300 Subject: [PATCH 17/72] pyqt5: make it actually 5.4.2 --- pkgs/development/python-modules/pyqt/5.x.nix | 5 ++++- pkgs/top-level/python-packages.nix | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix index 7d5b4e3ec470..b89052602d9a 100644 --- a/pkgs/development/python-modules/pyqt/5.x.nix +++ b/pkgs/development/python-modules/pyqt/5.x.nix @@ -18,7 +18,10 @@ in stdenv.mkDerivation { sha256 = "1402n5kwzd973b65avxk1j9js96wzfm0yw4rshjfy8l7an00bnac"; }; - buildInputs = [ python pkgconfig makeWrapper lndir qt5 ]; + buildInputs = [ + python pkgconfig makeWrapper lndir + qt5.base qt5.svg qt5.webkit + ]; propagatedBuildInputs = [ sip ]; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a299f9312782..334eb8f083d5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -171,7 +171,7 @@ let pyqt5 = callPackage ../development/python-modules/pyqt/5.x.nix { sip = self.sip_4_16; pythonDBus = self.dbus; - qt5 = pkgs.qt53; + qt5 = pkgs.qt5; }; sip = callPackage ../development/python-modules/sip { }; From e2398a2361d1f3c2f6e46ff6cb3b5f92f39a21a2 Mon Sep 17 00:00:00 2001 From: Kirill Elagin Date: Sun, 28 Jun 2015 02:22:48 +0300 Subject: [PATCH 18/72] qutebrowser: update to git master MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit qutebrowser is actively developed, sticking to stable versions doesn’t make any sense. Also fixed formatting. --- .../browsers/qutebrowser/default.nix | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index d97f36f1151f..f0c411f45706 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -1,25 +1,27 @@ -{ stdenv, fetchurl, python, buildPythonPackage, qt5, pyqt5, jinja2, pygments, pyyaml, pypeg2}: +{ stdenv, fetchgit, python, buildPythonPackage, qt5, pyqt5, jinja2, pygments, pyyaml, pypeg2 }: -let version = "0.2.1"; in +let version = "0.3-pre"; in buildPythonPackage { name = "qutebrowser-${version}"; namePrefix = ""; - - src = fetchurl { - url = "https://github.com/The-Compiler/qutebrowser/releases/download/v${version}/qutebrowser-${version}.tar.gz"; - sha256 = "b741a1a0336b8d36133603a3318d1c4c63c9abf50212919200cd2ae665b07111"; - }; - # Needs tox - doCheck = false; - propagatedBuildInputs = [ - python pyyaml pyqt5 jinja2 pygments pypeg2 - ]; - - meta = { - homepage = https://github.com/The-Compiler/qutebrowser; - description = "Keyboard-focused browser with a minimal GUI"; - license = stdenv.lib.licenses.gpl3Plus; + src = fetchgit { + url = "https://github.com/The-Compiler/qutebrowser.git"; + rev = "f31f254d9bf3ffd4ef95089f4924e5c45d8c0f78"; + sha256 = "0virh71q9qyh7ggk5p6h3gjv30gr2jn8am6yq8xzbslchck0rkcr"; + }; + + # Needs tox + doCheck = false; + + propagatedBuildInputs = [ + python pyyaml pyqt5 jinja2 pygments pypeg2 + ]; + + meta = { + homepage = https://github.com/The-Compiler/qutebrowser; + description = "Keyboard-focused browser with a minimal GUI"; + license = stdenv.lib.licenses.gpl3Plus; }; } From f49e9ce1bee0f0b20dd5ece0e5b8f527c583c64c Mon Sep 17 00:00:00 2001 From: Kirill Elagin Date: Sun, 28 Jun 2015 02:38:01 +0300 Subject: [PATCH 19/72] qutebrowser: Add @jagajaga as a maintainer --- pkgs/applications/networking/browsers/qutebrowser/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index f0c411f45706..f93ec35db341 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -23,5 +23,6 @@ buildPythonPackage { homepage = https://github.com/The-Compiler/qutebrowser; description = "Keyboard-focused browser with a minimal GUI"; license = stdenv.lib.licenses.gpl3Plus; + maintainers = [ stdenv.lib.maintainers.jagajaga ]; }; } From 3ea1c5bc0c40342e4270443d6f8808210de4a045 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 27 Jun 2015 19:59:44 -0700 Subject: [PATCH 20/72] keepalived: Add libnl support --- pkgs/tools/networking/keepalived/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/keepalived/default.nix b/pkgs/tools/networking/keepalived/default.nix index 8331e4af6833..1e4e6f820926 100644 --- a/pkgs/tools/networking/keepalived/default.nix +++ b/pkgs/tools/networking/keepalived/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, openssl, net_snmp }: +{ stdenv, fetchurl, openssl, net_snmp, libnl }: stdenv.mkDerivation rec { name = "keepalived-1.2.17"; @@ -8,12 +8,16 @@ stdenv.mkDerivation rec { sha256 = "1w7px8phx3pyb3b56m3nz1a9ncx26q34fgy8j4n2dpi284jmqm6z"; }; - buildInputs = [ openssl net_snmp ]; + buildInputs = [ openssl net_snmp libnl ]; postPatch = '' sed -i 's,$(DESTDIR)/usr/share,$out/share,g' Makefile.in ''; + # It doesn't know about the include/libnl directory + NIX_CFLAGS_COMPILE="-I${libnl}/include/libnl3"; + NIX_LDFLAGS="-lnl-3 -lnl-genl-3"; + configureFlags = [ "--sysconfdir=/etc" "--localstatedir=/var" From 90d041b4b5e530b8c818cfa0d0395b7db2ff1d35 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 27 Jun 2015 23:19:05 -0700 Subject: [PATCH 21/72] keepalived: Fix ip release --- pkgs/tools/networking/keepalived/default.nix | 3 ++ .../keepalived/fix-ip-release.patch | 39 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 pkgs/tools/networking/keepalived/fix-ip-release.patch diff --git a/pkgs/tools/networking/keepalived/default.nix b/pkgs/tools/networking/keepalived/default.nix index 1e4e6f820926..8ad0021e6aed 100644 --- a/pkgs/tools/networking/keepalived/default.nix +++ b/pkgs/tools/networking/keepalived/default.nix @@ -10,6 +10,9 @@ stdenv.mkDerivation rec { buildInputs = [ openssl net_snmp libnl ]; + # Remove in 1.2.18 + patches = [ ./fix-ip-release.patch ]; + postPatch = '' sed -i 's,$(DESTDIR)/usr/share,$out/share,g' Makefile.in ''; diff --git a/pkgs/tools/networking/keepalived/fix-ip-release.patch b/pkgs/tools/networking/keepalived/fix-ip-release.patch new file mode 100644 index 000000000000..0fa828a3ee53 --- /dev/null +++ b/pkgs/tools/networking/keepalived/fix-ip-release.patch @@ -0,0 +1,39 @@ +From d80c171e7e8fe7fb4e0878a15027ac80c23b0a14 Mon Sep 17 00:00:00 2001 +From: David Stapleton +Date: Mon, 15 Jun 2015 13:07:21 +0100 +Subject: [PATCH] Fix vrrp removes incorrect IPv4 address when VIPs are removed + +When vrrp has an IPv4 VIP that matches the primary interface +address, when the VIP is removed from the interface, the original +address ends up getting removed instead of the VIP. + +The kernel receives a netlink message instructing it to remove +address x from a particular interface. For IPv4, address x can +be configured multiple times providing the prefix lengths differ. +If the IFA_ADDRESS attribute is not specified in a RTM_DELADDR +message, the kernel will delete the first address it finds a +match on, prefix length is not taken into account. + +This fix therefore adds the IFA_ADDRESS attribute when deleting +IPv4 addresses so that the address removed is actually the VIP. +--- + keepalived/vrrp/vrrp_ipaddress.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/keepalived/vrrp/vrrp_ipaddress.c b/keepalived/vrrp/vrrp_ipaddress.c +index 0f9ce23..698f35c 100644 +--- a/keepalived/vrrp/vrrp_ipaddress.c ++++ b/keepalived/vrrp/vrrp_ipaddress.c +@@ -86,6 +86,9 @@ netlink_ipaddress(ip_address_t *ipaddress, int cmd) + } else { + addattr_l(&req.n, sizeof(req), IFA_LOCAL, + &ipaddress->u.sin.sin_addr, sizeof(ipaddress->u.sin.sin_addr)); ++ if (cmd == IPADDRESS_DEL) ++ addattr_l(&req.n, sizeof(req), IFA_ADDRESS, ++ &ipaddress->u.sin.sin_addr, sizeof(ipaddress->u.sin.sin_addr)); + if (ipaddress->u.sin.sin_brd.s_addr) + addattr_l(&req.n, sizeof(req), IFA_BROADCAST, + &ipaddress->u.sin.sin_brd, sizeof(ipaddress->u.sin.sin_brd)); +-- +2.4.4 + From 124a61f10d6c93440a9733b665ff6fdea2c90969 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 28 Jun 2015 13:41:27 +0300 Subject: [PATCH 22/72] Fix alternative samba configuration evaluations --- pkgs/servers/samba/4.x.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix index ab3aac54cddf..1d957a8ec607 100644 --- a/pkgs/servers/samba/4.x.nix +++ b/pkgs/servers/samba/4.x.nix @@ -61,11 +61,13 @@ stdenv.mkDerivation rec { "--enable-fhs" "--sysconfdir=/etc" "--localstatedir=/var" - "--bundled-libraries=${if enableKerberos && kerberos.implementation == "heimdal" then "NONE" else "com_err"}" + "--bundled-libraries=${if enableKerberos && kerberos != null && + kerberos.implementation == "heimdal" then "NONE" else "com_err"}" "--private-libraries=NONE" "--builtin-libraries=replace" ] - ++ optional (enableKerberos && kerberos.implementation == "krb5") "--with-system-mitkrb5" + ++ optional (enableKerberos && kerberos != null && + kerberos.implementation == "krb5") "--with-system-mitkrb5" ++ optional (!enableDomainController) "--without-ad-dc" ++ optionals (!enableLDAP) [ "--without-ldap" "--without-ads" ]; From ed9dc1fd9e1dec564e74f7b95f87f84613c81040 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Tue, 9 Jun 2015 00:11:24 +0200 Subject: [PATCH 23/72] nixos: added gitit service --- nixos/modules/misc/ids.nix | 2 + nixos/modules/module-list.nix | 1 + nixos/modules/services/misc/gitit.nix | 659 ++++++++++++++++++++++++++ 3 files changed, 662 insertions(+) create mode 100644 nixos/modules/services/misc/gitit.nix diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index e6357d138cae..8a2cde50e1e2 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -223,6 +223,7 @@ nix-serve = 199; tvheadend = 200; uwsgi = 201; + gitit = 202; # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399! @@ -424,6 +425,7 @@ #nix-serve = 199; #unused #tvheadend = 200; #unused uwsgi = 201; + gitit = 202; # When adding a gid, make sure it doesn't match an existing # uid. Users and groups with the same name should have equal diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 12a6a9374ffb..042824bc8290 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -194,6 +194,7 @@ ./services/misc/etcd.nix ./services/misc/felix.nix ./services/misc/folding-at-home.nix + ./services/misc/gitit.nix ./services/misc/gitlab.nix ./services/misc/gitolite.nix ./services/misc/gpsd.nix diff --git a/nixos/modules/services/misc/gitit.nix b/nixos/modules/services/misc/gitit.nix new file mode 100644 index 000000000000..56e735d7356b --- /dev/null +++ b/nixos/modules/services/misc/gitit.nix @@ -0,0 +1,659 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.gitit; + + homeDir = "/var/lib/gitit"; + + gititShared = with cfg.haskellPackages; gitit + "/share/" + pkgs.stdenv.system + "-" + ghc.name + "/" + gitit.pname + "-" + gitit.version; + + gititWithPkgs = hsPkgs: extras: hsPkgs.ghcWithPackages (self: with self; [ gitit ] ++ (extras self)); + + gititSh = hsPkgs: extras: with pkgs; let + env = gititWithPkgs hsPkgs extras; + in writeScript "gitit" '' + #!${stdenv.shell} + cd $HOME + export PATH="${makeSearchPath "bin" ( + [ git curl ] ++ (if cfg.pdfExport == "yes" then [texLiveFull] else []) + )}:$PATH"; + export NIX_GHC="${env}/bin/ghc" + export NIX_GHCPKG="${env}/bin/ghc-pkg" + export NIX_GHC_DOCDIR="${env}/share/doc/ghc/html" + export NIX_GHC_LIBDIR=$( $NIX_GHC --print-libdir ) + ${env}/bin/gitit -f ${configFile} + ''; + + gititOptions = let + + yesNo = types.enum [ "yes" "no" ]; + + in { + + enable = mkOption { + type = types.bool; + default = false; + description = "Enable the gitit service."; + }; + + haskellPackages = mkOption { + default = pkgs.haskellPackages; + defaultText = "pkgs.haskellPackages"; + example = literalExample "pkgs.haskell.packages.ghc784"; + description = "haskellPackages used to build gitit and plugins."; + }; + + extraPackages = mkOption { + default = self: []; + example = literalExample '' + haskellPackages: [ + haskellPackages.wreq + ] + ''; + description = '' + Extra packages available to ghc when running gitit. The + value must be a function which receives the attrset defined + in haskellPackages as the sole argument. + ''; + }; + + address = mkOption { + type = types.str; + default = "0.0.0.0"; + description = "IP address on which the web server will listen."; + }; + + port = mkOption { + type = types.int; + default = 5001; + description = "Port on which the web server will run."; + }; + + wikiTitle = mkOption { + type = types.str; + default = "Gitit!"; + description = "The wiki title."; + }; + + repositoryType = mkOption { + type = types.enum ["git" "darcs" "mercurial"]; + default = "git"; + description = "Specifies the type of repository used for wiki content."; + }; + + repositoryPath = mkOption { + type = types.path; + default = homeDir + "/wiki"; + description = '' + Specifies the path of the repository directory. If it does not + exist, gitit will create it on startup. + ''; + }; + + requireAuthentication = mkOption { + type = types.enum [ "none" "modify" "read" ]; + default = "modify"; + description = '' + If 'none', login is never required, and pages can be edited + anonymously. If 'modify', login is required to modify the wiki + (edit, add, delete pages, upload files). If 'read', login is + required to see any wiki pages. + ''; + }; + + authenticationMethod = mkOption { + type = types.enum [ "form" "http" "generic"]; + default = "form"; + description = '' + 'form' means that users will be logged in and registered using forms + in the gitit web interface. 'http' means that gitit will assume that + HTTP authentication is in place and take the logged in username from + the "Authorization" field of the HTTP request header (in addition, + the login/logout and registration links will be suppressed). + 'generic' means that gitit will assume that some form of + authentication is in place that directly sets REMOTE_USER to the name + of the authenticated user (e.g. mod_auth_cas on apache). 'rpx' means + that gitit will attempt to log in through https://rpxnow.com. This + requires that 'rpx-domain', 'rpx-key', and 'base-url' be set below, + and that 'curl' be in the system path. + ''; + }; + + userFile = mkOption { + type = types.path; + default = homeDir + "/gitit-users"; + description = '' + Specifies the path of the file containing user login information. If + it does not exist, gitit will create it (with an empty user list). + This file is not used if 'http' is selected for + authentication-method. + ''; + }; + + sessionTimeout = mkOption { + type = types.int; + default = 60; + description = '' + Number of minutes of inactivity before a session expires. + ''; + }; + + staticDir = mkOption { + type = types.path; + default = gititShared + "/data/static"; + description = '' + Specifies the path of the static directory (containing javascript, + css, and images). If it does not exist, gitit will create it and + populate it with required scripts, stylesheets, and images. + ''; + }; + + defaultPageType = mkOption { + type = types.enum [ "markdown" "rst" "latex" "html" "markdown+lhs" "rst+lhs" "latex+lhs" ]; + default = "markdown"; + description = '' + Specifies the type of markup used to interpret pages in the wiki. + Possible values are markdown, rst, latex, html, markdown+lhs, + rst+lhs, and latex+lhs. (the +lhs variants treat the input as + literate Haskell. See pandoc's documentation for more details.) If + Markdown is selected, pandoc's syntax extensions (for footnotes, + delimited code blocks, etc.) will be enabled. Note that pandoc's + restructuredtext parser is not complete, so some pages may not be + rendered correctly if rst is selected. The same goes for latex and + html. + ''; + }; + + math = mkOption { + type = types.enum [ "mathml" "raw" "mathjax" "jsmath" "google" ]; + default = "mathml"; + description = '' + Specifies how LaTeX math is to be displayed. Possible values are + mathml, raw, mathjax, jsmath, and google. If mathml is selected, + gitit will convert LaTeX math to MathML and link in a script, + MathMLinHTML.js, that allows the MathML to be seen in Gecko browsers, + IE + mathplayer, and Opera. In other browsers you may get a jumble of + characters. If raw is selected, the LaTeX math will be displayed as + raw LaTeX math. If mathjax is selected, gitit will link to the + remote mathjax script. If jsMath is selected, gitit will link to the + script /js/jsMath/easy/load.js, and will assume that jsMath has been + installed into the js/jsMath directory. This is the most portable + solution. If google is selected, the google chart API is called to + render the formula as an image. This requires a connection to google, + and might raise a technical or a privacy problem. + ''; + }; + + mathJaxScript = mkOption { + type = types.str; + default = "https://d3eoax9i5htok0.cloudfront.net/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"; + description = '' + Specifies the path to MathJax rendering script. You might want to + use your own MathJax script to render formulas without Internet + connection or if you want to use some special LaTeX packages. Note: + path specified there cannot be an absolute path to a script on your + hdd, instead you should run your (local if you wish) HTTP server + which will serve the MathJax.js script. You can easily (in four lines + of code) serve MathJax.js using + http://happstack.com/docs/crashcourse/FileServing.html Do not forget + the "http://" prefix (e.g. http://localhost:1234/MathJax.js). + ''; + }; + + showLhsBirdTracks = mkOption { + type = yesNo; + default = "no"; + description = '' + Specifies whether to show Haskell code blocks in "bird style", with + "> " at the beginning of each line. + ''; + }; + + templatesDir = mkOption { + type = types.path; + default = gititShared + "/data/templates"; + description = '' + Specifies the path of the directory containing page templates. If it + does not exist, gitit will create it with default templates. Users + may wish to edit the templates to customize the appearance of their + wiki. The template files are HStringTemplate templates. Variables to + be interpolated appear between $\'s. Literal $\'s must be + backslash-escaped. + ''; + }; + + logFile = mkOption { + type = types.path; + default = homeDir + "/gitit.log"; + description = '' + Specifies the path of gitit's log file. If it does not exist, gitit + will create it. The log is in Apache combined log format. + ''; + }; + + logLevel = mkOption { + type = types.enum [ "DEBUG" "INFO" "NOTICE" "WARNING" "ERROR" "CRITICAL" "ALERT" "EMERGENCY" ]; + default = "ERROR"; + description = '' + Determines how much information is logged. Possible values (from + most to least verbose) are DEBUG, INFO, NOTICE, WARNING, ERROR, + CRITICAL, ALERT, EMERGENCY. + ''; + }; + + frontPage = mkOption { + type = types.str; + default = "Front Page"; + description = '' + Specifies which wiki page is to be used as the wiki's front page. + Gitit creates a default front page on startup, if one does not exist + already. + ''; + }; + + noDelete = mkOption { + type = types.str; + default = "Front Page, Help"; + description = '' + Specifies pages that cannot be deleted through the web interface. + (They can still be deleted directly using git or darcs.) A + comma-separated list of page names. Leave blank to allow every page + to be deleted. + ''; + }; + + noEdit = mkOption { + type = types.str; + default = "Help"; + description = '' + Specifies pages that cannot be edited through the web interface. + Leave blank to allow every page to be edited. + ''; + }; + + defaultSummary = mkOption { + type = types.str; + default = ""; + description = '' + Specifies text to be used in the change description if the author + leaves the "description" field blank. If default-summary is blank + (the default), the author will be required to fill in the description + field. + ''; + }; + + tableOfContents = mkOption { + type = yesNo; + default = "yes"; + description = '' + Specifies whether to print a tables of contents (with links to + sections) on each wiki page. + ''; + }; + + plugins = mkOption { + type = types.path; + default = gititShared + "/plugins/Dot.hs"; + description = '' + Specifies a list of plugins to load. Plugins may be specified either + by their path or by their module name. If the plugin name starts + with Gitit.Plugin., gitit will assume that the plugin is an installed + module and will not try to find a source file. + Examples: + plugins: plugins/DotPlugin.hs, CapitalizeEmphasisPlugin.hs + plugins: plugins/DotPlugin + plugins: Gitit.Plugin.InterwikiLinks + ''; + }; + + useCache = mkOption { + type = yesNo; + default = "no"; + description = '' + Specifies whether to cache rendered pages. Note that if use-feed is + selected, feeds will be cached regardless of the value of use-cache. + ''; + }; + + cacheDir = mkOption { + type = types.path; + default = homeDir + "/cache"; + description = "Path where rendered pages will be cached."; + }; + + maxUploadSize = mkOption { + type = types.str; + default = "1000K"; + description = '' + Specifies an upper limit on the size (in bytes) of files uploaded + through the wiki's web interface. To disable uploads, set this to + 0K. This will result in the uploads link disappearing and the + _upload url becoming inactive. + ''; + }; + + maxPageSize = mkOption { + type = types.str; + default = "1000K"; + description = "Specifies an upper limit on the size (in bytes) of pages."; + }; + + debugMode = mkOption { + type = yesNo; + default = "no"; + description = "Causes debug information to be logged while gitit is running."; + }; + + compressResponses = mkOption { + type = yesNo; + default = "yes"; + description = "Specifies whether HTTP responses should be compressed."; + }; + + mimeTypesFile = mkOption { + type = types.path; + default = "/etc/mime/types.info"; + description = '' + Specifies the path of a file containing mime type mappings. Each + line of the file should contain two fields, separated by whitespace. + The first field is the mime type, the second is a file extension. + For example: + video/x-ms-wmx wmx + If the file is not found, some simple defaults will be used. + ''; + }; + + useReCaptcha = mkOption { + type = yesNo; + default = "no"; + description = '' + If "yes", causes gitit to use the reCAPTCHA service + (http://recaptcha.net) to prevent bots from creating accounts. + ''; + }; + + reCaptchaPrivateKey = mkOption { + type = with types; nullOr str; + default = null; + description = '' + Specifies the private key for the reCAPTCHA service. To get + these, you need to create an account at http://recaptcha.net. + ''; + }; + + reCaptchaPublicKey = mkOption { + type = with types; nullOr str; + default = null; + description = '' + Specifies the public key for the reCAPTCHA service. To get + these, you need to create an account at http://recaptcha.net. + ''; + }; + + accessQuestion = mkOption { + type = types.str; + default = "What is the code given to you by Ms. X?"; + description = '' + Specifies a question that users must answer when they attempt to + create an account + ''; + }; + + accessQuestionAnswers = mkOption { + type = types.str; + default = "RED DOG, red dog"; + description = '' + Specifies a question that users must answer when they attempt to + create an account, along with a comma-separated list of acceptable + answers. This can be used to institute a rudimentary password for + signing up as a user on the wiki, or as an alternative to reCAPTCHA. + Example: + access-question: What is the code given to you by Ms. X? + access-question-answers: RED DOG, red dog + ''; + }; + + rpxDomain = mkOption { + type = with types; nullOr str; + default = null; + description = '' + Specifies the domain and key of your RPX account. The domain is just + the prefix of the complete RPX domain, so if your full domain is + 'https://foo.rpxnow.com/', use 'foo' as the value of rpx-domain. + ''; + }; + + rpxKey = mkOption { + type = with types; nullOr str; + default = null; + description = "RPX account access key."; + }; + + mailCommand = mkOption { + type = types.str; + default = "sendmail %s"; + description = '' + Specifies the command to use to send notification emails. '%s' will + be replaced by the destination email address. The body of the + message will be read from stdin. If this field is left blank, + password reset will not be offered. + ''; + }; + + resetPasswordMessage = mkOption { + type = types.lines; + default = '' + > From: gitit@$hostname$ + > To: $useremail$ + > Subject: Wiki password reset + > + > Hello $username$, + > + > To reset your password, please follow the link below: + > http://$hostname$:$port$$resetlink$ + > + > Regards + ''; + description = '' + Gives the text of the message that will be sent to the user should + she want to reset her password, or change other registration info. + The lines must be indented, and must begin with '>'. The initial + spaces and '> ' will be stripped off. $username$ will be replaced by + the user's username, $useremail$ by her email address, $hostname$ by + the hostname on which the wiki is running (as returned by the + hostname system call), $port$ by the port on which the wiki is + running, and $resetlink$ by the relative path of a reset link derived + from the user's existing hashed password. If your gitit wiki is being + proxied to a location other than the root path of $port$, you should + change the link to reflect this: for example, to + http://$hostname$/path/to/wiki$resetlink$ or + http://gitit.$hostname$$resetlink$ + ''; + }; + + useFeed = mkOption { + type = yesNo; + default = "no"; + description = '' + Specifies whether an ATOM feed should be enabled (for the site and + for individual pages). + ''; + }; + + baseUrl = mkOption { + type = with types; nullOr str; + default = null; + description = '' + The base URL of the wiki, to be used in constructing feed IDs and RPX + token_urls. Set this if use-feed is 'yes' or authentication-method + is 'rpx'. + ''; + }; + + absoluteUrls = mkOption { + type = yesNo; + default = "no"; + description = '' + Make wikilinks absolute with respect to the base-url. So, for + example, in a wiki served at the base URL '/wiki', on a page + Sub/Page, the wikilink '[Cactus]()' will produce a link to + '/wiki/Cactus' if absolute-urls is 'yes', and a relative link to + 'Cactus' (referring to '/wiki/Sub/Cactus') if absolute-urls is 'no'. + ''; + }; + + feedDays = mkOption { + type = types.int; + default = 14; + description = "Number of days to be included in feeds."; + }; + + feedRefreshTime = mkOption { + type = types.int; + default = 60; + description = "Number of minutes to cache feeds before refreshing."; + }; + + pdfExport = mkOption { + type = yesNo; + default = "no"; + description = '' + If yes, PDF will appear in export options. PDF will be created using + pdflatex, which must be installed and in the path. Note that PDF + exports create significant additional server load. + ''; + }; + + pandocUserData = mkOption { + type = with types; nullOr path; + default = null; + description = '' + If a directory is specified, this will be searched for pandoc + customizations. These can include a templates/ directory for custom + templates for various export formats, an S5 directory for custom S5 + styles, and a reference.odt for ODT exports. If no directory is + specified, $HOME/.pandoc will be searched. See pandoc's README for + more information. + ''; + }; + + xssSanitize = mkOption { + type = yesNo; + default = "yes"; + description = '' + If yes, all HTML (including that produced by pandoc) is filtered + through xss-sanitize. Set to no only if you trust all of your users. + ''; + }; + }; + + configFile = pkgs.writeText "gitit.conf" '' + address: ${cfg.address} + port: ${toString cfg.port} + wiki-title: ${cfg.wikiTitle} + repository-type: ${cfg.repositoryType} + repository-path: ${cfg.repositoryPath} + require-authentication: ${cfg.requireAuthentication} + authentication-method: ${cfg.authenticationMethod} + user-file: ${cfg.userFile} + session-timeout: ${toString cfg.sessionTimeout} + static-dir: ${cfg.staticDir} + default-page-type: ${cfg.defaultPageType} + math: ${cfg.math} + mathjax-script: ${cfg.mathJaxScript} + show-lhs-bird-tracks: ${cfg.showLhsBirdTracks} + templates-dir: ${cfg.templatesDir} + log-file: ${cfg.logFile} + log-level: ${cfg.logLevel} + front-page: ${cfg.frontPage} + no-delete: ${cfg.noDelete} + no-edit: ${cfg.noEdit} + default-summary: ${cfg.defaultSummary} + table-of-contents: ${cfg.tableOfContents} + plugins: ${cfg.plugins} + use-cache: ${cfg.useCache} + cache-dir: ${cfg.cacheDir} + max-upload-size: ${cfg.maxUploadSize} + max-page-size: ${cfg.maxPageSize} + debug-mode: ${cfg.debugMode} + compress-responses: ${cfg.compressResponses} + mime-types-file: ${cfg.mimeTypesFile} + use-recaptcha: ${cfg.useReCaptcha} + recaptcha-private-key: ${toString cfg.reCaptchaPrivateKey} + recaptcha-public-key: ${toString cfg.reCaptchaPublicKey} + access-question: ${cfg.accessQuestion} + access-question-answers: ${cfg.accessQuestionAnswers} + rpx-domain: ${toString cfg.rpxDomain} + rpx-key: ${toString cfg.rpxKey} + mail-command: ${cfg.mailCommand} + reset-password-message: ${cfg.resetPasswordMessage} + use-feed: ${cfg.useFeed} + base-url: ${toString cfg.baseUrl} + absolute-urls: ${cfg.absoluteUrls} + feed-days: ${toString cfg.feedDays} + feed-refresh-time: ${toString cfg.feedRefreshTime} + pdf-export: ${cfg.pdfExport} + pandoc-user-data: ${toString cfg.pandocUserData} + xss-sanitize: ${cfg.xssSanitize} + ''; + +in + +{ + + options.services.gitit = gititOptions; + + config = mkIf cfg.enable { + + users.extraUsers.gitit = { + group = config.users.extraGroups.gitit.name; + description = "Gitit user"; + home = homeDir; + createHome = true; + uid = config.ids.uids.gitit; + }; + + users.extraGroups.gitit.gid = config.ids.gids.gitit; + + systemd.services.gitit = let + uid = toString config.ids.uids.gitit; + gid = toString config.ids.gids.gitit; + in { + description = "Git and Pandoc Powered Wiki"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + preStart = with cfg; '' + chown ${uid}:${gid} -R ${homeDir} + for dir in ${repositoryPath} ${staticDir} ${templatesDir} ${cacheDir} + do + if [ ! -d $dir ] + then + mkdir -p $dir + find $dir -type d -exec chmod 0750 {} + + find $dir -type f -exec chmod 0640 {} + + fi + done + cd ${repositoryPath} + if [ ! -d .git ] + then + ${pkgs.git}/bin/git init + ${pkgs.git}/bin/git config user.email "gitit@${config.networking.hostName}" + ${pkgs.git}/bin/git config user.name "gitit" + chown ${uid}:${gid} -R {repositoryPath} + fi + cd - + ''; + + serviceConfig = { + User = config.users.extraUsers.gitit.name; + Group = config.users.extraGroups.gitit.name; + ExecStart = with cfg; gititSh haskellPackages extraPackages; + }; + }; + }; +} + From da7355e562d79d23b10f32766b69e1b05eda5d0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Mon, 22 Jun 2015 20:10:15 +0200 Subject: [PATCH 24/72] pkgs.haskellPackages.gitit: unmark as broken --- pkgs/development/haskell-modules/configuration-common.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 4954e5b01c9e..c0d231616d96 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -851,9 +851,6 @@ self: super: { # https://github.com/DanielG/cabal-helper/issues/2 cabal-helper = overrideCabal super.cabal-helper (drv: { preCheck = "export HOME=$TMPDIR"; }); - # https://github.com/jgm/gitit/issues/494 - gitit = markBroken super.gitit; - # https://github.com/ekmett/comonad/issues/25 comonad = dontCheck super.comonad; From c45b5aba92cc6b7d7e3602335c97a084f2ed0144 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Thu, 30 Apr 2015 13:46:31 +0200 Subject: [PATCH 25/72] Document the different license base cases --- doc/meta.xml | 39 +++++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/doc/meta.xml b/doc/meta.xml index 14a01ccb3c07..b36f3915ec19 100644 --- a/doc/meta.xml +++ b/doc/meta.xml @@ -138,12 +138,39 @@ meta-attributes license - The license for the package. One from the - attribute set defined in - nixpkgs/lib/licenses.nix. Example: - stdenv.lib.licenses.gpl3. For details, see - . + + + The license, or licenses, for the package. One from the attribute set + defined in + nixpkgs/lib/licenses.nix. At this moment + using both a list of licenses and a single license is valid. If the + license field is in the form of a list representation, then it means + that parts of the package are licensed differently. Each license + should preferably be referenced by their attribute. The non-list + attribute value can also be a space delimited string representation of + the contained attribute shortNames or spdxIds. The following are all valid + examples: + + Single license referenced by attribute (preferred) + stdenv.lib.licenses.gpl3. + + Single license referenced by its attribute shortName (frowned upon) + "gpl3". + + Single license referenced by its attribute spdxId (frowned upon) + "GPL-3.0". + + Multiple licenses referenced by attribute (preferred) + with stdenv.lib.licenses; [ asl20 free ofl ]. + + Multiple licenses referenced as a space delimited string of attribute shortNames (frowned upon) + "asl20 free ofl". + + + For details, see . + + From d0633a28ffddb78f6a1e7340f67e3aad663c87d0 Mon Sep 17 00:00:00 2001 From: Leroy Hopson Date: Sun, 28 Jun 2015 22:34:44 +1200 Subject: [PATCH 26/72] Fix SSL/TLS support for shellinaboxd shellinboxd was not finding libssl.so in it's library path, so it was falling back to ssl disabled mode. Also, the path to openssl was hardcoded to /usr/bin/openssl, so shellinaboxd could not generate SSL certificates once libssl.so was added to LD_LIBRARY_PATH. --- pkgs/servers/shellinabox/default.nix | 31 ++++++++++++++++++---------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/pkgs/servers/shellinabox/default.nix b/pkgs/servers/shellinabox/default.nix index 2d827c737d8b..5d870c7e6bd8 100644 --- a/pkgs/servers/shellinabox/default.nix +++ b/pkgs/servers/shellinabox/default.nix @@ -1,29 +1,38 @@ -{ stdenv, fetchurl, pam, openssl, openssh, shadow }: +{ stdenv, fetchurl, pam, openssl, openssh, shadow, makeWrapper }: -stdenv.mkDerivation { - name = "shellinabox-2.14"; +stdenv.mkDerivation rec { + version = "2.14"; + name = "shellinabox-${version}"; src = fetchurl { - url = "https://shellinabox.googlecode.com/files/shellinabox-2.14.tar.gz"; + url = "https://shellinabox.googlecode.com/files/shellinabox-${version}.tar.gz"; sha1 = "9e01f58c68cb53211b83d0f02e676e0d50deb781"; }; - buildInputs = [pam openssl openssh]; + buildInputs = [ pam openssl openssh makeWrapper ]; patches = [ ./shellinabox-minus.patch ]; - # Disable GSSAPIAuthentication errors as well as correct hardcoded path. Take /usr/games's place. + # Disable GSSAPIAuthentication errors. Also, paths in certain source files are + # hardcoded. Replace the hardcoded paths with correct paths. preConfigure = '' substituteInPlace ./shellinabox/service.c --replace "-oGSSAPIAuthentication=no" "" substituteInPlace ./shellinabox/launcher.c --replace "/usr/games" "${openssh}/bin" substituteInPlace ./shellinabox/service.c --replace "/bin/login" "${shadow}/bin/login" substituteInPlace ./shellinabox/launcher.c --replace "/bin/login" "${shadow}/bin/login" - ''; - meta = { + substituteInPlace ./libhttp/ssl.c --replace "/usr/bin" "${openssl}/bin" + ''; + + postInstall = '' + wrapProgram $out/bin/shellinaboxd \ + --prefix LD_LIBRARY_PATH : ${openssl}/lib + ''; + + meta = with stdenv.lib; { homepage = https://code.google.com/p/shellinabox; description = "Web based AJAX terminal emulator"; - license = stdenv.lib.licenses.gpl2; - maintainers = [stdenv.lib.maintainers.tomberek]; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2; + maintainers = with maintainers; [ tomberek lihop ]; + platforms = platforms.linux; }; } From 0d24a16bdf2aa06db1fdceb765c439fa9626ec59 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 28 Jun 2015 19:06:26 +0300 Subject: [PATCH 27/72] Minimal fix to make XConq playable again --- pkgs/games/xconq/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/games/xconq/default.nix b/pkgs/games/xconq/default.nix index 1af7f42beb1e..413ecccc76ef 100644 --- a/pkgs/games/xconq/default.nix +++ b/pkgs/games/xconq/default.nix @@ -1,5 +1,6 @@ x@{builderDefsPackage , rpm, cpio, xproto, libX11, libXmu, libXaw, libXt, tcl, tk, libXext + , fontconfig , makeWrapper , ...}: builderDefsPackage @@ -33,7 +34,7 @@ rec { phaseNames = ["addInputs" "doUnpack" "fixMakefiles" "fixCfiles" "fixTCLfiles" "doConfigure" "doMakeInstall" "doWrap"]; - doWrap = a.makeManyWrappers ''$out/bin/*'' ''--prefix TCLLIBPATH : "${tk}/lib"''; + doWrap = a.makeManyWrappers ''$out/bin/*'' ''--prefix TCLLIBPATH ' ' "${tk}/lib"''; fixMakefiles = a.fullDepEntry '' find . -name 'Makefile.in' -exec sed -re 's@^ ( *)(cd|[&][&])@ \1\2@' -i '{}' ';' From 52339c7c70069269239ab5b3cfa4bb3edbeac3df Mon Sep 17 00:00:00 2001 From: Phil Scott Date: Sun, 28 Jun 2015 16:17:51 +0000 Subject: [PATCH 28/72] tome4: add new maintainer --- lib/maintainers.nix | 1 + pkgs/games/tome4/default.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/maintainers.nix b/lib/maintainers.nix index e5a199e2181d..2aeedbfa9c2b 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -56,6 +56,7 @@ cdepillabout = "Dennis Gosnell "; cfouche = "Chaddaï Fouché "; chaoflow = "Florian Friesdorf "; + chattered = "Phil Scott "; christopherpoole = "Christopher Mark Poole "; coconnor = "Corey O'Connor "; codyopel = "Cody Opel "; diff --git a/pkgs/games/tome4/default.nix b/pkgs/games/tome4/default.nix index 8ff82767cb7a..7b7b0808aa99 100644 --- a/pkgs/games/tome4/default.nix +++ b/pkgs/games/tome4/default.nix @@ -24,6 +24,7 @@ stdenv.mkDerivation rec { meta = { homepage = "http://te4.org/"; description = "Tales of Maj'eyal (rogue-like game)"; + maintainers = [ stdenv.lib.maintainers.chattered ]; license = stdenv.lib.licenses.gpl3; }; } From b0ad2da4ede8413c3bba63325493a125d0f242b0 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Mon, 8 Jun 2015 01:13:44 +0300 Subject: [PATCH 29/72] dtc: init at 1.4.1 Compiling U-Boot for the Jetson TK1 board requires this. --- pkgs/development/compilers/dtc/default.nix | 24 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/development/compilers/dtc/default.nix diff --git a/pkgs/development/compilers/dtc/default.nix b/pkgs/development/compilers/dtc/default.nix new file mode 100644 index 000000000000..84673dfc7245 --- /dev/null +++ b/pkgs/development/compilers/dtc/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchgit, flex, bison }: + +stdenv.mkDerivation rec { + name = "dtc-${version}"; + version = "1.4.1"; + + src = fetchgit { + url = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git"; + rev = "refs/tags/v${version}"; + sha256 = "0z7yrv0sdhsh5wwy7yd1fvs4pqaq0n9m5i8w65lyibg77ahkasdg"; + }; + + buildInputs = [ flex bison ]; + + installFlags = [ "INSTALL=install" "PREFIX=$(out)" ]; + + meta = with stdenv.lib; { + description = "Device Tree Compiler"; + homepage = https://git.kernel.org/cgit/utils/dtc/dtc.git; + license = licenses.gpl2; # dtc itself is GPLv2, libfdt is dual GPL/BSD + maintainers = [ maintainers.dezgeg ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1e028080155c..ac6607daf92d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1318,6 +1318,8 @@ let dtach = callPackage ../tools/misc/dtach { }; + dtc = callPackage ../development/compilers/dtc { }; + dub = callPackage ../development/tools/build-managers/dub { }; duff = callPackage ../tools/filesystems/duff { }; From cf98387f738b05aa801a0658ba5f82bad3865559 Mon Sep 17 00:00:00 2001 From: C0DEHERO Date: Sun, 28 Jun 2015 12:23:07 -0400 Subject: [PATCH 30/72] voxelands: 1504.01 -> 1506.00 --- pkgs/games/voxelands/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/voxelands/default.nix b/pkgs/games/voxelands/default.nix index b6bd54f779df..7d96829f12b5 100644 --- a/pkgs/games/voxelands/default.nix +++ b/pkgs/games/voxelands/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { name = "voxelands-${version}"; - version = "1504.01"; + version = "1506.00"; src = fetchurl { url = "http://voxelands.com/downloads/${name}-src.tar.bz2"; - sha256 = "17jv2pz0mbkkf7jw3jcpix8hb46b382hc7vki42n9rrdynydq5zp"; + sha256 = "0j82zidxv2rzx7fmw5z27nfldqkixbrs1f6l3fs433xr3d05406y"; }; cmakeFlags = [ From a145a70f1a6e3cef05de0b700727615b600c1380 Mon Sep 17 00:00:00 2001 From: Matthew Maurer Date: Sun, 28 Jun 2015 21:09:24 +0000 Subject: [PATCH 31/72] ocaml-bitstring: debug message removal --- pkgs/development/ocaml-modules/bitstring/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/ocaml-modules/bitstring/default.nix b/pkgs/development/ocaml-modules/bitstring/default.nix index b612ec1c0bdb..d48f93bd626e 100644 --- a/pkgs/development/ocaml-modules/bitstring/default.nix +++ b/pkgs/development/ocaml-modules/bitstring/default.nix @@ -17,7 +17,7 @@ buildOcaml rec { createFindlibDestdir = true; hasSharedObjects = true; - preConfigure = "./bootstrap; echo breakhash"; + preConfigure = "./bootstrap"; meta = with stdenv.lib; { description = "This library adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml."; From f9bd72f24cfc8c160d144615522b0bc692cde9d0 Mon Sep 17 00:00:00 2001 From: aszlig Date: Sun, 28 Jun 2015 23:26:54 +0200 Subject: [PATCH 32/72] nixos/iso-image: Allow to customize menu label. It comes in handy to alter the menu label if you're not building a NixOS installer image but for example if you want to build a live system and still want to re-use the iso-image.nix module. Signed-off-by: aszlig --- nixos/modules/installer/cd-dvd/iso-image.nix | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index c546b8df4744..0128fa9f33dd 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -40,7 +40,7 @@ let DEFAULT boot LABEL boot - MENU LABEL NixOS ${config.system.nixosVersion} Installer + MENU LABEL NixOS ${config.system.nixosVersion}${config.isoImage.appendToMenuLabel} LINUX /boot/bzImage APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} INITRD /boot/initrd @@ -192,6 +192,18 @@ in ''; }; + isoImage.appendToMenuLabel = mkOption { + default = " Installer"; + example = " Live System"; + description = '' + The string to append after the menu label for the NixOS system. + This will be directly appended (without whitespace) to the NixOS version + string, like for example if it is set to XXX: + + NixOS 99.99-pre666XXX + ''; + }; + }; config = { From d94285788f854b91dc34b9b084b291606d3b1a60 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 29 Jun 2015 01:15:19 +0200 Subject: [PATCH 33/72] python-packages: repocheck 2015-05-04 -> 2015-06-27 --- pkgs/top-level/python-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 334eb8f083d5..bfe21546f5ae 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11007,12 +11007,12 @@ let }; repocheck = buildPythonPackage rec { - name = "repocheck-2015-05-04"; + name = "repocheck-2015-06-27"; disabled = isPy26 || isPy27; src = pkgs.fetchFromGitHub { - sha256 = "0zk8n4sm7i488wgqljkfjd2j0hm0qimxr9dhdz6d7xal7apwh71x"; - rev = "db8c336f071ead3375805b7a78ca3d7c862536db"; + sha256 = "0psihwph10sx07xc2gfch739laz7x1kwl5c991cci8cfn5jzy8bp"; + rev = "231e05b4fa55955ef8492581a15f508ffa0037d4"; repo = "repocheck"; owner = "kynikos"; }; From 8e997a4b6def7b620d5bd3f0b8063ec9aa62f6ed Mon Sep 17 00:00:00 2001 From: hiberno Date: Mon, 29 Jun 2015 09:45:55 +0200 Subject: [PATCH 34/72] powerline-fonts: bump to latest revision --- pkgs/data/fonts/powerline-fonts/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/data/fonts/powerline-fonts/default.nix b/pkgs/data/fonts/powerline-fonts/default.nix index 3ae436179ba1..3c8d2735a416 100644 --- a/pkgs/data/fonts/powerline-fonts/default.nix +++ b/pkgs/data/fonts/powerline-fonts/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchFromGitHub }: stdenv.mkDerivation { - name = "powerline-fonts-2014-12-27"; + name = "powerline-fonts-2015-06-29"; src = fetchFromGitHub { owner = "powerline"; repo = "fonts"; - rev = "39c99c02652f25290b64e24a7e9a7cfb8ce89a3e"; - sha256 = "9c83a30f36dc980582c0a079bd2896f95d19e1cb0ba5afbd8cae936c944256dd"; + rev = "97dc451724fb24e1dd9892c988642b239b5dc67c"; + sha256 = "1m0a8k916s74iv2k0kk36dz7d2hfb2zgf8m0b9hg71w4yd3bmj4w"; }; buildPhase = "true"; From 439ce0d07ddedae399b20e702206a003ba1c9145 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Mon, 29 Jun 2015 10:13:44 +0200 Subject: [PATCH 35/72] checkstyle: update from 6.7 to 6.8 --- pkgs/development/tools/analysis/checkstyle/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix index 3addd0f5a25d..994f59c52285 100644 --- a/pkgs/development/tools/analysis/checkstyle/default.nix +++ b/pkgs/development/tools/analysis/checkstyle/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - version = "6.7"; + version = "6.8"; name = "checkstyle-${version}"; src = fetchurl { url = "mirror://sourceforge/checkstyle/${version}/${name}-bin.tar.gz"; - sha256 = "0na3gfkxzgnnbjvr4sys4x3mb1s1hn9xy9krmvnxqq0wmm4lysjd"; + sha256 = "1g1hlsyriciipllw4ki21sbdh5br225w0n86w9i3m2a9slac1rdq"; }; installPhase = '' From bd65e8afb48bcac4fa2f80b4cc590db5bf7b5d59 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Mon, 29 Jun 2015 12:50:08 +0200 Subject: [PATCH 36/72] bro: update from 2.3.2 to 2.4 --- pkgs/applications/networking/ids/bro/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/networking/ids/bro/default.nix b/pkgs/applications/networking/ids/bro/default.nix index c3641903a755..8d6515f2dd2c 100644 --- a/pkgs/applications/networking/ids/bro/default.nix +++ b/pkgs/applications/networking/ids/bro/default.nix @@ -1,14 +1,16 @@ -{stdenv, fetchurl, cmake, flex, bison, openssl, libpcap, perl, zlib, file, curl, geoip, gperftools }: +{stdenv, fetchurl, cmake, flex, bison, openssl, libpcap, perl, zlib, file, curl +, geoip, gperftools }: stdenv.mkDerivation rec { - name = "bro-2.3.2"; + name = "bro-2.4"; src = fetchurl { url = "http://www.bro.org/downloads/release/${name}.tar.gz"; - sha256 = "16y6924brh7sw6l0nry6y4q8sif2lkcpymkd26aabdc61bdgpr9g"; + sha256 = "1ch8w8iakr2ajbigaad70b6mfv01s2sbdqgmrqm9q9zc1c5hs33l"; }; - buildInputs = [ cmake flex bison openssl libpcap perl zlib file curl geoip gperftools ]; + buildInputs = [ cmake flex bison openssl libpcap perl zlib file curl geoip + gperftools ]; enableParallelBuilding = true; From 512225ef8156ae5610b65f1b7f42a8d649b0853f Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Mon, 29 Jun 2015 16:20:58 +0200 Subject: [PATCH 37/72] Fixed some descriptions --- .../development/libraries/audio/ntk/default.nix | 4 ++-- .../libraries/oracle-instantclient/default.nix | 2 +- .../ocaml-modules/bitstring/default.nix | 2 +- pkgs/os-specific/linux/edac-utils/default.nix | 2 +- .../monitoring/prometheus/prom2json/default.nix | 2 +- pkgs/servers/nosql/eventstore/default.nix | 2 +- pkgs/tools/security/signing-party/default.nix | 2 +- pkgs/top-level/dotnet-packages.nix | 17 +++++++++++------ pkgs/top-level/python-packages.nix | 7 ++++--- 9 files changed, 23 insertions(+), 17 deletions(-) diff --git a/pkgs/development/libraries/audio/ntk/default.nix b/pkgs/development/libraries/audio/ntk/default.nix index 647d0962f0a6..af98592e06d5 100644 --- a/pkgs/development/libraries/audio/ntk/default.nix +++ b/pkgs/development/libraries/audio/ntk/default.nix @@ -23,9 +23,9 @@ stdenv.mkDerivation rec { ''; meta = { - description = "Fork of FLTK 1.3.0 with additional functionality."; + description = "Fork of FLTK 1.3.0 with additional functionality"; version = "${version}"; - homepage = "http://non.tuxfamily.org/"; + homepage = http://non.tuxfamily.org/; license = stdenv.lib.licenses.lgpl21; maintainers = [ stdenv.lib.maintainers.magnetophon ]; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/development/libraries/oracle-instantclient/default.nix b/pkgs/development/libraries/oracle-instantclient/default.nix index a2c007194638..c29a5da9f21a 100644 --- a/pkgs/development/libraries/oracle-instantclient/default.nix +++ b/pkgs/development/libraries/oracle-instantclient/default.nix @@ -57,7 +57,7 @@ let requireSource = version: part: hash: (requireFile rec { dontPatchELF = true; meta = with stdenv.lib; { - description = "Oracle instant client libraries and sqlplus CLI."; + description = "Oracle instant client libraries and sqlplus CLI"; longDescription = '' Oracle instant client provides access to Oracle databases (OCI, OCCI, Pro*C, ODBC or JDBC). This package includes the sqlplus diff --git a/pkgs/development/ocaml-modules/bitstring/default.nix b/pkgs/development/ocaml-modules/bitstring/default.nix index d48f93bd626e..ae01cf9d7b5e 100644 --- a/pkgs/development/ocaml-modules/bitstring/default.nix +++ b/pkgs/development/ocaml-modules/bitstring/default.nix @@ -20,7 +20,7 @@ buildOcaml rec { preConfigure = "./bootstrap"; meta = with stdenv.lib; { - description = "This library adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml."; + description = "This library adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml"; homepage = http://code.google.com/p/bitstring/; license = licenses.lgpl21Plus; maintainers = [ maintainers.maurer ]; diff --git a/pkgs/os-specific/linux/edac-utils/default.nix b/pkgs/os-specific/linux/edac-utils/default.nix index 0a2f38ffd8af..b24099f95991 100644 --- a/pkgs/os-specific/linux/edac-utils/default.nix +++ b/pkgs/os-specific/linux/edac-utils/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation { meta = with stdenv.lib; { homepage = http://github.com/grondo/edac-utils; - description = "handles the reporting of hardware-related memory errors."; + description = "Handles the reporting of hardware-related memory errors"; license = licenses.gpl2; platforms = platforms.linux; maintainers = with maintainers; [ wkennington ]; diff --git a/pkgs/servers/monitoring/prometheus/prom2json/default.nix b/pkgs/servers/monitoring/prometheus/prom2json/default.nix index 95457758cd23..368ea3ae214f 100644 --- a/pkgs/servers/monitoring/prometheus/prom2json/default.nix +++ b/pkgs/servers/monitoring/prometheus/prom2json/default.nix @@ -19,7 +19,7 @@ goPackages.buildGoPackage rec { ]; meta = with lib; { - description = "A tool to scrape a Prometheus client and dump the result as JSON."; + description = "A tool to scrape a Prometheus client and dump the result as JSON"; homepage = https://github.com/prometheus/prom2json; license = licenses.asl20; maintainers = with maintainers; [ benley ]; diff --git a/pkgs/servers/nosql/eventstore/default.nix b/pkgs/servers/nosql/eventstore/default.nix index fd83ba889b96..9cb5dd41c1c3 100644 --- a/pkgs/servers/nosql/eventstore/default.nix +++ b/pkgs/servers/nosql/eventstore/default.nix @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { meta = { homepage = https://geteventstore.com/; - description = "Event sourcing database with processing logic in JavaScript."; + description = "Event sourcing database with processing logic in JavaScript"; license = stdenv.lib.licenses.bsd3; maintainers = with stdenv.lib.maintainers; [ puffnfresh ]; platforms = with stdenv.lib.platforms; linux; diff --git a/pkgs/tools/security/signing-party/default.nix b/pkgs/tools/security/signing-party/default.nix index dd05030e712d..21e0bb4c4a97 100644 --- a/pkgs/tools/security/signing-party/default.nix +++ b/pkgs/tools/security/signing-party/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { doCheck = false; # no check rule meta = { - description = "PGP Tools is a collection for all kinds of pgp related things, including signing scripts, party preparation scripts etc."; + description = "A collection for all kinds of pgp related things, including signing scripts, party preparation scripts etc"; homepage = http://pgp-tools.alioth.debian.org; platforms = gnupg.meta.platforms; license = stdenv.lib.licenses.gpl2; diff --git a/pkgs/top-level/dotnet-packages.nix b/pkgs/top-level/dotnet-packages.nix index 21b42d1273ba..bef3f9c0a01b 100644 --- a/pkgs/top-level/dotnet-packages.nix +++ b/pkgs/top-level/dotnet-packages.nix @@ -280,8 +280,13 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; { outputFiles = [ "FSharp.AutoComplete/bin/Release/*" ]; meta = { - description = "This project provides a command-line interface to the FSharp.Compiler.Service project. It is intended to be used as a backend service for rich editing or 'intellisense' features for editors."; - homepage = "https://github.com/fsharp/FSharp.AutoComplete"; + description = "An interface to the FSharp.Compiler.Service project"; + longDescription = '' + This project provides a command-line interface to the + FSharp.Compiler.Service project. It is intended to be used as a backend + service for rich editing or 'intellisense' features for editors. + ''; + homepage = https://github.com/fsharp/FSharp.AutoComplete; license = stdenv.lib.licenses.asl20; maintainers = with stdenv.lib.maintainers; [ obadz ]; platforms = with stdenv.lib.platforms; linux; @@ -498,8 +503,8 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; { dontStrip = true; meta = { - description = "NDesk.Options is a callback-based program option parser for C#."; - homepage = "http://www.ndesk.org/Options"; + description = "A callback-based program option parser for C#"; + homepage = http://www.ndesk.org/Options; license = stdenv.lib.licenses.mit; maintainers = with stdenv.lib.maintainers; [ obadz ]; platforms = with stdenv.lib.platforms; linux; @@ -677,8 +682,8 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; { outputFiles = [ "bin/net40/*" ]; meta = { - description = "A declarative CLI argument/XML configuration parser for F# applications."; - homepage = "http://nessos.github.io/UnionArgParser/"; + description = "A declarative CLI argument/XML configuration parser for F# applications"; + homepage = http://nessos.github.io/UnionArgParser/; license = stdenv.lib.licenses.mit; maintainers = with stdenv.lib.maintainers; [ obadz ]; platforms = with stdenv.lib.platforms; linux; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bfe21546f5ae..24f39b3bc930 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5195,8 +5195,8 @@ let }; meta = { - description = "simple wrapper around fribidi."; - homepage = "https://github.com/pediapress/pyfribidi"; + description = "A simple wrapper around fribidi"; + homepage = https://github.com/pediapress/pyfribidi; license = stdenv.lib.licenses.gpl2; }; }; @@ -9295,7 +9295,8 @@ let }; meta = { - description = ''PicoSAT is a popular SAT solver written by Armin + description = "Python bindings for PicoSAT"; + longDescription = ''PicoSAT is a popular SAT solver written by Armin Biere in pure C. This package provides efficient Python bindings to picosat on the C level, i.e. when importing pycosat, the picosat solver becomes part of the Python process itself. For From 15fd734a589017fb5c797525623c7d479310bad8 Mon Sep 17 00:00:00 2001 From: Andrey Pavlov Date: Mon, 29 Jun 2015 17:30:59 +0300 Subject: [PATCH 38/72] elixir: 1.0.4 -> 1.0.5 --- pkgs/development/interpreters/elixir/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix index 6bb8c0565d54..99d649f3f684 100644 --- a/pkgs/development/interpreters/elixir/default.nix +++ b/pkgs/development/interpreters/elixir/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils, curl, bash, cacert }: let - version = "1.0.4"; + version = "1.0.5"; in stdenv.mkDerivation { name = "elixir-${version}"; src = fetchurl { url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz"; - sha256 = "1babp3ff6hajdm247zl9rc311k973cdnv6dqaai7l8817gg1yd3r"; + sha256 = "1f419pzlcgqx68rygwwyp2hzh4vgp0avjydd84dpa7finckc5raw"; }; buildInputs = [ erlang rebar makeWrapper ]; From 5ade71b1d748283bd1fd1c8266e5fc077cce9ddb Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Mon, 29 Jun 2015 17:03:33 +0200 Subject: [PATCH 39/72] pencil: wrap bin/pencil correctly, fixes #8551 --- pkgs/applications/graphics/pencil/default.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/graphics/pencil/default.nix b/pkgs/applications/graphics/pencil/default.nix index e6e72cfd6e6a..19c6334d1d60 100644 --- a/pkgs/applications/graphics/pencil/default.nix +++ b/pkgs/applications/graphics/pencil/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, xulrunner }: +{ stdenv, fetchurl, makeWrapper, xulrunner }: stdenv.mkDerivation rec { version = "2.0.11"; @@ -12,15 +12,19 @@ stdenv.mkDerivation rec { buildPhase = ""; + buildInputs = [ makeWrapper ]; + installPhase = '' mkdir -p "$out" cp -r usr/* "$out" - sed -e "s|/usr/bin/xulrunner|${xulrunner}/bin/xulrunner|" \ - -e "s|/usr/share/evolus-pencil|$out/share/evolus-pencil|" \ + sed -e "s|/usr/share/evolus-pencil|$out/share/evolus-pencil|" \ -i "$out/bin/pencil" sed -e "s|/usr/bin/pencil|$out/bin/pencil|" \ -e "s|Icon=.*|Icon=$out/share/evolus-pencil/skin/classic/icon.svg|" \ -i "$out/share/applications/pencil.desktop" + + wrapProgram $out/bin/pencil \ + --prefix PATH ":" ${xulrunner}/bin ''; meta = with stdenv.lib; { From 886a8728534021101f9901e3ce11cd76fccf9295 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sat, 27 Jun 2015 17:00:31 +0200 Subject: [PATCH 40/72] humanize: init at 0.5.1 --- pkgs/top-level/python-packages.nix | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a299f9312782..fe29ba8bfb21 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3386,6 +3386,29 @@ let }; }; + humanize = buildPythonPackage rec { + version = "0.5.1"; + name = "humanize-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/h/humanize/${name}.tar.gz"; + md5 = "e8473d9dc1b220911cac2edd53b1d973"; + }; + + buildInputs = with self; [ mock ]; + + doCheck = false; + + meta = { + description = "python humanize utilities"; + homepage = https://github.com/jmoiron/humanize; + license = licenses.mit; + maintainers = with maintainers; [ matthiasbeyer ]; + platforms = platforms.linux; # can only test on linux + }; + + }; + hovercraft = buildPythonPackage rec { disabled = ! isPy3k; name = "hovercraft-${version}"; From ce10f31e0e218de4b75becd588ea61a4ab44a710 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sat, 27 Jun 2015 17:00:43 +0200 Subject: [PATCH 41/72] httpauth: init at 0.2 --- pkgs/top-level/python-packages.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index fe29ba8bfb21..a2423e8073be 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3433,6 +3433,25 @@ let }; }; + httpauth = buildPythonPackage rec { + version = "0.2"; + name = "httpauth-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/h/httpauth/${name}.tar.gz"; + md5 = "78d1835a80955e68e98a3ca5ab7f7dbd"; + }; + + doCheck = false; + + meta = { + description = "WSGI HTTP Digest Authentication middleware"; + homepage = https://github.com/jonashaag/httpauth; + license = licenses.bsd2; + maintainers = with maintainers; [ matthiasbeyer ]; + }; + }; + itsdangerous = buildPythonPackage rec { name = "itsdangerous-0.24"; From 5344e4db4d1d47dc0c406d12e366afc7fdf3c325 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sat, 27 Jun 2015 17:00:55 +0200 Subject: [PATCH 42/72] klaus: init at 0.4.9 --- pkgs/top-level/python-packages.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a2423e8073be..362b0623569b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6652,6 +6652,27 @@ let }; }; + klaus = buildPythonPackage rec { + version = "0.4.9"; + name = "klaus-${version}"; + + src = pkgs.fetchurl { + url = "https://github.com/jonashaag/klaus/archive/${version}.tar.gz"; + sha256 = "0qcbv3shz530mn53pdc68fx38ylz72033xsrz77ffi0cks32az2w"; + }; + + propagatedBuildInputs = with self; + [ humanize httpauth dulwich pygments flask ]; + + meta = { + description = "The first Git web viewer that Just Works"; + homepage = "https://github.com/jonashaag/klaus"; + #license = licenses.mit; # I'm not sure about the license + maintainers = with maintainers; [ matthiasbeyer ]; + platforms = platforms.linux; # Can only test linux + }; + }; + kombu = buildPythonPackage rec { name = "kombu-${version}"; version = "3.0.24"; From 7e9cba3a2d6b3378309a9c82a104d06a971a297a Mon Sep 17 00:00:00 2001 From: Arseniy Seroka Date: Mon, 29 Jun 2015 19:05:51 +0300 Subject: [PATCH 43/72] qutebrowser: 0.3-pre -> 0.3 --- .../networking/browsers/qutebrowser/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index f93ec35db341..04df4da450c8 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchgit, python, buildPythonPackage, qt5, pyqt5, jinja2, pygments, pyyaml, pypeg2 }: -let version = "0.3-pre"; in +let version = "0.3"; in buildPythonPackage { name = "qutebrowser-${version}"; @@ -8,8 +8,8 @@ buildPythonPackage { src = fetchgit { url = "https://github.com/The-Compiler/qutebrowser.git"; - rev = "f31f254d9bf3ffd4ef95089f4924e5c45d8c0f78"; - sha256 = "0virh71q9qyh7ggk5p6h3gjv30gr2jn8am6yq8xzbslchck0rkcr"; + rev = "b3cd31a808789932a0a4cb7aa8d9280b6d3a12e7"; + sha256 = "fea7fd9de8a930da7af0111739ae88851cb965b30751858d1aba5bbd15277652"; }; # Needs tox From 03dbba975706c03f41600b174f1a50f072712d02 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Mon, 29 Jun 2015 13:41:24 -0400 Subject: [PATCH 44/72] build-maven: Handle very long dependency lists --- pkgs/build-support/build-maven.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/build-maven.nix b/pkgs/build-support/build-maven.nix index bde95080e745..284be201ff08 100644 --- a/pkgs/build-support/build-maven.nix +++ b/pkgs/build-support/build-maven.nix @@ -13,7 +13,7 @@ infoFile: let info = builtins.fromJSON (builtins.readFile infoFile); - repo = runCommand "maven-repository" {} '' + script = writeText "build-maven-repository.sh" '' ${lib.concatStrings (map (dep: let inherit (dep) url sha1 groupId artifactId version; @@ -25,6 +25,10 @@ infoFile: let '') info.dependencies)} ''; + repo = runCommand "maven-repository" {} '' + bash ${script} + ''; + settings = writeText "settings.xml" '' Date: Tue, 30 Jun 2015 00:50:01 +0200 Subject: [PATCH 45/72] nix.buildMachines: Fewer required fields --- nixos/modules/services/misc/nix-daemon.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index e5948e223d56..b79a69e2ba8f 100644 --- a/nixos/modules/services/misc/nix-daemon.nix +++ b/nixos/modules/services/misc/nix-daemon.nix @@ -329,13 +329,13 @@ in text = concatMapStrings (machine: "${if machine ? sshUser then "${machine.sshUser}@" else ""}${machine.hostName} " - + (if machine ? system then machine.system else concatStringsSep "," machine.systems) - + " ${machine.sshKey} ${toString machine.maxJobs} " - + (if machine ? speedFactor then toString machine.speedFactor else "1" ) + + machine.system or (concatStringsSep "," machine.systems) + + " ${machine.sshKey or "-"} ${toString machine.maxJobs or 1} " + + toString (machine.speedFactor or 1) + " " - + (if machine ? supportedFeatures then concatStringsSep "," machine.supportedFeatures else "" ) + + concatStringsSep "," (machine.mandatoryFeatures or [] ++ machine.supportedFeatures or []) + " " - + (if machine ? mandatoryFeatures then concatStringsSep "," machine.mandatoryFeatures else "" ) + + concatStringsSep "," machine.mandatoryFeatures or [] + "\n" ) cfg.buildMachines; }; From d8b4cff390da46395aad7f45f0cad93844a3fe2c Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Tue, 30 Jun 2015 10:30:41 +0300 Subject: [PATCH 46/72] dtc: Fix cross compilation Flex and Bison are need to be executable by the build system. --- pkgs/development/compilers/dtc/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/dtc/default.nix b/pkgs/development/compilers/dtc/default.nix index 84673dfc7245..59c85d03d4ba 100644 --- a/pkgs/development/compilers/dtc/default.nix +++ b/pkgs/development/compilers/dtc/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "0z7yrv0sdhsh5wwy7yd1fvs4pqaq0n9m5i8w65lyibg77ahkasdg"; }; - buildInputs = [ flex bison ]; + nativeBuildInputs = [ flex bison ]; installFlags = [ "INSTALL=install" "PREFIX=$(out)" ]; From 1793fdbfb196b3af8f0fe17021b5873daffd3e33 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Sun, 7 Jun 2015 21:07:45 +0300 Subject: [PATCH 47/72] platforms.nix: Remove IntegratorCP and Versatile These ARM boards are very old and quite likely used only for booting in QEMU emulation. I'll focus on making the multiplatform image easy to boot in QEMU instead. --- pkgs/top-level/platforms.nix | 74 ------------------------------------ 1 file changed, 74 deletions(-) diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix index 4a6dc5aacf6a..c331278046cb 100644 --- a/pkgs/top-level/platforms.nix +++ b/pkgs/top-level/platforms.nix @@ -303,80 +303,6 @@ rec { #kernelHeadersBaseConfig = "guruplug_defconfig"; }; - versatileARM = { - name = "versatileARM"; - kernelMajor = "2.6"; - kernelHeadersBaseConfig = "versatile_defconfig"; - kernelBaseConfig = "versatile_defconfig"; - kernelArch = "arm"; - kernelAutoModules = false; - kernelTarget = "zImage"; - kernelExtraConfig = - '' - MMC_ARMMMCI y - #MMC_SDHCI y - SERIO_AMBAKMI y - - AEABI y - RTC_CLASS y - RTC_DRV_PL031 y - PCI y - SCSI y - SCSI_DMA y - SCSI_ATA y - BLK_DEV_SD y - BLK_DEV_SR y - SCSI_SYM53C8XX_2 y - - TMPFS y - IPV6 m - REISERFS_FS m - EXT4_FS m - - IP_PNP y - IP_PNP_DHCP y - IP_PNP_BOOTP y - ROOT_NFS y - ''; - uboot = null; - }; - - integratorCP = { - name = "integratorCP"; - kernelMajor = "2.6"; - kernelHeadersBaseConfig = "integrator_defconfig"; - kernelBaseConfig = "integrator_defconfig"; - kernelArch = "arm"; - kernelAutoModules = false; - kernelTarget = "zImage"; - kernelExtraConfig = - '' - # needed for qemu integrator/cp - SERIAL_AMBA_PL011 y - SERIAL_AMBA_PL011_CONSOLE y - SERIAL_AMBA_PL010 n - SERIAL_AMBA_PL010_CONSOLE n - - MMC_ARMMMCI y - MMC_SDHCI y - SERIO_AMBAKMI y - - CPU_ARM926T y - ARCH_INTEGRATOR_CP y - VGA_CONSOLE n - AEABI y - ''; - uboot = null; - ubootConfig = "integratorcp_config"; - }; - - integratorCPuboot = integratorCP // { - name = "integratorCPuboot"; - kernelTarget = "uImage"; - uboot = "upstream"; - ubootConfig = "integratorcp_config"; - }; - fuloong2f_n32 = { name = "fuloong2f_n32"; kernelMajor = "2.6"; From e0038d7571f6eed78961309fd1a9b4ea4a91e719 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 30 Jun 2015 09:25:46 +0200 Subject: [PATCH 48/72] lz4 130 -> 131 Changes: - liblz4: xxhash symbols are dynamically changed (namespace emulation) to avoid symbol conflict - liblz4.a (static library) no longer compiled with -fPIC by default --- pkgs/tools/compression/lz4/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/compression/lz4/default.nix b/pkgs/tools/compression/lz4/default.nix index be0053c2165c..57f0327fa1eb 100644 --- a/pkgs/tools/compression/lz4/default.nix +++ b/pkgs/tools/compression/lz4/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchFromGitHub, valgrind }: -let version = "130"; in +let version = "131"; in stdenv.mkDerivation rec { name = "lz4-${version}"; src = fetchFromGitHub { - sha256 = "1050hwnbqyz2m26vayv942dh92689qp73chrbnqlg8awhlb5kyi5"; + sha256 = "1bhvcq8fxxsqnpg5qa6k3nsyhq0nl0iarh08sqzclww27hlpyay2"; rev = "r${version}"; repo = "lz4"; owner = "Cyan4973"; From d013de6d32fa315a100c11150965f83edb0f794a Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Sun, 7 Jun 2015 22:12:18 +0300 Subject: [PATCH 49/72] U-Boot: Update to 2015.04 and major refactor Instead of selecting the defconfig based on stdenv.platform.uboot, provide different ubootFoo packages. Otherwise we couldn't easily build U-Boots for different platforms than what we are currently running on. All users of the ubootChooser function appear to be using only CLI tools like mkimage, whose behaviour is not affected by the defconfig (their build outputs are bitwise-identical). So add a separate package for the CLI tools. Of the removed patches, some version of sheevaplug-sdio.patch has apparently been applied upstream (with at least mv_sdio.c renamed to mvebu_mmc.c). sheevaplug-config.patch needs rebasing & re-testing on real hardware. Tested boards and input/output methods that upstream supports: - Raspberry Pi: - HDMI works, USB keyboard not yet supported - Serial via the 26-pin connector (3.3V) - pcDuino3 Nano: - HDMI + USB keyboard (only if attached to a hub) - Serial via the 3-pin connector (3.3V) - Jetson TK1: RS-232 serial port only - Versatile Express CA9 (for QEMU only): Serial via '-serial stdio' --- pkgs/misc/uboot/default.nix | 89 +- pkgs/misc/uboot/sheevaplug-config.patch | 57 -- pkgs/misc/uboot/sheevaplug-sdio.patch | 1091 ----------------------- pkgs/top-level/all-packages.nix | 40 +- 4 files changed, 73 insertions(+), 1204 deletions(-) delete mode 100644 pkgs/misc/uboot/sheevaplug-config.patch delete mode 100644 pkgs/misc/uboot/sheevaplug-sdio.patch diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix index 5928406eb548..5f4bab9138fe 100644 --- a/pkgs/misc/uboot/default.nix +++ b/pkgs/misc/uboot/default.nix @@ -1,71 +1,60 @@ -{stdenv, fetchurl, unzip}: +{ stdenv, fetchurl, bc, dtc +, toolsOnly ? false +, defconfig ? "allnoconfig" +, targetPlatforms +, filesToInstall +}: let platform = stdenv.platform; - configureFun = ubootConfig : + crossPlatform = stdenv.cross.platform; + makeTarget = if toolsOnly then "tools NO_SDL=1" else "all"; + installDir = if toolsOnly then "$out/bin" else "$out"; + buildFun = kernelArch: '' - make mrproper - make ${ubootConfig} NBOOT=1 LE=1 - ''; - - buildFun = kernelArch : - '' - unset src if test -z "$crossConfig"; then - make clean all + make ${makeTarget} else - make clean all ARCH=${kernelArch} CROSS_COMPILE=$crossConfig- + make ${makeTarget} ARCH=${kernelArch} CROSS_COMPILE=$crossConfig- fi ''; in -stdenv.mkDerivation { - name = "uboot-2012.07"; - +stdenv.mkDerivation rec { + name = "uboot-${defconfig}-${version}"; + version = "2015.04"; + src = fetchurl { - url = "ftp://ftp.denx.de/pub/u-boot/u-boot-2012.07.tar.bz2"; - sha256 = "15nli6h9a127ldizsck3g4ysy5j4m910wawspgpadz4vjyk213p0"; + url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2"; + sha256 = "0q2x1wh1f6rjh9rmcnkf28dxcvp9hkhi4vzspqkzamb6b3gp06ha"; }; - nativeBuildInputs = [ unzip ]; + nativeBuildInputs = [ bc dtc ]; - dontStrip = true; - - installPhase = '' - mkdir -p $out - cp u-boot.bin $out - cp u-boot u-boot.map $out - - mkdir -p $out/bin - cp tools/{envcrc,mkimage} $out/bin + configurePhase = '' + make ${defconfig} ''; - # They have 'errno.h' included by a "-idirafter". As the gcc - # wrappers add the glibc include as "-idirafter", the only way - # we can make the glibc take priority is to -include errno.h. - postPatch = if stdenv ? glibc && stdenv.glibc != null then '' - sed -i 's,$(HOSTCPPFLAGS),-include ${stdenv.glibc}/include/errno.h $(HOSTCPPFLAGS),' config.mk - '' else ""; - - patches = [ ./sheevaplug-sdio.patch ./sheevaplug-config.patch ]; - - configurePhase = - assert platform ? uboot && platform.uboot != null; - assert (platform ? ubootConfig); - configureFun platform.ubootConfig; - buildPhase = assert (platform ? kernelArch); buildFun platform.kernelArch; - crossAttrs = let - cp = stdenv.cross.platform; - in - assert cp ? uboot && cp.uboot != null; - { - configurePhase = assert (cp ? ubootConfig); - configureFun cp.ubootConfig; + installPhase = '' + mkdir -p ${installDir} + cp ${stdenv.lib.concatStringsSep " " filesToInstall} ${installDir} + ''; - buildPhase = assert (cp ? kernelArch); - buildFun cp.kernelArch; - }; + dontStrip = !toolsOnly; + + crossAttrs = { + buildPhase = assert (crossPlatform ? kernelArch); + buildFun crossPlatform.kernelArch; + }; + + meta = with stdenv.lib; { + homepage = "http://www.denx.de/wiki/U-Boot/"; + description = "Boot loader for embedded systems"; + license = licenses.gpl2; + maintainers = [ maintainers.dezgeg ]; + platforms = targetPlatforms; + }; } diff --git a/pkgs/misc/uboot/sheevaplug-config.patch b/pkgs/misc/uboot/sheevaplug-config.patch deleted file mode 100644 index 487756217bfb..000000000000 --- a/pkgs/misc/uboot/sheevaplug-config.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff --git a/include/configs/sheevaplug.h b/include/configs/sheevaplug.h -index 7c8497c..b0da1e5 100644 ---- a/include/configs/sheevaplug.h -+++ b/include/configs/sheevaplug.h -@@ -50,7 +50,6 @@ - #define CONFIG_CMD_MII - #define CONFIG_CMD_MMC - #define CONFIG_CMD_NAND --#define CONFIG_JFFS2_NAND - #define CONFIG_CMD_PING - #define CONFIG_CMD_USB - /* -@@ -73,25 +72,36 @@ - * it has to be rounded to sector size - */ - #define CONFIG_ENV_SIZE 0x20000 /* 128k */ --#define CONFIG_ENV_ADDR 0xa0000 --#define CONFIG_ENV_OFFSET 0xa0000 /* env starts here */ -+#define CONFIG_ENV_ADDR 0x60000 -+#define CONFIG_ENV_OFFSET 0x60000 /* env starts here */ - - /* - * Default environment variables - */ --#define CONFIG_BOOTCOMMAND "${x_bootcmd_kernel}; " \ -+#define CONFIG_BOOTCOMMAND "${x_bootcmd_ubi0}; " \ -+ "${x_bootcmd_ubi1}; " \ -+ "${x_bootcmd_ubi2}; " \ -+ "${x_bootcmd_ubi3}; " \ - "setenv bootargs ${x_bootargs} ${x_bootargs_root}; " \ -- "${x_bootcmd_usb}; bootm 0x6400000;" -+ "${x_bootcmd_usb}; bootm 0x200000 0x1100000;" - - #define CONFIG_MTDPARTS "orion_nand:512k(uboot)," \ -- "0x1ff00000@512k(rootfs) rw\0" -+ "0x1ff00000@512k(rootfs)\0" -+#define CONFIG_MTDPARTSK "orion_nand:512k(uboot)," \ -+ "0x1ff00000@512k(rootfs)rw\0" - - #define CONFIG_EXTRA_ENV_SETTINGS "x_bootargs=console" \ -- "=ttyS0,115200 mtdparts="CONFIG_MTDPARTS \ -+ "=ttyS0,115200 mtdparts="CONFIG_MTDPARTSK \ -+ "mtdparts=mtdparts="CONFIG_MTDPARTS \ - "mtdids=nand0=orion_nand\0" \ -- "x_bootcmd_kernel=nand read 0x6400000 0x100000 0x300000\0" \ -+ "ipaddr=192.168.1.4\0" \ -+ "x_bootcmd_ubi0=ubi part nand0,1\0" \ -+ "x_bootcmd_ubi1=ubifsmount rootfs\0" \ -+ "x_bootcmd_ubi2=ubifsload 0x200000 /nixos-kernel\0" \ -+ "x_bootcmd_ubi3=ubifsload 0x1100000 /nixos-initrd\0" \ - "x_bootcmd_usb=usb start\0" \ -- "x_bootargs_root=root=/dev/mtdblock3 rw rootfstype=jffs2\0" -+ "x_bootargs_root=ubi.mtd=rootfs root=ubi0:rootfs rw rootfstype=ubifs " \ -+ "init=/boot/nixos-init systemConfig=/boot/default/system\0" - - /* - * Ethernet Driver configuration diff --git a/pkgs/misc/uboot/sheevaplug-sdio.patch b/pkgs/misc/uboot/sheevaplug-sdio.patch deleted file mode 100644 index 3a4ea2933a34..000000000000 --- a/pkgs/misc/uboot/sheevaplug-sdio.patch +++ /dev/null @@ -1,1091 +0,0 @@ -diff --git a/arch/arm/include/asm/arch-kirkwood/config.h b/arch/arm/include/asm/arch-kirkwood/config.h -index a9499b7..1294d7f 100644 ---- a/arch/arm/include/asm/arch-kirkwood/config.h -+++ b/arch/arm/include/asm/arch-kirkwood/config.h -@@ -66,6 +66,7 @@ - #define MV_SATA_BASE KW_SATA_BASE - #define MV_SATA_PORT0_OFFSET KW_SATA_PORT0_OFFSET - #define MV_SATA_PORT1_OFFSET KW_SATA_PORT1_OFFSET -+#define MV_SDIO_BASE KW_SDIO_BASE - - /* - * NAND configuration -@@ -107,6 +108,14 @@ - #endif /* CONFIG_CMD_NET */ - - /* -+ * SDIO/MMC Card Configuration -+ */ -+#ifdef CONFIG_CMD_MMC -+#define CONFIG_MMC -+#define CONFIG_MV_SDIO -+#endif /* CONFIG_CMD_MMC */ -+ -+/* - * USB/EHCI - */ - #ifdef CONFIG_CMD_USB -diff --git a/arch/arm/include/asm/arch-kirkwood/kirkwood.h b/arch/arm/include/asm/arch-kirkwood/kirkwood.h -index 47771d5..343214b 100644 ---- a/arch/arm/include/asm/arch-kirkwood/kirkwood.h -+++ b/arch/arm/include/asm/arch-kirkwood/kirkwood.h -@@ -55,6 +55,7 @@ - #define KW_EGIGA0_BASE (KW_REGISTER(0x72000)) - #define KW_EGIGA1_BASE (KW_REGISTER(0x76000)) - #define KW_SATA_BASE (KW_REGISTER(0x80000)) -+#define KW_SDIO_BASE (KW_REGISTER(0x90000)) - - /* Kirkwood Sata controller has two ports */ - #define KW_SATA_PORT0_OFFSET 0x2000 -diff --git a/drivers/mmc/Makefile b/drivers/mmc/Makefile -index c567737..081d5f4 100644 ---- a/drivers/mmc/Makefile -+++ b/drivers/mmc/Makefile -@@ -34,6 +34,7 @@ COBJS-$(CONFIG_GENERIC_ATMEL_MCI) += gen_atmel_mci.o - COBJS-$(CONFIG_MMC_SPI) += mmc_spi.o - COBJS-$(CONFIG_ARM_PL180_MMCI) += arm_pl180_mmci.o - COBJS-$(CONFIG_MV_SDHCI) += mv_sdhci.o -+COBJS-$(CONFIG_MV_SDIO) += mv_sdio.o - COBJS-$(CONFIG_MXC_MMC) += mxcmmc.o - COBJS-$(CONFIG_MXS_MMC) += mxsmmc.o - COBJS-$(CONFIG_OMAP_HSMMC) += omap_hsmmc.o -diff --git a/drivers/mmc/mv_sdio.c b/drivers/mmc/mv_sdio.c -new file mode 100644 -index 0000000..35969d3 ---- /dev/null -+++ b/drivers/mmc/mv_sdio.c -@@ -0,0 +1,675 @@ -+/* -+ * (C) Copyright 2009 -+ * Marvell Semiconductor -+ * Written-by: Gérald Kerma -+ * -+ * (C) Copyright 2003 -+ * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net -+ * -+ * See file CREDITS for list of people who contributed to this -+ * project. -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of -+ * the License, or (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -+ * MA 02110-1301 USA -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#ifdef CONFIG_KIRKWOOD -+#include -+#endif -+#include "mv_sdio.h" -+ -+#ifdef CONFIG_MMC -+ -+#define DRIVER_NAME "mv-sdio" -+ -+#ifdef DEBUG -+#define pr_debug(fmt, args...) printf(fmt, ##args) -+#else -+#define pr_debug(...) do { } while(0) -+#endif -+ -+//static mv_sdio_t *mvsd = (mv_sdio_t *)mmc->priv; -+static mv_sdio_t *mvsd = (mv_sdio_t *)MV_SDIO_BASE; -+ -+static int is_sdhc; -+extern int fat_register_device(block_dev_desc_t *dev_desc, int part_no); -+static block_dev_desc_t mmc_dev; -+block_dev_desc_t * mmc_get_dev(int dev) -+{ -+ return ((block_dev_desc_t *)&mmc_dev); -+} -+ -+/* -+ * FIXME needs to read cid and csd info to determine block size -+ * and other parameters -+ */ -+static uchar mmc_buf[MMC_BLOCK_SIZE]; -+static mv_mmc_csd_t mv_mmc_csd; -+static int mmc_ready = 0; -+ -+/* MMC_DEFAULT_RCA should probably be just 1, but this may break other code -+ that expects it to be shifted. */ -+static u_int16_t rca = 0; -+ -+/* used for debug */ -+static u_int32_t mv_mmc_size(const struct mv_mmc_csd *csd) -+{ -+ u_int32_t block_len, mult, blocknr; -+ -+ block_len = csd->read_bl_len << 12; -+ mult = csd->c_size_mult1 << 8; -+ blocknr = (csd->c_size+1) * mult; -+ -+ return blocknr * block_len; -+} -+ -+static int isprint (unsigned char ch) -+{ -+ if (ch >= 32 && ch < 127) -+ return (1); -+ -+ return (0); -+} -+ -+static int toprint(char *dst, char c) -+{ -+ if (isprint(c)) { -+ *dst = c; -+ return 1; -+ } -+ -+ return sprintf(dst,"\\x%02x", c); -+ -+} -+ -+static void print_mmc_cid(mv_mmc_cid_t *cid) -+{ -+ printf("MMC found. Card desciption is:\n"); -+ printf("Manufacturer ID = %02x%02x%02x\n", -+ cid->id[0], cid->id[1], cid->id[2]); -+ printf("HW/FW Revision = %x %x\n",cid->hwrev, cid->fwrev); -+ cid->hwrev = cid->fwrev = 0; /* null terminate string */ -+ printf("Product Name = %s\n",cid->name); -+ printf("Serial Number = %02x%02x%02x\n", -+ cid->sn[0], cid->sn[1], cid->sn[2]); -+ printf("Month = %d\n",cid->month); -+ printf("Year = %d\n",1997 + cid->year); -+} -+ -+static void print_sd_cid(mv_sd_cid_t *cid) -+{ -+ int len; -+ char tbuf[64]; -+ -+ printf("SD%s found. Card desciption is:\n", is_sdhc?"HC":""); -+ -+ len = 0; -+ len += toprint(&tbuf[len], cid->oid_0); -+ len += toprint(&tbuf[len], cid->oid_1); -+ tbuf[len] = 0; -+ -+ printf("Manufacturer: 0x%02x, OEM \"%s\"\n", -+ cid->mid, tbuf); -+ -+ len = 0; -+ len += toprint(&tbuf[len], cid->pnm_0); -+ len += toprint(&tbuf[len], cid->pnm_1); -+ len += toprint(&tbuf[len], cid->pnm_2); -+ len += toprint(&tbuf[len], cid->pnm_3); -+ len += toprint(&tbuf[len], cid->pnm_4); -+ tbuf[len] = 0; -+ -+ printf("Product name: \"%s\", revision %d.%d\n", -+ tbuf, -+ cid->prv >> 4, cid->prv & 15); -+ -+ printf("Serial number: %u\n", -+ cid->psn_0 << 24 | cid->psn_1 << 16 | cid->psn_2 << 8 | -+ cid->psn_3); -+ printf("Manufacturing date: %d/%d\n", -+ cid->mdt_1 & 15, -+ 2000+((cid->mdt_0 & 15) << 4)+((cid->mdt_1 & 0xf0) >> 4)); -+ -+ printf("CRC: 0x%02x, b0 = %d\n", -+ cid->crc >> 1, cid->crc & 1); -+} -+ -+static void mvsdio_set_clock(unsigned int clock) -+{ -+ unsigned int m; -+ -+ m = MVSDMMC_BASE_FAST_CLOCK/(2*clock) - 1; -+ -+ pr_debug("mvsdio_set_clock: dividor = 0x%x clock=%d\n", -+ m, clock); -+ -+ -+ writew(m & 0x7ff, &mvsd->CLK_DIV); -+ -+ if (isprint(1)) -+ udelay(10*1000); -+} -+ -+/****************************************************/ -+static ulong * mv_mmc_cmd(ulong cmd, ulong arg, ushort xfermode, ushort resptype, ushort waittype) -+/****************************************************/ -+{ -+ static ulong resp[4]; -+ ushort done ; -+ int err = 0 ; -+ ulong curr, start, diff, hz; -+ ushort response[8]; -+ -+ pr_debug("mv_mmc_cmd %x, arg: %x,xfer: %x,resp: %x, wait : %x\n" -+ , (unsigned int)cmd, (unsigned int)arg, xfermode, resptype, waittype); -+ -+ -+ /* clear status */ -+ writew(0xffff, &mvsd->NOR_INTR_STATUS); -+ writew(0xffff, &mvsd->ERR_INTR_STATUS); -+ -+ start = get_timer(0); -+ hz = CONFIG_SYS_HZ; -+ -+ while((readw(&mvsd->PRESENT_STATE0) & CARD_BUSY)) { -+ curr = get_timer(0); -+ diff = (long) curr - (long) start; -+ if (diff > (3*hz)) -+ { -+ /* 3 seconds timeout, card busy, can't sent cmd */ -+ printf("card too busy \n"); -+ return 0; -+ } -+ } -+ -+ writew((ushort)(arg&0xffff), &mvsd->ARG_LOW); -+ writew((ushort)(arg>>16), &mvsd->ARG_HI); -+ writew(xfermode, &mvsd->XFER_MODE); -+ if( (cmd == MMC_CMD_READ_BLOCK) || (cmd == 25) ) -+ { -+ writew(((cmd << 8) | resptype | 0x3c ) , &mvsd->CMD); -+ pr_debug("cmd reg : %x\n", readw(&mvsd->CMD)) ; -+ -+ } -+ else -+ { -+ writew(((cmd << 8) | resptype ), &mvsd->CMD); -+ } -+ -+ done = readw(&mvsd->NOR_INTR_STATUS) & waittype; -+ start = get_timer(0); -+ -+ while( done!=waittype) -+ { -+ done = readw(&mvsd->NOR_INTR_STATUS) & waittype; -+ -+ if( readw(&mvsd->NOR_INTR_STATUS) & 0x8000 ) -+ { -+ pr_debug("Error! cmd : %d, err : %04x\n", (unsigned int)cmd, readw(&mvsd->ERR_INTR_STATUS)) ; -+ -+ return 0 ; /* error happen */ -+ } -+ -+ curr = get_timer(0); -+ diff = (long) curr - (long) start; -+ if (diff > (3*hz)) -+ { -+ pr_debug("cmd timeout, status : %04x\n", readw(&mvsd->NOR_INTR_STATUS)); -+ pr_debug("xfer mode : %04x\n", readw(&mvsd->XFER_MODE)); -+ -+ err = 1 ; -+ break; -+ } -+ } -+ -+ response[0] = readw(&mvsd->RSP0); -+ response[1] = readw(&mvsd->RSP1); -+ response[2] = readw(&mvsd->RSP2); -+ response[3] = readw(&mvsd->RSP3); -+ response[4] = readw(&mvsd->RSP4); -+ response[5] = readw(&mvsd->RSP5); -+ response[6] = readw(&mvsd->RSP6); -+ response[7] = readw(&mvsd->RSP7); -+ -+ memset(resp, 0, sizeof(resp)); -+ -+ switch (resptype & 0x3) { -+ case SDIO_CMD_RSP_48: -+ case SDIO_CMD_RSP_48BUSY: -+ resp[0] = ((response[2] & 0x3f) << (8 - 8)) | -+ ((response[1] & 0xffff) << (14 - 8)) | -+ ((response[0] & 0x3ff) << (30 - 8)); -+ resp[1] = ((response[0] & 0xfc00) >> 10); -+ break; -+ -+ case SDIO_CMD_RSP_136: -+ resp[3] = ((response[7] & 0x3fff) << 8) | -+ ((response[6] & 0x3ff) << 22); -+ resp[2] = ((response[6] & 0xfc00) >> 10) | -+ ((response[5] & 0xffff) << 6) | -+ ((response[4] & 0x3ff) << 22); -+ resp[1] = ((response[4] & 0xfc00) >> 10) | -+ ((response[3] & 0xffff) << 6) | -+ ((response[2] & 0x3ff) << 22); -+ resp[0] = ((response[2] & 0xfc00) >> 10) | -+ ((response[1] & 0xffff) << 6) | -+ ((response[0] & 0x3ff) << 22); -+ break; -+ default: -+ return 0; -+ } -+ int i; -+ pr_debug("MMC resp :"); -+ for (i=0; i<4; ++i ) { -+ pr_debug(" %08x", (unsigned int)resp[i]); -+ } -+ pr_debug("\n"); -+ if( err ) -+ return NULL ; -+ else -+ return resp; -+} -+ -+/****************************************************/ -+static int mv_mmc_block_read(uchar *dst, ulong src, ulong len) -+/****************************************************/ -+{ -+ ulong *resp; -+ -+ if (len == 0) { -+ return 0; -+ } -+ -+ if (is_sdhc) { -+ /* SDHC: use block address */ -+ src >>= 9; -+ } -+ -+ pr_debug("mmc_block_rd dst %lx src %lx len %d\n", (ulong)dst, src, (int)len); -+ -+ /* prepare for dma transfer */ -+ writew(((ulong)(dst))&0xffff,&mvsd->SYS_ADDR_LOW); -+ writew(((ulong)(dst)>>16)&0xffff,&mvsd->SYS_ADDR_HI); -+ writew(len,&mvsd->BLK_SIZE); -+ writew(1,&mvsd->BLK_COUNT); -+ -+ /* send read command */ -+ resp = mv_mmc_cmd(MMC_CMD_READ_BLOCK, src, 0x10 , -+ SDIO_CMD_RSP_48, SDIO_NOR_XFER_DONE); -+ if (!resp) { -+ pr_debug("mv_mmc_block_read: mmc read block cmd fails\n"); -+ return -EIO; -+ } -+ -+ return 0; -+} -+ -+/****************************************************/ -+int mv_mmc_read(ulong src, uchar *dst, int size) -+/****************************************************/ -+{ -+ ulong end, part_start, part_end, part_len, aligned_start, aligned_end; -+ ulong mmc_block_size, mmc_block_address; -+ -+ if (size == 0) { -+ return 0; -+ } -+ -+ if (!mmc_ready) { -+ printf("Please initial the MMC first\n"); -+ return -1; -+ } -+ -+ mmc_block_size = MMC_BLOCK_SIZE; -+ mmc_block_address = ~(mmc_block_size - 1); -+ -+ end = src + size; -+ part_start = ~mmc_block_address & src; -+ part_end = ~mmc_block_address & end; -+ aligned_start = mmc_block_address & src; -+ aligned_end = mmc_block_address & end; -+ -+ /* all block aligned accesses */ -+ pr_debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", -+ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); -+ -+ if (part_start) { -+ part_len = mmc_block_size - part_start; -+ pr_debug("ps src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", -+ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); -+ -+ if ((mv_mmc_block_read(mmc_buf, aligned_start, mmc_block_size)) < 0) { -+ return -1; -+ } -+ memcpy(dst, mmc_buf+part_start, part_len); -+ dst += part_len; -+ src += part_len; -+ } -+ pr_debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", -+ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); -+ -+ for (; src < aligned_end; aligned_start +=mmc_block_size, src += mmc_block_size, dst += mmc_block_size) { -+ pr_debug("al src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", -+ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); -+ -+ if ((mv_mmc_block_read(mmc_buf, aligned_start, mmc_block_size)) < 0) { -+ printf("mmc block read error\n"); -+ return -1; -+ } -+ memcpy(dst, mmc_buf, mmc_block_size); -+ } -+ pr_debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", -+ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); -+ -+ if (part_end && src < end) { -+ pr_debug("pe src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", -+ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); -+ -+ if ((mv_mmc_block_read(mmc_buf, aligned_end, mmc_block_size)) < 0) { -+ return -1; -+ } -+ memcpy(dst, mmc_buf, part_end); -+ } -+ return 0; -+} -+ -+/****************************************************/ -+static ulong mv_mmc_bread(int dev_num, ulong blknr, ulong blkcnt, ulong *dst) -+/****************************************************/ -+{ -+ int mmc_block_size = MMC_BLOCK_SIZE; -+ ulong src = blknr * mmc_block_size; -+ -+ mv_mmc_read(src, (uchar *)dst, blkcnt*mmc_block_size); -+ return blkcnt; -+} -+ -+/****************************************************/ -+int mmc_legacy_init(int verbose) -+/****************************************************/ -+{ -+ int retries, rc = -ENODEV; -+ ulong *resp; -+ int sd_ver20; -+ int is_sd; -+ ushort reg; -+ uchar cidbuf[64]; -+ -+ sd_ver20 = 0; -+ is_sdhc = 0; -+ is_sd = 0; -+ -+ /* Initial Host Ctrl : Timeout : max , Normal Speed mode, 4-bit data mode */ -+ /* Big Endian, SD memory Card, Push_pull CMD Line */ -+ writew( SDIO_HOST_CTRL_TMOUT(0xf) | -+ SDIO_HOST_CTRL_DATA_WIDTH_4_BITS | -+ SDIO_HOST_CTRL_BIG_ENDIAN | -+ SDIO_HOST_CTRL_PUSH_PULL_EN | -+ SDIO_HOST_CTRL_CARD_TYPE_MEM_ONLY , -+ &mvsd->HOST_CTRL); -+ -+ writew( 0, &mvsd->CLK_CTRL); -+ -+ /* enable status */ -+ writew( 0xffff, &mvsd->NOR_STATUS_EN); -+ writew( 0xffff, &mvsd->ERR_STATUS_EN); -+ -+ /* disable interrupts */ -+ writew( 0, &mvsd->NOR_INTR_EN); -+ writew( 0, &mvsd->ERR_INTR_EN); -+ -+ writew( 0x100, &mvsd->SW_RESET); -+ udelay(10000); -+ -+ mv_mmc_csd.c_size = 0; -+ -+ /* reset */ -+ retries = 10; -+ resp = mv_mmc_cmd(0, 0, 0, SDIO_CMD_RSP_NONE, SDIO_NOR_CMD_DONE ); -+ pr_debug("cmd 0 resp : %08x %08x %08x %08x\n", -+ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); -+ -+ -+ pr_debug ("trying to detect SD card version\n"); -+ -+ resp = mv_mmc_cmd(8, 0x000001aa, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); -+ pr_debug("cmd 8 resp : %08x %08x %08x %08x\n", -+ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); -+ -+ if (resp && (resp[0] & 0x1ff)==0x1aa) { -+ pr_debug ("SD version 2.0 card detected\n"); -+ -+ sd_ver20 = 1; -+ } -+ -+ if (sd_ver20) -+ retries = 50; -+ else -+ retries = 10; -+ -+ while (retries--) { -+ resp = mv_mmc_cmd(55, 0, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); -+ pr_debug("cmd 55 resp : %08x %08x %08x %08x\n", -+ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); -+ -+ -+ if (sd_ver20) -+ resp = mv_mmc_cmd(41, 0x40300000, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); -+ else -+ resp = mv_mmc_cmd(41, 0x00300000, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); -+ -+ pr_debug("cmd 41 resp : %08x %08x %08x %08x\n", -+ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); -+ -+ -+ if (resp && (resp[0] & 0x80000000)) { -+ pr_debug ("detected SD card\n"); -+ -+ is_sd = 1; -+ break; -+ } -+ -+ udelay(100*1000); -+ } -+ -+ if (retries <= 0 && !is_sd) { -+ pr_debug ("failed to detect SD card, trying MMC\n"); -+ -+ retries = 10; -+ while (retries--) { -+ resp = mv_mmc_cmd(1, 0, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); -+ pr_debug("cmd 01 resp : %08x %08x %08x %08x\n", -+ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); -+ -+ -+ if (resp && (resp[0] & 0x80000000)) { -+ printf ("detected MMC card\n"); -+ reg = readw(&mvsd->HOST_CTRL); -+ reg &= ~(0x3<<1); -+ reg |= SDIO_HOST_CTRL_CARD_TYPE_IO_MMC; -+ writew( reg, &mvsd->HOST_CTRL); -+ break; -+ } -+ -+ udelay(100*1000); -+ } -+ } -+ -+ if (retries <= 0) { -+ pr_debug ("detect fails\n"); -+ -+ return -ENODEV; -+ } -+ -+ /* try to get card id */ -+ resp = mv_mmc_cmd(2, 0, 0, SDIO_CMD_RSP_136, SDIO_NOR_CMD_DONE ); -+ pr_debug("cmd 2 resp : %08x %08x %08x %08x\n", -+ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); -+ -+ -+ if (resp == NULL) { -+ pr_debug ("read cid fails\n"); -+ -+ return -ENODEV; -+ } -+ -+ if (is_sd) { -+ mv_sd_cid_t *cid = (mv_sd_cid_t *) resp; -+ -+ memcpy(cidbuf, resp, sizeof(mv_sd_cid_t)); -+ -+ sprintf((char *) mmc_dev.vendor, -+ "Man %02x OEM %c%c \"%c%c%c%c%c\"", -+ cid->mid, cid->oid_0, cid->oid_1, -+ cid->pnm_0, cid->pnm_1, cid->pnm_2, cid->pnm_3, cid->pnm_4); -+ -+ sprintf((char *) mmc_dev.product, "%d", -+ (cid->psn_0 << 24) | (cid->psn_1 <<16) | (cid->psn_2 << 8) | (cid->psn_3 << 8)); -+ -+ sprintf((char *) mmc_dev.revision, "%d.%d", cid->prv>>4, cid->prv & 0xff); -+ -+ } else { -+ /* TODO configure mmc driver depending on card attributes */ -+ mv_mmc_cid_t *cid = (mv_mmc_cid_t *) resp; -+ -+ memcpy(cidbuf, resp, sizeof(mv_sd_cid_t)); -+ -+ -+ sprintf((char *) mmc_dev.vendor, -+ "Man %02x%02x%02x Snr %02x%02x%02x", -+ cid->id[0], cid->id[1], cid->id[2], -+ cid->sn[0], cid->sn[1], cid->sn[2]); -+ sprintf((char *) mmc_dev.product, "%s", cid->name); -+ sprintf((char *) mmc_dev.revision, "%x %x", cid->hwrev, cid->fwrev); -+ } -+ -+ /* fill in device description */ -+ mmc_dev.if_type = IF_TYPE_MMC; -+ mmc_dev.part_type = PART_TYPE_DOS; -+ mmc_dev.dev = 0; -+ mmc_dev.lun = 0; -+ mmc_dev.type = 0; -+ -+ /* FIXME fill in the correct size (is set to 128MByte) */ -+ mmc_dev.blksz = MMC_BLOCK_SIZE; -+ mmc_dev.lba = 0x10000; -+ -+ mmc_dev.removable = 0; -+ mmc_dev.block_read = (unsigned long) mv_mmc_bread; -+ -+ /* MMC exists, get CSD too */ -+ resp = mv_mmc_cmd(MMC_CMD_SET_RCA, 0, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); -+ if (resp == NULL) { -+ pr_debug ("set rca fails\n"); -+ -+ return -ENODEV; -+ } -+ pr_debug("cmd3 resp : 0x%08x 0x%08x 0x%08x 0x%08x\n", -+ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3]); -+ -+ -+ if (is_sd) -+ rca = resp[0] >> 16; -+ else -+ rca = 0; -+ -+ resp = mv_mmc_cmd(MMC_CMD_SEND_CSD, rca<<16, 0, SDIO_CMD_RSP_136,SDIO_NOR_CMD_DONE ); -+ pr_debug("cmd 9 resp : %08x %08x %08x %08x\n", -+ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); -+ -+ if (resp == NULL) { -+ pr_debug ("read csd fails\n"); -+ -+ return -ENODEV; -+ } -+ -+ memcpy(&mv_mmc_csd, (mv_mmc_csd_t *) resp, sizeof(mv_mmc_csd_t)); -+ rc = 0; -+ mmc_ready = 1; -+ -+ /* FIXME add verbose printout for csd */ -+ pr_debug ("size = %u\n", mv_mmc_size(&mv_mmc_csd)); -+ -+ -+ resp = mv_mmc_cmd(7, rca<<16, 0, SDIO_CMD_RSP_48BUSY, SDIO_NOR_CMD_DONE); -+ if (resp == NULL) { -+ pr_debug ("select card fails\n"); -+ -+ return -ENODEV; -+ } -+ pr_debug("cmd 7 resp : %08x %08x %08x %08x\n", -+ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); -+ -+ -+ if (is_sd) { -+ resp = mv_mmc_cmd(55, rca<<16, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); -+ if (resp == NULL) { -+ pr_debug ("cmd55 fails\n"); -+ -+ return -ENODEV; -+ } -+ pr_debug("cmd55 resp : 0x%08x 0x%08x 0x%08x 0x%08x\n", -+ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3]); -+ -+ -+ resp = mv_mmc_cmd(6, (rca<<16) | 0x2 , 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); -+ if (resp == NULL) { -+ pr_debug ("cmd55 fails\n"); -+ -+ return -ENODEV; -+ } -+ pr_debug("cmd6 resp : 0x%08x 0x%08x 0x%08x 0x%08x\n", -+ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3]); -+ -+ } -+ -+ resp = (ulong *) &mv_mmc_csd; -+ pr_debug("csd: 0x%08x 0x%08x 0x%08x 0x%08x\n", -+ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3]); -+ -+ -+ /* check SDHC */ -+ if ((resp[0]&0xf0000000)==0x40000000) -+ is_sdhc = 1; -+ -+ /* set block len */ -+ resp = mv_mmc_cmd(MMC_CMD_SET_BLOCKLEN, MMC_BLOCK_SIZE, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); -+ if (!resp) { -+ pr_debug("mv_mmc_block_read: set blk len fails\n"); -+ return -ENODEV; -+ } -+ -+ if (verbose) { -+ if (is_sd) -+ print_sd_cid((mv_sd_cid_t *) cidbuf); -+ else -+ print_mmc_cid((mv_mmc_cid_t *) cidbuf); -+ } -+ -+ mvsdio_set_clock(CONFIG_SYS_MMC_CLK_PP); -+ -+ fat_register_device(&mmc_dev,1); /* partitions start counting with 1 */ -+ -+ return 0; -+} -+ -+#endif /* CONFIG_MMC */ -diff --git a/drivers/mmc/mv_sdio.h b/drivers/mmc/mv_sdio.h -new file mode 100644 -index 0000000..9707000 ---- /dev/null -+++ b/drivers/mmc/mv_sdio.h -@@ -0,0 +1,310 @@ -+/* -+ * (C) Copyright 2009 -+ * Marvell Semiconductor -+ * Written-by: Gérald Kerma -+ * -+ * See file CREDITS for list of people who contributed to this -+ * project. -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of -+ * the License, or (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -+ * MA 02110-1301 USA -+ */ -+ -+#ifndef _MVSDIO_INCLUDE -+#define _MVSDIO_INCLUDE -+ -+//#define SDIO_REG(x) (MV_SDIO_BASE + (x)) -+ -+#define MVSDMMC_DMA_SIZE 65536 -+#define MVSDMMC_CMD_TIMEOUT 2 /* 100 usec*/ -+ -+/* -+ * Clock rates -+ */ -+ -+#define MVSD_CLOCKRATE_MAX 50000000 -+#define MVSD_BASE_DIV_MAX 0x7ff -+ -+#define CONFIG_SYS_MMC_CLK_PP 25000000 -+ -+/* -+ * The base MMC clock rate -+ */ -+ -+#define MVSDMMC_CLOCKRATE_MIN 100000 -+#define MVSDMMC_CLOCKRATE_MAX MVSD_CLOCKRATE_MAX -+#define MVSDMMC_BASE_FAST_CLOCK CONFIG_SYS_TCLK -+ -+ -+/* -+ * SDIO register -+ */ -+#ifndef __ASSEMBLY__ -+ -+/* -+ * Structure for struct SoC access. -+ * Names starting with '_' are fillers. -+ */ -+typedef struct mv_sdio { -+ /* reg Offset */ -+ u32 SYS_ADDR_LOW; /* 0x00 */ -+ u32 SYS_ADDR_HI; /* 0x04 */ -+ u32 BLK_SIZE; /* 0x08 */ -+ u32 BLK_COUNT; /* 0x0c */ -+ u32 ARG_LOW; /* 0x10 */ -+ u32 ARG_HI; /* 0x14 */ -+ u32 XFER_MODE; /* 0x18 */ -+ u32 CMD; /* 0x1c */ -+ u32 RSP0; /* 0x20 */ -+ u32 RSP1; /* 0x24 */ -+ u32 RSP2; /* 0x28 */ -+ u32 RSP3; /* 0x2c */ -+ u32 RSP4; /* 0x30 */ -+ u32 RSP5; /* 0x34 */ -+ u32 RSP6; /* 0x38 */ -+ u32 RSP7; /* 0x3c */ -+ u32 BUF_DATA_PORT; /* 0x40 */ -+ u32 RSVED; /* 0x44 */ -+ u32 PRESENT_STATE0; /* 0x48 */ -+ u32 PRESENT_STATE1; /* 0x4c */ -+ u32 HOST_CTRL; /* 0x50 */ -+ u32 BLK_GAP_CTRL; /* 0x54 */ -+ u32 CLK_CTRL; /* 0x58 */ -+ u32 SW_RESET; /* 0x5c */ -+ u32 NOR_INTR_STATUS; /* 0x60 */ -+ u32 ERR_INTR_STATUS; /* 0x64 */ -+ u32 NOR_STATUS_EN; /* 0x68 */ -+ u32 ERR_STATUS_EN; /* 0x6c */ -+ u32 NOR_INTR_EN; /* 0x70 */ -+ u32 ERR_INTR_EN; /* 0x74 */ -+ u32 AUTOCMD12_ERR_STATUS; /* 0x78 */ -+ u32 CURR_BYTE_LEFT; /* 0x7c */ -+ u32 CURR_BLK_LEFT; /* 0x80 */ -+ u32 AUTOCMD12_ARG_LOW; /* 0x84 */ -+ u32 AUTOCMD12_ARG_HI; /* 0x88 */ -+ u32 AUTOCMD12_INDEX; /* 0x8c */ -+ u32 AUTO_RSP0; /* 0x90 */ -+ u32 AUTO_RSP1; /* 0x94 */ -+ u32 AUTO_RSP2; /* 0x98 */ -+ u32 _9c; /* 0x9c */ -+ u32 _a0[0x78]; /* 0xa0 */ -+ u32 CLK_DIV; /* 0x128 */ -+ -+} mv_sdio_t; -+ -+#endif /* __ASSEMBLY__ */ -+ -+/* -+ * SDIO_PRESENT_STATE -+ */ -+ -+#define CARD_BUSY (1 << 1) -+#define CMD_INHIBIT (1 << 0) -+#define CMD_TXACTIVE (1 << 8) -+#define CMD_RXACTIVE (1 << 9) -+#define CMD_AUTOCMD12ACTIVE (1 << 14) -+ -+#define CMD_BUS_BUSY (CMD_AUTOCMD12ACTIVE| \ -+ CMD_RXACTIVE| \ -+ CMD_TXACTIVE| \ -+ CMD_INHIBIT| \ -+ CARD_BUSY) -+ -+/* -+ * SDIO_CMD -+ */ -+ -+#define SDIO_CMD_RSP_NONE (0 << 0) -+#define SDIO_CMD_RSP_136 (1 << 0) -+#define SDIO_CMD_RSP_48 (2 << 0) -+#define SDIO_CMD_RSP_48BUSY (3 << 0) -+ -+#define SDIO_CMD_CHECK_DATACRC16 (1 << 2) -+#define SDIO_CMD_CHECK_CMDCRC (1 << 3) -+#define SDIO_CMD_INDX_CHECK (1 << 4) -+#define SDIO_CMD_DATA_PRESENT (1 << 5) -+#define SDIO_UNEXPECTED_RESP (1 << 7) -+ -+ -+/* -+ * SDIO_XFER_MODE -+ */ -+ -+#define SDIO_XFER_MODE_STOP_CLK (1 << 5) -+#define SDIO_XFER_MODE_HW_WR_DATA_EN (1 << 1) -+#define SDIO_XFER_MODE_AUTO_CMD12 (1 << 2) -+#define SDIO_XFER_MODE_INT_CHK_EN (1 << 3) -+#define SDIO_XFER_MODE_TO_HOST (1 << 4) -+ -+ -+/* -+ * SDIO_HOST_CTRL -+ */ -+ -+#define SDIO_HOST_CTRL_PUSH_PULL_EN (1 << 0) -+ -+#define SDIO_HOST_CTRL_CARD_TYPE_MEM_ONLY (0 << 1) -+#define SDIO_HOST_CTRL_CARD_TYPE_IO_ONLY (1 << 1) -+#define SDIO_HOST_CTRL_CARD_TYPE_IO_MEM_COMBO (2 << 1) -+#define SDIO_HOST_CTRL_CARD_TYPE_IO_MMC (3 << 1) -+#define SDIO_HOST_CTRL_CARD_TYPE_MASK (3 << 1) -+ -+#define SDIO_HOST_CTRL_BIG_ENDIAN (1 << 3) -+#define SDIO_HOST_CTRL_LSB_FIRST (1 << 4) -+#define SDIO_HOST_CTRL_ID_MODE_LOW_FREQ (1 << 5) -+#define SDIO_HOST_CTRL_HALF_SPEED (1 << 6) -+#define SDIO_HOST_CTRL_DATA_WIDTH_4_BITS (1 << 9) -+#define SDIO_HOST_CTRL_HI_SPEED_EN (1 << 10) -+ -+ -+#define SDIO_HOST_CTRL_TMOUT_MASK (0xf << 11) -+#define SDIO_HOST_CTRL_TMOUT_MAX (0xf << 11) -+#define SDIO_HOST_CTRL_TMOUT(x) ((x) << 11) -+#define SDIO_HOST_CTRL_TMOUT_EN (1 << 15) -+ -+#define SDIO_HOST_CTRL_DFAULT_OPEN_DRAIN \ -+ (SDIO_HOST_CTRL_TMOUT(x)(0xf)) -+#define SDIO_HOST_CTRL_DFAULT_PUSH_PULL \ -+ (SDIO_HOST_CTRL_TMOUT(x)(0xf) | SDIO_HOST_CTRL_PUSH_PULL_EN) -+ -+ -+/* -+ * NOR status bits -+ */ -+ -+#define SDIO_NOR_ERROR (1 << 15) -+#define SDIO_NOR_UNEXP_RSP (1 << 14) -+#define SDIO_NOR_AUTOCMD12_DONE (1 << 13) -+#define SDIO_NOR_SUSPEND_ON (1 << 12) -+#define SDIO_NOR_LMB_FF_8W_AVAIL (1 << 11) -+#define SDIO_NOR_LMB_FF_8W_FILLED (1 << 10) -+#define SDIO_NOR_READ_WAIT_ON (1 << 9) -+#define SDIO_NOR_CARD_INT (1 << 8) -+#define SDIO_NOR_READ_READY (1 << 5) -+#define SDIO_NOR_WRITE_READY (1 << 4) -+#define SDIO_NOR_DMA_INI (1 << 3) -+#define SDIO_NOR_BLK_GAP_EVT (1 << 2) -+#define SDIO_NOR_XFER_DONE (1 << 1) -+#define SDIO_NOR_CMD_DONE (1 << 0) -+ -+ -+/* -+ * ERR status bits -+ */ -+ -+#define SDIO_ERR_CRC_STATUS (1 << 14) -+#define SDIO_ERR_CRC_STARTBIT (1 << 13) -+#define SDIO_ERR_CRC_ENDBIT (1 << 12) -+#define SDIO_ERR_RESP_TBIT (1 << 11) -+#define SDIO_ERR_SIZE (1 << 10) -+#define SDIO_ERR_CMD_STARTBIT (1 << 9) -+#define SDIO_ERR_AUTOCMD12 (1 << 8) -+#define SDIO_ERR_DATA_ENDBIT (1 << 6) -+#define SDIO_ERR_DATA_CRC (1 << 5) -+#define SDIO_ERR_DATA_TIMEOUT (1 << 4) -+#define SDIO_ERR_CMD_INDEX (1 << 3) -+#define SDIO_ERR_CMD_ENDBIT (1 << 2) -+#define SDIO_ERR_CMD_CRC (1 << 1) -+#define SDIO_ERR_CMD_TIMEOUT (1 << 0) -+ -+#define SDIO_ERR_INTR_MASK 0xFFFF -+ -+ -+#define MMC_BLOCK_SIZE 512 -+#define MMC_CMD_RESET 0 -+#define MMC_CMD_SEND_OP_COND 1 -+#define MMC_CMD_ALL_SEND_CID 2 -+#define MMC_CMD_SET_RCA 3 -+#define MMC_CMD_SELECT_CARD 7 -+#define MMC_CMD_SEND_CSD 9 -+#define MMC_CMD_SEND_CID 10 -+#define MMC_CMD_SEND_STATUS 13 -+#define MMC_CMD_SET_BLOCKLEN 16 -+#define MMC_CMD_READ_BLOCK 17 -+#define MMC_CMD_RD_BLK_MULTI 18 -+#define MMC_CMD_WRITE_BLOCK 24 -+#define MMC_MAX_BLOCK_SIZE 512 -+ -+typedef struct mv_mmc_cid -+{ -+ /* FIXME: BYTE_ORDER */ -+ uchar year:4, -+ month:4; -+ uchar sn[3]; -+ uchar fwrev:4, -+ hwrev:4; -+ uchar name[6]; -+ uchar id[3]; -+} mv_mmc_cid_t; -+ -+typedef struct mv_mmc_csd -+{ -+ uchar ecc:2, -+ file_format:2, -+ tmp_write_protect:1, -+ perm_write_protect:1, -+ copy:1, -+ file_format_grp:1; -+ uint64_t content_prot_app:1, -+ rsvd3:4, -+ write_bl_partial:1, -+ write_bl_len:4, -+ r2w_factor:3, -+ default_ecc:2, -+ wp_grp_enable:1, -+ wp_grp_size:5, -+ erase_grp_mult:5, -+ erase_grp_size:5, -+ c_size_mult1:3, -+ vdd_w_curr_max:3, -+ vdd_w_curr_min:3, -+ vdd_r_curr_max:3, -+ vdd_r_curr_min:3, -+ c_size:12, -+ rsvd2:2, -+ dsr_imp:1, -+ read_blk_misalign:1, -+ write_blk_misalign:1, -+ read_bl_partial:1; -+ ushort read_bl_len:4, -+ ccc:12; -+ uchar tran_speed; -+ uchar nsac; -+ uchar taac; -+ uchar rsvd1:2, -+ spec_vers:4, -+ csd_structure:2; -+} mv_mmc_csd_t; -+ -+typedef struct { -+ char pnm_0; /* product name */ -+ char oid_1; /* OEM/application ID */ -+ char oid_0; -+ uint8_t mid; /* manufacturer ID */ -+ char pnm_4; -+ char pnm_3; -+ char pnm_2; -+ char pnm_1; -+ uint8_t psn_2; /* product serial number */ -+ uint8_t psn_1; -+ uint8_t psn_0; /* MSB */ -+ uint8_t prv; /* product revision */ -+ uint8_t crc; /* CRC7 checksum, b0 is unused and set to 1 */ -+ uint8_t mdt_1; /* manufacturing date, LSB, RRRRyyyy yyyymmmm */ -+ uint8_t mdt_0; /* MSB */ -+ uint8_t psn_3; /* LSB */ -+} mv_sd_cid_t; -+ -+#endif /* _MVSDIO_INCLUDE */ -diff --git a/include/configs/sheevaplug.h b/include/configs/sheevaplug.h -index 83dd8ff..7c8497c 100644 ---- a/include/configs/sheevaplug.h -+++ b/include/configs/sheevaplug.h -@@ -1,3 +1,4 @@ -+ - /* - * (C) Copyright 2009 - * Marvell Semiconductor -@@ -47,7 +48,9 @@ - #define CONFIG_CMD_DHCP - #define CONFIG_CMD_ENV - #define CONFIG_CMD_MII -+#define CONFIG_CMD_MMC - #define CONFIG_CMD_NAND -+#define CONFIG_JFFS2_NAND - #define CONFIG_CMD_PING - #define CONFIG_CMD_USB - /* -@@ -70,8 +73,8 @@ - * it has to be rounded to sector size - */ - #define CONFIG_ENV_SIZE 0x20000 /* 128k */ --#define CONFIG_ENV_ADDR 0x60000 --#define CONFIG_ENV_OFFSET 0x60000 /* env starts here */ -+#define CONFIG_ENV_ADDR 0xa0000 -+#define CONFIG_ENV_OFFSET 0xa0000 /* env starts here */ - - /* - * Default environment variables -@@ -81,10 +84,11 @@ - "${x_bootcmd_usb}; bootm 0x6400000;" - - #define CONFIG_MTDPARTS "orion_nand:512k(uboot)," \ -- "3m@1m(kernel),1m@4m(psm),13m@5m(rootfs) rw\0" -+ "0x1ff00000@512k(rootfs) rw\0" - - #define CONFIG_EXTRA_ENV_SETTINGS "x_bootargs=console" \ - "=ttyS0,115200 mtdparts="CONFIG_MTDPARTS \ -+ "mtdids=nand0=orion_nand\0" \ - "x_bootcmd_kernel=nand read 0x6400000 0x100000 0x300000\0" \ - "x_bootcmd_usb=usb start\0" \ - "x_bootargs_root=root=/dev/mtdblock3 rw rootfstype=jffs2\0" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ac6607daf92d..cdf010025063 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10108,14 +10108,42 @@ let tunctl = callPackage ../os-specific/linux/tunctl { }; - ubootChooser = name : if name == "upstream" then ubootUpstream - else if name == "sheevaplug" then ubootSheevaplug - else if name == "guruplug" then ubootGuruplug - else if name == "nanonote" then ubootNanonote - else throw "Unknown uboot"; + # TODO(dezgeg): either refactor & use ubootTools directly, or remove completely + ubootChooser = name: ubootTools; - ubootUpstream = callPackage ../misc/uboot { }; + # Upstream U-Boots: + ubootTools = callPackage ../misc/uboot { + toolsOnly = true; + targetPlatforms = lib.platforms.linux; + filesToInstall = ["tools/dumpimage" "tools/mkenvimage" "tools/mkimage"]; + }; + ubootJetsonTK1 = callPackage ../misc/uboot { + defconfig = "jetson-tk1_defconfig"; + targetPlatforms = ["armv7l-linux"]; + filesToInstall = ["u-boot-dtb-tegra.bin"]; + }; + + ubootPcduino3Nano = callPackage ../misc/uboot { + defconfig = "Linksprite_pcDuino3_Nano_defconfig"; + targetPlatforms = ["armv7l-linux"]; + filesToInstall = ["u-boot-sunxi-with-spl.bin"]; + }; + + ubootRaspberryPi = callPackage ../misc/uboot { + defconfig = "rpi_defconfig"; + targetPlatforms = ["armv6l-linux"]; + filesToInstall = ["u-boot.bin"]; + }; + + # Intended only for QEMU's vexpress-a9 emulation target! + ubootVersatileExpressCA9 = callPackage ../misc/uboot { + defconfig = "vexpress_ca9x4_defconfig"; + targetPlatforms = ["armv7l-linux"]; + filesToInstall = ["u-boot"]; + }; + + # Non-upstream U-Boots: ubootSheevaplug = callPackage ../misc/uboot/sheevaplug.nix { }; ubootNanonote = callPackage ../misc/uboot/nanonote.nix { }; From 0ec0790348c9788e87bd261734714d96d3e3d211 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Fri, 19 Jun 2015 06:13:34 +0300 Subject: [PATCH 50/72] U-Boot: Patch Versatile Express to use config_distro_bootcmd.h With this patch in place, ARMv7 NixOS can be booted in QEMU: qemu-system-arm -kernel u-boot -M vexpress-a9 -serial stdio -sd nixos-sd-image-armv7l-linux.img -m 1024 ...with all the features that boot.loader.generic-extlinux-compatible supports, like the boot generation menu and seamless kernel upgrades in the VM. --- pkgs/misc/uboot/default.nix | 2 + .../vexpress-Use-config_distro_bootcmd.patch | 141 ++++++++++++++++++ 2 files changed, 143 insertions(+) create mode 100644 pkgs/misc/uboot/vexpress-Use-config_distro_bootcmd.patch diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix index 5f4bab9138fe..675a6839c863 100644 --- a/pkgs/misc/uboot/default.nix +++ b/pkgs/misc/uboot/default.nix @@ -29,6 +29,8 @@ stdenv.mkDerivation rec { sha256 = "0q2x1wh1f6rjh9rmcnkf28dxcvp9hkhi4vzspqkzamb6b3gp06ha"; }; + patches = [ ./vexpress-Use-config_distro_bootcmd.patch ]; + nativeBuildInputs = [ bc dtc ]; configurePhase = '' diff --git a/pkgs/misc/uboot/vexpress-Use-config_distro_bootcmd.patch b/pkgs/misc/uboot/vexpress-Use-config_distro_bootcmd.patch new file mode 100644 index 000000000000..9c61847f02ee --- /dev/null +++ b/pkgs/misc/uboot/vexpress-Use-config_distro_bootcmd.patch @@ -0,0 +1,141 @@ +From 53a8612ff19f360363edaaf70137968f7fd6a1cd Mon Sep 17 00:00:00 2001 +From: Tuomas Tynkkynen +Date: Mon, 8 Jun 2015 22:29:23 +0300 +Subject: [PATCH] vexpress: Use config_distro_bootcmd + +Also had to hack cli_readline.c, as one codepath in +cli_readline_into_buffer doesn't respect the timeout. +--- + common/cli_readline.c | 12 +++++++++++- + include/configs/vexpress_ca9x4.h | 1 - + include/configs/vexpress_common.h | 35 +++++++++++++++++++++++------------ + 3 files changed, 34 insertions(+), 14 deletions(-) + +diff --git a/common/cli_readline.c b/common/cli_readline.c +index 9a9fb35..ca997a9 100644 +--- a/common/cli_readline.c ++++ b/common/cli_readline.c +@@ -517,6 +517,7 @@ int cli_readline_into_buffer(const char *const prompt, char *buffer, + int plen = 0; /* prompt length */ + int col; /* output column cnt */ + char c; ++ int first = 1; + + /* print prompt */ + if (prompt) { +@@ -528,7 +529,16 @@ int cli_readline_into_buffer(const char *const prompt, char *buffer, + for (;;) { + if (bootretry_tstc_timeout()) + return -2; /* timed out */ +- WATCHDOG_RESET(); /* Trigger watchdog, if needed */ ++ if (first && timeout) { ++ uint64_t etime = endtick(timeout); ++ ++ while (!tstc()) { /* while no incoming data */ ++ if (get_ticks() >= etime) ++ return -2; /* timed out */ ++ WATCHDOG_RESET(); ++ } ++ first = 0; ++ } + + #ifdef CONFIG_SHOW_ACTIVITY + while (!tstc()) { +diff --git a/include/configs/vexpress_ca9x4.h b/include/configs/vexpress_ca9x4.h +index 38ac4ed..993398c 100644 +--- a/include/configs/vexpress_ca9x4.h ++++ b/include/configs/vexpress_ca9x4.h +@@ -13,6 +13,5 @@ + + #define CONFIG_VEXPRESS_ORIGINAL_MEMORY_MAP + #include "vexpress_common.h" +-#define CONFIG_BOOTP_VCI_STRING "U-boot.armv7.vexpress_ca9x4" + + #endif /* VEXPRESS_CA9X4_H */ +diff --git a/include/configs/vexpress_common.h b/include/configs/vexpress_common.h +index db78c85..1dd069b 100644 +--- a/include/configs/vexpress_common.h ++++ b/include/configs/vexpress_common.h +@@ -123,7 +123,6 @@ + #define CONFIG_SYS_L2CACHE_OFF 1 + #define CONFIG_INITRD_TAG 1 + #define CONFIG_SYS_GENERIC_BOARD +-#define CONFIG_OF_LIBFDT 1 + + /* Size of malloc() pool */ + #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 128 * 1024) +@@ -152,6 +151,8 @@ + #define CONFIG_SYS_SERIAL0 V2M_UART0 + #define CONFIG_SYS_SERIAL1 V2M_UART1 + ++#include ++#include + /* Command line configuration */ + #define CONFIG_CMD_BDI + #define CONFIG_CMD_DHCP +@@ -169,7 +170,6 @@ + #define CONFIG_SUPPORT_RAW_INITRD + + #define CONFIG_CMD_FAT +-#define CONFIG_DOS_PARTITION 1 + #define CONFIG_MMC 1 + #define CONFIG_CMD_MMC + #define CONFIG_GENERIC_MMC +@@ -207,17 +207,28 @@ + GENERATED_GBL_DATA_SIZE) + #define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_GBL_DATA_OFFSET + ++#define BOOT_TARGET_DEVICES(func) \ ++ func(MMC, mmc, 0) ++#include ++ + /* Basic environment settings */ +-#define CONFIG_BOOTCOMMAND "run bootflash;" + #ifdef CONFIG_VEXPRESS_ORIGINAL_MEMORY_MAP ++/* ++ * RAM starts at 0x6000_0000 ++ * - U-Boot loaded @ 8M ++ * - Kernel loaded @ 32M ++ * - Initrd loaded @ 128M ++ * - DTB loaded @ 240M ++ */ + #define CONFIG_PLATFORM_ENV_SETTINGS \ +- "loadaddr=0x80008000\0" \ +- "ramdisk_addr_r=0x61000000\0" \ +- "kernel_addr=0x44100000\0" \ +- "ramdisk_addr=0x44800000\0" \ +- "maxramdisk=0x1800000\0" \ +- "pxefile_addr_r=0x88000000\0" \ +- "kernel_addr_r=0x80008000\0" ++ "fdtfile=vexpress-v2p-ca9.dtb\0" \ ++ "kernel_addr_r=0x62000000\0" \ ++ "ramdisk_addr_r=0x68000000\0" \ ++ "maxramdisk=0x06000000\0" \ ++ "fdt_addr_r=0x6f000000\0" \ ++ "loadaddr=0x70000000\0" \ ++ "pxefile_addr_r=0x71000000\0" \ ++ "scriptaddr=0x72000000\0" + #elif defined(CONFIG_VEXPRESS_EXTENDED_MEMORY_MAP) + #define CONFIG_PLATFORM_ENV_SETTINGS \ + "loadaddr=0xa0008000\0" \ +@@ -240,7 +251,8 @@ + "devtmpfs.mount=0 vmalloc=256M\0" \ + "bootflash=run flashargs; " \ + "cp ${ramdisk_addr} ${ramdisk_addr_r} ${maxramdisk}; " \ +- "bootm ${kernel_addr} ${ramdisk_addr_r}\0" ++ "bootm ${kernel_addr} ${ramdisk_addr_r}\0" \ ++ BOOTENV + + /* FLASH and environment organization */ + #define PHYS_FLASH_SIZE 0x04000000 /* 64MB */ +@@ -294,7 +306,6 @@ + #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot args buffer */ + #define CONFIG_CMD_SOURCE + #define CONFIG_SYS_LONGHELP +-#define CONFIG_CMDLINE_EDITING 1 + #define CONFIG_SYS_MAXARGS 16 /* max command args */ + + #endif /* VEXPRESS_COMMON_H */ +-- +2.4.4 + From 36cd08e3749e342cd7e5e157af617498f539f3b5 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 30 Jun 2015 11:04:46 +0200 Subject: [PATCH 51/72] nixpkgs-manual: fix callouts --- doc/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/default.nix b/doc/default.nix index 1e8974d60266..b68194b97a7b 100644 --- a/doc/default.nix +++ b/doc/default.nix @@ -36,6 +36,9 @@ stdenv.mkDerivation { cp ${./style.css} $dst/style.css + mkdir -p $dst/images/callouts + cp ${docbook5_xsl}/xml/xsl/docbook/images/callouts/*.gif $dst/images/callouts/ + mkdir -p $out/nix-support echo "doc manual $dst manual.html" >> $out/nix-support/hydra-build-products ''; From 01ce5ce0501327d37aa123c0ded432a5b87cea4b Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 30 Jun 2015 11:26:14 +0200 Subject: [PATCH 52/72] doc: document .override --- doc/functions.xml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/doc/functions.xml b/doc/functions.xml index 16f4f262a25f..89f2fda0ad4b 100644 --- a/doc/functions.xml +++ b/doc/functions.xml @@ -54,4 +54,35 @@ in ... +
+ <pkg>.override + + + The function override is usually available for all the + derivations in the nixpkgs expression (pkgs). + + + It is used to override the arguments passed to a function. + + + Example usages: + + pkgs.foo.override { arg1 = val1; arg2 = val2; ... } + pkgs.overridePackages (self: super: { + foo = super.foo.override { barSupport = true ; }; +}) + mypkg = pkgs.callPackage ./mypkg.nix { + mydep = pkgs.mydep.override { ... }; +}) + + + + In the first example, pkgs.foo is the result of a function call + with some default arguments, usually a derivation. + Using pkgs.foo.override will call the same function with + the given new arguments. + + +
+ From e06f494a81d65177404cf9b1d28a5fbffda0f146 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 30 Jun 2015 12:19:49 +0200 Subject: [PATCH 53/72] doc: document lib.makeOverridable --- doc/functions.xml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/doc/functions.xml b/doc/functions.xml index 89f2fda0ad4b..2aae3cfb2aec 100644 --- a/doc/functions.xml +++ b/doc/functions.xml @@ -85,4 +85,36 @@ in ... +
+ lib.makeOverridable + + + The function lib.makeOverridable is used make the result + of a function easily customizable. This utility only makes sense for functions + that accept an argument set and return an attribute set. + + + + Example usage: + + f = { a, b }: { result = a+b; } +c = lib.makeOverridable f { a = 1; b = 2; } + + + + + The variable c is the value of the f function + applied with some default arguments. Hence the value of c.result + is 3, in this example. + + + + The variable c however also has some additional functions, like + c.override which can be used to + override the default arguments. In this example the value of + (c.override { a = 4; }).result is 6. + + +
+ From e7d81a371bb2151a346576ac9526e89a99d6f346 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 30 Jun 2015 12:25:18 +0200 Subject: [PATCH 54/72] doc: make it clear the Contributing section is for the docs --- doc/contributing.xml | 2 +- doc/manual.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/contributing.xml b/doc/contributing.xml index ee93be4447ac..a83059aa36e6 100644 --- a/doc/contributing.xml +++ b/doc/contributing.xml @@ -2,7 +2,7 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="chap-contributing"> -Contributing +Contributing to this documentation The DocBook sources of the Nixpkgs manual are in the doc diff --git a/doc/manual.xml b/doc/manual.xml index 11f37184e6d5..1321f4b7ad22 100644 --- a/doc/manual.xml +++ b/doc/manual.xml @@ -18,7 +18,7 @@ - + From 18308e6b563cef25f126cd434255f236ebdd6cde Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Tue, 30 Jun 2015 12:58:28 +0200 Subject: [PATCH 55/72] tvheadend: fix build by disabling dvbscan --- pkgs/servers/tvheadend/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/tvheadend/default.nix b/pkgs/servers/tvheadend/default.nix index 7eb2c527406e..c7b4e5153176 100644 --- a/pkgs/servers/tvheadend/default.nix +++ b/pkgs/servers/tvheadend/default.nix @@ -1,4 +1,5 @@ -{avahi, dbus, fetchurl, git, gzip, libav, libiconv, openssl, pkgconfig, python, stdenv, which, zlib}: +{avahi, dbus, fetchurl, git, gzip, libav, libiconv, openssl, pkgconfig, python +, stdenv, which, zlib}: let version = "4.0.4"; pkgName = "tvheadend"; in @@ -13,7 +14,10 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - buildInputs = [ avahi dbus git gzip libav libiconv openssl pkgconfig python which zlib]; + configureFlags = [ "--disable-dvbscan" ]; + + buildInputs = [ avahi dbus git gzip libav libiconv openssl pkgconfig python + which zlib ]; preConfigure = "patchShebangs ./configure"; From 2cdbe82ada2ead4f993e40521305d6184970be0b Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Tue, 30 Jun 2015 13:07:06 +0200 Subject: [PATCH 56/72] llpp: update from 2015-06-06 to 2015-06-27 --- pkgs/applications/misc/llpp/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix index 601ffe25200e..bd0727ccab11 100644 --- a/pkgs/applications/misc/llpp/default.nix +++ b/pkgs/applications/misc/llpp/default.nix @@ -4,12 +4,12 @@ let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version; in stdenv.mkDerivation rec { name = "llpp-${version}"; - version = "21-git-2015-06-06"; + version = "21-git-2015-06-27"; src = fetchgit { url = "git://repo.or.cz/llpp.git"; - rev = "492d761c0c7c8c4ccdd4f0d3fa7c51434ce8acf2"; - sha256 = "14dp5sw7cd6bja9d3zpxmswbk0k0b7x2fzb1fflhnnnhjc39irk9"; + rev = "843c42ef41bb78a3b1ee995fc2bab91f8796e8ad"; + sha256 = "0h8wa7f5bj5sm3sr8namcyy81s4s80hyasimyfw935lqyw2q2k60"; }; buildInputs = [ pkgconfig ninja makeWrapper ocaml findlib mupdf lablgl From 16406e63b310e832b017bf9ef0473a6aa792f7da Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Tue, 30 Jun 2015 15:41:22 +0200 Subject: [PATCH 57/72] xdg_utils: fix handling of runtime dependencies, closes #8564 'egrep' was substituted with the path to the grep binary --- pkgs/tools/X11/xdg-utils/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/X11/xdg-utils/default.nix b/pkgs/tools/X11/xdg-utils/default.nix index 5f5619002d61..7ba20480b6f5 100644 --- a/pkgs/tools/X11/xdg-utils/default.nix +++ b/pkgs/tools/X11/xdg-utils/default.nix @@ -17,8 +17,8 @@ stdenv.mkDerivation rec { for item in $out/bin/*; do substituteInPlace $item --replace "cut " "${coreutils}/bin/cut " substituteInPlace $item --replace "sed " "${gnused}/bin/sed " - substituteInPlace $item --replace "grep " "${gnugrep}/bin/grep " substituteInPlace $item --replace "egrep " "${gnugrep}/bin/egrep " + sed -i $item -e "s#[^e]grep #${gnugrep}/bin/grep #g" # Don't replace 'egrep' substituteInPlace $item --replace "which " "${which}/bin/which " substituteInPlace $item --replace "/usr/bin/file" "${file}/bin/file" done From 32b9ca3219e38b4a0b8d01156ac93c4c92413b08 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 30 Jun 2015 17:03:11 +0200 Subject: [PATCH 58/72] EC2: Don't blackhole 169.254.169.254 https://github.com/NixOS/nixops/issues/267 --- nixos/modules/virtualisation/ec2-data.nix | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/nixos/modules/virtualisation/ec2-data.nix b/nixos/modules/virtualisation/ec2-data.nix index 0b2479c10462..cc641b1a9870 100644 --- a/nixos/modules/virtualisation/ec2-data.nix +++ b/nixos/modules/virtualisation/ec2-data.nix @@ -31,8 +31,6 @@ with lib; script = '' - ip route del blackhole 169.254.169.254/32 || true - wget="wget -q --retry-connrefused -O -" ${optionalString (config.networking.hostName == "") '' @@ -67,14 +65,6 @@ with lib; (umask 077; echo "$key" > /etc/ssh/ssh_host_dsa_key) echo "$key_pub" > /etc/ssh/ssh_host_dsa_key.pub fi - - ${optionalString (! config.ec2.metadata) '' - # Since the user data is sensitive, prevent it from - # being accessed from now on. FIXME: remove at some - # point, since current NixOps no longer relies on - # metadata secrecy. - ip route add blackhole 169.254.169.254/32 - ''} ''; serviceConfig.Type = "oneshot"; From 433a13d12aa4f97bb003ea5561758ff5858d632a Mon Sep 17 00:00:00 2001 From: Charles Strahan Date: Tue, 30 Jun 2015 11:11:43 -0400 Subject: [PATCH 59/72] taffybar: init with-packages wrapper This provides a wrapper around taffybar, in a fashion similar to how package xmonad. --- .../window-managers/taffybar/default.nix | 15 +++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++++ 2 files changed, 19 insertions(+) create mode 100644 pkgs/applications/window-managers/taffybar/default.nix diff --git a/pkgs/applications/window-managers/taffybar/default.nix b/pkgs/applications/window-managers/taffybar/default.nix new file mode 100644 index 000000000000..66e880197bb5 --- /dev/null +++ b/pkgs/applications/window-managers/taffybar/default.nix @@ -0,0 +1,15 @@ +{ stdenv, ghcWithPackages, xmessage, makeWrapper, packages ? (x: []) }: + +let +taffybarEnv = ghcWithPackages (self: [ self.taffybar ] ++ packages self); +in stdenv.mkDerivation { + name = "taffybar-with-packages"; + + nativeBuildInputs = [ makeWrapper ]; + + buildCommand = '' + mkdir -p $out/bin + makeWrapper ${taffybarEnv}/bin/taffybar $out/bin/taffybar \ + --set NIX_GHC "${taffybarEnv}/bin/ghc" + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b2566783eb53..0e746243fea2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12668,6 +12668,10 @@ let enableXft = true; }; + taffybar = callPackage ../applications/window-managers/taffybar { + inherit (haskellPackages) ghcWithPackages; + }; + tagainijisho = callPackage ../applications/office/tagainijisho {}; tahoelafs = callPackage ../tools/networking/p2p/tahoe-lafs { From 96b325b0b7d2fab8ea8ec8e06f2e8868d5f45d8b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 30 Jun 2015 17:25:30 +0200 Subject: [PATCH 60/72] Remove option ec2.metadata --- nixos/modules/rename.nix | 1 + nixos/modules/virtualisation/amazon-init.nix | 1 - nixos/modules/virtualisation/ec2-data.nix | 10 ---------- 3 files changed, 1 insertion(+), 11 deletions(-) diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index fc83e7ed590a..dd80d0065911 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -148,5 +148,6 @@ in zipModules ([] ++ obsolete' [ "services" "samba" "defaultShare" ] ++ obsolete' [ "services" "syslog-ng" "serviceName" ] ++ obsolete' [ "services" "syslog-ng" "listenToJournal" ] +++ obsolete' [ "ec2" "metadata" ] ) diff --git a/nixos/modules/virtualisation/amazon-init.nix b/nixos/modules/virtualisation/amazon-init.nix index 6058a7019e84..21cbbfda0b68 100644 --- a/nixos/modules/virtualisation/amazon-init.nix +++ b/nixos/modules/virtualisation/amazon-init.nix @@ -45,7 +45,6 @@ let ''; in { imports = [ "${modulesPath}/virtualisation/amazon-image.nix" ]; - ec2.metadata = true; boot.postBootCommands = '' ${bootScript} & ''; diff --git a/nixos/modules/virtualisation/ec2-data.nix b/nixos/modules/virtualisation/ec2-data.nix index cc641b1a9870..44a582ba7666 100644 --- a/nixos/modules/virtualisation/ec2-data.nix +++ b/nixos/modules/virtualisation/ec2-data.nix @@ -7,16 +7,6 @@ with lib; { - options = { - ec2.metadata = mkOption { - type = types.bool; - default = false; - description = '' - Whether to allow access to EC2 metadata. - ''; - }; - }; - config = { systemd.services."fetch-ec2-data" = From e46933f5546b23dfea1a586a4abec9de583f582b Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Tue, 30 Jun 2015 18:21:51 +0200 Subject: [PATCH 61/72] bmon: update from 3.6 to 3.7 --- pkgs/tools/misc/bmon/default.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/misc/bmon/default.nix b/pkgs/tools/misc/bmon/default.nix index 4416c3e1625d..308232ac2fe8 100644 --- a/pkgs/tools/misc/bmon/default.nix +++ b/pkgs/tools/misc/bmon/default.nix @@ -3,18 +3,15 @@ stdenv.mkDerivation rec { name = "bmon-${version}"; - version = "3.6"; + version = "3.7"; src = fetchFromGitHub { owner = "tgraf"; repo = "bmon"; rev = "v${version}"; - sha256 = "16qwazays2j448kmfckv6wvh4rhmhc9q4vp1s75hm9z02cmhvk8q"; + sha256 = "0rh0r8gabcsqq3d659yqk8nz6y4smsi7p1vwa2v584m2l2d0rqd6"; }; - # https://github.com/tgraf/bmon/pull/24#issuecomment-98068887 - postPatch = "sed '1i#include ' -i src/in_netlink.c"; - buildInputs = [ autoconf automake pkgconfig ncurses confuse libnl ]; preConfigure = "sh ./autogen.sh"; From f5268e9f094e61c91c8e777c714503755d1af818 Mon Sep 17 00:00:00 2001 From: Lane Seppala Date: Tue, 30 Jun 2015 11:11:13 -0600 Subject: [PATCH 62/72] Enable uuid-ossp in Postgres 9.4 on Darwin Based on documentation section F.44.2 at http://www.postgresql.org/docs/9.4/static/uuid-ossp.html --- pkgs/servers/sql/postgresql/9.4.x.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/servers/sql/postgresql/9.4.x.nix b/pkgs/servers/sql/postgresql/9.4.x.nix index 5c795329b2d4..cdb689fc110b 100644 --- a/pkgs/servers/sql/postgresql/9.4.x.nix +++ b/pkgs/servers/sql/postgresql/9.4.x.nix @@ -20,6 +20,7 @@ stdenv.mkDerivation rec { makeFlags = [ "world" ]; configureFlags = [ "--with-openssl" ] + ++ optional (stdenv.isDarwin) "--with-uuid=e2fs" ++ optional (!stdenv.isDarwin) "--with-ossp-uuid"; patches = [ ./disable-resolve_symlinks-94.patch ./less-is-more.patch ]; From 34cb1a202b954378f2f81c6e0b92eb544d354bc5 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 30 Jun 2015 11:16:21 -0700 Subject: [PATCH 63/72] kernel: 3.10.81 -> 3.10.82 --- pkgs/os-specific/linux/kernel/linux-3.10.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix index 01e5e941118a..42b90a48097f 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.10.81"; + version = "3.10.82"; extraMeta.branch = "3.10"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0hza9wsy9x2113crlwygl06lspwlahq09nifnmdacfkqcxp4r3ng"; + sha256 = "177rzyd9mxvbacy242abk7annhlm48rbdspr78y5qqsqsgihh88y"; }; features.iwlwifi = true; From 3f7d195762fa60d8c39df966c49c9238ffefd184 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 30 Jun 2015 11:18:01 -0700 Subject: [PATCH 64/72] kernel: 4.1 -> 4.1.1 --- pkgs/os-specific/linux/kernel/linux-4.1.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.1.nix b/pkgs/os-specific/linux/kernel/linux-4.1.nix index baee61940cd7..5d9a026f6147 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.1.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.1.nix @@ -1,13 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "4.1"; - modDirVersion = "4.1.0"; + version = "4.1.1"; extraMeta.branch = "4.1"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "17rdly75zh49m6r32yy03xappl7ajcqbznq09pm1q7mcb841zxfa"; + sha256 = "12bfih081cbqlgmgq1fqdvvpxga5saj4kkvhawsl4fpg4mybrml8"; }; features.iwlwifi = true; From b25930c4c8cd53b1b4affa6e20c657338a0d80a7 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 30 Jun 2015 11:17:51 -0700 Subject: [PATCH 65/72] kernel: 4.0.6 -> 4.0.7 --- pkgs/os-specific/linux/kernel/linux-4.0.nix | 4 ++-- pkgs/os-specific/linux/kernel/patches.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.0.nix b/pkgs/os-specific/linux/kernel/linux-4.0.nix index 89cd34182cf3..3ea4257a1e91 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.0.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.0.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "4.0.6"; + version = "4.0.7"; # Remember to update grsecurity! extraMeta.branch = "4.0"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0n0w2k52m3cn286f413jmzwffyk3g28y4n7d41wc93zvgm720lr9"; + sha256 = "01c68w6lygzjzllv7xgnd1hm3339rs0fvd8q26n6bdfa95aj554m"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index af63b0a5f551..f49c8726297b 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -72,10 +72,10 @@ rec { }; grsecurity_unstable = grsecPatch - { kversion = "4.0.6"; - revision = "201506232104"; + { kversion = "4.0.7"; + revision = "201506300712"; branch = "test"; - sha256 = "0him41fm0hw857ibvfmvpsrk2a8x492d4cy4hlbqyfk35rcmpfdf"; + sha256 = "0rw0wx5nc244m2q7f9y832mmkv8gb8yv1rn1w2pyq8brckiswni7"; }; grsec_fix_path = From 43eda80b092861376740807745e663483bf7dd89 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 30 Jun 2015 11:16:46 -0700 Subject: [PATCH 66/72] kernel: 3.18.16 -> 3.18.17 --- pkgs/os-specific/linux/kernel/linux-3.18.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.18.nix b/pkgs/os-specific/linux/kernel/linux-3.18.nix index 168bfe5e94cd..843172581cc7 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.18.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.18.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.18.16"; + version = "3.18.17"; extraMeta.branch = "3.18"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0c2530amgsk29ina9mfvlncki64w0zs16d2k8bghq3fv9k2qv3nr"; + sha256 = "08512kqvy91jh26jld2h3d9xq3wsfbyylzawjgn75x4r5li6y5ha"; }; features.iwlwifi = true; From d64b3c8a5cea93ee24cb6680ccbadd501e7067bb Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 30 Jun 2015 11:16:33 -0700 Subject: [PATCH 67/72] kernel: 3.14.45 -> 3.14.46 --- pkgs/os-specific/linux/kernel/linux-3.14.nix | 4 ++-- pkgs/os-specific/linux/kernel/patches.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix index e6e7f4130a7a..103fbcbcfb9c 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.14.45"; + version = "3.14.46"; # Remember to update grsecurity! extraMeta.branch = "3.14"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0jfbwl0daba41cwkn67rk7an9g6cbljxq8wlwnr321mfnd3mnx4c"; + sha256 = "1ran8fi1ldc89x3gpxwkkfl64mln4sl0rq5bbl8imlca5nljmzkb"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index f49c8726297b..ed202d77b387 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -65,10 +65,10 @@ rec { }; grsecurity_stable = grsecPatch - { kversion = "3.14.45"; - revision = "201506232103"; + { kversion = "3.14.46"; + revision = "201506300711"; branch = "stable"; - sha256 = "1f4fm7r6pbspdw9l1d1mrjj1jpyh0l2vlq1lnqs54v3xzwr933py"; + sha256 = "0xjqh7yc4vzgbnql16aylla9b0cjh442sywp8bvkh0ny5m3rj64l"; }; grsecurity_unstable = grsecPatch From 83895f49014106b5c76887cd3f2110594b3988b5 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 30 Jun 2015 13:11:18 -0700 Subject: [PATCH 68/72] keepalived: 1.2.17 -> 1.2.18 --- pkgs/tools/networking/keepalived/default.nix | 7 +--- .../keepalived/fix-ip-release.patch | 39 ------------------- 2 files changed, 2 insertions(+), 44 deletions(-) delete mode 100644 pkgs/tools/networking/keepalived/fix-ip-release.patch diff --git a/pkgs/tools/networking/keepalived/default.nix b/pkgs/tools/networking/keepalived/default.nix index 8ad0021e6aed..bde3a74f8b7a 100644 --- a/pkgs/tools/networking/keepalived/default.nix +++ b/pkgs/tools/networking/keepalived/default.nix @@ -1,18 +1,15 @@ { stdenv, fetchurl, openssl, net_snmp, libnl }: stdenv.mkDerivation rec { - name = "keepalived-1.2.17"; + name = "keepalived-1.2.18"; src = fetchurl { url = "http://keepalived.org/software/${name}.tar.gz"; - sha256 = "1w7px8phx3pyb3b56m3nz1a9ncx26q34fgy8j4n2dpi284jmqm6z"; + sha256 = "07l1ywg44zj2s3wn9mh6y7qbcc0cgp6q1q39hnm0c5iv5izakkg5"; }; buildInputs = [ openssl net_snmp libnl ]; - # Remove in 1.2.18 - patches = [ ./fix-ip-release.patch ]; - postPatch = '' sed -i 's,$(DESTDIR)/usr/share,$out/share,g' Makefile.in ''; diff --git a/pkgs/tools/networking/keepalived/fix-ip-release.patch b/pkgs/tools/networking/keepalived/fix-ip-release.patch deleted file mode 100644 index 0fa828a3ee53..000000000000 --- a/pkgs/tools/networking/keepalived/fix-ip-release.patch +++ /dev/null @@ -1,39 +0,0 @@ -From d80c171e7e8fe7fb4e0878a15027ac80c23b0a14 Mon Sep 17 00:00:00 2001 -From: David Stapleton -Date: Mon, 15 Jun 2015 13:07:21 +0100 -Subject: [PATCH] Fix vrrp removes incorrect IPv4 address when VIPs are removed - -When vrrp has an IPv4 VIP that matches the primary interface -address, when the VIP is removed from the interface, the original -address ends up getting removed instead of the VIP. - -The kernel receives a netlink message instructing it to remove -address x from a particular interface. For IPv4, address x can -be configured multiple times providing the prefix lengths differ. -If the IFA_ADDRESS attribute is not specified in a RTM_DELADDR -message, the kernel will delete the first address it finds a -match on, prefix length is not taken into account. - -This fix therefore adds the IFA_ADDRESS attribute when deleting -IPv4 addresses so that the address removed is actually the VIP. ---- - keepalived/vrrp/vrrp_ipaddress.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/keepalived/vrrp/vrrp_ipaddress.c b/keepalived/vrrp/vrrp_ipaddress.c -index 0f9ce23..698f35c 100644 ---- a/keepalived/vrrp/vrrp_ipaddress.c -+++ b/keepalived/vrrp/vrrp_ipaddress.c -@@ -86,6 +86,9 @@ netlink_ipaddress(ip_address_t *ipaddress, int cmd) - } else { - addattr_l(&req.n, sizeof(req), IFA_LOCAL, - &ipaddress->u.sin.sin_addr, sizeof(ipaddress->u.sin.sin_addr)); -+ if (cmd == IPADDRESS_DEL) -+ addattr_l(&req.n, sizeof(req), IFA_ADDRESS, -+ &ipaddress->u.sin.sin_addr, sizeof(ipaddress->u.sin.sin_addr)); - if (ipaddress->u.sin.sin_brd.s_addr) - addattr_l(&req.n, sizeof(req), IFA_BROADCAST, - &ipaddress->u.sin.sin_brd, sizeof(ipaddress->u.sin.sin_brd)); --- -2.4.4 - From db53d84a98fd2bd90779fd85672f82f99ea947ac Mon Sep 17 00:00:00 2001 From: Jascha Geerds Date: Tue, 30 Jun 2015 22:59:15 +0200 Subject: [PATCH 69/72] screen: 4.3.0 -> 4.3.1 --- pkgs/tools/misc/screen/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix index d329106b979e..1fe71ae96160 100644 --- a/pkgs/tools/misc/screen/default.nix +++ b/pkgs/tools/misc/screen/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ncurses, pam ? null }: stdenv.mkDerivation rec { - name = "screen-4.3.0"; + name = "screen-4.3.1"; src = fetchurl { url = "mirror://gnu/screen/${name}.tar.gz"; - sha256 = "0ilccnwszaxr9wbrx0swh4fisha2rj2jiq76fwqikmv0rjdyhr2i"; + sha256 = "0qwxd4axkgvxjigz9xs0kcv6qpfkrzr2gm43w9idx0z2mvw4jh7s"; }; preConfigure = '' From 8712de495fda190720d9c6a65405071142080384 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 30 Jun 2015 10:01:45 +0200 Subject: [PATCH 70/72] netsniff-ng: 0.5.9-18-g9977ec6 -> 0.5.9-21-g8c75168 Relevant changes: - netsniff-ng: nlmsg: Define NTF_* constants if not provided by kernel headers --- pkgs/tools/networking/netsniff-ng/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/netsniff-ng/default.nix b/pkgs/tools/networking/netsniff-ng/default.nix index cc9b3554515e..feeb505b4c54 100644 --- a/pkgs/tools/networking/netsniff-ng/default.nix +++ b/pkgs/tools/networking/netsniff-ng/default.nix @@ -2,7 +2,7 @@ , libnetfilter_conntrack, libnl, libpcap, libsodium, liburcu, ncurses, perl , pkgconfig, zlib }: -let version = "0.5.9-18-g9977ec6"; in +let version = "0.5.9-21-g8c75168"; in stdenv.mkDerivation { name = "netsniff-ng-${version}"; @@ -10,8 +10,8 @@ stdenv.mkDerivation { src = fetchFromGitHub rec { repo = "netsniff-ng"; owner = repo; - rev = "9977ec6012452bfc5053dbc90aed53f55064c86b"; - sha256 = "1ww0pm3v9wphjzfanswx2przps33v26q38alxljigj5cigh8ffms"; + rev = "8c75168ed5005f70955dd4ade93dec6abf481852"; + sha256 = "10awwwmpm555wl1z07pz20cq1lsy37r36m0aamck9ri5vyq6fdzw"; }; buildInputs = [ bison flex geoip geolite-legacy libcli libnet libnl From 013f88ac7e4c679868bfac5c6d9b896c9b13fd99 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 1 Jul 2015 02:22:27 +0200 Subject: [PATCH 71/72] nixos: gnome-keyring: fix module description --- nixos/modules/services/desktops/gnome3/gnome-keyring.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/desktops/gnome3/gnome-keyring.nix b/nixos/modules/services/desktops/gnome3/gnome-keyring.nix index 566c8a50e269..a8f1bcc28fbe 100644 --- a/nixos/modules/services/desktops/gnome3/gnome-keyring.nix +++ b/nixos/modules/services/desktops/gnome3/gnome-keyring.nix @@ -21,7 +21,7 @@ in description = '' Whether to enable GNOME Keyring daemon, a service designed to take care of the user's security credentials, - such as user names and passwordsa search engine. + such as user names and passwords. ''; }; From ddf15bc78a869ec61487aa20edd4e8d9ba044519 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Tue, 30 Jun 2015 23:54:42 -0700 Subject: [PATCH 72/72] glusterfs: Propagate acl due to header references --- pkgs/tools/filesystems/glusterfs/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix index 57b36875a51d..bfb739fa84a0 100644 --- a/pkgs/tools/filesystems/glusterfs/default.nix +++ b/pkgs/tools/filesystems/glusterfs/default.nix @@ -17,11 +17,15 @@ let autoconf automake libtool pkgconfig zlib libaio libxml2 acl sqlite liburcu attr ]; + # Some of the headers reference acl + propagatedBuildInputs = [ + acl + ]; in stdenv.mkDerivation rec { inherit (s) name version; - inherit buildInputs; + inherit buildInputs propagatedBuildInputs; preConfigure = '' ./autogen.sh