Merge branch 'master' into staging

This commit is contained in:
Vladimír Čunát
2016-05-08 21:24:48 +02:00
245 changed files with 4326 additions and 1284 deletions

View File

@@ -3,11 +3,11 @@
}:
stdenv.mkDerivation rec {
name = "iproute2-4.3.0";
name = "iproute2-4.5.0";
src = fetchurl {
url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz";
sha256 = "159988vv3fd78bzhisfl1dl4dd7km3vjzs2d8899a0vcvn412fzh";
sha256 = "0jj9phsi8m2sbnz7bbh9cf9vckm67hs62ab5srdwnrg4acpjj59z";
};
patches = lib.optionals enableFan [

View File

@@ -1,33 +0,0 @@
{stdenv, fetchurl, bison, flex, libnetfilter_conntrack, libnftnl, libmnl}:
stdenv.mkDerivation rec {
name = "iptables-${version}";
version = "1.6.0";
src = fetchurl {
url = "http://www.netfilter.org/projects/iptables/files/${name}.tar.bz2";
sha256 = "0q0w1x4aijid8wj7dg1ny9fqwll483f1sqw7kvkskd8q1c52mdsb";
};
nativeBuildInputs = [bison flex];
buildInputs = [libnetfilter_conntrack libnftnl libmnl];
preConfigure = ''
export NIX_LDFLAGS="$NIX_LDFLAGS -lmnl -lnftnl"
'';
configureFlags = ''
--enable-devel
--enable-shared
'';
meta = {
description = "A program to configure the Linux IP packet filtering ruleset";
homepage = http://www.netfilter.org/projects/iptables/index.html;
platforms = stdenv.lib.platforms.linux;
downloadPage = "http://www.netfilter.org/projects/iptables/files/";
updateWalker = true;
inherit version;
};
}

View File

@@ -1,14 +1,22 @@
{stdenv, fetchurl}:
{stdenv, fetchurl, bison, flex, libnetfilter_conntrack, libnftnl, libmnl}:
stdenv.mkDerivation rec {
name = "iptables-${version}";
version = "1.4.21"; # before updating check #12178
version = "1.6.0";
src = fetchurl {
url = "http://www.netfilter.org/projects/iptables/files/${name}.tar.bz2";
sha256 = "1q6kg7sf0pgpq0qhab6sywl23cngxxfzc9zdzscsba8x09l4q02j";
sha256 = "0q0w1x4aijid8wj7dg1ny9fqwll483f1sqw7kvkskd8q1c52mdsb";
};
nativeBuildInputs = [bison flex];
buildInputs = [libnetfilter_conntrack libnftnl libmnl];
preConfigure = ''
export NIX_LDFLAGS="$NIX_LDFLAGS -lmnl -lnftnl"
'';
configureFlags = ''
--enable-devel
--enable-shared

View File

@@ -1,22 +1,43 @@
{ stdenv, fetchFromGitHub, freetype, imlib2, jbig2dec, libjpeg, libX11
, mujs, mupdf, ncurses, openjpeg, openssl }:
{ stdenv, fetchFromGitHub
, freetype, harfbuzz, jbig2dec, libjpeg, libX11, mujs, mupdf, ncurses, openjpeg
, openssl
, imageSupport ? true, imlib2 ? null }:
let
binaries = [ "jfbpdf" "jfbview" "jpdfcat" "jpdfgrep" ];
package = if imageSupport
then "jfbview"
else "jfbpdf";
binaries = if imageSupport
then [ "jfbview" "jpdfcat" "jpdfgrep" ] # all require imlib2
else [ "jfbpdf" ]; # does not
in
stdenv.mkDerivation rec {
name = "jfbview-${version}";
version = "0.5.1";
name = "${package}-${version}";
version = "0.5.2";
src = fetchFromGitHub {
sha256 = "113bkf49q04k9rjps5l28ychmzsfjajp9cjhr433s9ld0972z01m";
sha256 = "1vd2ndl4ar2bzqf0k11qid6gvma59qg62imsa81mgczsqw7kvbx6";
rev = version;
repo = "JFBView";
owner = "jichu4n";
};
buildInputs = [ freetype imlib2 jbig2dec libjpeg libX11 mujs mupdf
ncurses openjpeg openssl ];
buildInputs = [
freetype harfbuzz jbig2dec libjpeg libX11 mujs mupdf ncurses openjpeg
openssl
] ++ stdenv.lib.optionals imageSupport [
imlib2
];
configurePhase = ''
# Hack. Probing (`ldconfig -p`) fails with cannot execute binary file.
# Overriding `OPENJP2 =` later works, but makes build output misleading:
substituteInPlace Makefile --replace "ldconfig -p" "echo libopenjp2"
make config.mk
'';
buildFlags = binaries;
enableParallelBuilding = true;

View File

@@ -1,12 +1,12 @@
{ stdenv, fetchurl, perl, buildLinux, ... } @ args:
import ./generic.nix (args // rec {
version = "4.4.8";
version = "4.4.9";
extraMeta.branch = "4.4";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "02gf7dkdibhxv8n4qfnyqh645d102g9z7pdid8pcq4jhd99sg9yj";
sha256 = "1fgkcl1dgljb4s8ciwc4gpz5g92cf6x31rj7016bd6r0hmvcl1bn";
};
kernelPatches = args.kernelPatches;

View File

@@ -1,12 +1,12 @@
{ stdenv, fetchurl, perl, buildLinux, ... } @ args:
import ./generic.nix (args // rec {
version = "4.5.2";
version = "4.5.3";
extraMeta.branch = "4.5";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "17r063zx880ka3ayv9cf1yjfilvxlifhja1rhw5z3w35hgdkj8z3";
sha256 = "1z0265cxv63br147vridmcqbz3cx3q3finy40hwljwv1r2lggid4";
};
kernelPatches = args.kernelPatches;

View File

@@ -1,12 +1,12 @@
{ stdenv, fetchurl, perl, buildLinux, ... } @ args:
import ./generic.nix (args // rec {
version = "4.5.2";
version = "4.5.3";
extraMeta.branch = "4.5";
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "17r063zx880ka3ayv9cf1yjfilvxlifhja1rhw5z3w35hgdkj8z3";
sha256 = "1z0265cxv63br147vridmcqbz3cx3q3finy40hwljwv1r2lggid4";
};
kernelPatches = args.kernelPatches;

View File

@@ -109,6 +109,7 @@ let
buildFlags = [
"KBUILD_BUILD_VERSION=1-NixOS"
platform.kernelTarget
"vmlinux" # for "perf" and things like that
] ++ optional isModular "modules";
installFlags = [
@@ -122,7 +123,10 @@ let
if platform.kernelTarget == "zImage" then "zinstall" else
"install") ];
postInstall = (optionalString installsFirmware ''
postInstall = ''
mkdir -p $dev
cp $buildRoot/vmlinux $dev/
'' + (optionalString installsFirmware ''
mkdir -p $out/lib/firmware
'') + (if (platform ? kernelDTB && platform.kernelDTB) then ''
make $makeFlags "''${makeFlagsArray[@]}" dtbs

View File

@@ -105,9 +105,9 @@ rec {
grsecurity_4_5 = grsecPatch
{ kernel = pkgs.grsecurity_base_linux_4_5;
patches = [ grsecurity_fix_path_4_5 ];
kversion = "4.5.2";
revision = "201604290633";
sha256 = "0qrs4fk6lyqngq3fnsmrv0y3yp1lrbiwadfc6v7hy4lyv77wz107";
kversion = "4.5.3";
revision = "201605060852";
sha256 = "1yg5fp60nay2cvnpxnx29995wk04r995y9030dwkgk3xpxifr6z1";
};
grsecurity_latest = grsecurity_4_5;

View File

@@ -1,27 +1,55 @@
{ stdenv, fetchurl, attr, perl }:
{ stdenv, fetchurl, attr, perl, pam ? null }:
assert pam != null -> stdenv.isLinux;
stdenv.mkDerivation rec {
name = "libcap-${version}";
version = "2.24";
version = "2.25";
src = fetchurl {
url = "mirror://kernel/linux/libs/security/linux-privs/libcap2/${name}.tar.xz";
sha256 = "0rbc9qbqs5bp9am9s9g83wxj5k4ixps2agy9dxr1v1fwg27mdr6f";
sha256 = "0qjiqc5pknaal57453nxcbz3mn1r4hkyywam41wfcglq3v2qlg39";
};
outputs = [ "dev" "out" ];
outputs = [ "dev" "lib" "doc" "out" ]
++ stdenv.lib.optional (pam != null) "pam";
nativeBuildInputs = [ perl ];
buildInputs = [ pam ];
propagatedBuildInputs = [ attr ];
preConfigure = "cd libcap";
makeFlags = [
"lib=lib"
(stdenv.lib.optional (pam != null) "PAM_CAP=yes")
];
makeFlags = "lib=lib prefix=$(out)";
prePatch = ''
# use relative bash path
substituteInPlace progs/capsh.c --replace "/bin/bash" "bash"
# ensure capsh can find bash in $PATH
substituteInPlace progs/capsh.c --replace execve execvpe
'';
preInstall = ''
substituteInPlace Make.Rules \
--replace 'prefix=/usr' "prefix=$lib" \
--replace 'exec_prefix=' "exec_prefix=$out" \
--replace 'lib_prefix=$(exec_prefix)' "lib_prefix=$lib" \
--replace 'inc_prefix=$(prefix)' "inc_prefix=$dev" \
--replace 'man_prefix=$(prefix)' "man_prefix=$doc"
'';
installFlags = "RAISE_SETFCAP=no";
postInstall = ''
rm "$out"/lib/*.a
mkdir -p "$dev/share/doc/${name}"
cp ../License "$dev/share/doc/${name}/License"
rm "$lib"/lib/*.a
mkdir -p "$doc/share/doc/${name}"
cp License "$doc/share/doc/${name}/"
'' + stdenv.lib.optionalString (pam != null) ''
mkdir -p "$pam/lib/security"
mv "$lib"/lib/security "$pam/lib"
'';
meta = {

View File

@@ -1,13 +0,0 @@
{stdenv, libcap}:
assert stdenv.isLinux;
stdenv.mkDerivation rec {
name = "libcap-docs-${libcap.version}";
inherit (libcap) src;
makeFlags = "MANDIR=$(out)/share/man";
preConfigure = "cd doc";
}

View File

@@ -1,15 +0,0 @@
{stdenv, pam, libcap}:
assert stdenv.isLinux;
stdenv.mkDerivation rec {
name = "libcap-pam-${libcap.version}";
inherit (libcap) src;
buildInputs = [ libcap pam ];
preConfigure = "cd pam_cap";
makeFlags = "${libcap.makeFlags} PAM_CAP=yes";
}

View File

@@ -1,28 +0,0 @@
{stdenv, libcap}:
assert stdenv.isLinux;
stdenv.mkDerivation rec {
name = "libcap-progs-${libcap.version}";
inherit (libcap) src makeFlags;
buildInputs = [ libcap ];
prePatch = ''
# use relative bash path
substituteInPlace progs/capsh.c --replace "/bin/bash" "bash"
# ensure capsh can find bash in $PATH
substituteInPlace progs/capsh.c --replace execve execvpe
'';
preConfigure = "cd progs";
installFlags = "RAISE_SETFCAP=no";
postInstall = ''
mkdir -p "$out/share/doc/${name}"
cp ../License "$out/share/doc/${name}/"
'';
}

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, systemd, libudev, utillinux, coreutils, enable_dmeventd ? false }:
{ stdenv, fetchurl, pkgconfig, systemd, libudev, utillinux, coreutils, libuuid, enable_dmeventd ? false }:
let
version = "2.02.140";
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
] ++ stdenv.lib.optional enable_dmeventd " --enable-dmeventd";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libudev ];
buildInputs = [ libudev libuuid ];
preConfigure =
''

View File

@@ -18,7 +18,7 @@ stdenv.mkDerivation {
meta = with stdenv.lib; {
description = "Set the energy versus performance policy preference bias on recent X86 processors";
homepage = https://www.kernel.org.org/;
homepage = https://www.kernel.org/;
license = licenses.gpl2;
platforms = [ "i686-linux" "x86_64-linux" ]; # x86-specific
};