Merge remote-tracking branch 'origin/master' into staging-next

Conflicts:
- pkgs/development/python-modules/django-anymail/default.nix
- pkgs/development/python-modules/dockerspawner/default.nix
This commit is contained in:
Martin Weinelt 2023-12-21 15:21:14 +01:00
commit fb9f2b0e17
63 changed files with 665 additions and 264 deletions

View file

@ -1,4 +1,5 @@
# Testers {#chap-testers}
This chapter describes several testing builders which are available in the `testers` namespace.
## `hasPkgConfigModules` {#tester-hasPkgConfigModules}
@ -6,19 +7,11 @@ This chapter describes several testing builders which are available in the `test
<!-- Old anchor name so links still work -->
[]{#tester-hasPkgConfigModule}
Checks whether a package exposes a given list of `pkg-config` modules.
If the `moduleNames` argument is omitted, `hasPkgConfigModules` will
use `meta.pkgConfigModules`.
If the `moduleNames` argument is omitted, `hasPkgConfigModules` will use `meta.pkgConfigModules`.
Example:
:::{.example #ex-haspkgconfigmodules-defaultvalues}
```nix
passthru.tests.pkg-config = testers.hasPkgConfigModules {
package = finalAttrs.finalPackage;
moduleNames = [ "libfoo" ];
};
```
If the package in question has `meta.pkgConfigModules` set, it is even simpler:
# Check that `pkg-config` modules are exposed using default values
```nix
passthru.tests.pkg-config = testers.hasPkgConfigModules {
@ -28,6 +21,21 @@ passthru.tests.pkg-config = testers.hasPkgConfigModules {
meta.pkgConfigModules = [ "libfoo" ];
```
:::
:::{.example #ex-haspkgconfigmodules-explicitmodules}
# Check that `pkg-config` modules are exposed using explicit module names
```nix
passthru.tests.pkg-config = testers.hasPkgConfigModules {
package = finalAttrs.finalPackage;
moduleNames = [ "libfoo" ];
};
```
:::
## `testVersion` {#tester-testVersion}
Checks that the output from running a command contains the specified version string in it as a whole word.
@ -83,7 +91,18 @@ This returns a derivation with an override on the builder, with the following ef
- Move `$out` to `$out/result`, if it exists (assuming `out` is the default output)
- Save the build log to `$out/testBuildFailure.log` (same)
Example:
While `testBuildFailure` is designed to keep changes to the original builder's environment to a minimum, some small changes are inevitable:
- The file `$TMPDIR/testBuildFailure.log` is present. It should not be deleted.
- `stdout` and `stderr` are a pipe instead of a tty. This could be improved.
- One or two extra processes are present in the sandbox during the original builder's execution.
- The derivation and output hashes are different, but not unusual.
- The derivation includes a dependency on `buildPackages.bash` and `expect-failure.sh`, which is built to include a transitive dependency on `buildPackages.coreutils` and possibly more.
These are not added to `PATH` or any other environment variable, so they should be hard to observe.
:::{.example #ex-testBuildFailure-showingenvironmentchanges}
# Check that a build fails, and verify the changes made during build
```nix
runCommand "example" {
@ -100,24 +119,15 @@ runCommand "example" {
'';
```
While `testBuildFailure` is designed to keep changes to the original builder's
environment to a minimum, some small changes are inevitable.
- The file `$TMPDIR/testBuildFailure.log` is present. It should not be deleted.
- `stdout` and `stderr` are a pipe instead of a tty. This could be improved.
- One or two extra processes are present in the sandbox during the original
builder's execution.
- The derivation and output hashes are different, but not unusual.
- The derivation includes a dependency on `buildPackages.bash` and
`expect-failure.sh`, which is built to include a transitive dependency on
`buildPackages.coreutils` and possibly more. These are not added to `PATH`
or any other environment variable, so they should be hard to observe.
:::
## `testEqualContents` {#tester-equalContents}
Check that two paths have the same contents.
Example:
:::{.example #ex-testEqualContents-toyexample}
# Check that two paths have the same contents
```nix
testers.testEqualContents {
@ -137,17 +147,20 @@ testers.testEqualContents {
}
```
:::
## `testEqualDerivation` {#tester-testEqualDerivation}
Checks that two packages produce the exact same build instructions.
This can be used to make sure that a certain difference of configuration,
such as the presence of an overlay does not cause a cache miss.
This can be used to make sure that a certain difference of configuration, such as the presence of an overlay does not cause a cache miss.
When the derivations are equal, the return value is an empty file.
Otherwise, the build log explains the difference via `nix-diff`.
Example:
:::{.example #ex-testEqualDerivation-hello}
# Check that two packages produce the same derivation
```nix
testers.testEqualDerivation
@ -156,29 +169,28 @@ testers.testEqualDerivation
(hello.overrideAttrs(o: { doCheck = true; }))
```
:::
## `invalidateFetcherByDrvHash` {#tester-invalidateFetcherByDrvHash}
Use the derivation hash to invalidate the output via name, for testing.
Type: `(a@{ name, ... } -> Derivation) -> a -> Derivation`
Normally, fixed output derivations can and should be cached by their output
hash only, but for testing we want to re-fetch everytime the fetcher changes.
Normally, fixed output derivations can and should be cached by their output hash only, but for testing we want to re-fetch everytime the fetcher changes.
Changes to the fetcher become apparent in the drvPath, which is a hash of
how to fetch, rather than a fixed store path.
By inserting this hash into the name, we can make sure to re-run the fetcher
every time the fetcher changes.
Changes to the fetcher become apparent in the drvPath, which is a hash of how to fetch, rather than a fixed store path.
By inserting this hash into the name, we can make sure to re-run the fetcher every time the fetcher changes.
This relies on the assumption that Nix isn't clever enough to reuse its
database of local store contents to optimize fetching.
This relies on the assumption that Nix isn't clever enough to reuse its database of local store contents to optimize fetching.
You might notice that the "salted" name derives from the normal invocation,
not the final derivation. `invalidateFetcherByDrvHash` has to invoke the fetcher
function twice: once to get a derivation hash, and again to produce the final
fixed output derivation.
You might notice that the "salted" name derives from the normal invocation, not the final derivation.
`invalidateFetcherByDrvHash` has to invoke the fetcher function twice:
once to get a derivation hash, and again to produce the final fixed output derivation.
Example:
:::{.example #ex-invalidateFetcherByDrvHash-nix}
# Prevent nix from reusing the output of a fetcher
```nix
tests.fetchgit = testers.invalidateFetcherByDrvHash fetchgit {
@ -189,13 +201,17 @@ tests.fetchgit = testers.invalidateFetcherByDrvHash fetchgit {
};
```
:::
## `runNixOSTest` {#tester-runNixOSTest}
A helper function that behaves exactly like the NixOS `runTest`, except it also assigns this Nixpkgs package set as the `pkgs` of the test and makes the `nixpkgs.*` options read-only.
If your test is part of the Nixpkgs repository, or if you need a more general entrypoint, see ["Calling a test" in the NixOS manual](https://nixos.org/manual/nixos/stable/index.html#sec-calling-nixos-tests).
Example:
:::{.example #ex-runNixOSTest-hello}
# Run a NixOS test using `runNixOSTest`
```nix
pkgs.testers.runNixOSTest ({ lib, ... }: {
@ -209,19 +225,17 @@ pkgs.testers.runNixOSTest ({ lib, ... }: {
})
```
:::
## `nixosTest` {#tester-nixosTest}
Run a NixOS VM network test using this evaluation of Nixpkgs.
NOTE: This function is primarily for external use. NixOS itself uses `make-test-python.nix` directly. Packages defined in Nixpkgs [reuse NixOS tests via `nixosTests`, plural](#ssec-nixos-tests-linking).
It is mostly equivalent to the function `import ./make-test-python.nix` from the
[NixOS manual](https://nixos.org/nixos/manual/index.html#sec-nixos-tests),
except that the current application of Nixpkgs (`pkgs`) will be used, instead of
letting NixOS invoke Nixpkgs anew.
It is mostly equivalent to the function `import ./make-test-python.nix` from the [NixOS manual](https://nixos.org/nixos/manual/index.html#sec-nixos-tests), except that the current application of Nixpkgs (`pkgs`) will be used, instead of letting NixOS invoke Nixpkgs anew.
If a test machine needs to set NixOS options under `nixpkgs`, it must set only the
`nixpkgs.pkgs` option.
If a test machine needs to set NixOS options under `nixpkgs`, it must set only the `nixpkgs.pkgs` option.
### Parameter {#tester-nixosTest-parameter}

View file

@ -41,6 +41,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- `k9s` was updated to v0.29. There have been breaking changes in the config file format, check out the [changelog](https://github.com/derailed/k9s/releases/tag/v0.29.0) for details.
- `nitter` requires a `guest_accounts.jsonl` to be provided as a path or loaded into the default location at `/var/lib/nitter/guest_accounts.jsonl`. See [Guest Account Branch Deployment](https://github.com/zedeus/nitter/wiki/Guest-Account-Branch-Deployment) for details.
- Invidious has changed its default database username from `kemal` to `invidious`. Setups involving an externally provisioned database (i.e. `services.invidious.database.createLocally == false`) should adjust their configuration accordingly. The old `kemal` user will not be removed automatically even when the database is provisioned automatically.(https://github.com/NixOS/nixpkgs/pull/265857)
- `mkosi` was updated to v19. Parts of the user interface have changed. Consult the

View file

@ -49,7 +49,14 @@ in {
default = true;
};
package = lib.mkPackageOption pkgs "nix-direnv" {};
package = lib.mkOption {
default = pkgs.nix-direnv.override { nix = config.nix.package; };
defaultText = "pkgs.nix-direnv";
type = lib.types.package;
description = lib.mdDoc ''
The nix-direnv package to use
'';
};
};
};

View file

@ -26,13 +26,28 @@ let
};
};
defaultSwayPackage = pkgs.sway.override {
extraSessionCommands = cfg.extraSessionCommands;
extraOptions = cfg.extraOptions;
withBaseWrapper = cfg.wrapperFeatures.base;
withGtkWrapper = cfg.wrapperFeatures.gtk;
isNixOS = true;
};
genFinalPackage = pkg:
let
expectedArgs = lib.naturalSort [
"extraSessionCommands"
"extraOptions"
"withBaseWrapper"
"withGtkWrapper"
"isNixOS"
];
existedArgs = with lib;
naturalSort
(intersectLists expectedArgs (attrNames (functionArgs pkg.override)));
in if existedArgs != expectedArgs then
pkg
else
pkg.override {
extraSessionCommands = cfg.extraSessionCommands;
extraOptions = cfg.extraOptions;
withBaseWrapper = cfg.wrapperFeatures.base;
withGtkWrapper = cfg.wrapperFeatures.gtk;
isNixOS = true;
};
in {
options.programs.sway = {
enable = mkEnableOption (lib.mdDoc ''
@ -44,14 +59,16 @@ in {
package = mkOption {
type = with types; nullOr package;
default = defaultSwayPackage;
default = pkgs.sway;
apply = p: if p == null then null else genFinalPackage p;
defaultText = literalExpression "pkgs.sway";
description = lib.mdDoc ''
Sway package to use. Will override the options
'wrapperFeatures', 'extraSessionCommands', and 'extraOptions'.
Set to `null` to not add any Sway package to your
path. This should be done if you want to use the Home Manager Sway
module to install Sway.
Sway package to use. If the package does not contain the override arguments
`extraSessionCommands`, `extraOptions`, `withBaseWrapper`, `withGtkWrapper`,
`isNixOS`, then the module options {option}`wrapperFeatures`,
{option}`wrapperFeatures` and {option}`wrapperFeatures` will have no effect.
Set to `null` to not add any Sway package to your path. This should be done if
you want to use the Home Manager Sway module to install Sway.
'';
};

View file

@ -35,6 +35,12 @@ let
type = lib.types.str;
};
extraGroups = lib.mkOption {
default = [ "keys" ];
description = lib.mdDoc "Groups the user for this buildkite agent should belong to";
type = lib.types.listOf lib.types.str;
};
runtimePackages = lib.mkOption {
default = [ pkgs.bash pkgs.gnutar pkgs.gzip pkgs.git pkgs.nix ];
defaultText = lib.literalExpression "[ pkgs.bash pkgs.gnutar pkgs.gzip pkgs.git pkgs.nix ]";
@ -150,7 +156,7 @@ in
home = cfg.dataDir;
createHome = true;
description = "Buildkite agent user";
extraGroups = [ "keys" ];
extraGroups = cfg.extraGroups;
isSystemUser = true;
group = "buildkite-agent-${name}";
};

View file

@ -304,6 +304,23 @@ in
'';
};
guestAccounts = mkOption {
type = types.path;
default = "/var/lib/nitter/guest_accounts.jsonl";
description = lib.mdDoc ''
Path to the guest accounts file.
This file contains a list of guest accounts that can be used to
access the instance without logging in. The file is in JSONL format,
where each line is a JSON object with the following fields:
{"oauth_token":"some_token","oauth_token_secret":"some_secret_key"}
See https://github.com/zedeus/nitter/wiki/Guest-Account-Branch-Deployment
for more information on guest accounts and how to generate them.
'';
};
redisCreateLocally = mkOption {
type = types.bool;
default = true;
@ -333,8 +350,12 @@ in
after = [ "network-online.target" ];
serviceConfig = {
DynamicUser = true;
LoadCredential="guestAccountsFile:${cfg.guestAccounts}";
StateDirectory = "nitter";
Environment = [ "NITTER_CONF_FILE=/var/lib/nitter/nitter.conf" ];
Environment = [
"NITTER_CONF_FILE=/var/lib/nitter/nitter.conf"
"NITTER_ACCOUNTS_FILE=%d/guestAccountsFile"
];
# Some parts of Nitter expect `public` folder in working directory,
# see https://github.com/zedeus/nitter/issues/414
WorkingDirectory = "${cfg.package}/share/nitter";

View file

@ -136,7 +136,7 @@ let
# System Call Filtering
SystemCallFilter = [ ("~" + lib.concatStringsSep " " systemCallsList) "@chown" "pipe" "pipe2" ];
} // cfgService;
path = with pkgs; [ file imagemagick ffmpeg ];
path = with pkgs; [ ffmpeg-headless file imagemagick ];
})
) cfg.sidekiqProcesses;
@ -773,7 +773,7 @@ in {
# System Call Filtering
SystemCallFilter = [ ("~" + lib.concatStringsSep " " systemCallsList) "@chown" "pipe" "pipe2" ];
} // cfgService;
path = with pkgs; [ file imagemagick ffmpeg ];
path = with pkgs; [ ffmpeg-headless file imagemagick ];
};
systemd.services.mastodon-media-auto-remove = lib.mkIf cfg.mediaAutoRemove.enable {

View file

@ -1,13 +1,28 @@
import ./make-test-python.nix ({ pkgs, ... }:
let
# In a real deployment this should naturally not common from the nix store
# and be seeded via agenix or as a non-nix managed file.
#
# These credentials are from the nitter wiki and are expired. We must provide
# credentials in the correct format, otherwise nitter fails to start. They
# must not be valid, as unauthorized errors are handled gracefully.
guestAccountFile = pkgs.writeText "guest_accounts.jsonl" ''
{"oauth_token":"1719213587296620928-BsXY2RIJEw7fjxoNwbBemgjJhueK0m","oauth_token_secret":"N0WB0xhL4ng6WTN44aZO82SUJjz7ssI3hHez2CUhTiYqy"}
'';
in
{
name = "nitter";
meta.maintainers = with pkgs.lib.maintainers; [ erdnaxe ];
nodes.machine = {
services.nitter.enable = true;
# Test CAP_NET_BIND_SERVICE
services.nitter.server.port = 80;
services.nitter = {
enable = true;
# Test CAP_NET_BIND_SERVICE
server.port = 80;
# Provide dummy guest accounts
guestAccounts = guestAccountFile;
};
};
testScript = ''

View file

@ -27,11 +27,11 @@ let
in
stdenv.mkDerivation rec {
pname = "PortfolioPerformance";
version = "0.65.6";
version = "0.66.2";
src = fetchurl {
url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
hash = "sha256-sI2DqhR9LmXxjkkMTDiMG/f/QXcBVPmEjbHFsmEP8qE=";
hash = "sha256-jUakjgprf561OVwBW25+/+q+r2CZ6H1iDM3n6w54IfI=";
};
nativeBuildInputs = [
@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
homepage = "https://www.portfolio-performance.info/";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.epl10;
maintainers = with maintainers; [ elohmeier oyren shawn8901 ];
maintainers = with maintainers; [ elohmeier kilianar oyren shawn8901 ];
mainProgram = "portfolio";
platforms = [ "x86_64-linux" ];
};

View file

@ -25,6 +25,7 @@
, pugixml
, qtbase
, qtmultimedia
, utf8cpp
, xdg-utils
, zlib
, withGUI ? true
@ -32,7 +33,8 @@
}:
let
inherit (lib) enableFeature optional optionals optionalString;
inherit (lib)
enableFeature getDev getLib optionals optionalString;
phase = name: args:
''
@ -64,10 +66,9 @@ stdenv.mkDerivation rec {
pkg-config
rake
]
++ optional withGUI wrapQtAppsHook;
++ optionals withGUI [ wrapQtAppsHook ];
# 1. qtbase and qtmultimedia are needed without the GUI
# 2. we have utf8cpp in nixpkgs but it doesn't find it
# qtbase and qtmultimedia are needed without the GUI
buildInputs = [
boost
expat
@ -84,11 +85,12 @@ stdenv.mkDerivation rec {
pugixml
qtbase
qtmultimedia
utf8cpp
xdg-utils
zlib
]
++ optional withGUI cmark
++ optional stdenv.isDarwin libiconv;
++ optionals withGUI [ cmark ]
++ optionals stdenv.isDarwin [ libiconv ];
# autoupdate is not needed but it silences a ton of pointless warnings
postPatch = ''
@ -103,9 +105,11 @@ stdenv.mkDerivation rec {
"--disable-static-qt"
"--disable-update-check"
"--enable-optimization"
"--with-boost-libdir=${lib.getLib boost}/lib"
"--with-boost-libdir=${getLib boost}/lib"
"--with-docbook-xsl-root=${docbook_xsl}/share/xml/docbook-xsl"
"--with-gettext"
"--with-extra-includes=${getDev utf8cpp}/include/utf8cpp"
"--with-extra-libs=${getLib utf8cpp}/lib"
(enableFeature withGUI "gui")
];

View file

@ -0,0 +1,32 @@
{ fetchFromGitLab, lib, python3Packages, qt5 }:
let
pname = "amphetype";
version = "1.0.0";
in python3Packages.buildPythonApplication {
inherit pname version;
src = fetchFromGitLab {
owner = "franksh";
repo = pname;
rev = "v${version}";
hash = "sha256-pve2f+XMfFokMCtW3KdeOJ9Ey330Gwv/dk1+WBtrBEQ=";
};
propagatedBuildInputs = with python3Packages; [
editdistance
pyqt5
translitcodec
];
doCheck = false;
nativeBuildInputs = [ qt5.wrapQtAppsHook ];
meta = with lib; {
description = "An advanced typing practice program";
homepage = "https://gitlab.com/franksh/amphetype";
license = licenses.gpl3Only;
maintainers = with maintainers; [ rycee ];
};
}

View file

@ -0,0 +1,69 @@
{ lib
, stdenv
, fetchFromGitHub
, qt5
, makeDesktopItem
, copyDesktopItems
}:
stdenv.mkDerivation (self: {
pname = "cloudlogoffline";
version = "1.1.4";
rev = "185f294ec36d7ebe40e37d70148b15f58d60bf0d";
hash = "sha256-UEi7q3NbTgkg4tSjiksEO05YE4yjRul4qB9hFPswnK0=";
src = fetchFromGitHub {
inherit (self) rev hash;
owner = "myzinsky";
repo = "cloudLogOffline";
};
nativeBuildInputs = [
qt5.qmake
qt5.wrapQtAppsHook
]
++ lib.optionals (!stdenv.isDarwin) [
copyDesktopItems
];
buildInputs = [
qt5.qtbase
qt5.qtgraphicaleffects
qt5.qtlocation
qt5.qtpositioning
qt5.qtquickcontrols2
qt5.qtsvg
];
postPatch = let
targetDir = if stdenv.isDarwin then "Applications" else "bin";
in ''
substituteInPlace CloudLogOffline.pro \
--replace 'target.path = /opt/$''${TARGET}/bin' "target.path = $out/${targetDir}"
'';
postInstall = lib.optionalString (!stdenv.isDarwin) ''
install -d $out/share/pixmaps
install -m644 images/logo_circle.svg $out/share/pixmaps/cloudlogoffline.svg
'';
desktopItems = lib.optionals (!stdenv.isDarwin) [
(makeDesktopItem {
name = "cloudlogoffline";
desktopName = "CloudLogOffline";
exec = "CloudLogOffline";
icon = "cloudlogoffline";
comment = self.meta.description;
genericName = "Ham radio contact logbook";
categories = [ "Network" "Utility" "HamRadio" ];
})
];
meta = {
description = "Offline frontend for Cloudlog";
homepage = "https://github.com/myzinsky/cloudLogOffline";
license = [ lib.licenses.lgpl3 ];
mainProgram = "CloudLogOffline";
maintainers = [ lib.maintainers.dblsaiko ];
platforms = lib.platforms.unix;
};
})

View file

@ -0,0 +1,28 @@
{ lib
, stdenv
, fetchFromGitHub
, php
}:
php.buildComposerProject (finalAttrs: {
pname = "composer-require-checker";
version = "4.8.0";
src = fetchFromGitHub {
owner = "maglnet";
repo = "ComposerRequireChecker";
rev = finalAttrs.version;
hash = "sha256-qCHUNaPunCPuWax/YUbYXaVh1JlJEwYvG/NmaSc1VpA=";
};
vendorHash = "sha256-B5w5n2S/mTF7vpsLuHtf2DGR5aPBfO9QGmodYGXE+Cg=";
meta = {
description = "A CLI tool to check whether a specific composer package uses imported symbols that aren't part of its direct composer dependencies";
homepage = "https://github.com/maglnet/ComposerRequireChecker/";
changelog = "https://github.com/maglnet/ComposerRequireChecker/releases/tag/${finalAttrs.version}";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ drupol ];
mainProgram = "composer-require-checker";
};
})

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "didder";
version = "1.2.0";
version = "1.3.0";
src = fetchFromGitHub {
owner = "makew0rld";
repo = pname;
rev = "v${version}";
hash = "sha256-S1j2TdV0XCrSc7Ua+SdY3JJoWgnFuAMGhUinTKO2Xh4=";
hash = "sha256-wYAudEyOLxbNfk4M720absGkuWXcaBPyBAcmBNBaaWU=";
};
vendorHash = "sha256-TEp1YrQquqdEMVvZaNsEB1H/DZsTYmRL257RjQF2JqM=";
vendorHash = "sha256-UD90N3nE3H9GSdVhGt1zfCk8BhPaToKGu4i0zP0Lb3Q=";
nativeBuildInputs = [ pandoc ];

View file

@ -62,11 +62,11 @@
"packages": [
"jsony"
],
"path": "/nix/store/bzcq8q439rdsqhhihikzv3rsx4l4ybdm-source",
"rev": "ea811be",
"sha256": "1720iqsxjhqmhw1zhhs7d2ncdz25r8fqadls1p1iry1wfikjlnba",
"path": "/nix/store/l84av0wdc0s4r4alsvkaxcxhpd6j4bzg-source",
"rev": "1de1f08",
"sha256": "0rj205cs3v6g80h8ys9flbdq4wyd1csmkwdxv0lz21972zcsrcfh",
"srcDir": "src",
"url": "https://github.com/treeform/jsony/archive/ea811be.tar.gz"
"url": "https://github.com/treeform/jsony/archive/1de1f08.tar.gz"
},
{
"method": "fetchzip",
@ -95,11 +95,22 @@
"packages": [
"nimcrypto"
],
"path": "/nix/store/dnj20qh97ylf57nka9wbxs735wbw7yxv-source",
"rev": "4014ef9",
"sha256": "1kgqr2lqaffglc1fgbanwcvhkqcbbd20d5b6w4lf0nksfl9c357a",
"path": "/nix/store/zyr8zwh7vaiycn1s4r8cxwc71f2k5l0h-source",
"rev": "a079df9",
"sha256": "1dmdmgb6b9m5f8dyxk781nnd61dsk3hdxqks7idk9ncnpj9fng65",
"srcDir": "",
"url": "https://github.com/cheatfate/nimcrypto/archive/4014ef9.tar.gz"
"url": "https://github.com/cheatfate/nimcrypto/archive/a079df9.tar.gz"
},
{
"method": "fetchzip",
"packages": [
"oauth"
],
"path": "/nix/store/bwmrrzs6xpwizmww35461x3lqpgd0942-source",
"rev": "b8c163b",
"sha256": "0k5slyzjngbdr6g0b0dykhqmaf8r8n2klbkg2gpid4ckm8hg62v5",
"srcDir": "src",
"url": "https://github.com/CORDEA/oauth/archive/b8c163b.tar.gz"
},
{
"method": "fetchzip",
@ -156,6 +167,18 @@
"srcDir": "src",
"url": "https://github.com/dom96/sass/archive/7dfdd03.tar.gz"
},
{
"method": "fetchzip",
"packages": [
"sha1"
],
"path": "/nix/store/a6a0ycxsaxpqks42aq9wicj8ars7z7ai-source",
"ref": "master",
"rev": "92ccc5800bb0ac4865b275a2ce3c1544e98b48bc",
"sha256": "00zvvd8ssy22srg74xzapknmgmi82v534npjdrk5805shswfhqdm",
"srcDir": "",
"url": "https://github.com/onionhammer/sha1/archive/92ccc5800bb0ac4865b275a2ce3c1544e98b48bc.tar.gz"
},
{
"method": "fetchzip",
"packages": [

View file

@ -8,13 +8,13 @@
buildNimPackage (finalAttrs: prevAttrs: {
pname = "nitter";
version = "unstable-2023-10-31";
version = "unstable-2023-12-03";
src = fetchFromGitHub {
owner = "zedeus";
repo = "nitter";
rev = "b62d73dbd373f08af07c7a79efcd790d3bc1a49c";
hash = "sha256-yCD7FbqWZMY0fyFf9Q3Ka06nw5Ha7jYLpmPONAhEVIM=";
rev = "583c858cdf3486451ed6a0627640844f27009dbe";
hash = "sha256-3E6nfmOFhQ2bjwGMWdTmZ38Fg/SE36s6fxYDXwSJaTw=";
};
lockFile = ./lock.json;

View file

@ -5,16 +5,16 @@
buildGoModule rec {
pname = "terrapin-scanner";
version = "1.0.3";
version = "1.1.0";
src = fetchFromGitHub {
owner = "RUB-NDS";
repo = "Terrapin-Scanner";
rev = "refs/tags/v${version}";
hash = "sha256-snKEIWhFj+uG/jY1nbq/8T0y2FcAdkIUTf9J2Lz6owo=";
hash = "sha256-d0aAs9dT74YQkzDQnmeEo+p/RnPHeG2+SgCCF/t1F+w=";
};
vendorHash = null;
vendorHash = "sha256-skYMlL9SbBoC89tFCTIzyRViEJaviXENASEqr6zSvoo=";
ldflags = [
"-s"

View file

@ -76,13 +76,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gdal";
version = "3.8.1";
version = "3.8.2";
src = fetchFromGitHub {
owner = "OSGeo";
repo = "gdal";
rev = "v${finalAttrs.version}";
hash = "sha256-EQWAJZgufUC0FADuIotrGhP0Nf5qlgOwmiSlqLSv00A=";
hash = "sha256-R21zRjEvJO+97yXJDvzDJryQ7ps9uEN62DZ0GCxdoFk=";
};
nativeBuildInputs = [

View file

@ -1,14 +1,13 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, six
, requests
, django
, boto3
, hatchling
, python
, mock
, pytestCheckHook
, pytest-django
, setuptools
, responses
}:
buildPythonPackage rec {
@ -24,32 +23,31 @@ buildPythonPackage rec {
};
nativeBuildInputs = [
setuptools
hatchling
];
propagatedBuildInputs = [
six
requests
django
boto3
];
nativeCheckInputs = [
pytestCheckHook
pytest-django
mock
];
responses
] ++ passthru.optional-dependencies.amazon-ses;
disabledTests = [
# Require networking
"test_debug_logging"
"test_no_debug_logging"
];
passthru.optional-dependencies = {
amazon-ses = [ boto3 ];
};
checkPhase = ''
runHook preCheck
CONTINUOUS_INTEGRATION=1 ${python.interpreter} runtests.py
runHook postCheck
'';
pythonImportsCheck = [ "anymail" ];
DJANGO_SETTINGS_MODULE = "tests.test_settings.settings_3_2";
meta = with lib; {
description = "Django email backends and webhooks for Mailgun";
homepage = "https://github.com/anymail/django-anymail";

View file

@ -30,12 +30,15 @@ buildPythonPackage rec {
# tests require docker
doCheck = false;
pythonImportsCheck = [ "dockerspawner" ];
pythonImportsCheck = [
"dockerspawner"
];
meta = with lib; {
description = "Dockerspawner: A custom spawner for Jupyterhub";
homepage = "https://jupyter.org";
description = "A custom spawner for Jupyterhub";
homepage = "https://github.com/jupyterhub/dockerspawner";
changelog = "https://github.com/jupyterhub/dockerspawner/blob/${version}/docs/source/changelog.md";
license = licenses.bsd3;
maintainers = [ ];
maintainers = with maintainers; [ ];
};
}

View file

@ -28,14 +28,14 @@
buildPythonPackage rec {
pname = "etils";
version = "1.5.2";
format = "pyproject";
version = "1.6.0";
pyproject = true;
disabled = pythonOlder "3.8";
disabled = pythonOlder "3.10";
src = fetchPypi {
inherit pname version;
hash = "sha256-umo+Gv+Vx2kTB3aqF2wRVAY39d2IHzt5FypRSbaxxEY=";
hash = "sha256-xjX70Cp5/tStdoJdMTBrWB0itAZxch2qi8J5z2Mz5Io=";
};
nativeBuildInputs = [
@ -81,7 +81,7 @@ buildPythonPackage rec {
meta = with lib; {
changelog = "https://github.com/google/etils/blob/v${version}/CHANGELOG.md";
description = "Collection of eclectic utils for python";
description = "Collection of eclectic utils";
homepage = "https://github.com/google/etils";
license = licenses.asl20;
maintainers = with maintainers; [ mcwitt ];

View file

@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "faraday-plugins";
version = "1.14.0";
version = "1.15.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "infobyte";
repo = "faraday_plugins";
rev = "refs/tags/${version}";
hash = "sha256-qFA0AVebHd/Ny8x+rUkueLZhYB/PwL7o/qpUnZCRsEA=";
hash = "sha256-2Z3S5zojaRVaeeujFor/g3x+rxKppw/jSyq0GRJ49OY=";
};
postPatch = ''

View file

@ -1,23 +1,28 @@
{ lib
, buildPythonPackage
, fetchPypi
, pythonOlder
, sgmllib3k
, python
, pythonOlder
, setuptools
, sgmllib3k
}:
buildPythonPackage rec {
pname = "feedparser";
version = "6.0.10";
format = "setuptools";
version = "6.0.11";
pyproject = true;
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
hash = "sha256-J9pIX0Y3znFjzeqxOoAxK5O30MG3db70pHYpoxELylE=";
hash = "sha256-ydBAe2TG8qBl0OuyksKzXAEFDMDcM3V0Yaqr3ExBhNU=";
};
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
sgmllib3k
];
@ -36,8 +41,9 @@ buildPythonPackage rec {
];
meta = with lib; {
homepage = "https://github.com/kurtmckee/feedparser";
description = "Universal feed parser";
homepage = "https://github.com/kurtmckee/feedparser";
changelog = "https://feedparser.readthedocs.io/en/latest/changelog.html";
license = licenses.bsd2;
maintainers = with maintainers; [ domenkozar ];
};

View file

@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "gehomesdk";
version = "0.5.25";
version = "0.5.26";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-VQSefwzw4zA9ycO8723kBlMbtrOJxmKgZ8tfXZmtyQc=";
hash = "sha256-eIpBVfkUIQBriZ4wxp8ii5YmuuKF8r0lNauBEEqoNV8=";
};
propagatedBuildInputs = [

View file

@ -2,31 +2,42 @@
, buildPythonPackage
, fetchPypi
, protobuf
, setuptools-scm
, pythonRelaxDepsHook
, pytestCheckHook
, pythonOlder
, pythonRelaxDepsHook
, setuptools-scm
, uharfbuzz
, youseedee
}:
buildPythonPackage rec {
pname = "gflanguages";
version = "0.5.10";
version = "0.5.13";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-JVeI7TlJjbKCa+gGmjylbNiEhX3qmpbLXiH3VpFqgXc=";
hash = "sha256-LoppJHzX0dOpHnwMCyS1ACdIO4cqwb370ksvsXDFHzQ=";
};
propagatedBuildInputs = [
protobuf
# Relax the dependency on protobuf 3. Other packages in the Google Fonts
# ecosystem have begun upgrading from protobuf 3 to protobuf 4,
# so we need to use protobuf 4 here as well to avoid a conflict
# in the closure of fontbakery. It seems to be compatible enough.
pythonRelaxDeps = [
"protobuf"
];
nativeBuildInputs = [
setuptools-scm
];
doCheck = true;
propagatedBuildInputs = [
protobuf
];
nativeCheckInputs = [
pythonRelaxDepsHook
pytestCheckHook
@ -34,15 +45,10 @@ buildPythonPackage rec {
youseedee
];
# Relax the dependency on protobuf 3. Other packages in the Google Fonts
# ecosystem have begun upgrading from protobuf 3 to protobuf 4,
# so we need to use protobuf 4 here as well to avoid a conflict
# in the closure of fontbakery. It seems to be compatible enough.
pythonRelaxDeps = [ "protobuf" ];
meta = with lib; {
description = "Python library for Google Fonts language metadata";
homepage = "https://github.com/googlefonts/lang";
changelog = "https://github.com/googlefonts/lang/releases/tag/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ danc86 ];
};

View file

@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "google-cloud-bigquery-datatransfer";
version = "3.12.1";
version = "3.13.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-uEWnQIGs4yybuukzgrAqaduFYKNW9h/WouX2MzSVgUg=";
hash = "sha256-J6hFyyJgWlEsBc4owokNLvl61O38mBevVVpz2AJOw7o=";
};
propagatedBuildInputs = [
@ -50,8 +50,8 @@ buildPythonPackage rec {
meta = with lib; {
description = "BigQuery Data Transfer API client library";
homepage = "https://github.com/googleapis/python-bigquery-datatransfer";
changelog = "https://github.com/googleapis/python-bigquery-datatransfer/blob/v${version}/CHANGELOG.md";
homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-bigquery-datatransfer";
changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-bigquery-datatransfer-v${version}/packages/google-cloud-bigquery-datatransfer/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ ];
};

View file

@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "google-cloud-iam-logging";
version = "1.2.2";
version = "1.3.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-6IBjA2WwP11d/vQJSIY3WhbqYvAgFRtZFFSffUqKM38=";
hash = "sha256-oLqRmxNPbb+nUMN70kGlAtBCji4wXrbRv2DhNMcZV5c=";
};
propagatedBuildInputs = [
@ -43,8 +43,8 @@ buildPythonPackage rec {
meta = with lib; {
description = "IAM Service Logging client library";
homepage = "https://github.com/googleapis/python-iam-logging";
changelog = "https://github.com/googleapis/python-iam-logging/blob/v${version}/CHANGELOG.md";
homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-iam-logging";
changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-iam-logging-v${version}/packages/google-cloud-iam-logging/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};

View file

@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "google-cloud-tasks";
version = "2.14.2";
version = "2.15.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-PvsoDnpjX1eGCgajRhMcEXBC6CCtSDr9JWgA+uG01wE=";
hash = "sha256-SpmTjbARHVU3hkG1I1uY5r12S8jip+JN9wb4uGO98nw=";
};
propagatedBuildInputs = [
@ -50,8 +50,8 @@ buildPythonPackage rec {
meta = with lib; {
description = "Cloud Tasks API API client library";
homepage = "https://github.com/googleapis/python-tasks";
changelog = "https://github.com/googleapis/python-tasks/blob/v${version}/CHANGELOG.md";
homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-tasks";
changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-tasks-v${version}/packages/google-cloud-tasks/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ ];
};

View file

@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "google-cloud-texttospeech";
version = "2.14.2";
version = "2.15.0";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-ojc4NmmI+vTSZSAPV8XeQxLvo9FLtDS5Km5UFxP12QY=";
hash = "sha256-d4Y+1U94/NLhlMoRPJzF5+QLhzBszsG6MH5G3PgfBzc=";
};
propagatedBuildInputs = [
@ -48,8 +48,8 @@ buildPythonPackage rec {
meta = with lib; {
description = "Google Cloud Text-to-Speech API client library";
homepage = "https://github.com/googleapis/python-texttospeech";
changelog = "https://github.com/googleapis/python-texttospeech/blob/v${version}/CHANGELOG.md";
homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-texttospeech";
changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-texttospeech-v${version}/packages/google-cloud-texttospeech/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ ];
};

View file

@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "google-cloud-trace";
version = "1.11.3";
version = "1.12.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-ud0MLfv5Oy3AV6RdAkyMbCxM2+55txtfoekTB1eznFE=";
hash = "sha256-IvbMxHbOMQHUH7q86sP+/N/gV9KWez6OIMAmcTY6Uko=";
};
propagatedBuildInputs = [
@ -50,8 +50,8 @@ buildPythonPackage rec {
meta = with lib; {
description = "Cloud Trace API client library";
homepage = "https://github.com/googleapis/python-trace";
changelog = "https://github.com/googleapis/python-trace/blob/v${version}/CHANGELOG.md";
homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-trace";
changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-trace-v${version}/packages/google-cloud-trace/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ ];
};

View file

@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "google-cloud-videointelligence";
version = "2.11.4";
version = "2.12.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-B6zimaY/Wz1EQTdWNIU7Vc6PkMYsaiT4pH6wVBSfb5k=";
hash = "sha256-SwGUkyzSYEGZuIBbwQhpLmoqJZ9Hd1FrnLyXi4hx4pU=";
};
propagatedBuildInputs = [
@ -52,8 +52,8 @@ buildPythonPackage rec {
meta = with lib; {
description = "Google Cloud Video Intelligence API client library";
homepage = "https://github.com/googleapis/python-videointelligence";
changelog = "https://github.com/googleapis/python-videointelligence/blob/v${version}/CHANGELOG.md";
homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-videointelligence";
changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-videointelligence-v${version}/packages/google-cloud-videointelligence/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ ];
};

View file

@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "google-cloud-websecurityscanner";
version = "1.12.3";
version = "1.13.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-zu4e4MTpc24p5ZWeRfVQwX0brciaz80FDGbxy6UppEA=";
hash = "sha256-vktbTjzNYMa8otEGGq36fYOKcNuNasWql4SBWbk84Iw=";
};
propagatedBuildInputs = [
@ -41,8 +41,8 @@ buildPythonPackage rec {
meta = with lib; {
description = "Google Cloud Web Security Scanner API client library";
homepage = "https://github.com/googleapis/python-websecurityscanner";
changelog = "https://github.com/googleapis/python-websecurityscanner/blob/v${version}/CHANGELOG.md";
homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-websecurityscanner";
changelog = "https://github.com/googleapis/google-cloud-python/tree/google-cloud-websecurityscanner-v${version}/packages/google-cloud-websecurityscanner";
license = licenses.asl20;
maintainers = with maintainers; [ ];
};

View file

@ -0,0 +1,79 @@
{ lib
, aiohttp
, aresponses
, awesomeversion
, backoff
, buildPythonPackage
, fetchFromGitHub
, mashumaro
, orjson
, poetry-core
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, syrupy
, typer
, yarl
, zeroconf
}:
buildPythonPackage rec {
pname = "gotailwind";
version = "0.2.2";
pyproject = true;
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "frenck";
repo = "python-gotailwind";
rev = "refs/tags/v${version}";
hash = "sha256-JtMBud3iON4xLc9dQdXniv51EBqs7zkat8cYm3q0uEE=";
};
postPatch = ''
# Upstream doesn't set a version for the pyproject.toml
substituteInPlace pyproject.toml \
--replace "0.0.0" "${version}" \
--replace "--cov" ""
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
awesomeversion
backoff
mashumaro
orjson
yarl
zeroconf
];
passthru.optional-dependencies = {
cli = [
typer
];
};
nativeCheckInputs = [
aresponses
pytest-asyncio
pytestCheckHook
syrupy
];
pythonImportsCheck = [
"gotailwind"
];
meta = with lib; {
description = "Modul to communicate with Tailwind garage door openers";
homepage = "https://github.com/frenck/python-gotailwind";
changelog = "https://github.com/frenck/python-gotailwind/releases/tag/v$version";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -7,6 +7,7 @@
, opencv4
, pillow
, scikit-learn
, setuptools
, torch
, torchvision
, ttach
@ -15,19 +16,25 @@
buildPythonPackage rec {
pname = "grad-cam";
version = "1.4.8";
disabled = pythonOlder "3.6";
format = "pyproject";
version = "1.5.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-BNcwDaEEmRsEoJ4nvvGfjZ9LdG0eRqZCFuY5/Gmp5N4=";
hash = "sha256-aw7Z/6/AMKH2PVBcOr8HxsmRDa6c3v8Xd4xa8HTiFGA=";
};
postPatch = ''
substituteInPlace requirements.txt --replace "opencv-python" "opencv"
substituteInPlace requirements.txt\
--replace "opencv-python" "opencv"
'';
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
matplotlib
numpy

View file

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "gspread";
version = "5.12.1";
version = "5.12.3";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "burnash";
repo = "gspread";
rev = "refs/tags/v${version}";
hash = "sha256-cuSR5QWURHSL1o2R4rc/m3KETz3X+78TC8LuuzZghbs=";
hash = "sha256-NmIWGHS40VOUL3IGSR/SW9inbSQFv+2UDgo1FZWROHI=";
};
nativeBuildInputs = [

View file

@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "habluetooth";
version = "0.9.0";
version = "1.0.0";
pyproject = true;
disabled = pythonOlder "3.9";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = "habluetooth";
rev = "refs/tags/v${version}";
hash = "sha256-jAv3ygKsd2leHTR6FAIxaq+PtQbjauzyA+wvxTfTe2g=";
hash = "sha256-bk6UU+QGrkHio5j0/rOup7EQV12F/lb4m4b7JiJ7LFw=";
};
postPatch = ''
@ -61,7 +61,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Library for high availability Bluetooth";
homepage = "https://github.com/Bluetooth-Devices/habluetooth";
changelog = "https://github.com/Bluetooth-Devices/habluetooth/blob/${version}/CHANGELOG.md";
changelog = "https://github.com/Bluetooth-Devices/habluetooth/blob/v${version}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};

View file

@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "ibm-cloud-sdk-core";
version = "3.18.0";
version = "3.18.2";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-vytpQHYZcMFLU/yPwTWvVnxYuXCdsyFL5AOjg91Ryrs=";
hash = "sha256-0gjISrKELopSMEuZHL8fy8q7rMuMqzATkP+c4Y8I+9A=";
};
nativeBuildInputs = [

View file

@ -11,16 +11,16 @@
buildPythonPackage rec {
pname = "id";
version = "1.1.0";
version = "1.2.1";
pyproject = true;
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "di";
repo = "id";
rev = "refs/tags/v${version}";
hash = "sha256-T3p13EnXU1Efysnu1RQw5st1BgHyZNdrKtkzQSguRtM=";
hash = "sha256-njX4kL8pCv6+SyYUtmzUh/BWWsaueKO+IiJ96sAXMVo=";
};
nativeBuildInputs = [

View file

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "life360";
version = "6.0.0";
version = "6.0.1";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "pnbruckner";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-GRQPH7fp8YkkCEpXtvgFxJO6VLFQK/PBaRe0Tfg3KdU=";
hash = "sha256-USqSkjOHlH0K/RlRYpn/gz6dHW8/uEVpsc4HeUZ3Emg=";
};
propagatedBuildInputs = [

View file

@ -11,26 +11,35 @@
buildPythonPackage rec {
pname = "mediapy";
version = "1.1.9";
format = "pyproject";
version = "1.2.0";
pyproject = true;
disabled = pythonOlder "3.6";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-WUOxtE0NfXi0fpdasZTqixPhVV2+Refatvf6dgCb0Z8=";
hash = "sha256-enxOx0hZ+fksk8ibsDWg0Bl/cJeSBHE37bN/D1ucECg=";
};
nativeBuildInputs = [ flit-core ];
nativeBuildInputs = [
flit-core
];
propagatedBuildInputs = [ ipython matplotlib numpy pillow ];
propagatedBuildInputs = [
ipython
matplotlib
numpy
pillow
];
pythonImportsCheck = [ "mediapy" ];
pythonImportsCheck = [
"mediapy"
];
meta = with lib; {
description = "Read/write/show images and videos in an IPython notebook";
homepage = "https://github.com/google/mediapy";
changelog = "https://github.com/google/mediapy/releases/tag/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ mcwitt ];
};

View file

@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "meraki";
version = "1.39.0";
version = "1.41.0";
format = "setuptools";
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-B3+2KnRXWkB83Sy/NH9kJwgSha9L17tx37fFwBjT3Mw=";
hash = "sha256-aXcGMRqkiVPnLEYrzIMLDiFXWurBRNlMg4OnRd5jlrY=";
};
propagatedBuildInputs = [

View file

@ -20,7 +20,7 @@
buildPythonPackage rec {
pname = "meshtastic";
version = "2.2.12";
version = "2.2.16";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -29,7 +29,7 @@ buildPythonPackage rec {
owner = "meshtastic";
repo = "Meshtastic-python";
rev = "refs/tags/${version}";
hash = "sha256-W//mDKtTWjcKT43n82OU3h4yKrNZMAVzLzQCjsmkJP0=";
hash = "sha256-5JEMiSLLVv7p8H5R8BDE5IKGmBb2bSht+s4sCsxWyzU=";
};
propagatedBuildInputs = [

View file

@ -6,18 +6,21 @@
, portmidi
, python-rtmidi
, pytestCheckHook
, pythonOlder
, setuptools
, setuptools-scm
}:
buildPythonPackage rec {
pname = "mido";
version = "1.3.0";
format = "pyproject";
version = "1.3.2";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-hCguOs40vKP5hCINstvLmCRc/q+4VCYMAuAAdQ3Khqo=";
sha256 = "sha256-Ouootu1zD3N9WxLaNXjevp3FAFj6Nw/pzt7ZGJtnw0g=";
};
patches = [
@ -47,6 +50,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "MIDI Objects for Python";
homepage = "https://mido.readthedocs.io";
changelog = "https://github.com/mido/mido/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ ];
};

View file

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "mkdocs-git-revision-date-localized-plugin";
version = "1.2.1";
version = "1.2.2";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "timvink";
repo = "mkdocs-git-revision-date-localized-plugin";
rev = "refs/tags/v${version}";
hash = "sha256-UIbW64ac9kXptJjn86V6vPArnICANiT3QGi5JH45KLY=";
hash = "sha256-6qLVmmJzMTrvuoeSVUjWqmI6f5MbAFWAj36v2l3ZeD8=";
};
propagatedBuildInputs = [

View file

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "ms-active-directory";
version = "1.12.1";
version = "1.13.0";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -20,8 +20,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "zorn96";
repo = "ms_active_directory";
rev = "v${version}";
hash = "sha256-mErQib8xTgo29iPAtiLnhxLXyFboAzyEW9A/QMseM6k=";
rev = "refs/tags/v${version}";
hash = "sha256-+wfhtEGuC1R5jbEnWm4mDHIR096KKEcG/K8SuItwjGk=";
};
propagatedBuildInputs = [
@ -43,6 +43,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python module for integrating with Microsoft Active Directory domains";
homepage = "https://github.com/zorn96/ms_active_directory/";
changelog = "https://github.com/zorn96/ms_active_directory/releases/tag/v${version}";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};

View file

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "msgspec";
version = "0.18.4";
version = "0.18.5";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "jcrist";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-u1mrj/pHvlbSwh6QtRdJKuVGN1zQ6mRITi/qzrCHnhk=";
hash = "sha256-BcENL1vPCspzYdAHicC5AHs/7xZPWf+Yys37vKgbris=";
};
# Requires libasan to be accessible

View file

@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "nibe";
version = "2.5.2";
version = "2.6.0";
pyproject = true;
disabled = pythonOlder "3.9";
@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "yozik04";
repo = "nibe";
rev = "refs/tags/${version}";
hash = "sha256-qlGQtjRG92AhFY+sF3mB4ghIn4kydkbDOolLu9Qh0JM=";
hash = "sha256-VDK6ZCyW8fmp9Ap/AwgLbU5vlyhYXIGYD6eZ3esSCiU=";
};
nativeBuildInputs = [

View file

@ -16,14 +16,14 @@
buildPythonPackage rec {
pname = "onnxmltools";
version = "1.11.2";
version = "1.12.0";
format = "setuptools";
src = fetchFromGitHub {
owner = "onnx";
repo = "onnxmltools";
rev = "v${version}";
hash = "sha256-uLFAGtCDLdMd0SMoonMXFE0kGHuDpwp6IrIbD0t8l4M=";
rev = "refs/tags/${version}";
hash = "sha256-/UKGo56riLnATcn7kA++QoFkkILVGYBwqRZZ+PYB1/0=";
};
propagatedBuildInputs = [

View file

@ -18,7 +18,7 @@
buildPythonPackage rec {
pname = "pyenphase";
version = "1.14.3";
version = "1.15.1";
format = "pyproject";
disabled = pythonOlder "3.11";
@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "pyenphase";
repo = "pyenphase";
rev = "refs/tags/v${version}";
hash = "sha256-cjkmRGieSKynL8cZORp11/ViK8oCBAZXrgbFKumWKaM=";
hash = "sha256-XhcCNp7iA7wTd5ldoCO9QC7o3kmL3jIlumjg8Y5mkVQ=";
};
postPatch = ''

View file

@ -0,0 +1,30 @@
{ lib, buildPythonPackage, fetchFromGitHub, pytestCheckHook, pythonOlder }:
let
pname = "translitcodec";
version = "0.7.0";
in buildPythonPackage {
inherit pname version;
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "claudep";
repo = pname;
rev = "version-${version}";
hash = "sha256-/EKquTchx9i3fZqJ6AMzHYP9yCORvwbuUQ95WJQOQbI=";
};
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ pname ];
meta = with lib; {
description = "Unicode to 8-bit charset transliteration codec";
homepage = "https://github.com/claudep/translitcodec";
license = with licenses; [ mit ];
maintainers = with maintainers; [ rycee ];
};
}

View file

@ -7,22 +7,22 @@
let
pname = "osu-lazer-bin";
version = "2023.1218.1";
version = "2023.1221.0";
src = {
aarch64-darwin = fetchzip {
url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Apple.Silicon.zip";
hash = "sha256-FSxXPvbHjLVKU2rlTY2iqIUZSjOPoTES8Bl8j/Ln+6w=";
hash = "sha256-viurUlCdPU2Jo5IzEfq+As1mW6GI6LZsKocnkgMvsGU=";
stripRoot = false;
};
x86_64-darwin = fetchzip {
url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Intel.zip";
hash = "sha256-d6jumDva2LAmiixxD9RFiKdiuSv1yPVeX8OgNB7DYpM=";
hash = "sha256-fbOqySfBomVoWZvMFWhPAi/cWaH5akRdeMIxBJcFXdg=";
stripRoot = false;
};
x86_64-linux = fetchurl {
url = "https://github.com/ppy/osu/releases/download/${version}/osu.AppImage";
hash = "sha256-xxWNLP5m/nxGutt/ogcDYcVaiFaesEvZpDdU/ndVRMs=";
hash = "sha256-Flxwh4Jlb60joJ/VYVevw4So612Cnyy1gPnJ7tTKxV0=";
};
}.${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported.");

View file

@ -16,13 +16,13 @@
buildDotnetModule rec {
pname = "osu-lazer";
version = "2023.1218.1";
version = "2023.1221.0";
src = fetchFromGitHub {
owner = "ppy";
repo = "osu";
rev = version;
sha256 = "sha256-VUnILNH5Ng1mx/UmlBGu6/yYXUOf1t3ofl0AiRHNsRc=";
sha256 = "sha256-iIyJQCi16Gf4knej+tZq5f92G9NX0ZLC6q/llAYwlLU=";
};
projectFile = "osu.Desktop/osu.Desktop.csproj";

View file

@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
Refer to the description of epson-escpr for usage.
'';
license = licenses.gpl2;
maintainers = with maintainers; [ ma9e ma27 ];
maintainers = with maintainers; [ ma9e ma27 shawn8901 ];
platforms = platforms.linux;
};
}

View file

@ -11,13 +11,14 @@ stdenv.mkDerivation rec {
preBuild = ''
makeFlagsArray=(sbindir=$out/sbin manprefix=$out)
'';
'';
meta = with lib; {
description = "A tool to get/set ATA/SATA drive parameters under Linux";
homepage = "https://sourceforge.net/projects/hdparm/";
platforms = platforms.linux;
license = licenses.bsd2;
mainProgram = "hdparm";
maintainers = [ ];
};

View file

@ -1,5 +1,5 @@
{ lib, stdenv, nodejs-slim, bundlerEnv, nixosTests
, yarn, callPackage, imagemagick, ffmpeg, file, ruby, writeShellScript
, yarn, callPackage, ruby, writeShellScript
, fetchYarnDeps, prefetch-yarn-deps
, brotli
@ -96,7 +96,8 @@ stdenv.mkDerivation rec {
'';
};
propagatedBuildInputs = [ imagemagick ffmpeg file mastodonGems.wrappedRuby ];
propagatedBuildInputs = [ mastodonGems.wrappedRuby ];
nativeBuildInputs = [ brotli ];
buildInputs = [ mastodonGems nodejs-slim ];
buildPhase = ''

View file

@ -7,11 +7,12 @@
python3.pkgs.buildPythonApplication rec {
pname = "pubs";
version = "0.9.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pubs";
repo = "pubs";
rev = "v${version}";
rev = "refs/tags/v${version}";
hash = "sha256-U/9MLqfXrzYVGttFSafw4pYDy26WgdsJMCxciZzO1pw=";
};
@ -28,22 +29,26 @@ python3.pkgs.buildPythonApplication rec {
})
];
nativeBuildInputs = with python3.pkgs; [
setuptools
];
propagatedBuildInputs = with python3.pkgs; [
pyyaml
bibtexparser
python-dateutil
six
requests
configobj
beautifulsoup4
feedparser
argcomplete
beautifulsoup4
bibtexparser
configobj
feedparser
python-dateutil
pyyaml
requests
six
];
nativeCheckInputs = with python3.pkgs; [
pyfakefs
mock
ddt
mock
pyfakefs
pytestCheckHook
];
@ -57,11 +62,18 @@ python3.pkgs.buildPythonApplication rec {
disabledTests = [
# https://github.com/pubs/pubs/issues/276
"test_readme"
# AssertionError: Lists differ: ['Ini[112 chars]d to...
"test_add_non_standard"
];
pythonImportsCheck = [
"pubs"
];
meta = with lib; {
description = "Command-line bibliography manager";
homepage = "https://github.com/pubs/pubs";
changelog = "https://github.com/pubs/pubs/blob/v${version}/changelog.md";
license = licenses.lgpl3Only;
maintainers = with maintainers; [ gebner dotlambda ];
};

View file

@ -2,7 +2,7 @@
, boost
, fetchFromGitHub
, libsodium
, nix
, nixVersions
, pkg-config
, rustPlatform
, nix-update-script
@ -11,25 +11,25 @@
rustPlatform.buildRustPackage rec {
pname = "harmonia";
version = "0.7.3";
version = "0.7.4";
src = fetchFromGitHub {
owner = "nix-community";
repo = pname;
rev = "refs/tags/${pname}-v${version}";
hash = "sha256-XtnK54HvZMKZGSCrVD0FO5PQLMo3Vkj8ezUlsfqStq0=";
hash = "sha256-72JMrXmxw/FuGjqXXxMIGiAbUUOqXEERdQwch+s3iwU=";
};
cargoHash = "sha256-oQVHrfNPhslYk6APB/bhW+h+vk/gNTW/ZypoGGb5zPk=";
cargoHash = "sha256-Q5Y5v7mmJpfZFGRgurTcRBRtbApFRrwqOBHdZTJbyzc=";
nativeBuildInputs = [
pkg-config nix
pkg-config nixVersions.nix_2_19
];
buildInputs = [
boost
libsodium
nix
nixVersions.nix_2_19
];
passthru = {

View file

@ -5,16 +5,16 @@
buildGoModule rec {
pname = "cloudfox";
version = "1.12.2";
version = "1.12.3";
src = fetchFromGitHub {
owner = "BishopFox";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-r9YIJ+PRUA1stKTL39+/T+m1WMkocpjfzG8Y9knnFU4=";
hash = "sha256-V6zYEH2LACBcMY0ox8ZgqJGFLWFgCNR4l9Uo+hMgseE=";
};
vendorHash = "sha256-nSisRurpareGI4EHENayMhsYOKL1hE1wVw2Ueiqii4U=";
vendorHash = "sha256-PZW1rNX8TLW0SZ9A2eF5N12J9BPWgRZJeGIb042Tinc=";
# Some tests are failing because of wrong filename/path
doCheck = false;

View file

@ -5,18 +5,18 @@
buildGoModule rec {
pname = "cnquery";
version = "9.11.0";
version = "9.12.0";
src = fetchFromGitHub {
owner = "mondoohq";
repo = "cnquery";
rev = "v${version}";
hash = "sha256-3fyX6vz3lqnV07gu/H7qeIrLyNSbqhLpICJWqPTv7T0=";
hash = "sha256-d2S9qEm0jvXvpU7IHpurDJ7A21bvjuM3HrdRPaujzTU=";
};
subPackages = [ "apps/cnquery" ];
vendorHash = "sha256-7zZRX0LWDmO7LA0fIjAh8+5kK2dcAV/4HQmKdn9I3Mg=";
vendorHash = "sha256-vEJcdGgev9C/3vGx+SMmD9dLMau5Jyx2TjHiiQQ+16A=";
meta = with lib; {
description = "cloud-native, graph-based asset inventory";

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "kube-bench";
version = "0.6.19";
version = "0.7.0";
src = fetchFromGitHub {
owner = "aquasecurity";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-owpmQ/APTUu1V8au2UE48SIIZnVI93tlv5bhkS/2kgQ=";
hash = "sha256-yJJEWxz8EWdLi2rhw42QVdG9AcGO0OWnihg153hALNE=";
};
vendorHash = "sha256-dBN6Yi8HtS9LzXr08jhw1hqDwS8a4UqrYaRpM+RzvVM=";
vendorHash = "sha256-zKw6d3UWs2kb+DCXmLZ09Lw3m8wMhm9QJYkeXJYcFA8=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -5,16 +5,20 @@
python3.pkgs.buildPythonApplication rec {
pname = "theharvester";
version = "4.4.4";
format = "setuptools";
version = "4.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "laramies";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-L0WbPZE2alregOvWc+0nuMvsD17ayCw3JtahGhf4B1o=";
hash = "sha256-tnCiI4bte2RSWSkEL2rwFz6WFjfRMMFiEBOvv3QMyos=";
};
nativeBuildInputs = with python3.pkgs; [
poetry-core
];
propagatedBuildInputs = with python3.pkgs; [
aiodns
aiofiles

View file

@ -5099,8 +5099,6 @@ with pkgs;
dibbler = callPackage ../tools/networking/dibbler { };
didder = callPackage ../tools/graphics/didder { };
dieharder = callPackage ../tools/security/dieharder { };
diesel-cli = callPackage ../development/tools/diesel-cli {
@ -24051,7 +24049,7 @@ with pkgs;
minizip-ng = callPackage ../development/libraries/minizip-ng { };
mkvtoolnix = libsForQt5.callPackage ../applications/video/mkvtoolnix {
mkvtoolnix = qt6Packages.callPackage ../applications/video/mkvtoolnix {
stdenv = if stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv;
};

View file

@ -4762,6 +4762,8 @@ self: super: with self; {
googletrans = callPackage ../development/python-modules/googletrans { };
gotailwind = callPackage ../development/python-modules/gotailwind { };
gotenberg-client = callPackage ../development/python-modules/gotenberg-client { };
gorilla = callPackage ../development/python-modules/gorilla { };
@ -14475,6 +14477,8 @@ self: super: with self; {
translationstring = callPackage ../development/python-modules/translationstring { };
translitcodec = callPackage ../development/python-modules/translitcodec { };
transmission-rpc = callPackage ../development/python-modules/transmission-rpc { };
transmissionrpc = callPackage ../development/python-modules/transmissionrpc { };