Merge master into staging-next

This commit is contained in:
github-actions[bot] 2023-08-26 00:01:43 +00:00 committed by GitHub
commit a23616289b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
33 changed files with 433 additions and 205 deletions

View file

@ -30,6 +30,8 @@
- [Anuko Time Tracker](https://github.com/anuko/timetracker), a simple, easy to use, open source time tracking system. Available as [services.anuko-time-tracker](#opt-services.anuko-time-tracker.enable).
- [Prometheus MySQL exporter](https://github.com/prometheus/mysqld_exporter), a MySQL server exporter for Prometheus. Available as [services.prometheus.exporters.mysqld](#opt-services.prometheus.exporters.mysqld.enable).
- [sitespeed-io](https://sitespeed.io), a tool that can generate metrics (timings, diagnostics) for websites. Available as [services.sitespeed-io](#opt-services.sitespeed-io.enable).
- [Jool](https://nicmx.github.io/Jool/en/index.html), an Open Source implementation of IPv4/IPv6 translation on Linux. Available as [networking.jool.enable](#opt-networking.jool.enable).

View file

@ -50,6 +50,7 @@ let
"mikrotik"
"minio"
"modemmanager"
"mysqld"
"nextcloud"
"nginx"
"nginxlog"
@ -296,6 +297,12 @@ in
Please specify either 'services.prometheus.exporters.mail.configuration'
or 'services.prometheus.exporters.mail.configFile'.
'';
} {
assertion = cfg.mysqld.runAsLocalSuperUser -> config.services.mysql.enable;
message = ''
The exporter is configured to run as 'services.mysql.user', but
'services.mysql.enable' is set to false.
'';
} {
assertion = cfg.sql.enable -> (
(cfg.sql.configFile == null) != (cfg.sql.configuration == null)

View file

@ -0,0 +1,60 @@
{ config, lib, pkgs, options }:
let
cfg = config.services.prometheus.exporters.mysqld;
inherit (lib) types mkOption mdDoc mkIf mkForce cli concatStringsSep optionalString escapeShellArgs;
in {
port = 9104;
extraOpts = {
telemetryPath = mkOption {
type = types.str;
default = "/metrics";
description = mdDoc ''
Path under which to expose metrics.
'';
};
runAsLocalSuperUser = mkOption {
type = types.bool;
default = false;
description = mdDoc ''
Whether to run the exporter as {option}`services.mysql.user`.
'';
};
configFile = mkOption {
type = types.path;
example = "/var/lib/prometheus-mysqld-exporter.cnf";
description = mdDoc ''
Path to the services config file.
See <https://github.com/prometheus/mysqld_exporter#running> for more information about
the available options.
::: {.warn}
Please do not store this file in the nix store if you choose to include any credentials here,
as it would be world-readable.
:::
'';
};
};
serviceOpts = {
serviceConfig = {
DynamicUser = !cfg.runAsLocalSuperUser;
User = mkIf cfg.runAsLocalSuperUser (mkForce config.services.mysql.user);
LoadCredential = mkIf (cfg.configFile != null) (mkForce ("config:" + cfg.configFile));
ExecStart = concatStringsSep " " [
"${pkgs.prometheus-mysqld-exporter}/bin/mysqld_exporter"
"--web.listen-address=${cfg.listenAddress}:${toString cfg.port}"
"--web.telemetry-path=${cfg.telemetryPath}"
(optionalString (cfg.configFile != null) ''--config.my-cnf=''${CREDENTIALS_DIRECTORY}/config'')
(escapeShellArgs cfg.extraFlags)
];
RestrictAddressFamilies = [
# The exporter can be configured to talk to a local mysql server via a unix socket.
"AF_UNIX"
];
};
};
}

View file

@ -716,6 +716,41 @@ let
'';
};
mysqld = {
exporterConfig = {
enable = true;
runAsLocalSuperUser = true;
configFile = pkgs.writeText "test-prometheus-exporter-mysqld-config.my-cnf" ''
[client]
user = exporter
password = snakeoilpassword
'';
};
metricProvider = {
services.mysql = {
enable = true;
package = pkgs.mariadb;
initialScript = pkgs.writeText "mysql-init-script.sql" ''
CREATE USER 'exporter'@'localhost'
IDENTIFIED BY 'snakeoilpassword'
WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SLAVE MONITOR, SELECT ON *.* TO 'exporter'@'localhost';
'';
};
};
exporterTest = ''
wait_for_unit("prometheus-mysqld-exporter.service")
wait_for_open_port(9104)
wait_for_unit("mysql.service")
succeed("curl -sSf http://localhost:9104/metrics | grep 'mysql_up 1'")
systemctl("stop mysql.service")
succeed("curl -sSf http://localhost:9104/metrics | grep 'mysql_up 0'")
systemctl("start mysql.service")
wait_for_unit("mysql.service")
succeed("curl -sSf http://localhost:9104/metrics | grep 'mysql_up 1'")
'';
};
nextcloud = {
exporterConfig = {
enable = true;

View file

@ -8,6 +8,7 @@
, qtgraphicaleffects
, qtquickcontrols2
, wrapQtAppsHook
, makeWrapper
}:
stdenv.mkDerivation (finalAttrs: {
@ -24,6 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
cmake
wrapQtAppsHook
makeWrapper
];
buildInputs = [
@ -36,7 +38,9 @@ stdenv.mkDerivation (finalAttrs: {
# wrapQtAppsHook doesn't automatically find noson-gui
dontWrapQtApps = true;
preFixup = ''
wrapProgram "$out/bin/noson-app" --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libpulseaudio ]}
wrapQtApp "$out/lib/noson/noson-gui"
'';

View file

@ -3094,12 +3094,12 @@ final: prev:
efmls-configs-nvim = buildVimPluginFrom2Nix {
pname = "efmls-configs-nvim";
version = "2023-08-24";
version = "2023-08-25";
src = fetchFromGitHub {
owner = "creativenull";
repo = "efmls-configs-nvim";
rev = "c89a9a48148d5b5f676d447166f45091f33e347c";
sha256 = "0fss60bnx9gg0dcggzis26jm87yl5fx6lf9s2z5snrajl07m3qm9";
rev = "cd8876b5afe602f90e53e5d92555980e6b379be4";
sha256 = "0rjrn0ak3v3q1j8sc7yslxrzp8c5zs0p9ii65483ggvi4fdmyzw7";
};
meta.homepage = "https://github.com/creativenull/efmls-configs-nvim/";
};
@ -3372,12 +3372,12 @@ final: prev:
flatten-nvim = buildVimPluginFrom2Nix {
pname = "flatten.nvim";
version = "2023-08-10";
version = "2023-08-25";
src = fetchFromGitHub {
owner = "willothy";
repo = "flatten.nvim";
rev = "6813ad3c49b74fbeb5bc851c7d269b611fc86dd3";
sha256 = "0xk7pyysmq1w1dicq2pml3ls08wwzxaa9fq7fyhziivy7a8qv2ps";
rev = "b362e13e22a452db913aab1fb2ee2d8546526d90";
sha256 = "10vxc5bk0zykfg5dhgmsqmw2k6701b7ppg80y3krnn7phzi3hwr8";
};
meta.homepage = "https://github.com/willothy/flatten.nvim/";
};
@ -7479,8 +7479,8 @@ final: prev:
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "nvim-treesitter";
rev = "bae2c1824fb9297b044fbb58fc3b81ba79ed8b75";
sha256 = "04w7xa8affngr6m1d0zr2d5fm2r2d92qf3942f4yznq5admxv9d7";
rev = "4d41d9bfb09dd0836ce6910404e3cd570500c9ca";
sha256 = "05b9dfphqm726x3619vfm702q0csjnvr9011xix07074hmg0ygxl";
};
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
};
@ -8304,6 +8304,18 @@ final: prev:
meta.homepage = "https://github.com/AlphaTechnolog/pywal.nvim/";
};
quarto-nvim = buildVimPluginFrom2Nix {
pname = "quarto-nvim";
version = "2023-07-17";
src = fetchFromGitHub {
owner = "quarto-dev";
repo = "quarto-nvim";
rev = "35f86035e7b3846dbf168267ffe0021c3d312259";
sha256 = "0a46bqca0f8rqd71kym07nn3vq4qfasw20fhi6s8gywmd658hx9k";
};
meta.homepage = "https://github.com/quarto-dev/quarto-nvim/";
};
quick-scope = buildVimPluginFrom2Nix {
pname = "quick-scope";
version = "2023-08-08";
@ -9014,12 +9026,12 @@ final: prev:
sphinx-nvim = buildVimPluginFrom2Nix {
pname = "sphinx.nvim";
version = "2022-10-27";
version = "2023-08-25";
src = fetchFromGitHub {
owner = "stsewd";
repo = "sphinx.nvim";
rev = "ec53a6e7104c6bef75982fce15bcab546c590f7e";
sha256 = "15pxzq74sx9zwwpcfy478mq558s2kwv78pgzqz4jw03hd0ms2c1k";
rev = "d4eceb35975d379c6b380111627c5d4531f77d08";
sha256 = "0j4v1ckc7p5bsh81yhcc35yv1lqkn2kicy84pbk556ksx60pgvgs";
};
meta.homepage = "https://github.com/stsewd/sphinx.nvim/";
};

View file

@ -696,6 +696,7 @@ https://github.com/purescript-contrib/purescript-vim/,,
https://github.com/python-mode/python-mode/,,
https://github.com/vim-python/python-syntax/,,
https://github.com/AlphaTechnolog/pywal.nvim/,,
https://github.com/quarto-dev/quarto-nvim/,,
https://github.com/unblevable/quick-scope/,,
https://github.com/stefandtw/quickfix-reflector.vim/,,
https://github.com/dannyob/quickfixstatus/,,

View file

@ -17,13 +17,13 @@ let
'';
in mkDerivation rec {
pname = "deadd-notification-center";
version = "2.0.4";
version = "2.1.1";
src = fetchFromGitHub {
owner = "phuhl";
repo = "linux_notification_center";
rev = version;
hash = "sha256-ascg31HsHeXKhvMNntiRLuZ4+T2+fokfDhZ3c8N/Gzg=";
hash = "sha256-VU9NaQVS0n8hFRjWMvCMkaF5mZ4hpnluV31+/SAK7tU=";
};
isLibrary = false;

View file

@ -1,12 +1,12 @@
{ appimageTools, lib, fetchurl, stdenv }:
{ appimageTools, lib, fetchurl, nix-update-script, stdenv }:
let
pname = "golden-cheetah";
version = "3.6-RC4";
version = "3.6";
src = fetchurl {
url = "https://github.com/GoldenCheetah/GoldenCheetah/releases/download/v${version}/GoldenCheetah_v3.6-DEV_x64.AppImage";
hash = "sha256-I5GafK/W1djSx67xrjcMyPqMSqGW9AfrcPYcGcf0Pag=";
url = "https://github.com/GoldenCheetah/GoldenCheetah/releases/download/v${version}/GoldenCheetah_v${version}_x64.AppImage";
hash = "sha256-PMRUDQSQxbECbF9SPOo03t4Xxj1OtYJAPXEMyyy6EVY=";
};
appimageContents = appimageTools.extract { inherit pname src version; };
@ -24,12 +24,14 @@ appimageTools.wrapType2 {
cp ${appimageContents}/gc.png $out/share/pixmaps/
'';
meta = with lib; {
passthru.updateScript = nix-update-script { };
meta = {
description = "Performance software for cyclists, runners and triathletes. This version includes the API Tokens for e.g. Strava";
platforms = platforms.linux;
platforms = lib.platforms.linux;
broken = !stdenv.isx86_64;
maintainers = with maintainers; [ gador ];
license = licenses.gpl2Plus;
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
maintainers = with lib.maintainers; [ gador adamcstephens ];
license = lib.licenses.gpl2Plus;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
}

View file

@ -1,4 +1,4 @@
{ lib, fetchFromGitHub, fetchpatch, mkDerivation
{ lib, fetchFromGitHub, nix-update-script, mkDerivation
, qtbase, qtsvg, qtserialport, qtwebengine, qtmultimedia, qttools
, qtconnectivity, qtcharts, libusb-compat-0_1, gsl, blas
, bison, flex, zlib, qmake, makeDesktopItem, wrapQtAppsHook
@ -16,13 +16,13 @@ let
};
in mkDerivation rec {
pname = "golden-cheetah";
version = "3.6-RC4";
version = "3.6";
src = fetchFromGitHub {
owner = "GoldenCheetah";
repo = "GoldenCheetah";
rev = "refs/tags/v${version}";
hash = "sha256-2cwxsfy4Zc9fF3fe6QcZp3LPd2yWw2rDlYrK/QGiJYw=";
hash = "sha256-Ntim1/ZPaTPCHQ5p8xF5LWpqq8+OgkPfaQqqysv9j/c=";
};
buildInputs = [
@ -72,10 +72,12 @@ in mkDerivation rec {
runHook postInstall
'';
meta = with lib; {
passthru.updateScript = nix-update-script { };
meta = {
description = "Performance software for cyclists, runners and triathletes. Built from source and without API tokens";
platforms = platforms.linux;
maintainers = with maintainers; [ adamcstephens ];
license = licenses.gpl2Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ adamcstephens ];
license = lib.licenses.gpl2Plus;
};
}

View file

@ -47,7 +47,7 @@
# Hardening
, graphene-hardened-malloc
# Whether to use graphene-hardened-malloc
, useHardenedMalloc ? true
, useHardenedMalloc ? null
# Whether to disable multiprocess support
, disableContentSandbox ? false
@ -56,7 +56,10 @@
, extraPrefs ? ""
}:
let
lib.warnIf (useHardenedMalloc != null)
"tor-browser-bundle-bin: useHardenedMalloc is deprecated and enabling it can cause issues"
(let
libPath = lib.makeLibraryPath libPkgs;
libPkgs = [
@ -268,7 +271,7 @@ stdenv.mkDerivation rec {
GeoIPv6File $TBB_IN_STORE/TorBrowser/Data/Tor/geoip6
EOF
WRAPPER_LD_PRELOAD=${lib.optionalString useHardenedMalloc
WRAPPER_LD_PRELOAD=${lib.optionalString (useHardenedMalloc == true)
"${graphene-hardened-malloc}/lib/libhardened_malloc.so"}
WRAPPER_XDG_DATA_DIRS=${lib.concatMapStringsSep ":" (x: "${x}/share") [
@ -477,4 +480,4 @@ stdenv.mkDerivation rec {
license = licenses.free;
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
};
}
})

View file

@ -1,5 +1,6 @@
{ lib
, fetchFromGitHub
, fetchpatch
, python3
, makeWrapper
, nixosTests
@ -30,6 +31,14 @@ python.pkgs.buildPythonApplication rec {
sha256 = "sha256-7Exvm3EShb/1EqwA4wzWB9zCdv0P/ISmjKSoqtOMnqk=";
};
patches = [
(fetchpatch {
# PIL update fix
url = "https://patch-diff.githubusercontent.com/raw/haiwen/seahub/pull/5570.patch";
sha256 = "sha256-7V2aRlacJ7Qhdi9k4Bs+t/Emx+EAM/NNCI+K40bMwLA=";
})
];
dontBuild = true;
doCheck = false; # disabled because it requires a ccnet environment

View file

@ -3,26 +3,28 @@
, fetchFromGitHub
, python
, cmake
, ninja
}:
let
pyEnv = python.withPackages (ps: [ ps.setuptools ]);
pyEnv = python.withPackages (ps: [ ps.setuptools ps.tomli ps.pip ps.setuptools ]);
in
stdenv.mkDerivation rec {
pname = "lief";
version = "0.12.3";
version = "0.13.2";
src = fetchFromGitHub {
owner = "lief-project";
repo = "LIEF";
rev = version;
sha256 = "sha256-wZgv4AFc7DrMCyxMLKQxO1mUTDAU4klK8aZAySqGJoY=";
sha256 = "sha256-lH4SqwPB2Jp/wUI2Cll67PQbHbwMqpNuLy/ei8roiHg=";
};
outputs = [ "out" "py" ];
nativeBuildInputs = [
cmake
ninja
];
# Not a propagatedBuildInput because only the $py output needs it; $out is
@ -31,33 +33,16 @@ stdenv.mkDerivation rec {
python
];
dontUseCmakeConfigure = true;
buildPhase = ''
runHook preBuild
substituteInPlace setup.py \
--replace 'cmake_args = []' "cmake_args = [ \"-DCMAKE_INSTALL_PREFIX=$prefix\" ]"
${pyEnv.interpreter} setup.py --sdk build --parallel=$NIX_BUILD_CORES
runHook postBuild
postBuild = ''
pushd /build/source/api/python
${pyEnv.interpreter} setup.py build --parallel=$NIX_BUILD_CORES
popd
'';
# I was unable to find a way to build the library itself and have it install
# to $out, while also installing the Python bindings to $py without building
# the project twice (using cmake), so this is the best we've got. It uses
# something called CPack to create the tarball, but it's not obvious to me
# *how* that happens, or how to intercept it to just get the structured
# library output.
installPhase = ''
runHook preInstall
mkdir -p $out $py/nix-support
echo "${python}" >> $py/nix-support/propagated-build-inputs
tar xf build/*.tar.gz --directory $out --strip-components 1
postInstall = ''
pushd /build/source/api/python
${pyEnv.interpreter} setup.py install --skip-build --root=/ --prefix=$py
runHook postInstall
popd
'';
meta = with lib; {
@ -65,6 +50,6 @@ stdenv.mkDerivation rec {
homepage = "https://lief.quarkslab.com/";
license = [ licenses.asl20 ];
platforms = with platforms; linux ++ darwin;
maintainers = [ maintainers.lassulus ];
maintainers = with maintainers; [ lassulus genericnerdyusername ];
};
}

View file

@ -8,16 +8,16 @@
buildPythonPackage rec {
pname = "adax";
version = "0.2.0";
version = "0.3.0";
format = "setuptools";
disabled = pythonOlder "3.5";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "Danielhiversen";
repo = "pyadax";
rev = version;
hash = "sha256-EMSX2acklwWOYiEeLHYG5mwdiGnWAUo5dGMiHCmZrko=";
rev = "refs/tags/${version}";
hash = "sha256-y4c1RBy/UxmKP7+mHXi86XJ2/RXGrqkj94I2Q699EJU=";
};
propagatedBuildInputs = [
@ -28,11 +28,14 @@ buildPythonPackage rec {
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "adax" ];
pythonImportsCheck = [
"adax"
];
meta = with lib; {
description = "Python module to communicate with Adax";
homepage = "https://github.com/Danielhiversen/pyAdax";
changelog = "https://github.com/Danielhiversen/pyAdax/releases/tag/${version}";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};

View file

@ -2,13 +2,15 @@
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, pythonOlder
, setuptools
, pyjwt
}:
buildPythonPackage rec {
pname = "aioaseko";
version = "0.0.2";
version = "0.1.0";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -16,16 +18,26 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "milanmeu";
repo = pname;
rev = "v${version}";
hash = "sha256-nJRVNBYfBcLYnBsTpQZYMHYWh0+hQObVKJ7sOXFwDjc=";
rev = "refs/tags/v${version}";
hash = "sha256-RgIwA5/W7qtgI9ZTF4oDPuzSc+r04ZV3JOaNNFjS0pU=";
};
patches = [
# Remove time, https://github.com/milanmeu/aioaseko/pull/6
(fetchpatch {
name = "remove-time.patch";
url = "https://github.com/milanmeu/aioaseko/commit/07d7ca43a2edd060e95a64737f072d98ba938484.patch";
hash = "sha256-67QaqSy5mGY/22jWHOkymr0pFoiizVQAXlrqXRb3tG0=";
})
];
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
aiohttp
pyjwt
];
# Module has no tests
@ -38,6 +50,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Module to interact with the Aseko Pool Live API";
homepage = "https://github.com/milanmeu/aioaseko";
changelog = "https://github.com/milanmeu/aioaseko/releases/tag/v${version}";
license = with licenses; [ lgpl3Plus ];
maintainers = with maintainers; [ fab ];
};

View file

@ -1,44 +1,31 @@
{ lib
, buildPythonPackage
, pythonOlder
, pythonAtLeast
, fetchFromGitHub
# native build inputs
, hatchling
# build input
, networkx
# check inputs
, pytestCheckHook
# optional dependencies
, pygraphviz
, requests
, mkdocs-material
, mkdocs-mermaid2-plugin
, mkdocstrings
, networkx
, pygraphviz
, pytestCheckHook
, pythonOlder
, requests
}:
let
buildPythonPackage rec {
pname = "canals";
version = "0.2.2";
optional-dependencies = {
graphviz = [ pygraphviz ];
mermaid = [ requests ];
docs = [ mkdocs-material mkdocs-mermaid2-plugin mkdocstrings ];
};
in
buildPythonPackage {
inherit version pname;
version = "0.6.0";
format = "pyproject";
# Pypi source package doesn't contain tests
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "deepset-ai";
repo = pname;
rev = "v${version}";
hash = "sha256-dF0bkY4DFJIovaseNiOLgF8lmha+njTTTzr2/4LzZEc=";
rev = "refs/tags/v${version}";
hash = "sha256-s4nKPywfRn2hNhn/coWGqShv7D+MCEHblVzfweQJlnM=";
};
disabled = pythonOlder "3.8";
nativeBuildInputs = [
hatchling
];
@ -47,18 +34,37 @@ buildPythonPackage {
networkx
];
passthru = { inherit optional-dependencies; };
passthru.optional-dependencies = {
graphviz = [
pygraphviz
];
mermaid = [
requests
];
docs = [
mkdocs-material
mkdocs-mermaid2-plugin
mkdocstrings
];
};
nativeCheckInputs = [
pytestCheckHook
] ++ optional-dependencies.mermaid;
] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
disabledTestPaths = [
# requires internet connection to mermaid.ink
# Test requires internet connection to mermaid.ink
"test/pipelines/integration"
];
pythonImportsCheck = [ "canals" ];
disabledTests = [
# Path issue
"test_draw_pygraphviz"
];
pythonImportsCheck = [
"canals"
];
meta = with lib; {
description = "A component orchestration engine";

View file

@ -1,32 +1,43 @@
{ lib
, buildPythonPackage
, fetchPypi
, requests
, fetchFromGitHub
, flitBuildHook
, google-auth
, google-auth-oauthlib
, pytest-vcr
, pytestCheckHook
, pythonOlder
, requests
}:
buildPythonPackage rec {
pname = "gspread";
version = "5.9.0";
format = "setuptools";
version = "5.10.0";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-NLl4NLvvrM9ySXcCuuJtEvltBoXkmkGK/mqSqbvLnJw=";
src = fetchFromGitHub {
owner = "burnash";
repo = "gspread";
rev = "refs/tags/v${version}";
hash = "sha256-GAlQYQVuwsnkXqZOvG66f9kig+m392CVlrgUTqrTKyA=";
};
propagatedBuildInputs = [
requests
google-auth
google-auth-oauthlib
nativeBuildInputs = [
flitBuildHook
];
# No tests included
doCheck = false;
propagatedBuildInputs = [
google-auth
google-auth-oauthlib
requests
];
nativeCheckInputs = [
pytest-vcr
pytestCheckHook
];
pythonImportsCheck = [
"gspread"

View file

@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "hahomematic";
version = "2023.8.10";
version = "2023.8.11";
format = "pyproject";
disabled = pythonOlder "3.11";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "danielperna84";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-Piy/yUIK+IuEVbkkB18Z1iGNcE67eowff3IimI43E+s=";
hash = "sha256-EDpOCZlWIb1WChO4/k37WDkA4LT4Wy8tcMpThMgCQoU=";
};
nativeBuildInputs = [

View file

@ -1,21 +1,38 @@
{ lib
, buildPythonPackage
, fetchPypi
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "jsonpath";
version = "0.82";
version = "0.82.2";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "46d3fd2016cd5b842283d547877a02c418a0fe9aa7a6b0ae344115a2c990fef4";
hash = "sha256-2H7yvLze1o7pa8NMGAm2lFfs7JsMTdRxZYoSvTkQAtE=";
};
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"jsonpath"
];
pytestFlagsArray = [
"test/test*.py"
];
meta = with lib; {
description = "An XPath for JSON";
homepage = "https://github.com/json-path/JsonPath";
license = licenses.mit;
maintainers = [ maintainers.mic92 ];
maintainers = with maintainers; [ mic92 ];
};
}

View file

@ -47,7 +47,7 @@ let
package = buildPythonPackage rec {
pname = "mdformat";
version = "0.7.16";
version = "0.7.17";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -55,8 +55,8 @@ let
src = fetchFromGitHub {
owner = "executablebooks";
repo = pname;
rev = version;
hash = "sha256-6MWUkvZp5CYUWsbMGXM2gudjn5075j5FIuaNnCrgRNs=";
rev = "refs/tags/${version}";
hash = "sha256-umtfbhN6sDR/rFr1LwmJ21Ph9bK1Qq43bmMVzGCPD5s=";
};
nativeBuildInputs = [
@ -93,6 +93,7 @@ let
meta = with lib; {
description = "CommonMark compliant Markdown formatter";
homepage = "https://mdformat.rtfd.io/";
changelog = "https://github.com/executablebooks/mdformat/blob/${version}/docs/users/changelog.md";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab aldoborrero ];
mainProgram = "mdformat";

View file

@ -13,11 +13,11 @@
buildPythonPackage rec {
pname = "pytest-testinfra";
version = "8.1.0";
version = "9.0.0";
src = fetchPypi {
inherit pname version;
hash = "sha256-m0CCi1j7esK/8pzBRlk0rfQ08Q3VoQj2BTXe5SZgpj0=";
hash = "sha256-UxGzaeBUaSD85GTDv5RbVevnWhJ1aPbWFelLiJE0AUk=";
};
nativeBuildInputs = [
@ -34,7 +34,7 @@ buildPythonPackage rec {
];
# markers don't get added when docker is not available (leads to warnings):
# https://github.com/pytest-dev/pytest-testinfra/blob/8.1.0/test/conftest.py#L228
# https://github.com/pytest-dev/pytest-testinfra/blob/9.0.0/test/conftest.py#L223
preCheck = ''
export HOME=$(mktemp -d)
sed -i '54imarkers = \

View file

@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "vsure";
version = "2.6.5";
version = "2.6.6";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-2w1D0380ljgRa5NSPAUlUPFTmGzjl79hyLwirmuHmGo=";
hash = "sha256-ecrBvKOhW3znVoXHQeKKW4o/hbA4fLhxJrWZObwtki8=";
};
propagatedBuildInputs = [

View file

@ -10,13 +10,13 @@ let
};
in stdenv.mkDerivation rec {
pname = "seafile-server";
version = "9.0.6";
version = "9.0.10";
src = fetchFromGitHub {
owner = "haiwen";
repo = "seafile-server";
rev = "881c270aa8d99ca6648e7aa1458fc283f38e6f31"; # using a fixed revision because upstream may re-tag releases :/
sha256 = "sha256-M1jIysirtl1KKyEvScOIshLvSa5vjxTdFEARgy8bLTc=";
rev = "079a8b65a543bfbc48e7671c3dbbffe19fd02944"; # using a fixed revision because upstream may re-tag releases :/
sha256 = "sha256-F1n4E6ajpri3CVM7B28UKoTV1oOLr5nTy6Lw0E5tCrc=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];

View file

@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "headsetcontrol";
version = "2.6.1";
version = "2.7.0";
src = fetchFromGitHub {
owner = "Sapd";
repo = "HeadsetControl";
rev = version;
sha256 = "sha256-SVOcRzR52RYZsk/OWAr1/s+Nm6x48OxG0TF7yQ+Kb94=";
sha256 = "sha256-tAndkfLEgj81JWzXtDBNspRxzKAL6XaRw0aDI1XbC1E=";
};
nativeBuildInputs = [
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
];
/*
Test depends on having the apropiate headsets connected.
Tests depend on having the appropriate headsets connected.
*/
doCheck = false;

View file

@ -1,14 +1,14 @@
{ lib, stdenv, fetchFromGitHub, ncurses }:
stdenv.mkDerivation rec {
version = "1.2.0";
version = "1.3.0";
pname = "smenu";
src = fetchFromGitHub {
owner = "p-gen";
repo = "smenu";
rev = "v${version}";
sha256 = "sha256-DfND2lIHQc+7+8lM86MMOdFKhbUAOnSlkpLwxo10EI4=";
sha256 = "sha256-r2N+MmZI2KCuYarrFL2Xn5hu4FO3n5MqADRuTXMOtk0=";
};
buildInputs = [ ncurses ];

View file

@ -1,7 +1,7 @@
{ lib
, stdenv
, cmake
, buildGo118Module
, buildGoModule
, makeWrapper
, fetchFromGitHub
, pythonPackages
@ -35,7 +35,7 @@ let
cmakeFlags = ["-DBUILD_DEMO=OFF" "-DDISABLE_PYTHON2=ON"];
};
in buildGo118Module rec {
in buildGoModule rec {
pname = "datadog-agent";
inherit src version;

View file

@ -1,4 +1,4 @@
# frozen_string_literal: true
source "https://rubygems.org"
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.3.30"
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.3.31"

View file

@ -1,9 +1,9 @@
GIT
remote: https://github.com/rapid7/metasploit-framework
revision: e15c05b0bd8774e33c33c100965ec7e301e4f295
ref: refs/tags/6.3.30
revision: a97e8a0e2a3b15f3b3710f04def1178139ae0fa2
ref: refs/tags/6.3.31
specs:
metasploit-framework (6.3.30)
metasploit-framework (6.3.31)
actionpack (~> 7.0)
activerecord (~> 7.0)
activesupport (~> 7.0)
@ -41,6 +41,7 @@ GIT
mqtt
msgpack (~> 1.6.0)
nessus_rest
net-imap
net-ldap
net-smtp
net-ssh
@ -104,25 +105,25 @@ GEM
remote: https://rubygems.org/
specs:
Ascii85 (1.1.0)
actionpack (7.0.7)
actionview (= 7.0.7)
activesupport (= 7.0.7)
actionpack (7.0.7.2)
actionview (= 7.0.7.2)
activesupport (= 7.0.7.2)
rack (~> 2.0, >= 2.2.4)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actionview (7.0.7)
activesupport (= 7.0.7)
actionview (7.0.7.2)
activesupport (= 7.0.7.2)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
activemodel (7.0.7)
activesupport (= 7.0.7)
activerecord (7.0.7)
activemodel (= 7.0.7)
activesupport (= 7.0.7)
activesupport (7.0.7)
activemodel (7.0.7.2)
activesupport (= 7.0.7.2)
activerecord (7.0.7.2)
activemodel (= 7.0.7.2)
activesupport (= 7.0.7.2)
activesupport (7.0.7.2)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
@ -133,13 +134,13 @@ GEM
arel-helpers (2.14.0)
activerecord (>= 3.1.0, < 8)
aws-eventstream (1.2.0)
aws-partitions (1.806.0)
aws-sdk-core (3.180.3)
aws-partitions (1.811.0)
aws-sdk-core (3.181.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
jmespath (~> 1, >= 1.6.1)
aws-sdk-ec2 (1.399.0)
aws-sdk-ec2 (1.402.0)
aws-sdk-core (~> 3, >= 3.177.0)
aws-sigv4 (~> 1.1)
aws-sdk-ec2instanceconnect (1.32.0)
@ -151,8 +152,8 @@ GEM
aws-sdk-kms (1.71.0)
aws-sdk-core (~> 3, >= 3.177.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.132.1)
aws-sdk-core (~> 3, >= 3.179.0)
aws-sdk-s3 (1.134.0)
aws-sdk-core (~> 3, >= 3.181.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.6)
aws-sdk-ssm (1.156.0)
@ -172,6 +173,7 @@ GEM
cookiejar (0.3.3)
crass (1.0.6)
daemons (1.4.1)
date (3.3.3)
dnsruby (1.70.0)
simpleidn (~> 0.2.1)
domain_name (0.5.20190701)
@ -271,6 +273,9 @@ GEM
mustermann (3.0.0)
ruby2_keywords (~> 0.0.1)
nessus_rest (0.1.6)
net-imap (0.3.7)
date
net-protocol
net-ldap (0.18.0)
net-protocol (0.2.1)
timeout
@ -317,9 +322,9 @@ GEM
rails-html-sanitizer (1.6.0)
loofah (~> 2.21)
nokogiri (~> 1.14)
railties (7.0.7)
actionpack (= 7.0.7)
activesupport (= 7.0.7)
railties (7.0.7.2)
actionpack (= 7.0.7.2)
activesupport (= 7.0.7.2)
method_source
rake (>= 12.2)
thor (~> 1.0)
@ -331,7 +336,7 @@ GEM
recog (3.1.2)
nokogiri
redcarpet (3.6.0)
reline (0.3.7)
reline (0.3.8)
io-console (~> 0.5)
rex-arch (0.1.14)
rex-text
@ -407,7 +412,7 @@ GEM
tilt (~> 2.0)
sqlite3 (1.6.3)
mini_portile2 (~> 2.8.0)
sshkey (2.0.0)
sshkey (3.0.0)
strptime (0.2.5)
swagger-blocks (3.0.0)
thin (1.8.2)

View file

@ -15,13 +15,13 @@ let
};
in stdenv.mkDerivation rec {
pname = "metasploit-framework";
version = "6.3.30";
version = "6.3.31";
src = fetchFromGitHub {
owner = "rapid7";
repo = "metasploit-framework";
rev = version;
sha256 = "sha256-j2tgBXn5PP4WegSk4NU5aVfrWVKYcYUS8fHFF5kuCJc=";
sha256 = "sha256-X0QJ4edzqLh01qAhmpcdiuk8xdAkccoJAZmxeTh3q48=";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -4,50 +4,50 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "150sjsk12vzj9aswjy3cz124l8n8sn52bhd0wwly73rwc1a750sg";
sha256 = "0qamc5ly521wk9i1658h9jv7avmyyp92kffa1da2fn5zk0wgyhf4";
type = "gem";
};
version = "7.0.7";
version = "7.0.7.2";
};
actionview = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1nn21k5psxdv2fkwxs679lr0b8n1nzli2ks343cx4azn6snp8b8a";
sha256 = "151zxb61bb6q7g0sn34qz79k8bg02vmb8mmnsn0fr15lxw92dfhm";
type = "gem";
};
version = "7.0.7";
version = "7.0.7.2";
};
activemodel = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1rspbw4yxx9fh2wyl2wvgwadwapfyx7j9zlirpd4pmk31wkhl4hf";
sha256 = "1crjq1dznlbsrwd5yijxraz1591xmg4vdcwwnmrw4nh6hrwq5fj5";
type = "gem";
};
version = "7.0.7";
version = "7.0.7.2";
};
activerecord = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ygg145wxlgm12b1x5r0rsk2aa6i2wjz7bgb21j8vmyqyfl272cy";
sha256 = "03vrssdqaqm41w27s21r37skdfxa41midvjy37i2zh3rnbnq8ps2";
type = "gem";
};
version = "7.0.7";
version = "7.0.7.2";
};
activesupport = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1wzbnv3hns0yiwbgh1m3q5j0d7b0k52nlpwirhxyv3l0ycmljfr9";
sha256 = "1vlzcnyqlbchaq85phmdv73ydlc18xpvxy1cbsk191cwd29i7q32";
type = "gem";
};
version = "7.0.7";
version = "7.0.7.2";
};
addressable = {
groups = ["default"];
@ -104,30 +104,30 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "072z18xbl8n793w4irrsmgh788csvmfkvw1iixsrmdzlzrjjagqx";
sha256 = "0082fsywglghvam55i4jz7cj2vyd8hb8b7658cr9yqlwna9j1sp3";
type = "gem";
};
version = "1.806.0";
version = "1.811.0";
};
aws-sdk-core = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lc3j74v49b2akyimfnsx3vsgi1i3068cpchn358l0dv27aib6c2";
sha256 = "0xjw9cf6ldbw50xi5ric8d63r8kybpsvaqxh2v6n7374hfady73i";
type = "gem";
};
version = "3.180.3";
version = "3.181.0";
};
aws-sdk-ec2 = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0l2gdlqgq9y5r83svl4g7jpijpw3a6p7xsfdvhklb36mgmf61a0n";
sha256 = "1kl5b8m0ad2dxj2r0f5wkphfwhnpq820jbzrdmxyh20kivckv33c";
type = "gem";
};
version = "1.399.0";
version = "1.402.0";
};
aws-sdk-ec2instanceconnect = {
groups = ["default"];
@ -164,10 +164,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0iciakii0vcm16x0fivs5hwwhy3n8j1f9d7pimxr05yplnxizh6a";
sha256 = "1fbz259as60xnf563z9byp8blq5fsc81h92h3wicai4bmz45w4r5";
type = "gem";
};
version = "1.132.1";
version = "1.134.0";
};
aws-sdk-ssm = {
groups = ["default"];
@ -299,6 +299,16 @@
};
version = "1.4.1";
};
date = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "03skfikihpx37rc27vr3hwrb057gxnmdzxhmzd4bf4jpkl0r55w1";
type = "gem";
};
version = "3.3.3";
};
dnsruby = {
groups = ["default"];
platforms = [];
@ -644,12 +654,12 @@
platforms = [];
source = {
fetchSubmodules = false;
rev = "e15c05b0bd8774e33c33c100965ec7e301e4f295";
sha256 = "15q85scigigiy498awcqa9cynmv977ay1904g8bgwg7rg42n0swg";
rev = "a97e8a0e2a3b15f3b3710f04def1178139ae0fa2";
sha256 = "13xbfww7kccr044wlw94s32krsca3nbrl8d0srsbia3kwzhhji2z";
type = "git";
url = "https://github.com/rapid7/metasploit-framework";
};
version = "6.3.30";
version = "6.3.31";
};
metasploit-model = {
groups = ["default"];
@ -771,6 +781,16 @@
};
version = "0.1.6";
};
net-imap = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lf7wqg7czhaj51qsnmn28j7jmcxhkh3m28rl1cjrqsgjxhwj7r3";
type = "gem";
};
version = "0.3.7";
};
net-ldap = {
groups = ["default"];
platforms = [];
@ -1037,10 +1057,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0in2b84qqmfnigx0li9bgi6l4knmgbj3a29fzm1zzb5jnv4r1gbr";
sha256 = "01pdn9sn7kawwrvrbr3vz44j287xbka8mm7nrv9cl510y8gzxi2x";
type = "gem";
};
version = "7.0.7";
version = "7.0.7.2";
};
rake = {
groups = ["default"];
@ -1097,10 +1117,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1n6b6a1b18fscw9ff0fw5jk1l7kzw542r8444mm7d27zyx5v18sj";
sha256 = "0lv1nv7z63n4qmsm3h5h273m7daxngkcq8ynkk9j8lmn7jji98lb";
type = "gem";
};
version = "0.3.7";
version = "0.3.8";
};
rex-arch = {
groups = ["default"];
@ -1418,10 +1438,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "03bkn55qsng484iqwz2lmm6rkimj01vsvhwk661s3lnmpkl65lbp";
sha256 = "1k8i5pzjhcnyf0bhcyn5iixpfp4pz0556rcxwpglh6p0sr8s6nv5";
type = "gem";
};
version = "2.0.0";
version = "3.0.0";
};
strptime = {
groups = ["default"];

View file

@ -11,14 +11,15 @@
, udev
, addOpenGLRunpath
, amd ? true
, intel ? true
, msm ? true
, nvidia ? true
}:
let
pname-suffix = if amd && nvidia then "" else if amd then "-amd" else "-nvidia";
nvidia-postFixup = "addOpenGLRunpath $out/bin/nvtop";
libPath = lib.makeLibraryPath [ libdrm ncurses udev ];
amd-postFixup = ''
drm-postFixup = ''
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${libPath}" \
@ -26,14 +27,14 @@ let
'';
in
stdenv.mkDerivation rec {
pname = "nvtop" + pname-suffix;
version = "3.0.1";
pname = "nvtop";
version = "3.0.2";
src = fetchFromGitHub {
owner = "Syllo";
repo = "nvtop";
rev = version;
hash = "sha256-vLvt2sankpQWAVZBPo3OePs4LDy7YfVnMkZLfN6ERAc=";
hash = "sha256-SHKdjzbc3ZZfOW2p8RLFRKKBfLnO+Z8/bKVxcdLLqxw=";
};
cmakeFlags = with lib; [
@ -43,17 +44,19 @@ stdenv.mkDerivation rec {
] ++ optional nvidia "-DNVML_INCLUDE_DIRS=${cudatoolkit}/include"
++ optional nvidia "-DNVML_LIBRARIES=${cudatoolkit}/targets/x86_64-linux/lib/stubs/libnvidia-ml.so"
++ optional (!amd) "-DAMDGPU_SUPPORT=OFF"
++ optional (!intel) "-DINTEL_SUPPORT=OFF"
++ optional (!msm) "-DMSM_SUPPORT=OFF"
++ optional (!nvidia) "-DNVIDIA_SUPPORT=OFF"
++ optional amd "-DLibdrm_INCLUDE_DIRS=${libdrm}/lib/stubs/libdrm.so.2"
++ optional (amd || msm) "-DLibdrm_INCLUDE_DIRS=${libdrm}/lib/stubs/libdrm.so.2"
;
nativeBuildInputs = [ cmake gtest ] ++ lib.optional nvidia addOpenGLRunpath;
buildInputs = with lib; [ ncurses udev ]
++ optional nvidia cudatoolkit
++ optional amd libdrm
++ optional (amd || msm) libdrm
;
# ordering of fixups is important
postFixup = (lib.optionalString amd amd-postFixup) + (lib.optionalString nvidia nvidia-postFixup);
postFixup = (lib.optionalString (amd || msm) drm-postFixup) + (lib.optionalString nvidia nvidia-postFixup);
doCheck = true;
@ -66,9 +69,10 @@ stdenv.mkDerivation rec {
};
meta = with lib; {
description = "A (h)top like task monitor for AMD, Intel and NVIDIA GPUs";
description = "A (h)top like task monitor for AMD, Adreno, Intel and NVIDIA GPUs";
longDescription = ''
Nvtop stands for Neat Videocard TOP, a (h)top like task monitor for AMD, Intel and NVIDIA GPUs. It can handle multiple GPUs and print information about them in a htop familiar way.
Nvtop stands for Neat Videocard TOP, a (h)top like task monitor for AMD, Adreno, Intel and NVIDIA GPUs.
It can handle multiple GPUs and print information about them in a htop familiar way.
'';
homepage = "https://github.com/Syllo/nvtop";
changelog = "https://github.com/Syllo/nvtop/releases/tag/${version}";

View file

@ -24276,8 +24276,30 @@ with pkgs;
nvitop = callPackage ../tools/system/nvitop { };
nvtop = callPackage ../tools/system/nvtop { };
nvtop-nvidia = callPackage ../tools/system/nvtop { amd = false; };
nvtop-amd = callPackage ../tools/system/nvtop { nvidia = false; };
nvtop-amd = (callPackage ../tools/system/nvtop {
amd = true;
intel = false;
msm = false;
nvidia = false;
}).overrideAttrs { pname = "nvtop-amd"; };
nvtop-intel = (callPackage ../tools/system/nvtop {
amd = false;
intel = true;
msm = false;
nvidia = false;
}).overrideAttrs { pname = "nvtop-intel"; };
nvtop-msm = (callPackage ../tools/system/nvtop {
amd = false;
intel = false;
msm = true;
nvidia = false;
}).overrideAttrs { pname = "nvtop-msm"; };
nvtop-nvidia = (callPackage ../tools/system/nvtop {
amd = false;
intel = false;
msm = false;
nvidia = true;
}).overrideAttrs { pname = "nvtop-nvidia"; };
ocl-icd = callPackage ../development/libraries/ocl-icd { };

View file

@ -4273,19 +4273,23 @@ with self; {
};
};
Connector = buildPerlPackage {
Connector = buildPerlModule {
pname = "Connector";
version = "1.35";
version = "1.47";
src = fetchurl {
url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Connector-1.35.tar.gz";
hash = "sha256-Qdl2bubNdaGcFsdeuQ3GT9/dXbp22NIJdo37FeVm3Eo=";
url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Connector-1.47.tar.gz";
hash = "sha256-I2R4pAq53cIVgu4na6krnjgbP8XtljkKLe2o4nSGeoM=";
};
buildInputs = [ ConfigMerge ConfigStd ConfigVersioned DBDSQLite DBI IOSocketSSL JSON LWP LWPProtocolHttps ProcSafeExec TemplateToolkit YAML ];
buildInputs = [ ModuleBuildTiny ConfigMerge ConfigStd ConfigVersioned DBDSQLite DBI IOSocketSSL JSON LWP LWPProtocolHttps ProcSafeExec TemplateToolkit YAML ];
propagatedBuildInputs = [ LogLog4perl Moose ];
prePatch = ''
# Attempts to use network.
rm t/01-proxy-http.t
rm t/01-proxy-proc-safeexec.t
# crypt() tests that use DES
rm t/01-builtin-password.t
rm t/01-builtin-password-scheme.t
'';
meta = {
description = "A generic connection to a hierarchical-structured data set";