From f6ddd253e0fdcd359f21b7cb52736fcfe63c187a Mon Sep 17 00:00:00 2001 From: Chuck Date: Mon, 15 Feb 2021 14:40:54 -0800 Subject: [PATCH 001/173] nixos/activation-script: Add a test --- nixos/tests/all-tests.nix | 1 + nixos/tests/user-activation-scripts.nix | 33 +++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 nixos/tests/user-activation-scripts.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 444580bc0bed..df10b8c0e7b9 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -406,6 +406,7 @@ in unit-php = handleTest ./web-servers/unit-php.nix {}; upnp = handleTest ./upnp.nix {}; usbguard = handleTest ./usbguard.nix {}; + user-activation-scripts = handleTest ./user-activation-scripts.nix {}; uwsgi = handleTest ./uwsgi.nix {}; v2ray = handleTest ./v2ray.nix {}; vault = handleTest ./vault.nix {}; diff --git a/nixos/tests/user-activation-scripts.nix b/nixos/tests/user-activation-scripts.nix new file mode 100644 index 000000000000..4abae3b9d356 --- /dev/null +++ b/nixos/tests/user-activation-scripts.nix @@ -0,0 +1,33 @@ +import ./make-test-python.nix ({ lib, ... }: { + name = "user-activation-scripts"; + meta = with lib.maintainers; { maintainers = [ chkno ]; }; + + machine = { + system.userActivationScripts.foo = "mktemp ~/user-activation-ran.XXXXXX"; + users.users.alice = { + initialPassword = "pass1"; + isNormalUser = true; + }; + }; + + testScript = '' + def verify_user_activation_run_count(n): + machine.succeed( + '[[ "$(find /home/alice/ -name user-activation-ran.\\* | wc -l)" == %s ]]' % n + ) + + + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("getty@tty1.service") + machine.wait_until_tty_matches(1, "login: ") + machine.send_chars("alice\n") + machine.wait_until_tty_matches(1, "Password: ") + machine.send_chars("pass1\n") + machine.send_chars("touch login-ok\n") + machine.wait_for_file("/home/alice/login-ok") + verify_user_activation_run_count(0) # Wrong! Should be 1 + + machine.succeed("/run/current-system/bin/switch-to-configuration test") + verify_user_activation_run_count(1) # Wrong! Should be 2 + ''; +}) From df25ca8520548431a3a7e85a7863655e76081d39 Mon Sep 17 00:00:00 2001 From: Chuck Date: Mon, 15 Feb 2021 15:09:30 -0800 Subject: [PATCH 002/173] nixos/activation-script: Run userActivationScripts at login Fixes https://github.com/NixOS/nixpkgs/issues/113240 --- nixos/modules/system/activation/activation-script.nix | 1 + nixos/tests/user-activation-scripts.nix | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index 3a6930314b1a..47313234d0bc 100644 --- a/nixos/modules/system/activation/activation-script.nix +++ b/nixos/modules/system/activation/activation-script.nix @@ -234,6 +234,7 @@ in script = config.system.userActivationScripts.script; unitConfig.ConditionUser = "!@system"; serviceConfig.Type = "oneshot"; + wantedBy = [ "default.target" ]; }; }; }; diff --git a/nixos/tests/user-activation-scripts.nix b/nixos/tests/user-activation-scripts.nix index 4abae3b9d356..0de8664c5ef0 100644 --- a/nixos/tests/user-activation-scripts.nix +++ b/nixos/tests/user-activation-scripts.nix @@ -25,9 +25,9 @@ import ./make-test-python.nix ({ lib, ... }: { machine.send_chars("pass1\n") machine.send_chars("touch login-ok\n") machine.wait_for_file("/home/alice/login-ok") - verify_user_activation_run_count(0) # Wrong! Should be 1 + verify_user_activation_run_count(1) machine.succeed("/run/current-system/bin/switch-to-configuration test") - verify_user_activation_run_count(1) # Wrong! Should be 2 + verify_user_activation_run_count(2) ''; }) From 904f68fb0fc01cf4072c1215416eb4e2b9fc4e56 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Wed, 9 Jun 2021 01:41:26 +0200 Subject: [PATCH 003/173] nixos/security/wrappers: make well-typed The security.wrappers option is morally a set of submodules but it's actually (un)typed as a generic attribute set. This is bad for several reasons: 1. Some of the "submodule" option are not document; 2. the default values are not documented and are chosen based on somewhat bizarre rules (issue #23217); 3. It's not possible to override an existing wrapper due to the dumb types.attrs.merge strategy; 4. It's easy to make mistakes that will go unnoticed, which is really bad given the sensitivity of this module (issue #47839). This makes the option a proper set of submodule and add strict types and descriptions to every sub-option. Considering it's not yet clear if the way the default values are picked is intended, this reproduces the current behavior, but it's now documented explicitly. --- nixos/modules/security/wrappers/default.nix | 176 +++++++++++++------- 1 file changed, 119 insertions(+), 57 deletions(-) diff --git a/nixos/modules/security/wrappers/default.nix b/nixos/modules/security/wrappers/default.nix index 1e65f4515155..74dfd86b86af 100644 --- a/nixos/modules/security/wrappers/default.nix +++ b/nixos/modules/security/wrappers/default.nix @@ -5,23 +5,108 @@ let parentWrapperDir = dirOf wrapperDir; - programs = - (lib.mapAttrsToList - (n: v: (if v ? program then v else v // {program=n;})) - wrappers); - securityWrapper = pkgs.callPackage ./wrapper.nix { inherit parentWrapperDir; }; + fileModeType = + let + # taken from the chmod(1) man page + symbolic = "[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+"; + numeric = "[-+=]?[0-7]{0,4}"; + mode = "((${symbolic})(,${symbolic})*)|(${numeric})"; + in + lib.types.strMatching mode + // { description = "file mode string"; }; + + wrapperType = lib.types.submodule ({ name, config, ... }: { + options.source = lib.mkOption + { type = lib.types.path; + description = "The absolute path to the program to be wrapped."; + }; + options.program = lib.mkOption + { type = with lib.types; nullOr str; + default = name; + description = '' + The name of the wrapper program. Defaults to the attribute name. + ''; + }; + options.owner = lib.mkOption + { type = lib.types.str; + default = with config; + if (capabilities != "") || !(setuid || setgid || permissions != null) + then "root" + else "nobody"; + description = '' + The owner of the wrapper program. Defaults to root + if any capability is set and setuid/setgid/permissions are not, otherwise to + nobody. + ''; + }; + options.group = lib.mkOption + { type = lib.types.str; + default = with config; + if (capabilities != "") || !(setuid || setgid || permissions != null) + then "root" + else "nogroup"; + description = '' + The group of the wrapper program. Defaults to root + if any capability is set and setuid/setgid/permissions are not, + otherwise to nogroup. + ''; + }; + options.permissions = lib.mkOption + { type = lib.types.nullOr fileModeType; + default = null; + example = "u+rx,g+x,o+x"; + apply = x: if x == null then "u+rx,g+x,o+x" else x; + description = '' + The permissions of the wrapper program. The format is that of a + symbolic or numeric file mode understood by chmod. + ''; + }; + options.capabilities = lib.mkOption + { type = lib.types.commas; + default = ""; + description = '' + A comma-separated list of capabilities to be given to the wrapper + program. For capabilities supported by the system check the + + capabilities + 7 + + manual page. + + + cap_setpcap, which is required for the wrapper + program to be able to raise caps into the Ambient set is NOT raised + to the Ambient set so that the real program cannot modify its own + capabilities!! This may be too restrictive for cases in which the + real program needs cap_setpcap but it at least leans on the side + security paranoid vs. too relaxed. + + ''; + }; + options.setuid = lib.mkOption + { type = lib.types.bool; + default = false; + description = "Whether to add the setuid bit the wrapper program."; + }; + options.setgid = lib.mkOption + { type = lib.types.bool; + default = false; + description = "Whether to add the setgid bit the wrapper program."; + }; + }); + ###### Activation script for the setcap wrappers mkSetcapProgram = { program , capabilities , source - , owner ? "nobody" - , group ? "nogroup" - , permissions ? "u+rx,g+x,o+x" + , owner + , group + , permissions , ... }: assert (lib.versionAtLeast (lib.getVersion config.boot.kernelPackages.kernel) "4.3"); @@ -46,11 +131,11 @@ let mkSetuidProgram = { program , source - , owner ? "nobody" - , group ? "nogroup" - , setuid ? false - , setgid ? false - , permissions ? "u+rx,g+x,o+x" + , owner + , group + , setuid + , setgid + , permissions , ... }: '' @@ -66,24 +151,11 @@ let mkWrappedPrograms = builtins.map - (s: if (s ? capabilities) - then mkSetcapProgram - ({ owner = "root"; - group = "root"; - } // s) - else if - (s ? setuid && s.setuid) || - (s ? setgid && s.setgid) || - (s ? permissions) - then mkSetuidProgram s - else mkSetuidProgram - ({ owner = "root"; - group = "root"; - setuid = true; - setgid = false; - permissions = "u+rx,g+x,o+x"; - } // s) - ) programs; + (opts: + if opts.capabilities != "" + then mkSetcapProgram opts + else mkSetuidProgram opts + ) (lib.attrValues wrappers); in { imports = [ @@ -95,7 +167,7 @@ in options = { security.wrappers = lib.mkOption { - type = lib.types.attrs; + type = lib.types.attrsOf wrapperType; default = {}; example = lib.literalExample '' @@ -109,31 +181,11 @@ in } ''; description = '' - This option allows the ownership and permissions on the setuid - wrappers for specific programs to be overridden from the - default (setuid root, but not setgid root). - - - The sub-attribute source is mandatory, - it must be the absolute path to the program to be wrapped. - - - The sub-attribute program is optional and - can give the wrapper program a new name. The default name is the same - as the attribute name itself. - - Additionally, this option can set capabilities on a - wrapper program that propagates those capabilities down to the - wrapped, real program. - - NOTE: cap_setpcap, which is required for the wrapper - program to be able to raise caps into the Ambient set is NOT - raised to the Ambient set so that the real program cannot - modify its own capabilities!! This may be too restrictive for - cases in which the real program needs cap_setpcap but it at - least leans on the side security paranoid vs. too - relaxed. - + This option effectively allows adding setuid/setgid bits, capabilities, + changing file ownership and permissions of a program without directly + modifying it. This works by creating a wrapper program under the + directory, which is then added to + the shell PATH. ''; }; @@ -151,6 +203,16 @@ in ###### implementation config = { + assertions = lib.mapAttrsToList + (name: opts: + { assertion = opts.setuid || opts.setgid -> opts.capabilities == ""; + message = '' + The security.wrappers.${name} wrapper is not valid: + setuid/setgid and capabilities are mutually exclusive. + ''; + } + ) wrappers; + security.wrappers = { # These are mount related wrappers that require the +s permission. fusermount.source = "${pkgs.fuse}/bin/fusermount"; From 22004f7e8febc6ae6553c44ecd8bf9da9ddc5260 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Wed, 9 Jun 2021 19:59:39 +0200 Subject: [PATCH 004/173] nixos/security/wrappers: use fixed defaults To keep backward compatibility and have a typing would require making all options null by default, adding a defaultText containing the actual value, write the default value logic based on `!= null` and replacing the nulls laters. This pretty much defeats the point of having used a submodule type. --- nixos/modules/security/wrappers/default.nix | 35 ++++++--------------- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/nixos/modules/security/wrappers/default.nix b/nixos/modules/security/wrappers/default.nix index 74dfd86b86af..8b1f5da2ba2d 100644 --- a/nixos/modules/security/wrappers/default.nix +++ b/nixos/modules/security/wrappers/default.nix @@ -33,33 +33,18 @@ let }; options.owner = lib.mkOption { type = lib.types.str; - default = with config; - if (capabilities != "") || !(setuid || setgid || permissions != null) - then "root" - else "nobody"; - description = '' - The owner of the wrapper program. Defaults to root - if any capability is set and setuid/setgid/permissions are not, otherwise to - nobody. - ''; + default = "root"; + description = "The owner of the wrapper program."; }; options.group = lib.mkOption { type = lib.types.str; - default = with config; - if (capabilities != "") || !(setuid || setgid || permissions != null) - then "root" - else "nogroup"; - description = '' - The group of the wrapper program. Defaults to root - if any capability is set and setuid/setgid/permissions are not, - otherwise to nogroup. - ''; + default = "root"; + description = "The group of the wrapper program."; }; options.permissions = lib.mkOption - { type = lib.types.nullOr fileModeType; - default = null; - example = "u+rx,g+x,o+x"; - apply = x: if x == null then "u+rx,g+x,o+x" else x; + { type = fileModeType; + default = "u+rx,g+x,o+x"; + example = "a+rx"; description = '' The permissions of the wrapper program. The format is that of a symbolic or numeric file mode understood by chmod. @@ -89,7 +74,7 @@ let }; options.setuid = lib.mkOption { type = lib.types.bool; - default = false; + default = true; description = "Whether to add the setuid bit the wrapper program."; }; options.setgid = lib.mkOption @@ -153,8 +138,8 @@ let builtins.map (opts: if opts.capabilities != "" - then mkSetcapProgram opts - else mkSetuidProgram opts + then mkSetcapProgram opts + else mkSetuidProgram opts ) (lib.attrValues wrappers); in { From e10f7e4cc1f4678b28687cf1390a2dad55adb143 Mon Sep 17 00:00:00 2001 From: "Zenithal (at bravo)" Date: Mon, 13 Sep 2021 16:08:40 +0800 Subject: [PATCH 005/173] maintainers: add zenithal --- maintainers/maintainer-list.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index c2ff4cec169f..9ed6f0e6f9a1 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -12464,6 +12464,16 @@ fingerprint = "61AE D40F 368B 6F26 9DAE 3892 6861 6B2D 8AC4 DCC5"; }]; }; + zenithal = { + name = "zenithal"; + email = "i@zenithal.me"; + github = "ZenithalHourlyRate"; + githubId = 19512674; + keys = [{ + longkeyid = "rsa4096/0x87E17EEF9B18B6C9"; + fingerprint = "1127 F188 280A E312 3619 3329 87E1 7EEF 9B18 B6C9"; + }]; + }; zeri = { name = "zeri"; email = "68825133+zeri42@users.noreply.github.com"; From 7d8b303e3fd76ccf58cfe26348e889def3663546 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Thu, 10 Jun 2021 14:57:52 +0200 Subject: [PATCH 006/173] nixos/security/wrappers: check that sources exist Add a shell script that checks if the paths of all wrapped programs actually exist to catch mistakes. This only checks for Nix store paths, which are always expected to exist at build time. --- nixos/modules/security/wrappers/default.nix | 30 ++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/nixos/modules/security/wrappers/default.nix b/nixos/modules/security/wrappers/default.nix index 8b1f5da2ba2d..2ce26854be44 100644 --- a/nixos/modules/security/wrappers/default.nix +++ b/nixos/modules/security/wrappers/default.nix @@ -226,7 +226,7 @@ in ]}" ''; - ###### setcap activation script + ###### wrappers activation script system.activationScripts.wrappers = lib.stringAfter [ "specialfs" "users" ] '' @@ -257,5 +257,33 @@ in ln --symbolic $wrapperDir ${wrapperDir} fi ''; + + ###### wrappers consistency checks + system.extraDependencies = lib.singleton (pkgs.runCommandLocal + "ensure-all-wrappers-paths-exist" { } + '' + # make sure we produce output + mkdir -p $out + + echo -n "Checking that Nix store paths of all wrapped programs exist... " + + declare -A wrappers + ${lib.concatStringsSep "\n" (lib.mapAttrsToList (n: v: + "wrappers['${n}']='${v.source}'") wrappers)} + + for name in "''${!wrappers[@]}"; do + path="''${wrappers[$name]}" + if [[ "$path" =~ /nix/store ]] && [ ! -e "$path" ]; then + test -t 1 && echo -ne '\033[1;31m' + echo "FAIL" + echo "The path $path does not exist!" + echo 'Please, check the value of `security.wrappers."'$name'".source`.' + test -t 1 && echo -ne '\033[0m' + exit 1 + fi + done + + echo "OK" + ''); }; } From 936e8eaf411248e34ceef219fb94acfbb66060a0 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sun, 12 Sep 2021 16:14:40 +0200 Subject: [PATCH 007/173] nixos/security/wrappers: fix shell quoting --- nixos/modules/security/wrappers/default.nix | 36 ++++++++++----------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/nixos/modules/security/wrappers/default.nix b/nixos/modules/security/wrappers/default.nix index 2ce26854be44..2f2c170e4607 100644 --- a/nixos/modules/security/wrappers/default.nix +++ b/nixos/modules/security/wrappers/default.nix @@ -96,20 +96,20 @@ let }: assert (lib.versionAtLeast (lib.getVersion config.boot.kernelPackages.kernel) "4.3"); '' - cp ${securityWrapper}/bin/security-wrapper $wrapperDir/${program} - echo -n "${source}" > $wrapperDir/${program}.real + cp ${securityWrapper}/bin/security-wrapper "$wrapperDir/${program}" + echo -n "${source}" > "$wrapperDir/${program}.real" # Prevent races - chmod 0000 $wrapperDir/${program} - chown ${owner}.${group} $wrapperDir/${program} + chmod 0000 "$wrapperDir/${program}" + chown ${owner}.${group} "$wrapperDir/${program}" # Set desired capabilities on the file plus cap_setpcap so # the wrapper program can elevate the capabilities set on # its file into the Ambient set. - ${pkgs.libcap.out}/bin/setcap "cap_setpcap,${capabilities}" $wrapperDir/${program} + ${pkgs.libcap.out}/bin/setcap "cap_setpcap,${capabilities}" "$wrapperDir/${program}" # Set the executable bit - chmod ${permissions} $wrapperDir/${program} + chmod ${permissions} "$wrapperDir/${program}" ''; ###### Activation script for the setuid wrappers @@ -124,14 +124,14 @@ let , ... }: '' - cp ${securityWrapper}/bin/security-wrapper $wrapperDir/${program} - echo -n "${source}" > $wrapperDir/${program}.real + cp ${securityWrapper}/bin/security-wrapper "$wrapperDir/${program}" + echo -n "${source}" > "$wrapperDir/${program}.real" # Prevent races - chmod 0000 $wrapperDir/${program} - chown ${owner}.${group} $wrapperDir/${program} + chmod 0000 "$wrapperDir/${program}" + chown ${owner}.${group} "$wrapperDir/${program}" - chmod "u${if setuid then "+" else "-"}s,g${if setgid then "+" else "-"}s,${permissions}" $wrapperDir/${program} + chmod "u${if setuid then "+" else "-"}s,g${if setgid then "+" else "-"}s,${permissions}" "$wrapperDir/${program}" ''; mkWrappedPrograms = @@ -238,7 +238,7 @@ in # We want to place the tmpdirs for the wrappers to the parent dir. wrapperDir=$(mktemp --directory --tmpdir="${parentWrapperDir}" wrappers.XXXXXXXXXX) - chmod a+rx $wrapperDir + chmod a+rx "$wrapperDir" ${lib.concatStringsSep "\n" mkWrappedPrograms} @@ -246,15 +246,15 @@ in # Atomically replace the symlink # See https://axialcorps.com/2013/07/03/atomically-replacing-files-and-directories/ old=$(readlink -f ${wrapperDir}) - if [ -e ${wrapperDir}-tmp ]; then - rm --force --recursive ${wrapperDir}-tmp + if [ -e "${wrapperDir}-tmp" ]; then + rm --force --recursive "${wrapperDir}-tmp" fi - ln --symbolic --force --no-dereference $wrapperDir ${wrapperDir}-tmp - mv --no-target-directory ${wrapperDir}-tmp ${wrapperDir} - rm --force --recursive $old + ln --symbolic --force --no-dereference "$wrapperDir" "${wrapperDir}-tmp" + mv --no-target-directory "${wrapperDir}-tmp" "${wrapperDir}" + rm --force --recursive "$old" else # For initial setup - ln --symbolic $wrapperDir ${wrapperDir} + ln --symbolic "$wrapperDir" "${wrapperDir}" fi ''; From 27dcb04cde501f731a79ea5d5cf25a21de5a91ad Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sun, 12 Sep 2021 19:29:22 +0200 Subject: [PATCH 008/173] nixos/security/wrappers: remove WRAPPER_PATH This appears to be a leftover from 628e6a83. --- nixos/modules/security/wrappers/default.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/nixos/modules/security/wrappers/default.nix b/nixos/modules/security/wrappers/default.nix index 2f2c170e4607..8c9d0b487bbc 100644 --- a/nixos/modules/security/wrappers/default.nix +++ b/nixos/modules/security/wrappers/default.nix @@ -230,10 +230,6 @@ in system.activationScripts.wrappers = lib.stringAfter [ "specialfs" "users" ] '' - # Look in the system path and in the default profile for - # programs to be wrapped. - WRAPPER_PATH=${config.system.path}/bin:${config.system.path}/sbin - chmod 755 "${parentWrapperDir}" # We want to place the tmpdirs for the wrappers to the parent dir. From 41a498578e612cf34e2aa60eb0d8fc6a5b0d4d79 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Thu, 10 Jun 2021 01:46:26 +0200 Subject: [PATCH 009/173] nixos/mail: reuse security.wrappers type --- nixos/modules/services/mail/mail.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/mail/mail.nix b/nixos/modules/services/mail/mail.nix index fed313e4738e..fcc7ff6db91b 100644 --- a/nixos/modules/services/mail/mail.nix +++ b/nixos/modules/services/mail/mail.nix @@ -1,4 +1,4 @@ -{ config, lib, ... }: +{ config, options, lib, ... }: with lib; @@ -11,6 +11,7 @@ with lib; services.mail = { sendmailSetuidWrapper = mkOption { + type = types.nullOr options.security.wrappers.type.nestedTypes.elemType; default = null; internal = true; description = '' From 8f76a6eefcfa0c9904e0749f04b27090527ce09f Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Thu, 10 Jun 2021 01:47:55 +0200 Subject: [PATCH 010/173] nixos: add implict security.wrappers options This is to keep the same permissions/setuid/setgid as before the change in security.wrappers defaults. --- nixos/modules/programs/ccache.nix | 2 ++ nixos/modules/programs/msmtp.nix | 2 ++ nixos/modules/programs/ssmtp.nix | 2 ++ nixos/modules/security/pam.nix | 1 + nixos/modules/services/mail/opensmtpd.nix | 5 ++++- nixos/modules/services/mail/postfix.nix | 4 ++++ nixos/modules/services/networking/x2goserver.nix | 2 ++ nixos/modules/services/scheduling/fcron.nix | 2 ++ nixos/modules/services/x11/desktop-managers/cde.nix | 5 +++-- 9 files changed, 22 insertions(+), 3 deletions(-) diff --git a/nixos/modules/programs/ccache.nix b/nixos/modules/programs/ccache.nix index d672e1da017a..35a4373f6128 100644 --- a/nixos/modules/programs/ccache.nix +++ b/nixos/modules/programs/ccache.nix @@ -28,7 +28,9 @@ in { # "nix-ccache --show-stats" and "nix-ccache --clear" security.wrappers.nix-ccache = { + owner = "nobody"; group = "nixbld"; + setuid = false; setgid = true; source = pkgs.writeScript "nix-ccache.pl" '' #!${pkgs.perl}/bin/perl diff --git a/nixos/modules/programs/msmtp.nix b/nixos/modules/programs/msmtp.nix index 217060e6b3b3..9c067bdc9695 100644 --- a/nixos/modules/programs/msmtp.nix +++ b/nixos/modules/programs/msmtp.nix @@ -78,6 +78,8 @@ in { source = "${pkgs.msmtp}/bin/sendmail"; setuid = false; setgid = false; + owner = "root"; + group = "root"; }; environment.etc."msmtprc".text = let diff --git a/nixos/modules/programs/ssmtp.nix b/nixos/modules/programs/ssmtp.nix index 8b500f0383f4..e28a14538ecd 100644 --- a/nixos/modules/programs/ssmtp.nix +++ b/nixos/modules/programs/ssmtp.nix @@ -181,6 +181,8 @@ in source = "${pkgs.ssmtp}/bin/sendmail"; setuid = false; setgid = false; + owner = "root"; + group = "root"; }; }; diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index 163d75d7caf2..0bc774af3a66 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -871,6 +871,7 @@ in unix_chkpwd = { source = "${pkgs.pam}/sbin/unix_chkpwd.orig"; owner = "root"; + group = "nogroup"; setuid = true; }; }; diff --git a/nixos/modules/services/mail/opensmtpd.nix b/nixos/modules/services/mail/opensmtpd.nix index c838d3b949db..dc209e8add4e 100644 --- a/nixos/modules/services/mail/opensmtpd.nix +++ b/nixos/modules/services/mail/opensmtpd.nix @@ -103,12 +103,15 @@ in { }; security.wrappers.smtpctl = { + owner = "nobody"; group = "smtpq"; + setuid = false; setgid = true; source = "${cfg.package}/bin/smtpctl"; }; - services.mail.sendmailSetuidWrapper = mkIf cfg.setSendmail security.wrappers.smtpctl; + services.mail.sendmailSetuidWrapper = mkIf cfg.setSendmail + security.wrappers.smtpctl // { program = "sendmail"; }; systemd.tmpfiles.rules = [ "d /var/spool/smtpd 711 root - - -" diff --git a/nixos/modules/services/mail/postfix.nix b/nixos/modules/services/mail/postfix.nix index 9b0a5bba2feb..2b8edb9c51f8 100644 --- a/nixos/modules/services/mail/postfix.nix +++ b/nixos/modules/services/mail/postfix.nix @@ -673,6 +673,7 @@ in services.mail.sendmailSetuidWrapper = mkIf config.services.postfix.setSendmail { program = "sendmail"; source = "${pkgs.postfix}/bin/sendmail"; + owner = "nobody"; group = setgidGroup; setuid = false; setgid = true; @@ -681,6 +682,7 @@ in security.wrappers.mailq = { program = "mailq"; source = "${pkgs.postfix}/bin/mailq"; + owner = "nobody"; group = setgidGroup; setuid = false; setgid = true; @@ -689,6 +691,7 @@ in security.wrappers.postqueue = { program = "postqueue"; source = "${pkgs.postfix}/bin/postqueue"; + owner = "nobody"; group = setgidGroup; setuid = false; setgid = true; @@ -697,6 +700,7 @@ in security.wrappers.postdrop = { program = "postdrop"; source = "${pkgs.postfix}/bin/postdrop"; + owner = "nobody"; group = setgidGroup; setuid = false; setgid = true; diff --git a/nixos/modules/services/networking/x2goserver.nix b/nixos/modules/services/networking/x2goserver.nix index 48020fc1ceca..554e51f9d4ff 100644 --- a/nixos/modules/services/networking/x2goserver.nix +++ b/nixos/modules/services/networking/x2goserver.nix @@ -88,12 +88,14 @@ in { source = "${pkgs.x2goserver}/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl"; owner = "x2go"; group = "x2go"; + setuid = false; setgid = true; }; security.wrappers.x2goprintWrapper = { source = "${pkgs.x2goserver}/bin/x2goprint"; owner = "x2go"; group = "x2go"; + setuid = false; setgid = true; }; diff --git a/nixos/modules/services/scheduling/fcron.nix b/nixos/modules/services/scheduling/fcron.nix index 42bed21bf25b..4f5d99ddf38f 100644 --- a/nixos/modules/services/scheduling/fcron.nix +++ b/nixos/modules/services/scheduling/fcron.nix @@ -136,9 +136,11 @@ in owner = "fcron"; group = "fcron"; setgid = true; + setuid = false; }; fcronsighup = { source = "${pkgs.fcron}/bin/fcronsighup"; + owner = "root"; group = "fcron"; }; }; diff --git a/nixos/modules/services/x11/desktop-managers/cde.nix b/nixos/modules/services/x11/desktop-managers/cde.nix index 3f1575a0ca63..24ca82fca796 100644 --- a/nixos/modules/services/x11/desktop-managers/cde.nix +++ b/nixos/modules/services/x11/desktop-managers/cde.nix @@ -49,9 +49,10 @@ in { users.groups.mail = {}; security.wrappers = { dtmail = { - source = "${pkgs.cdesktopenv}/bin/dtmail"; - group = "mail"; setgid = true; + owner = "nobody"; + group = "mail"; + source = "${pkgs.cdesktopenv}/bin/dtmail"; }; }; From fedd7cd6901646cb7e2a94a148d300f7b632d7e0 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sun, 12 Sep 2021 18:53:48 +0200 Subject: [PATCH 011/173] nixos: explicitely set security.wrappers ownership This is slightly more verbose and inconvenient, but it forces you to think about what the wrapper ownership and permissions will be. --- nixos/modules/programs/bandwhich.nix | 4 +- nixos/modules/programs/captive-browser.nix | 4 ++ nixos/modules/programs/firejail.nix | 7 ++- nixos/modules/programs/gamemode.nix | 2 + nixos/modules/programs/iftop.nix | 4 +- nixos/modules/programs/iotop.nix | 4 +- nixos/modules/programs/kbdlight.nix | 7 ++- nixos/modules/programs/liboping.nix | 4 +- nixos/modules/programs/mtr.nix | 4 +- nixos/modules/programs/noisetorch.nix | 4 +- nixos/modules/programs/shadow.nix | 21 ++++--- nixos/modules/programs/singularity.nix | 7 ++- nixos/modules/programs/slock.nix | 7 ++- nixos/modules/programs/traceroute.nix | 4 +- nixos/modules/programs/udevil.nix | 7 ++- nixos/modules/programs/wavemon.nix | 4 +- nixos/modules/programs/wshowkeys.nix | 7 ++- .../security/chromium-suid-sandbox.nix | 7 ++- nixos/modules/security/doas.nix | 9 ++- nixos/modules/security/duosec.nix | 7 ++- nixos/modules/security/pam_usb.nix | 14 ++++- nixos/modules/security/polkit.nix | 14 ++++- nixos/modules/security/wrappers/default.nix | 57 +++++++++++++------ .../services/desktops/gnome/gnome-keyring.nix | 4 +- nixos/modules/services/mail/exim.nix | 7 ++- nixos/modules/services/misc/mame.nix | 4 +- nixos/modules/services/misc/weechat.nix | 7 ++- nixos/modules/services/monitoring/incron.nix | 7 ++- .../services/monitoring/zabbix-proxy.nix | 7 ++- .../modules/services/networking/smokeping.nix | 14 ++++- nixos/modules/services/scheduling/cron.nix | 7 ++- nixos/modules/services/scheduling/fcron.nix | 1 + .../modules/services/video/replay-sorcery.nix | 4 +- .../x11/desktop-managers/enlightenment.nix | 21 ++++++- .../services/x11/desktop-managers/plasma5.nix | 24 ++++++-- nixos/modules/tasks/filesystems/ecryptfs.nix | 14 ++++- nixos/modules/tasks/network-interfaces.nix | 9 ++- nixos/modules/virtualisation/libvirtd.nix | 3 + .../virtualisation/spice-usb-redirection.nix | 6 +- 39 files changed, 276 insertions(+), 72 deletions(-) diff --git a/nixos/modules/programs/bandwhich.nix b/nixos/modules/programs/bandwhich.nix index 1cffb5fa2765..610d602ad2cc 100644 --- a/nixos/modules/programs/bandwhich.nix +++ b/nixos/modules/programs/bandwhich.nix @@ -22,8 +22,10 @@ in { config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ bandwhich ]; security.wrappers.bandwhich = { - source = "${pkgs.bandwhich}/bin/bandwhich"; + owner = "root"; + group = "root"; capabilities = "cap_net_raw,cap_net_admin+ep"; + source = "${pkgs.bandwhich}/bin/bandwhich"; }; }; } diff --git a/nixos/modules/programs/captive-browser.nix b/nixos/modules/programs/captive-browser.nix index d7684d08c6c7..4e8abdeecf0b 100644 --- a/nixos/modules/programs/captive-browser.nix +++ b/nixos/modules/programs/captive-browser.nix @@ -105,11 +105,15 @@ in ); security.wrappers.udhcpc = { + owner = "root"; + group = "root"; capabilities = "cap_net_raw+p"; source = "${pkgs.busybox}/bin/udhcpc"; }; security.wrappers.captive-browser = { + owner = "root"; + group = "root"; capabilities = "cap_net_raw+p"; source = pkgs.writeShellScript "captive-browser" '' export PREV_CONFIG_HOME="$XDG_CONFIG_HOME" diff --git a/nixos/modules/programs/firejail.nix b/nixos/modules/programs/firejail.nix index ad4ef1a39459..9384b01b3674 100644 --- a/nixos/modules/programs/firejail.nix +++ b/nixos/modules/programs/firejail.nix @@ -81,7 +81,12 @@ in { }; config = mkIf cfg.enable { - security.wrappers.firejail.source = "${lib.getBin pkgs.firejail}/bin/firejail"; + security.wrappers.firejail = + { setuid = true; + owner = "root"; + group = "root"; + source = "${lib.getBin pkgs.firejail}/bin/firejail"; + }; environment.systemPackages = [ pkgs.firejail ] ++ [ wrappedBins ]; }; diff --git a/nixos/modules/programs/gamemode.nix b/nixos/modules/programs/gamemode.nix index 03949bf98df6..102788f5b019 100644 --- a/nixos/modules/programs/gamemode.nix +++ b/nixos/modules/programs/gamemode.nix @@ -56,6 +56,8 @@ in polkit.enable = true; wrappers = mkIf cfg.enableRenice { gamemoded = { + owner = "root"; + group = "root"; source = "${pkgs.gamemode}/bin/gamemoded"; capabilities = "cap_sys_nice+ep"; }; diff --git a/nixos/modules/programs/iftop.nix b/nixos/modules/programs/iftop.nix index a98a9a8187d4..c74714a9a6d6 100644 --- a/nixos/modules/programs/iftop.nix +++ b/nixos/modules/programs/iftop.nix @@ -11,8 +11,10 @@ in { config = mkIf cfg.enable { environment.systemPackages = [ pkgs.iftop ]; security.wrappers.iftop = { - source = "${pkgs.iftop}/bin/iftop"; + owner = "root"; + group = "root"; capabilities = "cap_net_raw+p"; + source = "${pkgs.iftop}/bin/iftop"; }; }; } diff --git a/nixos/modules/programs/iotop.nix b/nixos/modules/programs/iotop.nix index 5512dbc62f72..b7c1c69f9ddd 100644 --- a/nixos/modules/programs/iotop.nix +++ b/nixos/modules/programs/iotop.nix @@ -10,8 +10,10 @@ in { }; config = mkIf cfg.enable { security.wrappers.iotop = { - source = "${pkgs.iotop}/bin/iotop"; + owner = "root"; + group = "root"; capabilities = "cap_net_admin+p"; + source = "${pkgs.iotop}/bin/iotop"; }; }; } diff --git a/nixos/modules/programs/kbdlight.nix b/nixos/modules/programs/kbdlight.nix index 58e45872fac8..8a2a0057cf2d 100644 --- a/nixos/modules/programs/kbdlight.nix +++ b/nixos/modules/programs/kbdlight.nix @@ -11,6 +11,11 @@ in config = mkIf cfg.enable { environment.systemPackages = [ pkgs.kbdlight ]; - security.wrappers.kbdlight.source = "${pkgs.kbdlight.out}/bin/kbdlight"; + security.wrappers.kbdlight = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.kbdlight.out}/bin/kbdlight"; + }; }; } diff --git a/nixos/modules/programs/liboping.nix b/nixos/modules/programs/liboping.nix index 4e4c235ccde4..4433f9767d6e 100644 --- a/nixos/modules/programs/liboping.nix +++ b/nixos/modules/programs/liboping.nix @@ -13,8 +13,10 @@ in { security.wrappers = mkMerge (map ( exec: { "${exec}" = { - source = "${pkgs.liboping}/bin/${exec}"; + owner = "root"; + group = "root"; capabilities = "cap_net_raw+p"; + source = "${pkgs.liboping}/bin/${exec}"; }; } ) [ "oping" "noping" ]); diff --git a/nixos/modules/programs/mtr.nix b/nixos/modules/programs/mtr.nix index 75b710c1584f..63516c58440e 100644 --- a/nixos/modules/programs/mtr.nix +++ b/nixos/modules/programs/mtr.nix @@ -31,8 +31,10 @@ in { environment.systemPackages = with pkgs; [ cfg.package ]; security.wrappers.mtr-packet = { - source = "${cfg.package}/bin/mtr-packet"; + owner = "root"; + group = "root"; capabilities = "cap_net_raw+p"; + source = "${cfg.package}/bin/mtr-packet"; }; }; } diff --git a/nixos/modules/programs/noisetorch.nix b/nixos/modules/programs/noisetorch.nix index 5f3b0c8f5d1e..bca68b0064c0 100644 --- a/nixos/modules/programs/noisetorch.nix +++ b/nixos/modules/programs/noisetorch.nix @@ -18,8 +18,10 @@ in { config = mkIf cfg.enable { security.wrappers.noisetorch = { - source = "${cfg.package}/bin/noisetorch"; + owner = "root"; + group = "root"; capabilities = "cap_sys_resource=+ep"; + source = "${cfg.package}/bin/noisetorch"; }; }; } diff --git a/nixos/modules/programs/shadow.nix b/nixos/modules/programs/shadow.nix index 386ded9d98b6..e021f184179d 100644 --- a/nixos/modules/programs/shadow.nix +++ b/nixos/modules/programs/shadow.nix @@ -43,6 +43,13 @@ let ''; + mkSetuidRoot = source: + { setuid = true; + owner = "root"; + group = "root"; + inherit source; + }; + in { @@ -109,14 +116,14 @@ in }; security.wrappers = { - su.source = "${pkgs.shadow.su}/bin/su"; - sg.source = "${pkgs.shadow.out}/bin/sg"; - newgrp.source = "${pkgs.shadow.out}/bin/newgrp"; - newuidmap.source = "${pkgs.shadow.out}/bin/newuidmap"; - newgidmap.source = "${pkgs.shadow.out}/bin/newgidmap"; + su = mkSetuidRoot "${pkgs.shadow.su}/bin/su"; + sg = mkSetuidRoot "${pkgs.shadow.out}/bin/sg"; + newgrp = mkSetuidRoot "${pkgs.shadow.out}/bin/newgrp"; + newuidmap = mkSetuidRoot "${pkgs.shadow.out}/bin/newuidmap"; + newgidmap = mkSetuidRoot "${pkgs.shadow.out}/bin/newgidmap"; } // lib.optionalAttrs config.users.mutableUsers { - chsh.source = "${pkgs.shadow.out}/bin/chsh"; - passwd.source = "${pkgs.shadow.out}/bin/passwd"; + chsh = mkSetuidRoot "${pkgs.shadow.out}/bin/chsh"; + passwd = mkSetuidRoot "${pkgs.shadow.out}/bin/passwd"; }; }; } diff --git a/nixos/modules/programs/singularity.nix b/nixos/modules/programs/singularity.nix index 6ac64a81fc24..db935abe4bb4 100644 --- a/nixos/modules/programs/singularity.nix +++ b/nixos/modules/programs/singularity.nix @@ -16,7 +16,12 @@ in { config = mkIf cfg.enable { environment.systemPackages = [ singularity ]; - security.wrappers.singularity-suid.source = "${singularity}/libexec/singularity/bin/starter-suid.orig"; + security.wrappers.singularity-suid = + { setuid = true; + owner = "root"; + group = "root"; + source = "${singularity}/libexec/singularity/bin/starter-suid.orig"; + }; systemd.tmpfiles.rules = [ "d /var/singularity/mnt/session 0770 root root -" "d /var/singularity/mnt/final 0770 root root -" diff --git a/nixos/modules/programs/slock.nix b/nixos/modules/programs/slock.nix index 0e1281e62cd7..ce80fcc5d4a8 100644 --- a/nixos/modules/programs/slock.nix +++ b/nixos/modules/programs/slock.nix @@ -21,6 +21,11 @@ in config = mkIf cfg.enable { environment.systemPackages = [ pkgs.slock ]; - security.wrappers.slock.source = "${pkgs.slock.out}/bin/slock"; + security.wrappers.slock = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.slock.out}/bin/slock"; + }; }; } diff --git a/nixos/modules/programs/traceroute.nix b/nixos/modules/programs/traceroute.nix index 4eb0be3f0e0b..6e04057ac503 100644 --- a/nixos/modules/programs/traceroute.nix +++ b/nixos/modules/programs/traceroute.nix @@ -19,8 +19,10 @@ in { config = mkIf cfg.enable { security.wrappers.traceroute = { - source = "${pkgs.traceroute}/bin/traceroute"; + owner = "root"; + group = "root"; capabilities = "cap_net_raw+p"; + source = "${pkgs.traceroute}/bin/traceroute"; }; }; } diff --git a/nixos/modules/programs/udevil.nix b/nixos/modules/programs/udevil.nix index ba5670f9dfe9..0dc08c435df4 100644 --- a/nixos/modules/programs/udevil.nix +++ b/nixos/modules/programs/udevil.nix @@ -9,6 +9,11 @@ in { options.programs.udevil.enable = mkEnableOption "udevil"; config = mkIf cfg.enable { - security.wrappers.udevil.source = "${lib.getBin pkgs.udevil}/bin/udevil"; + security.wrappers.udevil = + { setuid = true; + owner = "root"; + group = "root"; + source = "${lib.getBin pkgs.udevil}/bin/udevil"; + }; }; } diff --git a/nixos/modules/programs/wavemon.nix b/nixos/modules/programs/wavemon.nix index ac665fe4a023..e5ccacba75d4 100644 --- a/nixos/modules/programs/wavemon.nix +++ b/nixos/modules/programs/wavemon.nix @@ -21,8 +21,10 @@ in { config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ wavemon ]; security.wrappers.wavemon = { - source = "${pkgs.wavemon}/bin/wavemon"; + owner = "root"; + group = "root"; capabilities = "cap_net_admin+ep"; + source = "${pkgs.wavemon}/bin/wavemon"; }; }; } diff --git a/nixos/modules/programs/wshowkeys.nix b/nixos/modules/programs/wshowkeys.nix index 09b008af1d5d..f7b71d2bb0c8 100644 --- a/nixos/modules/programs/wshowkeys.nix +++ b/nixos/modules/programs/wshowkeys.nix @@ -17,6 +17,11 @@ in { }; config = mkIf cfg.enable { - security.wrappers.wshowkeys.source = "${pkgs.wshowkeys}/bin/wshowkeys"; + security.wrappers.wshowkeys = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.wshowkeys}/bin/wshowkeys"; + }; }; } diff --git a/nixos/modules/security/chromium-suid-sandbox.nix b/nixos/modules/security/chromium-suid-sandbox.nix index b83dbc4202a8..bb99c053f718 100644 --- a/nixos/modules/security/chromium-suid-sandbox.nix +++ b/nixos/modules/security/chromium-suid-sandbox.nix @@ -28,6 +28,11 @@ in config = mkIf cfg.enable { environment.systemPackages = [ sandbox ]; - security.wrappers.${sandbox.passthru.sandboxExecutableName}.source = "${sandbox}/bin/${sandbox.passthru.sandboxExecutableName}"; + security.wrappers.${sandbox.passthru.sandboxExecutableName} = + { setuid = true; + owner = "root"; + group = "root"; + source = "${sandbox}/bin/${sandbox.passthru.sandboxExecutableName}"; + }; }; } diff --git a/nixos/modules/security/doas.nix b/nixos/modules/security/doas.nix index 27f6870aaf37..35f618b03e8e 100644 --- a/nixos/modules/security/doas.nix +++ b/nixos/modules/security/doas.nix @@ -241,9 +241,12 @@ in } ]; - security.wrappers = { - doas.source = "${doas}/bin/doas"; - }; + security.wrappers.doas = + { setuid = true; + owner = "root"; + group = "root"; + source = "${doas}/bin/doas"; + }; environment.systemPackages = [ doas diff --git a/nixos/modules/security/duosec.nix b/nixos/modules/security/duosec.nix index c47be80b9dc3..bbe246fe229e 100644 --- a/nixos/modules/security/duosec.nix +++ b/nixos/modules/security/duosec.nix @@ -186,7 +186,12 @@ in config = mkIf (cfg.ssh.enable || cfg.pam.enable) { environment.systemPackages = [ pkgs.duo-unix ]; - security.wrappers.login_duo.source = "${pkgs.duo-unix.out}/bin/login_duo"; + security.wrappers.login_duo = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.duo-unix.out}/bin/login_duo"; + }; system.activationScripts = { login_duo = mkIf cfg.ssh.enable '' diff --git a/nixos/modules/security/pam_usb.nix b/nixos/modules/security/pam_usb.nix index c695ba075ca9..51d81e823f86 100644 --- a/nixos/modules/security/pam_usb.nix +++ b/nixos/modules/security/pam_usb.nix @@ -32,8 +32,18 @@ in # Make sure pmount and pumount are setuid wrapped. security.wrappers = { - pmount.source = "${pkgs.pmount.out}/bin/pmount"; - pumount.source = "${pkgs.pmount.out}/bin/pumount"; + pmount = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.pmount.out}/bin/pmount"; + }; + pumount = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.pmount.out}/bin/pumount"; + }; }; environment.systemPackages = [ pkgs.pmount ]; diff --git a/nixos/modules/security/polkit.nix b/nixos/modules/security/polkit.nix index f556cca23cdc..d9c58152f1fa 100644 --- a/nixos/modules/security/polkit.nix +++ b/nixos/modules/security/polkit.nix @@ -83,8 +83,18 @@ in security.pam.services.polkit-1 = {}; security.wrappers = { - pkexec.source = "${pkgs.polkit.bin}/bin/pkexec"; - polkit-agent-helper-1.source = "${pkgs.polkit.out}/lib/polkit-1/polkit-agent-helper-1"; + pkexec = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.polkit.bin}/bin/pkexec"; + }; + polkit-agent-helper-1 = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.polkit.out}/lib/polkit-1/polkit-agent-helper-1"; + }; }; systemd.tmpfiles.rules = [ diff --git a/nixos/modules/security/wrappers/default.nix b/nixos/modules/security/wrappers/default.nix index 8c9d0b487bbc..2697ab0bde8f 100644 --- a/nixos/modules/security/wrappers/default.nix +++ b/nixos/modules/security/wrappers/default.nix @@ -33,12 +33,10 @@ let }; options.owner = lib.mkOption { type = lib.types.str; - default = "root"; description = "The owner of the wrapper program."; }; options.group = lib.mkOption { type = lib.types.str; - default = "root"; description = "The group of the wrapper program."; }; options.permissions = lib.mkOption @@ -74,7 +72,7 @@ let }; options.setuid = lib.mkOption { type = lib.types.bool; - default = true; + default = false; description = "Whether to add the setuid bit the wrapper program."; }; options.setgid = lib.mkOption @@ -156,13 +154,30 @@ in default = {}; example = lib.literalExample '' - { sendmail.source = "/nix/store/.../bin/sendmail"; - ping = { - source = "${pkgs.iputils.out}/bin/ping"; - owner = "nobody"; - group = "nogroup"; - capabilities = "cap_net_raw+ep"; - }; + { + # a setuid root program + doas = + { setuid = true; + owner = "root"; + group = "root"; + source = "''${pkgs.doas}/bin/doas"; + }; + + # a setgid program + locate = + { setgid = true; + owner = "root"; + group = "mlocate"; + source = "''${pkgs.locate}/bin/locate"; + }; + + # a program with the CAP_NET_RAW capability + ping = + { owner = "root"; + group = "root"; + capabilities = "cap_net_raw+ep"; + source = "''${pkgs.iputils.out}/bin/ping"; + }; } ''; description = '' @@ -198,13 +213,21 @@ in } ) wrappers; - security.wrappers = { - # These are mount related wrappers that require the +s permission. - fusermount.source = "${pkgs.fuse}/bin/fusermount"; - fusermount3.source = "${pkgs.fuse3}/bin/fusermount3"; - mount.source = "${lib.getBin pkgs.util-linux}/bin/mount"; - umount.source = "${lib.getBin pkgs.util-linux}/bin/umount"; - }; + security.wrappers = + let + mkSetuidRoot = source: + { setuid = true; + owner = "root"; + group = "root"; + inherit source; + }; + in + { # These are mount related wrappers that require the +s permission. + fusermount = mkSetuidRoot "${pkgs.fuse}/bin/fusermount"; + fusermount3 = mkSetuidRoot "${pkgs.fuse3}/bin/fusermount3"; + mount = mkSetuidRoot "${lib.getBin pkgs.util-linux}/bin/mount"; + umount = mkSetuidRoot "${lib.getBin pkgs.util-linux}/bin/umount"; + }; boot.specialFileSystems.${parentWrapperDir} = { fsType = "tmpfs"; diff --git a/nixos/modules/services/desktops/gnome/gnome-keyring.nix b/nixos/modules/services/desktops/gnome/gnome-keyring.nix index cda44bab8bfa..d821da164beb 100644 --- a/nixos/modules/services/desktops/gnome/gnome-keyring.nix +++ b/nixos/modules/services/desktops/gnome/gnome-keyring.nix @@ -52,8 +52,10 @@ with lib; security.pam.services.login.enableGnomeKeyring = true; security.wrappers.gnome-keyring-daemon = { - source = "${pkgs.gnome.gnome-keyring}/bin/gnome-keyring-daemon"; + owner = "root"; + group = "root"; capabilities = "cap_ipc_lock=ep"; + source = "${pkgs.gnome.gnome-keyring}/bin/gnome-keyring-daemon"; }; }; diff --git a/nixos/modules/services/mail/exim.nix b/nixos/modules/services/mail/exim.nix index 8927d84b478c..25b533578c94 100644 --- a/nixos/modules/services/mail/exim.nix +++ b/nixos/modules/services/mail/exim.nix @@ -104,7 +104,12 @@ in gid = config.ids.gids.exim; }; - security.wrappers.exim.source = "${cfg.package}/bin/exim"; + security.wrappers.exim = + { setuid = true; + owner = "root"; + group = "root"; + source = "${cfg.package}/bin/exim"; + }; systemd.services.exim = { description = "Exim Mail Daemon"; diff --git a/nixos/modules/services/misc/mame.nix b/nixos/modules/services/misc/mame.nix index 4b9a04be7c29..dd6c5ef9aa00 100644 --- a/nixos/modules/services/misc/mame.nix +++ b/nixos/modules/services/misc/mame.nix @@ -45,8 +45,10 @@ in environment.systemPackages = [ pkgs.mame ]; security.wrappers."${mame}" = { - source = "${pkgs.mame}/bin/${mame}"; + owner = "root"; + group = "root"; capabilities = "cap_net_admin,cap_net_raw+eip"; + source = "${pkgs.mame}/bin/${mame}"; }; systemd.services.mame = { diff --git a/nixos/modules/services/misc/weechat.nix b/nixos/modules/services/misc/weechat.nix index b71250f62e0f..9ac2b0ea490c 100644 --- a/nixos/modules/services/misc/weechat.nix +++ b/nixos/modules/services/misc/weechat.nix @@ -52,7 +52,12 @@ in wants = [ "network.target" ]; }; - security.wrappers.screen.source = "${pkgs.screen}/bin/screen"; + security.wrappers.screen = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.screen}/bin/screen"; + }; }; meta.doc = ./weechat.xml; diff --git a/nixos/modules/services/monitoring/incron.nix b/nixos/modules/services/monitoring/incron.nix index dc97af58562e..255e1d9e30ba 100644 --- a/nixos/modules/services/monitoring/incron.nix +++ b/nixos/modules/services/monitoring/incron.nix @@ -71,7 +71,12 @@ in environment.systemPackages = [ pkgs.incron ]; - security.wrappers.incrontab.source = "${pkgs.incron}/bin/incrontab"; + security.wrappers.incrontab = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.incron}/bin/incrontab"; + }; # incron won't read symlinks environment.etc."incron.d/system" = { diff --git a/nixos/modules/services/monitoring/zabbix-proxy.nix b/nixos/modules/services/monitoring/zabbix-proxy.nix index 2c8b8b92cb38..8c7a2970e9b3 100644 --- a/nixos/modules/services/monitoring/zabbix-proxy.nix +++ b/nixos/modules/services/monitoring/zabbix-proxy.nix @@ -262,7 +262,12 @@ in }; security.wrappers = { - fping.source = "${pkgs.fping}/bin/fping"; + fping = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.fping}/bin/fping"; + }; }; systemd.services.zabbix-proxy = { diff --git a/nixos/modules/services/networking/smokeping.nix b/nixos/modules/services/networking/smokeping.nix index 4470c18fd533..0a6477487369 100644 --- a/nixos/modules/services/networking/smokeping.nix +++ b/nixos/modules/services/networking/smokeping.nix @@ -278,8 +278,18 @@ in } ]; security.wrappers = { - fping.source = "${pkgs.fping}/bin/fping"; - fping6.source = "${pkgs.fping}/bin/fping6"; + fping = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.fping}/bin/fping"; + }; + fping6 = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.fping}/bin/fping6"; + }; }; environment.systemPackages = [ pkgs.fping ]; users.users.${cfg.user} = { diff --git a/nixos/modules/services/scheduling/cron.nix b/nixos/modules/services/scheduling/cron.nix index 3bc31832946b..c28956b3bfeb 100644 --- a/nixos/modules/services/scheduling/cron.nix +++ b/nixos/modules/services/scheduling/cron.nix @@ -93,7 +93,12 @@ in { services.cron.enable = mkDefault (allFiles != []); } (mkIf (config.services.cron.enable) { - security.wrappers.crontab.source = "${cronNixosPkg}/bin/crontab"; + security.wrappers.crontab = + { setuid = true; + owner = "root"; + group = "root"; + source = "${cronNixosPkg}/bin/crontab"; + }; environment.systemPackages = [ cronNixosPkg ]; environment.etc.crontab = { source = pkgs.runCommand "crontabs" { inherit allFiles; preferLocalBuild = true; } diff --git a/nixos/modules/services/scheduling/fcron.nix b/nixos/modules/services/scheduling/fcron.nix index 4f5d99ddf38f..acaa995f7395 100644 --- a/nixos/modules/services/scheduling/fcron.nix +++ b/nixos/modules/services/scheduling/fcron.nix @@ -142,6 +142,7 @@ in source = "${pkgs.fcron}/bin/fcronsighup"; owner = "root"; group = "fcron"; + setuid = true; }; }; systemd.services.fcron = { diff --git a/nixos/modules/services/video/replay-sorcery.nix b/nixos/modules/services/video/replay-sorcery.nix index d78e782c7968..7ce5be8a5a1c 100644 --- a/nixos/modules/services/video/replay-sorcery.nix +++ b/nixos/modules/services/video/replay-sorcery.nix @@ -44,8 +44,10 @@ in security.wrappers = mkIf cfg.enableSysAdminCapability { replay-sorcery = { - source = "${pkgs.replay-sorcery}/bin/replay-sorcery"; + owner = "root"; + group = "root"; capabilities = "cap_sys_admin+ep"; + source = "${pkgs.replay-sorcery}/bin/replay-sorcery"; }; }; diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix index 3a7ab64510b5..e3d876e82fdd 100644 --- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix +++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix @@ -65,9 +65,24 @@ in # Wrappers for programs installed by enlightenment that should be setuid security.wrappers = { - enlightenment_ckpasswd.source = "${pkgs.enlightenment.enlightenment}/lib/enlightenment/utils/enlightenment_ckpasswd"; - enlightenment_sys.source = "${pkgs.enlightenment.enlightenment}/lib/enlightenment/utils/enlightenment_sys"; - enlightenment_system.source = "${pkgs.enlightenment.enlightenment}/lib/enlightenment/utils/enlightenment_system"; + enlightenment_ckpasswd = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.enlightenment.enlightenment}/lib/enlightenment/utils/enlightenment_ckpasswd"; + }; + enlightenment_sys = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.enlightenment.enlightenment}/lib/enlightenment/utils/enlightenment_sys"; + }; + enlightenment_system = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.enlightenment.enlightenment}/lib/enlightenment/utils/enlightenment_system"; + }; }; environment.etc."X11/xkb".source = xcfg.xkbDir; diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix index aac905fea437..d8dc2675f068 100644 --- a/nixos/modules/services/x11/desktop-managers/plasma5.nix +++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix @@ -197,12 +197,24 @@ in }; security.wrappers = { - kcheckpass.source = "${lib.getBin libsForQt5.kscreenlocker}/libexec/kcheckpass"; - start_kdeinit.source = "${lib.getBin libsForQt5.kinit}/libexec/kf5/start_kdeinit"; - kwin_wayland = { - source = "${lib.getBin plasma5.kwin}/bin/kwin_wayland"; - capabilities = "cap_sys_nice+ep"; - }; + kcheckpass = + { setuid = true; + owner = "root"; + group = "root"; + source = "${lib.getBin libsForQt5.kscreenlocker}/libexec/kcheckpass"; + }; + start_kdeinit = + { setuid = true; + owner = "root"; + group = "root"; + source = "${lib.getBin libsForQt5.kinit}/libexec/kf5/start_kdeinit"; + }; + kwin_wayland = + { owner = "root"; + group = "root"; + capabilities = "cap_sys_nice+ep"; + source = "${lib.getBin plasma5.kwin}/bin/kwin_wayland"; + }; }; # DDC support diff --git a/nixos/modules/tasks/filesystems/ecryptfs.nix b/nixos/modules/tasks/filesystems/ecryptfs.nix index 12a407cabbfb..8138e6591610 100644 --- a/nixos/modules/tasks/filesystems/ecryptfs.nix +++ b/nixos/modules/tasks/filesystems/ecryptfs.nix @@ -7,8 +7,18 @@ with lib; config = mkIf (any (fs: fs == "ecryptfs") config.boot.supportedFilesystems) { system.fsPackages = [ pkgs.ecryptfs ]; security.wrappers = { - "mount.ecryptfs_private".source = "${pkgs.ecryptfs.out}/bin/mount.ecryptfs_private"; - "umount.ecryptfs_private".source = "${pkgs.ecryptfs.out}/bin/umount.ecryptfs_private"; + "mount.ecryptfs_private" = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.ecryptfs.out}/bin/mount.ecryptfs_private"; + }; + "umount.ecryptfs_private" = + { setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.ecryptfs.out}/bin/umount.ecryptfs_private"; + }; }; }; } diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 8f9c66b01572..d934e3cf0224 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -1133,11 +1133,16 @@ in # kernel because we need the ambient capability security.wrappers = if (versionAtLeast (getVersion config.boot.kernelPackages.kernel) "4.3") then { ping = { - source = "${pkgs.iputils.out}/bin/ping"; + owner = "root"; + group = "root"; capabilities = "cap_net_raw+p"; + source = "${pkgs.iputils.out}/bin/ping"; }; } else { - ping.source = "${pkgs.iputils.out}/bin/ping"; + setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.iputils.out}/bin/ping"; }; security.apparmor.policies."bin.ping".profile = lib.mkIf config.security.apparmor.policies."bin.ping".enable (lib.mkAfter '' /run/wrappers/bin/ping { diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix index f45f1802d91c..3c291397a998 100644 --- a/nixos/modules/virtualisation/libvirtd.nix +++ b/nixos/modules/virtualisation/libvirtd.nix @@ -183,6 +183,9 @@ in { }; security.wrappers.qemu-bridge-helper = { + setuid = true; + owner = "root"; + group = "root"; source = "/run/${dirName}/nix-helpers/qemu-bridge-helper"; }; diff --git a/nixos/modules/virtualisation/spice-usb-redirection.nix b/nixos/modules/virtualisation/spice-usb-redirection.nix index 4168cebe79b1..255327f2622c 100644 --- a/nixos/modules/virtualisation/spice-usb-redirection.nix +++ b/nixos/modules/virtualisation/spice-usb-redirection.nix @@ -14,9 +14,11 @@ config = lib.mkIf config.virtualisation.spiceUSBRedirection.enable { environment.systemPackages = [ pkgs.spice-gtk ]; # For polkit actions - security.wrappers.spice-client-glib-usb-acl-helper ={ - source = "${pkgs.spice-gtk}/bin/spice-client-glib-usb-acl-helper"; + security.wrappers.spice-client-glib-usb-acl-helper = { + owner = "root"; + group = "root"; capabilities = "cap_fowner+ep"; + source = "${pkgs.spice-gtk}/bin/spice-client-glib-usb-acl-helper"; }; }; From 65e83b0e23038abf3acdc9d5f6a550c05be10acd Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sun, 12 Sep 2021 19:04:55 +0200 Subject: [PATCH 012/173] nixos: fix nobody/nogroup in security.wrappers --- nixos/modules/security/pam.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index 0bc774af3a66..8b1f653d4e2c 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -869,10 +869,10 @@ in security.wrappers = { unix_chkpwd = { - source = "${pkgs.pam}/sbin/unix_chkpwd.orig"; - owner = "root"; - group = "nogroup"; setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.pam}/sbin/unix_chkpwd.orig"; }; }; From 27b0c53d237b6c0411dc5798376b0ba6fbad0df0 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sun, 12 Sep 2021 20:53:44 +0200 Subject: [PATCH 013/173] doc/release-notes: mention security.wrappers changes --- .../manual/from_md/release-notes/rl-2111.section.xml | 10 ++++++++++ nixos/doc/manual/release-notes/rl-2111.section.md | 2 ++ 2 files changed, 12 insertions(+) diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml index c723a6dd2add..d6bb5d06ede5 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml @@ -244,6 +244,16 @@
Backward Incompatibilities + + + The security.wrappers option now requires + to always specify an owner, group and whether the + setuid/setgid bit should be set. This is motivated by the fact + that before NixOS 21.11, specifying either setuid or setgid + but not owner/group resulted in wrappers owned by + nobody/nogroup, which is unsafe. + + The paperless module and package have been diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md index 440069988d0c..a96d8ada4d9e 100644 --- a/nixos/doc/manual/release-notes/rl-2111.section.md +++ b/nixos/doc/manual/release-notes/rl-2111.section.md @@ -75,6 +75,8 @@ subsonic-compatible api. Available as [navidrome](#opt-services.navidrome.enable ## Backward Incompatibilities {#sec-release-21.11-incompatibilities} +- The `security.wrappers` option now requires to always specify an owner, group and whether the setuid/setgid bit should be set. + This is motivated by the fact that before NixOS 21.11, specifying either setuid or setgid but not owner/group resulted in wrappers owned by nobody/nogroup, which is unsafe. - The `paperless` module and package have been removed. All users should migrate to the successor `paperless-ng` instead. The Paperless project [has been From 7bf7c9b92bb4693cca5bafd8a7806a6511e2ae79 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 15 Sep 2021 07:35:44 +0000 Subject: [PATCH 014/173] bowtie: 1.3.0 -> 1.3.1 --- pkgs/applications/science/biology/bowtie/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/biology/bowtie/default.nix b/pkgs/applications/science/biology/bowtie/default.nix index 0722ffe09fc9..81cdaecf2c1c 100644 --- a/pkgs/applications/science/biology/bowtie/default.nix +++ b/pkgs/applications/science/biology/bowtie/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "bowtie"; - version = "1.3.0"; + version = "1.3.1"; src = fetchFromGitHub { owner = "BenLangmead"; repo = pname; rev = "v${version}"; - sha256 = "0da2kzyfsn6xv8mlqsv2vv7k8g0c9d2vgqzq8yqk888yljdzcrjp"; + sha256 = "sha256-mWItmrTMPst/NnzSpxxTHcBztDqHPCza9yOsZPwp7G4="; }; buildInputs = [ zlib ]; From 437feb7970d9e6847d3f82ab524b94c0eea33176 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 15 Sep 2021 13:39:33 +0000 Subject: [PATCH 015/173] hcxtools: 6.2.0 -> 6.2.4 --- pkgs/tools/security/hcxtools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/hcxtools/default.nix b/pkgs/tools/security/hcxtools/default.nix index d0fa57820795..2a08ce6a1c8f 100644 --- a/pkgs/tools/security/hcxtools/default.nix +++ b/pkgs/tools/security/hcxtools/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "hcxtools"; - version = "6.2.0"; + version = "6.2.4"; src = fetchFromGitHub { owner = "ZerBea"; repo = pname; rev = version; - sha256 = "sha256-4/kqy0oIe2FdKWtVj11PAUbdWPcKmZ1aIxLx/Zw1E2w="; + sha256 = "sha256-C6nAZkkdtBSv4WDxoXPsHzcGglB8PEX3ioFaTydiHsU="; }; nativeBuildInputs = [ pkg-config ]; From fcaea23d6abc598884d7b595d2debbd1662067b2 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 15 Sep 2021 17:56:02 +0000 Subject: [PATCH 016/173] minikube: 1.22.0 -> 1.23.0 --- pkgs/applications/networking/cluster/minikube/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix index 2db814c635f0..e49d0450d900 100644 --- a/pkgs/applications/networking/cluster/minikube/default.nix +++ b/pkgs/applications/networking/cluster/minikube/default.nix @@ -11,9 +11,9 @@ buildGoModule rec { pname = "minikube"; - version = "1.22.0"; + version = "1.23.0"; - vendorSha256 = "sha256-zAXEwGJ3dnqN/+3k189zqppdiNHPyJ+mdZvDNEWQLsA="; + vendorSha256 = "sha256-KhUmyQn97rXX49EFqUrR7UEm0J5gIdogUJMVW1Wjrdw="; doCheck = false; @@ -21,7 +21,7 @@ buildGoModule rec { owner = "kubernetes"; repo = "minikube"; rev = "v${version}"; - sha256 = "sha256-wL/HsdV6MZcsR3Y8pGZ5WYUMJ7j+VyJGpLeLIXm5MJM="; + sha256 = "sha256-Cf77qaAsavkSpSoBJz3kcPzL2SL7X9O9lCTYcm1tFFQ="; }; nativeBuildInputs = [ installShellFiles pkg-config which ]; From f76566c43783da2d552187a453ec1b14d7bb70e1 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 15 Sep 2021 19:04:18 +0000 Subject: [PATCH 017/173] openlibm: 0.7.5 -> 0.8.0 --- pkgs/development/libraries/science/math/openlibm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/science/math/openlibm/default.nix b/pkgs/development/libraries/science/math/openlibm/default.nix index 34ebc36ebb92..0252b7baa162 100644 --- a/pkgs/development/libraries/science/math/openlibm/default.nix +++ b/pkgs/development/libraries/science/math/openlibm/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { pname = "openlibm"; - version = "0.7.5"; + version = "0.8.0"; src = fetchurl { url = "https://github.com/JuliaLang/openlibm/archive/v${version}.tar.gz"; - sha256 = "sha256-vpg7nh5A5pbou7frj2N208oK5nWubYKTZUA4Ww7uwVs="; + sha256 = "sha256-A2IHaN9MpSamPdZ1xt6VpcnRZ/9ZVVzlemHGv0nkAO4="; }; makeFlags = [ "prefix=$(out)" ]; From 175aefbd590861957719d49d0f04438f993d0025 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 15 Sep 2021 20:37:07 +0000 Subject: [PATCH 018/173] pscale: 0.68.0 -> 0.72.0 --- pkgs/development/tools/pscale/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/pscale/default.nix b/pkgs/development/tools/pscale/default.nix index 2e7a68a698c5..8b8cbffe2775 100644 --- a/pkgs/development/tools/pscale/default.nix +++ b/pkgs/development/tools/pscale/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "pscale"; - version = "0.68.0"; + version = "0.72.0"; src = fetchFromGitHub { owner = "planetscale"; repo = "cli"; rev = "v${version}"; - sha256 = "sha256-SAKbz33Fpi3sQcqwD2UK5wloJqNs2HohsiGMl1gkfA0="; + sha256 = "sha256-+T1C7qLXSmdpx9uHFK3o4hzaAImd5or/MkE3PB8ZiAs="; }; - vendorSha256 = "sha256-dEkCJe6qiyB/pNh78o2/TTRmWQDsUV2TsXiuchC1JLA="; + vendorSha256 = "sha256-7VtDAln/uGalio0pcpqh8XLC0+72dokF+4SmuhPF8AY="; meta = with lib; { homepage = "https://www.planetscale.com/"; From 3ad79f3532668728f9ff561e89d2561b0245b1bd Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 15 Sep 2021 22:35:05 +0000 Subject: [PATCH 019/173] sish: 1.1.6 -> 1.1.7 --- pkgs/tools/networking/sish/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/sish/default.nix b/pkgs/tools/networking/sish/default.nix index 769b0c57698c..45d1479e86fe 100644 --- a/pkgs/tools/networking/sish/default.nix +++ b/pkgs/tools/networking/sish/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "sish"; - version = "1.1.6"; + version = "1.1.7"; src = fetchFromGitHub { owner = "antoniomika"; repo = pname; rev = "v${version}"; - sha256 = "sha256-tljJp6Yoc19kkG7F3g1XhSDK2Y/D/2oRHiDkkOP3nn0="; + sha256 = "sha256-v/7DhakTVlcbnhujZOoVx5mpeyMwVI4CfYV12QqR7I4="; }; - vendorSha256 = "sha256-AHCa6ErxXzDPUFuq4ATD08e2Wz0tNibV2lLXoD7Sygk="; + vendorSha256 = "sha256-eMqHPxewQ9mvBpcBb+13HmaLDabCGt6C+qfbgaW8/YE="; meta = with lib; { description = "HTTP(S)/WS(S)/TCP Tunnels to localhost"; From 1a81511189df352338bd0177fded1e1db6140ce1 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 16 Sep 2021 08:53:51 +0000 Subject: [PATCH 020/173] gerbera: 1.9.0 -> 1.9.1 --- pkgs/servers/gerbera/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/gerbera/default.nix b/pkgs/servers/gerbera/default.nix index 04043600e961..50ceb77829d9 100644 --- a/pkgs/servers/gerbera/default.nix +++ b/pkgs/servers/gerbera/default.nix @@ -65,13 +65,13 @@ let in stdenv.mkDerivation rec { pname = "gerbera"; - version = "1.9.0"; + version = "1.9.1"; src = fetchFromGitHub { repo = "gerbera"; owner = "gerbera"; rev = "v${version}"; - sha256 = "sha256-2nSxc5Tvy5EXYH1FqR455r84Y07Jg0sOgIScuAdDn6Q="; + sha256 = "sha256-FtUKj3IhLMRs3VzawFgy6rnd+beW+Kvzq6tk8wPv7pw="; }; postPatch = lib.optionalString enableMysql '' From 5e36da0a28b75b692df0609563cbdbeee2c266ef Mon Sep 17 00:00:00 2001 From: figsoda Date: Thu, 16 Sep 2021 09:35:05 -0400 Subject: [PATCH 021/173] difftastic: 0.8 -> 0.9 --- pkgs/tools/text/difftastic/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/text/difftastic/default.nix b/pkgs/tools/text/difftastic/default.nix index bfe430957484..adacd39a99a6 100644 --- a/pkgs/tools/text/difftastic/default.nix +++ b/pkgs/tools/text/difftastic/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "difftastic"; - version = "0.8"; + version = "0.9"; src = fetchFromGitHub { owner = "wilfred"; repo = pname; rev = version; - sha256 = "0103py4v4v7xqv85yiczhd9w9h1aa54svhhdibvbl6x4b35y2mk5"; + sha256 = "sha256-spncRJjROytGnIig6ujqHu0e/XBTN4dsJ3og4aIu+l8="; }; - cargoSha256 = "1k0d7yadicfzfc2m1aqs4c4a2k3srb54fpwarc3kwn26v3vfjai1"; + cargoSha256 = "sha256-2xGwS4wjLQ7zmfZ2gMdlUAkjPDF6SmUaiX2j1KYy0vo="; meta = with lib; { description = "A syntax-aware diff"; From 6c5476df41ea69ee5a8572cd1004a36a9e1d0024 Mon Sep 17 00:00:00 2001 From: figsoda Date: Thu, 16 Sep 2021 10:25:36 -0400 Subject: [PATCH 022/173] difftastic: use existing tree-sitter grammars when possible --- pkgs/tools/text/difftastic/default.nix | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/text/difftastic/default.nix b/pkgs/tools/text/difftastic/default.nix index adacd39a99a6..06bd7d0376b2 100644 --- a/pkgs/tools/text/difftastic/default.nix +++ b/pkgs/tools/text/difftastic/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ lib, fetchFromGitHub, rustPlatform, tree-sitter }: rustPlatform.buildRustPackage rec { pname = "difftastic"; @@ -13,11 +13,22 @@ rustPlatform.buildRustPackage rec { cargoSha256 = "sha256-2xGwS4wjLQ7zmfZ2gMdlUAkjPDF6SmUaiX2j1KYy0vo="; + postPatch = '' + pushd vendor + for grammar in */; do + if [ -d "${tree-sitter.grammars}/$grammar" ]; then + rm -r "$grammar" + ln -s "${tree-sitter.grammars}/$grammar" + fi + done + popd + ''; + meta = with lib; { description = "A syntax-aware diff"; homepage = "https://github.com/Wilfred/difftastic"; changelog = "https://github.com/Wilfred/difftastic/raw/${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ ethancedwards8 ]; + maintainers = with maintainers; [ ethancedwards8 figsoda ]; }; } From eadc8341086e00e3d07aa83bce2e3f82ef6eeaf8 Mon Sep 17 00:00:00 2001 From: figsoda Date: Thu, 16 Sep 2021 17:26:27 -0400 Subject: [PATCH 023/173] stylua: 0.10.1 -> 0.11.0 --- pkgs/development/tools/stylua/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/stylua/default.nix b/pkgs/development/tools/stylua/default.nix index 6d299ce6ece5..1dcb32401283 100644 --- a/pkgs/development/tools/stylua/default.nix +++ b/pkgs/development/tools/stylua/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "stylua"; - version = "0.10.1"; + version = "0.11.0"; src = fetchFromGitHub { owner = "johnnymorganz"; repo = pname; rev = "v${version}"; - sha256 = "12vflwk1h5ahamxiiaznx3k1ldi8il0adwb2rl58swmvfzbcm7y9"; + sha256 = "sha256-mHmLwgAyLEWfhSVy7WmJN1Z5BdA+3hoHujbKn2Q9fxI="; }; - cargoSha256 = "1glkfxz9apmsqbyl8fy5gwywbr6k7cv0l47w2nfimg92qn9xzgks"; + cargoSha256 = "sha256-1aze1U6NrL8KPK5v5NYCdyTTqoczkg32xR5V0jApQWw="; cargoBuildFlags = lib.optionals lua52Support [ "--features" "lua52" ] ++ lib.optionals luauSupport [ "--features" "luau" ]; From 299d4d72969c9cfd37a94d7c4371aa77b9b02590 Mon Sep 17 00:00:00 2001 From: D Anzorge Date: Fri, 17 Sep 2021 01:06:25 +0200 Subject: [PATCH 024/173] streamlink: patch tests for compatibility with Requests 2.26 --- pkgs/applications/video/streamlink/default.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix index 1c1a0fb3d84c..4abc2b6546aa 100644 --- a/pkgs/applications/video/streamlink/default.nix +++ b/pkgs/applications/video/streamlink/default.nix @@ -2,6 +2,7 @@ , python3Packages , rtmpdump , ffmpeg +, fetchpatch }: python3Packages.buildPythonApplication rec { @@ -33,11 +34,14 @@ python3Packages.buildPythonApplication rec { ffmpeg ]; - # note that upstream currently uses requests 2.25.1 in Windows builds - postPatch = '' - substituteInPlace setup.py \ - --replace 'requests>=2.26.0,<3.0' 'requests' - ''; + patches = [ + # Patch failing tests to expect correct Accept-Encoding as generated by Requests + (fetchpatch { + url = "https://github.com/streamlink/streamlink/commit/ae747a113199c119bced4613d33edcc67a222bb9.patch"; + includes = [ "tests/test_stream_json.py" ]; + sha256 = "sha256-KEgyWdh5DNgNktmLSvKQowUQO9p9Q7zP4NbCQJPNgKw="; + }) + ]; meta = with lib; { homepage = "https://streamlink.github.io/"; From e4da1edf8b6290c406051454820be7017ec2d7dc Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Fri, 17 Sep 2021 01:39:38 +0200 Subject: [PATCH 025/173] nixos/extra-layouts: avoid all rebuilds Just setting the XKB_CONFIG_ROOT should be enough, so we don't need to rebuild the xserver, xkbcomp and other packages anymore. However, the variable has to be passed explicitely to scripts running at build time: in particular to xkbvalidate and xkb-console-keymap. --- nixos/modules/config/console.nix | 6 ++- nixos/modules/services/x11/extra-layouts.nix | 52 +++----------------- nixos/modules/services/x11/xserver.nix | 3 ++ 3 files changed, 14 insertions(+), 47 deletions(-) diff --git a/nixos/modules/config/console.nix b/nixos/modules/config/console.nix index c5150305bd85..98f942ee63f5 100644 --- a/nixos/modules/config/console.nix +++ b/nixos/modules/config/console.nix @@ -116,7 +116,11 @@ in { console.keyMap = with config.services.xserver; mkIf cfg.useXkbConfig (pkgs.runCommand "xkb-console-keymap" { preferLocalBuild = true; } '' - '${pkgs.ckbcomp}/bin/ckbcomp' -model '${xkbModel}' -layout '${layout}' \ + '${pkgs.ckbcomp}/bin/ckbcomp' \ + ${optionalString (config.environment.sessionVariables ? XKB_CONFIG_ROOT) + "-I${config.environment.sessionVariables.XKB_CONFIG_ROOT}" + } \ + -model '${xkbModel}' -layout '${layout}' \ -option '${xkbOptions}' -variant '${xkbVariant}' > "$out" ''); } diff --git a/nixos/modules/services/x11/extra-layouts.nix b/nixos/modules/services/x11/extra-layouts.nix index 0e2edc6a5309..b1c4e04975f9 100644 --- a/nixos/modules/services/x11/extra-layouts.nix +++ b/nixos/modules/services/x11/extra-layouts.nix @@ -79,6 +79,10 @@ let }; }; + xkb_patched = pkgs.xorg.xkeyboardconfig_custom { + layouts = config.services.xserver.extraLayouts; + }; + in { @@ -114,58 +118,14 @@ in config = mkIf (layouts != { }) { - # We don't override xkeyboard_config directly to - # reduce the amount of packages to be recompiled. - # Only the following packages are necessary to set - # a custom layout anyway: - nixpkgs.overlays = lib.singleton (self: super: { - - xkb_patched = self.xorg.xkeyboardconfig_custom { - layouts = config.services.xserver.extraLayouts; - }; - - xorg = super.xorg // { - xorgserver = super.xorg.xorgserver.overrideAttrs (old: { - configureFlags = old.configureFlags ++ [ - "--with-xkb-bin-directory=${self.xorg.xkbcomp}/bin" - "--with-xkb-path=${self.xkb_patched}/share/X11/xkb" - ]; - }); - - setxkbmap = super.xorg.setxkbmap.overrideAttrs (old: { - postInstall = - '' - mkdir -p $out/share - ln -sfn ${self.xkb_patched}/etc/X11 $out/share/X11 - ''; - }); - - xkbcomp = super.xorg.xkbcomp.overrideAttrs (old: { - configureFlags = [ "--with-xkb-config-root=${self.xkb_patched}/share/X11/xkb" ]; - }); - - }; - - ckbcomp = super.ckbcomp.override { - xkeyboard_config = self.xkb_patched; - }; - - xkbvalidate = super.xkbvalidate.override { - libxkbcommon = self.libxkbcommon.override { - xkeyboard_config = self.xkb_patched; - }; - }; - - }); - environment.sessionVariables = { # runtime override supported by multiple libraries e. g. libxkbcommon # https://xkbcommon.org/doc/current/group__include-path.html - XKB_CONFIG_ROOT = "${pkgs.xkb_patched}/etc/X11/xkb"; + XKB_CONFIG_ROOT = "${xkb_patched}/etc/X11/xkb"; }; services.xserver = { - xkbDir = "${pkgs.xkb_patched}/etc/X11/xkb"; + xkbDir = "${xkb_patched}/etc/X11/xkb"; exportConfiguration = config.services.xserver.displayManager.startx.enable || config.services.xserver.displayManager.sx.enable; }; diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index ad9bd88f98aa..ee190ac3cc44 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -738,6 +738,9 @@ in nativeBuildInputs = with pkgs.buildPackages; [ xkbvalidate ]; preferLocalBuild = true; } '' + ${optionalString (config.environment.sessionVariables ? XKB_CONFIG_ROOT) + "export XKB_CONFIG_ROOT=${config.environment.sessionVariables.XKB_CONFIG_ROOT}" + } xkbvalidate "$xkbModel" "$layout" "$xkbVariant" "$xkbOptions" touch "$out" ''); From 3026ff17ec700429967dda62401c788dba4e90da Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Fri, 17 Sep 2021 02:12:13 +0200 Subject: [PATCH 026/173] nixos/doc: new progress in xserver.extraLayouts --- .../doc/manual/from_md/release-notes/rl-2111.section.xml | 8 ++++++++ nixos/doc/manual/release-notes/rl-2111.section.md | 2 ++ 2 files changed, 10 insertions(+) diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml index a150e6af7178..b976000df88c 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml @@ -1002,6 +1002,14 @@ Superuser created successfully. attempts from the SSH logs. + + + The + services.xserver.extraLayouts + no longer cause additional rebuilds when a layout is added or + modified. + + Sway: The terminal emulator rxvt-unicode is diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md index 56ef6320ac01..54880169570d 100644 --- a/nixos/doc/manual/release-notes/rl-2111.section.md +++ b/nixos/doc/manual/release-notes/rl-2111.section.md @@ -306,6 +306,8 @@ To be able to access the web UI this port needs to be opened in the firewall. However, if [`services.fail2ban.enable`](options.html#opt-services.fail2ban.enable) is `true`, the `fail2ban` will override the verbosity to `"VERBOSE"`, so that `fail2ban` can observe the failed login attempts from the SSH logs. +- The [`services.xserver.extraLayouts`](options.html#opt-services.xserver.extraLayouts) no longer cause additional rebuilds when a layout is added or modified. + - Sway: The terminal emulator `rxvt-unicode` is no longer installed by default via `programs.sway.extraPackages`. The current default configuration uses `alacritty` (and soon `foot`) so this is only an issue when using a customized configuration and not installing `rxvt-unicode` explicitly. - `python3` now defaults to Python 3.9. Python 3.9 introduces many deprecation warnings, please look at the [What's New In Python 3.9 post](https://docs.python.org/3/whatsnew/3.9.html) for more information. From acd4d698b82b84c18c4619aed26b1596b4d54ad6 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 17 Sep 2021 02:37:25 +0000 Subject: [PATCH 027/173] cmark-gfm: 0.29.0.gfm.1 -> 0.29.0.gfm.2 --- pkgs/development/libraries/cmark-gfm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/cmark-gfm/default.nix b/pkgs/development/libraries/cmark-gfm/default.nix index 9768175a4999..b25688acfa15 100644 --- a/pkgs/development/libraries/cmark-gfm/default.nix +++ b/pkgs/development/libraries/cmark-gfm/default.nix @@ -1,13 +1,13 @@ { lib, stdenv, fetchFromGitHub, cmake }: stdenv.mkDerivation rec { pname = "cmark-gfm"; - version = "0.29.0.gfm.1"; + version = "0.29.0.gfm.2"; src = fetchFromGitHub { owner = "github"; repo = "cmark-gfm"; rev = version; - sha256 = "sha256-GxWA5CjdXPBh1BJzENIijPDCoth0BTNu5ayX0cXT5z0="; + sha256 = "sha256-8PjG87hR66ozKx+PSuKi0vHIoKICHSLdl2cKUYf+5m8="; }; nativeBuildInputs = [ cmake ]; From 9a0c76feb68da266e3ad784e33b6704bdcee5414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 16 Sep 2021 20:55:45 -0700 Subject: [PATCH 028/173] python3Packages.pyturbojpeg: 1.5.1 -> 1.5.4 --- pkgs/development/python-modules/pyturbojpeg/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyturbojpeg/default.nix b/pkgs/development/python-modules/pyturbojpeg/default.nix index 50f5c4559e4e..c9c97ad621f8 100644 --- a/pkgs/development/python-modules/pyturbojpeg/default.nix +++ b/pkgs/development/python-modules/pyturbojpeg/default.nix @@ -10,12 +10,12 @@ buildPythonPackage rec { pname = "pyturbojpeg"; - version = "1.5.1"; + version = "1.5.4"; src = fetchPypi { pname = "PyTurboJPEG"; inherit version; - sha256 = "sha256-56FnJpnQzFPlz0v506CrwIHf9uV3R1LibnuEL7RcFCg="; + sha256 = "sha256-KU24J6iU2y8iLyxjJiuh6Zqx+t1PVBrleOf/mWnfA4I="; }; patches = [ From 93212d1a2315536c34a7a3d601013f3efd1e6315 Mon Sep 17 00:00:00 2001 From: 0x4A6F <0x4A6F@users.noreply.github.com> Date: Fri, 17 Sep 2021 07:54:38 +0200 Subject: [PATCH 029/173] innernet: 1.4.1 -> 1.5.0 --- pkgs/tools/networking/innernet/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/innernet/default.nix b/pkgs/tools/networking/innernet/default.nix index a00164670e1a..cf63342fbb65 100644 --- a/pkgs/tools/networking/innernet/default.nix +++ b/pkgs/tools/networking/innernet/default.nix @@ -2,15 +2,15 @@ rustPlatform.buildRustPackage rec { pname = "innernet"; - version = "1.4.1"; + version = "1.5.0"; src = fetchFromGitHub { owner = "tonarino"; repo = pname; rev = "v${version}"; - sha256 = "sha256-ss3BtwRnRAUPfM6yjl14rQrYZ7PHAT3s/MEHnbV7IEU="; + sha256 = "sha256-9oL91jacfUADaPvdTTvvXhpwzr9OnNnVLwy1okORss4="; }; - cargoSha256 = "sha256-hhsRLm8wsmvnu3wRK9s4Fjdy0bKLboAKw6qS2XQ1nsI="; + cargoSha256 = "sha256-jHWt7Jqv4B7u6Mvo3q69Omcn8kdnXGJSyzod1lDzvKE="; nativeBuildInputs = with llvmPackages; [ llvm From e3d443684c87d242b631c0b2647d80a828fceb5a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 17 Sep 2021 09:53:55 +0200 Subject: [PATCH 030/173] python3Packages.hdate: 0.10.3 -> 0.10.4 --- pkgs/development/python-modules/hdate/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/hdate/default.nix b/pkgs/development/python-modules/hdate/default.nix index 5c8a2c1e9fc5..42736d0a04c2 100644 --- a/pkgs/development/python-modules/hdate/default.nix +++ b/pkgs/development/python-modules/hdate/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "hdate"; - version = "0.10.3"; + version = "0.10.4"; disabled = pythonOlder "3.6"; format = "pyproject"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "py-libhdate"; repo = "py-libhdate"; rev = "v${version}"; - sha256 = "sha256-6rOsG6qgq4woBhj25SNWvKshvFLBL/6MJiBZb+NPvdk="; + sha256 = "sha256-NF2ZA9ruW7sL2tLY11VAtyPRxGg2o5/mpv3ZsH/Zxb8="; }; nativeBuildInputs = [ From 10291c6eed4a7cc20f2d65e8b85b36530e81692f Mon Sep 17 00:00:00 2001 From: Alexander Nortung Date: Fri, 17 Sep 2021 13:24:26 +0200 Subject: [PATCH 031/173] vimPlugins: update --- pkgs/misc/vim-plugins/generated.nix | 450 ++++++++++++++-------------- 1 file changed, 225 insertions(+), 225 deletions(-) diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix index b81398046391..d8c6ba248bae 100644 --- a/pkgs/misc/vim-plugins/generated.nix +++ b/pkgs/misc/vim-plugins/generated.nix @@ -77,12 +77,12 @@ final: prev: ale = buildVimPluginFrom2Nix { pname = "ale"; - version = "2021-09-11"; + version = "2021-09-17"; src = fetchFromGitHub { owner = "dense-analysis"; repo = "ale"; - rev = "19437e25d05950ab83dce285b4b8ec5166e06dba"; - sha256 = "1pc99l00ir145b0i7g1m857v1318ji1p8bzhs0cmql0hdp4cvyd3"; + rev = "2f72a3ed1972d23a5ef50c78715ec68f090932e8"; + sha256 = "1vjg0y02cnnknjgj0zp9f4s84y7dbcy80aw1jp6qizb6cfbkv39v"; }; meta.homepage = "https://github.com/dense-analysis/ale/"; }; @@ -197,12 +197,12 @@ final: prev: aurora = buildVimPluginFrom2Nix { pname = "aurora"; - version = "2021-07-17"; + version = "2021-09-17"; src = fetchFromGitHub { owner = "ray-x"; repo = "aurora"; - rev = "af110b7f6080bdc4685cdd5551ba1f79a81910f1"; - sha256 = "1h2czb183lliib95jn4dxq8cn713s22dc4hd1cj19bzqy4j39qhi"; + rev = "b88f898bce9abd381f80d12388cf4ae34057b484"; + sha256 = "0lfn87i8vd7pczv75f0lrfa1x3cg420xqydhyiq3b6vii4x30d3g"; }; meta.homepage = "https://github.com/ray-x/aurora/"; }; @@ -389,12 +389,12 @@ final: prev: bufferline-nvim = buildVimPluginFrom2Nix { pname = "bufferline.nvim"; - version = "2021-09-12"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "akinsho"; repo = "bufferline.nvim"; - rev = "15923279b719ce77911caf34e5f4c83a0b5397c9"; - sha256 = "0rmmr0c2jxsl4b4dzs0jdp3dinldczw3s6mnf80k4jvswy28rd9h"; + rev = "be5866b77c713d92cf3d383a387bec1d55e3f798"; + sha256 = "1v4fw3idhbhnnnn08zw92g7pyb2x5ss8zbi7hfbxvn5jkpzyqz6p"; }; meta.homepage = "https://github.com/akinsho/bufferline.nvim/"; }; @@ -413,12 +413,12 @@ final: prev: calendar-vim = buildVimPluginFrom2Nix { pname = "calendar.vim"; - version = "2021-01-30"; + version = "2021-09-14"; src = fetchFromGitHub { owner = "itchyny"; repo = "calendar.vim"; - rev = "4e454c2ca9a489f2631df24845615744bd594b61"; - sha256 = "12vmysyvavvf1173i0m7jfzh2jsfqx5p7mdm3iafg4iv0209rz66"; + rev = "4eeddc2500d5907c71d3e0fe74dd7c93477b4772"; + sha256 = "1gyia0z39288lgcjjq9l6myd578m4xgzh15pz0yznzcs7d90b1xr"; }; meta.homepage = "https://github.com/itchyny/calendar.vim/"; }; @@ -437,24 +437,24 @@ final: prev: caw-vim = buildVimPluginFrom2Nix { pname = "caw.vim"; - version = "2021-08-21"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "tyru"; repo = "caw.vim"; - rev = "2c0cd18aa113cc255daf4366f1d01a7a25ce0110"; - sha256 = "1sa7mhqvfgyr3fsdyl9bjb7scw8ii4y9ig4n3qq77lm4k7snzp2v"; + rev = "8978f977a2a80396ab3a536a0df0a3727fca9882"; + sha256 = "0rskyi56rhq6l3iv1695xl049ji2l3y5y7fm272hyb18ggq1rzja"; }; meta.homepage = "https://github.com/tyru/caw.vim/"; }; chadtree = buildVimPluginFrom2Nix { pname = "chadtree"; - version = "2021-09-13"; + version = "2021-09-17"; src = fetchFromGitHub { owner = "ms-jpq"; repo = "chadtree"; - rev = "356863bbe896fbea6450b652c60a27b0a1cb3dbd"; - sha256 = "0s4vhw8qkg89a9afy9mqa42sl95dmapaqqhzz6gxvamqbk6kgj6y"; + rev = "df56f5c804e133fe7438782dcc9e915dd53fe417"; + sha256 = "19hs0mbcyjaln8y5bx4rg3n1cpsnwb5rnccaacrj8822c9lk6yz8"; }; meta.homepage = "https://github.com/ms-jpq/chadtree/"; }; @@ -581,12 +581,12 @@ final: prev: cmp-conjure = buildVimPluginFrom2Nix { pname = "cmp-conjure"; - version = "2021-08-29"; + version = "2021-09-10"; src = fetchFromGitHub { owner = "PaterJason"; repo = "cmp-conjure"; - rev = "4c2a2233de7d2c8ccbf8652b4c741921498ceaec"; - sha256 = "1ivrag7gch7mc72rim939z5gh7v532j29hgiy0pxgw3m6lvxdhwq"; + rev = "27cfdac78ec099a8d1e82b7a810f451ff0f80a30"; + sha256 = "1hbkafpqpzf4bzy8cyzg1zxnnpmhfkpz2vj8v8by5ym4qx8b747p"; }; meta.homepage = "https://github.com/PaterJason/cmp-conjure/"; }; @@ -617,12 +617,12 @@ final: prev: cmp-nvim-lsp = buildVimPluginFrom2Nix { pname = "cmp-nvim-lsp"; - version = "2021-09-03"; + version = "2021-09-17"; src = fetchFromGitHub { owner = "hrsh7th"; repo = "cmp-nvim-lsp"; - rev = "f6f471898bc4b45eacd36eef9887847b73130e0e"; - sha256 = "1asr32w5q618pqggq9jwrbqs4kjp3ssbw5pca5wc7j2496vm2lhg"; + rev = "246a41c55668d5f84afcd805ee73b6e419375ae0"; + sha256 = "0ybnrs31i61l6z02fjz65ankxccd5587pnky4lsczcz12kpj6s4n"; }; meta.homepage = "https://github.com/hrsh7th/cmp-nvim-lsp/"; }; @@ -689,12 +689,12 @@ final: prev: cmp_luasnip = buildVimPluginFrom2Nix { pname = "cmp_luasnip"; - version = "2021-09-11"; + version = "2021-09-13"; src = fetchFromGitHub { owner = "saadparwaiz1"; repo = "cmp_luasnip"; - rev = "7284dd6ee87b05203932db6f9d28516efa5dc981"; - sha256 = "0wffibd4vfmgrhwzymfqkqn8klvv0mhgbjkzjgxl15hpxhz62i5d"; + rev = "e22fe57aec4f9e7029b8e547657fbee1b16cbaf7"; + sha256 = "0fkzxhs8gj5vbcbs2s8n66fjzmrxvzh1bn3kxijszmcm706d3nyq"; }; meta.homepage = "https://github.com/saadparwaiz1/cmp_luasnip/"; }; @@ -882,12 +882,12 @@ final: prev: compe-tabnine = buildVimPluginFrom2Nix { pname = "compe-tabnine"; - version = "2021-09-04"; + version = "2021-09-14"; src = fetchFromGitHub { owner = "tzachar"; repo = "compe-tabnine"; - rev = "b00e1f9d597673bfcba39b6bfc620cea9e6c815a"; - sha256 = "0ryj8b60vvxb1q58xyv4hgrc1d7rjsbr21wn677xr13836knb5bw"; + rev = "33e4af509c27da9ef2c9c3002c01e3ec031797d4"; + sha256 = "1lzyia2s66kcxpr6d3db4rcgxlcddfg6gpz8rbg333hdasly383w"; }; meta.homepage = "https://github.com/tzachar/compe-tabnine/"; }; @@ -1062,12 +1062,12 @@ final: prev: crates-nvim = buildVimPluginFrom2Nix { pname = "crates.nvim"; - version = "2021-09-06"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "saecki"; repo = "crates.nvim"; - rev = "736033d59b2940e35565ae37c3fd5cb024c2a134"; - sha256 = "09v5frr2mlqgvdw1kswv0r683xvg0j3k4wm3h00m0r929prqd6ll"; + rev = "d15c2f28d10ed5f299933e812598a1206e4fc4ef"; + sha256 = "1y3qisxd85yfqrn9jdb4g1pf97p62lyp6253g9p127zcdkb3w4g0"; }; meta.homepage = "https://github.com/saecki/crates.nvim/"; }; @@ -1194,12 +1194,12 @@ final: prev: defx-nvim = buildVimPluginFrom2Nix { pname = "defx.nvim"; - version = "2021-09-09"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "Shougo"; repo = "defx.nvim"; - rev = "7db19db1b1b6a82b763331b1719151a927d494e6"; - sha256 = "1v435j2qm395kvrq1vcrg4i76av2nzp5vywlhq4mk54q9gmb5xlp"; + rev = "c8fda6d67c0b345163db03d6f2b6d24c96f85b44"; + sha256 = "1dg0rsxk0s77qdlgzfqz5dkrv4hgw9xhv325ivdxd1vnainihxnz"; }; meta.homepage = "https://github.com/Shougo/defx.nvim/"; }; @@ -1254,12 +1254,12 @@ final: prev: deol-nvim = buildVimPluginFrom2Nix { pname = "deol.nvim"; - version = "2021-09-09"; + version = "2021-09-13"; src = fetchFromGitHub { owner = "Shougo"; repo = "deol.nvim"; - rev = "9859e06d7a478eb3c2d26ca0270501581bd95a0b"; - sha256 = "1r6hr0lfbhdl86a5k2vy3vaiqnnl9pgvgpak0lvswrjzjkz4nn7h"; + rev = "03b772ed3e91b8bdbf5260d76f84c5e90a42a8f0"; + sha256 = "0nbwb2kcmd88zqk1v1zndbrjfpsj5jy99bzm81sx5k9yslhl854n"; }; meta.homepage = "https://github.com/Shougo/deol.nvim/"; }; @@ -1592,12 +1592,12 @@ final: prev: echodoc-vim = buildVimPluginFrom2Nix { pname = "echodoc.vim"; - version = "2021-08-12"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "Shougo"; repo = "echodoc.vim"; - rev = "3e907e05d0495f999149f50a1e6cd72972ee7cbe"; - sha256 = "0bdiz108l4aa5ma49lbmmp8ks8n17i6wzjsawd94rgsyl3j4j3ri"; + rev = "b77548dcebf3a3324fec44ba361f3cd8dbe89f18"; + sha256 = "0fqd3fqfg7zri0y4mm0d4rpp87wjf8kpy0gphkha5r4lpd2mjgv4"; }; meta.homepage = "https://github.com/Shougo/echodoc.vim/"; }; @@ -1629,12 +1629,12 @@ final: prev: editorconfig-nvim = buildVimPluginFrom2Nix { pname = "editorconfig.nvim"; - version = "2021-09-02"; + version = "2021-09-15"; src = fetchFromGitHub { owner = "gpanders"; repo = "editorconfig.nvim"; - rev = "d9df2225615071bec85e5956a146ae0fabc960f6"; - sha256 = "02jjzmgjcaqvgnfnc81xnqfsgfnyyv9mv1xjz6s4vm823gmhi2li"; + rev = "4ebcc2fa7c2663d29df6ccffa5be95b8f266a138"; + sha256 = "13lwv7f0c6sgmpgxx07dpqc59czv69qz30jkgz2dsvjdnd6rvzif"; }; meta.homepage = "https://github.com/gpanders/editorconfig.nvim/"; }; @@ -1762,12 +1762,12 @@ final: prev: feline-nvim = buildVimPluginFrom2Nix { pname = "feline.nvim"; - version = "2021-09-12"; + version = "2021-09-17"; src = fetchFromGitHub { owner = "famiu"; repo = "feline.nvim"; - rev = "0506b42b11e9ef6c5c9a3710cb29f8829b33aaa8"; - sha256 = "17c8fm8yjzic6ys5p6cy3dkpxjlqp1ziqx537wdqylfa9q177gbg"; + rev = "5d152e2cc28c172b42f4caba8baf0973f6a6ece6"; + sha256 = "0mzvh62zphb35kjzx9d09k7sak6fqsk1lcmycgjxk4kydjiw68za"; }; meta.homepage = "https://github.com/famiu/feline.nvim/"; }; @@ -1883,12 +1883,12 @@ final: prev: formatter-nvim = buildVimPluginFrom2Nix { pname = "formatter.nvim"; - version = "2021-08-27"; + version = "2021-09-15"; src = fetchFromGitHub { owner = "mhartington"; repo = "formatter.nvim"; - rev = "c80405aca78fda2f8da586d7d087c13fdd500d85"; - sha256 = "07s7yw0l9xbf55x67yqcxi5r1y9nj5pjx69rl38jffw1l6lnnbgj"; + rev = "42aa771f34843f1583be98bfabc8f4a71f20a001"; + sha256 = "0zrrsisil9z1w6xcf9r5f52w0mnhv9qcl3zsl5c2hkw8ar7im27j"; }; meta.homepage = "https://github.com/mhartington/formatter.nvim/"; }; @@ -1907,12 +1907,12 @@ final: prev: friendly-snippets = buildVimPluginFrom2Nix { pname = "friendly-snippets"; - version = "2021-09-11"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "rafamadriz"; repo = "friendly-snippets"; - rev = "9b1804bf6b6db18b1e056a92e0e03ddecff8e721"; - sha256 = "08gvxbq8i6hw4s2h6d68bdb27gm97sxj00zcamhpj6gi2h4wbzwl"; + rev = "31cdf6ab00898ae80e2bfe870378a499697da725"; + sha256 = "0iafqh05h3v5bnvigrb6bnv0sn6lps64blqfnksr35i60yljw878"; }; meta.homepage = "https://github.com/rafamadriz/friendly-snippets/"; }; @@ -1931,12 +1931,12 @@ final: prev: fugitive-gitlab-vim = buildVimPluginFrom2Nix { pname = "fugitive-gitlab.vim"; - version = "2021-09-07"; + version = "2021-09-14"; src = fetchFromGitHub { owner = "shumphrey"; repo = "fugitive-gitlab.vim"; - rev = "befd5438ad55a80c6abb415f6c5a9a44275550bc"; - sha256 = "1m57c11b7q1sv6va0xzikha19bck6rgr539sjhnhppdy7nlk55lw"; + rev = "36155d4b9f7a7abc2e6e94936952c661314f141f"; + sha256 = "1y0fpzgrqvnk2bgks1icbidc60z07syiaf8912rncmx4pdc2gzv1"; }; meta.homepage = "https://github.com/shumphrey/fugitive-gitlab.vim/"; }; @@ -1967,24 +1967,24 @@ final: prev: fzf-lsp-nvim = buildVimPluginFrom2Nix { pname = "fzf-lsp.nvim"; - version = "2021-09-11"; + version = "2021-09-14"; src = fetchFromGitHub { owner = "gfanto"; repo = "fzf-lsp.nvim"; - rev = "a08c0417fb910e06ad08d13bc8f9c12848722618"; - sha256 = "1m5khwj4mbhrhzs5yxipnzja1av9vvnpb460axswcdji9w0niv9y"; + rev = "8757eccc3948aa6107448d7fee2de226f0b7040b"; + sha256 = "0fjjwqkb5xl2prk8im8ndci73zlaaazr5x92aa69qvsjkbzvq7fw"; }; meta.homepage = "https://github.com/gfanto/fzf-lsp.nvim/"; }; fzf-vim = buildVimPluginFrom2Nix { pname = "fzf.vim"; - version = "2021-09-02"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "junegunn"; repo = "fzf.vim"; - rev = "980cd074395110964b66bfbc5c1f1ee237be3c86"; - sha256 = "0wpih3xcyr6nnmpqfikp47ay2pmxp1lr0fp7fxwql8sfjc29i76r"; + rev = "bd703a7a7d7afd113634a346290acc27dd314bfc"; + sha256 = "1q4kdcnwyivwddgn3svvi0zp9n1hbx0bfnfrzdfn327kgljsdfnr"; }; meta.homepage = "https://github.com/junegunn/fzf.vim/"; }; @@ -2123,12 +2123,12 @@ final: prev: gitsigns-nvim = buildVimPluginFrom2Nix { pname = "gitsigns.nvim"; - version = "2021-09-11"; + version = "2021-09-14"; src = fetchFromGitHub { owner = "lewis6991"; repo = "gitsigns.nvim"; - rev = "cef4e6f26cd52f6a9725f0af4798b35cf6807404"; - sha256 = "01asl51liflhpdgmcmqw1djq24wpyhb051y87fxq6nnlyg92smpc"; + rev = "42acbae18327c53b8a82011074bcb529c3c75c8a"; + sha256 = "1m5wczqigx3a73a97p0qgqj5121mjawslj596jd18v5scbr39gv0"; }; meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/"; }; @@ -2195,12 +2195,12 @@ final: prev: goto-preview = buildVimPluginFrom2Nix { pname = "goto-preview"; - version = "2021-09-06"; + version = "2021-09-17"; src = fetchFromGitHub { owner = "rmagatti"; repo = "goto-preview"; - rev = "8093ded366e2e71e87f5e40da29994187c06fce1"; - sha256 = "0mm7vrmibcdsxn9b89q7skc0xcm9z5fi1bv0gg3cc8kb1gislnwf"; + rev = "88ebcb56214ace7f52f2a846b40ff1f3e098af35"; + sha256 = "17xpdh5q62d97v5akq52b7qpfqmnvai5ggn46c0ysgl0r5cdycrv"; }; meta.homepage = "https://github.com/rmagatti/goto-preview/"; }; @@ -2447,12 +2447,12 @@ final: prev: increment-activator = buildVimPluginFrom2Nix { pname = "increment-activator"; - version = "2020-03-09"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "nishigori"; repo = "increment-activator"; - rev = "bff5516da9103fb093ffc0dc993b8d535eacbceb"; - sha256 = "1swlv1mrck9s3n7fdg10c2nmlasf2fx8yfk01x3vii7l4aaa9w2y"; + rev = "55efcff88be45bd98cfdf7333dd718399373d10c"; + sha256 = "0q8990q9yxc85h69hssk4lry01qiqyi0hlnnx8l1kk218yar4q6h"; }; meta.homepage = "https://github.com/nishigori/increment-activator/"; }; @@ -2483,12 +2483,12 @@ final: prev: indent-blankline-nvim = buildVimPluginFrom2Nix { pname = "indent-blankline.nvim"; - version = "2021-09-12"; + version = "2021-09-15"; src = fetchFromGitHub { owner = "lukas-reineke"; repo = "indent-blankline.nvim"; - rev = "0a3792cfc978ce30632bb0b10968849f1b9604eb"; - sha256 = "0ggxdcsdwb686rqwqga34cic94i45zp9aykqrqy13iv49gvspyxv"; + rev = "aed095e367bead0784a72e946ddfa2337b59ace8"; + sha256 = "0w90k6zd26a5zsfni10m509gcv7w5gfrcwx9xazhkz4bqwzc8jjr"; }; meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/"; }; @@ -2868,12 +2868,12 @@ final: prev: lightline-bufferline = buildVimPluginFrom2Nix { pname = "lightline-bufferline"; - version = "2021-08-19"; + version = "2021-09-17"; src = fetchFromGitHub { owner = "mengelbrecht"; repo = "lightline-bufferline"; - rev = "0b1ec6fbb1fceebd88694e99fbc905d916c8b30a"; - sha256 = "19mwdnnvps3dr5125al5yqlbziirl100xz11jkp2rbk250pc5h8d"; + rev = "4d1ddf0508069395ed54e7eb38a47f04fb03a387"; + sha256 = "06x3zdfss58ky5z8kgca1gq2zvdqv1nfw3mgnlsj0qq52mj0jwgj"; }; meta.homepage = "https://github.com/mengelbrecht/lightline-bufferline/"; }; @@ -2904,12 +2904,12 @@ final: prev: lightspeed-nvim = buildVimPluginFrom2Nix { pname = "lightspeed.nvim"; - version = "2021-09-11"; + version = "2021-09-17"; src = fetchFromGitHub { owner = "ggandor"; repo = "lightspeed.nvim"; - rev = "01909f4e4e46777ca808ce91dc1088f8aba40b45"; - sha256 = "00szivifmkngq14s3n58hdc3mws0hs2h4ypcykyxc9sypc44ygzs"; + rev = "97d07eb3ac110ee9665eb1a634740ee0397ac59d"; + sha256 = "1mrd4qj3m0qp0n82sbc6mx9zacwgfxq79g25h4yhqrf5q556zqj2"; }; meta.homepage = "https://github.com/ggandor/lightspeed.nvim/"; }; @@ -2976,12 +2976,12 @@ final: prev: lsp-status-nvim = buildVimPluginFrom2Nix { pname = "lsp-status.nvim"; - version = "2021-09-11"; + version = "2021-09-15"; src = fetchFromGitHub { owner = "nvim-lua"; repo = "lsp-status.nvim"; - rev = "d12d7c62efdfd9151aa1b11bebe8cd8655a61368"; - sha256 = "0vsfih3dn0rmnwbmrd2p0y5fw1h5ii62a9fzjvpjkgw7i9s8d4lp"; + rev = "e8e5303f9ee3d8dc327c97891eaa1257ba5d4eee"; + sha256 = "106l23n01czd8ndzfixggj8ifv80w0n19mjakac575sjrxhwbl52"; }; meta.homepage = "https://github.com/nvim-lua/lsp-status.nvim/"; }; @@ -3000,12 +3000,12 @@ final: prev: lsp_signature-nvim = buildVimPluginFrom2Nix { pname = "lsp_signature.nvim"; - version = "2021-09-12"; + version = "2021-09-17"; src = fetchFromGitHub { owner = "ray-x"; repo = "lsp_signature.nvim"; - rev = "5668ffc9b8cbe472cf0c85938e51c4a22a183da1"; - sha256 = "1dqy6m4lwb77zizncr0kyyra3a2ylmgiwr2hrxl3s8f4asggiy6z"; + rev = "5ee2b1fff09463e22679f5f3f8040d1200d6f848"; + sha256 = "18pa21ia9mvla19glf0k20l73mm8kam81xqq73ns16ww9mmql51z"; }; meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/"; }; @@ -3060,12 +3060,12 @@ final: prev: luasnip = buildVimPluginFrom2Nix { pname = "luasnip"; - version = "2021-09-12"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "l3mon4d3"; repo = "luasnip"; - rev = "80085bcf4a0f5b6a1008cac29eda9c9242b11520"; - sha256 = "0jlc2vnyqplzjns3av1h74kfl1jh36aqbffggd59xz2bp10jmwh3"; + rev = "2b59da125dfae74953a1ce30261832d50d04b9b4"; + sha256 = "0wg0lbvjgyw3mvppskf0lpmvsksdrfakn4r8lnkbfhasfs242k5b"; }; meta.homepage = "https://github.com/l3mon4d3/luasnip/"; }; @@ -3480,24 +3480,24 @@ final: prev: neoformat = buildVimPluginFrom2Nix { pname = "neoformat"; - version = "2021-09-12"; + version = "2021-09-14"; src = fetchFromGitHub { owner = "sbdchd"; repo = "neoformat"; - rev = "88570b2f9c42fbf7ecbaeac3c52d941c461e65b0"; - sha256 = "13blkgc1sfkpkrr15vgx8s2nz7np358qv9sr10znv8wjdn9wp2dd"; + rev = "f072ef425be8a51d2130edeb7d773a1f8dc20313"; + sha256 = "0av57z1smv6nj64d5hdqgvzcrd3h0bypi1hcl22k5zpwmaqf40m2"; }; meta.homepage = "https://github.com/sbdchd/neoformat/"; }; neogit = buildVimPluginFrom2Nix { pname = "neogit"; - version = "2021-09-12"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "TimUntersberger"; repo = "neogit"; - rev = "8d0adf5420314e98577c9a1974cf0f0f34ec16eb"; - sha256 = "0fl7zk81z54166428ff42dbhzz347scqaajr5qzgin20sydj66qk"; + rev = "28e652d110e7bda263bd4b0cb3c1484dce89cd93"; + sha256 = "0106iy1zkd13i26dviv6w8jgm9hapimpj97passh2khac3ajln5c"; }; meta.homepage = "https://github.com/TimUntersberger/neogit/"; }; @@ -3516,12 +3516,12 @@ final: prev: neomake = buildVimPluginFrom2Nix { pname = "neomake"; - version = "2021-09-07"; + version = "2021-09-13"; src = fetchFromGitHub { owner = "neomake"; repo = "neomake"; - rev = "053d6bd3605a64f05de11a179cbab423fe759ebe"; - sha256 = "0qk3bhpjqi06jj1haydalvvsj7f7jbxbb168jc6i949694v406zj"; + rev = "396f27d1558df657098e81bd6a03f1add6d62cca"; + sha256 = "1cqqp24703q4cf9r5aqfj35qz3fsvril6llvwcshnraawxfxl9ah"; }; meta.homepage = "https://github.com/neomake/neomake/"; }; @@ -3588,12 +3588,12 @@ final: prev: neosnippet-vim = buildVimPluginFrom2Nix { pname = "neosnippet.vim"; - version = "2021-08-22"; + version = "2021-09-15"; src = fetchFromGitHub { owner = "Shougo"; repo = "neosnippet.vim"; - rev = "3f6f5f8ad34d63ecb1060dbd6d7e2513238da528"; - sha256 = "14f0ksrn4grkpjfn766hxg1p19dryngxai33b2322dy0qaw244d2"; + rev = "5d07842911b485240719b781dfd7817b85c8eb96"; + sha256 = "0igrsgvaa36p42gp375w17dp9iz652lr91mmbznbbbb71d7y7l1y"; }; meta.homepage = "https://github.com/Shougo/neosnippet.vim/"; }; @@ -3624,12 +3624,12 @@ final: prev: neovim-ayu = buildVimPluginFrom2Nix { pname = "neovim-ayu"; - version = "2021-09-10"; + version = "2021-09-13"; src = fetchFromGitHub { owner = "Shatur"; repo = "neovim-ayu"; - rev = "441d9db65ef7fb3ced17d0d88b2114b925302ec2"; - sha256 = "1wmvclkrkdmx5ng6hs4yyvlvhwbbv767shsn2yqg6p5hx67sa4d2"; + rev = "9841e30f2cff5b1929620565c9289eb561bae75a"; + sha256 = "0h25wgv5fvkycfsvw6jb82jl3fb94fvay1ii91yqiailpwa2ig76"; }; meta.homepage = "https://github.com/Shatur/neovim-ayu/"; }; @@ -3684,12 +3684,12 @@ final: prev: nerdtree = buildVimPluginFrom2Nix { pname = "nerdtree"; - version = "2021-09-11"; + version = "2021-09-15"; src = fetchFromGitHub { owner = "preservim"; repo = "nerdtree"; - rev = "aa7e97b7ff2ace7ed434b09bd33f3ad449d294e9"; - sha256 = "0ylfls91m65hhargnv1gqlqak61qv63zldh6ri91h7nidrxi7m1m"; + rev = "7eee457efae1bf9b96d7a266ac097639720a68fe"; + sha256 = "0lm58labs6jr1yyax839ks67ij30ijlknf0lnwijv2alf5rzqsc2"; }; meta.homepage = "https://github.com/preservim/nerdtree/"; }; @@ -3756,12 +3756,12 @@ final: prev: nnn-vim = buildVimPluginFrom2Nix { pname = "nnn.vim"; - version = "2021-09-11"; + version = "2021-09-14"; src = fetchFromGitHub { owner = "mcchrish"; repo = "nnn.vim"; - rev = "07c3ccda0f4b579aa26f882bf771c6096e783e30"; - sha256 = "19f4m4djfs5szwc5v9zwc0ki8w59glxcv5mxps88gyns1c07qbvn"; + rev = "8833bbfa7b341896cbb9f3ed9a3b4687461e6aad"; + sha256 = "0ilkspfnlqflp0854gmha4v6zlnmslb83laab25a972svpqrg8pf"; }; meta.homepage = "https://github.com/mcchrish/nnn.vim/"; }; @@ -3864,12 +3864,12 @@ final: prev: nvim-autopairs = buildVimPluginFrom2Nix { pname = "nvim-autopairs"; - version = "2021-09-11"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "windwp"; repo = "nvim-autopairs"; - rev = "c80b4ac3faec6fa60637f1ac785b311c26b06b1f"; - sha256 = "1w2m278g0hl3yc32x8rr4wxmhshsv53a6k59ihgjdk703n66cp7a"; + rev = "4fbb53b8b1d2abbf6b61a6437a0af302b5e58ded"; + sha256 = "0689s55if1fcf6kpmqlvwpc45lwbra5cwyvjvfpnm8249n7yv7pq"; }; meta.homepage = "https://github.com/windwp/nvim-autopairs/"; }; @@ -3924,12 +3924,12 @@ final: prev: nvim-cmp = buildVimPluginFrom2Nix { pname = "nvim-cmp"; - version = "2021-09-13"; + version = "2021-09-17"; src = fetchFromGitHub { owner = "hrsh7th"; repo = "nvim-cmp"; - rev = "e46ae3b62e11704ace7f1f14c1398bcfaf70b217"; - sha256 = "1nb0insrhsa0d2mwhk42b07wkfb28j7ylscj0hqr6n69jg5jc0vz"; + rev = "a2545692ef20f167d67d0d99237cab8f01fd86e4"; + sha256 = "0xs1fmzg10hgjj4wxvjvmbxxn2s587wm10h5jv37cq6ayg1z3vic"; }; meta.homepage = "https://github.com/hrsh7th/nvim-cmp/"; }; @@ -3972,12 +3972,12 @@ final: prev: nvim-dap = buildVimPluginFrom2Nix { pname = "nvim-dap"; - version = "2021-09-10"; + version = "2021-09-17"; src = fetchFromGitHub { owner = "mfussenegger"; repo = "nvim-dap"; - rev = "55971c4f5cf83177a38bdec9de7bea6711c94880"; - sha256 = "149zhqwfv8ciw1ik5c258gwx71y7i0517qzqzw9qq5p66bxsxsdx"; + rev = "9b597eff434669f5e5af79b0881159c8b0dd822e"; + sha256 = "0krih3y97hicx9i9q6sl4mc9gj1mh2irjs5y8zz9lsc836p0b3jr"; }; meta.homepage = "https://github.com/mfussenegger/nvim-dap/"; }; @@ -4044,24 +4044,24 @@ final: prev: nvim-highlite = buildVimPluginFrom2Nix { pname = "nvim-highlite"; - version = "2021-09-10"; + version = "2021-09-14"; src = fetchFromGitHub { owner = "Iron-E"; repo = "nvim-highlite"; - rev = "6b06fdec591ff93ce47b0489ad524929a323ff59"; - sha256 = "10wfs6s76f2vx47q48ihx5y6fxgq0iq3ixifv2z0l1r6n9x5rkr6"; + rev = "c41f95921acc451a49fef9c82fd0e12cde4f6f47"; + sha256 = "16k0y5q0hj0dlh99bp511xpkaam4gz2l4iv1w5i2nzz217zswpvn"; }; meta.homepage = "https://github.com/Iron-E/nvim-highlite/"; }; nvim-hlslens = buildVimPluginFrom2Nix { pname = "nvim-hlslens"; - version = "2021-09-09"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "kevinhwang91"; repo = "nvim-hlslens"; - rev = "df0eb031cdc0688381f6c059ecd3545ecfffe89b"; - sha256 = "03mv11724jx5s811gisl6xc62qc31xknydsg67nz81mrya3559jb"; + rev = "fc8a5a3dfafd703a454a5a294ef8cc69d17b4ee6"; + sha256 = "1jn3ay74sf1z7mwm4sv4nz7lcq7qpyr2vx6h8j844nkb0azvhi5q"; }; meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/"; }; @@ -4104,12 +4104,12 @@ final: prev: nvim-lspconfig = buildVimPluginFrom2Nix { pname = "nvim-lspconfig"; - version = "2021-09-12"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "neovim"; repo = "nvim-lspconfig"; - rev = "974d15fa2809dff691d6a50a6759bf2c8bf39b4a"; - sha256 = "1nb5k8hsxm8anjmvavxniv4k0rgrgl068czczs9x8z6dsd2865il"; + rev = "aa0b9fd746d73a5ebbc72c732c645e96423d4504"; + sha256 = "01jgxf8bgra4sgh63zpb5xga9lyb3bvpqcdzjk3vp6gyks66fb6h"; }; meta.homepage = "https://github.com/neovim/nvim-lspconfig/"; }; @@ -4128,12 +4128,12 @@ final: prev: nvim-nonicons = buildVimPluginFrom2Nix { pname = "nvim-nonicons"; - version = "2021-07-03"; + version = "2021-09-14"; src = fetchFromGitHub { owner = "yamatsum"; repo = "nvim-nonicons"; - rev = "93450b02533516231e16ddc71f8ab1caf5005eaa"; - sha256 = "1mfvi3mzid0fwhgwrg8w4bjy0x6hz78jij60h0ivblvlfai6w0qr"; + rev = "c38ff086e0157b91d0951f83741170bdcf501a9d"; + sha256 = "1vjh82kjs4ki61r0lnidd8xpj6zvc0j4k76fbs7fy0ndzsbph6gw"; }; meta.homepage = "https://github.com/yamatsum/nvim-nonicons/"; }; @@ -4404,12 +4404,12 @@ final: prev: onedark-nvim = buildVimPluginFrom2Nix { pname = "onedark.nvim"; - version = "2021-08-30"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "olimorris"; repo = "onedark.nvim"; - rev = "7dc9734260e8af794ab69d6976a693e8c631d617"; - sha256 = "1hw9m6fasbpy67a4h2a0zw7231gpc4995aj6p4ljk4kw6672mnlw"; + rev = "8eceb078f8093c10b4a68d68203f4edf99db112a"; + sha256 = "1wnhgbi8hgrsnsq78iz7z1v7acfjrbhs08dykf0g4km03s4wa7qb"; }; meta.homepage = "https://github.com/olimorris/onedark.nvim/"; }; @@ -4464,24 +4464,24 @@ final: prev: orgmode-nvim = buildVimPluginFrom2Nix { pname = "orgmode.nvim"; - version = "2021-09-10"; + version = "2021-09-17"; src = fetchFromGitHub { owner = "kristijanhusak"; repo = "orgmode.nvim"; - rev = "e7fff702db42ed1d90bc9fa46c3b3a102024041f"; - sha256 = "0fxz0j7mjbs64x18kx3jsj3h8l124ndxf576k8vh9cwgz1g66bcj"; + rev = "aa69451b48e5ff39737513db402bc38e612c03c4"; + sha256 = "1km88k5ls9xzx31525y2g7sfi9n4qi3yq0sfjxjlbywi0gcwmhrx"; }; meta.homepage = "https://github.com/kristijanhusak/orgmode.nvim/"; }; packer-nvim = buildVimPluginFrom2Nix { pname = "packer.nvim"; - version = "2021-09-10"; + version = "2021-09-15"; src = fetchFromGitHub { owner = "wbthomason"; repo = "packer.nvim"; - rev = "0dc37ac2e93895d0adc872b7ce69ad864a1fa45a"; - sha256 = "0a4mnfhrv4g5zqvjj3mv3bv5l7py9s4iqwy0f9xnh0f92c631q0b"; + rev = "8bee5e4ce13691fcb040eced2a219e637b7ef1a1"; + sha256 = "09r2hp94vkgwnwz9rz9xplcxpy2phjpp81hs4b7rxqbrqdf1ccxa"; }; meta.homepage = "https://github.com/wbthomason/packer.nvim/"; }; @@ -4500,12 +4500,12 @@ final: prev: papercolor-theme = buildVimPluginFrom2Nix { pname = "papercolor-theme"; - version = "2020-12-04"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "NLKNguyen"; repo = "papercolor-theme"; - rev = "845cfa94d95d404ff59e0bdc578b299279e1dc07"; - sha256 = "1r6p9ll3bfblz9sfzg0391zjswvmi8wwcc010w8mjsayjclmpwf8"; + rev = "bc078a9f8f7cbe5dc278c25e8554cc7b8f9b79d8"; + sha256 = "00pvllzglv7r8naagb94097qrbz0c63xs08vrfks21nfvwmjdldn"; }; meta.homepage = "https://github.com/NLKNguyen/papercolor-theme/"; }; @@ -4572,24 +4572,24 @@ final: prev: playground = buildVimPluginFrom2Nix { pname = "playground"; - version = "2021-07-27"; + version = "2021-09-15"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "playground"; - rev = "deb887b3f49d66654d9faa9778e8949fe0d80bc3"; - sha256 = "10jlgsqkplisa1fd7i36yb46fdsa0cx069bpwp2yl4ki2jys953j"; + rev = "787a7a8d4444e58467d6b3d4b88a497e7d494643"; + sha256 = "1y4dwbs40qn942x0hd93yrk04yiphy73b45vcjrknmxq9szhvhk0"; }; meta.homepage = "https://github.com/nvim-treesitter/playground/"; }; plenary-nvim = buildVimPluginFrom2Nix { pname = "plenary.nvim"; - version = "2021-09-12"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "nvim-lua"; repo = "plenary.nvim"; - rev = "6c80b83cd57ff3b029fae37b6145bcaeb4f69ee3"; - sha256 = "1jzyxnjs2zg02ib7h2vshhiq873n04bsg4g829v7d46bsw1337kw"; + rev = "ce8f7fa999b5c091d3e7badcc2340df62b94abf9"; + sha256 = "0v7yidq75yhcghg7bz86r3r59aj6ls7n9w5dhj1s4zskbmqvr94h"; }; meta.homepage = "https://github.com/nvim-lua/plenary.nvim/"; }; @@ -4837,24 +4837,24 @@ final: prev: Recover-vim = buildVimPluginFrom2Nix { pname = "Recover.vim"; - version = "2021-07-22"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "chrisbra"; repo = "Recover.vim"; - rev = "48b6bc12b560d3013cd30c7959e235993374c24b"; - sha256 = "1ia2bv7yigcv944rkqy7jlrzi71m3k9kzj1hjhyrk0c2rg738r94"; + rev = "222c311cd9495ee2fce8945eb5b846832f14ccac"; + sha256 = "0xmzm88fyf7z4crc6gadnxyaagzskgpvfd54ddcchfw90jl47n6a"; }; meta.homepage = "https://github.com/chrisbra/Recover.vim/"; }; refactoring-nvim = buildVimPluginFrom2Nix { pname = "refactoring.nvim"; - version = "2021-09-10"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "theprimeagen"; repo = "refactoring.nvim"; - rev = "dcb0c790f20c4970a9d0e9b1f1c0c5f71b613547"; - sha256 = "1adjalqqa27f27nlwkj8pybk6sp8l9fic9fikvlqgnfg7v1r8gkw"; + rev = "fbea6d958aa337194d4c4fbcac9a983d7b99815e"; + sha256 = "0wpdy8ng64c0nn6fakg4yc4z8wrkligwfg70sdlyfcg2qi1skj87"; }; meta.homepage = "https://github.com/theprimeagen/refactoring.nvim/"; }; @@ -4957,12 +4957,12 @@ final: prev: rust-tools-nvim = buildVimPluginFrom2Nix { pname = "rust-tools.nvim"; - version = "2021-09-07"; + version = "2021-09-15"; src = fetchFromGitHub { owner = "simrat39"; repo = "rust-tools.nvim"; - rev = "cd5105d76fc124634b53039c02ea253cc06bc9b9"; - sha256 = "1bhjzng02yfnlfr3kvh6lkl5vbpcmcd51kpgg7yjxmlzlga5k2k3"; + rev = "2ebbd7483247f730d57182b090f78aee466c9d54"; + sha256 = "06kixggr30vpa4iv5rrs5awl7p3z7l2vqkrwz434i39d5gm7wrir"; }; meta.homepage = "https://github.com/simrat39/rust-tools.nvim/"; }; @@ -5439,12 +5439,12 @@ final: prev: symbols-outline-nvim = buildVimPluginFrom2Nix { pname = "symbols-outline.nvim"; - version = "2021-09-07"; + version = "2021-09-15"; src = fetchFromGitHub { owner = "simrat39"; repo = "symbols-outline.nvim"; - rev = "02ce2dab138a12a36c422ac58fabe9f5a35c664c"; - sha256 = "0z5a5q49csfgz0zdad11q75r8ck150ypj866199cl4j1mzb0xdgv"; + rev = "a8cab53271c97ff6d2a0c18756d7b4e71012d41c"; + sha256 = "1nkc0qj4birsydd278hkkjyvkyi69gva367h8fpnk0ss2i621rcc"; }; meta.homepage = "https://github.com/simrat39/symbols-outline.nvim/"; }; @@ -5475,12 +5475,12 @@ final: prev: tabnine-vim = buildVimPluginFrom2Nix { pname = "tabnine-vim"; - version = "2021-09-12"; + version = "2021-09-14"; src = fetchFromGitHub { owner = "codota"; repo = "tabnine-vim"; - rev = "25b1afe68ab77097fc029389f0b46a1f2a606c57"; - sha256 = "1n3714zywqkw3a3wdyp3vnlgly2i51b8f4csyk7nd8giwg3c1428"; + rev = "b7fdf200d309f024bb035a65611422d22abe8710"; + sha256 = "1bvky5gsxhh9ldxk1l9fsaqmqvi7m248dgpwc4f6hh1xdyi9gvcf"; fetchSubmodules = true; }; meta.homepage = "https://github.com/codota/tabnine-vim/"; @@ -5596,12 +5596,12 @@ final: prev: telescope-coc-nvim = buildVimPluginFrom2Nix { pname = "telescope-coc.nvim"; - version = "2021-08-26"; + version = "2021-09-14"; src = fetchFromGitHub { owner = "fannheyward"; repo = "telescope-coc.nvim"; - rev = "1037a9186b5889dc3145ce9494956006c8b20f17"; - sha256 = "0i2g168q57pfbm63idl054sdbflkgd8a754pvk0q9w7w1mzpql2q"; + rev = "7b8aa399b31998b7adf3da505a1952b1310d429c"; + sha256 = "1x1m13yk222lay6j4w76y9ydbvn52022gif34d452n2x7jk0cvbf"; }; meta.homepage = "https://github.com/fannheyward/telescope-coc.nvim/"; }; @@ -5632,12 +5632,12 @@ final: prev: telescope-fzf-native-nvim = buildVimPluginFrom2Nix { pname = "telescope-fzf-native.nvim"; - version = "2021-09-12"; + version = "2021-09-15"; src = fetchFromGitHub { owner = "nvim-telescope"; repo = "telescope-fzf-native.nvim"; - rev = "c507c54786e8ce389a6a6aca1f406522fa3d88d3"; - sha256 = "1v4gr1bgb1li8xdz78sjn4gms72pa615h5cy2af0zx0akhbk28ql"; + rev = "59e38e1661ffdd586cb7fc22ca0b5a05c7caf988"; + sha256 = "0ipdrzivz04921i1l81bc1xck5smi0c61isfj5g8zyl0mwa0dvrm"; }; meta.homepage = "https://github.com/nvim-telescope/telescope-fzf-native.nvim/"; }; @@ -5705,12 +5705,12 @@ final: prev: telescope-nvim = buildVimPluginFrom2Nix { pname = "telescope.nvim"; - version = "2021-09-12"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "nvim-telescope"; repo = "telescope.nvim"; - rev = "1d17cc4abc493d20b4aba36569e8805c2382ea7b"; - sha256 = "1ycq09ip2dhlzf2bmjayb3zj9zhl1scznls2krzvmzfq46g93ira"; + rev = "5a020a8859657ba909950239c723e08dda6967b9"; + sha256 = "1i565dp8q41i9sshp5y6b17r5risjr5hrcrvqqbs8ngf5ai4rpw8"; }; meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/"; }; @@ -5850,12 +5850,12 @@ final: prev: toggleterm-nvim = buildVimPluginFrom2Nix { pname = "toggleterm.nvim"; - version = "2021-08-24"; + version = "2021-09-15"; src = fetchFromGitHub { owner = "akinsho"; repo = "toggleterm.nvim"; - rev = "ef7a882a818d1bf2598bc58ca0bc158d097d499d"; - sha256 = "0sdp260jnal7qmdqskxwk5cg1c846fz65xr66b18s0y0lm5z53c2"; + rev = "e0fad88c58eeb79bfcd416db6c5f3a752c62907d"; + sha256 = "10flfdw39ambiw3a4549zhax3snsj180d769i473x7fpq2zcw2x5"; }; meta.homepage = "https://github.com/akinsho/toggleterm.nvim/"; }; @@ -6426,12 +6426,12 @@ final: prev: vim-autoformat = buildVimPluginFrom2Nix { pname = "vim-autoformat"; - version = "2021-07-22"; + version = "2021-09-13"; src = fetchFromGitHub { owner = "vim-autoformat"; repo = "vim-autoformat"; - rev = "80ba8b13a9699db20754623a0933095be65fc203"; - sha256 = "0crlkxc55lk37vy52yxwpp84bc3rd7a5am71xj9zl29a4xap5mdp"; + rev = "a65a58db77ad1b5889a68bedbea890c8161b7f8c"; + sha256 = "1frvyb3xpd4njh7ixg1ywj8x11ga343kqrmrgncb45scv12i7hx4"; }; meta.homepage = "https://github.com/vim-autoformat/vim-autoformat/"; }; @@ -6498,12 +6498,12 @@ final: prev: vim-better-whitespace = buildVimPluginFrom2Nix { pname = "vim-better-whitespace"; - version = "2021-09-12"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "ntpeters"; repo = "vim-better-whitespace"; - rev = "c63394d4da842b6fd547d072a4f22dbd3a0e3168"; - sha256 = "1kpq5bjp8wr8r1kfkq4dx3ypgv9jn3y91bfi2sszbn4i882j4ka7"; + rev = "844ceba8fbf393395ec3937f0517f6b5552d2a9d"; + sha256 = "1k4ymv3vzgiq1dy66801114mvmpij70agxsy8ywy32i3vr1vhdzg"; }; meta.homepage = "https://github.com/ntpeters/vim-better-whitespace/"; }; @@ -6630,12 +6630,12 @@ final: prev: vim-clap = buildVimPluginFrom2Nix { pname = "vim-clap"; - version = "2021-09-11"; + version = "2021-09-15"; src = fetchFromGitHub { owner = "liuchengxu"; repo = "vim-clap"; - rev = "33f194a70ec85dd493449f730030167c213b41e0"; - sha256 = "0bqvis6nkgfld8vs20k95vlpg28rigv9pjbqp58lqrjhk5h5lab0"; + rev = "c88f7fdd1c9a394a203785ed791261e7f9e159c7"; + sha256 = "1y7mzlns37a62zys87zd0zbzkwhb7216arjym9bf1n5gfllfbgcl"; }; meta.homepage = "https://github.com/liuchengxu/vim-clap/"; }; @@ -6774,12 +6774,12 @@ final: prev: vim-commentary = buildVimPluginFrom2Nix { pname = "vim-commentary"; - version = "2021-03-23"; + version = "2021-09-14"; src = fetchFromGitHub { owner = "tpope"; repo = "vim-commentary"; - rev = "349340debb34f6302931f0eb7139b2c11dfdf427"; - sha256 = "01lpfcn2hmvxddcf97f4qx5vksxj1hwrxb0c8ri59z9lb9z2hgjd"; + rev = "627308e30639be3e2d5402808ce18690557e8292"; + sha256 = "0d056h2vh3bzc3mcijq90y5c7rvg01zzxyfc826h4f79y1fz8jnp"; }; meta.homepage = "https://github.com/tpope/vim-commentary/"; }; @@ -7422,12 +7422,12 @@ final: prev: vim-fugitive = buildVimPluginFrom2Nix { pname = "vim-fugitive"; - version = "2021-09-10"; + version = "2021-09-17"; src = fetchFromGitHub { owner = "tpope"; repo = "vim-fugitive"; - rev = "e2927fb4676b499931a3c27a2dc8a8a8bc52ab55"; - sha256 = "0bqnq5ayws8dlg4zmp4ra0y9343dncg2v588311kxb3vc5m42vp2"; + rev = "a67e1f8189938c44f295fc97e6c9dd13b727b1e3"; + sha256 = "1r9z936myiasyvx8v838kfjgk1ymwdznsm7w629wchjm2zlxy4by"; }; meta.homepage = "https://github.com/tpope/vim-fugitive/"; }; @@ -9501,12 +9501,12 @@ final: prev: vim-snippets = buildVimPluginFrom2Nix { pname = "vim-snippets"; - version = "2021-09-11"; + version = "2021-09-17"; src = fetchFromGitHub { owner = "honza"; repo = "vim-snippets"; - rev = "89ff074400256ce7a58bb88ff0c5cc27e6fbe222"; - sha256 = "0gzxvlq3mbzx4iiiikibzxpfllzkkzlx0p2fgj7j244z2mjv7h8y"; + rev = "1648b3acf193682668f1ee8e566b03cfed2ac797"; + sha256 = "17db1v36mbhys1zhq9rv7g3gi3gdrl2b9x0gx4g5ffqh7nssw6wf"; }; meta.homepage = "https://github.com/honza/vim-snippets/"; }; @@ -9742,12 +9742,12 @@ final: prev: vim-test = buildVimPluginFrom2Nix { pname = "vim-test"; - version = "2021-08-13"; + version = "2021-09-15"; src = fetchFromGitHub { owner = "vim-test"; repo = "vim-test"; - rev = "b980e646e5f91d6e65659737b584e484ef918984"; - sha256 = "073lpxmrs41zm0mqxf6pmf88xvkq1fngryl8rp1lcgkrwbl7isg4"; + rev = "bf200532aa8e2097af0f26e73b4f00c0cadb3118"; + sha256 = "1s6qqpj1iyrm2cxig3vhxmpb4mcg0d82j1ai7iz4r2rq008m2aqv"; }; meta.homepage = "https://github.com/vim-test/vim-test/"; }; @@ -9958,12 +9958,12 @@ final: prev: vim-twiggy = buildVimPluginFrom2Nix { pname = "vim-twiggy"; - version = "2021-08-25"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "sodapopcan"; repo = "vim-twiggy"; - rev = "3561237047481c212b55942d9507c937841d3bc8"; - sha256 = "1099bnpagw6sv5j2rigsp2b9qc58dcyi4520hb0xz48zdvynkaac"; + rev = "16287d2261be67872870899744fd04a6802a9b87"; + sha256 = "0cfqvq2was7jdhcixnlrzh9qdm2n2sv17l7a2sys8slzl04v2c61"; }; meta.homepage = "https://github.com/sodapopcan/vim-twiggy/"; }; @@ -9994,12 +9994,12 @@ final: prev: vim-unimpaired = buildVimPluginFrom2Nix { pname = "vim-unimpaired"; - version = "2021-09-11"; + version = "2021-09-17"; src = fetchFromGitHub { owner = "tpope"; repo = "vim-unimpaired"; - rev = "58e4434f5ecadd4f28a521bcabc690e39186a98f"; - sha256 = "10ylvziwr61djc2jp20a8k2pl8qqn9rff5n4ncc8jcib58lq9r62"; + rev = "c51ed445182334aabd392f295708ebe8677bd8e8"; + sha256 = "0j5q11czlkhm4x78z6idbj6am29nfcg3yzli2l5607s60lvxnc0j"; }; meta.homepage = "https://github.com/tpope/vim-unimpaired/"; }; @@ -10066,24 +10066,24 @@ final: prev: vim-vsnip = buildVimPluginFrom2Nix { pname = "vim-vsnip"; - version = "2021-08-14"; + version = "2021-09-14"; src = fetchFromGitHub { owner = "hrsh7th"; repo = "vim-vsnip"; - rev = "87d144b7451deb3ab55f1a3e3c5124cfab2b02fa"; - sha256 = "17gw992xvxsa6wyirah17xbsdi2gl4lif8ibvbs7dwagnkv01vyb"; + rev = "9ac8044206d32bea4dba34e77b6a3b7b87f65df6"; + sha256 = "0m488cfpl7yszyhgz12binrmxysa05wxypdgy83cdxb0npka20ff"; }; meta.homepage = "https://github.com/hrsh7th/vim-vsnip/"; }; vim-vsnip-integ = buildVimPluginFrom2Nix { pname = "vim-vsnip-integ"; - version = "2021-09-09"; + version = "2021-09-13"; src = fetchFromGitHub { owner = "hrsh7th"; repo = "vim-vsnip-integ"; - rev = "1b7259510486e825e61c461362578aa15afe3507"; - sha256 = "0ig1dgyyqdzcrrgsbjaa4308ar04xlcgpygc0fbg27xj7ppiy2f5"; + rev = "a570685fc5f691e2323cb2e3c267355b8f72527f"; + sha256 = "0ib7zmvwp46lacay0xq30sxx8jf2d5afzsrsyjkrzkzlvx8c40qh"; }; meta.homepage = "https://github.com/hrsh7th/vim-vsnip-integ/"; }; @@ -10390,12 +10390,12 @@ final: prev: vimspector = buildVimPluginFrom2Nix { pname = "vimspector"; - version = "2021-09-09"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "puremourning"; repo = "vimspector"; - rev = "2bb8561eb622b6316d2fc7f3fa56d8199da6cc3f"; - sha256 = "0a1prybnmfr5iqmdbhrvlcw66fvl426mgv5in3wf4kfxqy2pg9dr"; + rev = "8c7761700bda305b8ddca8f36f8f31e0e2c56bf3"; + sha256 = "1wd0f9kpj42lgzkhpyry0hv1y5jj5dhv0w5hwxdcg4g1h2z7rgm5"; fetchSubmodules = true; }; meta.homepage = "https://github.com/puremourning/vimspector/"; @@ -10403,12 +10403,12 @@ final: prev: vimtex = buildVimPluginFrom2Nix { pname = "vimtex"; - version = "2021-09-12"; + version = "2021-09-16"; src = fetchFromGitHub { owner = "lervag"; repo = "vimtex"; - rev = "4989653b88dd94cf23395894123f3d37138f9f52"; - sha256 = "0abgkw1sgbnm12hlsg23i01laza3yamxgssxm5sb22gn1pmq0l51"; + rev = "43ba45fe94e6b162c36f06ee80ecd8b225d7c703"; + sha256 = "12c1drvpiwg1jffgar057p9vk7jkcn8ijfxl5hhl9gp2jsy29xzv"; }; meta.homepage = "https://github.com/lervag/vimtex/"; }; @@ -10535,12 +10535,12 @@ final: prev: wilder-nvim = buildVimPluginFrom2Nix { pname = "wilder.nvim"; - version = "2021-09-11"; + version = "2021-09-14"; src = fetchFromGitHub { owner = "gelguy"; repo = "wilder.nvim"; - rev = "558bf9380df27d4be2e690f5da1958d02052987a"; - sha256 = "1cy30b56rjbhvmk44y10zgg8x1f9ghiz3jxm7cmwjisv3bv8n73j"; + rev = "15ff3a0e6fa1882fb4a2391d880c6465652718f5"; + sha256 = "15rb1g0hyp942s9hgpfzf27yz7w5aaym2phrvr51aybnjz6lm9ff"; }; meta.homepage = "https://github.com/gelguy/wilder.nvim/"; }; @@ -10656,12 +10656,12 @@ final: prev: YouCompleteMe = buildVimPluginFrom2Nix { pname = "YouCompleteMe"; - version = "2021-08-05"; + version = "2021-09-13"; src = fetchFromGitHub { owner = "ycm-core"; repo = "YouCompleteMe"; - rev = "518275b599ab6dd7844c24022f6aec505fb4b07c"; - sha256 = "0wkd83xlzfbk3h19gn3jhp6lpkb1wnxrhcdnczhdwhy81lizfq4w"; + rev = "bb9ebb5b25be3534e33a585c77a14c77f15e8bc8"; + sha256 = "1pqa4j7i0qv5k5mxwdwmqrxb2jhqllv1s9rdyvji4qqpdfs6q343"; fetchSubmodules = true; }; meta.homepage = "https://github.com/ycm-core/YouCompleteMe/"; @@ -10693,12 +10693,12 @@ final: prev: zenburn = buildVimPluginFrom2Nix { pname = "zenburn"; - version = "2020-09-08"; + version = "2021-09-15"; src = fetchFromGitHub { owner = "jnurmine"; repo = "zenburn"; - rev = "4ec3795d81fc83b6f43389a6291bfa99394473a8"; - sha256 = "148s2szjx61rp93nxa95552m87mn4n4ga00dlbvvv7sm607mvxd8"; + rev = "de2fa06a93fe1494638ec7b2fdd565898be25de6"; + sha256 = "0pmmc16gkypb3y87d5wg5g8c3cxhj01ah9khl82hfw564yw4ipqs"; }; meta.homepage = "https://github.com/jnurmine/zenburn/"; }; From 1df22181a98297b18175637d777e23277dcc586c Mon Sep 17 00:00:00 2001 From: Alexander Nortung Date: Fri, 17 Sep 2021 13:24:58 +0200 Subject: [PATCH 032/173] vimPlugins.futhark-vim: init at 2021-08-24 --- pkgs/misc/vim-plugins/generated.nix | 12 ++++++++++++ pkgs/misc/vim-plugins/vim-plugin-names | 1 + 2 files changed, 13 insertions(+) diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix index d8c6ba248bae..929260fdd44b 100644 --- a/pkgs/misc/vim-plugins/generated.nix +++ b/pkgs/misc/vim-plugins/generated.nix @@ -1941,6 +1941,18 @@ final: prev: meta.homepage = "https://github.com/shumphrey/fugitive-gitlab.vim/"; }; + futhark-vim = buildVimPluginFrom2Nix { + pname = "futhark-vim"; + version = "2021-08-24"; + src = fetchFromGitHub { + owner = "BeneCollyridam"; + repo = "futhark-vim"; + rev = "fd7d053c74f150712eaa73999f44a3f95c8f08ff"; + sha256 = "17iwpqxkvflcimc066n5ljjbx603hpaqzk271r37qxdvk58jpn0w"; + }; + meta.homepage = "https://github.com/BeneCollyridam/futhark-vim/"; + }; + fwatch-nvim = buildVimPluginFrom2Nix { pname = "fwatch.nvim"; version = "2021-07-25"; diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index d96fd7d72ffa..199bb6c6f3cb 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -40,6 +40,7 @@ b3nj5m1n/kommentary@main bakpakin/fennel.vim bazelbuild/vim-bazel bbchung/clighter8 +BeneCollyridam/futhark-vim benizi/vim-automkdir bhurlow/vim-parinfer bitc/vim-hdevtools From 682bbeb2ca4e43d5528f1e25ef61d88422d8ee3e Mon Sep 17 00:00:00 2001 From: illustris Date: Fri, 17 Sep 2021 20:49:21 +0530 Subject: [PATCH 033/173] spark: 2.4.4 -> 2.4.8, init 3.1.2 The "spark" package now points to 3.1.2, and "spark2" points to spark 2.4.8 --- .../networking/cluster/spark/default.nix | 109 ++++++++++-------- pkgs/top-level/all-packages.nix | 5 +- 2 files changed, 68 insertions(+), 46 deletions(-) diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix index 76230b8e1003..af194afafa9a 100644 --- a/pkgs/applications/networking/cluster/spark/default.nix +++ b/pkgs/applications/networking/cluster/spark/default.nix @@ -1,56 +1,75 @@ -{ lib, stdenv, fetchzip, makeWrapper, jre, pythonPackages, coreutils, hadoop +{ lib, stdenv, fetchzip, makeWrapper, jdk8, python3Packages, extraPythonPackages ? [], coreutils, hadoop , RSupport? true, R }: with lib; -stdenv.mkDerivation rec { +let + spark = { pname, version, src }: + stdenv.mkDerivation rec { + inherit pname version src; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ jdk8 python3Packages.python ] + ++ extraPythonPackages + ++ optional RSupport R; - pname = "spark"; - version = "2.4.4"; + untarDir = "${pname}-${version}"; + installPhase = '' + mkdir -p $out/{lib/${untarDir}/conf,bin,/share/java} + mv * $out/lib/${untarDir} - src = fetchzip { - url = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz"; - sha256 = "1a9w5k0207fysgpxx6db3a00fs5hdc2ncx99x4ccy2s0v5ndc66g"; + cp $out/lib/${untarDir}/conf/log4j.properties{.template,} + + cat > $out/lib/${untarDir}/conf/spark-env.sh <<- EOF + export JAVA_HOME="${jdk8}" + export SPARK_HOME="$out/lib/${untarDir}" + export SPARK_DIST_CLASSPATH=$(${hadoop}/bin/hadoop classpath) + export PYSPARK_PYTHON="${python3Packages.python}/bin/${python3Packages.python.executable}" + export PYTHONPATH="\$PYTHONPATH:$PYTHONPATH" + ${optionalString RSupport '' + export SPARKR_R_SHELL="${R}/bin/R" + export PATH="\$PATH:${R}/bin"''} + EOF + + for n in $(find $out/lib/${untarDir}/bin -type f ! -name "*.*"); do + makeWrapper "$n" "$out/bin/$(basename $n)" + substituteInPlace "$n" --replace dirname ${coreutils.out}/bin/dirname + done + for n in $(find $out/lib/${untarDir}/sbin -type f); do + # Spark deprecated scripts with "slave" in the name. + # This line adds forward compatibility with the nixos spark module for + # older versions of spark that don't have the new "worker" scripts. + ln -s "$n" $(echo "$n" | sed -r 's/slave(s?).sh$/worker\1.sh/g') || true + done + ln -s $out/lib/${untarDir}/lib/spark-assembly-*.jar $out/share/java + ''; + + meta = { + description = "Apache Spark is a fast and general engine for large-scale data processing"; + homepage = "http://spark.apache.org"; + license = lib.licenses.asl20; + platforms = lib.platforms.all; + maintainers = with maintainers; [ thoughtpolice offline kamilchm illustris ]; + repositories.git = "git://git.apache.org/spark.git"; + }; + }; +in { + spark3 = spark rec { + pname = "spark"; + version = "3.1.2"; + + src = fetchzip { + url = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz"; + sha256 = "1bgh2y6jm7wqy6yc40rx68xkki31i3jiri2yixb1bm0i9pvsj9yf"; + }; }; + spark2 = spark rec { + pname = "spark"; + version = "2.4.8"; - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ jre pythonPackages.python pythonPackages.numpy ] - ++ optional RSupport R; - - untarDir = "${pname}-${version}-bin-without-hadoop"; - installPhase = '' - mkdir -p $out/{lib/${untarDir}/conf,bin,/share/java} - mv * $out/lib/${untarDir} - - sed -e 's/INFO, console/WARN, console/' < \ - $out/lib/${untarDir}/conf/log4j.properties.template > \ - $out/lib/${untarDir}/conf/log4j.properties - - cat > $out/lib/${untarDir}/conf/spark-env.sh <<- EOF - export JAVA_HOME="${jre}" - export SPARK_HOME="$out/lib/${untarDir}" - export SPARK_DIST_CLASSPATH=$(${hadoop}/bin/hadoop classpath) - export PYSPARK_PYTHON="${pythonPackages.python}/bin/${pythonPackages.python.executable}" - export PYTHONPATH="\$PYTHONPATH:$PYTHONPATH" - ${optionalString RSupport - ''export SPARKR_R_SHELL="${R}/bin/R" - export PATH=$PATH:"${R}/bin/R"''} - EOF - - for n in $(find $out/lib/${untarDir}/bin -type f ! -name "*.*"); do - makeWrapper "$n" "$out/bin/$(basename $n)" - substituteInPlace "$n" --replace dirname ${coreutils.out}/bin/dirname - done - ln -s $out/lib/${untarDir}/lib/spark-assembly-*.jar $out/share/java - ''; - - meta = { - description = "Apache Spark is a fast and general engine for large-scale data processing"; - homepage = "http://spark.apache.org"; - license = lib.licenses.asl20; - platforms = lib.platforms.all; - maintainers = with maintainers; [ thoughtpolice offline kamilchm ]; - repositories.git = "git://git.apache.org/spark.git"; + src = fetchzip { + url = "mirror://apache/spark/${pname}-${version}/${pname}-${version}-bin-without-hadoop.tgz"; + sha256 = "1mkyq0gz9fiav25vr0dba5ivp0wh0mh7kswwnx8pvsmb6wbwyfxv"; + }; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e7fbd3653863..7e38b1aaa406 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13140,7 +13140,10 @@ with pkgs; self = pkgsi686Linux.callPackage ../development/interpreters/self { }; - spark = callPackage ../applications/networking/cluster/spark { }; + inherit (callPackages ../applications/networking/cluster/spark { hadoop = hadoop_3_1; }) + spark3 + spark2; + spark = spark3; sparkleshare = callPackage ../applications/version-management/sparkleshare { }; From 61f16322e444a339e31b9905eae37fc0333c56d3 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 17 Sep 2021 15:46:46 +0000 Subject: [PATCH 034/173] sidplayfp: 2.2.1 -> 2.2.2 --- pkgs/applications/audio/sidplayfp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/sidplayfp/default.nix b/pkgs/applications/audio/sidplayfp/default.nix index 18bd8170f1db..73f1f650677c 100644 --- a/pkgs/applications/audio/sidplayfp/default.nix +++ b/pkgs/applications/audio/sidplayfp/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "sidplayfp"; - version = "2.2.1"; + version = "2.2.2"; src = fetchFromGitHub { owner = "libsidplayfp"; repo = "sidplayfp"; rev = "v${version}"; - sha256 = "sha256-IlPZmZpWxMaArkRnqu6JCGxiHU7JczRxiySqzAopfxc="; + sha256 = "sha256-DBZZf3A0AYkeQxQvHGyHHbsQ2EDuxsZnZPbxkWTNcHA="; }; nativeBuildInputs = [ autoreconfHook perl pkg-config ]; From 0597172c121a1d63d4fab62b52136b4bcb490a32 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Fri, 17 Sep 2021 18:23:08 +0200 Subject: [PATCH 035/173] palemoon: 29.4.0.2 -> 29.4.1 --- .../networking/browsers/palemoon/default.nix | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix index 15da60ad3f82..5231b0a0f933 100644 --- a/pkgs/applications/networking/browsers/palemoon/default.nix +++ b/pkgs/applications/networking/browsers/palemoon/default.nix @@ -1,6 +1,6 @@ { stdenv , lib -, fetchFromGitHub +, fetchzip , writeScript , alsa-lib , autoconf213 @@ -52,15 +52,12 @@ let in stdenv.mkDerivation rec { pname = "palemoon"; - version = "29.4.0.2"; + version = "29.4.1"; - src = fetchFromGitHub { - githubBase = "repo.palemoon.org"; - owner = "MoonchildProductions"; - repo = "Pale-Moon"; - rev = "${version}_Release"; - sha256 = "086f517xkk4smx57klyyvx4m3g6r5f1667w990zhpapbh997hfri"; - fetchSubmodules = true; + src = fetchzip { + url = "http://archive.palemoon.org/source/palemoon-${version}-source.tar.xz"; + stripRoot = false; + sha256 = "0kb9yn1q8rrmnlsyvxvv2gdgyyf12g6rxlyh82lmc0gysvd4qd2c"; }; passthru.updateScript = writeScript "update-${pname}" '' From f67b21b07f8f5edf733f390edf64b1c1c19c5854 Mon Sep 17 00:00:00 2001 From: "Zenithal (at bravo)" Date: Mon, 13 Sep 2021 16:09:04 +0800 Subject: [PATCH 036/173] proxychains-ng: init at 4.15 --- .../networking/proxychains-ng/default.nix | 24 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/tools/networking/proxychains-ng/default.nix diff --git a/pkgs/tools/networking/proxychains-ng/default.nix b/pkgs/tools/networking/proxychains-ng/default.nix new file mode 100644 index 000000000000..cc1cc9daf656 --- /dev/null +++ b/pkgs/tools/networking/proxychains-ng/default.nix @@ -0,0 +1,24 @@ +{ lib +, stdenv +, fetchFromGitHub +}: + +stdenv.mkDerivation rec { + pname = "proxychains-ng"; + version = "4.15"; + + src = fetchFromGitHub { + owner = "rofl0r"; + repo = pname; + rev = "v${version}"; + sha256 = "128d502y8pn7q2ls6glx9bvibwzfh321sah5r5li6b6iywh2zqlc"; + }; + + meta = with lib; { + description = "A preloader which hooks calls to sockets in dynamically linked programs and redirects it through one or more socks/http proxies"; + homepage = "https://github.com/rofl0r/proxychains-ng"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ zenithal ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 08bd1f838c0e..1bc71750cf13 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8331,6 +8331,8 @@ with pkgs; proxychains = callPackage ../tools/networking/proxychains { }; + proxychains-ng = callPackage ../tools/networking/proxychains-ng { }; + proxify = callPackage ../tools/networking/proxify { }; proxytunnel = callPackage ../tools/misc/proxytunnel { From 11f81f90719943eb3e6a4672b7983b1db4f44286 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 17 Sep 2021 19:03:56 +0200 Subject: [PATCH 037/173] ferdi: 5.6.0 -> 5.6.2 ChangeLogs: * https://github.com/getferdi/ferdi/releases/tag/v5.6.1 * https://github.com/getferdi/ferdi/releases/tag/v5.6.2 --- .../networking/instant-messengers/ferdi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/ferdi/default.nix b/pkgs/applications/networking/instant-messengers/ferdi/default.nix index 1b6bcd6758f8..05ba66f93703 100644 --- a/pkgs/applications/networking/instant-messengers/ferdi/default.nix +++ b/pkgs/applications/networking/instant-messengers/ferdi/default.nix @@ -17,10 +17,10 @@ in mkFranzDerivation' rec { pname = "ferdi"; name = "Ferdi"; - version = "5.6.0"; + version = "5.6.2"; src = fetchurl { url = "https://github.com/getferdi/ferdi/releases/download/v${version}/ferdi_${version}_amd64.deb"; - sha256 = "sha256-yaAYNQAvbtArw9qAtbTDD11a9nH2OQEPE8QLg1E79Yc="; + sha256 = "sha256-8rB7SnaIaeCXAaKELNO1CnxpV8TyeKRCVamwpATeia4="; }; extraBuildInputs = [ xorg.libxshmfence ]; meta = with lib; { From 71d15cf81660375447fea459ecd8752afc446852 Mon Sep 17 00:00:00 2001 From: illustris Date: Fri, 17 Sep 2021 20:50:11 +0530 Subject: [PATCH 038/173] nixos/spark: init module --- nixos/modules/module-list.nix | 1 + .../services/cluster/spark/default.nix | 162 ++++++++++++++++++ 2 files changed, 163 insertions(+) create mode 100644 nixos/modules/services/cluster/spark/default.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index c01c55b26700..48c86a00f879 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -297,6 +297,7 @@ ./services/cluster/kubernetes/pki.nix ./services/cluster/kubernetes/proxy.nix ./services/cluster/kubernetes/scheduler.nix + ./services/cluster/spark/default.nix ./services/computing/boinc/client.nix ./services/computing/foldingathome/client.nix ./services/computing/slurm/slurm.nix diff --git a/nixos/modules/services/cluster/spark/default.nix b/nixos/modules/services/cluster/spark/default.nix new file mode 100644 index 000000000000..bbfe0489f115 --- /dev/null +++ b/nixos/modules/services/cluster/spark/default.nix @@ -0,0 +1,162 @@ +{config, pkgs, lib, ...}: +let + cfg = config.services.spark; +in +with lib; +{ + options = { + services.spark = { + master = { + enable = mkEnableOption "Spark master service"; + bind = mkOption { + type = types.str; + description = "Address the spark master binds to."; + default = "127.0.0.1"; + example = "0.0.0.0"; + }; + restartIfChanged = mkOption { + type = types.bool; + description = '' + Automatically restart master service on config change. + This can be set to false to defer restarts on clusters running critical applications. + Please consider the security implications of inadvertently running an older version, + and the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option. + ''; + default = true; + }; + extraEnvironment = mkOption { + type = types.attrsOf types.str; + description = "Extra environment variables to pass to spark master. See spark-standalone documentation."; + default = {}; + example = { + SPARK_MASTER_WEBUI_PORT = 8181; + SPARK_MASTER_OPTS = "-Dspark.deploy.defaultCores=5"; + }; + }; + }; + worker = { + enable = mkEnableOption "Spark worker service"; + workDir = mkOption { + type = types.path; + description = "Spark worker work dir."; + default = "/var/lib/spark"; + }; + master = mkOption { + type = types.str; + description = "Address of the spark master."; + default = "127.0.0.1:7077"; + }; + restartIfChanged = mkOption { + type = types.bool; + description = '' + Automatically restart worker service on config change. + This can be set to false to defer restarts on clusters running critical applications. + Please consider the security implications of inadvertently running an older version, + and the possibility of unexpected behavior caused by inconsistent versions across a cluster when disabling this option. + ''; + default = true; + }; + extraEnvironment = mkOption { + type = types.attrsOf types.str; + description = "Extra environment variables to pass to spark worker."; + default = {}; + example = { + SPARK_WORKER_CORES = 5; + SPARK_WORKER_MEMORY = "2g"; + }; + }; + }; + confDir = mkOption { + type = types.path; + description = "Spark configuration directory. Spark will use the configuration files (spark-defaults.conf, spark-env.sh, log4j.properties, etc) from this directory."; + default = "${cfg.package}/lib/${cfg.package.untarDir}/conf"; + defaultText = literalExample "\${cfg.package}/lib/\${cfg.package.untarDir}/conf"; + }; + logDir = mkOption { + type = types.path; + description = "Spark log directory."; + default = "/var/log/spark"; + }; + package = mkOption { + type = types.package; + description = "Spark package."; + default = pkgs.spark; + defaultText = "pkgs.spark"; + example = literalExample ''pkgs.spark.overrideAttrs (super: rec { + pname = "spark"; + version = "2.4.4"; + + src = pkgs.fetchzip { + url = "mirror://apache/spark/"''${pname}-''${version}/''${pname}-''${version}-bin-without-hadoop.tgz"; + sha256 = "1a9w5k0207fysgpxx6db3a00fs5hdc2ncx99x4ccy2s0v5ndc66g"; + }; + })''; + }; + }; + }; + config = lib.mkIf (cfg.worker.enable || cfg.master.enable) { + environment.systemPackages = [ cfg.package ]; + systemd = { + services = { + spark-master = lib.mkIf cfg.master.enable { + path = with pkgs; [ procps openssh nettools ]; + description = "spark master service."; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + restartIfChanged = cfg.master.restartIfChanged; + environment = cfg.master.extraEnvironment // { + SPARK_MASTER_HOST = cfg.master.bind; + SPARK_CONF_DIR = cfg.confDir; + SPARK_LOG_DIR = cfg.logDir; + }; + serviceConfig = { + Type = "forking"; + User = "spark"; + Group = "spark"; + WorkingDirectory = "${cfg.package}/lib/${cfg.package.untarDir}"; + ExecStart = "${cfg.package}/lib/${cfg.package.untarDir}/sbin/start-master.sh"; + ExecStop = "${cfg.package}/lib/${cfg.package.untarDir}/sbin/stop-master.sh"; + TimeoutSec = 300; + StartLimitBurst=10; + Restart = "always"; + }; + }; + spark-worker = lib.mkIf cfg.worker.enable { + path = with pkgs; [ procps openssh nettools rsync ]; + description = "spark master service."; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + restartIfChanged = cfg.worker.restartIfChanged; + environment = cfg.worker.extraEnvironment // { + SPARK_MASTER = cfg.worker.master; + SPARK_CONF_DIR = cfg.confDir; + SPARK_LOG_DIR = cfg.logDir; + SPARK_WORKER_DIR = cfg.worker.workDir; + }; + serviceConfig = { + Type = "forking"; + User = "spark"; + WorkingDirectory = "${cfg.package}/lib/${cfg.package.untarDir}"; + ExecStart = "${cfg.package}/lib/${cfg.package.untarDir}/sbin/start-worker.sh spark://${cfg.worker.master}"; + ExecStop = "${cfg.package}/lib/${cfg.package.untarDir}/sbin/stop-worker.sh"; + TimeoutSec = 300; + StartLimitBurst=10; + Restart = "always"; + }; + }; + }; + tmpfiles.rules = [ + "d '${cfg.worker.workDir}' - spark spark - -" + "d '${cfg.logDir}' - spark spark - -" + ]; + }; + users = { + users.spark = { + description = "spark user."; + group = "spark"; + isSystemUser = true; + }; + groups.spark = { }; + }; + }; +} From dd987c2dbed988f573734f51f4f28c4c56f58b6b Mon Sep 17 00:00:00 2001 From: illustris Date: Fri, 17 Sep 2021 20:53:40 +0530 Subject: [PATCH 039/173] nixos/spark: release notes --- .../from_md/release-notes/rl-2111.section.xml | 13 +++++++++++++ nixos/doc/manual/release-notes/rl-2111.section.md | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml index 3c60226b224d..d389fc780699 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml @@ -37,6 +37,13 @@ PostgreSQL now defaults to major version 13. + + + spark now defaults to spark 3, updated from 2. A + migration + guide is available. + + Activation scripts can now opt int to be run when running @@ -250,6 +257,12 @@ entry. + + + spark, a + unified analytics engine for large-scale data processing. + +
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md index 256c15fb4988..fd25714a0283 100644 --- a/nixos/doc/manual/release-notes/rl-2111.section.md +++ b/nixos/doc/manual/release-notes/rl-2111.section.md @@ -14,6 +14,8 @@ In addition to numerous new and upgraded packages, this release has the followin - PostgreSQL now defaults to major version 13. +- spark now defaults to spark 3, updated from 2. A [migration guide](https://spark.apache.org/docs/latest/core-migration-guide.html#upgrading-from-core-24-to-30) is available. + - Activation scripts can now opt int to be run when running `nixos-rebuild dry-activate` and detect the dry activation by reading `$NIXOS_ACTION`. This allows activation scripts to output what they would change if the activation was really run. The users/modules activation script supports this and outputs some of is actions. @@ -78,6 +80,8 @@ subsonic-compatible api. Available as [navidrome](#opt-services.navidrome.enable or sends them to a downstream service for further analysis. Documented in [its manual entry](#module-services-parsedmarc). +- [spark](https://spark.apache.org/), a unified analytics engine for large-scale data processing. + ## Backward Incompatibilities {#sec-release-21.11-incompatibilities} From 13839b0022fee66a1291792c47f6bc2b71b91895 Mon Sep 17 00:00:00 2001 From: illustris Date: Fri, 17 Sep 2021 22:31:01 +0530 Subject: [PATCH 040/173] nixos/spark: add test --- nixos/tests/spark/default.nix | 28 ++++++++++++++++++++++ nixos/tests/spark/spark_sample.py | 40 +++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 nixos/tests/spark/default.nix create mode 100644 nixos/tests/spark/spark_sample.py diff --git a/nixos/tests/spark/default.nix b/nixos/tests/spark/default.nix new file mode 100644 index 000000000000..254cdec6e6b0 --- /dev/null +++ b/nixos/tests/spark/default.nix @@ -0,0 +1,28 @@ +import ../make-test-python.nix ({...}: { + name = "spark"; + + nodes = { + worker = { nodes, pkgs, ... }: { + virtualisation.memorySize = 1024; + services.spark.worker = { + enable = true; + master = "master:7077"; + }; + }; + master = { config, pkgs, ... }: { + services.spark.master = { + enable = true; + bind = "0.0.0.0"; + }; + networking.firewall.allowedTCPPorts = [ 22 7077 8080 ]; + }; + }; + + testScript = '' + master.wait_for_unit("spark-master.service") + worker.wait_for_unit("spark-worker.service") + worker.copy_from_host( "${./spark_sample.py}", "/spark_sample.py" ) + assert "Spark Master at spark://" in worker.succeed("curl -sSfkL http://master:8080/") + worker.succeed("spark-submit --master spark://master:7077 --executor-memory 512m --executor-cores 1 /spark_sample.py") + ''; +}) diff --git a/nixos/tests/spark/spark_sample.py b/nixos/tests/spark/spark_sample.py new file mode 100644 index 000000000000..c4939451eae0 --- /dev/null +++ b/nixos/tests/spark/spark_sample.py @@ -0,0 +1,40 @@ +from pyspark.sql import Row, SparkSession +from pyspark.sql import functions as F +from pyspark.sql.functions import udf +from pyspark.sql.types import * +from pyspark.sql.functions import explode + +def explode_col(weight): + return int(weight//10) * [10.0] + ([] if weight%10==0 else [weight%10]) + +spark = SparkSession.builder.getOrCreate() + +dataSchema = [ + StructField("feature_1", FloatType()), + StructField("feature_2", FloatType()), + StructField("bias_weight", FloatType()) +] + +data = [ + Row(0.1, 0.2, 10.32), + Row(0.32, 1.43, 12.8), + Row(1.28, 1.12, 0.23) +] + +df = spark.createDataFrame(spark.sparkContext.parallelize(data), StructType(dataSchema)) + +normalizing_constant = 100 +sum_bias_weight = df.select(F.sum('bias_weight')).collect()[0][0] +normalizing_factor = normalizing_constant / sum_bias_weight +df = df.withColumn('normalized_bias_weight', df.bias_weight * normalizing_factor) +df = df.drop('bias_weight') +df = df.withColumnRenamed('normalized_bias_weight', 'bias_weight') + +my_udf = udf(lambda x: explode_col(x), ArrayType(FloatType())) +df1 = df.withColumn('explode_val', my_udf(df.bias_weight)) +df1 = df1.withColumn("explode_val_1", explode(df1.explode_val)).drop("explode_val") +df1 = df1.drop('bias_weight').withColumnRenamed('explode_val_1', 'bias_weight') + +df1.show() + +assert(df1.count() == 12) From 652a2045a09424c7019e9547cf9d2f4185ce9b0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= <nix@dotlambda.de> Date: Fri, 17 Sep 2021 11:21:10 -0700 Subject: [PATCH 041/173] abcmidi: 2021.06.27 -> 2021.09.15 --- pkgs/tools/audio/abcmidi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix index 16c6e0fc8a07..073d61a3d4c0 100644 --- a/pkgs/tools/audio/abcmidi/default.nix +++ b/pkgs/tools/audio/abcmidi/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "abcMIDI"; - version = "2021.06.27"; + version = "2021.09.15"; src = fetchzip { url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip"; - sha256 = "sha256-tLKxs1p1CIU/2XV1fMgWrwdtePeXOBZUMjz46kgp9C0="; + sha256 = "sha256-BrEgvrAHNfJpFTlI8tec+9w3G+5YR15lbzh/RKKpQ1c="; }; meta = with lib; { From 70ac11ca8a2c036a7e0284e8a76a8297f837bfc2 Mon Sep 17 00:00:00 2001 From: Andreas Fuchs <asf@materialize.com> Date: Fri, 17 Sep 2021 11:33:16 -0400 Subject: [PATCH 042/173] ocrmypdf: 12.3.0 -> 12.5.0 Version 12.3.0 is not compatible with pluggy 1.0 (which now is in nixpkgs), so we have to upgrade to a version that supports it. --- pkgs/tools/text/ocrmypdf/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/text/ocrmypdf/default.nix b/pkgs/tools/text/ocrmypdf/default.nix index 0dff6d76fffe..4292c275a7f1 100644 --- a/pkgs/tools/text/ocrmypdf/default.nix +++ b/pkgs/tools/text/ocrmypdf/default.nix @@ -30,13 +30,13 @@ let in buildPythonApplication rec { pname = "ocrmypdf"; - version = "12.3.0"; + version = "12.5.0"; src = fetchFromGitHub { owner = "jbarlow83"; repo = "OCRmyPDF"; rev = "v${version}"; - sha256 = "122yv3p0v4fbx30zgppcznwnm7svg97gv0sa103xb6zcld68ggn2"; + sha256 = "sha256-g80WedX+TGHE9EJ/RSgOc53PM17V3WZslUNaHoqKTo0="; }; nativeBuildInputs = with python3Packages; [ @@ -47,9 +47,9 @@ buildPythonApplication rec { propagatedBuildInputs = with python3Packages; [ cffi - chardet coloredlogs img2pdf + importlib-resources pdfminer pluggy pikepdf @@ -84,6 +84,6 @@ buildPythonApplication rec { license = with licenses; [ mpl20 mit ]; platforms = platforms.linux; maintainers = [ maintainers.kiwi ]; - changelog = "https://github.com/jbarlow83/OCRmyPDF/blob/v${version}/docs/release_notes.rst"; + changelog = "https://github.com/jbarlow83/OCRmyPDF/blob/v${version}/docs/release_notes.rst"; }; } From 16f424e7d2727f325168ae87ff92e69bf4ffd6bc Mon Sep 17 00:00:00 2001 From: Michael Weiss <dev.primeos@gmail.com> Date: Fri, 17 Sep 2021 23:17:44 +0200 Subject: [PATCH 043/173] intel-gmmlib: 21.2.2 -> 21.3.1 --- pkgs/development/libraries/intel-gmmlib/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/intel-gmmlib/default.nix b/pkgs/development/libraries/intel-gmmlib/default.nix index 71c1efe3f914..5d7e04e75966 100644 --- a/pkgs/development/libraries/intel-gmmlib/default.nix +++ b/pkgs/development/libraries/intel-gmmlib/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "intel-gmmlib"; - version = "21.2.2"; + version = "21.3.1"; src = fetchFromGitHub { owner = "intel"; repo = "gmmlib"; rev = "${pname}-${version}"; - sha256 = "134l0d74ai4mqlp244nvkvg3mgzbzy20mjd274yay8g8hvb1g90v"; + sha256 = "0dzqfgbd0fxl8rxgf5nmj1jd4izzaqfb0s53l96qwz1j57q5ybj5"; }; nativeBuildInputs = [ cmake ]; From 2cc9f0c67fb11eaadbdb650db2947bf6c9eaa4ab Mon Sep 17 00:00:00 2001 From: Markus Kowalewski <markus.kowalewski@gmail.com> Date: Sat, 18 Sep 2021 00:50:47 +0200 Subject: [PATCH 044/173] slurm: 21.08.0.1 -> 21.08.1.1 --- pkgs/servers/computing/slurm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix index 6468f12c3d9c..546c56788ab9 100644 --- a/pkgs/servers/computing/slurm/default.nix +++ b/pkgs/servers/computing/slurm/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { pname = "slurm"; - version = "21.08.0.1"; + version = "21.08.1.1"; # N.B. We use github release tags instead of https://www.schedmd.com/downloads.php # because the latter does not keep older releases. @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { repo = "slurm"; # The release tags use - instead of . rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}"; - sha256 = "0f1i64vby1qa2y9gv9a9x595s58p6dpw4yhljbgrc2wr7glvnfi3"; + sha256 = "13fd72ifa1ar8yjavdywzvlk4fzxzhybi30pzcdvjnijc9y52j4m"; }; outputs = [ "out" "dev" ]; From 3c7d0449ad0232f18c6c1c0861316e73ebcef0d6 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer <jonringer117@gmail.com> Date: Fri, 17 Sep 2021 16:20:09 -0700 Subject: [PATCH 045/173] python3Packages.aiobotocore: fix build --- pkgs/development/python-modules/aiobotocore/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/aiobotocore/default.nix b/pkgs/development/python-modules/aiobotocore/default.nix index 591fd8c17874..f6024c953fda 100644 --- a/pkgs/development/python-modules/aiobotocore/default.nix +++ b/pkgs/development/python-modules/aiobotocore/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { # relax version constraints: aiobotocore works with newer botocore versions # the pinning used to match some `extras_require` we're not using. postPatch = '' - substituteInPlace setup.py --replace 'botocore>=1.20.49,<1.20.50' 'botocore' + substituteInPlace setup.py --replace 'botocore>=1.20.106,<1.20.107' 'botocore' ''; propagatedBuildInputs = [ wrapt aiohttp aioitertools botocore ]; From 9a9f09b97b30db9cb4dda56313d6c9d440d006d0 Mon Sep 17 00:00:00 2001 From: Victor Freire <victor@freire.dev.br> Date: Fri, 17 Sep 2021 20:20:20 -0300 Subject: [PATCH 046/173] vscode-extensions.denoland.vscode-deno: init at 3.9.1 --- pkgs/misc/vscode-extensions/default.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/misc/vscode-extensions/default.nix b/pkgs/misc/vscode-extensions/default.nix index 92c530432a89..0a8174689577 100644 --- a/pkgs/misc/vscode-extensions/default.nix +++ b/pkgs/misc/vscode-extensions/default.nix @@ -393,6 +393,23 @@ let }; }; + denoland.vscode-deno = buildVscodeMarketplaceExtension { + mktplcRef = { + name = "vscode-deno"; + publisher = "denoland"; + version = "3.9.1"; + sha256 = "sha256-OuGTjmJQFAWrYp7YnFpyo0NnnCcXYF8itYjGKMa3FCs="; + }; + meta = with lib; { + changelog = "https://marketplace.visualstudio.com/items/denoland.vscode-deno/changelog"; + description = "A language server client for Deno"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno"; + homepage = "https://github.com/denoland/vscode_deno"; + license = licenses.mit; + maintainers = with maintainers; [ ratsclub ]; + }; + }; + dhall.dhall-lang = buildVscodeMarketplaceExtension { mktplcRef = { name = "dhall-lang"; From b81ef19d94004db513bfb8b63d27c59f971c96f5 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer <jonringer117@gmail.com> Date: Fri, 17 Sep 2021 16:20:28 -0700 Subject: [PATCH 047/173] home-assistant: inherit NIX_BUILD_CORES for test suite "auto" will impurely detect how many threads are available. Running the test suite with 128 threads will also consume about 40GB of ram. --- pkgs/servers/home-assistant/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 9cd83d69eec3..866bbe25a866 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -743,7 +743,7 @@ in with py.pkgs; buildPythonApplication rec { pytestFlagsArray = [ # parallelize test run - "--numprocesses auto" + "--numprocesses $NIX_BUILD_CORES" # assign tests grouped by file to workers "--dist loadfile" # retry racy tests that end in "RuntimeError: Event loop is closed" From b4b8a83dfc074eb2cf7f66f22480076b8e276e9b Mon Sep 17 00:00:00 2001 From: adisbladis <adisbladis@gmail.com> Date: Fri, 17 Sep 2021 18:20:28 -0500 Subject: [PATCH 048/173] emacs.pkgs.ement: unstable-2021-09-08 -> unstable-2021-09-16 --- .../emacs/elisp-packages/ement/default.nix | 18 +++++++----- .../ement/handle-nil-images.patch | 28 +++++++++++++++++++ 2 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 pkgs/applications/editors/emacs/elisp-packages/ement/handle-nil-images.patch diff --git a/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix b/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix index dba8ae330684..73fd2f4a0a92 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix @@ -9,7 +9,14 @@ trivialBuild { pname = "ement"; - version = "unstable-2021-09-08"; + version = "unstable-2021-09-16"; + + src = fetchFromGitHub { + owner = "alphapapa"; + repo = "ement.el"; + rev = "c07e914f077199c95b0e7941a421675c95d4687e"; + sha256 = "sha256-kYVb2NrHYC87mY/hFUMAjb4TLJ9A2L2RrHoiAXvRaGg="; + }; packageRequires = [ plz @@ -17,12 +24,9 @@ trivialBuild { ts ]; - src = fetchFromGitHub { - owner = "alphapapa"; - repo = "ement.el"; - rev = "468aa9b0526aaa054f059c63797aa3d9ea13611d"; - sha256 = "sha256-0FCAu253iTSf9qcsmoJxKlzfd5eYc8eJXUxG6+0eg/I="; - }; + patches = [ + ./handle-nil-images.patch + ]; meta = { description = "Ement.el is a Matrix client for Emacs"; diff --git a/pkgs/applications/editors/emacs/elisp-packages/ement/handle-nil-images.patch b/pkgs/applications/editors/emacs/elisp-packages/ement/handle-nil-images.patch new file mode 100644 index 000000000000..547fee164056 --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/ement/handle-nil-images.patch @@ -0,0 +1,28 @@ +diff --git a/ement.el b/ement.el +index c9596a7..1b33045 100644 +--- a/ement.el ++++ b/ement.el +@@ -682,14 +682,15 @@ can cause undesirable underlining." + "Return a copy of IMAGE set to MAX-WIDTH and MAX-HEIGHT. + IMAGE should be one as created by, e.g. `create-image'." + ;; It would be nice if the image library had some simple functions to do this sort of thing. +- (let ((new-image (cl-copy-list image))) +- (when (fboundp 'imagemagick-types) +- ;; Only do this when ImageMagick is supported. +- ;; FIXME: When requiring Emacs 27+, remove this (I guess?). +- (setf (image-property new-image :type) 'imagemagick)) +- (setf (image-property new-image :max-width) max-width +- (image-property new-image :max-height) max-height) +- new-image)) ++ (when image ++ (let ((new-image (cl-copy-list image))) ++ (when (fboundp 'imagemagick-types) ++ ;; Only do this when ImageMagick is supported. ++ ;; FIXME: When requiring Emacs 27+, remove this (I guess?). ++ (setf (image-property new-image :type) 'imagemagick)) ++ (setf (image-property new-image :max-width) max-width ++ (image-property new-image :max-height) max-height) ++ new-image))) + + ;;;;; Reading/writing sessions + From 560ce8d15c760b16b52606a678bc861d3a8908bc Mon Sep 17 00:00:00 2001 From: Kid <44045911+kidonng@users.noreply.github.com> Date: Sat, 18 Sep 2021 09:18:59 +0800 Subject: [PATCH 049/173] yt-dlp: remove obsolete `postPatch` --- pkgs/tools/misc/yt-dlp/default.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix index 9cb2d1dea0da..e2c90ef05308 100644 --- a/pkgs/tools/misc/yt-dlp/default.nix +++ b/pkgs/tools/misc/yt-dlp/default.nix @@ -27,12 +27,6 @@ buildPythonPackage rec { sha256 = "sha256-yn53zbBVuiaD31sIB6qxweEgy+AsjzXZ0yk9lNva6mM="; }; - # build_lazy_extractors assumes this directory exists but it is not present in - # the PyPI package - postPatch = '' - mkdir -p ytdlp_plugins/extractor - ''; - propagatedBuildInputs = [ websockets mutagen ] ++ lib.optional hlsEncryptedSupport pycryptodome; From 693213da3e25d4f903c6f227c885e1e5c1cc4935 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" <ryantm-bot@ryantm.com> Date: Sat, 18 Sep 2021 01:43:16 +0000 Subject: [PATCH 050/173] bosh-cli: 6.4.6 -> 6.4.7 --- pkgs/applications/networking/cluster/bosh-cli/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/bosh-cli/default.nix b/pkgs/applications/networking/cluster/bosh-cli/default.nix index 2dc1c1e86f2c..e03451f4f2fb 100644 --- a/pkgs/applications/networking/cluster/bosh-cli/default.nix +++ b/pkgs/applications/networking/cluster/bosh-cli/default.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "bosh-cli"; - version = "6.4.6"; + version = "6.4.7"; src = fetchFromGitHub { owner = "cloudfoundry"; repo = pname; rev = "v${version}"; - sha256 = "sha256-MNM8gyi7L00OSf2EIEQFAlH7oMrcZSubf6tWcgJJMeQ="; + sha256 = "sha256-uLzYRfH2wJB/ucYtZGjKi0K5FaiP3CyA85gJ8Ji3WHE="; }; vendorSha256 = null; From 0aa049a13cd3240c8aaf25018b817a50bc4a7cc0 Mon Sep 17 00:00:00 2001 From: Martin Weinelt <hexa@darmstadt.ccc.de> Date: Sat, 18 Sep 2021 04:57:55 +0200 Subject: [PATCH 051/173] tts: 0.3.0 -> 0.3.1 --- pkgs/tools/audio/tts/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/audio/tts/default.nix b/pkgs/tools/audio/tts/default.nix index d4a45dd8d194..d15a03bc83ee 100644 --- a/pkgs/tools/audio/tts/default.nix +++ b/pkgs/tools/audio/tts/default.nix @@ -16,13 +16,13 @@ python3.pkgs.buildPythonApplication rec { pname = "tts"; - version = "0.3.0"; + version = "0.3.1"; src = fetchFromGitHub { owner = "coqui-ai"; repo = "TTS"; rev = "v${version}"; - sha256 = "sha256-LiH056h7eIaikBr6sm5A4T/lF7nVroxaZSYzrES7+zk="; + sha256 = "sha256-/CeetLm3jgS5Q69zTVkLm+Wh4nD7D4c6j9MTujMc3fU="; }; postPatch = '' From 8596bd678a7406c80ea762f332574630a513f4af Mon Sep 17 00:00:00 2001 From: "R. RyanTM" <ryantm-bot@ryantm.com> Date: Sat, 18 Sep 2021 03:50:26 +0000 Subject: [PATCH 052/173] crowdin-cli: 3.6.5 -> 3.7.0 --- pkgs/tools/text/crowdin-cli/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/text/crowdin-cli/default.nix b/pkgs/tools/text/crowdin-cli/default.nix index 10353227b70a..f5c489681e93 100644 --- a/pkgs/tools/text/crowdin-cli/default.nix +++ b/pkgs/tools/text/crowdin-cli/default.nix @@ -12,11 +12,11 @@ stdenv.mkDerivation rec { pname = "crowdin-cli"; - version = "3.6.5"; + version = "3.7.0"; src = fetchurl { url = "https://github.com/crowdin/${pname}/releases/download/${version}/${pname}.zip"; - sha256 = "sha256-9bw85dFazlcbZhx/bUoxW4iIsw+RdE3d+O5Cj3Obb7A="; + sha256 = "sha256-2TQL5k2ndckFjOOXNz7clVpwPUMStR4xgd1P+qUhNC8="; }; nativeBuildInputs = [ installShellFiles makeWrapper unzip ]; From b8675c0ca379f19b0f06eaaff9f9a69afd3ec968 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io> Date: Tue, 14 Sep 2021 17:20:18 +0200 Subject: [PATCH 053/173] trunk: 0.10.0 -> 0.13.1 --- pkgs/development/tools/trunk/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/trunk/default.nix b/pkgs/development/tools/trunk/default.nix index e8a7392ff3b1..3abea5f49417 100644 --- a/pkgs/development/tools/trunk/default.nix +++ b/pkgs/development/tools/trunk/default.nix @@ -3,13 +3,13 @@ rustPlatform.buildRustPackage rec { pname = "trunk"; - version = "0.10.0"; + version = "0.13.1"; src = fetchFromGitHub { owner = "thedodd"; repo = "trunk"; rev = "v${version}"; - sha256 = "W6d05MKquG1QFkvofqWk94+6j5q8yuAjNgZFG3Z3kNo="; + sha256 = "sha256-pFF3x4vfouqO49q+MVyvYS40cH8cVn4yB61o14K6ABY="; }; nativeBuildInputs = [ pkg-config ]; @@ -17,7 +17,10 @@ rustPlatform.buildRustPackage rec { then [ libiconv CoreServices Security ] else [ openssl ]; - cargoSha256 = "sha256-0ehz0ETNA2gOvTJUu8uq5H+bv4VXOJMq6AA8kn65m/Q="; + # requires network + checkFlags = [ "--skip=tools::tests::download_and_install_binaries" ]; + + cargoSha256 = "sha256-Faj0xZkGTs5z5vMfr2BwN1/xm5vopewI9ZWkOhyPq9c="; meta = with lib; { homepage = "https://github.com/thedodd/trunk"; From 16ab3254bfd2003453d0fc173e7f78b1c4f2ec62 Mon Sep 17 00:00:00 2001 From: Fabian Affolter <mail@fabian-affolter.ch> Date: Fri, 17 Sep 2021 10:40:34 +0200 Subject: [PATCH 054/173] python3Packages.pook: 1.0.1 -> 1.0.2 --- pkgs/development/python-modules/pook/default.nix | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/pkgs/development/python-modules/pook/default.nix b/pkgs/development/python-modules/pook/default.nix index 480dc7dcba64..35829044c3cf 100644 --- a/pkgs/development/python-modules/pook/default.nix +++ b/pkgs/development/python-modules/pook/default.nix @@ -2,7 +2,6 @@ , aiohttp , buildPythonPackage , fetchFromGitHub -, fetchpatch , furl , jsonschema , nose @@ -14,25 +13,16 @@ buildPythonPackage rec { pname = "pook"; - version = "1.0.1"; + version = "1.0.2"; disabled = pythonOlder "3.5"; src = fetchFromGitHub { owner = "h2non"; repo = pname; rev = "v${version}"; - sha256 = "0z48vswj07kr2sdvq5qzrwqyijpmj2rlnh2z2b32id1mckr6nnz8"; + sha256 = "sha256-4OGcnuajGdBRlXCYwbTK/zLNQRrir60qCYajHRRCpkU="; }; - patches = [ - (fetchpatch { - # Will be fixed with the new release, https://github.com/h2non/pook/issues/69 - name = "use-match-keyword-in-pytest.patch"; - url = "https://github.com/h2non/pook/commit/2071da27701c82ce02b015e01e2aa6fd203e7bb5.patch"; - sha256 = "0i3qcpbdqqsnbygi46dyqamgkh9v8rhpbm4lkl75riw48j4n080k"; - }) - ]; - propagatedBuildInputs = [ aiohttp furl From 483b311b17efa6e42cd5a48736d6578af357bcfe Mon Sep 17 00:00:00 2001 From: Vincent Laporte <Vincent.Laporte@gmail.com> Date: Thu, 16 Sep 2021 21:10:29 +0200 Subject: [PATCH 055/173] ocamlPackages.omd: run configure hooks --- pkgs/development/ocaml-modules/omd/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/ocaml-modules/omd/default.nix b/pkgs/development/ocaml-modules/omd/default.nix index 8e5b4a23ce32..fee2f300eac7 100644 --- a/pkgs/development/ocaml-modules/omd/default.nix +++ b/pkgs/development/ocaml-modules/omd/default.nix @@ -11,7 +11,11 @@ stdenv.mkDerivation { createFindlibDestdir = true; - configurePhase = "ocaml setup.ml -configure --prefix $out"; + configurePhase = '' + runHook preConfigure + ocaml setup.ml -configure --prefix $out + runHook postConfigure + ''; meta = { description = "Extensible Markdown library and tool in OCaml"; From 10c712ad4e964b02ff6cac3de4f7bd38218595b2 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" <ryantm-bot@ryantm.com> Date: Sat, 18 Sep 2021 08:42:29 +0000 Subject: [PATCH 056/173] kubesec: 2.11.2 -> 2.11.3 --- pkgs/tools/security/kubesec/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/kubesec/default.nix b/pkgs/tools/security/kubesec/default.nix index 5d634630128d..09feb829bf09 100644 --- a/pkgs/tools/security/kubesec/default.nix +++ b/pkgs/tools/security/kubesec/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "kubesec"; - version = "2.11.2"; + version = "2.11.3"; src = fetchFromGitHub { owner = "controlplaneio"; repo = pname; rev = "v${version}"; - sha256 = "sha256-W9c3L8lYjF1W0kwSODhMldlqX1h+2mZIRtElZ20skn4="; + sha256 = "sha256-ntDkkw1mOb3oAs/UX9uazKv1+smVy2qtg6ZqCLEbRNQ="; }; - vendorSha256 = "sha256-zfQu1EdwvR+LGmsbE8RA4pcOGgsukG1TMTCgPyNoVsc="; + vendorSha256 = "sha256-1qDi8Ij+uweZggE9fbi50uCqlPzdGOwiO3WPuAxnils="; # Tests wants to download the kubernetes schema for use with kubeval doCheck = false; From e14ab523730b9e5e5bf655d62aad765c24614c61 Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy <sikmir@gmail.com> Date: Sat, 18 Sep 2021 12:01:46 +0300 Subject: [PATCH 057/173] =?UTF-8?q?gpxsee:=209.5=20=E2=86=92=209.6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/applications/misc/gpxsee/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix index 4dcad13a10cf..f008ea439ed6 100644 --- a/pkgs/applications/misc/gpxsee/default.nix +++ b/pkgs/applications/misc/gpxsee/default.nix @@ -2,13 +2,13 @@ mkDerivation rec { pname = "gpxsee"; - version = "9.5"; + version = "9.6"; src = fetchFromGitHub { owner = "tumic0"; repo = "GPXSee"; rev = version; - sha256 = "sha256-KYw3RXdL/iiE2zFbrDzRWe8jdLYbF6gvOFAGyWgd3GM="; + sha256 = "sha256-Yj8lR8zgIV+gshea7rzLbMF84n1nyN3DytiIkr3B274="; }; patches = (substituteAll { From 0243f3264b524358d9c58da621e46f3438378cb3 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" <ryantm-bot@ryantm.com> Date: Sat, 18 Sep 2021 09:21:26 +0000 Subject: [PATCH 058/173] lima: 0.6.3 -> 0.6.4 --- pkgs/applications/virtualization/lima/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix index adff564a3c9a..ba056920e849 100644 --- a/pkgs/applications/virtualization/lima/default.nix +++ b/pkgs/applications/virtualization/lima/default.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "lima"; - version = "0.6.3"; + version = "0.6.4"; src = fetchFromGitHub { owner = "lima-vm"; repo = pname; rev = "v${version}"; - sha256 = "sha256-3Bc8F8L4ac0YoUp2zoQYPsj7hcXKf8SVkE7q6q0MNSs="; + sha256 = "sha256-u4XLWDJ35jEKKr98eEoUUsT3gawM/qNqXPXrhlQlugg="; }; - vendorSha256 = "sha256-vYeHv6sSiO6fY+oXR8bFFs/NAhivtnkc15pXEu+reZQ="; + vendorSha256 = "sha256-ivKudP0SlArfD+wXHmqNRmW8UGu0o2SJqURrjPhK2hs="; nativeBuildInputs = [ makeWrapper installShellFiles ]; From 70e69cb1c2b0f36e77b97536cf4f5463fc4cd7e6 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" <ryantm-bot@ryantm.com> Date: Sat, 18 Sep 2021 09:40:02 +0000 Subject: [PATCH 059/173] macchina: 1.1.5 -> 1.1.6 --- pkgs/tools/misc/macchina/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/macchina/default.nix b/pkgs/tools/misc/macchina/default.nix index 323429033b6c..042902d080c1 100644 --- a/pkgs/tools/misc/macchina/default.nix +++ b/pkgs/tools/misc/macchina/default.nix @@ -3,16 +3,16 @@ rustPlatform.buildRustPackage rec { pname = "macchina"; - version = "1.1.5"; + version = "1.1.6"; src = fetchFromGitHub { owner = "Macchina-CLI"; repo = pname; rev = "v${version}"; - sha256 = "sha256-ZrBjpmyc9cHaaVzMAdksFVa3iEX/FWCCcdwyPH66E5s="; + sha256 = "sha256-JiyJU+5bKXHUgaRyUKdgINbMxkv2XXAkuoouQv9SEow="; }; - cargoSha256 = "sha256-pINaBieDf+2GGid2vsgvNYy0zwjxXaPcBw0Yoy6KGi8="; + cargoSha256 = "sha256-pychP3OHXMv23TtZbaMOPBbEoJh4R03ySzEdwADTmFI="; nativeBuildInputs = [ installShellFiles ]; buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ]; From a11784ab9ca241f9d84e098825270d6c07bb4946 Mon Sep 17 00:00:00 2001 From: Michael Weiss <dev.primeos@gmail.com> Date: Sat, 18 Sep 2021 12:13:17 +0200 Subject: [PATCH 060/173] chromiumBeta: 94.0.4606.41 -> 94.0.4606.50 --- .../networking/browsers/chromium/upstream-info.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 38b595d245b8..17dea552fa73 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -18,9 +18,9 @@ } }, "beta": { - "version": "94.0.4606.41", - "sha256": "0kdi8rbly002abg9jwkmv6xmfcv7g0rm68lbdsnhr0biy7wvadij", - "sha256bin64": "0ayhppzwc4ia36hpakqg9rh3cggw33c7d2zkfaias3zm14k86ga2", + "version": "94.0.4606.50", + "sha256": "1aqy9bvypx66bvn5p15g94p47yfbal8mixs1d0j82pznqnqgph1z", + "sha256bin64": "07hq4qnbgq6m43zhipgy84yhiiy1fs6ffjkgsi8ixhr9b5pipzpv", "deps": { "gn": { "version": "2021-08-11", From 6a40706d5146a0d0567fbdea59c3d67c340b7694 Mon Sep 17 00:00:00 2001 From: Michael Weiss <dev.primeos@gmail.com> Date: Sat, 18 Sep 2021 12:13:17 +0200 Subject: [PATCH 061/173] chromiumDev: 95.0.4636.4 -> 95.0.4638.10 --- .../networking/browsers/chromium/upstream-info.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 38b595d245b8..2055a860f4f2 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -31,9 +31,9 @@ } }, "dev": { - "version": "95.0.4636.4", - "sha256": "1rhkmja9p2a8cxnjsrs0ipzajxwgp3c8q3903rp8ns1g579c4g3j", - "sha256bin64": "0l89iqi95fa10m3jdhbvfdjf4x88gscx6imkhy2x2ax669d19606", + "version": "95.0.4638.10", + "sha256": "0pgd5k24yly9fqpzigc5qqx6lvn6m95fjp7294cgmk0132icx71j", + "sha256bin64": "1gfaal3yxmi1n2nvfp39xp82g8vykzm0fjbdk0c1wh4gvlq2xx85", "deps": { "gn": { "version": "2021-08-11", From d9d1a11aed1761bc3a9d95dd2b8d154c44d4feec Mon Sep 17 00:00:00 2001 From: anirudhb <anirudhb@users.noreply.github.com> Date: Fri, 17 Sep 2021 18:00:23 -0700 Subject: [PATCH 062/173] fix: remove trailing '/.' from vim-plug plugin paths For some reason vim-plug doesn't seem to like that. This fixes it so that it can properly load the plugins. --- pkgs/misc/vim-plugins/vim-utils.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix index 3e609b575119..3bf5dcd9a816 100644 --- a/pkgs/misc/vim-plugins/vim-utils.nix +++ b/pkgs/misc/vim-plugins/vim-utils.nix @@ -292,12 +292,14 @@ let /* vim-plug is an extremely popular vim plugin manager. */ + /* Remove repeated "/." suffixes from a path */ + stripDots = path: lib.head (builtins.split "(/\\.)*$" path); plugImpl = ('' source ${vimPlugins.vim-plug.rtp}/plug.vim silent! call plug#begin('/dev/null') - '' + (lib.concatMapStringsSep "\n" (pkg: "Plug '${pkg.rtp}'") plug.plugins) + '' + '' + (lib.concatMapStringsSep "\n" (pkg: "Plug '${stripDots pkg.rtp}'") plug.plugins) + '' call plug#end() ''); From 2b9f9efeecf43555bf86c8fbf1ef6e4bc8b30b82 Mon Sep 17 00:00:00 2001 From: hqurve <hqurve@outlook.com> Date: Sat, 18 Sep 2021 06:56:23 -0400 Subject: [PATCH 063/173] vimPlugins: use lib.getName instead of plugin.pname --- pkgs/misc/vim-plugins/vim-utils.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix index 3bf5dcd9a816..10295ab6b2b0 100644 --- a/pkgs/misc/vim-plugins/vim-utils.nix +++ b/pkgs/misc/vim-plugins/vim-utils.nix @@ -198,8 +198,8 @@ let ''; linkVimlPlugin = plugin: packageName: dir: '' - mkdir -p $out/pack/${packageName}/${dir}/${plugin.pname} - ln -sf ${plugin}/${rtpPath}/* $out/pack/${packageName}/${dir}/${plugin.pname} + mkdir -p $out/pack/${packageName}/${dir}/${lib.getName plugin} + ln -sf ${plugin}/${rtpPath}/* $out/pack/${packageName}/${dir}/${lib.getName plugin} ''; link = pluginPath: if hasLuaModule pluginPath From 8718a7b5e110d1a00248253a707ef885da2f81af Mon Sep 17 00:00:00 2001 From: "R. RyanTM" <ryantm-bot@ryantm.com> Date: Fri, 17 Sep 2021 13:47:10 +0000 Subject: [PATCH 064/173] rdkafka: 1.7.0 -> 1.8.0 --- pkgs/development/libraries/rdkafka/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/rdkafka/default.nix b/pkgs/development/libraries/rdkafka/default.nix index 41a5526fc5e2..78ffab44edd9 100644 --- a/pkgs/development/libraries/rdkafka/default.nix +++ b/pkgs/development/libraries/rdkafka/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "rdkafka"; - version = "1.7.0"; + version = "1.8.0"; src = fetchFromGitHub { owner = "edenhill"; repo = "librdkafka"; rev = "v${version}"; - sha256 = "sha256-NLlg9S3bn5rAFyRa1ETeQGhFJYb/1y2ZiDylOy7xNbY="; + sha256 = "sha256-LTO27UQqGHOEOXaw2Aln1i37ZaXIAKK8r7P2WAx8nIQ="; }; nativeBuildInputs = [ pkg-config python3 ]; From f9958a835a408e575d466aa72eddc07bcc30f400 Mon Sep 17 00:00:00 2001 From: Michael Weiss <dev.primeos@gmail.com> Date: Sat, 18 Sep 2021 13:20:24 +0200 Subject: [PATCH 065/173] signal-desktop: 5.17.1 -> 5.17.2 --- .../networking/instant-messengers/signal-desktop/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix index d14422fa9ef0..4c9a1b30e670 100644 --- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix @@ -25,7 +25,7 @@ let else ""); in stdenv.mkDerivation rec { pname = "signal-desktop"; - version = "5.17.1"; # Please backport all updates to the stable channel. + version = "5.17.2"; # Please backport all updates to the stable channel. # All releases have a limited lifetime and "expire" 90 days after the release. # When releases "expire" the application becomes unusable until an update is # applied. The expiration date for the current release can be extracted with: @@ -35,7 +35,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb"; - sha256 = "sha256-gJ5jDMdEx2YSmPtNfv2gKKAgPfRJcb3Aabti/DgHaIU="; + sha256 = "1fmn2i6k3zh3d37234yxbawzf85fa66xybcli7xffli39czxbcj3"; }; nativeBuildInputs = [ From 5cd2a1c1995f724405e1a5cbdc627cc6aa7185f2 Mon Sep 17 00:00:00 2001 From: renesat <smol.ivan97@gmail.com> Date: Sat, 18 Sep 2021 14:22:46 +0300 Subject: [PATCH 066/173] maintainers: add renesat --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index acbd83369c52..a6cf6977a1db 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -9182,6 +9182,12 @@ githubId = 546296; name = "Eric Ren"; }; + renesat = { + name = "Ivan Smolyakov"; + email = "smol.ivan97@gmail.com"; + github = "renesat"; + githubId = 11363539; + }; renzo = { email = "renzocarbonara@gmail.com"; github = "k0001"; From 9ec36def15c8dc03114e7902d650ea22ba2f5ab2 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" <ryantm-bot@ryantm.com> Date: Wed, 15 Sep 2021 00:43:55 +0000 Subject: [PATCH 067/173] tar2ext4: 0.8.21 -> 0.8.22 --- pkgs/tools/filesystems/tar2ext4/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/filesystems/tar2ext4/default.nix b/pkgs/tools/filesystems/tar2ext4/default.nix index cd042f701d3a..41a47566eec5 100644 --- a/pkgs/tools/filesystems/tar2ext4/default.nix +++ b/pkgs/tools/filesystems/tar2ext4/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "tar2ext4"; - version = "0.8.21"; + version = "0.8.22"; src = fetchFromGitHub { owner = "microsoft"; repo = "hcsshim"; rev = "v${version}"; - sha256 = "sha256-oYCL6agif/BklMY5/ub6PExS6D/ZlTxi1QaabMOsEfw="; + sha256 = "sha256-z8w/xzNEebnQJTO4H5PlU5W+69MY1wQwmuz5inXBl1k="; }; sourceRoot = "source/cmd/tar2ext4"; From e79876b1f7f87830d7503ecb243e7c0b71652e39 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Fri, 16 Jul 2021 21:35:05 +0800 Subject: [PATCH 068/173] pantheon.switchboard: 2.4.0 -> 6.0.0 --- pkgs/desktops/pantheon/apps/switchboard/default.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard/default.nix index d0b56d7456af..9580f063ba04 100644 --- a/pkgs/desktops/pantheon/apps/switchboard/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pantheon , pkg-config @@ -9,6 +10,7 @@ , vala , gtk3 , libgee +, libhandy , granite , gettext , clutter-gtk @@ -18,13 +20,13 @@ stdenv.mkDerivation rec { pname = "switchboard"; - version = "2.4.0"; + version = "6.0.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-N3WZysLIah40kcyIyhryZpm2FxCmlvp0EB1krZ/IsYs="; + sha256 = "02dfsrfmr297cxpyd5m3746ihcgjyfnb3d42ng9m4ljdvh0dxgim"; }; passthru = { @@ -49,10 +51,17 @@ stdenv.mkDerivation rec { granite gtk3 libgee + libhandy ]; patches = [ ./plugs-path-env.patch + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard/pull/214 + (fetchpatch { + url = "https://github.com/elementary/switchboard/commit/8d6b5f4cbbaf134880252afbf1e25d70033e6402.patch"; + sha256 = "0gwq3wwj45jrnlhsmxfclbjw6xjr8kf6pp3a84vbnrazw76lg5nc"; + }) ]; postPatch = '' From 2912d5927a0d0515adff0c74d76f00fc8b774e95 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 17 Jul 2021 11:18:42 +0800 Subject: [PATCH 069/173] pantheon.switchboard-plug-a11y: 2.2.0 -> 2.3.0 --- .../apps/switchboard-plugs/a11y/default.nix | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix index 06f097e81af5..5a0ab7a856d7 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix @@ -1,6 +1,7 @@ { lib, stdenv , substituteAll , fetchFromGitHub +, fetchpatch , nix-update-script , pantheon , meson @@ -11,18 +12,19 @@ , granite , gtk3 , switchboard +, wingpanel-indicator-a11y , onboard }: stdenv.mkDerivation rec { pname = "switchboard-plug-a11y"; - version = "2.2.0"; + version = "2.3.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-3PaOIadlEdYvfNZJaoAQVDKdSTfUdn+snCa8tHmDFD0="; + sha256 = "0dc5jv335j443rg08cb7p8wvmcg36wrf1vlcfg9r20cksdis9v4l"; }; patches = [ @@ -30,6 +32,12 @@ stdenv.mkDerivation rec { src = ./fix-paths.patch; inherit onboard; }) + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-a11y/pull/79 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-a11y/commit/08db4b696128a6bf809da3403a818834fcd62b02.patch"; + sha256 = "1s13ak23bdxgcb74wdz3ql192bla5qhabdicqyjv1rp32plhkbg5"; + }) ]; passthru = { @@ -50,12 +58,13 @@ stdenv.mkDerivation rec { gtk3 libgee switchboard + wingpanel-indicator-a11y ]; meta = with lib; { description = "Switchboard Universal Access Plug"; homepage = "https://github.com/elementary/switchboard-plug-a11y"; - license = licenses.lgpl3Plus; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; From 0f4d3a87b46edb704f6935c7452eba80684f5b6b Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Fri, 16 Jul 2021 23:02:01 +0800 Subject: [PATCH 070/173] pantheon.switchboard-plug-about: 2.6.3 -> 6.0.1 --- .../apps/switchboard-plugs/about/default.nix | 37 +++++++------------ .../switchboard-plugs/about/fix-paths.patch | 26 ------------- .../about/remove-logo-background.patch | 36 ++++++++++++++++++ 3 files changed, 49 insertions(+), 50 deletions(-) delete mode 100644 pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patch create mode 100644 pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-logo-background.patch diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix index adba2ec08017..cb12f5b8cc20 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix @@ -1,6 +1,5 @@ { lib, stdenv , fetchFromGitHub -, fetchpatch , nix-update-script , pantheon , substituteAll @@ -9,22 +8,24 @@ , pkg-config , vala , libgee +, libgtop +, libhandy , granite , gtk3 , switchboard -, pciutils -, elementary-feedback +, fwupd +, appstream }: stdenv.mkDerivation rec { pname = "switchboard-plug-about"; - version = "2.6.3"; + version = "6.0.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-wis6wNEOOjPLUCT9vRRhMxbKHR2Y2nZArKogSF/FQv8="; + sha256 = "0c075ac7iqz4hqbp2ph0cwyhiq0jn6c1g1jjfhygjbssv3vvd268"; }; passthru = { @@ -41,32 +42,20 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + appstream + fwupd granite gtk3 libgee + libgtop + libhandy switchboard ]; patches = [ - # Get OS Info from GLib.Environment - # https://github.com/elementary/switchboard-plug-about/pull/128 - (fetchpatch { - url = "https://github.com/elementary/switchboard-plug-about/commit/5ed29988e3a895b2df66e5529df0f12a94d5517c.patch"; - sha256 = "1ipDxnpDZjpSEzZdtOeNe5U+QOXiB5M+hC3yDAsl/rQ="; - }) - - # Use Pretty Name - # https://github.com/elementary/switchboard-plug-about/pull/134 - (fetchpatch { - url = "https://github.com/elementary/switchboard-plug-about/commit/653d131dc8fac10ae7523f2bf6b179ffffa9c0fd.patch"; - sha256 = "AsM49Dc9/yn2tG6fqjfedeOlDXUu+iEoyNUmNYLH+zE="; - }) - - (substituteAll { - src = ./fix-paths.patch; - inherit pciutils; - elementary_feedback = elementary-feedback; - }) + # The NixOS logo is not centered in the circular background and path + # to the background is hardcoded, we will drop the background. + ./remove-logo-background.patch ]; meta = with lib; { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patch deleted file mode 100644 index d458689a3253..000000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/Plug.vala b/src/Plug.vala -index c32efcbe..0cdaeaca 100644 ---- a/src/Plug.vala -+++ b/src/Plug.vala -@@ -178,7 +178,7 @@ public class About.Plug : Switchboard.Plug { - - var bug_button = new Gtk.Button.with_label (_("Report a Problem")); - bug_button.clicked.connect (() => { -- var appinfo = new GLib.DesktopAppInfo ("io.elementary.feedback.desktop"); -+ var appinfo = new GLib.DesktopAppInfo ("@elementary_feedback@/bin/io.elementary.feedback.desktop"); - if (appinfo != null) { - try { - appinfo.launch (null, null); -diff --git a/src/Views/HardwareView.vala b/src/Views/HardwareView.vala -index f8113634..3794bad8 100644 ---- a/src/Views/HardwareView.vala -+++ b/src/Views/HardwareView.vala -@@ -179,7 +179,7 @@ public class About.HardwareView : Gtk.Grid { - - // Graphics - try { -- Process.spawn_command_line_sync ("lspci", out graphics); -+ Process.spawn_command_line_sync ("@pciutils@/bin/lspci", out graphics); - - if ("VGA" in graphics) { //VGA-keyword indicates graphics-line - string[] lines = graphics.split("\n"); diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-logo-background.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-logo-background.patch new file mode 100644 index 000000000000..bc7805a22c47 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-logo-background.patch @@ -0,0 +1,36 @@ +diff --git a/src/Views/OperatingSystemView.vala b/src/Views/OperatingSystemView.vala +index fdb92e7..87bb3a4 100644 +--- a/src/Views/OperatingSystemView.vala ++++ b/src/Views/OperatingSystemView.vala +@@ -39,21 +39,6 @@ public class About.OperatingSystemView : Gtk.Grid { + logo_icon_name = "distributor-logo"; + } + +- var logo = new Hdy.Avatar (128, "", false) { +- // In case the wallpaper can't be loaded, we don't want an icon or text +- icon_name = "invalid-icon-name", +- // We need this for the shadow to not get clipped by Gtk.Overlay +- margin = 6 +- }; +- logo.set_image_load_func ((size) => { +- try { +- return new Gdk.Pixbuf.from_file_at_scale ("/usr/share/backgrounds/elementaryos-default", -1, size, true); +- } catch (Error e) { +- critical (e.message); +- } +- }); +- logo.get_style_context ().add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); +- + var icon = new Gtk.Image () { + icon_name = logo_icon_name + "-symbolic", + // 128 minus 3px padding on each side +@@ -65,8 +50,7 @@ public class About.OperatingSystemView : Gtk.Grid { + icon_style_context.add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); + + var logo_overlay = new Gtk.Overlay (); +- logo_overlay.add (logo); +- logo_overlay.add_overlay (icon); ++ logo_overlay.add (icon); + + // Intentionally not using GLib.OsInfoKey.PRETTY_NAME here because we + // want more granular control over text formatting From 627c9fc86d9108f7d669641b66e45d4c46d65bc0 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Fri, 16 Jul 2021 23:06:58 +0800 Subject: [PATCH 071/173] pantheon.switchboard-plug-applications: 2.1.7 -> 6.0.0 --- .../switchboard-plugs/applications/default.nix | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix index 66596fa2ff1b..325ad3b96fec 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pantheon , meson @@ -10,19 +11,29 @@ , granite , gtk3 , switchboard +, flatpak }: stdenv.mkDerivation rec { pname = "switchboard-plug-applications"; - version = "2.1.7"; + version = "6.0.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-uiu19XyogNR0LX/2IIZM6B1JKAfqDMOHniQ29EAa9XM="; + sha256 = "0hgvmrgg6g2sjb3sda7kzfcd3zgngd5w982drl6ll44k1mh16gsj"; }; + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-applications/pull/163 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-applications/commit/25db490654ab41694be7b7ba19218376f42fbb8d.patch"; + sha256 = "16y8zcwnnjsh72ifpyqcdb9f5ajdj0iy8kb5sj6v77c1cxdhrv29"; + }) + ]; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; @@ -37,6 +48,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + flatpak granite gtk3 libgee @@ -46,7 +58,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Switchboard Applications Plug"; homepage = "https://github.com/elementary/switchboard-plug-applications"; - license = licenses.gpl2Plus; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; From b7a302ef48dc56cb5ca1d3fae1797c378dd4a960 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Fri, 16 Jul 2021 23:10:38 +0800 Subject: [PATCH 072/173] pantheon.switchboard-plug-bluetooth: 2.3.2 -> 2.3.6 --- .../apps/switchboard-plugs/bluetooth/default.nix | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix index dea3c0306a32..2ddd6ab696ea 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pantheon , meson @@ -15,15 +16,24 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-bluetooth"; - version = "2.3.2"; + version = "2.3.6"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-avu9Hya3C9g8kGl3D9bLwuZBkNPdwyvLspuBWgvpXU8="; + sha256 = "0n9fhi9g0ww341bjk6lpc5ppnl7qj9b3d63j9a7iqnap57bgks9y"; }; + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-bluetooth/pull/182 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-bluetooth/commit/031dd5660b4bcb0bb4e82ebe6d8bcdaa1791c385.patch"; + sha256 = "1g01ad6md7pqp1fx00avbra8yfnr8ipg8y6zhfg35fgjakj4aags"; + }) + ]; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; From 0c60031997d953f6c69b2b01849510ad938b010d Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Fri, 16 Jul 2021 23:15:17 +0800 Subject: [PATCH 073/173] pantheon.switchboard-plug-datetime: 2.1.9 -> 2.2.0 --- .../switchboard-plugs/datetime/default.nix | 18 ++++++++++++++++-- .../switchboard-plugs/datetime/fix-paths.patch | 15 +++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/fix-paths.patch diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix index 2337ef241198..cfd3402edc1c 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pantheon , meson @@ -17,13 +18,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-datetime"; - version = "2.1.9"; + version = "2.2.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-qgsU3NXqH7ryUah7rEnUrsbecV4AsOo4QfgTcWc5bc4="; + sha256 = "10rqhxsqbl1xnz5n84d7m39c3vb71k153989xvyc55djia1wjx96"; }; passthru = { @@ -32,6 +33,19 @@ stdenv.mkDerivation rec { }; }; + patches = [ + (substituteAll { + src = ./fix-paths.patch; + tzdata = tzdata; + }) + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-datetime/pull/100 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-datetime/commit/a90639ed4f185f50d4ae448cd9503203dc24b3f4.patch"; + sha256 = "0dz0s02ccnds62dqil44k652pc5icka2rfhcx0a5bj1wi5sifnp7"; + }) + ]; + nativeBuildInputs = [ libxml2 meson diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/fix-paths.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/fix-paths.patch new file mode 100644 index 000000000000..784ea9daa0b7 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/fix-paths.patch @@ -0,0 +1,15 @@ +diff --git a/src/Parser.vala b/src/Parser.vala +index 7c7b82d..2c3a061 100644 +--- a/src/Parser.vala ++++ b/src/Parser.vala +@@ -28,9 +28,9 @@ public class DateTime.Parser : GLib.Object { + return parser; + } + private Parser () { +- var file = File.new_for_path ("/usr/share/zoneinfo/zone.tab"); ++ var file = File.new_for_path ("@tzdata@/share/zoneinfo/zone.tab"); + if (!file.query_exists ()) { +- critical ("/usr/share/zoneinfo/zone.tab doesn't exist !"); ++ critical ("@tzdata@/share/zoneinfo/zone.tab doesn't exist !"); + return; + } From c8171d00aab7f8c0bbde8956e92b81627e5fa0f8 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Fri, 16 Jul 2021 23:18:24 +0800 Subject: [PATCH 074/173] pantheon.switchboard-plug-display: 2.2.2 -> 2.3.1 --- .../pantheon/apps/switchboard-plugs/display/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix index 055a40989631..82477c80a0b4 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-display"; - version = "2.2.2"; + version = "2.3.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-mjmvuSipCRGg/HSa1n1eLyVU1gERNT2ciqgz/0KqX0Y="; + sha256 = "1dqd34v124y71nnk0l617a53x652m0sb7b58465imr6ppyhx4vsv"; }; passthru = { @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Switchboard Displays Plug"; homepage = "https://github.com/elementary/switchboard-plug-display"; - license = licenses.lgpl2Plus; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; From f8359434e3d530b7b21eb0d80d09f2fc3924c85a Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Fri, 16 Jul 2021 23:33:23 +0800 Subject: [PATCH 075/173] pantheon.switchboard-plug-keyboard: 2.4.1 -> 2.5.0 --- ...ve-Install-Unlisted-Engines-function.patch | 58 +++++++++---------- .../switchboard-plugs/keyboard/default.nix | 17 +++++- .../keyboard/fix-paths.patch | 13 +++++ 3 files changed, 55 insertions(+), 33 deletions(-) create mode 100644 pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/fix-paths.patch diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/0001-Remove-Install-Unlisted-Engines-function.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/0001-Remove-Install-Unlisted-Engines-function.patch index 42900c380627..550aefbb1f10 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/0001-Remove-Install-Unlisted-Engines-function.patch +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/0001-Remove-Install-Unlisted-Engines-function.patch @@ -1,19 +1,21 @@ -From 4fd6da39ab33a6eef46ee2c64eb4f5595c7fe633 Mon Sep 17 00:00:00 2001 -Message-Id: <4fd6da39ab33a6eef46ee2c64eb4f5595c7fe633.1599180249.git-series.worldofpeace@protonmail.ch> -From: worldofpeace <worldofpeace@protonmail.ch> -Date: Thu, 3 Sep 2020 20:43:25 -0400 +From f23363ad2fa402d59b41ffe2c13a46462c6d2194 Mon Sep 17 00:00:00 2001 +From: Bobby Rong <rjl931189261@126.com> +Date: Fri, 16 Jul 2021 23:28:56 +0800 Subject: [PATCH] Remove Install Unlisted Engines function https://github.com/elementary/switchboard-plug-keyboard/issues/324 + +Co-Authored-By: WORLDofPEACE <worldofpeace@protonmail.ch> + --- - src/Dialogs/InstallEngineDialog.vala | 140 +------------------ - src/Dialogs/ProgressDialog.vala | 82 +---------- - src/InputMethod/Installer/InstallList.vala | 73 +--------- - src/InputMethod/Installer/UbuntuInstaller.vala | 142 +------------------ - src/InputMethod/Installer/aptd-client.vala | 93 +------------ - src/Widgets/InputMethod/AddEnginesPopover.vala | 12 +-- - src/Widgets/InputMethod/LanguagesRow.vala | 43 +----- - src/meson.build | 6 +- + src/Dialogs/InstallEngineDialog.vala | 140 ----------------- + src/Dialogs/ProgressDialog.vala | 82 ---------- + src/InputMethod/Installer/InstallList.vala | 73 --------- + .../Installer/UbuntuInstaller.vala | 142 ------------------ + src/InputMethod/Installer/aptd-client.vala | 93 ------------ + .../InputMethod/AddEnginesPopover.vala | 12 -- + src/Widgets/InputMethod/LanguagesRow.vala | 43 ------ + src/meson.build | 6 - 8 files changed, 591 deletions(-) delete mode 100644 src/Dialogs/InstallEngineDialog.vala delete mode 100644 src/Dialogs/ProgressDialog.vala @@ -170,7 +172,7 @@ index ffba3a8..0000000 -} diff --git a/src/Dialogs/ProgressDialog.vala b/src/Dialogs/ProgressDialog.vala deleted file mode 100644 -index f110aca..0000000 +index 868f167..0000000 --- a/src/Dialogs/ProgressDialog.vala +++ /dev/null @@ -1,82 +0,0 @@ @@ -191,7 +193,7 @@ index f110aca..0000000 -* with this program. If not, see http://www.gnu.org/licenses/. -*/ - --public class Pantheon.Keyboard.InputMethodPage.ProgressDialog : Gtk.Dialog { +-public class Pantheon.Keyboard.InputMethodPage.ProgressDialog : Granite.Dialog { - public int progress { - set { - if (value >= 100) { @@ -583,10 +585,10 @@ index ee5c3f5..0000000 - } -} diff --git a/src/Widgets/InputMethod/AddEnginesPopover.vala b/src/Widgets/InputMethod/AddEnginesPopover.vala -index 46e005d..6b56c6b 100644 +index 110bc1d..8a03ca8 100644 --- a/src/Widgets/InputMethod/AddEnginesPopover.vala +++ b/src/Widgets/InputMethod/AddEnginesPopover.vala -@@ -49,8 +49,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover { +@@ -43,8 +43,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover { }; scrolled.add (listbox); @@ -595,7 +597,7 @@ index 46e005d..6b56c6b 100644 var cancel_button = new Gtk.Button.with_label (_("Cancel")); var add_button = new Gtk.Button.with_label (_("Add Engine")); -@@ -61,10 +59,8 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover { +@@ -55,10 +53,8 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover { margin = 12, spacing = 6 }; @@ -606,7 +608,7 @@ index 46e005d..6b56c6b 100644 var grid = new Gtk.Grid (); grid.attach (search_entry, 0, 0); -@@ -92,14 +88,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover { +@@ -88,14 +84,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover { listbox.invalidate_filter (); }); @@ -671,20 +673,20 @@ index dc064ae..0000000 - } -} diff --git a/src/meson.build b/src/meson.build -index 28f07c1..a515419 100644 +index 77a51d0..26711c5 100644 --- a/src/meson.build +++ b/src/meson.build -@@ -16,7 +16,6 @@ plug_files = files( - 'Widgets/Shortcuts/CustomTree.vala', +@@ -17,7 +17,6 @@ plug_files = files( 'Widgets/Layout/Display.vala', - 'Widgets/Layout/AddLayoutPopover.vala', + 'Widgets/Layout/AdvancedSettingsPanel.vala', + 'Widgets/Layout/AdvancedSettingsGrid.vala', - 'Widgets/InputMethod/LanguagesRow.vala', 'Widgets/InputMethod/EnginesRow.vala', 'Widgets/InputMethod/AddEnginesPopover.vala', 'Views/Shortcuts.vala', -@@ -36,11 +35,6 @@ plug_files = files( - 'Layout/AdvancedSettingsGrid.vala', - 'InputMethod/Utils.vala', +@@ -33,11 +32,6 @@ plug_files = files( + 'InputSources/SourceSettings.vala', + 'InputSources/InputSource.vala', 'InputMethod/AddEnginesList.vala', - 'InputMethod/Installer/UbuntuInstaller.vala', - 'InputMethod/Installer/InstallList.vala', @@ -692,9 +694,5 @@ index 28f07c1..a515419 100644 - 'Dialogs/ProgressDialog.vala', - 'Dialogs/InstallEngineDialog.vala', 'Dialogs/ConflictDialog.vala', + 'Dialogs/AddLayoutDialog.vala' ) - - -base-commit: 9d9eddeb7da8450a309496c25066f4f78a9d4070 --- -git-series 0.9.1 diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix index 06bdce19f45c..9188e91d6baa 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix @@ -11,27 +11,37 @@ , libgee , granite , gtk3 +, libhandy , libxml2 , libgnomekbd , libxklavier -, xorg , ibus , switchboard }: stdenv.mkDerivation rec { pname = "switchboard-plug-keyboard"; - version = "2.4.1"; + version = "2.5.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-iuv5NZ7v+rXyFsKB/PvGa/7hm9MIV8E6JnTzEGROlhM="; + sha256 = "1nsy9fh6qj5kyg22bs1hm6kpsvarwc63q0hl0nbwymvnhfjf6swp"; }; patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-keyboard/pull/377 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-keyboard/commit/6d8bcadba05b4ee1115b891448b0de31bcba3749.patch"; + sha256 = "1bppxakj71r3cfy8sw19xbyngb7r6nyirc4g6pjf02cdidhw3v8l"; + }) ./0001-Remove-Install-Unlisted-Engines-function.patch + (substituteAll { + src = ./fix-paths.patch; + ibus = ibus; + }) ]; passthru = { @@ -54,6 +64,7 @@ stdenv.mkDerivation rec { ibus libgee libgnomekbd + libhandy libxklavier switchboard ]; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/fix-paths.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/fix-paths.patch new file mode 100644 index 000000000000..bb21712a5bc4 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/fix-paths.patch @@ -0,0 +1,13 @@ +diff --git a/src/Views/InputMethod.vala b/src/Views/InputMethod.vala +index 6d79fdc..de4276e 100644 +--- a/src/Views/InputMethod.vala ++++ b/src/Views/InputMethod.vala +@@ -325,7 +325,7 @@ public class Pantheon.Keyboard.InputMethodPage.Page : Gtk.Grid { + private void spawn_ibus_daemon () { + bool is_spawn_succeeded = false; + try { +- is_spawn_succeeded = Process.spawn_sync ("/", { "ibus-daemon", "-drx" }, Environ.get (), SpawnFlags.SEARCH_PATH, null); ++ is_spawn_succeeded = Process.spawn_sync ("/", { "@ibus@/bin/ibus-daemon", "-drx" }, Environ.get (), SpawnFlags.SEARCH_PATH, null); + } catch (GLib.SpawnError e) { + warning (e.message); + set_visible_view (e.message); From b5fc2607dd797dc3f673c6fcac651ad438d468cc Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Fri, 16 Jul 2021 23:37:34 +0800 Subject: [PATCH 076/173] pantheon.switchboard-plug-mouse-touchpad: 2.4.2 -> 6.0.0 --- .../mouse-touchpad/default.nix | 31 ++++++++++++++++--- .../mouse-touchpad/fix-paths.patch | 13 ++++++++ 2 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/fix-paths.patch diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix index 67eeee584a69..a86a526366f9 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix @@ -1,28 +1,33 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script +, substituteAll , pantheon , meson , ninja , pkg-config , vala , libgee +, libxml2 , granite , gtk3 , switchboard -, elementary-settings-daemon +, gnome-settings-daemon , glib +, gala # needed for gestures support +, touchegg }: stdenv.mkDerivation rec { pname = "switchboard-plug-mouse-touchpad"; - version = "2.4.2"; + version = "6.0.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-WJ/GRhZsSwC31HEIjHHWBy9/Skqbwor0tNVTedue3kk="; + sha256 = "19kiwrdpan8hr5r79y591591qjx7pm3x814xfkg9vi11ndbcrznr"; }; passthru = { @@ -39,18 +44,34 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + gala glib granite gtk3 libgee - elementary-settings-daemon + libxml2 + gnome-settings-daemon switchboard + touchegg + ]; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + touchegg = touchegg; + }) + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-mouse-touchpad/pull/185 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-mouse-touchpad/commit/a6f84dc08be5dc6f7535082bacfa24e2dff4ef67.patch"; + sha256 = "0fxl894dzw1f84n36mb9y7gshs69xcb0samvs2gsa0pcdlzfp3cy"; + }) ]; meta = with lib; { description = "Switchboard Mouse & Touchpad Plug"; homepage = "https://github.com/elementary/switchboard-plug-mouse-touchpad"; - license = licenses.gpl2Plus; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/fix-paths.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/fix-paths.patch new file mode 100644 index 000000000000..e0c63bac8322 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/fix-paths.patch @@ -0,0 +1,13 @@ +diff --git a/src/Utils/ToucheggSettings.vala b/src/Utils/ToucheggSettings.vala +index 1d621b9c..73c89714 100644 +--- a/src/Utils/ToucheggSettings.vala ++++ b/src/Utils/ToucheggSettings.vala +@@ -36,7 +36,7 @@ public class MouseTouchpad.ToucheggSettings : GLib.Object { + private const string MAXIMIZE_4_XPATH = "//application[@name=\"All\"]/gesture[@fingers=\"4\"]/action[@type=\"MAXIMIZE_RESTORE_WINDOW\"]/.."; + + public ToucheggSettings () { +- system_config_path = Path.build_filename (GLib.Path.DIR_SEPARATOR_S, "usr", "share", "touchegg", "touchegg.conf"); ++ system_config_path = Path.build_filename ("@touchegg@", "share", "touchegg", "touchegg.conf"); + user_config_dir_path = Path.build_filename (GLib.Environment.get_home_dir (), ".config", "touchegg"); + user_config_path = Path.build_filename (GLib.Environment.get_home_dir (), ".config", "touchegg", "touchegg.conf"); + } From 49bdb6149c0b70eca25645af40018dd824b33a13 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Fri, 16 Jul 2021 23:45:08 +0800 Subject: [PATCH 077/173] pantheon.switchboard-plug-network: 2.3.2 -> 2.4.1 --- .../pantheon/apps/switchboard-plugs/network/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix index fce9402e131f..5337d39fe0e7 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-network"; - version = "2.3.2"; + version = "2.4.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-PYgewxBblhOfOJQSeRaq8xD7qZ3083EvgUjpi92FqyI="; + sha256 = "0nqihsbrpjw4nx1c50g854bqybniw38adi78vzg8nyl6ikj2r0z4"; }; passthru = { @@ -60,7 +60,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Switchboard Networking Plug"; homepage = "https://github.com/elementary/switchboard-plug-network"; - license = licenses.lgpl21Plus; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; From c3e3e5c0a0c19be415fe2684f4218ddd50b7c50b Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 17 Jul 2021 11:58:52 +0800 Subject: [PATCH 078/173] pantheon.switchboard-plug-notifications: 2.1.7 -> 2.2.0 --- .../switchboard-plugs/notifications/default.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix index 8c750710aed9..7c2583105cf9 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix @@ -16,15 +16,24 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-notifications"; - version = "2.1.7"; + version = "2.2.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-MBCSQ+4l0mpS2OTDRJ7+91qo0SWm5nJNYO7SZaSoVQk="; + sha256 = "0zzhgs8m1y7ab31hbn7v8g8k7rx51gqajl243zmysn86lfqk8iay"; }; + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-notifications/pull/83 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-notifications/commit/2e0320aab62b6932e8ef5f941d02e244de381957.patch"; + sha256 = "0rcamasq837grck0i2yx6psggzrhv7p7m3mra5l0k9zsjxgar92v"; + }) + ]; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; From b2292021e2e64f9b7386607fb17c54ee92fabd8a Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 17 Jul 2021 14:20:50 +0800 Subject: [PATCH 079/173] pantheon.switchboard-plug-onlineaccounts: 2.0.1 -> 6.2.0 --- .../onlineaccounts/default.nix | 35 +++++++------------ 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix index ef12cb38e1b9..5c59a48289d4 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix @@ -1,33 +1,36 @@ { lib, stdenv , fetchFromGitHub , nix-update-script -, fetchpatch , pantheon , meson , ninja , pkg-config -, vala_0_46 +, vala , libgee , granite , gtk3 , libaccounts-glib +, libgdata +, libhandy , libsignon-glib , json-glib , librest , webkitgtk , libsoup +, sqlite , switchboard +, evolution-data-server }: stdenv.mkDerivation rec { pname = "switchboard-plug-onlineaccounts"; - version = "2.0.1"; + version = "6.2.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-CVYKcRty5bBEMNyoY51JAJQy6uh+U+7IvS6V/1GMCA4="; + sha256 = "1lp3i31jzp21n43d1mh4d4i8zgim3q3j4inw4hmyimyql2s83cc3"; }; passthru = { @@ -40,45 +43,33 @@ stdenv.mkDerivation rec { meson ninja pkg-config - vala_0_46 + vala ]; buildInputs = [ + evolution-data-server granite gtk3 json-glib libaccounts-glib + libgdata libgee + libhandy libsignon-glib libsoup librest + sqlite # needed for camel-1.2 switchboard webkitgtk ]; - patches = [ - # Fix build with latest vala - (fetchpatch { - url = "https://github.com/elementary/switchboard-plug-onlineaccounts/commit/5fa2882f765076d20c6ef4886198a34a05159f8a.patch"; - sha256 = "1szryyy7shdmbvx9yhpi0bhzaayg7hl6pq2c456j1qf9kfv0m4hf"; - }) - - # fix build with vala 0.48.9 - (fetchpatch { - url = "https://github.com/elementary/switchboard-plug-onlineaccounts/commit/b1853b7427102b8dd94774e1e2cc455f50902263.patch"; - sha256 = "J3C71GyEHEZWSghGXlwXPHFJRhrvx6i0yvi8NIDb4WE="; - }) - ]; - PKG_CONFIG_LIBACCOUNTS_GLIB_PROVIDERFILESDIR = "${placeholder "out"}/share/accounts/providers"; PKG_CONFIG_LIBACCOUNTS_GLIB_SERVICEFILESDIR = "${placeholder "out"}/share/accounts/services"; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with lib; { description = "Switchboard Online Accounts Plug"; homepage = "https://github.com/elementary/switchboard-plug-onlineaccounts"; - license = licenses.lgpl2Plus; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; From ed744571e17ef9b4dc808cf2d3db43cfd0389295 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 17 Jul 2021 14:30:04 +0800 Subject: [PATCH 080/173] pantheon.switchboard-plug-pantheon-shell: 2.8.4 -> 6.0.0 --- .../pantheon-shell/default.nix | 41 ++++++++++++++++--- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix index 97668d35471a..e4e461f4baae 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix @@ -1,18 +1,48 @@ -{ lib, stdenv, fetchFromGitHub, nix-update-script, pantheon, meson, ninja, pkg-config, vala, glib -, libgee, granite, gexiv2, elementary-settings-daemon, gtk3, gnome-desktop -, gala, wingpanel, elementary-dock, switchboard, gettext, bamf, fetchpatch }: +{ lib, stdenv +, fetchFromGitHub +, fetchpatch +, nix-update-script +, pantheon +, meson +, ninja +, pkg-config +, vala +, glib +, libgee +, granite +, gexiv2 +, gnome-settings-daemon +, elementary-settings-daemon +, gtk3 +, gnome-desktop +, gala +, wingpanel +, elementary-dock +, switchboard +, gettext +, bamf +}: stdenv.mkDerivation rec { pname = "switchboard-plug-pantheon-shell"; - version = "2.8.4"; + version = "6.0.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-CHl+4mVjrDg2gusrWOCfI++DZMWKLdvHxG3ZWMjZ2to="; + sha256 = "0349150kxdv14ald79pzn7lasiqipyc37fgchygbc8hsy62d9a32"; }; + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-pantheon-shell/pull/286 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-pantheon-shell/commit/0c3207ffaeaa82ca3c743bc9ec772185fbd7e8cf.patch"; + sha256 = "11ymzqx6has4zf8y0xy7pfhymcl128hzzjcgp46inshjf99v5kiv"; + }) + ]; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; @@ -31,6 +61,7 @@ stdenv.mkDerivation rec { bamf elementary-dock elementary-settings-daemon + gnome-settings-daemon gala gexiv2 glib From 28503b6f324bd912547c38c76e817965eb5e2979 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 17 Jul 2021 18:27:44 +0800 Subject: [PATCH 081/173] pantheon.switchboard-plug-power: 2.4.2 -> 2.6.0 --- .../apps/switchboard-plugs/power/default.nix | 16 ++++------------ .../power/dpms-helper-exec.patch | 13 ------------- 2 files changed, 4 insertions(+), 25 deletions(-) delete mode 100644 pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix index f0cf47cfdfea..98a9c039ef4f 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix @@ -2,14 +2,13 @@ , fetchFromGitHub , nix-update-script , pantheon -, substituteAll , meson , ninja , pkg-config , vala , libgee -, elementary-dpms-helper , elementary-settings-daemon +, gnome-settings-daemon , granite , gtk3 , glib @@ -20,13 +19,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-power"; - version = "2.4.2"; + version = "2.6.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-swcbkaHHe9BZxMWvjdRutvYfXXrSCUJWuld1btfYeH0="; + sha256 = "006h8mrhmdrbd83vhdyahgrfk9wh6j9kjincpp7dz7sl8fsyhmcr"; }; passthru = { @@ -44,8 +43,8 @@ stdenv.mkDerivation rec { buildInputs = [ dbus - elementary-dpms-helper elementary-settings-daemon + gnome-settings-daemon glib granite gtk3 @@ -54,13 +53,6 @@ stdenv.mkDerivation rec { switchboard ]; - patches = [ - (substituteAll { - src = ./dpms-helper-exec.patch; - elementary_dpms_helper = elementary-dpms-helper; - }) - ]; - meta = with lib; { description = "Switchboard Power Plug"; homepage = "https://github.com/elementary/switchboard-plug-power"; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch deleted file mode 100644 index 335d3f296262..000000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/MainView.vala b/src/MainView.vala -index 1654e68..175f220 100644 ---- a/src/MainView.vala -+++ b/src/MainView.vala -@@ -317,7 +317,7 @@ public class Power.MainView : Gtk.Grid { - - private static void run_dpms_helper () { - try { -- string[] argv = { "io.elementary.dpms-helper" }; -+ string[] argv = { "@elementary_dpms_helper@/bin/io.elementary.dpms-helper" }; - Process.spawn_async (null, argv, Environ.get (), - SpawnFlags.SEARCH_PATH | SpawnFlags.STDERR_TO_DEV_NULL | SpawnFlags.STDOUT_TO_DEV_NULL, - null, null); From 0864cb054bd3f4bcf87afc17d6a908db4382acf6 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Thu, 22 Jul 2021 09:31:56 +0800 Subject: [PATCH 082/173] pantheon.switchboard-plug-printers: 2.1.9 -> 2.1.10 --- .../apps/switchboard-plugs/printers/default.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix index 7387ea34e4de..2c870d12c2d9 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix @@ -16,20 +16,21 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-printers"; - version = "2.1.9"; + version = "2.1.10"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-tnAJyyPN/Xy1pmlgBpgO2Eb5CeHrRltjQTHmuTPBt8s="; + sha256 = "0frvybbx7mcs87kww0if4zn0c6c2gb400cpiqrl8b0294py58xpb"; }; patches = [ - # Fix build with latest Vala. + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-printers/pull/153 (fetchpatch { - url = "https://github.com/elementary/switchboard-plug-printers/commit/5eced5ddda6f229d7265ea0a713f6c1cd181a526.patch"; - sha256 = "lPTNqka6jjvv1JnAqVzVIQBIdDXlCOQ5ASvgZNuEUC8="; + url = "https://github.com/elementary/switchboard-plug-printers/commit/3e2b01378cbb8e666d23daeef7f40fcaa90daa45.patch"; + sha256 = "0b8pq525xnir06pn65rcz68bcp5xdxl0gpbj7p5x1hs23p5dp04n"; }) ]; @@ -57,7 +58,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Switchboard Printers Plug"; homepage = "https://github.com/elementary/switchboard-plug-printers"; - license = licenses.lgpl3Plus; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; From 851584bf17b8140afd6019dcc56b999648732817 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 17 Jul 2021 18:37:18 +0800 Subject: [PATCH 083/173] pantheon.switchboard-plug-security-privacy: 2.2.4 -> 2.2.5 --- .../security-privacy/default.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix index 26e26de33b12..58c8266f16a9 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix @@ -10,30 +10,31 @@ , vala , libgee , granite +, gala , gtk3 , glib , polkit , zeitgeist , switchboard -, lightlocker }: stdenv.mkDerivation rec { pname = "switchboard-plug-security-privacy"; - version = "2.2.4"; + version = "2.2.5"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-Sws6FqUL7QAROInDrcqYAp6j1TCC4aGV0/hi5Kmm5wQ="; + sha256 = "1ydr1xpbyxjcnd36c9j7a64srbz6gpbshwhcqj6591kmiqhmvknk"; }; patches = [ - # Fix build with latest Vala. + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-security-privacy/pull/130 (fetchpatch { - url = "https://github.com/elementary/switchboard-plug-security-privacy/commit/c8e422e630bbee0badcf4df26364c9e83e06bad0.patch"; - sha256 = "5Gm+muZiCraJC5JaGVVo0HDJ7KxjOpclHRW1RKsk3bc="; + url = "https://github.com/elementary/switchboard-plug-security-privacy/commit/18fe438baba651670d7f0534856c3b2433e3d75d.patch"; + sha256 = "19qwm725k6h41kgg4a98i4rxx45s4bb1wxx0fzkh75gz9syfi58w"; }) ]; @@ -52,13 +53,13 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + gala glib granite gtk3 libgee polkit switchboard - lightlocker zeitgeist ]; @@ -70,7 +71,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Switchboard Security & Privacy Plug"; homepage = "https://github.com/elementary/switchboard-plug-security-privacy"; - license = licenses.lgpl3Plus; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; From e1d417e2541cfbed6c16ccbeb2edfac07875d28c Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 17 Jul 2021 18:39:37 +0800 Subject: [PATCH 084/173] pantheon.switchboard-plug-sharing: 2.1.4 -> 2.1.5 --- .../apps/switchboard-plugs/sharing/default.nix | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix index 6baaed293c9f..faedee81f5cd 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix @@ -15,15 +15,24 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-sharing"; - version = "2.1.4"; + version = "2.1.5"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-/M60w14zfAUXspabvTUWlOPRrHvKtCYUio82b034k6s="; + sha256 = "00lqrxq1wz3y2s9jiz8rh9d571va2vza2gdwj6c86z3q4c4hmn17"; }; + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-sharing/pull/55 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-sharing/commit/5219839738b79e3c5f039a811d96a40eb2644eab.patch"; + sha256 = "020w746q7gzmic0pdnbxs792sx15wlsqaf2x770r5xwbyfmqr7bs"; + }) + ]; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; @@ -47,7 +56,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Switchboard Sharing Plug"; homepage = "https://github.com/elementary/switchboard-plug-sharing"; - license = licenses.gpl2Plus; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; From c46f52246044081ce6ffbff3f813b8a98e848a9e Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 17 Jul 2021 18:42:40 +0800 Subject: [PATCH 085/173] pantheon.switchboard-plug-sound: 2.2.5 -> 2.2.7 --- .../apps/switchboard-plugs/sound/default.nix | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix index 10117dd8f957..ddcb81e154ed 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pantheon , meson @@ -10,22 +11,30 @@ , granite , gtk3 , pulseaudio -, libcanberra , libcanberra-gtk3 , switchboard }: stdenv.mkDerivation rec { pname = "switchboard-plug-sound"; - version = "2.2.5"; + version = "2.2.7"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-ITgxLZSB4zhSaFKX7Vbf89DGI8ibIcGEQTtLjcGN2tA="; + sha256 = "0yjqws7ryfid9lcafgzzbfnjjwccsankscwdwqfw486qid85whzc"; }; + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-sound/pull/203 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-sound/commit/1f3b9f001ace4c457ab194158dff04ba5e25d278.patch"; + sha256 = "1lmf2bbif2wkfv500nxbqxp8jdmnjg8yk8xhx3g2g55d15rc5hk4"; + }) + ]; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; @@ -42,7 +51,6 @@ stdenv.mkDerivation rec { buildInputs = [ granite gtk3 - libcanberra libcanberra-gtk3 libgee pulseaudio @@ -52,7 +60,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Switchboard Sound Plug"; homepage = "https://github.com/elementary/switchboard-plug-sound"; - license = licenses.lgpl2Plus; + license = licenses.lgpl21Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; From 3c244eb96f9a0738aeb3033606b6b1fa57d5c1b2 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Wed, 28 Jul 2021 10:39:23 +0800 Subject: [PATCH 086/173] pantheon.switchboard-plug-wacom: init at 1.0.0 --- .../apps/switchboard-plugs/wacom/default.nix | 72 +++++++++++++++++++ pkgs/desktops/pantheon/default.nix | 4 +- 2 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix new file mode 100644 index 000000000000..1c80659bc526 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix @@ -0,0 +1,72 @@ +{ lib, stdenv +, fetchFromGitHub +, fetchpatch +, nix-update-script +, pantheon +, meson +, ninja +, pkg-config +, vala +, glib +, granite +, gtk3 +, libgee +, libgudev +, libwacom +, switchboard +, xorg +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-wacom"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1n2yfq4s9xpnfqjikchjp4z2nk8cmfz4g0p18cplzh5w1lvz17lm"; + }; + + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-wacom/pull/29 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-wacom/commit/2a7dee180d73ffb3521d806efb7028f5a71cb511.patch"; + sha256 = "06ra5c0f14brmj2mmsqscpc4d1114i4qazgnsazzh2hrp04ilnva"; + }) + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + glib + granite + gtk3 + libgee + libgudev + libwacom + switchboard + xorg.libX11 + xorg.libXi + ]; + + meta = with lib; { + description = "Switchboard Wacom Plug"; + homepage = "https://github.com/elementary/switchboard-plug-wacom"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index dc1245e1b156..61d264479aea 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -12,7 +12,7 @@ lib.makeScope pkgs.newScope (self: with self; { switchboard-plug-onlineaccounts switchboard-plug-pantheon-shell switchboard-plug-power switchboard-plug-printers switchboard-plug-security-privacy switchboard-plug-sharing - switchboard-plug-sound + switchboard-plug-sound switchboard-plug-wacom ]; wingpanelIndicators = [ @@ -184,6 +184,8 @@ lib.makeScope pkgs.newScope (self: with self; { switchboard-plug-sound = callPackage ./apps/switchboard-plugs/sound { }; + switchboard-plug-wacom = callPackage ./apps/switchboard-plugs/wacom { }; + ### ARTWORK elementary-gtk-theme = callPackage ./artwork/elementary-gtk-theme { }; From a1447194fd25eccf61a7e51d165a70ae275c2dc9 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 08:06:28 +0800 Subject: [PATCH 087/173] pantheon.wingpanel: 2.3.2 -> 3.0.0 --- pkgs/desktops/pantheon/desktop/wingpanel/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix index 97c2d0c8845a..7ed4adf29c7c 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix @@ -22,13 +22,13 @@ stdenv.mkDerivation rec { pname = "wingpanel"; - version = "2.3.2"; + version = "3.0.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-mXi600gufUK81Uks9p4+al0tCI7H9KpizZGyoomp42s="; + sha256 = "0ycys24y1rrz0ydpvs4mc89p4k986q1ziwbvziinxr1wsli9v1dj"; }; passthru = { @@ -82,7 +82,7 @@ stdenv.mkDerivation rec { including the applications menu. ''; homepage = "https://github.com/elementary/wingpanel"; - license = licenses.gpl2Plus; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; From c752b39bcd087d67b2ad49381dc6a50f17bcef0b Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 08:23:34 +0800 Subject: [PATCH 088/173] pantheon.wingpanel-applications-menu: 2.7.1 -> 2.8.2 --- .../applications-menu/default.nix | 14 ++------------ .../applications-menu/fix-paths.patch | 8 ++++---- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix index 230ae29ffa05..3e2163d877fe 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix @@ -1,6 +1,5 @@ { lib, stdenv , fetchFromGitHub -, fetchpatch , nix-update-script , pantheon , substituteAll @@ -19,7 +18,6 @@ , elementary-dock , bamf , switchboard-with-plugs -, libunity , libsoup , wingpanel , zeitgeist @@ -29,7 +27,7 @@ stdenv.mkDerivation rec { pname = "wingpanel-applications-menu"; - version = "2.7.1"; + version = "2.8.2"; repoName = "applications-menu"; @@ -37,7 +35,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "sha256-NeazBzkbdQTC6OzPxxyED4OstMkNkUGtCIaZD67fTnM="; + sha256 = "1pm3dnq35vbvyxqapmfy4frfwhc1l2zh634annlmbjiyfp5mzk0q"; }; passthru = { @@ -59,14 +57,12 @@ stdenv.mkDerivation rec { buildInputs = [ bamf elementary-dock - gnome-menus granite gtk3 json-glib libgee libhandy libsoup - libunity switchboard-with-plugs wingpanel zeitgeist @@ -83,12 +79,6 @@ stdenv.mkDerivation rec { ]; patches = [ - # Port to Libhandy-1 - (fetchpatch { - url = "https://github.com/elementary/applications-menu/commit/8eb2430e8513e9d37f875c5c9b8b15a968c27127.patch"; - sha256 = "8Uw9mUw7U5nrAwUDGVpAwoRqb9ah503wQCr9kPbBJIo="; - }) - (substituteAll { src = ./fix-paths.patch; bc = "${bc}/bin/bc"; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch index 25e3891a205a..aea828b36336 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch @@ -1,8 +1,8 @@ diff --git a/src/synapse-plugins/calculator-plugin.vala b/src/synapse-plugins/calculator-plugin.vala -index 18ca3af..f5d1076 100644 +index 886a44cd..a4601da6 100644 --- a/src/synapse-plugins/calculator-plugin.vala +++ b/src/synapse-plugins/calculator-plugin.vala -@@ -44,9 +44,7 @@ namespace Synapse { +@@ -50,9 +50,7 @@ namespace Synapse { _("Calculator"), _("Calculate basic expressions."), "accessories-calculator", @@ -13,10 +13,10 @@ index 18ca3af..f5d1076 100644 ); } -@@ -87,7 +85,7 @@ namespace Synapse { - if (matched) { +@@ -94,7 +92,7 @@ namespace Synapse { Pid pid; int read_fd, write_fd; + /* Must include math library to get non-integer results and to access standard math functions */ - string[] argv = {"bc", "-l"}; + string[] argv = {"@bc@", "-l"}; string? solution = null; From 840cd6ca9f5124a890a5472e2b7df11624688588 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Mon, 2 Aug 2021 21:11:31 +0800 Subject: [PATCH 089/173] pantheon.wingpanel-indicator-a11y: init at 1.0.0 --- pkgs/desktops/pantheon/default.nix | 13 ++-- .../wingpanel-indicators/a11y/default.nix | 70 +++++++++++++++++++ 2 files changed, 78 insertions(+), 5 deletions(-) create mode 100644 pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 61d264479aea..0c0e826024c4 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -16,11 +16,12 @@ lib.makeScope pkgs.newScope (self: with self; { ]; wingpanelIndicators = [ - wingpanel-applications-menu wingpanel-indicator-bluetooth - wingpanel-indicator-datetime wingpanel-indicator-keyboard - wingpanel-indicator-network wingpanel-indicator-nightlight - wingpanel-indicator-notifications wingpanel-indicator-power - wingpanel-indicator-session wingpanel-indicator-sound + wingpanel-applications-menu wingpanel-indicator-a11y + wingpanel-indicator-bluetooth wingpanel-indicator-datetime + wingpanel-indicator-keyboard wingpanel-indicator-network + wingpanel-indicator-nightlight wingpanel-indicator-notifications + wingpanel-indicator-power wingpanel-indicator-session + wingpanel-indicator-sound ]; maintainers = lib.teams.pantheon.members; @@ -122,6 +123,8 @@ lib.makeScope pkgs.newScope (self: with self; { wingpanel-applications-menu = callPackage ./desktop/wingpanel-indicators/applications-menu { }; + wingpanel-indicator-a11y = callPackage ./desktop/wingpanel-indicators/a11y { }; + wingpanel-indicator-bluetooth = callPackage ./desktop/wingpanel-indicators/bluetooth { }; wingpanel-indicator-datetime = callPackage ./desktop/wingpanel-indicators/datetime { }; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix new file mode 100644 index 000000000000..ff89c2de3304 --- /dev/null +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix @@ -0,0 +1,70 @@ +{ lib, stdenv +, fetchFromGitHub +, fetchpatch +, nix-update-script +, pantheon +, meson +, ninja +, pkg-config +, python3 +, vala +, granite +, gtk3 +, libgee +, wingpanel +}: + +stdenv.mkDerivation rec { + pname = "wingpanel-indicator-a11y"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1adx1sx9qh02hjgv5h0gwyn116shjl3paxmyaiv4cgh6vq3ndp3c"; + }; + + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/wingpanel-indicator-a11y/pull/48 + (fetchpatch { + url = "https://github.com/elementary/wingpanel-indicator-a11y/commit/fb8412d56bc1c42b70e8ee41b837e8024e1297f7.patch"; + sha256 = "0619npdw9wvaz1zk2lzikczyjdqba8v8c9ry9zizvvl4j1i1ad7k"; + }) + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + python3 + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + wingpanel + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with lib; { + description = "Universal Access Indicator for Wingpanel"; + homepage = "https://github.com/elementary/wingpanel-indicator-a11y"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} From 51812f981cf609179b55bd7063ae106188f64f72 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 08:26:11 +0800 Subject: [PATCH 090/173] pantheon.wingpanel-indicator-bluetooth: unstable-2020-10-01 -> 2.1.8 --- .../desktop/wingpanel-indicators/bluetooth/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix index 03500abd6237..e2129de263f3 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-bluetooth"; - version = "unstable-2020-10-01"; + version = "2.1.8"; src = fetchFromGitHub { owner = "elementary"; repo = pname; - rev = "2b59d646ea0d66ae45dafc851374f24dcd98c064"; - sha256 = "sha256-selp70P+7RhbdHF6iiNmcNbMf/c+B9zZ6nlxwRSZGn4="; + rev = version; + sha256 = "12rasf8wy3cqnfjlm9s2qnx4drzx0w0yviagkng3kspdzm3vzsqy"; }; passthru = { From 082d6d72fddbbd44540616e5f49d0a944e45797c Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 08:28:03 +0800 Subject: [PATCH 091/173] pantheon.wingpanel-indicator-datetime: 2.2.5 -> 2.3.0 --- .../wingpanel-indicators/datetime/default.nix | 23 ++++++++++++++++--- .../datetime/fix-paths.patch | 13 +++++++++++ 2 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-paths.patch diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix index 03954fac6448..a892339fd10c 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix @@ -1,6 +1,8 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script +, substituteAll , pantheon , pkg-config , meson @@ -13,6 +15,7 @@ , evolution-data-server , libical , libgee +, libhandy , libxml2 , libsoup , libgdata @@ -21,13 +24,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-datetime"; - version = "2.2.5"; + version = "2.3.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-rZzZIh4bwZfwQFDbfPDKQtfLMJQ2IdykH1yiV6ckqnw="; + sha256 = "1mdm0fsnmmyw8c0ik2jmfri3kas9zkz1hskzf8wvbd51vnazfpgw"; }; passthru = { @@ -50,12 +53,26 @@ stdenv.mkDerivation rec { granite gtk3 libgee + libhandy libical libsoup wingpanel libgdata # required by some dependency transitively ]; + patches = [ + (substituteAll { + src = ./fix-paths.patch; + elementary_calendar = elementary-calendar; + }) + # Upstream code not respecting our localedir + # https://github.com/elementary/wingpanel-indicator-datetime/pull/269 + (fetchpatch { + url = "https://github.com/elementary/wingpanel-indicator-datetime/commit/f7befa68a9fd6215297c334a366919d3431cae65.patch"; + sha256 = "0l997b1pnpjscs886xy28as5yykxamxacvxdv8466zin7zynarfs"; + }) + ]; + postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py @@ -64,7 +81,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Date & Time Indicator for Wingpanel"; homepage = "https://github.com/elementary/wingpanel-indicator-datetime"; - license = licenses.gpl2Plus; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-paths.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-paths.patch new file mode 100644 index 000000000000..bec5f43e0d78 --- /dev/null +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-paths.patch @@ -0,0 +1,13 @@ +diff --git a/src/Widgets/calendar/CalendarView.vala b/src/Widgets/calendar/CalendarView.vala +index 6e0d530a..2f90f96c 100644 +--- a/src/Widgets/calendar/CalendarView.vala ++++ b/src/Widgets/calendar/CalendarView.vala +@@ -222,7 +222,7 @@ public class DateTime.Widgets.CalendarView : Gtk.Grid { + + // TODO: As far as maya supports it use the Dbus Activation feature to run the calendar-app. + public void show_date_in_maya (GLib.DateTime date) { +- var command = "io.elementary.calendar --show-day %s".printf (date.format ("%F")); ++ var command = "@elementary_calendar@/bin/io.elementary.calendar --show-day %s".printf (date.format ("%F")); + + try { + var appinfo = AppInfo.create_from_commandline (command, null, AppInfoCreateFlags.NONE); From 3b0bf70af4cf2d166d60c163545b354f262bdec3 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 08:29:43 +0800 Subject: [PATCH 092/173] pantheon.wingpanel-indicator-keyboard: 2.2.1 -> 2.4.0 --- .../wingpanel-indicators/keyboard/default.nix | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix index 4e2f9455073c..cd5b51a560ff 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pantheon , pkg-config @@ -14,17 +15,18 @@ , libgee , xorg , libgnomekbd +, ibus }: stdenv.mkDerivation rec { pname = "wingpanel-indicator-keyboard"; - version = "2.2.1"; + version = "2.4.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-/sTx0qT7gNj1waQg9OKqHY6MtL+p0NljiIAXKA3DYmA="; + sha256 = "10zzsil5l6snz47nx887r22sl2n0j6bg4dhxmgk3j3xp3jhgmrgl"; }; passthru = { @@ -44,6 +46,7 @@ stdenv.mkDerivation rec { buildInputs = [ granite gtk3 + ibus libgee wingpanel xorg.xkeyboardconfig @@ -54,12 +57,18 @@ stdenv.mkDerivation rec { src = ./fix-paths.patch; gkbd_keyboard_display = "${libgnomekbd}/bin/gkbd-keyboard-display"; }) + # Upstream code not respecting our localedir + # https://github.com/elementary/wingpanel-indicator-keyboard/pull/110 + (fetchpatch { + url = "https://github.com/elementary/wingpanel-indicator-keyboard/commit/ea5df2f62a99a216ee5ed137268e710490a852a4.patch"; + sha256 = "0fmdz10xgzsryj0f0dnpjrh9yygjkb91a7pxg0rwddxbprhnr7j0"; + }) ]; meta = with lib; { description = "Keyboard Indicator for Wingpanel"; homepage = "https://github.com/elementary/wingpanel-indicator-keyboard"; - license = licenses.lgpl21Plus; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; From e654bff699efca52d212d56e60536260ca52c528 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 10:00:23 +0800 Subject: [PATCH 093/173] pantheon.wingpanel-indicator-network: 2.2.4 -> 2.3.0 --- .../wingpanel-indicators/network/default.nix | 20 +++++++++++++++++-- .../network/fix-paths.patch | 13 ++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/fix-paths.patch diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix index ab898084c087..3b599e455f6f 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix @@ -1,6 +1,8 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script +, substituteAll , pantheon , pkg-config , meson @@ -12,17 +14,18 @@ , libnma , wingpanel , libgee +, elementary-capnet-assist }: stdenv.mkDerivation rec { pname = "wingpanel-indicator-network"; - version = "2.2.4"; + version = "2.3.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-wVHvHduUT55rIWRfRWg3Z3jL3FdzUJfiqFONRmpCR8k="; + sha256 = "0q5ad2sj0nmigrh1rykb2kvik3hzibzyafdvkkmjd6y92145lwl1"; }; passthru = { @@ -47,6 +50,19 @@ stdenv.mkDerivation rec { wingpanel ]; + patches = [ + (substituteAll { + src = ./fix-paths.patch; + elementary_capnet_assist = elementary-capnet-assist; + }) + # Upstream code not respecting our localedir + # https://github.com/elementary/wingpanel-indicator-network/pull/228 + (fetchpatch { + url = "https://github.com/elementary/wingpanel-indicator-network/commit/eacc7d46a94a980005e87e38e6c943143a09692a.patch"; + sha256 = "1svg07fqmplchp1ass0h8qkr3g24pkw8dcsnd54ddmvnjzwrzz0a"; + }) + ]; + meta = with lib; { description = "Network Indicator for Wingpanel"; homepage = "https://github.com/elementary/wingpanel-indicator-network"; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/fix-paths.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/fix-paths.patch new file mode 100644 index 000000000000..b98c50b3e49a --- /dev/null +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/fix-paths.patch @@ -0,0 +1,13 @@ +diff --git a/src/Indicator.vala b/src/Indicator.vala +index 83ce932a..f95ed142 100644 +--- a/src/Indicator.vala ++++ b/src/Indicator.vala +@@ -67,7 +67,7 @@ public class Network.Indicator : Wingpanel.Indicator { + + if (network_monitor.get_connectivity () == NetworkConnectivity.FULL || network_monitor.get_connectivity () == NetworkConnectivity.PORTAL) { + try { +- var appinfo = AppInfo.create_from_commandline ("io.elementary.capnet-assist", null, AppInfoCreateFlags.NONE); ++ var appinfo = AppInfo.create_from_commandline ("@elementary_capnet_assist@/bin/io.elementary.capnet-assist", null, AppInfoCreateFlags.NONE); + appinfo.launch (null, null); + } catch (Error e) { + warning ("%s\n", e.message); From 66f99d3b61a5b852ec0b729df55cd687be417c91 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 10:01:52 +0800 Subject: [PATCH 094/173] pantheon.wingpanel-indicator-nightlight: 2.0.4 -> 2.1.0 --- .../wingpanel-indicators/nightlight/default.nix | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix index 4481c181f53d..8d454cd51ee3 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pantheon , pkg-config @@ -15,15 +16,24 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-nightlight"; - version = "2.0.4"; + version = "2.1.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-0f03XO74ezzS/Uy0mXT4raoazETL/SOVh58sAo9bEIA="; + sha256 = "1zxjw68byg4sjn8lzsidzmy4ipwxgnv8rm529a7wzlpgj2xq3x4j"; }; + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/wingpanel-indicator-nightlight/pull/91 + (fetchpatch { + url = "https://github.com/elementary/wingpanel-indicator-nightlight/commit/4e15f71ed958df3569b2f1e224b9fb18613281f1.patch"; + sha256 = "07awmswyy0988pm6ggyz22mllja675cbdzrjdqc1xd4knwcgy77v"; + }) + ]; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; @@ -45,8 +55,6 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel"; - meta = with lib; { description = "Night Light Indicator for Wingpanel"; homepage = "https://github.com/elementary/wingpanel-indicator-nightlight"; From 13d1f3a08fa213445aed7e405c654435ca45a69c Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 10:05:10 +0800 Subject: [PATCH 095/173] pantheon.wingpanel-indicator-notifications: 2.1.4 -> 6.0.0 --- .../wingpanel-indicators/notifications/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix index 97ab0cb80ed3..77b0aabef64d 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix @@ -11,26 +11,27 @@ , granite , wingpanel , libgee +, libhandy , elementary-notifications }: stdenv.mkDerivation rec { pname = "wingpanel-indicator-notifications"; - version = "2.1.4"; + version = "6.0.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-tVPSJO/9IXlibLkb6Cv+8azdvuXbcNOI1qYk4VQc4WI="; + sha256 = "1pvcpk1d2zh9pvw0clv3bhf2plcww6nbxs6j7xjbvnaqs7d6i1k2"; }; patches = [ - # Fix do not disturb on NixOS - # https://github.com/elementary/wingpanel-indicator-notifications/pull/110 + # Upstream code not respecting our localedir + # https://github.com/elementary/wingpanel-indicator-notifications/pull/218 (fetchpatch { - url = "https://github.com/elementary/wingpanel-indicator-notifications/commit/02b1e226c0262c1535fdf2b4f1daba6be9084f67.patch"; - sha256 = "1a5phygygndr28yx8yp0lyk0wxypc5656dpidw1z8x1yd6xysqhy"; + url = "https://github.com/elementary/wingpanel-indicator-notifications/commit/c7e73f0683561345935a959dafa2083b7e22fe99.patch"; + sha256 = "10xiyq42bqfmih1jgqpq64nha3n0y7ra3j7j0q27rn5hhhgbyjs7"; }) ]; @@ -52,6 +53,7 @@ stdenv.mkDerivation rec { granite gtk3 libgee + libhandy wingpanel ]; From 243f51d34a0815e08ce0c4e522977294e835d3ac Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 10:07:16 +0800 Subject: [PATCH 096/173] pantheon.wingpanel-indicator-power: 2.2.0 -> 6.1.0 --- .../wingpanel-indicators/power/default.nix | 17 ++++++++++++++--- .../wingpanel-indicators/power/fix-paths.patch | 13 +++++++++++++ 2 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/fix-paths.patch diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix index 69a17b9dd30a..8d0afb560c2e 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix @@ -1,7 +1,9 @@ { lib, stdenv , fetchFromGitHub +, substituteAll , nix-update-script , pantheon +, gnome , pkg-config , meson , python3 @@ -11,6 +13,7 @@ , granite , bamf , libgtop +, libnotify , udev , wingpanel , libgee @@ -18,13 +21,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-power"; - version = "2.2.0"; + version = "6.1.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-wjYZXFnzvPSukzh1BNvyaFxKpYm+kNNFm5AsthLXGVE="; + sha256 = "1zlpnl7983jkpy2nik08ih8lwrqvm456h993ixa6armzlazdvnjk"; }; passthru = { @@ -47,10 +50,18 @@ stdenv.mkDerivation rec { gtk3 libgee libgtop + libnotify udev wingpanel ]; + patches = [ + (substituteAll { + src = ./fix-paths.patch; + gnome_power_manager = gnome.gnome-power-manager; + }) + ]; + postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py @@ -59,7 +70,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Power Indicator for Wingpanel"; homepage = "https://github.com/elementary/wingpanel-indicator-power"; - license = licenses.gpl2Plus; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/fix-paths.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/fix-paths.patch new file mode 100644 index 000000000000..532001eb663b --- /dev/null +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/fix-paths.patch @@ -0,0 +1,13 @@ +diff --git a/src/Widgets/DeviceList.vala b/src/Widgets/DeviceList.vala +index 0c56f46..33d97b3 100644 +--- a/src/Widgets/DeviceList.vala ++++ b/src/Widgets/DeviceList.vala +@@ -39,7 +39,7 @@ public class Power.Widgets.DeviceList : Gtk.ListBox { + string device_path = path_entries.@get (value); + try { + AppInfo statistics_app = AppInfo.create_from_commandline ( +- "gnome-power-statistics --device " + device_path, ++ "@gnome_power_manager@/bin/gnome-power-statistics --device " + device_path, + "", + AppInfoCreateFlags.NONE + ); From aeeed28b6e1b80a3b841d921c7c58c1f08b22a22 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 10:08:56 +0800 Subject: [PATCH 097/173] pantheon.wingpanel-indicator-session: unstable-2020-09-13 -> 2.3.0 --- .../wingpanel-indicators/session/default.nix | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix index a6c08b613bbd..e9c77a8d45da 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix @@ -12,19 +12,29 @@ , wingpanel , accountsservice , libgee +, libhandy }: stdenv.mkDerivation rec { pname = "wingpanel-indicator-session"; - version = "unstable-2020-09-13"; + version = "2.3.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; - rev = "e65c95f46adbfd598ad61933394d7bc3c5998278"; - sha256 = "sha256-QKOfgAc6pDQYpETrFunZB6+rF1P8XIf0pjft/t9aWW0="; + rev = version; + sha256 = "0hww856qjl4kjmmksd5gp8bc5vj4fhs2s9fmbnpbf88lg5ds0wv0"; }; + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/wingpanel-indicator-session/pull/162 + (fetchpatch { + url = "https://github.com/elementary/wingpanel-indicator-session/commit/e85032da8e923df4589dc75ccded10026b6c1cd7.patch"; + sha256 = "139b2zbc6qjaw41nwfjkqv4npahkzryv4p5m6v10273clv6l72ng"; + }) + ]; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; @@ -43,6 +53,7 @@ stdenv.mkDerivation rec { granite gtk3 libgee + libhandy wingpanel ]; From 798cc01d0c0834c2a2c3b923ff07917edb5703da Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 10:10:05 +0800 Subject: [PATCH 098/173] pantheon.wingpanel-indicator-sound: 2.1.6 -> 6.0.0 --- .../wingpanel-indicators/sound/default.nix | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix index 25707f39e46b..00ae9bfc4b60 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pantheon , pkg-config @@ -19,15 +20,24 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-sound"; - version = "2.1.6"; + version = "6.0.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-WGkxLsbdJ7Z7kolymYpggsVy4cN4CicNKdfCbunklSI="; + sha256 = "0cv97c0qrhqisyghy9a9qr4ffcx3g4bkswxm6rn4r2wfg4gvljri"; }; + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/wingpanel-indicator-sound/pull/216 + (fetchpatch { + url = "https://github.com/elementary/wingpanel-indicator-sound/commit/df816104c15e4322c1077313b1f43114cdaf710e.patch"; + sha256 = "029z7l467jz1ymxwrzrf874062r6xmskl7mldpq39jh110fijy5l"; + }) + ]; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; @@ -61,7 +71,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Sound Indicator for Wingpanel"; homepage = "https://github.com/elementary/wingpanel-indicator-sound"; - license = licenses.gpl2Plus; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; From 634488aa608c863fa54eaaa232024856bc3463dd Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 17 Jul 2021 17:59:44 +0800 Subject: [PATCH 099/173] gnome.mutter338: 3.34.6 -> 3.38.6 renamed from gnome.mutter334 not using mutter 40.x due to issues like buggy multitasking thumbnails after sliding --- .../0001-EGL-Include-EGL-eglmesaext.h.patch | 74 ---------- .../mutter/3.34/0002-drop-inheritable.patch | 135 ------------------ .../3.34/0003-Fix-glitches-in-gala.patch | 33 ----- ...er-track-changes-in-GLib-and-Sysprof.patch | 58 -------- ...isplay.h-to-meta-workspace-manager.h.patch | 32 ----- ...-build-bump-ABI-to-sysprof-capture-4.patch | 102 ------------- .../core/mutter/3.34/0007-fix-paths.patch | 27 ---- .../core/mutter/{3.34 => 3.38}/default.nix | 94 +++++++----- .../mutter/{ => 3.38}/drop-inheritable.patch | 0 .../mutter/3.38/fix-glitches-in-gala.patch | 27 ++++ .../gnome/core/mutter/3.38/fix-paths.patch | 13 ++ pkgs/desktops/gnome/default.nix | 9 +- pkgs/desktops/pantheon/default.nix | 2 +- 13 files changed, 108 insertions(+), 498 deletions(-) delete mode 100644 pkgs/desktops/gnome/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patch delete mode 100644 pkgs/desktops/gnome/core/mutter/3.34/0002-drop-inheritable.patch delete mode 100644 pkgs/desktops/gnome/core/mutter/3.34/0003-Fix-glitches-in-gala.patch delete mode 100644 pkgs/desktops/gnome/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patch delete mode 100644 pkgs/desktops/gnome/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch delete mode 100644 pkgs/desktops/gnome/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patch delete mode 100644 pkgs/desktops/gnome/core/mutter/3.34/0007-fix-paths.patch rename pkgs/desktops/gnome/core/mutter/{3.34 => 3.38}/default.nix (56%) rename pkgs/desktops/gnome/core/mutter/{ => 3.38}/drop-inheritable.patch (100%) create mode 100644 pkgs/desktops/gnome/core/mutter/3.38/fix-glitches-in-gala.patch create mode 100644 pkgs/desktops/gnome/core/mutter/3.38/fix-paths.patch diff --git a/pkgs/desktops/gnome/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patch b/pkgs/desktops/gnome/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patch deleted file mode 100644 index 3691c034d1ee..000000000000 --- a/pkgs/desktops/gnome/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d Mon Sep 17 00:00:00 2001 -Message-Id: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -From: WORLDofPEACE <worldofpeace@protonmail.ch> -Date: Sun, 20 Oct 2019 12:04:31 +0200 -Subject: [PATCH 1/7] EGL: Include EGL/eglmesaext.h - -From: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> - -The eglext.h shipped by libglvnd does not include the Mesa extensions, -unlike the header shipped in Mesa. - -Fixes https://gitlab.gnome.org/GNOME/mutter/issues/876 - -(cherry picked from commit a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90) ---- - cogl/cogl/meson.build | 2 +- - src/backends/meta-egl-ext.h | 1 + - src/backends/meta-egl.c | 1 + - src/backends/meta-egl.h | 1 + - 4 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/cogl/cogl/meson.build b/cogl/cogl/meson.build -index 1057ef9..9a64294 100644 ---- a/cogl/cogl/meson.build -+++ b/cogl/cogl/meson.build -@@ -48,7 +48,7 @@ cogl_gl_header_h = configure_file( - built_headers += [cogl_gl_header_h] - - if have_egl -- cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>' -+ cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>\n#include <EGL/eglmesaext.h>' - else - cogl_egl_includes_string = '' - endif -diff --git a/src/backends/meta-egl-ext.h b/src/backends/meta-egl-ext.h -index 8705e7d..db0b74f 100644 ---- a/src/backends/meta-egl-ext.h -+++ b/src/backends/meta-egl-ext.h -@@ -29,6 +29,7 @@ - - #include <EGL/egl.h> - #include <EGL/eglext.h> -+#include <EGL/eglmesaext.h> - - /* - * This is a little different to the tests shipped with EGL implementations, -diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c -index 6554be9..fdeff4f 100644 ---- a/src/backends/meta-egl.c -+++ b/src/backends/meta-egl.c -@@ -27,6 +27,7 @@ - - #include <EGL/egl.h> - #include <EGL/eglext.h> -+#include <EGL/eglmesaext.h> - #include <gio/gio.h> - #include <glib.h> - #include <glib-object.h> -diff --git a/src/backends/meta-egl.h b/src/backends/meta-egl.h -index f2a8164..4591e7d 100644 ---- a/src/backends/meta-egl.h -+++ b/src/backends/meta-egl.h -@@ -28,6 +28,7 @@ - - #include <EGL/egl.h> - #include <EGL/eglext.h> -+#include <EGL/eglmesaext.h> - #include <glib-object.h> - - #define META_EGL_ERROR meta_egl_error_quark () - -base-commit: 48ffbb582404c1d52196eb6cc5f082c31ca4910c --- -git-series 0.9.1 diff --git a/pkgs/desktops/gnome/core/mutter/3.34/0002-drop-inheritable.patch b/pkgs/desktops/gnome/core/mutter/3.34/0002-drop-inheritable.patch deleted file mode 100644 index 28f89ac7c0c6..000000000000 --- a/pkgs/desktops/gnome/core/mutter/3.34/0002-drop-inheritable.patch +++ /dev/null @@ -1,135 +0,0 @@ -From 14cee101882e65a57dcd66ea0f8399477b23ce7e Mon Sep 17 00:00:00 2001 -Message-Id: <14cee101882e65a57dcd66ea0f8399477b23ce7e.1601082838.git-series.worldofpeace@protonmail.ch> -In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -From: WORLDofPEACE <worldofpeace@protonmail.ch> -Date: Sat, 19 Oct 2019 13:26:05 +0200 -Subject: [PATCH 2/7] drop inheritable - -From: Tor Hedin Brønner <torhedinbronner@gmail.com> - -Adapted from https://gitlab.gnome.org/GNOME/mutter/commit/c53c47ae123b03cc66044d2b846342123ecb3a01 - -We only want to drop inheritable though, to prevent the ambient set leaking further than gnome-shell. ---- - config.h.meson | 3 +++ - meson.build | 5 +++++ - meson_options.txt | 6 ++++++ - src/core/main.c | 10 ++++++++++ - src/meson.build | 1 + - 5 files changed, 25 insertions(+) - -diff --git a/config.h.meson b/config.h.meson -index 0bab718..202fb7e 100644 ---- a/config.h.meson -+++ b/config.h.meson -@@ -58,6 +58,9 @@ - /* Xwayland applications allowed to issue keyboard grabs */ - #mesondefine XWAYLAND_GRAB_DEFAULT_ACCESS_RULES - -+/* Defined if libcap-ng is available */ -+#mesondefine HAVE_LIBCAPNG -+ - /* XKB base prefix */ - #mesondefine XKB_BASE - -diff --git a/meson.build b/meson.build -index 29d495b..86970df 100644 ---- a/meson.build -+++ b/meson.build -@@ -35,6 +35,7 @@ libstartup_notification_req = '>= 0.7' - libcanberra_req = '>= 0.26' - libwacom_req = '>= 0.13' - atk_req = '>= 2.5.3' -+libcapng_req = '>= 0.7.9' - - # optional version requirements - udev_req = '>= 228' -@@ -125,6 +126,7 @@ xau_dep = dependency('xau') - ice_dep = dependency('ice') - atk_dep = dependency('atk', version: atk_req) - libcanberra_dep = dependency('libcanberra', version: libcanberra_req) -+libcapng_dep = dependency('libcap-ng', required: get_option('libcapng')) - - # For now always require X11 support - have_x11 = true -@@ -256,6 +258,7 @@ have_core_tests = false - have_cogl_tests = false - have_clutter_tests = false - have_installed_tests = false -+have_libcapng = libcapng_dep.found() - - if have_tests - have_core_tests = get_option('core_tests') -@@ -361,6 +364,7 @@ cdata.set('HAVE_LIBWACOM', have_libwacom) - cdata.set('HAVE_SM', have_sm) - cdata.set('HAVE_STARTUP_NOTIFICATION', have_startup_notification) - cdata.set('HAVE_INTROSPECTION', have_introspection) -+cdata.set('HAVE_LIBCAPNG', have_libcapng) - cdata.set('HAVE_PROFILER', have_profiler) - - xkb_base = xkeyboard_config_dep.get_pkgconfig_variable('xkb_base') -@@ -443,6 +447,7 @@ output = [ - ' Startup notification..... ' + have_startup_notification.to_string(), - ' Introspection............ ' + have_introspection.to_string(), - ' Profiler................. ' + have_profiler.to_string(), -+ ' libcap-ng................ ' + have_libcapng.to_string(), - '', - ' Tests:', - '', -diff --git a/meson_options.txt b/meson_options.txt -index 73aa7ad..8bfaacd 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -152,3 +152,9 @@ option('xwayland_grab_default_access_rules', - value: 'gnome-boxes,remote-viewer,virt-viewer,virt-manager,vinagre,vncviewer,Xephyr', - description: 'Comma delimited list of applications ressources or class allowed to issue X11 grabs in Xwayland' - ) -+ -+option('libcapng', -+ type: 'feature', -+ value: 'auto', -+ description: 'Enable libcap-ng support' -+) -diff --git a/src/core/main.c b/src/core/main.c -index 3935f35..ecf3cb2 100644 ---- a/src/core/main.c -+++ b/src/core/main.c -@@ -66,6 +66,10 @@ - #include <girepository.h> - #endif - -+#ifdef HAVE_LIBCAPNG -+#include <cap-ng.h> -+#endif -+ - #if defined(HAVE_NATIVE_BACKEND) && defined(HAVE_WAYLAND) - #include <systemd/sd-login.h> - #endif /* HAVE_WAYLAND && HAVE_NATIVE_BACKEND */ -@@ -673,6 +677,12 @@ meta_run (void) - if (!meta_display_open ()) - meta_exit (META_EXIT_ERROR); - -+#ifdef HAVE_LIBCAPNG -+ capng_clear(CAPNG_SELECT_BOTH); -+ capng_update(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED, CAP_SYS_NICE); -+ capng_apply(CAPNG_SELECT_BOTH); -+#endif -+ - g_main_loop_run (meta_main_loop); - - meta_finalize (); -diff --git a/src/meson.build b/src/meson.build -index 90d8073..a9fffa2 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -18,6 +18,7 @@ mutter_pkg_deps = [ - glib_dep, - gsettings_desktop_schemas_dep, - gtk3_dep, -+ libcapng_dep, - pango_dep, - ] - --- -git-series 0.9.1 diff --git a/pkgs/desktops/gnome/core/mutter/3.34/0003-Fix-glitches-in-gala.patch b/pkgs/desktops/gnome/core/mutter/3.34/0003-Fix-glitches-in-gala.patch deleted file mode 100644 index 9f78a324d9da..000000000000 --- a/pkgs/desktops/gnome/core/mutter/3.34/0003-Fix-glitches-in-gala.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 5d2b9a03f24b4dbc423adff52b2eeb478c4b5913 Mon Sep 17 00:00:00 2001 -Message-Id: <5d2b9a03f24b4dbc423adff52b2eeb478c4b5913.1601082838.git-series.worldofpeace@protonmail.ch> -In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -From: WORLDofPEACE <worldofpeace@protonmail.ch> -Date: Sun, 5 Apr 2020 23:06:03 -0400 -Subject: [PATCH 3/7] Fix glitches in gala - -From: worldofpeace <worldofpeace@protonmail.ch> - -This fixes issues for users of mutter like in gala[0]. - -Upstream report: https://gitlab.gnome.org/GNOME/mutter/issues/536 -[0]: https://github.com/elementary/gala/issues/605 ---- - clutter/clutter/clutter-actor.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c -index ecf9a59..07b8b71 100644 ---- a/clutter/clutter/clutter-actor.c -+++ b/clutter/clutter/clutter-actor.c -@@ -17831,7 +17831,7 @@ _clutter_actor_get_paint_volume_mutable (ClutterActor *self) - if (_clutter_actor_get_paint_volume_real (self, &priv->paint_volume)) - { - priv->paint_volume_valid = TRUE; -- priv->needs_paint_volume_update = FALSE; -+ //priv->needs_paint_volume_update = FALSE; - return &priv->paint_volume; - } - else --- -git-series 0.9.1 diff --git a/pkgs/desktops/gnome/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patch b/pkgs/desktops/gnome/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patch deleted file mode 100644 index cd98d3950415..000000000000 --- a/pkgs/desktops/gnome/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 5a9f9fbaa1322b2ad0a52fcdd171d4f44d031918 Mon Sep 17 00:00:00 2001 -Message-Id: <5a9f9fbaa1322b2ad0a52fcdd171d4f44d031918.1601082838.git-series.worldofpeace@protonmail.ch> -In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -From: WORLDofPEACE <worldofpeace@protonmail.ch> -Date: Wed, 30 Oct 2019 15:23:24 -0700 -Subject: [PATCH 4/7] profiler: track changes in GLib and Sysprof - -From: Christian Hergert <chergert@redhat.com> - -This tracks the changes to gdbus-codegen in terms of how GUnixFDList is -done to use the UnixFD annotation. - -https://gitlab.gnome.org/GNOME/mutter/merge_requests/908 -(cherry picked from commit 605171291993460f31d470a8143d6438d0c6169c) ---- - src/backends/meta-profiler.c | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -diff --git a/src/backends/meta-profiler.c b/src/backends/meta-profiler.c -index 10d433a..0d62701 100644 ---- a/src/backends/meta-profiler.c -+++ b/src/backends/meta-profiler.c -@@ -51,13 +51,12 @@ G_DEFINE_TYPE_WITH_CODE (MetaProfiler, - static gboolean - handle_start (MetaDBusSysprof3Profiler *dbus_profiler, - GDBusMethodInvocation *invocation, -+ GUnixFDList *fd_list, - GVariant *options, - GVariant *fd_variant) - { - MetaProfiler *profiler = META_PROFILER (dbus_profiler); - GMainContext *main_context = g_main_context_default (); -- GDBusMessage *message; -- GUnixFDList *fd_list; - const char *group_name; - int position; - int fd = -1; -@@ -73,8 +72,6 @@ handle_start (MetaDBusSysprof3Profiler *dbus_profiler, - - g_variant_get (fd_variant, "h", &position); - -- message = g_dbus_method_invocation_get_message (invocation); -- fd_list = g_dbus_message_get_unix_fd_list (message); - if (fd_list) - fd = g_unix_fd_list_get (fd_list, position, NULL); - -@@ -98,7 +95,7 @@ handle_start (MetaDBusSysprof3Profiler *dbus_profiler, - - g_debug ("Profiler running"); - -- meta_dbus_sysprof3_profiler_complete_start (dbus_profiler, invocation); -+ meta_dbus_sysprof3_profiler_complete_start (dbus_profiler, invocation, NULL); - return TRUE; - } - --- -git-series 0.9.1 diff --git a/pkgs/desktops/gnome/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch b/pkgs/desktops/gnome/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch deleted file mode 100644 index 138970ddda0a..000000000000 --- a/pkgs/desktops/gnome/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 2caa072dd8e283a8e43febeab55fe8b76dda69b7 Mon Sep 17 00:00:00 2001 -Message-Id: <2caa072dd8e283a8e43febeab55fe8b76dda69b7.1601082838.git-series.worldofpeace@protonmail.ch> -In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -From: WORLDofPEACE <worldofpeace@protonmail.ch> -Date: Wed, 29 Jan 2020 11:02:33 +0100 -Subject: [PATCH 5/7] meta: Add missing display.h to meta-workspace-manager.h - -From: Corentin Noël <corentin@elementary.io> - -This is required because MetaDisplayCorner is only defined in display.h - -https://gitlab.gnome.org/GNOME/mutter/merge_requests/1025 -(cherry picked from commit 9d390ee49fb1f6300336e82ae94cc8061c6bae12) ---- - src/meta/meta-workspace-manager.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/meta/meta-workspace-manager.h b/src/meta/meta-workspace-manager.h -index 0390c44..92cd681 100644 ---- a/src/meta/meta-workspace-manager.h -+++ b/src/meta/meta-workspace-manager.h -@@ -26,6 +26,7 @@ - #include <glib-object.h> - - #include <meta/common.h> -+#include <meta/display.h> - #include <meta/prefs.h> - #include <meta/types.h> - --- -git-series 0.9.1 diff --git a/pkgs/desktops/gnome/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patch b/pkgs/desktops/gnome/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patch deleted file mode 100644 index 6d88f0f5e766..000000000000 --- a/pkgs/desktops/gnome/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 0c95e5a5b31eab93f149b90982680f38e8977063 Mon Sep 17 00:00:00 2001 -Message-Id: <0c95e5a5b31eab93f149b90982680f38e8977063.1601082838.git-series.worldofpeace@protonmail.ch> -In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -From: WORLDofPEACE <worldofpeace@protonmail.ch> -Date: Sat, 4 Jul 2020 12:01:28 -0700 -Subject: [PATCH 6/7] build: bump ABI to sysprof-capture-4 - -From: Christian Hergert <chergert@redhat.com> - -GLib will now be linking against sysprof-capture-4.a. To support that, -sysprof had to remove the GLib dependency from sysprof-capture-4 which -had the side-effect of breaking ABi. - -This bumps the dependency and includes a fallback to compile just the -libsysprof-capture-4.a using a subproject wrap. - -https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1352 -(cherry picked from commit 2c08eb6d163b6758efec9eafe1d5c17fc1ab3692) ---- - meson.build | 20 ++++++++++++++++++-- - src/meson.build | 8 ++++++-- - subprojects/sysprof.wrap | 4 ++++ - 3 files changed, 28 insertions(+), 4 deletions(-) - create mode 100644 subprojects/sysprof.wrap - -diff --git a/meson.build b/meson.build -index 86970df..3dc0098 100644 ---- a/meson.build -+++ b/meson.build -@@ -1,6 +1,6 @@ - project('mutter', 'c', - version: '3.34.6', -- meson_version: '>= 0.50.0', -+ meson_version: '>= 0.51.0', - license: 'GPLv2+' - ) - -@@ -52,6 +52,9 @@ gbm_req = '>= 10.3' - # screen cast version requirements - libpipewire_req = '>= 0.2.5' - -+# profiler requirements -+sysprof_req = '>= 3.37.2' -+ - gnome = import('gnome') - pkg = import('pkgconfig') - i18n = import('i18n') -@@ -275,7 +278,20 @@ endif - - have_profiler = get_option('profiler') - if have_profiler -- sysprof_dep = dependency('sysprof-capture-3') -+ # libsysprof-capture support -+ sysprof_dep = dependency('sysprof-capture-4', -+ required: true, -+ default_options: [ -+ 'enable_examples=false', -+ 'enable_gtk=false', -+ 'enable_tests=false', -+ 'enable_tools=false', -+ 'libsysprof=false', -+ 'with_sysprofd=none', -+ 'help=false', -+ ], -+ fallback: ['sysprof', 'libsysprof_capture_dep'], -+ ) - endif - - required_functions = [ -diff --git a/src/meson.build b/src/meson.build -index a9fffa2..a91baa1 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -711,9 +711,13 @@ if have_profiler - 'backends/meta-profiler.h', - ] - -- dbus_interfaces_dir = join_paths(datadir, 'dbus-1', 'interfaces') -- sysprof3_dbus_file = join_paths(dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml') -+ if sysprof_dep.type_name() == 'pkgconfig' -+ sysprof_dbus_interfaces_dir = join_paths(sysprof_dep.get_pkgconfig_variable('datadir'), 'dbus-1', 'interfaces') -+ else -+ sysprof_dbus_interfaces_dir = join_paths(meson.source_root(), 'subprojects', 'sysprof', 'src') -+ endif - -+ sysprof3_dbus_file = join_paths(sysprof_dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml') - dbus_sysprof3_profiler_built_sources = gnome.gdbus_codegen('meta-dbus-sysprof3-profiler', - sysprof3_dbus_file, - interface_prefix: 'org.gnome.', -diff --git a/subprojects/sysprof.wrap b/subprojects/sysprof.wrap -new file mode 100644 -index 0000000..c8f5883 ---- /dev/null -+++ b/subprojects/sysprof.wrap -@@ -0,0 +1,4 @@ -+[wrap-git] -+directory=sysprof -+url=https://gitlab.gnome.org/GNOME/sysprof.git -+revision=cae28263ff5dd4a510d82f3dc2e3a3b3d9b386fb --- -git-series 0.9.1 diff --git a/pkgs/desktops/gnome/core/mutter/3.34/0007-fix-paths.patch b/pkgs/desktops/gnome/core/mutter/3.34/0007-fix-paths.patch deleted file mode 100644 index 8376fc649b5f..000000000000 --- a/pkgs/desktops/gnome/core/mutter/3.34/0007-fix-paths.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 7bbbf082599ec786f64f2135c9acc0b4fe2ecbf4 Mon Sep 17 00:00:00 2001 -Message-Id: <7bbbf082599ec786f64f2135c9acc0b4fe2ecbf4.1601082838.git-series.worldofpeace@protonmail.ch> -In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -From: WORLDofPEACE <worldofpeace@protonmail.ch> -Date: Fri, 25 Sep 2020 20:48:33 -0400 -Subject: [PATCH 7/7] fix paths - ---- - src/core/util.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/util.c b/src/core/util.c -index 79bcfdc..87ce549 100644 ---- a/src/core/util.c -+++ b/src/core/util.c -@@ -623,7 +623,7 @@ meta_show_dialog (const char *type, - - args = g_ptr_array_new (); - -- append_argument (args, "zenity"); -+ append_argument (args, "@zenity@/bin/zenity"); - append_argument (args, type); - - if (display) --- -git-series 0.9.1 diff --git a/pkgs/desktops/gnome/core/mutter/3.34/default.nix b/pkgs/desktops/gnome/core/mutter/3.38/default.nix similarity index 56% rename from pkgs/desktops/gnome/core/mutter/3.34/default.nix rename to pkgs/desktops/gnome/core/mutter/3.38/default.nix index 42f07d45e62f..2d3f9f7bb75a 100644 --- a/pkgs/desktops/gnome/core/mutter/3.34/default.nix +++ b/pkgs/desktops/gnome/core/mutter/3.38/default.nix @@ -1,35 +1,35 @@ { fetchurl -, fetchpatch , substituteAll -, lib, stdenv +, runCommand +, lib +, stdenv , pkg-config , gnome -, pantheon , gettext , gobject-introspection -, upower , cairo , pango -, cogl , json-glib , libstartup_notification , zenity -, libcanberra-gtk3 +, libcanberra , ninja , xkeyboard_config , libxkbfile +, libXdamage , libxkbcommon , libXtst , libinput +, libdrm , gsettings-desktop-schemas , glib , gtk3 , gnome-desktop -, geocode-glib -, pipewire_0_2 +, pipewire , libgudev , libwacom , xwayland +, mesa , meson , gnome-settings-daemon , xorgserver @@ -39,23 +39,47 @@ , desktop-file-utils , libcap_ng , egl-wayland +, graphene +, wayland-protocols +, pantheon }: -stdenv.mkDerivation rec { +let self = stdenv.mkDerivation rec { pname = "mutter"; - version = "3.34.6"; + version = "3.38.6"; outputs = [ "out" "dev" "man" ]; src = fetchurl { url = "mirror://gnome/sources/mutter/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - hash = "sha256-I73ofTO4mBNYgxzsiRW7X/Hq+cHedMkM0WYLG5WINSY="; + sha256 = "0mxln9azl4krmknq2vmhd15lgpa2q7gh7whiv14nsqbr9iaxmg2x"; }; + patches = [ + # Drop inheritable cap_sys_nice, to prevent the ambient set from leaking + # from mutter/gnome-shell, see https://github.com/NixOS/nixpkgs/issues/71381 + ./drop-inheritable.patch + + # Fixes issues for users of mutter like in gala. + # https://github.com/elementary/gala/issues/605 + # https://gitlab.gnome.org/GNOME/mutter/issues/536 + ./fix-glitches-in-gala.patch + + (substituteAll { + src = ./fix-paths.patch; + inherit zenity; + }) + ]; + mesonFlags = [ "-Degl_device=true" "-Dinstalled_tests=false" # TODO: enable these "-Dwayland_eglstream=true" + "-Dprofiler=true" + "-Dxwayland_path=${xwayland}/bin/Xwayland" + # This should be auto detected, but it looks like it manages a false + # positive. + "-Dxwayland_initfd=disabled" ]; propagatedBuildInputs = [ @@ -63,11 +87,13 @@ stdenv.mkDerivation rec { json-glib libXtst libcap_ng + graphene ]; nativeBuildInputs = [ desktop-file-utils gettext + mesa # needed for gbm meson ninja pkg-config @@ -78,42 +104,28 @@ stdenv.mkDerivation rec { buildInputs = [ cairo - cogl egl-wayland - geocode-glib glib gnome-desktop gnome-settings-daemon gobject-introspection gsettings-desktop-schemas gtk3 - libcanberra-gtk3 + libcanberra + libdrm libgudev libinput libstartup_notification libwacom libxkbcommon libxkbfile + libXdamage pango - pipewire_0_2 # TODO: backport pipewire 0.3 support + pipewire sysprof - upower xkeyboard_config xwayland - zenity - ]; - - patches = [ - ./0001-EGL-Include-EGL-eglmesaext.h.patch - ./0002-drop-inheritable.patch - ./0003-Fix-glitches-in-gala.patch - ./0004-profiler-track-changes-in-GLib-and-Sysprof.patch - ./0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch - ./0006-build-bump-ABI-to-sysprof-capture-4.patch - (substituteAll { - src = ./0007-fix-paths.patch; - inherit zenity; - }) + wayland-protocols ]; postPatch = '' @@ -124,11 +136,29 @@ stdenv.mkDerivation rec { ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas" ''; + # Install udev files into our own tree. + PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev"; + + passthru = { + libdir = "${self}/lib/mutter-7"; + + tests = { + libdirExists = runCommand "mutter-libdir-exists" {} '' + if [[ ! -d ${self.libdir} ]]; then + echo "passthru.libdir should contain a directory, “${self.libdir}” is not one." + exit 1 + fi + touch $out + ''; + }; + }; + meta = with lib; { description = "A window manager for GNOME"; homepage = "https://gitlab.gnome.org/GNOME/mutter"; - license = licenses.gpl2; + license = licenses.gpl2Plus; maintainers = pantheon.maintainers; platforms = platforms.linux; }; -} +}; +in self diff --git a/pkgs/desktops/gnome/core/mutter/drop-inheritable.patch b/pkgs/desktops/gnome/core/mutter/3.38/drop-inheritable.patch similarity index 100% rename from pkgs/desktops/gnome/core/mutter/drop-inheritable.patch rename to pkgs/desktops/gnome/core/mutter/3.38/drop-inheritable.patch diff --git a/pkgs/desktops/gnome/core/mutter/3.38/fix-glitches-in-gala.patch b/pkgs/desktops/gnome/core/mutter/3.38/fix-glitches-in-gala.patch new file mode 100644 index 000000000000..973768239792 --- /dev/null +++ b/pkgs/desktops/gnome/core/mutter/3.38/fix-glitches-in-gala.patch @@ -0,0 +1,27 @@ +From a58ace29db48f98ad59f4f309d49b458c68a6eec Mon Sep 17 00:00:00 2001 +From: Bobby Rong <rjl931189261@126.com> +Date: Wed, 28 Jul 2021 22:08:11 +0800 +Subject: [PATCH] Fix glitches in gala + +Co-Authored-By: WORLDofPEACE <worldofpeace@protonmail.ch> + +This fixes issues for users of mutter like in gala[0]. + +Upstream report: https://gitlab.gnome.org/GNOME/mutter/issues/536 +[0]: https://github.com/elementary/gala/issues/605 +--- + clutter/clutter/clutter-actor.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c +index febfb31918..71906000c0 100644 +--- a/clutter/clutter/clutter-actor.c ++++ b/clutter/clutter/clutter-actor.c +@@ -15926,7 +15926,6 @@ _clutter_actor_get_paint_volume_mutable (ClutterActor *self) + if (_clutter_actor_get_paint_volume_real (self, &priv->paint_volume)) + { + priv->paint_volume_valid = TRUE; +- priv->needs_paint_volume_update = FALSE; + return &priv->paint_volume; + } + else diff --git a/pkgs/desktops/gnome/core/mutter/3.38/fix-paths.patch b/pkgs/desktops/gnome/core/mutter/3.38/fix-paths.patch new file mode 100644 index 000000000000..6ac0a431f61f --- /dev/null +++ b/pkgs/desktops/gnome/core/mutter/3.38/fix-paths.patch @@ -0,0 +1,13 @@ +diff --git a/src/core/util.c b/src/core/util.c +index 57b73747d..f424cc81c 100644 +--- a/src/core/util.c ++++ b/src/core/util.c +@@ -636,7 +636,7 @@ meta_show_dialog (const char *type, + + args = g_ptr_array_new (); + +- append_argument (args, "zenity"); ++ append_argument (args, "@zenity@/bin/zenity"); + append_argument (args, type); + + if (display) diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix index 979ddafc10f0..c1f0a82f0b5b 100644 --- a/pkgs/desktops/gnome/default.nix +++ b/pkgs/desktops/gnome/default.nix @@ -106,9 +106,8 @@ lib.makeScope pkgs.newScope (self: with self; { mutter = callPackage ./core/mutter { }; - # Needed for elementary's gala and greeter until 3.36 support has more bugfixes - # https://github.com/elementary/gala/issues/763 - mutter334 = callPackage ./core/mutter/3.34 { }; + # Needed for elementary's gala and greeter until support for higher versions is provided + mutter338 = callPackage ./core/mutter/3.38 { }; nautilus = callPackage ./core/nautilus { }; @@ -355,7 +354,9 @@ lib.makeScope pkgs.newScope (self: with self; { maintainers = lib.teams.gnome.members; - mutter328 = throw "Removed as Pantheon is upgraded to mutter334."; + mutter328 = throw "Removed as Pantheon is upgraded to mutter338."; + + mutter334 = throw "Removed as Pantheon is upgraded to mutter338."; gnome-getting-started-docs = throw "Removed in favour of gnome-tour."; diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 0c0e826024c4..9288b94f7ca8 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -26,7 +26,7 @@ lib.makeScope pkgs.newScope (self: with self; { maintainers = lib.teams.pantheon.members; - mutter = pkgs.gnome.mutter334; + mutter = pkgs.gnome.mutter338; elementary-gsettings-schemas = callPackage ./desktop/elementary-gsettings-schemas { }; From 75473c2d7002b08e53d437f6f88c8975721834e2 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 20:28:38 +0800 Subject: [PATCH 100/173] gnome.gnome-settings-daemon338: init at 3.38.2 light-locker is no longer used in Pantheon 6, we will try using the upstream gnome-settings-daemon --- .../x11/desktop-managers/pantheon.nix | 6 +- .../gnome-settings-daemon/3.38/default.nix | 135 ++++++++++++++++++ .../3.38/fix-paths.patch | 15 ++ pkgs/desktops/gnome/default.nix | 3 + pkgs/desktops/pantheon/default.nix | 3 + 5 files changed, 159 insertions(+), 3 deletions(-) create mode 100644 pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/fix-paths.patch diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index e492073b80ff..18f1883932dd 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -162,12 +162,11 @@ in isAllowed = true; isSystem = true; }; - # Use gnome-settings-daemon fork services.udev.packages = [ - pkgs.pantheon.elementary-settings-daemon + pkgs.gnome.gnome-settings-daemon338 ]; systemd.packages = [ - pkgs.pantheon.elementary-settings-daemon + pkgs.gnome.gnome-settings-daemon338 ]; programs.dconf.enable = true; networking.networkmanager.enable = mkDefault true; @@ -217,6 +216,7 @@ in gnome.geary gnome.epiphany gnome.gnome-font-viewer + gnome.gnome-settings-daemon338 ] config.environment.pantheon.excludePackages); programs.evince.enable = mkDefault true; diff --git a/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix b/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix new file mode 100644 index 000000000000..06a560380537 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix @@ -0,0 +1,135 @@ +{ lib, stdenv +, fetchpatch +, substituteAll +, fetchurl +, meson +, ninja +, pkg-config +, gnome +, perl +, gettext +, gtk3 +, glib +, libnotify +, libgnomekbd +, lcms2 +, libpulseaudio +, alsa-lib +, libcanberra-gtk3 +, upower +, colord +, libgweather +, polkit +, gsettings-desktop-schemas +, geoclue2 +, systemd +, libgudev +, libwacom +, libxslt +, libxml2 +, modemmanager +, networkmanager +, gnome-desktop +, geocode-glib +, docbook_xsl +, wrapGAppsHook +, python3 +, tzdata +, nss +, gcr +, gnome-session-ctl +, pantheon +}: + +stdenv.mkDerivation rec { + pname = "gnome-settings-daemon"; + version = "3.38.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-settings-daemon/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "136p3prdqvc0lvrcqs4h7crpnfqnimqklpzjivq5w4g1rhbdbhrj"; + }; + + patches = [ + # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/202 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/aae1e774dd9de22fe3520cf9eb2bfbf7216f5eb0.patch"; + sha256 = "O4m0rOW8Zrgu3Q0p0OA8b951VC0FjYbOUk9MLzB9icI="; + }) + + (substituteAll { + src = ./fix-paths.patch; + inherit tzdata; + }) + + # Adjust to libgweather changes. + # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/217 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/82d88014dfca2df7e081712870e1fb017c16b808.patch"; + sha256 = "H5k/v+M2bRaswt5nrDJFNn4gS4BdB0UfzdjUCT4yLKg="; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + perl + gettext + libxml2 + libxslt + docbook_xsl + wrapGAppsHook + python3 + ]; + + buildInputs = [ + gtk3 + glib + gsettings-desktop-schemas + modemmanager + networkmanager + libnotify + libgnomekbd # for org.gnome.libgnomekbd.keyboard schema + gnome-desktop + lcms2 + libpulseaudio + alsa-lib + libcanberra-gtk3 + upower + colord + libgweather + nss + polkit + geocode-glib + geoclue2 + systemd + libgudev + libwacom + gcr + ]; + + mesonFlags = [ + "-Dudev_dir=${placeholder "out"}/lib/udev" + "-Dgnome_session_ctl_path=${gnome-session-ctl}/libexec/gnome-session-ctl" + ]; + + # Default for release buildtype but passed manually because + # we're using plain + NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS"; + + postPatch = '' + for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl meson_post_install.py; do + chmod +x $f + patchShebangs $f + done + ''; + + meta = with lib; { + description = "GNOME Settings Daemon"; + homepage = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/"; + license = licenses.gpl2Plus; + maintainers = pantheon.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/fix-paths.patch b/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/fix-paths.patch new file mode 100644 index 000000000000..2229302cab7c --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/fix-paths.patch @@ -0,0 +1,15 @@ +--- a/plugins/datetime/tz.h ++++ b/plugins/datetime/tz.h +@@ -27,11 +27,7 @@ + + #include <glib.h> + +-#ifndef __sun +-# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" +-#else +-# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" +-#endif ++#define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab" + + typedef struct _TzDB TzDB; + typedef struct _TzLocation TzLocation; diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix index c1f0a82f0b5b..a3f0107c288b 100644 --- a/pkgs/desktops/gnome/default.nix +++ b/pkgs/desktops/gnome/default.nix @@ -88,6 +88,9 @@ lib.makeScope pkgs.newScope (self: with self; { gnome-settings-daemon = callPackage ./core/gnome-settings-daemon { }; + # Using 3.38 to match Mutter used in Pantheon + gnome-settings-daemon338 = callPackage ./core/gnome-settings-daemon/3.38 { }; + gnome-software = callPackage ./core/gnome-software { }; gnome-system-monitor = callPackage ./core/gnome-system-monitor { }; diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 9288b94f7ca8..290d6320e11a 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -28,6 +28,9 @@ lib.makeScope pkgs.newScope (self: with self; { mutter = pkgs.gnome.mutter338; + # Using 3.38 to match Mutter used in Pantheon + gnome-settings-daemon = pkgs.gnome.gnome-settings-daemon338; + elementary-gsettings-schemas = callPackage ./desktop/elementary-gsettings-schemas { }; notes-up = pkgs.notes-up.override { withPantheon = true; }; From ceedbf92c095f2d1943b966f0816a5e85bd82b9a Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 17 Jul 2021 15:37:19 +0800 Subject: [PATCH 101/173] pantheon.gala: 3.3.2 -> 6.0.1 --- .../desktops/pantheon/desktop/gala/default.nix | 18 ++++++++++-------- .../pantheon/desktop/gala/plugins-dir.patch | 11 ++++++----- .../gala/use-new-notifications-default.patch | 13 ------------- 3 files changed, 16 insertions(+), 26 deletions(-) delete mode 100644 pkgs/desktops/pantheon/desktop/gala/use-new-notifications-default.patch diff --git a/pkgs/desktops/pantheon/desktop/gala/default.nix b/pkgs/desktops/pantheon/desktop/gala/default.nix index c4467c53a2bf..9e0229be5b23 100644 --- a/pkgs/desktops/pantheon/desktop/gala/default.nix +++ b/pkgs/desktops/pantheon/desktop/gala/default.nix @@ -23,18 +23,20 @@ , elementary-dock , elementary-icon-theme , elementary-settings-daemon +, gnome-settings-daemon , wrapGAppsHook +, gexiv2 }: stdenv.mkDerivation rec { pname = "gala"; - version = "3.3.2"; + version = "6.0.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-BOarHUEgWqQM6jmVMauJi0JnsM+jE45MnPNnAqz1qOE="; + sha256 = "0xp9vviamzdwlcnx4836sxaz2pyfkxswgvjm73ppn7fkdm0zjpzx"; }; passthru = { @@ -61,6 +63,8 @@ stdenv.mkDerivation rec { elementary-dock elementary-icon-theme elementary-settings-daemon + gnome-settings-daemon + gexiv2 gnome-desktop granite gtk3 @@ -71,15 +75,13 @@ stdenv.mkDerivation rec { ]; patches = [ - # https://github.com/elementary/gala/pull/869 - # build failure in vala 0.48.7 - # https://github.com/elementary/gala/pull/869#issuecomment-657147695 + # Upstream code not respecting our localedir + # https://github.com/elementary/gala/pull/1205 (fetchpatch { - url = "https://github.com/elementary/gala/commit/85d290c75eaa147b704ad34e6c67498071707ee8.patch"; - sha256 = "19jkvmxidf453qfrxkvi35igxzfz2cm8srwkabvyn9wyd1yhiw0l"; + url = "https://github.com/elementary/gala/commit/605aa10ea2a78650e001b2a247c5f7afce478b05.patch"; + sha256 = "0bg67wzrnmx8nlw93i35vhyfx8al0bj0lacgci98vwlp2m1jgbd2"; }) ./plugins-dir.patch - ./use-new-notifications-default.patch ]; postPatch = '' diff --git a/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch b/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch index f08652e9f630..b0e72bbe1ab7 100644 --- a/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch +++ b/pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch @@ -1,16 +1,17 @@ diff --git a/meson.build b/meson.build -index 78113d6..926596c 100644 +index d0f00e5..977d2e2 100644 --- a/meson.build +++ b/meson.build -@@ -24,13 +24,14 @@ vapi_dir = meson.current_source_dir() / 'vapi' - +@@ -25,6 +25,7 @@ vapi_dir = meson.current_source_dir() / 'vapi' + locale_dir = join_paths(get_option('prefix'), get_option('localedir')) data_dir = join_paths(get_option('prefix'), get_option('datadir')) plugins_dir = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name(), 'plugins') +plugins_dir_for_build = join_paths('/run/current-system/sw/lib/', meson.project_name(), 'plugins') pkgdata_dir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name()) pkglib_dir = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name()) - - conf = configuration_data() + +@@ -33,7 +34,7 @@ conf.set_quoted('GETTEXT_PACKAGE', meson.project_name()) + conf.set_quoted('LOCALEDIR', locale_dir) conf.set_quoted('DATADIR', data_dir) conf.set_quoted('PKGDATADIR', pkgdata_dir) -conf.set_quoted('PLUGINDIR', plugins_dir) diff --git a/pkgs/desktops/pantheon/desktop/gala/use-new-notifications-default.patch b/pkgs/desktops/pantheon/desktop/gala/use-new-notifications-default.patch deleted file mode 100644 index dc256bcff3aa..000000000000 --- a/pkgs/desktops/pantheon/desktop/gala/use-new-notifications-default.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/data/gala.gschema.xml b/data/gala.gschema.xml -index 8032583..7f4f03c 100644 ---- a/data/gala.gschema.xml -+++ b/data/gala.gschema.xml -@@ -58,7 +58,7 @@ - <description>If enabled, dropping windows on vertical screen edges maximizes them vertically and resizes them horizontally to cover half of the available area. Dropping windows on the top screen edge maximizes them completely.</description> - </key> - <key type="b" name="use-new-notifications"> -- <default>false</default> -+ <default>true</default> - <summary>If new notifications should be used</summary> - <description>If new notifications UI should be used, requires io.elemenetary.notifications to be present and running</description> - </key> From 7973714304f012f5ad3a991c2cdec0a8a9d6e7ac Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 17 Jul 2021 19:55:02 +0800 Subject: [PATCH 102/173] pantheon.elementary-dpms-helper: drop package --- .../x11/desktop-managers/pantheon.nix | 1 - pkgs/desktops/pantheon/default.nix | 2 - .../elementary-dpms-helper/default.nix | 66 ------------------- 3 files changed, 69 deletions(-) delete mode 100644 pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 18f1883932dd..805f38007f01 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -207,7 +207,6 @@ in # Services elementary-capnet-assist - elementary-dpms-helper elementary-notifications elementary-settings-daemon pantheon-agent-geoclue2 diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 290d6320e11a..b81d3e42773c 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -107,8 +107,6 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-capnet-assist = callPackage ./services/elementary-capnet-assist { }; - elementary-dpms-helper = callPackage ./services/elementary-dpms-helper { }; - elementary-notifications = callPackage ./services/elementary-notifications { }; # We're using ubuntu and elementary's patchset due to reasons diff --git a/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix b/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix deleted file mode 100644 index 65995c456599..000000000000 --- a/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ lib, stdenv -, fetchFromGitHub -, nix-update-script -, pantheon -, meson -, ninja -, desktop-file-utils -, glib -, coreutils -, elementary-settings-daemon -, wrapGAppsHook -}: - -stdenv.mkDerivation rec { - pname = "elementary-dpms-helper"; - version = "1.0"; - - repoName = "dpms-helper"; - - src = fetchFromGitHub { - owner = "elementary"; - repo = repoName; - rev = version; - sha256 = "sha256-0KbfAxvZ+aFjq+XEK4uoRHSyKlaky0FlJd2a5TG4bms="; - }; - - passthru = { - updateScript = nix-update-script { - attrPath = "pantheon.${pname}"; - }; - }; - - nativeBuildInputs = [ - desktop-file-utils - meson - ninja - wrapGAppsHook - ]; - - buildInputs = [ - elementary-settings-daemon - glib - ]; - - preFixup = '' - gappsWrapperArgs+=(--prefix PATH : "${lib.makeBinPath [ glib.dev coreutils ]}") - ''; - - postFixup = '' - substituteInPlace $out/etc/xdg/autostart/io.elementary.dpms-helper.desktop \ - --replace "Exec=io.elementary.dpms-helper" "Exec=$out/bin/io.elementary.dpms-helper" - ''; - - # See: https://github.com/elementary/dpms-helper/pull/10 - postInstall = '' - ${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas - ''; - - meta = with lib; { - description = "Sets DPMS settings found in org.pantheon.dpms"; - homepage = "https://github.com/elementary/dpms-helper"; - license = licenses.gpl2; - platforms = platforms.linux; - maintainers = pantheon.maintainers; - }; -} From 834e7ea022758eeb86115d4ac9b2af65dd0ba8de Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 17 Jul 2021 20:53:52 +0800 Subject: [PATCH 103/173] pantheon.elementary-gtk-theme: 5.4.2 -> 6.0.0 --- .../pantheon/artwork/elementary-gtk-theme/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix index 437f37941220..657e1c3e116f 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix @@ -5,11 +5,12 @@ , meson , ninja , gettext +, sassc }: stdenv.mkDerivation rec { pname = "elementary-gtk-theme"; - version = "5.4.2"; + version = "6.0.0"; repoName = "stylesheet"; @@ -17,7 +18,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "sha256-eE0/LLdnpxOpBvdpioGKV/DOQ5lIuQt9dPnhGkQDGCs="; + sha256 = "08iga854s6w77xr5rhvr74pgn2lc884aigc7gkn0xjlwysd195fr"; }; passthru = { @@ -30,6 +31,7 @@ stdenv.mkDerivation rec { gettext meson ninja + sassc ]; meta = with lib; { From 0b44eae0ab4c96e18693287fcfc543176e09e5c7 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 17 Jul 2021 21:05:49 +0800 Subject: [PATCH 104/173] pantheon.elementary-wallpapers: 5.5.0 -> 6.0.0 --- .../pantheon/artwork/elementary-wallpapers/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix index 3e4e64d73012..f2f89ea1eacf 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { pname = "elementary-wallpapers"; - version = "5.5.0"; + version = "6.0.0"; repoName = "wallpapers"; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "sha256-Q5sYDXqFhiTu8nABmyND3L8bIXd1BJ3GZQ9TL3SzwzA="; + sha256 = "1qpf8w7x9sp3sd4zpsrlj5ywpwqkq4ywbagm4sf25cwwn82dl59b"; }; nativeBuildInputs = [ From f7103f89272d760e3f22d969dd0b46da4388b933 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 17 Jul 2021 21:34:54 +0800 Subject: [PATCH 105/173] pantheon.elementary-greeter: 5.0.4 -> 6.0.0 --- .../desktop/elementary-greeter/default.nix | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix index e80e7d951cd4..541faf2474b5 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , linkFarm , substituteAll @@ -13,11 +14,13 @@ , gtk3 , granite , libgee -, elementary-settings-daemon +, libhandy +, gnome-settings-daemon , mutter , elementary-icon-theme , wingpanel-with-indicators , elementary-gtk-theme +, elementary-settings-daemon , nixos-artwork , lightdm , gdk-pixbuf @@ -29,7 +32,7 @@ stdenv.mkDerivation rec { pname = "elementary-greeter"; - version = "5.0.4"; + version = "6.0.0"; repoName = "greeter"; @@ -37,7 +40,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "sha256-Enn+ekALWbk7FVJJuea/rNiwEZDIyb3kyMcZNNraOv8="; + sha256 = "1ny1003bbpdscc4kr2d94zc5vxm30y64dpj3fpd5zz2p2g0cq2h9"; }; passthru = { @@ -66,10 +69,12 @@ stdenv.mkDerivation rec { elementary-gtk-theme elementary-icon-theme elementary-settings-daemon + gnome-settings-daemon gdk-pixbuf granite gtk3 libgee + libhandy lightdm mutter wingpanel-with-indicators @@ -80,12 +85,16 @@ stdenv.mkDerivation rec { "--sbindir=${placeholder "out"}/bin" # baked into the program for discovery of the greeter configuration "--sysconfdir=/etc" - # We use the patched gnome-settings-daemon - "-Dubuntu-patched-gsd=true" - "-Dgsd-dir=${elementary-settings-daemon}/libexec/" # trailing slash is needed + "-Dgsd-dir=${gnome-settings-daemon}/libexec/" # trailing slash is needed ]; patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/greeter/pull/545 + (fetchpatch { + url = "https://github.com/elementary/greeter/commit/d1373a7db827bc753bfcd70d0c8f25460ea9f1de.patch"; + sha256 = "0s8l7ycd2s307d3dh1p4vdk33dbzjzqwxs6msyb9w0ycfyxlwdvp"; + }) ./sysconfdir-install.patch # Needed until https://github.com/elementary/greeter/issues/360 is fixed (substituteAll { From 03a059f60744020ad5cf593f8855c8ebf6932a7a Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 11:38:09 +0800 Subject: [PATCH 106/173] pantheon.elementary-default-settings: 5.1.2 -> 6.0.1 --- .../0001-Build-with-Meson.patch | 309 ------------------ .../elementary-default-settings/default.nix | 30 +- 2 files changed, 6 insertions(+), 333 deletions(-) delete mode 100644 pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch b/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch deleted file mode 100644 index 3a0b3812450c..000000000000 --- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch +++ /dev/null @@ -1,309 +0,0 @@ -From f728ac670d8f6bb7600a007d92034b711471fab6 Mon Sep 17 00:00:00 2001 -From: worldofpeace <worldofpeace@protonmail.ch> -Date: Sat, 13 Jul 2019 19:06:20 -0400 -Subject: [PATCH 1/2] Build with Meson - -Has the following meson build options: -* default-wallpaper -* plank-dockitems -* default-gsettings-overrides - -All default to true. - -We also split the default-settings gsettings override into another that -only sets plank's default dockitems. This is installed when plank-dockitems -is true. We need to have this because those settings are dependent on -those dockitems actually being installed and we have it optional. ---- - accountsservice/create-symlink.py | 24 ++++++ - accountsservice/meson.build | 25 ++++++ - .../appcenter.blacklist | 0 - .../default-testpage.pdf | Bin - settings.ini => gtk/settings.ini | 0 - .inputrc => inputrc/.inputrc | 0 - meson.build | 79 ++++++++++++++++++ - meson/post_install.py | 12 +++ - meson_options.txt | 14 ++++ - ...e => default-settings.gschema.override.in} | 3 +- - overrides/meson.build | 21 +++++ - overrides/plank-dockitems.gschema.override | 2 + - .../sessioninstaller.desktop | 0 - 13 files changed, 178 insertions(+), 2 deletions(-) - create mode 100644 accountsservice/create-symlink.py - create mode 100644 accountsservice/meson.build - rename appcenter.blacklist => appcenter/appcenter.blacklist (100%) - rename default-testpage.pdf => cups/default-testpage.pdf (100%) - rename settings.ini => gtk/settings.ini (100%) - rename .inputrc => inputrc/.inputrc (100%) - create mode 100644 meson.build - create mode 100755 meson/post_install.py - create mode 100644 meson_options.txt - rename overrides/{default-settings.gschema.override => default-settings.gschema.override.in} (92%) - create mode 100644 overrides/meson.build - create mode 100644 overrides/plank-dockitems.gschema.override - rename sessioninstaller.desktop => sessioninstaller/sessioninstaller.desktop (100%) - -diff --git a/accountsservice/create-symlink.py b/accountsservice/create-symlink.py -new file mode 100644 -index 0000000..e502134 ---- /dev/null -+++ b/accountsservice/create-symlink.py -@@ -0,0 +1,24 @@ -+#!/usr/bin/env python3 -+ -+import os -+import sys -+ -+if len(sys.argv) < 3: -+ print('Usage: create-symlink.py SOURCE DESTINATION') -+ sys.exit(1) -+ -+src = sys.argv[1] -+dest = sys.argv[2] -+ -+if 'MESON_INSTALL_DESTDIR_PREFIX' in os.environ: -+ src = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], src) -+ dest = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], dest) -+ -+if os.path.isabs(src): -+ src = os.path.relpath(src, os.path.dirname(os.path.realpath(dest))) -+ -+if not os.path.exists(dest): -+ print('Creating symbolic link: ' + dest + ' -> ' + src) -+ if not os.path.exists(os.path.dirname(dest)): -+ os.makedirs(os.path.dirname(dest)) -+ os.symlink(src, dest) -diff --git a/accountsservice/meson.build b/accountsservice/meson.build -new file mode 100644 -index 0000000..6d18459 ---- /dev/null -+++ b/accountsservice/meson.build -@@ -0,0 +1,25 @@ -+dbus_dep = dependency('dbus-1') -+dbus_interfaces_dir = dbus_dep.get_pkgconfig_variable('interfaces_dir', define_variable: ['datadir', datadir]) -+ -+install_data( -+ 'io.elementary.pantheon.AccountsService.xml', -+ install_dir: dbus_interfaces_dir -+) -+ -+ -+polkit_dep = dependency('polkit-gobject-1') -+polkit_actiondir = polkit_dep.get_pkgconfig_variable('actiondir', define_variable: ['prefix', prefix]) -+ -+install_data( -+ 'io.elementary.pantheon.AccountsService.policy', -+ install_dir: polkit_actiondir -+) -+ -+act_dep = dependency('accountsservice') -+act_interfacesdir = act_dep.get_pkgconfig_variable('interfacesdir', define_variable: ['datadir', datadir]) -+ -+meson.add_install_script( -+ 'create-symlink.py', -+ join_paths(dbus_interfaces_dir, 'io.elementary.pantheon.AccountsService.xml'), -+ join_paths(act_interfacesdir, 'io.elementary.pantheon.AccountsService.xml'), -+) -diff --git a/appcenter.blacklist b/appcenter/appcenter.blacklist -similarity index 100% -rename from appcenter.blacklist -rename to appcenter/appcenter.blacklist -diff --git a/default-testpage.pdf b/cups/default-testpage.pdf -similarity index 100% -rename from default-testpage.pdf -rename to cups/default-testpage.pdf -diff --git a/settings.ini b/gtk/settings.ini -similarity index 100% -rename from settings.ini -rename to gtk/settings.ini -diff --git a/.inputrc b/inputrc/.inputrc -similarity index 100% -rename from .inputrc -rename to inputrc/.inputrc -diff --git a/meson.build b/meson.build -new file mode 100644 -index 0000000..7740a34 ---- /dev/null -+++ b/meson.build -@@ -0,0 +1,79 @@ -+project( -+ 'elementary-default-settings', -+ version: '5.1.0', -+ default_options: 'sysconfdir=/etc', -+) -+ -+prefix = get_option('prefix') -+datadir = join_paths(prefix, get_option('datadir')) -+sysconfdir = get_option('sysconfdir') -+ -+meson.add_install_script('meson/post_install.py', datadir) -+ -+# Planks Default DockItems -+if get_option('plank-dockitems') -+ install_subdir( -+ 'plank', -+ install_dir: join_paths(sysconfdir, 'skel', '.config') -+ ) -+endif -+ -+# Setup system wide global environment for applications -+install_subdir( -+ 'profile.d', -+ install_dir: join_paths(sysconfdir, 'profile.d'), -+ strip_directory : true -+) -+ -+# elementary Plymouth Theme -+install_subdir( -+ 'plymouth/elementary', -+ install_dir: join_paths(datadir, 'plymouth', 'themes') -+) -+ -+install_data( -+ 'plymouth/ubuntu-text.plymouth', -+ install_dir: join_paths(datadir, 'plymouth', 'themes') -+) -+ -+# Sudo password feedback in terminals -+install_data( -+ 'sudoers.d/pwfeedback', -+ install_dir: join_paths(sysconfdir, 'sudoers.d') -+) -+ -+# CUPS Printing testpage -+install_data( -+ 'cups/default-testpage.pdf', -+ install_dir: join_paths(datadir, 'cups', 'data') -+) -+ -+# GTK3 Settings -+install_data( -+ 'gtk/settings.ini', -+ install_dir: join_paths(sysconfdir, 'gtk-3.0') -+) -+ -+# So SessionInstaller can have an Icon -+install_data( -+ 'sessioninstaller/sessioninstaller.desktop', -+ install_dir: join_paths(datadir, 'applications') -+) -+ -+# Default Appcenter Blacklist -+install_data( -+ 'appcenter/appcenter.blacklist', -+ install_dir: join_paths(sysconfdir, 'appcenter') -+) -+ -+# Configuration file of GNU readline -+install_data( -+ 'inputrc/.inputrc', -+ install_dir: join_paths(sysconfdir, 'skel') -+) -+ -+# Default gsettings overrides -+subdir('overrides') -+ -+# AccountsService extension for Greeter. -+subdir('accountsservice') -diff --git a/meson/post_install.py b/meson/post_install.py -new file mode 100755 -index 0000000..c6b5617 ---- /dev/null -+++ b/meson/post_install.py -@@ -0,0 +1,12 @@ -+#!/usr/bin/env python3 -+ -+import os -+import sys -+import subprocess -+ -+if 'DESTDIR' not in os.environ: -+ default_settings_datadir = sys.argv[1] -+ -+ print('Compiling GSettings schemas...') -+ subprocess.call(['glib-compile-schemas', -+ os.path.join(default_settings_datadir, 'glib-2.0', 'schemas')]) -diff --git a/meson_options.txt b/meson_options.txt -new file mode 100644 -index 0000000..8fd19ba ---- /dev/null -+++ b/meson_options.txt -@@ -0,0 +1,14 @@ -+option('default-wallpaper', -+ type: 'string', -+ value: '/usr/share/backgrounds/elementaryos-default', -+ description: 'Path to default wallpaper to use in Pantheon.') -+ -+option('plank-dockitems', -+ type: 'boolean', -+ value: true, -+ description: 'Install default Pantheon Plank dockitems') -+ -+option('default-gsettings-overrides', -+ type: 'boolean', -+ value: true, -+ description: 'Install default Pantheon GSettings Overrides') -diff --git a/overrides/default-settings.gschema.override b/overrides/default-settings.gschema.override.in -similarity index 92% -rename from overrides/default-settings.gschema.override -rename to overrides/default-settings.gschema.override.in -index 1aef29c..69d272b 100644 ---- a/overrides/default-settings.gschema.override -+++ b/overrides/default-settings.gschema.override.in -@@ -1,5 +1,4 @@ - [net.launchpad.plank.dock.settings] --dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.pantheon.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem','io.elementary.appcenter.dockitem'] - hide-delay=250 - hide-mode='window-dodge' - show-dock-item=false -@@ -11,7 +10,7 @@ triggers=['<Control>space'] - [org.gnome.desktop.background] - draw-background=true - picture-options='zoom' --picture-uri='file:///usr/share/backgrounds/elementaryos-default' -+picture-uri='file://@DEFAULT_WALLPAPER@' - primary-color='#000000' - show-desktop-icons=false - -diff --git a/overrides/meson.build b/overrides/meson.build -new file mode 100644 -index 0000000..ad80644 ---- /dev/null -+++ b/overrides/meson.build -@@ -0,0 +1,21 @@ -+if get_option('default-gsettings-overrides') -+ default_wallpaper = get_option('default-wallpaper') -+ -+ wallpaper_configuration = configuration_data() -+ wallpaper_configuration.set('DEFAULT_WALLPAPER', default_wallpaper) -+ -+ settings_override = configure_file( -+ input: 'default-settings.gschema.override.in', -+ output: '@BASENAME@', -+ configuration: wallpaper_configuration, -+ install_dir: join_paths(datadir, 'glib-2.0', 'schemas') -+ ) -+endif -+ -+# Install conditionally because it's dependent on our dockitems being installed -+if get_option('plank-dockitems') -+ install_data( -+ 'plank-dockitems.gschema.override', -+ install_dir: join_paths(datadir, 'glib-2.0', 'schemas') -+ ) -+endif -diff --git a/overrides/plank-dockitems.gschema.override b/overrides/plank-dockitems.gschema.override -new file mode 100644 -index 0000000..72b38d4 ---- /dev/null -+++ b/overrides/plank-dockitems.gschema.override -@@ -0,0 +1,2 @@ -+[net.launchpad.plank.dock.settings] -+dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.pantheon.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem','io.elementary.appcenter.dockitem'] -diff --git a/sessioninstaller.desktop b/sessioninstaller/sessioninstaller.desktop -similarity index 100% -rename from sessioninstaller.desktop -rename to sessioninstaller/sessioninstaller.desktop --- -2.23.0 - diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix index 982502f51612..1518c06a2650 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix @@ -11,12 +11,11 @@ , polkit , accountsservice , python3 -, fetchpatch }: stdenv.mkDerivation rec { pname = "elementary-default-settings"; - version = "5.1.2"; + version = "6.0.1"; repoName = "default-settings"; @@ -24,7 +23,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "sha256-HKrDs2frEWVPpwyGNP+NikrjyplSXJj1hFMLy6kK4wM="; + sha256 = "0gqnrm968j4v699yhhiyw5fqjy4zbvvrjci2v1jrlycn09c2yrwf"; }; passthru = { @@ -33,23 +32,6 @@ stdenv.mkDerivation rec { }; }; - patches = [ - # Use new notifications - (fetchpatch { - url = "https://github.com/elementary/default-settings/commit/0658bb75b9f49f58b35746d05fb6c4b811f125e9.patch"; - sha256 = "0wa7iq0vfp2av5v23w94a5844ddj4g48d4wk3yrp745dyrimg739"; - }) - - # Fix media key syntax - (fetchpatch { - url = "https://github.com/elementary/default-settings/commit/332aefe1883be5dfe90920e165c39e331a53b2ea.patch"; - sha256 = "0ypcaga55pw58l30srq3ga1mhz2w6hkwanv41jjr6g3ia9jvq69n"; - }) - - # https://github.com/elementary/default-settings/pull/119 - ./0001-Build-with-Meson.patch - ]; - nativeBuildInputs = [ accountsservice dbus @@ -73,9 +55,9 @@ stdenv.mkDerivation rec { ''; preInstall = '' - # Install our override for plank dockitems. - # This is because we don't have Pantheon's mail or Appcenter. - # See: https://github.com/NixOS/nixpkgs/issues/58161 + # Install our override for plank dockitems as Appcenter and Tasks is not ready to be preinstalled. + # For Appcenter, see: https://github.com/NixOS/nixpkgs/issues/70214. + # For Tasks, see: https://github.com/elementary/tasks/issues/243#issuecomment-846259496 schema_dir=$out/share/glib-2.0/schemas install -D ${./overrides/plank-dockitems.gschema.override} $schema_dir/plank-dockitems.gschema.override @@ -84,7 +66,7 @@ stdenv.mkDerivation rec { cp -avr ${./launchers} $out/etc/skel/.config/plank/dock1/launchers # Whitelist wingpanel indicators to be used in the greeter - # hhttps://github.com/elementary/greeter/blob/fc19752f147c62767cd2097c0c0c0fcce41e5873/debian/io.elementary.greeter.whitelist + # https://github.com/elementary/greeter/blob/fc19752f147c62767cd2097c0c0c0fcce41e5873/debian/io.elementary.greeter.whitelist # wingpanel 2.3.2 renamed this to .allowed to .forbidden # https://github.com/elementary/wingpanel/pull/326 install -D ${./io.elementary.greeter.allowed} $out/etc/wingpanel.d/io.elementary.greeter.allowed From 990ba0785541a7a67c069a1fdbb7be7d1101090a Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 11:56:06 +0800 Subject: [PATCH 107/173] pantheon.elementary-session-settings: unstable-2020-07-06 -> 6.0.0 --- .../elementary-session-settings/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix index 38fcb8d40b41..24506f383f65 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix @@ -11,7 +11,7 @@ , orca , onboard , elementary-default-settings -, elementary-settings-daemon +, gnome-settings-daemon , runtimeShell , writeText , meson @@ -89,16 +89,16 @@ let in stdenv.mkDerivation rec { - pname = "elementary-session-settings-unstable"; - version = "2020-07-06"; + pname = "elementary-session-settings"; + version = "6.0.0"; repoName = "session-settings"; src = fetchFromGitHub { owner = "elementary"; repo = repoName; - rev = "fa15cbd83fba0ba30e9a302db880350bff5ace52"; - hash = "sha256-26H791c7OAjFYtjVChIatICSocMt0uTej1TKBOvw+6w="; + rev = version; + sha256 = "1faglpa7q3a4335gnd074a3lnsdspyjdnskgy4bfnf6xmwjx7kjx"; }; nativeBuildInputs = [ @@ -109,8 +109,8 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - pantheon.elementary-settings-daemon gnome-keyring + gnome-settings-daemon onboard orca ]; @@ -154,7 +154,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Session settings for elementary"; homepage = "https://github.com/elementary/session-settings"; - license = licenses.lgpl3; + license = licenses.gpl2Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; From 891f943c126815f858294ad12e2c876b259e6a74 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 12:05:01 +0800 Subject: [PATCH 108/173] pantheon.elementary-onboarding: 1.2.1 -> 6.0.0 --- .../desktop/elementary-onboarding/default.nix | 25 ++++++++----------- .../elementary-onboarding/fix-paths.patch | 13 ++++++++++ 2 files changed, 24 insertions(+), 14 deletions(-) create mode 100644 pkgs/desktops/pantheon/desktop/elementary-onboarding/fix-paths.patch diff --git a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix index 70da883392a8..05e92e127a3c 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix @@ -1,8 +1,8 @@ { lib, stdenv , fetchFromGitHub , nix-update-script +, substituteAll , pantheon -, fetchpatch , pkg-config , meson , ninja @@ -17,11 +17,12 @@ , gettext , libhandy , wrapGAppsHook +, appcenter }: stdenv.mkDerivation rec { pname = "elementary-onboarding"; - version = "1.2.1"; + version = "6.0.0"; repoName = "onboarding"; @@ -29,20 +30,9 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "sha256-tLTwXA2miHqYqCUbIiBjb2nQB+uN/WzuE4F9m3fVCbM="; + sha256 = "1mpw0j8ymb41py9v9qlk4nwy1lnwj7k388c7gqdv34ynck0ymfi4"; }; - patches = [ - # Port to Libhandy-1 - (fetchpatch { - url = "https://github.com/elementary/onboarding/commit/8af6b7d9216f8cbf725f708b36ef4d4f6c400c78.patch"; - sha256 = "cnSCSSFEQlNd9Ncw5VCJ32stZ8D4vhl3f+derAk/Cas="; - excludes = [ - ".github/workflows/main.yml" - ]; - }) - ]; - passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; @@ -69,6 +59,13 @@ stdenv.mkDerivation rec { libhandy ]; + patches = [ + (substituteAll { + src = ./fix-paths.patch; + appcenter = appcenter; + }) + ]; + postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py diff --git a/pkgs/desktops/pantheon/desktop/elementary-onboarding/fix-paths.patch b/pkgs/desktops/pantheon/desktop/elementary-onboarding/fix-paths.patch new file mode 100644 index 000000000000..c98d898bb488 --- /dev/null +++ b/pkgs/desktops/pantheon/desktop/elementary-onboarding/fix-paths.patch @@ -0,0 +1,13 @@ +diff --git a/src/Views/AppCenterView.vala b/src/Views/AppCenterView.vala +index 16cd18b..5895897 100644 +--- a/src/Views/AppCenterView.vala ++++ b/src/Views/AppCenterView.vala +@@ -55,7 +55,7 @@ public class Onboarding.AppCenterView : AbstractOnboardingView { + appcenter_button.clicked.connect (() => { + try { + var appcenter = AppInfo.create_from_commandline ( +- "io.elementary.appcenter", ++ "@appcenter@/bin/io.elementary.appcenter", + "AppCenter", + AppInfoCreateFlags.SUPPORTS_STARTUP_NOTIFICATION + ); From 88b3b9d84756245147a4f20d22816195c7b484c1 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 12:07:42 +0800 Subject: [PATCH 109/173] pantheon.elementary-shortcut-overlay: 1.1.2 -> 1.2.0 --- .../elementary-shortcut-overlay/default.nix | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix b/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix index 314267d86122..ef4fdf80cef2 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pantheon , pkg-config @@ -12,13 +13,14 @@ , glib , granite , libgee +, libhandy , elementary-icon-theme , wrapGAppsHook }: stdenv.mkDerivation rec { pname = "elementary-shortcut-overlay"; - version = "1.1.2"; + version = "1.2.0"; repoName = "shortcut-overlay"; @@ -26,9 +28,18 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "sha256-TFS29vwDkTtoFcIVAbKskyLemqW9fxE7fQkM61DpDm0="; + sha256 = "1zs2fpx4agr00rsfmpi00nhiw92mlypzm4p9x3g851p24m62fn79"; }; + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/shortcut-overlay/pull/100 + (fetchpatch { + url = "https://github.com/elementary/shortcut-overlay/commit/f26e3684568e30cb6e151438e2d86c4d392626bf.patch"; + sha256 = "0zxyqpk9xbxdm8lmgdwbb4yzzwbjlhypsca3xs34a2pl0b9pcdwd"; + }) + ]; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; @@ -51,6 +62,7 @@ stdenv.mkDerivation rec { granite gtk3 libgee + libhandy ]; meta = with lib; { From a3b7f0cd349ded83bc548b3970aaf88601dde91d Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 12:10:52 +0800 Subject: [PATCH 110/173] pantheon.contractor: 0.3.4 -> 0.3.5 --- pkgs/desktops/pantheon/services/contractor/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/services/contractor/default.nix b/pkgs/desktops/pantheon/services/contractor/default.nix index e15480c8cc88..f503e26b8452 100644 --- a/pkgs/desktops/pantheon/services/contractor/default.nix +++ b/pkgs/desktops/pantheon/services/contractor/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "contractor"; - version = "0.3.4"; + version = "0.3.5"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-FHLecRxTE8v3M7cV6rkQKNhPhKFhuhvkzB5C+u7Z+Ms="; + sha256 = "1sqww7zlzl086pjww3d21ah1g78lfrc9aagrqhmsnnbji9gwb8ab"; }; passthru = { From c7b5980740d0192d220d7547bd8a96e300b43ce4 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 12:42:29 +0800 Subject: [PATCH 111/173] pantheon.elementary-capnet-assist: 2.2.5 -> 2.3.0 --- .../services/elementary-capnet-assist/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix index d9f224ce45d8..ce30afac3cb7 100644 --- a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix +++ b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix @@ -11,6 +11,7 @@ , gtk3 , granite , libgee +, libhandy , gcr , webkitgtk , wrapGAppsHook @@ -18,7 +19,7 @@ stdenv.mkDerivation rec { pname = "elementary-capnet-assist"; - version = "2.2.5"; + version = "2.3.0"; repoName = "capnet-assist"; @@ -26,7 +27,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "sha256-o6J3vNWvV0zRde8VWWfpb56PQhSck2sJQVLimq0P9CY="; + sha256 = "1gma8a04ndivx1fd3ha9f45r642qq2li80wrd6dsrp4v3vqix9bn"; }; passthru = { @@ -50,6 +51,7 @@ stdenv.mkDerivation rec { granite gtk3 libgee + libhandy webkitgtk ]; @@ -66,7 +68,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "A small WebKit app that assists a user with login when a captive portal is detected"; homepage = "https://github.com/elementary/capnet-assist"; - license = licenses.gpl2Plus; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; From 4f1ecaf481e4c5bf8e3fa5990e07037a13c2283d Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 12:45:15 +0800 Subject: [PATCH 112/173] pantheon.elementary-notifications: unstable-2020-03-31 -> 6.0.0 --- .../services/elementary-notifications/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/pantheon/services/elementary-notifications/default.nix b/pkgs/desktops/pantheon/services/elementary-notifications/default.nix index 73cace23cca9..ac484c3a0592 100644 --- a/pkgs/desktops/pantheon/services/elementary-notifications/default.nix +++ b/pkgs/desktops/pantheon/services/elementary-notifications/default.nix @@ -8,6 +8,7 @@ , glib , granite , libgee +, libhandy , libcanberra-gtk3 , pantheon , python3 @@ -16,15 +17,15 @@ stdenv.mkDerivation rec { pname = "elementary-notifications"; - version = "unstable-2020-03-31"; + version = "6.0.0"; repoName = "notifications"; src = fetchFromGitHub { owner = "elementary"; repo = repoName; - rev = "db552b0c3466ba1099c7737c353b7225ab1896cc"; - sha256 = "1fhf4zx73qka935x5afv6zqsm2l37d1mjbhrbzzzz44dqwa2vp16"; + rev = version; + sha256 = "0jfppafbc8jwhhnillylicz4zfds789d8b31ifsx0qijlxa7kji9"; }; nativeBuildInputs = [ @@ -43,6 +44,7 @@ stdenv.mkDerivation rec { gtk3 libcanberra-gtk3 libgee + libhandy ]; postPatch = '' From df45f3fc469a876f5f33f508c65ffba975f30638 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 17:29:02 +0800 Subject: [PATCH 113/173] pantheon.pantheon-agent-geoclue2: 1.0.4 -> 1.0.5 --- .../pantheon/services/pantheon-agent-geoclue2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix b/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix index 70b62e2b9a07..d62bc275ed9f 100644 --- a/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix +++ b/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "pantheon-agent-geoclue2"; - version = "1.0.4"; + version = "1.0.5"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-LrDu9NczSKN9YLo922MqYbcHG1QAwzXUb7W0Q/g9ftI="; + sha256 = "0hx3sky0vd2vshkscy3w5x3s18gd45cfqh510xhbmvc0sa32q9gd"; }; passthru = { From 2a11a3f6845e3b884049988406469b8ae4fd3b67 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 17:30:51 +0800 Subject: [PATCH 114/173] pantheon.pantheon-agent-polkit: 1.0.3 -> 1.0.4 --- .../pantheon/services/pantheon-agent-polkit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix b/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix index 61bbb6ef9a4b..1a8fb8047598 100644 --- a/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix +++ b/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "pantheon-agent-polkit"; - version = "1.0.3"; + version = "1.0.4"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-YL1LHnPH7pP0EW9IkjdSEX+VuaAF9uNyFbl47vjVps0="; + sha256 = "1acqjjarl225yk0f68wkldsamcrzrj0ibpcxma04wq9w7jlmz60c"; }; passthru = { From 25070d7d69bd503c27a565e2970922ef12b14861 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 17:34:44 +0800 Subject: [PATCH 115/173] pantheon.sideload: 1.1.1 -> 6.0.1 --- pkgs/desktops/pantheon/apps/sideload/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/sideload/default.nix b/pkgs/desktops/pantheon/apps/sideload/default.nix index c3ba1717801d..5f233f04bc42 100644 --- a/pkgs/desktops/pantheon/apps/sideload/default.nix +++ b/pkgs/desktops/pantheon/apps/sideload/default.nix @@ -10,6 +10,7 @@ , granite , gtk3 , libgee +, libhandy , meson , ninja , pantheon @@ -22,13 +23,13 @@ stdenv.mkDerivation rec { pname = "sideload"; - version = "1.1.1"; + version = "6.0.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-eI/j6+lok9axRHV5DCsFY1fDCV+X5zBR7X8rK6odjFY="; + sha256 = "0mwcaayzcm5pjcwdd61can93y66jiz4wyz9wr8j5fbns5hbk3z5m"; }; passthru = { @@ -56,6 +57,7 @@ stdenv.mkDerivation rec { granite gtk3 libgee + libhandy libxml2 ]; From a13fd37777bc051dd71944e04d8de7b7649dc02b Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 17:57:34 +0800 Subject: [PATCH 116/173] pantheon.elementary-dock: unstable-2020-06-11 -> unstable-2021-07-16 --- .../pantheon/apps/elementary-dock/default.nix | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-dock/default.nix b/pkgs/desktops/pantheon/apps/elementary-dock/default.nix index 797f62cf8e2f..e0347e509c68 100644 --- a/pkgs/desktops/pantheon/apps/elementary-dock/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-dock/default.nix @@ -1,6 +1,5 @@ { lib, stdenv , fetchFromGitHub -, fetchpatch , vala , atk , cairo @@ -24,11 +23,12 @@ , pantheon , meson , ninja +, granite }: stdenv.mkDerivation rec { pname = "elementary-dock"; - version = "unstable-2020-06-11"; + version = "unstable-2021-07-16"; outputs = [ "out" "dev" ]; @@ -37,18 +37,10 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "elementary"; repo = repoName; - rev = "0a389ee58939d8c91c340df4e5340fc4b23d0b80"; - sha256 = "01vinik73s0vmk56samgf49zr2bl4wjv44x15sz2cmh744llckja"; + rev = "05fd6fccdf1a769f6737a0d7e57e092825348660"; + sha256 = "0lqqq5cx0kk8y7qyjx7z2k3v1kw2xxzns968ianarcji19wzcns4"; }; - patches = [ - # Fix double includedir path in plank.pc - (fetchpatch { - url = "https://github.com/elementary/dock/commit/3bc368e2c4fafcd5b8baca2711c773b0e2441c7c.patch"; - sha256 = "0gg35phi1cg7ixljc388i0h70w323r1gqzjhanccnsbjpqsgvs3k"; - }) - ]; - nativeBuildInputs = [ gettext meson @@ -67,6 +59,7 @@ stdenv.mkDerivation rec { glib gnome-menus dconf + granite gtk3 libX11 libXfixes From e9facd8a4617897f4dc772b01459aed5d8610e9a Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 18:19:20 +0800 Subject: [PATCH 117/173] pantheon.elementary-music: 5.1.0 -> 5.1.1 --- .../pantheon/apps/elementary-music/default.nix | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-music/default.nix b/pkgs/desktops/pantheon/apps/elementary-music/default.nix index fe6c3f187fe3..3a865967ac3d 100644 --- a/pkgs/desktops/pantheon/apps/elementary-music/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-music/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pantheon , pkg-config @@ -31,7 +32,7 @@ stdenv.mkDerivation rec { pname = "elementary-music"; - version = "5.1.0"; + version = "5.1.1"; repoName = "music"; @@ -39,9 +40,18 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "13v7rii9ardyd661s6d4hvvs4ig44v7s3qd1bx7imaigr72gg58b"; + sha256 = "1wqsn4ss9acg0scaqpg514ll2dj3bl71wly4mm79qkinhy30yv9n"; }; + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/music/pull/648 + (fetchpatch { + url = "https://github.com/elementary/music/commit/aea97103d59afd213467403a48788e476e47c4c3.patch"; + sha256 = "1ayj8l6lb19hhl9bhsdfbq7jgchfmpjx0qkljnld90czcksn95yx"; + }) + ]; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; @@ -84,7 +94,7 @@ stdenv.mkDerivation rec { ]; mesonFlags = [ - "-Dplugins=lastfm,audioplayer,cdrom,ipod" + "-Dplugins=audioplayer,cdrom,ipod" ]; postPatch = '' @@ -95,7 +105,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Music player and library designed for elementary OS"; homepage = "https://github.com/elementary/music"; - license = licenses.lgpl2Plus; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; From 1558d9c17ba53652cb779298c9bde9e00a7c754c Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 20:33:27 +0800 Subject: [PATCH 118/173] pantheon.elementary-settings-daemon: reinit at 1.0.0 the former package has been renamed and upgraded to gnome.gnome-settings-daemon338 --- pkgs/desktops/pantheon/default.nix | 7 +- .../elementary-settings-daemon/default.nix | 165 ++++-------------- .../elementary-dpms.patch | 84 --------- .../fix-paths.patch | 15 -- .../global-backlight-helper.patch | 26 --- 5 files changed, 34 insertions(+), 263 deletions(-) delete mode 100644 pkgs/desktops/pantheon/services/elementary-settings-daemon/elementary-dpms.patch delete mode 100644 pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch delete mode 100644 pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patch diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index b81d3e42773c..6bbedfd9c152 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -109,12 +109,7 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-notifications = callPackage ./services/elementary-notifications { }; - # We're using ubuntu and elementary's patchset due to reasons - # explained here -> https://github.com/elementary/greeter/issues/92#issuecomment-376215614 - # Take note of "I am holding off on "fixing" this bug for as long as possible." - elementary-settings-daemon = callPackage ./services/elementary-settings-daemon { - inherit (gnome) gnome-desktop; - }; + elementary-settings-daemon = callPackage ./services/elementary-settings-daemon { }; pantheon-agent-geoclue2 = callPackage ./services/pantheon-agent-geoclue2 { }; diff --git a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix index 568414aab35c..e7dad3c2ccfd 100644 --- a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix +++ b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix @@ -1,165 +1,66 @@ { lib, stdenv -, substituteAll -, fetchurl -, fetchgit -, fetchpatch +, fetchFromGitHub , meson , ninja -, pkg-config -, gnome -, perl -, gettext -, gtk3 -, glib -, libnotify -, libgnomekbd -, lcms2 -, libpulseaudio -, alsa-lib -, libcanberra-gtk3 -, upower -, colord -, libgweather -, polkit -, gsettings-desktop-schemas -, geoclue2 -, systemd -, libgudev -, libwacom -, libxslt -, libxml2 -, modemmanager -, networkmanager -, gnome-desktop -, geocode-glib -, docbook_xsl -, accountsservice -, wrapGAppsHook -, python3 -, tzdata -, nss -, gcr , pantheon +, pkg-config +, python3 +, vala +, accountsservice +, dbus +, desktop-file-utils +, geoclue2 +, glib +, gobject-introspection +, gtk3 +, granite +, libgee +, wrapGAppsHook }: stdenv.mkDerivation rec { pname = "elementary-settings-daemon"; - version = "3.34.1"; + version = "1.0.0"; - repoName = "gnome-settings-daemon"; + repoName = "settings-daemon"; - src = fetchgit { - url = "https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/${repoName}"; - rev = "refs/tags/ubuntu/${version}-1ubuntu2"; - sha256 = "0w0dsbzif7v0gk61rs9g20ldlimbdwb5yvlfdc568yyx5z643jbv"; + src = fetchFromGitHub { + owner = "elementary"; + repo = repoName; + rev = version; + sha256 = "1masvy1f9z2cp8w5ajnhy4k9bzvzgfziqlm59bf146pdd2567hiw"; }; - # We've omitted the 53_sync_input_sources_to_accountsservice patch because it breaks the build. - # See: https://gist.github.com/worldofpeace/2f152a20b7c47895bb93239fce1c9f52 - # - # Also omit ubuntu_calculator_snap.patch as that's obviously not useful here. - patches = let patchPath = "${src}/debian/patches"; in [ - (substituteAll { - src = ./fix-paths.patch; - inherit tzdata; - }) - ./global-backlight-helper.patch - "${patchPath}/45_suppress-printer-may-not-be-connected-notification.patch" - #"${patchPath}/53_sync_input_sources_to_accountsservice.patch" - "${patchPath}/64_restore_terminal_keyboard_shortcut_schema.patch" - "${patchPath}/correct_logout_action.patch" - "${patchPath}/ubuntu-lid-close-suspend.patch" - "${patchPath}/revert-gsettings-removals.patch" - "${patchPath}/revert-mediakeys-dbus-interface-drop.patch" - #"${patchPath}/ubuntu_ibus_configs.patch" - # https://github.com/elementary/os-patches/blob/6975d1c254cb6ab913b8e2396877203aea8eaa65/debian/patches/elementary-dpms.patch - ./elementary-dpms.patch - - # Query GWeather DB on the fly instead of caching. - # Needed for the next patch to apply. - # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/merge_requests/175 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/df6c69f028d27b53ac86829e11df103b25ed5a74.patch"; - sha256 = "bKZkPzN64DXMgitjn0vUzUvKl7ldhN/mNVtPKVmHd0Q="; - }) - # Adjust to libgweather changes. - # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/217 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/82d88014dfca2df7e081712870e1fb017c16b808.patch"; - sha256 = "H5k/v+M2bRaswt5nrDJFNn4gS4BdB0UfzdjUCT4yLKg="; - }) - ]; - nativeBuildInputs = [ + desktop-file-utils + gobject-introspection meson ninja pkg-config - perl - gettext - libxml2 - libxslt - docbook_xsl - wrapGAppsHook python3 + vala + wrapGAppsHook ]; buildInputs = [ accountsservice - alsa-lib - colord - gcr + dbus geoclue2 - geocode-glib glib - gnome-desktop - gsettings-desktop-schemas gtk3 - lcms2 - libcanberra-gtk3 - libgnomekbd # for org.gnome.libgnomekbd.keyboard schema - libgudev - libgweather - libnotify - libpulseaudio - libwacom - modemmanager - networkmanager - nss - polkit - systemd - upower + granite + libgee ]; - mesonFlags = [ - "-Dudev_dir=${placeholder "out"}/lib/udev" - ]; - - # Default for release buildtype but passed manually because - # we're using plain - NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS"; - postPatch = '' - for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl meson_post_install.py; do - chmod +x $f - patchShebangs $f - done + chmod +x meson/post_install.py + patchShebangs meson/post_install.py ''; - postFixup = '' - # So the polkit policy can reference /run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper - mkdir -p $out/bin/elementary-settings-daemon - ln -s $out/libexec/gsd-backlight-helper $out/bin/elementary-settings-daemon/gsd-backlight-helper - ''; - - passthru = { - updateScript = gnome.updateScript { - packageName = repoName; - attrPath = "pantheon.${pname}"; - }; - }; - meta = with lib; { - license = licenses.gpl2Plus; + description = "Settings daemon for Pantheon"; + homepage = "https://github.com/elementary/settings-daemon"; + license = licenses.gpl3Plus; maintainers = pantheon.maintainers; platforms = platforms.linux; }; diff --git a/pkgs/desktops/pantheon/services/elementary-settings-daemon/elementary-dpms.patch b/pkgs/desktops/pantheon/services/elementary-settings-daemon/elementary-dpms.patch deleted file mode 100644 index 14d056ceca27..000000000000 --- a/pkgs/desktops/pantheon/services/elementary-settings-daemon/elementary-dpms.patch +++ /dev/null @@ -1,84 +0,0 @@ -diff --git a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in -index ec805d8a..cf0d6793 100644 ---- a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in -+++ b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in -@@ -11,6 +11,11 @@ - <summary>Activation of this plugin</summary> - <description>Whether this plugin would be activated by unity-settings-daemon or not</description> - </key> -+ <key name="manage-dpms-defaults" type="b"> -+ <default>false</default> -+ <summary>Reset X DPMS values</summary> -+ <description>Whether DPMS values will be adjusted by gnome-settings-daemon</description> -+ </key> - <key name="idle-brightness" type="i"> - <default>30</default> - <summary>The brightness of the screen when idle</summary> -diff --git a/plugins/power/gpm-common.c b/plugins/power/gpm-common.c -index a7ca87fb..a56a7cdc 100644 ---- a/plugins/power/gpm-common.c -+++ b/plugins/power/gpm-common.c -@@ -280,6 +280,18 @@ disable_builtin_screensaver (gpointer unused) - return TRUE; - } - -+gboolean -+manage_dpms (void) -+{ -+ GSettings *settings; -+ gboolean manage_dpms_defaults; -+ -+ settings = g_settings_new ("org.gnome.settings-daemon.plugins.power"); -+ manage_dpms_defaults = g_settings_get_boolean (settings, "manage-dpms-defaults"); -+ g_object_unref (settings); -+ return manage_dpms_defaults; -+} -+ - guint - gsd_power_enable_screensaver_watchdog (void) - { -@@ -290,7 +302,7 @@ gsd_power_enable_screensaver_watchdog (void) - * way. The defaults are now applied in Fedora 20 from - * being "0" by default to being "600" by default */ - gdk_x11_display_error_trap_push (gdk_display_get_default ()); -- if (DPMSQueryExtension(GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &dummy, &dummy)) -+ if (manage_dpms () && DPMSQueryExtension(GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &dummy, &dummy)) - DPMSSetTimeouts (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), 0, 0, 0); - gdk_x11_display_error_trap_pop_ignored (gdk_display_get_default ()); - id = g_timeout_add_seconds (XSCREENSAVER_WATCHDOG_TIMEOUT, -diff --git a/plugins/power/gpm-common.h b/plugins/power/gpm-common.h -index 88a8e00e..af106479 100644 ---- a/plugins/power/gpm-common.h -+++ b/plugins/power/gpm-common.h -@@ -34,6 +34,7 @@ gchar *gpm_get_timestring (guint time); - gboolean gsd_power_is_hardware_a_vm (void); - guint gsd_power_enable_screensaver_watchdog (void); - void reset_idletime (void); -+gboolean manage_dpms (void); - - /* Backlight helpers */ - -diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c -index c500fa38..445496ee 100644 ---- a/plugins/power/gsd-power-manager.c -+++ b/plugins/power/gsd-power-manager.c -@@ -1033,6 +1033,9 @@ backlight_enable (GsdPowerManager *manager) - gboolean ret; - GError *error = NULL; - -+ if (!(manage_dpms ())) -+ return; -+ - iio_proxy_claim_light (manager, TRUE); - ret = gnome_rr_screen_set_dpms_mode (manager->rr_screen, - GNOME_RR_DPMS_ON, -@@ -1052,6 +1055,9 @@ backlight_disable (GsdPowerManager *manager) - gboolean ret; - GError *error = NULL; - -+ if (!(manage_dpms ())) -+ return; -+ - iio_proxy_claim_light (manager, FALSE); - ret = gnome_rr_screen_set_dpms_mode (manager->rr_screen, - GNOME_RR_DPMS_OFF, diff --git a/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch b/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch deleted file mode 100644 index 2229302cab7c..000000000000 --- a/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/plugins/datetime/tz.h -+++ b/plugins/datetime/tz.h -@@ -27,11 +27,7 @@ - - #include <glib.h> - --#ifndef __sun --# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" --#else --# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" --#endif -+#define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab" - - typedef struct _TzDB TzDB; - typedef struct _TzLocation TzLocation; diff --git a/pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patch b/pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patch deleted file mode 100644 index dcdc83934ba6..000000000000 --- a/pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/plugins/power/gsd-backlight.c b/plugins/power/gsd-backlight.c -index d7d10fd2..5619d6ad 100644 ---- a/plugins/power/gsd-backlight.c -+++ b/plugins/power/gsd-backlight.c -@@ -358,7 +358,7 @@ gsd_backlight_run_set_helper (GsdBacklight *backlight, GTask *task) - proc = g_subprocess_new (G_SUBPROCESS_FLAGS_STDOUT_SILENCE, - &error, - "pkexec", -- LIBEXECDIR "/gsd-backlight-helper", -+ "/run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper", - g_udev_device_get_sysfs_path (backlight->udev_device), - data->value_str, NULL); - } else { -diff --git a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in -index f16300f8..79d6bd17 100644 ---- a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in -+++ b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in -@@ -25,7 +25,7 @@ - <allow_inactive>no</allow_inactive> - <allow_active>yes</allow_active> - </defaults> -- <annotate key="org.freedesktop.policykit.exec.path">@libexecdir@/gsd-backlight-helper</annotate> -+ <annotate key="org.freedesktop.policykit.exec.path">/run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper</annotate> - </action> - - </policyconfig> From a94ae9d223b2cb6430f96940404ab56805b71535 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Mon, 26 Jul 2021 11:01:45 +0800 Subject: [PATCH 119/173] pantheon.elementary-gsettings-desktop-schemas: fix build --- .../pantheon/desktop/elementary-gsettings-schemas/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix b/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix index bfe95e0be46d..1f8c811d9d10 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix @@ -6,7 +6,7 @@ , glib , gala , epiphany -, elementary-settings-daemon +, gnome-settings-daemon , gtk3 , elementary-dock , gsettings-desktop-schemas @@ -18,7 +18,7 @@ let gsettingsOverridePackages = [ elementary-dock - elementary-settings-daemon + gnome-settings-daemon epiphany gala gsettings-desktop-schemas From 9a630f47d8dcb543a11f273e5a37c2861497ff33 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Mon, 19 Jul 2021 09:17:52 +0800 Subject: [PATCH 120/173] pantheon.elementary-camera: 1.0.6 -> 6.0.0 --- .../pantheon/apps/elementary-camera/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-camera/default.nix b/pkgs/desktops/pantheon/apps/elementary-camera/default.nix index 9a48d38ad8cb..838bd5ae862e 100644 --- a/pkgs/desktops/pantheon/apps/elementary-camera/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-camera/default.nix @@ -13,6 +13,7 @@ , gtk3 , granite , libgee +, libhandy , gst_all_1 , libcanberra , clutter-gtk @@ -24,7 +25,7 @@ stdenv.mkDerivation rec { pname = "elementary-camera"; - version = "1.0.6"; + version = "6.0.0"; repoName = "camera"; @@ -32,7 +33,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "sha256-asl5NdSuLItXebxvqGlSEjwWhdButmka12YQAYkQT44="; + sha256 = "1z5c6pkc7psglxwzby5idsdxvplpi28ckjxrwdngnr22knfdcgag"; }; passthru = { @@ -61,11 +62,12 @@ stdenv.mkDerivation rec { granite gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good + (gst_all_1.gst-plugins-good.override { gtkSupport = true; }) gst_all_1.gstreamer gtk3 libcanberra libgee + libhandy ]; postPatch = '' @@ -76,7 +78,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Camera app designed for elementary OS"; homepage = "https://github.com/elementary/camera"; - license = licenses.gpl2Plus; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; From 3da8bb4e3a8836ca53396f52ac92998992a476e2 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Tue, 20 Jul 2021 10:34:28 +0800 Subject: [PATCH 121/173] pantheon.elementary-tasks: init at 6.0.3 --- .../apps/elementary-tasks/default.nix | 84 +++++++++++++++++++ pkgs/desktops/pantheon/default.nix | 2 + 2 files changed, 86 insertions(+) create mode 100644 pkgs/desktops/pantheon/apps/elementary-tasks/default.nix diff --git a/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix b/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix new file mode 100644 index 000000000000..20e6b576483f --- /dev/null +++ b/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix @@ -0,0 +1,84 @@ +{ lib, stdenv +, fetchFromGitHub +, nix-update-script +, pantheon +, appstream +, desktop-file-utils +, meson +, ninja +, pkg-config +, python3 +, vala +, wrapGAppsHook +, clutter-gtk +, elementary-icon-theme +, evolution-data-server +, granite +, geoclue2 +, geocode-glib +, gtk3 +, libchamplain +, libgdata +, libgee +, libhandy +, libical +}: + +stdenv.mkDerivation rec { + pname = "elementary-tasks"; + version = "6.0.3"; + + repoName = "tasks"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = repoName; + rev = version; + sha256 = "0a6zgf7di4jyl764pn78wbanm0i5vrkk5ks3cfsvi3baprf3j9d5"; + }; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + nativeBuildInputs = [ + appstream + desktop-file-utils + meson + ninja + pkg-config + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + clutter-gtk + elementary-icon-theme + evolution-data-server + granite + geoclue2 + geocode-glib + gtk3 + libchamplain + libgdata + libgee + libhandy + libical + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + meta = with lib; { + homepage = "https://github.com/elementary/tasks"; + description = "Synced tasks and reminders on elementary OS"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; + }; +} diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 6bbedfd9c152..db740468ea70 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -61,6 +61,8 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-screenshot-tool = callPackage ./apps/elementary-screenshot-tool { }; + elementary-tasks = callPackage ./apps/elementary-tasks { }; + elementary-terminal = callPackage ./apps/elementary-terminal { }; elementary-videos = callPackage ./apps/elementary-videos { }; From 91073bc810e1606a116b96c4f59c57ad7c2777f0 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Wed, 21 Jul 2021 12:02:01 +0800 Subject: [PATCH 122/173] pantheon.elementary-screenshot: 1.7.1 -> 6.0.0 renamed from pantheon.elementary-screenshot-tool --- nixos/modules/services/x11/desktop-managers/pantheon.nix | 4 ++-- .../default.nix | 8 +++++--- pkgs/desktops/pantheon/default.nix | 4 +++- 3 files changed, 10 insertions(+), 6 deletions(-) rename pkgs/desktops/pantheon/apps/{elementary-screenshot-tool => elementary-screenshot}/default.nix (82%) diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 805f38007f01..ca84a2c91d0f 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -272,12 +272,12 @@ in elementary-files elementary-music elementary-photos - elementary-screenshot-tool + elementary-screenshot elementary-terminal elementary-videos ] config.environment.pantheon.excludePackages); - # needed by screenshot-tool + # needed by screenshot fonts.fonts = [ pkgs.pantheon.elementary-redacted-script ]; diff --git a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix b/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix similarity index 82% rename from pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix rename to pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix index 048aa4ab129e..a7f2489da45e 100644 --- a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix @@ -11,14 +11,15 @@ , gtk3 , granite , libgee +, libhandy , libcanberra , elementary-icon-theme , wrapGAppsHook }: stdenv.mkDerivation rec { - pname = "elementary-screenshot-tool"; # This will be renamed to "screenshot" soon. See -> https://github.com/elementary/screenshot/pull/93 - version = "1.7.1"; + pname = "elementary-screenshot"; + version = "6.0.0"; repoName = "screenshot"; @@ -26,7 +27,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "sha256-qo55fzp0ieYF5I5uxnCQY066mege06InHL3B3ahYMZ0="; + sha256 = "1fvsl9zdkv7bgx3jpy7pr9lflm4ckr3swdby379mdxn2x6kxji0x"; }; passthru = { @@ -51,6 +52,7 @@ stdenv.mkDerivation rec { gtk3 libcanberra libgee + libhandy ]; postPatch = '' diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index db740468ea70..fb3af6506410 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -59,7 +59,7 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-photos = callPackage ./apps/elementary-photos { }; - elementary-screenshot-tool = callPackage ./apps/elementary-screenshot-tool { }; + elementary-screenshot = callPackage ./apps/elementary-screenshot { }; elementary-tasks = callPackage ./apps/elementary-tasks { }; @@ -207,4 +207,6 @@ lib.makeScope pkgs.newScope (self: with self; { cerbere = throw "Cerbere is now obsolete https://github.com/elementary/cerbere/releases/tag/2.5.1."; + elementary-screenshot-tool = elementary-screenshot; # added 2021-07-21 + }) From 2cc74a2106038356daee39062bb8b1cf0c55d488 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Wed, 21 Jul 2021 12:08:30 +0800 Subject: [PATCH 123/173] pantheon.elementary-calendar: 5.1.1 -> 6.0.1 --- pkgs/desktops/pantheon/apps/elementary-calendar/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix index cf0d0d812fe1..d9f8cc69c16e 100644 --- a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix @@ -10,6 +10,7 @@ , gtk3 , granite , libgee +, libhandy , geoclue2 , libchamplain , clutter @@ -27,7 +28,7 @@ stdenv.mkDerivation rec { pname = "elementary-calendar"; - version = "5.1.1"; + version = "6.0.1"; repoName = "calendar"; @@ -35,7 +36,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "18npf4zzf2dywr1zkr6fqzcbb70297yvdp5wxw7zyam1xwa86v07"; + sha256 = "1caxc42jrys5s4x9qai5wdpcwpkmyvnqx9z75974g7swiz1lrzq6"; }; passthru = { @@ -66,6 +67,7 @@ stdenv.mkDerivation rec { gtk3 libchamplain libgee + libhandy libical libnotify libgdata # required by some dependency transitively From de73ad2567a4f445ea46b30b51ab86aa191e92e3 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Fri, 16 Jul 2021 19:26:34 +0800 Subject: [PATCH 124/173] pantheon.elementary-files: 4.5.0 -> 6.0.2 --- .../x11/desktop-managers/pantheon.nix | 5 ++- ...-module-hardcode-gsettings-for-nixos.patch | 35 ------------------- .../apps/elementary-files/default.nix | 16 +++++---- ...-portal-hardcode-gsettings-for-nixos.patch | 24 +++++++++++++ 4 files changed, 37 insertions(+), 43 deletions(-) delete mode 100644 pkgs/desktops/pantheon/apps/elementary-files/0001-filechooser-module-hardcode-gsettings-for-nixos.patch create mode 100644 pkgs/desktops/pantheon/apps/elementary-files/filechooser-portal-hardcode-gsettings-for-nixos.patch diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index ca84a2c91d0f..acb589a9141e 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -223,9 +223,12 @@ in # Settings from elementary-default-settings environment.sessionVariables.GTK_CSD = "1"; - environment.sessionVariables.GTK3_MODULES = [ "pantheon-filechooser-module" ]; environment.etc."gtk-3.0/settings.ini".source = "${pkgs.pantheon.elementary-default-settings}/etc/gtk-3.0/settings.ini"; + xdg.portal.extraPortals = [ + pkgs.pantheon.elementary-files + ]; + # Override GSettings schemas environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas"; diff --git a/pkgs/desktops/pantheon/apps/elementary-files/0001-filechooser-module-hardcode-gsettings-for-nixos.patch b/pkgs/desktops/pantheon/apps/elementary-files/0001-filechooser-module-hardcode-gsettings-for-nixos.patch deleted file mode 100644 index 9bcedac3f035..000000000000 --- a/pkgs/desktops/pantheon/apps/elementary-files/0001-filechooser-module-hardcode-gsettings-for-nixos.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f51974c9736c3e28755245d15729578214652343 Mon Sep 17 00:00:00 2001 -Message-Id: <f51974c9736c3e28755245d15729578214652343.1599178185.git-series.worldofpeace@protonmail.ch> -From: worldofpeace <worldofpeace@protonmail.ch> -Date: Thu, 3 Sep 2020 20:08:15 -0400 -Subject: [PATCH] filechooser-module: hardcode gsettings for nixos - ---- - filechooser-module/FileChooserDialog.vala | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/filechooser-module/FileChooserDialog.vala b/filechooser-module/FileChooserDialog.vala -index a70fe10..08fde2c 100644 ---- a/filechooser-module/FileChooserDialog.vala -+++ b/filechooser-module/FileChooserDialog.vala -@@ -60,10 +60,14 @@ public class CustomFileChooserDialog : Object { - /* If not local only during creation, strange bug occurs on fresh installs */ - chooser_dialog.local_only = true; - -- var files_preferences = new Settings ("io.elementary.files.preferences"); -+ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@ELEMENTARY_FILES_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); -+ SettingsSchema preferences_schema = sss.lookup ("io.elementary.files.preferences", false); -+ SettingsSchema chooser_schema = sss.lookup ("io.elementary.files.file-chooser", false); -+ -+ var files_preferences = new Settings.full (preferences_schema, null, null); - is_single_click = files_preferences.get_boolean ("single-click"); - -- var chooser_settings = new Settings ("io.elementary.files.file-chooser"); -+ var chooser_settings = new Settings.full (chooser_schema, null, null); - - assign_container_box (); - remove_gtk_widgets (); - -base-commit: 57cb89b64fd2d5c08f4aaf23e8c74bfaa5d0384f --- -git-series 0.9.1 diff --git a/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/pkgs/desktops/pantheon/apps/elementary-files/default.nix index 99fd2a6555f5..3b9b0648c4d0 100644 --- a/pkgs/desktops/pantheon/apps/elementary-files/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-files/default.nix @@ -13,9 +13,9 @@ , gtk3 , glib , libgee +, libhandy , granite , libnotify -, libunity , pango , elementary-dock , bamf @@ -27,11 +27,12 @@ , libcloudproviders , libgit2-glib , wrapGAppsHook +, systemd }: stdenv.mkDerivation rec { pname = "elementary-files"; - version = "4.5.0"; + version = "6.0.2"; repoName = "files"; @@ -41,7 +42,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "sha256-wtQW1poX791DAlSFdVV9psnCfBDeVXI2fDZ2GcvvNn8="; + sha256 = "1i514r3adypmcwinmv4c1kybims16xi4i3akx0yy04dib92hbk7c"; }; passthru = { @@ -73,29 +74,30 @@ stdenv.mkDerivation rec { libdbusmenu-gtk3 libgee libgit2-glib + libhandy libnotify - libunity pango sqlite + systemd zeitgeist ]; patches = [ - ./0001-filechooser-module-hardcode-gsettings-for-nixos.patch + ./filechooser-portal-hardcode-gsettings-for-nixos.patch ]; postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py - substituteInPlace filechooser-module/FileChooserDialog.vala \ + substituteInPlace filechooser-portal/LegacyFileChooserDialog.vala \ --subst-var-by ELEMENTARY_FILES_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"} ''; meta = with lib; { description = "File browser designed for elementary OS"; homepage = "https://github.com/elementary/files"; - license = licenses.lgpl3; + license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; }; diff --git a/pkgs/desktops/pantheon/apps/elementary-files/filechooser-portal-hardcode-gsettings-for-nixos.patch b/pkgs/desktops/pantheon/apps/elementary-files/filechooser-portal-hardcode-gsettings-for-nixos.patch new file mode 100644 index 000000000000..b04208cc8b86 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/elementary-files/filechooser-portal-hardcode-gsettings-for-nixos.patch @@ -0,0 +1,24 @@ +From 726ab4c0ab01273cb2197e4c151a5b69ff0954b6 Mon Sep 17 00:00:00 2001 +From: Bobby Rong <rjl931189261@126.com> +Date: Fri, 16 Jul 2021 18:24:58 +0800 +Subject: [PATCH] filechooser-portal: hardcode gsettings for nixos + +--- + filechooser-portal/LegacyFileChooserDialog.vala | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/filechooser-portal/LegacyFileChooserDialog.vala b/filechooser-portal/LegacyFileChooserDialog.vala +index 330718f..f383bb1 100644 +--- a/filechooser-portal/LegacyFileChooserDialog.vala ++++ b/filechooser-portal/LegacyFileChooserDialog.vala +@@ -60,7 +60,9 @@ public class Files.LegacyFileChooserDialog : Object { + /* If not local only during creation, strange bug occurs on fresh installs */ + chooser_dialog.local_only = true; + +- var chooser_settings = new Settings ("io.elementary.files.file-chooser"); ++ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@ELEMENTARY_FILES_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); ++ SettingsSchema chooser_schema = sss.lookup ("io.elementary.files.file-chooser", false); ++ var chooser_settings = new Settings.full (chooser_schema, null, null); + + action_area = (Gtk.ButtonBox) chooser_dialog.get_action_area (); + From 5523634193c79ccb3861e517cea5c7f31ed41397 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Thu, 29 Jul 2021 11:18:17 +0800 Subject: [PATCH 125/173] pantheon.elementary-mail: 6.0.0 -> 6.1.1 --- .../pantheon/apps/elementary-mail/default.nix | 11 +++- .../elementary-mail/revert-fix-warning.patch | 55 +++++++++++++++++++ 2 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patch diff --git a/pkgs/desktops/pantheon/apps/elementary-mail/default.nix b/pkgs/desktops/pantheon/apps/elementary-mail/default.nix index c990ecb24d6b..88c9b983b455 100644 --- a/pkgs/desktops/pantheon/apps/elementary-mail/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-mail/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pantheon , pkg-config @@ -25,7 +26,7 @@ stdenv.mkDerivation rec { pname = "elementary-mail"; - version = "6.0.0"; + version = "6.1.1"; repoName = "mail"; @@ -33,7 +34,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "07iiipl0nsp63g5bn1y2hg6bmgj6i9cxqcfpd7q3vmldnkijvaxs"; + sha256 = "15ai0x9236pjx76m0756nyc1by78v0lg1dgdiifk868krdvipzzx"; }; passthru = { @@ -42,6 +43,12 @@ stdenv.mkDerivation rec { }; }; + patches = [ + # The app stuck when loading gravatar, temporarily reverts part + # of https://github.com/elementary/mail/pull/600 to fix this + ./revert-fix-warning.patch + ]; + nativeBuildInputs = [ appstream desktop-file-utils diff --git a/pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patch b/pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patch new file mode 100644 index 000000000000..85534aaf4c60 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patch @@ -0,0 +1,55 @@ +From 9e61e9493e78b83b9599886561ee596c096030ed Mon Sep 17 00:00:00 2001 +From: Bobby Rong <rjl931189261@126.com> +Date: Thu, 29 Jul 2021 13:57:21 +0800 +Subject: [PATCH] Partly revert "Fix Warnings in Vala Code (#600)" + +This partly reverts commit 9477c24201d3c9c3c7bcc650e0290daa0ee1ab21. +--- + src/MessageList/MessageListItem.vala | 27 ++++++++++++++++++++++++++- + 1 file changed, 26 insertions(+), 1 deletion(-) + +diff --git a/src/MessageList/MessageListItem.vala b/src/MessageList/MessageListItem.vala +index 96b61027..a7ef8f9e 100644 +--- a/src/MessageList/MessageListItem.vala ++++ b/src/MessageList/MessageListItem.vala +@@ -290,7 +290,7 @@ public class Mail.MessageListItem : Gtk.ListBoxRow { + expanded = false; + show_all (); + +- avatar.set_loadable_icon (new GravatarIcon (parsed_address, get_style_context ().get_scale ())); ++ download_gravatar.begin (parsed_address, avatar.size); + + /* Override default handler to stop event propagation. Otherwise clicking the menu will + expand or collapse the MessageListItem. */ +@@ -348,6 +348,31 @@ public class Mail.MessageListItem : Gtk.ListBoxRow { + }); + } + ++ private async void download_gravatar (string address, int size) { ++ if (avatars[address] == null) { ++ var uri = "https://secure.gravatar.com/avatar/%s?d=404&s=%d".printf ( ++ Checksum.compute_for_string (ChecksumType.MD5, address.strip ().down ()), ++ size * get_style_context ().get_scale () ++ ); ++ ++ var server_file = File.new_for_uri (uri); ++ var path = Path.build_filename (Environment.get_tmp_dir (), server_file.get_basename ()); ++ var local_file = File.new_for_path (path); ++ ++ try { ++ yield server_file.copy_async (local_file, FileCopyFlags.OVERWRITE, Priority.DEFAULT, null); ++ avatars[address] = new Gdk.Pixbuf.from_file_at_scale (path, size, size, true); ++ } catch (Error e) { ++ debug ("Unable to fetch gravatar: %s", e.message); ++ return; ++ } ++ } ++ ++ avatar.set_image_load_func (() => { ++ return avatars[address]; ++ }); ++ } ++ + private void add_inline_composer (ComposerWidget.Type composer_type) { + var message_list_box = (MessageListBox) get_parent (); + message_list_box.add_inline_composer.begin (composer_type, this); From e56ee9ba6602c7fdf30648b4b170a06c4ad436a0 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Thu, 29 Jul 2021 11:24:07 +0800 Subject: [PATCH 126/173] pantheon.elementary-feedback: 6.0.0 -> 6.1.0 --- .../pantheon/apps/elementary-feedback/default.nix | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix b/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix index 2e20314d480a..a06188fa6960 100644 --- a/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pantheon , pkg-config @@ -21,7 +22,7 @@ stdenv.mkDerivation rec { pname = "elementary-feedback"; - version = "6.0.0"; + version = "6.1.0"; repoName = "feedback"; @@ -29,9 +30,18 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "1fh9a0nfvbrxamki9avm9by760csj2nqy4ya7wzbnqbrrvjwd3fv"; + sha256 = "02wydbpa5qaa4xmmh4m7rbj4djbrn2i44zjakj5i6mzwjlj6sv5n"; }; + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/feedback/pull/48 + (fetchpatch { + url = "https://github.com/elementary/feedback/commit/080005153977a86d10099eff6a5b3e68f7b12847.patch"; + sha256 = "01710i90qsaqsrjs92ahwwj198bdrrif6mnw29l9har2rncfkfk2"; + }) + ]; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; From bdce39c9f274d0849e0a99220e163ec07515325d Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Tue, 3 Aug 2021 09:26:14 +0800 Subject: [PATCH 127/173] pantheon.appcenter: 3.6.0 -> 3.7.1 --- .../pantheon/apps/appcenter/default.nix | 10 +- .../apps/appcenter/flatpak-only.patch | 196 ++++++++++++++++++ 2 files changed, 204 insertions(+), 2 deletions(-) create mode 100644 pkgs/desktops/pantheon/apps/appcenter/flatpak-only.patch diff --git a/pkgs/desktops/pantheon/apps/appcenter/default.nix b/pkgs/desktops/pantheon/apps/appcenter/default.nix index 556b67aeafe8..b88d8f5518ef 100644 --- a/pkgs/desktops/pantheon/apps/appcenter/default.nix +++ b/pkgs/desktops/pantheon/apps/appcenter/default.nix @@ -30,15 +30,21 @@ stdenv.mkDerivation rec { pname = "appcenter"; - version = "3.6.0"; + version = "3.7.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0kwqgilhyrj2nbvw5y34nzch5h9jnrg1a1n333qdsx4ax6yrxh4j"; + sha256 = "1llkc0p47jcx992lkwics86vv622dmmvm5hxrdsq26j9crcd5dam"; }; + patches = [ + # Try to remove other backends to make flatpak backend work. + # https://github.com/NixOS/nixpkgs/issues/70214 + ./flatpak-only.patch + ]; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; diff --git a/pkgs/desktops/pantheon/apps/appcenter/flatpak-only.patch b/pkgs/desktops/pantheon/apps/appcenter/flatpak-only.patch new file mode 100644 index 000000000000..857c13028857 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/appcenter/flatpak-only.patch @@ -0,0 +1,196 @@ +From 63594caa1da772de504ab1d93b69aae148f29f64 Mon Sep 17 00:00:00 2001 +From: Bobby Rong <rjl931189261@126.com> +Date: Wed, 1 Sep 2021 12:25:09 +0800 +Subject: [PATCH] Drop PackageKitBackend and UbuntuDriversBackend + +--- + src/Application.vala | 14 --------- + src/Core/BackendAggregator.vala | 2 -- + src/Core/UpdateManager.vala | 56 --------------------------------- + src/MainWindow.vala | 17 ---------- + src/Views/Homepage.vala | 15 --------- + 5 files changed, 104 deletions(-) + +diff --git a/src/Application.vala b/src/Application.vala +index 65fae5aa..9d42b14f 100644 +--- a/src/Application.vala ++++ b/src/Application.vala +@@ -167,10 +167,6 @@ public class AppCenter.App : Gtk.Application { + + var client = AppCenterCore.Client.get_default (); + +- if (fake_update_packages != null) { +- AppCenterCore.PackageKitBackend.get_default ().fake_packages = fake_update_packages; +- } +- + if (silent) { + NetworkMonitor.get_default ().network_changed.connect ((available) => { + schedule_cache_update (!available); +@@ -183,16 +179,6 @@ public class AppCenter.App : Gtk.Application { + return; + } + +- if (local_path != null) { +- var file = File.new_for_commandline_arg (local_path); +- +- try { +- local_package = AppCenterCore.PackageKitBackend.get_default ().add_local_component_file (file); +- } catch (Error e) { +- warning ("Failed to load local AppStream XML file: %s", e.message); +- } +- } +- + if (main_window == null) { + main_window = new MainWindow (this); + +diff --git a/src/Core/BackendAggregator.vala b/src/Core/BackendAggregator.vala +index 2f8bdedf..b705ca87 100644 +--- a/src/Core/BackendAggregator.vala ++++ b/src/Core/BackendAggregator.vala +@@ -26,8 +26,6 @@ public class AppCenterCore.BackendAggregator : Backend, Object { + + construct { + backends = new Gee.ArrayList<unowned Backend> (); +- backends.add (PackageKitBackend.get_default ()); +- backends.add (UbuntuDriversBackend.get_default ()); + backends.add (FlatpakBackend.get_default ()); + + unowned Gtk.Application app = (Gtk.Application) GLib.Application.get_default (); +diff --git a/src/Core/UpdateManager.vala b/src/Core/UpdateManager.vala +index 29fa397a..ce42dd57 100644 +--- a/src/Core/UpdateManager.vala ++++ b/src/Core/UpdateManager.vala +@@ -53,42 +53,9 @@ public class AppCenterCore.UpdateManager : Object { + installed_package.update_state (); + } + +- Pk.Results pk_updates; +- unowned PackageKitBackend client = PackageKitBackend.get_default (); +- try { +- pk_updates = yield client.get_updates (cancellable); +- } catch (Error e) { +- warning ("Unable to get updates from PackageKit backend: %s", e.message); +- return 0; +- } +- + uint os_count = 0; + string os_desc = ""; + +- var package_array = pk_updates.get_package_array (); +- debug ("PackageKit backend reports %d updates", package_array.length); +- +- package_array.foreach ((pk_package) => { +- var pkg_name = pk_package.get_name (); +- var appcenter_package = client.lookup_package_by_id (pkg_name); +- if (appcenter_package != null) { +- debug ("Added %s to app updates", pkg_name); +- apps_with_updates.add (appcenter_package); +- appcenter_package.latest_version = pk_package.get_version (); +- } else { +- debug ("Added %s to OS updates", pkg_name); +- os_count++; +- unowned string pkg_summary = pk_package.get_summary (); +- unowned string pkg_version = pk_package.get_version (); +- os_desc += Markup.printf_escaped ( +- "<li>%s\n\t%s\n\t%s</li>\n", +- pkg_name, +- pkg_summary, +- _("Version: %s").printf (pkg_version) +- ); +- } +- }); +- + os_updates.component.set_pkgnames ({}); + os_updates.change_information.clear_update_info (); + +@@ -160,29 +127,6 @@ public class AppCenterCore.UpdateManager : Object { + count += 1; + } + +- pk_updates.get_details_array ().foreach ((pk_detail) => { +- var pk_package = new Pk.Package (); +- try { +- pk_package.set_id (pk_detail.get_package_id ()); +- var pkg_name = pk_package.get_name (); +- var appcenter_package = client.lookup_package_by_id (pkg_name); +- if (appcenter_package != null) { +- appcenter_package.change_information.updatable_packages.@set (client, pk_package.get_id ()); +- appcenter_package.change_information.size += pk_detail.size; +- appcenter_package.update_state (); +- } else { +- var pkgnames = os_updates.component.pkgnames; +- pkgnames += pkg_name; +- os_updates.component.pkgnames = pkgnames; +- +- os_updates.change_information.updatable_packages.@set (client, pk_package.get_id ()); +- os_updates.change_information.size += pk_detail.size; +- } +- } catch (Error e) { +- critical (e.message); +- } +- }); +- + os_updates.update_state (); + return count; + } +diff --git a/src/MainWindow.vala b/src/MainWindow.vala +index a32ce47b..b9f8594a 100644 +--- a/src/MainWindow.vala ++++ b/src/MainWindow.vala +@@ -292,23 +292,6 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow { + } + + public override bool delete_event (Gdk.EventAny event) { +- unowned AppCenterCore.PackageKitBackend client = AppCenterCore.PackageKitBackend.get_default (); +- if (client.working) { +- if (task_finished_connection != 0U) { +- client.disconnect (task_finished_connection); +- } +- +- hide (); +- task_finished_connection = client.notify["working"].connect (() => { +- if (!visible && !client.working) { +- destroy (); +- } +- }); +- +- AppCenterCore.Client.get_default ().cancel_updates (false); //Timeouts keep running +- return true; +- } +- + return false; + } + +diff --git a/src/Views/Homepage.vala b/src/Views/Homepage.vala +index 67d1e208..48af8f61 100644 +--- a/src/Views/Homepage.vala ++++ b/src/Views/Homepage.vala +@@ -212,7 +212,6 @@ public class AppCenter.Homepage : AbstractView { + recently_updated_revealer.reveal_child = recently_updated_carousel.get_children ().length () > 0; + + var houston = AppCenterCore.Houston.get_default (); +- var pk_client = AppCenterCore.PackageKitBackend.get_default (); + var packages_for_banner = new Gee.LinkedList<AppCenterCore.Package> (); + + var newest_ids = yield houston.get_app_ids ("/newest/project"); +@@ -220,20 +219,6 @@ public class AppCenter.Homepage : AbstractView { + Utils.shuffle_array (trending_ids); + + var packages = new Gee.HashMap<string, AppCenterCore.Package> (); +- packages.set_all (pk_client.get_packages_for_component_ids (newest_ids)); +- packages.set_all (pk_client.get_packages_for_component_ids (trending_ids)); +- +- if (!AppCenterCore.PackageKitBackend.supports_parallel_package_queries) { +- foreach (var package in packages.values) { +- package.update_state (); +- } +- } else { +- try { +- yield pk_client.update_multiple_package_state (packages.values); +- } catch (Error e) { +- warning ("Error while getting installed state of banner packages: %s", e.message); +- } +- } + + foreach (var package in newest_ids) { + if (packages_for_banner.size >= NUM_PACKAGES_IN_BANNER) { From 8808680e7a212bf80fc057c5766cd0de0dc3b03c Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Mon, 9 Aug 2021 09:15:45 +0800 Subject: [PATCH 128/173] pantheon.elementary-videos: fix translations --- .../pantheon/apps/elementary-videos/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/desktops/pantheon/apps/elementary-videos/default.nix b/pkgs/desktops/pantheon/apps/elementary-videos/default.nix index 95df9a613a82..e0f076719aaf 100644 --- a/pkgs/desktops/pantheon/apps/elementary-videos/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-videos/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pantheon , pkg-config @@ -31,6 +32,15 @@ stdenv.mkDerivation rec { sha256 = "04nl9kn33dysvsg0n5qx1z8qgrifkgfwsm7gh1l308v3n8c69lh7"; }; + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/videos/pull/233 + (fetchpatch { + url = "https://github.com/elementary/videos/commit/19ba2a9148be09ea521d2e9ac29dede6b9c6fa07.patch"; + sha256 = "0ffp7ana98846xi7vxrzfg6dbs4yy28x2i4ky85mqs1gj6fjqin5"; + }) + ]; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; From 7627e5523cca23fd0c33a4741ff1b4899cb31ae9 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Mon, 9 Aug 2021 11:46:07 +0800 Subject: [PATCH 129/173] pantheon.elementary-terminal: fix translations --- .../pantheon/apps/elementary-terminal/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix index 6e6beba50cec..370dcad9bdff 100644 --- a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix @@ -35,6 +35,15 @@ stdenv.mkDerivation rec { sha256 = "08akr4sv4jy9kd4s26kib6j7i8hc3vs0sp71fifv7ww4mi9cm6jc"; }; + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/terminal/pull/611 + (fetchpatch { + url = "https://github.com/elementary/terminal/commit/4f6f2d9f58642ed904240c247cc0a0846baecb6b.patch"; + sha256 = "04pbd72migxw8i949v3bmw8kfi5nr02rjcwfrx3b6xkiic9825sv"; + }) + ]; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; From f7b26fbe9aa7df40264a2da754bee74d62ed5b4d Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Mon, 9 Aug 2021 14:25:58 +0800 Subject: [PATCH 130/173] pantheon.elementary-code: fix translations --- .../pantheon/apps/elementary-code/default.nix | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/pkgs/desktops/pantheon/apps/elementary-code/default.nix index 50a32420de09..96071e0c77c4 100644 --- a/pkgs/desktops/pantheon/apps/elementary-code/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-code/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pantheon , pkg-config @@ -41,6 +42,15 @@ stdenv.mkDerivation rec { sha256 = "1w1m52mq3zr9alkxk1c0s4ncscka1km5ppd0r6zm86qan9cjwq0f"; }; + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/code/pull/1090 + (fetchpatch { + url = "https://github.com/elementary/code/commit/88dc40d7bbcc2288ada6673eb8f4fab345d97882.patch"; + sha256 = "16y20bvslcm390irlib759703lvf7w6rz4xzaiazjj1r1njwinvv"; + }) + ]; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; @@ -53,10 +63,7 @@ stdenv.mkDerivation rec { meson ninja pkg-config - - # polkit is needed for ITS rules - polkit - + polkit # needed for ITS rules python3 vala wrapGAppsHook From 2c3dec3e2d55e382ada8dd37ce0993f877836f46 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Mon, 9 Aug 2021 14:51:21 +0800 Subject: [PATCH 131/173] pantheon.elementary-photos: fix translations --- .../pantheon/apps/elementary-photos/default.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix index bced420dbc0a..897b62d2a381 100644 --- a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pantheon , meson @@ -28,7 +29,6 @@ , webkitgtk , libwebp , appstream -, libunity , wrapGAppsHook , elementary-icon-theme }: @@ -46,6 +46,15 @@ stdenv.mkDerivation rec { sha256 = "1dql14k43rv3in451amiwv4z71hz3ailx67hd8gw1ka3yw12128p"; }; + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/photos/pull/629 + (fetchpatch { + url = "https://github.com/elementary/photos/commit/e5230a4305381734e93f1e3d1177da21a8a4121b.patch"; + sha256 = "1igqq51sj1sx6rl8yrw037jsgnaxfwzfs0m6pqzb9q4jvfdimzfi"; + }) + ]; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; @@ -84,7 +93,6 @@ stdenv.mkDerivation rec { libraw librest libsoup - libunity libwebp scour sqlite From 1258bfcc496b138e638e71d624d8ed036d4f9049 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Mon, 9 Aug 2021 16:15:30 +0800 Subject: [PATCH 132/173] pantheon.elementary-calculator: 1.6.2 -> 1.7.0 --- .../pantheon/apps/elementary-calculator/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix index 8b02af57d42d..b2f0bc906ca5 100644 --- a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pantheon , pkg-config @@ -12,6 +13,7 @@ , python3 , granite , libgee +, libhandy , elementary-icon-theme , appstream , wrapGAppsHook @@ -19,7 +21,7 @@ stdenv.mkDerivation rec { pname = "elementary-calculator"; - version = "1.6.2"; + version = "1.7.0"; repoName = "calculator"; @@ -27,7 +29,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "sha256-kOQr94PAfLPv4LjY2WDdTtlbf3/tYf+NUESZ94+L41M="; + sha256 = "1kl2iximcmbk8inklb2xav7dp08lp5pn9xxa59327zw13gdy8fkf"; }; passthru = { @@ -53,6 +55,7 @@ stdenv.mkDerivation rec { granite gtk3 libgee + libhandy ]; postPatch = '' From 5bab454300db3b4f495b986587179835aad70d2a Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Wed, 11 Aug 2021 16:57:06 +0800 Subject: [PATCH 133/173] pantheon.granite: 6.1.0 -> 6.1.1 --- pkgs/desktops/pantheon/granite/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/granite/default.nix b/pkgs/desktops/pantheon/granite/default.nix index 7f3a6dc0983e..c7c5351bb28b 100644 --- a/pkgs/desktops/pantheon/granite/default.nix +++ b/pkgs/desktops/pantheon/granite/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { pname = "granite"; - version = "6.1.0"; + version = "6.1.1"; outputs = [ "out" "dev" ]; @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = pname; rev = version; - sha256 = "02hn4abnsn6fm2m33pjmlnkj8dljsm292z62vn8ccvy7l8f9my6l"; + sha256 = "13c6xk014psvmll9qybdqviskllw4g150m2k4ikjbv59g0rfp7xq"; }; passthru = { From 72b2f5ab093f7fcae0e464c965317d5ce65eaa10 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Fri, 13 Aug 2021 20:45:51 +0800 Subject: [PATCH 134/173] touchegg: 1.1.1 -> 2.0.11 Co-Authored-By: Audrey MP <astatide@users.noreply.github.com> Co-Authored-By: Rasmus T. Bjerg <rs.bjerg@gmail.com> --- pkgs/tools/inputmethods/touchegg/default.nix | 61 +++++++++++++++----- 1 file changed, 46 insertions(+), 15 deletions(-) diff --git a/pkgs/tools/inputmethods/touchegg/default.nix b/pkgs/tools/inputmethods/touchegg/default.nix index d2bd7a14663b..007c5231109b 100644 --- a/pkgs/tools/inputmethods/touchegg/default.nix +++ b/pkgs/tools/inputmethods/touchegg/default.nix @@ -1,26 +1,57 @@ -{ lib, stdenv, fetchurl, xorg, xorgserver, qt4, libGLU, libGL, geis, qmake4Hook }: +{ stdenv, lib +, fetchFromGitHub +, fetchpatch +, systemd +, libinput +, pugixml +, cairo +, xorg +, gtk3-x11 +, pcre +, pkg-config +, cmake +, pantheon +}: stdenv.mkDerivation rec { pname = "touchegg"; - version = "1.1.1"; - src = fetchurl { - url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/touchegg/${pname}-${version}.tar.gz"; - sha256 = "95734815c7219d9a71282f3144b3526f2542b4fa270a8e69d644722d024b4038"; + version = "2.0.11"; + src = fetchFromGitHub { + owner = "JoseExposito"; + repo = pname; + rev = version; + sha256 = "1zfiqs5vqlb6drnqx9nsmhgy8qc6svzr8zyjkqvwkpbgrc6ifap9"; }; - buildInputs = [ xorgserver libGLU libGL xorg.libX11 xorg.libXtst xorg.libXext qt4 geis ]; + PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system"; - nativeBuildInputs = [ qmake4Hook ]; + buildInputs = [ + systemd + libinput + pugixml + cairo + gtk3-x11 + pcre + ] ++ (with xorg; [ + libX11 + libXtst + libXrandr + libXi + libXdmcp + libpthreadstubs + libxcb + ]); - preConfigure = '' - sed -e "s@/usr/@$out/@g" -i $(find . -name touchegg.pro) - sed -e "s@/usr/@$out/@g" -i $(find ./src/touchegg/config/ -name Config.cpp) - ''; + nativeBuildInputs = [ + pkg-config + cmake + ]; - meta = { + meta = with lib; { homepage = "https://github.com/JoseExposito/touchegg"; - description = "Macro binding for touch surfaces"; - license = lib.licenses.gpl2; - platforms = lib.platforms.linux; + description = "Linux multi-touch gesture recognizer"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = pantheon.maintainers; }; } From dc5ea0908da8359383c96bfa5f8c23fd5b8308d1 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Mon, 13 Sep 2021 22:31:04 +0800 Subject: [PATCH 135/173] pantheon.touchegg: init --- pkgs/desktops/pantheon/default.nix | 2 ++ pkgs/tools/inputmethods/touchegg/default.nix | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index fb3af6506410..8da339844899 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -35,6 +35,8 @@ lib.makeScope pkgs.newScope (self: with self; { notes-up = pkgs.notes-up.override { withPantheon = true; }; + touchegg = pkgs.touchegg.override { withPantheon = true; }; + #### APPS appcenter = callPackage ./apps/appcenter { }; diff --git a/pkgs/tools/inputmethods/touchegg/default.nix b/pkgs/tools/inputmethods/touchegg/default.nix index 007c5231109b..d1df32199545 100644 --- a/pkgs/tools/inputmethods/touchegg/default.nix +++ b/pkgs/tools/inputmethods/touchegg/default.nix @@ -11,6 +11,7 @@ , pkg-config , cmake , pantheon +, withPantheon ? false }: stdenv.mkDerivation rec { @@ -47,6 +48,15 @@ stdenv.mkDerivation rec { cmake ]; + patches = lib.optionals withPantheon [ + # Disable per-application gesture by default to make sure the default + # config does not conflict with Pantheon switchboard settings. + (fetchpatch { + url = "https://github.com/elementary/os-patches/commit/ada4e726540a2bb57b606c98e2531cfaaea57211.patch"; + sha256 = "0is9acwvgiqdhbiw11i3nq0rp0zldcza779fbj8k78cp329rbqb4"; + }) + ]; + meta = with lib; { homepage = "https://github.com/JoseExposito/touchegg"; description = "Linux multi-touch gesture recognizer"; From fee747f5c5dc1db64c7a2805507387a85bd1c842 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Fri, 13 Aug 2021 21:46:21 +0800 Subject: [PATCH 136/173] pantheon.epiphany: init --- .../gnome/core/epiphany/dark-style.patch | 76 +++++++++++++++++++ pkgs/desktops/gnome/core/epiphany/default.nix | 13 +++- .../core/epiphany/navigation-buttons.patch | 12 +++ pkgs/desktops/pantheon/default.nix | 2 + 4 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 pkgs/desktops/gnome/core/epiphany/dark-style.patch create mode 100644 pkgs/desktops/gnome/core/epiphany/navigation-buttons.patch diff --git a/pkgs/desktops/gnome/core/epiphany/dark-style.patch b/pkgs/desktops/gnome/core/epiphany/dark-style.patch new file mode 100644 index 000000000000..56ac5c1e5b2c --- /dev/null +++ b/pkgs/desktops/gnome/core/epiphany/dark-style.patch @@ -0,0 +1,76 @@ +diff --git a/meson.build b/meson.build +index de9cbfa850..647f617605 100644 +--- a/meson.build ++++ b/meson.build +@@ -92,6 +92,7 @@ iso_codes_dep = dependency('iso-codes', version: '>= 0.35') + json_glib_dep = dependency('json-glib-1.0', version: '>= 1.6') + libarchive_dep = dependency('libarchive') + libdazzle_dep = dependency('libdazzle-1.0', version: '>= 3.37.1') ++libgranite_dep = dependency('granite', version: '>= 6.0.0') + libhandy_dep = dependency('libhandy-1', version: '>= 1.1.0') + libsecret_dep = dependency('libsecret-1', version: '>= 0.19.0') + libsoup_dep = dependency('libsoup-2.4', version: '>= 2.48.0') +diff --git a/src/ephy-shell.c b/src/ephy-shell.c +index 650531da86..b9d1355e86 100644 +--- a/src/ephy-shell.c ++++ b/src/ephy-shell.c +@@ -50,6 +50,7 @@ + + #include <glib/gi18n.h> + #include <gtk/gtk.h> ++#include <granite.h> + #include <handy.h> + + struct _EphyShell { +@@ -483,6 +484,20 @@ run_in_background_set_mapping (const GValue *value, + return g_variant_new_boolean (g_variant_get_boolean (var)); + } + ++static void ++ephy_shell_set_prefers_color_scheme (EphyShell *shell) ++{ ++ GtkSettings* gtk_settings = gtk_settings_get_default (); ++ GraniteSettings* granite_settings = granite_settings_get_default (); ++ ++ g_object_set ( ++ gtk_settings, ++ "gtk-application-prefer-dark-theme", ++ granite_settings_get_prefers_color_scheme (granite_settings) == GRANITE_SETTINGS_COLOR_SCHEME_DARK, ++ NULL ++ ); ++} ++ + static void + ephy_shell_startup (GApplication *application) + { +@@ -490,11 +505,18 @@ ephy_shell_startup (GApplication *application) + EphyShell *shell = EPHY_SHELL (application); + EphyEmbedShellMode mode; + GAction *action; ++ GraniteSettings* granite_settings = granite_settings_get_default (); + + G_APPLICATION_CLASS (ephy_shell_parent_class)->startup (application); + + hdy_init (); + ++ ephy_shell_set_prefers_color_scheme (shell); ++ ++ g_signal_connect (granite_settings, "notify::prefers-color-scheme", ++ G_CALLBACK (ephy_shell_set_prefers_color_scheme), shell ++ ); ++ + /* If we are under Pantheon set the icon-theme and cursor-theme accordingly. */ + if (is_desktop_pantheon ()) { + GtkSettings *settings = gtk_settings_get_default (); +diff --git a/src/meson.build b/src/meson.build +index 5bf3eb92ec..d17b1b6d93 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -74,6 +74,7 @@ libephymain_deps = [ + gdk_dep, + gvdb_dep, + libarchive_dep, ++ libgranite_dep, + libhandy_dep + ] + diff --git a/pkgs/desktops/gnome/core/epiphany/default.nix b/pkgs/desktops/gnome/core/epiphany/default.nix index 73c7a7aa1135..3f25e303dc1e 100644 --- a/pkgs/desktops/gnome/core/epiphany/default.nix +++ b/pkgs/desktops/gnome/core/epiphany/default.nix @@ -9,6 +9,7 @@ , icu , wrapGAppsHook , gnome +, pantheon , libportal , libxml2 , libxslt @@ -33,6 +34,7 @@ , libdazzle , libhandy , buildPackages +, withPantheon ? false }: stdenv.mkDerivation rec { @@ -44,6 +46,13 @@ stdenv.mkDerivation rec { sha256 = "2tE4ufLVXeJxEo/KOLYfU/2YDFh9KeG6a1CP/zsZ9WQ="; }; + patches = lib.optionals withPantheon [ + # https://github.com/elementary/browser + # FIXME: Update the patches when https://github.com/elementary/browser/pull/41 merged + ./dark-style.patch + ./navigation-buttons.patch + ]; + nativeBuildInputs = [ desktop-file-utils gettext @@ -87,7 +96,7 @@ stdenv.mkDerivation rec { p11-kit sqlite webkitgtk - ]; + ] ++ lib.optional withPantheon pantheon.granite; # Tests need an X display mesonFlags = [ @@ -108,7 +117,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://wiki.gnome.org/Apps/Epiphany"; description = "WebKit based web browser for GNOME"; - maintainers = teams.gnome.members; + maintainers = teams.gnome.members ++ teams.pantheon.members; license = licenses.gpl3Plus; platforms = platforms.linux; }; diff --git a/pkgs/desktops/gnome/core/epiphany/navigation-buttons.patch b/pkgs/desktops/gnome/core/epiphany/navigation-buttons.patch new file mode 100644 index 000000000000..b7b3b620535f --- /dev/null +++ b/pkgs/desktops/gnome/core/epiphany/navigation-buttons.patch @@ -0,0 +1,12 @@ +diff --git a/src/resources/gtk/action-bar-start.ui b/src/resources/gtk/action-bar-start.ui +index e604b9601f..2bfe244d53 100644 +--- a/src/resources/gtk/action-bar-start.ui ++++ b/src/resources/gtk/action-bar-start.ui +@@ -7,7 +7,6 @@ + <property name="visible">True</property> + <property name="orientation">horizontal</property> + <style> +- <class name="linked"/> + <class name="navigation-box"/> + </style> + <child> diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 8da339844899..b3b5409f6a01 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -69,6 +69,8 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-videos = callPackage ./apps/elementary-videos { }; + epiphany = pkgs.epiphany.override { withPantheon = true; }; + sideload = callPackage ./apps/sideload { }; #### DESKTOP From 2478c8bf01cbb85ce15d32f01af053a00fd9ed82 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 7 Aug 2021 12:04:39 +0800 Subject: [PATCH 137/173] nixos/touchegg: init --- nixos/modules/module-list.nix | 1 + nixos/modules/services/x11/touchegg.nix | 38 +++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 nixos/modules/services/x11/touchegg.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 48c86a00f879..b556afae653a 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1055,6 +1055,7 @@ ./services/x11/gdk-pixbuf.nix ./services/x11/imwheel.nix ./services/x11/redshift.nix + ./services/x11/touchegg.nix ./services/x11/urserver.nix ./services/x11/urxvtd.nix ./services/x11/window-managers/awesome.nix diff --git a/nixos/modules/services/x11/touchegg.nix b/nixos/modules/services/x11/touchegg.nix new file mode 100644 index 000000000000..fab7fac3f017 --- /dev/null +++ b/nixos/modules/services/x11/touchegg.nix @@ -0,0 +1,38 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let cfg = config.services.touchegg; + +in { + meta = { + maintainers = teams.pantheon.members; + }; + + ###### interface + options.services.touchegg = { + enable = mkEnableOption "touchegg, a multi-touch gesture recognizer"; + + package = mkOption { + type = types.package; + default = pkgs.touchegg; + defaultText = "pkgs.touchegg"; + description = "touchegg derivation to use."; + }; + }; + + ###### implementation + config = mkIf cfg.enable { + systemd.services.touchegg = { + description = "Touchegg Daemon"; + serviceConfig = { + Type = "simple"; + ExecStart = "${cfg.package}/bin/touchegg --daemon"; + Restart = "on-failure"; + }; + wantedBy = [ "multi-user.target" ]; + }; + + environment.systemPackages = [ cfg.package ]; + }; +} From 0366acbcd54e2e27d3a96c4cadd8aaf2f2ce12bf Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 15:51:55 +0800 Subject: [PATCH 138/173] nixos/pantheon: add inter and open-dyslexic as preinstalled font --- nixos/modules/services/x11/desktop-managers/pantheon.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index acb589a9141e..c781ec940886 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -256,6 +256,8 @@ in # Default Fonts fonts.fonts = with pkgs; [ + inter + open-dyslexic open-sans roboto-mono ]; From 760f7e57e42d92f39d2b59794716e508472ec762 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sun, 18 Jul 2021 17:27:13 +0800 Subject: [PATCH 139/173] nixos/pantheon: install elementary-mail by default --- nixos/modules/services/x11/desktop-managers/pantheon.nix | 2 +- .../launchers/io.elementary.mail.dockitem | 2 ++ .../launchers/org.gnome.Geary.dockitem | 2 -- .../overrides/plank-dockitems.gschema.override | 2 +- .../pantheon/desktop/elementary-session-settings/default.nix | 1 - .../desktop/elementary-session-settings/pantheon-mimeapps.list | 2 +- 6 files changed, 5 insertions(+), 6 deletions(-) create mode 100644 pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.mail.dockitem delete mode 100644 pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Geary.dockitem diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index c781ec940886..026a5ccafb45 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -212,7 +212,6 @@ in pantheon-agent-geoclue2 pantheon-agent-polkit ]) ++ (gnome.removePackagesByName [ - gnome.geary gnome.epiphany gnome.gnome-font-viewer gnome.gnome-settings-daemon338 @@ -275,6 +274,7 @@ in elementary-camera elementary-code elementary-files + elementary-mail elementary-music elementary-photos elementary-screenshot diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.mail.dockitem b/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.mail.dockitem new file mode 100644 index 000000000000..e07328c59473 --- /dev/null +++ b/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.mail.dockitem @@ -0,0 +1,2 @@ +[PlankDockItemPreferences] +Launcher=file:///run/current-system/sw/share/applications/io.elementary.mail.desktop diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Geary.dockitem b/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Geary.dockitem deleted file mode 100644 index 8b04efe417ea..000000000000 --- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Geary.dockitem +++ /dev/null @@ -1,2 +0,0 @@ -[PlankDockItemPreferences] -Launcher=file:///run/current-system/sw/share/applications/org.gnome.Geary.desktop diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override b/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override index 671448745c50..b3ca51853b79 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override +++ b/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override @@ -1,2 +1,2 @@ [net.launchpad.plank.dock.settings] -dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.gnome.Geary.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem'] +dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','io.elementary.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem'] diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix index 24506f383f65..eab14403bd7c 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix @@ -124,7 +124,6 @@ stdenv.mkDerivation rec { postInstall = '' # our mimeapps patched from upstream to exclude: - # * pantheon-mail -> geary # * evince.desktop -> org.gnome.Evince.desktop mkdir -p $out/share/applications cp -av ${./pantheon-mimeapps.list} $out/share/applications/pantheon-mimeapps.list diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/pantheon-mimeapps.list b/pkgs/desktops/pantheon/desktop/elementary-session-settings/pantheon-mimeapps.list index 3b5e3b0e77a5..8deb6ae8c1c5 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-session-settings/pantheon-mimeapps.list +++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/pantheon-mimeapps.list @@ -163,6 +163,6 @@ x-content/video-svcd=io.elementary.videos.desktop x-content/video-vcd=io.elementary.videos.desktop x-scheme-handler/http=org.gnome.Epiphany.desktop x-scheme-handler/https=org.gnome.Epiphany.desktop -x-scheme-handler/mailto=org.gnome.Evolution.desktop +x-scheme-handler/mailto=io.elementary.mail.desktop x-scheme-handler/trash=io.elementary.files.desktop From 3f3502ca9340246a9c00ada9ccb21bf0b7be1ab3 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Mon, 19 Jul 2021 13:38:02 +0800 Subject: [PATCH 140/173] nixos/pantheon: update excludePackages example in docs --- nixos/modules/services/x11/desktop-managers/pantheon.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.xml b/nixos/modules/services/x11/desktop-managers/pantheon.xml index 7905ceebd9aa..3ae43b074ff2 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.xml +++ b/nixos/modules/services/x11/desktop-managers/pantheon.xml @@ -22,7 +22,7 @@ <programlisting> <xref linkend="opt-services.pantheon.apps.enable"/> = false; </programlisting> - You can also use <xref linkend="opt-environment.pantheon.excludePackages"/> to remove any other app (like <package>geary</package>). + You can also use <xref linkend="opt-environment.pantheon.excludePackages"/> to remove any other app (like <package>elementary-mail</package>). </para> </section> <section xml:id="sec-pantheon-wingpanel-switchboard"> From a66bcfe997af79d7697ae72044890e1f2ce7db73 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Mon, 19 Jul 2021 16:49:52 +0800 Subject: [PATCH 141/173] nixos/pantheon: fix test command for wingpanel --- nixos/tests/pantheon.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/tests/pantheon.nix b/nixos/tests/pantheon.nix index 3894440333c9..013ab441ab41 100644 --- a/nixos/tests/pantheon.nix +++ b/nixos/tests/pantheon.nix @@ -45,8 +45,8 @@ import ./make-test-python.nix ({ pkgs, ...} : with subtest("Check if pantheon session components actually start"): machine.wait_until_succeeds("pgrep gala") machine.wait_for_window("gala") - machine.wait_until_succeeds("pgrep wingpanel") - machine.wait_for_window("wingpanel") + machine.wait_until_succeeds("pgrep -f io.elementary.wingpanel") + machine.wait_for_window("io.elementary.wingpanel") machine.wait_until_succeeds("pgrep plank") machine.wait_for_window("plank") From b420199b87a0572291b9bc25c36953b2b33fb246 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 24 Jul 2021 22:33:19 +0800 Subject: [PATCH 142/173] nixos/pantheon: enable fwupd by default this is needed in switchboard-plug-about --- nixos/modules/services/x11/desktop-managers/pantheon.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 026a5ccafb45..0f7306a9f1da 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -134,6 +134,7 @@ in services.accounts-daemon.enable = true; services.bamf.enable = true; services.colord.enable = mkDefault true; + services.fwupd.enable = mkDefault true; services.tumbler.enable = mkDefault true; services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true)); services.dbus.packages = with pkgs.pantheon; [ From 158181403aee2bc9bc93137802f335c172f3d16d Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 7 Aug 2021 12:08:39 +0800 Subject: [PATCH 143/173] nixos/pantheon: enable touchegg by default --- nixos/modules/services/x11/desktop-managers/pantheon.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 0f7306a9f1da..6eeb734dbd2a 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -135,6 +135,8 @@ in services.bamf.enable = true; services.colord.enable = mkDefault true; services.fwupd.enable = mkDefault true; + services.touchegg.enable = mkDefault true; + services.touchegg.package = pkgs.pantheon.touchegg; services.tumbler.enable = mkDefault true; services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true)); services.dbus.packages = with pkgs.pantheon; [ From dc19457a80ba0c7c871d832f60dbf7c3cfbff2a1 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Tue, 27 Jul 2021 11:26:53 +0800 Subject: [PATCH 144/173] nixos/pantheon: remove lightlocker screen locker has been embedded in the compositor, see github.com/elementary/gala/pull/809 --- nixos/modules/services/x11/desktop-managers/pantheon.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 6eeb734dbd2a..e1704fc8ee3c 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -182,7 +182,6 @@ in gnome.adwaita-icon-theme gtk3.out hicolor-icon-theme - lightlocker onboard qgnomeplatform shared-mime-info From 49988059476e53a3d1cf4c41f4186f3cb2396d04 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Fri, 13 Aug 2021 22:01:32 +0800 Subject: [PATCH 145/173] nixos/pantheon: prefer pantheon.epiphany --- nixos/modules/services/x11/desktop-managers/pantheon.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index e1704fc8ee3c..1e9fb269a261 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -214,7 +214,6 @@ in pantheon-agent-geoclue2 pantheon-agent-polkit ]) ++ (gnome.removePackagesByName [ - gnome.epiphany gnome.gnome-font-viewer gnome.gnome-settings-daemon338 ] config.environment.pantheon.excludePackages); @@ -282,6 +281,7 @@ in elementary-screenshot elementary-terminal elementary-videos + epiphany ] config.environment.pantheon.excludePackages); # needed by screenshot From 1b16dbeb557c0016d070687a296f0afe37b540b9 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 18 Sep 2021 19:35:16 +0800 Subject: [PATCH 146/173] nixos/rl-2111: mention pantheon 6 upgrade and touchegg module --- .../from_md/release-notes/rl-2111.section.xml | 18 ++++++++++++++---- .../manual/release-notes/rl-2111.section.md | 6 +++++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml index 96f46373b272..d6eb800f0aa0 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml @@ -55,6 +55,13 @@ actions. </para> </listitem> + <listitem> + <para> + Pantheon desktop has been updated to version 6. Due to changes + of screen locker, if locking doesn’t work for you, please try + <literal>gsettings set org.gnome.desktop.lockdown disable-lock-screen false</literal>. + </para> + </listitem> </itemizedlist> </section> <section xml:id="sec-release-21.11-new-services"> @@ -189,8 +196,6 @@ <link linkend="opt-services.isso.enable">isso</link> </para> </listitem> - </itemizedlist> - <itemizedlist spacing="compact"> <listitem> <para> <link xlink:href="https://www.navidrome.org/">navidrome</link>, @@ -199,8 +204,6 @@ <link linkend="opt-services.navidrome.enable">navidrome</link>. </para> </listitem> - </itemizedlist> - <itemizedlist> <listitem> <para> <link xlink:href="https://docs.fluidd.xyz/">fluidd</link>, a @@ -263,6 +266,13 @@ unified analytics engine for large-scale data processing. </para> </listitem> + <listitem> + <para> + <link xlink:href="https://github.com/JoseExposito/touchegg">touchegg</link>, + a multi-touch gesture recognizer. Available as + <link linkend="opt-services.touchegg.enable">services.touchegg</link>. + </para> + </listitem> </itemizedlist> </section> <section xml:id="sec-release-21.11-incompatibilities"> diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md index 4239df38a805..466d64d435c3 100644 --- a/nixos/doc/manual/release-notes/rl-2111.section.md +++ b/nixos/doc/manual/release-notes/rl-2111.section.md @@ -20,6 +20,8 @@ In addition to numerous new and upgraded packages, this release has the followin This allows activation scripts to output what they would change if the activation was really run. The users/modules activation script supports this and outputs some of is actions. +- Pantheon desktop has been updated to version 6. Due to changes of screen locker, if locking doesn't work for you, please try `gsettings set org.gnome.desktop.lockdown disable-lock-screen false`. + ## New Services {#sec-release-21.11-new-services} - [btrbk](https://digint.ch/btrbk/index.html), a backup tool for btrfs subvolumes, taking advantage of btrfs specific capabilities to create atomic snapshots and transfer them incrementally to your backup locations. Available as [services.btrbk](options.html#opt-services.brtbk.instances). @@ -60,7 +62,7 @@ pt-services.clipcat.enable). - [isso](https://posativ.org/isso/), a commenting server similar to Disqus. Available as [isso](#opt-services.isso.enable) -* [navidrome](https://www.navidrome.org/), a personal music streaming server with +- [navidrome](https://www.navidrome.org/), a personal music streaming server with subsonic-compatible api. Available as [navidrome](#opt-services.navidrome.enable). - [fluidd](https://docs.fluidd.xyz/), a Klipper web interface for managing 3d printers using moonraker. Available as [fluidd](#opt-services.fluidd.enable). @@ -82,6 +84,8 @@ subsonic-compatible api. Available as [navidrome](#opt-services.navidrome.enable - [spark](https://spark.apache.org/), a unified analytics engine for large-scale data processing. +- [touchegg](https://github.com/JoseExposito/touchegg), a multi-touch gesture recognizer. Available as [services.touchegg](#opt-services.touchegg.enable). + ## Backward Incompatibilities {#sec-release-21.11-incompatibilities} From fd010f6ba6c46f29d0606d1abce268c92d639c94 Mon Sep 17 00:00:00 2001 From: renesat <smol.ivan97@gmail.com> Date: Sat, 18 Sep 2021 04:26:33 +0300 Subject: [PATCH 147/173] autorestic: init at 1.2.0 --- pkgs/tools/backup/autorestic/default.nix | 32 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/tools/backup/autorestic/default.nix diff --git a/pkgs/tools/backup/autorestic/default.nix b/pkgs/tools/backup/autorestic/default.nix new file mode 100644 index 000000000000..ab299db1c675 --- /dev/null +++ b/pkgs/tools/backup/autorestic/default.nix @@ -0,0 +1,32 @@ +{ lib, fetchFromGitHub, installShellFiles, buildGoModule }: + +buildGoModule rec { + pname = "autorestic"; + version = "1.2.0"; + + src = fetchFromGitHub { + owner = "cupcakearmy"; + repo = pname; + rev = "v${version}"; + sha256 = "yQgSJ0SQNWPMyrYn8rep+1b549HP8sOERh+kOiAK3+c="; + }; + + vendorSha256 = "7648gAguqeqLKFS9xRcx20wpSLb+ykZ7rOqR5PKe71o="; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = '' + installShellCompletion --cmd autorestic \ + --bash <($out/bin/autorestic completion bash) \ + --fish <($out/bin/autorestic completion fish) \ + --zsh <($out/bin/autorestic completion zsh) + ''; + + meta = with lib; { + description = "High level CLI utility for restic"; + homepage = "https://github.com/cupcakearmy/autorestic"; + license = licenses.asl20; + maintainers = with maintainers; [ renesat ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e1747a5f4d53..3011559019d4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -141,6 +141,8 @@ with pkgs; autoconf = autoconf269; }; + autorestic = callPackage ../tools/backup/autorestic { }; + autoPatchelfHook = makeSetupHook { name = "auto-patchelf-hook"; } ../build-support/setup-hooks/auto-patchelf.sh; From a1ac5195b2e8536d1d35ded33d33c3f5730a086a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Baylac-Jacqu=C3=A9?= <felix@alternativebit.fr> Date: Fri, 17 Sep 2021 14:55:51 +0200 Subject: [PATCH 148/173] pleroma: 2.4.0 -> 2.4.1 Changed - Make mix pleroma.database set_text_search_config run concurrently and indefinitely Added - AdminAPI: Missing configuration description for StealEmojiPolicy Fixed - MastodonAPI: Stream out Create activities - MRF ObjectAgePolicy: Fix pattern matching on "published" - TwitterAPI: Make change_password and change_email require params on body instead of query - Subscription(Bell) Notifications: Don't create from Pipeline Ingested replies - AdminAPI: Fix rendering reports containing a nil object - Mastodon API: Activity Search fallbacks on status fetching after a DB Timeout/Error - Mastodon API: Fix crash in Streamer related to reblogging - AdminAPI: List available frontends when static/frontends folder is missing - Make activity search properly use language-aware GIN indexes - AdminAPI: Fix suggestions for MRF Policies --- pkgs/servers/pleroma/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/pleroma/default.nix b/pkgs/servers/pleroma/default.nix index 356d320d4d1f..21d65b40aace 100644 --- a/pkgs/servers/pleroma/default.nix +++ b/pkgs/servers/pleroma/default.nix @@ -7,14 +7,14 @@ beamPackages.mixRelease rec { pname = "pleroma"; - version = "2.4.0"; + version = "2.4.1"; src = fetchFromGitLab { domain = "git.pleroma.social"; owner = "pleroma"; repo = "pleroma"; rev = "v${version}"; - sha256 = "sha256-1zp/qVk2K3q8AtkfXab0MBAHaQnY5enVtfdu64FFPhg="; + sha256 = "sha256-XYZIf8/Vznl4FvVAOy5GVfTBTCwhfUol/3vWWIDwIxQ="; }; mixNixDeps = import ./mix.nix { From 663b56eff099eaa2b0efa4ec5b2a2d6cc1ed09a0 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" <ryantm-bot@ryantm.com> Date: Sat, 18 Sep 2021 12:31:17 +0000 Subject: [PATCH 149/173] procdump: 1.1.1 -> 1.2 --- pkgs/os-specific/linux/procdump/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/procdump/default.nix b/pkgs/os-specific/linux/procdump/default.nix index 75ca2cb165e0..0b40a4dd0365 100644 --- a/pkgs/os-specific/linux/procdump/default.nix +++ b/pkgs/os-specific/linux/procdump/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "procdump"; - version = "1.1.1"; + version = "1.2"; src = fetchFromGitHub { owner = "Microsoft"; repo = "ProcDump-for-Linux"; rev = version; - sha256 = "0h5fhk39d10kjbinzw1yp6nr8w8l300mn9qxrkpivdkyfn6bpq2f"; + sha256 = "sha256-gVswAezHl7E2cBTJEQhPFXhHkzhWVHSpPF8m0s8+ekc="; }; nativeBuildInputs = [ zlib ]; From ab5e9cebcd1b1a18412f25518407421e20114034 Mon Sep 17 00:00:00 2001 From: Bobby Rong <rjl931189261@126.com> Date: Sat, 18 Sep 2021 20:35:51 +0800 Subject: [PATCH 150/173] monitor: 0.8.1 -> 0.9.5 --- pkgs/applications/system/monitor/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/system/monitor/default.nix b/pkgs/applications/system/monitor/default.nix index 588839b859da..9fdcf62ee985 100644 --- a/pkgs/applications/system/monitor/default.nix +++ b/pkgs/applications/system/monitor/default.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "monitor"; - version = "0.8.1"; + version = "0.9.5"; src = fetchFromGitHub { owner = "stsdc"; repo = "monitor"; rev = version; - sha256 = "111g2f3y5lmz91m755jz0x8yx5cx9ym484gch8wcv80dmr7ilb1y"; + sha256 = "sha256-eTsPn2Z1++KsZnnBnZ2s9fKK2HguPw+JqaRRkxQDiAk="; fetchSubmodules = true; }; From 88b4ba2169994650aabdd7591a6bfd70fb187690 Mon Sep 17 00:00:00 2001 From: Guillaume Girol <symphorien+git@xlumurb.eu> Date: Fri, 17 Sep 2021 12:00:00 +0000 Subject: [PATCH 151/173] nixos/unifi: define group, fix after #133166 --- nixos/modules/misc/ids.nix | 2 +- nixos/modules/services/networking/unifi.nix | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index d2e73193453f..79e0d774d272 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -215,7 +215,7 @@ in ntp = 179; zabbix = 180; #redis = 181; removed 2018-01-03 - unifi = 183; + #unifi = 183; dynamically allocated as of 2021-09-17 uptimed = 184; zope2 = 185; ripple-data-api = 186; diff --git a/nixos/modules/services/networking/unifi.nix b/nixos/modules/services/networking/unifi.nix index 2e320378cc9a..73170ebfc903 100644 --- a/nixos/modules/services/networking/unifi.nix +++ b/nixos/modules/services/networking/unifi.nix @@ -115,10 +115,12 @@ in config = mkIf cfg.enable { users.users.unifi = { - uid = config.ids.uids.unifi; + isSystemUser = true; + group = "unifi"; description = "UniFi controller daemon user"; home = "${stateDir}"; }; + users.groups.unifi = {}; networking.firewall = mkIf cfg.openPorts { # https://help.ubnt.com/hc/en-us/articles/218506997 From 615db90f3db73ebe5bef1bab3f1fca90a6cbe521 Mon Sep 17 00:00:00 2001 From: Guillaume Girol <symphorien+git@xlumurb.eu> Date: Fri, 17 Sep 2021 12:00:00 +0000 Subject: [PATCH 152/173] nixos/openntpd, nixos/ntp: define group, fix after #133166 --- nixos/modules/misc/ids.nix | 2 +- nixos/modules/services/networking/ntp/ntpd.nix | 12 ++++++------ nixos/modules/services/networking/ntp/openntpd.nix | 4 +++- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 79e0d774d272..30a9e5cf6ed9 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -212,7 +212,7 @@ in sddm = 175; tss = 176; #memcached = 177; removed 2018-01-03 - ntp = 179; + #ntp = 179; # dynamically allocated as of 2021-09-17 zabbix = 180; #redis = 181; removed 2018-01-03 #unifi = 183; dynamically allocated as of 2021-09-17 diff --git a/nixos/modules/services/networking/ntp/ntpd.nix b/nixos/modules/services/networking/ntp/ntpd.nix index 861b0db01a48..1dffbd78bbe4 100644 --- a/nixos/modules/services/networking/ntp/ntpd.nix +++ b/nixos/modules/services/networking/ntp/ntpd.nix @@ -10,8 +10,6 @@ let stateDir = "/var/lib/ntp"; - ntpUser = "ntp"; - configFile = pkgs.writeText "ntp.conf" '' driftfile ${stateDir}/ntp.drift @@ -27,7 +25,7 @@ let ${cfg.extraConfig} ''; - ntpFlags = "-c ${configFile} -u ${ntpUser}:nogroup ${toString cfg.extraFlags}"; + ntpFlags = "-c ${configFile} -u ntp:ntp ${toString cfg.extraFlags}"; in @@ -119,11 +117,13 @@ in systemd.services.systemd-timedated.environment = { SYSTEMD_TIMEDATED_NTP_SERVICES = "ntpd.service"; }; - users.users.${ntpUser} = - { uid = config.ids.uids.ntp; + users.users.ntp = + { isSystemUser = true; + group = "ntp"; description = "NTP daemon user"; home = stateDir; }; + users.groups.ntp = {}; systemd.services.ntpd = { description = "NTP Daemon"; @@ -135,7 +135,7 @@ in preStart = '' mkdir -m 0755 -p ${stateDir} - chown ${ntpUser} ${stateDir} + chown ntp ${stateDir} ''; serviceConfig = { diff --git a/nixos/modules/services/networking/ntp/openntpd.nix b/nixos/modules/services/networking/ntp/openntpd.nix index 67a04d48d308..9f3892e3b538 100644 --- a/nixos/modules/services/networking/ntp/openntpd.nix +++ b/nixos/modules/services/networking/ntp/openntpd.nix @@ -61,10 +61,12 @@ in environment.etc."ntpd.conf".text = configFile; users.users.ntp = { - uid = config.ids.uids.ntp; + isSystemUser = true; + group = "ntp"; description = "OpenNTP daemon user"; home = "/var/empty"; }; + users.groups.ntp = {}; systemd.services.openntpd = { description = "OpenNTP Server"; From 8c2e6705b38182cbe1f2fb1e460e7b7d26d75b46 Mon Sep 17 00:00:00 2001 From: Guillaume Girol <symphorien+git@xlumurb.eu> Date: Fri, 17 Sep 2021 12:00:00 +0000 Subject: [PATCH 153/173] nixos/gpsd: define group, fix after #133166 --- nixos/modules/services/misc/gpsd.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/misc/gpsd.nix b/nixos/modules/services/misc/gpsd.nix index fafea10daba7..6494578f7647 100644 --- a/nixos/modules/services/misc/gpsd.nix +++ b/nixos/modules/services/misc/gpsd.nix @@ -88,6 +88,7 @@ in users.users.gpsd = { inherit uid; + group = "gpsd"; description = "gpsd daemon user"; home = "/var/empty"; }; From 3e9520f414e438b5f4911838713e34d11268163f Mon Sep 17 00:00:00 2001 From: Guillaume Girol <symphorien+git@xlumurb.eu> Date: Fri, 17 Sep 2021 12:00:00 +0000 Subject: [PATCH 154/173] nixos/cgminer: fix type of services.cgminer.config option --- nixos/modules/services/misc/cgminer.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/cgminer.nix b/nixos/modules/services/misc/cgminer.nix index 662570f9451f..96e84f84e022 100644 --- a/nixos/modules/services/misc/cgminer.nix +++ b/nixos/modules/services/misc/cgminer.nix @@ -86,7 +86,7 @@ in config = mkOption { default = {}; - type = (types.either types.bool types.int); + type = types.attrsOf (types.either types.bool types.int); description = "Additional config"; example = { auto-fan = true; From ca2db671badf066911a3805bf00e5c3adce66909 Mon Sep 17 00:00:00 2001 From: Guillaume Girol <symphorien+git@xlumurb.eu> Date: Fri, 17 Sep 2021 12:00:00 +0000 Subject: [PATCH 155/173] nixos/cgminer: define group, fix eval after #133166 --- nixos/modules/misc/ids.nix | 2 +- nixos/modules/services/misc/cgminer.nix | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 30a9e5cf6ed9..e8abd7178b86 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -137,7 +137,7 @@ in #mongodb = 98; #dynamically allocated as of 2021-09-03 #openldap = 99; # dynamically allocated as of PR#94610 #users = 100; # unused - cgminer = 101; + # cgminer = 101; #dynamically allocated as of 2021-09-17 munin = 102; logcheck = 103; #nix-ssh = 104; #dynamically allocated as of 2021-09-03 diff --git a/nixos/modules/services/misc/cgminer.nix b/nixos/modules/services/misc/cgminer.nix index 96e84f84e022..5afc1546efa9 100644 --- a/nixos/modules/services/misc/cgminer.nix +++ b/nixos/modules/services/misc/cgminer.nix @@ -110,10 +110,14 @@ in users.users = optionalAttrs (cfg.user == "cgminer") { cgminer = { - uid = config.ids.uids.cgminer; + isSystemUser = true; + group = "cgminer"; description = "Cgminer user"; }; }; + users.groups = optionalAttrs (cfg.user == "cgminer") { + cgminer = {}; + }; environment.systemPackages = [ cfg.package ]; From 9e94e48b9487281bebd37a8f2696f7b6f88240fb Mon Sep 17 00:00:00 2001 From: Guillaume Girol <symphorien+git@xlumurb.eu> Date: Fri, 17 Sep 2021 12:00:00 +0000 Subject: [PATCH 156/173] nixos/gammu-smsd: define group, fix after #133166 --- nixos/modules/misc/ids.nix | 2 +- nixos/modules/services/misc/gammu-smsd.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index e8abd7178b86..10926a4a6b00 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -258,7 +258,7 @@ in rspamd = 225; # rmilter = 226; # unused, removed 2019-08-22 cfdyndns = 227; - gammu-smsd = 228; + # gammu-smsd = 228; #dynamically allocated as of 2021-09-17 pdnsd = 229; octoprint = 230; avahi-autoipd = 231; diff --git a/nixos/modules/services/misc/gammu-smsd.nix b/nixos/modules/services/misc/gammu-smsd.nix index 552725f1384d..d4bb58d81dde 100644 --- a/nixos/modules/services/misc/gammu-smsd.nix +++ b/nixos/modules/services/misc/gammu-smsd.nix @@ -202,8 +202,8 @@ in { config = mkIf cfg.enable { users.users.${cfg.user} = { description = "gammu-smsd user"; - uid = config.ids.uids.gammu-smsd; - extraGroups = [ "${cfg.device.group}" ]; + isSystemUser = true; + group = cfg.device.group; }; environment.systemPackages = with cfg.backend; [ gammuPackage ] From cd2b24c3060bbe5173a746b34da3c61799c5e8d7 Mon Sep 17 00:00:00 2001 From: Guillaume Girol <symphorien+git@xlumurb.eu> Date: Fri, 17 Sep 2021 12:00:00 +0000 Subject: [PATCH 157/173] nixos/heapster: define group, fix after #133166 --- nixos/modules/misc/ids.nix | 2 +- nixos/modules/services/monitoring/heapster.nix | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 10926a4a6b00..919826791a01 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -244,7 +244,7 @@ in #kibana = 211;# dynamically allocated as of 2021-09-03 xtreemfs = 212; calibre-server = 213; - heapster = 214; + #heapster = 214; #dynamically allocated as of 2021-09-17 bepasty = 215; # pumpio = 216; # unused, removed 2018-02-24 nm-openvpn = 217; diff --git a/nixos/modules/services/monitoring/heapster.nix b/nixos/modules/services/monitoring/heapster.nix index 0a9dfa12eaa5..1bf7203d6823 100644 --- a/nixos/modules/services/monitoring/heapster.nix +++ b/nixos/modules/services/monitoring/heapster.nix @@ -50,8 +50,10 @@ in { }; users.users.heapster = { - uid = config.ids.uids.heapster; + isSystemUser = true; + group = "heapster"; description = "Heapster user"; }; + users.groups.heapster = {}; }; } From fa3664a176b36d731b5673d5674a8b81229acce1 Mon Sep 17 00:00:00 2001 From: Guillaume Girol <symphorien+git@xlumurb.eu> Date: Fri, 17 Sep 2021 12:00:00 +0000 Subject: [PATCH 158/173] nixos/logcheck: define group, fix after #133166 --- nixos/modules/misc/ids.nix | 2 +- nixos/modules/services/logging/logcheck.nix | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 919826791a01..889e82486277 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -139,7 +139,7 @@ in #users = 100; # unused # cgminer = 101; #dynamically allocated as of 2021-09-17 munin = 102; - logcheck = 103; + #logcheck = 103; #dynamically allocated as of 2021-09-17 #nix-ssh = 104; #dynamically allocated as of 2021-09-03 dictd = 105; couchdb = 106; diff --git a/nixos/modules/services/logging/logcheck.nix b/nixos/modules/services/logging/logcheck.nix index 4296b2270c29..348ed8adf903 100644 --- a/nixos/modules/services/logging/logcheck.nix +++ b/nixos/modules/services/logging/logcheck.nix @@ -215,12 +215,16 @@ in users.users = optionalAttrs (cfg.user == "logcheck") { logcheck = { - uid = config.ids.uids.logcheck; + group = "logcheck"; + isSystemUser = true; shell = "/bin/sh"; description = "Logcheck user account"; extraGroups = cfg.extraGroups; }; }; + users.groups = optionalAttrs (cfg.user == "logcheck") { + logcheck = {}; + }; system.activationScripts.logcheck = '' mkdir -m 700 -p /var/{lib,lock}/logcheck From af5ba65b9f4b9fee755fb6701400b7d61d1804e3 Mon Sep 17 00:00:00 2001 From: Guillaume Girol <symphorien+git@xlumurb.eu> Date: Fri, 17 Sep 2021 12:00:00 +0000 Subject: [PATCH 159/173] nixos/nntp-proxy: define group, fix after #133166 --- nixos/modules/misc/ids.nix | 2 +- nixos/modules/services/networking/nntp-proxy.nix | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 889e82486277..b958922c0e47 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -262,7 +262,7 @@ in pdnsd = 229; octoprint = 230; avahi-autoipd = 231; - nntp-proxy = 232; + # nntp-proxy = 232; #dynamically allocated as of 2021-09-17 mjpg-streamer = 233; #radicale = 234;# dynamically allocated as of 2021-09-03 hydra-queue-runner = 235; diff --git a/nixos/modules/services/networking/nntp-proxy.nix b/nixos/modules/services/networking/nntp-proxy.nix index cc061bf6e3b9..0083990cff5a 100644 --- a/nixos/modules/services/networking/nntp-proxy.nix +++ b/nixos/modules/services/networking/nntp-proxy.nix @@ -6,8 +6,6 @@ let inherit (pkgs) nntp-proxy; - proxyUser = "nntp-proxy"; - cfg = config.services.nntp-proxy; configBool = b: if b then "TRUE" else "FALSE"; @@ -210,16 +208,18 @@ in config = mkIf cfg.enable { - users.users.${proxyUser} = - { uid = config.ids.uids.nntp-proxy; - description = "NNTP-Proxy daemon user"; - }; + users.users.nntp-proxy = { + isSystemUser = true; + group = "nntp-proxy"; + description = "NNTP-Proxy daemon user"; + }; + users.groups.nntp-proxy = {}; systemd.services.nntp-proxy = { description = "NNTP proxy"; after = [ "network.target" "nss-lookup.target" ]; wantedBy = [ "multi-user.target" ]; - serviceConfig = { User="${proxyUser}"; }; + serviceConfig = { User="nntp-proxy"; }; serviceConfig.ExecStart = "${nntp-proxy}/bin/nntp-proxy ${confFile}"; preStart = '' if [ ! \( -f ${cfg.sslCert} -a -f ${cfg.sslKey} \) ]; then From fe296b79b4c803fec51410a987a11f077715a845 Mon Sep 17 00:00:00 2001 From: Petros Angelatos <petrosagg@gmail.com> Date: Fri, 17 Sep 2021 20:31:11 +0200 Subject: [PATCH 160/173] materialize: 0.8.3 -> 0.9.4 Signed-off-by: Petros Angelatos <petrosagg@gmail.com> --- pkgs/servers/sql/materialize/default.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/sql/materialize/default.nix b/pkgs/servers/sql/materialize/default.nix index 184c3cc1ebc8..0aba7f758c66 100644 --- a/pkgs/servers/sql/materialize/default.nix +++ b/pkgs/servers/sql/materialize/default.nix @@ -40,22 +40,25 @@ let in rustPlatform.buildRustPackage rec { pname = "materialize"; - version = "0.8.3"; - rev = "3e47d280945f0ddbdc263fc643f067649f66eda1"; + version = "0.9.4"; + rev = "29d003cae5e9d46f8b11b2102ff0b9abf6608c2f"; src = fetchFromGitHub { owner = "MaterializeInc"; repo = pname; rev = "v${version}"; - sha256 = "15635hcw04nms133k9l5582xbk7frc86nka91yaafl63q6pwbdvg"; + sha256 = "021n05csyvza9ifq09qaxypgmlbp3a7xn6r1m4jn8d4rnz38wag6"; }; - cargoSha256 = "1fxqjhjs4bqq6nzax7xrhwjpv57dk90iw9fl8ilp41wzg7yvyhcm"; + cargoSha256 = "12fysxzmqnx7y7yg6fjcv1952s77d46pwi32vnsv62icgqfpw0j4"; nativeBuildInputs = [ cmake perl pkg-config ] # Provides the mig command used by the krb5-src build script ++ lib.optional stdenv.isDarwin bootstrap_cmds; + # Needed to get openssl-sys to use pkg-config. + OPENSSL_NO_VENDOR = 1; + buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ libiconv DiskArbitration Foundation ]; From 647a5f636b225ed996966d5c38763c43f6f40e8a Mon Sep 17 00:00:00 2001 From: JST <steinbach_j@web.de> Date: Sat, 18 Sep 2021 13:46:29 +0200 Subject: [PATCH 161/173] pyradio: moved package folder pyradio is an end-user-application to listen to music and should be placed in the 'audio' folder, where all the similar applications are stored. It currently resides in the 'radio' folder, which mainly contains applications in the realm of signal processing and software-radio. See #137905. --- pkgs/applications/{radio => audio}/pyradio/default.nix | 0 pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename pkgs/applications/{radio => audio}/pyradio/default.nix (100%) diff --git a/pkgs/applications/radio/pyradio/default.nix b/pkgs/applications/audio/pyradio/default.nix similarity index 100% rename from pkgs/applications/radio/pyradio/default.nix rename to pkgs/applications/audio/pyradio/default.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 67c75abd5945..1640bfc4c7e0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13061,7 +13061,7 @@ with pkgs; pipewire = callPackage ../development/libraries/pipewire {}; pipewire_0_2 = callPackage ../development/libraries/pipewire/0.2.nix {}; - pyradio = callPackage ../applications/radio/pyradio {}; + pyradio = callPackage ../applications/audio/pyradio {}; pyrex = pyrex095; From 0dcac759f29b5bd983f2bda424c081aa71b04875 Mon Sep 17 00:00:00 2001 From: Jonas Heinrich <onny@project-insanity.org> Date: Tue, 3 Aug 2021 14:50:21 +0200 Subject: [PATCH 162/173] nixos/dokuwiki: Add support for Caddy web server --- .../from_md/release-notes/rl-2111.section.xml | 16 + .../manual/release-notes/rl-2111.section.md | 4 + nixos/modules/services/web-apps/dokuwiki.nix | 611 ++++++++++-------- nixos/tests/dokuwiki.nix | 85 ++- 4 files changed, 415 insertions(+), 301 deletions(-) diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml index d6eb800f0aa0..165c83148e6a 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml @@ -1090,6 +1090,22 @@ Superuser created successfully. be removed in 22.05. </para> </listitem> + <listitem> + <para> + The dokuwiki module provides a new interface which allows to + use different webservers with the new option + <link xlink:href="options.html#opt-services.dokuwiki.webserver"><literal>services.dokuwiki.webserver</literal></link>. + Currently <literal>caddy</literal> and + <literal>nginx</literal> are supported. The definitions of + dokuwiki sites should now be set in + <link xlink:href="options.html#opt-services.dokuwiki.sites"><literal>services.dokuwiki.sites</literal></link>. + </para> + <para> + Sites definitions that use the old interface are automatically + migrated in the new option. This backward compatibility will + be removed in 22.05. + </para> + </listitem> <listitem> <para> The order of NSS (host) modules has been brought in line with diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md index 466d64d435c3..8e7bdbb87440 100644 --- a/nixos/doc/manual/release-notes/rl-2111.section.md +++ b/nixos/doc/manual/release-notes/rl-2111.section.md @@ -329,6 +329,10 @@ To be able to access the web UI this port needs to be opened in the firewall. Sites definitions that use the old interface are automatically migrated in the new option. This backward compatibility will be removed in 22.05. +- The dokuwiki module provides a new interface which allows to use different webservers with the new option [`services.dokuwiki.webserver`](options.html#opt-services.dokuwiki.webserver). Currently `caddy` and `nginx` are supported. The definitions of dokuwiki sites should now be set in [`services.dokuwiki.sites`](options.html#opt-services.dokuwiki.sites). + + Sites definitions that use the old interface are automatically migrated in the new option. This backward compatibility will be removed in 22.05. + - The order of NSS (host) modules has been brought in line with upstream recommendations: diff --git a/nixos/modules/services/web-apps/dokuwiki.nix b/nixos/modules/services/web-apps/dokuwiki.nix index 685cb4967030..964fef23addf 100644 --- a/nixos/modules/services/web-apps/dokuwiki.nix +++ b/nixos/modules/services/web-apps/dokuwiki.nix @@ -1,16 +1,21 @@ -{ config, lib, pkgs, ... }: +{ config, pkgs, lib, ... }: let + inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption types maintainers recursiveUpdate; + inherit (lib) any attrValues concatMapStrings concatMapStringsSep flatten literalExample; + inherit (lib) filterAttrs mapAttrs mapAttrs' mapAttrsToList nameValuePair optional optionalAttrs optionalString; - inherit (lib) mkEnableOption mkForce mkIf mkMerge mkOption optionalAttrs recursiveUpdate types maintainers; - inherit (lib) concatMapStringsSep flatten mapAttrs mapAttrs' mapAttrsToList nameValuePair concatMapStringSep; - - eachSite = config.services.dokuwiki; - + cfg = migrateOldAttrs config.services.dokuwiki; + eachSite = cfg.sites; user = "dokuwiki"; - group = config.services.nginx.group; + webserver = config.services.${cfg.webserver}; + stateDir = hostName: "/var/lib/dokuwiki/${hostName}/data"; - dokuwikiAclAuthConfig = cfg: pkgs.writeText "acl.auth.php" '' + # Migrate config.services.dokuwiki.<hostName> to config.services.dokuwiki.sites.<hostName> + oldSites = filterAttrs (o: _: o != "sites" && o != "webserver"); + migrateOldAttrs = cfg: cfg // { sites = cfg.sites // oldSites cfg; }; + + dokuwikiAclAuthConfig = hostName: cfg: pkgs.writeText "acl.auth-${hostName}.php" '' # acl.auth.php # <?php exit()?> # @@ -19,7 +24,7 @@ let ${toString cfg.acl} ''; - dokuwikiLocalConfig = cfg: pkgs.writeText "local.php" '' + dokuwikiLocalConfig = hostName: cfg: pkgs.writeText "local-${hostName}.php" '' <?php $conf['savedir'] = '${cfg.stateDir}'; $conf['superuser'] = '${toString cfg.superUser}'; @@ -28,11 +33,12 @@ let ${toString cfg.extraConfig} ''; - dokuwikiPluginsLocalConfig = cfg: pkgs.writeText "plugins.local.php" '' + dokuwikiPluginsLocalConfig = hostName: cfg: pkgs.writeText "plugins.local-${hostName}.php" '' <?php ${cfg.pluginsConfig} ''; + pkg = hostName: cfg: pkgs.stdenv.mkDerivation rec { pname = "dokuwiki-${hostName}"; version = src.version; @@ -43,13 +49,13 @@ let cp -r * $out/ # symlink the dokuwiki config - ln -s ${dokuwikiLocalConfig cfg} $out/share/dokuwiki/local.php + ln -s ${dokuwikiLocalConfig hostName cfg} $out/share/dokuwiki/local.php # symlink plugins config - ln -s ${dokuwikiPluginsLocalConfig cfg} $out/share/dokuwiki/plugins.local.php + ln -s ${dokuwikiPluginsLocalConfig hostName cfg} $out/share/dokuwiki/plugins.local.php # symlink acl - ln -s ${dokuwikiAclAuthConfig cfg} $out/share/dokuwiki/acl.auth.php + ln -s ${dokuwikiAclAuthConfig hostName cfg} $out/share/dokuwiki/acl.auth.php # symlink additional plugin(s) and templates(s) ${concatMapStringsSep "\n" (template: "ln -s ${template} $out/share/dokuwiki/lib/tpl/${template.name}") cfg.templates} @@ -57,332 +63,385 @@ let ''; }; - siteOpts = { config, lib, name, ...}: { - options = { - enable = mkEnableOption "DokuWiki web application."; + siteOpts = { config, lib, name, ... }: + { + options = { + package = mkOption { + type = types.package; + default = pkgs.dokuwiki; + description = "Which DokuWiki package to use."; + }; - package = mkOption { - type = types.package; - default = pkgs.dokuwiki; - description = "Which dokuwiki package to use."; - }; + stateDir = mkOption { + type = types.path; + default = "/var/lib/dokuwiki/${name}/data"; + description = "Location of the DokuWiki state directory."; + }; - hostName = mkOption { - type = types.str; - default = "localhost"; - description = "FQDN for the instance."; - }; + acl = mkOption { + type = types.nullOr types.lines; + default = null; + example = "* @ALL 8"; + description = '' + Access Control Lists: see <link xlink:href="https://www.dokuwiki.org/acl"/> + Mutually exclusive with services.dokuwiki.aclFile + Set this to a value other than null to take precedence over aclFile option. - stateDir = mkOption { - type = types.path; - default = "/var/lib/dokuwiki/${name}/data"; - description = "Location of the dokuwiki state directory."; - }; - - acl = mkOption { - type = types.nullOr types.lines; - default = null; - example = "* @ALL 8"; - description = '' - Access Control Lists: see <link xlink:href="https://www.dokuwiki.org/acl"/> - Mutually exclusive with services.dokuwiki.aclFile - Set this to a value other than null to take precedence over aclFile option. - - Warning: Consider using aclFile instead if you do not - want to store the ACL in the world-readable Nix store. - ''; - }; - - aclFile = mkOption { - type = with types; nullOr str; - default = if (config.aclUse && config.acl == null) then "/var/lib/dokuwiki/${name}/acl.auth.php" else null; - description = '' - Location of the dokuwiki acl rules. Mutually exclusive with services.dokuwiki.acl - Mutually exclusive with services.dokuwiki.acl which is preferred. - Consult documentation <link xlink:href="https://www.dokuwiki.org/acl"/> for further instructions. - Example: <link xlink:href="https://github.com/splitbrain/dokuwiki/blob/master/conf/acl.auth.php.dist"/> - ''; - example = "/var/lib/dokuwiki/${name}/acl.auth.php"; - }; - - aclUse = mkOption { - type = types.bool; - default = true; - description = '' - Necessary for users to log in into the system. - Also limits anonymous users. When disabled, - everyone is able to create and edit content. - ''; - }; - - pluginsConfig = mkOption { - type = types.lines; - default = '' - $plugins['authad'] = 0; - $plugins['authldap'] = 0; - $plugins['authmysql'] = 0; - $plugins['authpgsql'] = 0; - ''; - description = '' - List of the dokuwiki (un)loaded plugins. - ''; - }; - - superUser = mkOption { - type = types.nullOr types.str; - default = "@admin"; - description = '' - You can set either a username, a list of usernames (“admin1,admin2”), - or the name of a group by prepending an @ char to the groupname - Consult documentation <link xlink:href="https://www.dokuwiki.org/config:superuser"/> for further instructions. - ''; - }; - - usersFile = mkOption { - type = with types; nullOr str; - default = if config.aclUse then "/var/lib/dokuwiki/${name}/users.auth.php" else null; - description = '' - Location of the dokuwiki users file. List of users. Format: - login:passwordhash:Real Name:email:groups,comma,separated - Create passwordHash easily by using:$ mkpasswd -5 password `pwgen 8 1` - Example: <link xlink:href="https://github.com/splitbrain/dokuwiki/blob/master/conf/users.auth.php.dist"/> + Warning: Consider using aclFile instead if you do not + want to store the ACL in the world-readable Nix store. ''; - example = "/var/lib/dokuwiki/${name}/users.auth.php"; - }; - - disableActions = mkOption { - type = types.nullOr types.str; - default = ""; - example = "search,register"; - description = '' - Disable individual action modes. Refer to - <link xlink:href="https://www.dokuwiki.org/config:action_modes"/> - for details on supported values. - ''; - }; - - extraConfig = mkOption { - type = types.nullOr types.lines; - default = null; - example = '' - $conf['title'] = 'My Wiki'; - $conf['userewrite'] = 1; - ''; - description = '' - DokuWiki configuration. Refer to - <link xlink:href="https://www.dokuwiki.org/config"/> - for details on supported values. - ''; - }; - - plugins = mkOption { - type = types.listOf types.path; - default = []; - description = '' - List of path(s) to respective plugin(s) which are copied from the 'plugin' directory. - <note><para>These plugins need to be packaged before use, see example.</para></note> - ''; - example = '' - # Let's package the icalevents plugin - plugin-icalevents = pkgs.stdenv.mkDerivation { - name = "icalevents"; - # Download the plugin from the dokuwiki site - src = pkgs.fetchurl { - url = "https://github.com/real-or-random/dokuwiki-plugin-icalevents/releases/download/2017-06-16/dokuwiki-plugin-icalevents-2017-06-16.zip"; - sha256 = "e40ed7dd6bbe7fe3363bbbecb4de481d5e42385b5a0f62f6a6ce6bf3a1f9dfa8"; - }; - sourceRoot = "."; - # We need unzip to build this package - nativeBuildInputs = [ pkgs.unzip ]; - # Installing simply means copying all files to the output directory - installPhase = "mkdir -p $out; cp -R * $out/"; - }; - - # And then pass this theme to the plugin list like this: - plugins = [ plugin-icalevents ]; - ''; - }; - - templates = mkOption { - type = types.listOf types.path; - default = []; - description = '' - List of path(s) to respective template(s) which are copied from the 'tpl' directory. - <note><para>These templates need to be packaged before use, see example.</para></note> - ''; - example = '' - # Let's package the bootstrap3 theme - template-bootstrap3 = pkgs.stdenv.mkDerivation { - name = "bootstrap3"; - # Download the theme from the dokuwiki site - src = pkgs.fetchurl { - url = "https://github.com/giterlizzi/dokuwiki-template-bootstrap3/archive/v2019-05-22.zip"; - sha256 = "4de5ff31d54dd61bbccaf092c9e74c1af3a4c53e07aa59f60457a8f00cfb23a6"; - }; - # We need unzip to build this package - nativeBuildInputs = [ pkgs.unzip ]; - # Installing simply means copying all files to the output directory - installPhase = "mkdir -p $out; cp -R * $out/"; - }; - - # And then pass this theme to the template list like this: - templates = [ template-bootstrap3 ]; - ''; - }; - - poolConfig = mkOption { - type = with types; attrsOf (oneOf [ str int bool ]); - default = { - "pm" = "dynamic"; - "pm.max_children" = 32; - "pm.start_servers" = 2; - "pm.min_spare_servers" = 2; - "pm.max_spare_servers" = 4; - "pm.max_requests" = 500; }; - description = '' - Options for the dokuwiki PHP pool. See the documentation on <literal>php-fpm.conf</literal> - for details on configuration directives. - ''; + + aclFile = mkOption { + type = with types; nullOr str; + default = if (config.aclUse && config.acl == null) then "/var/lib/dokuwiki/${name}/acl.auth.php" else null; + description = '' + Location of the dokuwiki acl rules. Mutually exclusive with services.dokuwiki.acl + Mutually exclusive with services.dokuwiki.acl which is preferred. + Consult documentation <link xlink:href="https://www.dokuwiki.org/acl"/> for further instructions. + Example: <link xlink:href="https://github.com/splitbrain/dokuwiki/blob/master/conf/acl.auth.php.dist"/> + ''; + example = "/var/lib/dokuwiki/${name}/acl.auth.php"; + }; + + aclUse = mkOption { + type = types.bool; + default = true; + description = '' + Necessary for users to log in into the system. + Also limits anonymous users. When disabled, + everyone is able to create and edit content. + ''; + }; + + pluginsConfig = mkOption { + type = types.lines; + default = '' + $plugins['authad'] = 0; + $plugins['authldap'] = 0; + $plugins['authmysql'] = 0; + $plugins['authpgsql'] = 0; + ''; + description = '' + List of the dokuwiki (un)loaded plugins. + ''; + }; + + superUser = mkOption { + type = types.nullOr types.str; + default = "@admin"; + description = '' + You can set either a username, a list of usernames (“admin1,admin2”), + or the name of a group by prepending an @ char to the groupname + Consult documentation <link xlink:href="https://www.dokuwiki.org/config:superuser"/> for further instructions. + ''; + }; + + usersFile = mkOption { + type = with types; nullOr str; + default = if config.aclUse then "/var/lib/dokuwiki/${name}/users.auth.php" else null; + description = '' + Location of the dokuwiki users file. List of users. Format: + login:passwordhash:Real Name:email:groups,comma,separated + Create passwordHash easily by using:$ mkpasswd -5 password `pwgen 8 1` + Example: <link xlink:href="https://github.com/splitbrain/dokuwiki/blob/master/conf/users.auth.php.dist"/> + ''; + example = "/var/lib/dokuwiki/${name}/users.auth.php"; + }; + + disableActions = mkOption { + type = types.nullOr types.str; + default = ""; + example = "search,register"; + description = '' + Disable individual action modes. Refer to + <link xlink:href="https://www.dokuwiki.org/config:action_modes"/> + for details on supported values. + ''; + }; + + plugins = mkOption { + type = types.listOf types.path; + default = []; + description = '' + List of path(s) to respective plugin(s) which are copied from the 'plugin' directory. + <note><para>These plugins need to be packaged before use, see example.</para></note> + ''; + example = '' + # Let's package the icalevents plugin + plugin-icalevents = pkgs.stdenv.mkDerivation { + name = "icalevents"; + # Download the plugin from the dokuwiki site + src = pkgs.fetchurl { + url = "https://github.com/real-or-random/dokuwiki-plugin-icalevents/releases/download/2017-06-16/dokuwiki-plugin-icalevents-2017-06-16.zip"; + sha256 = "e40ed7dd6bbe7fe3363bbbecb4de481d5e42385b5a0f62f6a6ce6bf3a1f9dfa8"; + }; + sourceRoot = "."; + # We need unzip to build this package + buildInputs = [ pkgs.unzip ]; + # Installing simply means copying all files to the output directory + installPhase = "mkdir -p $out; cp -R * $out/"; + }; + + # And then pass this theme to the plugin list like this: + plugins = [ plugin-icalevents ]; + ''; + }; + + templates = mkOption { + type = types.listOf types.path; + default = []; + description = '' + List of path(s) to respective template(s) which are copied from the 'tpl' directory. + <note><para>These templates need to be packaged before use, see example.</para></note> + ''; + example = '' + # Let's package the bootstrap3 theme + template-bootstrap3 = pkgs.stdenv.mkDerivation { + name = "bootstrap3"; + # Download the theme from the dokuwiki site + src = pkgs.fetchurl { + url = "https://github.com/giterlizzi/dokuwiki-template-bootstrap3/archive/v2019-05-22.zip"; + sha256 = "4de5ff31d54dd61bbccaf092c9e74c1af3a4c53e07aa59f60457a8f00cfb23a6"; + }; + # We need unzip to build this package + buildInputs = [ pkgs.unzip ]; + # Installing simply means copying all files to the output directory + installPhase = "mkdir -p $out; cp -R * $out/"; + }; + + # And then pass this theme to the template list like this: + templates = [ template-bootstrap3 ]; + ''; + }; + + poolConfig = mkOption { + type = with types; attrsOf (oneOf [ str int bool ]); + default = { + "pm" = "dynamic"; + "pm.max_children" = 32; + "pm.start_servers" = 2; + "pm.min_spare_servers" = 2; + "pm.max_spare_servers" = 4; + "pm.max_requests" = 500; + }; + description = '' + Options for the DokuWiki PHP pool. See the documentation on <literal>php-fpm.conf</literal> + for details on configuration directives. + ''; + }; + + extraConfig = mkOption { + type = types.nullOr types.lines; + default = null; + example = '' + $conf['title'] = 'My Wiki'; + $conf['userewrite'] = 1; + ''; + description = '' + DokuWiki configuration. Refer to + <link xlink:href="https://www.dokuwiki.org/config"/> + for details on supported values. + ''; + }; + }; - nginx = mkOption { - type = types.submodule ( - recursiveUpdate - (import ../web-servers/nginx/vhost-options.nix { inherit config lib; }) {} - ); - default = {}; - example = { - serverAliases = [ - "wiki.\${config.networking.domain}" - ]; - # To enable encryption and let let's encrypt take care of certificate - forceSSL = true; - enableACME = true; - }; - description = '' - With this option, you can customize the nginx virtualHost settings. - ''; - }; }; - }; in { # interface options = { services.dokuwiki = mkOption { - type = types.attrsOf (types.submodule siteOpts); + type = types.submodule { + # Used to support old interface + freeformType = types.attrsOf (types.submodule siteOpts); + + # New interface + options.sites = mkOption { + type = types.attrsOf (types.submodule siteOpts); + default = {}; + description = "Specification of one or more DokuWiki sites to serve"; + }; + + options.webserver = mkOption { + type = types.enum [ "nginx" "caddy" ]; + default = "nginx"; + description = '' + Whether to use nginx or caddy for virtual host management. + + Further nginx configuration can be done by adapting <literal>services.nginx.virtualHosts.<name></literal>. + See <xref linkend="opt-services.nginx.virtualHosts"/> for further information. + + Further apache2 configuration can be done by adapting <literal>services.httpd.virtualHosts.<name></literal>. + See <xref linkend="opt-services.httpd.virtualHosts"/> for further information. + ''; + }; + }; default = {}; - description = "Sepcification of one or more dokuwiki sites to serve."; + description = "DokuWiki configuration"; }; + }; # implementation - - config = mkIf (eachSite != {}) { - - warnings = mapAttrsToList (hostName: cfg: mkIf (cfg.superUser == null) "Not setting services.dokuwiki.${hostName} superUser will impair your ability to administer DokuWiki") eachSite; + config = mkIf (eachSite != {}) (mkMerge [{ assertions = flatten (mapAttrsToList (hostName: cfg: [{ assertion = cfg.aclUse -> (cfg.acl != null || cfg.aclFile != null); - message = "Either services.dokuwiki.${hostName}.acl or services.dokuwiki.${hostName}.aclFile is mandatory if aclUse true"; + message = "Either services.dokuwiki.sites.${hostName}.acl or services.dokuwiki.sites.${hostName}.aclFile is mandatory if aclUse true"; } { assertion = cfg.usersFile != null -> cfg.aclUse != false; - message = "services.dokuwiki.${hostName}.aclUse must must be true if usersFile is not null"; + message = "services.dokuwiki.sites.${hostName}.aclUse must must be true if usersFile is not null"; } ]) eachSite); + warnings = mapAttrsToList (hostName: _: ''services.dokuwiki."${hostName}" is deprecated use services.dokuwiki.sites."${hostName}"'') (oldSites cfg); + services.phpfpm.pools = mapAttrs' (hostName: cfg: ( nameValuePair "dokuwiki-${hostName}" { inherit user; - inherit group; + group = webserver.group; + phpEnv = { - DOKUWIKI_LOCAL_CONFIG = "${dokuwikiLocalConfig cfg}"; - DOKUWIKI_PLUGINS_LOCAL_CONFIG = "${dokuwikiPluginsLocalConfig cfg}"; + DOKUWIKI_LOCAL_CONFIG = "${dokuwikiLocalConfig hostName cfg}"; + DOKUWIKI_PLUGINS_LOCAL_CONFIG = "${dokuwikiPluginsLocalConfig hostName cfg}"; } // optionalAttrs (cfg.usersFile != null) { DOKUWIKI_USERS_AUTH_CONFIG = "${cfg.usersFile}"; } //optionalAttrs (cfg.aclUse) { - DOKUWIKI_ACL_AUTH_CONFIG = if (cfg.acl != null) then "${dokuwikiAclAuthConfig cfg}" else "${toString cfg.aclFile}"; + DOKUWIKI_ACL_AUTH_CONFIG = if (cfg.acl != null) then "${dokuwikiAclAuthConfig hostName cfg}" else "${toString cfg.aclFile}"; }; settings = { - "listen.mode" = "0660"; - "listen.owner" = user; - "listen.group" = group; + "listen.owner" = webserver.user; + "listen.group" = webserver.group; } // cfg.poolConfig; - })) eachSite; + } + )) eachSite; + } + + { + systemd.tmpfiles.rules = flatten (mapAttrsToList (hostName: cfg: [ + "d ${stateDir hostName}/attic 0750 ${user} ${webserver.group} - -" + "d ${stateDir hostName}/cache 0750 ${user} ${webserver.group} - -" + "d ${stateDir hostName}/index 0750 ${user} ${webserver.group} - -" + "d ${stateDir hostName}/locks 0750 ${user} ${webserver.group} - -" + "d ${stateDir hostName}/media 0750 ${user} ${webserver.group} - -" + "d ${stateDir hostName}/media_attic 0750 ${user} ${webserver.group} - -" + "d ${stateDir hostName}/media_meta 0750 ${user} ${webserver.group} - -" + "d ${stateDir hostName}/meta 0750 ${user} ${webserver.group} - -" + "d ${stateDir hostName}/pages 0750 ${user} ${webserver.group} - -" + "d ${stateDir hostName}/tmp 0750 ${user} ${webserver.group} - -" + ] ++ lib.optional (cfg.aclFile != null) "C ${cfg.aclFile} 0640 ${user} ${webserver.group} - ${pkg hostName cfg}/share/dokuwiki/conf/acl.auth.php.dist" + ++ lib.optional (cfg.usersFile != null) "C ${cfg.usersFile} 0640 ${user} ${webserver.group} - ${pkg hostName cfg}/share/dokuwiki/conf/users.auth.php.dist" + ) eachSite); + + users.users.${user} = { + group = webserver.group; + isSystemUser = true; + }; + } + + (mkIf (cfg.webserver == "nginx") { services.nginx = { enable = true; - virtualHosts = mapAttrs (hostName: cfg: mkMerge [ cfg.nginx { - root = mkForce "${pkg hostName cfg}/share/dokuwiki"; - extraConfig = lib.optionalString (cfg.nginx.addSSL || cfg.nginx.forceSSL || cfg.nginx.onlySSL || cfg.nginx.enableACME) "fastcgi_param HTTPS on;"; + virtualHosts = mapAttrs (hostName: cfg: { + serverName = mkDefault hostName; + root = "${pkg hostName cfg}/share/dokuwiki"; - locations."~ /(conf/|bin/|inc/|install.php)" = { - extraConfig = "deny all;"; - }; + locations = { + "~ /(conf/|bin/|inc/|install.php)" = { + extraConfig = "deny all;"; + }; - locations."~ ^/data/" = { - root = "${cfg.stateDir}"; - extraConfig = "internal;"; - }; + "~ ^/data/" = { + root = "${stateDir hostName}"; + extraConfig = "internal;"; + }; - locations."~ ^/lib.*\\.(js|css|gif|png|ico|jpg|jpeg)$" = { - extraConfig = "expires 365d;"; - }; + "~ ^/lib.*\.(js|css|gif|png|ico|jpg|jpeg)$" = { + extraConfig = "expires 365d;"; + }; - locations."/" = { - priority = 1; - index = "doku.php"; - extraConfig = "try_files $uri $uri/ @dokuwiki;"; - }; + "/" = { + priority = 1; + index = "doku.php"; + extraConfig = ''try_files $uri $uri/ @dokuwiki;''; + }; - locations."@dokuwiki" = { - extraConfig = '' + "@dokuwiki" = { + extraConfig = '' # rewrites "doku.php/" out of the URLs if you set the userwrite setting to .htaccess in dokuwiki config page rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last; rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last; rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last; rewrite ^/(.*) /doku.php?id=$1&$args last; - ''; - }; + ''; + }; - locations."~ \\.php$" = { - extraConfig = '' + "~ \\.php$" = { + extraConfig = '' try_files $uri $uri/ /doku.php; include ${pkgs.nginx}/conf/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param REDIRECT_STATUS 200; fastcgi_pass unix:${config.services.phpfpm.pools."dokuwiki-${hostName}".socket}; - ${lib.optionalString (cfg.nginx.addSSL || cfg.nginx.forceSSL || cfg.nginx.onlySSL || cfg.nginx.enableACME) "fastcgi_param HTTPS on;"} - ''; + ''; + }; + }; - }]) eachSite; + }) eachSite; }; + }) - systemd.tmpfiles.rules = flatten (mapAttrsToList (hostName: cfg: [ - "d ${cfg.stateDir}/attic 0750 ${user} ${group} - -" - "d ${cfg.stateDir}/cache 0750 ${user} ${group} - -" - "d ${cfg.stateDir}/index 0750 ${user} ${group} - -" - "d ${cfg.stateDir}/locks 0750 ${user} ${group} - -" - "d ${cfg.stateDir}/media 0750 ${user} ${group} - -" - "d ${cfg.stateDir}/media_attic 0750 ${user} ${group} - -" - "d ${cfg.stateDir}/media_meta 0750 ${user} ${group} - -" - "d ${cfg.stateDir}/meta 0750 ${user} ${group} - -" - "d ${cfg.stateDir}/pages 0750 ${user} ${group} - -" - "d ${cfg.stateDir}/tmp 0750 ${user} ${group} - -" - ] ++ lib.optional (cfg.aclFile != null) "C ${cfg.aclFile} 0640 ${user} ${group} - ${pkg hostName cfg}/share/dokuwiki/conf/acl.auth.php.dist" - ++ lib.optional (cfg.usersFile != null) "C ${cfg.usersFile} 0640 ${user} ${group} - ${pkg hostName cfg}/share/dokuwiki/conf/users.auth.php.dist" - ) eachSite); + (mkIf (cfg.webserver == "caddy") { + services.caddy = { + enable = true; + virtualHosts = mapAttrs' (hostName: cfg: ( + nameValuePair "http://${hostName}" { + extraConfig = '' + root * ${pkg hostName cfg}/share/dokuwiki + file_server - users.users.${user} = { - group = group; - isSystemUser = true; + encode zstd gzip + php_fastcgi unix/${config.services.phpfpm.pools."dokuwiki-${hostName}".socket} + + @restrict_files { + path /data/* /conf/* /bin/* /inc/* /vendor/* /install.php + } + + respond @restrict_files 404 + + @allow_media { + path_regexp path ^/_media/(.*)$ + } + rewrite @allow_media /lib/exe/fetch.php?media=/{http.regexp.path.1} + + @allow_detail { + path /_detail* + } + rewrite @allow_detail /lib/exe/detail.php?media={path} + + @allow_export { + path /_export* + path_regexp export /([^/]+)/(.*) + } + rewrite @allow_export /doku.php?do=export_{http.regexp.export.1}&id={http.regexp.export.2} + + try_files {path} {path}/ /doku.php?id={path}&{query} + ''; + } + )) eachSite; }; - }; + }) - meta.maintainers = with maintainers; [ _1000101 ]; + ]); + meta.maintainers = with maintainers; [ + _1000101 + onny + ]; } diff --git a/nixos/tests/dokuwiki.nix b/nixos/tests/dokuwiki.nix index 2664e1500ea4..67657e89f74c 100644 --- a/nixos/tests/dokuwiki.nix +++ b/nixos/tests/dokuwiki.nix @@ -33,44 +33,79 @@ let in { name = "dokuwiki"; meta = with pkgs.lib; { - maintainers = with maintainers; [ _1000101 ]; + maintainers = with maintainers; [ + _1000101 + onny + ]; }; - machine = { ... }: { - services.dokuwiki."site1.local" = { - aclUse = false; - superUser = "admin"; + + nodes = { + dokuwiki_nginx = {...}: { + services.dokuwiki = { + sites = { + "site1.local" = { + aclUse = false; + superUser = "admin"; + }; + "site2.local" = { + usersFile = "/var/lib/dokuwiki/site2.local/users.auth.php"; + superUser = "admin"; + templates = [ template-bootstrap3 ]; + plugins = [ plugin-icalevents ]; + }; + }; + }; + + networking.firewall.allowedTCPPorts = [ 80 ]; + networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ]; }; - services.dokuwiki."site2.local" = { - usersFile = "/var/lib/dokuwiki/site2.local/users.auth.php"; - superUser = "admin"; - templates = [ template-bootstrap3 ]; - plugins = [ plugin-icalevents ]; + + dokuwiki_caddy = {...}: { + services.dokuwiki = { + webserver = "caddy"; + sites = { + "site1.local" = { + aclUse = false; + superUser = "admin"; + }; + "site2.local" = { + usersFile = "/var/lib/dokuwiki/site2.local/users.auth.php"; + superUser = "admin"; + templates = [ template-bootstrap3 ]; + plugins = [ plugin-icalevents ]; + }; + }; + }; + + networking.firewall.allowedTCPPorts = [ 80 ]; + networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ]; }; - networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ]; + }; testScript = '' - site_names = ["site1.local", "site2.local"] start_all() - machine.wait_for_unit("phpfpm-dokuwiki-site1.local.service") - machine.wait_for_unit("phpfpm-dokuwiki-site2.local.service") + dokuwiki_nginx.wait_for_unit("nginx") + dokuwiki_caddy.wait_for_unit("caddy") - machine.wait_for_unit("nginx.service") + site_names = ["site1.local", "site2.local"] - machine.wait_for_open_port(80) + for machine in (dokuwiki_nginx, dokuwiki_caddy): + for site_name in site_names: + machine.wait_for_unit(f"phpfpm-dokuwiki-{site_name}") - machine.succeed("curl -sSfL http://site1.local/ | grep 'DokuWiki'") - machine.fail("curl -sSfL 'http://site1.local/doku.php?do=login' | grep 'Login'") + machine.succeed("curl -sSfL http://site1.local/ | grep 'DokuWiki'") + machine.fail("curl -sSfL 'http://site1.local/doku.php?do=login' | grep 'Login'") - machine.succeed("curl -sSfL http://site2.local/ | grep 'DokuWiki'") - machine.succeed("curl -sSfL 'http://site2.local/doku.php?do=login' | grep 'Login'") + machine.succeed("curl -sSfL http://site2.local/ | grep 'DokuWiki'") + machine.succeed("curl -sSfL 'http://site2.local/doku.php?do=login' | grep 'Login'") - machine.succeed( - "echo 'admin:$2y$10$ijdBQMzSVV20SrKtCna8gue36vnsbVm2wItAXvdm876sshI4uwy6S:Admin:admin@example.test:user' >> /var/lib/dokuwiki/site2.local/users.auth.php", - "curl -sSfL -d 'u=admin&p=password' --cookie-jar cjar 'http://site2.local/doku.php?do=login'", - "curl -sSfL --cookie cjar --cookie-jar cjar 'http://site2.local/doku.php?do=login' | grep 'Logged in as: <bdi>Admin</bdi>'", - ) + machine.succeed( + "echo 'admin:$2y$10$ijdBQMzSVV20SrKtCna8gue36vnsbVm2wItAXvdm876sshI4uwy6S:Admin:admin@example.test:user' >> /var/lib/dokuwiki/site2.local/users.auth.php", + "curl -sSfL -d 'u=admin&p=password' --cookie-jar cjar 'http://site2.local/doku.php?do=login'", + "curl -sSfL --cookie cjar --cookie-jar cjar 'http://site2.local/doku.php?do=login' | grep 'Logged in as: <bdi>Admin</bdi>'", + ) ''; }) From 108423388944d94a080fc5f04f213777f78f11b1 Mon Sep 17 00:00:00 2001 From: Robert Scott <code@humanleg.org.uk> Date: Sat, 18 Sep 2021 15:52:37 +0100 Subject: [PATCH 163/173] atftp: 0.7.4 -> 0.7.5 --- pkgs/tools/networking/atftp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/atftp/default.nix b/pkgs/tools/networking/atftp/default.nix index 0e76cb94346b..a94612447361 100644 --- a/pkgs/tools/networking/atftp/default.nix +++ b/pkgs/tools/networking/atftp/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "atftp"; - version = "0.7.4"; + version = "0.7.5"; src = fetchurl { url = "mirror://sourceforge/atftp/${pname}-${version}.tar.gz"; - sha256 = "sha256-08nNDZcd/Hhtel9AVcNdTmaq/IECrANHPvIlvfftsmo="; + sha256 = "12h3sgkd25j4nfagil2jqyj1n8yxvaawj0cf01742642n57pmj4k"; }; nativeBuildInputs = [ makeWrapper ]; From 70da17646624c7d24daacc644c3c870a938b2f94 Mon Sep 17 00:00:00 2001 From: Robert Scott <code@humanleg.org.uk> Date: Sat, 18 Sep 2021 15:52:54 +0100 Subject: [PATCH 164/173] atftp: enable tests --- pkgs/tools/networking/atftp/default.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/atftp/default.nix b/pkgs/tools/networking/atftp/default.nix index a94612447361..ca06afe7bdbf 100644 --- a/pkgs/tools/networking/atftp/default.nix +++ b/pkgs/tools/networking/atftp/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, readline, tcp_wrappers, pcre, makeWrapper, gcc }: +{ lib, stdenv, fetchurl, readline, tcp_wrappers, pcre, makeWrapper, gcc, ps }: stdenv.mkDerivation rec { pname = "atftp"; @@ -9,13 +9,19 @@ stdenv.mkDerivation rec { sha256 = "12h3sgkd25j4nfagil2jqyj1n8yxvaawj0cf01742642n57pmj4k"; }; + # fix test script + postPatch = '' + patchShebangs . + ''; + nativeBuildInputs = [ makeWrapper ]; buildInputs = [ readline tcp_wrappers pcre gcc ]; # Expects pre-GCC5 inline semantics NIX_CFLAGS_COMPILE = "-std=gnu89"; - doCheck = false; # fails + doCheck = true; + checkInputs = [ ps ]; meta = { description = "Advanced tftp tools"; From a92dd171bae2db6eeff74a3d31fa99e47e793359 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Sat, 18 Sep 2021 19:53:58 +1000 Subject: [PATCH 165/173] catatonit: 0.1.5 -> 0.1.6 https://github.com/openSUSE/catatonit/releases/tag/v0.1.6 --- .../virtualization/catatonit/default.nix | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/pkgs/applications/virtualization/catatonit/default.nix b/pkgs/applications/virtualization/catatonit/default.nix index c44db31f50cb..e311be68ab8c 100644 --- a/pkgs/applications/virtualization/catatonit/default.nix +++ b/pkgs/applications/virtualization/catatonit/default.nix @@ -1,24 +1,16 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, glibc, nixosTests }: +{ lib, stdenv, fetchFromGitHub, autoreconfHook, glibc, nixosTests }: stdenv.mkDerivation rec { pname = "catatonit"; - version = "0.1.5"; + version = "0.1.6"; src = fetchFromGitHub { owner = "openSUSE"; repo = pname; rev = "v${version}"; - sha256 = "ciJ1MI7jr5P2PgxIykQ+BiwNUO8lQHGt0+U8CNbc5bI="; + sha256 = "sha256-hokG6o7toZxU984EvIlne33Aa2EZVZ3qu1jTZMm5nt4="; }; - patches = [ - # Fix compilation with musl - (fetchpatch { - url = "https://github.com/openSUSE/catatonit/commit/75014b1c3099245b7d0f44f24d7f6dc4888a45fd.patch"; - sha256 = "sha256-9VMNUT1U90ocjvE7EXYfLxuodDwTXXHYg89qqa5Jq0g="; - }) - ]; - nativeBuildInputs = [ autoreconfHook ]; buildInputs = lib.optionals (!stdenv.hostPlatform.isMusl) [ glibc glibc.static ]; From d7b1157b9bf0956397d8fbcced3fe2370db36e21 Mon Sep 17 00:00:00 2001 From: jonathanfishbein1 <jonathanfishbein@protonmail.com> Date: Fri, 17 Sep 2021 02:41:22 +0000 Subject: [PATCH 166/173] vscode-extensions.haskell.haskell: 1.10 -> 1.61 --- pkgs/misc/vscode-extensions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/vscode-extensions/default.nix b/pkgs/misc/vscode-extensions/default.nix index ba634b8238ab..37a0a0c0f5fb 100644 --- a/pkgs/misc/vscode-extensions/default.nix +++ b/pkgs/misc/vscode-extensions/default.nix @@ -775,8 +775,8 @@ let mktplcRef = { name = "haskell"; publisher = "haskell"; - version = "1.1.0"; - sha256 = "1wg06lyk0qn9jd6gi007sg7v0z9z8gwq7x2449d4ihs9n3w5l0gb"; + version = "1.6.1"; + sha256 = "1l6nrbqkq1p62dkmzs4sy0rxbid3qa1104s3fd9fzkmc1sldzgsn"; }; meta = with lib; { license = licenses.mit; From ffb2d26c36b83a5a1070018fb54625f86167858d Mon Sep 17 00:00:00 2001 From: jonathanfishbein1 <jonathanfishbein@protonmail.com> Date: Fri, 17 Sep 2021 02:42:27 +0000 Subject: [PATCH 167/173] vscode-extensions.justusadam.language-haskell: 3.2.1 -> 3.40 --- pkgs/misc/vscode-extensions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/vscode-extensions/default.nix b/pkgs/misc/vscode-extensions/default.nix index 37a0a0c0f5fb..704a6554b9cb 100644 --- a/pkgs/misc/vscode-extensions/default.nix +++ b/pkgs/misc/vscode-extensions/default.nix @@ -924,8 +924,8 @@ let mktplcRef = { name = "language-haskell"; publisher = "justusadam"; - version = "3.2.1"; - sha256 = "0lxp8xz17ciy93nj4lzxqvz71vw1zdyamrnh2n792yair8890rr6"; + version = "3.4.0"; + sha256 = "0ab7m5jzxakjxaiwmg0jcck53vnn183589bbxh3iiylkpicrv67y"; }; meta = { license = lib.licenses.bsd3; From a34f7dbb73831240702c1f60ca24e6f856622575 Mon Sep 17 00:00:00 2001 From: Yureka <yuka@yuka.dev> Date: Sat, 18 Sep 2021 18:30:45 +0200 Subject: [PATCH 168/173] chromiumDev: fix build --- pkgs/applications/networking/browsers/chromium/common.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index be3eff9bd955..09b4cefa7ae8 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -88,6 +88,8 @@ let gnSystemLibraries = lib.optionals (!chromiumVersionAtLeast "93") [ "ffmpeg" "snappy" + ] ++ lib.optionals (!chromiumVersionAtLeast "95") [ + "zlib" ] ++ [ "flac" "libjpeg" @@ -95,7 +97,6 @@ let "libwebp" "libxslt" "opus" - "zlib" ]; opusWithCustomModes = libopus.override { From 8b749d8134347a814cd023f18c5b0bc327e1d1da Mon Sep 17 00:00:00 2001 From: figsoda <figsoda@pm.me> Date: Sat, 18 Sep 2021 13:34:22 -0400 Subject: [PATCH 169/173] vimPlugins.vim-clap: fix cargoSha256 --- pkgs/misc/vim-plugins/overrides.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix index 9b0cae766e1c..091c5ef90610 100644 --- a/pkgs/misc/vim-plugins/overrides.nix +++ b/pkgs/misc/vim-plugins/overrides.nix @@ -677,7 +677,7 @@ self: super: { libiconv ]; - cargoSha256 = "1hmbgqd22fy68n05vdb93wsdvws91m4i6nm1kq6bwwbhzhkvd7js"; + cargoSha256 = "083v2bnnjyf9j923p6bidgbvmwnh8sfv5ai70qfffzrysi5gvzdf"; }; in '' From b098f6ff0dd77083617be628f26fbd78bdd598c0 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich <slyich@gmail.com> Date: Sat, 18 Sep 2021 19:03:00 +0000 Subject: [PATCH 170/173] memorymapping: constrain to darwin (fails on linux) (#138404) Closes: https://github.com/NixOS/nixpkgs/issues/138378 --- pkgs/development/libraries/memorymapping/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/memorymapping/default.nix b/pkgs/development/libraries/memorymapping/default.nix index ebab23fe471e..91af205f0320 100644 --- a/pkgs/development/libraries/memorymapping/default.nix +++ b/pkgs/development/libraries/memorymapping/default.nix @@ -37,7 +37,9 @@ stdenv.mkDerivation { description = "fmemopen for Mac OS and iOS"; license = licenses.asl20; maintainers = with maintainers; [ veprbl ]; - platforms = platforms.unix; + # Uses BSD-style funopen() to implement glibc-style fmemopen(). + # Add more BSDs if you need to. + platforms = platforms.darwin; broken = stdenv.isAarch64; }; } From f54d2792e0bbfcd31900fd4a22cdd977d5bafad8 Mon Sep 17 00:00:00 2001 From: Robert Scott <code@humanleg.org.uk> Date: Sat, 18 Sep 2021 21:26:47 +0100 Subject: [PATCH 171/173] apache-jena: 3.7.0 -> 4.2.0 --- pkgs/servers/nosql/apache-jena/binary.nix | 4 ++-- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/nosql/apache-jena/binary.nix b/pkgs/servers/nosql/apache-jena/binary.nix index 71c8c4a45dc6..2ceb4afc0cd0 100644 --- a/pkgs/servers/nosql/apache-jena/binary.nix +++ b/pkgs/servers/nosql/apache-jena/binary.nix @@ -3,10 +3,10 @@ let s = # Generated upstream information rec { baseName="apache-jena"; - version = "3.7.0"; + version = "4.2.0"; name="${baseName}-${version}"; url="http://archive.apache.org/dist/jena/binaries/apache-jena-${version}.tar.gz"; - sha256 = "12w125hlhcib23cckk77cx7p9rzs57dbmmn90f7v8107d437j4mq"; + sha256 = "1yiqlsp1g2fladal8mj164b9s0qsl5csllg54p7x7w63wf7gixnq"; }; buildInputs = [ makeWrapper diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dbf23a650454..ee123b2bb341 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19893,7 +19893,7 @@ with pkgs; cassandra = cassandra_3_11; apache-jena = callPackage ../servers/nosql/apache-jena/binary.nix { - java = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 + java = jre; }; apache-jena-fuseki = callPackage ../servers/nosql/apache-jena/fuseki-binary.nix { From a53e02e3ec3fa770e9449924c45fe99bc10a1cda Mon Sep 17 00:00:00 2001 From: Robert Scott <code@humanleg.org.uk> Date: Sat, 18 Sep 2021 21:27:15 +0100 Subject: [PATCH 172/173] apache-jena-fuseki: 3.13.1 -> 4.2.0 --- pkgs/servers/nosql/apache-jena/fuseki-binary.nix | 7 ++++--- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/nosql/apache-jena/fuseki-binary.nix b/pkgs/servers/nosql/apache-jena/fuseki-binary.nix index 7084130eaef8..9be009f3b1f1 100644 --- a/pkgs/servers/nosql/apache-jena/fuseki-binary.nix +++ b/pkgs/servers/nosql/apache-jena/fuseki-binary.nix @@ -3,10 +3,10 @@ let s = # Generated upstream information rec { baseName="apache-jena-fuseki"; - version = "3.13.1"; + version = "4.2.0"; name="${baseName}-${version}"; url="http://archive.apache.org/dist/jena/binaries/apache-jena-fuseki-${version}.tar.gz"; - sha256 = "018b07icvjhd44c046rxfjiczcs63cic77cymgg4w8pd3na06c7y"; + sha256 = "1x3va4yqmxh55lhr6ms85ks9v0lqkl3y41h0bpjdycp8j96lsy3h"; }; buildInputs = [ makeWrapper @@ -20,7 +20,8 @@ stdenv.mkDerivation { }; installPhase = '' cp -r . "$out" - ln -s "$out"/{fuseki-server,fuseki} "$out/bin" + chmod +x $out/fuseki + ln -s "$out"/{fuseki-backup,fuseki-server,fuseki} "$out/bin" for i in "$out"/bin/*; do wrapProgram "$i" \ --prefix "PATH" : "${java}/bin/" \ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ee123b2bb341..4b361878c7e7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19897,7 +19897,7 @@ with pkgs; }; apache-jena-fuseki = callPackage ../servers/nosql/apache-jena/fuseki-binary.nix { - java = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 + java = jre; }; apcupsd = callPackage ../servers/apcupsd { }; From ed55c1a44435d36eb4e35da67d0f1faa6e423f04 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Sun, 19 Sep 2021 01:06:21 +1000 Subject: [PATCH 173/173] mmv-go: 0.1.3 -> 0.1.4 https://github.com/itchyny/mmv/releases/tag/v0.1.4 --- pkgs/tools/misc/mmv-go/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/mmv-go/default.nix b/pkgs/tools/misc/mmv-go/default.nix index 640b0d611e47..efca64bdc44a 100644 --- a/pkgs/tools/misc/mmv-go/default.nix +++ b/pkgs/tools/misc/mmv-go/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "mmv-go"; - version = "0.1.3"; + version = "0.1.4"; src = fetchFromGitHub { owner = "itchyny"; repo = "mmv"; rev = "v${version}"; - sha256 = "12k5zzyr0lhjadc9kza04v0zgb20v7m4syaqwc7qvn3kfvv1mz8s"; + sha256 = "sha256-n7yW+0cabJGDgppt6Qcj7ID3sD85094NDOPk2o9xDwY="; }; - vendorSha256 = "0xnrai15ww9lfk02bc9p5ssycwnqkyjj5ch1srh7yvnbw3fakx68"; + vendorSha256 = "sha256-3Xk8S2Em28r5R7894Ubo2OOlGhrKplV/gY4ftCjPvMo="; ldflags = [ "-s" "-w" "-X main.revision=${src.rev}" ];