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:
github-actions[bot] 2024-09-05 00:13:11 +00:00 committed by GitHub
commit 74cdd9c9b1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
139 changed files with 2148 additions and 14562 deletions

View file

@ -467,6 +467,7 @@ Yarn based projects use a `yarn.lock` file instead of a `package-lock.json` to p
- `yarnConfigHook`: Fetches the dependencies from the offline cache and installs them into `node_modules`. - `yarnConfigHook`: Fetches the dependencies from the offline cache and installs them into `node_modules`.
- `yarnBuildHook`: Runs `yarn build` or a specified `yarn` command that builds the project. - `yarnBuildHook`: Runs `yarn build` or a specified `yarn` command that builds the project.
- `yarnInstallHook`: Runs `yarn install --production` to prune dependencies and installs the project into `$out`.
An example usage of the above attributes is: An example usage of the above attributes is:
@ -501,9 +502,9 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [ nativeBuildInputs = [
yarnConfigHook yarnConfigHook
yarnBuildHook yarnBuildHook
yarnInstallHook
# Needed for executing package.json scripts # Needed for executing package.json scripts
nodejs nodejs
npmHooks.npmInstallHook
]; ];
meta = { meta = {
@ -512,8 +513,6 @@ stdenv.mkDerivation (finalAttrs: {
}) })
``` ```
Note that there is no setup hook for installing yarn based packages - `npmHooks.npmInstallHook` should fit most cases, but sometimes you may need to override the `installPhase` completely.
#### `yarnConfigHook` arguments {#javascript-yarnconfighook} #### `yarnConfigHook` arguments {#javascript-yarnconfighook}
By default, `yarnConfigHook` relies upon the attribute `${yarnOfflineCache}` (or `${offlineCache}` if the former is not set) to find the location of the offline cache produced by `fetchYarnDeps`. To disable this phase, you can set `dontYarnInstallDeps = true` or override the `configurePhase`. By default, `yarnConfigHook` relies upon the attribute `${yarnOfflineCache}` (or `${offlineCache}` if the former is not set) to find the location of the offline cache produced by `fetchYarnDeps`. To disable this phase, you can set `dontYarnInstallDeps = true` or override the `configurePhase`.
@ -525,9 +524,15 @@ This script by default runs `yarn --offline build`, and it relies upon the proje
- `yarnBuildScript`: Sets a different `yarn --offline` subcommand (defaults to `build`). - `yarnBuildScript`: Sets a different `yarn --offline` subcommand (defaults to `build`).
- `yarnBuildFlags`: Single string list of additional flags to pass the above command, or a Nix list of such additional flags. - `yarnBuildFlags`: Single string list of additional flags to pass the above command, or a Nix list of such additional flags.
#### `yarnInstallHook` arguments {#javascript-yarninstallhook}
To install the package `yarnInstallHook` uses both `npm` and `yarn` to cleanup project files and dependencies. To disable this phase, you can set `dontYarnInstall = true` or override the `installPhase`. Below is a list of additional `mkDerivation` arguments read by this hook:
- `yarnKeepDevDeps`: Disables the removal of devDependencies from `node_modules` before installation.
### yarn2nix {#javascript-yarn2nix} ### yarn2nix {#javascript-yarn2nix}
WARNING: The `yarn2nix` functions have been deprecated in favor of the new `yarnConfigHook` and `yarnBuildHook`. Documentation for them still appears here for the sake of the packages that still use them. See also a tracking issue [#324246](https://github.com/NixOS/nixpkgs/issues/324246). WARNING: The `yarn2nix` functions have been deprecated in favor of the new `yarnConfigHook`, `yarnBuildHook` and `yarnInstallHook`. Documentation for them still appears here for the sake of the packages that still use them. See also a tracking issue [#324246](https://github.com/NixOS/nixpkgs/issues/324246).
#### Preparation {#javascript-yarn2nix-preparation} #### Preparation {#javascript-yarn2nix-preparation}

View file

@ -31,6 +31,10 @@
Users can use it by `services.displayManager.ly.enable` and config it by Users can use it by `services.displayManager.ly.enable` and config it by
`services.displayManager.ly.settings` to generate `/etc/ly/config.ini` `services.displayManager.ly.settings` to generate `/etc/ly/config.ini`
- The default sound server for most graphical sessions has been switched from PulseAudio to PipeWire.
Users that want to keep PulseAudio will want to set `services.pipewire.enable = false;` and `hardware.pulseaudio.enable = true;`.
There is currently no plan to fully deprecate and remove PulseAudio, however, PipeWire should generally be preferred for new installs.
## New Modules {#sec-release-24.11-new-modules} ## New Modules {#sec-release-24.11-new-modules}
- [TaskChampion Sync-Server](https://github.com/GothenburgBitFactory/taskchampion-sync-server), a [Taskwariror 3](https://taskwarrior.org/docs/upgrade-3/) sync server, replacing Taskwarrior 2's sync server named [`taskserver`](https://github.com/GothenburgBitFactory/taskserver). - [TaskChampion Sync-Server](https://github.com/GothenburgBitFactory/taskchampion-sync-server), a [Taskwariror 3](https://taskwarrior.org/docs/upgrade-3/) sync server, replacing Taskwarrior 2's sync server named [`taskserver`](https://github.com/GothenburgBitFactory/taskserver).
@ -333,6 +337,10 @@
- `zx` was updated to v8, which introduces several breaking changes. - `zx` was updated to v8, which introduces several breaking changes.
See the [v8 changelog](https://github.com/google/zx/releases/tag/8.0.0) for more information. See the [v8 changelog](https://github.com/google/zx/releases/tag/8.0.0) for more information.
- `system.stateVersion` is now validated. If you never changed this yourself, you don't need to do anything. If your `stateVersion` is not a valid NixOS release version (e.g. "24.11" is valid),
your system was already at risk of experiencing silent incompatible state updates. If your previous value is a well-formed version but not a valid release (e.g. "23.12"),
round down to the nearest actual release. If it wasn't a well-formed version (e.g. "nixos-unstable"), set it to the version of NixOS that you originally installed.
- The `portunus` package and service do not support weak password hashes anymore. - The `portunus` package and service do not support weak password hashes anymore.
If you installed Portunus on NixOS 23.11 or earlier, upgrade to NixOS 24.05 first to get support for strong password hashing. If you installed Portunus on NixOS 23.11 or earlier, upgrade to NixOS 24.05 first to get support for strong password hashing.
Then, follow the instructions on the [upstream release notes](https://github.com/majewsky/portunus/releases/tag/v2.0.0) to upgrade all existing user accounts to strong password hashes. Then, follow the instructions on the [upstream release notes](https://github.com/majewsky/portunus/releases/tag/v2.0.0) to upgrade all existing user accounts to strong password hashes.

View file

@ -32,9 +32,6 @@ with lib;
# there is no power management backend such as upower). # there is no power management backend such as upower).
powerManagement.enable = true; powerManagement.enable = true;
# Enable sound in graphical iso's.
hardware.pulseaudio.enable = true;
# VM guest additions to improve host-guest interaction # VM guest additions to improve host-guest interaction
services.spice-vdagentd.enable = true; services.spice-vdagentd.enable = true;
services.qemuGuest.enable = true; services.qemuGuest.enable = true;

View file

@ -44,6 +44,49 @@ let
}; };
initrdRelease = pkgs.writeText "initrd-release" (attrsToText initrdReleaseContents); initrdRelease = pkgs.writeText "initrd-release" (attrsToText initrdReleaseContents);
checkRelease = version:
let
parts = lib.versions.splitVersion version;
isVersion = lib.length parts == 2 && lib.all (p: lib.stringLength p == 2) parts;
majorVersion = lib.toIntBase10 (lib.elemAt parts 0);
minorVersion = lib.elemAt parts 1;
versionPatterns = [
# only 13.10
{ fromMajor = 13; minor = [ "10" ]; }
# 14.04 and 14.12
{ fromMajor = 14; minor = [ "04" "12" ]; }
# only 15.09
{ fromMajor = 15; minor = [ "09" ]; }
# 16.03 to 20.09
{ fromMajor = 16; minor = [ "03" "09" ]; }
# from 21.05
{ fromMajor = 21; minor = [ "05" "11" ]; }
];
# find the versioning pattern that applies by looking for the first
# major version newer than `majorVersion`, and picking the previous pattern
patternIndex = lib.lists.findFirstIndex
({ fromMajor, ... }: fromMajor > majorVersion)
(lib.length versionPatterns)
versionPatterns;
validMinorVersions =
if patternIndex == 0
then []
else (lib.elemAt versionPatterns (patternIndex - 1)).minor;
correctMinorVersion = lib.elem minorVersion validMinorVersions;
notNewerThanNixpkgs = lib.versionAtLeast trivial.release version;
in isVersion && correctMinorVersion && notNewerThanNixpkgs;
releaseType = types.addCheck
(types.strMatching "[[:digit:]]{2}\\.[[:digit:]]{2}")
checkRelease // {
name = "nixosRelease";
description = "NixOS release version, e.g. \"${trivial.release}\"";
descriptionClass = "nonRestrictiveClause";
};
in in
{ {
imports = [ imports = [
@ -70,7 +113,7 @@ in
release = mkOption { release = mkOption {
readOnly = true; readOnly = true;
type = types.str; type = releaseType;
default = trivial.release; default = trivial.release;
description = "The NixOS release (e.g. `16.03`)."; description = "The NixOS release (e.g. `16.03`).";
}; };
@ -151,7 +194,7 @@ in
}; };
stateVersion = mkOption { stateVersion = mkOption {
type = types.str; type = releaseType;
# TODO Remove this and drop the default of the option so people are forced to set it. # TODO Remove this and drop the default of the option so people are forced to set it.
# Doing this also means fixing the comment in nixos/modules/testing/test-instrumentation.nix # Doing this also means fixing the comment in nixos/modules/testing/test-instrumentation.nix
apply = v: apply = v:

View file

@ -14,8 +14,5 @@
libinput.enable = true; # for touchpad support on many laptops libinput.enable = true; # for touchpad support on many laptops
}; };
# Enable sound in virtualbox appliances.
hardware.pulseaudio.enable = true;
environment.systemPackages = [ pkgs.mesa-demos pkgs.firefox ]; environment.systemPackages = [ pkgs.mesa-demos pkgs.firefox ];
} }

View file

@ -196,8 +196,9 @@ in {
programs.gamescope.enable = lib.mkDefault cfg.gamescopeSession.enable; programs.gamescope.enable = lib.mkDefault cfg.gamescopeSession.enable;
services.displayManager.sessionPackages = lib.mkIf cfg.gamescopeSession.enable [ gamescopeSessionFile ]; services.displayManager.sessionPackages = lib.mkIf cfg.gamescopeSession.enable [ gamescopeSessionFile ];
# optionally enable 32bit pulseaudio support if pulseaudio is enabled # enable 32bit pulseaudio/pipewire support if needed
hardware.pulseaudio.support32Bit = config.hardware.pulseaudio.enable; hardware.pulseaudio.support32Bit = config.hardware.pulseaudio.enable;
services.pipewire.alsa.support32Bit = config.services.pipewire.alsa.enable;
hardware.steam-hardware.enable = true; hardware.steam-hardware.enable = true;

View file

@ -50,7 +50,6 @@ in {
}; };
}; };
hardware.pulseaudio.enable = lib.mkDefault true;
networking.networkmanager.enable = lib.mkDefault true; networking.networkmanager.enable = lib.mkDefault true;
systemd.packages = with pkgs.lomiri; [ systemd.packages = with pkgs.lomiri; [

View file

@ -55,6 +55,12 @@ in
services.speechd.enable = lib.mkDefault true; services.speechd.enable = lib.mkDefault true;
services.pipewire = {
enable = lib.mkDefault true;
pulse.enable = lib.mkDefault true;
alsa.enable = lib.mkDefault true;
};
systemd.defaultUnit = lib.mkIf (xcfg.autorun || dmcfg.enable) "graphical.target"; systemd.defaultUnit = lib.mkIf (xcfg.autorun || dmcfg.enable) "graphical.target";
xdg = { xdg = {

View file

@ -1,11 +1,8 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
let let
cfg = config.services.unpoller; cfg = config.services.unpoller;
configFile = pkgs.writeText "unpoller.json" (generators.toJSON {} { configFile = pkgs.writeText "unpoller.json" (lib.generators.toJSON {} {
inherit (cfg) poller influxdb loki prometheus unifi; inherit (cfg) poller influxdb loki prometheus unifi;
}); });
@ -15,26 +12,26 @@ in {
]; ];
options.services.unpoller = { options.services.unpoller = {
enable = mkEnableOption "unpoller"; enable = lib.mkEnableOption "unpoller";
poller = { poller = {
debug = mkOption { debug = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Turns on line numbers, microsecond logging, and a per-device log. Turns on line numbers, microsecond logging, and a per-device log.
This may be noisy if you have a lot of devices. It adds one line per device. This may be noisy if you have a lot of devices. It adds one line per device.
''; '';
}; };
quiet = mkOption { quiet = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Turns off per-interval logs. Only startup and error logs will be emitted. Turns off per-interval logs. Only startup and error logs will be emitted.
''; '';
}; };
plugins = mkOption { plugins = lib.mkOption {
type = with types; listOf str; type = with lib.types; listOf str;
default = []; default = [];
description = '' description = ''
Load additional plugins. Load additional plugins.
@ -43,22 +40,22 @@ in {
}; };
prometheus = { prometheus = {
disable = mkOption { disable = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Whether to disable the prometheus output plugin. Whether to disable the prometheus output plugin.
''; '';
}; };
http_listen = mkOption { http_listen = lib.mkOption {
type = types.str; type = lib.types.str;
default = "[::]:9130"; default = "[::]:9130";
description = '' description = ''
Bind the prometheus exporter to this IP or hostname. Bind the prometheus exporter to this IP or hostname.
''; '';
}; };
report_errors = mkOption { report_errors = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Whether to report errors. Whether to report errors.
@ -67,53 +64,53 @@ in {
}; };
influxdb = { influxdb = {
disable = mkOption { disable = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Whether to disable the influxdb output plugin. Whether to disable the influxdb output plugin.
''; '';
}; };
url = mkOption { url = lib.mkOption {
type = types.str; type = lib.types.str;
default = "http://127.0.0.1:8086"; default = "http://127.0.0.1:8086";
description = '' description = ''
URL of the influxdb host. URL of the influxdb host.
''; '';
}; };
user = mkOption { user = lib.mkOption {
type = types.str; type = lib.types.str;
default = "unifipoller"; default = "unifipoller";
description = '' description = ''
Username for the influxdb. Username for the influxdb.
''; '';
}; };
pass = mkOption { pass = lib.mkOption {
type = types.path; type = lib.types.path;
default = pkgs.writeText "unpoller-influxdb-default.password" "unifipoller"; default = pkgs.writeText "unpoller-influxdb-default.password" "unifipoller";
defaultText = literalExpression "unpoller-influxdb-default.password"; defaultText = lib.literalExpression "unpoller-influxdb-default.password";
description = '' description = ''
Path of a file containing the password for influxdb. Path of a file containing the password for influxdb.
This file needs to be readable by the unifi-poller user. This file needs to be readable by the unifi-poller user.
''; '';
apply = v: "file://${v}"; apply = v: "file://${v}";
}; };
db = mkOption { db = lib.mkOption {
type = types.str; type = lib.types.str;
default = "unifi"; default = "unifi";
description = '' description = ''
Database name. Database should exist. Database name. Database should exist.
''; '';
}; };
verify_ssl = mkOption { verify_ssl = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = true; default = true;
description = '' description = ''
Verify the influxdb's certificate. Verify the influxdb's certificate.
''; '';
}; };
interval = mkOption { interval = lib.mkOption {
type = types.str; type = lib.types.str;
default = "30s"; default = "30s";
description = '' description = ''
Setting this lower than the Unifi controller's refresh Setting this lower than the Unifi controller's refresh
@ -123,22 +120,22 @@ in {
}; };
loki = { loki = {
url = mkOption { url = lib.mkOption {
type = types.str; type = lib.types.str;
default = ""; default = "";
description = '' description = ''
URL of the Loki host. URL of the Loki host.
''; '';
}; };
user = mkOption { user = lib.mkOption {
type = types.str; type = lib.types.str;
default = ""; default = "";
description = '' description = ''
Username for Loki. Username for Loki.
''; '';
}; };
pass = mkOption { pass = lib.mkOption {
type = types.path; type = lib.types.path;
default = pkgs.writeText "unpoller-loki-default.password" ""; default = pkgs.writeText "unpoller-loki-default.password" "";
defaultText = "unpoller-influxdb-default.password"; defaultText = "unpoller-influxdb-default.password";
description = '' description = ''
@ -147,29 +144,29 @@ in {
''; '';
apply = v: "file://${v}"; apply = v: "file://${v}";
}; };
verify_ssl = mkOption { verify_ssl = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Verify Loki's certificate. Verify Loki's certificate.
''; '';
}; };
tenant_id = mkOption { tenant_id = lib.mkOption {
type = types.str; type = lib.types.str;
default = ""; default = "";
description = '' description = ''
Tenant ID to use in Loki. Tenant ID to use in Loki.
''; '';
}; };
interval = mkOption { interval = lib.mkOption {
type = types.str; type = lib.types.str;
default = "2m"; default = "2m";
description = '' description = ''
How often the events are polled and pushed to Loki. How often the events are polled and pushed to Loki.
''; '';
}; };
timeout = mkOption { timeout = lib.mkOption {
type = types.str; type = lib.types.str;
default = "10s"; default = "10s";
description = '' description = ''
Should be increased in case of timeout errors. Should be increased in case of timeout errors.
@ -179,92 +176,92 @@ in {
unifi = let unifi = let
controllerOptions = { controllerOptions = {
user = mkOption { user = lib.mkOption {
type = types.str; type = lib.types.str;
default = "unifi"; default = "unifi";
description = '' description = ''
Unifi service user name. Unifi service user name.
''; '';
}; };
pass = mkOption { pass = lib.mkOption {
type = types.path; type = lib.types.path;
default = pkgs.writeText "unpoller-unifi-default.password" "unifi"; default = pkgs.writeText "unpoller-unifi-default.password" "unifi";
defaultText = literalExpression "unpoller-unifi-default.password"; defaultText = lib.literalExpression "unpoller-unifi-default.password";
description = '' description = ''
Path of a file containing the password for the unifi service user. Path of a file containing the password for the unifi service user.
This file needs to be readable by the unifi-poller user. This file needs to be readable by the unifi-poller user.
''; '';
apply = v: "file://${v}"; apply = v: "file://${v}";
}; };
url = mkOption { url = lib.mkOption {
type = types.str; type = lib.types.str;
default = "https://unifi:8443"; default = "https://unifi:8443";
description = '' description = ''
URL of the Unifi controller. URL of the Unifi controller.
''; '';
}; };
sites = mkOption { sites = lib.mkOption {
type = with types; either (enum [ "default" "all" ]) (listOf str); type = with lib.types; either (enum [ "default" "all" ]) (listOf str);
default = "all"; default = "all";
description = '' description = ''
List of site names for which statistics should be exported. List of site names for which statistics should be exported.
Or the string "default" for the default site or the string "all" for all sites. Or the string "default" for the default site or the string "all" for all sites.
''; '';
apply = toList; apply = lib.toList;
}; };
save_ids = mkOption { save_ids = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Collect and save data from the intrusion detection system to influxdb and Loki. Collect and save data from the intrusion detection system to influxdb and Loki.
''; '';
}; };
save_events = mkOption { save_events = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Collect and save data from UniFi events to influxdb and Loki. Collect and save data from UniFi events to influxdb and Loki.
''; '';
}; };
save_alarms = mkOption { save_alarms = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Collect and save data from UniFi alarms to influxdb and Loki. Collect and save data from UniFi alarms to influxdb and Loki.
''; '';
}; };
save_anomalies = mkOption { save_anomalies = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Collect and save data from UniFi anomalies to influxdb and Loki. Collect and save data from UniFi anomalies to influxdb and Loki.
''; '';
}; };
save_dpi = mkOption { save_dpi = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Collect and save data from deep packet inspection. Collect and save data from deep packet inspection.
Adds around 150 data points and impacts performance. Adds around 150 data points and impacts performance.
''; '';
}; };
save_sites = mkOption { save_sites = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = true; default = true;
description = '' description = ''
Collect and save site data. Collect and save site data.
''; '';
}; };
hash_pii = mkOption { hash_pii = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Hash, with md5, client names and MAC addresses. This attempts Hash, with md5, client names and MAC addresses. This attempts
to protect personally identifiable information. to protect personally identifiable information.
''; '';
}; };
verify_ssl = mkOption { verify_ssl = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = true; default = true;
description = '' description = ''
Verify the Unifi controller's certificate. Verify the Unifi controller's certificate.
@ -273,8 +270,8 @@ in {
}; };
in { in {
dynamic = mkOption { dynamic = lib.mkOption {
type = types.bool; type = lib.types.bool;
default = false; default = false;
description = '' description = ''
Let prometheus select which controller to poll when scraping. Let prometheus select which controller to poll when scraping.
@ -284,18 +281,18 @@ in {
defaults = controllerOptions; defaults = controllerOptions;
controllers = mkOption { controllers = lib.mkOption {
type = with types; listOf (submodule { options = controllerOptions; }); type = with lib.types; listOf (submodule { options = controllerOptions; });
default = []; default = [];
description = '' description = ''
List of Unifi controllers to poll. Use defaults if empty. List of Unifi controllers to poll. Use defaults if empty.
''; '';
apply = map (flip removeAttrs [ "_module" ]); apply = map (lib.flip removeAttrs [ "_module" ]);
}; };
}; };
}; };
config = mkIf cfg.enable { config = lib.mkIf cfg.enable {
users.groups.unifi-poller = { }; users.groups.unifi-poller = { };
users.users.unifi-poller = { users.users.unifi-poller = {
description = "unifi-poller Service User"; description = "unifi-poller Service User";

View file

@ -204,7 +204,6 @@ in {
programs.nm-applet.indicator = true; # Budgie uses AppIndicators. programs.nm-applet.indicator = true; # Budgie uses AppIndicators.
hardware.bluetooth.enable = mkDefault true; # for Budgie's Status Indicator and BCC's Bluetooth panel. hardware.bluetooth.enable = mkDefault true; # for Budgie's Status Indicator and BCC's Bluetooth panel.
hardware.pulseaudio.enable = mkDefault true; # for Budgie's Status Indicator and BCC's Sound panel.
xdg.portal.enable = mkDefault true; # for BCC's Applications panel. xdg.portal.enable = mkDefault true; # for BCC's Applications panel.
xdg.portal.extraPortals = with pkgs; [ xdg.portal.extraPortals = with pkgs; [

View file

@ -97,7 +97,6 @@ in
# Default services # Default services
services.blueman.enable = mkDefault (notExcluded pkgs.blueman); services.blueman.enable = mkDefault (notExcluded pkgs.blueman);
hardware.bluetooth.enable = mkDefault true; hardware.bluetooth.enable = mkDefault true;
hardware.pulseaudio.enable = mkDefault true;
security.polkit.enable = true; security.polkit.enable = true;
services.accounts-daemon.enable = true; services.accounts-daemon.enable = true;
services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true)); services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));

View file

@ -47,7 +47,6 @@ in
''; '';
hardware.bluetooth.enable = mkDefault true; hardware.bluetooth.enable = mkDefault true;
hardware.pulseaudio.enable = mkDefault true;
security.polkit.enable = true; security.polkit.enable = true;
services.deepin.dde-daemon.enable = mkForce true; services.deepin.dde-daemon.enable = mkForce true;

View file

@ -255,7 +255,6 @@ in
(lib.mkIf serviceCfg.core-os-services.enable { (lib.mkIf serviceCfg.core-os-services.enable {
hardware.bluetooth.enable = mkDefault true; hardware.bluetooth.enable = mkDefault true;
hardware.pulseaudio.enable = mkDefault true;
programs.dconf.enable = true; programs.dconf.enable = true;
security.polkit.enable = true; security.polkit.enable = true;
services.accounts-daemon.enable = true; services.accounts-daemon.enable = true;

View file

@ -130,7 +130,6 @@ in
# Default services # Default services
hardware.bluetooth.enable = mkDefault true; hardware.bluetooth.enable = mkDefault true;
hardware.pulseaudio.enable = mkDefault true;
security.polkit.enable = true; security.polkit.enable = true;
services.accounts-daemon.enable = true; services.accounts-daemon.enable = true;
services.bamf.enable = true; services.bamf.enable = true;

View file

@ -380,7 +380,6 @@ in
xdg.portal.extraPortals = [ pkgs.plasma5Packages.xdg-desktop-portal-kde ]; xdg.portal.extraPortals = [ pkgs.plasma5Packages.xdg-desktop-portal-kde ];
xdg.portal.configPackages = mkDefault [ pkgs.plasma5Packages.xdg-desktop-portal-kde ]; xdg.portal.configPackages = mkDefault [ pkgs.plasma5Packages.xdg-desktop-portal-kde ];
# xdg-desktop-portal-kde expects PipeWire to be running. # xdg-desktop-portal-kde expects PipeWire to be running.
# This does not, by default, replace PulseAudio.
services.pipewire.enable = mkDefault true; services.pipewire.enable = mkDefault true;
# Update the start menu for each user that is currently logged in # Update the start menu for each user that is currently logged in
@ -476,7 +475,7 @@ in
{ {
# The user interface breaks without pulse # The user interface breaks without pulse
assertion = config.hardware.pulseaudio.enable || (config.services.pipewire.enable && config.services.pipewire.pulse.enable); assertion = config.hardware.pulseaudio.enable || (config.services.pipewire.enable && config.services.pipewire.pulse.enable);
message = "Plasma Mobile requires pulseaudio."; message = "Plasma Mobile requires a Pulseaudio compatible sound server.";
} }
]; ];
@ -512,7 +511,6 @@ in
# The following services are needed or the UI is broken. # The following services are needed or the UI is broken.
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
hardware.pulseaudio.enable = true;
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
# Required for autorotate # Required for autorotate
hardware.sensor.iio.enable = lib.mkDefault true; hardware.sensor.iio.enable = lib.mkDefault true;

View file

@ -50,8 +50,6 @@ in
services.accounts-daemon.enable = true; # messages services.accounts-daemon.enable = true; # messages
hardware.pulseaudio.enable = true; # sound
# Lomiri-ish setup for Lomiri indicators # Lomiri-ish setup for Lomiri indicators
# TODO move into a Lomiri module, once the package set is far enough for the DE to start # TODO move into a Lomiri module, once the package set is far enough for the DE to start

View file

@ -21,7 +21,6 @@ import ./make-test-python.nix ({ pkgs, ...} :
user = "alice"; user = "alice";
}; };
}; };
hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
environment.systemPackages = [ pkgs.xdotool ]; environment.systemPackages = [ pkgs.xdotool ];
services.acpid.enable = true; services.acpid.enable = true;
services.connman.enable = true; services.connman.enable = true;

View file

@ -21,10 +21,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
}; };
services.xserver.desktopManager.mate.enable = true; services.xserver.desktopManager.mate.enable = true;
# Silence log spam due to no sound drivers loaded:
# ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
hardware.pulseaudio.enable = true;
}; };
enableOCR = true; enableOCR = true;

View file

@ -19,7 +19,6 @@ import ./make-test-python.nix ({ pkgs, ...} :
enable = true; enable = true;
user = "alice"; user = "alice";
}; };
hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
}; };
testScript = { nodes, ... }: let testScript = { nodes, ... }: let

View file

@ -19,9 +19,6 @@ import ./make-test-python.nix ({ pkgs, ...} : {
services.xserver.desktopManager.xfce.enable = true; services.xserver.desktopManager.xfce.enable = true;
environment.systemPackages = [ pkgs.xfce.xfce4-whiskermenu-plugin ]; environment.systemPackages = [ pkgs.xfce.xfce4-whiskermenu-plugin ];
hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
}; };
enableOCR = true; enableOCR = true;

View file

@ -40,13 +40,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "86Box"; pname = "86Box";
version = "4.2"; version = "4.2.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "86Box"; owner = "86Box";
repo = "86Box"; repo = "86Box";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-hXupMQ+i27sw3XOweZGatdRCUlp7weGR/PqCLAw/8fo="; hash = "sha256-ue5Coy2MpP7Iwl81KJPQPC7eD53/Db5a0PGIR+DdPYI=";
}; };
patches = [ ./darwin.patch ]; patches = [ ./darwin.patch ];
@ -119,7 +119,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "86Box"; owner = "86Box";
repo = "roms"; repo = "roms";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-WdQebSBuw2Wtz8ggMnGuxGoi2EKtNub3S8JKa6ZmdU8="; hash = "sha256-p3djn950mTUIchFCEg56JbJtIsUuxmqRdYFRl50kI5Y=";
}; };
updateScript = ./update.sh; updateScript = ./update.sh;
}; };

