Merge master into staging-next
This commit is contained in:
@@ -992,6 +992,7 @@
|
||||
./services/monitoring/gitwatch.nix
|
||||
./services/monitoring/glances.nix
|
||||
./services/monitoring/glpi-agent.nix
|
||||
./services/monitoring/go-csp-collector.nix
|
||||
./services/monitoring/goss.nix
|
||||
./services/monitoring/grafana-image-renderer.nix
|
||||
./services/monitoring/grafana-reporter.nix
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.services.go-csp-collector;
|
||||
|
||||
inherit (lib)
|
||||
boolToString
|
||||
concatStringsSep
|
||||
getExe
|
||||
isBool
|
||||
literalExpression
|
||||
maintainers
|
||||
mapAttrsToList
|
||||
mkEnableOption
|
||||
mkIf
|
||||
mkOption
|
||||
mkPackageOption
|
||||
types
|
||||
;
|
||||
|
||||
settingsToArgs =
|
||||
settings:
|
||||
concatStringsSep " " (
|
||||
mapAttrsToList (
|
||||
name: value:
|
||||
let
|
||||
flag = "-${name}";
|
||||
in
|
||||
if isBool value then "${flag}=${boolToString value}" else "${flag} ${toString value}"
|
||||
) settings
|
||||
);
|
||||
in
|
||||
{
|
||||
meta.maintainers = with maintainers; [ stepbrobd ];
|
||||
|
||||
options.services.go-csp-collector = {
|
||||
enable = mkEnableOption "go-csp-collector, a content security policy violation collector";
|
||||
|
||||
package = mkPackageOption pkgs "go-csp-collector" { };
|
||||
|
||||
settings = mkOption {
|
||||
type = types.submodule {
|
||||
freeformType =
|
||||
with types;
|
||||
attrsOf (oneOf [
|
||||
bool
|
||||
path
|
||||
str
|
||||
]);
|
||||
|
||||
options = {
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
description = "The port to listen on.";
|
||||
default = 8080;
|
||||
example = 8080;
|
||||
};
|
||||
|
||||
output-format = mkOption {
|
||||
type = types.enum [
|
||||
"text"
|
||||
"json"
|
||||
];
|
||||
description = "Define how the violation reports are formatted for output.";
|
||||
default = "text";
|
||||
example = "text";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
description = ''
|
||||
Settings for go-csp-collector. See
|
||||
<https://github.com/jacobbednarz/go-csp-collector> for supported options.
|
||||
'';
|
||||
|
||||
default = { };
|
||||
|
||||
example = literalExpression ''
|
||||
{
|
||||
debug = true;
|
||||
health-check-path = "/health";
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.packages = [ cfg.package ];
|
||||
systemd.services.go-csp-collector = {
|
||||
description = "CSP violation collector";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
serviceConfig = {
|
||||
ReadOnlyPaths = cfg.settings.filter-file or "";
|
||||
ExecStart = [
|
||||
""
|
||||
"${getExe cfg.package} ${settingsToArgs cfg.settings}"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -646,6 +646,7 @@ in
|
||||
gns3-server = runTest ./gns3-server.nix;
|
||||
gnupg = runTest ./gnupg.nix;
|
||||
go-camo = runTest ./go-camo.nix;
|
||||
go-csp-collector = runTest ./go-csp-collector.nix;
|
||||
go-httpbin = runTest ./go-httpbin.nix;
|
||||
go-neb = runTest ./go-neb.nix;
|
||||
goatcounter = runTest ./goatcounter.nix;
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
{ lib, ... }:
|
||||
|
||||
{
|
||||
name = "go-csp-collector";
|
||||
meta.maintainers = with lib.maintainers; [ stepbrobd ];
|
||||
|
||||
nodes.machine =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.go-csp-collector = {
|
||||
enable = true;
|
||||
settings = {
|
||||
debug = true;
|
||||
port = 9999;
|
||||
health-check-path = "/health";
|
||||
filter-file = pkgs.writeText "filter" "chrome-extension://";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
import json
|
||||
|
||||
# health check
|
||||
machine.wait_for_unit("go-csp-collector.service")
|
||||
machine.wait_for_open_port(9999)
|
||||
machine.succeed("curl -f http://localhost:9999/health")
|
||||
|
||||
# send valid csp report
|
||||
machine.succeed(
|
||||
"curl -f -X POST http://127.0.0.1:9999/ "
|
||||
"-H 'Content-Type: application/csp-report' "
|
||||
"-d '" + json.dumps({
|
||||
"csp-report": {
|
||||
"document-uri": "https://example.com/",
|
||||
"referrer": "https://example.com/",
|
||||
"violated-directive": "script-src",
|
||||
"effective-directive": "script-src",
|
||||
"original-policy": "script-src 'self'",
|
||||
"blocked-uri": "https://example.org/malicious.js",
|
||||
"status-code": 200
|
||||
}
|
||||
}) + "'"
|
||||
)
|
||||
logs = machine.succeed("journalctl -u go-csp-collector.service")
|
||||
assert "level=debug" in logs, "debug mode not enabled"
|
||||
assert "blocked_uri" in logs, "csp report not logged"
|
||||
assert "https://example.org/malicious.js" in logs, "blocked uri not in logs"
|
||||
|
||||
# check rejection
|
||||
machine.fail(
|
||||
"curl -f -X POST http://[::1]:9999/ "
|
||||
"-H 'Content-Type: application/csp-report' "
|
||||
"-d '" + json.dumps({
|
||||
"csp-report": {
|
||||
"document-uri": "https://example.com/",
|
||||
"blocked-uri": "chrome-extension://something",
|
||||
"violated-directive": "script-src"
|
||||
}
|
||||
}) + "'"
|
||||
)
|
||||
logs = machine.succeed("journalctl -u go-csp-collector.service")
|
||||
assert "invalid resource" in logs, "filter rejection not logged"
|
||||
assert "chrome-extension://" in logs, "filtered uri pattern not in logs"
|
||||
'';
|
||||
}
|
||||
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "claude-code";
|
||||
publisher = "anthropic";
|
||||
version = "2.0.30";
|
||||
hash = "sha256-KQ+3yk5WmHIiu6evpPSWfzEbqVKFj2XY8wwGxcqGOJc=";
|
||||
version = "2.0.31";
|
||||
hash = "sha256-ylcb5Ty9x9uj38OY0RXsS+YNKVKUzc1c5x6RJsZ3E2g=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -741,11 +741,11 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"integrations_github": {
|
||||
"hash": "sha256-W7VO2HVP9XMEs0KBTBsyhkLfuTaqrxLSyR54SGTemG0=",
|
||||
"hash": "sha256-Xicv5L4DnSoIs4vCXDVawHzxKI7PzTfdBZ4+0jzg1uc=",
|
||||
"homepage": "https://registry.terraform.io/providers/integrations/github",
|
||||
"owner": "integrations",
|
||||
"repo": "terraform-provider-github",
|
||||
"rev": "v6.7.4",
|
||||
"rev": "v6.7.5",
|
||||
"spdx": "MIT",
|
||||
"vendorHash": null
|
||||
},
|
||||
@@ -1039,11 +1039,11 @@
|
||||
"vendorHash": "sha256-57F7YS7r+/O8qSWfNhrT/5XAaq7CfX7RchY/45WBauw="
|
||||
},
|
||||
"opsgenie_opsgenie": {
|
||||
"hash": "sha256-Mhpqi/9qgkRXZ/b2u2VFsJQBYwVgrJ5boqszvUKFu7A=",
|
||||
"hash": "sha256-Y67kcg/ovvZc22l1CBz0Mqu7DAIit5F0jQNfQrl2EGI=",
|
||||
"homepage": "https://registry.terraform.io/providers/opsgenie/opsgenie",
|
||||
"owner": "opsgenie",
|
||||
"repo": "terraform-provider-opsgenie",
|
||||
"rev": "v0.6.38",
|
||||
"rev": "v0.6.40",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
|
||||
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
|
||||
owner = "magicmonty";
|
||||
repo = "bash-git-prompt";
|
||||
rev = "e733ada3e93fd9fdb6e9d1890e38e6e523522da7";
|
||||
hash = "sha256-FWeYzISY4+cS2xg6skfcpTXgbkBs41E/EzEb3JNdFoQ=";
|
||||
hash = "sha256-6uUoYSjpGJGOgnLiIR0SdmLZKPG4GNB+e2Y9HpJUODQ=";
|
||||
};
|
||||
|
||||
buildInputs = [ python3 ];
|
||||
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@anthropic-ai/claude-code",
|
||||
"version": "2.0.30",
|
||||
"version": "2.0.31",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@anthropic-ai/claude-code",
|
||||
"version": "2.0.30",
|
||||
"version": "2.0.31",
|
||||
"license": "SEE LICENSE IN README.md",
|
||||
"bin": {
|
||||
"claude": "cli.js"
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
}:
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "claude-code";
|
||||
version = "2.0.30";
|
||||
version = "2.0.31";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz";
|
||||
hash = "sha256-8XpxFnS+d8xYvK21bsVyCz879Gl39i/wDWr6RtEGE3Q=";
|
||||
hash = "sha256-KQRc9h2DG1bwWvMR1EnMWi9qygPF0Fsr97+TyKef3NI=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-ZDRgLH3AhkcLBrzUys/ON2OBvBV7trPmlOJ2l6gQpV4=";
|
||||
npmDepsHash = "sha256-lv596UikbuAuiJ1Wl5xMJvSNITfGOnDvI1dLtaJagCY=";
|
||||
|
||||
postPatch = ''
|
||||
cp ${./package-lock.json} package-lock.json
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
minizip-ng,
|
||||
openal,
|
||||
pugixml,
|
||||
SDL2,
|
||||
sdl3,
|
||||
sfml,
|
||||
xxHash,
|
||||
xz,
|
||||
@@ -113,7 +113,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pugixml
|
||||
qt6.qtbase
|
||||
qt6.qtsvg
|
||||
SDL2
|
||||
sdl3
|
||||
sfml
|
||||
xxHash
|
||||
xz
|
||||
@@ -161,16 +161,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
qtWrapperArgs = lib.optionals stdenv.hostPlatform.isLinux [
|
||||
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}"
|
||||
# https://bugs.dolphin-emu.org/issues/11807
|
||||
# The .desktop file should already set this, but Dolphin may be launched in other ways
|
||||
"--set QT_QPA_PLATFORM xcb"
|
||||
];
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
postInstall =
|
||||
lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
install -D $src/Data/51-usb-device.rules $out/etc/udev/rules.d/51-usb-device.rules
|
||||
install -Dm644 $src/Data/51-usb-device.rules $out/etc/udev/rules.d/51-usb-device.rules
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
# Only gets installed automatically if the standalone executable is used
|
||||
|
||||
@@ -18,13 +18,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# the Equicord repository. Dates as tags (and automatic releases) were the compromise
|
||||
# we came to with upstream. Please do not change the version schema (e.g., to semver)
|
||||
# unless upstream changes the tag schema from dates.
|
||||
version = "2025-10-18";
|
||||
version = "2025-11-02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Equicord";
|
||||
repo = "Equicord";
|
||||
tag = "${finalAttrs.version}";
|
||||
hash = "sha256-OTndJGxnr7Laf7So0vmSP+8OuyFDVV4xXi8tkuSR3U0=";
|
||||
hash = "sha256-SThWYUi4h3OpsP28ouHW1f8+m1dr+wMAYhA/90LBYPg=";
|
||||
};
|
||||
|
||||
pnpmDeps = pnpm_10.fetchDeps {
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "go-csp-collector";
|
||||
version = "0.0.16-unstable-2025-10-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jacobbednarz";
|
||||
repo = "go-csp-collector";
|
||||
rev = "a0cf22ac6d1f5c8972bf53671ba174767d2adcd5";
|
||||
hash = "sha256-xFvO8ZuJQ5luCDOTPHtVeb1+3VvIKSwjt2TqkxBIY58=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-SrQahSHO5ZIkcLR3BR5CR5BTStW1pH1Ij1Eql0b3tuU=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X main.Rev=${finalAttrs.version}"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install -Dm644 init/go-csp-collector.service $out/lib/systemd/system/go-csp-collector.service
|
||||
|
||||
substituteInPlace $out/lib/systemd/system/go-csp-collector.service \
|
||||
--replace-fail "/usr/local/bin/go-csp-collector" "$out/bin/go-csp-collector"
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
versionCheckProgramArg = "-version";
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
tests.service = nixosTests.go-csp-collector;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "A content security policy violation collector written in Golang";
|
||||
homepage = "https://github.com/jacobbednarz/go-csp-collector";
|
||||
changelog = "https://github.com/jacobbednarz/go-csp-collector/blob/${finalAttrs.src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "go-csp-collector";
|
||||
maintainers = with lib.maintainers; [ stepbrobd ];
|
||||
};
|
||||
})
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "qovery-cli";
|
||||
version = "1.52.0";
|
||||
version = "1.53.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Qovery";
|
||||
repo = "qovery-cli";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-m6NdZ4K0FAZvTloworoK3Lluu9ySCGfS4L216ImByb8=";
|
||||
hash = "sha256-kE45z/uObUcmjiYm7zO14Lhroe7PkD0pSYnRw4HbHcc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-9rAAeJVKBndb4w3LNJLLBvkX5me/Y3GnA55SYGOxqi4=";
|
||||
vendorHash = "sha256-TDvlICfKLtrG/0KPpfrN61wpUZejaJGiRR4DUBNEllY=";
|
||||
|
||||
env.CGO_ENABLED = 0;
|
||||
|
||||
|
||||
@@ -4,11 +4,12 @@
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
boost,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "quantlib";
|
||||
version = "1.39";
|
||||
version = "1.40";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -19,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "lballabio";
|
||||
repo = "QuantLib";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-UrFamEIeFTR0finNGESlDYbvrmD8jtv73tDUJ17P7WA=";
|
||||
hash = "sha256-cyri+kCwIFO/ccnqWhO8qOXNPIV0g6iiNvBYtN667pA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
@@ -33,6 +34,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
cp ./quantlib-config $out/bin/
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = with lib; {
|
||||
description = "Free/open-source library for quantitative finance";
|
||||
homepage = "https://quantlib.org";
|
||||
|
||||
@@ -15,24 +15,18 @@
|
||||
wayland,
|
||||
}:
|
||||
|
||||
let
|
||||
icon = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/PathOfBuildingCommunity/PathOfBuilding-Launcher/9ee18657fa6597c42811152604da4e6b73fac342/PathOfBuilding.ico";
|
||||
hash = "sha256-9EW4ld+xg7GLfd4dEY/xUCBMnKb3uu7LBq2Of3Gq1Y8=";
|
||||
};
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "rusty-path-of-building";
|
||||
version = "0.2.6";
|
||||
version = "0.2.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "meehl";
|
||||
repo = "rusty-path-of-building";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-U2OWNV8bUNXo8/Sro+gV/o3O/D1lMWVlbX3tCONmGOk=";
|
||||
hash = "sha256-J/tTifOcbY1mfcNbQFN4Vdyl78O7vTVbfew3fcnVyTA=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-xB7nhCqUalGE0M762Zw7vVFKzz/TgnMU77xbEHorJ2U=";
|
||||
cargoHash = "sha256-Oekl6SDIvgFIzPnve7nuib3fEjPGC46F/TNULmgOpew=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
@@ -62,13 +56,7 @@ rustPlatform.buildRustPackage rec {
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
icotool -x ${icon}
|
||||
|
||||
for size in 16 32 48 256; do
|
||||
mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
|
||||
install -Dm 644 *PathOfBuilding*"$size"x"$size"*.png \
|
||||
$out/share/icons/hicolor/"$size"x"$size"/apps/pathofbuilding.png
|
||||
done
|
||||
install -Dm444 assets/icon.png $out/share/icons/hicolor/256x256/apps/path-of-building.png
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
@@ -88,13 +76,13 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "rusty-path-of-building";
|
||||
name = "rusty-path-of-building-1";
|
||||
desktopName = "Path of Building";
|
||||
comment = "Offline build planner for Path of Exile";
|
||||
exec = "rusty-path-of-building poe1";
|
||||
terminal = false;
|
||||
type = "Application";
|
||||
icon = "pathofbuilding";
|
||||
icon = "path-of-building";
|
||||
categories = [ "Game" ];
|
||||
keywords = [
|
||||
"poe"
|
||||
@@ -111,7 +99,7 @@ rustPlatform.buildRustPackage rec {
|
||||
exec = "rusty-path-of-building poe2";
|
||||
terminal = false;
|
||||
type = "Application";
|
||||
icon = "pathofbuilding";
|
||||
icon = "path-of-building";
|
||||
categories = [ "Game" ];
|
||||
keywords = [
|
||||
"poe"
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "vunnel";
|
||||
version = "0.41.0";
|
||||
version = "0.43.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "anchore";
|
||||
repo = "vunnel";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-YlyhIT8hlkFGo7xBjxa/5feiqv7H2HfA/E4+gz9cCkw=";
|
||||
hash = "sha256-DHuNhizYDY/z3DPAPPOgGWn1m86yGHamiVCHGxlaC1w=";
|
||||
leaveDotGit = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -19,14 +19,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "avwx-engine";
|
||||
version = "1.9.6";
|
||||
version = "1.9.7";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "avwx-rest";
|
||||
repo = "avwx-engine";
|
||||
tag = version;
|
||||
hash = "sha256-RxQm1n+U2UTzg1QlPwmOaPUWUptAj30URHfs9Degf/c=";
|
||||
hash = "sha256-j+WT0v1h+dOGW90u+LIVQ0xIE4YzsWRo2E0mGOZUU1A=";
|
||||
};
|
||||
|
||||
build-system = [ hatchling ];
|
||||
|
||||
@@ -86,6 +86,9 @@ buildPythonPackage rec {
|
||||
"SQAStoreUtilsTest"
|
||||
"SQAStoreTest"
|
||||
|
||||
# ValueError: Expected dim to be an integer greater than or equal to 2. Found dim=1.
|
||||
"test_get_model"
|
||||
|
||||
# ValueError: `db_settings` argument should be of type ax.storage.sqa_store
|
||||
"test_get_next_trials_with_db"
|
||||
|
||||
|
||||
@@ -15,7 +15,9 @@
|
||||
pyre-extensions,
|
||||
pyro-ppl,
|
||||
scipy,
|
||||
threadpoolctl,
|
||||
torch,
|
||||
typing-extensions,
|
||||
|
||||
# optional-dependencies
|
||||
pymoo,
|
||||
@@ -27,14 +29,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "botorch";
|
||||
version = "0.15.1";
|
||||
version = "0.16.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pytorch";
|
||||
owner = "meta-pytorch";
|
||||
repo = "botorch";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-6hAsKIlwycZtLZn1vkcu4fR85uACA4FSkT5e/wos17A=";
|
||||
hash = "sha256-XpcmWJcKaIxrM79MgjG7IF/DphTH402iltlh8ISeZ64=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
@@ -49,7 +51,9 @@ buildPythonPackage rec {
|
||||
pyre-extensions
|
||||
pyro-ppl
|
||||
scipy
|
||||
threadpoolctl
|
||||
torch
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
optional-dependencies = {
|
||||
@@ -62,6 +66,11 @@ buildPythonPackage rec {
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# Requires unpackaged pfns
|
||||
"test_community/models/test_prior_fitted_network.py"
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
"test_all_cases_covered"
|
||||
|
||||
@@ -93,7 +102,7 @@ buildPythonPackage rec {
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/pytorch/botorch/blob/${src.tag}/CHANGELOG.md";
|
||||
changelog = "https://github.com/meta-pytorch/botorch/blob/${src.tag}/CHANGELOG.md";
|
||||
description = "Bayesian Optimization in PyTorch";
|
||||
homepage = "https://botorch.org";
|
||||
license = lib.licenses.mit;
|
||||
|
||||
@@ -1,15 +1,23 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
pythonOlder,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
flit-core,
|
||||
|
||||
# dependencies
|
||||
pythonOlder,
|
||||
typing-extensions,
|
||||
azure-identity,
|
||||
|
||||
# optional-dependencies
|
||||
azure-storage-blob,
|
||||
azure-storage-file-datalake,
|
||||
google-cloud-storage,
|
||||
boto3,
|
||||
|
||||
# tests
|
||||
azure-identity,
|
||||
psutil,
|
||||
pydantic,
|
||||
pytestCheckHook,
|
||||
@@ -23,27 +31,28 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "cloudpathlib";
|
||||
version = "0.22.0";
|
||||
version = "0.23.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "drivendataorg";
|
||||
repo = "cloudpathlib";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-IeNYfYDvCALvK0CV4J6434E3lSz+/JvolQzQXZ8NizQ=";
|
||||
hash = "sha256-lRZYWGX3Yqs1GTIL3ugOiu+K9RF6vJdbKP/SZAStHLc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
postPatch =
|
||||
# missing pytest-reportlog test dependency
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail "--report-log reportlog.jsonl" ""
|
||||
'';
|
||||
''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail "--report-log reportlog.jsonl" ""
|
||||
'';
|
||||
|
||||
build-system = [ flit-core ];
|
||||
|
||||
dependencies = lib.optional (pythonOlder "3.11") typing-extensions;
|
||||
dependencies = lib.optionals (pythonOlder "3.11") [
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
optional-dependencies = {
|
||||
all = optional-dependencies.azure ++ optional-dependencies.gs ++ optional-dependencies.s3;
|
||||
@@ -71,10 +80,13 @@ buildPythonPackage rec {
|
||||
]
|
||||
++ optional-dependencies.all;
|
||||
|
||||
meta = with lib; {
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
meta = {
|
||||
description = "Python pathlib-style classes for cloud storage services such as Amazon S3, Azure Blob Storage, and Google Cloud Storage";
|
||||
homepage = "https://github.com/drivendataorg/cloudpathlib";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ GaetanLepage ];
|
||||
changelog = "https://github.com/drivendataorg/cloudpathlib/blob/${src.tag}/HISTORY.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ GaetanLepage ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,27 +2,33 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
setuptools,
|
||||
setuptools-scm,
|
||||
|
||||
# dependencies
|
||||
jaxtyping,
|
||||
linear-operator,
|
||||
mpmath,
|
||||
scikit-learn,
|
||||
scipy,
|
||||
setuptools,
|
||||
setuptools-scm,
|
||||
torch,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "gpytorch";
|
||||
version = "1.14";
|
||||
version = "1.14.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cornellius-gp";
|
||||
repo = "gpytorch";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-whZjqAs3nyjKMzAGi+OnyBtboq0UuV8m11A4IzkWtec=";
|
||||
hash = "sha256-yDIGiA7q4e6T7SdnO+ALcc3ezmJK964T5Nn48+NGJV8=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
@@ -30,8 +36,6 @@ buildPythonPackage rec {
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [ "jaxtyping" ];
|
||||
|
||||
dependencies = [
|
||||
jaxtyping
|
||||
linear-operator
|
||||
@@ -56,10 +60,12 @@ buildPythonPackage rec {
|
||||
"test_t_matmul_matrix"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Highly efficient and modular implementation of Gaussian Processes, with GPU acceleration";
|
||||
homepage = "https://gpytorch.ai";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ veprbl ];
|
||||
downloadPage = "https://github.com/cornellius-gp/gpytorch";
|
||||
changelog = "https://github.com/cornellius-gp/gpytorch/releases/tag/${src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ veprbl ];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user