Merge branch 'master' into staging

Hydra: ?compare=1474932
This commit is contained in:
Vladimír Čunát 2018-08-22 20:57:14 +02:00
commit e78fd23564
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
38 changed files with 534 additions and 195 deletions

View File

@ -28,7 +28,6 @@ with lib;
++ (if pkgs.stdenv.system == "aarch64-linux" ++ (if pkgs.stdenv.system == "aarch64-linux"
then [] then []
else [ pkgs.grub2 pkgs.syslinux ]); else [ pkgs.grub2 pkgs.syslinux ]);
system.boot.loader.kernelFile = pkgs.stdenv.hostPlatform.platform.kernelTarget;
fileSystems."/" = fileSystems."/" =
{ fsType = "tmpfs"; { fsType = "tmpfs";

View File

@ -281,6 +281,7 @@
./services/hardware/upower.nix ./services/hardware/upower.nix
./services/hardware/usbmuxd.nix ./services/hardware/usbmuxd.nix
./services/hardware/thermald.nix ./services/hardware/thermald.nix
./services/hardware/undervolt.nix
./services/logging/SystemdJournal2Gelf.nix ./services/logging/SystemdJournal2Gelf.nix
./services/logging/awstats.nix ./services/logging/awstats.nix
./services/logging/fluentd.nix ./services/logging/fluentd.nix

View File

@ -0,0 +1,134 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.undervolt;
in {
options.services.undervolt = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to undervolt intel cpus.
'';
};
verbose = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable verbose logging.
'';
};
package = mkOption {
type = types.package;
default = pkgs.undervolt;
defaultText = "pkgs.undervolt";
description = ''
undervolt derivation to use.
'';
};
coreOffset = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
The amount of voltage to offset the CPU cores by. Accepts a floating point number.
'';
};
gpuOffset = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
The amount of voltage to offset the GPU by. Accepts a floating point number.
'';
};
uncoreOffset = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
The amount of voltage to offset uncore by. Accepts a floating point number.
'';
};
analogioOffset = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
The amount of voltage to offset analogio by. Accepts a floating point number.
'';
};
temp = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
The temperature target. Accepts a floating point number.
'';
};
tempAc = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
The temperature target on AC power. Accepts a floating point number.
'';
};
tempBat = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
The temperature target on battery power. Accepts a floating point number.
'';
};
};
config = mkIf cfg.enable {
boot.kernelModules = [ "msr" ];
environment.systemPackages = [ cfg.package ];
systemd.services.undervolt = {
path = [ pkgs.undervolt ];
description = "Intel Undervolting Service";
serviceConfig = {
Type = "oneshot";
Restart = "no";
# `core` and `cache` are both intentionally set to `cfg.coreOffset` as according to the undervolt docs:
#
# Core or Cache offsets have no effect. It is not possible to set different offsets for
# CPU Core and Cache. The CPU will take the smaller of the two offsets, and apply that to
# both CPU and Cache. A warning message will be displayed if you attempt to set different offsets.
ExecStart = ''
${pkgs.undervolt}/bin/undervolt \
${optionalString cfg.verbose "--verbose"} \
${optionalString (cfg.coreOffset != null) "--core ${cfg.coreOffset}"} \
${optionalString (cfg.coreOffset != null) "--cache ${cfg.coreOffset}"} \
${optionalString (cfg.gpuOffset != null) "--gpu ${cfg.gpuOffset}"} \
${optionalString (cfg.uncoreOffset != null) "--uncore ${cfg.uncoreOffset}"} \
${optionalString (cfg.analogioOffset != null) "--analogio ${cfg.analogioOffset}"} \
${optionalString (cfg.temp != null) "--temp ${cfg.temp}"} \
${optionalString (cfg.tempAc != null) "--temp-ac ${cfg.tempAc}"} \
${optionalString (cfg.tempBat != null) "--temp-bat ${cfg.tempBat}"}
'';
};
};
systemd.timers.undervolt = {
description = "Undervolt timer to ensure voltage settings are always applied";
partOf = [ "undervolt.service" ];
wantedBy = [ "multi-user.target" ];
timerConfig = {
OnBootSec = "2min";
OnUnitActiveSec = "30";
};
};
};
}

View File

@ -161,8 +161,9 @@ in
{ description = "DHCP Client"; { description = "DHCP Client";
wantedBy = [ "multi-user.target" ] ++ optional (!hasDefaultGatewaySet) "network-online.target"; wantedBy = [ "multi-user.target" ] ++ optional (!hasDefaultGatewaySet) "network-online.target";
wants = [ "network.target" ]; wants = [ "network.target" "systemd-udev-settle.service" ];
before = [ "network.target" ]; before = [ "network.target" ];
after = [ "systemd-udev-settle.service" ];
# Stopping dhcpcd during a reconfiguration is undesirable # Stopping dhcpcd during a reconfiguration is undesirable
# because it brings down the network interfaces configured by # because it brings down the network interfaces configured by

View File

@ -146,7 +146,7 @@ in {
}; };
}; };
config = { config = mkIf cfg.enable {
users.extraGroups.cfssl = { users.extraGroups.cfssl = {
gid = config.ids.gids.cfssl; gid = config.ids.gids.cfssl;
}; };
@ -159,7 +159,7 @@ in {
uid = config.ids.uids.cfssl; uid = config.ids.uids.cfssl;
}; };
systemd.services.cfssl = mkIf cfg.enable { systemd.services.cfssl = {
description = "CFSSL CA API server"; description = "CFSSL CA API server";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "network.target" ]; after = [ "network.target" ];

View File

@ -30,10 +30,10 @@ let
(assertValueOneOf "UDPSegmentationOffload" boolValues) (assertValueOneOf "UDPSegmentationOffload" boolValues)
(assertValueOneOf "GenericReceiveOffload" boolValues) (assertValueOneOf "GenericReceiveOffload" boolValues)
(assertValueOneOf "LargeReceiveOffload" boolValues) (assertValueOneOf "LargeReceiveOffload" boolValues)
(range "RxChannels" 1 4294967295) (assertRange "RxChannels" 1 4294967295)
(range "TxChannels" 1 4294967295) (assertRange "TxChannels" 1 4294967295)
(range "OtherChannels" 1 4294967295) (assertRange "OtherChannels" 1 4294967295)
(range "CombinedChannels" 1 4294967295) (assertRange "CombinedChannels" 1 4294967295)
]; ];
checkNetdev = checkUnitConfig "Netdev" [ checkNetdev = checkUnitConfig "Netdev" [

View File

@ -2,24 +2,24 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "1password-${version}"; name = "1password-${version}";
version = "0.5.1"; version = "0.5.3";
src = src =
if stdenv.system == "i686-linux" then if stdenv.system == "i686-linux" then
fetchzip { fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip"; url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
sha256 = "08kzjilxpkvlwqjyxnic1n6xiy6gkndijwxdksm59k7c56mdawsz"; sha256 = "05s223h1yps4k9kmignl0r5sbh6w7m1hnlmafnf1kiwv7gacvxjc";
stripRoot = false; stripRoot = false;
} }
else if stdenv.system == "x86_64-linux" then else if stdenv.system == "x86_64-linux" then
fetchzip { fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip"; url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
sha256 = "1bsbzaqws0z991r6rkjrxay74fj4g5ld4d748ygr0950zwi1m3h7"; sha256 = "0p9x1fx0309v8dxxaf88m8x8q15zzqywfmjn6v5wb9v3scp9396v";
stripRoot = false; stripRoot = false;
} }
else if stdenv.system == "x86_64-darwin" then else if stdenv.system == "x86_64-darwin" then
fetchzip { fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.zip"; url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.zip";
sha256 = "1dhr8m9icip27v802gxl1vhl9rf0jq5awirdm72lqmlypj86df0g"; sha256 = "1z2xp9bn93gr4ha6zx65va1fb58a2xlnnmpv583y96gq3vbnqdcj";
stripRoot = false; stripRoot = false;
} }
else throw "Architecture not supported"; else throw "Architecture not supported";

