···220220221221- The `version` attribute _must_ start with a digit e.g`"0.3.1rc2".
222222223223-- If a package is not a release but a commit from a repository, then the `version` attribute _must_ be the date of that (fetched) commit. The date _must_ be in `"unstable-YYYY-MM-DD"` format.
223223+- If a package is a commit from a repository without a version assigned, then the `version` attribute _should_ be the latest upstream version preceding that commit, followed by `-unstable-` and the date of the (fetched) commit. The date _must_ be in `"YYYY-MM-DD"` format.
224224+225225+Example: Given a project had its latest releases `2.2` in November 2021, and `3.0` in January 2022, a commit authored on March 15, 2022 for an upcoming bugfix release `2.2.1` would have `version = "2.2-unstable-2022-03-15"`.
224226225227- Dashes in the package `pname` _should_ be preserved in new variable names, rather than converted to underscores or camel cased — e.g., `http-parser` instead of `http_parser` or `httpParser`. The hyphenated style is preferred in all three package names.
226228
+1-1
nixos/modules/config/users-groups.nix
···652652 deps = [ "users" ];
653653 text = ''
654654 users=()
655655- while IFS=: read -r user hash tail; do
655655+ while IFS=: read -r user hash _; do
656656 if [[ "$hash" = "$"* && ! "$hash" =~ ^\''$${cryptSchemeIdPatternGroup}\$ ]]; then
657657 users+=("$user")
658658 fi
···6262 frontend = {};
63636464 # include some popular integrations, that absolutely shouldn't break
6565- esphome = {};
6665 knx = {};
6766 shelly = {};
6867 zha = {};
···198197199198 with subtest("Check that new components get setup after restart"):
200199 journal = get_journal_since(cursor)
201201- for domain in ["esphome"]:
200200+ for domain in ["backup"]:
202201 assert f"Setup of domain {domain} took" in journal, f"{domain} setup missing"
203202204203 with subtest("Check that no errors were logged"):
+5
nixos/tests/initrd-luks-empty-passphrase.nix
···1818 emptyDiskImages = [ 512 ];
1919 useBootLoader = true;
2020 useEFIBoot = true;
2121+ # This requires to have access
2222+ # to a host Nix store as
2323+ # the new root device is /dev/vdb
2424+ # an empty 512MiB drive, containing no Nix store.
2525+ mountHostNixStore = true;
2126 };
22272328 boot.loader.systemd-boot.enable = true;
+2
nixos/tests/luks.nix
···77 emptyDiskImages = [ 512 512 ];
88 useBootLoader = true;
99 useEFIBoot = true;
1010+ # To boot off the encrypted disk, we need to have a init script which comes from the Nix store
1111+ mountHostNixStore = true;
1012 };
1113 boot.loader.systemd-boot.enable = true;
1214
+2
nixos/tests/lvm2/systemd-stage-1.nix
···6565 emptyDiskImages = [ 8192 8192 ];
6666 useBootLoader = true;
6767 useEFIBoot = true;
6868+ # To boot off the LVM disk, we need to have a init script which comes from the Nix store.
6969+ mountHostNixStore = true;
6870 };
6971 boot.loader.systemd-boot.enable = true;
7072 boot.loader.efi.canTouchEfiVariables = true;
+2
nixos/tests/systemd-initrd-btrfs-raid.nix
···66 virtualisation = {
77 emptyDiskImages = [ 512 512 ];
88 useBootLoader = true;
99+ # Booting off the BTRFS RAID requires an available init script from the Nix store
1010+ mountHostNixStore = true;
911 useEFIBoot = true;
1012 };
1113 boot.loader.systemd-boot.enable = true;
+2
nixos/tests/systemd-initrd-luks-fido2.nix
···66 virtualisation = {
77 emptyDiskImages = [ 512 ];
88 useBootLoader = true;
99+ # Booting off the encrypted disk requires having a Nix store available for the init script
1010+ mountHostNixStore = true;
911 useEFIBoot = true;
1012 qemu.package = lib.mkForce (pkgs.qemu_test.override { canokeySupport = true; });
1113 qemu.options = [ "-device canokey,file=/tmp/canokey-file" ];
+2
nixos/tests/systemd-initrd-luks-keyfile.nix
···1414 virtualisation = {
1515 emptyDiskImages = [ 512 ];
1616 useBootLoader = true;
1717+ # Necessary to boot off the encrypted disk because it requires a init script coming from the Nix store
1818+ mountHostNixStore = true;
1719 useEFIBoot = true;
1820 };
1921 boot.loader.systemd-boot.enable = true;
+2
nixos/tests/systemd-initrd-luks-password.nix
···66 virtualisation = {
77 emptyDiskImages = [ 512 512 ];
88 useBootLoader = true;
99+ # Booting off the encrypted disk requires an available init script
1010+ mountHostNixStore = true;
911 useEFIBoot = true;
1012 };
1113 boot.loader.systemd-boot.enable = true;
···2222, srcs
23232424# provided as callPackage input to enable easier overrides through overlays
2525-, cargoSha256 ? "sha256-whMfpElpFB7D+dHHJrbwINFL4bVpHTlcZX+mdBfiqEE="
2525+, cargoSha256 ? "sha256-Cgcat/ZJH8I/RzUVWaO24R2lh+tB5foqDnH8Yjs4K1k="
2626}:
27272828mkDerivation rec {
+1-1
pkgs/applications/kde/fetch.sh
···11-WGET_ARGS=( https://download.kde.org/stable/release-service/23.04.1/src -A '*.tar.xz' )
11+WGET_ARGS=( https://download.kde.org/stable/release-service/23.04.2/src -A '*.tar.xz' )
···99 repo = "ASF-ui";
1010 # updated by the update script
1111 # this is always the commit that should be used with asf-ui from the latest asf version
1212- rev = "114c390c92a889b86cf560def28fb8f39bc4fe54";
1313- sha256 = "1ajmi2l6xhv3nlnag2kmkblny925irp4gngdc3mniiimw364p826";
1212+ rev = "3078d92e8b8d79571b771f452a53d1789330c541";
1313+ hash = "sha256-K3YTgsde9aqtmKuFKjXpoWe6USGpKBlC6eeazuOYTqk=";
1414 };
15151616- npmDepsHash = "sha256-AY1DFuZkB8tOQd2FzHuNZ31rtLlWujP+3AqsMMB2BhU=";
1616+ npmDepsHash = "sha256-L+aWsGMUmIsPJRQ4XPg8WOWOqHKcfDQTqUK+vGBHi0Y=";
17171818 installPhase = ''
1919 runHook preInstall
···991010buildGoModule rec {
1111 pname = "gvisor";
1212- version = "20221102.1";
1212+ version = "20230529.0";
13131414 # gvisor provides a synthetic go branch (https://github.com/google/gvisor/tree/go)
1515 # that can be used to build gvisor without bazel.
1616+ #
1617 # For updates, you should stick to the commits labeled "Merge release-** (automated)"
1818+ # Make sure to check that the tagged commit for a release aligns with the version in
1919+ # the message for good measure; e.g. the commit
2020+ #
2121+ # 142d38d770a07291877dc0d50b88b719dbef76dc is "Merge release-20230522.0-11-g919cfd12b (automated)"
2222+ #
2323+ # on the 'go' branch. But the mentioned commit, 919cfd12b..., is actually tagged as release-20230529.0
2424+ #
2525+ # https://github.com/google/gvisor/releases/tag/release-202329.0
2626+ #
2727+ # Presumably this is a result of the release process. Handle with care.
17281829 src = fetchFromGitHub {
1930 owner = "google";
2031 repo = "gvisor";
2121- rev = "bf8eeee3a9eb966bc72c773da060a3c8bb73b8ff";
2222- sha256 = "sha256-rADQsJ+AnBVlfQURGJl1xR6Ad5NyRWSrBSpOFMRld+o=";
3232+ rev = "142d38d770a07291877dc0d50b88b719dbef76dc";
3333+ hash = "sha256-Ukcjlz/6iUmDAUpQpIVfZHKbwK90Mt6fukcFaw64hQI=";
2334 };
24352525- vendorSha256 = "sha256-iGLWxx/Kn1QaJTNOZcc+mwoF3ecEDOkaqmA0DH4pdgU=";
3636+ vendorHash = "sha256-COr47mZ4tsbzMjkv63l+fexo0RL5lrBXeewak9CuZVk=";
26372738 nativeBuildInputs = [ makeWrapper ];
2839
···11+# Create a cctools-compatible bintools that uses equivalent tools from LLVM in place of the ones
22+# from cctools when possible.
33+44+{ lib, stdenv, makeWrapper, cctools-port, llvmPackages, enableManpages ? true }:
55+66+let
77+ cctoolsVersion = lib.getVersion cctools-port;
88+ llvmVersion = llvmPackages.release_version;
99+1010+ # `bitcode_strip` is not available until LLVM 12.
1111+ useLLVMBitcodeStrip = lib.versionAtLeast llvmVersion "12";
1212+1313+ # A compatible implementation of `otool` was not added until LLVM 13.
1414+ useLLVMOtool = lib.versionAtLeast llvmVersion "13";
1515+1616+ # Older versions of `strip` cause problems for the version of `codesign_allocate` available in
1717+ # the version of cctools in nixpkgs. The version of `codesign_allocate` in cctools-1005.2 does
1818+ # not appear to have issues, but the source is not available yet (as of June 2023).
1919+ useLLVMStrip = lib.versionAtLeast llvmVersion "15" || lib.versionAtLeast cctoolsVersion "1005.2";
2020+2121+ llvm_bins = [
2222+ "dwarfdump"
2323+ "nm"
2424+ "objdump"
2525+ "size"
2626+ "strings"
2727+ ]
2828+ ++ lib.optional useLLVMBitcodeStrip "bitcode-strip"
2929+ ++ lib.optional useLLVMOtool "otool"
3030+ ++ lib.optional useLLVMStrip "strip";
3131+3232+ # Only include the tools that LLVM doesn’t provide and that are present normally on Darwin.
3333+ # The only exceptions are the following tools, which should be reevaluated when LLVM is bumped.
3434+ # - install_name_tool (llvm-objcopy): unrecognized linker commands when building open source CF;
3535+ # - libtool (llvm-libtool-darwin): not fully compatible when used with xcbuild; and
3636+ # - lipo (llvm-lipo): crashes when running the LLVM test suite.
3737+ cctools_bins = [
3838+ "cmpdylib"
3939+ "codesign_allocate"
4040+ "ctf_insert"
4141+ "install_name_tool"
4242+ "ld"
4343+ "libtool"
4444+ "lipo"
4545+ "nmedit"
4646+ "pagestuff"
4747+ "ranlib"
4848+ "segedit"
4949+ "vtool"
5050+ ]
5151+ ++ lib.optional (!useLLVMBitcodeStrip) "bitcode_strip"
5252+ ++ lib.optional (!useLLVMOtool) "otool"
5353+ ++ lib.optional (!useLLVMStrip) "strip";
5454+5555+ inherit (stdenv.cc) targetPrefix;
5656+5757+ linkManPages = pkg: source: target: lib.optionalString enableManpages ''
5858+ sourcePath=${pkg}/share/man/man1/${source}.1.gz
5959+ targetPath=$man/share/man/man1/${target}.1.gz
6060+6161+ if [ -f "$sourcePath" ]; then
6262+ mkdir -p "$(dirname "$targetPath")"
6363+ ln -s "$sourcePath" "$targetPath"
6464+ fi
6565+ '';
6666+in
6767+stdenv.mkDerivation {
6868+ pname = "cctools-llvm";
6969+ version = "${llvmVersion}-${cctoolsVersion}";
7070+7171+ nativeBuildInputs = [ makeWrapper ];
7272+7373+ # The `man` output has to be included unconditionally because darwin.binutils expects it.
7474+ outputs = [ "out" "dev" "man" ];
7575+7676+ buildCommand = ''
7777+ mkdir -p "$out/bin" "$man"
7878+ ln -s ${lib.getDev cctools-port} "$dev"
7979+8080+ # Use the clang-integrated assembler instead of using `as` from cctools.
8181+ makeWrapper "${lib.getBin llvmPackages.clang-unwrapped}/bin/clang" "$out/bin/${targetPrefix}as" \
8282+ --add-flags "-x assembler -integrated-as -c"
8383+8484+ ln -s "${lib.getBin llvmPackages.bintools-unwrapped}/bin/llvm-ar" "$out/bin/${targetPrefix}ar"
8585+ ${linkManPages llvmPackages.llvm-manpages "llvm-ar" "ar"}
8686+8787+ for tool in ${toString llvm_bins}; do
8888+ cctoolsTool=''${tool/-/_}
8989+ ln -s "${lib.getBin llvmPackages.llvm}/bin/llvm-$tool" "$out/bin/${targetPrefix}$cctoolsTool"
9090+ ${linkManPages llvmPackages.llvm-manpages "llvm-$tool" "$cctoolsTool"}
9191+ done
9292+9393+ for tool in ${toString cctools_bins}; do
9494+ ln -s "${lib.getBin cctools-port}/bin/${targetPrefix}$tool" "$out/bin/${targetPrefix}$tool"
9595+ ${linkManPages (lib.getMan cctools-port) "$tool" "$tool"}
9696+ done
9797+9898+ ${linkManPages (lib.getMan cctools-port) "ld64" "ld64"}
9999+ ${lib.optionalString (!useLLVMOtool) # The actual man page for otool in cctools is llvm-otool
100100+ linkManPages (lib.getMan cctools-port) "llvm-otool" "llvm-otool"}
101101+ '';
102102+103103+ passthru = { inherit targetPrefix; };
104104+}
···44 # the frontend version corresponding to a specific home-assistant version can be found here
55 # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
66 pname = "home-assistant-frontend";
77- version = "20230503.3";
77+ version = "20230607.0";
88 format = "wheel";
991010 src = fetchPypi {
···1212 pname = "home_assistant_frontend";
1313 dist = "py3";
1414 python = "py3";
1515- hash = "sha256-BOSXRpHgHUygrbd7LaGHFj5aM+Bfp5VkB791tJ5jCwU=";
1515+ hash = "sha256-O3hAF3QgZHm6q+manxlqWZLlSDxHMr86B3GdwMClxEk=";
1616 };
17171818 # there is nothing to strip in this package
···155155 boost159 = throw "boost159 has been deprecated in favor of the latest version"; # Added 2023-01-01
156156 boost15x = throw "boost15x has been deprecated in favor of the latest version"; # Added 2023-01-01
157157 boost160 = throw "boost160 has been deprecated in favor of the latest version"; # Added 2023-01-01
158158+ boost168 = throw "boost168 has been deprecated in favor of the latest version"; # Added 2023-06-08
159159+ boost169 = throw "boost169 has been deprecated in favor of the latest version"; # Added 2023-06-08
160160+ boost16x = throw "boost16x has been deprecated in favor of the latest version"; # Added 2023-06-08
161161+ boost170 = throw "boost170 has been deprecated in favor of the latest version"; # Added 2023-06-08
162162+ boost172 = throw "boost172 has been deprecated in favor of the latest version"; # Added 2023-06-08
163163+ boost173 = throw "boost173 has been deprecated in favor of the latest version"; # Added 2023-06-08
164164+ boost174 = throw "boost174 has been deprecated in favor of the latest version"; # Added 2023-06-08
158165 botan = throw "botan has been removed because it did not support a supported openssl version"; # added 2021-12-15
159166 bpftool = bpftools; # Added 2021-05-03
160167 bpytop = throw "bpytop has been deprecated by btop"; # Added 2023-02-16