Merge branch 'master' into staging-next

This commit is contained in:
Vladimír Čunát 2020-08-04 21:37:39 +02:00
commit 8bbc202208
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
19 changed files with 355 additions and 118 deletions

View File

@ -3,8 +3,9 @@
let let
cfg = config.services.zabbixAgent; 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) attrValues concatMapStringsSep literalExample optionalString types;
inherit (lib.generators) toKeyValue;
user = "zabbix-agent"; user = "zabbix-agent";
group = "zabbix-agent"; group = "zabbix-agent";
@ -14,19 +15,15 @@ let
paths = attrValues cfg.modules; paths = attrValues cfg.modules;
}; };
configFile = pkgs.writeText "zabbix_agent.conf" '' configFile = pkgs.writeText "zabbix_agent.conf" (toKeyValue { listsAsDuplicateKeys = true; } cfg.settings);
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}
'';
in in
{ {
imports = [
(lib.mkRemovedOptionModule [ "services" "zabbixAgent" "extraConfig" ] "Use services.zabbixAgent.settings instead.")
];
# interface # interface
options = { options = {
@ -105,15 +102,18 @@ in
''; '';
}; };
# TODO: for bonus points migrate this to https://github.com/NixOS/rfcs/pull/42 settings = mkOption {
extraConfig = mkOption { type = with types; attrsOf (oneOf [ int str (listOf str) ]);
default = ""; default = {};
type = types.lines;
description = '' description = ''
Configuration that is injected verbatim into the configuration file. Refer to Zabbix Agent configuration. Refer to
<link xlink:href="https://www.zabbix.com/documentation/current/manual/appendix/config/zabbix_agentd"/> <link xlink:href="https://www.zabbix.com/documentation/current/manual/appendix/config/zabbix_agentd"/>
for details on supported values. for details on supported values.
''; '';
example = {
Hostname = "example.org";
DebugLevel = 4;
};
}; };
}; };
@ -124,6 +124,17 @@ in
config = mkIf cfg.enable { 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 { networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ cfg.listen.port ]; allowedTCPPorts = [ cfg.listen.port ];
}; };

View File

@ -5,8 +5,9 @@ let
pgsql = config.services.postgresql; pgsql = config.services.postgresql;
mysql = config.services.mysql; 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) attrValues concatMapStringsSep literalExample optional optionalAttrs optionalString types;
inherit (lib.generators) toKeyValue;
user = "zabbix"; user = "zabbix";
group = "zabbix"; group = "zabbix";
@ -19,24 +20,7 @@ let
paths = attrValues cfg.modules; paths = attrValues cfg.modules;
}; };
configFile = pkgs.writeText "zabbix_proxy.conf" '' configFile = pkgs.writeText "zabbix_proxy.conf" (toKeyValue { listsAsDuplicateKeys = true; } cfg.settings);
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}
'';
mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql"; mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql";
pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql"; pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql";
@ -44,6 +28,10 @@ let
in in
{ {
imports = [
(lib.mkRemovedOptionModule [ "services" "zabbixProxy" "extraConfig" ] "Use services.zabbixProxy.settings instead.")
];
# interface # interface
options = { options = {
@ -182,15 +170,19 @@ in
''; '';
}; };
# TODO: for bonus points migrate this to https://github.com/NixOS/rfcs/pull/42 settings = mkOption {
extraConfig = mkOption { type = with types; attrsOf (oneOf [ int str (listOf str) ]);
default = ""; default = {};
type = types.lines;
description = '' description = ''
Configuration that is injected verbatim into the configuration file. Refer to Zabbix Proxy configuration. Refer to
<link xlink:href="https://www.zabbix.com/documentation/current/manual/appendix/config/zabbix_proxy"/> <link xlink:href="https://www.zabbix.com/documentation/current/manual/appendix/config/zabbix_proxy"/>
for details on supported values. 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 { networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ cfg.listen.port ]; allowedTCPPorts = [ cfg.listen.port ];
}; };

View File

@ -5,8 +5,9 @@ let
pgsql = config.services.postgresql; pgsql = config.services.postgresql;
mysql = config.services.mysql; 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) attrValues concatMapStringsSep literalExample optional optionalAttrs optionalString types;
inherit (lib.generators) toKeyValue;
user = "zabbix"; user = "zabbix";
group = "zabbix"; group = "zabbix";
@ -19,24 +20,7 @@ let
paths = attrValues cfg.modules; paths = attrValues cfg.modules;
}; };
configFile = pkgs.writeText "zabbix_server.conf" '' configFile = pkgs.writeText "zabbix_server.conf" (toKeyValue { listsAsDuplicateKeys = true; } cfg.settings);
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}
'';
mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql"; mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql";
pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql"; pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql";
@ -47,6 +31,7 @@ in
imports = [ imports = [
(lib.mkRenamedOptionModule [ "services" "zabbixServer" "dbServer" ] [ "services" "zabbixServer" "database" "host" ]) (lib.mkRenamedOptionModule [ "services" "zabbixServer" "dbServer" ] [ "services" "zabbixServer" "database" "host" ])
(lib.mkRemovedOptionModule [ "services" "zabbixServer" "dbPassword" ] "Use services.zabbixServer.database.passwordFile instead.") (lib.mkRemovedOptionModule [ "services" "zabbixServer" "dbPassword" ] "Use services.zabbixServer.database.passwordFile instead.")
(lib.mkRemovedOptionModule [ "services" "zabbixServer" "extraConfig" ] "Use services.zabbixServer.settings instead.")
]; ];
# interface # interface
@ -176,15 +161,19 @@ in
''; '';
}; };
# TODO: for bonus points migrate this to https://github.com/NixOS/rfcs/pull/42 settings = mkOption {
extraConfig = mkOption { type = with types; attrsOf (oneOf [ int str (listOf str) ]);
default = ""; default = {};
type = types.lines;
description = '' description = ''
Configuration that is injected verbatim into the configuration file. Refer to Zabbix Server configuration. Refer to
<link xlink:href="https://www.zabbix.com/documentation/current/manual/appendix/config/zabbix_server"/> <link xlink:href="https://www.zabbix.com/documentation/current/manual/appendix/config/zabbix_server"/>
for details on supported values. 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 { networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ cfg.listen.port ]; allowedTCPPorts = [ cfg.listen.port ];
}; };

