From 094195fb64e51f73bab70d60fee36f520f576fa7 Mon Sep 17 00:00:00 2001 From: Tom McLaughlin Date: Sat, 5 Aug 2023 18:14:41 -0700 Subject: [PATCH 01/47] jupyter-all: init a package to build all Jupyter kernels --- pkgs/top-level/all-packages.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a16d298a861..68acf49273f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9450,6 +9450,14 @@ with pkgs; jupyter = callPackage ../applications/editors/jupyter { }; + jupyter-all = jupyter.override { + definitions = { + clojure = clojupyter.definition; + octave = octave-kernel.definition; + # wolfram = wolfram-for-jupyter-kernel.definition; # unfree + }; + }; + jupyter-kernel = callPackage ../applications/editors/jupyter/kernel.nix { }; justify = callPackage ../tools/text/justify { }; From da614d98e9540002bb1a1a9165177c3a6719f07f Mon Sep 17 00:00:00 2001 From: linsui Date: Wed, 14 Jun 2023 16:14:23 +0800 Subject: [PATCH 02/47] lib/gvariant: init --- doc/default.nix | 1 + lib/default.nix | 1 + lib/gvariant.nix | 290 +++++++++++++++++++++++++++++++++ lib/tests/modules/gvariant.nix | 93 +++++++++++ 4 files changed, 385 insertions(+) create mode 100644 lib/gvariant.nix create mode 100644 lib/tests/modules/gvariant.nix diff --git a/doc/default.nix b/doc/default.nix index f4270ae856d..58b945c692f 100644 --- a/doc/default.nix +++ b/doc/default.nix @@ -21,6 +21,7 @@ let { name = "filesystem"; description = "filesystem functions"; } { name = "sources"; description = "source filtering functions"; } { name = "cli"; description = "command-line serialization functions"; } + { name = "gvariant"; description = "GVariant formatted string serialization functions"; } ]; }; diff --git a/lib/default.nix b/lib/default.nix index 73b8ad87154..56af195d7c9 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -41,6 +41,7 @@ let # serialization cli = callLibs ./cli.nix; + gvariant = callLibs ./gvariant.nix; generators = callLibs ./generators.nix; # misc diff --git a/lib/gvariant.nix b/lib/gvariant.nix new file mode 100644 index 00000000000..3142ffc5f14 --- /dev/null +++ b/lib/gvariant.nix @@ -0,0 +1,290 @@ +# This file is based on https://github.com/nix-community/home-manager +# Copyright (c) 2017-2022 Home Manager contributors +# + + +{ lib }: + +/* A partial and basic implementation of GVariant formatted strings. + See https://docs.gtk.org/glib/gvariant-format-strings.html for detauls. + + Note, this API is not considered fully stable and it might therefore + change in backwards incompatible ways without prior notice. +*/ +let + inherit (lib) + concatMapStringsSep concatStrings escape head replaceStrings; + + mkPrimitive = t: v: { + _type = "gvariant"; + type = t; + value = v; + __toString = self: "@${self.type} ${toString self.value}"; # https://docs.gtk.org/glib/gvariant-text.html + }; + + type = { + arrayOf = t: "a${t}"; + maybeOf = t: "m${t}"; + tupleOf = ts: "(${concatStrings ts})"; + dictionaryEntryOf = nameType: valueType: "{${nameType}${valueType}}"; + string = "s"; + boolean = "b"; + uchar = "y"; + int16 = "n"; + uint16 = "q"; + int32 = "i"; + uint32 = "u"; + int64 = "x"; + uint64 = "t"; + double = "d"; + variant = "v"; + }; + + /* Check if a value is a GVariant value + + Type: + isGVariant :: Any -> Bool + */ + isGVariant = v: v._type or "" == "gvariant"; + +in +rec { + + inherit type isGVariant; + + /* Returns the GVariant value that most closely matches the given Nix value. + If no GVariant value can be found unambiguously then error is thrown. + + Type: + mkValue :: Any -> gvariant + */ + mkValue = v: + if builtins.isBool v then + mkBoolean v + else if builtins.isFloat v then + mkDouble v + else if builtins.isString v then + mkString v + else if builtins.isList v then + mkArray v + else if isGVariant v then + v + else + throw "The GVariant type of ${v} can't be inferred."; + + /* Returns the GVariant array from the given type of the elements and a Nix list. + + Type: + mkArray :: [Any] -> gvariant + + Example: + # Creating a string array + lib.gvariant.mkArray [ "a" "b" "c" ] + */ + mkArray = elems: + let + vs = map mkValue (lib.throwIf (elems == [ ]) "Please create empty array with mkEmptyArray." elems); + elemType = lib.throwIfNot (lib.all (t: (head vs).type == t) (map (v: v.type) vs)) + "Elements in a list should have same type." + (head vs).type; + in + mkPrimitive (type.arrayOf elemType) vs // { + __toString = self: + "@${self.type} [${concatMapStringsSep "," toString self.value}]"; + }; + + /* Returns the GVariant array from the given empty Nix list. + + Type: + mkEmptyArray :: gvariant.type -> gvariant + + Example: + # Creating an empty string array + lib.gvariant.mkEmptyArray (lib.gvariant.type.string) + */ + mkEmptyArray = elemType: mkPrimitive (type.arrayOf elemType) [ ] // { + __toString = self: "@${self.type} []"; + }; + + + /* Returns the GVariant variant from the given Nix value. Variants are containers + of different GVariant type. + + Type: + mkVariant :: Any -> gvariant + + Example: + lib.gvariant.mkArray [ + (lib.gvariant.mkVariant "a string") + (lib.gvariant.mkVariant (lib.gvariant.mkInt32 1)) + ] + */ + mkVariant = elem: + let gvarElem = mkValue elem; + in mkPrimitive type.variant gvarElem // { + __toString = self: "<${toString self.value}>"; + }; + + /* Returns the GVariant dictionary entry from the given key and value. + + Type: + mkDictionaryEntry :: String -> Any -> gvariant + + Example: + # A dictionary describing an Epiphany’s search provider + [ + (lib.gvariant.mkDictionaryEntry "url" (lib.gvariant.mkVariant "https://duckduckgo.com/?q=%s&t=epiphany")) + (lib.gvariant.mkDictionaryEntry "bang" (lib.gvariant.mkVariant "!d")) + (lib.gvariant.mkDictionaryEntry "name" (lib.gvariant.mkVariant "DuckDuckGo")) + ] + */ + mkDictionaryEntry = + # The key of the entry + name: + # The value of the entry + value: + let + name' = mkValue name; + value' = mkValue value; + dictionaryType = type.dictionaryEntryOf name'.type value'.type; + in + mkPrimitive dictionaryType { inherit name value; } // { + __toString = self: "@${self.type} {${name'},${value'}}"; + }; + + /* Returns the GVariant maybe from the given element type. + + Type: + mkMaybe :: gvariant.type -> Any -> gvariant + */ + mkMaybe = elemType: elem: + mkPrimitive (type.maybeOf elemType) elem // { + __toString = self: + if self.value == null then + "@${self.type} nothing" + else + "just ${toString self.value}"; + }; + + /* Returns the GVariant nothing from the given element type. + + Type: + mkNothing :: gvariant.type -> gvariant + */ + mkNothing = elemType: mkMaybe elemType null; + + /* Returns the GVariant just from the given Nix value. + + Type: + mkJust :: Any -> gvariant + */ + mkJust = elem: let gvarElem = mkValue elem; in mkMaybe gvarElem.type gvarElem; + + /* Returns the GVariant tuple from the given Nix list. + + Type: + mkTuple :: [Any] -> gvariant + */ + mkTuple = elems: + let + gvarElems = map mkValue elems; + tupleType = type.tupleOf (map (e: e.type) gvarElems); + in + mkPrimitive tupleType gvarElems // { + __toString = self: + "@${self.type} (${concatMapStringsSep "," toString self.value})"; + }; + + /* Returns the GVariant boolean from the given Nix bool value. + + Type: + mkBoolean :: Bool -> gvariant + */ + mkBoolean = v: + mkPrimitive type.boolean v // { + __toString = self: if self.value then "true" else "false"; + }; + + /* Returns the GVariant string from the given Nix string value. + + Type: + mkString :: String -> gvariant + */ + mkString = v: + let sanitize = s: replaceStrings [ "\n" ] [ "\\n" ] (escape [ "'" "\\" ] s); + in mkPrimitive type.string v // { + __toString = self: "'${sanitize self.value}'"; + }; + + /* Returns the GVariant object path from the given Nix string value. + + Type: + mkObjectpath :: String -> gvariant + */ + mkObjectpath = v: + mkPrimitive type.string v // { + __toString = self: "objectpath '${escape [ "'" ] self.value}'"; + }; + + /* Returns the GVariant uchar from the given Nix int value. + + Type: + mkUchar :: Int -> gvariant + */ + mkUchar = mkPrimitive type.uchar; + + /* Returns the GVariant int16 from the given Nix int value. + + Type: + mkInt16 :: Int -> gvariant + */ + mkInt16 = mkPrimitive type.int16; + + /* Returns the GVariant uint16 from the given Nix int value. + + Type: + mkUint16 :: Int -> gvariant + */ + mkUint16 = mkPrimitive type.uint16; + + /* Returns the GVariant int32 from the given Nix int value. + + Type: + mkInt32 :: Int -> gvariant + */ + mkInt32 = v: + mkPrimitive type.int32 v // { + __toString = self: toString self.value; + }; + + /* Returns the GVariant uint32 from the given Nix int value. + + Type: + mkUint32 :: Int -> gvariant + */ + mkUint32 = mkPrimitive type.uint32; + + /* Returns the GVariant int64 from the given Nix int value. + + Type: + mkInt64 :: Int -> gvariant + */ + mkInt64 = mkPrimitive type.int64; + + /* Returns the GVariant uint64 from the given Nix int value. + + Type: + mkUint64 :: Int -> gvariant + */ + mkUint64 = mkPrimitive type.uint64; + + /* Returns the GVariant double from the given Nix float value. + + Type: + mkDouble :: Float -> gvariant + */ + mkDouble = v: + mkPrimitive type.double v // { + __toString = self: toString self.value; + }; +} diff --git a/lib/tests/modules/gvariant.nix b/lib/tests/modules/gvariant.nix new file mode 100644 index 00000000000..a792ebf85b7 --- /dev/null +++ b/lib/tests/modules/gvariant.nix @@ -0,0 +1,93 @@ +{ config, lib, ... }: + +let inherit (lib) concatStringsSep mapAttrsToList mkMerge mkOption types gvariant; +in { + options.examples = mkOption { type = types.attrsOf gvariant; }; + + config = { + examples = with gvariant; + mkMerge [ + { bool = true; } + { bool = true; } + + { float = 3.14; } + + { int32 = mkInt32 (- 42); } + { int32 = mkInt32 (- 42); } + + { uint32 = mkUint32 42; } + { uint32 = mkUint32 42; } + + { int16 = mkInt16 (-42); } + { int16 = mkInt16 (-42); } + + { uint16 = mkUint16 42; } + { uint16 = mkUint16 42; } + + { int64 = mkInt64 (-42); } + { int64 = mkInt64 (-42); } + + { uint64 = mkUint64 42; } + { uint64 = mkUint64 42; } + + { array1 = [ "one" ]; } + { array1 = mkArray [ "two" ]; } + { array2 = mkArray [ (mkInt32 1) ]; } + { array2 = mkArray [ (nkUint32 2) ]; } + + { emptyArray1 = [ ]; } + { emptyArray2 = mkEmptyArray type.uint32; } + + { string = "foo"; } + { string = "foo"; } + { + escapedString = '' + '\ + ''; + } + + { tuple = mkTuple [ (mkInt32 1) [ "foo" ] ]; } + + { maybe1 = mkNothing type.string; } + { maybe2 = mkJust (mkUint32 4); } + + { variant1 = mkVariant "foo"; } + { variant2 = mkVariant 42; } + + { dictionaryEntry = mkDictionaryEntry (mkInt32 1) [ "foo" ]; } + ]; + + assertions = [ + { + assertion = ( + let + mkLine = n: v: "${n} = ${toString (gvariant.mkValue v)}"; + result = concatStringsSep "\n" (mapAttrsToList mkLine config.examples); + in + result + "\n" + ) == '' + array1 = @as ['one','two'] + array2 = @au [1,2] + bool = true + dictionaryEntry = @{ias} {1,@as ['foo']} + emptyArray1 = @as [] + emptyArray2 = @au [] + escapedString = '\'\\\n' + float = 3.140000 + int = -42 + int16 = @n -42 + int64 = @x -42 + maybe1 = @ms nothing + maybe2 = just @u 4 + string = 'foo' + tuple = @(ias) (1,@as ['foo']) + uint16 = @q 42 + uint32 = @u 42 + uint64 = @t 42 + variant1 = @v <'foo'> + variant2 = @v <42> + ''; + } + ]; + }; +} From cce75fa51e1ef5d6f1657b9c0b9ca1963f8f3b03 Mon Sep 17 00:00:00 2001 From: linsui Date: Wed, 14 Jun 2023 16:22:17 +0800 Subject: [PATCH 03/47] nixos/dconf: refractor remove `with lib;` profiles option now accepts packages in addition to paths. profiles option is no longer internal. cfgDir definition has been inlined. pulled GIO_EXTRA_MODULES inside mkif. removed pointless comments with section headings. defined profiles are now turned into package, allowing to simplify the db update logic. --- nixos/modules/programs/dconf.nix | 70 +++++++++++++++----------------- 1 file changed, 33 insertions(+), 37 deletions(-) diff --git a/nixos/modules/programs/dconf.nix b/nixos/modules/programs/dconf.nix index 7261a143528..b5bfb79be20 100644 --- a/nixos/modules/programs/dconf.nix +++ b/nixos/modules/programs/dconf.nix @@ -1,55 +1,50 @@ { config, lib, pkgs, ... }: -with lib; - let cfg = config.programs.dconf; - cfgDir = pkgs.symlinkJoin { - name = "dconf-system-config"; - paths = map (x: "${x}/etc/dconf") cfg.packages; - postBuild = '' - mkdir -p $out/profile - mkdir -p $out/db - '' + ( - concatStringsSep "\n" ( - mapAttrsToList ( - name: path: '' - ln -s ${path} $out/profile/${name} - '' - ) cfg.profiles - ) - ) + '' - ${pkgs.dconf}/bin/dconf update $out/db + + # Generate dconf profile + mkDconfProfile = name: value: + pkgs.runCommand "dconf-profile" { } '' + mkdir -p $out/etc/dconf/profile/ + cp ${value} $out/etc/dconf/profile/${name} ''; - }; in { - ###### interface - options = { programs.dconf = { - enable = mkEnableOption (lib.mdDoc "dconf"); + enable = lib.mkEnableOption (lib.mdDoc "dconf"); - profiles = mkOption { - type = types.attrsOf types.path; - default = {}; - description = lib.mdDoc "Set of dconf profile files, installed at {file}`/etc/dconf/profiles/«name»`."; - internal = true; + profiles = lib.mkOption { + type = with lib.types; attrsOf (oneOf [ + path + package + ]); + description = lib.mdDoc "Attrset of dconf profiles."; }; - packages = mkOption { - type = types.listOf types.package; - default = []; + packages = lib.mkOption { + type = lib.types.listOf lib.types.package; + default = [ ]; description = lib.mdDoc "A list of packages which provide dconf profiles and databases in {file}`/etc/dconf`."; }; }; }; - ###### implementation + config = lib.mkIf (cfg.profiles != { } || cfg.enable) { + programs.dconf.packages = lib.mapAttrsToList mkDconfProfile cfg.profiles; - config = mkIf (cfg.profiles != {} || cfg.enable) { - environment.etc.dconf = mkIf (cfg.profiles != {} || cfg.packages != []) { - source = cfgDir; + environment.etc.dconf = lib.mkIf (cfg.packages != [ ]) { + source = pkgs.symlinkJoin { + name = "dconf-system-config"; + paths = map (x: "${x}/etc/dconf") cfg.packages; + nativeBuildInputs = [ (lib.getBin pkgs.dconf) ]; + postBuild = '' + if test -d $out/db; then + dconf update $out/db + fi + ''; + }; }; services.dbus.packages = [ pkgs.dconf ]; @@ -59,8 +54,9 @@ in # For dconf executable environment.systemPackages = [ pkgs.dconf ]; - # Needed for unwrapped applications - environment.sessionVariables.GIO_EXTRA_MODULES = mkIf cfg.enable [ "${pkgs.dconf.lib}/lib/gio/modules" ]; + environment.sessionVariables = lib.mkIf cfg.enable { + # Needed for unwrapped applications + GIO_EXTRA_MODULES = [ "${pkgs.dconf.lib}/lib/gio/modules" ]; + }; }; - } From fb52d5df8669aa7ca64f3cb83c42c118cd244603 Mon Sep 17 00:00:00 2001 From: linsui Date: Tue, 15 Aug 2023 17:58:02 +0800 Subject: [PATCH 04/47] nixos/dconf: add settings support --- lib/generators.nix | 8 ++ nixos/modules/programs/dconf.nix | 155 ++++++++++++++++++++++++++++++- 2 files changed, 158 insertions(+), 5 deletions(-) diff --git a/lib/generators.nix b/lib/generators.nix index c37be1942d8..0368577d5a5 100644 --- a/lib/generators.nix +++ b/lib/generators.nix @@ -230,6 +230,14 @@ rec { in toINI_ (gitFlattenAttrs attrs); + # mkKeyValueDefault wrapper that handles dconf INI quirks. + # The main differences of the format is that it requires strings to be quoted. + mkDconfKeyValue = mkKeyValueDefault { mkValueString = v: toString (lib.gvariant.mkValue v); } "="; + + # Generates INI in dconf keyfile style. See https://help.gnome.org/admin/system-admin-guide/stable/dconf-keyfiles.html.en + # for details. + toDconfINI = toINI { mkKeyValue = mkDconfKeyValue; }; + /* Generates JSON from an arbitrary (non-function) value. * For more information see the documentation of the builtin. */ diff --git a/nixos/modules/programs/dconf.nix b/nixos/modules/programs/dconf.nix index b5bfb79be20..567d42a4a41 100644 --- a/nixos/modules/programs/dconf.nix +++ b/nixos/modules/programs/dconf.nix @@ -3,12 +3,138 @@ let cfg = config.programs.dconf; + # Compile keyfiles to dconf DB + compileDconfDb = dir: pkgs.runCommand "dconf-db" + { + nativeBuildInputs = [ (lib.getBin pkgs.dconf) ]; + } "dconf compile $out ${dir}"; + + # Check if dconf keyfiles are valid + checkDconfKeyfiles = dir: pkgs.runCommand "check-dconf-keyfiles" + { + nativeBuildInputs = [ (lib.getBin pkgs.dconf) ]; + } '' + if [[ -f ${dir} ]]; then + echo "dconf keyfiles should be a directory but a file is provided: ${dir}" + exit 1 + fi + + dconf compile db ${dir} || ( + echo "The dconf keyfiles are invalid: ${dir}" + exit 1 + ) + cp -R ${dir} $out + ''; + + # Generate dconf DB from dconfDatabase and keyfiles + mkDconfDb = val: compileDconfDb (pkgs.symlinkJoin { + name = "nixos-generated-dconf-keyfiles"; + paths = [ + (pkgs.writeTextDir "nixos-generated-dconf-keyfiles" (lib.generators.toDconfINI val.settings)) + ] ++ (map checkDconfKeyfiles val.keyfiles); + }); + + # Check if a dconf DB file is valid. The dconf cli doesn't return 1 when it can't + # open the database file so we have to check if the output is empty. + checkDconfDb = file: pkgs.runCommand "check-dconf-db" + { + nativeBuildInputs = [ (lib.getBin pkgs.dconf) ]; + } '' + if [[ -d ${file} ]]; then + echo "dconf DB should be a file but a directory is provided: ${file}" + exit 1 + fi + + echo "file-db:${file}" > profile + DCONF_PROFILE=$(pwd)/profile dconf dump / > output 2> error + if [[ ! -s output ]] && [[ -s error ]]; then + cat error + echo "The dconf DB file is invalid: ${file}" + exit 1 + fi + + cp ${file} $out + ''; + # Generate dconf profile mkDconfProfile = name: value: - pkgs.runCommand "dconf-profile" { } '' - mkdir -p $out/etc/dconf/profile/ - cp ${value} $out/etc/dconf/profile/${name} - ''; + if lib.isDerivation value || lib.isPath value then + pkgs.runCommand "dconf-profile" { } '' + if [[ -d ${value} ]]; then + echo "Dconf profile should be a file but a directory is provided." + exit 1 + fi + mkdir -p $out/etc/dconf/profile/ + cp ${value} $out/etc/dconf/profile/${name} + '' + else + pkgs.writeTextDir "etc/dconf/profile/${name}" ( + lib.concatMapStrings (x: "${x}\n") (( + lib.optional value.enableUserDb "user-db:user" + ) ++ ( + map + (value: + let + db = if lib.isAttrs value && !lib.isDerivation value then mkDconfDb value else checkDconfDb value; + in + "file-db:${db}") + value.databases + )) + ); + + dconfDatabase = with lib.types; submodule { + options = { + keyfiles = lib.mkOption { + type = listOf (oneOf [ path package ]); + default = [ ]; + description = lib.mdDoc "A list of dconf keyfile directories."; + }; + settings = lib.mkOption { + type = attrs; + default = { }; + description = lib.mdDoc "An attrset used to generate dconf keyfile."; + example = literalExpression '' + with lib.gvariant; + { + "com/raggesilver/BlackBox" = { + scrollback-lines = mkUint32 10000; + theme-dark = "Tommorow Night"; + }; + } + ''; + }; + }; + }; + + dconfProfile = with lib.types; submodule { + options = { + enableUserDb = lib.mkOption { + type = bool; + default = true; + description = lib.mdDoc "Add `user-db:user` at the beginning of the profile."; + }; + + databases = lib.mkOption { + type = with lib.types; listOf (oneOf [ + path + package + dconfDatabase + ]); + default = [ ]; + description = lib.mdDoc '' + List of data sources for the profile. An element can be an attrset, + or the path of an already compiled database. Each element is converted + to a file-db. + + A key is searched from up to down and the first result takes the + priority. If a lock for a particular key is installed then the value from + the last database in the profile where the key is locked will be used. + This can be used to enforce mandatory settings. + ''; + }; + }; + }; + in { options = { @@ -19,8 +145,27 @@ in type = with lib.types; attrsOf (oneOf [ path package + dconfProfile ]); - description = lib.mdDoc "Attrset of dconf profiles."; + default = { }; + description = lib.mdDoc '' + Attrset of dconf profiles. By default the `user` profile is used which + ends up in `/etc/dconf/profile/user`. + ''; + example = lib.literalExpression '' + { + # A "user" profile with a database + user.databases = [ + { + settings = { }; + } + ]; + # A "bar" profile from a package + bar = pkgs.bar-dconf-profile; + # A "foo" profile from a path + foo = ''${./foo} + }; + ''; }; packages = lib.mkOption { From 038d78d4ce9fdef9f271891953d946233fe5ed42 Mon Sep 17 00:00:00 2001 From: linsui Date: Wed, 14 Jun 2023 16:27:19 +0800 Subject: [PATCH 05/47] nixos/dconf: add locks support --- nixos/modules/programs/dconf.nix | 22 +++++++++++++++++++++ nixos/tests/all-tests.nix | 1 + nixos/tests/dconf.nix | 34 ++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 nixos/tests/dconf.nix diff --git a/nixos/modules/programs/dconf.nix b/nixos/modules/programs/dconf.nix index 567d42a4a41..cf53658c4fa 100644 --- a/nixos/modules/programs/dconf.nix +++ b/nixos/modules/programs/dconf.nix @@ -26,11 +26,17 @@ let cp -R ${dir} $out ''; + mkAllLocks = settings: lib.flatten ( + lib.mapAttrsToList (k: v: lib.mapAttrsToList (k': _: "/${k}/${k'}") v) settings); + # Generate dconf DB from dconfDatabase and keyfiles mkDconfDb = val: compileDconfDb (pkgs.symlinkJoin { name = "nixos-generated-dconf-keyfiles"; paths = [ (pkgs.writeTextDir "nixos-generated-dconf-keyfiles" (lib.generators.toDconfINI val.settings)) + (pkgs.writeTextDir "locks/nixos-generated-dconf-locks" (lib.concatStringsSep "\n" + (if val.lockAll then mkAllLocks val.settings else val.locks) + )) ] ++ (map checkDconfKeyfiles val.keyfiles); }); @@ -103,6 +109,22 @@ let } ''; }; + locks = lib.mkOption { + type = with lib.types; listOf str; + default = [ ]; + description = lib.mdDoc '' + A list of dconf keys to be lockdown. This doesn't take effect if `lockAll` + is set. + ''; + example = literalExpression '' + [ "/org/gnome/desktop/background/picture-uri" ] + ''; + }; + lockAll = lib.mkOption { + type = lib.types.bool; + default = false; + description = lib.mdDoc "Lockdown all dconf keys in `settings`."; + }; }; }; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 530447b9978..d867e4549cf 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -210,6 +210,7 @@ in { custom-ca = handleTest ./custom-ca.nix {}; croc = handleTest ./croc.nix {}; darling = handleTest ./darling.nix {}; + dconf = handleTest ./dconf.nix {}; deepin = handleTest ./deepin.nix {}; deluge = handleTest ./deluge.nix {}; dendrite = handleTest ./matrix/dendrite.nix {}; diff --git a/nixos/tests/dconf.nix b/nixos/tests/dconf.nix new file mode 100644 index 00000000000..86f703e3b98 --- /dev/null +++ b/nixos/tests/dconf.nix @@ -0,0 +1,34 @@ +import ./make-test-python.nix + ({ lib, ... }: + { + name = "dconf"; + + meta.maintainers = with lib.maintainers; [ + linsui + ]; + + nodes.machine = { config, pkgs, lib, ... }: { + users.extraUsers.alice = { isNormalUser = true; }; + programs.dconf = with lib.gvariant; { + enable = true; + profiles.user.databases = [ + { + settings = { + "test/not/locked" = mkInt32 1; + "test/is/locked" = "locked"; + }; + locks = [ + "/test/is/locked" + ]; + } + ]; + }; + }; + + testScript = '' + machine.succeed("test $(dconf read -d /test/not/locked) == 1") + machine.succeed("test $(dconf read -d /test/is/locked) == \"'locked'\"") + machine.fail("sudo -u alice dbus-run-session -- dconf write /test/is/locked \"@s 'unlocked'\"") + machine.succeed("sudo -u alice dbus-run-session -- dconf write /test/not/locked \"@i 2\"") + ''; + }) From 0e6827ed9c09e517d47575e1b9e19f52e0961225 Mon Sep 17 00:00:00 2001 From: linsui Date: Wed, 14 Jun 2023 16:28:04 +0800 Subject: [PATCH 06/47] nixos/gdm: switch to dconf settings --- .../services/x11/display-managers/gdm.nix | 40 ++++--------------- pkgs/desktops/gnome/core/gdm/default.nix | 38 ++++++++++++------ 2 files changed, 32 insertions(+), 46 deletions(-) diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix index 676d08b93e2..e6923bcbb56 100644 --- a/nixos/modules/services/x11/display-managers/gdm.nix +++ b/nixos/modules/services/x11/display-managers/gdm.nix @@ -231,40 +231,14 @@ in systemd.user.services.dbus.wantedBy = [ "default.target" ]; - programs.dconf.profiles.gdm = - let - customDconf = pkgs.writeTextFile { - name = "gdm-dconf"; - destination = "/dconf/gdm-custom"; - text = '' - ${optionalString (!cfg.gdm.autoSuspend) '' - [org/gnome/settings-daemon/plugins/power] - sleep-inactive-ac-type='nothing' - sleep-inactive-battery-type='nothing' - sleep-inactive-ac-timeout=0 - sleep-inactive-battery-timeout=0 - ''} - ''; + programs.dconf.profiles.gdm.databases = lib.optionals (!cfg.gdm.autoSuspend) [{ + settings."org/gnome/settings-daemon/plugins/power" = { + sleep-inactive-ac-type = "nothing"; + sleep-inactive-battery-type = "nothing"; + sleep-inactive-ac-timeout = lib.gvariant.mkInt32 0; + sleep-inactive-battery-timeout = lib.gvariant.mkInt32 0; }; - - customDconfDb = pkgs.stdenv.mkDerivation { - name = "gdm-dconf-db"; - buildCommand = '' - ${pkgs.dconf}/bin/dconf compile $out ${customDconf}/dconf - ''; - }; - in pkgs.stdenv.mkDerivation { - name = "dconf-gdm-profile"; - buildCommand = '' - # Check that the GDM profile starts with what we expect. - if [ $(head -n 1 ${gdm}/share/dconf/profile/gdm) != "user-db:user" ]; then - echo "GDM dconf profile changed, please update gdm.nix" - exit 1 - fi - # Insert our custom DB behind it. - sed '2ifile-db:${customDconfDb}' ${gdm}/share/dconf/profile/gdm > $out - ''; - }; + }] ++ [ "${gdm}/share/gdm/greeter-dconf-defaults" ]; # Use AutomaticLogin if delay is zero, because it's immediate. # Otherwise with TimedLogin with zero seconds the prompt is still diff --git a/pkgs/desktops/gnome/core/gdm/default.nix b/pkgs/desktops/gnome/core/gdm/default.nix index 8faa1615dc0..cfdde43ae77 100644 --- a/pkgs/desktops/gnome/core/gdm/default.nix +++ b/pkgs/desktops/gnome/core/gdm/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv +{ lib +, stdenv , fetchurl , fetchpatch , substituteAll @@ -8,7 +9,6 @@ , pkg-config , glib , itstool -, libxml2 , xorg , accountsservice , libX11 @@ -24,12 +24,12 @@ , audit , gobject-introspection , plymouth -, librsvg , coreutils , xorgserver , xwayland , dbus , nixos-icons +, runCommand }: let @@ -41,21 +41,21 @@ let in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gdm"; version = "44.1"; outputs = [ "out" "dev" ]; src = fetchurl { - url = "mirror://gnome/sources/gdm/${lib.versions.major version}/${pname}-${version}.tar.xz"; + url = "mirror://gnome/sources/gdm/${lib.versions.major finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.xz"; sha256 = "aCZrOr59KPxGnQBnqsnF2rsMp5UswffCOKBJUfPcWw0="; }; mesonFlags = [ "-Dgdm-xsession=true" # TODO: Setup a default-path? https://gitlab.gnome.org/GNOME/gdm/-/blob/6fc40ac6aa37c8ad87c32f0b1a5d813d34bf7770/meson_options.txt#L6 - "-Dinitial-vt=${passthru.initialVT}" + "-Dinitial-vt=${finalAttrs.passthru.initialVT}" "-Dudev-dir=${placeholder "out"}/lib/udev/rules.d" "-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system" "-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user" @@ -131,21 +131,21 @@ stdenv.mkDerivation rec { ''; preInstall = '' - install -D ${override} ${DESTDIR}/$out/share/glib-2.0/schemas/org.gnome.login-screen.gschema.override + install -D ${override} $DESTDIR/$out/share/glib-2.0/schemas/org.gnome.login-screen.gschema.override ''; postInstall = '' # Move stuff from DESTDIR to proper location. # We use rsync to merge the directories. - rsync --archive "${DESTDIR}/etc" "$out" - rm --recursive "${DESTDIR}/etc" + rsync --archive "$DESTDIR/etc" "$out" + rm --recursive "$DESTDIR/etc" for o in $(getAllOutputNames); do if [[ "$o" = "debug" ]]; then continue; fi - rsync --archive "${DESTDIR}/''${!o}" "$(dirname "''${!o}")" - rm --recursive "${DESTDIR}/''${!o}" + rsync --archive "$DESTDIR/''${!o}" "$(dirname "''${!o}")" + rm --recursive "$DESTDIR/''${!o}" done # Ensure the DESTDIR is removed. - rmdir "${DESTDIR}/nix/store" "${DESTDIR}/nix" "${DESTDIR}" + rmdir "$DESTDIR/nix/store" "$DESTDIR/nix" "$DESTDIR" # We are setting DESTDIR so the post-install script does not compile the schemas. glib-compile-schemas "$out/share/glib-2.0/schemas" @@ -170,6 +170,18 @@ stdenv.mkDerivation rec { # Used in GDM NixOS module # Don't remove. initialVT = "7"; + dconfDb = "${finalAttrs.finalPackage}/share/gdm/greeter-dconf-defaults"; + dconfProfile = "user-db:user\nfile-db:${finalAttrs.passthru.dconfDb}"; + + tests = { + profile = runCommand "gdm-profile-test" { } '' + if test "${finalAttrs.passthru.dconfProfile}" != "$(cat ${finalAttrs.finalPackage}/share/dconf/profile/gdm)"; then + echo "GDM dconf profile changed, please update gdm.nix" + exit 1 + fi + touch $out + ''; + }; }; meta = with lib; { @@ -179,4 +191,4 @@ stdenv.mkDerivation rec { maintainers = teams.gnome.members; platforms = platforms.linux; }; -} +}) From 8c84eb3e93a786fdd04cfae91b8e65b425787b76 Mon Sep 17 00:00:00 2001 From: Xyven1 Date: Sun, 26 Feb 2023 02:24:16 -0500 Subject: [PATCH 07/47] maintainers: add xyven1 --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index dbb6b7f7153..9a096c11bee 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -18464,6 +18464,12 @@ github = "XYenon"; githubId = 20698483; }; + xyven1 = { + name = "Xyven"; + email = "nix@xyven.dev"; + github = "xyven1"; + githubId = 35360746; + }; xzfc = { email = "xzfcpw@gmail.com"; github = "xzfc"; From 8e53e1bae7f3df96627501966ec3ce3970523864 Mon Sep 17 00:00:00 2001 From: Xyven1 Date: Sun, 26 Feb 2023 02:29:53 -0500 Subject: [PATCH 08/47] spotify-player: make build options configurable Surface rust build features as configurations in nixpkgs, update description to better match the applications use, add xyven1 as maintainer. --- .../audio/spotify-player/default.nix | 58 +++++++++++++------ 1 file changed, 41 insertions(+), 17 deletions(-) diff --git a/pkgs/applications/audio/spotify-player/default.nix b/pkgs/applications/audio/spotify-player/default.nix index 4c5417ab99f..963cbe3252e 100644 --- a/pkgs/applications/audio/spotify-player/default.nix +++ b/pkgs/applications/audio/spotify-player/default.nix @@ -4,12 +4,30 @@ , pkg-config , openssl , cmake +# deps for audio backends , alsa-lib +, libpulseaudio +, portaudio +, libjack2 +, SDL2 +, gst_all_1 , dbus , fontconfig , libsixel + +# build options +, withStreaming ? true +, withDaemon ? true +, withAudioBackend ? "rodio" # alsa, pulseaudio, rodio, portaudio, jackaudio, rodiojack, sdl +, withMediaControl ? true +, withLyrics ? true +, withImage ? true +, withNotify ? true +, withSixel ? true }: +assert lib.assertOneOf "withAudioBackend" withAudioBackend [ "" "alsa" "pulseaudio" "rodio" "portaudio" "jackaudio" "rodiojack" "sdl" "gstreamer" ]; + rustPlatform.buildRustPackage rec { pname = "spotify-player"; version = "0.15.0"; @@ -30,31 +48,37 @@ rustPlatform.buildRustPackage rec { buildInputs = [ openssl - alsa-lib dbus fontconfig - libsixel - ]; + ] + ++ lib.optionals withSixel [ libsixel ] + ++ lib.optionals (withAudioBackend == "alsa") [ alsa-lib ] + ++ lib.optionals (withAudioBackend == "pulseaudio") [ libpulseaudio ] + ++ lib.optionals (withAudioBackend == "rodio") [ alsa-lib ] + ++ lib.optionals (withAudioBackend == "portaudio") [ portaudio ] + ++ lib.optionals (withAudioBackend == "jackaudio") [ libjack2 ] + ++ lib.optionals (withAudioBackend == "rodiojack") [ alsa-lib libjack2 ] + ++ lib.optionals (withAudioBackend == "sdl") [ SDL2 ] + ++ lib.optionals (withAudioBackend == "gstreamer") [ gst_all_1.gstreamer gst_all_1.gst-devtools gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ]; buildNoDefaultFeatures = true; - buildFeatures = [ - "rodio-backend" - "media-control" - "image" - "lyric-finder" - "daemon" - "notify" - "streaming" - "sixel" - ]; + buildFeatures = [ ] + ++ lib.optionals (withAudioBackend != "") [ "${withAudioBackend}-backend" ] + ++ lib.optionals withMediaControl [ "media-control" ] + ++ lib.optionals withImage [ "image" ] + ++ lib.optionals withLyrics [ "lyric-finder" ] + ++ lib.optionals withDaemon [ "daemon" ] + ++ lib.optionals withNotify [ "notify" ] + ++ lib.optionals withStreaming [ "streaming" ] + ++ lib.optionals withSixel [ "sixel" ]; - meta = with lib; { - description = "A command driven spotify player"; + meta = { + description = "A terminal spotify player that has feature parity with the official client"; homepage = "https://github.com/aome510/spotify-player"; changelog = "https://github.com/aome510/spotify-player/releases/tag/v${version}"; mainProgram = "spotify_player"; - license = licenses.mit; - maintainers = with maintainers; [ dit7ya ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dit7ya xyven1 ]; }; } From dc51f3f01a18d48d63f72a498c5c21c64b9af7c3 Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Wed, 23 Aug 2023 22:35:11 -0400 Subject: [PATCH 09/47] krane: 3.1.0 -> 3.3.0 --- .../networking/cluster/krane/Gemfile.lock | 35 +++++---- .../networking/cluster/krane/gemset.nix | 72 ++++++++----------- 2 files changed, 48 insertions(+), 59 deletions(-) diff --git a/pkgs/applications/networking/cluster/krane/Gemfile.lock b/pkgs/applications/networking/cluster/krane/Gemfile.lock index cf5832b24dc..5a930bf2c99 100644 --- a/pkgs/applications/networking/cluster/krane/Gemfile.lock +++ b/pkgs/applications/networking/cluster/krane/Gemfile.lock @@ -1,19 +1,19 @@ GEM remote: https://rubygems.org/ specs: - activesupport (7.0.4.3) + activesupport (7.0.7.2) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) - addressable (2.8.4) + addressable (2.8.5) public_suffix (>= 2.0.2, < 6.0) colorize (0.8.1) concurrent-ruby (1.2.2) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) - ejson (1.3.1) - faraday (2.7.4) + ejson (1.4.1) + faraday (2.7.10) faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) faraday-net_http (3.0.2) @@ -21,7 +21,7 @@ GEM ffi-compiler (1.0.1) ffi (>= 1.0.0) rake - googleauth (1.5.2) + googleauth (1.7.0) faraday (>= 0.17.3, < 3.a) jwt (>= 1.4, < 3.0) memoist (~> 0.16) @@ -37,12 +37,12 @@ GEM http-cookie (1.0.5) domain_name (~> 0.5) http-form_data (2.3.0) - i18n (1.12.0) + i18n (1.14.1) concurrent-ruby (~> 1.0) - jsonpath (1.1.2) + jsonpath (1.1.3) multi_json - jwt (2.7.0) - krane (3.1.0) + jwt (2.7.1) + krane (3.3.0) activesupport (>= 5.0) colorize (~> 0.8) concurrent-ruby (~> 1.1) @@ -50,7 +50,7 @@ GEM googleauth (~> 1.2) jsonpath (~> 1.0) kubeclient (~> 4.9) - oj (~> 3.0) + multi_json statsd-instrument (>= 2.8, < 4) thor (>= 1.0, < 2.0) kubeclient (4.11.0) @@ -62,15 +62,14 @@ GEM ffi-compiler (~> 1.0) rake (~> 13.0) memoist (0.16.2) - mime-types (3.4.1) + mime-types (3.5.1) mime-types-data (~> 3.2015) - mime-types-data (3.2023.0218.1) - minitest (5.18.0) + mime-types-data (3.2023.0808) + minitest (5.19.0) multi_json (1.15.0) netrc (0.11.0) - oj (3.14.3) os (1.1.4) - public_suffix (5.0.1) + public_suffix (5.0.3) rake (13.0.6) recursive-open-struct (1.1.3) rest-client (2.1.0) @@ -84,8 +83,8 @@ GEM faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) - statsd-instrument (3.5.7) - thor (1.2.1) + statsd-instrument (3.5.11) + thor (1.2.2) tzinfo (2.0.6) concurrent-ruby (~> 1.0) unf (0.1.4) @@ -99,4 +98,4 @@ DEPENDENCIES krane BUNDLED WITH - 2.4.10 + 2.4.18 diff --git a/pkgs/applications/networking/cluster/krane/gemset.nix b/pkgs/applications/networking/cluster/krane/gemset.nix index 37fad592686..50c859eb722 100644 --- a/pkgs/applications/networking/cluster/krane/gemset.nix +++ b/pkgs/applications/networking/cluster/krane/gemset.nix @@ -5,10 +5,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15m0b1im6i401ab51vzr7f8nk8kys1qa0snnl741y3sir3xd07jp"; + sha256 = "1vlzcnyqlbchaq85phmdv73ydlc18xpvxy1cbsk191cwd29i7q32"; type = "gem"; }; - version = "7.0.4.3"; + version = "7.0.7.2"; }; addressable = { dependencies = ["public_suffix"]; @@ -16,10 +16,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15s8van7r2ad3dq6i03l3z4hqnvxcq75a3h72kxvf9an53sqma20"; + sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33"; type = "gem"; }; - version = "2.8.4"; + version = "2.8.5"; }; colorize = { groups = ["default"]; @@ -57,10 +57,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0gmfyyzzvb9k5nm1a5x83d7krajfghghfsakhxmdpvncyj2vnrpa"; + sha256 = "1bpry4i9ajh2h8fyljp0cb17iy03ar36yc9mpfxflmdznl7dwsjf"; type = "gem"; }; - version = "1.3.1"; + version = "1.4.1"; }; faraday = { dependencies = ["faraday-net_http" "ruby2_keywords"]; @@ -68,10 +68,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1f20vjx0ywx0zdb4dfx4cpa7kd51z6vg7dw5hs35laa45dy9g9pj"; + sha256 = "187clqhp9mv5mnqmjlfdp57svhsg1bggz84ak8v333j9skrnrgh9"; type = "gem"; }; - version = "2.7.4"; + version = "2.7.10"; }; faraday-net_http = { groups = ["default"]; @@ -110,10 +110,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1lj5haarpn7rybbq9s031zcn9ji3rlz5bk64bwa2j34q5s1h5gis"; + sha256 = "0h1k47vjaq37l0w9q49g3f50j1b0c1svhk07rmd1h49w38v2hxag"; type = "gem"; }; - version = "1.5.2"; + version = "1.7.0"; }; http = { dependencies = ["addressable" "http-cookie" "http-form_data" "llhttp-ffi"]; @@ -163,10 +163,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vdcchz7jli1p0gnc669a7bj3q1fv09y9ppf0y3k0vb1jwdwrqwi"; + sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx"; type = "gem"; }; - version = "1.12.0"; + version = "1.14.1"; }; jsonpath = { dependencies = ["multi_json"]; @@ -174,31 +174,31 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0fkdjic88hh0accp0sbx5mcrr9yaqwampf5c3214212d4i614138"; + sha256 = "1i1idcl0rpfkzkxngadw33a33v3gqf93a3kj52y2ha2zs26bdzjp"; type = "gem"; }; - version = "1.1.2"; + version = "1.1.3"; }; jwt = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09yj3z5snhaawh2z1w45yyihzmh57m6m7dp8ra8gxavhj5kbiq5p"; + sha256 = "16z11alz13vfc4zs5l3fk6n51n2jw9lskvc4h4prnww0y797qd87"; type = "gem"; }; - version = "2.7.0"; + version = "2.7.1"; }; krane = { - dependencies = ["activesupport" "colorize" "concurrent-ruby" "ejson" "googleauth" "jsonpath" "kubeclient" "oj" "statsd-instrument" "thor"]; + dependencies = ["activesupport" "colorize" "concurrent-ruby" "ejson" "googleauth" "jsonpath" "kubeclient" "multi_json" "statsd-instrument" "thor"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1d8vdj3wd2qp8agyadn0w33qf7z2p5lk3vlslb8jlph8x5y3mm70"; + sha256 = "1qf5la1w4zrbda5n3s01pb9gij5hyknwglsnqsrc0vcm6bslfygj"; type = "gem"; }; - version = "3.1.0"; + version = "3.3.0"; }; kubeclient = { dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"]; @@ -238,30 +238,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ipw892jbksbxxcrlx9g5ljq60qx47pm24ywgfbyjskbcl78pkvb"; + sha256 = "0q8d881k1b3rbsfcdi3fx0b5vpdr5wcrhn88r2d9j7zjdkxp5mw5"; type = "gem"; }; - version = "3.4.1"; + version = "3.5.1"; }; mime-types-data = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pky3vzaxlgm9gw5wlqwwi7wsw3jrglrfflrppvvnsrlaiz043z9"; + sha256 = "17zdim7kzrh5j8c97vjqp4xp78wbyz7smdp4hi5iyzk0s9imdn5a"; type = "gem"; }; - version = "3.2023.0218.1"; + version = "3.2023.0808"; }; minitest = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ic7i5z88zcaqnpzprf7saimq2f6sad57g5mkkqsrqrcd6h3mx06"; + sha256 = "0jnpsbb2dbcs95p4is4431l2pw1l5pn7dfg3vkgb4ga464j0c5l6"; type = "gem"; }; - version = "5.18.0"; + version = "5.19.0"; }; multi_json = { groups = ["default"]; @@ -283,16 +283,6 @@ }; version = "0.11.0"; }; - oj = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0l8l90iibzrxs33vn3adrhbg8cbmbn1qfh962p7gzwwybsdw73qy"; - type = "gem"; - }; - version = "3.14.3"; - }; os = { groups = ["default"]; platforms = []; @@ -308,10 +298,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hz0bx2qs2pwb0bwazzsah03ilpf3aai8b7lk7s35jsfzwbkjq35"; + sha256 = "0n9j7mczl15r3kwqrah09cxj8hxdfawiqxa60kga2bmxl9flfz9k"; type = "gem"; }; - version = "5.0.1"; + version = "5.0.3"; }; rake = { groups = ["default"]; @@ -370,20 +360,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pg308z3ck1vpazrmczklqa6f9qciay8nysnhc16pgfsh2npzzrz"; + sha256 = "1zpr5ms18ynygpwx73v0a8nkf41kpjylc9m3fyhvchq3ms17hcb0"; type = "gem"; }; - version = "3.5.7"; + version = "3.5.11"; }; thor = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi"; + sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg"; type = "gem"; }; - version = "1.2.1"; + version = "1.2.2"; }; tzinfo = { dependencies = ["concurrent-ruby"]; From ee5330729205f78878c775c72e84e5edbf9dab76 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sat, 26 Aug 2023 01:51:24 +0200 Subject: [PATCH 10/47] ntpd-rs: init at 0.3.7 --- pkgs/tools/networking/ntpd-rs/default.nix | 45 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 47 insertions(+) create mode 100644 pkgs/tools/networking/ntpd-rs/default.nix diff --git a/pkgs/tools/networking/ntpd-rs/default.nix b/pkgs/tools/networking/ntpd-rs/default.nix new file mode 100644 index 00000000000..0fa44cb418c --- /dev/null +++ b/pkgs/tools/networking/ntpd-rs/default.nix @@ -0,0 +1,45 @@ +{ lib +, rustPlatform +, fetchFromGitHub +}: + +rustPlatform.buildRustPackage rec { + pname = "ntpd-rs"; + version = "0.3.7"; + + src = fetchFromGitHub { + owner = "pendulum-project"; + repo = "ntpd-rs"; + rev = "v${version}"; + hash = "sha256-AUCzsveG9U+KxYO/4LGmyCPkR+w9pGDA/vTzMAGiVuI="; + }; + + cargoHash = "sha256-6FUVkr3uock43ZBHuMEVIZ5F8Oh8wMifh2EokMWv4hU="; + + checkFlags = [ + # doesn't find the testca + "--skip=keyexchange::tests::key_exchange_roundtrip" + # seems flaky + "--skip=algorithm::kalman::peer::tests::test_offset_steering_and_measurements" + # needs networking + "--skip=hwtimestamp::tests::get_hwtimestamp" + ]; + + postInstall = '' + install -vDt $out/lib/systemd/system pkg/common/ntpd-rs.service + + for testprog in demobilize-server rate-limit-server nts-ke nts-ke-server peer-state simple-daemon; do + moveToOutput bin/$testprog "$tests" + done + ''; + + outputs = [ "out" "tests" ]; + + meta = with lib; { + description = "A full-featured implementation of the Network Time Protocol"; + homepage = "https://tweedegolf.nl/en/pendulum"; + changelog = "https://github.com/pendulum-project/ntpd-rs/blob/v${version}/CHANGELOG.md"; + license = with licenses; [ mit /* or */ asl20 ]; + maintainers = with maintainers; [ fpletz ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9e451ba0c98..6a0c89383d2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1884,6 +1884,8 @@ with pkgs; nominatim = callPackage ../servers/nominatim { }; + ntpd-rs = callPackage ../tools/networking/ntpd-rs { }; + ocs-url = libsForQt5.callPackage ../tools/misc/ocs-url { }; openbugs = pkgsi686Linux.callPackage ../applications/science/machine-learning/openbugs { }; From c8aef93daea3d1f5e7edd2399a80da3b507e87a6 Mon Sep 17 00:00:00 2001 From: Philipp Schmitt Date: Sat, 26 Aug 2023 20:33:12 +0200 Subject: [PATCH 11/47] maintainers: add pschmitt --- maintainers/maintainer-list.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 15cd47f6cc0..5c17bdf2af5 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -13873,6 +13873,16 @@ githubId = 33375; name = "Peter Sanford"; }; + pschmitt = { + email = "philipp@schmitt.co"; + github = "pschmitt"; + githubId = 37886; + name = "Philipp Schmitt"; + matrix = "@pschmitt:one.ems.host"; + keys = [{ + fingerprint = "9FBF 2ABF FB37 F7F3 F502 44E5 DC43 9C47 EACB 17F9"; + }]; + }; pshirshov = { email = "pshirshov@eml.cc"; github = "pshirshov"; From 7619eb3b44297b75239d8b7b3f1885d359f705ce Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Sun, 27 Aug 2023 04:20:00 +0000 Subject: [PATCH 12/47] sqldef: 0.12.7 -> 0.16.4 Diff: https://github.com/k0kubun/sqldef/compare/v0.12.7...v0.16.4 Changelog: https://github.com/k0kubun/sqldef/blob/v0.16.4/CHANGELOG.md --- pkgs/development/tools/sqldef/default.nix | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/pkgs/development/tools/sqldef/default.nix b/pkgs/development/tools/sqldef/default.nix index fd188891ab3..6ce1d02e9f8 100644 --- a/pkgs/development/tools/sqldef/default.nix +++ b/pkgs/development/tools/sqldef/default.nix @@ -1,25 +1,30 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ lib, buildGoModule, fetchFromGitHub, libpg_query, xxHash, postgresql }: buildGoModule rec { pname = "sqldef"; - version = "0.12.7"; + version = "0.16.4"; src = fetchFromGitHub { owner = "k0kubun"; - repo = pname; + repo = "sqldef"; rev = "v${version}"; - sha256 = "sha256-HyM2HTdQgH+2vFe+1q02zmaD/A1M5h6Z56Wff9qxaHM="; + hash = "sha256-HQ6WyeKYRd+pY/P2Bsu7W2eMjgpjUhbwEFE7bADrxDY="; }; - vendorSha256 = "sha256-T1Kdtpm90fy93mYWQz13k552wWGB96BOeN8NtTuuj0c="; + proxyVendor = true; + + vendorHash = "sha256-YdZo2XN+425s0K/3COqQx3g1Bpus4uWiwnzrYJ8qdOM="; + + ldflags = [ "-s" "-w" "-X main.version=${version}" ]; # The test requires a running database doCheck = false; meta = with lib; { description = "Idempotent SQL schema management tool"; - license = with licenses; [ mit /* for everythnig except parser */ asl20 /* for parser */ ]; + license = with licenses; [ mit /* for everything except parser */ asl20 /* for parser */ ]; homepage = "https://github.com/k0kubun/sqldef"; + changelog = "https://github.com/k0kubun/sqldef/blob/v${version}/CHANGELOG.md"; maintainers = with maintainers; [ kgtkr ]; }; } From 39df712ed59e768aead663f9064d231b0bf179e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= Date: Mon, 28 Aug 2023 01:24:45 +0200 Subject: [PATCH 13/47] uclient: unstable-2022-02-24 -> unstable-2023-04-13 --- pkgs/development/libraries/uclient/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/uclient/default.nix b/pkgs/development/libraries/uclient/default.nix index 458d726f2ca..63a31c2bfbe 100644 --- a/pkgs/development/libraries/uclient/default.nix +++ b/pkgs/development/libraries/uclient/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation { pname = "uclient"; - version = "unstable-2022-02-24"; + version = "unstable-2023-04-13"; src = fetchgit { url = "https://git.openwrt.org/project/uclient.git"; - rev = "644d3c7e13c6a64bf5cb628137ee5bd4dada4b74"; - sha256 = "0vy4whs64699whp92d1zl7a8kh16yrfywqq0yp2y809l9z19sw22"; + rev = "007d945467499f43656b141171d31f5643b83a6c"; + hash = "sha256-A47dyVc2MtOL6aImZ0b3SMWH2vzjfAXzRAOF4nfH6S0="; }; nativeBuildInputs = [ cmake pkg-config ]; From 0f14ca4cefcce1a0d50050ae3ceec27fb578e7e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= Date: Mon, 28 Aug 2023 01:26:03 +0200 Subject: [PATCH 14/47] libubox: unstable-2023-01-03 -> unstable-2023-05-23 --- pkgs/development/libraries/libubox/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/libubox/default.nix b/pkgs/development/libraries/libubox/default.nix index 0a1e1e7f0a2..a1fe567af8b 100644 --- a/pkgs/development/libraries/libubox/default.nix +++ b/pkgs/development/libraries/libubox/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation { pname = "libubox"; - version = "unstable-2023-01-03${lib.optionalString with_ustream_ssl "-${ustream-ssl.ssl_implementation.pname}"}"; + version = "unstable-2023-05-23"; src = fetchgit { url = "https://git.openwrt.org/project/libubox.git"; - rev = "eac92a4d5d82eb31e712157e7eb425af728b2c43"; - sha256 = "0w6mmwmd3ljhkqfk0qswq28dp63k30s3brlgf8lyi7vj7mrhvn3c"; + rev = "75a3b870cace1171faf57bd55e5a9a2f1564f757"; + hash = "sha256-QhJ09i7IWP6rbxrYuhisVsCr82Ou/JAZMEdkaLhZp1o="; }; cmakeFlags = [ "-DBUILD_EXAMPLES=OFF" (if with_lua then "-DLUAPATH=${placeholder "out"}/lib/lua" else "-DBUILD_LUA=OFF") ]; From 0ff1e969adeaee0716a9212145ecfeea4ab8e745 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= Date: Mon, 28 Aug 2023 01:26:04 +0200 Subject: [PATCH 15/47] ubus: unstable-2021-02-15 -> unstable-2023-06-05 --- pkgs/development/libraries/ubus/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/ubus/default.nix b/pkgs/development/libraries/ubus/default.nix index 49aebdd7dca..37c8a1fa450 100644 --- a/pkgs/development/libraries/ubus/default.nix +++ b/pkgs/development/libraries/ubus/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation { pname = "ubus"; - version = "unstable-2021-02-15"; + version = "unstable-2023-06-05"; src = fetchgit { url = "https://git.openwrt.org/project/ubus.git"; - rev = "2537be01858710e714c329153760c64fe3f8a73e"; - sha256 = "03ljxsn4w87bfrilccxhrkzqmd30hy6ihkvsinw0i3l7rpp5m4a7"; + rev = "f787c97b34894a38b15599886cacbca01271684f"; + hash = "sha256-PGPFtNaRXS6ryC+MA/w2CtPQfJa+vG5OXf/NPFMoIzQ="; }; cmakeFlags = [ "-DBUILD_LUA=OFF" ]; From 3a8aa079a51aea40912a9454d789a0f2ee35d7bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= Date: Mon, 28 Aug 2023 01:26:05 +0200 Subject: [PATCH 16/47] uci: unstable-2021-04-14 -> unstable-2023-08-10 --- pkgs/development/libraries/uci/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/uci/default.nix b/pkgs/development/libraries/uci/default.nix index c3e61e8d22a..bbc4fcebdfc 100644 --- a/pkgs/development/libraries/uci/default.nix +++ b/pkgs/development/libraries/uci/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation { pname = "uci"; - version = "unstable-2021-04-14"; + version = "unstable-2023-08-10"; src = fetchgit { url = "https://git.openwrt.org/project/uci.git"; - rev = "4b3db1179747b6a6779029407984bacef851325c"; - sha256 = "1zflxazazzkrycpflzfg420kzp7kgy4dlz85cms279vk07dc1d52"; + rev = "5781664d5087ccc4b5ab58505883231212dbedbc"; + hash = "sha256-8MyFaZdAMh5oMPO/5QyNT+Or57eBL3mamJLblGGoF9g="; }; hardeningDisable = [ "all" ]; From 54a92c8bca5646e378b44e0245f09744597baffc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= Date: Mon, 28 Aug 2023 01:26:06 +0200 Subject: [PATCH 17/47] ustream-ssl: unstable-2022-12-08- -> unstable-2023-02-25 --- pkgs/development/libraries/ustream-ssl/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/ustream-ssl/default.nix b/pkgs/development/libraries/ustream-ssl/default.nix index 007ebc9c457..76689da526d 100644 --- a/pkgs/development/libraries/ustream-ssl/default.nix +++ b/pkgs/development/libraries/ustream-ssl/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation { pname = "ustream-ssl"; - version = "unstable-2022-12-08-${ssl_implementation.pname}"; + version = "unstable-2023-02-25"; src = fetchgit { url = "https://git.openwrt.org/project/ustream-ssl.git"; - rev = "9217ab46536353c7c792951b57163063f5ec7a3b"; - sha256 = "1ldyyb3is213iljyccx98f56rb69rfpgdcb1kjxw9a176hvpipdd"; + rev = "498f6e268d4d2b0ad33b430f4ba1abe397d31496"; + hash = "sha256-qwF3pzJ/nUTaJ8NZtgLyXnSozekY3dovxK3ZWHPGORM="; }; preConfigure = '' From 9b625903671ae8fb10ffa25a52b759e6892549c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= Date: Mon, 28 Aug 2023 01:26:07 +0200 Subject: [PATCH 18/47] libnl-tiny: unstable-2022-12-13 -> unstable-2023-07-27 --- pkgs/os-specific/linux/libnl-tiny/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/libnl-tiny/default.nix b/pkgs/os-specific/linux/libnl-tiny/default.nix index fc520830f6a..2f5d1d0999a 100644 --- a/pkgs/os-specific/linux/libnl-tiny/default.nix +++ b/pkgs/os-specific/linux/libnl-tiny/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation { pname = "libnl-tiny"; - version = "unstable-2022-12-13"; + version = "unstable-2023-07-27"; src = fetchgit { url = "https://git.openwrt.org/project/libnl-tiny.git"; - rev = "f5d9b7e4f534a69cbd35c3f150fa6d57b9d631e4"; - sha256 = "0c5ycsdas8rr5c33gd0mnmm515dq631fmdjn5mp2j1m0j1bk7hc0"; + rev = "bc92a280186f9becc53c0f17e4e43cfbdeec7e7b"; + hash = "sha256-/d6so8hfBOyp8NbUhPZ0aRj6gXO/RLgwCQnAT7N/rF8="; }; nativeBuildInputs = [ cmake pkg-config ]; From 21c0a31d648a3db6f2d42b9b824a35afaf034c31 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 28 Aug 2023 00:22:38 +0000 Subject: [PATCH 19/47] hcloud: 1.36.0 -> 1.37.0 --- pkgs/development/tools/hcloud/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/hcloud/default.nix b/pkgs/development/tools/hcloud/default.nix index 4ba850c624e..1fa9823cb2f 100644 --- a/pkgs/development/tools/hcloud/default.nix +++ b/pkgs/development/tools/hcloud/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "hcloud"; - version = "1.36.0"; + version = "1.37.0"; src = fetchFromGitHub { owner = "hetznercloud"; repo = "cli"; rev = "v${version}"; - sha256 = "sha256-BmV+g0Geue41KNcB++TaoSsuGG1HA+uH5GHye7QRWOM="; + sha256 = "sha256-6UQaO2ArAYd6Lr1maciC83k1GlR8FLx+acAZh6SjI3g="; }; - vendorHash = "sha256-eGeaH9nIjBSZLxNlsQtas122eEXrIbrGn/GYVB4KhvY="; + vendorHash = "sha256-mxAG3o3IY70xn8WymUzF96Q2XWwQ0efWrrw1VV4Y8HU="; ldflags = [ "-s" "-w" From df280cdf95c318aa5a18a1a1e51ef315f5fc6092 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Mon, 28 Aug 2023 04:55:25 +0200 Subject: [PATCH 20/47] shotman: 0.4.3 -> 0.4.5 --- pkgs/tools/wayland/shotman/Cargo.lock | 1148 ------------------------ pkgs/tools/wayland/shotman/default.nix | 13 +- 2 files changed, 4 insertions(+), 1157 deletions(-) delete mode 100644 pkgs/tools/wayland/shotman/Cargo.lock diff --git a/pkgs/tools/wayland/shotman/Cargo.lock b/pkgs/tools/wayland/shotman/Cargo.lock deleted file mode 100644 index ed9518ea6e2..00000000000 --- a/pkgs/tools/wayland/shotman/Cargo.lock +++ /dev/null @@ -1,1148 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anyhow" -version = "1.0.68" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bumpalo" -version = "3.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" - -[[package]] -name = "calloop" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a59225be45a478d772ce015d9743e49e92798ece9e34eda9a6aa2a6a7f40192" -dependencies = [ - "futures-util", - "log", - "nix 0.25.1", - "slotmap", - "thiserror", - "vec_map", -] - -[[package]] -name = "cc" -version = "1.0.78" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chrono" -version = "0.4.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" -dependencies = [ - "iana-time-zone", - "num-integer", - "num-traits", - "winapi", -] - -[[package]] -name = "clap" -version = "4.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76" -dependencies = [ - "bitflags", - "clap_derive", - "clap_lex", - "is-terminal", - "once_cell", - "strsim", - "termcolor", -] - -[[package]] -name = "clap_complete" -version = "4.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6540eedc41f8a5a76cf3d8d458057dcdf817be4158a55b5f861f7a5483de75" -dependencies = [ - "clap", -] - -[[package]] -name = "clap_derive" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" -dependencies = [ - "heck", - "proc-macro-error", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "clap_lex" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8" -dependencies = [ - "os_str_bytes", -] - -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] - -[[package]] -name = "colored" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd" -dependencies = [ - "atty", - "lazy_static", - "winapi", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" - -[[package]] -name = "crc32fast" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "cxx" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d1075c37807dcf850c379432f0df05ba52cc30f279c5cfc43cc221ce7f8579" -dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5044281f61b27bc598f2f6647d480aed48d2bf52d6eb0b627d84c0361b17aa70" -dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61b50bc93ba22c27b0d31128d2d130a0a6b3d267ae27ef7e4fae2167dfe8781c" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e61fda7e62115119469c7b3591fd913ecca96fb766cfd3f2e2502ab7bc87a5" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "dlib" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794" -dependencies = [ - "libloading", -] - -[[package]] -name = "downcast-rs" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" - -[[package]] -name = "either" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" - -[[package]] -name = "errno" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" -dependencies = [ - "errno-dragonfly", - "libc", - "winapi", -] - -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "flate2" -version = "1.0.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "futures" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" - -[[package]] -name = "futures-io" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" - -[[package]] -name = "futures-sink" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" - -[[package]] -name = "futures-task" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" - -[[package]] -name = "futures-util" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "heck" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.53" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "winapi", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" -dependencies = [ - "cxx", - "cxx-build", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" -dependencies = [ - "libc", - "windows-sys", -] - -[[package]] -name = "is-terminal" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" -dependencies = [ - "hermit-abi 0.2.6", - "io-lifetimes", - "rustix", - "windows-sys", -] - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" - -[[package]] -name = "js-sys" -version = "0.3.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.139" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" - -[[package]] -name = "libloading" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if", - "winapi", -] - -[[package]] -name = "link-cplusplus" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" -dependencies = [ - "cc", -] - -[[package]] -name = "linux-raw-sys" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" - -[[package]] -name = "log" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "memchr" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" - -[[package]] -name = "memmap2" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc" -dependencies = [ - "libc", -] - -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memoffset" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "miniz_oxide" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" -dependencies = [ - "adler", -] - -[[package]] -name = "nix" -version = "0.25.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" -dependencies = [ - "autocfg", - "bitflags", - "cfg-if", - "libc", - "memoffset 0.6.5", -] - -[[package]] -name = "nix" -version = "0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46a58d1d356c6597d08cde02c2f09d785b09e28711837b1ed667dc652c08a694" -dependencies = [ - "bitflags", - "cfg-if", - "libc", - "memoffset 0.7.1", - "static_assertions", -] - -[[package]] -name = "nom" -version = "7.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "num-integer" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" -dependencies = [ - "autocfg", -] - -[[package]] -name = "once_cell" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" - -[[package]] -name = "os_str_bytes" -version = "6.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" - -[[package]] -name = "pin-project-lite" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" - -[[package]] -name = "png" -version = "0.17.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d708eaf860a19b19ce538740d2b4bdeeb8337fa53f7738455e706623ad5c638" -dependencies = [ - "bitflags", - "crc32fast", - "flate2", - "miniz_oxide", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro2" -version = "1.0.49" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quick-xml" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11bafc859c6815fbaffbbbf4229ecb767ac913fecb27f9ad4343662e9ef099ea" -dependencies = [ - "memchr", -] - -[[package]] -name = "quote" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rustix" -version = "0.36.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549" -dependencies = [ - "bitflags", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys", - "windows-sys", -] - -[[package]] -name = "ryu" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" - -[[package]] -name = "scoped-tls" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" - -[[package]] -name = "scratch" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" - -[[package]] -name = "serde" -version = "1.0.152" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.152" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "shotman" -version = "0.1.0" -dependencies = [ - "anyhow", - "calloop", - "chrono", - "clap", - "futures", - "itertools", - "log", - "memmap2", - "nom", - "png", - "rustix", - "serde", - "serde_json", - "simple_logger", - "smithay-client-toolkit", - "thiserror", - "wayland-client", - "wayland-protocols", - "wayland-protocols-wlr", -] - -[[package]] -name = "shotman_completions" -version = "0.1.0" -dependencies = [ - "clap", - "clap_complete", - "shotman", -] - -[[package]] -name = "simple_logger" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48047e77b528151aaf841a10a9025f9459da80ba820e425ff7eb005708a76dc7" -dependencies = [ - "atty", - "colored", - "log", - "winapi", -] - -[[package]] -name = "slab" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" -dependencies = [ - "autocfg", -] - -[[package]] -name = "slotmap" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342" -dependencies = [ - "version_check", -] - -[[package]] -name = "smallvec" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" - -[[package]] -name = "smithay-client-toolkit" -version = "0.16.0" -source = "git+https://github.com/Smithay/client-toolkit.git#327f9cd791d8810fe7324ee1ddd48adaf3592ca4" -dependencies = [ - "bitflags", - "calloop", - "dlib", - "lazy_static", - "log", - "memmap2", - "nix 0.26.1", - "pkg-config", - "thiserror", - "wayland-backend", - "wayland-client", - "wayland-cursor", - "wayland-protocols", - "wayland-protocols-wlr", - "wayland-scanner", - "xkbcommon", -] - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - -[[package]] -name = "syn" -version = "1.0.107" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "termcolor" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "thiserror" -version = "1.0.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "unicode-ident" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" - -[[package]] -name = "unicode-width" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" - -[[package]] -name = "vec_map" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "wasm-bindgen" -version = "0.2.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" - -[[package]] -name = "wayland-backend" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb23bfea266c92bb051ea36cce0eb1a52b743dc1c5f168021947eda79764656d" -dependencies = [ - "cc", - "downcast-rs", - "io-lifetimes", - "nix 0.26.1", - "scoped-tls", - "smallvec", - "wayland-sys", -] - -[[package]] -name = "wayland-client" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a925bd68c8b652af4e6f11a32410bd31bf84061c5ef279ed081520c60f203b4" -dependencies = [ - "bitflags", - "nix 0.26.1", - "wayland-backend", - "wayland-scanner", -] - -[[package]] -name = "wayland-cursor" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d0c3a0d5b4b688b07b0442362d3ed6bf04724fcc16cd69ab6285b90dbc487aa" -dependencies = [ - "nix 0.26.1", - "wayland-client", - "xcursor", -] - -[[package]] -name = "wayland-protocols" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fefbeb8a360abe67ab7c2efe1d297a1a50ee011f5460791bc18870c26bb84e2" -dependencies = [ - "bitflags", - "wayland-backend", - "wayland-client", - "wayland-scanner", -] - -[[package]] -name = "wayland-protocols-wlr" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fce991093320e4a6a525876e6b629ab24da25f9baef0c2e0080ad173ec89588a" -dependencies = [ - "bitflags", - "wayland-backend", - "wayland-client", - "wayland-protocols", - "wayland-scanner", -] - -[[package]] -name = "wayland-scanner" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4834c14b3edf1d9986c83ca79b1e7e3afbe9874c7c144702f6467063259ce45d" -dependencies = [ - "proc-macro2", - "quick-xml", - "quote", -] - -[[package]] -name = "wayland-sys" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06" -dependencies = [ - "dlib", - "log", - "pkg-config", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-sys" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" - -[[package]] -name = "xcursor" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "463705a63313cd4301184381c5e8042f0a7e9b4bb63653f216311d4ae74690b7" -dependencies = [ - "nom", -] - -[[package]] -name = "xkbcommon" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbee136714379ab22da0280207fdb7f47e0bb940adea97731b65598b8c7a92e" -dependencies = [ - "libc", - "memmap2", -] diff --git a/pkgs/tools/wayland/shotman/default.nix b/pkgs/tools/wayland/shotman/default.nix index 1835fc12c66..08de35f14d3 100644 --- a/pkgs/tools/wayland/shotman/default.nix +++ b/pkgs/tools/wayland/shotman/default.nix @@ -9,21 +9,16 @@ rustPlatform.buildRustPackage rec { pname = "shotman"; - version = "0.4.3"; + version = "0.4.5"; src = fetchFromSourcehut { owner = "~whynothugo"; repo = pname; rev = "v${version}"; - hash = "sha256-c2fgP6XB/fqKfsjqRRQpOFzHZyF/a9tLAKIGdKFAcSQ="; + hash = "sha256-SctWNhYCFTAOOnDEcsFZH61+QQAcmup11GVVXA1U5Dw="; }; - cargoLock = { - lockFile = ./Cargo.lock; - outputHashes = { - "smithay-client-toolkit-0.16.0" = "sha256-n+s+qH39tna0yN44D6GGlQGZHjsr9FBpp+NZItyqwaE="; - }; - }; + cargoHash = "sha256-q5scdgfB5NgtjAgnIy/+c+y/mymF0b9ZZSz2LmM0pfw="; nativeBuildInputs = [ pkg-config makeWrapper ]; @@ -39,6 +34,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://git.sr.ht/~whynothugo/shotman"; license = licenses.isc; platforms = platforms.linux; - maintainers = with maintainers; [ zendo ]; + maintainers = with maintainers; [ zendo fpletz ]; }; } From 196a8438ee8afb9974e2ab71757d49b25cb8892e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 28 Aug 2023 04:34:50 +0000 Subject: [PATCH 21/47] python310Packages.djangorestframework-simplejwt: 5.2.2 -> 5.3.0 --- .../python-modules/djangorestframework-simplejwt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix b/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix index 8e26e9c6e4e..cbc3f4f1a97 100644 --- a/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix +++ b/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "djangorestframework-simplejwt"; - version = "5.2.2"; + version = "5.3.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -19,7 +19,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "djangorestframework_simplejwt"; inherit version; - hash = "sha256-0n1LysLGOU9njeqLTQ1RHG4Yp/Lriq7rin3mAa63fEI="; + hash = "sha256-jkxd/KjRHAuKZt/YpOP8HGqn6hiNEJB/+RyUL0tS7WY="; }; nativeBuildInputs = [ From b516af56c13c1d97e8bef2aaed78aaf035d7bc2c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 28 Aug 2023 09:13:02 +0200 Subject: [PATCH 22/47] python310Packages.djangorestframework-simplejwt: add changelog to meta --- .../python-modules/djangorestframework-simplejwt/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix b/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix index cbc3f4f1a97..523d15d8c02 100644 --- a/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix +++ b/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix @@ -43,6 +43,7 @@ buildPythonPackage rec { meta = with lib; { description = "JSON Web Token authentication plugin for Django REST Framework"; homepage = "https://github.com/davesque/django-rest-framework-simplejwt"; + changelog = "https://github.com/jazzband/djangorestframework-simplejwt/blob/v${version}/CHANGELOG.md"; license = licenses.mit; maintainers = with maintainers; [ arnoldfarkas ]; }; From 35d24bae405a23484cdd012e95e2e90441bd1352 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 28 Aug 2023 09:20:23 +0200 Subject: [PATCH 23/47] hcloud: replace sha256 with hash --- pkgs/development/tools/hcloud/default.nix | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/development/tools/hcloud/default.nix b/pkgs/development/tools/hcloud/default.nix index 1fa9823cb2f..39fc54b6ac4 100644 --- a/pkgs/development/tools/hcloud/default.nix +++ b/pkgs/development/tools/hcloud/default.nix @@ -1,4 +1,8 @@ -{ lib, buildGoModule, fetchFromGitHub, installShellFiles }: +{ lib +, buildGoModule +, fetchFromGitHub +, installShellFiles +}: buildGoModule rec { pname = "hcloud"; @@ -7,15 +11,16 @@ buildGoModule rec { src = fetchFromGitHub { owner = "hetznercloud"; repo = "cli"; - rev = "v${version}"; - sha256 = "sha256-6UQaO2ArAYd6Lr1maciC83k1GlR8FLx+acAZh6SjI3g="; + rev = "refs/tags/v${version}"; + hash = "sha256-6UQaO2ArAYd6Lr1maciC83k1GlR8FLx+acAZh6SjI3g="; }; vendorHash = "sha256-mxAG3o3IY70xn8WymUzF96Q2XWwQ0efWrrw1VV4Y8HU="; ldflags = [ - "-s" "-w" - "-X github.com/hetznercloud/cli/internal/version.Version=${version}" + "-s" + "-w" + "-X=github.com/hetznercloud/cli/internal/version.Version=${version}" ]; nativeBuildInputs = [ installShellFiles ]; From c467dd643a64ffdbc59c347769d013959985ae0f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 28 Aug 2023 09:28:55 +0200 Subject: [PATCH 24/47] python310Packages.djangorestframework-simplejwt: add optional-dependencies --- .../djangorestframework-simplejwt/default.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix b/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix index 523d15d8c02..cb5c3478d91 100644 --- a/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix +++ b/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix @@ -1,5 +1,6 @@ { lib , buildPythonPackage +, cryptography , django , djangorestframework , fetchPypi @@ -30,9 +31,17 @@ buildPythonPackage rec { django djangorestframework pyjwt - python-jose ]; + passthru.optional-dependencies = { + python-jose = [ + python-jose + ]; + crypto = [ + cryptography + ]; + }; + # Test raises django.core.exceptions.ImproperlyConfigured doCheck = false; From dbdd3d434f13423b3afa2ac5a40eedb5bb3d793e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 28 Aug 2023 08:56:22 +0000 Subject: [PATCH 25/47] python310Packages.mkdocs-minify: 0.6.3 -> 0.7.1 --- pkgs/development/python-modules/mkdocs-minify/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/mkdocs-minify/default.nix b/pkgs/development/python-modules/mkdocs-minify/default.nix index 462768eed79..5ad4ef44845 100644 --- a/pkgs/development/python-modules/mkdocs-minify/default.nix +++ b/pkgs/development/python-modules/mkdocs-minify/default.nix @@ -11,13 +11,13 @@ buildPythonPackage rec { pname = "mkdocs-minify"; - version = "0.6.3"; + version = "0.7.1"; src = fetchFromGitHub { owner = "byrnereese"; repo = "${pname}-plugin"; rev = "refs/tags/${version}"; - hash = "sha256-ajXkEKLBC86Y8YzDCZXd6x6QtLLrCDJkb6kDrRE536o="; + hash = "sha256-LDCAWKVbFsa6Y/tmY2Zne4nOtxe4KvNplZuWxg4e4L8="; }; propagatedBuildInputs = [ From dd7e988ed495637568507c1ab80c3177b8b19f32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christina=20S=C3=B8rensen?= Date: Mon, 28 Aug 2023 12:13:34 +0200 Subject: [PATCH 26/47] eza: v0.10.8 -> v0.10.9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Christina Sørensen --- pkgs/tools/misc/eza/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/eza/default.nix b/pkgs/tools/misc/eza/default.nix index 7eeb4e9cbab..dc03e7fa058 100644 --- a/pkgs/tools/misc/eza/default.nix +++ b/pkgs/tools/misc/eza/default.nix @@ -14,16 +14,16 @@ rustPlatform.buildRustPackage rec { pname = "eza"; - version = "0.10.8"; + version = "0.10.9"; src = fetchFromGitHub { owner = "eza-community"; repo = "eza"; rev = "v${version}"; - hash = "sha256-3g4eauJqnbIqWtDmRvKsDiZh1eAz171FP9idF2nBXLQ="; + hash = "sha256-ssP4jPO7Yt98ZCKOpQi7RwKfUBOHQ1dK5rzWxAJD9Jc="; }; - cargoHash = "sha256-HS/nmLxr5zvyneiSJk9tPUhszF5vFwSo5HMsRql9I38="; + cargoHash = "sha256-XxqAAs44iZuqcAsixIqEgUHWytwS9umuM/KIPosrfRo="; nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ]; buildInputs = [ zlib ] From 26a8c648570bf235b302085b6e54f96451849db8 Mon Sep 17 00:00:00 2001 From: Ashish SHUKLA Date: Mon, 28 Aug 2023 12:18:35 +0200 Subject: [PATCH 27/47] ugrep: 4.0.4 -> 4.0.5 --- pkgs/tools/text/ugrep/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/text/ugrep/default.nix b/pkgs/tools/text/ugrep/default.nix index c7dfcd87a61..159c8ca594a 100644 --- a/pkgs/tools/text/ugrep/default.nix +++ b/pkgs/tools/text/ugrep/default.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "ugrep"; - version = "4.0.4"; + version = "4.0.5"; src = fetchFromGitHub { owner = "Genivia"; repo = "ugrep"; rev = "v${finalAttrs.version}"; - hash = "sha256-VkONia3xhhgCcq+dh5lNYoj3C8abDYNG7JfoBXomMUw="; + hash = "sha256-7cE8kbj8ChvHOPb1F7Fj9talg82nXpXRPt4oBSGSWZw="; }; buildInputs = [ From 4e4d4ed5c75439889e37af0b5696f67d8e138366 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 28 Aug 2023 10:48:39 +0200 Subject: [PATCH 28/47] linux_6_5: init https://lwn.net/Articles/942879/ --- pkgs/os-specific/linux/kernel/linux-6.5.nix | 18 ++++++++++++++++++ pkgs/top-level/aliases.nix | 2 ++ pkgs/top-level/linux-kernels.nix | 10 +++++++++- 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 pkgs/os-specific/linux/kernel/linux-6.5.nix diff --git a/pkgs/os-specific/linux/kernel/linux-6.5.nix b/pkgs/os-specific/linux/kernel/linux-6.5.nix new file mode 100644 index 00000000000..00b3487e4e7 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-6.5.nix @@ -0,0 +1,18 @@ +{ lib, fetchurl, buildLinux, ... } @ args: + +with lib; + +buildLinux (args // rec { + version = "6.5"; + + # modDirVersion needs to be x.y.z, will automatically add .0 if needed + modDirVersion = versions.pad 3 version; + + # branchVersion needs to be x.y + extraMeta.branch = versions.majorMinor version; + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz"; + hash = "sha256-eldLvCCALqdrUsp/rwcmf3IEXoYbGJFcUnKpjCer+IQ="; + }; +} // (args.argsOverride or { })) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 2fb5821d910..83449b854cb 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -973,6 +973,7 @@ mapAliases ({ linuxPackages_6_2 = linuxKernel.packages.linux_6_2; linuxPackages_6_3 = linuxKernel.packages.linux_6_3; linuxPackages_6_4 = linuxKernel.packages.linux_6_4; + linuxPackages_6_5 = linuxKernel.packages.linux_6_5; linuxPackages_hardkernel_4_14 = linuxKernel.packages.hardkernel_4_14; linuxPackages_rpi0 = linuxKernel.packages.linux_rpi1; linuxPackages_rpi02w = linuxKernel.packages.linux_rpi3; @@ -997,6 +998,7 @@ mapAliases ({ linux_6_2 = linuxKernel.kernels.linux_6_2; linux_6_3 = linuxKernel.kernels.linux_6_3; linux_6_4 = linuxKernel.kernels.linux_6_4; + linux_6_5 = linuxKernel.kernels.linux_6_5; linuxPackages_mptcp = throw "'linuxPackages_mptcp' has been moved to https://github.com/teto/mptcp-flake"; # Converted to throw 2022-10-04 linux_mptcp = throw "'linux_mptcp' has been moved to https://github.com/teto/mptcp-flake"; # Converted to throw 2022-10-04 linux_mptcp_95 = throw "'linux_mptcp_95' has been moved to https://github.com/teto/mptcp-flake"; # Converted to throw 2022-10-04 diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index bf2114130e7..6a276557d02 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -182,6 +182,13 @@ in { ]; }; + linux_6_5 = callPackage ../os-specific/linux/kernel/linux-6.5.nix { + kernelPatches = [ + kernelPatches.bridge_stp_helper + kernelPatches.request_key_helper + ]; + }; + linux_testing = let testing = callPackage ../os-specific/linux/kernel/linux-testing.nix { kernelPatches = [ @@ -575,6 +582,7 @@ in { linux_5_15 = recurseIntoAttrs (packagesFor kernels.linux_5_15); linux_6_1 = recurseIntoAttrs (packagesFor kernels.linux_6_1); linux_6_4 = recurseIntoAttrs (packagesFor kernels.linux_6_4); + linux_6_5 = recurseIntoAttrs (packagesFor kernels.linux_6_5); } // lib.optionalAttrs config.allowAliases { linux_4_9 = throw "linux 4.9 was removed because it will reach its end of life within 22.11"; # Added 2022-11-08 linux_5_18 = throw "linux 5.18 was removed because it reached its end of life upstream"; # Added 2022-09-17 @@ -636,7 +644,7 @@ in { packageAliases = { linux_default = packages.linux_6_1; # Update this when adding the newest kernel major version! - linux_latest = packages.linux_6_4; + linux_latest = packages.linux_6_5; linux_mptcp = throw "'linux_mptcp' has been moved to https://github.com/teto/mptcp-flake"; linux_rt_default = packages.linux_rt_5_4; linux_rt_latest = packages.linux_rt_6_1; From 238eca32de1c32ad6b6fe7f739726eceba533329 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 28 Aug 2023 11:01:22 +0200 Subject: [PATCH 29/47] linux: 5.10.191 -> 5.10.192 --- pkgs/os-specific/linux/kernel/linux-5.10.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix index 1d9c04f4637..f4d80ce0153 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix @@ -3,7 +3,7 @@ with lib; buildLinux (args // rec { - version = "5.10.191"; + version = "5.10.192"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = versions.pad 3 version; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "1hk2x5dgvfq9v6161v25wz5qpzgyvqbx34xbm7ww8z4ish76cm6b"; + sha256 = "1fdmn38l3hilpqwjl2sr28rjpr2k3jxd3nxs54j162p5avp123f4"; }; } // (args.argsOverride or {})) From e133821958541ff50e07b5bfa25e4179d5ce0816 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 28 Aug 2023 11:01:25 +0200 Subject: [PATCH 30/47] linux: 5.15.127 -> 5.15.128 --- pkgs/os-specific/linux/kernel/linux-5.15.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-5.15.nix b/pkgs/os-specific/linux/kernel/linux-5.15.nix index fcee7105c70..2efbc403651 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.15.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.15.nix @@ -3,7 +3,7 @@ with lib; buildLinux (args // rec { - version = "5.15.127"; + version = "5.15.128"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = versions.pad 3 version; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "09lgj9hs1cjxg84hb7avras4rlsx18igr69mx433l9hv6issbl5d"; + sha256 = "1pl03djrfa7bqzpcvqlfgqnwx6iby6bpr1hc7gspdzc3a62clbhg"; }; } // (args.argsOverride or { })) From 385cbd7fc4a7d0bc6d1d7b574a0b755e670ea171 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 28 Aug 2023 11:01:26 +0200 Subject: [PATCH 31/47] linux: 6.1.47 -> 6.1.49 --- pkgs/os-specific/linux/kernel/linux-6.1.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-6.1.nix b/pkgs/os-specific/linux/kernel/linux-6.1.nix index 32ce7cb0c98..6859e537de7 100644 --- a/pkgs/os-specific/linux/kernel/linux-6.1.nix +++ b/pkgs/os-specific/linux/kernel/linux-6.1.nix @@ -3,7 +3,7 @@ with lib; buildLinux (args // rec { - version = "6.1.47"; + version = "6.1.49"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = versions.pad 3 version; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz"; - sha256 = "1azwvlzyp1s2adm17ic0jfmv3ph70wqzycb8s96z9987y1m8pmck"; + sha256 = "03vs0ncpxx12d2pm0glxa68lqkj17j69lcx9h8w6xjm43hii9sn9"; }; } // (args.argsOverride or { })) From be50d8c358e62e2fb74a41b840c2d561358c42ac Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 28 Aug 2023 11:01:49 +0200 Subject: [PATCH 32/47] linux_latest-libre: 19392 -> 19397 --- pkgs/os-specific/linux/kernel/linux-libre.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix index ae098fb1b94..6a0f7c2325e 100644 --- a/pkgs/os-specific/linux/kernel/linux-libre.nix +++ b/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -1,8 +1,8 @@ { stdenv, lib, fetchsvn, linux , scripts ? fetchsvn { url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/"; - rev = "19392"; - sha256 = "09d61yw3jmq1cpzp1kpnmjrnl1gxhp8p0vqnc75j05ikmibqpa4l"; + rev = "19397"; + sha256 = "130q08my839kwbi1v8lqwvs6w8s6328ki7s243as4yz4kfrlymr3"; } , ... }: From 1125d5fcd2130e8ceb6776bbb288013847b2f686 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 28 Aug 2023 11:02:21 +0200 Subject: [PATCH 33/47] linux/hardened/patches/6.1: 6.1.46-hardened1 -> 6.1.47-hardened1 --- pkgs/os-specific/linux/kernel/hardened/patches.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json index f6ce1b2d61d..3185a410c6a 100644 --- a/pkgs/os-specific/linux/kernel/hardened/patches.json +++ b/pkgs/os-specific/linux/kernel/hardened/patches.json @@ -52,12 +52,12 @@ "6.1": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-6.1.46-hardened1.patch", - "sha256": "1filmigpmn3bly4f08450izq4gabn57xi1fkczcnmkphwp83rk4l", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.46-hardened1/linux-hardened-6.1.46-hardened1.patch" + "name": "linux-hardened-6.1.47-hardened1.patch", + "sha256": "0wgsjb05m9f0fgv4vj0m0ll9bx22z894qlpwb45b33mq66fvbgwn", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.47-hardened1/linux-hardened-6.1.47-hardened1.patch" }, - "sha256": "15m228bllks2p8gpsmvplx08yxzp7bij9fnmnafqszylrk7ppxpm", - "version": "6.1.46" + "sha256": "1azwvlzyp1s2adm17ic0jfmv3ph70wqzycb8s96z9987y1m8pmck", + "version": "6.1.47" }, "6.4": { "patch": { From 1b8869eb7fb3f2d80efd1455a839f7b683ebd9ea Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Mon, 28 Aug 2023 11:02:23 +0200 Subject: [PATCH 34/47] linux/hardened/patches/6.4: 6.4.11-hardened1 -> 6.4.12-hardened1 --- pkgs/os-specific/linux/kernel/hardened/patches.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json index 3185a410c6a..f3ffbde6f1d 100644 --- a/pkgs/os-specific/linux/kernel/hardened/patches.json +++ b/pkgs/os-specific/linux/kernel/hardened/patches.json @@ -62,11 +62,11 @@ "6.4": { "patch": { "extra": "-hardened1", - "name": "linux-hardened-6.4.11-hardened1.patch", - "sha256": "15c8fs5dmkm2a9j66gq5c1hcbw95p4d03y71rvh6jhglpna7b3xc", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.4.11-hardened1/linux-hardened-6.4.11-hardened1.patch" + "name": "linux-hardened-6.4.12-hardened1.patch", + "sha256": "0xkcvyy2ii5wfdw8h21svcsz3s3q0qk4yx7dxzbrisap10d79l51", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.4.12-hardened1/linux-hardened-6.4.12-hardened1.patch" }, - "sha256": "0609lhgc42j9id2vvdpv8n7djabp46p2mridf9s0sg3x16snhssl", - "version": "6.4.11" + "sha256": "0x56b4hslm730ghvggz41fjkbzlnxp6k8857dn7iy27yavlipafc", + "version": "6.4.12" } } From 3f9b79207b9f28c81939b1d306c76154ce6e4f47 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 28 Aug 2023 13:22:29 +0000 Subject: [PATCH 35/47] python310Packages.approvaltests: 8.4.1 -> 9.0.0 --- pkgs/development/python-modules/approvaltests/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/approvaltests/default.nix b/pkgs/development/python-modules/approvaltests/default.nix index 070479b6937..03e0d952752 100644 --- a/pkgs/development/python-modules/approvaltests/default.nix +++ b/pkgs/development/python-modules/approvaltests/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "approvaltests"; - version = "8.4.1"; + version = "9.0.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "approvals"; repo = "ApprovalTests.Python"; rev = "refs/tags/v${version}"; - hash = "sha256-BuFiNZZ7228CKJ97mVK2S8Siqe040EYV5pElVtwuVf4="; + hash = "sha256-tyUPXeMdFuzlBY/HrGHLDEwYngzBELayaVVfEh92lbE="; }; propagatedBuildInputs = [ From fc0e6da3781a8eabf960339dffff849d6c3cf508 Mon Sep 17 00:00:00 2001 From: Philipp Schmitt Date: Sat, 26 Aug 2023 20:33:43 +0200 Subject: [PATCH 36/47] obs-studio-plugins.obs-freeze-filter: init at 0.3.3 --- .../video/obs-studio/plugins/default.nix | 2 + .../obs-studio/plugins/obs-freeze-filter.nix | 40 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 pkgs/applications/video/obs-studio/plugins/obs-freeze-filter.nix diff --git a/pkgs/applications/video/obs-studio/plugins/default.nix b/pkgs/applications/video/obs-studio/plugins/default.nix index 086f6285a5e..63bad0fe645 100644 --- a/pkgs/applications/video/obs-studio/plugins/default.nix +++ b/pkgs/applications/video/obs-studio/plugins/default.nix @@ -20,6 +20,8 @@ obs-command-source = callPackage ./obs-command-source.nix { }; + obs-freeze-filter = qt6Packages.callPackage ./obs-freeze-filter.nix { }; + obs-gradient-source = callPackage ./obs-gradient-source.nix { }; obs-gstreamer = callPackage ./obs-gstreamer.nix { }; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-freeze-filter.nix b/pkgs/applications/video/obs-studio/plugins/obs-freeze-filter.nix new file mode 100644 index 00000000000..1460e77fbf8 --- /dev/null +++ b/pkgs/applications/video/obs-studio/plugins/obs-freeze-filter.nix @@ -0,0 +1,40 @@ +{ stdenv +, lib +, fetchFromGitHub +, cmake +, obs-studio +, qtbase +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "obs-freeze-filter"; + version = "0.3.3"; + + src = fetchFromGitHub { + owner = "exeldro"; + repo = "obs-freeze-filter"; + rev = finalAttrs.version; + sha256 = "sha256-CaHBTfdk8VFjmiclG61elj35glQafgz5B4ENo+7J35o="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ obs-studio qtbase ]; + + postInstall = '' + rm -rf "$out/share" + mkdir -p "$out/share/obs" + mv "$out/data/obs-plugins" "$out/share/obs" + rm -rf "$out/obs-plugins" "$out/data" + ''; + + dontWrapQtApps = true; + + meta = with lib; { + description = "Plugin for OBS Studio to freeze a source using a filter"; + homepage = "https://github.com/exeldro/obs-freeze-filter"; + license = licenses.gpl2Only; + platforms = platforms.linux; + maintainers = with maintainers; [ pschmitt ]; + }; +}) From 0944e19139ab43427f5e70c2667667056368edfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Sun, 27 Aug 2023 18:59:13 +0200 Subject: [PATCH 37/47] =?UTF-8?q?betterbird:=20102.12.0-bb37=20=E2=86=92?= =?UTF-8?q?=20102.14.0-bb39?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../networking/mailreaders/betterbird/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/networking/mailreaders/betterbird/default.nix b/pkgs/applications/networking/mailreaders/betterbird/default.nix index d08bd5dfcc4..9c63f3f37ca 100644 --- a/pkgs/applications/networking/mailreaders/betterbird/default.nix +++ b/pkgs/applications/networking/mailreaders/betterbird/default.nix @@ -12,13 +12,13 @@ let thunderbird-unwrapped = thunderbirdPackages.thunderbird-102; - version = "102.12.0"; + version = "102.14.0"; majVer = lib.versions.major version; betterbird-patches = fetchFromGitHub { owner = "Betterbird"; repo = "thunderbird-patches"; - rev = "${version}-bb37"; + rev = "${version}-bb39"; postFetch = '' echo "Retrieving external patches" @@ -36,7 +36,7 @@ let . ./external.sh rm external.sh ''; - sha256 = "sha256-LH0dgWqariutfaOCPIUZrHzZ8oCbZF1VaaKQIQS4aL8="; + hash = "sha256-O9nGlJs3OziQLbdbdt3eFRHvk1A9cdEsbKDtsZrnY5Q="; }; in ((buildMozillaMach { pname = "betterbird"; @@ -49,7 +49,7 @@ in ((buildMozillaMach { src = fetchurl { # https://download.cdn.mozilla.net/pub/thunderbird/releases/ url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz"; - sha512 = "303787a8f22a204e48784d54320d5f4adaeeeedbe4c2294cd26ad75792272ffc9453be7f0ab1434214b61a2cc46982c23c4fd447c4d80d588df4a7800225ddee"; + sha512 = "4ae3f216833aec55421f827d55bc1b5fc2f0ad4fefecb27724a5be3318c351df24d30a4897b924e733ed2e3995be284b6d135049d46001143fb1c961fefc1830"; }; extraPostPatch = thunderbird-unwrapped.extraPostPatch or "" + /* bash */ '' From df02fcb79b4cae3652640ca66c2d1dfd0c6a4486 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Sat, 26 Aug 2023 13:25:46 +0100 Subject: [PATCH 38/47] cc-wrapper: don't use fortify-headers for non-gcc compilers --- pkgs/build-support/cc-wrapper/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index c7c733a427a..f52ac48a1a8 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -69,7 +69,7 @@ let includeFortifyHeaders' = if includeFortifyHeaders != null then includeFortifyHeaders - else targetPlatform.libc == "musl"; + else (targetPlatform.libc == "musl" && isGNU); # Prefix for binaries. Customarily ends with a dash separator. # From 94eeeb87851a71c7471fe289cd15e71f610c85b5 Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 28 Aug 2023 17:07:13 +0300 Subject: [PATCH 39/47] path-of-building.data: 2.33.3 -> 2.33.5 Diff: https://github.com/PathOfBuildingCommunity/PathOfBuilding/compare/v2.33.3...v2.33.5 --- pkgs/games/path-of-building/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/path-of-building/default.nix b/pkgs/games/path-of-building/default.nix index b0c7f10c99b..9b5bcdd1add 100644 --- a/pkgs/games/path-of-building/default.nix +++ b/pkgs/games/path-of-building/default.nix @@ -2,13 +2,13 @@ let data = stdenv.mkDerivation(finalAttrs: { pname = "path-of-building-data"; - version = "2.33.3"; + version = "2.33.5"; src = fetchFromGitHub { owner = "PathOfBuildingCommunity"; repo = "PathOfBuilding"; rev = "v${finalAttrs.version}"; - hash = "sha256-mRF8bXDBTfMGB8SAhF4rrwkBZq1XyGA9Wkb1ZpvTCv0="; + hash = "sha256-a7/xuVfsLQaSsmHVFKqDEypCunFQtHvcVISaQD1YCEs="; }; nativeBuildInputs = [ unzip ]; From f5fbea9761033a847ce91508471ed57f3ae67e95 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Fri, 25 Aug 2023 21:48:48 +0800 Subject: [PATCH 40/47] emacsWithPackages: do not add the wrapper path twice "$out/share/emacs/site-lisp" is added to load-path in wrapper.sh[1] using EMACSLOADPATH and "$out/share/emacs/native-lisp/" is added to native-comp-eln-load-path in wrapper.sh[2] using EMACSNATIVELOADPATH. There is no point to add them again here. Additionally, the trailing "/" in "$out/share/emacs/native-lisp/" causes duplicate entries in native-comp-eln-load-path: ("/nix/store/hash1-emacs-packages-deps/share/emacs/native-lisp/" ; [3] "/home/user/.emacs.d/eln-cache/" "/nix/store/hash1-emacs-packages-deps/share/emacs/native-lisp" ; [2] "/nix/store/hash2-emacs-29.1-rc1/lib/emacs/29.1/native-lisp/") load-path does not change with this patch applied. [1]: https://github.com/NixOS/nixpkgs/blob/1476c13422db64b12ee879e4f8715ccac3240285/pkgs/build-support/emacs/wrapper.sh#L47 [2]: https://github.com/NixOS/nixpkgs/blob/1476c13422db64b12ee879e4f8715ccac3240285/pkgs/build-support/emacs/wrapper.sh#L50 [3]: https://github.com/NixOS/nixpkgs/blob/1476c13422db64b12ee879e4f8715ccac3240285/pkgs/build-support/emacs/wrapper.nix#L166 --- pkgs/build-support/emacs/wrapper.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/build-support/emacs/wrapper.nix b/pkgs/build-support/emacs/wrapper.nix index e3c67d03dfa..bbfc35c94c4 100644 --- a/pkgs/build-support/emacs/wrapper.nix +++ b/pkgs/build-support/emacs/wrapper.nix @@ -160,11 +160,9 @@ runCommand cat >"$siteStart" < Date: Fri, 25 Aug 2023 17:50:29 +0800 Subject: [PATCH 41/47] emacsWithPackages: do not symlink $emacs/share/emacs I see no reason to symlink this dir. Doing so may shadow unwanted libraries since the site-start.el of Emacs adds paths under NIX_PROFILES to load-path. It is added in [1] to fix "building emacs". However, I have no issue in building and using Emacs after removing it. [1]: https://github.com/NixOS/nixpkgs/pull/89351 --- pkgs/build-support/emacs/wrapper.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/emacs/wrapper.nix b/pkgs/build-support/emacs/wrapper.nix index bbfc35c94c4..2f8f15d7da5 100644 --- a/pkgs/build-support/emacs/wrapper.nix +++ b/pkgs/build-support/emacs/wrapper.nix @@ -224,7 +224,7 @@ runCommand mkdir -p $out/share # Link icons and desktop files into place - for dir in applications icons info man emacs; do + for dir in applications icons info man; do ln -s $emacs/share/$dir $out/share/$dir done '' From 1506ab49e39cb208774ac49c480b77e9edb4dea7 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sat, 26 Aug 2023 09:20:29 +0800 Subject: [PATCH 42/47] emacs: correct the order of profiles and their sub dirs in load-path This patch does two things: 1. making user profiles preferred over system profiles 2. putting sub dirs of one profile to the right place - before this patch, they are appended to the end of load-path - after this patch, they are inserted right after the profile Example value of load-path before this patch: /run/current-system/sw/share/emacs/site-lisp/ /etc/profiles/per-user/user/share/emacs/site-lisp/ /nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp /nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp/elpa /nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp/elpa/wgrep-20230203.1214 /nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/site-lisp /nix/store/hash2-emacs-29.1-rc1/share/emacs/site-lisp /nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/lisp /nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/lisp/vc ... /etc/profiles/per-user/user/share/emacs/site-lisp/elpa /etc/profiles/per-user/user/share/emacs/site-lisp/elpa/jinx-20230730.1200 /run/current-system/sw/share/emacs/site-lisp/elpa /run/current-system/sw/share/emacs/site-lisp/elpa/repology-1.2.3 after this patch: /etc/profiles/per-user/user/share/emacs/site-lisp /etc/profiles/per-user/user/share/emacs/site-lisp/elpa /etc/profiles/per-user/user/share/emacs/site-lisp/elpa/jinx-20230730.1200 /run/current-system/sw/share/emacs/site-lisp /run/current-system/sw/share/emacs/site-lisp/elpa /run/current-system/sw/share/emacs/site-lisp/elpa/repology-1.2.3 /nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp /nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp/elpa /nix/store/hash1-emacs-packages-deps/share/emacs/site-lisp/elpa/wgrep-20230203.1214 /nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/site-lisp /nix/store/hash2-emacs-29.1-rc1/share/emacs/site-lisp /nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/lisp /nix/store/hash2-emacs-29.1-rc1/share/emacs/29.1/lisp/vc ... --- pkgs/applications/editors/emacs/site-start.el | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/emacs/site-start.el b/pkgs/applications/editors/emacs/site-start.el index acc6833b98c..668b76cfd3e 100644 --- a/pkgs/applications/editors/emacs/site-start.el +++ b/pkgs/applications/editors/emacs/site-start.el @@ -8,8 +8,11 @@ least specific (the system profile)" ;;; Extend `load-path' to search for elisp files in subdirectories of all folders in `NIX_PROFILES'. ;;; Non-Nix distros have similar logic in /usr/share/emacs/site-lisp/subdirs.el. ;;; See https://www.gnu.org/software/emacs/manual/html_node/elisp/Library-Search.html -(dolist (profile (nix--profile-paths)) - (let ((default-directory (expand-file-name "share/emacs/site-lisp/" profile))) +(dolist (profile (reverse (nix--profile-paths))) + ;; `directory-file-name' is important to add sub dirs to the right place of `load-path' + ;; see the source code of `normal-top-level-add-to-load-path' + (let ((default-directory (directory-file-name + (expand-file-name "share/emacs/site-lisp/" profile)))) (when (file-exists-p default-directory) (setq load-path (cons default-directory load-path)) (normal-top-level-add-subdirs-to-load-path)))) From 6505082e724da1906003aa17ae9fc9e550e86ef6 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sat, 26 Aug 2023 11:26:13 +0800 Subject: [PATCH 43/47] emacsWithPackages: load compiled site-start.el of $emacs if possible The first log in *Message* before this patch: Loading /nix/store/bikm18vy6v07hmrvrll501i68440w9iw-emacs-29.1-rc1/share/emacs/site-lisp/site-start.el (source)...done and after this patch: Loading /nix/store/bikm18vy6v07hmrvrll501i68440w9iw-emacs-29.1-rc1/share/emacs/site-lisp/site-start (native compiled elisp)...done --- pkgs/build-support/emacs/wrapper.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/emacs/wrapper.nix b/pkgs/build-support/emacs/wrapper.nix index 2f8f15d7da5..6f46bb692a4 100644 --- a/pkgs/build-support/emacs/wrapper.nix +++ b/pkgs/build-support/emacs/wrapper.nix @@ -159,7 +159,7 @@ runCommand rm -f $siteStart $siteStartByteCompiled $subdirs $subdirsByteCompiled cat >"$siteStart" < Date: Sat, 26 Aug 2023 14:25:11 +0800 Subject: [PATCH 44/47] emacs: fix the detection of native compilation for Emacs 29 In Emacs 29, feature comp does not load early enough. We use native-compile instead. This is also what Emacs uses[1]. [1]: https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/startup.el?id=3685387e609753293c4518be75e77c659c3b2d8d#n586 --- pkgs/applications/editors/emacs/site-start.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/editors/emacs/site-start.el b/pkgs/applications/editors/emacs/site-start.el index 668b76cfd3e..731b42c637e 100644 --- a/pkgs/applications/editors/emacs/site-start.el +++ b/pkgs/applications/editors/emacs/site-start.el @@ -40,7 +40,7 @@ least specific (the system profile)" (mapconcat 'identity new-env-list ":")))))) ;;; Set up native-comp load path. -(when (featurep 'comp) +(when (featurep 'native-compile) ;; Append native-comp subdirectories from `NIX_PROFILES'. (setq native-comp-eln-load-path (append (mapcar (lambda (profile-dir) From 7d4ea94d02670f7028168a00cd11d621048201c2 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sat, 26 Aug 2023 14:52:13 +0800 Subject: [PATCH 45/47] emacs: keep the default first writable native-comp-eln-load-path dir Fixes https://github.com/NixOS/nixpkgs/issues/247804. --- pkgs/applications/editors/emacs/site-start.el | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/emacs/site-start.el b/pkgs/applications/editors/emacs/site-start.el index 731b42c637e..b0694a90af0 100644 --- a/pkgs/applications/editors/emacs/site-start.el +++ b/pkgs/applications/editors/emacs/site-start.el @@ -42,11 +42,17 @@ least specific (the system profile)" ;;; Set up native-comp load path. (when (featurep 'native-compile) ;; Append native-comp subdirectories from `NIX_PROFILES'. + ;; Emacs writes asynchronous native-compilation files to the first writable directory[1]. + ;; At this time, (car native-comp-eln-load-path) is a writable one in `user-emacs-directory'[2]. + ;; So we keep that one unchanged. + ;; [1]: info "(elisp) Native-Compilation Variables" + ;; [2]: https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/startup.el?id=3685387e609753293c4518be75e77c659c3b2d8d#n601 (setq native-comp-eln-load-path - (append (mapcar (lambda (profile-dir) + (append (list (car native-comp-eln-load-path)) + (mapcar (lambda (profile-dir) (concat profile-dir "/share/emacs/native-lisp/")) (nix--profile-paths)) - native-comp-eln-load-path))) + (cdr native-comp-eln-load-path)))) ;;; Make `woman' find the man pages (defvar woman-manpath) From 2cc480a38fa0f56b4fe92dd1681cb34cb6f7f17d Mon Sep 17 00:00:00 2001 From: rewine Date: Mon, 28 Aug 2023 12:09:31 +0800 Subject: [PATCH 46/47] vnote: 3.16.0 -> 3.17.0 --- pkgs/applications/office/vnote/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/office/vnote/default.nix b/pkgs/applications/office/vnote/default.nix index ef77a077825..cd118c3c1d8 100644 --- a/pkgs/applications/office/vnote/default.nix +++ b/pkgs/applications/office/vnote/default.nix @@ -10,14 +10,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "vnote"; - version = "3.16.0"; + version = "3.17.0"; src = fetchFromGitHub { owner = "vnotex"; repo = "vnote"; rev = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-tcu6y2DqdhFE2nbDkiANDk/Mzidcp8PLi8bWZaI6sH0="; + hash = "sha256-NUVu6tKXrrwAoT4BgxX05mmGSC9yx20lwvXzd4y19Zs="; }; nativeBuildInputs = [ From e1854055c8e66a345e089ed95509ae3392dbbe04 Mon Sep 17 00:00:00 2001 From: Nadim Kobeissi Date: Mon, 28 Aug 2023 18:19:18 +0200 Subject: [PATCH 47/47] colord-kde: fix missing buildInput Added a buildInput that is not strictly required for the package to compile, but without which the package will not actually work at all. --- pkgs/applications/kde/colord-kde.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/kde/colord-kde.nix b/pkgs/applications/kde/colord-kde.nix index 07f34c84d6f..7b3c783995c 100644 --- a/pkgs/applications/kde/colord-kde.nix +++ b/pkgs/applications/kde/colord-kde.nix @@ -1,8 +1,8 @@ { mkDerivation, lib , extra-cmake-modules, ki18n -, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kiconthemes, kcmutils -, kio, knotifications, plasma-framework, kwidgetsaddons, kwindowsystem -, kitemmodels, kitemviews, lcms2, libXrandr, qtx11extras +, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kiconthemes, kirigami-addons +, kcmutils, kio, knotifications, plasma-framework, kwidgetsaddons +, kwindowsystem, kitemmodels, kitemviews, lcms2, libXrandr, qtx11extras }: mkDerivation { @@ -11,7 +11,7 @@ mkDerivation { nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ - kconfig kconfigwidgets kcoreaddons kdbusaddons kiconthemes + kconfig kconfigwidgets kcoreaddons kdbusaddons kiconthemes kirigami-addons kcmutils ki18n kio knotifications plasma-framework kwidgetsaddons kwindowsystem kitemmodels kitemviews lcms2 libXrandr qtx11extras ];