0
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-07-13 21:50:33 +03:00

Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot] 2025-05-22 00:16:45 +00:00 committed by GitHub
commit 0870c6fca2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
48 changed files with 1133 additions and 172 deletions

View file

@ -232,6 +232,8 @@
- `dwarf-fortress-packages` now only contains one minor version for each major version since version 0.44. Saves should still be compatible, but you may have to change which minor version you were using if it was one other than the newest.
- `tpm2-pkcs11` now is compiled without abrmd (Access Broker and Resource Manager Daemon) support by default, preferring the kernel resource manager. Use `tpm2-pkcs11.abrmd` if you would like a version with abrmd support. Note that the NixOS module picks the correct one automatically based on `security.tpm2.abrmd`.
- `zig_0_9` and `zig_0_10` have been removed, you should upgrade to `zig_0_13` (also available as just `zig`), `zig_0_12` or `zig_0_11` instead.
- `webpack-cli` was updated to major version 6, which has breaking changes from the previous version 5.1.4. See the [upstream release notes](https://github.com/webpack/webpack-cli/releases/tag/webpack-cli%406.0.0) for details on these changes.

View file

@ -26,6 +26,12 @@ in
package = lib.mkPackageOption pkgs "direnv" { };
finalPackage = lib.mkOption {
type = lib.types.package;
readOnly = true;
description = "The wrapped direnv package.";
};
enableBashIntegration = enabledOption ''
Bash integration
'';
@ -92,18 +98,28 @@ in
};
config = lib.mkIf cfg.enable {
programs = {
direnv.settings = lib.mkIf cfg.silent {
direnv = {
finalPackage = pkgs.symlinkJoin {
inherit (cfg.package) name;
paths = [ cfg.package ];
# direnv has a fish library which automatically sources direnv for some reason
postBuild = ''
rm -rf "$out/share/fish"
'';
meta.mainProgram = "direnv";
};
settings = lib.mkIf cfg.silent {
global = {
log_format = lib.mkDefault "-";
log_filter = lib.mkDefault "^$";
};
};
};
zsh.interactiveShellInit = lib.mkIf cfg.enableZshIntegration ''
if ${lib.boolToString cfg.loadInNixShell} || printenv PATH | grep -vqc '/nix/store'; then
eval "$(${lib.getExe cfg.package} hook zsh)"
eval "$(${lib.getExe cfg.finalPackage} hook zsh)"
fi
'';
@ -111,14 +127,14 @@ in
#$IN_NIX_SHELL for "nix-shell"
bash.interactiveShellInit = lib.mkIf cfg.enableBashIntegration ''
if ${lib.boolToString cfg.loadInNixShell} || [ -z "$IN_NIX_SHELL$NIX_GCROOT$(printenv PATH | grep '/nix/store')" ] ; then
eval "$(${lib.getExe cfg.package} hook bash)"
eval "$(${lib.getExe cfg.finalPackage} hook bash)"
fi
'';
fish.interactiveShellInit = lib.mkIf cfg.enableFishIntegration ''
if ${lib.boolToString cfg.loadInNixShell};
or printenv PATH | grep -vqc '/nix/store';
${lib.getExe cfg.package} hook fish | source
${lib.getExe cfg.finalPackage} hook fish | source
end
'';
@ -138,20 +154,11 @@ in
environment = {
systemPackages = [
# direnv has a fish library which automatically sources direnv for some reason
# I don't see any harm in doing this if we're sourcing it with fish.interactiveShellInit
(pkgs.symlinkJoin {
inherit (cfg.package) name;
paths = [ cfg.package ];
nativeBuildInputs = [ pkgs.makeBinaryWrapper ];
postBuild = ''
wrapProgram "$out/bin/direnv" \
--set-default 'DIRENV_CONFIG' '/etc/direnv'
rm -rf "$out/share/fish"
'';
})
cfg.finalPackage
];
variables.DIRENV_CONFIG = "/etc/direnv";
etc = {
"direnv/direnv.toml" = lib.mkIf (cfg.settings != { }) {
source = format.generate "direnv.toml" cfg.settings;

View file

@ -75,8 +75,8 @@ in
package = lib.mkOption {
description = "tpm2-pkcs11 package to use";
type = lib.types.package;
default = pkgs.tpm2-pkcs11;
defaultText = lib.literalExpression "pkgs.tpm2-pkcs11";
default = if cfg.abrmd.enable then pkgs.tpm2-pkcs11.abrmd else pkgs.tpm2-pkcs11;
defaultText = lib.literalExpression "if config.security.tpm2.abrmd.enable then pkgs.tpm2-pkcs11.abrmd else pkgs.tpm2-pkcs11";
};
};

View file

@ -335,7 +335,7 @@ def install_bootloader(args: argparse.Namespace) -> None:
available_match = re.search(r"^\((.*)\)$", available_out)
if installed_match is None:
raise Exception("could not find any previously installed systemd-boot")
raise Exception("Could not find any previously installed systemd-boot. If you are switching to systemd-boot from a different bootloader, you need to run `nixos-rebuild switch --install-bootloader`")
if available_match is None:
raise Exception("could not determine systemd-boot version")

View file

@ -14,14 +14,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "qpwgraph";
version = "0.9.0";
version = "0.9.2";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "rncbc";
repo = "qpwgraph";
rev = "v${finalAttrs.version}";
sha256 = "sha256-KNYP/290UdgjuduOnRfI71VSHIuO+7kTeCJo+Qs8Nks=";
sha256 = "sha256-SCco66Czu8dW7iSSX/exhIlOXS+ayCwGUuCfJuUCRjM=";
};
nativeBuildInputs = [

View file

@ -5322,8 +5322,8 @@ let
mktplcRef = {
name = "vim";
publisher = "vscodevim";
version = "1.29.0";
hash = "sha256-J3V8SZJZ2LSL8QfdoOtHI1ZDmGDVerTRYP4NZU17SeQ=";
version = "1.29.2";
hash = "sha256-RBh4yQxOoUpwNKedFjEeu6hO0tU9AAPlDrt2LhgZT50=";
};
meta = {
license = lib.licenses.mit;

View file

@ -5,7 +5,7 @@
"packages": {
"": {
"dependencies": {
"@sourcegraph/amp": "^0.0.1747195318-g6d7769"
"@sourcegraph/amp": "^0.0.1747483284-g8cf01d"
}
},
"node_modules/@colors/colors": {
@ -29,12 +29,14 @@
}
},
"node_modules/@sourcegraph/amp": {
"version": "0.0.1747195318-g6d7769",
"resolved": "https://registry.npmjs.org/@sourcegraph/amp/-/amp-0.0.1747195318-g6d7769.tgz",
"integrity": "sha512-L1GqHpgYhagR9WG5XOwWcUCJJV41n1DIwuz0hCUNrl+UJMhcvjLL5PG8fnA4TiFZiNEOTR8yWztfYKYeE7+U3g==",
"version": "0.0.1747483284-g8cf01d",
"resolved": "https://registry.npmjs.org/@sourcegraph/amp/-/amp-0.0.1747483284-g8cf01d.tgz",
"integrity": "sha512-LTlMR3cs5ax9EGIuyu92g85SJdsXV7fvADsEnYmBOd/no7r1CIxeEtOzLFY1FPDCxLHjN74BivwHs0piMiLktg==",
"dependencies": {
"@types/runes": "^0.4.3",
"@vscode/ripgrep": "1.15.11",
"wcwidth": "^1.0.1",
"runes": "^0.4.3",
"string-width": "^6.1.0",
"winston": "^3.17.0",
"xdg-basedir": "^5.1.0"
},
@ -45,6 +47,12 @@
"node": ">=18"
}
},
"node_modules/@types/runes": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/@types/runes/-/runes-0.4.3.tgz",
"integrity": "sha512-kncnfKlRj4FM0+9IRBlZ/06b1BNVDya3d5hN5kFfuzCNAgZFZuApz/XBqe0+d6Y5cV/f86UD8q2ehnaSVdtBrw==",
"license": "MIT"
},
"node_modules/@types/triple-beam": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz",
@ -72,6 +80,18 @@
"node": ">= 14"
}
},
"node_modules/ansi-regex": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
"integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
"node_modules/async": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
@ -87,15 +107,6 @@
"node": "*"
}
},
"node_modules/clone": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
"integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
"license": "MIT",
"engines": {
"node": ">=0.8"
}
},
"node_modules/color": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz",
@ -158,17 +169,17 @@
}
}
},
"node_modules/defaults": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
"integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
"license": "MIT",
"dependencies": {
"clone": "^1.0.2"
"node_modules/eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
"license": "MIT"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
"node_modules/emoji-regex": {
"version": "10.4.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz",
"integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==",
"license": "MIT"
},
"node_modules/enabled": {
"version": "2.0.0",
@ -298,6 +309,15 @@
"node": ">= 6"
}
},
"node_modules/runes": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/runes/-/runes-0.4.3.tgz",
"integrity": "sha512-K6p9y4ZyL9wPzA+PMDloNQPfoDGTiFYDvdlXznyGKgD10BJpcAosvATKrExRKOrNLgD8E7Um7WGW0lxsnOuNLg==",
"license": "MIT",
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@ -354,6 +374,38 @@
"safe-buffer": "~5.2.0"
}
},
"node_modules/string-width": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-6.1.0.tgz",
"integrity": "sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==",
"license": "MIT",
"dependencies": {
"eastasianwidth": "^0.2.0",
"emoji-regex": "^10.2.1",
"strip-ansi": "^7.0.1"
},
"engines": {
"node": ">=16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/strip-ansi": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
"license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
"node_modules/text-hex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
@ -375,15 +427,6 @@
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
"license": "MIT"
},
"node_modules/wcwidth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
"integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
"license": "MIT",
"dependencies": {
"defaults": "^1.0.3"
}
},
"node_modules/winston": {
"version": "3.17.0",
"resolved": "https://registry.npmjs.org/winston/-/winston-3.17.0.tgz",

View file

@ -8,11 +8,11 @@
buildNpmPackage rec {
pname = "amp-cli";
version = "0.0.1747195318-g6d7769";
version = "0.0.1747483284-g8cf01d";
src = fetchzip {
url = "https://registry.npmjs.org/@sourcegraph/amp/-/amp-${version}.tgz";
hash = "sha256-YoyuZX41l21eTGi9t0rYb4vEE3rSqiue2kIf0PDbaKc=";
hash = "sha256-8mPYdr0t/5kEGK/0nG0GyxviAU9EhjA1bAQXggvuF6k=";
};
postPatch = ''
@ -44,7 +44,7 @@ buildNpmPackage rec {
chmod +x bin/amp-wrapper.js
'';
npmDepsHash = "sha256-NxccnQxATtDBipRKhQWJn0s3PPXPeldrz9DLVq/ftpM=";
npmDepsHash = "sha256-aFB9EuWp7skmY5uzNRBBs8/UcFgtrQpBqciO2UK1fwY=";
propagatedBuildInputs = [
ripgrep

View file

@ -4,14 +4,14 @@
fetchFromGitHub,
}:
buildGoModule rec {
buildGoModule (finalAttrs: {
pname = "bufisk";
version = "0.1.0";
src = fetchFromGitHub {
owner = "bufbuild";
repo = "bufisk";
rev = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-pVnqvQn7jwpx6T3sS4eA29JeJdh0GrPVm0J8n2UjJTw=";
};
@ -29,4 +29,4 @@ buildGoModule rec {
maintainers = with lib.maintainers; [ aaronjheng ];
mainProgram = "bufisk";
};
}
})

View file

@ -15,14 +15,14 @@ let
"cli"
"desktop"
];
version = "0.48.0";
version = "0.48.1";
cli = fetchurl {
url = "https://caido.download/releases/v${version}/caido-cli-v${version}-linux-x86_64.tar.gz";
hash = "sha256-9481W8AsgxCCvdTkCy2kXH6CG72xP5S3kejjxcXLVkg=";
hash = "sha256-UdeC3BZmQVUdWmwQTC27ptF0+lZgCXpF8yXaf8Bjpbo=";
};
desktop = fetchurl {
url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-linux-x86_64.AppImage";
hash = "sha256-XIRjuvBxmfdHnizbVOh7kWKHm4OkUDwuSSNYzjJW/dA=";
hash = "sha256-4KQpgO8Cb+TkKuDOK+bAE0nOhlwjkSUVXLHJmHaj6NQ=";
};
appimageContents = appimageTools.extractType2 {
inherit pname version;

View file

@ -15,13 +15,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dump1090";
version = "10.0.1";
version = "10.1";
src = fetchFromGitHub {
owner = "flightaware";
repo = "dump1090";
tag = "v${finalAttrs.version}";
hash = "sha256-un2AK5RNkdQSWNbgbrn5K4eZXQdDOgUEzkcoLUVZ+sY=";
hash = "sha256-8J17fqNrn5Mqqv4lFHEp4zjc/zeyMUb+fWdk+ssPBwU=";
};
nativeBuildInputs = [ pkg-config ];

View file

@ -11,11 +11,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hello";
version = "2.12.1";
version = "2.12.2";
src = fetchurl {
url = "mirror://gnu/hello/hello-${finalAttrs.version}.tar.gz";
hash = "sha256-jZkUKv2SV28wsM18tCqNxoCZmLxdYH2Idh9RLibH2yA=";
hash = "sha256-WpqZbcKSzCTc9BHO6H6S9qrluNE72caBm0x6nc4IGKs=";
};
# The GNU Hello `configure` script detects how to link libiconv but fails to actually make use of that.

View file

@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
NIX_LDFLAGS = optionalString stdenv.hostPlatform.isLinux "-lasound";
enableParallelBuilding = true;
postInstall = ''
moveToOutput bin/libmikmod-config "$dev"
'';

View file

@ -77,7 +77,7 @@ stdenv.mkDerivation (finalAttrs: {
description = "C++ library for building Wayland compositors";
homepage = "https://github.com/CuarzoSoftware/Louvre";
mainProgram = "louvre-views";
maintainers = [ lib.maintainers.dblsaiko ];
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View file

@ -10,11 +10,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "maestro";
version = "1.40.0";
version = "1.40.3";
src = fetchurl {
url = "https://github.com/mobile-dev-inc/maestro/releases/download/cli-${finalAttrs.version}/maestro.zip";
hash = "sha256-K0KSlSA2Jyeqck0CXZw3kh0qexIvL6vDn3EhAtIzCJc=";
hash = "sha256-gLdT1Mcllnsysb4N2JYck9OxQi9m63leH9zb5newotU=";
};
dontUnpack = true;

View file

@ -97,7 +97,7 @@ let
++ lib.optionals mediaSupport [ ffmpeg ]
);
version = "14.5.1";
version = "14.5.2";
sources = {
x86_64-linux = fetchurl {
@ -109,7 +109,7 @@ let
"https://tor.eff.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz"
];
hash = "sha256-FQdPdCkdxh+wieC12lT90qaSvu56o4BDgUkaDOm5xSE=";
hash = "sha256-LyvrlsL/dLgoa94+JEuzbxeEl0n61ry2BcD5BlGV0sE=";
};
};

View file

@ -31,16 +31,16 @@ let
in
buildGoModule (finalAttrs: {
pname = "netbird";
version = "0.43.3";
version = "0.44.0";
src = fetchFromGitHub {
owner = "netbirdio";
repo = "netbird";
tag = "v${finalAttrs.version}";
hash = "sha256-+WEAUM+BrckRCUycCaYr7tveZBZ2kStnMPxyDVixAsA=";
hash = "sha256-+tiQx692GSAI5AoDaKY5x3Z3WrX6QU+WFV96paM9ayw=";
};
vendorHash = "sha256-/STnSegRtpdMhh9RaCqwc6dSXvt7UO5GVz7/M9JzamM=";
vendorHash = "sha256-EVhtxYDinmid5C/3N8UGmCzWw1qIE3m0rXes4uFpcOM=";
nativeBuildInputs = [ installShellFiles ] ++ lib.optional ui pkg-config;

View file

@ -9,15 +9,17 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "numcpp";
version = "2.13.0";
version = "2.14.1";
src = fetchFromGitHub {
owner = "dpilger26";
repo = "NumCpp";
rev = "Version_${finalAttrs.version}";
hash = "sha256-+2xd8GNMSKPz801lfMAcHIkmidKd+xM8YblkdFj3HZk=";
tag = "Version_${finalAttrs.version}";
hash = "sha256-8ghHTRneLeiFgzF9zHFjFu46qopc3l2Svku1H06XQTw=";
};
patches = [ ./pytest-CMakeLists.patch ];
nativeCheckInputs = [
gtest
python3
@ -36,16 +38,16 @@ stdenv.mkDerivation (finalAttrs: {
postInstall = ''
substituteInPlace $out/share/NumCpp/cmake/NumCppConfig.cmake \
--replace "\''${PACKAGE_PREFIX_DIR}/" ""
--replace-fail "\''${PACKAGE_PREFIX_DIR}/" ""
'';
NIX_CFLAGS_COMPILE = "-Wno-error";
meta = with lib; {
meta = {
description = "Templatized Header Only C++ Implementation of the Python NumPy Library";
homepage = "https://github.com/dpilger26/NumCpp";
license = licenses.mit;
maintainers = with maintainers; [ spalf ];
platforms = platforms.unix;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ spalf ];
platforms = lib.platforms.unix;
};
})

View file

@ -0,0 +1,18 @@
add --embed to $PYTHON_LD_FLAGS and strip a preceding whitespace to conform to CMP0004
--- a/test/pytest/src/CMakeLists.txt
+++ b/test/pytest/src/CMakeLists.txt
@@ -56,11 +56,12 @@ find_package(Python 3.11 REQUIRED
if(UNIX)
execute_process(
COMMAND
- python3-config --ldflags
+ python3-config --embed --ldflags
OUTPUT_VARIABLE
PYTHON_LD_FLAGS
OUTPUT_STRIP_TRAILING_WHITESPACE
)
+ string(STRIP ${PYTHON_LD_FLAGS} PYTHON_LD_FLAGS)
endif()
target_link_libraries(${TARGET_NAME} PRIVATE

View file

@ -44,7 +44,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
meta = {
description = "OpenCloud - IDP Web UI";
homepage = "https://github.com/opencloud-eu/opencloud";
changelog = "https://github.com/opencloud-eu/opencloud/blob/v${finalAttrs.src.rev}/CHANGELOG.md";
changelog = "https://github.com/opencloud-eu/opencloud/blob/v${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
christoph-heiss

View file

@ -108,7 +108,7 @@ buildGoModule rec {
meta = {
description = "OpenCloud gives you a secure and private way to store, access, and share your files.";
homepage = "https://github.com/opencloud-eu/opencloud";
changelog = "https://github.com/opencloud-eu/opencloud/blob/v${version}/CHANGELOG.md";
changelog = "https://github.com/opencloud-eu/opencloud/blob/${src.tag}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
christoph-heiss

View file

@ -46,7 +46,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
meta = {
description = "Web UI for OpenCloud built with Vue.js and TypeScript";
homepage = "https://github.com/opencloud-eu/web";
changelog = "https://github.com/opencloud-eu/web/blob/${finalAttrs.version}/CHANGELOG.md";
changelog = "https://github.com/opencloud-eu/web/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [
christoph-heiss

View file

@ -1,6 +1,6 @@
{
stdenv,
lib,
stdenv,
fetchurl,
unzip,
autoPatchelfHook,
@ -9,32 +9,35 @@
zlib,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "phoenixd";
version = "0.5.0";
version = "0.6.0";
suffix =
{
src =
let
selectSystem =
attrs:
attrs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
suffix = selectSystem {
aarch64-darwin = "macos-arm64";
x86_64-darwin = "macos-x64";
x86_64-linux = "linux-x64";
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
src = fetchurl {
url = "https://github.com/ACINQ/phoenixd/releases/download/v${version}/phoenix-${version}-${suffix}.zip";
hash =
{
aarch64-darwin = "sha256-hfg/gca27t8psG1+7u5DvHCuQDQJou6Fp3+ySaz+MXc=";
x86_64-darwin = "sha256-qpwkt2rbilpQVmAkl6Q4XyecSzayzYb1k5H5ur7SItk=";
x86_64-linux = "sha256-lshsJQ9km8C+KDtp1nQiK8h7LJN3A8GlGN6Yhb3VPtk=";
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
aarch64-linux = "linux-arm64";
};
in
fetchurl {
url = "https://github.com/ACINQ/phoenixd/releases/download/v${finalAttrs.version}/phoenixd-${finalAttrs.version}-${suffix}.zip";
hash = selectSystem {
aarch64-darwin = "sha256-CJCGVL6az02Yxdj7RpXMScSdx+yKvMfBMKE0SaBYTow=";
x86_64-darwin = "sha256-ClSyQ8Ir13wVBBpYivv2W+s5ZlYrx+6drUbUp5EhlBo=";
x86_64-linux = "sha256-z+gfiFor8nDHl2vjGCA0RYKrUXmdiRX6ztucXOOxLoI=";
aarch64-linux = "sha256-YkGJJS3dSHtxB891urGdL3f5F5TYIKBHKRrREAk5NkM=";
};
};
nativeBuildInputs = [ unzip ] ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
nativeBuildInputs = [ unzip ] ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
buildInputs = lib.optionals stdenv.isLinux [
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
libgcc # provides libgcc_s.so.1
libxcrypt-legacy # provides libcrypt.so.1
zlib # provides libz.so.1
@ -43,17 +46,24 @@ stdenv.mkDerivation rec {
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp phoenix{-cli,d} $out/bin/
install -Dm0755 phoenix-cli $out/bin/phoenix-cli
install -Dm0755 phoenixd $out/bin/phoenixd
runHook postInstall
'';
meta = with lib; {
passthru.updateScript = ./update.sh;
meta = {
description = "Server equivalent of the popular Phoenix wallet for mobile";
homepage = "https://phoenix.acinq.co/server";
license = licenses.asl20;
maintainers = with maintainers; [ prusnak ];
platforms = platforms.linux ++ platforms.darwin;
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ prusnak ];
platforms = [
"aarch64-linux"
"aarch64-darwin"
"x86_64-linux"
"x86_64-darwin"
];
};
}
})

View file

@ -0,0 +1,24 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p bash nix curl coreutils common-updater-scripts nix-update
set -eou pipefail
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; phoenixd.version or (lib.getVersion phoenixd)" | tr -d '"')
nix-update phoenixd --system x86_64-linux
latestVersion=$(nix-instantiate --eval -E "with import ./. {}; phoenixd.version or (lib.getVersion phoenixd)" | tr -d '"')
echo "latest version: $latestVersion"
echo "current version: $currentVersion"
if [[ "$latestVersion" == "$currentVersion" ]]; then
echo "package is up-to-date"
exit 0
fi
for system in \
aarch64-linux \
x86_64-darwin \
aarch64-darwin; do
hash=$(nix hash convert --to sri --hash-algo sha256 $(nix-prefetch-url $(nix-instantiate --eval -E "with import ./. {}; phoenixd.src.url" --system "$system" | tr -d '"')))
update-source-version phoenixd $latestVersion $hash --system=$system --ignore-same-version
done

View file

@ -7,12 +7,12 @@
}:
buildGoModule (finalAttrs: {
pname = "reddit-tui";
version = "0.3.6";
version = "0.3.8";
src = fetchFromGitHub {
owner = "tonymajestro";
repo = "reddit-tui";
tag = "v${finalAttrs.version}";
hash = "sha256-5S5wEPoVqYxIIEBXlrP5a+0xF66n6FMWkH0iTdIxioo=";
hash = "sha256-RorH4O4SKZOGb9UmEr1vsKu2w21Fx9IcZbSlGPX8Kms=";
};
vendorHash = "sha256-Yqo80adzA9gtSD3qzM+fObzRt3WbcMATQef0g7/z2Dw=";
doCheck = false;

View file

@ -0,0 +1,25 @@
{ lib, fetchFromGitHub }:
let
version = "0.22.1";
in
{
inherit version;
src = fetchFromGitHub {
owner = "Donkie";
repo = "Spoolman";
rev = "v${version}";
hash = "sha256-EVGpwcjEh4u8Vtgu2LypqMqArYLZe7oh1qYhGZpgjh0=";
};
meta = with lib; {
description = "Keep track of your inventory of 3D-printer filament spools";
homepage = "https://github.com/Donkie/Spoolman";
license = licenses.mit;
maintainers = with maintainers; [
MayNiklas
pinpox
];
mainProgram = "spoolman";
};
}

View file

@ -0,0 +1,23 @@
{ buildNpmPackage, callPackage }:
let
common = callPackage ./common.nix { };
in
buildNpmPackage {
pname = "spoolman-frontend";
inherit (common) version;
src = "${common.src}/client";
npmDepsHash = "sha256-E4DvEOSHfwwM0C+vTRMDQbCNv2IDyFOFwfqszrI+uOA=";
VITE_APIURL = "/api/v1";
installPhase = "cp -r dist $out";
meta = common.meta // {
description = "Spoolman frontend";
mainProgram = "spoolman-frontend";
};
}

View file

@ -0,0 +1,79 @@
{
python312,
lib,
callPackage,
writeShellScript,
makeWrapper,
}:
let
common = callPackage ./common.nix { };
frontend = callPackage ./frontend.nix { };
python = python312;
in
python.pkgs.buildPythonPackage rec {
pname = "spoolman";
inherit (common) version src;
pyproject = true;
nativeBuildInputs = [
makeWrapper
python.pkgs.pdm-backend
python.pkgs.pythonRelaxDepsHook
];
pythonRelaxDeps = [ "setuptools" ];
postPatch = ''
substituteInPlace pyproject.toml --replace-fail psycopg2-binary psycopg2
'';
propagatedBuildInputs = with python.pkgs; [
uvloop
alembic
asyncpg
fastapi
hishel
httptools
httpx
aiosqlite
platformdirs
prometheus-client
psycopg2
pydantic
scheduler
setuptools
sqlalchemy
sqlalchemy-cockroachdb
uvicorn
websockets
];
pythonImportsCheck = [ "spoolman" ];
postInstall =
let
start_script = writeShellScript "start-spoolman" ''
${lib.getExe python.pkgs.uvicorn} "$@" spoolman.main:app;
'';
in
''
mkdir -p $out/runpath/client/dist $out/bin
cp -r $src/* $out/runpath
cp -r ${frontend}/* $out/runpath/client/dist
makeWrapper ${start_script} $out/bin/spoolman \
--chdir $out/runpath \
--prefix PYTHONPATH : "$out/${python.sitePackages}" \
--prefix PYTHONPATH : "${python.pkgs.makePythonPath propagatedBuildInputs}" \
--prefix PATH : "${python.pkgs.alembic}/bin"
'';
meta = common.meta // {
description = "Spoolman server";
mainProgram = "spoolman";
};
}

View file

@ -54,7 +54,7 @@ stdenv.mkDerivation (self: {
meta = {
description = "Simple Rendering Manager";
homepage = "https://github.com/CuarzoSoftware/SRM";
maintainers = [ lib.maintainers.dblsaiko ];
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View file

@ -0,0 +1,49 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
pkg-config,
systemd,
libxslt,
docbook_xsl,
docbook_xml_dtd_45,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "systemd-bootchart";
version = "235";
src = fetchFromGitHub {
owner = "systemd";
repo = "systemd-bootchart";
tag = "v${finalAttrs.version}";
hash = "sha256-1h6/Q6ShfJbu/DXENIe5GAQiZp4jlOAg6SAR36cmg2I=";
};
strictDeps = true;
nativeBuildInputs = [
autoreconfHook
pkg-config
libxslt
docbook_xsl
docbook_xml_dtd_45
];
buildInputs = [
systemd
];
configureFlags = [
"--with-rootprefix=$(out)"
];
meta = {
description = "Boot performance graphing tool from systemd";
homepage = "https://github.com/systemd/systemd-bootchart";
license = lib.licenses.lgpl21Plus;
maintainers = [ lib.maintainers.brianmcgillion ];
platforms = lib.platforms.linux;
};
})

View file

@ -109,7 +109,7 @@ lib.warnIf (useHardenedMalloc != null)
++ lib.optionals mediaSupport [ ffmpeg ]
);
version = "14.5.1";
version = "14.5.2";
sources = {
x86_64-linux = fetchurl {
@ -119,7 +119,7 @@ lib.warnIf (useHardenedMalloc != null)
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
];
hash = "sha256-XmJsHPnzu7Sk1LeOQG2KN+s8YGeTI/Z7pa+OrkEIaIQ=";
hash = "sha256-ZvNje6LtrjS8gURyp38eLzPD7ji2DlOkkphW4KBmus0=";
};
i686-linux = fetchurl {
@ -129,7 +129,7 @@ lib.warnIf (useHardenedMalloc != null)
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
];
hash = "sha256-68kqhHAwCBAxFnXW1MbMdG//AB3TI/luomVH3v26DkM=";
hash = "sha256-+Dt1uDZeUV65jbJ5pYv8v/P8UxTy37cHjIqmPd8SuGg=";
};
};

View file

@ -222,18 +222,26 @@ chosenStdenv.mkDerivation (finalAttrs: {
$out/lib/libtpm2_pkcs11.so.0.0.0
'';
passthru = {
passthru = rec {
esapi = tpm2-pkcs11-esapi;
fapi = tpm2-pkcs11-fapi;
abrmd = tpm2-pkcs11.override {
abrmdSupport = true;
};
esapi-abrmd = tpm2-pkcs11-esapi.override {
abrmdSupport = true;
};
fapi-abrmd = tpm2-pkcs11-fapi.override {
abrmdSupport = true;
};
tests = {
inherit tpm2-pkcs11-esapi tpm2-pkcs11-fapi;
tpm2-pkcs11-abrmd = tpm2-pkcs11.override {
abrmdSupport = true;
};
tpm2-pkcs11-esapi-abrmd = tpm2-pkcs11-esapi.override {
abrmdSupport = true;
};
tpm2-pkcs11-fapi-abrmd = tpm2-pkcs11-fapi.override {
abrmdSupport = true;
};
inherit
esapi
fapi
abrmd
esapi-abrmd
fapi-abrmd
;
};
};

View file

@ -8,17 +8,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "typstyle";
version = "0.13.7";
version = "0.13.8";
src = fetchFromGitHub {
owner = "Enter-tainer";
repo = "typstyle";
tag = "v${finalAttrs.version}";
hash = "sha256-vk/u5Q1MN6JlZuY4PnDEw52SSVYCciJUAbBduf2JiZQ=";
hash = "sha256-6gR235YZrGfm0OtXTXY6NN/Yqxj9xlIasxdAYuO6z64=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-XYBkfyomZiTjZccux72dc4Ku4Zec4ms6m5U2xwFgjEY=";
cargoHash = "sha256-0aRVabVuzxRSw4bDfKryPYYbkPp9CYQafZ50kHjZ8pM=";
# Disabling tests requiring network access
checkFlags = [
@ -36,7 +36,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
};
meta = {
changelog = "https://github.com/Enter-tainer/typstyle/blob/v${finalAttrs.version}/CHANGELOG.md";
changelog = "https://github.com/Enter-tainer/typstyle/blob/${finalAttrs.src.tag}/CHANGELOG.md";
description = "Format your typst source code";
homepage = "https://github.com/Enter-tainer/typstyle";
license = lib.licenses.asl20;

View file

@ -10,23 +10,35 @@
llvmPackages,
musl,
xorg,
jq,
moreutils,
gitUpdater,
versionCheckHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "wrangler";
version = "3.80.1";
version = "4.16.0";
src = fetchFromGitHub {
owner = "cloudflare";
repo = "workers-sdk";
rev = "wrangler@${finalAttrs.version}";
hash = "sha256-9ClosoDIT+yP2dvNenHW2RSxLimOT3znXD+Pq+N6cQA=";
hash = "sha256-H/ds5NfOjyTZ4AcsCAP0wbalgOljOUtLSjkjEn+atVk=";
};
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-8EItfBV2n2rnXPCTYjDZlr/tdlEn8YOdIzOsj35w5gQ=";
inherit (finalAttrs)
pname
version
src
postPatch
;
hash = "sha256-msIXeN8t8Dm3RUkw4woZIMn7wXxw/0jVl8oFmkPJbrA=";
};
# pnpm packageManager version in workers-sdk root package.json may not match nixpkgs
postPatch = ''
jq 'del(.packageManager)' package.json | sponge package.json
'';
passthru.updateScript = gitUpdater { rev-prefix = "wrangler@"; };
@ -45,6 +57,8 @@ stdenv.mkDerivation (finalAttrs: {
makeWrapper
nodejs
pnpm_9.configHook
jq
moreutils
]
++ lib.optionals (stdenv.hostPlatform.isLinux) [
autoPatchelfHook
@ -53,7 +67,7 @@ stdenv.mkDerivation (finalAttrs: {
# @cloudflare/vitest-pool-workers wanted to run a server as part of the build process
# so I simply removed it
postBuild = ''
rm -fr packages/vitest-pool-workers
mv packages/vitest-pool-workers packages/~vitest-pool-workers
NODE_ENV="production" pnpm --filter workers-shared run build
NODE_ENV="production" pnpm --filter miniflare run build
NODE_ENV="production" pnpm --filter wrangler run build
@ -65,19 +79,17 @@ stdenv.mkDerivation (finalAttrs: {
# - the build process builds a version of miniflare which is used by wrangler; for this reason, the miniflare package is copied also
# - pnpm stores all content in the top-level node_modules directory, but it is linked to from a node_modules directory inside wrangler
# - as they are linked via symlinks, the relative location of them on the filesystem should be maintained
# - Update: Now we're copying everything over due to broken symlink errors
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/lib $out/lib/packages/wrangler
rm -rf node_modules/typescript node_modules/eslint node_modules/prettier node_modules/bin node_modules/.bin node_modules/**/bin node_modules/**/.bin
mv packages/~vitest-pool-workers packages/vitest-pool-workers
cp -r fixtures $out/lib
cp -r packages $out/lib
cp -r node_modules $out/lib
cp -r packages/miniflare $out/lib/packages
cp -r packages/workers-tsconfig $out/lib/packages
cp -r packages/workers-shared $out/lib/packages
cp -r packages/wrangler/node_modules $out/lib/packages/wrangler
cp -r packages/wrangler/templates $out/lib/packages/wrangler
cp -r packages/wrangler/wrangler-dist $out/lib/packages/wrangler
cp -r tools $out/lib/tools
rm -rf node_modules/typescript node_modules/eslint node_modules/prettier node_modules/bin node_modules/.bin node_modules/**/bin node_modules/**/.bin
rm -rf $out/lib/**/bin $out/lib/**/.bin
cp -r packages/wrangler/bin $out/lib/packages/wrangler
NODE_PATH_ARRAY=( "$out/lib/node_modules" "$out/lib/packages/wrangler/node_modules" )
makeWrapper ${lib.getExe nodejs} $out/bin/wrangler \
--inherit-argv0 \
@ -86,7 +98,10 @@ stdenv.mkDerivation (finalAttrs: {
--set-default SSL_CERT_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt" # https://github.com/cloudflare/workers-sdk/issues/3264
runHook postInstall
'';
doInstallCheck = true;
nativeInstallCheckInputs = [
versionCheckHook
];
meta = {
description = "Command-line interface for all things Cloudflare Workers";
homepage = "https://github.com/cloudflare/workers-sdk#readme";
@ -98,6 +113,7 @@ stdenv.mkDerivation (finalAttrs: {
seanrmurphy
dezren39
ryand56
ezrizhu
];
mainProgram = "wrangler";
# Tunneling and other parts of wrangler, which require workerd won't run on

View file

@ -12,11 +12,11 @@
stdenv.mkDerivation rec {
pname = "xmedcon";
version = "0.25.1";
version = "0.25.2";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
sha256 = "sha256-WKyX65LQe/UbaE6jQi36kTgi4IXjgY1ZkE1aPQ+o0Tk=";
sha256 = "sha256-vg14IRLukAOBtAE32AIyXTRzLzwKCGsvIFYRas/hyNs=";
};
buildInputs = [

View file

@ -5,13 +5,13 @@
}:
mkYaziPlugin {
pname = "projects.yazi";
version = "0-unstable-2025-03-03";
version = "0-unstable-2025-05-17";
src = fetchFromGitHub {
owner = "MasouShizuka";
repo = "projects.yazi";
rev = "4f11eccf835556600a37730b383ee12f00d4fc59";
hash = "sha256-XHGlQn0Nsxh/WScz4v2I+IWvzGJ9QTXbB7zgSCPQ+E0=";
rev = "df44165610faa66f623a3e2085e05085cba23d66";
hash = "sha256-XVN605TujmA4f1gCjJRnBBrCjmfoTdtNwhRBEqTBnLM=";
};
meta = {

View file

@ -1,7 +1,7 @@
{ mkDerivation }:
mkDerivation {
version = "1.18.3";
sha256 = "sha256-jH+1+IBWHSTyqakGClkP1Q4O2FWbHx7kd7zn6YGCog0=";
version = "1.18.4";
sha256 = "sha256-PwogI+HfRXy5M7Xn/KyDjm5vUquTBoGxliSV0A2AwSA=";
# https://hexdocs.pm/elixir/1.18.0/compatibility-and-deprecations.html#between-elixir-and-erlang-otp
minimumOTPVersion = "25";
escriptPath = "lib/elixir/scripts/generate_app.escript";

View file

@ -0,0 +1,71 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
hatchling,
django,
django-configurations,
djangorestframework,
joserfc,
mozilla-django-oidc,
pyjwt,
requests,
requests-toolbelt,
factory-boy,
pytest-django,
responses,
celery,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "django-lasuite";
version = "0.0.9";
pyproject = true;
src = fetchFromGitHub {
owner = "suitenumerique";
repo = "django-lasuite";
tag = "v${version}";
hash = "sha256-vUtWBR9uRc99jTe0Gg7k4EZZAkqHct5+GCOHp1mTIkA=";
};
build-system = [ hatchling ];
dependencies = [
django
django-configurations
djangorestframework
joserfc
mozilla-django-oidc
pyjwt
requests
requests-toolbelt
];
pythonRelaxDeps = true;
nativeCheckInputs = [
celery
pytestCheckHook
pytest-django
factory-boy
responses
];
preCheck = ''
export PYTHONPATH=tests:$PYTHONPATH
export DJANGO_SETTINGS_MODULE=test_project.settings
'';
pythonImportsCheck = [ "lasuite" ];
meta = {
description = "The common library for La Suite Django projects and Proconnected Django projects";
homepage = "https://github.com/suitenumerique/django-lasuite";
changelog = "https://github.com/suitenumerique/django-lasuite/blob/${src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ soyouzpanda ];
broken = lib.versionOlder django.version "5.2";
};
}

View file

@ -0,0 +1,150 @@
{
lib,
stdenv,
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
pythonOlder,
replaceVars,
# build-system
setuptools,
# patched in
geos,
gdal,
withGdal ? false,
# dependencies
asgiref,
sqlparse,
# optional-dependencies
argon2-cffi,
bcrypt,
# tests
aiosmtpd,
docutils,
geoip2,
jinja2,
numpy,
pillow,
pylibmc,
pymemcache,
python,
pywatchman,
pyyaml,
pytz,
redis,
selenium,
tblib,
tzdata,
}:
buildPythonPackage rec {
pname = "django";
version = "5.2.1";
pyproject = true;
disabled = pythonOlder "3.10";
src = fetchFromGitHub {
owner = "django";
repo = "django";
rev = "refs/tags/${version}";
hash = "sha256-JmO2IEWrpA7/FXOwESLvIIuHmi2HQgvg28LVNmBXgLA=";
};
patches =
[
(replaceVars ./django_5_set_zoneinfo_dir.patch {
zoneinfo = tzdata + "/share/zoneinfo";
})
# prevent tests from messing with our pythonpath
./django_5_tests_pythonpath.patch
# disable test that expects timezone issues
./django_5_disable_failing_tests.patch
]
++ lib.optionals withGdal [
(replaceVars ./django_5_set_geos_gdal_lib.patch {
geos = geos;
gdal = gdal;
extension = stdenv.hostPlatform.extensions.sharedLibrary;
})
];
postPatch = ''
substituteInPlace tests/utils_tests/test_autoreload.py \
--replace-fail "/usr/bin/python" "${python.interpreter}"
'';
build-system = [ setuptools ];
dependencies = [
asgiref
sqlparse
];
optional-dependencies = {
argon2 = [ argon2-cffi ];
bcrypt = [ bcrypt ];
};
nativeCheckInputs = [
# tests/requirements/py3.txt
aiosmtpd
docutils
geoip2
jinja2
numpy
pillow
pylibmc
pymemcache
pywatchman
pyyaml
pytz
redis
selenium
tblib
tzdata
] ++ lib.flatten (lib.attrValues optional-dependencies);
doCheck =
!stdenv.hostPlatform.isDarwin
# pywatchman depends on folly which does not support 32bits
&& !stdenv.hostPlatform.is32bit;
preCheck = ''
# make sure the installed library gets imported
rm -rf django
# fails to import github_links from docs/_ext/github_links.py
rm tests/sphinx/test_github_links.py
# provide timezone data, works only on linux
export TZDIR=${tzdata}/${python.sitePackages}/tzdata/zoneinfo
export PYTHONPATH=$PWD/docs/_ext:$PYTHONPATH
'';
checkPhase = ''
runHook preCheck
pushd tests
${python.interpreter} runtests.py --settings=test_sqlite
popd
runHook postCheck
'';
__darwinAllowLocalNetworking = true;
meta = with lib; {
changelog = "https://docs.djangoproject.com/en/${lib.versions.majorMinor version}/releases/${version}/";
description = "High-level Python Web framework that encourages rapid development and clean, pragmatic design";
homepage = "https://www.djangoproject.com";
license = licenses.bsd3;
maintainers = with maintainers; [ hexa ];
};
}

View file

@ -0,0 +1,37 @@
{
lib,
buildPythonPackage,
fetchPypi,
setuptools,
wheel,
typeguard,
}:
buildPythonPackage rec {
pname = "scheduler";
version = "0.8.5";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-8t1AUbD6cpETSoqoY88bSZmj7FuaF6c+7kJDJX2Lp4k=";
};
nativeBuildInputs = [
setuptools
wheel
];
propagatedBuildInputs = [
typeguard
];
pythonImportsCheck = [ "scheduler" ];
meta = with lib; {
description = "A simple in-process python scheduler library with asyncio, threading and timezone support. Use datetime standard library objects for planning of Jobs depending on time cycles, fixed times, weekdays, dates, weights, offsets and execution counts";
homepage = "https://pypi.org/project/scheduler/";
license = licenses.lgpl3;
maintainers = with maintainers; [ pinpox ];
};
}

View file

@ -0,0 +1,37 @@
{
lib,
buildPythonPackage,
fetchPypi,
setuptools,
wheel,
sqlalchemy,
}:
buildPythonPackage rec {
pname = "sqlalchemy-cockroachdb";
version = "2.0.2";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-EZdW65BYVdahE0W5nP6FMDGj/lmKnEvzWo3ayfif6Mw=";
};
nativeBuildInputs = [
setuptools
wheel
];
propagatedBuildInputs = [
sqlalchemy
];
pythonImportsCheck = [ "sqlalchemy_cockroachdb" ];
meta = with lib; {
description = "CockroachDB dialect for SQLAlchemy";
homepage = "https://pypi.org/project/sqlalchemy-cockroachdb";
license = licenses.asl20;
maintainers = with maintainers; [ pinpox ];
};
}

View file

@ -3,6 +3,7 @@
stdenv,
buildPythonPackage,
fetchPypi,
fetchpatch,
mock,
pytestCheckHook,
pythonOlder,
@ -21,6 +22,16 @@ buildPythonPackage rec {
hash = "sha256-NHYbrhojxYGSKBpRFfsH+/IsmwEzwIFmvv/HD+0+vBI=";
};
patches = [
# adapted from 49b74cafb6e72e0e620e321711c1b81a0823be12
./fix-python313-unittest.patch
# Fix SubprocessTests.test_getProcessStateDescription on python 3.13
(fetchpatch {
url = "https://github.com/Supervisor/supervisor/commit/27efcd59b454e4f3a81e5e1b02ab0d8d0ff2f45f.patch";
hash = "sha256-9KNcdRJwnZJA00dDy/mAS7RJuBei60YzVhWkeQgmJ8c=";
})
];
propagatedBuildInputs = [ setuptools ];
# wants to write to /tmp/foo which is likely already owned by another

View file

@ -0,0 +1,337 @@
From e18f91d4ddbc30920c828e782ce40fbe844fcab9 Mon Sep 17 00:00:00 2001
From: Mike Naberezny <mike@naberezny.com>
Date: Sun, 25 Dec 2022 10:58:24 -0800
Subject: [PATCH] Remove unused test_suite() that now causes unittest and
pytest warnings
supervisor/tests/test_confecho.py::test_suite
/home/runner/work/supervisor/supervisor/supervisor/tests/test_confecho.py:18: DeprecationWarning: unittest.findTestCases() is deprecated and will be removed in Python 3.13. Please use unittest.TestLoader.loadTestsFromModule() instead.
return unittest.findTestCases(sys.modules[__name__])
supervisor/tests/test_confecho.py::test_suite
/home/runner/work/supervisor/supervisor/.tox/py311/lib/python3.11/site-packages/_pytest/python.py:199: PytestReturnNotNoneWarning: Expected None, but supervisor/tests/test_confecho.py::test_suite returned <unittest.suite.TestSuite tests=[<unittest.suite.TestSuite tests=[<supervisor.tests.test_confecho.TopLevelFunctionTests testMethod=test_main_writes_data_out_that_looks_like_a_config_file>]>]>, which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`?
---
supervisor/tests/test_childutils.py | 7 -------
supervisor/tests/test_confecho.py | 7 -------
supervisor/tests/test_dispatchers.py | 6 ------
supervisor/tests/test_end_to_end.py | 6 ------
supervisor/tests/test_events.py | 7 -------
supervisor/tests/test_http.py | 6 ------
supervisor/tests/test_loggers.py | 6 ------
supervisor/tests/test_options.py | 7 -------
supervisor/tests/test_poller.py | 7 -------
supervisor/tests/test_rpcinterfaces.py | 8 --------
supervisor/tests/test_socket_manager.py | 20 --------------------
supervisor/tests/test_states.py | 7 -------
supervisor/tests/test_supervisorctl.py | 7 -------
supervisor/tests/test_supervisord.py | 7 -------
supervisor/tests/test_templating.py | 9 ---------
supervisor/tests/test_web.py | 6 ------
supervisor/tests/test_xmlrpc.py | 1 -
17 files changed, 124 deletions(-)
diff --git a/supervisor/tests/test_childutils.py b/supervisor/tests/test_childutils.py
index f2b39d8..94193fc 100644
--- a/supervisor/tests/test_childutils.py
+++ b/supervisor/tests/test_childutils.py
@@ -132,10 +132,3 @@ class TestEventListenerProtocol(unittest.TestCase):
listener.send(msg, stdout)
expected = '%s%s\n%s' % (begin, len(msg), msg)
self.assertEqual(stdout.getvalue(), expected)
-
-
-def test_suite():
- return unittest.findTestCases(sys.modules[__name__])
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
diff --git a/supervisor/tests/test_confecho.py b/supervisor/tests/test_confecho.py
index 6ae5108..f35f845 100644
--- a/supervisor/tests/test_confecho.py
+++ b/supervisor/tests/test_confecho.py
@@ -12,10 +12,3 @@ class TopLevelFunctionTests(unittest.TestCase):
output = sio.getvalue()
self.assertTrue("[supervisord]" in output)
-
-
-def test_suite():
- return unittest.findTestCases(sys.modules[__name__])
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
diff --git a/supervisor/tests/test_dispatchers.py b/supervisor/tests/test_dispatchers.py
index 87692e2..ee6e44a 100644
--- a/supervisor/tests/test_dispatchers.py
+++ b/supervisor/tests/test_dispatchers.py
@@ -1227,9 +1227,3 @@ class stripEscapeTests(unittest.TestCase):
def test_noansi(self):
noansi = b'Hello world... this is longer than a token!'
self.assertEqual(self._callFUT(noansi), noansi)
-
-def test_suite():
- return unittest.findTestCases(sys.modules[__name__])
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
diff --git a/supervisor/tests/test_end_to_end.py b/supervisor/tests/test_end_to_end.py
index dd5c977..763da48 100644
--- a/supervisor/tests/test_end_to_end.py
+++ b/supervisor/tests/test_end_to_end.py
@@ -419,9 +419,3 @@ class EndToEndTests(BaseTestCase):
finally:
transport.close()
self.assertEqual(ident, "from_command_line")
-
-def test_suite():
- return unittest.findTestCases(sys.modules[__name__])
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
diff --git a/supervisor/tests/test_events.py b/supervisor/tests/test_events.py
index bd33a0c..a432da8 100644
--- a/supervisor/tests/test_events.py
+++ b/supervisor/tests/test_events.py
@@ -508,10 +508,3 @@ class TestUtilityFunctions(unittest.TestCase):
self.assertTrue(events.EventTypes.FOO is FooEvent)
finally:
del events.EventTypes.FOO
-
-def test_suite():
- return unittest.findTestCases(sys.modules[__name__])
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
-
diff --git a/supervisor/tests/test_http.py b/supervisor/tests/test_http.py
index 1198597..f4c4496 100644
--- a/supervisor/tests/test_http.py
+++ b/supervisor/tests/test_http.py
@@ -684,9 +684,3 @@ class DummyProducer:
return self.data.pop(0)
else:
return b''
-
-def test_suite():
- return unittest.findTestCases(sys.modules[__name__])
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
diff --git a/supervisor/tests/test_loggers.py b/supervisor/tests/test_loggers.py
index 0742c17..a9ae297 100644
--- a/supervisor/tests/test_loggers.py
+++ b/supervisor/tests/test_loggers.py
@@ -599,9 +599,3 @@ class DummyHandler:
self.records.append(record)
def close(self):
self.closed = True
-
-def test_suite():
- return unittest.findTestCases(sys.modules[__name__])
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
diff --git a/supervisor/tests/test_options.py b/supervisor/tests/test_options.py
index f43537a..18e7399 100644
--- a/supervisor/tests/test_options.py
+++ b/supervisor/tests/test_options.py
@@ -3804,10 +3804,3 @@ class UtilFunctionsTests(unittest.TestCase):
self.assertEqual(s('process'), ('process', 'process'))
self.assertEqual(s('group:'), ('group', None))
self.assertEqual(s('group:*'), ('group', None))
-
-def test_suite():
- return unittest.findTestCases(sys.modules[__name__])
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
-
diff --git a/supervisor/tests/test_poller.py b/supervisor/tests/test_poller.py
index 1b12a8e..fb5bf81 100644
--- a/supervisor/tests/test_poller.py
+++ b/supervisor/tests/test_poller.py
@@ -437,10 +437,3 @@ class FakeKEvent(object):
def __init__(self, ident, filter):
self.ident = ident
self.filter = filter
-
-
-def test_suite():
- return unittest.findTestCases(sys.modules[__name__])
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
diff --git a/supervisor/tests/test_rpcinterfaces.py b/supervisor/tests/test_rpcinterfaces.py
index 0827adf..ec88a90 100644
--- a/supervisor/tests/test_rpcinterfaces.py
+++ b/supervisor/tests/test_rpcinterfaces.py
@@ -2392,14 +2392,6 @@ class Test_make_main_rpcinterface(unittest.TestCase):
)
-
class DummyRPCInterface:
def hello(self):
return 'Hello!'
-
-def test_suite():
- return unittest.findTestCases(sys.modules[__name__])
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
-
diff --git a/supervisor/tests/test_socket_manager.py b/supervisor/tests/test_socket_manager.py
index 626d786..8eaafaa 100644
--- a/supervisor/tests/test_socket_manager.py
+++ b/supervisor/tests/test_socket_manager.py
@@ -51,7 +51,6 @@ class ProxyTest(unittest.TestCase):
proxy = self._makeOne(Subject(), on_delete=self.setOnDeleteCalled)
self.assertEqual(5, proxy.getValue())
proxy = None
- gc_collect()
self.assertTrue(self.on_deleteCalled)
class ReferenceCounterTest(unittest.TestCase):
@@ -94,9 +93,6 @@ class ReferenceCounterTest(unittest.TestCase):
class SocketManagerTest(unittest.TestCase):
- def tearDown(self):
- gc_collect()
-
def _getTargetClass(self):
from supervisor.socket_manager import SocketManager
return SocketManager
@@ -160,12 +156,10 @@ class SocketManagerTest(unittest.TestCase):
self.assertTrue(sock_manager.is_prepared())
self.assertFalse(sock_manager.socket.close_called)
sock = None
- gc_collect()
# Socket not actually closed yet b/c ref ct is 1
self.assertTrue(sock_manager.is_prepared())
self.assertFalse(sock_manager.socket.close_called)
sock2 = None
- gc_collect()
# Socket closed
self.assertFalse(sock_manager.is_prepared())
self.assertTrue(sock_manager.socket.close_called)
@@ -178,7 +172,6 @@ class SocketManagerTest(unittest.TestCase):
self.assertNotEqual(sock_id, sock3_id)
# Drop ref ct to zero
del sock3
- gc_collect()
# Now assert that socket is closed
self.assertFalse(sock_manager.is_prepared())
self.assertTrue(sock_manager.socket.close_called)
@@ -193,7 +186,6 @@ class SocketManagerTest(unittest.TestCase):
self.assertEqual('Creating socket %s' % repr(conf), logger.data[0])
# socket close
del sock
- gc_collect()
self.assertEqual(len(logger.data), 2)
self.assertEqual('Closing socket %s' % repr(conf), logger.data[1])
@@ -242,15 +234,3 @@ class SocketManagerTest(unittest.TestCase):
self.fail()
except Exception as e:
self.assertEqual(e.args[0], 'Socket has not been prepared')
-
-def gc_collect():
- if __pypy__ is not None:
- gc.collect()
- gc.collect()
- gc.collect()
-
-def test_suite():
- return unittest.findTestCases(sys.modules[__name__])
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
diff --git a/supervisor/tests/test_states.py b/supervisor/tests/test_states.py
index ba8e58f..41fed7b 100644
--- a/supervisor/tests/test_states.py
+++ b/supervisor/tests/test_states.py
@@ -50,10 +50,3 @@ class TopLevelEventListenerStateTests(unittest.TestCase):
def test_getEventListenerStateDescription_returns_None_when_not_found(self):
self.assertEqual(states.getEventListenerStateDescription(3.14159),
None)
-
-
-def test_suite():
- return unittest.findTestCases(sys.modules[__name__])
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
diff --git a/supervisor/tests/test_supervisorctl.py b/supervisor/tests/test_supervisorctl.py
index 3c0e097..af2149b 100644
--- a/supervisor/tests/test_supervisorctl.py
+++ b/supervisor/tests/test_supervisorctl.py
@@ -2067,10 +2067,3 @@ class DummyPlugin:
def do_help(self, arg):
self.helped = True
-
-def test_suite():
- return unittest.findTestCases(sys.modules[__name__])
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
-
diff --git a/supervisor/tests/test_supervisord.py b/supervisor/tests/test_supervisord.py
index 3d7b4ff..4099bba 100644
--- a/supervisor/tests/test_supervisord.py
+++ b/supervisor/tests/test_supervisord.py
@@ -834,10 +834,3 @@ class SupervisordTests(unittest.TestCase):
self.assertEqual(supervisord.ticks[3600], 3600)
self.assertEqual(len(L), 6)
self.assertEqual(L[-1].__class__, events.Tick3600Event)
-
-def test_suite():
- return unittest.findTestCases(sys.modules[__name__])
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
-
diff --git a/supervisor/tests/test_templating.py b/supervisor/tests/test_templating.py
index 29311a7..8970c4f 100644
--- a/supervisor/tests/test_templating.py
+++ b/supervisor/tests/test_templating.py
@@ -1785,12 +1785,3 @@ def normalize_xml(s):
s = re.sub(r"(?s)\s+<", "<", s)
s = re.sub(r"(?s)>\s+", ">", s)
return s
-
-def test_suite():
- return unittest.findTestCases(sys.modules[__name__])
-
-def main():
- unittest.main(defaultTest='test_suite')
-
-if __name__ == '__main__':
- main()
diff --git a/supervisor/tests/test_web.py b/supervisor/tests/test_web.py
index 8bae3ed..f31972d 100644
--- a/supervisor/tests/test_web.py
+++ b/supervisor/tests/test_web.py
@@ -177,9 +177,3 @@ class StatusViewTests(unittest.TestCase):
class DummyContext:
pass
-
-def test_suite():
- return unittest.findTestCases(sys.modules[__name__])
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
diff --git a/supervisor/tests/test_xmlrpc.py b/supervisor/tests/test_xmlrpc.py
index 3d49ce0..8cee058 100644
--- a/supervisor/tests/test_xmlrpc.py
+++ b/supervisor/tests/test_xmlrpc.py
@@ -917,4 +917,3 @@ class DummyConnection:
def close(self):
self.closed = True
-
--
2.49.0

View file

@ -17,8 +17,8 @@ let
in
buildNodejs {
inherit enableNpm;
version = "24.0.2";
sha256 = "1597075afc06e5c6145d0bfbd77e2072c2ec0ab71ac4950cf008b2641374cd71";
version = "24.1.0";
sha256 = "c8171b2aeccb28c8c5347f273a25adae172fb2a65bc8c975bc22ec58949d0eaf";
patches =
(
if (stdenv.hostPlatform.emulatorAvailable buildPackages) then

View file

@ -8,11 +8,11 @@
}:
mkKdeDerivation rec {
pname = "kirigami-addons";
version = "1.8.0";
version = "1.8.1";
src = fetchurl {
url = "mirror://kde/stable/kirigami-addons/kirigami-addons-${version}.tar.xz";
hash = "sha256-USAIVeTyhVCfcbHPkjmjRQYx+Aj109CETroBAfW00es=";
hash = "sha256-AAKK5N+Z4lBRg0XqKNnN9J1wDprKxIJzS7UThNoR+UU=";
};
extraNativeBuildInputs = [ (qttools.override { withClang = true; }) ];

View file

@ -42,11 +42,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "percona-server";
version = "8.0.41-32";
version = "8.0.42-33";
src = fetchurl {
url = "https://www.percona.com/downloads/Percona-Server-8.0/Percona-Server-${finalAttrs.version}/source/tarball/percona-server-${finalAttrs.version}.tar.gz";
hash = "sha256-3ua/8X0vzbBzjRNhmMjdz3Wfk7ECs67bPoCYBBNXywc=";
hash = "sha256-UDdmBz1RVjX/kRivvk69GPdtjLjWTglKxteiLxXKQGc=";
};
nativeBuildInputs = [

View file

@ -3793,6 +3793,8 @@ self: super: with self; {
django-json-widget = callPackage ../development/python-modules/django-json-widget { };
django-lasuite = callPackage ../development/python-modules/django-lasuite { };
django-leaflet = callPackage ../development/python-modules/django-leaflet { };
django-libsass = callPackage ../development/python-modules/django-libsass { };
@ -3965,7 +3967,11 @@ self: super: with self; {
django_4 = callPackage ../development/python-modules/django/4.nix { };
# Pre-release
django_5 = callPackage ../development/python-modules/django/5.nix { };
django_5 = self.django_5_1;
django_5_1 = callPackage ../development/python-modules/django/5_1.nix { };
django_5_2 = callPackage ../development/python-modules/django/5_2.nix { };
djangocms-admin-style = callPackage ../development/python-modules/djangocms-admin-style { };
@ -15539,6 +15545,8 @@ self: super: with self; {
schedule = callPackage ../development/python-modules/schedule { };
scheduler = callPackage ../development/python-modules/scheduler { };
schema = callPackage ../development/python-modules/schema { };
schema-salad = callPackage ../development/python-modules/schema-salad { };
@ -16568,6 +16576,8 @@ self: super: with self; {
sqlalchemy-citext = callPackage ../development/python-modules/sqlalchemy-citext { };
sqlalchemy-cockroachdb = callPackage ../development/python-modules/sqlalchemy-cockroachdb { };
sqlalchemy-continuum = callPackage ../development/python-modules/sqlalchemy-continuum { };
sqlalchemy-file = callPackage ../development/python-modules/sqlalchemy-file { };