View File

@ -0,0 +1,38 @@
{ stdenv, fetchFromGitHub
, meson, ninja, pkgconfig
, gnome3, vala, gobjectIntrospection, wrapGAppsHook
, gtk3, granite
, json-glib, glib, glib-networking
}:
let
pname = "tootle";
version = "0.1.5";
in stdenv.mkDerivation rec {
name = "${pname}-${version}";
src = fetchFromGitHub {
owner = "bleakgrey";
repo = pname;
rev = version;
sha256 = "022h1rh1jk3m1f9al0s1rylmnqnkydyc81idfc8jf1g0frnvn5i6";
};
nativeBuildInputs = [ meson ninja pkgconfig vala gobjectIntrospection wrapGAppsHook ];
buildInputs = [
gtk3 granite json-glib glib glib-networking
gnome3.libgee gnome3.libsoup gnome3.gsettings-desktop-schemas
];
postPatch = ''
chmod +x ./meson/post_install.py
patchShebangs ./meson/post_install.py
'';
meta = with stdenv.lib; {
description = "Simple Mastodon client designed for elementary OS";
homepage = https://github.com/bleakgrey/tootle;
license = licenses.gpl3;
maintainers = with maintainers; [ dtzWill ];
};
}

View File

@ -1,22 +1,44 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, gnome3, gmime3, webkitgtk24x-gtk3 { stdenv, fetchFromGitHub, cmake, pkgconfig, gnome3, gmime3, webkitgtk
, libsass, notmuch, boost, wrapGAppsHook, glib-networking }: , libsass, notmuch, boost, wrapGAppsHook, glib-networking, protobuf, vim_configurable
, makeWrapper, python3, python3Packages
, vim ? vim_configurable.override {
features = "normal";
gui = "auto";
}
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "astroid-${version}"; name = "astroid-${version}";
version = "0.11.1"; version = "0.13";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "astroidmail"; owner = "astroidmail";
repo = "astroid"; repo = "astroid";
rev = "v${version}"; rev = "v${version}";
sha256 = "1z48rvlzwi7bq7j55rnb0gg1a4k486yj910z2cxz1p46lxk332j1"; sha256 = "105x5g44hng3fi03h67j3an53088148jbq8726nmcp0zs0cy9gac";
}; };
nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook ]; nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook ];
buildInputs = [ gnome3.gtkmm gmime3 webkitgtk24x-gtk3 libsass gnome3.libpeas buildInputs = [ gnome3.gtkmm gmime3 webkitgtk libsass gnome3.libpeas
notmuch boost gnome3.gsettings-desktop-schemas python3 python3Packages.pygobject3
glib-networking ]; notmuch boost gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme
glib-networking protobuf ] ++ (if vim == null then [] else [ vim ]);
patches = [
# TODO: remove when https://github.com/astroidmail/astroid/pull/531
# is released
./run_tests.diff
];
postPatch = ''
sed -i "s~gvim ~${vim}/bin/vim -g ~g" src/config.cc
sed -i "s~ -geom 10x10~~g" src/config.cc
'';
postInstall = ''
wrapProgram "$out/bin/astroid" --set CHARSET=en_us.UTF-8
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://astroidmail.github.io/; homepage = https://astroidmail.github.io/;

View File