View file

@ -14,14 +14,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "drawio"; pname = "drawio";
version = "24.6.4"; version = "24.7.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jgraph"; owner = "jgraph";
repo = "drawio-desktop"; repo = "drawio-desktop";
rev = "v${version}"; rev = "v${version}";
fetchSubmodules = true; fetchSubmodules = true;
hash = "sha256-6+a+70uN4Tk4pMXg3DQ3D0GcLNGFQEcPG05xxyUv1DQ="; hash = "sha256-mpFmUPdgK9S6HcoO5wc6onUkmS6tRbFwLAsMhvIQ8sU=";
}; };
# `@electron/fuses` tries to run `codesign` and fails. Disable and use autoSignDarwinBinariesHook instead # `@electron/fuses` tries to run `codesign` and fails. Disable and use autoSignDarwinBinariesHook instead
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
offlineCache = fetchYarnDeps { offlineCache = fetchYarnDeps {
yarnLock = src + "/yarn.lock"; yarnLock = src + "/yarn.lock";
hash = "sha256-R8eCnp/ik3EfsmsVyJfLjyScUVQSm/EdXJesS/eVIX0="; hash = "sha256-/3Dn4l5Bao01pcSXuPhq/AbH+gxZzHILP8TiHvplJpw=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -10,11 +10,11 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "stretchly"; pname = "stretchly";
version = "1.15.1"; version = "1.16.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/hovancik/stretchly/releases/download/v${finalAttrs.version}/stretchly-${finalAttrs.version}.tar.xz"; url = "https://github.com/hovancik/stretchly/releases/download/v${finalAttrs.version}/stretchly-${finalAttrs.version}.tar.xz";
hash = "sha256-suTH6o7vtUr2DidPXAwqrya5/WukQOFmS/34LaiWDBs="; hash = "sha256-gOMUXGldtZUfqLABJHfbToYe0pcAn8dRWEFxCi/gY9Y=";
}; };
icon = fetchurl { icon = fetchurl {

View file

@ -6,23 +6,23 @@
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "notmuch-mailmover"; pname = "notmuch-mailmover";
version = "0.2.0"; version = "0.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "michaeladler"; owner = "michaeladler";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-12eDCqer13GJS0YjJDleJbkP4o7kZfof6HlLG06qZW0="; hash = "sha256-b+6vQ7m49+9RQ+GA75VgOAJej/2zeu5JAje/OazsEsk=";
}; };
cargoHash = "sha256-B5VSkhY4nNXSG2SeCl22pSkl6SXEEoYj99wEsNhs/bQ="; cargoHash = "sha256-qHSmfR5iUBXq8OQJkGCVA4JnExXisN2OIAVKiVMUaZo=";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];
buildInputs = [ notmuch ]; buildInputs = [ notmuch ];
postInstall = '' postInstall = ''
installManPage share/notmuch-mailmover.1 installManPage share/notmuch-mailmover.1.gz
installShellCompletion --cmd notmuch-mailmover \ installShellCompletion --cmd notmuch-mailmover \
--bash share/notmuch-mailmover.bash \ --bash share/notmuch-mailmover.bash \
--fish share/notmuch-mailmover.fish \ --fish share/notmuch-mailmover.fish \

