Merge staging-next into staging

authored by

github-actions[bot] and committed by
GitHub
c15d9cfe 1c5c21ec

+1186 -302
+17
maintainers/maintainer-list.nix
··· 2092 2092 githubId = 12386805; 2093 2093 name = "Chua Hou"; 2094 2094 }; 2095 + chuangzhu = { 2096 + name = "Chuang Zhu"; 2097 + email = "chuang@melty.land"; 2098 + matrix = "@chuangzhu:matrix.org"; 2099 + github = "chuangzhu"; 2100 + githubId = 31200881; 2101 + keys = [{ 2102 + longkeyid = "rsa4096/E838CED81CFFD3F9"; 2103 + fingerprint = "5D03 A5E6 0754 A3E3 CA57 5037 E838 CED8 1CFF D3F9"; 2104 + }]; 2105 + }; 2095 2106 chvp = { 2096 2107 email = "nixpkgs@cvpetegem.be"; 2097 2108 matrix = "@charlotte:vanpetegem.me"; ··· 6206 6217 kkallio = { 6207 6218 email = "tierpluspluslists@gmail.com"; 6208 6219 name = "Karn Kallio"; 6220 + }; 6221 + klden = { 6222 + name = "Kenzyme Le"; 6223 + email = "kl@kenzymele.com"; 6224 + github = "klDen"; 6225 + githubId = 5478260; 6209 6226 }; 6210 6227 klntsky = { 6211 6228 email = "klntsky@gmail.com";
+9
nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
··· 524 524 <link linkend="opt-services.ananicy.enable">services.ananicy</link>. 525 525 </para> 526 526 </listitem> 527 + <listitem> 528 + <para> 529 + <link xlink:href="https://github.com/prometheus-community/smartctl_exporter">smartctl_exporter</link>, 530 + a Prometheus exporter for 531 + <link xlink:href="https://en.wikipedia.org/wiki/S.M.A.R.T.">S.M.A.R.T.</link> 532 + data. Available as 533 + <link xlink:href="options.html#opt-services.prometheus.exporters.smartctl.enable">services.prometheus.exporters.smartctl</link>. 534 + </para> 535 + </listitem> 527 536 </itemizedlist> 528 537 </section> 529 538 <section xml:id="sec-release-21.11-incompatibilities">
+2
nixos/doc/manual/release-notes/rl-2111.section.md
··· 147 147 148 148 - Auto nice daemons [ananicy](https://github.com/Nefelim4ag/Ananicy) and [ananicy-cpp](https://gitlab.com/ananicy-cpp/ananicy-cpp/). Available as [services.ananicy](#opt-services.ananicy.enable). 149 149 150 + - [smartctl_exporter](https://github.com/prometheus-community/smartctl_exporter), a Prometheus exporter for [S.M.A.R.T.](https://en.wikipedia.org/wiki/S.M.A.R.T.) data. Available as [services.prometheus.exporters.smartctl](options.html#opt-services.prometheus.exporters.smartctl.enable). 151 + 150 152 ## Backward Incompatibilities {#sec-release-21.11-incompatibilities} 151 153 152 154 - The NixOS VM test framework, `pkgs.nixosTest`/`make-test-python.nix`, now requires detaching commands such as `succeed("foo &")` and `succeed("foo | xclip -i")` to close stdout.
+1
nixos/modules/services/monitoring/prometheus/exporters.nix
··· 61 61 "rtl_433" 62 62 "script" 63 63 "snmp" 64 + "smartctl" 64 65 "smokeping" 65 66 "sql" 66 67 "surfboard"
+64
nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix
··· 1 + { config, lib, pkgs, options }: 2 + 3 + with lib; 4 + 5 + let 6 + cfg = config.services.prometheus.exporters.smartctl; 7 + format = pkgs.formats.yaml {}; 8 + configFile = format.generate "smartctl-exporter.yml" { 9 + smartctl_exporter = { 10 + bind_to = "${cfg.listenAddress}:${toString cfg.port}"; 11 + url_path = "/metrics"; 12 + smartctl_location = "${pkgs.smartmontools}/bin/smartctl"; 13 + collect_not_more_than_period = cfg.maxInterval; 14 + devices = cfg.devices; 15 + }; 16 + }; 17 + in { 18 + port = 9633; 19 + 20 + extraOpts = { 21 + devices = mkOption { 22 + type = types.listOf types.str; 23 + default = []; 24 + example = literalExpression '' 25 + [ "/dev/sda", "/dev/nvme0n1" ]; 26 + ''; 27 + description = '' 28 + Paths to disks that will be monitored. 29 + ''; 30 + }; 31 + maxInterval = mkOption { 32 + type = types.str; 33 + default = "60s"; 34 + example = "2m"; 35 + description = '' 36 + Interval that limits how often a disk can be queried. 37 + ''; 38 + }; 39 + }; 40 + 41 + serviceOpts = { 42 + serviceConfig = { 43 + AmbientCapabilities = [ 44 + "CAP_SYS_ADMIN" 45 + ]; 46 + CapabilityBoundingSet = [ 47 + "CAP_SYS_ADMIN" 48 + ]; 49 + DevicePolicy = "closed"; 50 + DeviceAllow = lib.mkForce cfg.devices; 51 + ExecStart = '' 52 + ${pkgs.prometheus-smartctl-exporter}/bin/smartctl_exporter -config ${configFile} 53 + ''; 54 + PrivateDevices = lib.mkForce false; 55 + ProtectProc = "invisible"; 56 + ProcSubset = "pid"; 57 + SupplementaryGroups = [ "disk" ]; 58 + SystemCallFilter = [ 59 + "@system-service" 60 + "~@privileged @resources" 61 + ]; 62 + }; 63 + }; 64 + }
+1 -1
nixos/modules/services/networking/ddclient.nix
··· 29 29 configFile = if (cfg.configFile != null) then cfg.configFile else configFile'; 30 30 31 31 preStart = '' 32 - install ${configFile} /run/${RuntimeDirectory}/ddclient.conf 32 + install --mode=0400 ${configFile} /run/${RuntimeDirectory}/ddclient.conf 33 33 ${lib.optionalString (cfg.configFile == null) (if (cfg.passwordFile != null) then '' 34 34 password=$(printf "%q" "$(head -n 1 "${cfg.passwordFile}")") 35 35 sed -i "s|^password=$|password=$password|" /run/${RuntimeDirectory}/ddclient.conf
+42 -7
nixos/modules/services/networking/knot.nix
··· 80 80 }; 81 81 82 82 config = mkIf config.services.knot.enable { 83 + users.groups.knot = {}; 83 84 users.users.knot = { 84 85 isSystemUser = true; 85 86 group = "knot"; 86 87 description = "Knot daemon user"; 87 88 }; 88 89 89 - users.groups.knot.gid = null; 90 90 systemd.services.knot = { 91 91 unitConfig.Documentation = "man:knotd(8) man:knot.conf(5) man:knotc(8) https://www.knot-dns.cz/docs/${cfg.package.version}/html/"; 92 92 description = cfg.package.meta.description; ··· 98 98 Type = "notify"; 99 99 ExecStart = "${cfg.package}/bin/knotd --config=${configFile} --socket=${socketFile} ${concatStringsSep " " cfg.extraArgs}"; 100 100 ExecReload = "${knot-cli-wrappers}/bin/knotc reload"; 101 - CapabilityBoundingSet = "CAP_NET_BIND_SERVICE CAP_SETPCAP"; 102 - AmbientCapabilities = "CAP_NET_BIND_SERVICE CAP_SETPCAP"; 101 + User = "knot"; 102 + Group = "knot"; 103 + 104 + AmbientCapabilities = [ 105 + "CAP_NET_BIND_SERVICE" 106 + ]; 107 + CapabilityBoundingSet = [ 108 + "CAP_NET_BIND_SERVICE" 109 + ]; 110 + DeviceAllow = ""; 111 + DevicePolicy = "closed"; 112 + LockPersonality = true; 113 + MemoryDenyWriteExecute = true; 103 114 NoNewPrivileges = true; 104 - User = "knot"; 115 + PrivateDevices = true; 116 + PrivateTmp = true; 117 + PrivateUsers = false; # breaks capability passing 118 + ProcSubset = "pid"; 119 + ProtectClock = true; 120 + ProtectControlGroups = true; 121 + ProtectHome = true; 122 + ProtectHostname = true; 123 + ProtectKernelLogs = true; 124 + ProtectKernelModules = true; 125 + ProtectKernelTunables = true; 126 + ProtectProc = "invisible"; 127 + ProtectSystem = "strict"; 128 + RemoveIPC = true; 129 + Restart = "on-abort"; 130 + RestrictAddressFamilies = [ 131 + "AF_INET" 132 + "AF_INET6" 133 + "AF_UNIX" 134 + ]; 135 + RestrictNamespaces = true; 136 + RestrictRealtime =true; 137 + RestrictSUIDSGID = true; 105 138 RuntimeDirectory = "knot"; 106 139 StateDirectory = "knot"; 107 140 StateDirectoryMode = "0700"; 108 - PrivateDevices = true; 109 - RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6"; 110 141 SystemCallArchitectures = "native"; 111 - Restart = "on-abort"; 142 + SystemCallFilter = [ 143 + "@system-service" 144 + "~@privileged" 145 + ]; 146 + UMask = "0077"; 112 147 }; 113 148 }; 114 149
+3 -2
nixos/modules/services/x11/desktop-managers/pantheon.nix
··· 296 296 }) 297 297 298 298 (mkIf serviceCfg.contractor.enable { 299 - environment.systemPackages = with pkgs.pantheon; [ 299 + environment.systemPackages = with pkgs.pantheon; [ 300 300 contractor 301 - extra-elementary-contracts 301 + file-roller-contract 302 + gnome-bluetooth-contract 302 303 ]; 303 304 304 305 environment.pathsToLink = [
+6
nixos/tests/knot.nix
··· 45 45 nodes = { 46 46 master = { lib, ... }: { 47 47 imports = [ common ]; 48 + 49 + # trigger sched_setaffinity syscall 50 + virtualisation.cores = 2; 51 + 48 52 networking.interfaces.eth1 = { 49 53 ipv4.addresses = lib.mkForce [ 50 54 { address = "192.168.0.1"; prefixLength = 24; } ··· 206 210 207 211 test(host, "RRSIG", "www.example.com", r"RR set signature is") 208 212 test(host, "DNSKEY", "example.com", r"DNSSEC key is") 213 + 214 + master.log(master.succeed("systemd-analyze security knot.service | grep -v '✓'")) 209 215 ''; 210 216 })
+19
nixos/tests/prometheus-exporters.nix
··· 1018 1018 ''; 1019 1019 }; 1020 1020 1021 + smartctl = { 1022 + exporterConfig = { 1023 + enable = true; 1024 + devices = [ 1025 + "/dev/vda" 1026 + ]; 1027 + }; 1028 + exporterTest = '' 1029 + wait_for_unit("prometheus-smartctl-exporter.service") 1030 + wait_for_open_port("9633") 1031 + wait_until_succeeds( 1032 + "curl -sSf 'localhost:9633/metrics'" 1033 + ) 1034 + wait_until_succeeds( 1035 + 'journalctl -eu prometheus-smartctl-exporter.service -o cat | grep "/dev/vda: Unable to detect device type"' 1036 + ) 1037 + ''; 1038 + }; 1039 + 1021 1040 smokeping = { 1022 1041 exporterConfig = { 1023 1042 enable = true;
+2 -2
pkgs/applications/audio/ocenaudio/default.nix
··· 11 11 12 12 stdenv.mkDerivation rec { 13 13 pname = "ocenaudio"; 14 - version = "3.10.6"; 14 + version = "3.11.0"; 15 15 16 16 src = fetchurl { 17 17 url = "https://www.ocenaudio.com/downloads/index.php/ocenaudio_debian9_64.deb?version=${version}"; 18 - sha256 = "0fgvm1xw2kgrqj3w6slpfxbb3pw9k8i0dz16q9d5d8gyyvr2mh8g"; 18 + sha256 = "1yflpyl0d1mi0zxdyrlbg0px95s2c945ahy0agc8rha01ccf7jwy"; 19 19 }; 20 20 21 21 nativeBuildInputs = [
+91
pkgs/applications/editors/lite-xl/0001-replace-unpack-with-table-unpack.patch
··· 1 + diff --git a/data/core/commands/findreplace.lua b/data/core/commands/findreplace.lua 2 + index 5d27aa6..db6a2dd 100644 3 + --- a/data/core/commands/findreplace.lua 4 + +++ b/data/core/commands/findreplace.lua 5 + @@ -37,7 +37,7 @@ local function update_preview(sel, search_fn, text) 6 + last_view:scroll_to_line(line2, true) 7 + found_expression = true 8 + else 9 + - last_view.doc:set_selection(unpack(sel)) 10 + + last_view.doc:set_selection(table.unpack(sel)) 11 + found_expression = false 12 + end 13 + end 14 + @@ -55,7 +55,7 @@ end 15 + local function find(label, search_fn) 16 + last_view, last_sel = core.active_view, 17 + { core.active_view.doc:get_selection() } 18 + - local text = last_view.doc:get_text(unpack(last_sel)) 19 + + local text = last_view.doc:get_text(table.unpack(last_sel)) 20 + found_expression = false 21 + 22 + core.command_view:set_text(text, true) 23 + @@ -69,8 +69,8 @@ local function find(label, search_fn) 24 + last_fn, last_text = search_fn, text 25 + else 26 + core.error("Couldn't find %q", text) 27 + - last_view.doc:set_selection(unpack(last_sel)) 28 + - last_view:scroll_to_make_visible(unpack(last_sel)) 29 + + last_view.doc:set_selection(table.unpack(last_sel)) 30 + + last_view:scroll_to_make_visible(table.unpack(last_sel)) 31 + end 32 + end, function(text) 33 + update_preview(last_sel, search_fn, text) 34 + @@ -79,8 +79,8 @@ local function find(label, search_fn) 35 + end, function(explicit) 36 + core.status_view:remove_tooltip() 37 + if explicit then 38 + - last_view.doc:set_selection(unpack(last_sel)) 39 + - last_view:scroll_to_make_visible(unpack(last_sel)) 40 + + last_view.doc:set_selection(table.unpack(last_sel)) 41 + + last_view:scroll_to_make_visible(table.unpack(last_sel)) 42 + end 43 + end) 44 + end 45 + diff --git a/data/core/doc/init.lua b/data/core/doc/init.lua 46 + index 2e72907..0e61ffb 100644 47 + --- a/data/core/doc/init.lua 48 + +++ b/data/core/doc/init.lua 49 + @@ -198,9 +198,9 @@ local function selection_iterator(invariant, idx) 50 + local target = invariant[3] and (idx*4 - 7) or (idx*4 + 1) 51 + if target > #invariant[1] or target <= 0 or (type(invariant[3]) == "number" and invariant[3] ~= idx - 1) then return end 52 + if invariant[2] then 53 + - return idx+(invariant[3] and -1 or 1), sort_positions(unpack(invariant[1], target, target+4)) 54 + + return idx+(invariant[3] and -1 or 1), sort_positions(table.unpack(invariant[1], target, target+4)) 55 + else 56 + - return idx+(invariant[3] and -1 or 1), unpack(invariant[1], target, target+4) 57 + + return idx+(invariant[3] and -1 or 1), table.unpack(invariant[1], target, target+4) 58 + end 59 + end 60 + 61 + @@ -345,7 +345,7 @@ function Doc:raw_insert(line, col, text, undo_stack, time) 62 + 63 + -- push undo 64 + local line2, col2 = self:position_offset(line, col, #text) 65 + - push_undo(undo_stack, time, "selection", unpack(self.selections)) 66 + + push_undo(undo_stack, time, "selection", table.unpack(self.selections)) 67 + push_undo(undo_stack, time, "remove", line, col, line2, col2) 68 + 69 + -- update highlighter and assure selection is in bounds 70 + @@ -357,7 +357,7 @@ end 71 + function Doc:raw_remove(line1, col1, line2, col2, undo_stack, time) 72 + -- push undo 73 + local text = self:get_text(line1, col1, line2, col2) 74 + - push_undo(undo_stack, time, "selection", unpack(self.selections)) 75 + + push_undo(undo_stack, time, "selection", table.unpack(self.selections)) 76 + push_undo(undo_stack, time, "insert", line1, col1, text) 77 + 78 + -- get line content before/after removed text 79 + diff --git a/data/core/tokenizer.lua b/data/core/tokenizer.lua 80 + index d95baeb..f77fed4 100644 81 + --- a/data/core/tokenizer.lua 82 + +++ b/data/core/tokenizer.lua 83 + @@ -161,7 +161,7 @@ function tokenizer.tokenize(incoming_syntax, text, state) 84 + if count % 2 == 0 then break end 85 + end 86 + until not res[1] or not close or not target[3] 87 + - return unpack(res) 88 + + return table.unpack(res) 89 + end 90 + 91 + while i <= #text do
+4 -17
pkgs/applications/editors/lite-xl/default.nix
··· 1 1 { agg 2 2 , fetchFromGitHub 3 - , fetchpatch 4 3 , Foundation 5 4 , freetype 6 5 , lib ··· 16 15 17 16 stdenv.mkDerivation rec { 18 17 pname = "lite-xl"; 19 - version = "2.0.1"; 18 + version = "2.0.3"; 20 19 21 20 src = fetchFromGitHub { 22 21 owner = "lite-xl"; 23 22 repo = "lite-xl"; 24 23 rev = "v${version}"; 25 - sha256 = "sha256-+RbmT6H/5Ldhv3qOClxMjCSGMudbkGtkjo2SpGqExao="; 24 + sha256 = "sha256-8Hw2zDYynWG/NwxtWgbEVUCzrtRVkOhwtsisURNqUn8="; 26 25 }; 27 26 28 27 patches = [ 29 - # Fixes compatibility with Lua5.2, remove patch when PR merged 30 - # https://github.com/lite-xl/lite-xl/pull/435 31 - (fetchpatch { 32 - name = "0001-replace-unpack-with-table.unpack.patch"; 33 - url = "https://github.com/lite-xl/lite-xl/commit/30ccde896d1ffe37cbd8990e9b8aaef275e18935.patch"; 34 - sha256 = "sha256-IAe3jIyD3OtZtu1V7MtPR4QzFKvU/aV/nLQ4U9nHyIQ="; 35 - }) 36 - # Lets meson fallback to the system reproc if available. 37 - # remove patch when 2.0.2 is proposed. 38 - (fetchpatch { 39 - name = "0002-use-dependency-fallbacks-use-system-reproc-if-available.patch"; 40 - url = "https://github.com/lite-xl/lite-xl/commit/973acb787aacb0164b2f4ae6fe335d250ba80a7b.patch"; 41 - sha256 = "sha256-GmgATsRlj1FePmw3+AoWEMZIo2eujHYewKQCx583qbU="; 42 - }) 28 + # Fixes compatibility with Lua5.2, remove patch when a new release covers this 29 + ./0001-replace-unpack-with-table-unpack.patch 43 30 ]; 44 31 45 32 nativeBuildInputs = [ meson ninja pkg-config ];
+2 -2
pkgs/applications/editors/netbeans/default.nix
··· 3 3 }: 4 4 5 5 let 6 - version = "12.5"; 6 + version = "12.6"; 7 7 desktopItem = makeDesktopItem { 8 8 name = "netbeans"; 9 9 exec = "netbeans"; ··· 19 19 inherit version; 20 20 src = fetchurl { 21 21 url = "mirror://apache/netbeans/netbeans/${version}/netbeans-${version}-bin.zip"; 22 - sha512 = "3yagspb2clcvd87a9vnpwd64w3afm4kyprqyjccpckysh4php5vhf7dfza3zhs4yzmkikc2pfs7470w54mxz9rcmaixh23h3hlgd1ii"; 22 + hash = "sha512-K0HjEO/yw9h+2+Y5CvxyYG1+kx+KH9NSn+QsKCsvh/rG/ilYLYyy93iZfx+wzwrgEfRtfMpZGtDAxd6nyUSnCA=="; 23 23 }; 24 24 25 25 buildCommand = ''
+9 -5
pkgs/applications/graphics/gimp/plugins/default.nix
··· 170 170 }; 171 171 172 172 texturize = pluginDerivation { 173 - name = "texturize-2.2.2017-07-28"; 173 + pname = "texturize"; 174 + version = "2.2+unstable=2021-12-03"; 174 175 src = fetchFromGitHub { 175 176 owner = "lmanul"; 176 177 repo = "gimp-texturize"; 177 - rev = "de4367f71e40fe6d82387eaee68611a80a87e0e1"; 178 - sha256 = "1zzvbczly7k456c0y6s92a1i8ph4ywmbvdl8i4rcc29l4qd2z8fw"; 178 + rev = "9ceff0d411cda018108e5477320669b8d00d811e"; 179 + sha256 = "haYS0K3oAPlHtHB8phOCX5/gtWq9uiVQhG5ZhAFX0t0="; 179 180 }; 180 - installPhase = "installPlugin src/texturize"; 181 - meta.broken = true; # https://github.com/lmanul/gimp-texturize/issues/1 181 + nativeBuildInputs = with pkgs; [ 182 + meson 183 + ninja 184 + gettext 185 + ]; 182 186 }; 183 187 184 188 waveletSharpen = pluginDerivation {
+27
pkgs/applications/misc/fspy/default.nix
··· 1 + { appimageTools, lib, fetchurl }: 2 + let 3 + pname = "fspy"; 4 + version = "1.0.3"; 5 + name = "${pname}-v${version}"; 6 + 7 + src = fetchurl { 8 + url = "https://github.com/stuffmatic/fSpy/releases/download/v${version}/${pname}-${version}-x86_64.AppImage"; 9 + sha256 = "sha256-L+qsSExuEkzZkjnV/J6rrZ3BXqWQd+IfsN6a3kvQF3A="; 10 + }; 11 + 12 + in appimageTools.wrapType2 { 13 + inherit name src; 14 + 15 + extraInstallCommands = '' 16 + mv $out/bin/${name} $out/bin/${pname} 17 + ''; 18 + 19 + meta = with lib; { 20 + description = "A cross platform app for quick and easy still image camera matching"; 21 + license = licenses.gpl3; 22 + homepage = "https://fspy.io/"; 23 + maintainers = with maintainers; [ polygon ]; 24 + platforms = platforms.linux; 25 + mainProgram = "fspy"; 26 + }; 27 + }
+39
pkgs/applications/misc/mobilecoin-wallet/default.nix
··· 1 + { lib, fetchurl, appimageTools }: 2 + 3 + let 4 + pname = "mobilecoin-wallet"; 5 + version = "1.4.1"; 6 + name = "${pname}-${version}"; 7 + src = fetchurl { 8 + url = "https://github.com/mobilecoinofficial/desktop-wallet/releases/download/v${version}/MobileCoin-Wallet-${version}.AppImage"; 9 + sha256 = "sha256-x5frHgkEz77pqSB6YANRtZmCzaK/RxRzMElLu49lxPk="; 10 + }; 11 + appimageContents = appimageTools.extractType2 { inherit name src; }; 12 + 13 + in appimageTools.wrapType2 { 14 + inherit name src; 15 + 16 + extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ pkgs.libsecret ]; 17 + 18 + extraInstallCommands = '' 19 + mv $out/bin/${name} $out/bin/${pname} 20 + 21 + mkdir -p $out/share/${pname} 22 + cp -a ${appimageContents}/locales $out/share/${pname} 23 + cp -a ${appimageContents}/resources $out/share/${pname} 24 + cp -a ${appimageContents}/usr/share/icons $out/share/ 25 + 26 + install -Dm 644 ${appimageContents}/${pname}.desktop -t $out/share/applications/ 27 + 28 + substituteInPlace $out/share/applications/${pname}.desktop \ 29 + --replace "AppRun" "${pname}" 30 + ''; 31 + 32 + meta = with lib; { 33 + description = "A user-friendly desktop wallet with support for transaction history, encrypted contact book, gift codes, and payments"; 34 + homepage = "https://github.com/mobilecoinofficial/desktop-wallet"; 35 + license = licenses.gpl3Only; 36 + maintainers = with maintainers; [ wolfangaukang ]; 37 + platforms = [ "x86_64-linux" ]; 38 + }; 39 + }
+19 -8
pkgs/applications/misc/remarkable/restream/default.nix
··· 5 5 , ffmpeg-full 6 6 , fetchFromGitHub 7 7 , openssh 8 + , netcat 8 9 , makeWrapper 9 10 }: 10 11 11 12 stdenv.mkDerivation rec { 12 13 pname = "restream"; 13 - version = "1.1"; 14 + version = "1.2.0"; 14 15 15 16 src = fetchFromGitHub { 16 17 owner = "rien"; 17 18 repo = pname; 18 19 rev = version; 19 - sha256 = "18z17chl7r5dg12xmr3f9gbgv97nslm8nijigd03iysaj6dhymp3"; 20 + sha256 = "0vyj0kng8c9inv2rbw1qdr43ic15s5x8fvk9mbw0vpc6g723x99g"; 20 21 }; 21 - 22 - nativeBuildInputs = [ makeWrapper ]; 23 22 24 23 dontConfigure = true; 25 24 dontBuild = true; ··· 33 32 runHook postInstall 34 33 ''; 35 34 36 - postInstall = '' 37 - # `ffmpeg-full` is used here to bring in `ffplay`, which is used to display 38 - # the reMarkable framebuffer 39 - wrapProgram "$out/bin/restream" --suffix PATH ":" "${lib.makeBinPath [ ffmpeg-full lz4 openssh ]}" 35 + postInstall = let 36 + deps = [ 37 + # `ffmpeg-full` is used here to bring in `ffplay`, which is used 38 + # to display the reMarkable framebuffer 39 + ffmpeg-full 40 + lz4 41 + openssh 42 + # Libressl netcat brings in `nc` which used for --uncompressed mode. 43 + netcat 44 + ]; 45 + in '' 46 + # This `sed` command has the same effect as `wrapProgram`, except 47 + # without .restream-wrapped store paths appearing everywhere. 48 + sed -i \ 49 + '2i export PATH=$PATH''${PATH:+':'}${lib.makeBinPath deps}' \ 50 + "$out/bin/restream" 40 51 ''; 41 52 42 53 meta = with lib; {
+4 -4
pkgs/applications/misc/terminal-typeracer/default.nix
··· 10 10 11 11 rustPlatform.buildRustPackage rec { 12 12 pname = "terminal-typeracer"; 13 - version = "2.0.4"; 13 + version = "2.0.8"; 14 14 15 15 src = fetchFromGitLab { 16 16 owner = "ttyperacer"; 17 17 repo = pname; 18 18 rev = "v${version}"; 19 - sha256 = "RjGHY6KN6thxbg9W5FRwaAmUeD+5/WCeMCvzFHqZ+J4="; 19 + sha256 = "Fb2MCQaQaJseXa8Csesz1s5Yel4wcSMxfMeKSW7rlU4="; 20 20 }; 21 21 22 - cargoSha256 = "sha256-A7O/e8PAcW36i8pT71SkWoWDIiMuEhSS9SmASNzNCjk="; 22 + cargoSha256 = "sha256-SAVDSUm2jpDwTfwo4L6MVUKzBxZvCfjn4UNIGUJziSY="; 23 23 24 24 buildInputs = [ openssl sqlite ] ++ lib.optionals stdenv.isDarwin [ libiconv Security ]; 25 25 nativeBuildInputs = [ pkg-config ]; ··· 29 29 homepage = "https://gitlab.com/ttyperacer/terminal-typeracer"; 30 30 license = licenses.gpl3Plus; 31 31 maintainers = with maintainers; [ yoctocell ]; 32 - platforms = platforms.x86_64; 32 + platforms = platforms.unix; 33 33 }; 34 34 }
+2 -2
pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix
··· 4 4 in 5 5 stdenv.mkDerivation rec { 6 6 pname = "rocketchat-desktop"; 7 - version = "3.6.0"; 7 + version = "3.7.0"; 8 8 9 9 src = fetchurl { 10 10 url = "https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/${version}/rocketchat_${version}_amd64.deb"; 11 - sha256 = "1691mzg52hkvkzm4pvmjyc3n04ppxk36rjk7zxh8682ciszz9pl3"; 11 + sha256 = "1z6crwb7svg7iw59gm88d29yknhk84hwcps9f565c3mabjdxzhw2"; 12 12 }; 13 13 14 14 nativeBuildInputs = [
+2 -2
pkgs/applications/networking/sniffers/wireshark/default.nix
··· 10 10 with lib; 11 11 12 12 let 13 - version = "3.4.9"; 13 + version = "3.4.10"; 14 14 variant = if withQt then "qt" else "cli"; 15 15 16 16 in stdenv.mkDerivation { ··· 20 20 21 21 src = fetchurl { 22 22 url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz"; 23 - sha256 = "084nv4fbgpxsf6b6cfi6cinn8l3wsbn0g8lsd7p2aifjkf15wln6"; 23 + sha256 = "sha256-iqfvSkSuYruNtGPPdh4swDuXMF4Od+1b5T+oNykYfO8="; 24 24 }; 25 25 26 26 cmakeFlags = [
+94
pkgs/applications/office/kalendar/default.nix
··· 1 + { lib 2 + , mkDerivation 3 + , fetchFromGitLab 4 + , cmake 5 + , extra-cmake-modules 6 + , makeWrapper 7 + 8 + , qtbase 9 + , qtquickcontrols2 10 + , qtsvg 11 + , qtlocation 12 + , qtdeclarative 13 + 14 + , kirigami2 15 + , kdbusaddons 16 + , ki18n 17 + , kcalendarcore 18 + , kconfigwidgets 19 + , kwindowsystem 20 + , kcoreaddons 21 + , kcontacts 22 + , kitemmodels 23 + , kxmlgui 24 + , knotifications 25 + , kiconthemes 26 + , kservice 27 + , kmime 28 + , kpackage 29 + , eventviews 30 + , calendarsupport 31 + 32 + , akonadi 33 + , akonadi-contacts 34 + , akonadi-calendar-tools 35 + , kdepim-runtime 36 + }: 37 + 38 + mkDerivation rec { 39 + pname = "kalendar"; 40 + version = "0.3.1"; 41 + 42 + src = fetchFromGitLab { 43 + domain = "invent.kde.org"; 44 + owner = "pim"; 45 + repo = pname; 46 + rev = "v${version}"; 47 + sha256 = "sha256-foG8j/MRbDZyzM9KmxEARfWUQXMz8ylQgersE1/gtnQ="; 48 + }; 49 + 50 + nativeBuildInputs = [ 51 + cmake 52 + extra-cmake-modules 53 + makeWrapper 54 + ]; 55 + 56 + buildInputs = [ 57 + qtbase 58 + qtquickcontrols2 59 + qtsvg 60 + qtlocation 61 + qtdeclarative 62 + 63 + kirigami2 64 + kdbusaddons 65 + ki18n 66 + kcalendarcore 67 + kconfigwidgets 68 + kwindowsystem 69 + kcoreaddons 70 + kcontacts 71 + kitemmodels 72 + kxmlgui 73 + knotifications 74 + kiconthemes 75 + kservice 76 + kmime 77 + kpackage 78 + eventviews 79 + calendarsupport 80 + 81 + akonadi-contacts 82 + akonadi-calendar-tools 83 + ]; 84 + 85 + propagatedUserEnvPkgs = [ akonadi kdepim-runtime ]; 86 + 87 + meta = with lib; { 88 + description = "A calendar application using Akonadi to sync with external services (Nextcloud, GMail, ...)"; 89 + homepage = "https://invent.kde.org/pim/kalendar/"; 90 + license = licenses.gpl3Plus; 91 + maintainers = with maintainers; [ chuangzhu ]; 92 + platforms = platforms.linux; 93 + }; 94 + }
+3 -3
pkgs/applications/version-management/git-and-tools/glitter/default.nix
··· 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "glitter"; 5 - version = "1.5.9"; 5 + version = "1.5.10"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "milo123459"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-jznlGPRYzWND5qdopD4iMz1IgduP8hXV4T+IGkSI3Qg="; 11 + sha256 = "sha256-4d1zMCQ4rYU5kL7Qhwibt6+IfKHUjYndHHeX7JT9zwU="; 12 12 }; 13 13 14 - cargoSha256 = "sha256-HAEyb2iVGRxaHQhy3zUgmRiBtXHmyxgmmh1R8wwoBs0="; 14 + cargoSha256 = "sha256-eaSQGbsvAas7CLMtgSNWCqdrYU5Kc/0GY10rkNK05Uo="; 15 15 16 16 # tests require it to be in a git repository 17 17 preCheck = ''
+2 -2
pkgs/applications/version-management/gitea/default.nix
··· 16 16 17 17 buildGoPackage rec { 18 18 pname = "gitea"; 19 - version = "1.15.6"; 19 + version = "1.15.7"; 20 20 21 21 # not fetching directly from the git repo, because that lacks several vendor files for the web UI 22 22 src = fetchurl { 23 23 url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz"; 24 - sha256 = "sha256-FMM/iQAxJcymv4jYBzaBXG0Uy8UxHh9gFWB5gzV9cn0="; 24 + sha256 = "sha256-Ckg8XKCPnyp4a0kXJrqju2jAJvD4tzjomaeJxlFwYzg="; 25 25 }; 26 26 27 27 unpackPhase = ''
+12 -8
pkgs/data/fonts/junicode/default.nix
··· 1 - { lib, fetchzip }: 1 + { lib, fetchFromGitHub }: 2 2 3 3 let 4 4 pname = "junicode"; 5 - version = "1.002"; 6 - in fetchzip { 5 + version = "1.003"; 6 + in 7 + fetchFromGitHub { 7 8 name = "${pname}-${version}"; 8 9 9 - url = "mirror://sourceforge/junicode/junicode/junicode-${version}/junicode-${version}.zip"; 10 + owner = "psb1558"; 11 + repo = "Junicode-font"; 12 + rev = "55d816d91a5e19795d9b66edec478379ee2b9ddb"; 10 13 11 14 postFetch = '' 12 - mkdir -p $out/share/fonts 13 - unzip -j $downloadedFile \*.ttf -d $out/share/fonts/junicode-ttf 15 + local out_ttf=$out/share/fonts/junicode-ttf 16 + mkdir -p $out_ttf 17 + tar -f $downloadedFile -C $out_ttf --wildcards -x '*.ttf' --strip=2 14 18 ''; 15 19 16 - sha256 = "1n170gw41lr0zr5958z5cgpg6i1aa7kj7iq9s6gdh1cqq7hhgd08"; 20 + sha256 = "1v334gljmidh58kmrarz5pf348b0ac7vh25f1xs3gyvn78khh5nw"; 17 21 18 22 meta = { 19 - homepage = "http://junicode.sourceforge.net/"; 23 + homepage = "https://github.com/psb1558/Junicode-font"; 20 24 description = "A Unicode font for medievalists"; 21 25 maintainers = with lib.maintainers; [ ivan-timokhin ]; 22 26 license = lib.licenses.ofl;
+2 -2
pkgs/data/themes/adwaita-qt/default.nix
··· 12 12 13 13 mkDerivation rec { 14 14 pname = "adwaita-qt"; 15 - version = "1.4.0"; 15 + version = "1.4.1"; 16 16 17 17 outputs = [ "out" "dev" ]; 18 18 ··· 20 20 owner = "FedoraQt"; 21 21 repo = pname; 22 22 rev = version; 23 - sha256 = "sha256-KkqLUhS0JMwJsgu8fv5iGozH3Xv+cXumxx5IewZTTPc="; 23 + sha256 = "sha256-t9vv1KcMUg8Qe7lhVMN4GO+VPoT7QzeoQ6hV4fesA8U="; 24 24 }; 25 25 26 26 nativeBuildInputs = [
+48
pkgs/data/themes/material-kwin-decoration/default.nix
··· 1 + { lib 2 + , mkDerivation 3 + , fetchFromGitHub 4 + , cmake 5 + , extra-cmake-modules 6 + , qtx11extras 7 + , kcoreaddons 8 + , kguiaddons 9 + , kconfig 10 + , kdecoration 11 + , kconfigwidgets 12 + , kwindowsystem 13 + , kiconthemes 14 + , kwayland 15 + }: 16 + 17 + mkDerivation rec { 18 + pname = "material-kwin-decoration"; 19 + version = "unstable-20211028"; 20 + 21 + src = fetchFromGitHub { 22 + owner = "Zren"; 23 + repo = "material-decoration"; 24 + rev = "cc5cc399a546b66907629b28c339693423c894c8"; 25 + sha256 = "sha256-aYlnPFhf+ISVe5Ycryu5BSXY8Lb5OoueMqnWQZiv6Lc="; 26 + }; 27 + 28 + nativeBuildInputs = [ cmake extra-cmake-modules ]; 29 + 30 + buildInputs = [ 31 + qtx11extras 32 + kcoreaddons 33 + kguiaddons 34 + kdecoration 35 + kconfig 36 + kconfigwidgets 37 + kwindowsystem 38 + kiconthemes 39 + kwayland 40 + ]; 41 + 42 + meta = with lib; { 43 + description = "Material-ish window decoration theme for KWin"; 44 + homepage = "https://github.com/Zren/material-decoration"; 45 + license = licenses.gpl2; 46 + maintainers = [ maintainers.nickcao ]; 47 + }; 48 + }
+8 -2
pkgs/desktops/pantheon/default.nix
··· 93 93 94 94 elementary-shortcut-overlay = callPackage ./desktop/elementary-shortcut-overlay { }; 95 95 96 - extra-elementary-contracts = callPackage ./desktop/extra-elementary-contracts { 97 - inherit (gnome) file-roller gnome-bluetooth; 96 + file-roller-contract = callPackage ./desktop/file-roller-contract { 97 + inherit (gnome) file-roller; 98 98 }; 99 99 100 100 gala = callPackage ./desktop/gala { 101 101 inherit (gnome) gnome-desktop; 102 + }; 103 + 104 + gnome-bluetooth-contract = callPackage ./desktop/gnome-bluetooth-contract { 105 + inherit (gnome) gnome-bluetooth; 102 106 }; 103 107 104 108 wingpanel = callPackage ./desktop/wingpanel { }; ··· 216 220 cerbere = throw "Cerbere is now obsolete https://github.com/elementary/cerbere/releases/tag/2.5.1."; 217 221 218 222 elementary-screenshot-tool = elementary-screenshot; # added 2021-07-21 223 + 224 + extra-elementary-contracts = throw "extra-elementary-contracts has been removed as all contracts have been upstreamed."; # added 2021-12-01 219 225 220 226 })
-44
pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix
··· 1 - { lib 2 - , stdenv 3 - , substituteAll 4 - , fetchFromGitHub 5 - , file-roller 6 - , gnome-bluetooth 7 - }: 8 - 9 - stdenv.mkDerivation rec { 10 - pname = "extra-elementary-contracts"; 11 - version = "2018-08-21"; 12 - 13 - src = fetchFromGitHub { 14 - owner = "worldofpeace"; 15 - repo = pname; 16 - rev = "a05dfb00695854163805b666185e3e9f31b6eb83"; 17 - sha256 = "0fkaf2w4xg0n9faj74rgzy7gvd3yz112l058b157a3pr39vpci7g"; 18 - }; 19 - 20 - patches = [ 21 - (substituteAll { 22 - src = ./exec-path.patch; 23 - file_roller = file-roller; 24 - gnome_bluetooth = gnome-bluetooth; 25 - }) 26 - ]; 27 - 28 - dontBuild = true; 29 - dontConfigure = true; 30 - 31 - installPhase = '' 32 - mkdir -p $out/share/contractor 33 - 34 - cp *.contract $out/share/contractor/ 35 - ''; 36 - 37 - meta = with lib; { 38 - description = "Extra contractor files for elementary"; 39 - homepage = "https://github.com/worldofpeace/extra-elementary-contracts"; 40 - license = licenses.gpl2; 41 - maintainers = with maintainers; [ worldofpeace ]; 42 - platforms = platforms.linux; 43 - }; 44 - }
+8 -20
pkgs/desktops/pantheon/desktop/extra-elementary-contracts/exec-path.patch pkgs/desktops/pantheon/desktop/file-roller-contract/exec-path.patch
··· 1 - diff --git a/file-roller-compress.contract b/file-roller-compress.contract 2 - index 8de5396..de7e939 100644 3 - --- a/file-roller-compress.contract 4 - +++ b/file-roller-compress.contract 5 - @@ -3,6 +3,6 @@ Name=Compress 1 + diff --git a/io.elementary.contractor.file-roller-compress.contract b/io.elementary.contractor.file-roller-compress.contract 2 + index 11e4da3..d58549f 100644 3 + --- a/io.elementary.contractor.file-roller-compress.contract 4 + +++ b/io.elementary.contractor.file-roller-compress.contract 5 + @@ -3,5 +3,5 @@ Name=Compress 6 6 Icon=add-files-to-archive 7 7 Description=Create a compressed archive with the selected objects 8 8 MimeType=!archive;inode/blockdevice;inode/chardevice;inode/fifo;inode/socket; 9 9 -Exec=file-roller --add %U 10 10 +Exec=@file_roller@/bin/file-roller --add %U 11 11 Gettext-Domain=file-roller 12 - 13 - diff --git a/file-roller-extract-here.contract b/file-roller-extract-here.contract 12 + diff --git a/io.elementary.contractor.file-roller-extract-here.contract b/io.elementary.contractor.file-roller-extract-here.contract 14 13 index 184a6f2..345f4e7 100644 15 - --- a/file-roller-extract-here.contract 16 - +++ b/file-roller-extract-here.contract 14 + --- a/io.elementary.contractor.file-roller-extract-here.contract 15 + +++ b/io.elementary.contractor.file-roller-extract-here.contract 17 16 @@ -3,5 +3,5 @@ Name=Extract Here 18 17 Icon=extract-archive 19 18 Description=Extract the contents of the archives in the archive folder and quit the program ··· 21 20 -Exec=file-roller --extract-here %U 22 21 +Exec=@file_roller@/bin/file-roller --extract-here %U 23 22 Gettext-Domain=file-roller 24 - diff --git a/gnome-bluetooth.contract b/gnome-bluetooth.contract 25 - index 745dbbe..8cc0102 100644 26 - --- a/gnome-bluetooth.contract 27 - +++ b/gnome-bluetooth.contract 28 - @@ -3,5 +3,5 @@ Name=Send files via Bluetooth 29 - Icon=bluetooth 30 - Description=Send files to device... 31 - MimeType=!inode; 32 - -Exec=bluetooth-sendto %F 33 - +Exec=@gnome_bluetooth@/bin/bluetooth-sendto %F 34 - Gettext-Domain=gnome-bluetooth2
+46
pkgs/desktops/pantheon/desktop/file-roller-contract/default.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , substituteAll 5 + , file-roller 6 + }: 7 + 8 + stdenv.mkDerivation rec { 9 + pname = "file-roller-contract"; 10 + version = "unstable-2021-02-23"; 11 + 12 + src = fetchFromGitHub { 13 + owner = "elementary"; 14 + repo = pname; 15 + rev = "cf001d84a7e2ddcfbee2cfdb19885798a869833e"; 16 + sha256 = "sha256-jnXq44NiQiSYsvaBF828TklLg9d6z6n+gCZKgbFiERI="; 17 + }; 18 + 19 + patches = [ 20 + (substituteAll { 21 + src = ./exec-path.patch; 22 + file_roller = file-roller; 23 + }) 24 + ]; 25 + 26 + dontConfigure = true; 27 + 28 + dontBuild = true; 29 + 30 + installPhase = '' 31 + runHook preInstall 32 + 33 + mkdir -p $out/share/contractor 34 + cp *.contract $out/share/contractor/ 35 + 36 + runHook postInstall 37 + ''; 38 + 39 + meta = with lib; { 40 + description = "Contractor extension for File Roller"; 41 + homepage = "https://github.com/elementary/file-roller-contract"; 42 + license = licenses.gpl3Plus; 43 + maintainers = teams.pantheon.members; 44 + platforms = platforms.linux; 45 + }; 46 + }
+46
pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , substituteAll 5 + , gnome-bluetooth 6 + }: 7 + 8 + stdenv.mkDerivation rec { 9 + pname = "gnome-bluetooth-contract"; 10 + version = "unstable-2021-02-23"; 11 + 12 + src = fetchFromGitHub { 13 + owner = "elementary"; 14 + repo = pname; 15 + rev = "8dcd4d03dc7a7d487980fd8bc95af985dc4fff5c"; 16 + sha256 = "sha256-9eX6j/cvN/CoqrHrh9mZEsUJ8viDWIGxIva1xFwIK7c="; 17 + }; 18 + 19 + patches = [ 20 + (substituteAll { 21 + src = ./exec-path.patch; 22 + gnome_bluetooth = gnome-bluetooth; 23 + }) 24 + ]; 25 + 26 + dontConfigure = true; 27 + 28 + dontBuild = true; 29 + 30 + installPhase = '' 31 + runHook preInstall 32 + 33 + mkdir -p $out/share/contractor 34 + cp *.contract $out/share/contractor/ 35 + 36 + runHook postInstall 37 + ''; 38 + 39 + meta = with lib; { 40 + description = "Contractor extension for GNOME Bluetooth"; 41 + homepage = "https://github.com/elementary/gnome-bluetooth-contract"; 42 + license = licenses.gpl3Plus; 43 + maintainers = teams.pantheon.members; 44 + platforms = platforms.linux; 45 + }; 46 + }
+11
pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/exec-path.patch
··· 1 + diff --git a/io.elementary.contracter.gnome-bluetooth.contract b/io.elementary.contracter.gnome-bluetooth.contract 2 + index 3eb2334..ce0e5f5 100644 3 + --- a/io.elementary.contracter.gnome-bluetooth.contract 4 + +++ b/io.elementary.contracter.gnome-bluetooth.contract 5 + @@ -3,5 +3,5 @@ Name=Send Files via Bluetooth 6 + Icon=bluetooth 7 + Description=Send files to device... 8 + MimeType=!inode; 9 + -Exec=bluetooth-sendto %F 10 + +Exec=@gnome_bluetooth@/bin/bluetooth-sendto %F 11 + Gettext-Domain=gnome-bluetooth2
+2 -2
pkgs/development/libraries/intel-media-driver/default.nix
··· 13 13 14 14 stdenv.mkDerivation rec { 15 15 pname = "intel-media-driver"; 16 - version = "21.4.2"; 16 + version = "21.4.3"; 17 17 18 18 outputs = [ "out" "dev" ]; 19 19 ··· 21 21 owner = "intel"; 22 22 repo = "media-driver"; 23 23 rev = "intel-media-${version}"; 24 - sha256 = "0hphpv3n2cdxmbyiwly7v9r0ijdq6hfnw604xz42jqgh9idi6h55"; 24 + sha256 = "04r03f48j1nly0j6aq8017va9m3yrnscv6lbrvf3a98fpwk9gc1l"; 25 25 }; 26 26 27 27 patches = [
+3 -3
pkgs/development/libraries/libdeltachat/default.nix
··· 15 15 16 16 stdenv.mkDerivation rec { 17 17 pname = "libdeltachat"; 18 - version = "1.69.0"; 18 + version = "1.70.0"; 19 19 20 20 src = fetchFromGitHub { 21 21 owner = "deltachat"; 22 22 repo = "deltachat-core-rust"; 23 23 rev = version; 24 - hash = "sha256-yW6MXDb7kiI24akJrEPHeb4bI8jEldBcPYx+5+dwJR0="; 24 + hash = "sha256-702XhFWvFG+g++3X97sy6C5DMNWogv1Xbr8QPR8QyLo="; 25 25 }; 26 26 27 27 patches = [ ··· 33 33 cargoDeps = rustPlatform.fetchCargoTarball { 34 34 inherit src; 35 35 name = "${pname}-${version}"; 36 - hash = "sha256-76TraZCJhppPhkdQfAf1XqOoK7RS+VoYIp2keTn4es4="; 36 + hash = "sha256-MiSGJMXe8vouv4XEHXq274FHEvBMtd7IX6DyNJIWYeU="; 37 37 }; 38 38 39 39 nativeBuildInputs = [
+9 -1
pkgs/development/libraries/liboping/default.nix
··· 1 - { stdenv, fetchurl, ncurses ? null, perl ? null, lib }: 1 + { stdenv, fetchurl, fetchpatch, ncurses ? null, perl ? null, lib }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "liboping"; ··· 13 13 # Add support for ncurses-6.3. A backport of patch pending upstream 14 14 # inclusion: https://github.com/octo/liboping/pull/61 15 15 ./ncurses-6.3.patch 16 + 17 + # Pull pending fix for format arguments mismatch: 18 + # https://github.com/octo/liboping/pull/60 19 + (fetchpatch { 20 + name = "format-args.patch"; 21 + url = "https://github.com/octo/liboping/commit/7a50e33f2a686564aa43e4920141e6f64e042df1.patch"; 22 + sha256 = "118fl3k84m3iqwfp49g5qil4lw1gcznzmyxnfna0h7za2nm50cxw"; 23 + }) 16 24 ]; 17 25 18 26 NIX_CFLAGS_COMPILE = lib.optionalString
+2 -2
pkgs/development/libraries/rdkafka/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "rdkafka"; 5 - version = "1.8.0"; 5 + version = "1.8.2"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "edenhill"; 9 9 repo = "librdkafka"; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-LTO27UQqGHOEOXaw2Aln1i37ZaXIAKK8r7P2WAx8nIQ="; 11 + sha256 = "sha256-YagvXeusHThUo5/1mMs+r+Nr03vAagdnFMkwX3hJsq4="; 12 12 }; 13 13 14 14 nativeBuildInputs = [ pkg-config python3 ];
+2 -2
pkgs/development/python-modules/aiomusiccast/default.nix
··· 8 8 9 9 buildPythonPackage rec { 10 10 pname = "aiomusiccast"; 11 - version = "0.14.0"; 11 + version = "0.14.2"; 12 12 13 13 format = "pyproject"; 14 14 ··· 18 18 owner = "vigonotion"; 19 19 repo = "aiomusiccast"; 20 20 rev = version; 21 - sha256 = "sha256-Zb2wwqKXtXlPvfmDNOlTHho9zHFFJOQxqoeqL//Z69M="; 21 + sha256 = "sha256-5xIz36FgNwcaesmkYp3EWTxCe/8RaUJOJW9dqK+eang="; 22 22 }; 23 23 24 24 nativeBuildInputs = [
+37 -5
pkgs/development/python-modules/django-redis/default.nix
··· 2 2 , fetchFromGitHub 3 3 , pythonOlder 4 4 , buildPythonPackage 5 + 6 + # propagated 5 7 , django 8 + , hiredis 9 + , lz4 10 + , msgpack 6 11 , redis 12 + 13 + # testing 14 + , pkgs 15 + , pytest-django 16 + , pytest-mock 7 17 , pytestCheckHook 8 18 }: 9 19 10 - buildPythonPackage rec { 20 + let 11 21 pname = "django-redis"; 12 - version = "5.0.0"; 22 + version = "5.1.0"; 23 + in 24 + buildPythonPackage { 25 + inherit pname version; 13 26 format = "setuptools"; 14 27 disabled = pythonOlder "3.6"; 15 28 ··· 17 30 owner = "jazzband"; 18 31 repo = "django-redis"; 19 32 rev = version; 20 - sha256 = "1np10hfyg4aamlz7vav9fy80gynb1lhl2drqkbckr3gg1gbz6crj"; 33 + sha256 = "sha256-S94qH2W5e65yzGfPxpwBUKhvvVS0Uc/zSyo66bnvzf4="; 21 34 }; 22 35 23 36 postPatch = '' ··· 26 39 27 40 propagatedBuildInputs = [ 28 41 django 42 + hiredis 43 + lz4 44 + msgpack 29 45 redis 30 46 ]; 31 47 ··· 33 49 "django_redis" 34 50 ]; 35 51 52 + DJANGO_SETTINGS_MODULE = "tests.settings.sqlite"; 53 + 54 + preCheck = '' 55 + ${pkgs.redis}/bin/redis-server & 56 + ''; 57 + 36 58 checkInputs = [ 59 + pytest-django 60 + pytest-mock 37 61 pytestCheckHook 38 62 ]; 39 63 40 - disabledTestPaths = [ 41 - "tests/test_backend.py" # django.core.exceptions.ImproperlyConfigured: Requested setting DJANGO_REDIS_SCAN_ITERSIZE, but settings are not configured. 64 + disabledTests = [ 65 + # ModuleNotFoundError: No module named 'test_cache_options' 66 + "test_custom_key_function" 67 + # ModuleNotFoundError: No module named 'test_client' 68 + "test_delete_pattern_calls_get_client_given_no_client" 69 + "test_delete_pattern_calls_make_pattern" 70 + "test_delete_pattern_calls_scan_iter_with_count_if_itersize_given" 71 + "test_delete_pattern_calls_scan_iter_with_count_if_itersize_given" 72 + "test_delete_pattern_calls_scan_iter" 73 + "test_delete_pattern_calls_delete_for_given_keys" 42 74 ]; 43 75 44 76 meta = with lib; {
+2 -4
pkgs/development/python-modules/ocrmypdf/default.nix
··· 8 8 , importlib-metadata 9 9 , importlib-resources 10 10 , jbig2enc 11 - , leptonica 12 11 , pdfminer 13 12 , pikepdf 14 13 , pillow ··· 30 29 31 30 buildPythonPackage rec { 32 31 pname = "ocrmypdf"; 33 - version = "12.7.2"; 32 + version = "13.0.0"; 34 33 35 34 src = fetchFromGitHub { 36 35 owner = "jbarlow83"; ··· 42 41 extraPostFetch = '' 43 42 rm "$out/.git_archival.txt" 44 43 ''; 45 - sha256 = "sha256-+mh7NgAk7R/94FXjRV+SLy478pZwYLLS8HwCazEbMf4="; 44 + sha256 = "sha256-W5RFCWKDIRrsgHZL8uSOQWvEltLbqYAweZkgIZZrSIo="; 46 45 }; 47 46 48 47 SETUPTOOLS_SCM_PRETEND_VERSION = version; ··· 52 51 src = ./paths.patch; 53 52 gs = "${lib.getBin ghostscript}/bin/gs"; 54 53 jbig2 = "${lib.getBin jbig2enc}/bin/jbig2"; 55 - liblept = "${lib.getLib leptonica}/lib/liblept${stdenv.hostPlatform.extensions.sharedLibrary}"; 56 54 pngquant = "${lib.getBin pngquant}/bin/pngquant"; 57 55 tesseract = "${lib.getBin tesseract4}/bin/tesseract"; 58 56 unpaper = "${lib.getBin unpaper}/bin/unpaper";
+14 -47
pkgs/development/python-modules/ocrmypdf/paths.patch
··· 1 1 diff --git a/src/ocrmypdf/_exec/ghostscript.py b/src/ocrmypdf/_exec/ghostscript.py 2 - index 5c357f1b..f459763a 100644 2 + index 1146cc5f..43f3915c 100644 3 3 --- a/src/ocrmypdf/_exec/ghostscript.py 4 4 +++ b/src/ocrmypdf/_exec/ghostscript.py 5 - @@ -25,28 +25,7 @@ from ocrmypdf.subprocess import get_version, run, run_polling_stderr 6 - 7 - log = logging.getLogger(__name__) 5 + @@ -40,15 +40,7 @@ For details see: 6 + # Most reliable what to get the bitness of Python interpreter, according to Python docs 7 + _is_64bit = sys.maxsize > 2 ** 32 8 8 9 - -missing_gs_error = """ 10 - ---------------------------------------------------------------------- 11 - -This error normally occurs when ocrmypdf find can't Ghostscript. 12 - -Please ensure Ghostscript is installed and its location is added to 13 - -the system PATH environment variable. 14 - - 15 - -For details see: 16 - - https://ocrmypdf.readthedocs.io/en/latest/installation.html 17 - ---------------------------------------------------------------------- 18 - -""" 19 - - 20 9 -_gswin = None 21 10 -if os.name == 'nt': 22 - - _gswin = which('gswin64c') 23 - - if not _gswin: 24 - - _gswin = which('gswin32c') 25 - - if not _gswin: 26 - - raise MissingDependencyError(missing_gs_error) 27 - - _gswin = Path(_gswin).stem 11 + - if _is_64bit: 12 + - _gswin = 'gswin64c' 13 + - else: 14 + - _gswin = 'gswin32c' 28 15 - 29 16 -GS = _gswin if _gswin else 'gs' 30 17 -del _gswin ··· 86 73 '--skip-if-larger', 87 74 '--quality', 88 75 diff --git a/src/ocrmypdf/_exec/tesseract.py b/src/ocrmypdf/_exec/tesseract.py 89 - index 33ead41e..5840f7c1 100644 76 + index a3688f65..61f54465 100644 90 77 --- a/src/ocrmypdf/_exec/tesseract.py 91 78 +++ b/src/ocrmypdf/_exec/tesseract.py 92 - @@ -78,7 +78,7 @@ class TesseractVersion(StrictVersion): 79 + @@ -75,7 +75,7 @@ class TesseractVersion(StrictVersion): 93 80 94 81 95 - def version(): 82 + def version() -> str: 96 83 - return get_version('tesseract', regex=r'tesseract\s(.+)') 97 84 + return get_version('@tesseract@', regex=r'tesseract\s(.+)') 98 85 99 86 100 87 def has_user_words(): 101 - @@ -100,7 +100,7 @@ def get_languages(): 88 + @@ -97,7 +97,7 @@ def get_languages(): 102 89 msg += output 103 90 return msg 104 91 ··· 107 94 try: 108 95 proc = run( 109 96 args_tess, 110 - @@ -122,7 +122,7 @@ def get_languages(): 97 + @@ -119,7 +119,7 @@ def get_languages(): 111 98 112 99 113 100 def tess_base_args(langs: List[str], engine_mode: Optional[int]) -> List[str]: ··· 117 104 args.extend(['-l', '+'.join(langs)]) 118 105 if engine_mode is not None: 119 106 diff --git a/src/ocrmypdf/_exec/unpaper.py b/src/ocrmypdf/_exec/unpaper.py 120 - index 3c3ae72c..d269966a 100644 107 + index aec365c2..cc5cb7e4 100644 121 108 --- a/src/ocrmypdf/_exec/unpaper.py 122 109 +++ b/src/ocrmypdf/_exec/unpaper.py 123 110 @@ -31,7 +31,7 @@ log = logging.getLogger(__name__) ··· 138 125 139 126 with TemporaryDirectory() as tmpdir: 140 127 input_pnm, output_pnm = _setup_unpaper_io(Path(tmpdir), input_file) 141 - diff --git a/src/ocrmypdf/leptonica.py b/src/ocrmypdf/leptonica.py 142 - index e4814f1a..fdaf7ea4 100644 143 - --- a/src/ocrmypdf/leptonica.py 144 - +++ b/src/ocrmypdf/leptonica.py 145 - @@ -33,14 +33,7 @@ from ocrmypdf.lib._leptonica import ffi 146 - 147 - logger = logging.getLogger(__name__) 148 - 149 - -if os.name == 'nt': 150 - - from ocrmypdf.subprocess._windows import shim_env_path 151 - - 152 - - libname = 'liblept-5' 153 - - os.environ['PATH'] = shim_env_path() 154 - -else: 155 - - libname = 'lept' 156 - -_libpath = find_library(libname) 157 - +_libpath = '@liblept@' 158 - if not _libpath: 159 - raise MissingDependencyError( 160 - """
+2 -1
pkgs/development/python-modules/paste/default.nix
··· 2 2 , buildPythonPackage 3 3 , fetchFromGitHub 4 4 , pytestCheckHook 5 + , six 5 6 }: 6 7 7 8 buildPythonPackage rec { ··· 19 20 patchShebangs tests/cgiapp_data/ 20 21 ''; 21 22 22 - # propagatedBuildInputs = [ six ]; 23 + propagatedBuildInputs = [ six ]; 23 24 24 25 checkInputs = [ pytestCheckHook ]; 25 26
+2 -2
pkgs/development/python-modules/pikepdf/default.nix
··· 24 24 25 25 buildPythonPackage rec { 26 26 pname = "pikepdf"; 27 - version = "4.0.2"; 27 + version = "4.1.0"; 28 28 disabled = ! isPy3k; 29 29 30 30 src = fetchFromGitHub { ··· 37 37 extraPostFetch = '' 38 38 rm "$out/.git_archival.txt" 39 39 ''; 40 - sha256 = "sha256-bUf9fef/YQsSj78kwoKl5a3zOjpeKWla9YY0azk0lIQ="; 40 + sha256 = "sha256-8l3IDC2EhoNTImaTTjkBYhwbSBDC3PVLbdgs4txZOKc="; 41 41 }; 42 42 43 43 patches = [
+2 -2
pkgs/development/python-modules/poetry/default.nix
··· 24 24 25 25 buildPythonPackage rec { 26 26 pname = "poetry"; 27 - version = "1.1.11"; 27 + version = "1.1.12"; 28 28 format = "pyproject"; 29 29 disabled = isPy27; 30 30 ··· 32 32 owner = "python-poetry"; 33 33 repo = pname; 34 34 rev = version; 35 - sha256 = "1f3y3gav2snvcf2h9mbkinvnlcyl9kndf6bh6j0vxkxzlmb4zilx"; 35 + sha256 = "1fm4yj6wxr24v7b77gmf63j7xsgszhbhzw2i9fvlfi0p9l0q34pm"; 36 36 }; 37 37 38 38 postPatch = ''
+4
pkgs/development/python-modules/xdot/default.nix
··· 15 15 propagatedBuildInputs = [ gobject-introspection pygobject3 graphviz gtk3 numpy ]; 16 16 checkInputs = [ xvfb-run ]; 17 17 18 + postInstall = '' 19 + wrapProgram "$out/bin/xdot" --prefix PATH : "${lib.makeBinPath [ graphviz ]}" 20 + ''; 21 + 18 22 checkPhase = '' 19 23 xvfb-run -s '-screen 0 800x600x24' ${python3.interpreter} nix_run_setup test 20 24 '';
+2 -2
pkgs/development/python-modules/ytmusicapi/default.nix
··· 7 7 8 8 buildPythonPackage rec { 9 9 pname = "ytmusicapi"; 10 - version = "0.19.4"; 10 + version = "0.19.5"; 11 11 format = "setuptools"; 12 12 13 13 disabled = pythonOlder "3.6"; 14 14 15 15 src = fetchPypi { 16 16 inherit pname version; 17 - sha256 = "sha256-AAGUfa91f9aquPLQZs9kQDbZXrBrxjSBFdWIrxB5D/I="; 17 + sha256 = "sha256-haZe5afwkU8wD8s2lrmHJuVo6TO3CcQ/0TuJbHPmqvU="; 18 18 }; 19 19 20 20 propagatedBuildInputs = [
+13 -5
pkgs/development/tools/fnm/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub, rustPlatform, installShellFiles, Security }: 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , rustPlatform 5 + , installShellFiles 6 + , DiskArbitration 7 + , Foundation 8 + , Security 9 + }: 2 10 3 11 rustPlatform.buildRustPackage rec { 4 12 pname = "fnm"; 5 - version = "1.27.0"; 13 + version = "1.28.1"; 6 14 7 15 src = fetchFromGitHub { 8 16 owner = "Schniz"; 9 17 repo = pname; 10 18 rev = "v${version}"; 11 - sha256 = "sha256-4qnisgWhdAWZda8iy9nkph7//bVKJuUeEDS1GaAx+FQ="; 19 + sha256 = "sha256-EH3M5wg+BfTZLvch4jL7AGWwywoSxo+8marzdUgAitg="; 12 20 }; 13 21 14 22 nativeBuildInputs = [ installShellFiles ]; 15 23 16 - buildInputs = lib.optionals stdenv.isDarwin [ Security ]; 24 + buildInputs = lib.optionals stdenv.isDarwin [ DiskArbitration Foundation Security ]; 17 25 18 - cargoSha256 = "sha256-f3wzuXH2ByXHHOq3zLaMtYm2HJ4BzmZe2e6DQ3V7qVo="; 26 + cargoSha256 = "sha256-Mq1SzAZa05tglcwW6fvT1khVwqA3hRzFjouWLNMWgOk="; 19 27 20 28 doCheck = false; 21 29
+3 -3
pkgs/development/tools/turbogit/default.nix
··· 1 1 { fetchFromGitHub, buildGoModule, lib, installShellFiles, libgit2, pkg-config }: 2 2 buildGoModule rec { 3 3 pname = "turbogit"; 4 - version = "3.0.1"; 4 + version = "3.1.1"; 5 5 6 6 src = fetchFromGitHub { 7 7 owner = "b4nst"; 8 8 repo = pname; 9 9 rev = "v${version}"; 10 - sha256 = "sha256-A1hVpapp6yIpUVnDQ1yLLHiYdLcQlr/JcTOmt5sr3Oo="; 10 + sha256 = "sha256-BHgVJlitRUX/9zYPoK5XfRpzzTZRbLhQVZJcx8KVshk="; 11 11 }; 12 12 13 - vendorSha256 = "sha256-1AEcBq7wiENWQ5HZEEXpIgA6Bf2T28zm/MwYTke/f9s="; 13 + vendorSha256 = "sha256-280OcGXZQJD4G6z0b2WnWAS+v7XVptyf2WnlPjG99/0="; 14 14 15 15 subPackages = [ "." ]; 16 16
+2 -2
pkgs/development/web/insomnia/default.nix
··· 16 16 ]; 17 17 in stdenv.mkDerivation rec { 18 18 pname = "insomnia"; 19 - version = "2021.4.1"; 19 + version = "2021.6.0"; 20 20 21 21 src = fetchurl { 22 22 url = 23 23 "https://github.com/Kong/insomnia/releases/download/core%40${version}/Insomnia.Core-${version}.deb"; 24 - sha256 = "sha256-74du6UQB1LfsnYF9tmx41KJNmlEVVL5H2W+YQR720FY="; 24 + sha256 = "sha256-YvAzO5oxeq7bnYHzKTXqRVjfJXnwrTr0DNrdWS3yrX4="; 25 25 }; 26 26 27 27 nativeBuildInputs =
+7 -6
pkgs/games/eternity-engine/default.nix
··· 1 - { lib, stdenv, cmake, libGL, SDL, SDL_mixer, SDL_net, fetchFromGitHub, makeWrapper }: 1 + { lib, stdenv, cmake, libGL, SDL2, SDL2_mixer, SDL2_net, fetchFromGitHub, makeWrapper }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "eternity-engine"; 5 - version = "3.42.02"; 5 + version = "4.02.00"; 6 6 src = fetchFromGitHub { 7 7 owner = "team-eternity"; 8 8 repo = "eternity"; 9 9 rev = version; 10 - sha256 = "00kpq4k23hjmzjaymw3sdda7mqk8fjq6dzf7fmdal9fm7lfmj41k"; 10 + sha256 = "0dlz7axbiw003bgwk2hl43w8r2bwnxhi042i1xwdiwaja0cpnf5y"; 11 + fetchSubmodules = true; 11 12 }; 12 13 13 14 nativeBuildInputs = [ cmake makeWrapper ]; 14 - buildInputs = [ libGL SDL SDL_mixer SDL_net ]; 15 + buildInputs = [ libGL SDL2 SDL2_mixer SDL2_net ]; 15 16 16 17 installPhase = '' 17 - install -Dm755 source/eternity $out/lib/eternity/eternity 18 + install -Dm755 eternity/eternity $out/lib/eternity/eternity 18 19 cp -r $src/base $out/lib/eternity/base 19 20 mkdir $out/bin 20 21 makeWrapper $out/lib/eternity/eternity $out/bin/eternity 21 22 ''; 22 23 23 24 meta = { 24 - homepage = "http://doomworld.com/eternity"; 25 + homepage = "https://doomworld.com/eternity"; 25 26 description = "New school Doom port by James Haley"; 26 27 license = lib.licenses.gpl3; 27 28 platforms = lib.platforms.linux;
+38
pkgs/games/heroic/default.nix
··· 1 + { lib, fetchurl, appimageTools, python }: 2 + 3 + let 4 + pname = "heroic"; 5 + version = "1.10.3"; 6 + name = "${pname}-${version}"; 7 + src = fetchurl { 8 + url = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/download/v${version}/Heroic-${version}.AppImage"; 9 + sha256 = "sha256-0VQ5rSGGsEAsOLB4H/Hn2w7wCOrCSoVFzCBqNV5NyVE="; 10 + }; 11 + appimageContents = appimageTools.extractType2 { inherit name src; }; 12 + 13 + in appimageTools.wrapType2 { 14 + inherit name src; 15 + 16 + extraInstallCommands = '' 17 + mv $out/bin/${name} $out/bin/${pname} 18 + 19 + mkdir -p $out/share/${pname} 20 + cp -a ${appimageContents}/locales $out/share/${pname} 21 + cp -a ${appimageContents}/resources $out/share/${pname} 22 + 23 + install -m 444 -D ${appimageContents}/heroic.desktop -t $out/share/applications 24 + 25 + cp -a ${appimageContents}/usr/share/icons $out/share/ 26 + 27 + substituteInPlace $out/share/applications/heroic.desktop \ 28 + --replace 'Exec=AppRun' 'Exec=heroic' 29 + ''; 30 + 31 + meta = with lib; { 32 + description = "A Native GUI Epic Games Launcher for Linux, Windows and Mac"; 33 + homepage = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher"; 34 + license = licenses.gpl3Only; 35 + maintainers = with maintainers; [ wolfangaukang ]; 36 + platforms = [ "x86_64-linux" ]; 37 + }; 38 + }
+6 -2
pkgs/games/warzone2100/default.nix
··· 60 60 freetype 61 61 harfbuzz 62 62 sqlite 63 + ] ++ lib.optionals (!stdenv.isDarwin) [ 63 64 vulkan-headers 64 65 vulkan-loader 65 66 ]; ··· 93 94 # 94 95 # Alternatively, we could have set CMAKE_INSTALL_BINDIR to "bin". 95 96 "-DCMAKE_INSTALL_DATAROOTDIR=${placeholder "out"}/share" 96 - ]; 97 + ] ++ lib.optional stdenv.isDarwin "-P../configure_mac.cmake"; 97 98 98 99 postInstall = lib.optionalString withVideos '' 99 100 cp ${sequences_src} $out/share/warzone2100/sequences.wz ··· 115 116 homepage = "http://wz2100.net"; 116 117 license = licenses.gpl2Plus; 117 118 maintainers = with maintainers; [ astsmtl fgaz ]; 118 - platforms = platforms.linux; 119 + platforms = platforms.all; 120 + # configure_mac.cmake tries to download stuff 121 + # https://github.com/Warzone2100/warzone2100/blob/master/macosx/README.md 122 + broken = stdenv.isDarwin; 119 123 }; 120 124 }
+28
pkgs/servers/http/dave/default.nix
··· 1 + { lib, buildGoPackage, fetchFromGitHub, mage }: 2 + 3 + buildGoPackage rec { 4 + pname = "dave"; 5 + version = "0.4.0"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "micromata"; 9 + repo = "dave"; 10 + rev = "v${version}"; 11 + sha256 = "sha256-wvsW4EwMWAgEV+LPeMhHL4AsuyS5TDMmpD9D4F1nVM4="; 12 + }; 13 + 14 + goPackagePath = "github.com/micromata/dave"; 15 + 16 + subPackages = [ "cmd/dave" "cmd/davecli" ]; 17 + 18 + ldflags = 19 + [ "-s" "-w" "-X main.version=${version}" "-X main.builtBy=nixpkgs" ]; 20 + 21 + meta = with lib; { 22 + homepage = "https://github.com/micromata/dave"; 23 + description = 24 + "A totally simple and very easy to configure stand alone webdav server"; 25 + license = licenses.asl20; 26 + maintainers = with maintainers; [ lunik1 ]; 27 + }; 28 + }
+51
pkgs/servers/monitoring/prometheus/smartctl-exporter/0001-Return-the-cached-value-if-it-s-not-time-to-scan-aga.patch
··· 1 + From e81b06df67b1d42ef915615fafa0b56ef956673b Mon Sep 17 00:00:00 2001 2 + From: Andreas Fuchs <asf@boinkor.net> 3 + Date: Thu, 11 Feb 2021 17:30:44 -0500 4 + Subject: [PATCH] Return the cached value if it's not time to scan again yet 5 + 6 + This should ensure that if we have a valid value cached (which ought 7 + to be every time after the first scan), we return it as metrics. 8 + 9 + This fixes the crashes that would happen if queries happened earlier 10 + than the re-scan interval allowed. 11 + 12 + Address review feedback: Shorten the time-to-scan logic 13 + 14 + We can express this in a single if statement, so it takes fewer lines 15 + to do the "should we check again" check. 16 + --- 17 + readjson.go | 11 ++--------- 18 + 1 file changed, 2 insertions(+), 9 deletions(-) 19 + 20 + diff --git a/readjson.go b/readjson.go 21 + index da35448..c9996fd 100644 22 + --- a/readjson.go 23 + +++ b/readjson.go 24 + @@ -78,14 +78,7 @@ func readData(device string) (gjson.Result, error) { 25 + 26 + if _, err := os.Stat(device); err == nil { 27 + cacheValue, cacheOk := jsonCache[device] 28 + - timeToScan := false 29 + - if cacheOk { 30 + - timeToScan = time.Now().After(cacheValue.LastCollect.Add(options.SMARTctl.CollectPeriodDuration)) 31 + - } else { 32 + - timeToScan = true 33 + - } 34 + - 35 + - if timeToScan { 36 + + if !cacheOk || time.Now().After(cacheValue.LastCollect.Add(options.SMARTctl.CollectPeriodDuration)) { 37 + json, ok := readSMARTctl(device) 38 + if ok { 39 + jsonCache[device] = JSONCache{JSON: json, LastCollect: time.Now()} 40 + @@ -93,7 +86,7 @@ func readData(device string) (gjson.Result, error) { 41 + } 42 + return gjson.Parse(DEFAULT_EMPTY_JSON), fmt.Errorf("smartctl returned bad data for device %s", device) 43 + } 44 + - return gjson.Parse(DEFAULT_EMPTY_JSON), fmt.Errorf("Too early collect called for device %s", device) 45 + + return cacheValue.JSON, nil 46 + } 47 + return gjson.Parse(DEFAULT_EMPTY_JSON), fmt.Errorf("Device %s unavialable", device) 48 + } 49 + -- 50 + 2.33.1 51 +
+41
pkgs/servers/monitoring/prometheus/smartctl-exporter/default.nix
··· 1 + { lib 2 + , fetchFromGitHub 3 + , fetchpatch 4 + , buildGoModule 5 + }: 6 + 7 + buildGoModule rec { 8 + pname = "smartctl_exporter"; 9 + version = "unstable-2020-11-14"; 10 + 11 + src = fetchFromGitHub { 12 + owner = "prometheus-community"; 13 + repo = pname; 14 + rev = "e27581d56ad80340fb076d3ce22cef337ed76679"; 15 + sha256 = "sha256-iWaFDjVLBIAA9zGe0utbuvmEdA3R5lge0iCh3j2JfE8="; 16 + }; 17 + 18 + patches = [ 19 + # Fixes out of range panic (https://github.com/prometheus-community/smartctl_exporter/issues/19) 20 + (fetchpatch { 21 + url = "https://github.com/prometheus-community/smartctl_exporter/commit/15575301a8e2fe5802a8c066c6fa9765d50b8cfa.patch"; 22 + sha256 = "sha256-HLUrGXNz3uKpuQBUgQBSw6EGbGl23hQnimTGl64M5bQ="; 23 + }) 24 + # Fix validation on empty smartctl response (https://github.com/prometheus-community/smartctl_exporter/pull/31) 25 + (fetchpatch { 26 + url = "https://github.com/prometheus-community/smartctl_exporter/commit/744b4e5f6a46e029d31d5aa46642e85f429c2cfa.patch"; 27 + sha256 = "sha256-MgLtYR1SpM6XrZQQ3AgQRmNF3OnaBCqXMJRV9BOzKPc="; 28 + }) 29 + # Fixes missing metrics if outside of query interval (https://github.com/prometheus-community/smartctl_exporter/pull/18) 30 + ./0001-Return-the-cached-value-if-it-s-not-time-to-scan-aga.patch 31 + ]; 32 + 33 + vendorSha256 = "1xhrzkfm2p20k7prgdfax4408g4qpa4wbxigmcmfz7kjg2zi88ld"; 34 + 35 + meta = with lib; { 36 + description = "Export smartctl statistics for Prometheus"; 37 + homepage = "https://github.com/prometheus-community/smartctl_exporter"; 38 + license = licenses.lgpl3; 39 + maintainers = with maintainers; [ hexa ]; 40 + }; 41 + }
+49 -12
pkgs/servers/neard/default.nix
··· 1 - { lib, stdenv, fetchurl, autoreconfHook, pkg-config, systemd, glib, dbus, libnl, python3Packages }: 1 + { stdenv 2 + , lib 3 + , fetchurl 4 + , autoreconfHook 5 + , autoconf-archive 6 + , pkg-config 7 + , systemd 8 + , glib 9 + , dbus 10 + , libnl 11 + , python2Packages 12 + }: 2 13 3 14 stdenv.mkDerivation rec { 4 15 pname = "neard"; 5 - version = "0.16"; 16 + version = "0.18"; 17 + 18 + outputs = [ "out" "dev" ]; 6 19 7 20 src = fetchurl { 8 21 url = "https://git.kernel.org/pub/scm/network/nfc/neard.git/snapshot/neard-${version}.tar.gz"; 9 - sha256 = "0bpdmyxvd3z54p95apz4bjb5jp8hbc04sicjapcryjwa8mh6pbil"; 22 + sha256 = "wBPjEVMV4uEdFrXw8cjOmvvNuiaACq2RJF/ZtKXck4s="; 10 23 }; 11 24 12 - nativeBuildInputs = [ autoreconfHook pkg-config python3Packages.wrapPython ]; 13 - buildInputs = [ systemd glib dbus libnl ] ++ (with python3Packages; [ python ]); 14 - pythonPath = with python3Packages; [ pygobject3 dbus-python ]; 25 + nativeBuildInputs = [ 26 + autoreconfHook 27 + autoconf-archive 28 + pkg-config 29 + python2Packages.wrapPython 30 + ]; 31 + 32 + buildInputs = [ 33 + systemd 34 + glib 35 + dbus 36 + libnl 37 + ] ++ (with python2Packages; [ 38 + python 39 + ]); 40 + 41 + pythonPath = with python2Packages; [ 42 + pygobject2 43 + dbus-python 44 + pygtk 45 + ]; 15 46 16 47 strictDeps = true; 17 48 18 - configureFlags = [ "--disable-debug" "--enable-tools" "--enable-ese" "--with-systemdsystemunitdir=$out/lib/systemd/system" ]; 49 + enableParallelBuilding = true; 50 + 51 + configureFlags = [ 52 + "--disable-debug" 53 + "--enable-tools" 54 + "--enable-ese" 55 + "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system" 56 + ]; 19 57 20 58 postInstall = '' 21 59 install -m 0755 tools/snep-send $out/bin/ 22 60 23 - install -D -m644 src/neard.service $out/lib/systemd/system/neard.service 24 61 install -D -m644 src/main.conf $out/etc/neard/main.conf 25 62 26 63 # INFO: the config option "--enable-test" would copy the apps to $out/lib/neard/test/ instead ··· 31 68 32 69 meta = with lib; { 33 70 description = "Near Field Communication manager"; 34 - homepage = "https://01.org/linux-nfc"; 35 - license = licenses.gpl2; 36 - maintainers = with maintainers; [ tstrobel ]; 37 - platforms = platforms.unix; 71 + homepage = "https://01.org/linux-nfc"; 72 + license = licenses.gpl2Only; 73 + maintainers = with maintainers; [ jtojnar tstrobel ]; 74 + platforms = platforms.unix; 38 75 }; 39 76 }
+11 -1
pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
··· 1 - { lib, stdenv, fetchFromGitHub, postgresql, openssl, zlib, readline, libkrb5 }: 1 + { lib, stdenv, fetchFromGitHub, fetchpatch, postgresql, openssl, zlib, readline, libkrb5 }: 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "pg_auto_failover"; ··· 10 10 rev = "v${version}"; 11 11 sha256 = "sha256-hGpcHV4ai9mxaJ/u/o9LNFWPGsW22W7ak2pbvAUgmwU="; 12 12 }; 13 + 14 + patches = [ 15 + # Pull upstream fix for ncurses-6.3 support: 16 + # https://github.com/citusdata/pg_auto_failover/pull/830 17 + (fetchpatch { 18 + name = "ncurses-6.3.patch"; 19 + url = "https://github.com/citusdata/pg_auto_failover/commit/fc92546965437a6d5f82ed9a6bdc8204a3bca725.patch"; 20 + sha256 = "sha256-t4DC/d/2s/Mc44rpFxBMOWGhACG0s5wAWyeDD7Mefo8="; 21 + }) 22 + ]; 13 23 14 24 buildInputs = [ postgresql openssl zlib readline libkrb5 ]; 15 25
+2 -2
pkgs/shells/fish/plugins/fzf-fish.nix
··· 2 2 3 3 buildFishPlugin rec { 4 4 pname = "fzf.fish"; 5 - version = "7.3"; 5 + version = "7.4"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "PatrickF1"; 9 9 repo = "fzf.fish"; 10 10 rev = "v${version}"; 11 - sha256 = "16mdfyznxjhv7x561srl559misn37a35d2q9fspxa7qg1d0sc3x9"; 11 + sha256 = "sha256-dngAKzyD+lmqmxsCSOMViyCgA/+Ve35gLtPS+Lgs8Pc="; 12 12 }; 13 13 14 14 checkInputs = [ fzf fd util-linux ];
+2 -2
pkgs/tools/misc/clickclack/default.nix
··· 6 6 7 7 stdenv.mkDerivation rec { 8 8 pname = "clickclack"; 9 - version = "0.1.1"; 9 + version = "0.2"; 10 10 11 11 src = fetchFromSourcehut { 12 12 owner = "~proycon"; 13 13 repo = "clickclack"; 14 14 rev = version; 15 - sha256 = "1q8r0ng1bld5n82gh7my7ck90f4plf8vf019hm2wz475dl38izd5"; 15 + sha256 = "sha256-hldtHSRdw6yP9lUFna5yvJ3mOTbQbbQNnGM7fMQmmtM="; 16 16 }; 17 17 18 18 buildInputs = [
+18 -36
pkgs/tools/misc/gitlint/default.nix
··· 5 5 , python3 6 6 }: 7 7 8 - let 9 - py = python3.override { 10 - packageOverrides = self: super: { 11 - 12 - click = super.click.overridePythonAttrs (oldAttrs: rec { 13 - version = "8.0.1"; 14 - src = oldAttrs.src.override { 15 - inherit version; 16 - sha256 = "0ymdyf37acq4qxh038q0xx44qgj6y2kf0jd0ivvix6qij88w214c"; 17 - }; 18 - }); 19 - 20 - arrow = super.arrow.overridePythonAttrs (oldAttrs: rec { 21 - version = "1.2.0"; 22 - src = oldAttrs.src.override { 23 - inherit version; 24 - sha256 = "0x70a057dqki2z1ny491ixbg980hg4lihc7g1zmy69g4v6xjkz0n"; 25 - }; 26 - }); 27 - 28 - }; 29 - }; 30 - in 31 - with py.pkgs; 32 - 33 - buildPythonApplication rec { 8 + python3.pkgs.buildPythonApplication rec { 34 9 pname = "gitlint"; 35 - version = "0.16.0"; 10 + version = "0.17.0"; 36 11 37 12 src = fetchFromGitHub { 38 13 owner = "jorisroovers"; 39 14 repo = "gitlint"; 40 15 rev = "v${version}"; 41 - sha256 = "1j6gfgqin5dmqd2qq0vib55d2r07s9sy4hwrvwlichxx5jjwncly"; 16 + sha256 = "sha256-RXBMb43BBiJ23X0eKC1kqgLw8iFKJnP5iejY0AWcUrU="; 42 17 }; 43 18 44 - nativeBuildInputs = [ 45 - wheel 46 - ]; 19 + # Upstream splitted the project into gitlint and gitlint-core to 20 + # simplify the dependency handling 21 + sourceRoot = "source/gitlint-core"; 47 22 48 - propagatedBuildInputs = [ 23 + propagatedBuildInputs = with python3.pkgs; [ 49 24 arrow 50 25 click 51 26 sh 52 27 ]; 53 28 54 - preCheck = '' 55 - export PATH="$out/bin:$PATH" 29 + checkInputs = with python3.pkgs; [ 30 + gitMinimal 31 + pytestCheckHook 32 + ]; 33 + 34 + postPatch = '' 35 + # We don't need gitlint-core 36 + substituteInPlace setup.py \ 37 + --replace "'gitlint-core[trusted-deps]==' + version," "" 56 38 ''; 57 39 58 - checkInputs = [ 59 - gitMinimal 40 + pythonImportsCheck = [ 41 + "gitlint" 60 42 ]; 61 43 62 44 meta = with lib; {
+3 -3
pkgs/tools/misc/steampipe/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "steampipe"; 5 - version = "0.9.1"; 5 + version = "0.10.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "turbot"; 9 9 repo = "steampipe"; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-asAqRCJdy8HmzWzuE9nSvxqo6EVY8tkljzEFAClogrs="; 11 + sha256 = "sha256-Hg9GvHB2eTcOUUC/WLpks9TUWivoV6KxXcWWBWne5Lg="; 12 12 }; 13 13 14 - vendorSha256 = "sha256-3JBCiF1gxGCVn81s7abGvNIAy+eP7orAnSBOXUNImao="; 14 + vendorSha256 = "sha256-akMUJcAoUGHz3FzDJlMUYtHXrtvU0JMiRfqhTm4IEpA="; 15 15 16 16 # tests are failing for no obvious reasons 17 17 doCheck = false;
+3 -3
pkgs/tools/misc/trillian/default.nix
··· 5 5 6 6 buildGoModule rec { 7 7 pname = "trillian"; 8 - version = "1.3.13"; 9 - vendorSha256 = "1ad0vaw0k57njzk9x233iqjbplyvw66qjk8r9j7sx87pdc6a4lpb"; 8 + version = "1.4.0"; 9 + vendorSha256 = "sha256-n5PD3CGgNGrqSYLJS+3joGFNue2fF/tdimC6CtO15yU="; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "google"; 13 13 repo = pname; 14 14 rev = "v${version}"; 15 - sha256 = "1ns394yd4js9g1psd1dkrffidyzixqvjp5lhw2x2iycrxbnm3y44"; 15 + sha256 = "sha256-c7Sii6GMWZOeD46OwdkXU/wt9zY+EyPSnahYPJQKJcA="; 16 16 }; 17 17 18 18 subPackages = [
+3 -10
pkgs/tools/networking/ytcc/default.nix
··· 2 2 3 3 python3Packages.buildPythonApplication rec { 4 4 pname = "ytcc"; 5 - version = "2.5.3"; 5 + version = "2.5.4"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "woefe"; 9 9 repo = "ytcc"; 10 10 rev = "v${version}"; 11 - sha256 = "1skhg8ca2bjjfi02pjsi3w7v3f4xhzg7bqyy0cajxsymzqzqp7lm"; 11 + sha256 = "sha256-nYHfmksZnIZGMSSFDhW7ajvv1F5h3aJo8IXw6yYOEw0="; 12 12 }; 13 13 14 - postPatch = '' 15 - substituteInPlace setup.py --replace "youtube_dl" "yt_dlp" 16 - ''; 17 - 18 14 nativeBuildInputs = [ gettext installShellFiles ]; 19 15 20 16 propagatedBuildInputs = with python3Packages; [ 21 - click 22 - feedparser 23 - lxml 24 - sqlalchemy 25 17 yt-dlp 18 + click 26 19 wcwidth 27 20 ]; 28 21
+2 -2
pkgs/tools/package-management/apk-tools/default.nix
··· 4 4 5 5 stdenv.mkDerivation rec { 6 6 pname = "apk-tools"; 7 - version = "2.12.7"; 7 + version = "2.12.8"; 8 8 9 9 src = fetchFromGitLab { 10 10 domain = "gitlab.alpinelinux.org"; 11 11 owner = "alpine"; 12 12 repo = "apk-tools"; 13 13 rev = "v${version}"; 14 - sha256 = "sha256-sGAsC5HZV5jaaUXgaPDUf4+vDL4zSGldzhykpdZlFS4="; 14 + sha256 = "1bqrvdyqqllzsyx9gdkqmd17wxcmli6ljwxxa8wj9gzg9pqhlhqz"; 15 15 }; 16 16 17 17 nativeBuildInputs = [ pkg-config scdoc ]
+89
pkgs/tools/security/beyond-identity/default.nix
··· 1 + { lib, stdenv, fetchurl, dpkg, buildFHSUserEnv 2 + , glibc, glib, openssl, tpm2-tss 3 + , gtk3, gnome, polkit, polkit_gnome 4 + }: 5 + 6 + let 7 + pname = "beyond-identity"; 8 + version = "2.45.0-0"; 9 + libPath = lib.makeLibraryPath ([ glib glibc openssl tpm2-tss gtk3 gnome.gnome-keyring polkit polkit_gnome ]); 10 + meta = with lib; { 11 + description = "Passwordless MFA identities for workforces, customers, and developers"; 12 + homepage = "https://www.beyondidentity.com"; 13 + downloadPage = "https://app.byndid.com/downloads"; 14 + license = licenses.unfree; 15 + maintainers = with maintainers; [ klden ]; 16 + platforms = [ "x86_64-linux" ]; 17 + }; 18 + 19 + beyond-identity = stdenv.mkDerivation { 20 + inherit pname version meta; 21 + 22 + src = fetchurl { 23 + url = "https://packages.beyondidentity.com/public/linux-authenticator/deb/ubuntu/pool/focal/main/b/be/${pname}_${version}/${pname}_${version}_amd64.deb"; 24 + sha512 = "852689d473b7538cdca60d264295f39972491b5505accad897fd924504189f0a6d8b6481cc0520ee762d4642e0f4fd664a03b5741f9ea513ec46ab16b05158f2"; 25 + }; 26 + 27 + nativeBuildInputs = [ 28 + dpkg 29 + ]; 30 + 31 + unpackPhase = '' 32 + dpkg -x $src . 33 + ''; 34 + 35 + installPhase = '' 36 + mkdir -p $out/opt/beyond-identity 37 + 38 + rm -rf usr/share/doc 39 + 40 + # https://github.com/NixOS/nixpkgs/issues/42117 41 + sed -i -e 's/auth_self/yes/g' usr/share/polkit-1/actions/com.beyondidentity.endpoint.stepup.policy 42 + 43 + cp -ar usr/{bin,share} $out 44 + cp -ar opt/beyond-identity/bin $out/opt/beyond-identity 45 + 46 + ln -s $out/opt/beyond-identity/bin/* $out/bin/ 47 + ''; 48 + 49 + postFixup = '' 50 + substituteInPlace \ 51 + $out/share/applications/com.beyondidentity.endpoint.BeyondIdentity.desktop \ 52 + --replace /usr/bin/ $out/bin/ 53 + substituteInPlace \ 54 + $out/share/applications/com.beyondidentity.endpoint.webserver.BeyondIdentity.desktop \ 55 + --replace /opt/ $out/opt/ 56 + substituteInPlace \ 57 + $out/opt/beyond-identity/bin/byndid-web \ 58 + --replace /opt/ $out/opt/ 59 + substituteInPlace \ 60 + $out/bin/beyond-identity \ 61 + --replace /opt/ $out/opt/ \ 62 + --replace /usr/bin/gtk-launch ${gtk3}/bin/gtk-launch 63 + 64 + patchelf \ 65 + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ 66 + --set-rpath "${libPath}" \ 67 + --force-rpath \ 68 + $out/bin/byndid 69 + ''; 70 + }; 71 + # /usr/bin/pkcheck is hardcoded in binary - we need FHS 72 + in buildFHSUserEnv { 73 + inherit meta; 74 + name = pname; 75 + 76 + targetPkgs = pkgs: [ 77 + beyond-identity 78 + glib glibc openssl tpm2-tss 79 + gtk3 gnome.gnome-keyring 80 + polkit polkit_gnome 81 + ]; 82 + 83 + extraInstallCommands = '' 84 + ln -s ${beyond-identity}/share $out 85 + ''; 86 + 87 + runScript = "beyond-identity"; 88 + } 89 +
+32
pkgs/tools/security/kubeaudit/default.nix
··· 1 + { lib 2 + , buildGoModule 3 + , fetchFromGitHub 4 + }: 5 + 6 + buildGoModule rec { 7 + pname = "kubeaudit"; 8 + version = "0.16.0"; 9 + 10 + src = fetchFromGitHub { 11 + owner = "Shopify"; 12 + repo = pname; 13 + rev = version; 14 + sha256 = "sha256-AIvH9HF0Ha1b+NZiJmiT6beYuKnCqJMXKzDFUzV9J4c="; 15 + }; 16 + 17 + vendorSha256 = "sha256-XrEzkhQU/KPElQNgCX6yWDMQXZSd3lRXmUDJpsj5ACY="; 18 + 19 + postInstall = '' 20 + mv $out/bin/cmd $out/bin/$pname 21 + ''; 22 + 23 + # Tests require a running Kubernetes instance 24 + doCheck = false; 25 + 26 + meta = with lib; { 27 + description = "Audit tool for Kubernetes"; 28 + homepage = "https://github.com/Shopify/kubeaudit"; 29 + license = with licenses; [ mit ]; 30 + maintainers = with maintainers; [ fab ]; 31 + }; 32 + }
+2 -2
pkgs/tools/virtualization/alpine-make-vm-image/default.nix
··· 5 5 6 6 stdenv.mkDerivation rec { 7 7 pname = "alpine-make-vm-image"; 8 - version = "0.7.0"; 8 + version = "0.8.0"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "alpinelinux"; 12 12 repo = "alpine-make-vm-image"; 13 13 rev = "v${version}"; 14 - sha256 = "0cjcwq957nsml06kdnnvgzki84agjfvqw3mpyiix4i4q5by91lcl"; 14 + sha256 = "14rkqlg319h8agiydgknjfv2f7vl6rdj848xfkngvydrf1rr38j6"; 15 15 }; 16 16 17 17 nativeBuildInputs = [ makeWrapper ];
+29
pkgs/tools/wayland/wl-clipboard-x11/default.nix
··· 1 + { lib, stdenv, fetchFromGitHub, wl-clipboard }: 2 + 3 + stdenv.mkDerivation rec { 4 + pname = "wl-clipboard-x11"; 5 + version = "5"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "brunelli"; 9 + repo = pname; 10 + rev = "v${version}"; 11 + hash = "sha256-i+oF1Mu72O5WPTWzqsvo4l2CERWWp4Jq/U0DffPZ8vg="; 12 + }; 13 + 14 + makeFlags = [ "PREFIX=${placeholder "out"}" ]; 15 + 16 + postPatch = '' 17 + substituteInPlace src/wl-clipboard-x11 \ 18 + --replace '$(command -v wl-copy)' ${wl-clipboard}/bin/wl-copy \ 19 + --replace '$(command -v wl-paste)' ${wl-clipboard}/bin/wl-paste 20 + ''; 21 + 22 + meta = with lib; { 23 + description = "A wrapper to use wl-clipboard as a drop-in replacement for X11 clipboard tools"; 24 + homepage = "https://github.com/brunelli/wl-clipboard-x11"; 25 + license = licenses.gpl3Plus; 26 + maintainers = with maintainers; [ samuelgrf ]; 27 + mainProgram = "xclip"; 28 + }; 29 + }
+21 -4
pkgs/top-level/all-packages.nix
··· 206 206 207 207 bakelite = callPackage ../tools/backup/bakelite { }; 208 208 209 + beyond-identity = callPackage ../tools/security/beyond-identity {}; 210 + 209 211 breakpad = callPackage ../development/misc/breakpad { }; 210 212 211 213 buf = callPackage ../development/tools/buf { }; ··· 1703 1705 1704 1706 foxdot = with python3Packages; toPythonApplication foxdot; 1705 1707 1708 + fspy = callPackage ../applications/misc/fspy { }; 1709 + 1706 1710 fxlinuxprintutil = callPackage ../tools/misc/fxlinuxprintutil { }; 1707 1711 1708 1712 genann = callPackage ../development/libraries/genann { }; ··· 1842 1846 lsix = callPackage ../tools/graphics/lsix { }; 1843 1847 1844 1848 mdr = callPackage ../tools/misc/mdr { }; 1849 + 1850 + mobilecoin-wallet = callPackage ../applications/misc/mobilecoin-wallet { }; 1845 1851 1846 1852 mpdevil = callPackage ../applications/audio/mpdevil { }; 1847 1853 ··· 2561 2567 2562 2568 wl-clipboard = callPackage ../tools/wayland/wl-clipboard { }; 2563 2569 2570 + wl-clipboard-x11 = callPackage ../tools/wayland/wl-clipboard-x11 { }; 2571 + 2564 2572 wl-mirror = callPackage ../tools/wayland/wl-mirror { }; 2565 2573 2566 2574 wlogout = callPackage ../tools/wayland/wlogout { }; ··· 2675 2683 dateutils = callPackage ../tools/misc/dateutils { }; 2676 2684 2677 2685 datovka = libsForQt5.callPackage ../applications/networking/datovka { }; 2686 + 2687 + dave = callPackage ../servers/http/dave { }; 2678 2688 2679 2689 dconf = callPackage ../development/libraries/dconf { }; 2680 2690 ··· 3143 3153 heatseeker = callPackage ../tools/misc/heatseeker { }; 3144 3154 3145 3155 hebcal = callPackage ../tools/misc/hebcal {}; 3156 + 3157 + heroic = callPackage ../games/heroic {}; 3146 3158 3147 3159 hexio = callPackage ../development/tools/hexio { }; 3148 3160 ··· 11644 11656 flutter = flutterPackages.stable; 11645 11657 11646 11658 fnm = callPackage ../development/tools/fnm { 11647 - inherit (darwin.apple_sdk.frameworks) Security; 11659 + inherit (darwin.apple_sdk.frameworks) DiskArbitration Foundation Security; 11648 11660 }; 11649 11661 11650 11662 fnlfmt = callPackage ../development/tools/fnlfmt { }; ··· 14787 14799 14788 14800 kube-aws = callPackage ../development/tools/kube-aws { }; 14789 14801 14802 + kubeaudit = callPackage ../tools/security/kubeaudit { }; 14803 + 14790 14804 kubectx = callPackage ../development/tools/kubectx { }; 14791 14805 14792 14806 kube-prompt = callPackage ../development/tools/kube-prompt { }; ··· 15405 15419 15406 15420 ttyd = callPackage ../servers/ttyd { }; 15407 15421 15408 - turbogit = callPackage ../development/tools/turbogit { 15409 - libgit2 = libgit2_1_1; # git2go only supports v1.1.x 15410 - }; 15422 + turbogit = callPackage ../development/tools/turbogit { }; 15411 15423 15412 15424 tweak = callPackage ../applications/editors/tweak { }; 15413 15425 ··· 21407 21419 prometheus-rabbitmq-exporter = callPackage ../servers/monitoring/prometheus/rabbitmq-exporter.nix { }; 21408 21420 prometheus-rtl_433-exporter = callPackage ../servers/monitoring/prometheus/rtl_433-exporter.nix { }; 21409 21421 prometheus-script-exporter = callPackage ../servers/monitoring/prometheus/script-exporter.nix { }; 21422 + prometheus-smartctl-exporter = callPackage ../servers/monitoring/prometheus/smartctl-exporter { }; 21410 21423 prometheus-smokeping-prober = callPackage ../servers/monitoring/prometheus/smokeping-prober.nix { }; 21411 21424 prometheus-snmp-exporter = callPackage ../servers/monitoring/prometheus/snmp-exporter.nix { }; 21412 21425 prometheus-statsd-exporter = callPackage ../servers/monitoring/prometheus/statsd-exporter.nix { }; ··· 23405 23418 23406 23419 material-icons = callPackage ../data/fonts/material-icons { }; 23407 23420 23421 + material-kwin-decoration = libsForQt5.callPackage ../data/themes/material-kwin-decoration { }; 23422 + 23408 23423 meslo-lg = callPackage ../data/fonts/meslo-lg {}; 23409 23424 23410 23425 meslo-lgs-nf = callPackage ../data/fonts/meslo-lgs-nf {}; ··· 24875 24890 helix = callPackage ../applications/editors/helix { }; 24876 24891 24877 24892 icesl = callPackage ../applications/misc/icesl { }; 24893 + 24894 + kalendar = libsForQt5.callPackage ../applications/office/kalendar { }; 24878 24895 24879 24896 keepassx = callPackage ../applications/misc/keepassx { }; 24880 24897 keepassx2 = callPackage ../applications/misc/keepassx/2.0.nix { };
+3 -1
pkgs/top-level/python-packages.nix
··· 10158 10158 10159 10159 xdis = callPackage ../development/python-modules/xdis { }; 10160 10160 10161 - xdot = callPackage ../development/python-modules/xdot { }; 10161 + xdot = callPackage ../development/python-modules/xdot { 10162 + inherit (pkgs) graphviz; 10163 + }; 10162 10164 10163 10165 xenomapper = callPackage ../applications/science/biology/xenomapper { }; 10164 10166