@ -0,0 +1,10 @@
diff --git a/tests/run_test.sh b/tests/run_test.sh
index f2ea7d7..927c61d 100755
--- a/tests/run_test.sh
+++ b/tests/run_test.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
#
# Set up environment and run test specified on command line

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, autoreconfHook, pkgconfig { stdenv, lib, fetchpatch, fetchurl, autoreconfHook, pkgconfig
, openssl, netcat-gnu, gnutls, gsasl, libidn, Security , openssl, netcat-gnu, gnutls, gsasl, libidn, Security
, withKeyring ? true, libsecret ? null , withKeyring ? true, libsecret ? null
, systemd ? null }: , systemd ? null }:
@ -19,6 +19,14 @@ in stdenv.mkDerivation rec {
patches = [ patches = [
./paths.patch ./paths.patch
# To support passwordeval commands that do not print a final
# newline.
(fetchpatch {
name = "passwordeval-without-nl.patch";
url = "https://gitlab.marlam.de/marlam/msmtp/commit/df22dccf9d1af06fcd09dfdd0d6a38e1372dd5e8.patch";
sha256 = "06gbhvzi46zqigmmsin2aard7b9v3ihx62hbz5ljmfbj9rfs1x5y";
})
]; ];
buildInputs = [ openssl gnutls gsasl libidn ] buildInputs = [ openssl gnutls gsasl libidn ]

View File

@ -4,7 +4,7 @@
# often change with updating of git or cgit. # often change with updating of git or cgit.
# stripLen acts as the -p parameter when applying a patch. # stripLen acts as the -p parameter when applying a patch.
{ lib, fetchurl, patchutils }: { lib, fetchurl, buildPackages }:
{ stripLen ? 0, extraPrefix ? null, excludes ? [], includes ? [], revert ? false, ... }@args: { stripLen ? 0, extraPrefix ? null, excludes ? [], includes ? [], revert ? false, ... }@args:
fetchurl ({ fetchurl ({
@ -14,10 +14,10 @@ fetchurl ({
echo "error: Fetched patch file '$out' is empty!" 1>&2 echo "error: Fetched patch file '$out' is empty!" 1>&2
exit 1 exit 1
fi fi
"${patchutils}/bin/lsdiff" "$out" \ "${buildPackages.patchutils}/bin/lsdiff" "$out" \
| sort -u | sed -e 's/[*?]/\\&/g' \ | sort -u | sed -e 's/[*?]/\\&/g' \
| xargs -I{} \ | xargs -I{} \
"${patchutils}/bin/filterdiff" \ "${buildPackages.patchutils}/bin/filterdiff" \
--include={} \ --include={} \
--strip=${toString stripLen} \ --strip=${toString stripLen} \
${lib.optionalString (extraPrefix != null) '' ${lib.optionalString (extraPrefix != null) ''
@ -32,7 +32,7 @@ fetchurl ({
cat "$out" 1>&2 cat "$out" 1>&2
exit 1 exit 1
fi fi
${patchutils}/bin/filterdiff \ ${buildPackages.patchutils}/bin/filterdiff \
-p1 \ -p1 \
${builtins.toString (builtins.map (x: "-x ${lib.escapeShellArg x}") excludes)} \ ${builtins.toString (builtins.map (x: "-x ${lib.escapeShellArg x}") excludes)} \
${builtins.toString (builtins.map (x: "-i ${lib.escapeShellArg x}") includes)} \ ${builtins.toString (builtins.map (x: "-i ${lib.escapeShellArg x}") includes)} \
@ -46,7 +46,7 @@ fetchurl ({
exit 1 exit 1
fi fi
'' + lib.optionalString revert '' '' + lib.optionalString revert ''
${patchutils}/bin/interdiff "$out" /dev/null > "$tmpfile" ${buildPackages.patchutils}/bin/interdiff "$out" /dev/null > "$tmpfile"
mv "$tmpfile" "$out" mv "$tmpfile" "$out"
'' + (args.postFetch or ""); '' + (args.postFetch or "");
meta.broken = excludes != [] && includes != []; meta.broken = excludes != [] && includes != [];

View File

@ -1,7 +1,7 @@
{ stdenv, fetchFromGitHub, gtk3, numix-icon-theme }: { stdenv, fetchFromGitHub, gtk3, numix-icon-theme }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "18-02-16"; version = "18.08.17";
package-name = "numix-icon-theme-circle"; package-name = "numix-icon-theme-circle";
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
owner = "numixproject"; owner = "numixproject";
repo = package-name; repo = package-name;
rev = version; rev = version;
sha256 = "0q08q1czsk6h0dxqscbgryr12xaakp4zbch37z0jxpwh087gnq4f"; sha256 = "1nxgm5vf2rzbg8qh48iy0vdj12ffahlp9qhj8h0k1li03s3nf15h";
}; };
nativeBuildInputs = [ gtk3 numix-icon-theme ]; nativeBuildInputs = [ gtk3 numix-icon-theme ];
@ -31,7 +31,8 @@ stdenv.mkDerivation rec {
description = "Numix icon theme (circle version)"; description = "Numix icon theme (circle version)";
homepage = https://numixproject.org; homepage = https://numixproject.org;
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.all; # darwin cannot deal with file names differing only in case
platforms = platforms.linux;
maintainers = with maintainers; [ jgeerds ]; maintainers = with maintainers; [ jgeerds ];
}; };
} }

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "numix-icon-theme"; pname = "numix-icon-theme";
version = "17-12-25"; version = "18.07.17";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "numixproject"; owner = "numixproject";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0q3hpq2jc9iwnzzqpb12g1qzjsw4ckhdqkfqf6nirl87r5drkv6j"; sha256 = "0clh55kmhc52d33dfm2c6h3lg6ddfh8a088ir9lv1camn9kj55bd";
}; };
nativeBuildInputs = [ gtk3 hicolor-icon-theme ]; nativeBuildInputs = [ gtk3 hicolor-icon-theme ];
@ -29,7 +29,8 @@ stdenv.mkDerivation rec {
description = "Numix icon theme"; description = "Numix icon theme";
homepage = https://numixproject.org; homepage = https://numixproject.org;
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.all; # darwin cannot deal with file names differing only in case
platforms = platforms.linux;
maintainers = with maintainers; [ romildo jgeerds ]; maintainers = with maintainers; [ romildo jgeerds ];
}; };
} }

View File

@ -1,10 +1,10 @@
{ stdenv, fetchFromGitHub, substituteAll, pkgconfig, gettext, gtk3, glib { stdenv, fetchFromGitHub, substituteAll, pkgconfig, gettext, gtk3, glib
, gtk-doc, libarchive, gobjectIntrospection, libxslt, pngquant , gtk-doc, libarchive, gobjectIntrospection, libxslt, pngquant
, sqlite, libsoup, gcab, attr, acl, docbook_xsl, docbook_xml_dtd_42 , sqlite, libsoup, attr, acl, docbook_xsl, docbook_xml_dtd_42
, libuuid, json-glib, meson, gperf, ninja , libuuid, json-glib, meson, gperf, ninja
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "appstream-glib-0.7.9"; name = "appstream-glib-0.7.10";
outputs = [ "out" "dev" "man" "installedTests" ]; outputs = [ "out" "dev" "man" "installedTests" ];
outputBin = "dev"; outputBin = "dev";
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
owner = "hughsie"; owner = "hughsie";
repo = "appstream-glib"; repo = "appstream-glib";
rev = stdenv.lib.replaceStrings ["." "-"] ["_" "_"] name; rev = stdenv.lib.replaceStrings ["." "-"] ["_" "_"] name;
sha256 = "10b32qw7iy0v1jvmf18wqgs8d1cpy52zm5rzw0wv421n90qiyidk"; sha256 = "1m4gww09id7hwzh4hri1y3hp7p0mdrf6fk9f924r2w66hlsdil0d";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
]; ];
buildInputs = [ buildInputs = [
glib gettext sqlite libsoup glib gettext sqlite libsoup
gcab attr acl libuuid json-glib attr acl libuuid json-glib
libarchive gobjectIntrospection gperf libarchive gobjectIntrospection gperf
]; ];
propagatedBuildInputs = [ gtk3 ]; propagatedBuildInputs = [ gtk3 ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "lilv-${version}"; name = "lilv-${version}";
version = "0.24.2"; version = "0.24.4";
src = fetchurl { src = fetchurl {
url = "https://download.drobilla.net/${name}.tar.bz2"; url = "https://download.drobilla.net/${name}.tar.bz2";
sha256 = "08m5a372pr1l7aii9s3pic5nm68gynx1n1bc7bnlswziq6qnbv7p"; sha256 = "0f24cd7wkk5l969857g2ydz2kjjrkvvddg1g87xzzs78lsvq8fy3";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -4,7 +4,7 @@
}: }:
let let
version = "2.18"; version = "2.19";
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "libblockdev-${version}"; name = "libblockdev-${version}";
@ -12,7 +12,7 @@ in stdenv.mkDerivation rec {
owner = "storaged-project"; owner = "storaged-project";
repo = "libblockdev"; repo = "libblockdev";
rev = "${version}-1"; rev = "${version}-1";
sha256 = "03gbmji401nz1sff2zp61dhal80qls4blqwadj2p4ckbxdlmid4i"; sha256 = "1ny31vaarzbpw0h863p2r5cvjsfs77d33nnisf8bhjc6ps6js3ys";
}; };
outputs = [ "out" "dev" "devdoc" ]; outputs = [ "out" "dev" "devdoc" ];

View File

@ -4,7 +4,7 @@
, iproute, iptables, readline, lvm2, utillinux, systemd, libpciaccess, gettext , iproute, iptables, readline, lvm2, utillinux, systemd, libpciaccess, gettext
, libtasn1, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor , libtasn1, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor
, dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages , dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages
, curl, libiconv, gmp, zfs, parted, bridge-utils, dmidecode, jansson , curl, libiconv, gmp, zfs, parted, bridge-utils, dmidecode
, enableXen ? false, xen ? null , enableXen ? false, xen ? null
, enableIscsi ? false, openiscsi , enableIscsi ? false, openiscsi
}: }:
@ -16,26 +16,26 @@ let
buildFromTarball = stdenv.isDarwin; buildFromTarball = stdenv.isDarwin;
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "libvirt-${version}"; name = "libvirt-${version}";
version = "4.6.0"; version = "4.5.0";
src = src =
if buildFromTarball then if buildFromTarball then
fetchurl { fetchurl {
url = "http://libvirt.org/sources/${name}.tar.xz"; url = "http://libvirt.org/sources/${name}.tar.xz";
sha256 = "0rj0azi766g0xdxydvkq9nj95hhsiwqgclzzmyxvk2axhb8nrb5l"; sha256 = "02dbfyi80im37gdsxglb4fja78q63b8ahmgdc5kh8lx51kf5xsg7";
} }
else else
fetchgit { fetchgit {
url = git://libvirt.org/libvirt.git; url = git://libvirt.org/libvirt.git;
rev = "v${version}"; rev = "v${version}";
sha256 = "1lv1s93k056wylrlc7j4q45zir9z4qshzcl454spy2wb8cdn3h4s"; sha256 = "0ija9a02znajsa2pbxamrmz87zwpmba9s29vdzzqqqw5c1rdpcr6";
fetchSubmodules = true; fetchSubmodules = true;
}; };
nativeBuildInputs = [ makeWrapper pkgconfig ]; nativeBuildInputs = [ makeWrapper pkgconfig ];
buildInputs = [ buildInputs = [
libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl
libxslt xhtml1 perlPackages.XMLXPath curl libpcap jansson libxslt xhtml1 perlPackages.XMLXPath curl libpcap
] ++ optionals (!buildFromTarball) [ ] ++ optionals (!buildFromTarball) [
libtool autoconf automake libtool autoconf automake
] ++ optionals stdenv.isLinux [ ] ++ optionals stdenv.isLinux [
@ -60,8 +60,6 @@ in stdenv.mkDerivation rec {
--replace 'lxc_path,' '"/run/libvirt/nix-emulators/libvirt_lxc",' --replace 'lxc_path,' '"/run/libvirt/nix-emulators/libvirt_lxc",'
patchShebangs . # fixes /usr/bin/python references patchShebangs . # fixes /usr/bin/python references
substituteInPlace src/util/virjsoncompat.c --replace \
'"libjansson.so.4"' '"${jansson}/lib/libjansson${stdenv.targetPlatform.extensions.sharedLibrary}"'
''; '';
configureFlags = [ configureFlags = [

View File

@ -1,23 +1,24 @@
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, cstruct }: { stdenv, fetchzip, ocaml, findlib, jbuilder, configurator, cstruct }:
let version = "1.6.1"; in let version = "2.0.1"; in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "ocaml-io-page-${version}"; name = "ocaml${ocaml.version}-io-page-${version}";
src = fetchzip { src = fetchzip {
url = "https://github.com/mirage/io-page/archive/v${version}.tar.gz"; url = "https://github.com/mirage/io-page/archive/${version}.tar.gz";
sha256 = "1djwks3ss12m55q6h4jsvfsy848cxfnpaxkilw10h26xj6jchflz"; sha256 = "1rw04dwrlx5hah5dkjf7d63iff82j9cifr8ifjis5pdwhgwcff8i";
}; };
buildInputs = [ ocaml findlib ocamlbuild ]; buildInputs = [ ocaml findlib jbuilder configurator ];
propagatedBuildInputs = [ cstruct ]; propagatedBuildInputs = [ cstruct ];
createFindlibDestdir = true; inherit (jbuilder) installPhase;
meta = { meta = {
homepage = https://github.com/mirage/io-page; homepage = https://github.com/mirage/io-page;
platforms = ocaml.meta.platforms or []; inherit (ocaml.meta) platforms;
license = stdenv.lib.licenses.isc;
description = "IO memory page library for Mirage backends"; description = "IO memory page library for Mirage backends";
maintainers = with stdenv.lib.maintainers; [ vbgl ]; maintainers = with stdenv.lib.maintainers; [ vbgl ];
}; };

View File

@ -2,12 +2,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "libvirt"; pname = "libvirt";
version = "4.6.0"; version = "4.5.0";
src = assert version == libvirt.version; fetchgit { src = assert version == libvirt.version; fetchgit {
url = git://libvirt.org/libvirt-python.git; url = git://libvirt.org/libvirt-python.git;
rev = "v${version}"; rev = "v${version}";
sha256 = "0yrgibd5c9wy82ak8g9ykar6fma1wf7xzmmc47657lzm70m5av68"; sha256 = "0w2rzkxv7jsq4670m0j5c6p4hpyi0r0ja6wd3wdvixcwc6hhx407";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -4,20 +4,11 @@
# Qt # Qt
, qtbase, qtsvg, qtwebengine , qtbase, qtsvg, qtwebengine
# buildInputs # buildInputs
, radare2 , r2-for-cutter
, python3 }: , python3 }:
let let
r2 = radare2.overrideDerivation (o: { version = "1.7";
name = "radare2-for-cutter-${version}";
src = fetchFromGitHub {
owner = "radare";
repo = "radare2";
rev = "a98557bfbfa96e9f677a8c779ee78085ee5a23bb";
sha256 = "04jl1lq3dqljb6vagzlym4wc867ayhx1v52f75rkfz0iybsh249r";
};
});
version = "1.6";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "radare2-cutter-${version}"; name = "radare2-cutter-${version}";
@ -26,7 +17,7 @@ stdenv.mkDerivation rec {
owner = "radareorg"; owner = "radareorg";
repo = "cutter"; repo = "cutter";
rev = "v${version}"; rev = "v${version}";
sha256 = "1ps52yf94yfnws3nn1iiwch2jy33dyvi7j47xkmh0m5fpdqi5xk7"; sha256 = "0z9wzxd5hw0ivakrg3xiv4zx1rjj032hlmizq0pxj22xjrj1gg9n";
}; };
postUnpack = "export sourceRoot=$sourceRoot/src"; postUnpack = "export sourceRoot=$sourceRoot/src";
@ -41,7 +32,7 @@ stdenv.mkDerivation rec {
''; '';
nativeBuildInputs = [ qmake pkgconfig ]; nativeBuildInputs = [ qmake pkgconfig ];
buildInputs = [ qtbase qtsvg qtwebengine r2 python3 ]; buildInputs = [ qtbase qtsvg qtwebengine r2-for-cutter python3 ];
qmakeFlags = [ qmakeFlags = [
"CONFIG+=link_pkgconfig" "CONFIG+=link_pkgconfig"

View File

@ -1,4 +1,5 @@
{stdenv, fetchFromGitHub {stdenv, fetchFromGitHub
, callPackage
, ninja, meson , pkgconfig , ninja, meson , pkgconfig
, libusb, readline, libewf, perl, zlib, openssl , libusb, readline, libewf, perl, zlib, openssl
, gtk2 ? null, vte ? null, gtkdialog ? null , gtk2 ? null, vte ? null, gtkdialog ? null
@ -15,25 +16,24 @@ assert pythonBindings -> python != null;
let let
inherit (stdenv.lib) optional; inherit (stdenv.lib) optional;
#<generated>
# DO NOT EDIT! Automatically generated by ./update.py generic = {
version_commit = "18681"; version_commit,
gittap = "2.7.0"; gittap,
gittip = "6e08e452a7ec231a73997c44b4ff556c2998c7d9"; gittip,
version = "2.7.0"; rev,
sha256 = "1a9z8w897256dhh3yhyfnshz3n2nrc4plc2i06cm5sznhl6x9xfx"; version,
cs_tip = "ec8a5ce98fa0422a395489ed47da912b15d77441"; sha256,
cs_sha256 = "080a64bqck28a2xfjwz29ddcr8p6hc6gi67mgry3pca289qrkk3q"; cs_tip,
#</generated> cs_sha256
in }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "radare2-${version}"; name = "radare2-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "radare"; owner = "radare";
repo = "radare2"; repo = "radare2";
rev = version; inherit rev sha256;
inherit sha256;
}; };
postPatch = let postPatch = let
@ -46,7 +46,9 @@ stdenv.mkDerivation rec {
}; };
in '' in ''
if ! grep -F "CS_TIP=${cs_tip}" shlr/Makefile; then echo "CS_TIP mismatch"; exit 1; fi if ! grep -F "CS_TIP=${cs_tip}" shlr/Makefile; then echo "CS_TIP mismatch"; exit 1; fi
ln -s ${capstone} shlr/capstone # When using meson, it expects capstone source relative to build directory
mkdir -p build/shlr
ln -s ${capstone} build/shlr/capstone
''; '';
postInstall = '' postInstall = ''
@ -58,6 +60,8 @@ stdenv.mkDerivation rec {
"-Dr2_version_commit=${version_commit}" "-Dr2_version_commit=${version_commit}"
"-Dr2_gittap=${gittap}" "-Dr2_gittap=${gittap}"
"-Dr2_gittip=${gittip}" "-Dr2_gittip=${gittip}"
# 2.8.0 expects this, but later it becomes an option with default=false.
"-Dcapstone_in_builddir=true"
]; ];
enableParallelBuilding = true; enableParallelBuilding = true;
@ -77,4 +81,29 @@ stdenv.mkDerivation rec {
platforms = with stdenv.lib.platforms; linux; platforms = with stdenv.lib.platforms; linux;
inherit version; inherit version;
}; };
};
in {
#<generated>
# DO NOT EDIT! Automatically generated by ./update.py
radare2 = generic {
version_commit = "19251";
gittap = "2.8.0";
gittip = "a76b965410aba07b4ef8b96d90b25b271c2003dd";
rev = "2.8.0";
version = "2.8.0";
sha256 = "1d9rkzc3vychy2h1bnywwx4why83rr18r0lvvl1cqx87ad5awcjk";
cs_tip = "782ea67e17a391ca0d3faafdc365b335a1a8930a";
cs_sha256 = "1maww4ir78a193pm3f8lr2kdkizi7rywn68ffa65ipyr7j4pl6i4";
};
r2-for-cutter = generic {
version_commit = "19251";
gittap = "2.8.0-118-gb0547831f";
gittip = "b0547831f127b7357e3c93bc43933482a4d6213b";
rev = "b0547831f127b7357e3c93bc43933482a4d6213b";
version = "2018-08-07";
sha256 = "1ix42kipd1aayb494ajbxawzc1cwikm9fxk343d1kchxx4a30a1m";
cs_tip = "782ea67e17a391ca0d3faafdc365b335a1a8930a";
cs_sha256 = "1maww4ir78a193pm3f8lr2kdkizi7rywn68ffa65ipyr7j4pl6i4";
};
#</generated>
} }

View File

@ -2,14 +2,16 @@
#!nix-shell -p nix -p python3 -p git -i python #!nix-shell -p nix -p python3 -p git -i python
# USAGE - just run the script: ./update.py # USAGE - just run the script: ./update.py
# When editing this file, make also sure it passes the mypy typecheck # When editing this file, make also sure it passes the mypy typecheck
# and is formatted with yapf. # and is formatted with black.
import urllib.request
import json
import tempfile
import subprocess
import fileinput import fileinput
import json
import re import re
import subprocess
import tempfile
import urllib.request
from datetime import datetime
from pathlib import Path from pathlib import Path
from typing import Dict
def sh(*args: str) -> str: def sh(*args: str) -> str:
@ -18,24 +20,36 @@ def sh(*args: str) -> str:
def prefetch_github(owner: str, repo: str, ref: str) -> str: def prefetch_github(owner: str, repo: str, ref: str) -> str:
return sh("nix-prefetch-url", "--unpack", return sh(
f"https://github.com/{owner}/{repo}/archive/{ref}.tar.gz") "nix-prefetch-url",
"--unpack",
f"https://github.com/{owner}/{repo}/archive/{ref}.tar.gz",
)
def main() -> None: def get_radare2_rev() -> str:
url = "https://api.github.com/repos/radare/radare2/releases/latest" url = "https://api.github.com/repos/radare/radare2/releases/latest"
with urllib.request.urlopen(url) as response: with urllib.request.urlopen(url) as response:
release = json.load(response) # type: ignore release = json.load(response) # type: ignore
version = release["tag_name"] return release["tag_name"]
with tempfile.TemporaryDirectory() as dirname:
def git(*args: str) -> str:
def get_r2_cutter_rev() -> str:
url = "https://api.github.com/repos/radareorg/cutter/contents/"
with urllib.request.urlopen(url) as response:
data = json.load(response) # type: ignore
for entry in data:
if entry["name"] == "radare2":
return entry["sha"]
raise Exception("no radare2 submodule found in github.com/radareorg/cutter")
def git(dirname: str, *args: str) -> str:
return sh("git", "-C", dirname, *args) return sh("git", "-C", dirname, *args)
git("clone", "--branch", version, "https://github.com/radare/radare2",
".") def get_repo_info(dirname: str, rev: str) -> Dict[str, str]:
sha256 = prefetch_github("radare", "radare2", version) sha256 = prefetch_github("radare", "radare2", rev)
nix_file = str(Path(__file__).parent.joinpath("default.nix"))
cs_tip = None cs_tip = None
with open(Path(dirname).joinpath("shlr", "Makefile")) as makefile: with open(Path(dirname).joinpath("shlr", "Makefile")) as makefile:
@ -47,21 +61,66 @@ def main() -> None:
cs_sha256 = prefetch_github("aquynh", "capstone", cs_tip) cs_sha256 = prefetch_github("aquynh", "capstone", cs_tip)
return dict(
rev=rev,
sha256=sha256,
version_commit=git(dirname, "rev-list", "--all", "--count"),
gittap=git(dirname, "describe", "--tags", "--match", "[0-9]*"),
gittip=git(dirname, "rev-parse", "HEAD"),
cs_tip=cs_tip,
cs_sha256=cs_sha256,
)
def write_package_expr(version: str, info: Dict[str, str]) -> str:
return f"""generic {{
version_commit = "{info["version_commit"]}";
gittap = "{info["gittap"]}";
gittip = "{info["gittip"]}";
rev = "{info["rev"]}";
version = "{version}";
sha256 = "{info["sha256"]}";
cs_tip = "{info["cs_tip"]}";
cs_sha256 = "{info["cs_sha256"]}";
}}"""
def main() -> None:
radare2_rev = get_radare2_rev()
r2_cutter_rev = get_r2_cutter_rev()
with tempfile.TemporaryDirectory() as dirname:
git(
dirname,
"clone",
"--branch",
radare2_rev,
"https://github.com/radare/radare2",
".",
)
nix_file = str(Path(__file__).parent.joinpath("default.nix"))
radare2_info = get_repo_info(dirname, radare2_rev)
git(dirname, "checkout", r2_cutter_rev)
timestamp = git(dirname, "log", "-n1", "--format=%at")
r2_cutter_version = datetime.fromtimestamp(int(timestamp)).strftime("%Y-%m-%d")
r2_cutter_info = get_repo_info(dirname, r2_cutter_rev)
in_block = False in_block = False
with fileinput.FileInput(nix_file, inplace=True) as f: with fileinput.FileInput(nix_file, inplace=True) as f:
for l in f: for l in f:
if "#<generated>" in l: if "#<generated>" in l:
in_block = True in_block = True
print(f""" #<generated> print(
f""" #<generated>
# DO NOT EDIT! Automatically generated by ./update.py # DO NOT EDIT! Automatically generated by ./update.py
version_commit = "{git("rev-list", "--all", "--count")}"; radare2 = {write_package_expr(radare2_rev, radare2_info)};
gittap = "{git("describe", "--tags", "--match", "[0-9]*")}"; r2-for-cutter = {write_package_expr(r2_cutter_version, r2_cutter_info)};
gittip = "{git("rev-parse", "HEAD")}"; #</generated>"""
version = "{version}"; )
sha256 = "{sha256}";
cs_tip = "{cs_tip}";
cs_sha256 = "{cs_sha256}";
#</generated>""")
elif "#</generated>" in l: elif "#</generated>" in l:
in_block = False in_block = False
elif not in_block: elif not in_block:

View File

@ -1,13 +1,13 @@
{ stdenv, fetchzip, ocaml }: { stdenv, fetchzip, ocaml }:
let version = "0.1.8"; in let version = "0.1.10"; in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "obuild-${version}"; name = "obuild-${version}";
src = fetchzip { src = fetchzip {
url = "https://github.com/ocaml-obuild/obuild/archive/obuild-v${version}.tar.gz"; url = "https://github.com/ocaml-obuild/obuild/archive/obuild-v${version}.tar.gz";
sha256 = "1q1k2qqd08j1zakvydgvwgwpyn0ll7rs65gap0pvg3amnh5cp3wd"; sha256 = "15arsgbhk1c39vd8qhpa3pag94m44bwvzggdvkibx6hnpkv8z9bn";
}; };
buildInputs = [ ocaml ]; buildInputs = [ ocaml ];

View File

@ -2,13 +2,13 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
name = "rust-cbindgen-${version}"; name = "rust-cbindgen-${version}";
version = "0.6.1"; version = "0.6.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "eqrion"; owner = "eqrion";
repo = "cbindgen"; repo = "cbindgen";
rev = "v${version}"; rev = "v${version}";
sha256 = "03qzqy3indqghqy7rnli1zrrlnyfkygxjpb2s7041cik54kf2krw"; sha256 = "0hifmn9578cf1r5m4ajazg3rhld2ybd2v48xz04vfhappkarv4w2";
}; };
cargoSha256 = "0c3xpzff8jldqbn5a25yy6c2hlz5xy636ml6sj5d24wzcgwg5a2i"; cargoSha256 = "0c3xpzff8jldqbn5a25yy6c2hlz5xy636ml6sj5d24wzcgwg5a2i";