View file

@ -46,14 +46,14 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
# LAMMPS has weird versioning convention. Updates should go smoothly with: # LAMMPS has weird versioning convention. Updates should go smoothly with:
# nix-update --commit lammps --version-regex 'stable_(.*)' # nix-update --commit lammps --version-regex 'stable_(.*)'
version = "2Aug2023_update4"; version = "29Aug2024";
pname = "lammps"; pname = "lammps";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lammps"; owner = "lammps";
repo = "lammps"; repo = "lammps";
rev = "stable_${finalAttrs.version}"; rev = "stable_${finalAttrs.version}";
hash = "sha256-4y41kRO1iKFoCDVe6Dap4njcFa3z+9acKomoxOL7ipI="; hash = "sha256-UySWbJPubl318IA2MeTrz3Ya+9YyVOeR/Fs4aYI1R2o=";
}; };
preConfigure = '' preConfigure = ''
cd cmake cd cmake

View file

@ -20,24 +20,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "jujutsu"; pname = "jujutsu";
version = "0.20.0"; version = "0.21.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "martinvonz"; owner = "martinvonz";
repo = "jj"; repo = "jj";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-1lONtpataRi0yE6LpN6oNnC3OAW918v8GFCUwinYJWI="; hash = "sha256-uZsfHhcYpobatWaDQczuc9Z3BWHN5VO0qr/8mu5kEio=";
}; };
cargoPatches = [ cargoHash = "sha256-BOO1jP1Y5CNbE97zj+tpariiBdcuxKb1wyvI7i/VpYI=";
# cargo: bump `git2` to 0.19.0
(fetchpatch2 {
url = "https://github.com/martinvonz/jj/commit/38f6ee89183d886e432472c5888908c9900c9c18.patch?full_index=1";
hash = "sha256-BVcak7uIEhwoO0f9hf0GVKKSVmp/ueKD5C9F8J0iL3w=";
})
];
cargoHash = "sha256-FxcvLT0YnXcjDCKxuyijYsVSMLjx1glDzmFH5ctSx6s=";
cargoBuildFlags = [ "--bin" "jj" ]; # don't install the fake editors cargoBuildFlags = [ "--bin" "jj" ]; # don't install the fake editors
useNextest = false; # nextest is the upstream integration framework, but is problematic for test skipping useNextest = false; # nextest is the upstream integration framework, but is problematic for test skipping

View file

@ -1,10 +1,9 @@
{ lib, stdenv, fetchurl { lib, stdenv, fetchurl
, meson, ninja, pkg-config, python3, wayland-scanner , meson, ninja, pkg-config, python3, wayland-scanner
, cairo, libGL, libdrm, libevdev, libinput, libxkbcommon, mesa, seatd, wayland , cairo, libGL, libdisplay-info, libdrm, libevdev, libinput, libxkbcommon, mesa
, wayland-protocols, xcbutilcursor , seatd, wayland, wayland-protocols, xcbutilcursor
, demoSupport ? true , demoSupport ? true
, hdrSupport ? true, libdisplay-info
, jpegSupport ? true, libjpeg , jpegSupport ? true, libjpeg
, lcmsSupport ? true, lcms2 , lcmsSupport ? true, lcms2
, pangoSupport ? true, pango , pangoSupport ? true, pango
@ -19,27 +18,19 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "weston"; pname = "weston";
version = "13.0.3"; version = "14.0.0";
src = fetchurl { src = fetchurl {
url = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${version}/downloads/weston-${version}.tar.xz"; url = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${version}/downloads/weston-${version}.tar.xz";
hash = "sha256-J/aNluO5fZjare8TogI1ZSSST6OBQY+mcWuRNu8JkJM="; hash = "sha256-R/0DJbC5SOmwA6OP306zqFgfP9x0C4kys1roeTv05KU=";
}; };
postPatch = ''
# raise neatvnc version bound to < 0.9.0
# https://gitlab.freedesktop.org/wayland/weston/-/issues/890
substituteInPlace libweston/backend-vnc/meson.build \
--replace-fail "'neatvnc', version: ['>= 0.7.0', '< 0.8.0']" "'neatvnc', version: ['>= 0.7.0', '< 0.9.0']"
'';
depsBuildBuild = [ pkg-config ]; depsBuildBuild = [ pkg-config ];
nativeBuildInputs = [ meson ninja pkg-config python3 wayland-scanner ]; nativeBuildInputs = [ meson ninja pkg-config python3 wayland-scanner ];
buildInputs = [ buildInputs = [
cairo libGL libdrm libevdev libinput libxkbcommon mesa seatd wayland cairo libGL libdisplay-info libdrm libevdev libinput libxkbcommon mesa seatd
wayland-protocols wayland wayland-protocols
] ++ lib.optional hdrSupport libdisplay-info ] ++ lib.optional jpegSupport libjpeg
++ lib.optional jpegSupport libjpeg
++ lib.optional lcmsSupport lcms2 ++ lib.optional lcmsSupport lcms2
++ lib.optional pangoSupport pango ++ lib.optional pangoSupport pango
++ lib.optional pipewireSupport pipewire ++ lib.optional pipewireSupport pipewire

View file

@ -2,9 +2,14 @@
stdenv, stdenv,
lib, lib,
makeWrapper, makeWrapper,
installShellFiles,
nodejsInstallManuals,
nodejsInstallExecutables,
coreutils, coreutils,
nix-prefetch-git, nix-prefetch-git,
fetchurl, fetchurl,
jq,
nodejs,
nodejs-slim, nodejs-slim,
prefetch-yarn-deps, prefetch-yarn-deps,
fixup-yarn-lock, fixup-yarn-lock,
@ -175,4 +180,16 @@ in
description = "Run yarn build in buildPhase"; description = "Run yarn build in buildPhase";
}; };
} ./yarn-build-hook.sh; } ./yarn-build-hook.sh;
yarnInstallHook = makeSetupHook {
name = "yarn-install-hook";
propagatedBuildInputs = [
yarn
nodejsInstallManuals
nodejsInstallExecutables
];
substitutions = {
jq = lib.getExe jq;
};
} ./yarn-install-hook.sh;
} }

View file

@ -0,0 +1,79 @@
# shellcheck shell=bash
yarnInstallHook() {
echo "Executing yarnInstallHook"
runHook preInstall
local -r packageOut="$out/lib/node_modules/$(@jq@ --raw-output '.name' ./package.json)"
mkdir -p "$packageOut"
local -ar yarnArgs=(
--ignore-engines
--ignore-platform
--ignore-scripts
--no-progress
--non-interactive
--offline
)
local -r tmpDir="$(mktemp -d yarnInstallHook.XXXXXX)"
# yarn pack does not work at all with bundleDependencies.
# Since we are imediately unpacking, we can just remove them from package.json
# This will NOT be fixed in yarn v1: https://github.com/yarnpkg/yarn/issues/6794
mv ./package.json "$tmpDir/package.json.orig"
# Note: two spellings are accepted, 'bundleDependencies' and 'bundledDependencies'
@jq@ 'del(.bundleDependencies)|del(.bundledDependencies)' "$tmpDir/package.json.orig" > ./package.json
# TODO: figure out a way to avoid redundant compress/decompress steps
yarn pack \
--filename "$tmpDir/yarn-pack.tgz" \
"${yarnArgs[@]}"
tar xzf "$tmpDir/yarn-pack.tgz" \
-C "$packageOut" \
--strip-components 1 \
package/
mv "$tmpDir/package.json.orig" ./package.json
nodejsInstallExecutables ./package.json
nodejsInstallManuals ./package.json
local -r nodeModulesPath="$packageOut/node_modules"
if [ ! -d "$nodeModulesPath" ]; then
if [ -z "${yarnKeepDevDeps-}" ]; then
# Yarn has a 'prune' command, but it's only a stub that directs you to use install
if ! yarn install \
--frozen-lockfile \
--force \
--production=true \
"${yarnArgs[@]}"
then
echo
echo
echo "ERROR: yarn prune step failed"
echo
echo 'If yarn tried to download additional dependencies above, try setting `yarnKeepDevDeps = true`.'
echo
exit 1
fi
fi
find node_modules -maxdepth 1 -type d -empty -delete
cp -r node_modules "$nodeModulesPath"
fi
runHook postInstall
echo "Finished yarnInstallHook"
}
if [ -z "${dontYarnInstall-}" ] && [ -z "${installPhase-}" ]; then
installPhase=yarnInstallHook
fi

File diff suppressed because it is too large Load diff

View file

@ -1,33 +1,44 @@
{ {
stdenvNoCC,
lib, lib,
buildNpmPackage,
fetchFromGitHub, fetchFromGitHub,
fetchYarnDeps,
yarnConfigHook,
yarnBuildHook,
yarnInstallHook,
nodejs,
nix-update-script,
testers, testers,
writeText, writeText,
runCommand, runCommand,
blade-formatter, blade-formatter,
nodejs,
}: }:
buildNpmPackage rec { stdenvNoCC.mkDerivation (finalAttrs: {
pname = "blade-formatter"; pname = "blade-formatter";
version = "1.41.1"; version = "1.41.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "shufo"; owner = "shufo";
repo = "blade-formatter"; repo = "blade-formatter";
rev = "v${version}"; rev = "v${finalAttrs.version}";
hash = "sha256-iaWpIa+H+ocAXGc042PfmCu9UcJZeso9ripWB2/1oTs="; hash = "sha256-iaWpIa+H+ocAXGc042PfmCu9UcJZeso9ripWB2/1oTs=";
}; };
postPatch = '' yarnOfflineCache = fetchYarnDeps {
cp ${./package-lock.json} ./package-lock.json yarnLock = finalAttrs.src + "/yarn.lock";
''; hash = "sha256-zn0PgLIWk23EhYeOKF2RkpvLOusVrqoBazKcJpIAzm8=";
};
npmDepsHash = "sha256-wEz0DTbg+Fdmsf0Qyeu9QS+I8gkPJeaJC/3HuP913og="; nativeBuildInputs = [
yarnConfigHook
yarnBuildHook
yarnInstallHook
nodejs
];
passthru = { passthru = {
updateScript = ./update.sh; updateScript = nix-update-script { };
tests = { tests = {
version = testers.testVersion { version = testers.testVersion {
package = blade-formatter; package = blade-formatter;
@ -64,4 +75,4 @@ buildNpmPackage rec {
mainProgram = "blade-formatter"; mainProgram = "blade-formatter";
inherit (nodejs.meta) platforms; inherit (nodejs.meta) platforms;
}; };
} })

View file

@ -1,38 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p ripgrep common-updater-scripts prefetch-npm-deps jq sd
set -xeu -o pipefail
PACKAGE_DIR="$(realpath "$(dirname "$0")")"
cd "$PACKAGE_DIR/.."
while ! test -f default.nix; do cd .. ; done
NIXPKGS_DIR="$PWD"
new_version="$(
list-git-tags --url=https://github.com/shufo/blade-formatter \
| rg '^v([\d.]*)' -r '$1' \
| sort --version-sort \
| tail -n1
)"
cd "$NIXPKGS_DIR"
update-source-version blade-formatter "$new_version"
TMPDIR="$(mktemp -d)"
cd "$TMPDIR"
src="$(nix-build --no-link "$NIXPKGS_DIR" -A blade-formatter.src)"
cp $src/package.json .
npm update
cp ./package-lock.json "$PACKAGE_DIR"
prev_npm_hash="$(nix-instantiate "$NIXPKGS_DIR" \
--eval --json \
-A blade-formatter.npmDepsHash \
| jq -r .
)"
new_npm_hash="$(prefetch-npm-deps ./package-lock.json)"
sd --fixed-strings "$prev_npm_hash" "$new_npm_hash" "$PACKAGE_DIR/package.nix"
rm -rf "$TMPDIR"

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, fetchYarnDeps, yarnConfigHook, npmHooks, nodejs, testers }: { lib, stdenv, fetchFromGitHub, fetchYarnDeps, yarnConfigHook, yarnInstallHook, nodejs, testers }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "codefresh"; pname = "codefresh";
@ -17,11 +17,9 @@ stdenv.mkDerivation (finalAttrs: {
}; };
nativeBuildInputs = [ nativeBuildInputs = [
yarnConfigHook yarnConfigHook
npmHooks.npmInstallHook yarnInstallHook
nodejs nodejs
]; ];
# Tries to fetch stuff from the internet
dontNpmPrune = true;
passthru.tests.version = testers.testVersion { passthru.tests.version = testers.testVersion {
package = finalAttrs.finalPackage; package = finalAttrs.finalPackage;

View file

@ -4,24 +4,24 @@
fetchurl, fetchurl,
}: }:
let let
version = "v1.18.1"; version = "v1.19.1";
sources = { sources = {
x86_64-linux = { x86_64-linux = {
url = "https://github.com/GoogleContainerTools/container-structure-test/releases/download/${version}/container-structure-test-linux-amd64"; url = "https://github.com/GoogleContainerTools/container-structure-test/releases/download/${version}/container-structure-test-linux-amd64";
hash = "sha256-vnZsdjRix3P7DpDz00WUTbNBLQIFPKzfUbVbxn+1ygM="; hash = "sha256-7KScpej6Km4fuv6XJez4frLwXUm91lII2RLLT71YRrs=";
}; };
aarch64-linux = { aarch64-linux = {
url = "https://github.com/GoogleContainerTools/container-structure-test/releases/download/${version}/container-structure-test-linux-arm64"; url = "https://github.com/GoogleContainerTools/container-structure-test/releases/download/${version}/container-structure-test-linux-arm64";
hash = "sha256-/YPAeh/Ad2YVdZ/irpgikQST0uWITWYQOB4qI54aPlY="; hash = "sha256-5MyjOzbDPrV5R3ldJCINipJPOILCzx8+xBVO4bxq9ic=";
}; };
x86_64-darwin = { x86_64-darwin = {
url = "https://github.com/GoogleContainerTools/container-structure-test/releases/download/${version}/container-structure-test-darwin-amd64"; url = "https://github.com/GoogleContainerTools/container-structure-test/releases/download/${version}/container-structure-test-darwin-amd64";
hash = "sha256-tJ1gMnQ7d6du65fnw5GV425kWl/3jLwcqj3gIHHuOyU="; hash = "sha256-2QwyKvgzOdGOEuZVwntCpBGBk0JnOLpYOoEYp48qB/I=";
}; };
aarch64-darwin = { aarch64-darwin = {
url = "https://github.com/GoogleContainerTools/container-structure-test/releases/download/${version}/container-structure-test-darwin-arm64"; url = "https://github.com/GoogleContainerTools/container-structure-test/releases/download/${version}/container-structure-test-darwin-arm64";
hash = "sha256-cNSb3nhSGU9q/PJDNdEeV/hlCXAdXkaV6SROdXnXjp0="; hash = "sha256-x3RmVdDFmHoGOqX49OWeAab/6m1U0jq/g/30rNjj5aI=";
}; };
}; };
in in

