diff --git a/nixos/modules/security/wrappers/default.nix b/nixos/modules/security/wrappers/default.nix index 606b620ef120..b5dae96d79c6 100644 --- a/nixos/modules/security/wrappers/default.nix +++ b/nixos/modules/security/wrappers/default.nix @@ -255,11 +255,6 @@ in umount = mkSetuidRoot "${lib.getBin pkgs.util-linux}/bin/umount"; }; - boot.specialFileSystems.${parentWrapperDir} = { - fsType = "tmpfs"; - options = [ "nodev" "mode=755" "size=${config.security.wrapperDirSize}" ]; - }; - # Make sure our wrapperDir exports to the PATH env variable when # initializing the shell environment.extraInit = '' @@ -275,6 +270,17 @@ in mrpx ${wrap.source}, '') wrappers; + systemd.mounts = [{ + where = parentWrapperDir; + what = "tmpfs"; + type = "tmpfs"; + options = lib.concatStringsSep "," ([ + "nodev" + "mode=755" + "size=${config.security.wrapperDirSize}" + ]); + }]; + systemd.services.suid-sgid-wrappers = { description = "Create SUID/SGID Wrappers"; wantedBy = [ "sysinit.target" ]; diff --git a/nixos/modules/virtualisation/includes-to-excludes.py b/nixos/modules/virtualisation/includes-to-excludes.py deleted file mode 100644 index 05ef9c0f23b9..000000000000 --- a/nixos/modules/virtualisation/includes-to-excludes.py +++ /dev/null @@ -1,86 +0,0 @@ - -# Convert a list of strings to a regex that matches everything but those strings -# ... and it had to be a POSIX regex; no negative lookahead :( -# This is a workaround for erofs supporting only exclude regex, not an include list - -import sys -import re -from collections import defaultdict - -# We can configure this script to match in different ways if we need to. -# The regex got too long for the argument list, so we had to truncate the -# hashes and use MATCH_STRING_PREFIX. That's less accurate, and might pick up some -# garbage like .lock files, but only if the sandbox doesn't hide those. Even -# then it should be harmless. - -# Produce the negation of ^a$ -MATCH_EXACTLY = ".+" -# Produce the negation of ^a -MATCH_STRING_PREFIX = "//X" # //X should be epsilon regex instead. Not supported?? -# Produce the negation of ^a/? -MATCH_SUBPATHS = "[^/].*$" - -# match_end = MATCH_SUBPATHS -match_end = MATCH_STRING_PREFIX -# match_end = MATCH_EXACTLY - -def chars_to_inverted_class(letters): - assert len(letters) > 0 - letters = list(letters) - - s = "[^" - - if "]" in letters: - s += "]" - letters.remove("]") - - final = "" - if "-" in letters: - final = "-" - letters.remove("-") - - s += "".join(letters) - - s += final - - s += "]" - - return s - -# There's probably at least one bug in here, but it seems to works well enough -# for filtering store paths. -def strings_to_inverted_regex(strings): - s = "(" - - # Match anything that starts with the wrong character - - chars = defaultdict(list) - - for item in strings: - if item != "": - chars[item[0]].append(item[1:]) - - if len(chars) == 0: - s += match_end - else: - s += chars_to_inverted_class(chars) - - # Now match anything that starts with the right char, but then goes wrong - - for char, sub in chars.items(): - s += "|(" + re.escape(char) + strings_to_inverted_regex(sub) + ")" - - s += ")" - return s - -if __name__ == "__main__": - stdin_lines = [] - for line in sys.stdin: - if line.strip() != "": - stdin_lines.append(line.strip()) - - print("^" + strings_to_inverted_regex(stdin_lines)) - -# Test: -# (echo foo; echo fo/; echo foo/; echo foo/ba/r; echo b; echo az; echo az/; echo az/a; echo ab; echo ab/a; echo ab/; echo abc; echo abcde; echo abb; echo ac; echo b) | grep -vE "$((echo ab; echo az; echo foo;) | python includes-to-excludes.py | tee /dev/stderr )" -# should print ab, az, foo and their subpaths diff --git a/nixos/modules/virtualisation/proxmox-lxc.nix b/nixos/modules/virtualisation/proxmox-lxc.nix index 751e09c43a9e..548421e48e2b 100644 --- a/nixos/modules/virtualisation/proxmox-lxc.nix +++ b/nixos/modules/virtualisation/proxmox-lxc.nix @@ -70,6 +70,14 @@ with lib; hostName = mkIf (!cfg.manageHostName) (mkForce ""); }; + # unprivileged LXCs can't set net.ipv4.ping_group_range + security.wrappers.ping = mkIf (!cfg.privileged) { + owner = "root"; + group = "root"; + capabilities = "cap_net_raw+p"; + source = "${pkgs.iputils.out}/bin/ping"; + }; + services.openssh = { enable = mkDefault true; startWhenNeeded = mkDefault true; diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 3cc20464b00b..10f69f3a744a 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -134,32 +134,25 @@ let TMPDIR=$(mktemp -d nix-vm.XXXXXXXXXX --tmpdir) fi - ${lib.optionalString (cfg.useNixStoreImage) - (if cfg.writableStore - then '' - # Create a writable copy/snapshot of the store image. - ${qemu}/bin/qemu-img create -f qcow2 -F qcow2 -b ${storeImage}/nixos.qcow2 "$TMPDIR"/store.img - '' - else '' - ( - cd ${builtins.storeDir} - ${hostPkgs.erofs-utils}/bin/mkfs.erofs \ - --force-uid=0 \ - --force-gid=0 \ - -L ${nixStoreFilesystemLabel} \ - -U eb176051-bd15-49b7-9e6b-462e0b467019 \ - -T 0 \ - --exclude-regex="$( - <${hostPkgs.closureInfo { rootPaths = [ config.system.build.toplevel regInfo ]; }}/store-paths \ - sed -e 's^.*/^^g' \ - | cut -c -10 \ - | ${hostPkgs.python3}/bin/python ${./includes-to-excludes.py} )" \ - "$TMPDIR"/store.img \ - . \ - /dev/null - ) - '' - ) + ${lib.optionalString (cfg.useNixStoreImage) '' + echo "Creating Nix store image..." + + ${hostPkgs.gnutar}/bin/tar --create \ + --absolute-names \ + --verbatim-files-from \ + --transform 'flags=rSh;s|/nix/store/||' \ + --files-from ${hostPkgs.closureInfo { rootPaths = [ config.system.build.toplevel regInfo ]; }}/store-paths \ + | ${hostPkgs.erofs-utils}/bin/mkfs.erofs \ + --force-uid=0 \ + --force-gid=0 \ + -L ${nixStoreFilesystemLabel} \ + -U eb176051-bd15-49b7-9e6b-462e0b467019 \ + -T 0 \ + --tar=f \ + "$TMPDIR"/store.img + + echo "Created Nix store image." + '' } # Create a directory for exchanging data with the VM. @@ -298,21 +291,6 @@ let OVMF = cfg.efi.OVMF; }; - storeImage = import ../../lib/make-disk-image.nix { - name = "nix-store-image"; - inherit pkgs config lib; - additionalPaths = [ regInfo ]; - format = "qcow2"; - onlyNixStore = true; - label = nixStoreFilesystemLabel; - partitionTableType = "none"; - installBootLoader = false; - touchEFIVars = false; - diskSize = "auto"; - additionalSpace = "0M"; - copyChannel = false; - }; - in { @@ -788,10 +766,14 @@ in this can drastically improve performance, but at the cost of disk space and image build time. - As an alternative, you can use a bootloader which will provide you - with a full NixOS system image containing a Nix store and - avoid mounting the host nix store through - {option}`virtualisation.mountHostNixStore`. + The Nix store image is built just-in-time right before the VM is + started. Because it does not produce another derivation, the image is + not cached between invocations and never lands in the store or binary + cache. + + If you want a full disk image with a partition table and a root + filesystem instead of only a store image, enable + {option}`virtualisation.useBootLoader` instead. ''; }; @@ -1019,25 +1001,7 @@ in ]; warnings = - optional ( - cfg.writableStore && - cfg.useNixStoreImage && - opt.writableStore.highestPrio > lib.modules.defaultOverridePriority) - '' - You have enabled ${opt.useNixStoreImage} = true, - without setting ${opt.writableStore} = false. - - This causes a store image to be written to the store, which is - costly, especially for the binary cache, and because of the need - for more frequent garbage collection. - - If you really need this combination, you can set ${opt.writableStore} - explicitly to true, incur the cost and make this warning go away. - Otherwise, we recommend - - ${opt.writableStore} = false; - '' - ++ optional (cfg.directBoot.enable && cfg.useBootLoader) + optional (cfg.directBoot.enable && cfg.useBootLoader) '' You enabled direct boot and a bootloader, QEMU will not boot your bootloader, rendering `useBootLoader` useless. You might want to disable one of those options. @@ -1050,8 +1014,6 @@ in boot.loader.grub.device = mkVMOverride (if cfg.useEFIBoot then "nodev" else cfg.bootLoaderDevice); boot.loader.grub.gfxmodeBios = with cfg.resolution; "${toString x}x${toString y}"; - boot.initrd.kernelModules = optionals (cfg.useNixStoreImage && !cfg.writableStore) [ "erofs" ]; - boot.loader.supportsInitrdSecrets = mkIf (!cfg.useBootLoader) (mkVMOverride false); # After booting, register the closure of the paths in @@ -1171,7 +1133,7 @@ in name = "nix-store"; file = ''"$TMPDIR"/store.img''; deviceExtraOpts.bootindex = "2"; - driveExtraOpts.format = if cfg.writableStore then "qcow2" else "raw"; + driveExtraOpts.format = "raw"; }]) (imap0 (idx: _: { file = "$(pwd)/empty${toString idx}.qcow2"; @@ -1226,6 +1188,7 @@ in }); "/nix/.ro-store" = lib.mkIf cfg.useNixStoreImage { device = "/dev/disk/by-label/${nixStoreFilesystemLabel}"; + fsType = "erofs"; neededForBoot = true; options = [ "ro" ]; }; diff --git a/pkgs/applications/blockchains/erigon/default.nix b/pkgs/applications/blockchains/erigon/default.nix index d2b90cf5952f..64d12a2fdab2 100644 --- a/pkgs/applications/blockchains/erigon/default.nix +++ b/pkgs/applications/blockchains/erigon/default.nix @@ -2,7 +2,7 @@ let pname = "erigon"; - version = "2.60.2"; + version = "2.60.4"; in buildGoModule { inherit pname version; @@ -11,7 +11,7 @@ buildGoModule { owner = "ledgerwatch"; repo = pname; rev = "v${version}"; - hash = "sha256-+KUe+wpcE59Y6ktDRpoMXQYSML9sfN4OaDV8+sKfzQQ="; + hash = "sha256-qcBKWwF9/i9ipE70+5AG5cuhYYqDBXAlY2OWxIh4KfU="; fetchSubmodules = true; }; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ott-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ott-mode/default.nix index 6eeead468ff2..ac208e29dbf4 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ott-mode/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/ott-mode/default.nix @@ -1,19 +1,22 @@ -{ trivialBuild -, ott -, haskellPackages -}: +{ melpaBuild, ott }: -trivialBuild { +melpaBuild { pname = "ott-mode"; inherit (ott) src version; - postUnpack = '' - mv $sourceRoot/emacs/ott-mode.el $sourceRoot + files = ''("emacs/*.el")''; + + postPatch = '' + pushd emacs + echo ";;; ott-mode.el ---" > tmp.el + cat ott-mode.el >> tmp.el + mv tmp.el ott-mode.el + popd ''; meta = { description = "Emacs ott mode (from ott sources)"; - inherit (haskellPackages.Agda.meta) homepage license; + inherit (ott.meta) homepage license; }; } diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 66b3362cc9c4..c047d5aa742c 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -90,8 +90,8 @@ let mktplcRef = { publisher = "42Crunch"; name = "vscode-openapi"; - version = "4.25.3"; - hash = "sha256-1kz/M2od2gLSFgqW6LsPHgtm+BwXA+0+7z3HyqNmsOg="; + version = "4.27.0"; + hash = "sha256-urXGyHpIDWQ0Bc+8LODC0DcEo6jQ5tA/QptyxCej9yU="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/42Crunch.vscode-openapi/changelog"; @@ -3568,8 +3568,8 @@ let mktplcRef = { name = "vscode-just-syntax"; publisher = "nefrob"; - version = "0.3.0"; - hash = "sha256-WBoqH9TNco9lyjOJfP54DynjmYZmPUY+YrZ1rQlC518="; + version = "0.5.1"; + hash = "sha256-DacDGK8gqlt8u0ZKcVxZ7jiUFFEX3ixv3P7RKWJVluA="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/nefrob.vscode-just-syntax/changelog"; @@ -4354,8 +4354,8 @@ let mktplcRef = { name = "code-spell-checker"; publisher = "streetsidesoftware"; - version = "4.0.3"; - hash = "sha256-CEGwbw5RpFsfB/g2inScIqWB7/3oxgxz7Yuc6V3OiHg="; + version = "4.0.4"; + hash = "sha256-WbEhTIuPqH77IuEDgjPUz9chHM/aYjMdpCI9Kf0KS2Q="; }; meta = { changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog"; diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix index c1f275b6911e..072c1a1ca5c5 100644 --- a/pkgs/applications/editors/vscode/vscodium.nix +++ b/pkgs/applications/editors/vscode/vscodium.nix @@ -15,11 +15,11 @@ let archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz"; sha256 = { - x86_64-linux = "01riva442l78d8dyh0wb9iqhjfa1bd48bpc7zfvd4zpz6fwhlkqr"; - x86_64-darwin = "1pmvjxagbfrp25i4s66j892xiskrld5z25mkvlsdkddqlvnhanc9"; - aarch64-linux = "1lk1p45ibph3arbb5vgkgxlip2jafgmpq40ldpfrh55k6v83zd2q"; - aarch64-darwin = "17cd0grmplvk8s5wrcd1v172irrddjcc9drfp7qpvszd3kiy09a7"; - armv7l-linux = "1636i9b4fxh2jvakjag38ij6kmj1cf0nlfzyk5rfl06i06gfd6jr"; + x86_64-linux = "0am2g0vpb2fgqqs9m5v9dx8w47l2xnjy7bf3rr0bjr4yv4qn7g0n"; + x86_64-darwin = "0520kpdfa2k1qlgnmnzisbbq0n4h119nfgnaljymsviw1ix02v7k"; + aarch64-linux = "0r6sqyfcj3qs2iqpfhdjcd8jfazkmyxx0f92qpxlc6a5gllm3hlj"; + aarch64-darwin = "03b0akbkmqp1fm6i61dx09lln8m3598xigi4wr0rkdsy0yq2vpl8"; + armv7l-linux = "1sdml7bhrrn2qskhzs4ymibq7cw4nhjimxi8fmaj94dk5yri4wd3"; }.${system} or throwSystem; sourceRoot = lib.optionalString (!stdenv.isDarwin) "."; @@ -29,7 +29,7 @@ in # Please backport all compatible updates to the stable release. # This is important for the extension ecosystem. - version = "1.90.2.24171"; + version = "1.91.1.24193"; pname = "vscodium"; executableName = "codium"; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix index e464079da93c..c4e2dc43d246 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "obs-move-transition"; - version = "3.0.1"; + version = "3.0.2"; src = fetchFromGitHub { owner = "exeldro"; repo = "obs-move-transition"; rev = version; - sha256 = "sha256-LZL9f/pX74rKW+wnNHGKwGuuISOTcFVr6W9h/JEK0U4="; + sha256 = "sha256-Vwm0Eyb8MevZtS3PTqnFQAbCj7JuTw9Ju0lS9CZ6rf8="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/bu/bustle/package.nix b/pkgs/by-name/bu/bustle/package.nix index 1e57c9122f8a..a6e3e6474729 100644 --- a/pkgs/by-name/bu/bustle/package.nix +++ b/pkgs/by-name/bu/bustle/package.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitLab +, buildPackages , cargo , meson , ninja @@ -9,9 +10,12 @@ , rustPlatform , rustc , wrapGAppsHook4 +, darwin +, gettext , glib , gtk4 , libadwaita +, libiconv }: stdenv.mkDerivation (finalAttrs: { @@ -32,6 +36,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-r29Z+6P+yuCpOBUE3vkESd15lcGXs5+ZTBiQ9nW6DJ4="; }; + env = lib.optionalAttrs stdenv.isDarwin { + # Set the location to gettext to ensure the nixpkgs one on Darwin instead of the vendored one. + # The vendored gettext does not build with clang 16. + GETTEXT_BIN_DIR = "${lib.getBin buildPackages.gettext}/bin"; + GETTEXT_INCLUDE_DIR = "${lib.getDev gettext}/include"; + GETTEXT_LIB_DIR = "${lib.getLib gettext}/lib"; + }; + nativeBuildInputs = [ cargo meson @@ -48,6 +60,9 @@ stdenv.mkDerivation (finalAttrs: { glib gtk4 libadwaita + ] ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Foundation + libiconv ]; meta = with lib; { diff --git a/pkgs/by-name/cl/clever-tools/package.nix b/pkgs/by-name/cl/clever-tools/package.nix index b1dcca9abf2d..2a0a368d28f7 100644 --- a/pkgs/by-name/cl/clever-tools/package.nix +++ b/pkgs/by-name/cl/clever-tools/package.nix @@ -30,6 +30,7 @@ buildNpmPackage rec { installShellCompletion --cmd clever \ --bash <($out/bin/clever --bash-autocomplete-script $out/bin/clever) \ --zsh <($out/bin/clever --zsh-autocomplete-script $out/bin/clever) + '' + '' rm $out/bin/install-clever-completion rm $out/bin/uninstall-clever-completion ''; diff --git a/pkgs/by-name/co/consul/package.nix b/pkgs/by-name/co/consul/package.nix index 5dc8d88afe34..74f1ccbad672 100644 --- a/pkgs/by-name/co/consul/package.nix +++ b/pkgs/by-name/co/consul/package.nix @@ -8,7 +8,7 @@ buildGoModule rec { pname = "consul"; - version = "1.19.0"; + version = "1.19.1"; # Note: Currently only release tags are supported, because they have the Consul UI # vendored. See @@ -22,7 +22,7 @@ buildGoModule rec { owner = "hashicorp"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-GO2BfdozsAo1r4iSyQdAEG8Tm6OkJhSUrH3bZ9lWuO8="; + hash = "sha256-UMKXI16QQHV9I+kH62KRbZCEcQLXkBwB6o/lqtCZa78="; }; # This corresponds to paths with package main - normally unneeded but consul @@ -32,7 +32,7 @@ buildGoModule rec { "connect/certgen" ]; - vendorHash = "sha256-h3eTCj/0FPiY/Dj4cMj9VqKBs28ArnTPjRIC3LT06j0="; + vendorHash = "sha256-l1+KVygh0TuvN45UmU/bXksjHBTZZ6jt54nZtR9f+II="; doCheck = false; diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/by-name/fl/flexget/package.nix similarity index 52% rename from pkgs/applications/networking/flexget/default.nix rename to pkgs/by-name/fl/flexget/package.nix index 5bdda1c1f4ef..26ea275144a7 100644 --- a/pkgs/applications/networking/flexget/default.nix +++ b/pkgs/by-name/fl/flexget/package.nix @@ -1,11 +1,18 @@ { lib , python3 +, python311 , fetchFromGitHub }: -python3.pkgs.buildPythonApplication rec { +let + python = if (builtins.tryEval python3.pkgs.nose.outPath).success + then python3 + else python311; +in + +python.pkgs.buildPythonApplication rec { pname = "flexget"; - version = "3.11.39"; + version = "3.11.41"; pyproject = true; # Fetch from GitHub in order to use `requirements.in` @@ -13,7 +20,7 @@ python3.pkgs.buildPythonApplication rec { owner = "Flexget"; repo = "Flexget"; rev = "refs/tags/v${version}"; - hash = "sha256-saNxs+Xdf6OTRRcMTceU8/ITcYzwtP8VqRKxsWyas+o="; + hash = "sha256-ZSqkD53fdDnKulVPgM9NWXVFXDR0sZ94mRyV1iKS87o="; }; postPatch = '' @@ -21,30 +28,24 @@ python3.pkgs.buildPythonApplication rec { sed 's/[~<>=][^;]*//' -i requirements.txt ''; - build-system = with python3.pkgs; [ + build-system = with python.pkgs; [ setuptools wheel ]; - dependencies = with python3.pkgs; [ - # See https://github.com/Flexget/Flexget/blob/master/requirements.txt + dependencies = with python.pkgs; [ + # See https://github.com/Flexget/Flexget/blob/master/pyproject.toml apscheduler beautifulsoup4 - click colorama - commonmark feedparser guessit html5lib jinja2 jsonschema loguru - more-itertools - packaging - pendulum psutil pynzb - pyrsistent pyrss2gen python-dateutil pyyaml @@ -53,27 +54,51 @@ python3.pkgs.buildPythonApplication rec { rich rpyc sqlalchemy - typing-extensions # WebUI requirements cherrypy flask-compress flask-cors flask-login - flask-restful flask-restx flask + packaging pyparsing werkzeug zxcvbn + pendulum # Plugins requirements transmission-rpc + qbittorrent-api + deluge-client + cloudscraper + python-telegram-bot ]; pythonImportsCheck = [ "flexget" + "flexget.api.core.authentication" + "flexget.api.core.database" + "flexget.api.core.plugins" + "flexget.api.core.schema" + "flexget.api.core.server" + "flexget.api.core.tasks" + "flexget.api.core.user" + "flexget.components.thetvdb.api" + "flexget.components.tmdb.api" + "flexget.components.trakt.api" + "flexget.components.tvmaze.api" + "flexget.plugins.clients.aria2" + "flexget.plugins.clients.deluge" + "flexget.plugins.clients.nzbget" + "flexget.plugins.clients.pyload" + "flexget.plugins.clients.qbittorrent" + "flexget.plugins.clients.rtorrent" "flexget.plugins.clients.transmission" + "flexget.plugins.services.kodi_library" + "flexget.plugins.services.myepisodes" + "flexget.plugins.services.pogcal_acquired" ]; # ~400 failures diff --git a/pkgs/by-name/gn/gnome-font-viewer/package.nix b/pkgs/by-name/gn/gnome-font-viewer/package.nix index ddb98b787099..c97bad1879b8 100644 --- a/pkgs/by-name/gn/gnome-font-viewer/package.nix +++ b/pkgs/by-name/gn/gnome-font-viewer/package.nix @@ -1,5 +1,6 @@ { lib , stdenv +, fetchpatch2 , meson , ninja , gettext @@ -25,6 +26,14 @@ stdenv.mkDerivation rec { hash = "sha256-WS9AHkhdAswETUh7tcjgTJYdpoViFnaKWfH/mL0tU3w="; }; + patches = lib.optionals stdenv.cc.isClang [ + # Fixes an incompatible function pointer error when building with clang 16 + (fetchpatch2 { + url = "https://gitlab.gnome.org/GNOME/gnome-font-viewer/-/commit/565d795731471c27542bb9ee60820a2d0d15534e.diff"; + hash = "sha256-8dgOVTx6ZbvXROlIWTZU2xNWJ11LlJykRs699cgZqow="; + }) + ]; + doCheck = true; nativeBuildInputs = [ diff --git a/pkgs/by-name/ko/koboldcpp/package.nix b/pkgs/by-name/ko/koboldcpp/package.nix index 996afba2ed51..8f23b6167e3d 100644 --- a/pkgs/by-name/ko/koboldcpp/package.nix +++ b/pkgs/by-name/ko/koboldcpp/package.nix @@ -5,6 +5,7 @@ makeWrapper, gitUpdater, python3Packages, + python311Packages ? null, # Ignored. Kept for compatibility with the release tk, addDriverRunpath, @@ -21,7 +22,7 @@ cublasSupport ? config.cudaSupport, # You can find a full list here: https://arnon.dk/matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards/ # For example if you're on an GTX 1080 that means you're using "Pascal" and you need to pass "sm_60" - arches ? cudaPackages.cudaFlags.arches or [ ], + cudaArches ? cudaPackages.cudaFlags.arches or [ ], clblastSupport ? stdenv.isLinux, clblast, @@ -31,15 +32,23 @@ vulkan-loader, metalSupport ? stdenv.isDarwin && stdenv.isAarch64, + march ? "", + mtune ? "", }: let makeBool = option: bool: (if bool then "${option}=1" else ""); - makeWrapperArgs = lib.optionalString config.cudaSupport '' + libraryPathWrapperArgs = lib.optionalString config.cudaSupport '' --prefix LD_LIBRARY_PATH: "${lib.makeLibraryPath [ addDriverRunpath.driverLink ]}" ''; + darwinFrameworks = + if (stdenv.isDarwin && stdenv.isx86_64) then + darwin.apple_sdk.frameworks + else + darwin.apple_sdk_11_0.frameworks; + effectiveStdenv = if cublasSupport then cudaPackages.backendStdenv else stdenv; in effectiveStdenv.mkDerivation (finalAttrs: { @@ -66,15 +75,15 @@ effectiveStdenv.mkDerivation (finalAttrs: { [ tk ] ++ finalAttrs.pythonInputs ++ lib.optionals effectiveStdenv.isDarwin [ - darwin.apple_sdk_11_0.frameworks.Accelerate - darwin.apple_sdk_11_0.frameworks.CoreVideo - darwin.apple_sdk_11_0.frameworks.CoreGraphics - darwin.apple_sdk_11_0.frameworks.CoreServices + darwinFrameworks.Accelerate + darwinFrameworks.CoreVideo + darwinFrameworks.CoreGraphics + darwinFrameworks.CoreServices ] ++ lib.optionals metalSupport [ - darwin.apple_sdk_11_0.frameworks.MetalKit - darwin.apple_sdk_11_0.frameworks.Foundation - darwin.apple_sdk_11_0.frameworks.MetalPerformanceShaders + darwinFrameworks.MetalKit + darwinFrameworks.Foundation + darwinFrameworks.MetalPerformanceShaders ] ++ lib.optionals openblasSupport [ openblas ] ++ lib.optionals cublasSupport [ @@ -92,27 +101,35 @@ effectiveStdenv.mkDerivation (finalAttrs: { pythonPath = finalAttrs.pythonInputs; darwinLdFlags = lib.optionals stdenv.isDarwin [ - "-F${darwin.apple_sdk_11_0.frameworks.CoreServices}/Library/Frameworks" - "-F${darwin.apple_sdk_11_0.frameworks.Accelerate}/Library/Frameworks" + "-F${darwinFrameworks.CoreServices}/Library/Frameworks" + "-F${darwinFrameworks.Accelerate}/Library/Frameworks" "-framework CoreServices" "-framework Accelerate" ]; metalLdFlags = lib.optionals metalSupport [ - "-F${darwin.apple_sdk_11_0.frameworks.Foundation}/Library/Frameworks" - "-F${darwin.apple_sdk_11_0.frameworks.Metal}/Library/Frameworks" + "-F${darwinFrameworks.Foundation}/Library/Frameworks" + "-F${darwinFrameworks.Metal}/Library/Frameworks" "-framework Foundation" "-framework Metal" ]; env.NIX_LDFLAGS = lib.concatStringsSep " " (finalAttrs.darwinLdFlags ++ finalAttrs.metalLdFlags); + env.NIX_CFLAGS_COMPILE = + lib.optionalString (march != "") ( + lib.warn "koboldcpp: the march argument is only kept for compatibility; use overrideAttrs intead" "-march=${march}" + ) + + lib.optionalString (mtune != "") ( + lib.warn "koboldcpp: the mtune argument is only kept for compatibility; use overrideAttrs intead" "-mtune=${mtune}" + ); + makeFlags = [ (makeBool "LLAMA_OPENBLAS" openblasSupport) (makeBool "LLAMA_CUBLAS" cublasSupport) (makeBool "LLAMA_CLBLAST" clblastSupport) (makeBool "LLAMA_VULKAN" vulkanSupport) (makeBool "LLAMA_METAL" metalSupport) - (lib.optionalString cublasSupport "CUDA_DOCKER_ARCH=sm_${builtins.head arches}") + (lib.optionals cublasSupport "CUDA_DOCKER_ARCH=sm_${builtins.head cudaArches}") ]; installPhase = '' @@ -141,7 +158,7 @@ effectiveStdenv.mkDerivation (finalAttrs: { postFixup = '' wrapPythonProgramsIn "$out/bin" "$pythonPath" makeWrapper "$out/bin/koboldcpp.unwrapped" "$out/bin/koboldcpp" \ - --prefix PATH ${lib.makeBinPath [ tk ]} ${makeWrapperArgs} + --prefix PATH ${lib.makeBinPath [ tk ]} ${libraryPathWrapperArgs} ''; passthru.updateScript = gitUpdater { rev-prefix = "v"; }; diff --git a/pkgs/by-name/ra/radicle-httpd/package.nix b/pkgs/by-name/ra/radicle-httpd/package.nix index f1f9e5e5993f..6f2333e3d745 100644 --- a/pkgs/by-name/ra/radicle-httpd/package.nix +++ b/pkgs/by-name/ra/radicle-httpd/package.nix @@ -13,17 +13,17 @@ }: rustPlatform.buildRustPackage rec { pname = "radicle-httpd"; - version = "0.13.0"; + version = "0.14.0"; env.RADICLE_VERSION = version; src = fetchgit { url = "https://seed.radicle.xyz/z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git"; rev = "refs/namespaces/z6MkkfM3tPXNPrPevKr3uSiQtHPuwnNhu2yUVjgd2jXVsVz5/refs/tags/v${version}"; - hash = "sha256-C7kMREIEq2nv+mq/YXS4yPNKgJxz5tTzqRwO9CtM1Bg="; + hash = "sha256-WuaKYX3rGcIGmz4OAtCvoSwWUr09qfmXM2KI4uGu9s0="; sparseCheckout = [ "radicle-httpd" ]; }; sourceRoot = "${src.name}/radicle-httpd"; - cargoHash = "sha256-fbHg1hwHloy9AZMDCHNVkNTfLMG4Dv6IPxTp8F5okrk="; + cargoHash = "sha256-pe+x4fn45I1+6WaLT23KmO7RyAMNdU+7nwG9GSGSeMc="; nativeBuildInputs = [ asciidoctor diff --git a/pkgs/by-name/vi/victoriametrics/package.nix b/pkgs/by-name/vi/victoriametrics/package.nix index d17b8ce22974..21853f0519d5 100644 --- a/pkgs/by-name/vi/victoriametrics/package.nix +++ b/pkgs/by-name/vi/victoriametrics/package.nix @@ -14,13 +14,13 @@ buildGoModule rec { pname = "VictoriaMetrics"; - version = "1.101.0"; + version = "1.102.0"; src = fetchFromGitHub { owner = "VictoriaMetrics"; repo = "VictoriaMetrics"; rev = "v${version}"; - hash = "sha256-Jjz/CbVCvc9NFbvzYTFthG8cov4pYpc6y1A1Kmd3Mjg="; + hash = "sha256-5p50DEL5XhXncJKH2ebFkh9/l0EABj+Pebf5oHV1yk8="; }; vendorHash = null; diff --git a/pkgs/by-name/vi/vikunja/package.nix b/pkgs/by-name/vi/vikunja/package.nix index baf2d46e36c9..9af6170d5663 100644 --- a/pkgs/by-name/vi/vikunja/package.nix +++ b/pkgs/by-name/vi/vikunja/package.nix @@ -1,12 +1,12 @@ { lib, fetchFromGitHub, stdenv, nodejs, pnpm, buildGoModule, mage, writeShellScriptBin, nixosTests }: let - version = "0.24.0"; + version = "0.24.1"; src = fetchFromGitHub { owner = "go-vikunja"; repo = "vikunja"; rev = "v${version}"; - hash = "sha256-KbtyDGuJN63mFEhAPCqV0tajAq1ZIR3CmN9Deb5XWcU="; + hash = "sha256-39S7Xl8He+unIkAZ9GnjqWHBOfdDj4rSUmrExB+Q6Vc="; }; frontend = stdenv.mkDerivation (finalAttrs: { @@ -17,7 +17,7 @@ let pnpmDeps = pnpm.fetchDeps { inherit (finalAttrs) pname version src sourceRoot; - hash = "sha256-KmeZlvt7DA5uDFSkYS71k8qCaHRw3sSTn1NfJPCJxpA="; + hash = "sha256-iEcic/oQ33IO9tWqIQGfyjSY4YpJ8FckaI59qTgdq3c="; }; nativeBuildInputs = [ @@ -67,7 +67,7 @@ buildGoModule { in [ fakeGit mage ]; - vendorHash = "sha256-SnVCc6SWG6LH2ZzKV1A2dvO9/4wYzwnINO1Kyz1+3kg="; + vendorHash = "sha256-oOa9qTy5jNYq05Tbp9hI4L0OBtKtglhk6Uz380nZH1Y="; inherit frontend; diff --git a/pkgs/by-name/ya/yanic/package.nix b/pkgs/by-name/ya/yanic/package.nix index a3ce6986dc74..97f3686cb3d5 100644 --- a/pkgs/by-name/ya/yanic/package.nix +++ b/pkgs/by-name/ya/yanic/package.nix @@ -17,7 +17,11 @@ buildGoModule rec { vendorHash = "sha256-6UiiajKLzW5e7y0F6GMYDZP6xTyOiccLIKlwvOY7LRo="; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-X github.com/FreifunkBremen/yanic/cmd.VERSION=${version}" + "-s" + "-w" + ]; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix index 47111faed2fb..f1dadcb0d33d 100644 --- a/pkgs/data/fonts/iosevka/default.nix +++ b/pkgs/data/fonts/iosevka/default.nix @@ -55,16 +55,16 @@ assert (extraParameters != null) -> set != null; buildNpmPackage rec { pname = "Iosevka${toString set}"; - version = "30.3.2"; + version = "30.3.3"; src = fetchFromGitHub { owner = "be5invis"; repo = "iosevka"; rev = "v${version}"; - hash = "sha256-Ksd1REqCe+42hpIwikIeKNYIYaHc5hqxuny8lYRuQcY="; + hash = "sha256-vbtcnBj+mYqUBUpyDXDjoz1elL5xPybZ60DBA3iFRME="; }; - npmDepsHash = "sha256-8IyQK1eoVwq6E/HZkavLSRXiZst3LuyDIPc8D/yMD9E="; + npmDepsHash = "sha256-5PTwvwGQKIL22BDq252DGddsXodaYlXUr0PiejFW+28="; nativeBuildInputs = [ remarshal diff --git a/pkgs/desktops/cinnamon/cinnamon-session/default.nix b/pkgs/desktops/cinnamon/cinnamon-session/default.nix index a7262b2f937c..835e4af12b58 100644 --- a/pkgs/desktops/cinnamon/cinnamon-session/default.nix +++ b/pkgs/desktops/cinnamon/cinnamon-session/default.nix @@ -32,13 +32,13 @@ let in stdenv.mkDerivation rec { pname = "cinnamon-session"; - version = "6.2.0"; + version = "6.2.1"; src = fetchFromGitHub { owner = "linuxmint"; repo = pname; rev = version; - hash = "sha256-2KQJNUc/uvbXnqqV0Yt3cltTHNbCo+wK67NXlid02Sk="; + hash = "sha256-mr+QOFogzoloasGt1uK6zH/KHuH+uWYzXAZxPYkW57A="; }; patches = [ diff --git a/pkgs/desktops/cinnamon/pix/default.nix b/pkgs/desktops/cinnamon/pix/default.nix index 8d74bdbe7122..ca16fe960dca 100644 --- a/pkgs/desktops/cinnamon/pix/default.nix +++ b/pkgs/desktops/cinnamon/pix/default.nix @@ -4,6 +4,8 @@ , pkg-config , meson , ninja +, brasero +, colord , exiv2 , libheif , libjpeg @@ -17,10 +19,10 @@ , gsettings-desktop-schemas , librsvg , libwebp +, libX11 , lcms2 , bison , flex -, clutter-gtk , wrapGAppsHook3 , shared-mime-info , python3 @@ -31,13 +33,13 @@ stdenv.mkDerivation rec { pname = "pix"; - version = "3.4.1"; + version = "3.4.2"; src = fetchFromGitHub { owner = "linuxmint"; repo = pname; rev = version; - sha256 = "sha256-QkgjUzoBOXE3mxXy/Lq3YkHq7f9oE97FeP7PHIBDHvc="; + sha256 = "sha256-Ra+5hXSNPRc2LvTeEYwg1xSnIYgrpfvTrpPwzuTXhdU="; }; nativeBuildInputs = [ @@ -53,7 +55,8 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - clutter-gtk + brasero + colord exiv2 glib gsettings-desktop-schemas @@ -72,6 +75,7 @@ stdenv.mkDerivation rec { libsecret libtiff libwebp + libX11 xapp ]; diff --git a/pkgs/development/compilers/silice/default.nix b/pkgs/development/compilers/silice/default.nix index fd3d0ba1538d..4256f589649b 100644 --- a/pkgs/development/compilers/silice/default.nix +++ b/pkgs/development/compilers/silice/default.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "silice"; - version = "0-unstable-2024-06-23"; + version = "0-unstable-2024-07-15"; src = fetchFromGitHub { owner = "sylefeb"; repo = "silice"; - rev = "5ba9ef0d03b3c8d4a43efe10acfb51c97d3679ef"; - hash = "sha256-LrLUaCpwzaxH02TGyEfARIumPi0s2REc1g79fSxJjFc="; + rev = "80980cff659839fca63859be4565597053a82a3c"; + hash = "sha256-G+ExPdkhMdC3m9TBwr+3Oj2K6np5MaUULgiXq0G0rLs="; fetchSubmodules = true; }; diff --git a/pkgs/development/cuda-modules/write-gpu-python-test.nix b/pkgs/development/cuda-modules/write-gpu-python-test.nix deleted file mode 100644 index 5f0d5c6b8fe6..000000000000 --- a/pkgs/development/cuda-modules/write-gpu-python-test.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - lib, - writers, - runCommand, -}: -{ - feature ? "cuda", - name ? feature, - libraries ? [ ], -}: -content: - -let - tester = writers.writePython3Bin "tester-${name}" { inherit libraries; } content; - tester' = tester.overrideAttrs (oldAttrs: { - passthru.gpuCheck = - runCommand "test-${name}" - { - nativeBuildInputs = [ tester' ]; - requiredSystemFeatures = [ feature ]; - } - '' - set -e - ${tester.meta.mainProgram or (lib.getName tester')} - touch $out - ''; - }); -in -tester' diff --git a/pkgs/development/cuda-modules/write-gpu-test-python.nix b/pkgs/development/cuda-modules/write-gpu-test-python.nix new file mode 100644 index 000000000000..23282e916929 --- /dev/null +++ b/pkgs/development/cuda-modules/write-gpu-test-python.nix @@ -0,0 +1,66 @@ +{ + lib, + runCommand, + python3Packages, + makeWrapper, +}: +{ + feature ? "cuda", + name ? if feature == null then "cpu" else feature, + libraries ? [ ], # [PythonPackage] | (PackageSet -> [PythonPackage]) + ... +}@args: + +let + inherit (builtins) isFunction all; + librariesFun = if isFunction libraries then libraries else (_: libraries); +in + +assert lib.assertMsg ( + isFunction libraries || all (python3Packages.hasPythonModule) libraries +) "writeGpuTestPython was passed `libraries` from the wrong python release"; + +content: + +let + interpreter = python3Packages.python.withPackages librariesFun; + tester = + runCommand "tester-${name}" + ( + lib.removeAttrs args [ + "libraries" + "name" + ] + // { + inherit content; + nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [ makeWrapper ]; + passAsFile = args.passAsFile or [ ] ++ [ "content" ]; + } + ) + '' + mkdir -p "$out"/bin + cat << EOF >"$out/bin/$name" + #!${lib.getExe interpreter} + EOF + cat "$contentPath" >>"$out/bin/$name" + chmod +x "$out/bin/$name" + + if [[ -n "''${makeWrapperArgs+''${makeWrapperArgs[@]}}" ]] ; then + wrapProgram "$out/bin/$name" ''${makeWrapperArgs[@]} + fi + ''; + tester' = tester.overrideAttrs (oldAttrs: { + passthru.gpuCheck = + runCommand "test-${name}" + { + nativeBuildInputs = [ tester' ]; + requiredSystemFeatures = lib.optionals (feature != null) [ feature ]; + } + '' + set -e + ${tester.meta.mainProgram or (lib.getName tester')} + touch $out + ''; + }); +in +tester' diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix index f8350f7c4a53..9629c0e961a9 100644 --- a/pkgs/development/libraries/libressl/default.nix +++ b/pkgs/development/libraries/libressl/default.nix @@ -127,10 +127,28 @@ in { libressl_3_8 = generic { version = "3.8.4"; hash = "sha256-wM75z+F0rDZs5IL1Qv3bB3Ief6DK+s40tJqHIPo3/n0="; + + patches = [ + # Fixes build on ppc64 + # https://github.com/libressl/portable/pull/1073 + (fetchpatch { + url = "https://github.com/libressl/portable/commit/e6c7de3f03c51fbdcf5ad88bf12fe9e128521f0d.patch"; + hash = "sha256-LJy3fjbnc9h5DG3/+8bLECwJeBpPxy3hU8sPuhovmcw="; + }) + ]; }; libressl_3_9 = generic { version = "3.9.2"; hash = "sha256-ewMdrGSlnrbuMwT3/7ddrTOrjJ0nnIR/ksifuEYGj5c="; + + patches = [ + # Fixes build on ppc64 + # https://github.com/libressl/portable/pull/1073 + (fetchpatch { + url = "https://github.com/libressl/portable/commit/e6c7de3f03c51fbdcf5ad88bf12fe9e128521f0d.patch"; + hash = "sha256-LJy3fjbnc9h5DG3/+8bLECwJeBpPxy3hU8sPuhovmcw="; + }) + ]; }; } diff --git a/pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix b/pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix index 8675bab269c0..d8659de53782 100644 --- a/pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix +++ b/pkgs/development/libraries/xdg-desktop-portal-xapp/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "xdg-desktop-portal-xapp"; - version = "1.0.7"; + version = "1.0.8"; src = fetchFromGitHub { owner = "linuxmint"; repo = "xdg-desktop-portal-xapp"; rev = version; - hash = "sha256-1Q00aEWl/mk37NcBJPgg443V1IXmNaJcSlilzvAJ1QQ="; + hash = "sha256-e8yfFL09nztFF6FZpnT0JZyPSQCPQEI76Q29V1b0gs8="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/holidays/default.nix b/pkgs/development/python-modules/holidays/default.nix index 22948219d3db..2a0dfec49bba 100644 --- a/pkgs/development/python-modules/holidays/default.nix +++ b/pkgs/development/python-modules/holidays/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "holidays"; - version = "0.52"; + version = "0.53"; pyproject = true; disabled = pythonOlder "3.8"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "vacanza"; repo = "python-holidays"; rev = "refs/tags/v${version}"; - hash = "sha256-sLtszBu/eyhfIW8xdkHb3FWx2pW/E8cxPeNa4o7DnIs="; + hash = "sha256-qL6ZjnVecAs8vHbbb2IRQPSDpFFPmFuu16UEBsY8vKw="; }; build-system = [ diff --git a/pkgs/development/python-modules/py-nextbusnext/default.nix b/pkgs/development/python-modules/py-nextbusnext/default.nix index 8aeae2b22b1f..ab889f86ff2c 100644 --- a/pkgs/development/python-modules/py-nextbusnext/default.nix +++ b/pkgs/development/python-modules/py-nextbusnext/default.nix @@ -2,31 +2,34 @@ lib, buildPythonPackage, fetchFromGitHub, - pytestCheckHook, pythonOlder, + requests, setuptools, }: buildPythonPackage rec { pname = "py-nextbusnext"; - version = "1.0.2"; + version = "2.0.3"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "ViViDboarder"; repo = "py_nextbus"; rev = "refs/tags/v${version}"; - hash = "sha256-5zD8AKb4/4x4cVA922OlzSOXlg3F6QCcr16agEQkUWM="; + hash = "sha256-dSBjOMqryEddWB54AddGDojRE8/STi3kxfjJsVFBuOw="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; - nativeCheckInputs = [ pytestCheckHook ]; + dependencies = [ requests ]; pythonImportsCheck = [ "py_nextbus" ]; + # upstream has no tests + doCheck = false; + meta = with lib; { description = "Minimalistic Python client for the NextBus public API"; homepage = "https://github.com/ViViDboarder/py_nextbus"; diff --git a/pkgs/development/python-modules/pytedee-async/default.nix b/pkgs/development/python-modules/pytedee-async/default.nix index 181da2761bab..ccf6fd94f7db 100644 --- a/pkgs/development/python-modules/pytedee-async/default.nix +++ b/pkgs/development/python-modules/pytedee-async/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "pytedee-async"; - version = "0.2.17"; + version = "0.2.20"; pyproject = true; disabled = pythonOlder "3.9"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "zweckj"; repo = "pytedee_async"; rev = "refs/tags/v${version}"; - hash = "sha256-5mCHCzoDJ6+ao2guhAtVjvPaAS6Hutn+NwaQIjWDlgo="; + hash = "sha256-mBE5h6oGEJ2Wzb/PCD4vwFs52tWy+YmQVA06BPVW1Kg="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/python-kasa/default.nix b/pkgs/development/python-modules/python-kasa/default.nix index 087b5ffc66c5..11faea189227 100644 --- a/pkgs/development/python-modules/python-kasa/default.nix +++ b/pkgs/development/python-modules/python-kasa/default.nix @@ -9,27 +9,29 @@ kasa-crypt, orjson, poetry-core, + ptpython, pydantic, pytest-asyncio, pytest-freezer, pytest-mock, pytestCheckHook, pythonOlder, + rich, voluptuous, }: buildPythonPackage rec { pname = "python-kasa"; - version = "0.7.0.4"; + version = "0.7.0.5"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "python-kasa"; repo = "python-kasa"; rev = "refs/tags/${version}"; - hash = "sha256-MZgbHohp+QaTg7gdsIu3Q/4sLVqvtzDjmQScYSZO3Yw="; + hash = "sha256-ITXezc6m7ocOqSHTVP583lZZmYaZQn9nQSErEB9fV/M="; }; build-system = [ poetry-core ]; @@ -51,6 +53,10 @@ buildPythonPackage rec { ]; passthru.optional-dependencies = { + shell = [ + ptpython + rich + ]; speedups = [ kasa-crypt orjson @@ -68,10 +74,10 @@ buildPythonPackage rec { meta = with lib; { description = "Python API for TP-Link Kasa Smarthome products"; - mainProgram = "kasa"; homepage = "https://python-kasa.readthedocs.io/"; changelog = "https://github.com/python-kasa/python-kasa/blob/${version}/CHANGELOG.md"; license = licenses.gpl3Plus; maintainers = with maintainers; [ fab ]; + mainProgram = "kasa"; }; } diff --git a/pkgs/development/python-modules/torch/mk-runtime-check.nix b/pkgs/development/python-modules/torch/mk-runtime-check.nix index 14560b06f87c..61180a19aaba 100644 --- a/pkgs/development/python-modules/torch/mk-runtime-check.nix +++ b/pkgs/development/python-modules/torch/mk-runtime-check.nix @@ -1,14 +1,15 @@ { cudaPackages, feature, - torch, + libraries, versionAttr, + pythonPackages, }: -cudaPackages.writeGpuTestPython +(cudaPackages.writeGpuTestPython.override { python3Packages = pythonPackages; }) { inherit feature; - libraries = [ torch ]; + inherit libraries; name = "${feature}Available"; } '' diff --git a/pkgs/development/python-modules/torch/mk-torch-compile-check.nix b/pkgs/development/python-modules/torch/mk-torch-compile-check.nix new file mode 100644 index 000000000000..268ed5297da9 --- /dev/null +++ b/pkgs/development/python-modules/torch/mk-torch-compile-check.nix @@ -0,0 +1,38 @@ +{ + cudaPackages, + feature ? null, + lib, + libraries, + name ? if feature == null then "torch-compile-cpu" else "torch-compile-${feature}", + pythonPackages, + stdenv, +}: +let + deviceStr = if feature == null then "" else '', device="cuda"''; +in +(cudaPackages.writeGpuTestPython.override { python3Packages = pythonPackages; }) + { + inherit name feature libraries; + makeWrapperArgs = [ + "--suffix" + "PATH" + ":" + "${lib.getBin stdenv.cc}/bin" + ]; + } + '' + import torch + + + @torch.compile + def opt_foo2(x, y): + a = torch.sin(x) + b = torch.cos(y) + return a + b + + + print( + opt_foo2( + torch.randn(10, 10${deviceStr}), + torch.randn(10, 10${deviceStr}))) + '' diff --git a/pkgs/development/python-modules/torch/tests.nix b/pkgs/development/python-modules/torch/tests.nix index 76b901cbcea9..e3f2ca44ba5a 100644 --- a/pkgs/development/python-modules/torch/tests.nix +++ b/pkgs/development/python-modules/torch/tests.nix @@ -1,21 +1,31 @@ -{ - callPackage, - torchWithCuda, - torchWithRocm, -}: +{ callPackage }: -{ +rec { # To perform the runtime check use either # `nix run .#python3Packages.torch.tests.tester-cudaAvailable` (outside the sandbox), or # `nix build .#python3Packages.torch.tests.tester-cudaAvailable.gpuCheck` (in a relaxed sandbox) tester-cudaAvailable = callPackage ./mk-runtime-check.nix { feature = "cuda"; versionAttr = "cuda"; - torch = torchWithCuda; + libraries = ps: [ ps.torchWithCuda ]; }; tester-rocmAvailable = callPackage ./mk-runtime-check.nix { feature = "rocm"; versionAttr = "hip"; - torch = torchWithRocm; + libraries = ps: [ ps.torchWithRocm ]; + }; + + compileCpu = tester-compileCpu.gpuCheck; + tester-compileCpu = callPackage ./mk-torch-compile-check.nix { + feature = null; + libraries = ps: [ ps.torch ]; + }; + tester-compileCuda = callPackage ./mk-torch-compile-check.nix { + feature = "cuda"; + libraries = ps: [ ps.torchWithCuda ]; + }; + tester-compileRocm = callPackage ./mk-torch-compile-check.nix { + feature = "rocm"; + libraries = ps: [ ps.torchWithRocm ]; }; } diff --git a/pkgs/development/python-modules/upb-lib/default.nix b/pkgs/development/python-modules/upb-lib/default.nix index 0798fd181281..b19508b01754 100644 --- a/pkgs/development/python-modules/upb-lib/default.nix +++ b/pkgs/development/python-modules/upb-lib/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "upb-lib"; - version = "0.5.7"; + version = "0.5.8"; pyproject = true; disabled = pythonOlder "3.11"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "gwww"; repo = "upb-lib"; rev = "refs/tags/${version}"; - hash = "sha256-y06/XqdmGXTd2Qhr2iXnmIKCSpAetXwI1UXv555ewoc="; + hash = "sha256-YCJl3cIaNmRQ5+GbIDcAvDhI0R4r2AWG2Ba1zmnfbMA="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/tools/kustomize/default.nix b/pkgs/development/tools/kustomize/default.nix index 8d364f2d58c5..e7e9a8d0b013 100644 --- a/pkgs/development/tools/kustomize/default.nix +++ b/pkgs/development/tools/kustomize/default.nix @@ -2,7 +2,7 @@ buildGoModule rec { pname = "kustomize"; - version = "5.4.2"; + version = "5.4.3"; ldflags = let t = "sigs.k8s.io/kustomize/api/provenance"; in [ @@ -15,13 +15,13 @@ buildGoModule rec { owner = "kubernetes-sigs"; repo = pname; rev = "kustomize/v${version}"; - hash = "sha256-cNmDhKRi4pk26vADFMXN6SocdPF1EIYf4wT4fQYgPVc="; + hash = "sha256-DrdExiGDWBrlbNIY6R9SXD4cuVyLBOE3ePw1J3hymHA="; }; # avoid finding test and development commands modRoot = "kustomize"; proxyVendor = true; - vendorHash = "sha256-Nbc3zdVD8KIL80TqdcVNFMowfFsKKIPsEpkwq5fvWAI="; + vendorHash = "sha256-cyTZCa1kmNhomkNNnt2Waww4czOZ5YzDBUDx5gqLHtQ="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/development/tools/rust/cargo-modules/default.nix b/pkgs/development/tools/rust/cargo-modules/default.nix index 2745b9c586b9..8c539eeb9651 100644 --- a/pkgs/development/tools/rust/cargo-modules/default.nix +++ b/pkgs/development/tools/rust/cargo-modules/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-modules"; - version = "0.16.3"; + version = "0.16.6"; src = fetchFromGitHub { owner = "regexident"; repo = pname; rev = "v${version}"; - hash = "sha256-6JFQuFISIKmR+dm2YYb4iwBjR61WrcLpfwcC67a96t4="; + hash = "sha256-noUlwAoJMDim1TI3aiacLtOXsHd2IEZbrjYQoeoo7yM="; }; - cargoHash = "sha256-TiSiOMBkmH4Y5VORXZ59fl9+EwOjfWV2n/r3LTmSFxQ="; + cargoHash = "sha256-EbhLIVe9FizxNmyoEo3b/IZQ6jbL6vQUunFzfM2QRL8="; buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.CoreServices diff --git a/pkgs/games/openrct2/default.nix b/pkgs/games/openrct2/default.nix index 4a8a1c255e89..ac33578ca351 100644 --- a/pkgs/games/openrct2/default.nix +++ b/pkgs/games/openrct2/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch , SDL2 , cmake @@ -30,11 +29,11 @@ }: let - openrct2-version = "0.4.11"; + openrct2-version = "0.4.12"; # Those versions MUST match the pinned versions within the CMakeLists.txt # file. The REPLAYS repository from the CMakeLists.txt is not necessary. - objects-version = "1.4.4"; + objects-version = "1.4.6"; openmsx-version = "1.5"; opensfx-version = "1.0.5"; title-sequences-version = "0.4.6"; @@ -43,14 +42,14 @@ let owner = "OpenRCT2"; repo = "OpenRCT2"; rev = "v${openrct2-version}"; - hash = "sha256-zaaVieU/hulc2G/F19diJug3xuj3ejn5ihnmKfkBDcQ="; + hash = "sha256-AZFJt1ZsYO07hHN9Nt+N95wTGfYPob/kZ7EkVVkUezg="; }; objects-src = fetchFromGitHub { owner = "OpenRCT2"; repo = "objects"; rev = "v${objects-version}"; - hash = "sha256-wKxWp/DSKkxCEI0lp4X8F9LxQsUKZfLk2CgajQ+y84k="; + hash = "sha256-XfVic6b5jB1P2I0w5C+f97vvWvCh2zlcWpaXGLOj3CA="; }; openmsx-src = fetchFromGitHub { @@ -80,19 +79,6 @@ stdenv.mkDerivation { src = openrct2-src; - patches = [ - # https://github.com/OpenRCT2/OpenRCT2/pull/21043 - # - # Basically has broken - # OpenRCT2 - at least with older maps, as were used for testing - as stated - # in . - (fetchpatch { - name = "remove-openrct2-music.patch"; - url = "https://github.com/OpenRCT2/OpenRCT2/commit/9ea13848be0b974336c34e6eb119c49ba42a907c.patch"; - hash = "sha256-2PPRqUZf4+ys89mdzp5nvdtdv00V9Vzj3v/95rmlf1c="; - }) - ]; - nativeBuildInputs = [ cmake pkg-config diff --git a/pkgs/kde/default.nix b/pkgs/kde/default.nix index 6fd2d2232c5d..6f80e4eaadb4 100644 --- a/pkgs/kde/default.nix +++ b/pkgs/kde/default.nix @@ -61,6 +61,7 @@ libmediawiki = null; alpaka = self.callPackage ./misc/alpaka {}; + applet-window-buttons6 = self.callPackage ./third-party/applet-window-buttons6 {}; kdiagram = self.callPackage ./misc/kdiagram {}; kdsoap-ws-discovery-client = self.callPackage ./misc/kdsoap-ws-discovery-client {}; kirigami-addons = self.callPackage ./misc/kirigami-addons {}; diff --git a/pkgs/kde/third-party/applet-window-buttons6/default.nix b/pkgs/kde/third-party/applet-window-buttons6/default.nix new file mode 100644 index 000000000000..3f157eb2f5b0 --- /dev/null +++ b/pkgs/kde/third-party/applet-window-buttons6/default.nix @@ -0,0 +1,44 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, cmake +, extra-cmake-modules +, kcoreaddons +, kdeclarative +, kdecoration +, libplasma +}: + +stdenv.mkDerivation rec { + pname = "applet-window-buttons6"; + version = "0.13.0"; + + src = fetchFromGitHub { + owner = "moodyhunter"; + repo = "applet-window-buttons6"; + rev = "v${version}"; + hash = "sha256-S7JcDPo4QDqi/RtvreFNoPKwTg14bgaFGsuGSDxs5nM="; + }; + + dontWrapQtApps = true; + + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; + + buildInputs = [ + kcoreaddons + kdeclarative + kdecoration + libplasma + ]; + + meta = with lib; { + description = "Plasma 6 applet in order to show window buttons in your panels"; + homepage = "https://github.com/moodyhunter/applet-window-buttons6"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ A1ca7raz ]; + }; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/drm-kmod/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/drm-kmod/package.nix index 42806392d217..c604ee573628 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/drm-kmod/package.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/drm-kmod/package.nix @@ -22,6 +22,9 @@ let fetchOptions = (lib.importJSON ./versions.json).${branch}; in mkDerivation { + # this derivation is tricky; it is not an in-tree FreeBSD build but it is meant to be built + # at the same time as the in-tree FreeBSD code, so it expects the same environment. Therefore, + # it is appropriate to use the freebsd mkDerivation. pname = "drm-kmod"; version = branch; diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix b/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix index 3ff7258734ef..81b6cb1ae662 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix @@ -117,7 +117,9 @@ lib.makeOverridable ( // { patches = (lib.optionals (attrs.autoPickPatches or true) ( - freebsd-lib.filterPatches patches (attrs.extraPaths or [ ] ++ [ attrs.path ]) + freebsd-lib.filterPatches patches ( + attrs.extraPaths or [ ] ++ (lib.optional (attrs ? path) attrs.path) + ) )) ++ attrs.patches or [ ]; } diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index dcf57ac318aa..b57fc116e058 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -2,7 +2,7 @@ # Do not edit! { - version = "2024.7.2"; + version = "2024.7.3"; components = { "3_day_blinds" = ps: with ps; [ ]; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 4c4a9fc1f60d..1ff2f64491e3 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -466,7 +466,7 @@ let extraBuildInputs = extraPackages python.pkgs; # Don't forget to run update-component-packages.py after updating - hassVersion = "2024.7.2"; + hassVersion = "2024.7.3"; in python.pkgs.buildPythonApplication rec { pname = "homeassistant"; @@ -484,13 +484,13 @@ in python.pkgs.buildPythonApplication rec { owner = "home-assistant"; repo = "core"; rev = "refs/tags/${version}"; - hash = "sha256-FML1JZFj2xebcQvXJmBu02Eczz3ejg4r7PfnpBiDc50="; + hash = "sha256-6f4z1mpoLOntImC161+0CyyuT3NrPdfuCa6/+wqzHgs="; }; # Secondary source is pypi sdist for translations sdist = fetchPypi { inherit pname version; - hash = "sha256-okukdAbBXJCaDpnOCDY91dsLQdm5pMJ1SKXV9A68eoQ="; + hash = "sha256-YtrOUSQFTgDFL+iPm3itkKsMXs9IKyB2rCnpe7Bn2Gk="; }; build-system = with python.pkgs; [ @@ -639,6 +639,13 @@ in python.pkgs.buildPythonApplication rec { "--deselect=tests/helpers/test_translation.py::test_caching" # assert "Detected that integration 'hue' attempted to create an asyncio task from a thread at homeassistant/components/hue/light.py, line 23 "--deselect=tests/util/test_async.py::test_create_eager_task_from_thread_in_integration" + # Services were renamed to Actions in language strings, but the tests are lagging behind + "--deselect=tests/test_core.py::test_serviceregistry_service_that_not_exists" + "--deselect=tests/test_core.py::test_services_call_return_response_requires_blocking" + "--deselect=tests/test_core.py::test_serviceregistry_return_response_arguments" + "--deselect=tests/helpers/test_script.py::test_parallel_error" + "--deselect=tests/helpers/test_script.py::test_propagate_error_service_not_found" + "--deselect=tests/helpers/test_script.py::test_continue_on_error_automation_issue" # tests are located in tests/ "tests" ]; diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix index 58a30d1c87b6..b5c963f2c434 100644 --- a/pkgs/servers/home-assistant/stubs.nix +++ b/pkgs/servers/home-assistant/stubs.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "homeassistant-stubs"; - version = "2024.7.2"; + version = "2024.7.3"; pyproject = true; disabled = python.version != home-assistant.python.version; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "KapJI"; repo = "homeassistant-stubs"; rev = "refs/tags/${version}"; - hash = "sha256-MMFt8TGWB+7wUKYWL4IJyhI3YOumll8Jq5GWZpaZZ8I="; + hash = "sha256-4n1dnQX7Mo2vFCrSUUAvdO3ZErBKK6oUCITazI9PlIQ="; }; build-system = [ diff --git a/pkgs/servers/mautrix-whatsapp/default.nix b/pkgs/servers/mautrix-whatsapp/default.nix index f7108c69a535..d7bad1c9c79b 100644 --- a/pkgs/servers/mautrix-whatsapp/default.nix +++ b/pkgs/servers/mautrix-whatsapp/default.nix @@ -2,18 +2,18 @@ buildGoModule rec { pname = "mautrix-whatsapp"; - version = "0.10.7"; + version = "0.10.9"; src = fetchFromGitHub { owner = "mautrix"; repo = "whatsapp"; rev = "v${version}"; - hash = "sha256-GpeMzcWckh8q/Sh9YYV+qAdEvQ1XolhBw6+vgpACU20="; + hash = "sha256-iVILI6OGndnxIVmgNcIwHA64tkv9V3OTH3YtrCyeYx4="; }; buildInputs = [ olm ]; - vendorHash = "sha256-XhqrgRCW9HTPaTO9gMqDzEW22h53oprOYPAvMSGbcS4="; + vendorHash = "sha256-DpgkSXSLF+U6zIzJ4AF2uTcFWQQYsRgkaUTG9F+bnVk="; doCheck = false; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6f7919543444..2a80550136e7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30253,8 +30253,6 @@ with pkgs; flamp = callPackage ../applications/radio/flamp { }; - flexget = callPackage ../applications/networking/flexget { }; - fldigi = callPackage ../applications/radio/fldigi { hamlib = hamlib_4; }; diff --git a/pkgs/top-level/cuda-packages.nix b/pkgs/top-level/cuda-packages.nix index 5540b89f1b98..639fa70446be 100644 --- a/pkgs/top-level/cuda-packages.nix +++ b/pkgs/top-level/cuda-packages.nix @@ -81,7 +81,7 @@ let nccl = final.callPackage ../development/cuda-modules/nccl { }; nccl-tests = final.callPackage ../development/cuda-modules/nccl-tests { }; - writeGpuTestPython = final.callPackage ../development/cuda-modules/write-gpu-python-test.nix { }; + writeGpuTestPython = final.callPackage ../development/cuda-modules/write-gpu-test-python.nix { }; }); mkVersionedPackageName =