View File

@ -6,12 +6,12 @@ let
allSpecs = { allSpecs = {
"x86_64-linux" = { "x86_64-linux" = {
system = "linux64"; system = "linux64";
sha256 = "07b39j1glr53yxbbkkkkx12h8r44fybqkn4fd7s2lr1ysyq5vn1a"; sha256 = "1iwmdkkxfmmiqzvj2bjh98db6j6zfb8s2m5kq15wmnq0g44gxski";
}; };
"x86_64-darwin" = { "x86_64-darwin" = {
system = "mac64"; system = "mac64";
sha256 = "11hs4mmlvxjaanq41h0dljj4sff0lfwk31svvdmzfg91idlikpsz"; sha256 = "1blp4ig5fm6ar8mxm78dc2gvv7n82mq3kqswbyjrcizl91qs4cpx";
}; };
}; };
@ -28,7 +28,7 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "chromedriver-${version}"; name = "chromedriver-${version}";
version = "2.40"; version = "2.41";
src = fetchurl { src = fetchurl {
url = "https://chromedriver.storage.googleapis.com/${version}/chromedriver_${spec.system}.zip"; url = "https://chromedriver.storage.googleapis.com/${version}/chromedriver_${spec.system}.zip";

View File

@ -5,6 +5,6 @@ let
in in
buildNodejs { buildNodejs {
inherit enableNpm; inherit enableNpm;
version = "10.7.0"; version = "10.9.0";
sha256 = "0qp93ddbnvadimj11wnznwhkq8vq1f7q259iq8siy5b7r936kvil"; sha256 = "00hdachbmcf9pyd1iksprsi5mddwp6z59mb3lr81z8ynfbmzhzni";
} }

View File

@ -3,7 +3,7 @@
with stdenv.lib; with stdenv.lib;
buildLinux (args // rec { buildLinux (args // rec {
version = "4.14.65"; version = "4.14.66";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed # modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "1v55nmg1x9ygisgf0pjd3lygvjin3i6ld24anl6nggmrdd00r60j"; sha256 = "04q48syzmz84s045bqwyzrr37wcria8waggb5fki2kc69k563053";
}; };
} // (args.argsOverride or {})) } // (args.argsOverride or {}))