View file

@ -8,12 +8,12 @@
}: }:
stdenvNoCC.mkDerivation rec { stdenvNoCC.mkDerivation rec {
pname = "cosmic-icons"; pname = "cosmic-icons";
version = "0-unstable-2024-08-04"; version = "1.0.0-alpha.1-unstable-2024-08-16";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "pop-os"; owner = "pop-os";
repo = pname; repo = pname;
rev = "f93dcdfa1060c2cf3f8cf0b56b0338292edcafa5"; rev = "ea9e3b8cf12bfa7112b8be8390c0185888358504";
sha256 = "sha256-KvEKFmsh7ljt9JbaqyZfTUiFZHZM2Ha1TwUDljXXLDw="; sha256 = "sha256-KvEKFmsh7ljt9JbaqyZfTUiFZHZM2Ha1TwUDljXXLDw=";
}; };

View file

@ -4,8 +4,8 @@
, fetchYarnDeps , fetchYarnDeps
, yarnConfigHook , yarnConfigHook
, yarnBuildHook , yarnBuildHook
, yarnInstallHook
, nodejs , nodejs
, npmHooks
}: }:
let let
@ -37,12 +37,9 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [ nativeBuildInputs = [
yarnConfigHook yarnConfigHook
yarnBuildHook yarnBuildHook
yarnInstallHook
nodejs nodejs
npmHooks.npmInstallHook
]; ];
# From some reason causes the build to fail due to dependencies not available
# offline
dontNpmPrune = true;
meta = with lib; { meta = with lib; {
homepage = "https://github.com/element-hq/element-call"; homepage = "https://github.com/element-hq/element-call";

View file

@ -7,13 +7,13 @@
buildGoModule rec { buildGoModule rec {
pname = "gickup"; pname = "gickup";
version = "0.10.34"; version = "0.10.36";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cooperspencer"; owner = "cooperspencer";
repo = "gickup"; repo = "gickup";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-cdYQU5pQj+vypFtvPxN1Vg4ckui+vcYUmOJQ9d3XTK4="; hash = "sha256-Os26Il/FhH5cpgpaMZGfOljZ4p3XlCrRPEvzKD6kgpg=";
}; };
vendorHash = "sha256-x+K3qXV0F4OKsldsnNcR5w4fmwYyt7V7IDrcHBNPttI="; vendorHash = "sha256-x+K3qXV0F4OKsldsnNcR5w4fmwYyt7V7IDrcHBNPttI=";

View file

@ -243,7 +243,13 @@ let
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:${addDriverRunpath.driverLink}/share" \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:${addDriverRunpath.driverLink}/share" \
--set CHROME_WRAPPER "google-chrome-$dist" \ --set CHROME_WRAPPER "google-chrome-$dist" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
--add-flags ${lib.escapeShellArg commandLineArgs} --add-flags ${
lib.concatStringsSep " " [
(lib.escapeShellArg commandLineArgs)
# Disables auto updates and browser outdated popup
"--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'"
]
}
for elf in $out/share/google/$appname/{chrome,chrome-sandbox,chrome_crashpad_handler}; do for elf in $out/share/google/$appname/{chrome,chrome-sandbox,chrome_crashpad_handler}; do
patchelf --set-rpath $rpath $elf patchelf --set-rpath $rpath $elf
@ -283,7 +289,13 @@ let
mkdir -p $out/bin mkdir -p $out/bin
makeWrapper $out/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome $out/bin/google-chrome-stable \ makeWrapper $out/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome $out/bin/google-chrome-stable \
--add-flags ${lib.escapeShellArg commandLineArgs} --add-flags ${
lib.concatStringsSep " " [
(lib.escapeShellArg commandLineArgs)
# Disables auto updates and browser outdated popup
"--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'"
]
}
runHook postInstall runHook postInstall
''; '';

View file

@ -2,16 +2,16 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "kas"; pname = "kas";
version = "4.2"; version = "4.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "siemens"; owner = "siemens";
repo = pname; repo = pname;
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-NjNPcCqmjFeydTgNdN8QRrFG5Mys2jL4I8TiznO2rSA="; hash = "sha256-ws2V16HSGn2zyMmcG601ScHfONSE/DBVO3Gaj8dktf4=";
}; };
propagatedBuildInputs = with python3.pkgs; [ setuptools kconfiglib jsonschema distro pyyaml ]; propagatedBuildInputs = with python3.pkgs; [ setuptools kconfiglib jsonschema distro pyyaml gitpython ];
# Tests require network as they try to clone repos # Tests require network as they try to clone repos
doCheck = false; doCheck = false;

View file

@ -0,0 +1,40 @@
{
build2,
fetchgit,
gccStdenv,
lib,
xercesc,
}:
gccStdenv.mkDerivation (finalAttrs: {
pname = "libcutl";
version = "1.11.0";
src = fetchgit {
url = "https://git.codesynthesis.com/libcutl/libcutl.git";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-LY2ZyxduI6xftVjVqjNkhYPFTL5bvHC289Qcei1Kiw4=";
};
nativeBuildInputs = [ build2 ];
buildInputs = [ xercesc ];
enableParallelBuilding = true;
doCheck = true;
meta = {
description = "C++ utility library from Code Synthesis";
longDescription = ''
libcutl is a C++ utility library.
It contains a collection of generic and independent components such as
meta-programming tests, smart pointers, containers, compiler building blocks, etc.
'';
homepage = "https://codesynthesis.com/projects/libcutl/";
changelog = "https://git.codesynthesis.com/cgit/libcutl/libcutl/log/";
platforms = lib.platforms.all;
maintainers = [ lib.maintainers.xzfc ];
license = lib.licenses.mit;
};
})

View file

