diff --git a/doc/builders/packages/steam.section.md b/doc/builders/packages/steam.section.md index 0cfc1a2c2458..3ce33c9b60ef 100644 --- a/doc/builders/packages/steam.section.md +++ b/doc/builders/packages/steam.section.md @@ -56,7 +56,7 @@ Use `programs.steam.enable = true;` if you want to add steam to systemPackages a ## steam-run {#sec-steam-run} -The FHS-compatible chroot used for Steam can also be used to run other Linux games that expect a FHS environment. To use it, install the `steam-run-native` package and run the game with +The FHS-compatible chroot used for Steam can also be used to run other Linux games that expect a FHS environment. To use it, install the `steam-run` package and run the game with ``` steam-run ./foo diff --git a/lib/types.nix b/lib/types.nix index acc7eac104ee..3fcac9c31b31 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -514,7 +514,7 @@ rec { functionTo = elemType: mkOptionType { name = "functionTo"; - description = "function that evaluates to a(n) ${elemType.name}"; + description = "function that evaluates to a(n) ${elemType.description}"; check = isFunction; merge = loc: defs: fnArgs: (mergeDefinitions (loc ++ [ "[function body]" ]) elemType (map (fn: { inherit (fn) file; value = fn.value fnArgs; }) defs)).mergedValue; diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml index a6bd453b35d9..4acf8195a8dd 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml @@ -553,6 +553,13 @@ tilp2 was removed together with its module + + + The F-PROT antivirus (fprot package) and + its service module were removed because it reached + end-of-life. + + bird1 and its modules diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md index 8f5b4789a42c..366f0552589b 100644 --- a/nixos/doc/manual/release-notes/rl-2205.section.md +++ b/nixos/doc/manual/release-notes/rl-2205.section.md @@ -180,6 +180,9 @@ In addition to numerous new and upgraded packages, this release has the followin - `tilp2` was removed together with its module +- The F-PROT antivirus (`fprot` package) and its service module were removed because it + reached [end-of-life](https://kb.cyren.com/av-support/index.php?/Knowledgebase/Article/View/434/0/end-of-sale--end-of-life-for-f-prot-and-csam). + - `bird1` and its modules `services.bird` as well as `services.bird6` have been removed. Upgrade to `services.bird2`. - The options `networking.interfaces..ipv4.routes` and `networking.interfaces..ipv6.routes` are no longer ignored when using networkd instead of the default scripted network backend by setting `networking.useNetworkd` to `true`. diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 1b4105c676d9..7d1faa50f4bf 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -89,7 +89,7 @@ in prayer = 49; mpd = 50; clamav = 51; - fprot = 52; + #fprot = 52; # unused # bind = 53; #dynamically allocated as of 2021-09-03 wwwrun = 54; #adm = 55; # unused @@ -412,7 +412,7 @@ in prayer = 49; mpd = 50; clamav = 51; - fprot = 52; + #fprot = 52; # unused #bind = 53; # unused wwwrun = 54; adm = 55; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index fd6bd087fb7d..c102f4c97ee3 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -951,7 +951,6 @@ ./services/security/clamav.nix ./services/security/fail2ban.nix ./services/security/fprintd.nix - ./services/security/fprot.nix ./services/security/haka.nix ./services/security/haveged.nix ./services/security/hockeypuck.nix diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index d72ff1c6f170..195cf87e6a85 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -50,6 +50,7 @@ with lib; (mkRemovedOptionModule [ "services" "flashpolicyd" ] "The flashpolicyd module has been removed. Adobe Flash Player is deprecated.") (mkRemovedOptionModule [ "services" "fourStore" ] "The fourStore module has been removed") (mkRemovedOptionModule [ "services" "fourStoreEndpoint" ] "The fourStoreEndpoint module has been removed") + (mkRemovedOptionModule [ "services" "fprot" ] "The corresponding package was removed from nixpkgs.") (mkRemovedOptionModule [ "services" "frab" ] "The frab module has been removed") (mkRemovedOptionModule [ "services" "kippo" ] "The corresponding package was removed from nixpkgs.") (mkRemovedOptionModule [ "services" "mailpile" ] "The corresponding package was removed from nixpkgs.") diff --git a/nixos/modules/security/systemd-confinement.nix b/nixos/modules/security/systemd-confinement.nix index 0e3ec5af323e..f3a2de3bf87a 100644 --- a/nixos/modules/security/systemd-confinement.nix +++ b/nixos/modules/security/systemd-confinement.nix @@ -175,8 +175,8 @@ in { serviceName = "${name}.service"; excludedPath = rootPaths; } '' - mkdir -p "$out/lib/systemd/system" - serviceFile="$out/lib/systemd/system/$serviceName" + mkdir -p "$out/lib/systemd/system/$serviceName.d" + serviceFile="$out/lib/systemd/system/$serviceName.d/confinement.conf" echo '[Service]' > "$serviceFile" diff --git a/nixos/modules/services/security/fprot.nix b/nixos/modules/services/security/fprot.nix deleted file mode 100644 index df60d553e85b..000000000000 --- a/nixos/modules/services/security/fprot.nix +++ /dev/null @@ -1,82 +0,0 @@ -{ config, lib, pkgs, ... }: -with lib; -let - fprotUser = "fprot"; - stateDir = "/var/lib/fprot"; - fprotGroup = fprotUser; - cfg = config.services.fprot; -in { - options = { - - services.fprot = { - updater = { - enable = mkEnableOption "automatic F-Prot virus definitions database updates"; - - productData = mkOption { - description = '' - product.data file. Defaults to the one supplied with installation package. - ''; - type = types.path; - }; - - frequency = mkOption { - default = 30; - type = types.int; - description = '' - Update virus definitions every X minutes. - ''; - }; - - licenseKeyfile = mkOption { - type = types.path; - description = '' - License keyfile. Defaults to the one supplied with installation package. - ''; - }; - - }; - }; - }; - - ###### implementation - - config = mkIf cfg.updater.enable { - - services.fprot.updater.productData = mkDefault "${pkgs.fprot}/opt/f-prot/product.data"; - services.fprot.updater.licenseKeyfile = mkDefault "${pkgs.fprot}/opt/f-prot/license.key"; - - environment.systemPackages = [ pkgs.fprot ]; - environment.etc."f-prot.conf" = { - source = "${pkgs.fprot}/opt/f-prot/f-prot.conf"; - }; - - users.users.${fprotUser} = - { uid = config.ids.uids.fprot; - description = "F-Prot daemon user"; - home = stateDir; - }; - - users.groups.${fprotGroup} = - { gid = config.ids.gids.fprot; }; - - services.cron.systemCronJobs = [ "*/${toString cfg.updater.frequency} * * * * root start fprot-updater" ]; - - systemd.services.fprot-updater = { - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = false; - }; - wantedBy = [ "multi-user.target" ]; - - # have to copy fpupdate executable because it insists on storing the virus database in the same dir - preStart = '' - mkdir -m 0755 -p ${stateDir} - chown ${fprotUser}:${fprotGroup} ${stateDir} - cp ${pkgs.fprot}/opt/f-prot/fpupdate ${stateDir} - ln -sf ${cfg.updater.productData} ${stateDir}/product.data - ''; - - script = "/var/lib/fprot/fpupdate --keyfile ${cfg.updater.licenseKeyfile}"; - }; - }; -} diff --git a/nixos/modules/services/security/opensnitch.nix b/nixos/modules/services/security/opensnitch.nix index 919346cf2bb1..f9b4985e1991 100644 --- a/nixos/modules/services/security/opensnitch.nix +++ b/nixos/modules/services/security/opensnitch.nix @@ -3,22 +3,123 @@ with lib; let - name = "opensnitch"; cfg = config.services.opensnitch; + format = pkgs.formats.json {}; in { options = { services.opensnitch = { enable = mkEnableOption "Opensnitch application firewall"; + settings = mkOption { + type = types.submodule { + freeformType = format.type; + + options = { + Server = { + + Address = mkOption { + type = types.str; + description = '' + Unix socket path (unix:///tmp/osui.sock, the "unix:///" part is + mandatory) or TCP socket (192.168.1.100:50051). + ''; + }; + + LogFile = mkOption { + type = types.path; + description = '' + File to write logs to (use /dev/stdout to write logs to standard + output). + ''; + }; + + }; + + DefaultAction = mkOption { + type = types.enum [ "allow" "deny" ]; + description = '' + Default action whether to block or allow application internet + access. + ''; + }; + + DefaultDuration = mkOption { + type = types.enum [ + "once" "always" "until restart" "30s" "5m" "15m" "30m" "1h" + ]; + description = '' + Default duration of firewall rule. + ''; + }; + + InterceptUnknown = mkOption { + type = types.bool; + description = '' + Wheter to intercept spare connections. + ''; + }; + + ProcMonitorMethod = mkOption { + type = types.enum [ "ebpf" "proc" "ftrace" "audit" ]; + description = '' + Which process monitoring method to use. + ''; + }; + + LogLevel = mkOption { + type = types.enum [ 0 1 2 3 4 ]; + description = '' + Default log level from 0 to 4 (debug, info, important, warning, + error). + ''; + }; + + Firewall = mkOption { + type = types.enum [ "iptables" "nftables" ]; + description = '' + Which firewall backend to use. + ''; + }; + + Stats = { + + MaxEvents = mkOption { + type = types.int; + description = '' + Max events to send to the GUI. + ''; + }; + + MaxStats = mkOption { + type = types.int; + description = '' + Max stats per item to keep in backlog. + ''; + }; + + }; + }; + }; + description = '' + opensnitchd configuration. Refer to + + for details on supported values. + ''; + }; }; }; config = mkIf cfg.enable { + # pkg.opensnitch is referred to elsewhere in the module so we don't need to worry about it being garbage collected + services.opensnitch.settings = mapAttrs (_: v: mkDefault v) (builtins.fromJSON (builtins.unsafeDiscardStringContext (builtins.readFile "${pkgs.opensnitch}/etc/default-config.json"))); + systemd = { packages = [ pkgs.opensnitch ]; services.opensnitchd.wantedBy = [ "multi-user.target" ]; }; + environment.etc."opensnitchd/default-config.json".source = format.generate "default-config.json" cfg.settings; + }; } diff --git a/nixos/release-small.nix b/nixos/release-small.nix index c2ac4c653ea1..1d51b4e7f28f 100644 --- a/nixos/release-small.nix +++ b/nixos/release-small.nix @@ -38,7 +38,8 @@ in rec { login misc nat - nfs3 + # fails with kernel >= 5.15 https://github.com/NixOS/nixpkgs/pull/152505#issuecomment-1005049314 + #nfs3 openssh php predictable-interface-names diff --git a/nixos/tests/systemd-confinement.nix b/nixos/tests/systemd-confinement.nix index 8fafb11e1e8c..3181af309a6e 100644 --- a/nixos/tests/systemd-confinement.nix +++ b/nixos/tests/systemd-confinement.nix @@ -17,15 +17,19 @@ import ./make-test-python.nix { exit "''${ret:-1}" ''; - mkTestStep = num: { config ? {}, testScript }: { - systemd.sockets."test${toString num}" = { + mkTestStep = num: { + testScript, + config ? {}, + serviceName ? "test${toString num}", + }: { + systemd.sockets.${serviceName} = { description = "Socket for Test Service ${toString num}"; wantedBy = [ "sockets.target" ]; socketConfig.ListenStream = "/run/test${toString num}.sock"; socketConfig.Accept = true; }; - systemd.services."test${toString num}@" = { + systemd.services."${serviceName}@" = { description = "Confined Test Service ${toString num}"; confinement = (config.confinement or {}) // { enable = true; }; serviceConfig = (config.serviceConfig or {}) // { @@ -135,6 +139,16 @@ import ./make-test-python.nix { machine.succeed('test "$(chroot-exec \'cat "$FOOBAR"\')" = eek') ''; } + { serviceName = "shipped-unitfile"; + config.confinement.mode = "chroot-only"; + testScript = '' + with subtest("check if shipped unit file still works"): + machine.succeed( + 'chroot-exec \'kill -9 $$ 2>&1 || :\' | ' + 'grep -q "Too many levels of symbolic links"' + ) + ''; + } ]; options.__testSteps = lib.mkOption { @@ -143,6 +157,15 @@ import ./make-test-python.nix { }; config.environment.systemPackages = lib.singleton testClient; + config.systemd.packages = lib.singleton (pkgs.writeTextFile { + name = "shipped-unitfile"; + destination = "/etc/systemd/system/shipped-unitfile@.service"; + text = '' + [Service] + SystemCallFilter=~kill + SystemCallErrorNumber=ELOOP + ''; + }); config.users.groups.chroot-testgroup = {}; config.users.users.chroot-testuser = { diff --git a/pkgs/applications/editors/eclipse/build-eclipse.nix b/pkgs/applications/editors/eclipse/build-eclipse.nix index faa89b9c8778..3b497f34a439 100644 --- a/pkgs/applications/editors/eclipse/build-eclipse.nix +++ b/pkgs/applications/editors/eclipse/build-eclipse.nix @@ -1,5 +1,5 @@ { lib, stdenv, makeDesktopItem, freetype, fontconfig, libX11, libXrender -, zlib, jdk, glib, gtk, libXtst, libsecret, gsettings-desktop-schemas, webkitgtk +, zlib, jdk, glib, glib-networking, gtk, libXtst, libsecret, gsettings-desktop-schemas, webkitgtk , makeWrapper, perl, ... }: { name, src ? builtins.getAttr stdenv.hostPlatform.system sources, sources ? null, description, productVersion }: @@ -41,6 +41,7 @@ stdenv.mkDerivation rec { makeWrapper $out/eclipse/eclipse $out/bin/eclipse \ --prefix PATH : ${jdk}/bin \ --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ glib gtk libXtst libsecret ] ++ lib.optional (webkitgtk != null) webkitgtk)} \ + --prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules" \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \ --add-flags "-configuration \$HOME/.eclipse/''${productId}_${productVersion}/configuration" diff --git a/pkgs/applications/editors/emacs/generic.nix b/pkgs/applications/editors/emacs/generic.nix index 946dba0af8f5..82a1d6af8329 100644 --- a/pkgs/applications/editors/emacs/generic.nix +++ b/pkgs/applications/editors/emacs/generic.nix @@ -53,7 +53,8 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp { NATIVE_FULL_AOT = "1"; LIBRARY_PATH = "${lib.getLib stdenv.cc.libc}/lib"; } // { - inherit pname version; + pname = pname + lib.optionalString ( !withX && !withNS && !withGTK2 && !withGTK3 ) "-nox"; + inherit version; patches = patches fetchpatch; diff --git a/pkgs/applications/misc/electrum-grs/default.nix b/pkgs/applications/misc/electrum-grs/default.nix index 412aec97ae58..c8fb9f84ad19 100644 --- a/pkgs/applications/misc/electrum-grs/default.nix +++ b/pkgs/applications/misc/electrum-grs/default.nix @@ -42,7 +42,7 @@ python3.pkgs.buildPythonApplication { src = fetchFromGitHub { owner = "Groestlcoin"; repo = "electrum-grs"; - rev = "v${version}"; + rev = "refs/tags/v${version}"; sha256 = "0wvbjj80r1zxpz24adkicxsdjnv3nciga6rl1wfmky463w03rca2"; }; diff --git a/pkgs/applications/misc/klayout/default.nix b/pkgs/applications/misc/klayout/default.nix index 2d75a9da818d..9ed678173473 100644 --- a/pkgs/applications/misc/klayout/default.nix +++ b/pkgs/applications/misc/klayout/default.nix @@ -1,17 +1,17 @@ -{ lib, mkDerivation, fetchFromGitHub, fetchpatch +{ lib, mkDerivation, fetchFromGitHub , python3, ruby, qtbase, qtmultimedia, qttools, qtxmlpatterns -, which, perl, makeWrapper +, which, perl }: mkDerivation rec { pname = "klayout"; - version = "0.27.3"; + version = "0.27.8"; src = fetchFromGitHub { owner = "KLayout"; repo = "klayout"; rev = "v${version}"; - sha256 = "sha256-6g/QoR16rhUfxhH4JxL6EERcoPVG/6MOxUlo6K/WoE0="; + hash = "sha256-t/nd7m8XpB026q/kyH16rKkw3qza19ISalB0Juzx4NU="; }; postPatch = '' @@ -21,6 +21,7 @@ mkDerivation rec { nativeBuildInputs = [ which + perl python3 ruby ]; @@ -35,7 +36,7 @@ mkDerivation rec { buildPhase = '' runHook preBuild mkdir -p $out/lib - ./build.sh -qt5 -prefix $out/lib -j$NIX_BUILD_CORES + ./build.sh -qt5 -prefix $out/lib -option -j$NIX_BUILD_CORES runHook postBuild ''; @@ -54,8 +55,9 @@ mkDerivation rec { meta = with lib; { description = "High performance layout viewer and editor with support for GDS and OASIS"; - license = with licenses; [ gpl3 ]; + license = with licenses; [ gpl2Plus ]; homepage = "https://www.klayout.de/"; + changelog = "https://www.klayout.de/development.html#${version}"; platforms = platforms.linux; maintainers = with maintainers; [ knedlsepp ]; }; diff --git a/pkgs/applications/misc/minigalaxy/default.nix b/pkgs/applications/misc/minigalaxy/default.nix index 6a1f14cbd44a..2786492d47a5 100644 --- a/pkgs/applications/misc/minigalaxy/default.nix +++ b/pkgs/applications/misc/minigalaxy/default.nix @@ -8,7 +8,7 @@ , gtk3 , python3 , python3Packages -, steam-run-native +, steam-run , unzip , webkitgtk , wrapGAppsHook @@ -54,14 +54,14 @@ python3Packages.buildPythonApplication rec { python3.pkgs.requests python3.pkgs.setuptools python3.pkgs.simplejson - steam-run-native + steam-run unzip webkitgtk ]; # Run Linux games using the Steam Runtime by using steam-run in the wrapper postFixup = '' - sed -e 's#exec -a "$0"#exec -a "$0" ${steam-run-native}/bin/steam-run#' -i $out/bin/minigalaxy + sed -e 's#exec -a "$0"#exec -a "$0" ${steam-run}/bin/steam-run#' -i $out/bin/minigalaxy ''; meta = with lib; { diff --git a/pkgs/applications/misc/playonlinux/default.nix b/pkgs/applications/misc/playonlinux/default.nix index 74f340815177..58d45d19bee5 100644 --- a/pkgs/applications/misc/playonlinux/default.nix +++ b/pkgs/applications/misc/playonlinux/default.nix @@ -106,6 +106,16 @@ in stdenv.mkDerivation { install -D -m644 etc/PlayOnLinux.desktop $out/share/applications/playonlinux.desktop + makeWrapper $out/share/playonlinux/playonlinux{,-wrapper} \ + --prefix PATH : ${binpath} \ + --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/GConf + # steam-run is needed to run the downloaded wine executables + mkdir -p $out/bin + cat > $out/bin/playonlinux <=]=.*//' -i requirements.txt # "zxcvbn-python" was renamed to "zxcvbn", and we don't have the former in # nixpkgs. See: https://github.com/NixOS/nixpkgs/issues/62110 diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix index 4f19fd924e76..9becd7504e02 100644 --- a/pkgs/applications/networking/instant-messengers/discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/discord/default.nix @@ -3,7 +3,7 @@ let inherit (pkgs) callPackage fetchurl; versions = if stdenv.isLinux then { stable = "0.0.17"; - ptb = "0.0.27"; + ptb = "0.0.29"; canary = "0.0.133"; } else { stable = "0.0.264"; @@ -26,7 +26,7 @@ let ptb = fetchurl { url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz"; - sha256 = "0yphs65wpyr0ap6y24b0nbhq7sm02dg5c1yiym1fxjbynm1mdvqb"; + sha256 = "d78NnQZ3MkLje8mHrI6noH2iD2oEvSJ3cDnsmzQsUYc="; }; canary = fetchurl { url = diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix index 8af5185386cb..9cc4e057995b 100644 --- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix @@ -24,7 +24,7 @@ let in stdenv.mkDerivation rec { pname = "signal-desktop"; - version = "5.31.1"; # Please backport all updates to the stable channel. + version = "5.33.0"; # Please backport all updates to the stable channel. # All releases have a limited lifetime and "expire" 90 days after the release. # When releases "expire" the application becomes unusable until an update is # applied. The expiration date for the current release can be extracted with: @@ -34,7 +34,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb"; - sha256 = "sha256-6w6znIIN5TFXTLLhazWyBXiqS5882zMNRZxYxnZjRHA="; + sha256 = "03c7pw6cmv8ryw2wqsfc27d953950jc8nxs58mgk08g62v4qa672"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/office/wpsoffice/default.nix b/pkgs/applications/office/wpsoffice/default.nix index 178b2351a6b6..46f2569b13ab 100644 --- a/pkgs/applications/office/wpsoffice/default.nix +++ b/pkgs/applications/office/wpsoffice/default.nix @@ -142,7 +142,6 @@ stdenv.mkDerivation rec { installPhase = let steam-run = (steam.override { extraPkgs = p: buildInputs; - nativeOnly = true; }).run; in '' prefix=$out/opt/kingsoft/wps-office diff --git a/pkgs/applications/terminal-emulators/alacritty/default.nix b/pkgs/applications/terminal-emulators/alacritty/default.nix index 78c6c0988c57..e7730ba4b942 100644 --- a/pkgs/applications/terminal-emulators/alacritty/default.nix +++ b/pkgs/applications/terminal-emulators/alacritty/default.nix @@ -54,16 +54,16 @@ let in rustPlatform.buildRustPackage rec { pname = "alacritty"; - version = "0.10.0"; + version = "0.10.1"; src = fetchFromGitHub { owner = "alacritty"; repo = pname; - rev = "v${version}"; - sha256 = "sha256-eVPy47T2wcsN7NxtwMoyuC6loBVXsoJjJ/2q31i3vxQ="; + rev = "refs/tags/v${version}"; + sha256 = "sha256-Q/ulRgU6zNLRZUjL83O/Krx85voPWZPZDo65CLp/aOg="; }; - cargoSha256 = "sha256-RY+qidm7NZFKq6P8qVaMpxYfTfHpZac2YJwuNbOJwoM="; + cargoSha256 = "sha256-S1V8hDuzp4sf6945gqs8QNVdu8jwPGVYjVbV6EY28Hk="; nativeBuildInputs = [ cmake diff --git a/pkgs/build-support/dotnet/build-dotnet-module/default.nix b/pkgs/build-support/dotnet/build-dotnet-module/default.nix index e721b59decbe..e3762327a102 100644 --- a/pkgs/build-support/dotnet/build-dotnet-module/default.nix +++ b/pkgs/build-support/dotnet/build-dotnet-module/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenvNoCC, linkFarmFromDrvs, callPackage, nuget-to-nix, writeScript, makeWrapper, fetchurl, xml2, dotnetCorePackages, dotnetPackages, cacert }: +{ lib, stdenvNoCC, linkFarmFromDrvs, callPackage, nuget-to-nix, writeScript, makeWrapper, fetchurl, xml2, dotnetCorePackages, dotnetPackages, mkNugetSource, mkNugetDeps, cacert }: { name ? "${args.pname}-${args.version}" , pname ? name @@ -74,40 +74,13 @@ let inherit dotnet-sdk dotnet-test-sdk disabledTests nuget-source dotnet-runtime runtimeDeps buildType; }) dotnetConfigureHook dotnetBuildHook dotnetCheckHook dotnetInstallHook dotnetFixupHook; - _nugetDeps = linkFarmFromDrvs "${name}-nuget-deps" (import nugetDeps { - fetchNuGet = { pname, version, sha256 }: fetchurl { - name = "${pname}-${version}.nupkg"; - url = "https://www.nuget.org/api/v2/package/${pname}/${version}"; - inherit sha256; - }; - }); + _nugetDeps = mkNugetDeps { name = "${name}-nuget-deps"; nugetDeps = import nugetDeps; }; _localDeps = linkFarmFromDrvs "${name}-local-nuget-deps" projectReferences; - nuget-source = stdenvNoCC.mkDerivation rec { - name = "${pname}-nuget-source"; - meta.description = "A Nuget source with the dependencies for ${pname}"; - - nativeBuildInputs = [ dotnetPackages.Nuget xml2 ]; - buildCommand = '' - export HOME=$(mktemp -d) - mkdir -p $out/{lib,share} - - nuget sources Add -Name nixos -Source "$out/lib" - nuget init "${_nugetDeps}" "$out/lib" - ${lib.optionalString (projectReferences != []) - "nuget init \"${_localDeps}\" \"$out/lib\""} - - # Generates a list of all unique licenses' spdx ids. - find "$out/lib" -name "*.nuspec" -exec sh -c \ - "xml2 < {} | grep "license=" | cut -d'=' -f2" \; | sort -u > $out/share/licenses - ''; - } // { # This is done because we need data from `$out` for `meta`. We have to use overrides as to not hit infinite recursion. - meta.licence = let - depLicenses = lib.splitString "\n" (builtins.readFile "${nuget-source}/share/licenses"); - getLicence = spdx: lib.filter (license: license.spdxId or null == spdx) (builtins.attrValues lib.licenses); - in (lib.flatten (lib.forEach depLicenses (spdx: - if (getLicence spdx) != [] then (getLicence spdx) else [] ++ lib.optional (spdx != "") spdx - ))); + nuget-source = mkNugetSource { + name = "${args.pname}-nuget-source"; + description = "A Nuget source with the dependencies for ${args.pname}"; + deps = [ _nugetDeps _localDeps ]; }; in stdenvNoCC.mkDerivation (args // { diff --git a/pkgs/build-support/dotnet/make-nuget-deps/default.nix b/pkgs/build-support/dotnet/make-nuget-deps/default.nix new file mode 100644 index 000000000000..75178d5b7797 --- /dev/null +++ b/pkgs/build-support/dotnet/make-nuget-deps/default.nix @@ -0,0 +1,9 @@ +{ linkFarmFromDrvs, fetchurl }: +{ name, nugetDeps }: + linkFarmFromDrvs "${name}-nuget-deps" (nugetDeps { + fetchNuGet = { pname, version, sha256 }: fetchurl { + name = "${pname}-${version}.nupkg"; + url = "https://www.nuget.org/api/v2/package/${pname}/${version}"; + inherit sha256; + }; + }) diff --git a/pkgs/build-support/dotnet/make-nuget-source/default.nix b/pkgs/build-support/dotnet/make-nuget-source/default.nix new file mode 100644 index 000000000000..0690a05aa2bc --- /dev/null +++ b/pkgs/build-support/dotnet/make-nuget-source/default.nix @@ -0,0 +1,30 @@ +{ dotnetPackages, lib, xml2, stdenvNoCC }: +{ name, description ? "", deps ? [] }: +let + _nuget-source = stdenvNoCC.mkDerivation rec { + inherit name; + meta.description = description; + + nativeBuildInputs = [ dotnetPackages.Nuget xml2 ]; + buildCommand = '' + export HOME=$(mktemp -d) + mkdir -p $out/{lib,share} + + nuget sources Add -Name nixos -Source "$out/lib" + ${ lib.concatMapStringsSep "\n" (dep: + ''nuget init "${dep}" "$out/lib"'' + ) deps } + + # Generates a list of all unique licenses' spdx ids. + find "$out/lib" -name "*.nuspec" -exec sh -c \ + "xml2 < {} | grep "license=" | cut -d'=' -f2" \; | sort -u > $out/share/licenses + ''; +} // { # This is done because we need data from `$out` for `meta`. We have to use overrides as to not hit infinite recursion. + meta.licence = let + depLicenses = lib.splitString "\n" (builtins.readFile "${_nuget-source}/share/licenses"); + getLicence = spdx: lib.filter (license: license.spdxId or null == spdx) (builtins.attrValues lib.licenses); + in (lib.flatten (lib.forEach depLicenses (spdx: + if (getLicence spdx) != [] then (getLicence spdx) else [] ++ lib.optional (spdx != "") spdx + ))); +}; +in _nuget-source diff --git a/pkgs/build-support/writers/default.nix b/pkgs/build-support/writers/default.nix index 30301e3b2e54..0fb9bd939a58 100644 --- a/pkgs/build-support/writers/default.nix +++ b/pkgs/build-support/writers/default.nix @@ -1,4 +1,4 @@ -{ pkgs, config, buildPackages, lib, stdenv, libiconv, gawk, gnused, gixy }: +{ pkgs, config, buildPackages, lib, stdenv, libiconv, mkNugetDeps, mkNugetSource, gawk, gnused, gixy }: let aliases = if (config.allowAliases or true) then (import ./aliases.nix lib) else prev: {}; @@ -301,6 +301,42 @@ let writePyPy3Bin = name: writePyPy3 "/bin/${name}"; + + makeFSharpWriter = { dotnet-sdk ? pkgs.dotnet-sdk, fsi-flags ? "", libraries ? _: [] }: nameOrPath: + let + fname = last (builtins.split "/" nameOrPath); + path = if strings.hasSuffix ".fsx" nameOrPath then nameOrPath else "${nameOrPath}.fsx"; + _nugetDeps = mkNugetDeps { name = "${fname}-nuget-deps"; nugetDeps = libraries; }; + + nuget-source = mkNugetSource { + name = "${fname}-nuget-source"; + description = "A Nuget source with the dependencies for ${fname}"; + deps = [ _nugetDeps ]; + }; + + fsi = writeBash "fsi" '' + export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 + export DOTNET_CLI_TELEMETRY_OPTOUT=1 + export DOTNET_NOLOGO=1 + script="$1"; shift + ${dotnet-sdk}/bin/dotnet fsi --quiet --nologo --readline- ${fsi-flags} "$@" < "$script" + ''; + + in content: writers.makeScriptWriter { + interpreter = fsi; + } path + '' + #i "nuget: ${nuget-source}/lib" + ${ content } + exit 0 + ''; + + writeFSharp = + makeFSharpWriter {}; + + writeFSharpBin = name: + writeFSharp "/bin/${name}"; + }; in writers // (aliases writers) diff --git a/pkgs/build-support/writers/test.nix b/pkgs/build-support/writers/test.nix index decd7e42d5cc..d2e5cef83aad 100644 --- a/pkgs/build-support/writers/test.nix +++ b/pkgs/build-support/writers/test.nix @@ -150,6 +150,29 @@ let print(y[0]['test']) ''; + fsharp = makeFSharpWriter { + libraries = { fetchNuGet }: [ + (fetchNuGet { pname = "FSharp.SystemTextJson"; version = "0.17.4"; sha256 = "1bplzc9ybdqspii4q28l8gmfvzpkmgq5l1hlsiyg2h46w881lwg2"; }) + ]; + } "test-writers-fsharp" '' + #r "nuget: FSharp.SystemTextJson, 0.17.4" + + module Json = + open System.Text.Json + open System.Text.Json.Serialization + let options = JsonSerializerOptions() + options.Converters.Add(JsonFSharpConverter()) + let serialize<'a> (o: 'a) = JsonSerializer.Serialize<'a>(o, options) + let deserialize<'a> (str: string) = JsonSerializer.Deserialize<'a>(str, options) + + type Letter = A | B + let a = {| Hello = Some "World"; Letter = A |} + if a |> Json.serialize |> Json.deserialize |> (=) a + then "success" + else "failed" + |> printfn "%s" + ''; + pypy2NoLibs = writePyPy2 "test-writers-pypy2-no-libs" {} '' print("success") ''; @@ -161,6 +184,10 @@ let pypy3NoLibs = writePyPy3 "test-writers-pypy3-no-libs" {} '' print("success") ''; + + fsharpNoNugetDeps = writeFSharp "test-writers-fsharp-no-nuget-deps" '' + printfn "success" + ''; }; diff --git a/pkgs/development/python-modules/adafruit-io/default.nix b/pkgs/development/python-modules/adafruit-io/default.nix new file mode 100644 index 000000000000..88bdff440c4a --- /dev/null +++ b/pkgs/development/python-modules/adafruit-io/default.nix @@ -0,0 +1,57 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, paho-mqtt +, pytestCheckHook +, pythonOlder +, requests +, setuptools-scm +}: + +buildPythonPackage rec { + pname = "adafruit-io"; + version = "2.6.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "adafruit"; + repo = "Adafruit_IO_Python"; + rev = version; + hash = "sha256-tjm+HvUuLK3IxXwuxPidJaBetj+n0BzKOuLj75bM7a8="; + }; + + SETUPTOOLS_SCM_PRETEND_VERSION = version; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + paho-mqtt + requests + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "Adafruit_IO" + ]; + + disabledTestPaths = [ + # Tests requires valid credentials + "tests/test_client.py" + "tests/test_errors.py" + "tests/test_mqtt_client.py" + ]; + + meta = with lib; { + description = "Module for interacting with Adafruit IO"; + homepage = "https://github.com/adafruit/Adafruit_IO_Python"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix index da4ac528d1a6..1ae1a31fa3d0 100644 --- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix +++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix @@ -6,13 +6,13 @@ buildPythonPackage rec { pname = "adafruit-platformdetect"; - version = "3.20.0"; + version = "3.20.1"; format = "setuptools"; src = fetchPypi { pname = "Adafruit-PlatformDetect"; inherit version; - sha256 = "sha256-bbzEI/Ig7yQn4/fRmX8tIe6UL+J8iV1TbrCXBU+oLms="; + sha256 = "sha256-P5OWPsbRsTEMcvw7/uq0rj9p/4beVj/2OdWkllVMKMw="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/meshtastic/default.nix b/pkgs/development/python-modules/meshtastic/default.nix index 51d62c884dc0..2fd61bc5a37a 100644 --- a/pkgs/development/python-modules/meshtastic/default.nix +++ b/pkgs/development/python-modules/meshtastic/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "meshtastic"; - version = "1.2.87"; + version = "1.2.88"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "meshtastic"; repo = "Meshtastic-python"; rev = version; - sha256 = "sha256-W56nTTbRcSRkT15xn24ywkIVNHRUavV5Z8EST3BFkjk="; + sha256 = "sha256-iNDS1QjlDiXb89g7Gut+5ShbgtCCHBSJuQmXfHaTXB8="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pycfmodel/default.nix b/pkgs/development/python-modules/pycfmodel/default.nix index 1385b415613f..9f3a61a990e3 100644 --- a/pkgs/development/python-modules/pycfmodel/default.nix +++ b/pkgs/development/python-modules/pycfmodel/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "pycfmodel"; - version = "0.16.3"; + version = "0.17.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "Skyscanner"; repo = pname; rev = version; - hash = "sha256-/0JSnJy/OUbYX26wTZ3RloVy74bU2D4Z6NOLq6IkI7o="; + hash = "sha256-IfeGNAgVCnrzipQpGiEqfWWNkUNmeH7TInl8kje52js="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix index f5921d0dfd20..37ef4da7daf6 100644 --- a/pkgs/development/python-modules/pychromecast/default.nix +++ b/pkgs/development/python-modules/pychromecast/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "pychromecast"; - version = "10.2.3"; + version = "10.3.0"; format = "setuptools"; disabled = !isPy3k; @@ -18,7 +18,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "PyChromecast"; inherit version; - sha256 = "ddb86c5acdc13e8bdadd2b7f5738fda36b32c1750548f7b629ca8d178f05e0da"; + sha256 = "sha256-TrEHRG/b7YdvSMgyArYhKyIShhaKVcFrPrjt9CAPEKE="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pyprecice/default.nix b/pkgs/development/python-modules/pyprecice/default.nix new file mode 100644 index 000000000000..9f2c457bc753 --- /dev/null +++ b/pkgs/development/python-modules/pyprecice/default.nix @@ -0,0 +1,26 @@ +{ lib, buildPythonPackage, fetchFromGitHub, precice, numpy, mpi4py, cython }: + +buildPythonPackage rec { + pname = "pyprecice"; + version = "2.3.0.1"; + + src = fetchFromGitHub { + owner = "precice"; + repo = "python-bindings"; + rev = "v${version}"; + sha256 = "1yz96pif63ms797bzxbfrjba4mgz7cz5dqrqghn5sg0g1b9qxnn5"; + }; + + nativeBuildInputs = [ cython ]; + propagatedBuildInputs = [ numpy mpi4py precice ]; + + doCheck = false; # Disable Test because everything depends on open mpi which requires network. + pythonImportChecks = [ "precice" ]; + + meta = with lib; { + description = "Python language bindings for preCICE"; + homepage = "https://github.com/precice/python-bindings"; + license = licenses.lgpl3Only; + maintainers = with maintainers; [ Scriptkiddi ]; + }; +} diff --git a/pkgs/development/python-modules/pyskyqremote/default.nix b/pkgs/development/python-modules/pyskyqremote/default.nix index a971751c9ea5..e72e38b30cba 100644 --- a/pkgs/development/python-modules/pyskyqremote/default.nix +++ b/pkgs/development/python-modules/pyskyqremote/default.nix @@ -1,7 +1,6 @@ { lib , buildPythonPackage , fetchFromGitHub -, pycountry , pythonOlder , requests , websocket-client @@ -10,7 +9,7 @@ buildPythonPackage rec { pname = "pyskyqremote"; - version = "0.3.2"; + version = "0.3.5"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -19,11 +18,10 @@ buildPythonPackage rec { owner = "RogerSelwyn"; repo = "skyq_remote"; rev = version; - sha256 = "sha256-R/HmkVbVKbO54lDSw1tLYs2mXi/XqZX9GGXozv+96iI="; + sha256 = "sha256-/BhNoU1dnZj07ZvG126srSb6eW00n8htFuDttq006QE="; }; propagatedBuildInputs = [ - pycountry requests websocket-client xmltodict diff --git a/pkgs/development/python-modules/soco/default.nix b/pkgs/development/python-modules/soco/default.nix index 0922f8c10d2b..e79a38d8cf5b 100644 --- a/pkgs/development/python-modules/soco/default.nix +++ b/pkgs/development/python-modules/soco/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "soco"; - version = "0.26.3"; + version = "0.26.4"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "SoCo"; repo = "SoCo"; rev = "v${version}"; - hash = "sha256-tMW5SCsO1XMQdbasMw3qIMwj+Y6wTQHAmTZ+9r8Mffs="; + hash = "sha256-DoONq6Iqi8t47jtqggKYMHSNJAf/Kha3tszR6mYeB9Y="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/tifffile/python2-regex-compat.patch b/pkgs/development/python-modules/tifffile/python2-regex-compat.patch deleted file mode 100644 index 7f4ec5764bb2..000000000000 --- a/pkgs/development/python-modules/tifffile/python2-regex-compat.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/setup.py 2019-02-20 18:52:12.000000000 +0100 -+++ b/setup.py 2019-03-02 13:55:39.014019260 +0100 -@@ -20,12 +20,6 @@ - - description = re.search(r'"""(.*)\.(?:\r\n|\r|\n)', code).groups()[0] - --readme = re.search(r'(?:\r\n|\r|\n){2}"""(.*)"""(?:\r\n|\r|\n){2}from', code, -- re.MULTILINE | re.DOTALL).groups()[0] -- --readme = '\n'.join([description, '=' * len(description)] -- + readme.splitlines()[1:]) -- - license = re.search(r'(# Copyright.*?(?:\r\n|\r|\n))(?:\r\n|\r|\n)+""', code, - re.MULTILINE | re.DOTALL).groups()[0] - -@@ -41,7 +35,6 @@ - name='tifffile', - version=version, - description=description, -- long_description=readme, - author='Christoph Gohlke', - author_email='cgohlke@uci.edu', - url='https://www.lfd.uci.edu/~gohlke/', diff --git a/pkgs/development/python-modules/torch-tb-profiler/default.nix b/pkgs/development/python-modules/torch-tb-profiler/default.nix new file mode 100644 index 000000000000..fc53c5ba8232 --- /dev/null +++ b/pkgs/development/python-modules/torch-tb-profiler/default.nix @@ -0,0 +1,48 @@ +{ buildPythonPackage +, fetchFromGitHub +, lib +, pandas +, pytestCheckHook +, pytorch +, tensorflow-tensorboard +, torchvision +}: + +let + version = "0.3.1"; + repo = fetchFromGitHub { + owner = "pytorch"; + repo = "kineto"; + rev = "v${version}"; + hash = "sha256-Yg001XzOPDmz9wEP2b7Ggz/uU6x5PFzaaBeUBwWKFS0="; + }; +in +buildPythonPackage rec { + pname = "torch_tb_profiler"; + inherit version; + format = "setuptools"; + + # See https://discourse.nixos.org/t/extracting-sub-directory-from-fetchgit-or-fetchurl-or-any-derivation/8830. + src = "${repo}/tb_plugin"; + + propagatedBuildInputs = [ pandas tensorflow-tensorboard ]; + + checkInputs = [ pytestCheckHook pytorch torchvision ]; + + disabledTests = [ + # Tests that attempt to access the filesystem in naughty ways. + "test_profiler_api_without_gpu" + "test_tensorboard_end2end" + "test_tensorboard_with_path_prefix" + "test_tensorboard_with_symlinks" + ]; + + pythonImportsCheck = [ "torch_tb_profiler" ]; + + meta = with lib; { + description = "PyTorch Profiler TensorBoard Plugin"; + homepage = "https://github.com/pytorch/kineto"; + license = licenses.bsd3; + maintainers = with maintainers; [ samuela ]; + }; +} diff --git a/pkgs/development/python-modules/twitchapi/default.nix b/pkgs/development/python-modules/twitchapi/default.nix new file mode 100644 index 000000000000..c6d5fbffc500 --- /dev/null +++ b/pkgs/development/python-modules/twitchapi/default.nix @@ -0,0 +1,48 @@ +{ lib +, buildPythonPackage +, fetchPypi +, aiohttp +, python-dateutil +, requests +, typing-extensions +, websockets +}: + +buildPythonPackage rec { + pname = "twitchapi"; + version = "2.5.2"; + + format = "setuptools"; + + src = fetchPypi { + pname = "twitchAPI"; + inherit version; + sha256 = "f0ee5388911154375170a83df9a18e8a698fe382cea5d94a3e33ad27a7ce9133"; + }; + + propagatedBuildInputs = [ + aiohttp + python-dateutil + requests + typing-extensions + websockets + ]; + + # upstream has no tests + doCheck = false; + + pythonImportsCheck = [ + "twitchAPI.eventsub" + "twitchAPI.oauth" + "twitchAPI.pubsub" + "twitchAPI.twitch" + "twitchAPI.types" + ]; + + meta = with lib; { + description = "Python implementation of the Twitch Helix API, its Webhook, PubSub and EventSub"; + homepage = "https://github.com/Teekeks/pyTwitchAPI"; + license = licenses.mit; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/wandb/default.nix b/pkgs/development/python-modules/wandb/default.nix index 6b10b30a1930..ef8e6cfd247e 100644 --- a/pkgs/development/python-modules/wandb/default.nix +++ b/pkgs/development/python-modules/wandb/default.nix @@ -28,6 +28,7 @@ , requests , scikit-learn , sentry-sdk +, setproctitle , setuptools , shortuuid , stdenv @@ -37,13 +38,13 @@ buildPythonPackage rec { pname = "wandb"; - version = "0.12.10"; + version = "0.12.11"; src = fetchFromGitHub { owner = pname; repo = "client"; rev = "v${version}"; - sha256 = "198c6zx7xih74cw0dwfqw7s7b7whik7wv4nfq6x6xw0kw86r6hby"; + sha256 = "0av4vv4llan40678bw0vlah0gn6hjg5pdqwq0c5cv15lqrdb8g32"; }; # The wandb requirements.txt does not distinguish python2/3 dependencies. We @@ -70,6 +71,7 @@ buildPythonPackage rec { pyyaml requests sentry-sdk + setproctitle setuptools shortuuid yaspin @@ -99,11 +101,11 @@ buildPythonPackage rec { "tests/test_telemetry_full.py" "tests/wandb_agent_test.py" "tests/wandb_artifacts_test.py" - "tests/wandb_history_test.py" "tests/wandb_integration_test.py" "tests/wandb_run_test.py" "tests/wandb_settings_test.py" "tests/wandb_sweep_test.py" + "tests/wandb_verify_test.py" # Fails and borks the pytest runner as well. "tests/wandb_test.py" diff --git a/pkgs/development/python-modules/weasyprint/default.nix b/pkgs/development/python-modules/weasyprint/default.nix index 27c7521cef86..3d752596dec3 100644 --- a/pkgs/development/python-modules/weasyprint/default.nix +++ b/pkgs/development/python-modules/weasyprint/default.nix @@ -27,7 +27,7 @@ buildPythonPackage rec { pname = "weasyprint"; - version = "54.1"; + version = "54.2"; disabled = !isPy3k; format = "pyproject"; @@ -35,7 +35,7 @@ buildPythonPackage rec { src = fetchPypi { inherit version; pname = "weasyprint"; - sha256 = "sha256-+lfbhi4GvQHF59gtrTmbO5lSo5gnAjwXvumxwGH/G70="; + sha256 = "sha256-1eiqguPiokd6RUPwZG2fsUCAybo0oIWXUesjdXzABGY="; }; patches = [ diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix index 2a8ce7faed92..0d634e3ec464 100644 --- a/pkgs/development/tools/analysis/checkov/default.nix +++ b/pkgs/development/tools/analysis/checkov/default.nix @@ -32,13 +32,13 @@ with py.pkgs; buildPythonApplication rec { pname = "checkov"; - version = "2.0.908"; + version = "2.0.913"; src = fetchFromGitHub { owner = "bridgecrewio"; repo = pname; rev = version; - hash = "sha256-2ssVFnRd8TIxZSUUq9jOmiNHY1yuDv7mMqpKtJ3vq24="; + hash = "sha256-gSWD3Y7yySJvWicL5zgCGvMWfk98mBdTXB+Xwo4fork="; }; nativeBuildInputs = with py.pkgs; [ diff --git a/pkgs/games/steam-tui/default.nix b/pkgs/games/steam-tui/default.nix index 66e17b1752ea..63deb3b969ce 100644 --- a/pkgs/games/steam-tui/default.nix +++ b/pkgs/games/steam-tui/default.nix @@ -2,7 +2,7 @@ , rustPlatform , steamcmd , fetchFromGitHub -, steam-run-native +, steam-run , runtimeShell , withWine ? false , wine @@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "sha256-VYBzwDLSV4N4qt2dNgIS399T2HIbPTdQ2rDIeheLlfo="; - buildInputs = [ steamcmd steam-run-native ] + buildInputs = [ steamcmd ] ++ lib.optional withWine wine; preFixup = '' @@ -29,7 +29,7 @@ rustPlatform.buildRustPackage rec { cat > $out/bin/steam-tui <