View File

@ -3,7 +3,7 @@
with stdenv.lib; with stdenv.lib;
buildLinux (args // rec { buildLinux (args // rec {
version = "4.17.17"; version = "4.17.18";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed # modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "1g525zi7x3j7niqasrm8jwalf391p6pwa17zmr0iibal6xf3di1x"; sha256 = "03wvnw4xl48na08c29qq57a39kgvb67ayxfqqv4n06vpf8vmx2sd";
}; };
} // (args.argsOverride or {})) } // (args.argsOverride or {}))

View File

@ -3,7 +3,7 @@
with stdenv.lib; with stdenv.lib;
buildLinux (args // rec { buildLinux (args // rec {
version = "4.18.3"; version = "4.18.4";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed # modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "1m23hjd02bg8mqnd8dc4z4m3kxds1cyrc6j5saiwnhzbz373rvc1"; sha256 = "0hm8id6nv3j2g7l1fzkl4vr9wfx43s8hdspg1yc4fz6vbdxwinqj";
}; };
} // (args.argsOverride or {})) } // (args.argsOverride or {}))

View File

@ -1,11 +1,11 @@
{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: { stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
buildLinux (args // rec { buildLinux (args // rec {
version = "4.4.150"; version = "4.4.151";
extraMeta.branch = "4.4"; extraMeta.branch = "4.4";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "1xdfq11pa4ayi89vynbddq5k47f01szc04lbl5aaxpnch982jj8g"; sha256 = "1s49h2my2jysh1i38vygqlcj9bz8fzg6vsv9k3ln3pi6hqqqrsjz";
}; };
} // (args.argsOverride or {})) } // (args.argsOverride or {}))

