diff --git a/nixos/modules/services/monitoring/zabbix-agent.nix b/nixos/modules/services/monitoring/zabbix-agent.nix
index b3383ed628b..73eed7aa66a 100644
--- a/nixos/modules/services/monitoring/zabbix-agent.nix
+++ b/nixos/modules/services/monitoring/zabbix-agent.nix
@@ -3,8 +3,9 @@
let
cfg = config.services.zabbixAgent;
- inherit (lib) mkDefault mkEnableOption mkIf mkOption;
+ inherit (lib) mkDefault mkEnableOption mkIf mkMerge mkOption;
inherit (lib) attrValues concatMapStringsSep literalExample optionalString types;
+ inherit (lib.generators) toKeyValue;
user = "zabbix-agent";
group = "zabbix-agent";
@@ -14,19 +15,15 @@ let
paths = attrValues cfg.modules;
};
- configFile = pkgs.writeText "zabbix_agent.conf" ''
- LogType = console
- Server = ${cfg.server}
- ListenIP = ${cfg.listen.ip}
- ListenPort = ${toString cfg.listen.port}
- ${optionalString (cfg.modules != {}) "LoadModulePath = ${moduleEnv}/lib"}
- ${concatMapStringsSep "\n" (name: "LoadModule = ${name}") (builtins.attrNames cfg.modules)}
- ${cfg.extraConfig}
- '';
+ configFile = pkgs.writeText "zabbix_agent.conf" (toKeyValue { listsAsDuplicateKeys = true; } cfg.settings);
in
{
+ imports = [
+ (lib.mkRemovedOptionModule [ "services" "zabbixAgent" "extraConfig" ] "Use services.zabbixAgent.settings instead.")
+ ];
+
# interface
options = {
@@ -105,15 +102,18 @@ in
'';
};
- # TODO: for bonus points migrate this to https://github.com/NixOS/rfcs/pull/42
- extraConfig = mkOption {
- default = "";
- type = types.lines;
+ settings = mkOption {
+ type = with types; attrsOf (oneOf [ int str (listOf str) ]);
+ default = {};
description = ''
- Configuration that is injected verbatim into the configuration file. Refer to
+ Zabbix Agent configuration. Refer to
for details on supported values.
'';
+ example = {
+ Hostname = "example.org";
+ DebugLevel = 4;
+ };
};
};
@@ -124,6 +124,17 @@ in
config = mkIf cfg.enable {
+ services.zabbixAgent.settings = mkMerge [
+ {
+ LogType = "console";
+ Server = cfg.server;
+ ListenIP = cfg.listen.ip;
+ ListenPort = cfg.listen.port;
+ LoadModule = builtins.attrNames cfg.modules;
+ }
+ (mkIf (cfg.modules != {}) { LoadModulePath = "${moduleEnv}/lib"; })
+ ];
+
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ cfg.listen.port ];
};
diff --git a/nixos/modules/services/monitoring/zabbix-proxy.nix b/nixos/modules/services/monitoring/zabbix-proxy.nix
index 9d214469c3b..d51507c91a1 100644
--- a/nixos/modules/services/monitoring/zabbix-proxy.nix
+++ b/nixos/modules/services/monitoring/zabbix-proxy.nix
@@ -5,8 +5,9 @@ let
pgsql = config.services.postgresql;
mysql = config.services.mysql;
- inherit (lib) mkDefault mkEnableOption mkIf mkOption;
+ inherit (lib) mkDefault mkEnableOption mkIf mkMerge mkOption;
inherit (lib) attrValues concatMapStringsSep literalExample optional optionalAttrs optionalString types;
+ inherit (lib.generators) toKeyValue;
user = "zabbix";
group = "zabbix";
@@ -19,24 +20,7 @@ let
paths = attrValues cfg.modules;
};
- configFile = pkgs.writeText "zabbix_proxy.conf" ''
- LogType = console
- ListenIP = ${cfg.listen.ip}
- ListenPort = ${toString cfg.listen.port}
- Server = ${cfg.server}
- # TODO: set to cfg.database.socket if database type is pgsql?
- DBHost = ${optionalString (cfg.database.createLocally != true) cfg.database.host}
- ${optionalString (cfg.database.createLocally != true) "DBPort = ${cfg.database.port}"}
- DBName = ${cfg.database.name}
- DBUser = ${cfg.database.user}
- ${optionalString (cfg.database.passwordFile != null) "Include ${passwordFile}"}
- ${optionalString (mysqlLocal && cfg.database.socket != null) "DBSocket = ${cfg.database.socket}"}
- SocketDir = ${runtimeDir}
- FpingLocation = /run/wrappers/bin/fping
- ${optionalString (cfg.modules != {}) "LoadModulePath = ${moduleEnv}/lib"}
- ${concatMapStringsSep "\n" (name: "LoadModule = ${name}") (builtins.attrNames cfg.modules)}
- ${cfg.extraConfig}
- '';
+ configFile = pkgs.writeText "zabbix_proxy.conf" (toKeyValue { listsAsDuplicateKeys = true; } cfg.settings);
mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql";
pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql";
@@ -44,6 +28,10 @@ let
in
{
+ imports = [
+ (lib.mkRemovedOptionModule [ "services" "zabbixProxy" "extraConfig" ] "Use services.zabbixProxy.settings instead.")
+ ];
+
# interface
options = {
@@ -182,15 +170,19 @@ in
'';
};
- # TODO: for bonus points migrate this to https://github.com/NixOS/rfcs/pull/42
- extraConfig = mkOption {
- default = "";
- type = types.lines;
+ settings = mkOption {
+ type = with types; attrsOf (oneOf [ int str (listOf str) ]);
+ default = {};
description = ''
- Configuration that is injected verbatim into the configuration file. Refer to
+ Zabbix Proxy configuration. Refer to
for details on supported values.
'';
+ example = {
+ CacheSize = "1G";
+ SSHKeyLocation = "/var/lib/zabbix/.ssh";
+ StartPingers = 32;
+ };
};
};
@@ -213,6 +205,26 @@ in
}
];
+ services.zabbixProxy.settings = mkMerge [
+ {
+ LogType = "console";
+ ListenIP = cfg.listen.ip;
+ ListenPort = cfg.listen.port;
+ Server = cfg.server;
+ # TODO: set to cfg.database.socket if database type is pgsql?
+ DBHost = optionalString (cfg.database.createLocally != true) cfg.database.host;
+ DBName = cfg.database.name;
+ DBUser = cfg.database.user;
+ SocketDir = runtimeDir;
+ FpingLocation = "/run/wrappers/bin/fping";
+ LoadModule = builtins.attrNames cfg.modules;
+ }
+ (mkIf (cfg.database.createLocally != true) { DBPort = cfg.database.port; })
+ (mkIf (cfg.database.passwordFile != null) { Include = [ "${passwordFile}" ]; })
+ (mkIf (mysqlLocal && cfg.database.socket != null) { DBSocket = cfg.database.socket; })
+ (mkIf (cfg.modules != {}) { LoadModulePath = "${moduleEnv}/lib"; })
+ ];
+
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ cfg.listen.port ];
};
diff --git a/nixos/modules/services/monitoring/zabbix-server.nix b/nixos/modules/services/monitoring/zabbix-server.nix
index b4e4378ce1e..df09488a8cc 100644
--- a/nixos/modules/services/monitoring/zabbix-server.nix
+++ b/nixos/modules/services/monitoring/zabbix-server.nix
@@ -5,8 +5,9 @@ let
pgsql = config.services.postgresql;
mysql = config.services.mysql;
- inherit (lib) mkDefault mkEnableOption mkIf mkOption;
+ inherit (lib) mkDefault mkEnableOption mkIf mkMerge mkOption;
inherit (lib) attrValues concatMapStringsSep literalExample optional optionalAttrs optionalString types;
+ inherit (lib.generators) toKeyValue;
user = "zabbix";
group = "zabbix";
@@ -19,24 +20,7 @@ let
paths = attrValues cfg.modules;
};
- configFile = pkgs.writeText "zabbix_server.conf" ''
- LogType = console
- ListenIP = ${cfg.listen.ip}
- ListenPort = ${toString cfg.listen.port}
- # TODO: set to cfg.database.socket if database type is pgsql?
- DBHost = ${optionalString (cfg.database.createLocally != true) cfg.database.host}
- ${optionalString (cfg.database.createLocally != true) "DBPort = ${cfg.database.port}"}
- DBName = ${cfg.database.name}
- DBUser = ${cfg.database.user}
- ${optionalString (cfg.database.passwordFile != null) "Include ${passwordFile}"}
- ${optionalString (mysqlLocal && cfg.database.socket != null) "DBSocket = ${cfg.database.socket}"}
- PidFile = ${runtimeDir}/zabbix_server.pid
- SocketDir = ${runtimeDir}
- FpingLocation = /run/wrappers/bin/fping
- ${optionalString (cfg.modules != {}) "LoadModulePath = ${moduleEnv}/lib"}
- ${concatMapStringsSep "\n" (name: "LoadModule = ${name}") (builtins.attrNames cfg.modules)}
- ${cfg.extraConfig}
- '';
+ configFile = pkgs.writeText "zabbix_server.conf" (toKeyValue { listsAsDuplicateKeys = true; } cfg.settings);
mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql";
pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql";
@@ -47,6 +31,7 @@ in
imports = [
(lib.mkRenamedOptionModule [ "services" "zabbixServer" "dbServer" ] [ "services" "zabbixServer" "database" "host" ])
(lib.mkRemovedOptionModule [ "services" "zabbixServer" "dbPassword" ] "Use services.zabbixServer.database.passwordFile instead.")
+ (lib.mkRemovedOptionModule [ "services" "zabbixServer" "extraConfig" ] "Use services.zabbixServer.settings instead.")
];
# interface
@@ -176,15 +161,19 @@ in
'';
};
- # TODO: for bonus points migrate this to https://github.com/NixOS/rfcs/pull/42
- extraConfig = mkOption {
- default = "";
- type = types.lines;
+ settings = mkOption {
+ type = with types; attrsOf (oneOf [ int str (listOf str) ]);
+ default = {};
description = ''
- Configuration that is injected verbatim into the configuration file. Refer to
+ Zabbix Server configuration. Refer to
for details on supported values.
'';
+ example = {
+ CacheSize = "1G";
+ SSHKeyLocation = "/var/lib/zabbix/.ssh";
+ StartPingers = 32;
+ };
};
};
@@ -204,6 +193,26 @@ in
}
];
+ services.zabbixServer.settings = mkMerge [
+ {
+ LogType = "console";
+ ListenIP = cfg.listen.ip;
+ ListenPort = cfg.listen.port;
+ # TODO: set to cfg.database.socket if database type is pgsql?
+ DBHost = optionalString (cfg.database.createLocally != true) cfg.database.host;
+ DBName = cfg.database.name;
+ DBUser = cfg.database.user;
+ PidFile = "${runtimeDir}/zabbix_server.pid";
+ SocketDir = runtimeDir;
+ FpingLocation = "/run/wrappers/bin/fping";
+ LoadModule = builtins.attrNames cfg.modules;
+ }
+ (mkIf (cfg.database.createLocally != true) { DBPort = cfg.database.port; })
+ (mkIf (cfg.database.passwordFile != null) { Include = [ "${passwordFile}" ]; })
+ (mkIf (mysqlLocal && cfg.database.socket != null) { DBSocket = cfg.database.socket; })
+ (mkIf (cfg.modules != {}) { LoadModulePath = "${moduleEnv}/lib"; })
+ ];
+
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ cfg.listen.port ];
};
diff --git a/nixos/tests/hydra/common.nix b/nixos/tests/hydra/common.nix
index f612717dc96..312c52e889a 100644
--- a/nixos/tests/hydra/common.nix
+++ b/nixos/tests/hydra/common.nix
@@ -37,6 +37,7 @@
};
services.postfix.enable = true;
nix = {
+ distributedBuilds = true;
buildMachines = [{
hostName = "localhost";
systems = [ system ];
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index 7f607de5ffc..ab8448f503d 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -1,15 +1,15 @@
{ stdenv, fetchurl, fetchsvn, makeWrapper, unzip, jre, libXxf86vm }:
let
pname = "josm";
- version = "16731";
+ version = "16812";
srcs = {
jar = fetchurl {
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
- sha256 = "0r94jcqciggjwjxfz5q3m81sx6cvh94hq5r9mpw44dvpnyfjj6p6";
+ sha256 = "1ld0c87mhifbdnlrr7a9jmgn3s5xklzbpwcl1m6j1lc18ajs1awq";
};
macosx = fetchurl {
url = "https://josm.openstreetmap.de/download/macosx/josm-macosx-${version}.zip";
- sha256 = "1ilcqy6ssi1jfnbw9nzpd4qlf2dmskfywy2lfm07y4w4gyjsp6w9";
+ sha256 = "0vhawcgzh06k2dfqav28n3sv1ij1ziz6bgi4k7m0diix6ia7hlar";
};
pkg = fetchsvn {
url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix
index 5c1cce19216..b0722e18eea 100644
--- a/pkgs/applications/misc/synergy/default.nix
+++ b/pkgs/applications/misc/synergy/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, cmake, openssl, qttools
+{ stdenv, lib, fetchpatch, fetchFromGitHub, cmake, openssl, qttools
, ApplicationServices, Carbon, Cocoa, CoreServices, ScreenSaver
, xlibsWrapper, libX11, libXi, libXtst, libXrandr, xinput, avahi-compat
, withGUI ? true, wrapQtAppsHook }:
@@ -14,7 +14,14 @@ stdenv.mkDerivation rec {
sha256 = "1jk60xw4h6s5crha89wk4y8rrf1f3bixgh5mzh3cq3xyrkba41gh";
};
- patches = [ ./build-tests.patch
+ patches = [
+ ./build-tests.patch
+ (fetchpatch {
+ name = "CVE-2020-15117.patch";
+ url = "https://github.com/symless/synergy-core/commit/"
+ + "0a97c2be0da2d0df25cb86dfd642429e7a8bea39.patch";
+ sha256 = "03q8m5n50fms7fjfjgmqrgy9mrxwi9kkz3f3vlrs2x5h21dl6bmj";
+ })
] ++ lib.optional stdenv.isDarwin ./macos_build_fix.patch;
# Since the included gtest and gmock don't support clang and the
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index 3c46db6352e..07af9341646 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -1,53 +1,56 @@
-{ stdenv, fetchurl, itstool, python3, intltool, wrapGAppsHook
-, libxml2, gobject-introspection, gtk3, gtksourceview, gnome3
-, gsettings-desktop-schemas, dbus, xvfb_run
+{ stdenv
+, fetchurl
+, gettext
+, itstool
+, python3
+, meson
+, ninja
+, wrapGAppsHook
+, libxml2
+, pkg-config
+, desktop-file-utils
+, gobject-introspection
+, gtk3
+, gtksourceview4
+, gnome3
+, gsettings-desktop-schemas
}:
python3.pkgs.buildPythonApplication rec {
pname = "meld";
- version = "3.20.2";
+ version = "3.21.0";
+
+ format = "other";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "0a0x156zr3w2yg0rnhwy39giy3xnfm6sqcfa4xcw4i6ahvwqa2dc";
+ sha256 = "toARTVq3kzJFSf1Y9OsgLY4oDAYzoLdl7ebfs0FgqBs=";
};
nativeBuildInputs = [
- intltool itstool libxml2 gobject-introspection wrapGAppsHook
+ meson
+ ninja
+ gettext
+ itstool
+ libxml2
+ pkg-config
+ desktop-file-utils
+ gobject-introspection
+ wrapGAppsHook
];
+
buildInputs = [
- gtk3 gtksourceview gsettings-desktop-schemas gnome3.adwaita-icon-theme
+ gtk3
+ gtksourceview4
+ gsettings-desktop-schemas
+ gnome3.adwaita-icon-theme
gobject-introspection # fixes https://github.com/NixOS/nixpkgs/issues/56943 for now
];
- propagatedBuildInputs = with python3.pkgs; [ pygobject3 pycairo ];
- checkInputs = [ xvfb_run python3.pkgs.pytest dbus gtksourceview gtk3 ];
- installPhase = ''
- runHook preInstall
- ${python3.interpreter} setup.py install --prefix=$out
- runHook postInstall
- '';
-
- checkPhase = ''
- runHook preCheck
-
- # Unable to create user data directory '/homeless-shelter/.local/share' for storing the recently used files list: Permission denied
- mkdir test-home
- export HOME=$(pwd)/test-home
-
- # GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme Adwaita
- export XDG_DATA_DIRS="$out/share:$XDG_DATA_DIRS"
-
- # ModuleNotFoundError: No module named 'meld'
- export PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH
-
- # Gtk-CRITICAL **: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
- xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
- --config-file=${dbus.daemon}/share/dbus-1/session.conf \
- py.test
-
- runHook postCheck
- '';
+ propagatedBuildInputs = with python3.pkgs; [
+ pygobject3
+ pycairo
+ ];
passthru = {
updateScript = gnome3.updateScript {
@@ -58,7 +61,7 @@ python3.pkgs.buildPythonApplication rec {
meta = with stdenv.lib; {
description = "Visual diff and merge tool";
homepage = "http://meldmerge.org/";
- license = licenses.gpl2;
+ license = licenses.gpl2Plus;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ jtojnar mimame ];
};
diff --git a/pkgs/development/libraries/gensio/default.nix b/pkgs/development/libraries/gensio/default.nix
index 684bad14dda..169506e66cc 100644
--- a/pkgs/development/libraries/gensio/default.nix
+++ b/pkgs/development/libraries/gensio/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "gensio";
- version = "2.0.5";
+ version = "2.1.3";
src = fetchFromGitHub {
owner = "cminyard";
repo = "${pname}";
rev = "v${version}";
- sha256 = "1j6c6vmnip24pxafk29y312vif1xlryymv7aaxgqp9ca3s91nlrf";
+ sha256 = "0sdqv4j1jjjc2nxnd9h7r4w66bdjl5ksvfia4i4cjj7jfl0hhynl";
};
configureFlags = [
diff --git a/pkgs/development/libraries/ntirpc/default.nix b/pkgs/development/libraries/ntirpc/default.nix
new file mode 100644
index 00000000000..40f8d55462d
--- /dev/null
+++ b/pkgs/development/libraries/ntirpc/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, cmake
+, krb5, liburcu , libtirpc
+} :
+
+stdenv.mkDerivation rec {
+ pname = "ntirpc";
+ version = "3.3";
+
+ src = fetchFromGitHub {
+ owner = "nfs-ganesha";
+ repo = "ntirpc";
+ rev = "v${version}";
+ sha256 = "08vc2z9sl1p9mk1mx0zn4xv7dw12gamhciy41fbavm90iavf3vqm";
+ };
+
+ postPatch = ''
+ substituteInPlace ntirpc/netconfig.h --replace "/etc/netconfig" "$out/etc/netconfig"
+ '';
+
+ nativeBuildInputs = [ cmake ];
+ buildInputs = [ krb5 liburcu ];
+
+ postInstall = ''
+ mkdir -p $out/etc
+
+ # Library needs a netconfig to run.
+ # Steal the file from libtirpc
+ cp ${libtirpc}/etc/netconfig $out/etc/
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Transport-independent RPC (TI-RPC)";
+ homepage = "https://github.com/nfs-ganesha/ntirpc";
+ maintainers = [ maintainers.markuskowa ];
+ platforms = platforms.linux;
+ license = licenses.bsd3;
+ };
+}
diff --git a/pkgs/development/python-modules/asynctest/default.nix b/pkgs/development/python-modules/asynctest/default.nix
index d36328d7225..dda3d35f6ad 100644
--- a/pkgs/development/python-modules/asynctest/default.nix
+++ b/pkgs/development/python-modules/asynctest/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
'';
# https://github.com/Martiusweb/asynctest/issues/132
- doCheck = pythonOlder "3.8";
+ doCheck = pythonOlder "3.7";
checkPhase = ''
${python.interpreter} -m unittest test
diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix
index 9f260121df2..716a3058785 100644
--- a/pkgs/development/tools/misc/hydra/default.nix
+++ b/pkgs/development/tools/misc/hydra/default.nix
@@ -24,12 +24,12 @@
# so when having an older version, `pkgs.hydra-migration` should be deployed first.
hydra-unstable = callPackage ./common.nix {
- version = "2020-07-28";
+ version = "2020-08-04";
src = fetchFromGitHub {
owner = "NixOS";
repo = "hydra";
- rev = "858eb41fab0c8e2a885dc95f629eac8d56c7449c";
- sha256 = "17j0prprasdg0vvl2w8z99jwxzrjjr60gjgnky3k8ha399fm32pa";
+ rev = "77c33c1d71a8c303f53ccad577eb0a3799e87bda";
+ sha256 = "10pwiww96dbbszzvnj7abn851h89n30ziahjj2zm3liyzyvbylyf";
};
nix = nixFlakes;
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index a64d6871235..8302d0a111e 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -2,10 +2,10 @@
{
rust-analyzer-unwrapped = callPackage ./generic.nix rec {
- rev = "2020-07-13";
+ rev = "2020-08-03";
version = "unstable-${rev}";
- sha256 = "1mfhqq3wr2pxyr571xsyhlw4ikiqc0m7w6i31qmj4xq59klc003h";
- cargoSha256 = "09abiyc4cr47qxmvmc2az0addwxny0wpg9gilg8s8awgx1irxcqc";
+ sha256 = "07xd9gwzjqnjsb5rnxfa9vxc6dmh04mbd1dcwxsz9fv9dcnsx21l";
+ cargoSha256 = "0sa8yd3a6y2505w0n9l7d1v03c7dl07zw78fx5r3f4p3lc65n8b4";
};
rust-analyzer = callPackage ./wrapper.nix {} {
diff --git a/pkgs/servers/nfs-ganesha/default.nix b/pkgs/servers/nfs-ganesha/default.nix
new file mode 100644
index 00000000000..adbcbb63759
--- /dev/null
+++ b/pkgs/servers/nfs-ganesha/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchFromGitHub, cmake, pkg-config
+, krb5, xfsprogs, jemalloc, dbus, libcap
+, ntirpc, liburcu, bison, flex, nfs-utils
+} :
+
+stdenv.mkDerivation rec {
+ pname = "nfs-ganesha";
+ version = "3.3";
+
+ src = fetchFromGitHub {
+ owner = "nfs-ganesha";
+ repo = "nfs-ganesha";
+ rev = "V${version}";
+ sha256 = "1w48rqrbqah0hnirvjdz8lyr9ah8b73j3cgsppb04gnrmpssgmb6";
+ };
+
+ patches = [ ./sysstatedir.patch ];
+
+ preConfigure = "cd src";
+
+ cmakeFlags = [ "-DUSE_SYSTEM_NTIRPC=ON" ];
+
+ nativeBuildInputs = [
+ cmake
+ pkg-config
+ bison
+ flex
+ ];
+
+ buildInputs = [
+ krb5
+ xfsprogs
+ jemalloc
+ dbus.lib
+ libcap
+ ntirpc
+ liburcu
+ nfs-utils
+ ];
+
+ meta = with stdenv.lib; {
+ description = "NFS server that runs in user space";
+ homepage = "https://github.com/nfs-ganesha/nfs-ganesha/wiki";
+ maintainers = [ maintainers.markuskowa ];
+ platforms = platforms.linux;
+ license = licenses.lgpl3Plus;
+ };
+}
diff --git a/pkgs/servers/nfs-ganesha/sysstatedir.patch b/pkgs/servers/nfs-ganesha/sysstatedir.patch
new file mode 100644
index 00000000000..534f71743e7
--- /dev/null
+++ b/pkgs/servers/nfs-ganesha/sysstatedir.patch
@@ -0,0 +1,15 @@
+diff --git a/src/include/config-h.in.cmake b/src/include/config-h.in.cmake
+index 51697310b..2b5f91075 100644
+--- a/src/include/config-h.in.cmake
++++ b/src/include/config-h.in.cmake
+@@ -72,8 +72,8 @@
+ #define NFS_GANESHA 1
+
+ #define GANESHA_CONFIG_PATH "@SYSCONFDIR@/ganesha/ganesha.conf"
+-#define GANESHA_PIDFILE_PATH "@SYSSTATEDIR@/run/ganesha.pid"
+-#define NFS_V4_RECOV_ROOT "@SYSSTATEDIR@/lib/nfs/ganesha"
++#define GANESHA_PIDFILE_PATH "/run/ganesha.pid"
++#define NFS_V4_RECOV_ROOT "/var/lib/nfs/ganesha"
+ /**
+ * @brief Default value for krb5_param.ccache_dir
+ */
diff --git a/pkgs/servers/ser2net/default.nix b/pkgs/servers/ser2net/default.nix
index bbfb0315d9e..9f82a76c323 100644
--- a/pkgs/servers/ser2net/default.nix
+++ b/pkgs/servers/ser2net/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "ser2net";
- version = "4.1.8";
+ version = "4.2.0";
src = fetchFromGitHub {
owner = "cminyard";
repo = "${pname}";
rev = "v${version}";
- sha256 = "0xxxxlfi4wln2l86ybdsc42qcj37mnac2s2baj6s7mqri8alaa14";
+ sha256 = "154sc7aa74c2vwfwan41qwqxckp36lw9wf3qydamsyvd9ampjf5x";
};
buildInputs = [ pkgconfig autoreconfHook gensio libyaml ];
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index 97035258633..5e5bad8b54a 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -16,11 +16,11 @@ let
in
python3Packages.buildPythonApplication rec {
pname = "diffoscope";
- version = "153";
+ version = "154";
src = fetchurl {
url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
- sha256 = "1wdmm7qdw15wxj26kxapnkyaa32yf3ywngak0smfb4nbzcy45dzm";
+ sha256 = "1l39ayshl29fl54skcrwc6a412np4ki25h1zj2n9lhir3g1v4rxs";
};
outputs = [ "out" "man" ];
diff --git a/pkgs/tools/system/bpytop/default.nix b/pkgs/tools/system/bpytop/default.nix
new file mode 100644
index 00000000000..015d9d3adac
--- /dev/null
+++ b/pkgs/tools/system/bpytop/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, python3Packages, fetchFromGitHub, makeWrapper, substituteAll }:
+
+stdenv.mkDerivation rec {
+ pname = "bpytop";
+ version = "1.0.0";
+
+ src = fetchFromGitHub {
+ owner = "aristocratos";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "0cxyrk5a9j0ymll9h5b6jq48yjy9srcxh4rmsqk8w0d14prmflgg";
+ };
+
+ buildInputs = [ makeWrapper ];
+ propagatedBuildInputs = with python3Packages; [ python psutil ];
+
+ dontBuild = true;
+
+ postPatch = ''
+ sed -i -e "s#/usr/\[local/\]#$out/#g" \
+ -e "s#/usr/{td}#$out/#g" \
+ ./bpytop.py
+ '';
+
+ installPhase = ''
+ mkdir -p $out/{bin,libexec,share/bpytop}/
+ cp -r ./themes $out/share/bpytop/
+ cp ./bpytop.py $out/libexec/
+
+ makeWrapper ${python3Packages.python.interpreter} $out/bin/bpytop \
+ --add-flags "$out/libexec/bpytop.py" \
+ --prefix PYTHONPATH : "$PYTHONPATH"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A resource monitor; python port of bashtop";
+ homepage = src.meta.homepage;
+ license = licenses.apsl20;
+ maintainers = with maintainers; [ aw ];
+ platforms = with platforms; linux ++ freebsd ++ darwin;
+
+ # https://github.com/NixOS/nixpkgs/pull/94625#issuecomment-668509399
+ broken = stdenv.isDarwin;
+ };
+}
diff --git a/pkgs/tools/typesetting/lowdown/default.nix b/pkgs/tools/typesetting/lowdown/default.nix
new file mode 100644
index 00000000000..a7c6407705e
--- /dev/null
+++ b/pkgs/tools/typesetting/lowdown/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, which }:
+
+stdenv.mkDerivation rec {
+ pname = "lowdown";
+ version = "0.7.2";
+
+ outputs = [ "out" "dev" ];
+
+ src = fetchurl {
+ url = "https://kristaps.bsd.lv/lowdown/snapshots/lowdown-${version}.tar.gz";
+ sha512 = "3ks1jfw4rjm0qb87ask7wx0xx1grxhbpg53r86q74zhsiqqi6xiza2czg75mydmgic1nr9ny43d5p44sl8ihhja9kwdx230nblx1176";
+ };
+
+ nativeBuildInputs = [ which ];
+
+ configurePhase = ''
+ ./configure PREFIX=''${!outputDev} \
+ BINDIR=''${!outputBin}/bin \
+ MANDIR=''${!outputBin}/share/man
+ '';
+
+ meta = with stdenv.lib; {
+ homepage = "https://kristaps.bsd.lv/lowdown/";
+ description = "Simple markdown translator";
+ license = licenses.isc;
+ maintainers = [ maintainers.sternenseemann ];
+ platforms = platforms.unix;
+ };
+}
+
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d25d647483f..6752e38ab94 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1367,6 +1367,8 @@ in
boxfs = callPackage ../tools/filesystems/boxfs { };
+ bpytop = callPackage ../tools/system/bpytop { };
+
brasero-original = lowPrio (callPackage ../tools/cd-dvd/brasero { });
brasero = callPackage ../tools/cd-dvd/brasero/wrapper.nix { };
@@ -2074,6 +2076,8 @@ in
long-shebang = callPackage ../misc/long-shebang {};
+ lowdown = callPackage ../tools/typesetting/lowdown { };
+
numatop = callPackage ../os-specific/linux/numatop { };
iio-sensor-proxy = callPackage ../os-specific/linux/iio-sensor-proxy { };
@@ -5554,6 +5558,8 @@ in
ndstool = callPackage ../tools/archivers/ndstool { };
+ nfs-ganesha = callPackage ../servers/nfs-ganesha { };
+
ngrep = callPackage ../tools/networking/ngrep { };
neuron-notes = haskell.lib.justStaticExecutables (haskell.lib.generateOptparseApplicativeCompletion "neuron" haskellPackages.neuron);
@@ -5662,6 +5668,8 @@ in
ntfy = callPackage ../tools/misc/ntfy {};
+ ntirpc = callPackage ../development/libraries/ntirpc { };
+
ntopng = callPackage ../tools/networking/ntopng { };
ntp = callPackage ../tools/networking/ntp {
@@ -14033,7 +14041,17 @@ in
}
# Temporary fix for .drivers that avoids causing lots of rebuilds; see #91145
// { drivers = (mesa.overrideAttrs (a: {
- nativeBuildInputs = [ patchelf_0_9 ] ++ a.nativeBuildInputs or [];
+ nativeBuildInputs = [
+ (patchelf.overrideAttrs (pa: {
+ src = fetchFromGitHub {
+ owner = "NixOS";
+ repo = "patchelf";
+ rev = "61bc10176"; # current master; what matters is merge of #225
+ sha256 = "0cy77mn77w3mn64ggp20f4ygnbxfjmddhjjhfwkva53lsirg6w93";
+ };
+ nativeBuildInputs = pa.nativeBuildInputs or [] ++ [ autoreconfHook ];
+ }))
+ ] ++ a.nativeBuildInputs or [];
})).drivers;
}
;