diff options
author | Vladimír Čunát <v@cunat.cz> | 2020-08-04 21:37:39 +0200 |
---|---|---|
committer | Vladimír Čunát <v@cunat.cz> | 2020-08-04 21:37:39 +0200 |
commit | 8bbc202208d0a972e1a1a973f19b4ae0415bce4b (patch) | |
tree | 7a4f4702191f40b493eb160a0ddc14fb553ac17e | |
parent | 26c481b43576a9fed903ecd16b83c180e060548f (diff) | |
parent | 6a617de2c41eb15dee7c08fccffc0bee9c1ae125 (diff) |
Merge branch 'master' into staging-next
19 files changed, 355 insertions, 118 deletions
diff --git a/nixos/modules/services/monitoring/zabbix-agent.nix b/nixos/modules/services/monitoring/zabbix-agent.nix index b3383ed628b29..73eed7aa66af3 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 <link xlink:href="https://www.zabbix.com/documentation/current/manual/appendix/config/zabbix_agentd"/> 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 9d214469c3b32..d51507c91a1fa 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 <link xlink:href="https://www.zabbix.com/documentation/current/manual/appendix/config/zabbix_proxy"/> 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 b4e4378ce1e76..df09488a8cccd 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 <link xlink:href="https://www.zabbix.com/documentation/current/manual/appendix/config/zabbix_server"/> 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 f612717dc9686..312c52e889a94 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 7f607de5ffcc3..ab8448f503d28 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 5c1cce192163a..b0722e18eeaad 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 3c46db6352e86..07af9341646aa 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 684bad14dda51..169506e66cc02 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 0000000000000..40f8d55462da3 --- /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 d36328d7225b1..dda3d35f6adda 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 9f260121df2b2..716a305878529 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 a64d6871235a8..8302d0a111e90 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 0000000000000..adbcbb63759b8 --- /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 0000000000000..534f71743e717 --- /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 bbfb0315d9efc..9f82a76c323eb 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 97035258633ea..5e5bad8b54a32 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 0000000000000..015d9d3adacca --- /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 0000000000000..a7c6407705e0c --- /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 d25d647483f65..6752e38ab949d 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; } ; |