View File

@ -1,11 +1,11 @@
{ stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: { stdenv, buildPackages, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
buildLinux (args // rec { buildLinux (args // rec {
version = "4.9.122"; version = "4.9.123";
extraMeta.branch = "4.9"; extraMeta.branch = "4.9";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "0v7qdkdlgpv83v4lzm59jgaxy1l7dzkqjr3fcahqrnrcdf3r0vx4"; sha256 = "0wahbq08cixh63099n13wal3xkw48gnka6w8biax1gwckymww4ld";
}; };
} // (args.argsOverride or {})) } // (args.argsOverride or {}))

View File

@ -0,0 +1,27 @@
{ stdenv, fetchFromGitHub, python3Packages }:
python3Packages.buildPythonApplication rec {
version = "0.2.8";
pname = "undervolt";
src = fetchFromGitHub {
owner = "georgewhewell";
repo = "undervolt";
rev = "${version}";
sha256 = "0crkqc5zq0gpyg031hfwdxymfc2gc1h8b6m0axzlh7gvnxlf5hra";
};
meta = with stdenv.lib; {
homepage = https://github.com/georgewhewell/undervolt/;
description = "A program for undervolting Intel CPUs on Linux";
longDescription = ''
Undervolt is a program for undervolting Intel CPUs under Linux. It works in a similar
manner to the Windows program ThrottleStop (i.e, MSR 0x150). You can apply a fixed
voltage offset to one of 5 voltage planes, and override your systems temperature
target (CPU will throttle when this temperature is reached).
'';
license = licenses.gpl2;
platforms = [ "x86_64-linux" ];
};
}

