diff --git a/doc/hooks/index.xml b/doc/hooks/index.xml index ed703c03d8b0..0917fac6c0ac 100644 --- a/doc/hooks/index.xml +++ b/doc/hooks/index.xml @@ -22,6 +22,7 @@ + diff --git a/doc/hooks/patch-rc-path-hooks.section.md b/doc/hooks/patch-rc-path-hooks.section.md new file mode 100644 index 000000000000..5c870dc782c2 --- /dev/null +++ b/doc/hooks/patch-rc-path-hooks.section.md @@ -0,0 +1,50 @@ + +# `patchRcPath` hooks {#sec-patchRcPathHooks} + +These hooks provide shell-specific utilities (with the same name as the hook) to patch shell scripts meant to be sourced by software users. + +The typical usage is to patch initialisation or [rc](https://unix.stackexchange.com/questions/3467/what-does-rc-in-bashrc-stand-for) scripts inside `$out/bin` or `$out/etc`. +Such scripts, when being sourced, would insert the binary locations of certain commands into `PATH`, modify other environment variables or run a series of start-up commands. +When shipped from the upstream, they sometimes use commands that might not be available in the environment they are getting sourced in. + +The compatible shells for each hook are: + + - `patchRcPathBash`: [Bash](https://www.gnu.org/software/bash/), [ksh](http://www.kornshell.org/), [zsh](https://www.zsh.org/) and other shells supporting the Bash-like parameter expansions. + - `patchRcPathCsh`: Csh scripts, such as those targeting [tcsh](https://www.tcsh.org/). + - `patchRcPathFish`: [Fish](https://fishshell.com/) scripts. + - `patchRcPathPosix`: POSIX-conformant shells supporting the limited parameter expansions specified by the POSIX standard. Current implementation uses the parameter expansion `${foo-}` only. + +For each supported shell, it modifies the script with a `PATH` prefix that is later removed when the script ends. +It allows nested patching, which guarantees that a patched script may source another patched script. + +Syntax to apply the utility to a script: + +```sh +patchRcPath +``` + +Example usage: + +Given a package `foo` containing an init script `this-foo.fish` that depends on `coreutils`, `man` and `which`, +patch the init script for users to source without having the above dependencies in their `PATH`: + +```nix +{ lib, stdenv, patchRcPathFish}: +stdenv.mkDerivation { + + # ... + + nativeBuildInputs = [ + patchRcPathFish + ]; + + postFixup = '' + patchRcPathFish $out/bin/this-foo.fish ${lib.makeBinPath [ coreutils man which ]} + ''; +} +``` + +::: {.note} +`patchRcPathCsh` and `patchRcPathPosix` implementation depends on `sed` to do the string processing. +The others are in vanilla shell and have no third-party dependencies. +::: diff --git a/doc/stdenv/stdenv.chapter.md b/doc/stdenv/stdenv.chapter.md index bbd70162a7ab..7cfd047d342b 100644 --- a/doc/stdenv/stdenv.chapter.md +++ b/doc/stdenv/stdenv.chapter.md @@ -1140,6 +1140,13 @@ Here are some more packages that provide a setup hook. Since the list of hooks i Many other packages provide hooks, that are not part of `stdenv`. You can find these in the [Hooks Reference](#chap-hooks). +### Compiler and Linker wrapper hooks {#compiler-linker-wrapper-hooks} + +If the file `${cc}/nix-support/cc-wrapper-hook` exists, it will be run at the end of the [compiler wrapper](#cc-wrapper). +If the file `${binutils}/nix-support/post-link-hook` exists, it will be run at the end of the linker wrapper. +These hooks allow a user to inject code into the wrappers. +As an example, these hooks can be used to extract `extraBefore`, `params` and `extraAfter` which store all the command line arguments passed to the compiler and linker respectively. + ## Purity in Nixpkgs {#sec-purity-in-nixpkgs} *Measures taken to prevent dependencies on packages outside the store, and what you can do to prevent them.* diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 99907a6877f8..435d81b416e9 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2773,6 +2773,12 @@ githubId = 40290417; name = "Seb Blair"; }; + considerate = { + email = "viktor.kronvall@gmail.com"; + github = "considerate"; + githubId = 217918; + name = "Viktor Kronvall"; + }; copumpkin = { email = "pumpkingod@gmail.com"; github = "copumpkin"; @@ -4442,6 +4448,12 @@ githubId = 1276854; name = "Florian Peter"; }; + farnoy = { + email = "jakub@okonski.org"; + github = "farnoy"; + githubId = 345808; + name = "Jakub OkoĊ„ski"; + }; fbeffa = { email = "beffa@fbengineering.ch"; github = "fedeinthemix"; diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml index 9c5db2f8a586..8abc9640daa5 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml @@ -1248,6 +1248,19 @@ signald -d /var/lib/signald/db \ Add udev rules for the Teensy family of microcontrollers. + + + The Qt QML disk cache is now disabled by default. This fixes a + long-standing issue where updating Qt/KDE apps would sometimes + cause them to crash or behave strangely without explanation. + Those concerned about the small (~10%) performance hit to + application startup can re-enable the cache (and expose + themselves to gremlins) by setting the envrionment variable + QML_FORCE_DISK_CACHE to + 1 using e.g. the + environment.sessionVariables NixOS option. + + systemd-oomd is enabled by default. Depending on which systemd @@ -1354,10 +1367,20 @@ signald -d /var/lib/signald/db \ - boot.kernel.sysctl is defined as a freeformType and adds a - custom merge option for net.core.rmem_max - (taking the highest value defined to avoid conflicts between 2 - services trying to set that value) + boot.kernel.sysctl is defined as a + freeformType and adds a custom merge option for + net.core.rmem_max (taking the highest value + defined to avoid conflicts between 2 services trying to set + that value). + + + + + The mame package does not ship with its + tools anymore in the default output. They were moved to a + separate tools output instead. For + convenience, mame-tools package was added + for those who want to use it. diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md index 6da610157282..c1e257c521aa 100644 --- a/nixos/doc/manual/release-notes/rl-2211.section.md +++ b/nixos/doc/manual/release-notes/rl-2211.section.md @@ -377,6 +377,14 @@ Available as [services.patroni](options.html#opt-services.patroni.enable). - Add udev rules for the Teensy family of microcontrollers. +- The Qt QML disk cache is now disabled by default. This fixes a + long-standing issue where updating Qt/KDE apps would sometimes cause + them to crash or behave strangely without explanation. Those concerned + about the small (~10%) performance hit to application startup can + re-enable the cache (and expose themselves to gremlins) by setting the + envrionment variable `QML_FORCE_DISK_CACHE` to `1` using e.g. the + `environment.sessionVariables` NixOS option. + - systemd-oomd is enabled by default. Depending on which systemd units have `ManagedOOMSwap=kill` or `ManagedOOMMemoryPressure=kill`, systemd-oomd will SIGKILL all the processes under the appropriate descendant cgroups when the @@ -406,6 +414,8 @@ Available as [services.patroni](options.html#opt-services.patroni.enable). - The `nodePackages` package set now defaults to the LTS release in the `nodejs` package again, instead of being pinned to `nodejs-14_x`. Several updates to node2nix have been made for compatibility with newer Node.js and npm versions and a new `postRebuild` hook has been added for packages to perform extra build steps before the npm install step prunes dev dependencies. -- boot.kernel.sysctl is defined as a freeformType and adds a custom merge option for "net.core.rmem_max" (taking the highest value defined to avoid conflicts between 2 services trying to set that value) +- `boot.kernel.sysctl` is defined as a freeformType and adds a custom merge option for "net.core.rmem_max" (taking the highest value defined to avoid conflicts between 2 services trying to set that value). + +- The `mame` package does not ship with its tools anymore in the default output. They were moved to a separate `tools` output instead. For convenience, `mame-tools` package was added for those who want to use it. diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix index 8a6d30d1801a..288cbc94a321 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix @@ -16,5 +16,10 @@ in calamares-nixos-extensions # Needed for calamares QML module packagechooserq libsForQt5.full + # Get list of locales + glibcLocales ]; + + # Support choosing from any locale + i18n.supportedLocales = [ "all" ]; } diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix index 34239221315d..e86a18ff618e 100644 --- a/nixos/modules/services/x11/display-managers/sddm.nix +++ b/nixos/modules/services/x11/display-managers/sddm.nix @@ -269,20 +269,5 @@ in # To enable user switching, allow sddm to allocate TTYs/displays dynamically. services.xserver.tty = null; services.xserver.display = null; - - systemd.tmpfiles.rules = [ - # Prior to Qt 5.9.2, there is a QML cache invalidation bug which sometimes - # strikes new Plasma 5 releases. If the QML cache is not invalidated, SDDM - # will segfault without explanation. We really tore our hair out for awhile - # before finding the bug: - # https://bugreports.qt.io/browse/QTBUG-62302 - # We work around the problem by deleting the QML cache before startup. - # This was supposedly fixed in Qt 5.9.2 however it has been reported with - # 5.10 and 5.11 as well. The initial workaround was to delete the directory - # in the Xsetup script but that doesn't do anything. - # Instead we use tmpfiles.d to ensure it gets wiped. - # This causes a small but perceptible delay when SDDM starts. - "e ${config.users.users.sddm.home}/.cache - - - 0" - ]; }; } diff --git a/nixos/modules/virtualisation/nixos-containers.nix b/nixos/modules/virtualisation/nixos-containers.nix index fae7c5768052..02414b7d60e9 100644 --- a/nixos/modules/virtualisation/nixos-containers.nix +++ b/nixos/modules/virtualisation/nixos-containers.nix @@ -138,6 +138,8 @@ let fi ''} + export SYSTEMD_NSPAWN_UNIFIED_HIERARCHY=1 + # Run systemd-nspawn without startup notification (we'll # wait for the container systemd to signal readiness) # Kill signal handling means systemd-nspawn will pass a system-halt signal diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 4fa102e3fd71..c7aa9ed78ba4 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -143,6 +143,7 @@ in { containers-reloadable = handleTest ./containers-reloadable.nix {}; containers-restart_networking = handleTest ./containers-restart_networking.nix {}; containers-tmpfs = handleTest ./containers-tmpfs.nix {}; + containers-unified-hierarchy = handleTest ./containers-unified-hierarchy.nix {}; convos = handleTest ./convos.nix {}; corerad = handleTest ./corerad.nix {}; coturn = handleTest ./coturn.nix {}; diff --git a/nixos/tests/containers-unified-hierarchy.nix b/nixos/tests/containers-unified-hierarchy.nix new file mode 100644 index 000000000000..978d59e12c8a --- /dev/null +++ b/nixos/tests/containers-unified-hierarchy.nix @@ -0,0 +1,21 @@ +import ./make-test-python.nix ({ pkgs, lib, ... }: { + name = "containers-unified-hierarchy"; + meta = { + maintainers = with lib.maintainers; [ farnoy ]; + }; + + nodes.machine = { ... }: { + containers = { + test-container = { + autoStart = true; + config = { }; + }; + }; + }; + + testScript = '' + machine.wait_for_unit("default.target") + + machine.succeed("echo 'stat -fc %T /sys/fs/cgroup/ | grep cgroup2fs' | nixos-container root-login test-container") + ''; +}) diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix index bebb35f45009..be987fccd66e 100644 --- a/pkgs/applications/audio/flac/default.nix +++ b/pkgs/applications/audio/flac/default.nix @@ -10,12 +10,12 @@ stdenv.mkDerivation rec { pname = "flac"; - version = "1.4.1"; + version = "1.4.2"; src = fetchurl { url = "http://downloads.xiph.org/releases/flac/${pname}-${version}.tar.xz"; # Official checksum is published at https://github.com/xiph/flac/releases/tag/${version} - sha256 = "91303c3e5dfde52c3e94e75976c0ab3ee14ced278ab8f60033a3a12db9209ae6"; + sha256 = "sha256-4yLVih9I0j2d049DJnKGX2955zpvnMWl9X/KqD61qOQ="; }; nativeBuildInputs = [ @@ -43,6 +43,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://xiph.org/flac/"; description = "Library and tools for encoding and decoding the FLAC lossless audio file format"; + changelog = "https://xiph.org/flac/changelog.html"; platforms = platforms.all; license = licenses.bsd3; maintainers = with maintainers; [ ruuda ]; diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix index 337db00d6c5d..5f7204012762 100644 --- a/pkgs/applications/editors/vscode/vscode.nix +++ b/pkgs/applications/editors/vscode/vscode.nix @@ -18,17 +18,17 @@ let archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz"; sha256 = { - x86_64-linux = "1dcp6r78kaq3wzcw7dfra59kfpdzqy9qnlyp1ywayxh610ryjyfc"; - x86_64-darwin = "0ypxjh5z0v83y0wb22m942qqlvx5df7k4dk8ip9wqd4p7h8540q8"; - aarch64-linux = "1qq4zg0j3rpx06cqaic7a1x7ckk5wf8w1gp5y8hwhvkym4s8g4i7"; - aarch64-darwin = "18hrsvr7hgmlpi64dbk581i516my6c5zwz6g8awp4fhxilk0wbrg"; - armv7l-linux = "1y357ci4gllxg26m5qdv9652i5rra5vj972l7kdnxiimfgm6h83b"; + x86_64-linux = "1m5mz6wdrivqrw699iivvh62bdn4yzm6hmph455sdyvk5icq59dq"; + x86_64-darwin = "1zn0h9p05kb3fcn816fpxh8asaglycjmpiwkrmxd0s8jwjq7m4gn"; + aarch64-linux = "1gs810iz08jxqfhcgi6ab41m46ib5h3m7i3pnyvlimxx99r5lirf"; + aarch64-darwin = "1dvasr1h28snxi33m6yx95pp3jd4irwy6yav4ilwrcl22cf6ybvi"; + armv7l-linux = "1j5vrpdaqihcr02pdsd5nz07zsk0027xmkfp30npnjy1gjrjvnim"; }.${system} or throwSystem; in callPackage ./generic.nix rec { # Please backport all compatible updates to the stable release. # This is important for the extension ecosystem. - version = "1.73.0"; + version = "1.73.1"; pname = "vscode"; executableName = "code" + lib.optionalString isInsiders "-insiders"; diff --git a/pkgs/applications/emulators/mame/default.nix b/pkgs/applications/emulators/mame/default.nix index aaa4077015ee..cd5d718c8a4e 100644 --- a/pkgs/applications/emulators/mame/default.nix +++ b/pkgs/applications/emulators/mame/default.nix @@ -53,6 +53,8 @@ stdenv.mkDerivation rec { sha256 = "sha256-im6y/E0pQxruX2kNXZLE3fHq+zXfsstnOoC1QvH4fd4="; }; + outputs = [ "out" "tools" ]; + makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "CXX=${stdenv.cc.targetPrefix}c++" @@ -138,21 +140,33 @@ stdenv.mkDerivation rec { runHook preInstall make -f dist.mak PTR64=${lib.optionalString stdenv.is64bit "1"} + + # mame mkdir -p ${dest} mv build/release/*/Release/mame/* ${dest} - mkdir -p $out/bin - find ${dest} -maxdepth 1 -executable -type f -exec mv -t $out/bin {} \; - install -Dm755 src/osd/sdl/taputil.sh $out/bin/taputil.sh - - installManPage ${dest}/docs/man/*.1 ${dest}/docs/man/*.6 + find ${dest} -maxdepth 1 -executable -type f -delete; + install -Dm755 mame -t $out/bin install -Dm644 ${icon} $out/share/icons/hicolor/scalable/apps/mame.svg + installManPage ${dest}/docs/man/*.1 ${dest}/docs/man/*.6 mv artwork plugins samples ${dest} + # mame-tools + for _i in castool chdman floptool imgtool jedutil ldresample ldverify nltool nlwav pngcmp regrep romcmp \ + split srcclean testkeys unidasm; do + install -Dm755 $_i -t $tools/bin + done + mv $tools/bin/{,mame-}split + runHook postInstall ''; + postFixup = '' + mkdir -p $tools/share/man + mv {$out,$tools}/share/man/man1 + ''; + enableParallelBuilding = true; passthru.updateScript = writeScript "mame-update-script" '' diff --git a/pkgs/applications/misc/tootle/default.nix b/pkgs/applications/misc/tootle/default.nix index 422cf8ea7623..8483c787ad75 100644 --- a/pkgs/applications/misc/tootle/default.nix +++ b/pkgs/applications/misc/tootle/default.nix @@ -3,7 +3,7 @@ , fetchFromGitHub , nix-update-script , fetchpatch -, vala_0_54 +, vala , meson , ninja , pkg-config @@ -50,6 +50,11 @@ stdenv.mkDerivation rec { url = "https://git.alpinelinux.org/aports/plain/community/tootle/0003-make-app-entries-private.patch?id=c973e68e3cba855f1601ef010afa9a14578b9499"; sha256 = "sha256-zwU0nxf/haBZl4tOYDmMzwug+HC6lLDT8/12Wt62+S4="; }) + # https://github.com/flathub/com.github.bleakgrey.tootle/pull/22 + (fetchpatch { + url = "https://github.com/flathub/com.github.bleakgrey.tootle/raw/6b524dc13143e4827f67628e33dcf161d862af29/Fix-construct-prop.patch"; + sha256 = "sha256-zOIMy9+rY2aRcPHcGWU/x6kf/xb7VnuHdsKQ0FO1Cyc="; + }) ]; nativeBuildInputs = [ @@ -57,11 +62,7 @@ stdenv.mkDerivation rec { ninja pkg-config python3 - # Does not build with Vala 0.56.1: - # ../src/Widgets/Status.vala:8.43-8.56: error: construct - # properties not supported for specified property type - # public API.NotificationType? kind { get; construct set; } - vala_0_54 + vala wrapGAppsHook ]; @@ -93,6 +94,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/bleakgrey/tootle"; license = licenses.gpl3; maintainers = with maintainers; [ dtzWill ]; - broken = true; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index f4eced33d63b..6fe52ab7b895 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -375,13 +375,13 @@ "version": "0.41.0" }, "external": { - "hash": "sha256-gImRxsDUgBHmw/5DeKcO9BzB906JB8dUcSGKQj+Vcy0=", + "hash": "sha256-o9vCr3ayqg9Ehi39FgR6vJFZYF1iTcVD4QfYHcs+YbQ=", "owner": "hashicorp", "provider-source-address": "registry.terraform.io/hashicorp/external", "repo": "terraform-provider-external", - "rev": "v2.2.2", - "vendorHash": "sha256-1BUFg8epcEsCf6yyJr4E4CdX2o6/3R384opRTxwrsng=", - "version": "2.2.2" + "rev": "v2.2.3", + "vendorHash": "sha256-0t+2ixMSsgDK9zzst3s0YWdnS6p7jO0stHnaKio5lvY=", + "version": "2.2.3" }, "fastly": { "hash": "sha256-WxFkJBi87IvO4a/8bmftMKCc/JcfoQILCtklvr9bcuc=", @@ -487,13 +487,13 @@ "version": "1.16.2" }, "hcloud": { - "hash": "sha256-DWDM3yWKkRV9FJMzKK7JJQdI0WvFILF/bsZFv2CjrvM=", + "hash": "sha256-d/qLN5ev8ywiJr97rrlS9rwfvsEheBD2n8I6D9a7krQ=", "owner": "hetznercloud", "provider-source-address": "registry.terraform.io/hetznercloud/hcloud", "repo": "terraform-provider-hcloud", - "rev": "v1.35.2", - "vendorHash": "sha256-LKngOmB3jfC/wFX398LETSZ8HllfOQA/kGg4uUNlN5A=", - "version": "1.35.2" + "rev": "v1.36.0", + "vendorHash": "sha256-HsWkHoFs/77b5+6HSV7YgLOwpE2BZyxbGNty8p+OBSM=", + "version": "1.36.0" }, "helm": { "hash": "sha256-s8ZOzTG3qux+4Yh1wj3ArjB1uJ32bdGhxY9iSL5LOK8=", @@ -623,13 +623,13 @@ "version": "4.0.1" }, "ksyun": { - "hash": "sha256-62ylxBt5F3J2n7BW8qD5ukE8OJa63E6Qyuuf8dPo9FQ=", + "hash": "sha256-Rye7gKARdbrB6KDEygEJy9m7VqlGw6QeE2F1oa3n8as=", "owner": "kingsoftcloud", "provider-source-address": "registry.terraform.io/kingsoftcloud/ksyun", "repo": "terraform-provider-ksyun", - "rev": "v1.3.57", + "rev": "v1.3.58", "vendorHash": "sha256-miHKAz+ONXtuC1DNukcyZbbaYReY69dz9Zk6cJdORdQ=", - "version": "1.3.57" + "version": "1.3.58" }, "kubectl": { "hash": "sha256-UkUwWi7Z9cSMyZakD6JxMl+qdczAYfZQgwroCUjFIUM=", @@ -795,13 +795,13 @@ "version": "1.4.19" }, "ns1": { - "hash": "sha256-vw3n1EBKwOThoJ+2hFa4rsMzvWCOnhoYOmJpX8LQKy8=", + "hash": "sha256-qHR3KJa1y10B+iQPgH6lTt/JUqTmiK/60rPCa3gQDP8=", "owner": "ns1-terraform", "provider-source-address": "registry.terraform.io/ns1-terraform/ns1", "repo": "terraform-provider-ns1", - "rev": "v1.12.8", - "vendorHash": "sha256-MaJHCxvD9BM5G8wJbSo06+TIPvJTlXzQ+l9Kdbg0QQw=", - "version": "1.12.8" + "rev": "v1.13.0", + "vendorHash": "sha256-6ePPxdULuTzLdVzzr12BjLu/lBN+5yIUq8U8FVUw/PM=", + "version": "1.13.0" }, "nsxt": { "hash": "sha256-TOoRtCKdR1fBjk39dbMgBd7pDJGfjvkQAqfpJzWRwRg=", @@ -1120,13 +1120,13 @@ "version": "0.13.5" }, "tencentcloud": { - "hash": "sha256-DvH8+Be2AVwsNoDrNlCG8/Uve2EKcuan3qUsJynreHw=", + "hash": "sha256-vVwfKzA6qK6VzRRlYPEqL1QPlpiruD8JZRL6oF/u62w=", "owner": "tencentcloudstack", "provider-source-address": "registry.terraform.io/tencentcloudstack/tencentcloud", "repo": "terraform-provider-tencentcloud", - "rev": "v1.78.8", + "rev": "v1.78.9", "vendorHash": null, - "version": "1.78.8" + "version": "1.78.9" }, "tfe": { "hash": "sha256-MDlRwB2iVi/Rv7/UtukI6mIDImz8Gnpm5Qv5R6EDpiU=", diff --git a/pkgs/applications/networking/instant-messengers/element/pin.json b/pkgs/applications/networking/instant-messengers/element/pin.json index 9e09fa6acbee..436a8a8f4bf6 100644 --- a/pkgs/applications/networking/instant-messengers/element/pin.json +++ b/pkgs/applications/networking/instant-messengers/element/pin.json @@ -1,7 +1,7 @@ { - "version": "1.11.13", - "desktopSrcHash": "E8jpv7cJf8qdR4I3n7id5hUysAiMVvwyqUqHzGnVUJE=", - "desktopYarnHash": "1scp9y2lmah3n20f1kpc9paspd3qgslg129diis7g11cz4h0wyi5", - "webSrcHash": "985nxLIOZvrUX11AJDXYRMwC76/aP9ruSCqL47c7ZRM=", - "webYarnHash": "0bmjg9qhd89bdnh398lp257mxdgdd88wj5g3fmc3cavyd6hmgzbn" + "version": "1.11.14", + "desktopSrcHash": "91WCtb+ylVz9gSqOHb5GuSC1YZjDS3M8gdFIZYVls3c=", + "desktopYarnHash": "1ng9fwpwxsw91bzgd2kb2pdq927rkjv5rrrkmszvn55bj6ry7sqi", + "webSrcHash": "ss7Pmjg205EE/V/xIV7nvfZFRyyJfuB8MDM9dCnPckQ=", + "webYarnHash": "1v6qlk58msam9dglal4jzcyqcsrspa6idsdb8acjnscdkj26bkps" } diff --git a/pkgs/applications/science/logic/potassco/clingo.nix b/pkgs/applications/science/logic/potassco/clingo.nix index 0065ff3ef25c..a3c324d0dbb8 100644 --- a/pkgs/applications/science/logic/potassco/clingo.nix +++ b/pkgs/applications/science/logic/potassco/clingo.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "clingo"; - version = "5.6.1"; + version = "5.6.2"; src = fetchFromGitHub { owner = "potassco"; repo = "clingo"; rev = "v${version}"; - sha256 = "sha256-blr2GPa/ZwVfvot6wUcQmdN/mLEox6tjIWtr0geeoDI="; + sha256 = "sha256-2vOscD5jengY3z9gHoY9y9y6RLfdzUj7BNKLyppNRac="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix index f60fc95e0d56..30ff02c1f2ca 100644 --- a/pkgs/applications/science/misc/root/default.nix +++ b/pkgs/applications/science/misc/root/default.nix @@ -1,14 +1,18 @@ { stdenv , lib +, callPackage , fetchFromGitHub , fetchpatch , makeWrapper , cmake +, coreutils , git , davix , ftgl , gl2ps , glew +, gnugrep +, gnused , gsl , lapack , libX11 @@ -20,14 +24,18 @@ , libxcrypt , libxml2 , llvm_9 +, lsof , lz4 , xz +, man , openblas , openssl , pcre , nlohmann_json , pkg-config +, procps , python +, which , xxHash , zlib , zstd @@ -36,6 +44,9 @@ , libjpeg , libtiff , libpng +, patchRcPathCsh +, patchRcPathFish +, patchRcPathPosix , tbb , Cocoa , CoreSymbolication @@ -61,6 +72,10 @@ stdenv.mkDerivation rec { pname = "root"; version = "6.26.08"; + passthru = { + tests = import ./tests { inherit callPackage; }; + }; + src = fetchFromGitHub { owner = "root-project"; repo = "root"; @@ -93,6 +108,9 @@ stdenv.mkDerivation rec { libtiff libpng nlohmann_json + patchRcPathCsh + patchRcPathFish + patchRcPathPosix python.pkgs.numpy tbb ] @@ -195,6 +213,45 @@ stdenv.mkDerivation rec { --set PYTHONPATH "$out/lib" \ --set ${lib.optionalString stdenv.isDarwin "DY"}LD_LIBRARY_PATH "$out/lib" done + + # Make ldd and sed available to the ROOT executable + wrapProgram "$out/bin/root" --prefix PATH : "${lib.makeBinPath [ + gnused # sed + stdenv.cc # c++ ld etc. + stdenv.cc.libc # ldd + ]}" + + # Patch thisroot.{sh,csh,fish} + + # The main target of `thisroot.sh` is "bash-like shells", + # but it also need to support Bash-less POSIX shell like dash, + # as they are mentioned in `thisroot.sh`. + + # `thisroot.sh` would include commands `lsof` and `procps` since ROOT 6.28. + # See https://github.com/root-project/root/pull/10332 + + patchRcPathPosix "$out/bin/thisroot.sh" "${lib.makeBinPath [ + coreutils # dirname tail + gnugrep # grep + gnused # sed + lsof # lsof # for ROOT (>=6.28) + man # manpath + procps # ps # for ROOT (>=6.28) + which # which + ]}" + patchRcPathCsh "$out/bin/thisroot.csh" "${lib.makeBinPath [ + coreutils + gnugrep + gnused + lsof # lsof # for ROOT (>=6.28) + man + which + ]}" + patchRcPathFish "$out/bin/thisroot.fish" "${lib.makeBinPath [ + coreutils + man + which + ]}" ''; setupHook = ./setup-hook.sh; diff --git a/pkgs/applications/science/misc/root/tests/default.nix b/pkgs/applications/science/misc/root/tests/default.nix new file mode 100644 index 000000000000..9d2da2533f7f --- /dev/null +++ b/pkgs/applications/science/misc/root/tests/default.nix @@ -0,0 +1,4 @@ +{ callPackage }: +{ + test-thisroot = callPackage ./test-thisroot.nix { }; +} diff --git a/pkgs/applications/science/misc/root/tests/test-thisroot.nix b/pkgs/applications/science/misc/root/tests/test-thisroot.nix new file mode 100644 index 000000000000..3540dde8c913 --- /dev/null +++ b/pkgs/applications/science/misc/root/tests/test-thisroot.nix @@ -0,0 +1,49 @@ +{ lib +, runCommand +, root +, bash +, fish +, ksh +, tcsh +, zsh +}: runCommand "test-thisroot" +{ + meta = with lib; { + description = "Test for root thisroot.* sourcing"; + maintainers = unique ((with maintainers; [ ShamrockLee ]) ++ root.meta.maintainers); + }; +} + '' + set -eu -o pipefail + declare -a shellNameArray shellOutpathArray sourcefileNameArray sourceCommandArray + shellNameArray=( bash zsh tcsh fish ) + shellOutpathArray=( "${bash}" "${zsh}" "${tcsh}" "${fish}") + sourcefileNameArray=( thisroot.sh thisroot.sh thisroot.csh thisroot.fish ) + sourceCommandArray=( "source" "source" "source" "source" ) + debugFlagstrArray=( "-e" "-e" "-e" "" ) + nShellToTest="''${#shellNameArray[@]}" + if [[ "''${#shellOutpathArray[@]}" -ne "$nShellToTest" ]] \ + || [[ "''${#sourcefileNameArray[@]}" -ne "$nShellToTest" ]] \ + || [[ "''${#sourceCommandArray[@]}" -ne "$nShellToTest" ]] \ + || [[ "''${#debugFlagstrArray[@]}" -ne "$nShellToTest" ]] + then + echo "error: Lengths of test parameter arrays doesn't match." >&2 + exit 1 + fi + typePExpect="${root}/bin/root" + for ((i=0; i<$nShellToTest; ++i)); do + tryCommand="''${sourceCommandArray[$i]} \"${root}/bin/''${sourcefileNameArray[$i]}\"" + echo "Testing ''${shellNameArray[$i]} $tryCommand" + # Home directory for Fish + HOME_TEMP="$(mktemp -d temporary_home_XXXXXX)" + binPATHGot="$(PATH="''${shellOutpathArray[$i]}/bin" HOME=$HOME_TEMP "''${shellNameArray[$i]}" ''${debugFlagstrArray[$i]} -c "$tryCommand && echo \"\$PATH\"")" + rm -r "$HOME_TEMP" + typePGot="$(PATH="$binPATHGot" type -p root)" + if [[ "$typePGot" != "$typePExpect" ]]; then + echo "error: Got PATH \"$binPATHGot\", in which the root executable path is \"$typePGot\". Expect root executable path \"$typePExpect\"." >&2 + exit 1 + fi + done + echo "test-thisroot pass!" + touch "$out" + '' diff --git a/pkgs/applications/virtualization/conmon-rs/default.nix b/pkgs/applications/virtualization/conmon-rs/default.nix new file mode 100644 index 000000000000..59a2de96e9dd --- /dev/null +++ b/pkgs/applications/virtualization/conmon-rs/default.nix @@ -0,0 +1,31 @@ +{ capnproto +, lib +, fetchFromGitHub +, protobuf +, rustPlatform +}: + +rustPlatform.buildRustPackage rec { + pname = "conmon-rs"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "containers"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-VwVJWf9tKZ5rVF8tXDf35zsS2PipqC8FPbXUpOzsw/Y="; + }; + + nativeBuildInputs = [ capnproto protobuf ]; + doCheck = false; + + cargoSha256 = "sha256-zY9fsZK1C3HnCxeNA5dCbQQHYx3IVDMHCHYwFh5ev2k="; + + meta = with lib; { + description = "An OCI container runtime monitor written in Rust"; + homepage = "https://github.com/containers/conmon-rs"; + license = licenses.asl20; + maintainers = with maintainers; [ ] ++ teams.podman.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/virtualization/nixpacks/default.nix b/pkgs/applications/virtualization/nixpacks/default.nix index fef77cb6402d..60bf018fb3fb 100644 --- a/pkgs/applications/virtualization/nixpacks/default.nix +++ b/pkgs/applications/virtualization/nixpacks/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "nixpacks"; - version = "0.12.3"; + version = "0.13.0"; src = fetchFromGitHub { owner = "railwayapp"; repo = pname; rev = "v${version}"; - sha256 = "sha256-Hy2QRGuXSidUrJ7kb1AhkaLeaevhhleGE8QvnNZf/L0="; + sha256 = "sha256-uxy0/Ngzzh96YZDR9whLVYNnQOlj3wkCEuuJTQjT6GE="; }; - cargoSha256 = "sha256-5EJGUi74hrd3vifJ3r2vO0Qq2YEt0stXSi+RAGTme2I="; + cargoSha256 = "sha256-99J4ucjE0yTPQSdM6PDTWEjBltJdIU6yEDqhgSfOaJU="; # skip test due FHS dependency doCheck = false; diff --git a/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh index 78759f2cfbbc..cf9a351f3950 100644 --- a/pkgs/build-support/cc-wrapper/cc-wrapper.sh +++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh @@ -219,6 +219,12 @@ fi PATH="$path_backup" # Old bash workaround, see above. +# if a cc-wrapper-hook exists, run it. +if [[ -e @out@/nix-support/cc-wrapper-hook ]]; then + compiler=@prog@ + source @out@/nix-support/cc-wrapper-hook +fi + if (( "${NIX_CC_USE_RESPONSE_FILE:-@use_response_file_by_default@}" >= 1 )); then exec @prog@ @<(printf "%q\n" \ ${extraBefore+"${extraBefore[@]}"} \ diff --git a/pkgs/build-support/rust/hooks/cargo-setup-hook.sh b/pkgs/build-support/rust/hooks/cargo-setup-hook.sh index b85796e2a41b..aeddeef29d92 100644 --- a/pkgs/build-support/rust/hooks/cargo-setup-hook.sh +++ b/pkgs/build-support/rust/hooks/cargo-setup-hook.sh @@ -27,7 +27,7 @@ cargoSetupPostUnpackHook() { cat ${tmp_config} >> .cargo/config cat >> .cargo/config <<'EOF' - @rustTarget@ + @cargoConfig@ EOF echo "Finished cargoSetupPostUnpackHook" diff --git a/pkgs/build-support/rust/hooks/default.nix b/pkgs/build-support/rust/hooks/default.nix index 652b074c3020..9d3fc9b126ef 100644 --- a/pkgs/build-support/rust/hooks/default.nix +++ b/pkgs/build-support/rust/hooks/default.nix @@ -68,15 +68,37 @@ in { # The `.nativeDrv` stanza works like nativeBuildInputs and ensures cross-compiling has the right version available. diff = "${diffutils.nativeDrv or diffutils}/bin/diff"; - # Target platform - rustTarget = '' - [target."${rust.toRustTarget stdenv.buildPlatform}"] + # We want to specify the correct crt-static flag for both + # the build and host platforms. This is important when the wanted + # value for crt-static does not match the defaults in the rustc target, + # like for pkgsMusl or pkgsCross.musl64; Upstream rustc still assumes + # that musl = static[1]. + # + # By default, Cargo doesn't apply RUSTFLAGS when building build.rs + # if --target is passed, so the only good way to set crt-static for + # build.rs files is to use the unstable -Zhost-config Cargo feature. + # This allows us to specify flags that should be passed to rustc + # when building for the build platform. We also need to use + # -Ztarget-applies-to-host, because using -Zhost-config requires it. + # + # When doing this, we also have to specify the linker, or cargo + # won't pass a -C linker= argument to rustc. This will make rustc + # try to use its default value of "cc", which won't be available + # when cross-compiling. + # + # [1]: https://github.com/rust-lang/compiler-team/issues/422 + cargoConfig = '' + [host] "linker" = "${ccForBuild}" - ${lib.optionalString (stdenv.buildPlatform.config != stdenv.hostPlatform.config) '' - [target."${shortTarget}"] - "linker" = "${ccForHost}" - ''} + "rustflags" = [ "-C", "target-feature=${if stdenv.buildPlatform.isStatic then "+" else "-"}crt-static" ] + + [target."${shortTarget}"] + "linker" = "${ccForHost}" "rustflags" = [ "-C", "target-feature=${if stdenv.hostPlatform.isStatic then "+" else "-"}crt-static" ] + + [unstable] + host-config = true + target-applies-to-host = true ''; }; } ./cargo-setup-hook.sh) {}; diff --git a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/default.nix b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/default.nix new file mode 100644 index 000000000000..f16644528f00 --- /dev/null +++ b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/default.nix @@ -0,0 +1,60 @@ +{ lib +, callPackage +, makeSetupHook +, gnused +}: +let + tests = import ./test { inherit callPackage; }; +in +{ + patchRcPathBash = makeSetupHook + { + name = "patch-rc-path-bash"; + meta = with lib; { + description = "Setup-hook to inject source-time PATH prefix to a Bash/Ksh/Zsh script"; + maintainers = with maintainers; [ ShamrockLee ]; + }; + passthru.tests = { + inherit (tests) test-bash; + }; + } ./patch-rc-path-bash.sh; + patchRcPathCsh = makeSetupHook + { + name = "patch-rc-path-csh"; + substitutions = { + sed = "${gnused}/bin/sed"; + }; + meta = with lib; { + description = "Setup-hook to inject source-time PATH prefix to a Csh script"; + maintainers = with maintainers; [ ShamrockLee ]; + }; + passthru.tests = { + inherit (tests) test-csh; + }; + } ./patch-rc-path-csh.sh; + patchRcPathFish = makeSetupHook + { + name = "patch-rc-path-fish"; + meta = with lib; { + description = "Setup-hook to inject source-time PATH prefix to a Fish script"; + maintainers = with maintainers; [ ShamrockLee ]; + }; + passthru.tests = { + inherit (tests) test-fish; + }; + } ./patch-rc-path-fish.sh; + patchRcPathPosix = makeSetupHook + { + name = "patch-rc-path-posix"; + substitutions = { + sed = "${gnused}/bin/sed"; + }; + meta = with lib; { + description = "Setup-hook to inject source-time PATH prefix to a POSIX shell script"; + maintainers = with maintainers; [ ShamrockLee ]; + }; + passthru.tests = { + inherit (tests) test-posix; + }; + } ./patch-rc-path-posix.sh; +} diff --git a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/patch-rc-path-bash.sh b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/patch-rc-path-bash.sh new file mode 100644 index 000000000000..b98b983861b0 --- /dev/null +++ b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/patch-rc-path-bash.sh @@ -0,0 +1,50 @@ +patchRcPathBash(){ + local FILE_TO_PATCH="$1" + local SOURCETIME_PATH="$2" + local FILE_TO_WORK_ON="$(mktemp "$(basename "$FILE_TO_PATCH").XXXXXX.tmp")" + cat <> "$FILE_TO_WORK_ON" +# Lines to add to PATH the source-time utilities for Nixpkgs packaging +if [[ -n "\${NIXPKGS_SOURCETIME_PATH-}" ]]; then + NIXPKGS_SOURCETIME_PATH_OLD="\$NIXPKGS_SOURCETIME_PATH;\${NIXPKGS_SOURCETIME_PATH_OLD-}" +fi +NIXPKGS_SOURCETIME_PATH="$SOURCETIME_PATH" +if [[ -n "\$PATH" ]]; then + PATH="\$NIXPKGS_SOURCETIME_PATH:\$PATH" +else + PATH="\$NIXPKGS_SOURCETIME_PATH" +fi +export PATH +# End of lines to add to PATH source-time utilities for Nixpkgs packaging +EOF + cat "$FILE_TO_PATCH" >> "$FILE_TO_WORK_ON" + cat <> "$FILE_TO_WORK_ON" +# Lines to clean up inside PATH the source-time utilities for Nixpkgs packaging +if [[ -n "\${PATH-}" ]]; then + # Remove the inserted section + PATH="\${PATH/\$NIXPKGS_SOURCETIME_PATH}" + # Remove the duplicated colons + PATH="\${PATH//::/:}" + # Remove the prefixing colon + if [[ -n "\$PATH" && "\${PATH:0:1}" == ":" ]]; then + PATH="\${PATH:1}" + fi + # Remove the trailing colon + if [[ -n "\$PATH" && "\${PATH:\${#PATH}-1}" == ":" ]]; then + PATH="\${PATH::}" + fi + export PATH +fi +if [[ -n "\${NIXPKGS_SOURCETIME_PATH_OLD-}" ]]; then + IFS="" read -r -d ";" NIXPKGS_SOURCETIME_PATH <<< "\$NIXPKGS_SOURCETIME_PATH_OLD" + NIXPKGS_SOURCETIME_PATH_OLD="\${NIXPKGS_SOURCETIME_PATH_OLD:\${#NIXPKGS_SOURCETIME_PATH}+1}" +else + unset NIXPKGS_SOURCETIME_PATH +fi +if [[ -z "\${NIXPKGS_SOURCETIME_PATH_OLD-}" ]]; then + unset NIXPKGS_SOURCETIME_PATH_OLD +fi +# End of lines to clean up inside PATH the source-time utilities for Nixpkgs packaging +EOF + cat "$FILE_TO_WORK_ON" > "$FILE_TO_PATCH" + rm "$FILE_TO_WORK_ON" +} diff --git a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/patch-rc-path-csh.sh b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/patch-rc-path-csh.sh new file mode 100644 index 000000000000..5e2367003ade --- /dev/null +++ b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/patch-rc-path-csh.sh @@ -0,0 +1,57 @@ +patchRcPathCsh(){ + local FILE_TO_PATCH="$1" + local SOURCETIME_PATH="$2" + local FILE_TO_WORK_ON="$(mktemp "$(basename "$FILE_TO_PATCH").XXXXXX.tmp")" + cat <> "$FILE_TO_WORK_ON" +# Lines to add to PATH the source-time utilities for Nixpkgs packaging +if (\$?NIXPKGS_SOURCETIME_PATH) then + if ("\$NIXPKGS_SOURCETIME_PATH" != "") then + if (\$?NIXPKGS_SOURCETIME_PATH_OLD) then + if ("\$NIXPKGS_SOURCETIME_PATH_OLD" != "") + set NIXPKGS_SOURCETIME_PATH_OLD = (\$NIXPKGS_SOURCETIME_PATH \$NIXPKGS_SOURCETIME_PATH_OLD) + else + set NIXPKGS_SOURCETIME_PATH_OLD = \$NIXPKGS_SOURCETIME_PATH + endif + else + set NIXPKGS_SOURCETIME_PATH_OLD = \$NIXPKGS_SOURCETIME_PATH + endif + endif +endif +set NIXPKGS_SOURCETIME_PATH = "$SOURCETIME_PATH" +if (! \$?PATH) then + setenv PATH "" +endif +if ("\$PATH" != "") then + setenv PATH "\${NIXPKGS_SOURCETIME_PATH}:\$PATH" +else + setenv PATH "\$NIXPKGS_SOURCETIME_PATH" +endif +# End of lines to add to PATH source-time utilities for Nixpkgs packaging +EOF + cat "$FILE_TO_PATCH" >> "$FILE_TO_WORK_ON" + cat <> "$FILE_TO_WORK_ON" +# Lines to clean up inside PATH the source-time utilities for Nixpkgs packaging +if (\$?PATH) then + if ("\$PATH" != "") then + # Remove the inserted section, the duplicated colons, and the leading and trailing colon + setenv PATH \`echo "\$PATH" | @sed@ "s#\${NIXPKGS_SOURCETIME_PATH}##" | @sed@ "s#::#:#g" | @sed@ "s#^:##" | @sed@ 's#:\$##'\` + endif +endif +if (\$?NIXPKGS_SOURCETIME_PATH_OLD) then + if ("\$NIXPKGS_SOURCETIME_PATH_OLD" != "") then + set NIXPKGS_SOURCETIME_PATH = \$NIXPKGS_SOURCETIME_PATH_OLD[1] + set NIXPKGS_SOURCETIME_PATH_OLD = \$NIXPKGS_SOURCETIME_PATH_OLD[2-] + else + unset NIXPKGS_SOURCETIME_PATH + endif + if (NIXPKGS_SOURCETIME_PATH_OLD == "") then + unset NIXPKGS_SOURCETIME_PATH_OLD + endif +else + unset NIXPKGS_SOURCETIME_PATH +endif +# End of lines to clean up inside PATH the source-time utilities for Nixpkgs packaging +EOF + cat "$FILE_TO_WORK_ON" > "$FILE_TO_PATCH" + rm "$FILE_TO_WORK_ON" +} diff --git a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/patch-rc-path-fish.sh b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/patch-rc-path-fish.sh new file mode 100644 index 000000000000..3d3e08c57a11 --- /dev/null +++ b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/patch-rc-path-fish.sh @@ -0,0 +1,50 @@ +patchRcPathFish(){ + local FILE_TO_PATCH="$1" + local SOURCETIME_PATH="$2" + local FILE_TO_WORK_ON="$(mktemp "$(basename "$FILE_TO_PATCH").XXXXXX.tmp")" + cat <> "$FILE_TO_WORK_ON" +# Lines to add to PATH the source-time utilities for Nixpkgs packaging +if set -q NIXPKGS_SOURCETIME_PATH && test (count \$NIXPKGS_SOURCETIME_PATH) -gt 0 + set --unpath NIXPKGS_SOURCETIME_PATH_OLD "\$NIXPKGS_SOURCETIME_PATH" \$NIXPKGS_SOURCETIME_PATH_OLD +end +set --path NIXPKGS_SOURCETIME_PATH $SOURCETIME_PATH +set -g --path PATH \$NIXPKGS_SOURCETIME_PATH \$PATH +# End of lines to add to PATH source-time utilities for Nixpkgs packaging +EOF + cat "$FILE_TO_PATCH" >> "$FILE_TO_WORK_ON" + cat <> "$FILE_TO_WORK_ON" +# Lines to clean up inside PATH the source-time utilities for Nixpkgs packaging +if set -q PATH && test "\$PATH" != "" && test (count \$PATH) -ge (count \$NIXPKGS_SOURCETIME_PATH) + # Remove the inserted section + for i in (seq 0 (math (count \$PATH) - (count \$NIXPKGS_SOURCETIME_PATH))) + for j in (seq 1 (count \$NIXPKGS_SOURCETIME_PATH)) + if test \$PATH[(math \$i + \$j)] != \$NIXPKGS_SOURCETIME_PATH[\$j] + set i -1 + break + end + end + if test \$i -eq -1 + continue + end + if test \$i -eq 0 + set -g --path PATH \$PATH[(math (count \$NIXPKGS_SOURCETIME_PATH) + 1)..] + else + set -g --path PATH \$PATH[..\$i] \$PATH[(math (count \$NIXPKGS_SOURCETIME_PATH) + 1 + \$i)..] + end + break + end +end +if set -q NIXPKGS_SOURCETIME_PATH_OLD && test (count \$NIXPKGS_SOURCETIME_PATH_OLD) -gt 0 + set --path NIXPKGS_SOURCETIME_PATH \$NIXPKGS_SOURCETIME_PATH_OLD[1] + set --unpath NIXPKGS_SOURCETIME_PATH_OLD \$NIXPKGS_SOURCETIME_PATH_OLD[2..] +else + set -e NIXPKGS_SOURCETIME_PATH +end +if set -q NIXPKGS_SOURCETIME_PATH_OLD && test (count \$NIXPKGS_SOURCETIME_PATH_OLD) -eq 0 + set -e NIXPKGS_SOURCETIME_PATH_OLD +end +# End of lines to clean up inside PATH the source-time utilities for Nixpkgs packaging +EOF + cat "$FILE_TO_WORK_ON" > "$FILE_TO_PATCH" + rm "$FILE_TO_WORK_ON" +} diff --git a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/patch-rc-path-posix.sh b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/patch-rc-path-posix.sh new file mode 100644 index 000000000000..a3740d4436d9 --- /dev/null +++ b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/patch-rc-path-posix.sh @@ -0,0 +1,39 @@ +patchRcPathPosix(){ + local FILE_TO_PATCH="$1" + local SOURCETIME_PATH="$2" + local FILE_TO_WORK_ON="$(mktemp "$(basename "$FILE_TO_PATCH").XXXXXX.tmp")" + cat <> "$FILE_TO_WORK_ON" +# Lines to add to PATH the source-time utilities for Nixpkgs packaging +if [ -n "\${NIXPKGS_SOURCETIME_PATH-}" ]; then + NIXPKGS_SOURCETIME_PATH_OLD="\$NIXPKGS_SOURCETIME_PATH;\${NIXPKGS_SOURCETIME_PATH_OLD-}" +fi +NIXPKGS_SOURCETIME_PATH="$SOURCETIME_PATH" +if [ -n "\$PATH" ]; then + PATH="\$NIXPKGS_SOURCETIME_PATH:\$PATH"; +else + PATH="\$NIXPKGS_SOURCETIME_PATH" +fi +export PATH +# End of lines to add to PATH source-time utilities for Nixpkgs packaging +EOF + cat "$FILE_TO_PATCH" >> "$FILE_TO_WORK_ON" + cat <> "$FILE_TO_WORK_ON" +# Lines to clean up inside PATH the source-time utilities for Nixpkgs packaging +if [ -n "\${PATH-}" ]; then + PATH="\$(echo "\$PATH" | @sed@ "s#\$NIXPKGS_SOURCETIME_PATH##" | @sed@ "s#::#:#g" | @sed@ "s#^:##" | @sed@ "s#:\\\$##")" + export PATH +fi +if [ -n "\${NIXPKGS_SOURCETIME_PATH_OLD-}" ]; then + NIXPKGS_SOURCETIME_PATH="\$(echo "\$NIXPKGS_SOURCETIME_PATH_OLD" | @sed@ "s#\\([^;]\\);.*#\\1#")" + NIXPKGS_SOURCETIME_PATH_OLD="\$(echo "\$NIXPKGS_SOURCETIME_PATH_OLD" | @sed@ "s#[^;];\\(.*\\)#\\1#")" +else + unset NIXPKGS_SOURCETIME_PATH +fi +if [ -z "\${NIXPKGS_SOURCETIME_PATH_OLD-}" ]; then + unset NIXPKGS_SOURCETIME_PATH_OLD +fi +# End of lines to clean up inside PATH the source-time utilities for Nixpkgs packaging +EOF + cat "$FILE_TO_WORK_ON" > "$FILE_TO_PATCH" + rm "$FILE_TO_WORK_ON" +} diff --git a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/default.nix b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/default.nix new file mode 100644 index 000000000000..82bc160387ee --- /dev/null +++ b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/default.nix @@ -0,0 +1,442 @@ +{ callPackage }: + +{ + test-bash = callPackage + ( + { lib + , runCommandLocal + , bash + , hello + , ksh + , patchRcPathBash + , shellcheck + , zsh + }: + runCommandLocal "patch-rc-path-bash-test" + { + nativeBuildInputs = [ + bash + ksh + patchRcPathBash + shellcheck + zsh + ]; + meta = { + description = "Package test of patchActivateBash"; + inherit (patchRcPathBash.meta) maintainers; + }; + } + '' + set -eu -o pipefail + + + # Check the setup hook script + + echo "Running shellcheck against ${./test-sourcing-bash}" + shellcheck -s bash --exclude SC1090 ${./test-sourcing-bash} + shellcheck -s ksh --exclude SC1090 ${./test-sourcing-bash} + + + # Test patching a blank file + + echo > blank.bash + + echo "Generating blank_patched.bash from blank.bash" + cp blank.bash blank_patched.bash + patchRcPathBash blank_patched.bash "$PWD/delta:$PWD/foxtrot" + + echo "Running shellcheck against blank_patched.bash" + shellcheck -s bash blank_patched.bash + shellcheck -s ksh blank_patched.bash + + echo "Testing in Bash if blank.bash and blank_patched.bash modifies PATH the same way" + bash ${./test-sourcing-bash} ./blank.bash ./blank_patched.bash + + echo "Testing in Ksh if blank.bash and blank_patched.bash modifies PATH the same way" + ksh ${./test-sourcing-bash} "$PWD/blank.bash" "$PWD/blank_patched.bash" + + echo "Testing in Zsh if blank.bash and blank_patched.bash modifies PATH the same way" + zsh ${./test-sourcing-bash} ./blank.bash ./blank_patched.bash + + + # Test patching silent_hello + + echo "hello > /dev/null" > silent_hello.bash + + echo "Generating silent_hello_patched.bash from silent_hello.bash" + cp silent_hello.bash silent_hello_patched.bash + patchRcPathBash silent_hello_patched.bash "${hello}/bin" + + echo "Running shellcheck against silent_hello_patched.bash" + shellcheck -s bash silent_hello_patched.bash + + echo "Testing in Bash if silent_hello_patched.bash get sourced without error" + bash -eu -o pipefail -c ". ./silent_hello_patched.bash" + + echo "Testing in Ksh if silent_hello_patched.bash get sourced without error" + ksh -eu -o pipefail -c ". ./silent_hello_patched.bash" + + echo "Testing in Zsh if silent_hello_patched.bash get sourced without error" + zsh -eu -o pipefail -c ". ./silent_hello_patched.bash" + + + # Check the sample source + + echo "Running shellcheck against sample_source.bash" + shellcheck -s bash ${./sample_source.bash} + shellcheck -s ksh ${./sample_source.bash} + + + # Test patching the sample source + + cp ${./sample_source.bash} sample_source_patched.bash + chmod u+w sample_source_patched.bash + + echo "Generating sample_source_patched.bash from ./sample_source.bash" + patchRcPathBash sample_source_patched.bash "$PWD/delta:$PWD/foxtrot" + + echo "Running shellcheck against sample_source_patched.bash" + shellcheck -s bash sample_source_patched.bash + + echo "Testing in Bash if sample_source.bash and sample_source_patched.bash modifies PATH the same way" + bash ${./test-sourcing-bash} ${./sample_source.bash} ./sample_source_patched.bash + + echo "Testing in Ksh if sample_source.bash and sample_source_patched.bash modifies PATH the same way" + ksh ${./test-sourcing-bash} ${./sample_source.bash} "$PWD/sample_source_patched.bash" + + echo "Testing in Zsh if sample_source.bash and sample_source_patched.bash modifies PATH the same way" + zsh ${./test-sourcing-bash} ${./sample_source.bash} ./sample_source_patched.bash + + + # Test double-patching the sample source + + echo "Patching again sample_source_patched.bash" + patchRcPathBash sample_source_patched.bash "$PWD/foxtrot:$PWD/golf" + + echo "Running shellcheck against sample_source_patched.bash" + shellcheck -s bash sample_source_patched.bash + shellcheck -s ksh sample_source_patched.bash + + echo "Testing in Bash if sample_source.bash and sample_source_patched.bash modifies PATH the same way" + bash ${./test-sourcing-bash} ${./sample_source.bash} ./sample_source_patched.bash + + echo "Testing in Ksh if sample_source.bash and sample_source_patched.bash modifies PATH the same way" + ksh ${./test-sourcing-bash} ${./sample_source.bash} "$PWD/sample_source_patched.bash" + + echo "Testing in Zsh if sample_source.bash and sample_source_patched.bash modifies PATH the same way" + zsh ${./test-sourcing-bash} ${./sample_source.bash} ./sample_source_patched.bash + + + # Create a dummy output + touch "$out" + '' + ) + { }; + + + + test-csh = callPackage + ( + { lib + , runCommandLocal + , gnused + , hello + , patchRcPathCsh + , tcsh + }: + runCommandLocal "patch-rc-path-csh-test" + { + nativeBuildInputs = [ + patchRcPathCsh + tcsh + ]; + meta = { + description = "Package test of patchActivateCsh"; + inherit (patchRcPathCsh.meta) maintainers; + }; + } + '' + set -eu -o pipefail + + + # Test patching a blank file + + echo > blank.csh + + echo "Generating blank_patched.csh from blank.csh" + cp blank.csh blank_patched.csh + patchRcPathCsh blank_patched.csh "$PWD/delta:$PWD/foxtrot" + + echo "Testing in Csh if blank.csh and blank_patched.csh modifies PATH the same way" + tcsh -e ${./test-sourcing-csh} blank.csh blank_patched.csh + + + # Test patching silent_hello file + + echo "hello > /dev/null" > silent_hello.csh + + echo "Generating silent_hello_patched.csh from silent_hello.csh" + cp silent_hello.csh silent_hello_patched.csh + patchRcPathCsh silent_hello_patched.csh "${hello}/bin" + + echo "Testing in Csh if silent_hello_patched.csh get sourced without errer" + tcsh -e -c "source silent_hello_patched.csh" + + + # Generate the sample source + + substitute ${./sample_source.csh.in} sample_source.csh --replace @sed@ ${gnused}/bin/sed + chmod u+rw sample_source.csh + + + # Test patching the sample source + + echo "Generating sample_source_patched.csh from sample_source.csh" + cp sample_source.csh sample_source_patched.csh + chmod u+w sample_source_patched.csh + patchRcPathCsh sample_source_patched.csh "$PWD/delta:$PWD/foxtrot" + + echo "Testing in Csh if sample_source.csh and sample_source_patched.csh modifies PATH the same way" + tcsh -e ${./test-sourcing-csh} sample_source.csh sample_source_patched.csh + + + # Test double-patching the sample source + + echo "Patching again sample_source_patched.csh from sample_source.csh" + patchRcPathCsh sample_source_patched.csh "$PWD/foxtrot:$PWD/golf" + + echo "Testing in Csh if sample_source.csh and sample_source_patched.csh modifies PATH the same way" + tcsh -e ${./test-sourcing-csh} sample_source.csh sample_source_patched.csh + + + # Create a dummy output + touch "$out" + '' + ) + { }; + + + + test-fish = callPackage + ( + { lib + , runCommandLocal + , fish + , hello + , patchRcPathFish + }: + runCommandLocal "patch-rc-path-fish-test" + { + nativeBuildInputs = [ + fish + patchRcPathFish + ]; + meta = { + description = "Package test of patchActivateFish"; + inherit (patchRcPathFish.meta) maintainers; + }; + } + '' + set -eu -o pipefail + + + # Test patching a blank file + + echo > blank.fish + + echo "Generating blank_patched.fish from blank.fish" + cp blank.fish blank_patched.fish + patchRcPathFish blank_patched.fish "$PWD/delta:$PWD/foxtrot" + + echo "Testing in Fish if blank.fish and blank_patched.fish modifies PATH the same way" + HOME_TEMP="$(mktemp -d temporary_home_XXXXXX)" + HOME="$HOME_TEMP" fish ${./test-sourcing-fish} blank.fish blank_patched.fish + rm -r "$HOME_TEMP" + + + # Test patching silent_hello file + + echo "hello > /dev/null" > silent_hello.fish + + echo "Generating silent_hello_patched.fish from silent_hello.fish" + cp silent_hello.fish silent_hello_patched.fish + patchRcPathFish silent_hello_patched.fish "${hello}/bin" + + echo "Testing in Fish if silent_hello_patched.fish get sourced without error" + HOME_TEMP="$(mktemp -d temporary_home_XXXXXX)" + HOME="$HOME_TEMP" fish -c "source silent_hello_patched.fish" + rm -r "$HOME_TEMP" + + + # Test patching the sample source + + cp ${./sample_source.fish} sample_source_patched.fish + chmod u+w sample_source_patched.fish + + echo "Generating sample_source_patched.fish from ${./sample_source.fish}" + patchRcPathFish sample_source_patched.fish "$PWD/delta:$PWD/foxtrot" + echo "Testing in Fish if sample_source.fish and sample_source_patched.fish modifies PATH the same way" + HOME_TEMP="$(mktemp -d temporary_home_XXXXXX)" + HOME="$HOME_TEMP" fish ${./test-sourcing-fish} ${./sample_source.fish} sample_source_patched.fish + rm -r "$HOME_TEMP" + + + # Test double-patching the sample source + + echo "Patching again sample_source_patched.fish from ${./sample_source.fish}" + patchRcPathFish sample_source_patched.fish "$PWD/foxtrot:$PWD/golf" + + echo "Testing in Fish if sample_source.fish and sample_source_patched.fish modifies PATH the same way" + HOME_TEMP="$(mktemp -d temporary_home_XXXXXX)" + HOME="$HOME_TEMP" fish ${./test-sourcing-fish} ${./sample_source.fish} sample_source_patched.fish + rm -r "$HOME_TEMP" + + + # Create a dummy output + touch "$out" + '' + ) + { }; + + + + test-posix = callPackage + ( + { lib + , runCommandLocal + , bash + , dash + , gnused + , hello + , ksh + , patchRcPathPosix + , shellcheck + }: + runCommandLocal "patch-rc-path-posix-test" + { + nativeBuildInputs = [ + bash + dash + ksh + patchRcPathPosix + shellcheck + ]; + meta = { + description = "Package test of patchActivatePosix"; + inherit (patchRcPathPosix.meta) maintainers; + }; + } + '' + set -eu -o pipefail + + + # Check the setup hook script + + echo "Running shellcheck against ${./test-sourcing-posix}" + shellcheck -s sh --exclude SC1090 ${./test-sourcing-posix} + shellcheck -s dash --exclude SC1090 ${./test-sourcing-posix} + + + # Test patching a blank file + + echo > blank.sh + + echo "Generating blank_patched.sh from blank.sh" + cp blank.sh blank_patched.sh + patchRcPathPosix blank_patched.sh "$PWD/delta:$PWD/foxtrot" + + echo "Running shellcheck against blank_patched.sh" + shellcheck -s sh blank_patched.sh + shellcheck -s dash blank_patched.sh + + echo "Testing in Bash if blank.sh and blank_patched.sh modifies PATH the same way" + bash --posix ${./test-sourcing-posix} ./blank.sh ./blank_patched.sh + + echo "Testing in Dash if blank.sh and blank_patched.sh modifies PATH the same way" + dash ${./test-sourcing-posix} ./blank.sh ./blank_patched.sh + + echo "Testing in Ksh if ./blank.sh and ./blank_patched.sh modifies PATH the same way" + ksh ${./test-sourcing-posix} "$PWD/blank.sh" "$PWD/blank_patched.sh" + + + # Test patching silent_hello file + + echo "hello > /dev/null" > silent_hello.sh + + echo "Generating silent_hello_patched.sh from silent_hello.sh" + cp silent_hello.sh silent_hello_patched.sh + patchRcPathPosix silent_hello_patched.sh "${hello}/bin" + + echo "Running shellcheck against silent_hello_patched.sh" + shellcheck -s sh silent_hello_patched.sh + shellcheck -s dash silent_hello_patched.sh + + echo "Testing in Bash if silent_hello_patched.sh get sourced without error" + bash --posix -eu -c ". ./silent_hello_patched.sh" + + echo "Testing in Dash if silent_hello_patched.sh get sourced without error" + dash -eu -c ". ./silent_hello_patched.sh" + + echo "Testing in Ksh if silent_hello_patched.sh get sourced without error" + ksh -eu -c ". $PWD/silent_hello_patched.sh" + + + # Generate the sample source "$PWD/delta:$PWD/foxtrot" "$PWD/delta:$PWD/foxtrot" + + substitute ${./sample_source.sh.in} sample_source.sh --replace @sed@ ${gnused}/bin/sed + chmod u+rw sample_source.sh + + + # Check the sample source + + echo "Running shellcheck against sample_source.sh" + shellcheck -s sh sample_source.sh + shellcheck -s dash sample_source.sh + + + # Test patching the sample source + + echo "Generating sample_source_patched.sh from sample_source.sh" + cp sample_source.sh sample_source_patched.sh + chmod u+w sample_source_patched.sh + patchRcPathPosix sample_source_patched.sh "$PWD/delta:$PWD/foxtrot" + + echo "Running shellcheck against sample_source_patched.sh" + shellcheck -s sh sample_source_patched.sh + shellcheck -s dash sample_source_patched.sh + + echo "Testing in Bash if sample_source.bash and sample_source_patched.bash modifies PATH the same way" + bash --posix ${./test-sourcing-posix} "./sample_source.sh" "./sample_source_patched.sh" + + echo "Testing in Dash if sample_source.sh and sample_source_patched.sh modifies PATH the same way" + dash ${./test-sourcing-posix} "./sample_source.sh" "./sample_source_patched.sh" + + echo "Testing in Ksh if sample_source.sh and sample_source_patched.sh modifies PATH the same way" + ksh ${./test-sourcing-posix} "$PWD/sample_source.sh" "$PWD/sample_source_patched.sh" + + + # Test double-patching the sample source + + echo "Patching again sample_source_patched.sh" + patchRcPathPosix sample_source_patched.sh "$PWD/foxtrot:$PWD/golf" + + echo "Running shellcheck against sample_source_patched.sh" + shellcheck -s sh sample_source_patched.sh + shellcheck -s dash sample_source_patched.sh + + echo "Testing in Bash if sample_source.bash and sample_source_patched.bash modifies PATH the same way" + bash --posix ${./test-sourcing-posix} "./sample_source.sh" "./sample_source_patched.sh" + + echo "Testing in Dash if sample_source.sh and sample_source_patched.sh modifies PATH the same way" + dash ${./test-sourcing-posix} "./sample_source.sh" "./sample_source_patched.sh" + + echo "Testing in Ksh if sample_source.sh and sample_source_patched.sh modifies PATH the same way" + ksh ${./test-sourcing-posix} "$PWD/sample_source.sh" "$PWD/sample_source_patched.sh" + + + # Create a dummy output + touch "$out" + '' + ) + { }; +} diff --git a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/sample_source.bash b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/sample_source.bash new file mode 100644 index 000000000000..6cb043e4e70c --- /dev/null +++ b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/sample_source.bash @@ -0,0 +1,2 @@ +PATH="$PWD/charlie:${PATH/:$PWD\/bravo}" +export PATH diff --git a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/sample_source.csh.in b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/sample_source.csh.in new file mode 100644 index 000000000000..9606458c037e --- /dev/null +++ b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/sample_source.csh.in @@ -0,0 +1 @@ +setenv PATH $PWD/charlie:`echo "$PATH" | @sed@ "s#:$PWD/bravo##"` diff --git a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/sample_source.fish b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/sample_source.fish new file mode 100644 index 000000000000..f638fe5e24d1 --- /dev/null +++ b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/sample_source.fish @@ -0,0 +1,9 @@ +begin + for p in $PATH + if test $p != "$PWD/bravo" + set TEMPORARY_PATH $TEMPORARY_PATH $p + end + end + set -g PATH $TEMPORARY_PATH +end +set PATH "$PWD/charlie" $PATH diff --git a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/sample_source.sh.in b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/sample_source.sh.in new file mode 100644 index 000000000000..42e64a1ffc08 --- /dev/null +++ b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/sample_source.sh.in @@ -0,0 +1,2 @@ +PATH="$PWD/charlie:$(echo "$PATH" | @sed@ "s#:$PWD/bravo##")" +export PATH diff --git a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/test-sourcing-bash b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/test-sourcing-bash new file mode 100644 index 000000000000..1b6cc54d8f93 --- /dev/null +++ b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/test-sourcing-bash @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +set -eu -o pipefail + +UNPATCHED_SOURCE_FILE="$1" +PATCHED_SOURCE_FILE="$2" +ORIG_PATH="$PWD/alfa:$PWD/bravo" +RESULT_PATH_FROM_UNPATCHED="$( + PATH="$ORIG_PATH"; export PATH + . "$UNPATCHED_SOURCE_FILE" + echo "$PATH" +)" +RESULT_PATH_FROM_PATCHED="$( + PATH="$ORIG_PATH"; export PATH + . "$PATCHED_SOURCE_FILE" + echo "$PATH" +)" +if [[ "$RESULT_PATH_FROM_UNPATCHED" != "$RESULT_PATH_FROM_PATCHED" ]]; then + echo "Result path mismatched: $UNPATCHED_SOURCE_FILE ($RESULT_PATH_FROM_UNPATCHED) and $PATCHED_SOURCE_FILE ($RESULT_PATH_FROM_PATCHED)" >&2 + exit 1 +fi diff --git a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/test-sourcing-csh b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/test-sourcing-csh new file mode 100644 index 000000000000..7ddb2ddc1bdc --- /dev/null +++ b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/test-sourcing-csh @@ -0,0 +1,13 @@ +#/usr/bin/env tcsh + +set UNPATCHED_SOURCE_FILE = "$1" +set PATCHED_SOURCE_FILE = "$2" +set ORIG_PATH = "${PWD}/alfa:${PWD}/bravo" + +set RESULT_PATH_FROM_UNPATCHED = `setenv PATH "$ORIG_PATH"; source $UNPATCHED_SOURCE_FILE; echo $PATH` +set RESULT_PATH_FROM_PATCHED = `setenv PATH "$ORIG_PATH"; source $PATCHED_SOURCE_FILE; echo $PATH` + +if ($RESULT_PATH_FROM_UNPATCHED != $RESULT_PATH_FROM_PATCHED) then + echo "Result path mismatched: $UNPATCHED_SOURCE_FILE ($RESULT_PATH_FROM_UNPATCHED) and $PATCHED_SOURCE_FILE ($RESULT_PATH_FROM_PATCHED)" > /dev/stderr + exit 1 +endif diff --git a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/test-sourcing-fish b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/test-sourcing-fish new file mode 100644 index 000000000000..fcce014331e5 --- /dev/null +++ b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/test-sourcing-fish @@ -0,0 +1,13 @@ +#/usr/bin/env fish + +set UNPATCHED_SOURCE_FILE $argv[1] +set PATCHED_SOURCE_FILE $argv[2] +set ORIG_PATH "$PWD/alfa:$PWD/bravo" + +set RESULT_PATH_FROM_UNPATCHED (fish -c "set -g PATH \"$ORIG_PATH\"; source $UNPATCHED_SOURCE_FILE; echo \"\$PATH\"") +set RESULT_PATH_FROM_PATCHED (fish -c "set -g PATH \"$ORIG_PATH\"; source $PATCHED_SOURCE_FILE; echo \"\$PATH\"") + +if test "$RESULT_PATH_FROM_UNPATCHED" != "$RESULT_PATH_FROM_PATCHED" + echo "Result path mismatched: $UNPATCHED_SOURCE_FILE ($RESULT_PATH_FROM_UNPATCHED) and $PATCHED_SOURCE_FILE ($RESULT_PATH_FROM_PATCHED)" >&2 + exit 1 +end diff --git a/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/test-sourcing-posix b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/test-sourcing-posix new file mode 100644 index 000000000000..6039b4dcf097 --- /dev/null +++ b/pkgs/build-support/setup-hooks/patch-rc-path-hooks/test/test-sourcing-posix @@ -0,0 +1,21 @@ +#!/bin/sh + +set -eu + +UNPATCHED_SOURCE_FILE="$1" +PATCHED_SOURCE_FILE="$2" +ORIG_PATH="$PWD/alfa:$PWD/bravo" +RESULT_PATH_FROM_UNPATCHED="$( + PATH="$ORIG_PATH"; export PATH + . "$UNPATCHED_SOURCE_FILE" + echo "$PATH" +)" +RESULT_PATH_FROM_PATCHED="$( + PATH="$ORIG_PATH"; export PATH + . "$PATCHED_SOURCE_FILE" + echo "$PATH" +)" +if [ "$RESULT_PATH_FROM_UNPATCHED" != "$RESULT_PATH_FROM_PATCHED" ]; then + echo "Result path mismatched: $UNPATCHED_SOURCE_FILE ($RESULT_PATH_FROM_UNPATCHED) and $PATCHED_SOURCE_FILE ($RESULT_PATH_FROM_PATCHED)" > /dev/stderr + exit 1 +fi diff --git a/pkgs/data/icons/tela-circle-icon-theme/default.nix b/pkgs/data/icons/tela-circle-icon-theme/default.nix index 44e8fdb6c05f..7f7dc0d043f3 100644 --- a/pkgs/data/icons/tela-circle-icon-theme/default.nix +++ b/pkgs/data/icons/tela-circle-icon-theme/default.nix @@ -1,6 +1,8 @@ { lib , stdenvNoCC , fetchFromGitHub +, adwaita-icon-theme +, breeze-icons , gtk3 , hicolor-icon-theme , jdupes @@ -13,17 +15,17 @@ let pname = "tela-circle-icon-theme"; in -lib.checkListOfEnum "${pname}: color variants" [ "standard" "black" "blue" "brown" "green" "grey" "orange" "pink" "purple" "red" "yellow" "manjaro" "ubuntu" ] colorVariants +lib.checkListOfEnum "${pname}: color variants" [ "standard" "black" "blue" "brown" "green" "grey" "orange" "pink" "purple" "red" "yellow" "manjaro" "ubuntu" "dracula" "nord" ] colorVariants stdenvNoCC.mkDerivation rec { inherit pname; - version = "2022-03-07"; + version = "2022-11-06"; src = fetchFromGitHub { owner = "vinceliuice"; repo = pname; rev = version; - sha256 = "vQeWGZmurvT/UQJ1dx6t+ZeKdJ1Oq9TdHBADw64x18g="; + sha256 = "ybp+r0Ru2lJg1WipFHIowvRO5XjppI0cUxKc6kPn0lM="; }; nativeBuildInputs = [ @@ -32,6 +34,8 @@ stdenvNoCC.mkDerivation rec { ]; propagatedBuildInputs = [ + adwaita-icon-theme + breeze-icons hicolor-icon-theme ]; @@ -42,16 +46,18 @@ stdenvNoCC.mkDerivation rec { dontPatchELF = true; dontRewriteSymlinks = true; + postPatch = '' + patchShebangs install.sh + ''; + installPhase = '' runHook preInstall - patchShebangs install.sh - ./install.sh -d $out/share/icons \ ${lib.optionalString circularFolder "-c"} \ ${if allColorVariants then "-a" else builtins.toString colorVariants} - jdupes --link-soft --recurse $out/share + jdupes --quiet --link-soft --recurse $out/share runHook postInstall ''; diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix index 2d5100906ed2..1453b3899ef7 100644 --- a/pkgs/data/misc/tzdata/default.nix +++ b/pkgs/data/misc/tzdata/default.nix @@ -1,17 +1,17 @@ -{ lib, stdenv, fetchurl, buildPackages }: +{ lib, stdenv, fetchurl, fetchpatch, buildPackages }: stdenv.mkDerivation rec { pname = "tzdata"; - version = "2022e"; + version = "2022f"; srcs = [ (fetchurl { url = "https://data.iana.org/time-zones/releases/tzdata${version}.tar.gz"; - hash = "sha256-jeTCaG3OPRqukDBxnmgUkxwhai1eiR7D0zLm9lFq7M0="; + hash = "sha256-mZDXH2ddISVnuTH+iq4cq3An+J/vuKedgIppM6Z68AA="; }) (fetchurl { url = "https://data.iana.org/time-zones/releases/tzcode${version}.tar.gz"; - hash = "sha256-1AKAJTmA6JFo5r5CdahSv5UhUk1HaE3jE1uaXKOHcQs="; + hash = "sha256-5FQ+kPhPkfqCgJ6piTAFL9vBOIDIpiPuOk6qQvimTBU="; }) ]; @@ -19,6 +19,17 @@ stdenv.mkDerivation rec { patches = lib.optionals stdenv.hostPlatform.isWindows [ ./0001-Add-exe-extension-for-MS-Windows-binaries.patch + ] ++ [ + (fetchpatch { + name = "fix-get-random-on-osx-1.patch"; + url = "https://github.com/eggert/tz/commit/5db8b3ba4816ccb8f4ffeb84f05b99e87d3b1be6.patch"; + hash = "sha256-FevGjiSahYwEjRUTvRY0Y6/jUO4YHiTlAAPixzEy5hw="; + }) + (fetchpatch { + name = "fix-get-random-on-osx-2.patch"; + url = "https://github.com/eggert/tz/commit/841183210311b1d4ffb4084bfde8fa8bdf3e6757.patch"; + hash = "sha256-1tUTZBMT7V463P7eygpFS6/k5gTeeXumk5+V4gdKpEI="; + }) ]; outputs = [ "out" "bin" "man" "dev" ]; diff --git a/pkgs/data/themes/vimix/default.nix b/pkgs/data/themes/vimix/default.nix index 12795e68e70e..85dc0788bfba 100644 --- a/pkgs/data/themes/vimix/default.nix +++ b/pkgs/data/themes/vimix/default.nix @@ -1,26 +1,41 @@ { lib -, stdenv +, stdenvNoCC , fetchFromGitHub , gnome-shell , gtk-engine-murrine , gtk_engines +, jdupes , sassc , gitUpdater +, themeVariants ? [] # default: doder (blue) +, colorVariants ? [] # default: all +, sizeVariants ? [] # default: standard +, tweaks ? [] }: -stdenv.mkDerivation rec { +let pname = "vimix-gtk-themes"; - version = "2022-04-24"; + +in +lib.checkListOfEnum "${pname}: theme variants" [ "doder" "beryl" "ruby" "amethyst" "grey" ] themeVariants +lib.checkListOfEnum "${pname}: color variants" [ "standard" "light" "dark" ] colorVariants +lib.checkListOfEnum "${pname}: size variants" [ "standard" "compact" ] sizeVariants +lib.checkListOfEnum "${pname}: tweaks" [ "flat" "grey" "mix" "translucent" ] tweaks + +stdenvNoCC.mkDerivation rec { + inherit pname; + version = "2022-10-30"; src = fetchFromGitHub { owner = "vinceliuice"; repo = pname; rev = version; - sha256 = "0q0ahm060qvr7r9j3x9lxidjnwf032c2g1pcqw9mz93iy7vfn358"; + sha256 = "QGKh2Md25VNVqy58w/LBzNnEM+g4gBMUjj0W0IuVZ1U="; }; nativeBuildInputs = [ gnome-shell # needed to determine the gnome-shell version + jdupes sassc ]; @@ -39,8 +54,14 @@ stdenv.mkDerivation rec { installPhase = '' runHook preInstall mkdir -p $out/share/themes - name= HOME="$TMPDIR" ./install.sh --all --dest $out/share/themes + name= HOME="$TMPDIR" ./install.sh \ + ${lib.optionalString (themeVariants != []) "--theme " + builtins.toString themeVariants} \ + ${lib.optionalString (colorVariants != []) "--color " + builtins.toString colorVariants} \ + ${lib.optionalString (sizeVariants != []) "--size " + builtins.toString sizeVariants} \ + ${lib.optionalString (tweaks != []) "--tweaks " + builtins.toString tweaks} \ + --dest $out/share/themes rm $out/share/themes/*/{AUTHORS,LICENSE} + jdupes --quiet --link-soft --recurse $out/share runHook postInstall ''; diff --git a/pkgs/data/themes/whitesur/default.nix b/pkgs/data/themes/whitesur/default.nix index 90f1515dc472..1073fd8f2505 100644 --- a/pkgs/data/themes/whitesur/default.nix +++ b/pkgs/data/themes/whitesur/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, gitUpdater , glib , gnome-shell , gnome-themes-extra @@ -32,13 +33,13 @@ lib.checkListOfEnum "${pname}: panel size" [ "default" "smaller" "bigger" ] (sin stdenv.mkDerivation rec { pname = "whitesur-gtk-theme"; - version = "2022-08-26"; + version = "2022-10-27"; src = fetchFromGitHub { owner = "vinceliuice"; repo = pname; rev = version; - sha256 = "sha256-kvu6Zv5vmyDasBt6eOBqexv0n5vi6OzpG5We1eSbW0o="; + sha256 = "sha256-jOrTasnkNExCgvST+09JOQ0iosjoEu3aoj3C1pNHTgY="; }; nativeBuildInputs = [ @@ -83,11 +84,13 @@ stdenv.mkDerivation rec { ${lib.optionalString (panelSize != null) ("--panel-size " + panelSize)} \ --dest $out/share/themes - jdupes --link-soft --recurse $out/share + jdupes --quiet --link-soft --recurse $out/share runHook postInstall ''; + passthru.updateScript = gitUpdater { }; + meta = with lib; { description = "MacOS Big Sur like theme for Gnome desktops"; homepage = "https://github.com/vinceliuice/WhiteSur-gtk-theme"; diff --git a/pkgs/desktops/gnome/apps/gnome-maps/default.nix b/pkgs/desktops/gnome/apps/gnome-maps/default.nix index 1e74521d3e9d..99d4d27ef660 100644 --- a/pkgs/desktops/gnome/apps/gnome-maps/default.nix +++ b/pkgs/desktops/gnome/apps/gnome-maps/default.nix @@ -1,6 +1,7 @@ { stdenv , lib , fetchurl +, fetchpatch , meson , ninja , gettext @@ -65,6 +66,14 @@ stdenv.mkDerivation rec { libsoup_3 ]; + patches = [ + (fetchpatch { + name = "timeTest.patch"; + url = "https://gitlab.gnome.org/GNOME/gnome-maps/-/commit/bec3d2f26de1b3a8c8b7e603f6d6a46c853426fa.diff"; + sha256 = "sha256-7/ogIDG0piZOPaCPX4nUA3jHI7RGTd2KMZsp8z0XLcc="; + }) + ]; + postPatch = '' # The .service file isn't wrapped with the correct environment # so misses GIR files when started. By re-pointing from the gjs diff --git a/pkgs/desktops/pantheon/apps/elementary-iconbrowser/default.nix b/pkgs/desktops/pantheon/apps/elementary-iconbrowser/default.nix index 64b9b67cb788..8a0ff75f9038 100644 --- a/pkgs/desktops/pantheon/apps/elementary-iconbrowser/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-iconbrowser/default.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation rec { pname = "elementary-iconbrowser"; - version = "2.0.0"; + version = "2.1.1"; src = fetchFromGitHub { owner = "elementary"; repo = "iconbrowser"; rev = version; - sha256 = "sha256-aXFgL5l9jnOZJJgMOYwiE7W//1sq23CbLEDmhYFJT38="; + sha256 = "sha256-xooZfQmeB4rvlO8zKWnUuXPCFQNCTdjd7C53/j9EoHg="; }; nativeBuildInputs = [ diff --git a/pkgs/development/compilers/llvm/10/compiler-rt/default.nix b/pkgs/development/compilers/llvm/10/compiler-rt/default.nix index 0302f2ad3092..e356a27b78b0 100644 --- a/pkgs/development/compilers/llvm/10/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/10/compiler-rt/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation { "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ lib.optionals (haveLibc && !isMusl) [ + ] ++ lib.optionals (haveLibc && stdenv.hostPlatform.isGnu) [ "-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include" ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" diff --git a/pkgs/development/compilers/llvm/11/compiler-rt/default.nix b/pkgs/development/compilers/llvm/11/compiler-rt/default.nix index e4ba52030ba4..a8205213c892 100644 --- a/pkgs/development/compilers/llvm/11/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/11/compiler-rt/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation { "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ lib.optionals (haveLibc && !isMusl) [ + ] ++ lib.optionals (haveLibc && stdenv.hostPlatform.isGnu) [ "-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include" ] ++ lib.optionals (useLLVM || bareMetal || isMusl || isNewDarwinBootstrap) [ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" diff --git a/pkgs/development/compilers/llvm/12/compiler-rt/default.nix b/pkgs/development/compilers/llvm/12/compiler-rt/default.nix index ed34d06ed986..a372030b3f87 100644 --- a/pkgs/development/compilers/llvm/12/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/12/compiler-rt/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation { "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ lib.optionals (haveLibc && !isMusl) [ + ] ++ lib.optionals (haveLibc && stdenv.hostPlatform.isGnu) [ "-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include" ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" diff --git a/pkgs/development/compilers/llvm/13/compiler-rt/default.nix b/pkgs/development/compilers/llvm/13/compiler-rt/default.nix index 9124686705ae..798280f0c1c4 100644 --- a/pkgs/development/compilers/llvm/13/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/13/compiler-rt/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation { "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ lib.optionals (haveLibc && !isMusl) [ + ] ++ lib.optionals (haveLibc && stdenv.hostPlatform.isGnu) [ "-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include" ] ++ lib.optionals (useLLVM || bareMetal || isMusl || isAarch64) [ "-DCOMPILER_RT_BUILD_LIBFUZZER=OFF" diff --git a/pkgs/development/compilers/llvm/14/compiler-rt/default.nix b/pkgs/development/compilers/llvm/14/compiler-rt/default.nix index ef2495714e45..669c6bbb9588 100644 --- a/pkgs/development/compilers/llvm/14/compiler-rt/default.nix +++ b/pkgs/development/compilers/llvm/14/compiler-rt/default.nix @@ -38,7 +38,7 @@ stdenv.mkDerivation { "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON" "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}" "-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}" - ] ++ lib.optionals (haveLibc && !isMusl) [ + ] ++ lib.optionals (haveLibc && stdenv.hostPlatform.isGnu) [ "-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include" ] ++ lib.optionals (useLLVM || bareMetal || isMusl) [ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF" diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix index 6a4d01de5ef4..2c9a3b1af472 100644 --- a/pkgs/development/compilers/rust/cargo.nix +++ b/pkgs/development/compilers/rust/cargo.nix @@ -75,7 +75,5 @@ rustPlatform.buildRustPackage { maintainers = with maintainers; [ retrry ]; license = [ licenses.mit licenses.asl20 ]; platforms = platforms.unix; - # weird segfault in a build script - broken = stdenv.targetPlatform.isMusl && !stdenv.targetPlatform.isStatic; }; } diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix index c1753a7668e6..8f0cd0e6a226 100644 --- a/pkgs/development/interpreters/octave/default.nix +++ b/pkgs/development/interpreters/octave/default.nix @@ -25,6 +25,7 @@ , fftwSinglePrec , zlib , curl +, rapidjson , blas, lapack # These two should use the same lapack and blas as the above , qrupdate, arpack, suitesparse ? null @@ -130,6 +131,7 @@ let fltk zlib curl + rapidjson blas' lapack' libsndfile diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix index 7da2a0047f33..30b7732ed51e 100644 --- a/pkgs/development/interpreters/python/cpython/2.7/default.nix +++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix @@ -8,7 +8,7 @@ , openssl , readline , sqlite -, tcl ? null, tk ? null, tix ? null, xlibsWrapper ? null, libX11 ? null, x11Support ? false +, tcl ? null, tk ? null, tix ? null, libX11 ? null, x11Support ? false , zlib , self , configd, coreutils @@ -36,7 +36,6 @@ assert x11Support -> tcl != null && tk != null - && xlibsWrapper != null && libX11 != null; assert lib.assertMsg (enableOptimizations -> (!stdenv.cc.isClang)) @@ -234,7 +233,7 @@ let ++ optional (stdenv.hostPlatform.isCygwin || stdenv.hostPlatform.isAarch64) libffi ++ optional stdenv.hostPlatform.isCygwin expat ++ [ db gdbm ncurses sqlite readline ] - ++ optionals x11Support [ tcl tk xlibsWrapper libX11 ] + ++ optionals x11Support [ tcl tk libX11 ] ++ optional (stdenv.isDarwin && configd != null) configd; nativeBuildInputs = [ autoreconfHook ] diff --git a/pkgs/development/interpreters/python/hooks/python-relax-deps-hook.sh b/pkgs/development/interpreters/python/hooks/python-relax-deps-hook.sh index d404c6021f4f..31bdec914f69 100644 --- a/pkgs/development/interpreters/python/hooks/python-relax-deps-hook.sh +++ b/pkgs/development/interpreters/python/hooks/python-relax-deps-hook.sh @@ -22,6 +22,24 @@ # # pythonRemoveDeps = true; # â€Ĥ # } +# +# IMPLEMENTATION NOTES: +# +# The "Requires-Dist" dependency specification format is described in PEP 508. +# Examples that the regular expressions in this hook needs to support: +# +# Requires-Dist: foo +# -> foo +# Requires-Dist: foo[optional] +# -> foo[optional] +# Requires-Dist: foo[optional]~=1.2.3 +# -> foo[optional] +# Requires-Dist: foo[optional, xyz] (~=1.2.3) +# -> foo[optional, xyz] +# Requires-Dist: foo[optional]~=1.2.3 ; os_name = "posix" +# -> foo[optional] ; os_name = "posix" +# +# Currently unsupported: URL specs (foo @ https://example.com/a.zip). _pythonRelaxDeps() { local -r metadata_file="$1" @@ -30,11 +48,11 @@ _pythonRelaxDeps() { return elif [[ "$pythonRelaxDeps" == 1 ]]; then sed -i "$metadata_file" -r \ - -e 's/(Requires-Dist: \S*) \(.*\)/\1/' + -e 's/(Requires-Dist: [a-zA-Z0-9_.-]+\s*(\[[^]]+\])?)[^;]*(;.*)?/\1\3/' else for dep in $pythonRelaxDeps; do sed -i "$metadata_file" -r \ - -e "s/(Requires-Dist: $dep) \(.*\)/\1/" + -e "s/(Requires-Dist: $dep\s*(\[[^]]+\])?)[^;]*(;.*)?/\1\3/" done fi } diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix index 9900d8874b25..a38761ed7c50 100644 --- a/pkgs/development/libraries/SDL2/default.nix +++ b/pkgs/development/libraries/SDL2/default.nix @@ -59,11 +59,11 @@ with lib; stdenv.mkDerivation rec { pname = "SDL2"; - version = "2.24.0"; + version = "2.24.2"; src = fetchurl { url = "https://www.libsdl.org/release/${pname}-${version}.tar.gz"; - sha256 = "sha256-keTDSxdo+S05mweOFxRIxq8Yyv2nQ5h+0gZKKJVNbZc="; + sha256 = "sha256-s17wqAKwnZDtOt0NysDpWCCAQgKRT1u3sP63EPGhMp8="; }; dontDisableStatic = if withStatic then 1 else 0; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix index 5d5c5e956026..efe8129d3b4f 100644 --- a/pkgs/development/libraries/aws-sdk-cpp/default.nix +++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix @@ -45,6 +45,11 @@ stdenv.mkDerivation rec { ]; postPatch = '' + # Avoid blanket -Werror to evade build failures on less + # tested compilers. + substituteInPlace cmake/compiler_settings.cmake \ + --replace '"-Werror"' ' ' + # Missing includes for GCC11 sed '5i#include ' -i \ aws-cpp-sdk-cloudfront-integration-tests/CloudfrontOperationTest.cpp \ diff --git a/pkgs/development/libraries/cppunit/default.nix b/pkgs/development/libraries/cppunit/default.nix index 3cafa1c75d76..fba624a861d7 100644 --- a/pkgs/development/libraries/cppunit/default.nix +++ b/pkgs/development/libraries/cppunit/default.nix @@ -9,6 +9,10 @@ stdenv.mkDerivation rec { sha256 = "19qpqzy66bq76wcyadmi3zahk5v1ll2kig1nvg96zx9padkcdic9"; }; + # Avoid blanket -Werror to evade build failures on less + # tested compilers. + configureFlags = [ "--disable-werror" ]; + meta = with lib; { homepage = "https://freedesktop.org/wiki/Software/cppunit/"; description = "C++ unit testing framework"; diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix index 71841e0cfbc2..ac6e9bfdc386 100644 --- a/pkgs/development/libraries/expat/default.nix +++ b/pkgs/development/libraries/expat/default.nix @@ -16,11 +16,11 @@ stdenv.mkDerivation rec { pname = "expat"; - version = "2.4.9"; + version = "2.5.0"; src = fetchurl { url = "https://github.com/libexpat/libexpat/releases/download/R_${lib.replaceStrings ["."] ["_"] version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-bowHKP5cfNP5OmrM5DBGxeRzbHtLaOAy6TUNqg78A1Q="; + sha256 = "1gnwihpfz4x18rwd6cbrdggmfqjzwsdfh1gpmc0ph21c4gq2097g"; }; strictDeps = true; diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 45d8ee69a022..8e3d1a45dbe1 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -7,11 +7,9 @@ # this is just for tests (not in the closure of any regular package) , coreutils, dbus, libxml2, tzdata , desktop-file-utils, shared-mime-info -, darwin, fetchpatch +, darwin }: -with lib; - assert stdenv.isLinux -> util-linuxMinimal != null; # TODO: @@ -40,20 +38,22 @@ let done ln -sr -t "''${!outputInclude}/include/" "''${!outputInclude}"/lib/*/include/* 2>/dev/null || true ''; + + buildDocs = stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.hostPlatform.isStatic; in stdenv.mkDerivation (finalAttrs: { pname = "glib"; - version = "2.74.0"; + version = "2.74.1"; src = fetchurl { url = "mirror://gnome/sources/glib/${lib.versions.majorMinor finalAttrs.version}/glib-${finalAttrs.version}.tar.xz"; - sha256 = "NlLH8HLXsDGmte3WI/d+vF3NKuaYWYq8yJ/znKda3TA="; + sha256 = "CrmBYY0dtHhF5WQXsNfBI/gaNCeyuck/Wkb/W7uWSWQ="; }; - patches = optionals stdenv.isDarwin [ + patches = lib.optionals stdenv.isDarwin [ ./darwin-compilation.patch - ] ++ optionals stdenv.hostPlatform.isMusl [ + ] ++ lib.optionals stdenv.hostPlatform.isMusl [ ./quark_init_on_demand.patch ./gobject_init_on_demand.patch ] ++ [ @@ -90,29 +90,8 @@ stdenv.mkDerivation (finalAttrs: { # * gio-launch-desktop ./split-dev-programs.patch - # Fix build on Darwin - # https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2914 - (fetchpatch { - name = "gio-properly-guard-use-of-utimensat.patch"; - url = "https://gitlab.gnome.org/GNOME/glib/-/commit/7f7171e68a420991b537d3e9e63263a0b2871618.patch"; - sha256 = "kKEqmBqx/RlvFT3eixu+NnM7JXhHb34b9NLRfAt+9h0="; - }) - - # https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2866 - (fetchpatch { - name = "tests-skip-g-file-info-test-if-atime-unsupported.patch"; - url = "https://gitlab.gnome.org/qyliss/glib/-/commit/339a06d66685107280ca6bdca5da5d96b8222fb5.patch"; - sha256 = "sha256-/NdFkuiJvyass3jTDEJPeciA2Lwe53IUd3kAnKAvTaw="; - }) - # https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2867 - ./tests-skip-shared-libs-if-default_library-static.patch - - # https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2921 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/glib/-/commit/f0dd96c28751f15d0703b384bfc7c314af01caa8.patch"; - sha256 = "sha256-8ucHS6ZnJuP6ajGb4/L8QfhC49FTQG1kAGHVdww/YYE="; - }) - + # Disable flaky test. + # https://gitlab.gnome.org/GNOME/glib/-/issues/820 ./skip-timer-test.patch ]; @@ -124,14 +103,14 @@ stdenv.mkDerivation (finalAttrs: { libelf finalAttrs.setupHook pcre2 - ] ++ optionals (!stdenv.hostPlatform.isWindows) [ + ] ++ lib.optionals (!stdenv.hostPlatform.isWindows) [ bash gnum4 # install glib-gettextize and m4 macros for other apps to use - ] ++ optionals stdenv.isLinux [ + ] ++ lib.optionals stdenv.isLinux [ libselinux util-linuxMinimal # for libmount - ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ + ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ AppKit Carbon Cocoa CoreFoundation CoreServices Foundation - ]) ++ optionals (stdenv.hostPlatform == stdenv.buildPlatform) [ + ]) ++ lib.optionals buildDocs [ # Note: this needs to be both in buildInputs and nativeBuildInputs. The # Meson gtkdoc module uses find_program to look it up (-> build dep), but # glib's own Meson configuration uses the host pkg-config to find its @@ -147,10 +126,18 @@ stdenv.mkDerivation (finalAttrs: { strictDeps = true; nativeBuildInputs = [ - (buildPackages.meson.override { - withDarwinFrameworksGtkDocPatch = stdenv.isDarwin; - }) - ninja pkg-config perl python3 gettext gtk-doc docbook_xsl docbook_xml_dtd_45 libxml2 libxslt + meson + ninja + pkg-config + perl + python3 + gettext + ] ++ lib.optionals buildDocs [ + gtk-doc + docbook_xsl + docbook_xml_dtd_45 + libxml2 + libxslt ]; propagatedBuildInputs = [ zlib libffi gettext libiconv ]; @@ -158,10 +145,10 @@ stdenv.mkDerivation (finalAttrs: { mesonFlags = [ # Avoid the need for gobject introspection binaries in PATH in cross-compiling case. # Instead we just copy them over from the native output. - "-Dgtk_doc=${boolToString (stdenv.hostPlatform == stdenv.buildPlatform)}" + "-Dgtk_doc=${lib.boolToString buildDocs}" "-Dnls=enabled" "-Ddevbindir=${placeholder "dev"}/bin" - ] ++ optionals (!stdenv.isDarwin) [ + ] ++ lib.optionals (!stdenv.isDarwin) [ "-Dman=true" # broken on Darwin ]; @@ -215,7 +202,7 @@ stdenv.mkDerivation (finalAttrs: { for i in $dev/bin/*; do moveToOutput "share/bash-completion/completions/''${i##*/}" "$dev" done - '' + optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' + '' + lib.optionalString (!buildDocs) '' cp -r ${buildPackages.glib.devdoc} $devdoc ''; @@ -230,7 +217,7 @@ stdenv.mkDerivation (finalAttrs: { checkInputs = [ tzdata desktop-file-utils shared-mime-info ]; - preCheck = optionalString finalAttrs.doCheck or config.doCheckByDefault or false '' + preCheck = lib.optionalString finalAttrs.doCheck or config.doCheckByDefault or false '' export LD_LIBRARY_PATH="$NIX_BUILD_TOP/glib-${finalAttrs.version}/glib/.libs''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" export TZDIR="${tzdata}/share/zoneinfo" export XDG_CACHE_HOME="$TMP" diff --git a/pkgs/development/libraries/glib/tests-skip-shared-libs-if-default_library-static.patch b/pkgs/development/libraries/glib/tests-skip-shared-libs-if-default_library-static.patch deleted file mode 100644 index 106ba4f99a97..000000000000 --- a/pkgs/development/libraries/glib/tests-skip-shared-libs-if-default_library-static.patch +++ /dev/null @@ -1,141 +0,0 @@ -From b804e4b82cd8e85631112d935543c62ef56783e5 Mon Sep 17 00:00:00 2001 -From: Alyssa Ross -Date: Tue, 23 Aug 2022 13:13:44 +0000 -Subject: [PATCH] tests: skip shared libs if default_library=static - -Otherwise, the build will fail when the toolchain is static-only, even -with -Ddefault_library=static. I talked to a Meson developer in their -IRC channel, who told me that the correct fix was to ensure that -shared_library is only used if default_library != static. - -Part-of: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2867 -[Backported to 2.72.3] ---- - gio/tests/meson.build | 43 +++++++++++++++++++++++------------------- - glib/tests/meson.build | 2 +- - gmodule/tests/meson.build | 30 +++++++++++++++-------------- - 3 files changed, 41 insertions(+), 34 deletions(-) - -diff --git a/gio/tests/meson.build b/gio/tests/meson.build -index 3ed23a5f2..7b1aba80d 100644 ---- a/gio/tests/meson.build -+++ b/gio/tests/meson.build -@@ -203,7 +203,7 @@ if host_machine.system() != 'windows' - } - - # LD_PRELOAD modules don't work so well with AddressSanitizer -- if have_rtld_next and get_option('b_sanitize') == 'none' -+ if have_rtld_next and get_option('default_library') != 'static' and get_option('b_sanitize') == 'none' - gio_tests += { - 'gsocketclient-slow' : { - 'depends' : [ -@@ -607,24 +607,26 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() - - compiler_type = '--compiler=@0@'.format(cc.get_id()) - -- plugin_resources_c = custom_target('plugin-resources.c', -- input : 'test4.gresource.xml', -- output : 'plugin-resources.c', -- command : [glib_compile_resources, -- compiler_type, -- '--target=@OUTPUT@', -- '--sourcedir=' + meson.current_source_dir(), -- '--internal', -- '--generate-source', -- '--c-name', '_g_plugin', -- '@INPUT@']) -+ if get_option('default_library') != 'static' -+ plugin_resources_c = custom_target('plugin-resources.c', -+ input : 'test4.gresource.xml', -+ output : 'plugin-resources.c', -+ command : [glib_compile_resources, -+ compiler_type, -+ '--target=@OUTPUT@', -+ '--sourcedir=' + meson.current_source_dir(), -+ '--internal', -+ '--generate-source', -+ '--c-name', '_g_plugin', -+ '@INPUT@']) - -- shared_module('resourceplugin', 'resourceplugin.c', plugin_resources_c, -- link_args : export_dynamic_ldflags, -- dependencies : common_gio_tests_deps, -- install_dir : installed_tests_execdir, -- install : installed_tests_enabled -- ) -+ shared_module('resourceplugin', 'resourceplugin.c', plugin_resources_c, -+ link_args : export_dynamic_ldflags, -+ dependencies : common_gio_tests_deps, -+ install_dir : installed_tests_execdir, -+ install : installed_tests_enabled -+ ) -+ endif - - # referenced by test2.gresource.xml - big_test_resource = custom_target( -@@ -917,4 +919,7 @@ if installed_tests_enabled - endif - - subdir('services') --subdir('modules') -+ -+if get_option('default_library') != 'static' -+ subdir('modules') -+endif -diff --git a/glib/tests/meson.build b/glib/tests/meson.build -index 301158e0f..6203ff45e 100644 ---- a/glib/tests/meson.build -+++ b/glib/tests/meson.build -@@ -172,7 +172,7 @@ else - 'include' : {}, - 'unix' : {}, - } -- if have_rtld_next -+ if have_rtld_next and get_option('default_library') != 'static' - glib_tests += { - 'gutils-user-database' : { - 'depends' : [ -diff --git a/gmodule/tests/meson.build b/gmodule/tests/meson.build -index c95fa1d00..25144c941 100644 ---- a/gmodule/tests/meson.build -+++ b/gmodule/tests/meson.build -@@ -72,20 +72,22 @@ if ['darwin', 'ios'].contains(host_machine.system()) - module_suffix = 'so' - endif - --foreach module : ['moduletestplugin_a', 'moduletestplugin_b'] -- shared_module(module + '_plugin', 'lib@0@.c'.format(module), -- dependencies : [libglib_dep, libgmodule_dep], -- install_dir : installed_tests_execdir, -- install : installed_tests_enabled, -- name_suffix : module_suffix -- ) -- shared_library(module + '_library', 'lib@0@.c'.format(module), -- dependencies : [libglib_dep, libgmodule_dep], -- install_dir : installed_tests_execdir, -- install : installed_tests_enabled, -- name_suffix : module_suffix -- ) --endforeach -+if get_option('default_library') != 'static' -+ foreach module : ['moduletestplugin_a', 'moduletestplugin_b'] -+ shared_module(module + '_plugin', 'lib@0@.c'.format(module), -+ dependencies : [libglib_dep, libgmodule_dep], -+ install_dir : installed_tests_execdir, -+ install : installed_tests_enabled, -+ name_suffix : module_suffix -+ ) -+ shared_library(module + '_library', 'lib@0@.c'.format(module), -+ dependencies : [libglib_dep, libgmodule_dep], -+ install_dir : installed_tests_execdir, -+ install : installed_tests_enabled, -+ name_suffix : module_suffix -+ ) -+ endforeach -+endif - - common_c_args = test_cargs + ['-DGLIB_DISABLE_DEPRECATION_WARNINGS'] - common_deps = [libm, thread_dep, libglib_dep] --- -2.37.1 - diff --git a/pkgs/development/libraries/glibc/locales.nix b/pkgs/development/libraries/glibc/locales.nix index d2cf0f89cb07..ed6f0a5b32ca 100644 --- a/pkgs/development/libraries/glibc/locales.nix +++ b/pkgs/development/libraries/glibc/locales.nix @@ -64,8 +64,9 @@ callPackage ./common.nix { inherit stdenv; } { installPhase = '' - mkdir -p "$out/lib/locale" + mkdir -p "$out/lib/locale" "$out/share/i18n" cp -v "$TMPDIR/$NIX_STORE/"*"/lib/locale/locale-archive" "$out/lib/locale" + cp -v ../glibc-2*/localedata/SUPPORTED "$out/share/i18n/SUPPORTED" ''; setupHook = writeText "locales-setup-hook.sh" diff --git a/pkgs/development/libraries/icu/72.nix b/pkgs/development/libraries/icu/72.nix new file mode 100644 index 000000000000..8eeb10138d12 --- /dev/null +++ b/pkgs/development/libraries/icu/72.nix @@ -0,0 +1,4 @@ +import ./base.nix { + version = "72.1"; + sha256 = "sha256-otLTghcJKn7VZjXjRGf5L5drNw4gGCrTJe3qZoGnHWg="; +} diff --git a/pkgs/development/libraries/libcamera/default.nix b/pkgs/development/libraries/libcamera/default.nix index ab2095be8fcd..ff7cd7a193e3 100644 --- a/pkgs/development/libraries/libcamera/default.nix +++ b/pkgs/development/libraries/libcamera/default.nix @@ -19,14 +19,14 @@ , systemd # for libudev }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "libcamera"; - version = "unstable-2022-09-15"; + version = "0.0.1"; src = fetchgit { url = "https://git.libcamera.org/libcamera/libcamera.git"; - rev = "74ab3f778c848b20cbf8fe299170756ff6ebab1a"; - hash = "sha256-w0I4L6xXTBUdqj30LpVW/KZW6bdoUeoW9lnMOW0OLJY="; + rev = "v${version}"; + hash = "sha256-u5FnfXBCjwSp8QBrH8KIkVGV32/9pff41ZWjWXOwuMI="; }; postPatch = '' @@ -77,6 +77,9 @@ stdenv.mkDerivation { "-Dv4l2=true" "-Dqcam=disabled" "-Dlc-compliance=disabled" # tries unconditionally to download gtest when enabled + # Avoid blanket -Werror to evade build failures on less + # tested compilers. + "-Dwerror=false" ]; # Fixes error on a deprecated declaration @@ -85,6 +88,17 @@ stdenv.mkDerivation { # Silence fontconfig warnings about missing config FONTCONFIG_FILE = makeFontsConf { fontDirectories = []; }; + # libcamera signs the IPA module libraries at install time, but they are then + # modified by stripping and RPATH fixup. Therefore, we need to generate the + # signatures again ourselves. + # + # If this is not done, libcamera will still try to load them, but it will + # isolate them in separate processes, which can cause crashes for IPA modules + # that are not designed for this (notably ipa_rpi.so). + postFixup = '' + ../src/ipa/ipa-sign-install.sh src/ipa-priv-key.pem $out/lib/libcamera/ipa_*.so + ''; + meta = with lib; { description = "An open source camera stack and framework for Linux, Android, and ChromeOS"; homepage = "https://libcamera.org"; diff --git a/pkgs/development/libraries/libre/default.nix b/pkgs/development/libraries/libre/default.nix index 5f91b2ff8af9..7ed03f0af117 100644 --- a/pkgs/development/libraries/libre/default.nix +++ b/pkgs/development/libraries/libre/default.nix @@ -1,12 +1,12 @@ { lib, stdenv, fetchFromGitHub, zlib, openssl }: stdenv.mkDerivation rec { - version = "2.8.0"; + version = "2.9.0"; pname = "libre"; src = fetchFromGitHub { owner = "baresip"; repo = "re"; rev = "v${version}"; - sha256 = "sha256-mbPFaq49EI2BdhdQJwFaBxjAh2aKlcuFwoCTwhXRbUg="; + sha256 = "sha256-YNAfHmohMqGGF8N/VdndJJ32PF/GMBoNtjo/t2lt6HA="; }; buildInputs = [ zlib openssl ]; makeFlags = [ "USE_ZLIB=1" "USE_OPENSSL=1" "PREFIX=$(out)" ] diff --git a/pkgs/development/libraries/librem/default.nix b/pkgs/development/libraries/librem/default.nix index 4375b2566622..6c7bdeec0bdf 100644 --- a/pkgs/development/libraries/librem/default.nix +++ b/pkgs/development/libraries/librem/default.nix @@ -1,12 +1,12 @@ { lib, stdenv, fetchFromGitHub, zlib, openssl, libre }: stdenv.mkDerivation rec { - version = "2.8.0"; + version = "2.9.0"; pname = "librem"; src = fetchFromGitHub { owner = "baresip"; repo = "rem"; rev = "v${version}"; - sha256 = "sha256-/DAJMudEEB/8IYl27SFRlD57dfhZrPA5I1ycL4lFXy8="; + sha256 = "sha256-HiVM/opZuR7Gkt421ps+nKiiKERG8sUD8qBLIMGNCJI="; }; buildInputs = [ zlib openssl libre ]; makeFlags = [ diff --git a/pkgs/development/libraries/libvirt-glib/default.nix b/pkgs/development/libraries/libvirt-glib/default.nix index b7efdf2cf7d8..8f84cd0eab80 100644 --- a/pkgs/development/libraries/libvirt-glib/default.nix +++ b/pkgs/development/libraries/libvirt-glib/default.nix @@ -55,6 +55,9 @@ stdenv.mkDerivation rec { strictDeps = true; + # https://gitlab.com/libvirt/libvirt-glib/-/issues/4 + NIX_CFLAGS_COMPILE = [ "-Wno-error=pointer-sign" ]; + meta = with lib; { description = "Library for working with virtual machines"; longDescription = '' diff --git a/pkgs/development/libraries/libxcrypt/default.nix b/pkgs/development/libraries/libxcrypt/default.nix index db5f5026f2c1..d4ce1f8bc735 100644 --- a/pkgs/development/libraries/libxcrypt/default.nix +++ b/pkgs/development/libraries/libxcrypt/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "libxcrypt"; - version = "4.4.28"; + version = "4.4.30"; src = fetchurl { url = "https://github.com/besser82/libxcrypt/releases/download/v${version}/libxcrypt-${version}.tar.xz"; - sha256 = "sha256-npNoEfn60R28ozyhm9l8VcUus8oVkB8nreBGzHnmnoc="; + sha256 = "sha256-s2Z/C6hdqtavJGukCQ++UxY62TyLaioSV9IqeLt87ro="; }; outputs = [ @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - doCheck = !stdenv.hostPlatform.isMusl; + doCheck = true; passthru.tests = { inherit (nixosTests) login shadow; diff --git a/pkgs/development/libraries/mpich/default.nix b/pkgs/development/libraries/mpich/default.nix index 60e543c46296..14dddf1f29fd 100644 --- a/pkgs/development/libraries/mpich/default.nix +++ b/pkgs/development/libraries/mpich/default.nix @@ -11,11 +11,11 @@ assert (ch4backend.pname == "ucx" || ch4backend.pname == "libfabric"); stdenv.mkDerivation rec { pname = "mpich"; - version = "4.0.2"; + version = "4.0.3"; src = fetchurl { url = "https://www.mpich.org/static/downloads/${version}/mpich-${version}.tar.gz"; - sha256 = "0hnxvqhhscp3h70zf538dhqz9jwmqpwwnj3fqabdk8nli6lg2hjs"; + sha256 = "sha256-F0BuqQpu1OzVvjnJ3cv6yTQ+arT3esToxevko+O2xQE="; }; configureFlags = [ diff --git a/pkgs/development/libraries/openssl/1.1/macos-yosemite-compat.patch b/pkgs/development/libraries/openssl/1.1/macos-yosemite-compat.patch deleted file mode 100644 index b0e37e325611..000000000000 --- a/pkgs/development/libraries/openssl/1.1/macos-yosemite-compat.patch +++ /dev/null @@ -1,56 +0,0 @@ -From cef404f1e7a598166cbc2fd2e0048f7e2d752ad5 Mon Sep 17 00:00:00 2001 -From: David Carlier -Date: Tue, 24 Aug 2021 22:40:14 +0100 -Subject: [PATCH] Darwin platform allows to build on releases before - Yosemite/ios 8. - -issue #16407 #16408 ---- - crypto/rand/rand_unix.c | 5 +---- - include/crypto/rand.h | 10 ++++++++++ - 2 files changed, 11 insertions(+), 4 deletions(-) - -diff --git a/crypto/rand/rand_unix.c b/crypto/rand/rand_unix.c -index 43f1069d151d..0f4525106af7 100644 ---- a/crypto/rand/rand_unix.c -+++ b/crypto/rand/rand_unix.c -@@ -34,9 +34,6 @@ - #if defined(__OpenBSD__) - # include - #endif --#if defined(__APPLE__) --# include --#endif - - #if defined(OPENSSL_SYS_UNIX) || defined(__DJGPP__) - # include -@@ -381,7 +378,7 @@ static ssize_t syscall_random(void *buf, size_t buflen) - if (errno != ENOSYS) - return -1; - } --# elif defined(__APPLE__) -+# elif defined(OPENSSL_APPLE_CRYPTO_RANDOM) - if (CCRandomGenerateBytes(buf, buflen) == kCCSuccess) - return (ssize_t)buflen; - -diff --git a/include/crypto/rand.h b/include/crypto/rand.h -index 5350d3a93119..674f840fd13c 100644 ---- a/include/crypto/rand.h -+++ b/include/crypto/rand.h -@@ -20,6 +20,16 @@ - - # include - -+# if defined(__APPLE__) && !defined(OPENSSL_NO_APPLE_CRYPTO_RANDOM) -+# include -+# if (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000) || \ -+ (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) -+# define OPENSSL_APPLE_CRYPTO_RANDOM 1 -+# include -+# include -+# endif -+# endif -+ - /* forward declaration */ - typedef struct rand_pool_st RAND_POOL; - diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 62cc8e24f417..9acbca259c65 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -214,17 +214,15 @@ let in { - openssl_1_1 = common rec { - version = "1.1.1q"; - sha256 = "sha256-15Oc5hQCnN/wtsIPDi5XAxWKSJpyslB7i9Ub+Mj9EMo="; + openssl_1_1 = common { + version = "1.1.1s"; + sha256 = "sha256-xawB52Dub/Dath1rK70wFGck0GPrMiGAxvGKb3Tktqo="; patches = [ ./1.1/nix-ssl-cert-file.patch (if stdenv.hostPlatform.isDarwin then ./use-etc-ssl-certs-darwin.patch else ./use-etc-ssl-certs.patch) - ] ++ lib.optionals (stdenv.isDarwin && (builtins.substring 5 5 version) < "m") [ - ./1.1/macos-yosemite-compat.patch ]; withDocs = true; }; diff --git a/pkgs/development/libraries/pixman/default.nix b/pkgs/development/libraries/pixman/default.nix index 0407f208574c..76ec2244c833 100644 --- a/pkgs/development/libraries/pixman/default.nix +++ b/pkgs/development/libraries/pixman/default.nix @@ -16,11 +16,14 @@ stdenv.mkDerivation rec { pname = "pixman"; - version = "0.38.4"; + version = "0.42.2"; src = fetchurl { - url = "mirror://xorg/individual/lib/${pname}-${version}.tar.bz2"; - sha256 = "0l0m48lnmdlmnaxn2021qi5cj366d9fzfjxkqgcj9bs14pxbgaw4"; + urls = [ + "mirror://xorg/individual/lib/${pname}-${version}.tar.gz" + "https://cairographics.org/releases/${pname}-${version}.tar.gz" + ]; + hash = "sha256-6hSA762i/ZSLx1Nm98NJ4cltMpfQmj/mJibjjiNKYl4="; }; separateDebugInfo = !stdenv.hostPlatform.isStatic; @@ -29,7 +32,9 @@ stdenv.mkDerivation rec { buildInputs = [ libpng ]; - configureFlags = lib.optional stdenv.isAarch32 "--disable-arm-iwmmxt"; + configureFlags = lib.optional stdenv.isAarch32 "--disable-arm-iwmmxt" + # Disable until https://gitlab.freedesktop.org/pixman/pixman/-/issues/46 is resolved + ++ lib.optional (stdenv.isAarch64 && !stdenv.cc.isGNU) "--disable-arm-a64-neon"; preConfigure = '' # https://gitlab.freedesktop.org/pixman/pixman/-/issues/62 diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix index 5d7b7202945f..a93c2b67d43f 100644 --- a/pkgs/development/libraries/qt-5/5.12/default.nix +++ b/pkgs/development/libraries/qt-5/5.12/default.nix @@ -81,7 +81,11 @@ let sha256 = "0crkw3j1iwdc1pbf5dhar0b4q3h5gs2q1sika8m12y02yk3ns697"; }) ]; - qtdeclarative = [ ./qtdeclarative.patch ]; + qtdeclarative = [ + ./qtdeclarative.patch + # prevent headaches from stale qmlcache data + ./qtdeclarative-default-disable-qmlcache.patch + ]; qtlocation = [ ./qtlocation-gcc-9.patch ]; qtscript = [ ./qtscript.patch ]; qtserialport = [ ./qtserialport.patch ]; diff --git a/pkgs/development/libraries/qt-5/5.12/qtdeclarative-default-disable-qmlcache.patch b/pkgs/development/libraries/qt-5/5.12/qtdeclarative-default-disable-qmlcache.patch new file mode 100644 index 000000000000..e9c3b7e22842 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.12/qtdeclarative-default-disable-qmlcache.patch @@ -0,0 +1,40 @@ +diff --git a/src/qml/qml/qqmltypeloader.cpp b/src/qml/qml/qqmltypeloader.cpp +index 9e5bc0b0..9219def6 100644 +--- a/src/qml/qml/qqmltypeloader.cpp ++++ b/src/qml/qml/qqmltypeloader.cpp +@@ -2151,7 +2151,7 @@ void QQmlTypeData::unregisterCallback(TypeDataCallback *callback) + + bool QQmlTypeData::tryLoadFromDiskCache() + { +- if (disableDiskCache() && !forceDiskCache()) ++ if (!forceDiskCache()) + return false; + + if (isDebugging()) +@@ -2658,7 +2658,7 @@ void QQmlTypeData::compile(const QQmlRefPointer &typeNameCach + return; + } + +- const bool trySaveToDisk = (!disableDiskCache() || forceDiskCache()) && !m_document->jsModule.debugMode && !typeRecompilation; ++ const bool trySaveToDisk = (forceDiskCache()) && !m_document->jsModule.debugMode && !typeRecompilation; + if (trySaveToDisk) { + QString errorString; + if (m_compiledData->saveToDisk(url(), &errorString)) { +@@ -3014,7 +3014,7 @@ QQmlRefPointer QQmlScriptBlob::scriptData() const + + void QQmlScriptBlob::dataReceived(const SourceCodeData &data) + { +- if (!disableDiskCache() || forceDiskCache()) { ++ if (forceDiskCache()) { + QQmlRefPointer unit = QV4::Compiler::Codegen::createUnitForLoading(); + QString error; + if (unit->loadFromDisk(url(), data.sourceTimeStamp(), &error)) { +@@ -3077,7 +3077,7 @@ void QQmlScriptBlob::dataReceived(const SourceCodeData &data) + qmlGenerator.generate(irUnit); + } + +- if ((!disableDiskCache() || forceDiskCache()) && !isDebugging()) { ++ if ((forceDiskCache()) && !isDebugging()) { + QString errorString; + if (unit->saveToDisk(url(), &errorString)) { + QString error; diff --git a/pkgs/development/libraries/qt-5/5.14/default.nix b/pkgs/development/libraries/qt-5/5.14/default.nix index 32630810b49c..808562772f9e 100644 --- a/pkgs/development/libraries/qt-5/5.14/default.nix +++ b/pkgs/development/libraries/qt-5/5.14/default.nix @@ -68,7 +68,11 @@ let ./qtbase.patch.d/0010-qtbase-assert.patch ./qtbase.patch.d/0011-fix-header_module.patch ]; - qtdeclarative = [ ./qtdeclarative.patch ]; + qtdeclarative = [ + ./qtdeclarative.patch + # prevent headaches from stale qmlcache data + ./qtdeclarative-default-disable-qmlcache.patch + ]; qtlocation = [ ./qtlocation-gcc-9.patch ]; qtscript = [ ./qtscript.patch ]; qtserialport = [ ./qtserialport.patch ]; diff --git a/pkgs/development/libraries/qt-5/5.14/qtdeclarative-default-disable-qmlcache.patch b/pkgs/development/libraries/qt-5/5.14/qtdeclarative-default-disable-qmlcache.patch new file mode 100644 index 000000000000..8ef5ef53dea3 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.14/qtdeclarative-default-disable-qmlcache.patch @@ -0,0 +1,13 @@ +diff --git a/src/qml/qml/qqmltypeloader.cpp b/src/qml/qml/qqmltypeloader.cpp +index 6c12de92..fc67dc07 100644 +--- a/src/qml/qml/qqmltypeloader.cpp ++++ b/src/qml/qml/qqmltypeloader.cpp +@@ -705,7 +705,7 @@ bool QQmlTypeLoader::Blob::isDebugging() const + + bool QQmlTypeLoader::Blob::diskCacheEnabled() const + { +- return (!disableDiskCache() || forceDiskCache()) && !isDebugging(); ++ return (forceDiskCache()) && !isDebugging(); + } + + bool QQmlTypeLoader::Blob::qmldirDataAvailable(const QQmlRefPointer &data, QList *errors) diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix index e3f94ba8ffef..616bf22ff13a 100644 --- a/pkgs/development/libraries/qt-5/5.15/default.nix +++ b/pkgs/development/libraries/qt-5/5.15/default.nix @@ -56,7 +56,11 @@ let ./qtbase.patch.d/0010-qtbase-assert.patch ./qtbase.patch.d/0011-fix-header_module.patch ]; - qtdeclarative = [ ./qtdeclarative.patch ]; + qtdeclarative = [ + ./qtdeclarative.patch + # prevent headaches from stale qmlcache data + ./qtdeclarative-default-disable-qmlcache.patch + ]; qtscript = [ ./qtscript.patch ]; qtserialport = [ ./qtserialport.patch ]; qtwebengine = lib.optionals stdenv.isDarwin [ diff --git a/pkgs/development/libraries/qt-5/5.15/qtdeclarative-default-disable-qmlcache.patch b/pkgs/development/libraries/qt-5/5.15/qtdeclarative-default-disable-qmlcache.patch new file mode 100644 index 000000000000..03668d960c78 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.15/qtdeclarative-default-disable-qmlcache.patch @@ -0,0 +1,13 @@ +diff --git a/src/qml/qml/qqmltypeloader.cpp b/src/qml/qml/qqmltypeloader.cpp +index 1d66e75..827567a 100644 +--- a/src/qml/qml/qqmltypeloader.cpp ++++ b/src/qml/qml/qqmltypeloader.cpp +@@ -727,7 +727,7 @@ bool QQmlTypeLoader::Blob::isDebugging() const + + bool QQmlTypeLoader::Blob::diskCacheEnabled() const + { +- return (!disableDiskCache() && !isDebugging()) || forceDiskCache(); ++ return forceDiskCache(); + } + + bool QQmlTypeLoader::Blob::qmldirDataAvailable(const QQmlRefPointer &data, QList *errors) diff --git a/pkgs/development/libraries/qt-6/modules/qtdeclarative.nix b/pkgs/development/libraries/qt-6/modules/qtdeclarative.nix index c8abc71a2235..76231f866efe 100644 --- a/pkgs/development/libraries/qt-6/modules/qtdeclarative.nix +++ b/pkgs/development/libraries/qt-6/modules/qtdeclarative.nix @@ -16,6 +16,10 @@ qtModule { "-DQT6_INSTALL_PREFIX=${placeholder "out"}" "-DQT_INSTALL_PREFIX=${placeholder "out"}" ]; + patches = [ + # prevent headaches from stale qmlcache data + ../patches/qtdeclarative-default-disable-qmlcache.patch + ]; postInstall = '' substituteInPlace "$out/lib/cmake/Qt6Qml/Qt6QmlMacros.cmake" \ --replace ''\'''${QT6_INSTALL_PREFIX}' "$dev" diff --git a/pkgs/development/libraries/qt-6/patches/qtdeclarative-default-disable-qmlcache.patch b/pkgs/development/libraries/qt-6/patches/qtdeclarative-default-disable-qmlcache.patch new file mode 100644 index 000000000000..02e578f2d523 --- /dev/null +++ b/pkgs/development/libraries/qt-6/patches/qtdeclarative-default-disable-qmlcache.patch @@ -0,0 +1,13 @@ +diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp +index 852cde9e..165f1b57 100644 +--- a/src/qml/jsruntime/qv4engine.cpp ++++ b/src/qml/jsruntime/qv4engine.cpp +@@ -2093,7 +2093,7 @@ void ExecutionEngine::registerModule(const QString &_name, const QJSValue &modul + + bool ExecutionEngine::diskCacheEnabled() const + { +- return (!disableDiskCache() && !debugger()) || forceDiskCache(); ++ return forceDiskCache(); + } + + void ExecutionEngine::callInContext(QV4::Function *function, QObject *self, diff --git a/pkgs/development/libraries/spglib/default.nix b/pkgs/development/libraries/spglib/default.nix index c10b5a705425..4b634a0f1f69 100644 --- a/pkgs/development/libraries/spglib/default.nix +++ b/pkgs/development/libraries/spglib/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "spglib"; - version = "2.0.1"; # N.B: if you change this, please update: pythonPackages.spglib + version = "2.0.2"; # N.B: if you change this, please update: pythonPackages.spglib src = fetchFromGitHub { owner = "spglib"; repo = "spglib"; rev = "v${version}"; - sha256 = "sha256-0M3GSnNvBNmE4ShW8NNkVrOBGEF9A0C5wd++xnyrcdI="; + sha256 = "sha256-8Voepj35CMbboL3Dc55Gc4+OLPTTSgqVQuvNcRQsqmU="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/taglib/default.nix b/pkgs/development/libraries/taglib/default.nix index 666d013adebc..0fb207e4e0f7 100644 --- a/pkgs/development/libraries/taglib/default.nix +++ b/pkgs/development/libraries/taglib/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "taglib"; - version = "1.12"; + version = "1.13"; src = fetchFromGitHub { owner = "taglib"; repo = "taglib"; rev = "v${version}"; - sha256 = "sha256-omErajnYgxbflsbe6pS2KsexZcXisso0WGYnmIud7WA="; + sha256 = "sha256-DRALRH+/7c2lBvCpLp8hop3Xxsf76F1q8L7F9qehqQA="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix index 2c4422d7a1f9..40744f987c8e 100644 --- a/pkgs/development/libraries/tracker/default.nix +++ b/pkgs/development/libraries/tracker/default.nix @@ -29,13 +29,13 @@ stdenv.mkDerivation rec { pname = "tracker"; - version = "3.4.0"; + version = "3.4.1"; outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "s7OAyVcdfHQjtfQB5KLy143kcUOwNessEoHiQjxZIYs="; + sha256 = "6p1BqfucK0KtgPwsgjJ7XHE9WUyWmwnhpJvmP7dPT64="; }; postPatch = '' diff --git a/pkgs/development/python-modules/Cython/default.nix b/pkgs/development/python-modules/Cython/default.nix index 4a6c14b5709b..3065e822f6be 100644 --- a/pkgs/development/python-modules/Cython/default.nix +++ b/pkgs/development/python-modules/Cython/default.nix @@ -48,8 +48,20 @@ in buildPythonPackage rec { # trashcan support is needed to avoid stack overflows during object deallocation in sage (https://trac.sagemath.org/ticket/27267) (fetchpatch { name = "trashcan.patch"; - url = "https://git.sagemath.org/sage.git/plain/build/pkgs/cython/patches/trashcan.patch?id=4569a839f070a1a38d5dbce2a4d19233d25aeed2"; - sha256 = "sha256-+pOF1XNTEtNseLpqPzrc1Jfwt5hGx7doUoccIhNneYY="; + url = "https://github.com/cython/cython/commit/f781880b6780117660b2026caadf4a6d7905722f.patch"; + sha256 = "sha256-SnjaJdBZxm3O5gJ5Dxut6+eeVtZv+ygUUNwAwgoiFxg="; + }) + # The above commit introduces custom trashcan macros, as well as + # compiler changes to use them in Cython-emitted code. The latter + # change is still useful, but the former has been upstreamed as of + # Python 3.8, and the patch below makes Cython use the upstream + # trashcan macros whenever available. This is needed for Python + # 3.11 support, because the API used in Cython's implementation + # changed: https://github.com/cython/cython/pull/4475 + (fetchpatch { + name = "disable-trashcan.patch"; + url = "https://github.com/cython/cython/commit/e337825cdcf5e94d38ba06a0cb0188e99ce0cc92.patch"; + sha256 = "sha256-q0f63eetKrDpmP5Z4v8EuGxg26heSyp/62OYqhRoSso="; }) ]; diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix index d87626e7b530..6707cb53e720 100644 --- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix +++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { pname = "adafruit-platformdetect"; - version = "3.32.0"; + version = "3.33.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -15,7 +15,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "Adafruit-PlatformDetect"; inherit version; - hash = "sha256-MbrRf7kcPNYb1i+5cSkCvO9SJbvrPAeKGWxtfi1FmaQ="; + hash = "sha256-Fj+LUTovZm6t0YRCa8QtoTBal+PefCvTIl9OeBoac6U="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/aiohomekit/default.nix b/pkgs/development/python-modules/aiohomekit/default.nix index ab9f3556a887..a72d72878760 100644 --- a/pkgs/development/python-modules/aiohomekit/default.nix +++ b/pkgs/development/python-modules/aiohomekit/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "aiohomekit"; - version = "2.2.18"; + version = "2.2.19"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "Jc2k"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-yE3+1dhgqgqmoBhBVsivXvn7MTKaY8FYiyqBRkg3h1U="; + hash = "sha256-x1Cah47EupdqLxwoJBLmN3AtC7zYqGZTP0nbLLsC3a0="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix index bca1f6002f4e..9a6f14f765e5 100644 --- a/pkgs/development/python-modules/aiohttp/default.nix +++ b/pkgs/development/python-modules/aiohttp/default.nix @@ -29,12 +29,12 @@ buildPythonPackage rec { pname = "aiohttp"; - version = "3.8.1"; + version = "3.8.3"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "fc5471e1a54de15ef71c1bc6ebe80d4dc681ea600e68bfd1cbce40427f0b7578"; + sha256 = "3828fb41b7203176b82fe5d699e0d845435f2374750a44b480ea6b930f6be269"; }; postPatch = '' diff --git a/pkgs/development/python-modules/azure-eventgrid/default.nix b/pkgs/development/python-modules/azure-eventgrid/default.nix index 99e9198c4fea..5946f5202c8e 100644 --- a/pkgs/development/python-modules/azure-eventgrid/default.nix +++ b/pkgs/development/python-modules/azure-eventgrid/default.nix @@ -10,15 +10,15 @@ buildPythonPackage rec { pname = "azure-eventgrid"; - version = "4.9.0"; + version = "4.9.1"; format = "setuptools"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; extension = "zip"; - hash = "sha256-ueuOxhNATK6o/Vue+x5vtP0ac3CQellkuyQmSrq7tqQ="; + hash = "sha256-zRiS5XsinEQoyYsg2PSso3Y2pC7QwB1fbVkCF1OeQ3U="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix b/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix index ce0920b972b6..dff9c2fe6d65 100644 --- a/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "azure-mgmt-containerservice"; - version = "20.6.0"; + version = "20.7.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -19,7 +19,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; extension = "zip"; - hash = "sha256-zQ3Lg45rO1vgtsjQnokNFjWt6qnrNQ2CnElGJ0Dksew="; + hash = "sha256-tNuBIfObCWd8JXq49CDLOzMl1pw7ulTQJua7CNJjRuo="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/bellows/default.nix b/pkgs/development/python-modules/bellows/default.nix index 4e509e1b3c27..de4205654255 100644 --- a/pkgs/development/python-modules/bellows/default.nix +++ b/pkgs/development/python-modules/bellows/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "bellows"; - version = "0.34.2"; + version = "0.34.3"; format = "setuptools"; src = fetchFromGitHub { owner = "zigpy"; repo = "bellows"; rev = "refs/tags/${version}"; - sha256 = "sha256-78LUQBFV4TFPDLiSHBG+RLnQLaCPX4LZpow9aszQAQA="; + sha256 = "sha256-7jaXNz7i+kF64T+5/QWKGpxHCkg/M9U2hbWrVB2tjH8="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/build/default.nix b/pkgs/development/python-modules/build/default.nix index 1ef401b8c0a2..efc1f2f45ad1 100644 --- a/pkgs/development/python-modules/build/default.nix +++ b/pkgs/development/python-modules/build/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "build"; - version = "0.8.0"; + version = "0.9.0"; format = "pyproject"; disabled = pythonOlder "3.6"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "pypa"; repo = pname; rev = version; - hash = "sha256-P0DFBYsL2Ce/JwfYss64+CY/IvzYZEiz9wuEslij+oU="; + hash = "sha256-iQvfZC/h9SbagExoG8dJ2A8G8gVRdMaRvEy9QcQIN5I="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/cattrs/default.nix b/pkgs/development/python-modules/cattrs/default.nix index 6584f5f15df1..8514190202e1 100644 --- a/pkgs/development/python-modules/cattrs/default.nix +++ b/pkgs/development/python-modules/cattrs/default.nix @@ -2,7 +2,6 @@ , attrs , buildPythonPackage , fetchFromGitHub -, fetchpatch , exceptiongroup , hypothesis , immutables @@ -21,7 +20,7 @@ buildPythonPackage rec { pname = "cattrs"; - version = "22.1.0"; + version = "22.2.0"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -30,17 +29,9 @@ buildPythonPackage rec { owner = "python-attrs"; repo = pname; rev = "v${version}"; - hash = "sha256-C8uIsewpgJfB1yYckWTwF5K32+2AAOrxFKB9I18RENg="; + hash = "sha256-Qnrq/mIA/t0mur6IAen4vTmMIhILWS6v5nuf+Via2hA="; }; - patches = [ - (fetchpatch { - url = "https://github.com/python-attrs/cattrs/commit/290d162a589acf10ea63b825b7b283e23ca7698a.diff"; - excludes = [ "poetry.lock" ]; - hash = "sha256-n6c3qVg9umGKAxeTALq3QTJgO9DIj3SY0ZHhtsDeW94="; - }) - ]; - nativeBuildInputs = [ poetry-core ]; diff --git a/pkgs/development/python-modules/exceptiongroup/default.nix b/pkgs/development/python-modules/exceptiongroup/default.nix index 1475b44e0016..76c6f0e2d34e 100644 --- a/pkgs/development/python-modules/exceptiongroup/default.nix +++ b/pkgs/development/python-modules/exceptiongroup/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "exceptiongroup"; - version = "1.0.0rc9"; + version = "1.0.0"; format = "flit"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-kIakoh75sxxyGBx3wECgdLoIie5Wp7KJ/wr7DZdlX5Y="; + hash = "sha256-r/ur8T+26YmIw42cVlDnAVaf48HeMjPPthxfM3dGkK0="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/jupyter_core/default.nix b/pkgs/development/python-modules/jupyter_core/default.nix index b7838ff5915f..56dc157a69d2 100644 --- a/pkgs/development/python-modules/jupyter_core/default.nix +++ b/pkgs/development/python-modules/jupyter_core/default.nix @@ -1,42 +1,44 @@ { lib , buildPythonPackage -, fetchPypi -, isPy3k -, fetchpatch -, python -, ipython +, pythonOlder +, fetchFromGitHub +, hatchling , traitlets -, glibcLocales -, mock , pytestCheckHook -, nose }: buildPythonPackage rec { pname = "jupyter_core"; - version = "4.9.2"; - disabled = !isPy3k; + version = "4.11.2"; + disabled = pythonOlder "3.7"; - src = fetchPypi { - inherit pname version; - sha256 = "sha256-1puuuf+xKLjNJlf88nA/icdp0Wc8hRgSEZ46Kg6TrZo="; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "jupyter"; + repo = "jupyter_core"; + rev = version; + hash = "sha256-lDhwvhsOxLHBC6CQjCW/rmtHSuMRPC2yaurBd5K3FLc="; }; - checkInputs = [ pytestCheckHook mock glibcLocales nose ]; - propagatedBuildInputs = [ ipython traitlets ]; - patches = [ - # install jupyter_core/*.py files - (fetchpatch { - url = "https://github.com/jupyter/jupyter_core/pull/253/commits/3bbeaebec0a53520523162d5e8d5c6ca02b1b782.patch"; - sha256 = "sha256-QeAfj7wLz4egVUPMAgrZ9Wn/Tv60LrIXLgHGVoH41wQ="; - }) ./tests_respect_pythonpath.patch ]; + nativeBuildInputs = [ + hatchling + ]; + + propagatedBuildInputs = [ + traitlets + ]; + + checkInputs = [ + pytestCheckHook + ]; + preCheck = '' export HOME=$TMPDIR - export LC_ALL=en_US.utf8 ''; disabledTests = [ @@ -51,7 +53,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "jupyter_core" ]; meta = with lib; { - description = "Jupyter core package. A base package on which Jupyter projects rely"; + description = "Base package on which Jupyter projects rely"; homepage = "https://jupyter.org/"; license = licenses.bsd3; maintainers = with maintainers; [ fridh ]; diff --git a/pkgs/development/python-modules/jupyter_core/tests_respect_pythonpath.patch b/pkgs/development/python-modules/jupyter_core/tests_respect_pythonpath.patch index 7e7e9ae93a09..eb061676c0e2 100644 --- a/pkgs/development/python-modules/jupyter_core/tests_respect_pythonpath.patch +++ b/pkgs/development/python-modules/jupyter_core/tests_respect_pythonpath.patch @@ -1,20 +1,22 @@ +diff --git a/jupyter_core/tests/test_command.py b/jupyter_core/tests/test_command.py +index 4ef38cd..08fba22 100644 --- a/jupyter_core/tests/test_command.py +++ b/jupyter_core/tests/test_command.py -@@ -131,7 +131,7 @@ def test_not_on_path(tmpdir): - witness_src = '#!%s\n%s\n' % (sys.executable, 'print("WITNESS ME")') +@@ -174,7 +174,7 @@ def test_not_on_path(tmpdir): + witness_src = "#!{}\n{}\n".format(sys.executable, 'print("WITNESS ME")') write_executable(witness, witness_src) - -- env = {'PATH': ''} -+ env = {'PATH': '', 'PYTHONPATH': os.environ['PYTHONPATH']} - if 'SYSTEMROOT' in os.environ: # Windows http://bugs.python.org/issue20614 - env[str('SYSTEMROOT')] = os.environ['SYSTEMROOT'] - if sys.platform == 'win32': -@@ -157,7 +157,7 @@ def test_path_priority(tmpdir): - witness_b_src = '#!%s\n%s\n' % (sys.executable, 'print("WITNESS B")') + +- env = {"PATH": ""} ++ env = {"PATH": "", "PYTHONPATH": os.environ["PYTHONPATH"]} + if "SYSTEMROOT" in os.environ: # Windows http://bugs.python.org/issue20614 + env["SYSTEMROOT"] = os.environ["SYSTEMROOT"] + if sys.platform == "win32": +@@ -198,7 +198,7 @@ def test_path_priority(tmpdir): + witness_b_src = "#!{}\n{}\n".format(sys.executable, 'print("WITNESS B")') write_executable(witness_b, witness_b_src) - -- env = {'PATH': str(b)} -+ env = {'PATH': str(b), 'PYTHONPATH': os.environ['PYTHONPATH']} - if 'SYSTEMROOT' in os.environ: # Windows http://bugs.python.org/issue20614 - env[str('SYSTEMROOT')] = os.environ['SYSTEMROOT'] - if sys.platform == 'win32': + +- env = {"PATH": str(b)} ++ env = {"PATH": str(b), "PYTHONPATH": os.environ["PYTHONPATH"]} + if "SYSTEMROOT" in os.environ: # Windows http://bugs.python.org/issue20614 + env["SYSTEMROOT"] = os.environ["SYSTEMROOT"] + if sys.platform == "win32": diff --git a/pkgs/development/python-modules/jupytext/default.nix b/pkgs/development/python-modules/jupytext/default.nix index 37f855394cdd..dabbe303e161 100644 --- a/pkgs/development/python-modules/jupytext/default.nix +++ b/pkgs/development/python-modules/jupytext/default.nix @@ -2,6 +2,7 @@ , stdenv , buildPythonPackage , fetchFromGitHub +, fetchpatch , GitPython , isort , jupyter-client @@ -31,6 +32,13 @@ buildPythonPackage rec { sha256 = "sha256-DDF4aTLkhEl4xViYh/E0/y6swcwZ9KbeS0qKm+HdFz8="; }; + patches = [ + (fetchpatch { + url = "https://github.com/mwouts/jupytext/commit/be9b65b03600227b737b5f10ea259a7cdb762b76.patch"; + hash = "sha256-3klx8I+T560EVfsKe/FlrSjF6JzdKSCt6uhAW2cSwtc="; + }) + ]; + buildInputs = [ jupyter-packaging jupyterlab diff --git a/pkgs/development/python-modules/mkdocs-jupyter/default.nix b/pkgs/development/python-modules/mkdocs-jupyter/default.nix index 2c9b85e64e0b..846d40a25fa0 100644 --- a/pkgs/development/python-modules/mkdocs-jupyter/default.nix +++ b/pkgs/development/python-modules/mkdocs-jupyter/default.nix @@ -21,6 +21,8 @@ buildPythonPackage rec { }; postPatch = '' + substituteInPlace setup.py \ + --replace "nbconvert>=6.2.0,<7.0.0" "nbconvert>=6.2.0" substituteInPlace mkdocs_jupyter/tests/test_base_usage.py \ --replace "[\"mkdocs\"," "[\"${mkdocs.out}/bin/mkdocs\"," ''; diff --git a/pkgs/development/python-modules/nbconvert/default.nix b/pkgs/development/python-modules/nbconvert/default.nix index 1940da96047d..51123d05ef4a 100644 --- a/pkgs/development/python-modules/nbconvert/default.nix +++ b/pkgs/development/python-modules/nbconvert/default.nix @@ -4,78 +4,80 @@ , defusedxml , fetchPypi , fetchpatch +, fetchurl +, hatchling +, importlib-metadata , ipywidgets , jinja2 +, jupyter_core , jupyterlab-pygments , lib , markupsafe , mistune , nbclient +, packaging , pandocfilters +, pygments , pyppeteer , pytestCheckHook +, pythonOlder , tinycss2 +, traitlets }: -buildPythonPackage rec { +let + # see https://github.com/jupyter/nbconvert/issues/1896 + style-css = fetchurl { + url = "https://cdn.jupyter.org/notebook/5.4.0/style/style.min.css"; + hash = "sha256-WGWmCfRDewRkvBIc1We2GQdOVAoFFaO4LyIvdk61HgE="; + }; +in buildPythonPackage rec { pname = "nbconvert"; - version = "6.5.3"; - format = "setuptools"; + version = "7.2.3"; + + disabled = pythonOlder "3.7"; + + format = "pyproject"; src = fetchPypi { inherit pname version; - hash = "sha256-EO1pPEz9PGNYPIfKXDovbth0FFEDWV84JO/Mjfy3Uiw="; + hash = "sha256-eufMxoSVtWXasVNFnufmUDmXCRPrEVBw2m4sZzzw6fg="; }; # Add $out/share/jupyter to the list of paths that are used to search for # various exporter templates patches = [ ./templates.patch - - # Use mistune 2.x - (fetchpatch { - name = "support-mistune-2.x.patch"; - url = "https://github.com/jupyter/nbconvert/commit/e870d9a4a61432a65bee5466c5fa80c9ee28966e.patch"; - hash = "sha256-kdOmE7BnkRy2lsNQ2OVrEXXZntJUPJ//b139kSsfKmI="; - excludes = [ "pyproject.toml" ]; - }) - - # patch nbconvert/filters/markdown_mistune.py - (fetchpatch { - name = "clean-up-markdown-parsing.patch"; - url = "https://github.com/jupyter/nbconvert/commit/4df1f5451c9c3e8121036dfbc7e07f0095f4d524.patch"; - hash = "sha256-O+VWUaQi8UMCpE9/h/IsrenmEuJ2ac/kBkUBq7GFJTY"; - }) - (fetchpatch { - name = "fix-markdown-table.patch"; - url = "https://github.com/jupyter/nbconvert/commit/d3900ed4527f024138dc3a8658c6a1b1dfc43c09.patch"; - hash = "sha256-AFE1Zhw29JMLB0Sj17zHcOfy7VEFqLekO8NYbyMLrdI="; - }) ]; postPatch = '' substituteAllInPlace ./nbconvert/exporters/templateexporter.py - # Use mistune 2.x - substituteInPlace setup.py \ - --replace "mistune>=0.8.1,<2" "mistune>=2.0.3,<3" - - # Equivalent of the upstream patch https://github.com/jupyter/nbconvert/commit/aec39288c9a6c614d659bcaf9f5cb36634d6b37b.patch - substituteInPlace share/jupyter/nbconvert/templates/lab/base.html.j2 \ - --replace "{{ output.data['image/svg+xml'] | clean_html }}" "{{ output.data['image/svg+xml'].encode(\"utf-8\") | clean_html }}" + mkdir -p share/templates/classic/static + cp ${style-css} share/templates/classic/static/style.css ''; + nativeBuildInputs = [ + hatchling + ]; + propagatedBuildInputs = [ beautifulsoup4 bleach defusedxml jinja2 + jupyter_core jupyterlab-pygments markupsafe mistune nbclient + packaging pandocfilters + pygments tinycss2 + traitlets + ] ++ lib.optionals (pythonOlder "3.10") [ + importlib-metadata ]; preCheck = '' @@ -88,15 +90,13 @@ buildPythonPackage rec { pytestCheckHook ]; - pytestFlagsArray = [ - # DeprecationWarning: Support for bleach <5 will be removed in a future version of nbconvert - "-W ignore::DeprecationWarning" - ]; - disabledTests = [ # Attempts network access (Failed to establish a new connection: [Errno -3] Temporary failure in name resolution) "test_export" "test_webpdf_with_chromium" + # ModuleNotFoundError: No module named 'nbconvert.tests' + "test_convert_full_qualified_name" + "test_post_processor" ]; # Some of the tests use localhost networking. diff --git a/pkgs/development/python-modules/nbformat/default.nix b/pkgs/development/python-modules/nbformat/default.nix index fabee5f10a2b..a418e5c6b48f 100644 --- a/pkgs/development/python-modules/nbformat/default.nix +++ b/pkgs/development/python-modules/nbformat/default.nix @@ -1,50 +1,48 @@ { lib , buildPythonPackage +, pythonOlder , fetchPypi +, hatchling +, hatch-nodejs-version , fastjsonschema -, flit-core -, pytestCheckHook -, glibcLocales -, ipython_genutils -, traitlets -, testpath , jsonschema , jupyter_core +, traitlets , pep440 +, pytestCheckHook +, testpath }: buildPythonPackage rec { pname = "nbformat"; - version = "5.5.0"; + version = "5.7.0"; + + disabled = pythonOlder "3.7"; + format = "pyproject"; src = fetchPypi { inherit pname version; - sha256 = "sha256-nr4w5sOz5bR9Of8KOJehrPUj0r+vy04tBM23D4pmxQc="; + sha256 = "1d4760c15c1a04269ef5caf375be8b98dd2f696e5eb9e603ec2bf091f9b0d3f3"; }; nativeBuildInputs = [ - flit-core + hatchling + hatch-nodejs-version ]; - LC_ALL="en_US.utf8"; - propagatedBuildInputs = [ fastjsonschema - ipython_genutils jsonschema jupyter_core - pep440 - testpath traitlets ]; - checkInputs = [ pytestCheckHook glibcLocales ]; - - preCheck = '' - mkdir tmp - export HOME=tmp - ''; + checkInputs = [ + pep440 + pytestCheckHook + testpath + ]; # Some of the tests use localhost networking. __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/protobuf/default.nix b/pkgs/development/python-modules/protobuf/default.nix index cc7ea3c7bdc3..7034ef322ab5 100644 --- a/pkgs/development/python-modules/protobuf/default.nix +++ b/pkgs/development/python-modules/protobuf/default.nix @@ -6,15 +6,29 @@ , isPyPy }: +let + versionMajor = lib.versions.major protobuf.version; + versionMinor = lib.versions.minor protobuf.version; + versionPatch = lib.versions.patch protobuf.version; +in buildPythonPackage { - inherit (protobuf) pname src version; + inherit (protobuf) pname src; + + # protobuf 3.21 coresponds with its python library 4.21 + version = + if lib.versionAtLeast protobuf.version "3.21" + then "${toString (lib.toInt versionMajor + 1)}.${versionMinor}.${versionPatch}" + else protobuf.version; + disabled = isPyPy; + sourceRoot = "source/python"; + prePatch = '' - while [ ! -d python ]; do - cd * - done - cd python + if [[ "$(<../version.json)" != *'"python": "'"$version"'"'* ]]; then + echo "Python library version mismatch. Derivation version: $version, actual: $(<../version.json)" + exit 1 + fi ''; nativeBuildInputs = [ pyext ]; diff --git a/pkgs/development/python-modules/psutil/default.nix b/pkgs/development/python-modules/psutil/default.nix index 088541552ec2..b461bc6fdcf0 100644 --- a/pkgs/development/python-modules/psutil/default.nix +++ b/pkgs/development/python-modules/psutil/default.nix @@ -1,29 +1,42 @@ -{ lib, stdenv, buildPythonPackage, fetchPypi, isPy27, python -, CoreFoundation, IOKit +{ lib +, stdenv +, buildPythonPackage +, CoreFoundation +, fetchPypi +, IOKit , pytestCheckHook -, mock -, unittest2 +, python +, pythonOlder }: buildPythonPackage rec { pname = "psutil"; - version = "5.9.2"; + version = "5.9.3"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-/rhhoQtsO7AHAQY7N+Svx1T4IX8PCcQigFhr1qxxK1w="; + hash = "sha256-fM/N/qT8SwoCyiwx3n/NGGvrnP+CB4AOFKtm95x3OvY="; }; - # We have many test failures on various parts of the package: - # - segfaults on darwin: - # https://github.com/giampaolo/psutil/issues/1715 - # - swap (on linux) might cause test failures if it is fully used: - # https://github.com/giampaolo/psutil/issues/1911 - # - some mount paths are required in the build sanbox to make the tests succeed: - # https://github.com/giampaolo/psutil/issues/1912 - doCheck = false; - checkInputs = [ pytestCheckHook ] - ++ lib.optionals isPy27 [ mock unittest2 ]; + buildInputs = + # workaround for https://github.com/NixOS/nixpkgs/issues/146760 + lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [ + CoreFoundation + ] ++ lib.optionals stdenv.isDarwin [ + IOKit + ]; + + checkInputs = [ + pytestCheckHook + ]; + + # Segfaults on darwin: + # https://github.com/giampaolo/psutil/issues/1715 + doCheck = !stdenv.isDarwin; + # In addition to the issues listed above there are some that occure due to # our sandboxing which we can work around by disabling some tests: # - cpu_times was flaky on darwin @@ -34,22 +47,19 @@ buildPythonPackage rec { # Note: $out must be referenced as test import paths are relative disabledTests = [ - "user" + "cpu_freq" + "cpu_times" "disk_io_counters" "sensors_battery" - "cpu_times" - "cpu_freq" + "user" ]; - buildInputs = - # workaround for https://github.com/NixOS/nixpkgs/issues/146760 - lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [ CoreFoundation ] ++ - lib.optionals stdenv.isDarwin [ IOKit ]; - - pythonImportsCheck = [ "psutil" ]; + pythonImportsCheck = [ + "psutil" + ]; meta = with lib; { - description = "Process and system utilization information interface for python"; + description = "Process and system utilization information interface"; homepage = "https://github.com/giampaolo/psutil"; license = licenses.bsd3; maintainers = with maintainers; [ jonringer ]; diff --git a/pkgs/development/python-modules/py-cpuinfo/default.nix b/pkgs/development/python-modules/py-cpuinfo/default.nix index 12b9668f1edd..09f8ba4ad758 100644 --- a/pkgs/development/python-modules/py-cpuinfo/default.nix +++ b/pkgs/development/python-modules/py-cpuinfo/default.nix @@ -1,20 +1,24 @@ { lib , stdenv -, fetchFromGitHub , buildPythonPackage +, fetchFromGitHub , pytestCheckHook +, pythonOlder , sysctl }: buildPythonPackage rec { pname = "py-cpuinfo"; - version = "8.0.0"; + version = "9.0.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "workhorsy"; repo = pname; rev = "v${version}"; - sha256 = "sha256-Mgzj1HTasUNHeHMVwV6d+TeyVqnBNUwCJ1EC3kfovf8="; + hash = "sha256-Q5u0guAqDVhf6bvJTzNvCpWbIzjxxAjE7s0OuXj9T4Q="; }; checkInputs = [ @@ -28,7 +32,9 @@ buildPythonPackage rec { --replace "_run_and_get_stdout(['sysctl'" "_run_and_get_stdout(['${sysctl}/bin/sysctl'" ''; - pythonImportsCheck = [ "cpuinfo" ]; + pythonImportsCheck = [ + "cpuinfo" + ]; meta = with lib; { description = "Get CPU info with pure Python"; diff --git a/pkgs/development/python-modules/pyicu/default.nix b/pkgs/development/python-modules/pyicu/default.nix index 255231f8a496..54c757c93915 100644 --- a/pkgs/development/python-modules/pyicu/default.nix +++ b/pkgs/development/python-modules/pyicu/default.nix @@ -8,11 +8,11 @@ buildPythonPackage rec { pname = "PyICU"; - version = "2.9"; + version = "2.10.2"; src = fetchPypi { inherit pname version; - sha256 = "sha256-PCnWzmVUYVcReho0ejA+zfzxp1ke1nn8iM3vQQiEWHg="; + sha256 = "sha256-DDMJ7qf6toV1B6zmJANRW2D+CWy/tPkNFPVf91xUQcE="; }; nativeBuildInputs = [ icu ]; # for icu-config, but should be replaced with pkg-config diff --git a/pkgs/development/python-modules/pymemcache/default.nix b/pkgs/development/python-modules/pymemcache/default.nix index c9d3ef94d778..594964e66491 100644 --- a/pkgs/development/python-modules/pymemcache/default.nix +++ b/pkgs/development/python-modules/pymemcache/default.nix @@ -1,15 +1,17 @@ { lib , buildPythonPackage +, faker , fetchFromGitHub , mock , six , pytestCheckHook , pythonOlder +, zstd }: buildPythonPackage rec { pname = "pymemcache"; - version = "3.5.2"; + version = "4.0.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -18,7 +20,7 @@ buildPythonPackage rec { owner = "pinterest"; repo = pname; rev = "v${version}"; - hash = "sha256-bsiFWZHGJO/07w6mFXzf0JwftJWClE2mTv86h8zT1K0="; + hash = "sha256-WgtHhp7lE6StoOBfSy9+v3ODe/+zUC7lGrc2S4M68+M="; }; propagatedBuildInputs = [ @@ -26,8 +28,10 @@ buildPythonPackage rec { ]; checkInputs = [ + faker mock pytestCheckHook + zstd ]; postPatch = '' diff --git a/pkgs/development/python-modules/pytenable/default.nix b/pkgs/development/python-modules/pytenable/default.nix index 2b08e6129fad..caae9319db7e 100644 --- a/pkgs/development/python-modules/pytenable/default.nix +++ b/pkgs/development/python-modules/pytenable/default.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { pname = "pytenable"; - version = "1.4.8"; + version = "1.4.9"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -29,7 +29,7 @@ buildPythonPackage rec { owner = "tenable"; repo = "pyTenable"; rev = "refs/tags/${version}"; - hash = "sha256-alBEKCYwLIbQanKTzkd3NnfOudhGhKhg4sFqddWdzQA="; + hash = "sha256-Cj1/f/e+j5CJMl+afF+HStd419Uh053jKk/vmObaBl8="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pytest-datadir/default.nix b/pkgs/development/python-modules/pytest-datadir/default.nix index d53734618b3e..58ad575d6386 100644 --- a/pkgs/development/python-modules/pytest-datadir/default.nix +++ b/pkgs/development/python-modules/pytest-datadir/default.nix @@ -1,31 +1,30 @@ -{ lib, buildPythonPackage, fetchFromGitHub -, setuptools-scm, pytest +{ lib +, buildPythonPackage +, fetchFromGitHub +, setuptools-scm +, pytestCheckHook }: buildPythonPackage rec { pname = "pytest-datadir"; - version = "1.3.1"; + version = "1.4.1"; format = "pyproject"; src = fetchFromGitHub { owner = "gabrielcnr"; - repo = pname; - rev = version; - sha256 = "0kwgp6sqnqnmww5r0dkmyfpi0lmw0iwxz3fnwn2fs8w6bvixzznf"; + repo = "pytest-datadir"; + rev = "refs/tags/${version}"; + sha256 = "sha256-HyJ0rU1nHqRv8SHFS8m3GZ5409+JZIkoDgIVjy4ol54="; }; + SETUPTOOLS_SCM_PRETEND_VERSION = version; nativeBuildInputs = [ setuptools-scm ]; - - preBuild = '' - export SETUPTOOLS_SCM_PRETEND_VERSION="${version}" - ''; - - checkInputs = [ pytest ]; - checkPhase = "pytest"; + checkInputs = [ pytestCheckHook ]; + pythonImportsCheck = [ "pytest_datadir" ]; meta = with lib; { + description = "Pytest plugin for manipulating test data directories and files"; homepage = "https://github.com/gabrielcnr/pytest-datadir"; - description = "pytest plugin for manipulating test data directories and files"; license = licenses.mit; maintainers = with maintainers; [ kira-bruneau ]; }; diff --git a/pkgs/development/python-modules/pytest-subtests/default.nix b/pkgs/development/python-modules/pytest-subtests/default.nix index 4b88991bb741..8ada20dce8f5 100644 --- a/pkgs/development/python-modules/pytest-subtests/default.nix +++ b/pkgs/development/python-modules/pytest-subtests/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "pytest-subtests"; - version = "0.8.0"; + version = "0.9.0"; format = "setuptools"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-Rus3YCLpJpUIFszCNQLeMnetzBOWZS3bMyjOAokFLE0="; + sha256 = "sha256-wDF81fal6z6Vfonb5PwzIqmv3botuEFDVe0qLLkahE4="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/requests-cache/default.nix b/pkgs/development/python-modules/requests-cache/default.nix index 45b03feb461d..21648484b2f6 100644 --- a/pkgs/development/python-modules/requests-cache/default.nix +++ b/pkgs/development/python-modules/requests-cache/default.nix @@ -26,7 +26,7 @@ buildPythonPackage rec { pname = "requests-cache"; - version = "0.9.6"; + version = "0.9.7"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -35,7 +35,7 @@ buildPythonPackage rec { owner = "requests-cache"; repo = "requests-cache"; rev = "v${version}"; - hash = "sha256-oFI5Rv/MAiPHiZts0PrNS+YMDFD/RxnMJ6deTxZNkSM="; + hash = "sha256-HSYu4jOEMXI/zGuWI7invYVvVeeM5+dDlc+9h8TOGms="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/ruamel-yaml-clib/default.nix b/pkgs/development/python-modules/ruamel-yaml-clib/default.nix index 143452274abb..a8f93d53f6f1 100644 --- a/pkgs/development/python-modules/ruamel-yaml-clib/default.nix +++ b/pkgs/development/python-modules/ruamel-yaml-clib/default.nix @@ -5,19 +5,19 @@ buildPythonPackage rec { pname = "ruamel-yaml-clib"; - version = "0.2.6"; + version = "0.2.7"; format = "setuptools"; src = fetchhg { url = "http://hg.code.sf.net/p/ruamel-yaml-clib/code"; rev = version; - sha256 = "sha256-mpkh9JhYKRX47jfKprjt1Vpm9DMz8LcWzkotJ+/xoxY="; + sha256 = "sha256-QNJyJWfCT8zEvrqI65zPlWIMSRZSoDwIAbFU48TfO4U="; }; # no tests doCheck = false; - # circular depedency with ruamel-yaml + # circular dependency with ruamel-yaml # pythonImportsCheck = [ "_ruamel_yaml" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/sagemaker/default.nix b/pkgs/development/python-modules/sagemaker/default.nix index b35eb7118d57..ebcb42920618 100644 --- a/pkgs/development/python-modules/sagemaker/default.nix +++ b/pkgs/development/python-modules/sagemaker/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchPypi +, pythonRelaxDepsHook , attrs , boto3 , google-pasta @@ -27,6 +28,13 @@ buildPythonPackage rec { hash = "sha256-hs71bIoByh5S1ncsku+y4X2i0yU65FknJE05lEmnru4="; }; + nativeBuildInputs = [ pythonRelaxDepsHook ]; + pythonRelaxDeps = [ + # FIXME: Remove when >= 2.111.0 + "attrs" + "protobuf" + ]; + propagatedBuildInputs = [ attrs boto3 @@ -41,11 +49,6 @@ buildPythonPackage rec { pandas ]; - postPatch = '' - substituteInPlace setup.py \ - --replace "attrs==20.3.0" "attrs>=20.3.0" - ''; - postFixup = '' [ "$($out/bin/sagemaker-upgrade-v2 --help 2>&1 | grep -cim1 'pandas failed to import')" -eq "0" ] ''; diff --git a/pkgs/development/python-modules/scikit-learn/default.nix b/pkgs/development/python-modules/scikit-learn/default.nix index 3512f1ddd06f..d9c4f07ccb8d 100644 --- a/pkgs/development/python-modules/scikit-learn/default.nix +++ b/pkgs/development/python-modules/scikit-learn/default.nix @@ -19,12 +19,12 @@ buildPythonPackage rec { pname = "scikit-learn"; - version = "1.1.2"; + version = "1.1.3"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-fCLRMFsW8I1XdRpOo2Bx4iFe+0wJy3kYP6pOjoKj2/g="; + sha256 = "sha256-vvUZeKUewZl3cA/nuGrs6knIJYhPOBF1a3SjsVK7TjU="; }; buildInputs = [ diff --git a/pkgs/development/python-modules/sh/default.nix b/pkgs/development/python-modules/sh/default.nix index d6334251bff4..17dcc5acbee0 100644 --- a/pkgs/development/python-modules/sh/default.nix +++ b/pkgs/development/python-modules/sh/default.nix @@ -1,4 +1,4 @@ -{ lib, buildPythonPackage, fetchPypi, python, coverage, lsof, glibcLocales, coreutils }: +{ lib, stdenv, buildPythonPackage, fetchPypi, python, coverage, lsof, glibcLocales, coreutils, pytestCheckHook }: buildPythonPackage rec { pname = "sh"; @@ -9,17 +9,12 @@ buildPythonPackage rec { sha256 = "sha256-5ARbbHMtnOddVxx59awiNO3Zrk9fqdWbCXBQgr3KGMc="; }; - patches = [ - # Disable tests that fail on Darwin sandbox - ./disable-broken-tests-darwin.patch - ]; - postPatch = '' sed -i 's#/usr/bin/env python#${python.interpreter}#' test.py sed -i 's#/bin/sleep#${coreutils.outPath}/bin/sleep#' test.py ''; - checkInputs = [ coverage lsof glibcLocales ]; + checkInputs = [ coverage lsof glibcLocales pytestCheckHook ]; # A test needs the HOME directory to be different from $TMPDIR. preCheck = '' @@ -27,6 +22,21 @@ buildPythonPackage rec { HOME=$(mktemp -d) ''; + pytestFlagsArray = [ "test.py" ]; + + disabledTests = [ + # Disable tests that fail on Hydra + "test_no_fd_leak" + "test_piped_exception1" + "test_piped_exception2" + "test_unicode_path" + ] ++ lib.optionals stdenv.isDarwin [ + # Disable tests that fail on Darwin sandbox + "test_background_exception" + "test_cwd" + "test_ok_code" + ]; + meta = with lib; { description = "Python subprocess interface"; homepage = "https://pypi.python.org/pypi/sh/"; diff --git a/pkgs/development/python-modules/sh/disable-broken-tests-darwin.patch b/pkgs/development/python-modules/sh/disable-broken-tests-darwin.patch deleted file mode 100644 index dfeb50db8d0e..000000000000 --- a/pkgs/development/python-modules/sh/disable-broken-tests-darwin.patch +++ /dev/null @@ -1,48 +0,0 @@ -From c596ad546fe7460b57a62799837757eb641309c1 Mon Sep 17 00:00:00 2001 -From: Sirio Balmelli -Date: Mon, 20 Jul 2020 19:51:20 +0200 -Subject: [PATCH] Disable tests that fail on Darwin (macOS) or with sandboxing - -Signed-off-by: Sirio Balmelli ---- a/test.py -+++ b/test.py -@@ -377,6 +377,7 @@ exit(3) - self.assertEqual(sed(_in="one test three", e="s/test/two/").strip(), - "one two three") - -+ @not_macos - def test_ok_code(self): - from sh import ls, ErrorReturnCode_1, ErrorReturnCode_2 - -@@ -982,6 +983,7 @@ print(sys.argv[1]) - now = time.time() - self.assertGreater(now - start, sleep_time) - -+ @not_macos - def test_background_exception(self): - from sh import ls, ErrorReturnCode_1, ErrorReturnCode_2 - p = ls("/ofawjeofj", _bg=True, _bg_exc=False) # should not raise -@@ -1779,6 +1781,7 @@ exit(49) - p = python(py.name, _ok_code=49, _bg=True) - self.assertEqual(49, p.exit_code) - -+ @not_macos - def test_cwd(self): - from sh import pwd - from os.path import realpath -@@ -2777,6 +2780,7 @@ print("cool") - # on osx. so skip it for now if osx - @not_macos - @requires_progs("lsof") -+ @skipUnless(False, "Flaky on Hydra") - def test_no_fd_leak(self): - import sh - import os -@@ -2879,6 +2883,7 @@ print("hi") - python(py.name, _in=stdin) - - @requires_utf8 -+ @skipUnless(False, "Does not work in sandbox") - def test_unicode_path(self): - from sh import Command - diff --git a/pkgs/development/python-modules/spglib/default.nix b/pkgs/development/python-modules/spglib/default.nix index c9023285568b..8b5e36b0f665 100644 --- a/pkgs/development/python-modules/spglib/default.nix +++ b/pkgs/development/python-modules/spglib/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "spglib"; - version = "2.0.1"; + version = "2.0.2"; src = fetchPypi { inherit pname version; - sha256 = "sha256-9fHKuDWuwbjXjL9CmJxUWWoomkqDP93J8MX1XKwbwsE="; + sha256 = "sha256-HQgewi2kq0/DGY6URd2tbewiYcQ5J4MRUdk+OUImEKo="; }; propagatedBuildInputs = [ numpy ]; diff --git a/pkgs/development/python-modules/thriftpy2/default.nix b/pkgs/development/python-modules/thriftpy2/default.nix index 0d5f5afe4a5c..53b1219bc485 100644 --- a/pkgs/development/python-modules/thriftpy2/default.nix +++ b/pkgs/development/python-modules/thriftpy2/default.nix @@ -10,15 +10,15 @@ buildPythonPackage rec { pname = "thriftpy2"; - version = "0.4.14"; + version = "0.4.15"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "Thriftpy"; repo = pname; - rev = "v${version}"; - sha256 = "17f57vsbym4c9yax128bhrwg2zjxcsgl3ja6422y8hyb38v5mdc3"; + rev = "refs/tags/v${version}"; + sha256 = "sha256-1X1roRFQgLJ+rrRuRlHMVtUdj2D68WGdxvid/0chsvI="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/vispy/default.nix b/pkgs/development/python-modules/vispy/default.nix index 27c67de69332..6c3acdf6e2ba 100644 --- a/pkgs/development/python-modules/vispy/default.nix +++ b/pkgs/development/python-modules/vispy/default.nix @@ -16,11 +16,11 @@ buildPythonPackage rec { pname = "vispy"; - version = "0.11.0"; + version = "0.12.0"; src = fetchPypi { inherit pname version; - sha256 = "sha256-zi0lalMdQF8pWTPHSZaRL79D9lUhbbX8ao/zp4dHhBo="; + sha256 = "sha256-CtSg/pAtOhhiuS6yE3ogzF0llceMQTF12ShXIi9GMD0="; }; patches = [ diff --git a/pkgs/development/ruby-modules/with-packages/Gemfile b/pkgs/development/ruby-modules/with-packages/Gemfile index d0c27c638589..f11828cb835e 100644 --- a/pkgs/development/ruby-modules/with-packages/Gemfile +++ b/pkgs/development/ruby-modules/with-packages/Gemfile @@ -77,6 +77,7 @@ gem 'iconv' gem 'idn-ruby' gem 'jbuilder' gem 'jekyll' +gem 'jekyll-favicon' gem 'jmespath' gem 'jwt' gem 'kramdown-rfc2629' diff --git a/pkgs/development/tools/azure-functions-core-tools/default.nix b/pkgs/development/tools/azure-functions-core-tools/default.nix index 251493d0deb3..d4cebd5551e9 100644 --- a/pkgs/development/tools/azure-functions-core-tools/default.nix +++ b/pkgs/development/tools/azure-functions-core-tools/default.nix @@ -80,7 +80,7 @@ stdenv.mkDerivation rec { binaryNativeCode ]; license = licenses.mit; - maintainers = with maintainers; [ jshcmpbll ]; + maintainers = with maintainers; [ ]; platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/build-managers/cmake/001-search-path.diff b/pkgs/development/tools/build-managers/cmake/001-search-path.diff index 607668b13155..04ab0847a707 100644 --- a/pkgs/development/tools/build-managers/cmake/001-search-path.diff +++ b/pkgs/development/tools/build-managers/cmake/001-search-path.diff @@ -12,7 +12,7 @@ index b9381c3d7d..5e944640b5 100644 # CMake install location "${_CMAKE_INSTALL_DIR}" ) -@@ -47,48 +44,48 @@ endif() +@@ -47,48 +44,49 @@ endif() # Non "standard" but common install prefixes list(APPEND CMAKE_SYSTEM_PREFIX_PATH @@ -22,9 +22,10 @@ index b9381c3d7d..5e944640b5 100644 ) # List common include file locations not under the common prefixes. -+if(IS_DIRECTORY $ENV{NIX_CC} -+ AND EXISTS $ENV{NIX_CC}/nix-support/orig-libc -+ AND EXISTS $ENV{NIX_CC}/nix-support/orig-libc-dev) ++if(DEFINED ENV{NIX_CC} ++ AND IS_DIRECTORY "$ENV{NIX_CC}" ++ AND EXISTS "$ENV{NIX_CC}/nix-support/orig-libc" ++ AND EXISTS "$ENV{NIX_CC}/nix-support/orig-libc-dev") + file(STRINGS "$ENV{NIX_CC}/nix-support/orig-libc" _nix_cmake_libc) + file(STRINGS "$ENV{NIX_CC}/nix-support/orig-libc-dev" _nix_cmake_libc_dev) +else() diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix index 866fa303148a..9fef483ff0e1 100644 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ b/pkgs/development/tools/build-managers/meson/default.nix @@ -5,7 +5,6 @@ , pkg-config , python3 , substituteAll -, withDarwinFrameworksGtkDocPatch ? false }: python3.pkgs.buildPythonApplication rec { diff --git a/pkgs/development/tools/build-managers/shards/default.nix b/pkgs/development/tools/build-managers/shards/default.nix index a04eba1d1711..9202543ea904 100644 --- a/pkgs/development/tools/build-managers/shards/default.nix +++ b/pkgs/development/tools/build-managers/shards/default.nix @@ -37,8 +37,8 @@ let in rec { shards_0_17 = generic { - version = "0.17.0"; - hash = "sha256-f9MptrKalW7gi0J2h0fokkzdjKBVa2TmoPX8BYffqzY="; + version = "0.17.1"; + hash = "sha256-YAsFsMoZVUINnIQzYNjE7/hpvipmyU5DrLJJrk9TkHs="; }; shards = shards_0_17; diff --git a/pkgs/development/tools/cotton/default.nix b/pkgs/development/tools/cotton/default.nix index 34cf19d40fdd..310561d52646 100644 --- a/pkgs/development/tools/cotton/default.nix +++ b/pkgs/development/tools/cotton/default.nix @@ -1,6 +1,8 @@ -{ lib +{ stdenv +, lib , rustPlatform , fetchFromGitHub +, CoreServices }: rustPlatform.buildRustPackage rec { @@ -16,6 +18,8 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "sha256-qpV3UriOidIk/0di9d8RjXvjcjgD6dXqg7wLAywI66o="; + buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ]; + meta = with lib; { description = "A package manager for JavaScript projects"; homepage = "https://github.com/danielhuang/cotton"; diff --git a/pkgs/development/tools/misc/cvise/default.nix b/pkgs/development/tools/misc/cvise/default.nix index cd3a38d300ef..ae0846f479ca 100644 --- a/pkgs/development/tools/misc/cvise/default.nix +++ b/pkgs/development/tools/misc/cvise/default.nix @@ -32,6 +32,11 @@ buildPythonApplication rec { ]; postPatch = '' + # Avoid blanket -Werror to evade build failures on less + # tested compilers. + substituteInPlace CMakeLists.txt \ + --replace " -Werror " " " + # 'cvise --command=...' generates a script with hardcoded shebang. substituteInPlace cvise.py \ --replace "#!/bin/bash" "#!${bash}/bin/bash" diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix index 60afcbf258a5..87271cf50ffa 100644 --- a/pkgs/development/tools/misc/elfutils/default.nix +++ b/pkgs/development/tools/misc/elfutils/default.nix @@ -8,11 +8,11 @@ # TODO: Look at the hardcoded paths to kernel, modules etc. stdenv.mkDerivation rec { pname = "elfutils"; - version = "0.187"; + version = "0.188"; src = fetchurl { url = "https://sourceware.org/elfutils/ftp/${version}/${pname}-${version}.tar.bz2"; - sha256 = "sha256-5wsN++YQ+QxNH+DXGvFCpOJcPE7566uNLXK2UVnUVMg="; + sha256 = "sha256-+4sOjQgCAFuaMJxgwdjeMt0pUbVvDDo8tW0hzgFZXf8="; }; patches = [ diff --git a/pkgs/development/tools/misc/nrfutil/default.nix b/pkgs/development/tools/misc/nrfutil/default.nix index 7d2cbabef40e..5c88bd130599 100644 --- a/pkgs/development/tools/misc/nrfutil/default.nix +++ b/pkgs/development/tools/misc/nrfutil/default.nix @@ -37,9 +37,12 @@ buildPythonApplication rec { nose ]; + # Workaround: pythonRelaxDepsHook doesn't work for this. postPatch = '' mkdir test-reports - substituteInPlace requirements.txt --replace "libusb1==1.9.3" "libusb1" + substituteInPlace requirements.txt \ + --replace "libusb1==1.9.3" "libusb1" \ + --replace "protobuf >=3.17.3, < 4.0.0" "protobuf" ''; meta = with lib; { diff --git a/pkgs/development/tools/spirv-tools/default.nix b/pkgs/development/tools/spirv-tools/default.nix index 2ac91924feba..3a64646ded63 100644 --- a/pkgs/development/tools/spirv-tools/default.nix +++ b/pkgs/development/tools/spirv-tools/default.nix @@ -15,7 +15,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake python3 ]; - cmakeFlags = [ "-DSPIRV-Headers_SOURCE_DIR=${spirv-headers.src}" ]; + cmakeFlags = [ + "-DSPIRV-Headers_SOURCE_DIR=${spirv-headers.src}" + # Avoid blanket -Werror to evade build failures on less + # tested compilers. + "-DSPIRV_WERROR=OFF" + ]; # https://github.com/KhronosGroup/SPIRV-Tools/issues/3905 postPatch = '' diff --git a/pkgs/development/tools/xcbuild/wrapper.nix b/pkgs/development/tools/xcbuild/wrapper.nix index cefda47cb5be..2dbea4e3833a 100644 --- a/pkgs/development/tools/xcbuild/wrapper.nix +++ b/pkgs/development/tools/xcbuild/wrapper.nix @@ -1,6 +1,5 @@ -{ lib, stdenv, makeWrapper, writeText, writeShellScriptBin, runCommand +{ lib, stdenv, makeWrapper, writeText, writeTextFile, runCommand, callPackage , CoreServices, ImageIO, CoreGraphics -, runtimeShell, callPackage , xcodePlatform ? stdenv.targetPlatform.xcodePlatform or "MacOSX" , xcodeVer ? stdenv.targetPlatform.xcodeVer or "9.4.1" , sdkVer ? stdenv.targetPlatform.darwinSdkVersion or "10.12" }: @@ -37,7 +36,7 @@ let ''; xcode-select = writeText "xcode-select" '' -#!${runtimeShell} +#!${stdenv.shell} while [ $# -gt 0 ]; do case "$1" in -h | --help) ;; # noop @@ -51,7 +50,12 @@ while [ $# -gt 0 ]; do done ''; - xcrun = writeShellScriptBin "xcrun" '' + xcrun = writeTextFile { + name = "xcrun"; + executable = true; + destination = "/bin/xcrun"; + text = '' +#!${stdenv.shell} args=( "$@" ) # If an SDK was requested, check that it matches. @@ -94,7 +98,11 @@ done if ! [[ -z "$@" ]]; then exec "$@" fi - ''; + ''; + checkPhase = '' + ${stdenv.shellDryRun} "$target" + ''; + }; in diff --git a/pkgs/games/0ad/game.nix b/pkgs/games/0ad/game.nix index 7e1375a829f9..1ebf215aefb5 100644 --- a/pkgs/games/0ad/game.nix +++ b/pkgs/games/0ad/game.nix @@ -95,7 +95,7 @@ stdenv.mkDerivation rec { install -Dm644 -t $out/lib/0ad binaries/system/*.so # Copy icon. - install -D build/resources/0ad.png $out/share/icons/hicolor/128x128/0ad.png + install -D build/resources/0ad.png $out/share/icons/hicolor/128x128/apps/0ad.png install -D build/resources/0ad.desktop $out/share/applications/0ad.desktop ''; diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index f9aa18801042..d046c8c7d192 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -379,6 +379,7 @@ stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.linux-kernel kernelPat "O=$(buildRoot)" "CC=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" "HOSTCC=${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc" + "HOSTLD=${buildPackages.stdenv.cc.bintools}/bin/${buildPackages.stdenv.cc.targetPrefix}ld" "ARCH=${stdenv.hostPlatform.linuxArch}" ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "CROSS_COMPILE=${stdenv.cc.targetPrefix}" diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix index 6bb2855719bf..3683522f04f9 100644 --- a/pkgs/os-specific/linux/microcode/intel.nix +++ b/pkgs/os-specific/linux/microcode/intel.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "microcode-intel"; - version = "20220809"; + version = "20221108"; src = fetchFromGitHub { owner = "intel"; repo = "Intel-Linux-Processor-Microcode-Data-Files"; rev = "microcode-${version}"; - hash = "sha256-vcuLQHAGr5uRkGWWIwA2WXLJadVNxfcPgjmNS82Logg="; + hash = "sha256-JZbBrD3fHgJogDw4u2YggDX7OCXCu5/XEZKzHuVJR9k="; }; nativeBuildInputs = [ iucode-tool libarchive ]; diff --git a/pkgs/os-specific/linux/sssd/default.nix b/pkgs/os-specific/linux/sssd/default.nix index ef92739ec275..30311bbd58c4 100644 --- a/pkgs/os-specific/linux/sssd/default.nix +++ b/pkgs/os-specific/linux/sssd/default.nix @@ -13,13 +13,13 @@ let in stdenv.mkDerivation rec { pname = "sssd"; - version = "2.8.0"; + version = "2.8.1"; src = fetchFromGitHub { owner = "SSSD"; repo = pname; rev = version; - sha256 = "sha256-i2RRvIFQLuFw9Q3pLOgomvCH9j8h3JAailoIww1dnLs="; + sha256 = "sha256-TbeofUQAQNM/Nxzgl8GP2+Y4iR7bVXm4dQaPkYMSdqc="; }; postPatch = '' diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 5e5a758f302a..47dbbb21db38 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -122,7 +122,7 @@ assert withHomed -> withCryptsetup; let wantCurl = withRemote || withImportd; wantGcrypt = withResolved || withImportd; - version = "251.5"; + version = "251.7"; # Bump this variable on every (major) version change. See below (in the meson options list) for why. # command: @@ -139,7 +139,7 @@ stdenv.mkDerivation { owner = "systemd"; repo = "systemd-stable"; rev = "v${version}"; - sha256 = "sha256-2MEmvFT1D+9v8OazBwjnKc7i/x7i196Eoi8bODk1cM4="; + sha256 = "sha256-Sa5diyNFyYtREo1xSCcufAW83ZZGZvueoDVuQ2r8wno="; }; # On major changes, or when otherwise required, you *must* reformat the patches, @@ -243,12 +243,14 @@ stdenv.mkDerivation { opt = condition: pkg: if condition then pkg else null; in [ - # bpf compilation support - { name = "libbpf.so.0"; pkg = opt withLibBPF libbpf; } + # bpf compilation support. We use libbpf 1 now. + { name = "libbpf.so.1"; pkg = opt withLibBPF libbpf; } + { name = "libbpf.so.0"; pkg = null; } # We did never provide support for libxkbcommon & qrencode { name = "libxkbcommon.so.0"; pkg = null; } { name = "libqrencode.so.4"; pkg = null; } + { name = "libqrencode.so.3"; pkg = null; } # We did not provide libpwquality before so it is safe to disable it for # now. diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 89d05b2260c6..6eca3b16bdf6 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -70,7 +70,7 @@ let pname = "pytest-aiohttp"; hash = "sha256-ySmFQzljeXc3WDhwO2L+9jUoWYvAqdRRY566lfSqpE8="; }; - propagatedBuildInputs = with python3.pkgs; [ aiohttp pytest ]; + propagatedBuildInputs = with self; [ aiohttp pytest ]; doCheck = false; patches = []; }); @@ -259,6 +259,7 @@ in python.pkgs.buildPythonApplication rec { postPatch = let relaxedConstraints = [ + "aiohttp" "attrs" "awesomeversion" "bcrypt" diff --git a/pkgs/servers/nfs-ganesha/default.nix b/pkgs/servers/nfs-ganesha/default.nix index a8cbe695c49a..1af14ded947d 100644 --- a/pkgs/servers/nfs-ganesha/default.nix +++ b/pkgs/servers/nfs-ganesha/default.nix @@ -1,17 +1,17 @@ { lib, stdenv, fetchFromGitHub, cmake, pkg-config , krb5, xfsprogs, jemalloc, dbus, libcap -, ntirpc, liburcu, bison, flex, nfs-utils +, ntirpc, liburcu, bison, flex, nfs-utils, acl } : stdenv.mkDerivation rec { pname = "nfs-ganesha"; - version = "4.0.8"; + version = "4.0.12"; src = fetchFromGitHub { owner = "nfs-ganesha"; repo = "nfs-ganesha"; rev = "V${version}"; - sha256 = "sha256-03zrEWwPQi7ED6Yr3HgzQyOtqJjjnUj5nChgGV6v0zk="; + sha256 = "sha256-s6iZcZObBEHvIqyD0niNzuPJf4ENZGw3mhgZZZdj2zc="; }; preConfigure = "cd src"; @@ -26,6 +26,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + acl krb5 xfsprogs jemalloc diff --git a/pkgs/servers/snappymail/default.nix b/pkgs/servers/snappymail/default.nix index fabbac5e7f5c..de2df9fffcc3 100644 --- a/pkgs/servers/snappymail/default.nix +++ b/pkgs/servers/snappymail/default.nix @@ -2,11 +2,11 @@ , dataPath ? "/var/lib/snappymail" }: stdenv.mkDerivation rec { pname = "snappymail"; - version = "2.19.4"; + version = "2.20.6"; src = fetchurl { url = "https://github.com/the-djmaze/snappymail/releases/download/v${version}/snappymail-${version}.tar.gz"; - sha256 = "sha256-XjnNBK/w9aPfG11fVcESIMy1UFAI1j/iAKz1GvZzfq4="; + sha256 = "sha256-xALHgE+N/X2YqGd3qZxAiZF1onzO/FVfxSbwjAaep/A="; }; sourceRoot = "snappymail"; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index e261409d7d24..5ac7967c60f7 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -225,7 +225,7 @@ self: super: libXi = super.libXi.overrideAttrs (attrs: { outputs = [ "out" "dev" "man" "doc" ]; - propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.libXfixes ]; + propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ self.libXfixes self.libXext ]; configureFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "xorg_cv_malloc0_returns_null=no" ] ++ lib.optional stdenv.hostPlatform.isStatic "--disable-shared"; diff --git a/pkgs/tools/admin/awscli2/default.nix b/pkgs/tools/admin/awscli2/default.nix index 8b4b42e31239..a666a4cf8edb 100644 --- a/pkgs/tools/admin/awscli2/default.nix +++ b/pkgs/tools/admin/awscli2/default.nix @@ -32,14 +32,14 @@ let in with py.pkgs; buildPythonApplication rec { pname = "awscli2"; - version = "2.8.9"; # N.B: if you change this, check if overrides are still up-to-date + version = "2.8.11"; # N.B: if you change this, check if overrides are still up-to-date format = "pyproject"; src = fetchFromGitHub { owner = "aws"; repo = "aws-cli"; rev = version; - sha256 = "sha256-7So0zPknO5rIiWY7o82HXl+Iw2+fQmhYvrfrFMCDdDE="; + sha256 = "sha256-E4O4DEdPwfIt+XOiCF2gLZILYTfZ4BhXMUgKggtsoCc="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/admin/kics/default.nix b/pkgs/tools/admin/kics/default.nix index ef3239355f09..8c8000168d5c 100644 --- a/pkgs/tools/admin/kics/default.nix +++ b/pkgs/tools/admin/kics/default.nix @@ -1,4 +1,10 @@ -{ stdenv, buildGoModule, fetchFromGitHub, lib }: +{ stdenv +, buildGoModule +, fetchFromGitHub +, lib +, testers +, kics +}: buildGoModule rec { pname = "kics"; @@ -25,6 +31,11 @@ buildGoModule rec { "-X github.com/Checkmarx/kics/internal/constants.Version=${version}" ]; + passthru.tests.version = testers.testVersion { + package = kics; + command = "kics version"; + }; + meta = with lib; { description = '' Find security vulnerabilities, compliance issues, and infrastructure misconfigurations early in the development diff --git a/pkgs/tools/misc/calamares-nixos-extensions/default.nix b/pkgs/tools/misc/calamares-nixos-extensions/default.nix index a587cd585e1a..ad21c398fe9f 100644 --- a/pkgs/tools/misc/calamares-nixos-extensions/default.nix +++ b/pkgs/tools/misc/calamares-nixos-extensions/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "calamares-nixos-extensions"; - version = "0.3.10"; + version = "0.3.11"; src = fetchFromGitHub { owner = "NixOS"; repo = "calamares-nixos-extensions"; rev = version; - sha256 = "YJyK0rsrftrCwYD+aCAkPe/kAqUXsP/4WBAGtNKIGj8="; + sha256 = "NAHUU0tQLu8c2dke1V0aM3mHrNgM8ekHSB2Fo9dQUk8="; }; installPhase = '' diff --git a/pkgs/tools/misc/calamares/default.nix b/pkgs/tools/misc/calamares/default.nix index 22b5cde7f451..34d05852a7e8 100644 --- a/pkgs/tools/misc/calamares/default.nix +++ b/pkgs/tools/misc/calamares/default.nix @@ -36,6 +36,8 @@ mkDerivation rec { # Fix setting the kayboard layout on GNOME wayland # By default the module uses the setxkbmap, which will not change the keyboard ./waylandkbd.patch + # Change default location where calamares searches for locales + ./supportedlocale.patch ]; nativeBuildInputs = [ cmake extra-cmake-modules ]; diff --git a/pkgs/tools/misc/calamares/supportedlocale.patch b/pkgs/tools/misc/calamares/supportedlocale.patch new file mode 100644 index 000000000000..ab161ffdee7c --- /dev/null +++ b/pkgs/tools/misc/calamares/supportedlocale.patch @@ -0,0 +1,13 @@ +diff --git a/src/modules/locale/Config.cpp b/src/modules/locale/Config.cpp +index 2357019a7..75b547430 100644 +--- a/src/modules/locale/Config.cpp ++++ b/src/modules/locale/Config.cpp +@@ -48,7 +48,7 @@ loadLocales( const QString& localeGenPath ) + // supported locales. We first try that one, and if it doesn't exist, we fall back + // to parsing the lines from locale.gen + localeGenLines.clear(); +- QFile supported( "/usr/share/i18n/SUPPORTED" ); ++ QFile supported( "/run/current-system/sw/share/i18n/SUPPORTED" ); + QByteArray ba; + + if ( supported.exists() && supported.open( QIODevice::ReadOnly | QIODevice::Text ) ) diff --git a/pkgs/tools/misc/libcpuid/default.nix b/pkgs/tools/misc/libcpuid/default.nix index e7fb2b4da799..83f42dabebe0 100644 --- a/pkgs/tools/misc/libcpuid/default.nix +++ b/pkgs/tools/misc/libcpuid/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "libcpuid"; - version = "0.6.0"; + version = "0.6.1"; src = fetchFromGitHub { owner = "anrieff"; repo = "libcpuid"; rev = "v${version}"; - sha256 = "sha256-XX+XFd1ehahIUGONAx2iOxetU0s6vONc7m91zEOWz5o="; + sha256 = "sha256-KxG06a56XPa34IJGAJbBeHUKkCEba+R7HOSosTCwQKU="; }; nativeBuildInputs = [ autoreconfHook ]; @@ -16,6 +16,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "http://libcpuid.sourceforge.net/"; description = "A small C library for x86 CPU detection and feature extraction"; + changelog = "https://raw.githubusercontent.com/anrieff/libcpuid/master/ChangeLog"; license = licenses.bsd2; maintainers = with maintainers; [ orivej artuuge ]; platforms = platforms.x86; diff --git a/pkgs/tools/misc/opentelemetry-collector/contrib.nix b/pkgs/tools/misc/opentelemetry-collector/contrib.nix index c00254ef894c..78344c666705 100644 --- a/pkgs/tools/misc/opentelemetry-collector/contrib.nix +++ b/pkgs/tools/misc/opentelemetry-collector/contrib.nix @@ -6,17 +6,17 @@ buildGoModule rec { pname = "opentelemetry-collector-contrib"; - version = "0.63.0"; + version = "0.64.0"; src = fetchFromGitHub { owner = "open-telemetry"; repo = "opentelemetry-collector-contrib"; rev = "v${version}"; - sha256 = "sha256-oZGh80zer2VHGoypcIJ/WZ+DMe349/qRrmlx6UJlZVI="; + sha256 = "sha256-yrm9tLK9no1H4bh2ghQO1ybohYeEo1EzVa+5dgawlxk="; }; # proxy vendor to avoid hash missmatches between linux and macOS proxyVendor = true; - vendorSha256 = "sha256-zd6ll30nROV9ORJhyRPPSRqzpw7MJN3xryDSUg8XxPY="; + vendorSha256 = "sha256-Tartb4Qh10UPdVQG2mGbqXW/Mg9XbD28JRrn128d/4k="; subPackages = [ "cmd/otelcontribcol" ]; diff --git a/pkgs/tools/misc/opentelemetry-collector/default.nix b/pkgs/tools/misc/opentelemetry-collector/default.nix index ebd9678df177..bb2a6e5bed97 100644 --- a/pkgs/tools/misc/opentelemetry-collector/default.nix +++ b/pkgs/tools/misc/opentelemetry-collector/default.nix @@ -12,17 +12,17 @@ let in buildGoModule rec { pname = "opentelemetry-collector"; - version = "0.63.1"; + version = "0.64.0"; src = fetchFromGitHub { owner = "open-telemetry"; repo = "opentelemetry-collector"; rev = "v${version}"; - sha256 = "sha256-YeW9A338HZHdW4PQaxUwdAPXwY9kijcFEGos/4NdZek="; + sha256 = "sha256-4EXRmG8HAUybA9+kPNCvlfZf3bfREAqeis7YxmGn33c="; }; # there is a nested go.mod sourceRoot = "source/cmd/otelcorecol"; - vendorSha256 = "sha256-U3RPRuDdXXoeAQY3RYToply7VhePnlq9hn/79KCrum4="; + vendorSha256 = "sha256-i3pAK9ByXDdd2juenPooStgvhpcemcCOKLT9jjz0hL8="; preBuild = '' # set the build version, can't be done via ldflags diff --git a/pkgs/tools/networking/inetutils/default.nix b/pkgs/tools/networking/inetutils/default.nix index c6362f544691..57ed93d8130e 100644 --- a/pkgs/tools/networking/inetutils/default.nix +++ b/pkgs/tools/networking/inetutils/default.nix @@ -1,14 +1,14 @@ { stdenv, lib, fetchurl, ncurses, perl, help2man -, apparmorRulesFromClosure, fetchpatch +, apparmorRulesFromClosure }: stdenv.mkDerivation rec { pname = "inetutils"; - version = "2.3"; + version = "2.4"; src = fetchurl { url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz"; - sha256 = "sha256-CwG7COKWI8TjuUDyM8lhRR2a+MUGYwGt12pSqV1Rdyw="; + sha256 = "sha256-F4nWsbGlff4qere1M+6fXf2cv1tZuxuzwmEu0I0PaLI="; }; outputs = ["out" "apparmor"]; @@ -16,11 +16,6 @@ stdenv.mkDerivation rec { patches = [ # https://git.congatec.com/yocto/meta-openembedded/commit/3402bfac6b595c622e4590a8ff5eaaa854e2a2a3 ./inetutils-1_9-PATH_PROCNET_DEV.patch - (fetchpatch { - name = "CVE-2022-39028.patch"; - url = "https://sources.debian.org/data/main/i/inetutils/2%3A2.3-5/debian/patches/inetutils-telnetd-EC_EL_null_deref.patch"; - sha256 = "sha256-NYNDbEk3q3EhQdJaR12JBbnjJIRRpOcKLBF/EJJPiGU="; - }) ]; nativeBuildInputs = [ help2man perl /* for `whois' */ ]; diff --git a/pkgs/tools/networking/lychee/default.nix b/pkgs/tools/networking/lychee/default.nix index 0064c8e5870e..8cca06ca95ff 100644 --- a/pkgs/tools/networking/lychee/default.nix +++ b/pkgs/tools/networking/lychee/default.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage rec { pname = "lychee"; - version = "0.10.2"; + version = "0.10.3"; src = fetchFromGitHub { owner = "lycheeverse"; repo = pname; rev = "v${version}"; - sha256 = "sha256-GePP4BvOxaLOyF+UNXqcbCtKWeeIcXYIs6zLi+7efVY="; + sha256 = "sha256-gnHeG1LaW10HmVF/+0OmOgaMz3X4ub4UpBiFQaGIah0="; }; - cargoSha256 = "sha256-QZDoZNY1ZyWRTeIxRdbTNg5NVDzBtEKGroTzaYRWt1w="; + cargoSha256 = "sha256-+hTXkPf4r+PF+k0+miY634sQ9RONHmtyF2hVowl/zuk="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/tools/networking/udpreplay/default.nix b/pkgs/tools/networking/udpreplay/default.nix new file mode 100644 index 000000000000..2e91e884e6f2 --- /dev/null +++ b/pkgs/tools/networking/udpreplay/default.nix @@ -0,0 +1,24 @@ +{ stdenv, cmake, libpcap, fetchFromGitHub, lib }: +stdenv.mkDerivation rec { + pname = "updreplay"; + version = "1.0.0"; + nativeBuildInputs = [ cmake ]; + buildInputs = [ libpcap ]; + src = fetchFromGitHub { + owner = "rigtorp"; + repo = "udpreplay"; + rev = "v${version}"; + hash = "sha256-8cp1RyVBnq3vx2LPkAx7ktmdLo0bSq9UWlbb/DrJxpc="; + }; + + meta = with lib; { + description = "Replay UDP packets from a pcap file"; + longDescription = '' + udpreplay is a lightweight alternative to tcpreplay for replaying UDP unicast and multicast streams from a pcap file. + ''; + homepage = "https://github.com/rigtorp/udpreplay"; + license = licenses.mit; + maintainers = [ maintainers.considerate ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/security/rustscan/default.nix b/pkgs/tools/security/rustscan/default.nix index 79a1fd1195f0..849a921898a7 100644 --- a/pkgs/tools/security/rustscan/default.nix +++ b/pkgs/tools/security/rustscan/default.nix @@ -2,14 +2,14 @@ rustPlatform.buildRustPackage rec { pname = "rustscan"; - version = "2.1.0"; + version = "2.1.1"; src = fetchCrate { inherit pname version; - sha256 = "sha256-f9QFsVGGKoWqZGIg8Z8FgZGcUo5M8MFNUavK69SgHkg="; + sha256 = "sha256-yGVhbI1LivTIQEgqOK59T1+8SiTJBPIdftiXkwE4lZM="; }; - cargoSha256 = "sha256-ZoDE7SJ6snWTFvYXHZdVCC6UCug2wGghH93FfDTDsv0="; + cargoSha256 = "sha256-UR3ktV80QU0N3f7qmqdhYpc5uwoPq4UvN40zEuMbp+Q="; postPatch = '' substituteInPlace src/scripts/mod.rs \ diff --git a/pkgs/tools/text/mmdoc/default.nix b/pkgs/tools/text/mmdoc/default.nix index 6399c3333c12..1a1c531f6296 100644 --- a/pkgs/tools/text/mmdoc/default.nix +++ b/pkgs/tools/text/mmdoc/default.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "mmdoc"; - version = "0.12.0"; + version = "0.13.0"; src = fetchFromGitHub { owner = "ryantm"; repo = "mmdoc"; rev = version; - hash = "sha256-wg0wFZMijwTWU6B3PuQ785F98JqObDMvltHaI5ltpx8="; + hash = "sha256-ZPdAMlKGwEO54hxHcQh1xgu6eUGsoX12xD/9JehzRdw="; }; nativeBuildInputs = [ ninja meson pkg-config xxd ]; diff --git a/pkgs/tools/virtualization/nixos-container/default.nix b/pkgs/tools/virtualization/nixos-container/default.nix index be17753b3436..0b44bde4719f 100644 --- a/pkgs/tools/virtualization/nixos-container/default.nix +++ b/pkgs/tools/virtualization/nixos-container/default.nix @@ -25,6 +25,7 @@ substituteAll { containers-ip containers-tmpfs containers-ephemeral + containers-unified-hierarchy ; }; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 582e53e03f66..6d558f300b03 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -983,6 +983,10 @@ with pkgs; octant-desktop = callPackage ../applications/networking/cluster/octant/desktop.nix { }; starboard-octant-plugin = callPackage ../applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix { }; + inherit ( + callPackages ../build-support/setup-hooks/patch-rc-path-hooks { } + ) patchRcPathBash patchRcPathCsh patchRcPathFish patchRcPathPosix; + pathsFromGraph = ../build-support/kernel/paths-from-graph.pl; pruneLibtoolFiles = makeSetupHook { name = "prune-libtool-files"; } @@ -1599,6 +1603,8 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) CoreAudioKit ForceFeedback; }; + mame-tools = (lib.getOutput "tools" mame); + mednafen = callPackage ../applications/emulators/mednafen { inherit (darwin) libiconv; }; @@ -12305,6 +12311,8 @@ with pkgs; udftools = callPackage ../tools/filesystems/udftools {}; + udpreplay = callPackage ../tools/networking/udpreplay { }; + udpt = callPackage ../servers/udpt { }; udptunnel = callPackage ../tools/networking/udptunnel { }; @@ -13634,7 +13642,9 @@ with pkgs; copper = callPackage ../development/compilers/copper {}; - cotton = callPackage ../development/tools/cotton { }; + cotton = callPackage ../development/tools/cotton { + inherit (darwin.apple_sdk.frameworks) CoreServices; + }; inherit (callPackages ../development/compilers/crystal { llvmPackages = if stdenv.system == "aarch64-darwin" then llvmPackages_11 else llvmPackages_10; @@ -19556,8 +19566,11 @@ with pkgs; icu71 = callPackage ../development/libraries/icu/71.nix ({ nativeBuildRoot = buildPackages.icu71.override { buildRootOnly = true; }; }); + icu72 = callPackage ../development/libraries/icu/72.nix ({ + nativeBuildRoot = buildPackages.icu72.override { buildRootOnly = true; }; + }); - icu = icu71; + icu = icu72; id3lib = callPackage ../development/libraries/id3lib { }; @@ -25768,6 +25781,7 @@ with pkgs; enableMinimal = true; guiSupport = false; }; + libbpf = libbpf_1; }; systemdMinimal = systemd.override { pname = "systemd-minimal"; @@ -26945,7 +26959,9 @@ with pkgs; theano = callPackage ../data/fonts/theano { }; - tela-circle-icon-theme = callPackage ../data/icons/tela-circle-icon-theme { }; + tela-circle-icon-theme = callPackage ../data/icons/tela-circle-icon-theme { + inherit (gnome) adwaita-icon-theme; + }; tela-icon-theme = callPackage ../data/icons/tela-icon-theme { }; @@ -33691,6 +33707,8 @@ with pkgs; conmon = callPackage ../applications/virtualization/conmon { }; + conmon-rs = callPackage ../applications/virtualization/conmon-rs { }; + digikam = libsForQt5.callPackage ../applications/graphics/digikam {}; drumkv1 = libsForQt5.callPackage ../applications/audio/drumkv1 { }; diff --git a/pkgs/top-level/ruby-packages.nix b/pkgs/top-level/ruby-packages.nix index d8d4320f0c0b..bb25b2df7a08 100644 --- a/pkgs/top-level/ruby-packages.nix +++ b/pkgs/top-level/ruby-packages.nix @@ -1100,10 +1100,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19ynyc7wzl71hn7jw467xr188v0az679l54167slm3jh5mx6rijf"; + sha256 = "03qiz6kbk260v3613z4wrk8iy1mi06j631fglcskfxyhf18lpy05"; type = "gem"; }; - version = "6.0.7"; + version = "6.0.8"; }; hashie = { groups = ["default"]; @@ -1325,6 +1325,17 @@ }; version = "0.1.4"; }; + jekyll-favicon = { + dependencies = ["jekyll" "mini_magick" "rexml"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dyksm4i11n0qshd7wh6dvk8d0fc70dd32ir2dxs6igxq0gd6hi1"; + type = "gem"; + }; + version = "1.1.0"; + }; jekyll-feed = { dependencies = ["jekyll"]; groups = ["default"]; @@ -1752,10 +1763,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0rsgvdyh828k6bz95b4391ydv6710d4dsdrrfr684glks7599ldf"; + sha256 = "1jbqw7hkx08i5dj74fwfdc16980hsj3mhrxp4mmjxsdzw1kndrvp"; type = "gem"; }; - version = "3.2.3"; + version = "3.2.4"; }; liquid = { groups = ["default"];