@ -0,0 +1,35 @@
{
lib,
appimageTools,
fetchurl,
}:
let
pname = "librewolf-bin";
upstreamVersion = "129.0.2-1";
version = lib.replaceStrings [ "-" ] [ "." ] upstreamVersion;
src = fetchurl {
url = "https://gitlab.com/api/v4/projects/24386000/packages/generic/librewolf/${upstreamVersion}/LibreWolf.x86_64.AppImage";
hash = "sha256-h4SZnI2BwCSsLADYIxTXu82Jyst1hqYGHt54MnluLss=";
};
appimageContents = appimageTools.extract { inherit pname version src; };
in
appimageTools.wrapType2 {
inherit pname version src;
extraInstallCommands = ''
mv $out/bin/{${pname},librewolf}
install -Dm444 ${appimageContents}/io.gitlab.LibreWolf.desktop -t $out/share/applications
install -Dm444 ${appimageContents}/librewolf.png -t $out/share/pixmaps
'';
meta = {
description = "Fork of Firefox, focused on privacy, security and freedom (upstream AppImage release)";
homepage = "https://librewolf.net";
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [ eclairevoyant ];
platforms = [ "x86_64-linux" ];
mainProgram = "librewolf";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
}

View file

@ -20,11 +20,11 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "lunacy"; pname = "lunacy";
version = "9.6.2"; version = "10.0.1";
src = fetchurl { src = fetchurl {
url = "https://lcdn.icons8.com/setup/Lunacy_${finalAttrs.version}.deb"; url = "https://lcdn.icons8.com/setup/Lunacy_${finalAttrs.version}.deb";
hash = "sha256-iTne+vUnv+O/+QUKgSUr+ACdZpXrvRQkZmqghJH1fDw="; hash = "sha256-roD/bKv1N2sru/tZ6Zl1J2AyY1mgj2ssB2a42kwBNHM=";
}; };
unpackCmd = '' unpackCmd = ''

View file

@ -4,8 +4,8 @@
, fetchYarnDeps , fetchYarnDeps
, yarnConfigHook , yarnConfigHook
, yarnBuildHook , yarnBuildHook
, yarnInstallHook
, nodejs , nodejs
, npmHooks
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
@ -27,8 +27,8 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [ nativeBuildInputs = [
yarnConfigHook yarnConfigHook
yarnBuildHook yarnBuildHook
yarnInstallHook
nodejs nodejs
npmHooks.npmInstallHook
]; ];
# Upstream doesn't include a script in package.json that only builds without # Upstream doesn't include a script in package.json that only builds without
# testing, and tests fail because they need to access online websites. Hence # testing, and tests fail because they need to access online websites. Hence
@ -39,8 +39,6 @@ stdenv.mkDerivation (finalAttrs: {
postBuild = '' postBuild = ''
yarn --offline run rollup -c yarn --offline run rollup -c
''; '';
# Tries to download stuff from the internet in this phase.
dontNpmPrune = true;
meta = { meta = {
changelog = "https://github.com/postlight/parser/blob/${finalAttrs.src.rev}/CHANGELOG.md"; changelog = "https://github.com/postlight/parser/blob/${finalAttrs.src.rev}/CHANGELOG.md";

View file

@ -6,11 +6,11 @@
}: }:
stdenvNoCC.mkDerivation (finalAttrs: { stdenvNoCC.mkDerivation (finalAttrs: {
pname = "proton-ge-bin"; pname = "proton-ge-bin";
version = "GE-Proton9-11"; version = "GE-Proton9-12";
src = fetchzip { src = fetchzip {
url = "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/${finalAttrs.version}/${finalAttrs.version}.tar.gz"; url = "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/${finalAttrs.version}/${finalAttrs.version}.tar.gz";
hash = "sha256-OGsgR56R/MaFxahsb/42kA9CEexGDF/aTZlyf6v8tXo="; hash = "sha256-2/vxX5AT1qQ50jBrQkZIzlmzkOAX+qzINEeD3Lo1f40=";
}; };
outputs = [ outputs = [

View file

@ -33,10 +33,10 @@
let let
# Keep these separate so the update script can regex them # Keep these separate so the update script can regex them
rpcs3GitVersion = "16875-3b36df48e"; rpcs3GitVersion = "16892-7e3b8b5cd";
rpcs3Version = "0.0.32-16875-3b36df48e"; rpcs3Version = "0.0.33-16892-7e3b8b5cd";
rpcs3Revision = "3b36df48e9682f257d4eb4151b7b7c390f952858"; rpcs3Revision = "7e3b8b5cdb0c0579382a93d223bfb6e776999a35";
rpcs3Hash = "sha256-rGRMIbLwUYTC11ErJMYreinZbckIwxGJ9WXdySQ9j28="; rpcs3Hash = "sha256-3wqJNn4/wP5f3+hUCvYjxrcuMZ6MegpuNot5Mq+DQdI=";
inherit (qt6Packages) qtbase qtmultimedia wrapQtAppsHook qtwayland; inherit (qt6Packages) qtbase qtmultimedia wrapQtAppsHook qtwayland;
in in

View file

@ -6,13 +6,13 @@
}: }:
stdenvNoCC.mkDerivation (finalAttrs: { stdenvNoCC.mkDerivation (finalAttrs: {
pname = "stevenblack-blocklist"; pname = "stevenblack-blocklist";
version = "3.14.100"; version = "3.14.104";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "StevenBlack"; owner = "StevenBlack";
repo = "hosts"; repo = "hosts";
rev = "refs/tags/${finalAttrs.version}"; rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-6PdF/COJ7UA8ULHMJ2HEIwc6wwNDUxS/92r3D8f6N1E="; hash = "sha256-APxlS1c68AGOGUBv/SVHTFDYuvMZHxFVEqXDlfEJlqk=";
}; };
outputs = [ outputs = [

View file

@ -4,6 +4,8 @@
fetchFromGitHub, fetchFromGitHub,
makeBinaryWrapper, makeBinaryWrapper,
mkpasswd, mkpasswd,
nixosTests,
nix-update-script,
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
@ -33,6 +35,19 @@ rustPlatform.buildRustPackage rec {
stripAllList = [ "bin" ]; stripAllList = [ "bin" ];
passthru = {
updateScript = nix-update-script { };
tests = {
inherit (nixosTests)
userborn
userborn-mutable-users
userborn-mutable-etc
userborn-immutable-users
userborn-immutable-etc
;
};
};
meta = with lib; { meta = with lib; {
homepage = "https://github.com/nikstur/userborn"; homepage = "https://github.com/nikstur/userborn";
description = "Declaratively bear (manage) Linux users and groups"; description = "Declaratively bear (manage) Linux users and groups";

View file

@ -8,18 +8,18 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "vimcats"; pname = "vimcats";
version = "1.0.2"; version = "1.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mrcjkb"; owner = "mrcjkb";
repo = "vimcats"; repo = "vimcats";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-YZPLZgC0v5zw/+X3r0G1MZ+46c0K8J3ClFQYH5BqbUE="; sha256 = "sha256-QV/eIy6yd6Lnmo8XV+E37/oCZCC3jlPu31emH0MgiO4=";
}; };
buildFeatures = [ "cli" ]; buildFeatures = [ "cli" ];
cargoHash = "sha256-gxCsB8lx9gTEsWV3uCX2TKTzxCUZ9JHo+1+voU7gKhY="; cargoHash = "sha256-LBiuh7OkEoOkoPXCeGnDQLSlRIMkbiWyCv0dk0y7swk=";
passthru.tests.version = testers.testVersion { package = vimcats; }; passthru.tests.version = testers.testVersion { package = vimcats; };

View file

@ -11,20 +11,20 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "yazi"; pname = "yazi";
version = "0.3.2"; version = "0.3.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sxyazi"; owner = "sxyazi";
repo = "yazi"; repo = "yazi";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-skJK0iAqQ4uyEx/SeF/97YHWKYBNHmdYpltx3h6JvNc="; hash = "sha256-bTDf8muJN0G4+c6UagtWgNLlmGN15twEBjdmKEP0bCE=";
}; };
cargoHash = "sha256-w7eFeKmYFDmSpG/p4r2w6qw8uUm4q+VUbAI+TnKhp5s="; cargoHash = "sha256-8UsdanF8y4uFoXdC7aAw7pVFRd9GACcfVvqkUtFmN5k=";
env.YAZI_GEN_COMPLETIONS = true; env.YAZI_GEN_COMPLETIONS = true;
env.VERGEN_GIT_SHA = "Nixpkgs"; env.VERGEN_GIT_SHA = "Nixpkgs";
env.VERGEN_BUILD_DATE = "2024-08-28"; env.VERGEN_BUILD_DATE = "2024-09-04";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];
buildInputs = [ rust-jemalloc-sys ] ++ lib.optionals stdenv.isDarwin [ Foundation ]; buildInputs = [ rust-jemalloc-sys ] ++ lib.optionals stdenv.isDarwin [ Foundation ];

View file

@ -12,13 +12,13 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "youki"; pname = "youki";
version = "0.4.0"; version = "0.4.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containers"; owner = "containers";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-dkVnNtBfvjf47p1N5/syHqjlDVnbKRDqNJ98ym5B+mg="; hash = "sha256-vXYoLjmPiK2f6Yg5YGTp76hmawnbfcnMOOppsWwKtAk=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -48,7 +48,7 @@ rustPlatform.buildRustPackage rec {
"youki" "youki"
]; ];
cargoHash = "sha256-Nv1LAkWYwWb0Izvd7UlKU4wx3vVkmO9Rcpt6AuTwObU="; cargoHash = "sha256-s8L/L3be5fRahDiLKnHQcU52F+AJVr7Q3uL8mcloVv8=";
meta = with lib; { meta = with lib; {
description = "Container runtime written in Rust"; description = "Container runtime written in Rust";

File diff suppressed because it is too large Load diff

View file

@ -35,22 +35,22 @@ assert withGLES -> stdenv.isLinux;
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "zed"; pname = "zed";
version = "0.150.4"; version = "0.151.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zed-industries"; owner = "zed-industries";
repo = "zed"; repo = "zed";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-dMhsKaqEWyjPjxaSYrz6zAvOzDbWrsPh6oKRu+D57cM="; hash = "sha256-9xvCElW1J3LMiNPUeVxaNIexx7a2rVEoAh4Ntrh1N6E=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
cargoLock = { cargoLock = {
lockFile = ./Cargo.lock; lockFile = ./Cargo.lock;
outputHashes = { outputHashes = {
"alacritty_terminal-0.24.1-dev" = "sha256-aVB1CNOLjNh6AtvdbomODNrk00Md8yz8QzldzvDo1LI="; "alacritty_terminal-0.24.1-dev" = "sha256-b4oSDhsAAYjpYGfFgA1Q1642JoJQ9k5RTsPgFUpAFmc=";
"async-pipe-0.1.3" = "sha256-g120X88HGT8P6GNCrzpS5SutALx5H+45Sf4iSSxzctE="; "async-pipe-0.1.3" = "sha256-g120X88HGT8P6GNCrzpS5SutALx5H+45Sf4iSSxzctE=";
"blade-graphics-0.4.0" = "sha256-sGXhXmgtd7Wx/Gf7HCWro4RsQOGS4pQt8+S3T+2wMfY="; "blade-graphics-0.4.0" = "sha256-LmJ8f1VVzPfjpZp2T5WKxjEdzE/avfWmA3dq/V27eJc=";
"cosmic-text-0.11.2" = "sha256-TLPDnqixuW+aPAhiBhSvuZIa69vgV3xLcw32OlkdCcM="; "cosmic-text-0.11.2" = "sha256-TLPDnqixuW+aPAhiBhSvuZIa69vgV3xLcw32OlkdCcM=";
"font-kit-0.14.1" = "sha256-qUKvmi+RDoyhMrZ7T6SoVAyMc/aasQ9Y/okzre4SzXo="; "font-kit-0.14.1" = "sha256-qUKvmi+RDoyhMrZ7T6SoVAyMc/aasQ9Y/okzre4SzXo=";
"lsp-types-0.95.1" = "sha256-N4MKoU9j1p/Xeowki/+XiNQPwIcTm9DgmfM/Eieq4js="; "lsp-types-0.95.1" = "sha256-N4MKoU9j1p/Xeowki/+XiNQPwIcTm9DgmfM/Eieq4js=";

View file

@ -3,16 +3,16 @@
, python3 , python3
}: }:
python3.pkgs.buildPythonPackage rec { python3.pkgs.buildPythonApplication rec {
pname = "zigpy-cli"; pname = "zigpy-cli";
version = "1.0.4"; version = "1.0.5";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zigpy"; owner = "zigpy";
repo = "zigpy-cli"; repo = "zigpy-cli";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-OxVSEBo+wFEBZnWpmQ4aUZWppCh0oavxlQvwDXiWiG8="; hash = "sha256-69E6PkrCE5S498pO33uEz7g2dV41H0vNfFinUHDATTQ=";
}; };
postPatch = '' postPatch = ''
@ -21,11 +21,11 @@ python3.pkgs.buildPythonPackage rec {
--replace-fail 'dynamic = ["version"]' 'version = "${version}"' --replace-fail 'dynamic = ["version"]' 'version = "${version}"'
''; '';
nativeBuildInputs = with python3.pkgs; [ build-system = with python3.pkgs; [
setuptools setuptools
]; ];
propagatedBuildInputs = with python3.pkgs; [ dependencies = with python3.pkgs; [
bellows bellows
click click
coloredlogs coloredlogs
@ -33,7 +33,7 @@ python3.pkgs.buildPythonPackage rec {
zigpy zigpy
zigpy-deconz zigpy-deconz
zigpy-xbee zigpy-xbee
# zigpy-zboss # not packaged zigpy-zboss
zigpy-zigate zigpy-zigate
zigpy-znp zigpy-znp
]; ];
@ -53,7 +53,7 @@ python3.pkgs.buildPythonPackage rec {
description = "Command line interface for zigpy"; description = "Command line interface for zigpy";
mainProgram = "zigpy"; mainProgram = "zigpy";
homepage = "https://github.com/zigpy/zigpy-cli"; homepage = "https://github.com/zigpy/zigpy-cli";
changelog = "https://github.com/zigpy/zigpy/releases/tag/v${version}"; changelog = "https://github.com/zigpy/zigpy-cli/releases/tag/v${version}";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ SuperSandro2000 ]; maintainers = with maintainers; [ SuperSandro2000 ];
platforms = platforms.linux; platforms = platforms.linux;

View file

@ -2,13 +2,13 @@
stdenvNoCC.mkDerivation rec { stdenvNoCC.mkDerivation rec {
pname = "tela-icon-theme"; pname = "tela-icon-theme";
version = "2024-04-19"; version = "2024-09-04";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vinceliuice"; owner = "vinceliuice";
repo = "tela-icon-theme"; repo = "tela-icon-theme";
rev = version; rev = version;
hash = "sha256-Z1U0KJMnNNXL5fn3kPoZ2RZNi95T27/tnWVgR8kTj1o="; hash = "sha256-ZzF4U/cTy/7oSDQs4+dezewgNzS5zroba8wpcfPciW4=";
}; };
nativeBuildInputs = [ gtk3 jdupes ]; nativeBuildInputs = [ gtk3 jdupes ];

View file

@ -26,13 +26,13 @@ lib.checkListOfEnum "${pname}: theme tweaks" validTweaks tweaks
stdenvNoCC.mkDerivation stdenvNoCC.mkDerivation
rec { rec {
inherit pname; inherit pname;
version = "2024-05-30"; version = "2024-09-02";
src = fetchFromGitHub { src = fetchFromGitHub {
repo = "Orchis-theme"; repo = "Orchis-theme";
owner = "vinceliuice"; owner = "vinceliuice";
rev = version; rev = version;
hash = "sha256-Dpdt7acRodtR4EE4STIiYHidehZwFGoYS8Oh6DgpXOI="; hash = "sha256-rgbqVU2tKLnp+ZQpLTthpo9vPFRkGuayJCADrI2R1ls=";
}; };
nativeBuildInputs = [ gtk3 sassc ]; nativeBuildInputs = [ gtk3 sassc ];

View file

@ -13,13 +13,13 @@
llvmPackages.stdenv.mkDerivation (finalAttrs: { llvmPackages.stdenv.mkDerivation (finalAttrs: {
pname = "c3c"; pname = "c3c";
version = "0.6.1"; version = "0.6.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "c3lang"; owner = "c3lang";
repo = "c3c"; repo = "c3c";
rev = "refs/tags/v${finalAttrs.version}"; rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-PKeQOVByNvhUq7QBhnNsl3LfR48MWhRC2rhiD58fVHY="; hash = "sha256-bGMtrdwjlTxEQdsasOvVuI+mRzir/tnENCIfy1/6JMM=";
}; };
postPatch = '' postPatch = ''

View file

@ -1,34 +0,0 @@
{ lib, gccStdenv, fetchurl, xercesc }:
let
stdenv = gccStdenv;
in
stdenv.mkDerivation rec {
pname = "libcutl";
version = "1.10.0";
meta = with lib; {
description = "C++ utility library from Code Synthesis";
longDescription = ''
libcutl is a C++ utility library.
It contains a collection of generic and independent components such as
meta-programming tests, smart pointers, containers, compiler building blocks, etc.
'';
homepage = "https://codesynthesis.com/projects/libcutl/";
changelog = "https://git.codesynthesis.com/cgit/libcutl/libcutl/plain/NEWS?h=${version}";
platforms = platforms.all;
maintainers = [ ];
license = licenses.mit;
};
majmin = builtins.head ( builtins.match "([[:digit:]]\\.[[:digit:]]+).*" "${version}" );
src = fetchurl {
url = "https://codesynthesis.com/download/${pname}/${majmin}/${pname}-${version}.tar.bz2";
sha256 = "070j2x02m4gm1fn7gnymrkbdxflgzxwl7m96aryv8wp3f3366l8j";
};
buildInputs = [ xercesc ];
enableParallelBuilding = true;
env.NIX_CFLAGS_COMPILE = toString [ "-std=c++14" ];
}

View file

@ -14,13 +14,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "mongoc"; pname = "mongoc";
version = "1.27.5"; version = "1.27.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mongodb"; owner = "mongodb";
repo = "mongo-c-driver"; repo = "mongo-c-driver";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-ZupUchw2XzMVB4ImxMRSitIpmjTX5zvLtsG2xhoyH9c="; hash = "sha256-771DZ+8cr0iHHcs4TZVEkTP6qWK1bMzOxlG4OS14t28=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -15,13 +15,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "nco"; pname = "nco";
version = "5.2.7"; version = "5.2.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nco"; owner = "nco";
repo = "nco"; repo = "nco";
rev = finalAttrs.version; rev = finalAttrs.version;
hash = "sha256-RtjLCs+1HI2tJsSzMwoKq09teILvxFapZCxeZAZ4iCM="; hash = "sha256-FTaXgBmDlQv75roeJo4dJyJCpzOj9ilJo2hdxDnyjno=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -23,7 +23,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "accelerate"; pname = "accelerate";
version = "0.33.0"; version = "0.34.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -32,7 +32,7 @@ buildPythonPackage rec {
owner = "huggingface"; owner = "huggingface";
repo = "accelerate"; repo = "accelerate";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-SYhAYz180jdOUhzbe0iUFBuGRv4n4PmgfCVOEOZKBGA="; hash = "sha256-MyV1GKxD43QSzS8jea8amt8Xe1h0Xm0WdtUNGkYHfvw=";
}; };
buildInputs = [ llvmPackages.openmp ]; buildInputs = [ llvmPackages.openmp ];

View file

@ -16,7 +16,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aioautomower"; pname = "aioautomower";
version = "2024.7.3"; version = "2024.8.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.11"; disabled = pythonOlder "3.11";
@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "Thomas55555"; owner = "Thomas55555";
repo = "aioautomower"; repo = "aioautomower";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-tjdpQglhg78DsmtIHo5QDsP1U8f0fnaasF0IYUtrGh4="; hash = "sha256-FrQpRz+HESmk837L4bLDiRpJOZXstMJQ8Ic58B9Ac10=";
}; };
postPatch = '' postPatch = ''
@ -58,6 +58,8 @@ buildPythonPackage rec {
disabledTests = [ disabledTests = [
# File is missing # File is missing
"test_standard_mower" "test_standard_mower"
# Call no found
"test_post_commands"
]; ];
meta = with lib; { meta = with lib; {

View file

@ -0,0 +1,57 @@
{
aiohttp,
attrs,
buildPythonPackage,
fetchFromGitHub,
lib,
multidict,
pytest-aiohttp,
pytestCheckHook,
setuptools,
yarl,
}:
buildPythonPackage rec {
pname = "aiohttp-sse-client2";
version = "0.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "compat-fork";
repo = "aiohttp-sse-client";
rev = "refs/tags/${version}";
hash = "sha256-uF39gpOYzNotVVYQShUoiuvYAhSRex2T1NfuhgwSCR4=";
};
postPatch = ''
substituteInPlace setup.py \
--replace-fail "pytest-runner" ""
'';
build-system = [ setuptools ];
dependencies = [
aiohttp
attrs
multidict
yarl
];
pythonImportsCheck = [ "aiohttp_sse_client2" ];
nativeCheckInputs = [
pytest-aiohttp
pytestCheckHook
];
# tests access the internet
doCheck = false;
meta = {
changelog = "https://github.com/compat-fork/aiohttp-sse-client/blob/${src.rev}/README.rst#fork-changelog";
description = "Server-Sent Event python client library based on aiohttp";
homepage = "https://github.com/compat-fork/aiohttp-sse-client";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

View file

@ -8,6 +8,7 @@
orjson, orjson,
poetry-core, poetry-core,
pytest-asyncio, pytest-asyncio,
pytest-cov-stub,
pytestCheckHook, pytestCheckHook,
pythonOlder, pythonOlder,
syrupy, syrupy,
@ -16,7 +17,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aiomealie"; pname = "aiomealie";
version = "0.8.1"; version = "0.9.2";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.11"; disabled = pythonOlder "3.11";
@ -25,14 +26,9 @@ buildPythonPackage rec {
owner = "joostlek"; owner = "joostlek";
repo = "python-mealie"; repo = "python-mealie";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-1n/AMXEoJJ/jftYzYHvo+jTSasNEqnFVAYqlipHFmGc="; hash = "sha256-rvizMeV1+tsBQiZl2Am4SjLrFkyhR/SvvLFwOTVP6wI=";
}; };
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "--cov" ""
'';
build-system = [ poetry-core ]; build-system = [ poetry-core ];
dependencies = [ dependencies = [
@ -45,6 +41,7 @@ buildPythonPackage rec {
nativeCheckInputs = [ nativeCheckInputs = [
aioresponses aioresponses
pytest-asyncio pytest-asyncio
pytest-cov-stub
pytestCheckHook pytestCheckHook
syrupy syrupy
]; ];

View file

@ -26,11 +26,6 @@ buildPythonPackage rec {
hash = "sha256-acu0EWP/k0qyylPtM8IBxhJhhQhXpbG2NheYpD8RTG8="; hash = "sha256-acu0EWP/k0qyylPtM8IBxhJhhQhXpbG2NheYpD8RTG8=";
}; };
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "setuptools>=68.1" "setuptools"
'';
build-system = [ setuptools ]; build-system = [ setuptools ];
dependencies = [ dependencies = [

View file

@ -1,13 +1,15 @@
{ {
lib, lib,
aiohttp,
assertpy, assertpy,
buildPythonPackage, buildPythonPackage,
fetchFromGitHub, fetchFromGitHub,
freezegun,
poetry-core, poetry-core,
pycryptodome,
pytest-asyncio, pytest-asyncio,
pytest-mockservers, pytest-mockservers,
pytest-resource-path, pytest-resource-path,
pytest-sugar,
pytestCheckHook, pytestCheckHook,
pythonAtLeast, pythonAtLeast,
pythonOlder, pythonOlder,
@ -16,21 +18,28 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aioswitcher"; pname = "aioswitcher";
version = "3.4.3"; version = "4.0.3";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.9"; disabled = pythonOlder "3.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "TomerFi"; owner = "TomerFi";
repo = pname; repo = "aioswitcher";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-yKHSExtnO9m8Tc3BmCqV8tJs59ynKOqUmekaOatGRTc="; hash = "sha256-QSnroxVHlfZd6QDaqUTMyoctiEsxWmGmFxzql1YIAD0=";
}; };
__darwinAllowLocalNetworking = true; __darwinAllowLocalNetworking = true;
nativeBuildInputs = [ poetry-core ]; build-system = [ poetry-core ];
pythonRelaxDeps = [ "aiohttp" ];
dependencies = [
aiohttp
pycryptodome
];
preCheck = '' preCheck = ''
export TZ=Asia/Jerusalem export TZ=Asia/Jerusalem
@ -38,10 +47,10 @@ buildPythonPackage rec {
nativeCheckInputs = [ nativeCheckInputs = [
assertpy assertpy
freezegun
pytest-asyncio pytest-asyncio
pytest-mockservers pytest-mockservers
pytest-resource-path pytest-resource-path
pytest-sugar
pytestCheckHook pytestCheckHook
time-machine time-machine
]; ];
@ -66,7 +75,7 @@ buildPythonPackage rec {
description = "Python module to interact with Switcher water heater"; description = "Python module to interact with Switcher water heater";
homepage = "https://github.com/TomerFi/aioswitcher"; homepage = "https://github.com/TomerFi/aioswitcher";
changelog = "https://github.com/TomerFi/aioswitcher/releases/tag/${version}"; changelog = "https://github.com/TomerFi/aioswitcher/releases/tag/${version}";
license = with licenses; [ mit ]; license = licenses.asl20;
maintainers = with maintainers; [ fab ]; maintainers = with maintainers; [ fab ];
}; };
} }

View file

@ -10,14 +10,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "apsystems-ez1"; pname = "apsystems-ez1";
version = "1.3.3"; version = "2.3.0";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "SonnenladenGmbH"; owner = "SonnenladenGmbH";
repo = "APsystems-EZ1-API"; repo = "APsystems-EZ1-API";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-V6GcTSupjhjGEOsO+C9pImYJRnvdDbttW3Zh0PDYt5I="; hash = "sha256-CG+QpdJfZt1S6IDDjabRjwuRflURFc1QYo39kf/p0Zw=";
}; };
build-system = [ poetry-core ]; build-system = [ poetry-core ];

View file

@ -4,33 +4,30 @@
fetchFromGitHub, fetchFromGitHub,
poetry-core, poetry-core,
pytest-asyncio, pytest-asyncio,
pytest-cov-stub,
pytestCheckHook, pytestCheckHook,
pythonOlder, pythonOlder,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "async-interrupt"; pname = "async-interrupt";
version = "1.1.2"; version = "1.2.0";
format = "pyproject"; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bdraco"; owner = "bdraco";
repo = "async_interrupt"; repo = "async_interrupt";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-CFCWlIx4iAG6gW2ORRYfZpFWRvjukqdcR2yg6NjVqps="; hash = "sha256-opV5h3aLDDpjlRZRZ9OnrPjUOf/i7g+B9T6msk8wtgI=";
}; };
postPatch = ''
substituteInPlace pyproject.toml \
--replace " --cov=async_interrupt --cov-report=term-missing:skip-covered" ""
'';
nativeBuildInputs = [ poetry-core ]; nativeBuildInputs = [ poetry-core ];
nativeCheckInputs = [ nativeCheckInputs = [
pytest-asyncio pytest-asyncio
pytest-cov-stub
pytestCheckHook pytestCheckHook
]; ];

View file

@ -3,7 +3,7 @@
buildPythonPackage, buildPythonPackage,
fetchPypi, fetchPypi,
async-timeout, async-timeout,
pysnmp-lextudio, pysnmp,
pythonOlder, pythonOlder,
poetry-core, poetry-core,
}: }:
@ -20,11 +20,16 @@ buildPythonPackage rec {
hash = "sha256-KzRoE4tE/tQkKYroq5PbWKREmEl8AwbIOg3IHRZZtsQ="; hash = "sha256-KzRoE4tE/tQkKYroq5PbWKREmEl8AwbIOg3IHRZZtsQ=";
}; };
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail pysnmp-lextudio pysnmp
'';
nativeBuildInputs = [ poetry-core ]; nativeBuildInputs = [ poetry-core ];
propagatedBuildInputs = [ propagatedBuildInputs = [
async-timeout async-timeout
pysnmp-lextudio pysnmp
]; ];
# Module has no test # Module has no test

View file

@ -0,0 +1,52 @@
{
aiohttp,
buildPythonPackage,
fetchFromGitHub,
lib,
pytest-asyncio,
pytestCheckHook,
requests,
setuptools,
ujson,
}:
buildPythonPackage rec {
pname = "ayla-iot-unofficial";
version = "1.3.1";
pyproject = true;
src = fetchFromGitHub {
owner = "rewardone";
repo = "ayla-iot-unofficial";
rev = "refs/tags/v${version}";
hash = "sha256-WfaDTKht+WEnozVFWGYwNvrC8Rr/IePxjNp5O7jz/9A=";
};
build-system = [ setuptools ];
dependencies = [
aiohttp
requests
ujson
];
pythonImportsCheck = [ "ayla_iot_unofficial" ];
nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
];
pytestFlagsArray = [ "tests/ayla_iot_unofficial.py" ];
# tests interact with the actual API
doCheck = false;
meta = {
changelog = "https://github.com/rewardone/ayla-iot-unofficial/releases/tag/v${version}";
description = "Unofficial python library for interacting with the Ayla IoT API";
homepage = "https://github.com/rewardone/ayla-iot-unofficial";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

View file

@ -18,7 +18,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "bellows"; pname = "bellows";
version = "0.40.4"; version = "0.40.5";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -27,7 +27,7 @@ buildPythonPackage rec {
owner = "zigpy"; owner = "zigpy";
repo = "bellows"; repo = "bellows";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-9YReXaD4qmd2gzbGwzhslzT4K3ajCQrCN7TVl/6fOMU="; hash = "sha256-VOeoIv1tVcgLfDAH8NKtqyL3x5puDwdxlJ2gqw213t8=";
}; };
postPatch = '' postPatch = ''

View file

@ -19,7 +19,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "bimmer-connected"; pname = "bimmer-connected";
version = "0.16.1"; version = "0.16.3";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -28,7 +28,7 @@ buildPythonPackage rec {
owner = "bimmerconnected"; owner = "bimmerconnected";
repo = "bimmer_connected"; repo = "bimmer_connected";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-rklWek0XDedJXxVlRLLVMOkU0wMOlv8+Uzn8aVAmc2k="; hash = "sha256-IrGOhUnWTtCI5juFFuNdWSWxeFr7s8bRNT8sUludGo0=";
}; };
build-system = [ build-system = [

View file

@ -14,29 +14,29 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "bluetooth-data-tools"; pname = "bluetooth-data-tools";
version = "1.19.4"; version = "1.20.0";
format = "pyproject"; pyproject = true;
disabled = pythonOlder "3.9"; disabled = pythonOlder "3.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Bluetooth-Devices"; owner = "Bluetooth-Devices";
repo = pname; repo = "bluetooth-data-tools";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-VoldKrlD/1Crw0tJcHoMGiLR8uTUI25IlwZ/1AICx84="; hash = "sha256-qg2QZc95DD2uTO0fTwoNaPfL+QSrcqDwJvx41lIZDRs=";
}; };
# The project can build both an optimized cython version and an unoptimized # The project can build both an optimized cython version and an unoptimized
# python version. This ensures we fail if we build the wrong one. # python version. This ensures we fail if we build the wrong one.
env.REQUIRE_CYTHON = 1; env.REQUIRE_CYTHON = 1;
nativeBuildInputs = [ build-system = [
cython cython
poetry-core poetry-core
setuptools setuptools
]; ];
propagatedBuildInputs = [ cryptography ]; dependencies = [ cryptography ];
nativeCheckInputs = [ nativeCheckInputs = [
pytest-benchmark pytest-benchmark

View file

@ -4,7 +4,7 @@
fetchFromGitHub, fetchFromGitHub,
freezegun, freezegun,
dacite, dacite,
pysnmp-lextudio, pysnmp,
pytest-asyncio, pytest-asyncio,
pytest-error-for-skips, pytest-error-for-skips,
pytestCheckHook, pytestCheckHook,
@ -15,23 +15,23 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "brother"; pname = "brother";
version = "4.2.0"; version = "4.3.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.11"; disabled = pythonOlder "3.11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bieniu"; owner = "bieniu";
repo = pname; repo = "brother";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-5fd+UznnOFnqYL8CPX90Y2z6q35oUH638mz4l+Ux6oE="; hash = "sha256-JnIJgR8OiN6y6ib0Y+FXa98Q/4dtvJ8q2r6tgQSRvN4=";
}; };
nativeBuildInputs = [ setuptools ]; build-system = [ setuptools ];
propagatedBuildInputs = [ dependencies = [
dacite dacite
pysnmp-lextudio pysnmp
]; ];
nativeCheckInputs = [ nativeCheckInputs = [

View file

@ -6,26 +6,24 @@
pytestCheckHook, pytestCheckHook,
boto3, boto3,
moto, moto,
poetry-core,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "bucketstore"; pname = "bucketstore";
version = "0.2.2"; version = "0.3.0";
format = "setuptools"; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jpetrucciani"; owner = "jpetrucciani";
repo = "bucketstore"; repo = "bucketstore";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-BtoyGqFbeBhGQeXnmeSfiuJLZtXFrK26WO0SDlAtKG4="; hash = "sha256-WjweYFnlDEoR+TYzNgjPMdCLdUUEbdPROubov6kancc=";
}; };
postPatch = '' build-system = [ poetry-core ];
substituteInPlace setup.py \
--replace "version=__version__," 'version="${version}",'
'';
propagatedBuildInputs = [ boto3 ]; propagatedBuildInputs = [ boto3 ];

View file

@ -4,47 +4,43 @@
cython, cython,
fetchFromGitHub, fetchFromGitHub,
poetry-core, poetry-core,
pytest-cov-stub,
pytestCheckHook, pytestCheckHook,
pythonOlder, pythonOlder,
setuptools, setuptools,
wheel,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "cached-ipaddress"; pname = "cached-ipaddress";
version = "0.3.0"; version = "0.5.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bdraco"; owner = "bdraco";
repo = "cached-ipaddress"; repo = "cached-ipaddress";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-iTQ1DSCZqjAzsf95nYUxnNj5YCb1Y4JIUW5VGIi7yoY="; hash = "sha256-Ec2tW1X0iYdQFd5XFRABwUTPjqxV5lhwT6UEimmF+/o=";
}; };
postPatch = '' build-system = [
substituteInPlace pyproject.toml \
--replace " --cov=cached_ipaddress --cov-report=term-missing:skip-covered" "" \
--replace "Cython>=3.0.5" "Cython"
'';
nativeBuildInputs = [
cython cython
poetry-core poetry-core
setuptools setuptools
wheel
]; ];
nativeCheckInputs = [ pytestCheckHook ]; nativeCheckInputs = [
pytest-cov-stub
pytestCheckHook
];
pythonImportsCheck = [ "cached_ipaddress" ]; pythonImportsCheck = [ "cached_ipaddress" ];
meta = with lib; { meta = with lib; {
description = "Cache construction of ipaddress objects"; description = "Cache construction of ipaddress objects";
homepage = "https://github.com/bdraco/cached-ipaddress"; homepage = "https://github.com/bdraco/cached-ipaddress";
changelog = "https://github.com/bdraco/cached-ipaddress/blob/${version}/CHANGELOG.md"; changelog = "https://github.com/bdraco/cached-ipaddress/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit; license = licenses.mit;
maintainers = [ ]; maintainers = [ ];
}; };

View file

@ -12,7 +12,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "clarifai-grpc"; pname = "clarifai-grpc";
version = "10.7.3"; version = "10.8.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "Clarifai"; owner = "Clarifai";
repo = "clarifai-python-grpc"; repo = "clarifai-python-grpc";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-32ICs4V2XNEOjHBSmBAC0ZacQGam3fsTizEZ6Wz/xWw="; hash = "sha256-Jp5pH1KZY9JoRKGOLeBqF9CC7UoRHC9wFOBPD9t5AR8=";
}; };
build-system = [ setuptools ]; build-system = [ setuptools ];

View file

@ -3,27 +3,29 @@
async-timeout, async-timeout,
buildPythonPackage, buildPythonPackage,
cython, cython,
dbus,
fetchFromGitHub, fetchFromGitHub,
poetry-core, poetry-core,
pytest,
pytest-asyncio, pytest-asyncio,
pytestCheckHook, pytest-cov-stub,
python,
pythonOlder, pythonOlder,
setuptools, setuptools,
wheel,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "dbus-fast"; pname = "dbus-fast";
version = "2.22.1"; version = "2.24.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Bluetooth-Devices"; owner = "Bluetooth-Devices";
repo = "dbus-fast"; repo = "dbus-fast";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-WT32nkRcS+JFCJCZNXXFm38nzttYLsqU98tJD7YBn9w="; hash = "sha256-8M2SRyAkuxNbwT5NRN6cwJ82OtprfBZXi9Yqwh1NLVY=";
}; };
# The project can build both an optimized cython version and an unoptimized # The project can build both an optimized cython version and an unoptimized
@ -34,21 +36,17 @@ buildPythonPackage rec {
cython cython
poetry-core poetry-core
setuptools setuptools
wheel
]; ];
dependencies = [ async-timeout ]; dependencies = [ async-timeout ];
nativeCheckInputs = [ nativeCheckInputs = [
dbus
pytest
pytest-asyncio pytest-asyncio
pytestCheckHook pytest-cov-stub
]; ];
postPatch = ''
substituteInPlace pyproject.toml \
--replace " --cov=dbus_fast --cov-report=term-missing:skip-covered" ""
'';
pythonImportsCheck = [ pythonImportsCheck = [
"dbus_fast" "dbus_fast"
"dbus_fast.aio" "dbus_fast.aio"
@ -56,52 +54,21 @@ buildPythonPackage rec {
"dbus_fast.message" "dbus_fast.message"
]; ];
disabledTests = [ checkPhase = ''
# Test require a running Dbus instance runHook preCheck
"test_aio_big_message"
"test_aio_properties" # test_peer_interface times out
"test_aio_proxy_object" dbus-run-session \
"test_bus_disconnect_before_reply" --config-file=${dbus}/share/dbus-1/session.conf \
"test_error_handling" ${python.interpreter} -m pytest -k "not test_peer_interface"
"test_export_alias"
"test_export_introspection" runHook postCheck
"test_export_unexport" '';
"test_fast_disconnect"
"test_glib_big_message"
"test_high_level_service_fd_passing"
"test_interface_add_remove_signal"
"test_introspectable_interface"
"test_methods"
"test_multiple_flags_in_message"
"test_name_requests"
"test_object_manager"
"test_peer_interface"
"test_property_changed_signal"
"test_property_changed_signal"
"test_property_methods"
"test_sending_file_descriptor_low_level"
"test_sending_file_descriptor_with_proxy"
"test_sending_messages_between_buses"
"test_sending_signals_between_buses"
"test_signals"
"test_standard_interface_properties"
"test_standard_interfaces"
"test_tcp_connection_with_forwarding"
"test_unexpected_disconnect"
# NameError: name '_cast_uint32_native' is not defined
"test_unmarshall_bluez_interfaces_added_message"
"test_unmarshall_bluez_interfaces_removed_message"
"test_unmarshall_bluez_message"
"test_unmarshall_bluez_properties_changed_with_service_data"
"test_unmarshall_can_resume"
"test_unmarshalling_with_table"
"test_ay_buffer"
];
meta = with lib; { meta = with lib; {
description = "Faster version of dbus-next"; description = "Faster version of dbus-next";
homepage = "https://github.com/bluetooth-devices/dbus-fast"; homepage = "https://github.com/bluetooth-devices/dbus-fast";
changelog = "https://github.com/Bluetooth-Devices/dbus-fast/releases/tag/v${version}"; changelog = "https://github.com/Bluetooth-Devices/dbus-fast/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ fab ]; maintainers = with maintainers; [ fab ];
}; };

View file

@ -7,21 +7,21 @@
defusedxml, defusedxml,
docker, docker,
fetchFromGitHub, fetchFromGitHub,
hatch-vcs,
hatchling,
numpy, numpy,
pillow, pillow,
pycountry, pycountry,
pytest-asyncio, pytest-asyncio,
pytestCheckHook, pytestCheckHook,
pythonOlder, pythonOlder,
setuptools,
setuptools-scm,
svg-py, svg-py,
testfixtures, testfixtures,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "deebot-client"; pname = "deebot-client";
version = "8.3.0"; version = "8.4.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.12"; disabled = pythonOlder "3.12";
@ -30,15 +30,18 @@ buildPythonPackage rec {
owner = "DeebotUniverse"; owner = "DeebotUniverse";
repo = "client.py"; repo = "client.py";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-a6gFy+w+5FEs4YwS2Pfcyiv0grLcSzFpxxbcZ0AYIL4="; hash = "sha256-VWXJykG9XSrpTjnv5radUAp/OMCH2YVlmkT6L8S+wyI=";
}; };
build-system = [ pythonRelaxDeps = [
setuptools "aiohttp"
setuptools-scm "defusedxml"
]; ];
pythonRelaxDeps = [ "aiohttp" ]; build-system = [
hatch-vcs
hatchling
];
dependencies = [ dependencies = [
aiohttp aiohttp

View file

@ -57,7 +57,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "dvc"; pname = "dvc";
version = "3.55.1"; version = "3.55.2";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -66,7 +66,7 @@ buildPythonPackage rec {
owner = "iterative"; owner = "iterative";
repo = "dvc"; repo = "dvc";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-DrhjmVHCX1lXJUrklVgO/eguL1uRQ33kJjSgCAEIyew="; hash = "sha256-yNnOSYh4lCefTnIgNstsKaRbrPCgSiWEgKeF66KD66k=";
}; };
pythonRelaxDeps = [ pythonRelaxDeps = [

View file

@ -36,10 +36,18 @@ buildPythonPackage rec {
nativeCheckInputs = [ pytestCheckHook ]; nativeCheckInputs = [ pytestCheckHook ];
pytestFlagsArray = [ "tests" ]; pytestFlagsArray = [ "tests" ];
disabledTests = lib.optionals (stdenv.isAarch64 && stdenv.isLinux) [ disabledTests =
# slightly exceeds numerical tolerance on aarch64-linux: # torch._dynamo.exc.BackendCompilerFailed: backend='inductor' raised:
"test_fts_frozen_bn_track_running_stats" # LoweringException: ImportError: cannot import name 'triton_key' from 'triton.compiler.compiler'
]; lib.optionals (pythonOlder "3.12") [
"test_fts_dynamo_enforce_p0"
"test_fts_dynamo_resume"
"test_fts_dynamo_intrafit"
]
++ lib.optionals (stdenv.isAarch64 && stdenv.isLinux) [
# slightly exceeds numerical tolerance on aarch64-linux:
"test_fts_frozen_bn_track_running_stats"
];
pythonImportsCheck = [ "finetuning_scheduler" ]; pythonImportsCheck = [ "finetuning_scheduler" ];

View file

@ -13,7 +13,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "flipr-api"; pname = "flipr-api";
version = "1.5.1"; version = "1.6.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.9"; disabled = pythonOlder "3.9";
@ -22,12 +22,12 @@ buildPythonPackage rec {
owner = "cnico"; owner = "cnico";
repo = "flipr-api"; repo = "flipr-api";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-xgLi2lH+EPPNlMixqOzdBGVLuoJh5dhZ2tHZ0UH+lOk="; hash = "sha256-sFCeWfu5rwImIizzik9RzfCWaEHiqhsQrapfuCXHr+4=";
}; };
nativeBuildInputs = [ poetry-core ]; build-system = [ poetry-core ];
propagatedBuildInputs = [ dependencies = [
python-dateutil python-dateutil
requests requests
]; ];
@ -38,6 +38,12 @@ buildPythonPackage rec {
pytestCheckHook pytestCheckHook
]; ];
env = {
# used in test_session
FLIPR_USERNAME = "foobar";
FLIPR_PASSWORD = "secret";
};
pythonImportsCheck = [ "flipr_api" ]; pythonImportsCheck = [ "flipr_api" ];
meta = with lib; { meta = with lib; {
@ -45,7 +51,7 @@ buildPythonPackage rec {
mainProgram = "flipr-api"; mainProgram = "flipr-api";
homepage = "https://github.com/cnico/flipr-api"; homepage = "https://github.com/cnico/flipr-api";
changelog = "https://github.com/cnico/flipr-api/releases/tag/${version}"; changelog = "https://github.com/cnico/flipr-api/releases/tag/${version}";
license = licenses.mit; license = licenses.gpl3Plus;
maintainers = with maintainers; [ fab ]; maintainers = with maintainers; [ fab ];
}; };
} }

View file

@ -5,40 +5,37 @@
cython, cython,
poetry-core, poetry-core,
setuptools, setuptools,
wheel,
fnvhash, fnvhash,
pytest-cov-stub,
pytestCheckHook, pytestCheckHook,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "fnv-hash-fast"; pname = "fnv-hash-fast";
version = "0.5.0"; version = "1.0.2";
format = "pyproject"; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bdraco"; owner = "bdraco";
repo = "fnv-hash-fast"; repo = "fnv-hash-fast";
rev = "v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-gAHCssJC6sTR6ftkQHrtF/5Nf9dXE4ykRhVusb0Gu3I="; hash = "sha256-kJQZnj1ja7cVZSDOuUI3rkNIvyH508wFKAvJ5XfwCNU=";
}; };
postPatch = '' build-system = [
substituteInPlace pyproject.toml \
--replace "--cov=fnv_hash_fast --cov-report=term-missing:skip-covered" ""
'';
nativeBuildInputs = [
cython cython
poetry-core poetry-core
setuptools setuptools
wheel
]; ];
propagatedBuildInputs = [ fnvhash ]; dependencies = [ fnvhash ];
pythonImportsCheck = [ "fnv_hash_fast" ]; pythonImportsCheck = [ "fnv_hash_fast" ];
nativeCheckInputs = [ pytestCheckHook ]; nativeCheckInputs = [
pytest-cov-stub
pytestCheckHook
];
meta = with lib; { meta = with lib; {
description = "Fast version of fnv1a"; description = "Fast version of fnv1a";

View file

@ -1,35 +1,49 @@
{ {
lib, lib,
aiohttp, aiohttp,
aioresponses,
buildPythonPackage, buildPythonPackage,
fetchFromGitHub, fetchFromGitHub,
hatchling, hatchling,
mashumaro,
pytest-asyncio,
pytestCheckHook,
pythonOlder, pythonOlder,
syrupy,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "fyta-cli"; pname = "fyta-cli";
version = "0.5.1"; version = "0.6.6";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dontinelli"; owner = "dontinelli";
repo = "fyta_cli"; repo = "fyta_cli";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-V6yf5XFPPePQkRKyH6pyVFDsviYjnIs9g+PavCTDiZo="; hash = "sha256-yuTfrWiGxoiEmQ1zaYM2ZrlrssZ+hCupPxar9SUP4uU=";
}; };
build-system = [ hatchling ]; build-system = [ hatchling ];
dependencies = [ aiohttp ]; dependencies = [
aiohttp
mashumaro
];
# Module has no tests nativeCheckInputs = [
doCheck = false; aioresponses
pytest-asyncio
pytestCheckHook
syrupy
];
pythonImportsCheck = [ "fyta_cli" ]; pythonImportsCheck = [ "fyta_cli" ];
pytestFlagsArray = [ "--snapshot-update" ];
meta = with lib; { meta = with lib; {
description = "Module to access the FYTA API"; description = "Module to access the FYTA API";
homepage = "https://github.com/dontinelli/fyta_cli"; homepage = "https://github.com/dontinelli/fyta_cli";

View file

@ -11,15 +11,15 @@
fetchFromGitHub, fetchFromGitHub,
poetry-core, poetry-core,
pytest-asyncio, pytest-asyncio,
pytest-cov-stub,
pytestCheckHook, pytestCheckHook,
pythonOlder, pythonOlder,
setuptools, setuptools,
wheel,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "habluetooth"; pname = "habluetooth";
version = "3.1.3"; version = "3.4.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.11"; disabled = pythonOlder "3.11";
@ -28,19 +28,13 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices"; owner = "Bluetooth-Devices";
repo = "habluetooth"; repo = "habluetooth";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-HG2G/ymSw6e03KJOB/F5ja2Cv5nD+nPgOjMHPCYNSH8="; hash = "sha256-qmb7hfrcKWSs1dkyozuTPsVbI0cjVAJ9Em0JIIKsyck=";
}; };
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail " --cov=habluetooth --cov-report=term-missing:skip-covered" ""
'';
build-system = [ build-system = [
cython cython
poetry-core poetry-core
setuptools setuptools
wheel
]; ];
dependencies = [ dependencies = [
@ -54,6 +48,7 @@ buildPythonPackage rec {
nativeCheckInputs = [ nativeCheckInputs = [
pytest-asyncio pytest-asyncio
pytest-cov-stub
pytestCheckHook pytestCheckHook
]; ];

View file

@ -7,17 +7,17 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "knx-frontend"; pname = "knx-frontend";
version = "2024.8.9.225351"; version = "2024.9.4.64538";
format = "pyproject"; pyproject = true;
# TODO: source build, uses yarn.lock # TODO: source build, uses yarn.lock
src = fetchPypi { src = fetchPypi {
pname = "knx_frontend"; pname = "knx_frontend";
inherit version; inherit version;
hash = "sha256-ZxEcGXSsdBZQAcwsXI7K/bmxw8+DFQc+aBbgaIfTQgU="; hash = "sha256-xOBo6y2yT5MNIzyJ8SVVndHrM+Ol/GZXLC/nAwqXY2M=";
}; };
nativeBuildInputs = [ setuptools ]; build-system = [ setuptools ];
pythonImportsCheck = [ "knx_frontend" ]; pythonImportsCheck = [ "knx_frontend" ];

View file

@ -0,0 +1,39 @@
{
buildPythonPackage,
fetchPypi,
lib,
setuptools,
}:
buildPythonPackage rec {
pname = "lcn-frontend";
version = "0.1.6";
pyproject = true;
src = fetchPypi {
pname = "lcn_frontend";
inherit version;
hash = "sha256-bOR2BFYHZjRVhlH72ljqp4WKtWdqBkzZNyrmtuIzmIM=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "setuptools~=68.0" setuptools \
--replace-fail "wheel~=0.40.0" wheel
'';
build-system = [ setuptools ];
pythonImportsCheck = [ "lcn_frontend" ];
# upstream has no tests
doCheck = false;
meta = {
changelog = "https://github.com/alengwenus/lcn-frontend/releases/tag/${version}";
description = "LCN panel for Home Assistant";
homepage = "https://github.com/alengwenus/lcn-frontend";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

View file

@ -19,16 +19,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "lightning-utilities"; pname = "lightning-utilities";
version = "0.11.6"; version = "0.11.7";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Lightning-AI"; owner = "Lightning-AI";
repo = "utilities"; repo = "utilities";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-Bw28mLz9GaMucqP+EqR1F3OKLxDJiIVacrCBIV35G/I="; hash = "sha256-0XxBDe9OGQLfl4viuUm5Hx8WvZhSj+J0FoDqD/JOiZM=";
}; };
postPatch = '' postPatch = ''

View file

@ -5,22 +5,25 @@
buildPythonPackage, buildPythonPackage,
fetchFromGitHub, fetchFromGitHub,
httpx, httpx,
pytest-asyncio,
pytestCheckHook,
pythonOlder, pythonOlder,
setuptools, setuptools,
syrupy,
websockets, websockets,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "lmcloud"; pname = "lmcloud";
version = ".1.2.2"; version = "1.2.2";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.11"; disabled = pythonOlder "3.11";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zweckj"; owner = "zweckj";
repo = "lmcloud"; repo = "pylamarzocco";
rev = "refs/tags/v${version}"; rev = "refs/tags/v.${version}";
hash = "sha256-uYd52T9dAvFP6in1fHiCXFVUdbRXDE7crjfelbasW4Q="; hash = "sha256-uYd52T9dAvFP6in1fHiCXFVUdbRXDE7crjfelbasW4Q=";
}; };
@ -33,15 +36,18 @@ buildPythonPackage rec {
websockets websockets
]; ];
# Module has no tests nativeCheckInputs = [
doCheck = false; pytest-asyncio
pytestCheckHook
syrupy
];
pythonImportsCheck = [ "lmcloud" ]; pythonImportsCheck = [ "lmcloud" ];
meta = with lib; { meta = with lib; {
description = "Library to interface with La Marzocco's cloud"; description = "Library to interface with La Marzocco's cloud";
homepage = "https://github.com/zweckj/lmcloud"; homepage = "https://github.com/zweckj/pylamarzocco";
changelog = "https://github.com/zweckj/lmcloud/releases/tag/v${version}"; changelog = "https://github.com/zweckj/pylamarzocco/releases/tag/v.${version}";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ fab ]; maintainers = with maintainers; [ fab ];
}; };

View file

@ -0,0 +1,59 @@
{
buildPythonPackage,
fetchFromGitHub,
aiobotocore,
aiohttp,
lib,
poetry-core,
pycognito,
pytest-aiohttp,
pytest-asyncio,
pytest-cov-stub,
pytestCheckHook,
syrupy,
tenacity,
yarl,
}:
buildPythonPackage rec {
pname = "nice-go";
version = "0.3.8";
pyproject = true;
src = fetchFromGitHub {
owner = "IceBotYT";
repo = "nice-go";
rev = "refs/tags/${version}";
hash = "sha256-d035AA8N2yjkUJh2TBqkp2RLvH89cJXC4mFrny1sJ6k=";
};
build-system = [ poetry-core ];
pythonRelaxDeps = [ "tenacity" ];
dependencies = [
aiobotocore
aiohttp
pycognito
tenacity
yarl
];
pythonImportsCheck = [ "nice_go" ];
nativeCheckInputs = [
pytest-aiohttp
pytest-asyncio
pytest-cov-stub
pytestCheckHook
syrupy
];
meta = {
changelog = "https://github.com/IceBotYT/nice-go/blob/${src.rev}/CHANGELOG.md";
description = "Control various Nice access control products";
homepage = "https://github.com/IceBotYT/nice-go";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

View file

@ -7,6 +7,7 @@
python, python,
buildPythonPackage, buildPythonPackage,
setuptools, setuptools,
numpy,
numpy_2, numpy_2,
llvmlite, llvmlite,
libcxx, libcxx,
@ -81,6 +82,7 @@ buildPythonPackage rec {
build-system = [ build-system = [
setuptools setuptools
numpy
]; ];
nativeBuildInputs = lib.optionals cudaSupport [ nativeBuildInputs = lib.optionals cudaSupport [
@ -88,12 +90,10 @@ buildPythonPackage rec {
cudaPackages.cuda_nvcc cudaPackages.cuda_nvcc
]; ];
buildInputs = [ buildInputs = lib.optionals cudaSupport [ cudaPackages.cuda_cudart ];
# Not propagating it, because it numba can work with either numpy_2 or numpy_1
numpy_2
] ++ lib.optionals cudaSupport [ cudaPackages.cuda_cudart ];
dependencies = [ dependencies = [
numpy
llvmlite llvmlite
setuptools setuptools
] ++ lib.optionals (pythonOlder "3.9") [ importlib-metadata ]; ] ++ lib.optionals (pythonOlder "3.9") [ importlib-metadata ];
@ -161,6 +161,9 @@ buildPythonPackage rec {
doFullCheck = true; doFullCheck = true;
testsWithoutSandbox = false; testsWithoutSandbox = false;
}; };
numpy_2 = numba.override {
numpy = numpy_2;
};
}; };
meta = with lib; { meta = with lib; {

View file

@ -29,14 +29,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "opensearch-py"; pname = "opensearch-py";
version = "2.6.0"; version = "2.7.1";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "opensearch-project"; owner = "opensearch-project";
repo = "opensearch-py"; repo = "opensearch-py";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-qpay0EDD99MzxDMkjk3hU/34rxLD71PM8zdcIcHj/0Q="; hash = "sha256-GC0waXxHRiXVXjhTGbet3HvDKmUBKzoufu/J4fmrM+k=";
}; };
nativeBuildInputs = [ setuptools ]; nativeBuildInputs = [ setuptools ];

View file

@ -11,16 +11,16 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "py-synologydsm-api"; pname = "py-synologydsm-api";
version = "2.4.5"; version = "2.5.2";
format = "pyproject"; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mib1185"; owner = "mib1185";
repo = "py-synologydsm-api"; repo = "py-synologydsm-api";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-aVU+E5TwGIH+y7qtS5pBkW14EbZI6kb1Hy2zEqk1nrk="; hash = "sha256-c1qNCOmGEiI+bHDGxJ7OtdmPFcdkev+5U9cuDC8O5iQ=";
}; };
build-system = [ setuptools ]; build-system = [ setuptools ];

View file

@ -17,7 +17,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pyatmo"; pname = "pyatmo";
version = "8.0.3"; version = "8.1.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.10"; disabled = pythonOlder "3.10";
@ -26,20 +26,18 @@ buildPythonPackage rec {
owner = "jabesq"; owner = "jabesq";
repo = "pyatmo"; repo = "pyatmo";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-FnDXj+bY/TMdengnxgludXUTiZw9wpeFiNbWTIxrlzw="; hash = "sha256-SRuBV7XWt4Myks7kbUzGAscggspUbRoLOvYNiorF8To=";
}; };
postPatch = '' pythonRelaxDeps = [
substituteInPlace setup.cfg \ "oauthlib"
--replace "oauthlib~=3.1" "oauthlib" \ "requests-oauthlib"
--replace "requests~=2.24" "requests" "requests"
''; ];
pythonRelaxDeps = [ "requests-oauthlib" ]; build-system = [ setuptools-scm ];
nativeBuildInputs = [ setuptools-scm ]; dependencies = [
propagatedBuildInputs = [
aiohttp aiohttp
oauthlib oauthlib
requests requests

View file

@ -3,22 +3,25 @@
aiohttp, aiohttp,
buildPythonPackage, buildPythonPackage,
fetchPypi, fetchPypi,
poetry-core,
pythonOlder, pythonOlder,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pysensibo"; pname = "pysensibo";
version = "1.0.36"; version = "1.1.0";
format = "setuptools"; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.11";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-lsHKwFzfkGWuUiZGkt9zwjNDDU7i6gcqcEsi5SQqsSQ="; hash = "sha256-yITcVEBtqH1B+MyhQweOzmdgPgWrueAkczp/UsT4J/4=";
}; };
propagatedBuildInputs = [ aiohttp ]; build-system = [ poetry-core ];
dependencies = [ aiohttp ];
# No tests implemented # No tests implemented
doCheck = false; doCheck = false;

View file

@ -1,46 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
jinja2,
ply,
poetry-core,
pythonOlder,
requests,
}:
buildPythonPackage rec {
pname = "pysmi-lextudio";
version = "1.4.3";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "lextudio";
repo = "pysmi";
rev = "refs/tags/v${version}";
hash = "sha256-JrWVoK7fqESUIJeprjB28iaqOEWgsTpTqUEmSZp9XDk=";
};
nativeBuildInputs = [ poetry-core ];
propagatedBuildInputs = [
jinja2
ply
requests
];
# Circular dependency on pysnmp-lextudio
doCheck = false;
pythonImportsCheck = [ "pysmi" ];
meta = with lib; {
description = "SNMP MIB parser";
homepage = "https://github.com/lextudio/pysmi";
changelog = "https://github.com/lextudio/pysmi/blob/v${version}/CHANGES.rst";
license = licenses.bsd2;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -1,29 +1,59 @@
{ {
lib, lib,
buildPythonPackage, buildPythonPackage,
fetchPypi, fetchFromGitHub,
# build-system
poetry-core,
# dependencies
ply, ply,
jinja2,
requests,
# tests
pysmi,
pysnmp,
pytestCheckHook,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
version = "0.3.4"; version = "1.4.4";
format = "setuptools";
pname = "pysmi"; pname = "pysmi";
pyproject = true;
src = fetchPypi { src = fetchFromGitHub {
inherit pname version; owner = "lextudio";
sha256 = "bd15a15020aee8376cab5be264c26330824a8b8164ed0195bd402dd59e4e8f7c"; repo = "pysmi";
rev = "refs/tags/v${version}";
hash = "sha256-9ArKo1UT4g+H8Z51NZ6rHlOhyz2grAc1V8Xl+ztfYic=";
}; };
propagatedBuildInputs = [ ply ]; build-system = [ poetry-core ];
dependencies = [
ply
jinja2
requests
];
# Tests require pysnmp, which in turn requires pysmi => infinite recursion # Tests require pysnmp, which in turn requires pysmi => infinite recursion
doCheck = false; doCheck = false;
nativeCheckInputs = [
pysnmp
pytestCheckHook
];
pythonImportsCheck = [ "pysmi" ];
passthru.tests.pytest = pysmi.overridePythonAttrs { doCheck = true; };
meta = with lib; { meta = with lib; {
homepage = "http://pysmi.sf.net"; description = "SNMP MIB parser";
description = "SNMP SMI/MIB Parser"; homepage = "https://github.com/lextudio/pysmi";
changelog = "https://github.com/lextudio/pysmi/blob/v${version}/CHANGES.rst";
license = licenses.bsd2; license = licenses.bsd2;
maintainers = with maintainers; [ koral ]; maintainers = with maintainers; [ fab ];
}; };
} }

View file

@ -0,0 +1,49 @@
{
aiohttp,
aiohttp-sse-client2,
aresponses,
buildPythonPackage,
fetchFromGitHub,
lib,
mashumaro,
poetry-core,
pytest-asyncio,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "pysmlight";
version = "0.0.13";
pyproject = true;
src = fetchFromGitHub {
owner = "smlight-tech";
repo = "pysmlight";
rev = "refs/tags/v${version}";
hash = "sha256-yNTNcJGcTA7EN1JfbDaySCSfBx99vRKLQWqMG4OkC5k=";
};
build-system = [ poetry-core ];
dependencies = [
aiohttp
aiohttp-sse-client2
mashumaro
];
pythonImportsCheck = [ "pysmlight" ];
nativeCheckInputs = [
aresponses
pytest-asyncio
pytestCheckHook
];
meta = {
changelog = "https://github.com/smlight-tech/pysmlight/releases/tag/v${version}";
description = "Library implementing API control of the SMLIGHT SLZB-06 LAN Coordinators";
homepage = "https://github.com/smlight-tech/pysmlight";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

View file

@ -1,72 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
poetry-core,
# dependencies
pyasn1,
pysmi-lextudio,
pysnmpcrypto,
# tests
pytestCheckHook,
pytest-asyncio,
}:
buildPythonPackage rec {
pname = "pysnmp-lextudio";
version = "6.1.2";
pyproject = true;
src = fetchFromGitHub {
owner = "lextudio";
repo = "pysnmp";
rev = "refs/tags/v${version}";
hash = "sha256-iVej39OmTPiZL11+IetnqHaxFAhZ/YR7tjiRoc7pu8U=";
};
nativeBuildInputs = [ poetry-core ];
propagatedBuildInputs = [
pyasn1
pysmi-lextudio
pysnmpcrypto
];
nativeCheckInputs = [
pytestCheckHook
pytest-asyncio
];
disabledTests = [
# Temporary failure in name resolutionc
"test_custom_asn1_mib_search_path"
"test_send_notification"
"test_send_trap"
"test_send_v3_inform_notification"
"test_send_v3_inform_sync"
"test_usm_sha_aes128"
"test_v1_get"
"test_v1_next"
"test_v1_set"
"test_v2c_bulk"
# pysnmp.smi.error.MibNotFoundError
"test_send_v3_trap_notification"
"test_addAsn1MibSource"
"test_v1_walk"
"test_v2_walk"
];
pythonImportsCheck = [ "pysnmp" ];
meta = with lib; {
description = "Python SNMP library";
homepage = "https://github.com/lextudio/pysnmp";
changelog = "https://github.com/lextudio/pysnmp/blob/${src.rev}/CHANGES.txt";
license = licenses.bsd2;
maintainers = with maintainers; [ hexa ];
};
}

View file

@ -1,40 +1,74 @@
{ {
lib, lib,
buildPythonPackage, buildPythonPackage,
fetchPypi, fetchFromGitHub,
# build-system
poetry-core,
# dependencies
pyasn1, pyasn1,
pycryptodomex,
pysmi, pysmi,
pysnmpcrypto,
# tests
pytestCheckHook,
pytest-asyncio,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pysnmp"; pname = "pysnmp";
version = "4.4.12"; version = "6.2.5";
format = "setuptools"; pyproject = true;
src = fetchPypi { src = fetchFromGitHub {
inherit pname version; owner = "lextudio";
sha256 = "1acbfvpbr45i137s00mbhh21p71ywjfw3r8z0ybcmjjqz7rbwg8c"; repo = "pysnmp";
rev = "refs/tags/v${version}";
hash = "sha256-EGMUTUN95wykU756GJSiXwr8Hi3kyaLPfqhuDgvhbBE=";
}; };
patches = [ ./setup.py-Fix-the-setuptools-version-check.patch ]; pythonRemoveDeps = [ "pytest-cov" ];
# NameError: name 'mibBuilder' is not defined build-system = [ poetry-core ];
doCheck = false;
propagatedBuildInputs = [ dependencies = [
pyasn1 pyasn1
pycryptodomex
pysmi pysmi
pysnmpcrypto
]; ];
nativeCheckInputs = [
pytestCheckHook
pytest-asyncio
];
disabledTests = [
# Temporary failure in name resolution
"test_custom_asn1_mib_search_path"
"test_send_notification"
"test_send_trap"
"test_send_v3_inform_notification"
"test_send_v3_inform_sync"
"test_usm_sha_aes128"
"test_v1_get"
"test_v1_next"
"test_v1_set"
"test_v2c_bulk"
# pysnmp.smi.error.MibNotFoundError
"test_send_v3_trap_notification"
"test_addAsn1MibSource"
"test_v1_walk"
"test_v2_walk"
];
pythonImportsCheck = [ "pysnmp" ];
meta = with lib; { meta = with lib; {
homepage = "http://snmplabs.com/pysnmp/index.html"; description = "Python SNMP library";
description = "Pure-Python SNMPv1/v2c/v3 library"; homepage = "https://github.com/lextudio/pysnmp";
changelog = "https://github.com/lextudio/pysnmp/blob/${src.rev}/CHANGES.txt";
license = licenses.bsd2; license = licenses.bsd2;
maintainers = with maintainers; [ maintainers = with maintainers; [ hexa ];
primeos
koral
];
}; };
} }

View file

@ -0,0 +1,43 @@
{
buildPythonPackage,
fetchFromGitHub,
lib,
pybind11,
pytestCheckHook,
setuptools,
}:
buildPythonPackage rec {
pname = "pyspeex-noise";
version = "1.0.2";
pyproject = true;
src = fetchFromGitHub {
owner = "rhasspy";
repo = "pyspeex-noise";
rev = "refs/tags/${version}";
hash = "sha256-XtLA5yVVCZdpALPu3fx+U+aaA729Vs1UeOJsIm6/S+k=";
};
build-system = [
pybind11
setuptools
];
pythonImportsCheck = [ "pyspeex_noise" ];
nativeCheckInputs = [
pytestCheckHook
];
meta = {
changelog = "https://github.com/rhasspy/pyspeex-noise/blob/${src.rev}/CHANGELOG.md";
description = "Noise suppression and automatic gain with speex";
homepage = "https://github.com/rhasspy/pyspeex-noise";
license = with lib.licenses; [
mit # pyspeex-noise
bsd3 # speex (vendored)
];
maintainers = with lib.maintainers; [ dotlambda ];
};
}

Some files were not shown because too many files have changed in this diff Show more