View File

@ -37,6 +37,7 @@
}; };
services.postfix.enable = true; services.postfix.enable = true;
nix = { nix = {
distributedBuilds = true;
buildMachines = [{ buildMachines = [{
hostName = "localhost"; hostName = "localhost";
systems = [ system ]; systems = [ system ];

View File

@ -1,15 +1,15 @@
{ stdenv, fetchurl, fetchsvn, makeWrapper, unzip, jre, libXxf86vm }: { stdenv, fetchurl, fetchsvn, makeWrapper, unzip, jre, libXxf86vm }:
let let
pname = "josm"; pname = "josm";
version = "16731"; version = "16812";
srcs = { srcs = {
jar = fetchurl { jar = fetchurl {
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar"; url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
sha256 = "0r94jcqciggjwjxfz5q3m81sx6cvh94hq5r9mpw44dvpnyfjj6p6"; sha256 = "1ld0c87mhifbdnlrr7a9jmgn3s5xklzbpwcl1m6j1lc18ajs1awq";
}; };
macosx = fetchurl { macosx = fetchurl {
url = "https://josm.openstreetmap.de/download/macosx/josm-macosx-${version}.zip"; url = "https://josm.openstreetmap.de/download/macosx/josm-macosx-${version}.zip";
sha256 = "1ilcqy6ssi1jfnbw9nzpd4qlf2dmskfywy2lfm07y4w4gyjsp6w9"; sha256 = "0vhawcgzh06k2dfqav28n3sv1ij1ziz6bgi4k7m0diix6ia7hlar";
}; };
pkg = fetchsvn { pkg = fetchsvn {
url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested"; url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, cmake, openssl, qttools { stdenv, lib, fetchpatch, fetchFromGitHub, cmake, openssl, qttools
, ApplicationServices, Carbon, Cocoa, CoreServices, ScreenSaver , ApplicationServices, Carbon, Cocoa, CoreServices, ScreenSaver
, xlibsWrapper, libX11, libXi, libXtst, libXrandr, xinput, avahi-compat , xlibsWrapper, libX11, libXi, libXtst, libXrandr, xinput, avahi-compat
, withGUI ? true, wrapQtAppsHook }: , withGUI ? true, wrapQtAppsHook }:
@ -14,7 +14,14 @@ stdenv.mkDerivation rec {
sha256 = "1jk60xw4h6s5crha89wk4y8rrf1f3bixgh5mzh3cq3xyrkba41gh"; 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; ] ++ lib.optional stdenv.isDarwin ./macos_build_fix.patch;
# Since the included gtest and gmock don't support clang and the # Since the included gtest and gmock don't support clang and the

View File

@ -1,53 +1,56 @@
{ stdenv, fetchurl, itstool, python3, intltool, wrapGAppsHook { stdenv
, libxml2, gobject-introspection, gtk3, gtksourceview, gnome3 , fetchurl
, gsettings-desktop-schemas, dbus, xvfb_run , gettext
, itstool
, python3
, meson
, ninja
, wrapGAppsHook
, libxml2
, pkg-config
, desktop-file-utils
, gobject-introspection
, gtk3
, gtksourceview4
, gnome3
, gsettings-desktop-schemas
}: }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "meld"; pname = "meld";
version = "3.20.2"; version = "3.21.0";
format = "other";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0a0x156zr3w2yg0rnhwy39giy3xnfm6sqcfa4xcw4i6ahvwqa2dc"; sha256 = "toARTVq3kzJFSf1Y9OsgLY4oDAYzoLdl7ebfs0FgqBs=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
intltool itstool libxml2 gobject-introspection wrapGAppsHook meson
ninja
gettext
itstool
libxml2
pkg-config
desktop-file-utils
gobject-introspection
wrapGAppsHook
]; ];
buildInputs = [ 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 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 = '' propagatedBuildInputs = with python3.pkgs; [
runHook preInstall pygobject3
${python3.interpreter} setup.py install --prefix=$out pycairo
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
'';
passthru = { passthru = {
updateScript = gnome3.updateScript { updateScript = gnome3.updateScript {
@ -58,7 +61,7 @@ python3.pkgs.buildPythonApplication rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Visual diff and merge tool"; description = "Visual diff and merge tool";
homepage = "http://meldmerge.org/"; homepage = "http://meldmerge.org/";
license = licenses.gpl2; license = licenses.gpl2Plus;
platforms = platforms.linux ++ platforms.darwin; platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ jtojnar mimame ]; maintainers = with maintainers; [ jtojnar mimame ];
}; };

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gensio"; pname = "gensio";
version = "2.0.5"; version = "2.1.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cminyard"; owner = "cminyard";
repo = "${pname}"; repo = "${pname}";
rev = "v${version}"; rev = "v${version}";
sha256 = "1j6c6vmnip24pxafk29y312vif1xlryymv7aaxgqp9ca3s91nlrf"; sha256 = "0sdqv4j1jjjc2nxnd9h7r4w66bdjl5ksvfia4i4cjj7jfl0hhynl";
}; };
configureFlags = [ configureFlags = [

View File

@ -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;
};
}

View File

@ -18,7 +18,7 @@ buildPythonPackage rec {
''; '';
# https://github.com/Martiusweb/asynctest/issues/132 # https://github.com/Martiusweb/asynctest/issues/132
doCheck = pythonOlder "3.8"; doCheck = pythonOlder "3.7";
checkPhase = '' checkPhase = ''
${python.interpreter} -m unittest test ${python.interpreter} -m unittest test

View File

@ -24,12 +24,12 @@
# so when having an older version, `pkgs.hydra-migration` should be deployed first. # so when having an older version, `pkgs.hydra-migration` should be deployed first.
hydra-unstable = callPackage ./common.nix { hydra-unstable = callPackage ./common.nix {
version = "2020-07-28"; version = "2020-08-04";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "NixOS"; owner = "NixOS";
repo = "hydra"; repo = "hydra";
rev = "858eb41fab0c8e2a885dc95f629eac8d56c7449c"; rev = "77c33c1d71a8c303f53ccad577eb0a3799e87bda";
sha256 = "17j0prprasdg0vvl2w8z99jwxzrjjr60gjgnky3k8ha399fm32pa"; sha256 = "10pwiww96dbbszzvnj7abn851h89n30ziahjj2zm3liyzyvbylyf";
}; };
nix = nixFlakes; nix = nixFlakes;

View File

@ -2,10 +2,10 @@
{ {
rust-analyzer-unwrapped = callPackage ./generic.nix rec { rust-analyzer-unwrapped = callPackage ./generic.nix rec {
rev = "2020-07-13"; rev = "2020-08-03";
version = "unstable-${rev}"; version = "unstable-${rev}";
sha256 = "1mfhqq3wr2pxyr571xsyhlw4ikiqc0m7w6i31qmj4xq59klc003h"; sha256 = "07xd9gwzjqnjsb5rnxfa9vxc6dmh04mbd1dcwxsz9fv9dcnsx21l";
cargoSha256 = "09abiyc4cr47qxmvmc2az0addwxny0wpg9gilg8s8awgx1irxcqc"; cargoSha256 = "0sa8yd3a6y2505w0n9l7d1v03c7dl07zw78fx5r3f4p3lc65n8b4";
}; };
rust-analyzer = callPackage ./wrapper.nix {} { rust-analyzer = callPackage ./wrapper.nix {} {

View File

@ -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;
};
}

View File

@ -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
*/

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ser2net"; pname = "ser2net";
version = "4.1.8"; version = "4.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cminyard"; owner = "cminyard";
repo = "${pname}"; repo = "${pname}";
rev = "v${version}"; rev = "v${version}";
sha256 = "0xxxxlfi4wln2l86ybdsc42qcj37mnac2s2baj6s7mqri8alaa14"; sha256 = "154sc7aa74c2vwfwan41qwqxckp36lw9wf3qydamsyvd9ampjf5x";
}; };
buildInputs = [ pkgconfig autoreconfHook gensio libyaml ]; buildInputs = [ pkgconfig autoreconfHook gensio libyaml ];

View File

@ -16,11 +16,11 @@ let
in in
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "diffoscope"; pname = "diffoscope";
version = "153"; version = "154";
src = fetchurl { src = fetchurl {
url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2"; url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
sha256 = "1wdmm7qdw15wxj26kxapnkyaa32yf3ywngak0smfb4nbzcy45dzm"; sha256 = "1l39ayshl29fl54skcrwc6a412np4ki25h1zj2n9lhir3g1v4rxs";
}; };
outputs = [ "out" "man" ]; outputs = [ "out" "man" ];

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -1367,6 +1367,8 @@ in
boxfs = callPackage ../tools/filesystems/boxfs { }; boxfs = callPackage ../tools/filesystems/boxfs { };
bpytop = callPackage ../tools/system/bpytop { };
brasero-original = lowPrio (callPackage ../tools/cd-dvd/brasero { }); brasero-original = lowPrio (callPackage ../tools/cd-dvd/brasero { });
brasero = callPackage ../tools/cd-dvd/brasero/wrapper.nix { }; brasero = callPackage ../tools/cd-dvd/brasero/wrapper.nix { };
@ -2074,6 +2076,8 @@ in
long-shebang = callPackage ../misc/long-shebang {}; long-shebang = callPackage ../misc/long-shebang {};
lowdown = callPackage ../tools/typesetting/lowdown { };
numatop = callPackage ../os-specific/linux/numatop { }; numatop = callPackage ../os-specific/linux/numatop { };
iio-sensor-proxy = callPackage ../os-specific/linux/iio-sensor-proxy { }; iio-sensor-proxy = callPackage ../os-specific/linux/iio-sensor-proxy { };
@ -5554,6 +5558,8 @@ in
ndstool = callPackage ../tools/archivers/ndstool { }; ndstool = callPackage ../tools/archivers/ndstool { };
nfs-ganesha = callPackage ../servers/nfs-ganesha { };
ngrep = callPackage ../tools/networking/ngrep { }; ngrep = callPackage ../tools/networking/ngrep { };
neuron-notes = haskell.lib.justStaticExecutables (haskell.lib.generateOptparseApplicativeCompletion "neuron" haskellPackages.neuron); neuron-notes = haskell.lib.justStaticExecutables (haskell.lib.generateOptparseApplicativeCompletion "neuron" haskellPackages.neuron);
@ -5662,6 +5668,8 @@ in
ntfy = callPackage ../tools/misc/ntfy {}; ntfy = callPackage ../tools/misc/ntfy {};
ntirpc = callPackage ../development/libraries/ntirpc { };
ntopng = callPackage ../tools/networking/ntopng { }; ntopng = callPackage ../tools/networking/ntopng { };
ntp = callPackage ../tools/networking/ntp { ntp = callPackage ../tools/networking/ntp {
@ -14033,7 +14041,17 @@ in
} }
# Temporary fix for .drivers that avoids causing lots of rebuilds; see #91145 # Temporary fix for .drivers that avoids causing lots of rebuilds; see #91145
// { drivers = (mesa.overrideAttrs (a: { // { 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; })).drivers;
} }
; ;