View File

@ -23,6 +23,5 @@ buildGoPackage rec {
homepage = https://github.com/GoogleCloudPlatform/docker-credential-gcr; homepage = https://github.com/GoogleCloudPlatform/docker-credential-gcr;
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ suvash ]; maintainers = with maintainers; [ suvash ];
platforms = platforms.linux;
}; };
} }

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "fwup-${version}"; name = "fwup-${version}";
version = "1.2.3"; version = "1.2.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "fhunleth"; owner = "fhunleth";
repo = "fwup"; repo = "fwup";
rev = "v${version}"; rev = "v${version}";
sha256 = "16v5s9xwdsii7pcphrb0a7aib2zprrw6n4fyc8w8c11gbkg27r4d"; sha256 = "0kraip4lr3fvcxvvq1dwjw7fyzs6bcjg14xn0g52985krxxn5pdc";
}; };
doCheck = true; doCheck = true;

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, fetchFromGitHub, perl, curl, bzip2, sqlite, openssl ? null, xz { lib, stdenv, fetchurl, fetchFromGitHub, fetchpatch, perl, curl, bzip2, sqlite, openssl ? null, xz
, pkgconfig, boehmgc, perlPackages, libsodium, aws-sdk-cpp, brotli, boost , pkgconfig, boehmgc, perlPackages, libsodium, aws-sdk-cpp, brotli, boost
, autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook_xsl_ns , autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook_xsl_ns
, busybox-sandbox-shell , busybox-sandbox-shell
@ -33,10 +33,15 @@ let
++ lib.optionals is20 [ brotli ] # Since 1.12 ++ lib.optionals is20 [ brotli ] # Since 1.12
++ lib.optional withLibseccomp libseccomp ++ lib.optional withLibseccomp libseccomp
++ lib.optional ((stdenv.isLinux || stdenv.isDarwin) && is20) ++ lib.optional ((stdenv.isLinux || stdenv.isDarwin) && is20)
(aws-sdk-cpp.override { ((aws-sdk-cpp.override {
apis = ["s3" "transfer"]; apis = ["s3" "transfer"];
customMemoryManagement = false; customMemoryManagement = false;
}) }).overrideDerivation (args: {
patches = args.patches or [] ++ [(fetchpatch {
url = https://github.com/edolstra/aws-sdk-cpp/commit/7d58e303159b2fb343af9a1ec4512238efa147c7.patch;
sha256 = "103phn6kyvs1yc7fibyin3lgxz699qakhw671kl207484im55id1";
})];
}))
++ lib.optional fromGit boost; ++ lib.optional fromGit boost;
propagatedBuildInputs = [ boehmgc ]; propagatedBuildInputs = [ boehmgc ];
@ -44,6 +49,15 @@ let
# Seems to be required when using std::atomic with 64-bit types # Seems to be required when using std::atomic with 64-bit types
NIX_LDFLAGS = lib.optionalString (stdenv.hostPlatform.system == "armv6l-linux") "-latomic"; NIX_LDFLAGS = lib.optionalString (stdenv.hostPlatform.system == "armv6l-linux") "-latomic";
preConfigure =
# Copy libboost_context so we don't get all of Boost in our closure.
# https://github.com/NixOS/nixpkgs/issues/45462
lib.optionalString fromGit
''
mkdir -p $out/lib
cp ${boost}/lib/libboost_context* $out/lib
'';
configureFlags = configureFlags =
[ "--with-store-dir=${storeDir}" [ "--with-store-dir=${storeDir}"
"--localstatedir=${stateDir}" "--localstatedir=${stateDir}"
@ -144,12 +158,12 @@ in rec {
nixUnstable = (lib.lowPrio (common rec { nixUnstable = (lib.lowPrio (common rec {
name = "nix-2.1${suffix}"; name = "nix-2.1${suffix}";
suffix = "pre6338_45bcf541"; suffix = "pre6377_954d1f4d";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "NixOS"; owner = "NixOS";
repo = "nix"; repo = "nix";
rev = "45bcf5416a0ce53361fd37c6b27ba4ef6a34ce96"; rev = "954d1f4d0a35063ff431b258beebadf753cb9efe";
sha256 = "0ps45n78wnczz99dd9fs54ydxwh2cjq73zbvmak0y49nhc3p0vvv"; sha256 = "0wnljxljvcwmniydgxlsjqmbgghmljs75m6083y2nkjql7dnrm7g";
}; };
fromGit = true; fromGit = true;
})) // { perl-bindings = perl-bindings { })) // { perl-bindings = perl-bindings {

View File

@ -8532,15 +8532,17 @@ with pkgs;
rubyBindings = config.radare.rubyBindings or false; rubyBindings = config.radare.rubyBindings or false;
luaBindings = config.radare.luaBindings or false; luaBindings = config.radare.luaBindings or false;
}; };
radare2 = callPackage ../development/tools/analysis/radare2 {
inherit (callPackages ../development/tools/analysis/radare2 {
inherit (gnome2) vte; inherit (gnome2) vte;
lua = lua5; lua = lua5;
useX11 = config.radare.useX11 or false; useX11 = config.radare.useX11 or false;
pythonBindings = config.radare.pythonBindings or false; pythonBindings = config.radare.pythonBindings or false;
rubyBindings = config.radare.rubyBindings or false; rubyBindings = config.radare.rubyBindings or false;
luaBindings = config.radare.luaBindings or false; luaBindings = config.radare.luaBindings or false;
}; }) radare2 r2-for-cutter;
radare2-cutter = libsForQt5.callPackage ../development/tools/analysis/radare2-cutter { };
radare2-cutter = libsForQt5.callPackage ../development/tools/analysis/radare2/cutter.nix { };
ragel = ragelStable; ragel = ragelStable;
@ -18773,6 +18775,8 @@ with pkgs;
toot = callPackage ../applications/misc/toot { }; toot = callPackage ../applications/misc/toot { };
tootle = callPackage ../applications/misc/tootle { };
toxic = callPackage ../applications/networking/instant-messengers/toxic { }; toxic = callPackage ../applications/networking/instant-messengers/toxic { };
toxiproxy = callPackage ../development/tools/toxiproxy { }; toxiproxy = callPackage ../development/tools/toxiproxy { };
@ -22194,4 +22198,6 @@ with pkgs;
powershell = callPackage ../shells/powershell { }; powershell = callPackage ../shells/powershell { };
doing = callPackage ../applications/misc/doing { }; doing = callPackage ../applications/misc/doing { };
undervolt = callPackage ../os-specific/linux/undervolt { };
} }

View File

@ -14400,12 +14400,12 @@ let
}; };
SysVirt = buildPerlModule rec { SysVirt = buildPerlModule rec {
version = "4.6.0"; version = "4.5.0";
name = "Sys-Virt-${version}"; name = "Sys-Virt-${version}";
src = assert version == pkgs.libvirt.version; pkgs.fetchgit { src = assert version == pkgs.libvirt.version; pkgs.fetchgit {
url = git://libvirt.org/libvirt-perl.git; url = git://libvirt.org/libvirt-perl.git;
rev = "v${version}"; rev = "v${version}";
sha256 = "0qs84sdrq85i3xc0drbk71jjm9vq1n8izdwy5zsd5r7dqays5slf"; sha256 = "18ns94i29c9x0j50pz9r1vcif6baayz769sa7b51v8kcvam9j52s";
}; };
nativeBuildInputs = [ pkgs.pkgconfig ]; nativeBuildInputs = [ pkgs.pkgconfig ];
buildInputs = [ pkgs.libvirt CPANChanges TestPod TestPodCoverage XMLXPath ]; buildInputs = [ pkgs.libvirt CPANChanges TestPod TestPodCoverage XMLXPath ];