diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 1a1a9caaa466..628002c591a3 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2092,6 +2092,17 @@ githubId = 12386805; name = "Chua Hou"; }; + chuangzhu = { + name = "Chuang Zhu"; + email = "chuang@melty.land"; + matrix = "@chuangzhu:matrix.org"; + github = "chuangzhu"; + githubId = 31200881; + keys = [{ + longkeyid = "rsa4096/E838CED81CFFD3F9"; + fingerprint = "5D03 A5E6 0754 A3E3 CA57 5037 E838 CED8 1CFF D3F9"; + }]; + }; chvp = { email = "nixpkgs@cvpetegem.be"; matrix = "@charlotte:vanpetegem.me"; @@ -6207,6 +6218,12 @@ email = "tierpluspluslists@gmail.com"; name = "Karn Kallio"; }; + klden = { + name = "Kenzyme Le"; + email = "kl@kenzymele.com"; + github = "klDen"; + githubId = 5478260; + }; klntsky = { email = "klntsky@gmail.com"; name = "Vladimir Kalnitsky"; @@ -8484,6 +8501,12 @@ githubId = 7588406; name = "Andrew R. M."; }; + nkalupahana = { + email = "hello@nisa.la"; + github = "nkalupahana"; + githubId = 7347290; + name = "Nisala Kalupahana"; + }; nloomans = { email = "noah@nixos.noahloomans.com"; github = "nloomans"; 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 96cb5187889f..6b706e4aeaa1 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 @@ -524,6 +524,15 @@ services.ananicy. + + + smartctl_exporter, + a Prometheus exporter for + S.M.A.R.T. + data. Available as + services.prometheus.exporters.smartctl. + +
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md index 584bde952a2a..48adc4ad33cb 100644 --- a/nixos/doc/manual/release-notes/rl-2111.section.md +++ b/nixos/doc/manual/release-notes/rl-2111.section.md @@ -147,6 +147,8 @@ In addition to numerous new and upgraded packages, this release has the followin - 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). +- [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). + ## Backward Incompatibilities {#sec-release-21.11-incompatibilities} - 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. diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix index b2147c1bbfc9..220c571b927e 100644 --- a/nixos/modules/services/backup/borgbackup.nix +++ b/nixos/modules/services/backup/borgbackup.nix @@ -152,7 +152,6 @@ let serviceConfig = { # The service's only task is to ensure that the specified path exists Type = "oneshot"; - WorkingDirectory = cfg.path; }; wantedBy = [ "multi-user.target" ]; }; diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix index 62e90232e114..d29d50706ef6 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters.nix @@ -61,6 +61,7 @@ let "rtl_433" "script" "snmp" + "smartctl" "smokeping" "sql" "surfboard" diff --git a/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix b/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix new file mode 100644 index 000000000000..b6416b93e69c --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix @@ -0,0 +1,64 @@ +{ config, lib, pkgs, options }: + +with lib; + +let + cfg = config.services.prometheus.exporters.smartctl; + format = pkgs.formats.yaml {}; + configFile = format.generate "smartctl-exporter.yml" { + smartctl_exporter = { + bind_to = "${cfg.listenAddress}:${toString cfg.port}"; + url_path = "/metrics"; + smartctl_location = "${pkgs.smartmontools}/bin/smartctl"; + collect_not_more_than_period = cfg.maxInterval; + devices = cfg.devices; + }; + }; +in { + port = 9633; + + extraOpts = { + devices = mkOption { + type = types.listOf types.str; + default = []; + example = literalExpression '' + [ "/dev/sda", "/dev/nvme0n1" ]; + ''; + description = '' + Paths to disks that will be monitored. + ''; + }; + maxInterval = mkOption { + type = types.str; + default = "60s"; + example = "2m"; + description = '' + Interval that limits how often a disk can be queried. + ''; + }; + }; + + serviceOpts = { + serviceConfig = { + AmbientCapabilities = [ + "CAP_SYS_ADMIN" + ]; + CapabilityBoundingSet = [ + "CAP_SYS_ADMIN" + ]; + DevicePolicy = "closed"; + DeviceAllow = lib.mkForce cfg.devices; + ExecStart = '' + ${pkgs.prometheus-smartctl-exporter}/bin/smartctl_exporter -config ${configFile} + ''; + PrivateDevices = lib.mkForce false; + ProtectProc = "invisible"; + ProcSubset = "pid"; + SupplementaryGroups = [ "disk" ]; + SystemCallFilter = [ + "@system-service" + "~@privileged @resources" + ]; + }; + }; +} diff --git a/nixos/modules/services/networking/ddclient.nix b/nixos/modules/services/networking/ddclient.nix index 8a2c0fc7080c..021b28d5c34f 100644 --- a/nixos/modules/services/networking/ddclient.nix +++ b/nixos/modules/services/networking/ddclient.nix @@ -29,7 +29,7 @@ let configFile = if (cfg.configFile != null) then cfg.configFile else configFile'; preStart = '' - install ${configFile} /run/${RuntimeDirectory}/ddclient.conf + install --mode=0400 ${configFile} /run/${RuntimeDirectory}/ddclient.conf ${lib.optionalString (cfg.configFile == null) (if (cfg.passwordFile != null) then '' password=$(printf "%q" "$(head -n 1 "${cfg.passwordFile}")") sed -i "s|^password=$|password=$password|" /run/${RuntimeDirectory}/ddclient.conf diff --git a/nixos/modules/services/networking/knot.nix b/nixos/modules/services/networking/knot.nix index 67eadbd76702..a58a03997b3b 100644 --- a/nixos/modules/services/networking/knot.nix +++ b/nixos/modules/services/networking/knot.nix @@ -80,13 +80,13 @@ in { }; config = mkIf config.services.knot.enable { + users.groups.knot = {}; users.users.knot = { isSystemUser = true; group = "knot"; description = "Knot daemon user"; }; - users.groups.knot.gid = null; systemd.services.knot = { unitConfig.Documentation = "man:knotd(8) man:knot.conf(5) man:knotc(8) https://www.knot-dns.cz/docs/${cfg.package.version}/html/"; description = cfg.package.meta.description; @@ -98,17 +98,52 @@ in { Type = "notify"; ExecStart = "${cfg.package}/bin/knotd --config=${configFile} --socket=${socketFile} ${concatStringsSep " " cfg.extraArgs}"; ExecReload = "${knot-cli-wrappers}/bin/knotc reload"; - CapabilityBoundingSet = "CAP_NET_BIND_SERVICE CAP_SETPCAP"; - AmbientCapabilities = "CAP_NET_BIND_SERVICE CAP_SETPCAP"; - NoNewPrivileges = true; User = "knot"; + Group = "knot"; + + AmbientCapabilities = [ + "CAP_NET_BIND_SERVICE" + ]; + CapabilityBoundingSet = [ + "CAP_NET_BIND_SERVICE" + ]; + DeviceAllow = ""; + DevicePolicy = "closed"; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateTmp = true; + PrivateUsers = false; # breaks capability passing + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "strict"; + RemoveIPC = true; + Restart = "on-abort"; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; + RestrictNamespaces = true; + RestrictRealtime =true; + RestrictSUIDSGID = true; RuntimeDirectory = "knot"; StateDirectory = "knot"; StateDirectoryMode = "0700"; - PrivateDevices = true; - RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6"; SystemCallArchitectures = "native"; - Restart = "on-abort"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + ]; + UMask = "0077"; }; }; diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 5a41f96497f2..3296b7220485 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -296,9 +296,10 @@ in }) (mkIf serviceCfg.contractor.enable { - environment.systemPackages = with pkgs.pantheon; [ + environment.systemPackages = with pkgs.pantheon; [ contractor - extra-elementary-contracts + file-roller-contract + gnome-bluetooth-contract ]; environment.pathsToLink = [ diff --git a/nixos/tests/knot.nix b/nixos/tests/knot.nix index 22279292f77f..203fd03fac26 100644 --- a/nixos/tests/knot.nix +++ b/nixos/tests/knot.nix @@ -45,6 +45,10 @@ in { nodes = { master = { lib, ... }: { imports = [ common ]; + + # trigger sched_setaffinity syscall + virtualisation.cores = 2; + networking.interfaces.eth1 = { ipv4.addresses = lib.mkForce [ { address = "192.168.0.1"; prefixLength = 24; } @@ -206,5 +210,7 @@ in { test(host, "RRSIG", "www.example.com", r"RR set signature is") test(host, "DNSKEY", "example.com", r"DNSSEC key is") + + master.log(master.succeed("systemd-analyze security knot.service | grep -v '✓'")) ''; }) diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix index 80052a40c3f8..62deb3864951 100644 --- a/nixos/tests/prometheus-exporters.nix +++ b/nixos/tests/prometheus-exporters.nix @@ -1018,6 +1018,25 @@ let ''; }; + smartctl = { + exporterConfig = { + enable = true; + devices = [ + "/dev/vda" + ]; + }; + exporterTest = '' + wait_for_unit("prometheus-smartctl-exporter.service") + wait_for_open_port("9633") + wait_until_succeeds( + "curl -sSf 'localhost:9633/metrics'" + ) + wait_until_succeeds( + 'journalctl -eu prometheus-smartctl-exporter.service -o cat | grep "/dev/vda: Unable to detect device type"' + ) + ''; + }; + smokeping = { exporterConfig = { enable = true; diff --git a/pkgs/applications/audio/ocenaudio/default.nix b/pkgs/applications/audio/ocenaudio/default.nix index 7ad1e319bffe..c849b94e48c5 100644 --- a/pkgs/applications/audio/ocenaudio/default.nix +++ b/pkgs/applications/audio/ocenaudio/default.nix @@ -11,11 +11,11 @@ stdenv.mkDerivation rec { pname = "ocenaudio"; - version = "3.10.6"; + version = "3.11.0"; src = fetchurl { url = "https://www.ocenaudio.com/downloads/index.php/ocenaudio_debian9_64.deb?version=${version}"; - sha256 = "0fgvm1xw2kgrqj3w6slpfxbb3pw9k8i0dz16q9d5d8gyyvr2mh8g"; + sha256 = "1yflpyl0d1mi0zxdyrlbg0px95s2c945ahy0agc8rha01ccf7jwy"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/editors/netbeans/default.nix b/pkgs/applications/editors/netbeans/default.nix index ae538575367d..0c40f83b67fa 100644 --- a/pkgs/applications/editors/netbeans/default.nix +++ b/pkgs/applications/editors/netbeans/default.nix @@ -3,7 +3,7 @@ }: let - version = "12.5"; + version = "12.6"; desktopItem = makeDesktopItem { name = "netbeans"; exec = "netbeans"; @@ -19,7 +19,7 @@ stdenv.mkDerivation { inherit version; src = fetchurl { url = "mirror://apache/netbeans/netbeans/${version}/netbeans-${version}-bin.zip"; - sha512 = "3yagspb2clcvd87a9vnpwd64w3afm4kyprqyjccpckysh4php5vhf7dfza3zhs4yzmkikc2pfs7470w54mxz9rcmaixh23h3hlgd1ii"; + hash = "sha512-K0HjEO/yw9h+2+Y5CvxyYG1+kx+KH9NSn+QsKCsvh/rG/ilYLYyy93iZfx+wzwrgEfRtfMpZGtDAxd6nyUSnCA=="; }; buildCommand = '' diff --git a/pkgs/applications/gis/qmapshack/default.nix b/pkgs/applications/gis/qmapshack/default.nix index dd440dfffdac..b22a8d408deb 100644 --- a/pkgs/applications/gis/qmapshack/default.nix +++ b/pkgs/applications/gis/qmapshack/default.nix @@ -3,13 +3,13 @@ mkDerivation rec { pname = "qmapshack"; - version = "1.16.0"; + version = "1.16.1"; src = fetchFromGitHub { owner = "Maproom"; repo = pname; rev = "V_${version}"; - sha256 = "1yzgkdjxwyg8ggbxyjwr0zjrx99ckrbz2p2524iii9i7qqn8wfsx"; + sha256 = "sha256-2otvRKtFb51PLrIh/Hxltp69n5nyR63HGGvk73TFjqA="; }; patches = [ diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix index 17d87b60fece..fe1afe5b07b6 100644 --- a/pkgs/applications/graphics/gimp/plugins/default.nix +++ b/pkgs/applications/graphics/gimp/plugins/default.nix @@ -170,15 +170,19 @@ in }; texturize = pluginDerivation { - name = "texturize-2.2.2017-07-28"; + pname = "texturize"; + version = "2.2+unstable=2021-12-03"; src = fetchFromGitHub { owner = "lmanul"; repo = "gimp-texturize"; - rev = "de4367f71e40fe6d82387eaee68611a80a87e0e1"; - sha256 = "1zzvbczly7k456c0y6s92a1i8ph4ywmbvdl8i4rcc29l4qd2z8fw"; + rev = "9ceff0d411cda018108e5477320669b8d00d811e"; + sha256 = "haYS0K3oAPlHtHB8phOCX5/gtWq9uiVQhG5ZhAFX0t0="; }; - installPhase = "installPlugin src/texturize"; - meta.broken = true; # https://github.com/lmanul/gimp-texturize/issues/1 + nativeBuildInputs = with pkgs; [ + meson + ninja + gettext + ]; }; waveletSharpen = pluginDerivation { diff --git a/pkgs/applications/misc/fspy/default.nix b/pkgs/applications/misc/fspy/default.nix new file mode 100644 index 000000000000..4baf053d713f --- /dev/null +++ b/pkgs/applications/misc/fspy/default.nix @@ -0,0 +1,27 @@ +{ appimageTools, lib, fetchurl }: +let + pname = "fspy"; + version = "1.0.3"; + name = "${pname}-v${version}"; + + src = fetchurl { + url = "https://github.com/stuffmatic/fSpy/releases/download/v${version}/${pname}-${version}-x86_64.AppImage"; + sha256 = "sha256-L+qsSExuEkzZkjnV/J6rrZ3BXqWQd+IfsN6a3kvQF3A="; + }; + +in appimageTools.wrapType2 { + inherit name src; + + extraInstallCommands = '' + mv $out/bin/${name} $out/bin/${pname} + ''; + + meta = with lib; { + description = "A cross platform app for quick and easy still image camera matching"; + license = licenses.gpl3; + homepage = "https://fspy.io/"; + maintainers = with maintainers; [ polygon ]; + platforms = platforms.linux; + mainProgram = "fspy"; + }; +} diff --git a/pkgs/applications/misc/mobilecoin-wallet/default.nix b/pkgs/applications/misc/mobilecoin-wallet/default.nix new file mode 100644 index 000000000000..0ef26eea45a3 --- /dev/null +++ b/pkgs/applications/misc/mobilecoin-wallet/default.nix @@ -0,0 +1,39 @@ +{ lib, fetchurl, appimageTools }: + +let + pname = "mobilecoin-wallet"; + version = "1.4.1"; + name = "${pname}-${version}"; + src = fetchurl { + url = "https://github.com/mobilecoinofficial/desktop-wallet/releases/download/v${version}/MobileCoin-Wallet-${version}.AppImage"; + sha256 = "sha256-x5frHgkEz77pqSB6YANRtZmCzaK/RxRzMElLu49lxPk="; + }; + appimageContents = appimageTools.extractType2 { inherit name src; }; + +in appimageTools.wrapType2 { + inherit name src; + + extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ pkgs.libsecret ]; + + extraInstallCommands = '' + mv $out/bin/${name} $out/bin/${pname} + + mkdir -p $out/share/${pname} + cp -a ${appimageContents}/locales $out/share/${pname} + cp -a ${appimageContents}/resources $out/share/${pname} + cp -a ${appimageContents}/usr/share/icons $out/share/ + + install -Dm 644 ${appimageContents}/${pname}.desktop -t $out/share/applications/ + + substituteInPlace $out/share/applications/${pname}.desktop \ + --replace "AppRun" "${pname}" + ''; + + meta = with lib; { + description = "A user-friendly desktop wallet with support for transaction history, encrypted contact book, gift codes, and payments"; + homepage = "https://github.com/mobilecoinofficial/desktop-wallet"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ wolfangaukang ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/misc/remarkable/restream/default.nix b/pkgs/applications/misc/remarkable/restream/default.nix index f2ce2bd441c2..c383baaaa9e2 100644 --- a/pkgs/applications/misc/remarkable/restream/default.nix +++ b/pkgs/applications/misc/remarkable/restream/default.nix @@ -5,22 +5,21 @@ , ffmpeg-full , fetchFromGitHub , openssh +, netcat , makeWrapper }: stdenv.mkDerivation rec { pname = "restream"; - version = "1.1"; + version = "1.2.0"; src = fetchFromGitHub { owner = "rien"; repo = pname; rev = version; - sha256 = "18z17chl7r5dg12xmr3f9gbgv97nslm8nijigd03iysaj6dhymp3"; + sha256 = "0vyj0kng8c9inv2rbw1qdr43ic15s5x8fvk9mbw0vpc6g723x99g"; }; - nativeBuildInputs = [ makeWrapper ]; - dontConfigure = true; dontBuild = true; @@ -33,10 +32,22 @@ stdenv.mkDerivation rec { runHook postInstall ''; - postInstall = '' - # `ffmpeg-full` is used here to bring in `ffplay`, which is used to display - # the reMarkable framebuffer - wrapProgram "$out/bin/restream" --suffix PATH ":" "${lib.makeBinPath [ ffmpeg-full lz4 openssh ]}" + postInstall = let + deps = [ + # `ffmpeg-full` is used here to bring in `ffplay`, which is used + # to display the reMarkable framebuffer + ffmpeg-full + lz4 + openssh + # Libressl netcat brings in `nc` which used for --uncompressed mode. + netcat + ]; + in '' + # This `sed` command has the same effect as `wrapProgram`, except + # without .restream-wrapped store paths appearing everywhere. + sed -i \ + '2i export PATH=$PATH''${PATH:+':'}${lib.makeBinPath deps}' \ + "$out/bin/restream" ''; meta = with lib; { diff --git a/pkgs/applications/misc/terminal-typeracer/default.nix b/pkgs/applications/misc/terminal-typeracer/default.nix index 48ae142c1aef..c6a700753f3a 100644 --- a/pkgs/applications/misc/terminal-typeracer/default.nix +++ b/pkgs/applications/misc/terminal-typeracer/default.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage rec { pname = "terminal-typeracer"; - version = "2.0.4"; + version = "2.0.8"; src = fetchFromGitLab { owner = "ttyperacer"; repo = pname; rev = "v${version}"; - sha256 = "RjGHY6KN6thxbg9W5FRwaAmUeD+5/WCeMCvzFHqZ+J4="; + sha256 = "Fb2MCQaQaJseXa8Csesz1s5Yel4wcSMxfMeKSW7rlU4="; }; - cargoSha256 = "sha256-A7O/e8PAcW36i8pT71SkWoWDIiMuEhSS9SmASNzNCjk="; + cargoSha256 = "sha256-SAVDSUm2jpDwTfwo4L6MVUKzBxZvCfjn4UNIGUJziSY="; buildInputs = [ openssl sqlite ] ++ lib.optionals stdenv.isDarwin [ libiconv Security ]; nativeBuildInputs = [ pkg-config ]; @@ -29,6 +29,6 @@ rustPlatform.buildRustPackage rec { homepage = "https://gitlab.com/ttyperacer/terminal-typeracer"; license = licenses.gpl3Plus; maintainers = with maintainers; [ yoctocell ]; - platforms = platforms.x86_64; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix b/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix index 73886d1cc52a..d96f113943b6 100644 --- a/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/rocketchat-desktop/default.nix @@ -4,11 +4,11 @@ let in stdenv.mkDerivation rec { pname = "rocketchat-desktop"; - version = "3.6.0"; + version = "3.7.0"; src = fetchurl { url = "https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/${version}/rocketchat_${version}_amd64.deb"; - sha256 = "1691mzg52hkvkzm4pvmjyc3n04ppxk36rjk7zxh8682ciszz9pl3"; + sha256 = "1z6crwb7svg7iw59gm88d29yknhk84hwcps9f565c3mabjdxzhw2"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/irc/senpai/default.nix b/pkgs/applications/networking/irc/senpai/default.nix index 81a984c84cd9..bd660660e462 100644 --- a/pkgs/applications/networking/irc/senpai/default.nix +++ b/pkgs/applications/networking/irc/senpai/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "senpai"; - version = "unstable-2021-05-27"; + version = "unstable-2021-11-29"; src = fetchFromSourcehut { owner = "~taiite"; repo = "senpai"; - rev = "6be718329175c6d11e359f1a366ab6ab22b101d2"; - sha256 = "sha256-hW6DHJlDBYEqK8zj5PvGKU54sbeXjx1tdqwKXPXlKHc="; + rev = "3904c9190d94f273c0ae9937d3161b9fe4adf856"; + sha256 = "sha256-4ZhJuAxcoGjRO5xVqzlmaUvipnyiFMuJ1A3n8vlhYxU="; }; - vendorSha256 = "sha256-OLi5y1hrYK6+l5WB1SX85QU4y3KjFyGaEzgbE6lnW2k="; + vendorSha256 = "sha256-xkJh7k8GZmoZqE0HgbFp2xMJQOVDkPEXOZEl6bJZz1A="; subPackages = [ "cmd/senpai" diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index 7c9eda762603..c5dc39c69d70 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -10,7 +10,7 @@ assert withQt -> qt5 != null; with lib; let - version = "3.4.9"; + version = "3.4.10"; variant = if withQt then "qt" else "cli"; in stdenv.mkDerivation { @@ -20,7 +20,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz"; - sha256 = "084nv4fbgpxsf6b6cfi6cinn8l3wsbn0g8lsd7p2aifjkf15wln6"; + sha256 = "sha256-iqfvSkSuYruNtGPPdh4swDuXMF4Od+1b5T+oNykYfO8="; }; cmakeFlags = [ diff --git a/pkgs/applications/office/kalendar/default.nix b/pkgs/applications/office/kalendar/default.nix new file mode 100644 index 000000000000..b941553cba3a --- /dev/null +++ b/pkgs/applications/office/kalendar/default.nix @@ -0,0 +1,94 @@ +{ lib +, mkDerivation +, fetchFromGitLab +, cmake +, extra-cmake-modules +, makeWrapper + +, qtbase +, qtquickcontrols2 +, qtsvg +, qtlocation +, qtdeclarative + +, kirigami2 +, kdbusaddons +, ki18n +, kcalendarcore +, kconfigwidgets +, kwindowsystem +, kcoreaddons +, kcontacts +, kitemmodels +, kxmlgui +, knotifications +, kiconthemes +, kservice +, kmime +, kpackage +, eventviews +, calendarsupport + +, akonadi +, akonadi-contacts +, akonadi-calendar-tools +, kdepim-runtime +}: + +mkDerivation rec { + pname = "kalendar"; + version = "0.3.1"; + + src = fetchFromGitLab { + domain = "invent.kde.org"; + owner = "pim"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-foG8j/MRbDZyzM9KmxEARfWUQXMz8ylQgersE1/gtnQ="; + }; + + nativeBuildInputs = [ + cmake + extra-cmake-modules + makeWrapper + ]; + + buildInputs = [ + qtbase + qtquickcontrols2 + qtsvg + qtlocation + qtdeclarative + + kirigami2 + kdbusaddons + ki18n + kcalendarcore + kconfigwidgets + kwindowsystem + kcoreaddons + kcontacts + kitemmodels + kxmlgui + knotifications + kiconthemes + kservice + kmime + kpackage + eventviews + calendarsupport + + akonadi-contacts + akonadi-calendar-tools + ]; + + propagatedUserEnvPkgs = [ akonadi kdepim-runtime ]; + + meta = with lib; { + description = "A calendar application using Akonadi to sync with external services (Nextcloud, GMail, ...)"; + homepage = "https://invent.kde.org/pim/kalendar/"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ chuangzhu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/terminal-emulators/wezterm/default.nix b/pkgs/applications/terminal-emulators/wezterm/default.nix index 0483f5b753a2..6688b6041e09 100644 --- a/pkgs/applications/terminal-emulators/wezterm/default.nix +++ b/pkgs/applications/terminal-emulators/wezterm/default.nix @@ -18,7 +18,6 @@ , xcbutilwm , wayland , zlib - # Apple frameworks , CoreGraphics , Cocoa , Foundation @@ -27,7 +26,7 @@ rustPlatform.buildRustPackage rec { pname = "wezterm"; - version = "20210814-124438-54e29167"; + version = "20211204-082213-a66c61ee9"; outputs = [ "out" "terminfo" ]; @@ -36,14 +35,17 @@ rustPlatform.buildRustPackage rec { repo = pname; rev = version; fetchSubmodules = true; - sha256 = "sha256-6HXTftgAs6JMzOMCY+laN74in8xfjE8yJc5xSl9PQCE="; + sha256 = "sha256-QKtnOpAW4exDQEFSN0b04hA6TYuC+/C5nIYHCNzfuso="; }; postPatch = '' echo ${version} > .tag + + # tests are failing with: Unable to exchange encryption keys + rm -r wezterm-ssh/tests ''; - cargoSha256 = "sha256-yjTrWoqIKoRV4oZQ0mfTGrIGmm89AaKJd16WL1Ozhnw="; + cargoSha256 = "sha256-qSThjV6oBD6joDM0Eppo7z0SL8GHV5SaCaAwXmUIT3I="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix index ab84a5143d28..68cf76153707 100644 --- a/pkgs/applications/version-management/gitea/default.nix +++ b/pkgs/applications/version-management/gitea/default.nix @@ -16,12 +16,12 @@ with lib; buildGoPackage rec { pname = "gitea"; - version = "1.15.6"; + version = "1.15.7"; # not fetching directly from the git repo, because that lacks several vendor files for the web UI src = fetchurl { url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz"; - sha256 = "sha256-FMM/iQAxJcymv4jYBzaBXG0Uy8UxHh9gFWB5gzV9cn0="; + sha256 = "sha256-Ckg8XKCPnyp4a0kXJrqju2jAJvD4tzjomaeJxlFwYzg="; }; unpackPhase = '' diff --git a/pkgs/build-support/writers/default.nix b/pkgs/build-support/writers/default.nix index 4b4d4bb203e0..3797df56afa5 100644 --- a/pkgs/build-support/writers/default.nix +++ b/pkgs/build-support/writers/default.nix @@ -240,9 +240,9 @@ rec { then "${python}/bin/python" else "${python.withPackages (ps: libraries)}/bin/python" ; - check = writeDash "python2check.sh" '' + check = optionalString python.isPy3k (writeDash "pythoncheck.sh" '' exec ${pythonPackages.flake8}/bin/flake8 --show-source ${ignoreAttribute} "$1" - ''; + ''); } name; # writePython2 takes a name an attributeset with libraries and some python2 sourcecode and diff --git a/pkgs/data/fonts/junicode/default.nix b/pkgs/data/fonts/junicode/default.nix index 19502cdf78fd..5f5ce1048c5e 100644 --- a/pkgs/data/fonts/junicode/default.nix +++ b/pkgs/data/fonts/junicode/default.nix @@ -1,22 +1,26 @@ -{ lib, fetchzip }: +{ lib, fetchFromGitHub }: let pname = "junicode"; - version = "1.002"; -in fetchzip { + version = "1.003"; +in +fetchFromGitHub { name = "${pname}-${version}"; - url = "mirror://sourceforge/junicode/junicode/junicode-${version}/junicode-${version}.zip"; + owner = "psb1558"; + repo = "Junicode-font"; + rev = "55d816d91a5e19795d9b66edec478379ee2b9ddb"; postFetch = '' - mkdir -p $out/share/fonts - unzip -j $downloadedFile \*.ttf -d $out/share/fonts/junicode-ttf + local out_ttf=$out/share/fonts/junicode-ttf + mkdir -p $out_ttf + tar -f $downloadedFile -C $out_ttf --wildcards -x '*.ttf' --strip=2 ''; - sha256 = "1n170gw41lr0zr5958z5cgpg6i1aa7kj7iq9s6gdh1cqq7hhgd08"; + sha256 = "1v334gljmidh58kmrarz5pf348b0ac7vh25f1xs3gyvn78khh5nw"; meta = { - homepage = "http://junicode.sourceforge.net/"; + homepage = "https://github.com/psb1558/Junicode-font"; description = "A Unicode font for medievalists"; maintainers = with lib.maintainers; [ ivan-timokhin ]; license = lib.licenses.ofl; diff --git a/pkgs/data/themes/adwaita-qt/default.nix b/pkgs/data/themes/adwaita-qt/default.nix index f1424b15ad1a..37cca06a69c3 100644 --- a/pkgs/data/themes/adwaita-qt/default.nix +++ b/pkgs/data/themes/adwaita-qt/default.nix @@ -12,7 +12,7 @@ mkDerivation rec { pname = "adwaita-qt"; - version = "1.4.0"; + version = "1.4.1"; outputs = [ "out" "dev" ]; @@ -20,7 +20,7 @@ mkDerivation rec { owner = "FedoraQt"; repo = pname; rev = version; - sha256 = "sha256-KkqLUhS0JMwJsgu8fv5iGozH3Xv+cXumxx5IewZTTPc="; + sha256 = "sha256-t9vv1KcMUg8Qe7lhVMN4GO+VPoT7QzeoQ6hV4fesA8U="; }; nativeBuildInputs = [ diff --git a/pkgs/data/themes/material-kwin-decoration/default.nix b/pkgs/data/themes/material-kwin-decoration/default.nix new file mode 100644 index 000000000000..f5dccefbc139 --- /dev/null +++ b/pkgs/data/themes/material-kwin-decoration/default.nix @@ -0,0 +1,48 @@ +{ lib +, mkDerivation +, fetchFromGitHub +, cmake +, extra-cmake-modules +, qtx11extras +, kcoreaddons +, kguiaddons +, kconfig +, kdecoration +, kconfigwidgets +, kwindowsystem +, kiconthemes +, kwayland +}: + +mkDerivation rec { + pname = "material-kwin-decoration"; + version = "unstable-20211028"; + + src = fetchFromGitHub { + owner = "Zren"; + repo = "material-decoration"; + rev = "cc5cc399a546b66907629b28c339693423c894c8"; + sha256 = "sha256-aYlnPFhf+ISVe5Ycryu5BSXY8Lb5OoueMqnWQZiv6Lc="; + }; + + nativeBuildInputs = [ cmake extra-cmake-modules ]; + + buildInputs = [ + qtx11extras + kcoreaddons + kguiaddons + kdecoration + kconfig + kconfigwidgets + kwindowsystem + kiconthemes + kwayland + ]; + + meta = with lib; { + description = "Material-ish window decoration theme for KWin"; + homepage = "https://github.com/Zren/material-decoration"; + license = licenses.gpl2; + maintainers = [ maintainers.nickcao ]; + }; +} diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 61436ba57ae5..3300dd2ec8c4 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -93,14 +93,18 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-shortcut-overlay = callPackage ./desktop/elementary-shortcut-overlay { }; - extra-elementary-contracts = callPackage ./desktop/extra-elementary-contracts { - inherit (gnome) file-roller gnome-bluetooth; + file-roller-contract = callPackage ./desktop/file-roller-contract { + inherit (gnome) file-roller; }; gala = callPackage ./desktop/gala { inherit (gnome) gnome-desktop; }; + gnome-bluetooth-contract = callPackage ./desktop/gnome-bluetooth-contract { + inherit (gnome) gnome-bluetooth; + }; + wingpanel = callPackage ./desktop/wingpanel { }; wingpanel-with-indicators = callPackage ./desktop/wingpanel/wrapper.nix { @@ -217,4 +221,6 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-screenshot-tool = elementary-screenshot; # added 2021-07-21 + extra-elementary-contracts = throw "extra-elementary-contracts has been removed as all contracts have been upstreamed."; # added 2021-12-01 + }) diff --git a/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix b/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix deleted file mode 100644 index c579997f5e83..000000000000 --- a/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ lib -, stdenv -, substituteAll -, fetchFromGitHub -, file-roller -, gnome-bluetooth -}: - -stdenv.mkDerivation rec { - pname = "extra-elementary-contracts"; - version = "2018-08-21"; - - src = fetchFromGitHub { - owner = "worldofpeace"; - repo = pname; - rev = "a05dfb00695854163805b666185e3e9f31b6eb83"; - sha256 = "0fkaf2w4xg0n9faj74rgzy7gvd3yz112l058b157a3pr39vpci7g"; - }; - - patches = [ - (substituteAll { - src = ./exec-path.patch; - file_roller = file-roller; - gnome_bluetooth = gnome-bluetooth; - }) - ]; - - dontBuild = true; - dontConfigure = true; - - installPhase = '' - mkdir -p $out/share/contractor - - cp *.contract $out/share/contractor/ - ''; - - meta = with lib; { - description = "Extra contractor files for elementary"; - homepage = "https://github.com/worldofpeace/extra-elementary-contracts"; - license = licenses.gpl2; - maintainers = with maintainers; [ worldofpeace ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/pantheon/desktop/file-roller-contract/default.nix b/pkgs/desktops/pantheon/desktop/file-roller-contract/default.nix new file mode 100644 index 000000000000..9f4d275f2462 --- /dev/null +++ b/pkgs/desktops/pantheon/desktop/file-roller-contract/default.nix @@ -0,0 +1,46 @@ +{ lib +, stdenv +, fetchFromGitHub +, substituteAll +, file-roller +}: + +stdenv.mkDerivation rec { + pname = "file-roller-contract"; + version = "unstable-2021-02-23"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = "cf001d84a7e2ddcfbee2cfdb19885798a869833e"; + sha256 = "sha256-jnXq44NiQiSYsvaBF828TklLg9d6z6n+gCZKgbFiERI="; + }; + + patches = [ + (substituteAll { + src = ./exec-path.patch; + file_roller = file-roller; + }) + ]; + + dontConfigure = true; + + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/contractor + cp *.contract $out/share/contractor/ + + runHook postInstall + ''; + + meta = with lib; { + description = "Contractor extension for File Roller"; + homepage = "https://github.com/elementary/file-roller-contract"; + license = licenses.gpl3Plus; + maintainers = teams.pantheon.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/exec-path.patch b/pkgs/desktops/pantheon/desktop/file-roller-contract/exec-path.patch similarity index 69% rename from pkgs/desktops/pantheon/desktop/extra-elementary-contracts/exec-path.patch rename to pkgs/desktops/pantheon/desktop/file-roller-contract/exec-path.patch index 3b97e306119d..8349ae8088da 100644 --- a/pkgs/desktops/pantheon/desktop/extra-elementary-contracts/exec-path.patch +++ b/pkgs/desktops/pantheon/desktop/file-roller-contract/exec-path.patch @@ -1,19 +1,18 @@ -diff --git a/file-roller-compress.contract b/file-roller-compress.contract -index 8de5396..de7e939 100644 ---- a/file-roller-compress.contract -+++ b/file-roller-compress.contract -@@ -3,6 +3,6 @@ Name=Compress +diff --git a/io.elementary.contractor.file-roller-compress.contract b/io.elementary.contractor.file-roller-compress.contract +index 11e4da3..d58549f 100644 +--- a/io.elementary.contractor.file-roller-compress.contract ++++ b/io.elementary.contractor.file-roller-compress.contract +@@ -3,5 +3,5 @@ Name=Compress Icon=add-files-to-archive Description=Create a compressed archive with the selected objects MimeType=!archive;inode/blockdevice;inode/chardevice;inode/fifo;inode/socket; -Exec=file-roller --add %U +Exec=@file_roller@/bin/file-roller --add %U Gettext-Domain=file-roller - -diff --git a/file-roller-extract-here.contract b/file-roller-extract-here.contract +diff --git a/io.elementary.contractor.file-roller-extract-here.contract b/io.elementary.contractor.file-roller-extract-here.contract index 184a6f2..345f4e7 100644 ---- a/file-roller-extract-here.contract -+++ b/file-roller-extract-here.contract +--- a/io.elementary.contractor.file-roller-extract-here.contract ++++ b/io.elementary.contractor.file-roller-extract-here.contract @@ -3,5 +3,5 @@ Name=Extract Here Icon=extract-archive Description=Extract the contents of the archives in the archive folder and quit the program @@ -21,14 +20,3 @@ index 184a6f2..345f4e7 100644 -Exec=file-roller --extract-here %U +Exec=@file_roller@/bin/file-roller --extract-here %U Gettext-Domain=file-roller -diff --git a/gnome-bluetooth.contract b/gnome-bluetooth.contract -index 745dbbe..8cc0102 100644 ---- a/gnome-bluetooth.contract -+++ b/gnome-bluetooth.contract -@@ -3,5 +3,5 @@ Name=Send files via Bluetooth - Icon=bluetooth - Description=Send files to device... - MimeType=!inode; --Exec=bluetooth-sendto %F -+Exec=@gnome_bluetooth@/bin/bluetooth-sendto %F - Gettext-Domain=gnome-bluetooth2 diff --git a/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix b/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix new file mode 100644 index 000000000000..36f4d3e539f0 --- /dev/null +++ b/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix @@ -0,0 +1,46 @@ +{ lib +, stdenv +, fetchFromGitHub +, substituteAll +, gnome-bluetooth +}: + +stdenv.mkDerivation rec { + pname = "gnome-bluetooth-contract"; + version = "unstable-2021-02-23"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = "8dcd4d03dc7a7d487980fd8bc95af985dc4fff5c"; + sha256 = "sha256-9eX6j/cvN/CoqrHrh9mZEsUJ8viDWIGxIva1xFwIK7c="; + }; + + patches = [ + (substituteAll { + src = ./exec-path.patch; + gnome_bluetooth = gnome-bluetooth; + }) + ]; + + dontConfigure = true; + + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/contractor + cp *.contract $out/share/contractor/ + + runHook postInstall + ''; + + meta = with lib; { + description = "Contractor extension for GNOME Bluetooth"; + homepage = "https://github.com/elementary/gnome-bluetooth-contract"; + license = licenses.gpl3Plus; + maintainers = teams.pantheon.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/exec-path.patch b/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/exec-path.patch new file mode 100644 index 000000000000..c0bd9e579f46 --- /dev/null +++ b/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/exec-path.patch @@ -0,0 +1,11 @@ +diff --git a/io.elementary.contracter.gnome-bluetooth.contract b/io.elementary.contracter.gnome-bluetooth.contract +index 3eb2334..ce0e5f5 100644 +--- a/io.elementary.contracter.gnome-bluetooth.contract ++++ b/io.elementary.contracter.gnome-bluetooth.contract +@@ -3,5 +3,5 @@ Name=Send Files via Bluetooth + Icon=bluetooth + Description=Send files to device... + MimeType=!inode; +-Exec=bluetooth-sendto %F ++Exec=@gnome_bluetooth@/bin/bluetooth-sendto %F + Gettext-Domain=gnome-bluetooth2 diff --git a/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/0001-Avoid-usage-of-npx.patch b/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/0001-Avoid-usage-of-npx.patch deleted file mode 100644 index 34e06d77bd29..000000000000 --- a/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/0001-Avoid-usage-of-npx.patch +++ /dev/null @@ -1,37 +0,0 @@ -From c9aaff2461daba31a25ed20c0789ffd7c3561887 Mon Sep 17 00:00:00 2001 -From: Pasquale -Date: Tue, 9 Nov 2021 23:12:50 +0100 -Subject: [PATCH] Avoid usage of npx - -tsc is only used for checking type annotation -that are stripped by esbuild - ---- - src/kwinscript/CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/kwinscript/CMakeLists.txt b/src/kwinscript/CMakeLists.txt -index 6d85d5d..6f966a4 100644 ---- a/src/kwinscript/CMakeLists.txt -+++ b/src/kwinscript/CMakeLists.txt -@@ -29,7 +29,7 @@ add_custom_target( - - add_custom_command( - OUTPUT "bismuth/contents/code/index.mjs" -- COMMAND "npx" "esbuild" -+ COMMAND "esbuild" - "--bundle" "${CMAKE_CURRENT_SOURCE_DIR}/index.ts" - "--outfile=${CMAKE_CURRENT_BINARY_DIR}/bismuth/contents/code/index.mjs" - "--format=esm" -@@ -40,7 +40,7 @@ add_custom_command( - - add_custom_target( - LintViaTSC -- COMMAND "npx" "tsc" "--noEmit" "--incremental" -+ COMMAND "true" - COMMENT "👮 Checking sources using TS Compiler..." - ) - --- -2.33.1 - diff --git a/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix b/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix index 114eb31e69ce..3e9920cf6299 100644 --- a/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix +++ b/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix @@ -12,17 +12,18 @@ mkDerivation rec { pname = "bismuth"; - version = "2.1.0"; + version = "2.2.0"; src = fetchFromGitHub { owner = "Bismuth-Forge"; repo = pname; rev = "v${version}"; - sha256 = "sha256-ICpGgFvVi7tiYbMCo3JWQmbA36rdWF4NFYTWIejhxr4="; + sha256 = "sha256-ntfLijYPaOHvQToiAxuBZ5ayHPyQyevP9l6++SL0vUw="; }; - patches = [ - ./0001-Avoid-usage-of-npx.patch + cmakeFlags = [ + "-DUSE_TSC=OFF" + "-DUSE_NPM=OFF" ]; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/cgreen/default.nix b/pkgs/development/libraries/cgreen/default.nix index 5a1dd2d26400..85532bfd74b0 100644 --- a/pkgs/development/libraries/cgreen/default.nix +++ b/pkgs/development/libraries/cgreen/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "cgreen"; - version = "1.4.0"; + version = "1.4.1"; src = fetchFromGitHub { owner = "cgreen-devs"; repo = "cgreen"; rev = version; - sha256 = "JEpvkM0EZiiQUZRngICNxHbNqS/qjqkEdMPckGbdWac="; + sha256 = "sha256-aQrfsiPuNrEMscZrOoONiN665KlNmnOiYj9ZIyzW304="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/intel-media-driver/default.nix b/pkgs/development/libraries/intel-media-driver/default.nix index 0bc76085f2c6..689a70a320d9 100644 --- a/pkgs/development/libraries/intel-media-driver/default.nix +++ b/pkgs/development/libraries/intel-media-driver/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { pname = "intel-media-driver"; - version = "21.4.2"; + version = "21.4.3"; outputs = [ "out" "dev" ]; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { owner = "intel"; repo = "media-driver"; rev = "intel-media-${version}"; - sha256 = "0hphpv3n2cdxmbyiwly7v9r0ijdq6hfnw604xz42jqgh9idi6h55"; + sha256 = "04r03f48j1nly0j6aq8017va9m3yrnscv6lbrvf3a98fpwk9gc1l"; }; patches = [ diff --git a/pkgs/development/libraries/libdeltachat/default.nix b/pkgs/development/libraries/libdeltachat/default.nix index e418e3a4e933..5db8e7524b59 100644 --- a/pkgs/development/libraries/libdeltachat/default.nix +++ b/pkgs/development/libraries/libdeltachat/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "libdeltachat"; - version = "1.69.0"; + version = "1.70.0"; src = fetchFromGitHub { owner = "deltachat"; repo = "deltachat-core-rust"; rev = version; - hash = "sha256-yW6MXDb7kiI24akJrEPHeb4bI8jEldBcPYx+5+dwJR0="; + hash = "sha256-702XhFWvFG+g++3X97sy6C5DMNWogv1Xbr8QPR8QyLo="; }; patches = [ @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - hash = "sha256-76TraZCJhppPhkdQfAf1XqOoK7RS+VoYIp2keTn4es4="; + hash = "sha256-MiSGJMXe8vouv4XEHXq274FHEvBMtd7IX6DyNJIWYeU="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/liboping/default.nix b/pkgs/development/libraries/liboping/default.nix index e730540cf12c..9a44e84b136f 100644 --- a/pkgs/development/libraries/liboping/default.nix +++ b/pkgs/development/libraries/liboping/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, ncurses ? null, perl ? null, lib }: +{ stdenv, fetchurl, fetchpatch, ncurses ? null, perl ? null, lib }: stdenv.mkDerivation rec { pname = "liboping"; @@ -13,6 +13,14 @@ stdenv.mkDerivation rec { # Add support for ncurses-6.3. A backport of patch pending upstream # inclusion: https://github.com/octo/liboping/pull/61 ./ncurses-6.3.patch + + # Pull pending fix for format arguments mismatch: + # https://github.com/octo/liboping/pull/60 + (fetchpatch { + name = "format-args.patch"; + url = "https://github.com/octo/liboping/commit/7a50e33f2a686564aa43e4920141e6f64e042df1.patch"; + sha256 = "118fl3k84m3iqwfp49g5qil4lw1gcznzmyxnfna0h7za2nm50cxw"; + }) ]; NIX_CFLAGS_COMPILE = lib.optionalString diff --git a/pkgs/development/libraries/rdkafka/default.nix b/pkgs/development/libraries/rdkafka/default.nix index 78ffab44edd9..829b298107f9 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.8.0"; + version = "1.8.2"; src = fetchFromGitHub { owner = "edenhill"; repo = "librdkafka"; rev = "v${version}"; - sha256 = "sha256-LTO27UQqGHOEOXaw2Aln1i37ZaXIAKK8r7P2WAx8nIQ="; + sha256 = "sha256-YagvXeusHThUo5/1mMs+r+Nr03vAagdnFMkwX3hJsq4="; }; nativeBuildInputs = [ pkg-config python3 ]; diff --git a/pkgs/development/python-modules/casbin/default.nix b/pkgs/development/python-modules/casbin/default.nix index 64c69ddaa043..8b8329ab7d70 100644 --- a/pkgs/development/python-modules/casbin/default.nix +++ b/pkgs/development/python-modules/casbin/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "casbin"; - version = "1.11.1"; + version = "1.12.0"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = pname; repo = "pycasbin"; rev = "v${version}"; - sha256 = "sha256-gFGYpHd1kp4JMtoe47VbJ0uDnuGQegggbjXaw6nEMR4="; + sha256 = "sha256-kUM4Oc4T3PSFAprUx6eY/aJpDM8RiHjPtAxMKjfHj6s="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/celery/default.nix b/pkgs/development/python-modules/celery/default.nix index cd6d21b7c651..baf6b62d42f1 100644 --- a/pkgs/development/python-modules/celery/default.nix +++ b/pkgs/development/python-modules/celery/default.nix @@ -5,22 +5,13 @@ buildPythonPackage rec { pname = "celery"; - version = "5.1.2"; + version = "5.2.0"; src = fetchPypi { inherit pname version; - sha256 = "8d9a3de9162965e97f8e8cc584c67aad83b3f7a267584fa47701ed11c3e0d4b0"; + sha256 = "4d858a8fe53c07a9f0cbf8cf1da28e8abe5464d0aba5713bf83908e74277734b"; }; - # click is only used for the repl, in most cases this shouldn't impact - # downstream packages - postPatch = '' - substituteInPlace requirements/test.txt \ - --replace "moto==1.3.7" moto - substituteInPlace requirements/default.txt \ - --replace "click>=7.0,<8.0" click - ''; - propagatedBuildInputs = [ billiard click click-didyoumean click-plugins click-repl kombu pytz vine ]; checkInputs = [ boto3 case moto pytest pytest-celery pytest-subtests pytest-timeout ]; diff --git a/pkgs/development/python-modules/django-redis/default.nix b/pkgs/development/python-modules/django-redis/default.nix index b578a016722b..b088876b3e4a 100644 --- a/pkgs/development/python-modules/django-redis/default.nix +++ b/pkgs/development/python-modules/django-redis/default.nix @@ -2,14 +2,27 @@ , fetchFromGitHub , pythonOlder , buildPythonPackage + +# propagated , django +, hiredis +, lz4 +, msgpack , redis + +# testing +, pkgs +, pytest-django +, pytest-mock , pytestCheckHook }: -buildPythonPackage rec { +let pname = "django-redis"; - version = "5.0.0"; + version = "5.1.0"; +in +buildPythonPackage { + inherit pname version; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -17,7 +30,7 @@ buildPythonPackage rec { owner = "jazzband"; repo = "django-redis"; rev = version; - sha256 = "1np10hfyg4aamlz7vav9fy80gynb1lhl2drqkbckr3gg1gbz6crj"; + sha256 = "sha256-S94qH2W5e65yzGfPxpwBUKhvvVS0Uc/zSyo66bnvzf4="; }; postPatch = '' @@ -26,6 +39,9 @@ buildPythonPackage rec { propagatedBuildInputs = [ django + hiredis + lz4 + msgpack redis ]; @@ -33,12 +49,28 @@ buildPythonPackage rec { "django_redis" ]; + DJANGO_SETTINGS_MODULE = "tests.settings.sqlite"; + + preCheck = '' + ${pkgs.redis}/bin/redis-server & + ''; + checkInputs = [ + pytest-django + pytest-mock pytestCheckHook ]; - disabledTestPaths = [ - "tests/test_backend.py" # django.core.exceptions.ImproperlyConfigured: Requested setting DJANGO_REDIS_SCAN_ITERSIZE, but settings are not configured. + disabledTests = [ + # ModuleNotFoundError: No module named 'test_cache_options' + "test_custom_key_function" + # ModuleNotFoundError: No module named 'test_client' + "test_delete_pattern_calls_get_client_given_no_client" + "test_delete_pattern_calls_make_pattern" + "test_delete_pattern_calls_scan_iter_with_count_if_itersize_given" + "test_delete_pattern_calls_scan_iter_with_count_if_itersize_given" + "test_delete_pattern_calls_scan_iter" + "test_delete_pattern_calls_delete_for_given_keys" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/empy/default.nix b/pkgs/development/python-modules/empy/default.nix new file mode 100644 index 000000000000..544506efb0d4 --- /dev/null +++ b/pkgs/development/python-modules/empy/default.nix @@ -0,0 +1,17 @@ +{ lib, fetchPypi, buildPythonPackage }: + +buildPythonPackage rec { + pname = "empy"; + version = "3.3.4"; + src = fetchPypi { + inherit pname version; + sha256 = "c6xJeFtgFHnfTqGKfHm8EwSop8NMArlHLPEgauiPAbM="; + }; + pythonImportsCheck = [ "em" ]; + meta = with lib; { + homepage = "http://www.alcyone.com/software/empy/"; + description = "A templating system for Python."; + maintainers = with maintainers; [ nkalupahana ]; + license = licenses.lgpl21Only; + }; +} diff --git a/pkgs/development/python-modules/flake8/default.nix b/pkgs/development/python-modules/flake8/default.nix index 7f51cd2703c4..c707cb3caaa1 100644 --- a/pkgs/development/python-modules/flake8/default.nix +++ b/pkgs/development/python-modules/flake8/default.nix @@ -51,6 +51,8 @@ buildPythonPackage rec { pytestCheckHook ]; + disabled = pythonOlder "3.6"; + meta = with lib; { description = "Flake8 is a wrapper around pyflakes, pycodestyle and mccabe."; homepage = "https://github.com/pycqa/flake8"; diff --git a/pkgs/development/python-modules/frigidaire/default.nix b/pkgs/development/python-modules/frigidaire/default.nix index efa0a704d12e..61082cb40904 100644 --- a/pkgs/development/python-modules/frigidaire/default.nix +++ b/pkgs/development/python-modules/frigidaire/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "frigidaire"; - version = "0.18.3"; + version = "0.18.4"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "bm1549"; repo = pname; rev = version; - sha256 = "sha256-ksh7+F78JBHLMmQddyWMf3XC4Tfp4/AMlegE6qHPe2k="; + sha256 = "sha256-U2ixBtigY15RzMNIeUK71uNOndUepK2kE/CTFwl855w="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/ocrmypdf/default.nix b/pkgs/development/python-modules/ocrmypdf/default.nix index 71506e60b60e..368f872bca31 100644 --- a/pkgs/development/python-modules/ocrmypdf/default.nix +++ b/pkgs/development/python-modules/ocrmypdf/default.nix @@ -8,7 +8,6 @@ , importlib-metadata , importlib-resources , jbig2enc -, leptonica , pdfminer , pikepdf , pillow @@ -30,7 +29,7 @@ buildPythonPackage rec { pname = "ocrmypdf"; - version = "12.7.2"; + version = "13.0.0"; src = fetchFromGitHub { owner = "jbarlow83"; @@ -42,7 +41,7 @@ buildPythonPackage rec { extraPostFetch = '' rm "$out/.git_archival.txt" ''; - sha256 = "sha256-+mh7NgAk7R/94FXjRV+SLy478pZwYLLS8HwCazEbMf4="; + sha256 = "sha256-W5RFCWKDIRrsgHZL8uSOQWvEltLbqYAweZkgIZZrSIo="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; @@ -52,7 +51,6 @@ buildPythonPackage rec { src = ./paths.patch; gs = "${lib.getBin ghostscript}/bin/gs"; jbig2 = "${lib.getBin jbig2enc}/bin/jbig2"; - liblept = "${lib.getLib leptonica}/lib/liblept${stdenv.hostPlatform.extensions.sharedLibrary}"; pngquant = "${lib.getBin pngquant}/bin/pngquant"; tesseract = "${lib.getBin tesseract4}/bin/tesseract"; unpaper = "${lib.getBin unpaper}/bin/unpaper"; diff --git a/pkgs/development/python-modules/ocrmypdf/paths.patch b/pkgs/development/python-modules/ocrmypdf/paths.patch index 9bfcc7285541..47521e1033eb 100644 --- a/pkgs/development/python-modules/ocrmypdf/paths.patch +++ b/pkgs/development/python-modules/ocrmypdf/paths.patch @@ -1,30 +1,17 @@ diff --git a/src/ocrmypdf/_exec/ghostscript.py b/src/ocrmypdf/_exec/ghostscript.py -index 5c357f1b..f459763a 100644 +index 1146cc5f..43f3915c 100644 --- a/src/ocrmypdf/_exec/ghostscript.py +++ b/src/ocrmypdf/_exec/ghostscript.py -@@ -25,28 +25,7 @@ from ocrmypdf.subprocess import get_version, run, run_polling_stderr +@@ -40,15 +40,7 @@ For details see: + # Most reliable what to get the bitness of Python interpreter, according to Python docs + _is_64bit = sys.maxsize > 2 ** 32 - log = logging.getLogger(__name__) - --missing_gs_error = """ ----------------------------------------------------------------------- --This error normally occurs when ocrmypdf find can't Ghostscript. --Please ensure Ghostscript is installed and its location is added to --the system PATH environment variable. -- --For details see: -- https://ocrmypdf.readthedocs.io/en/latest/installation.html ----------------------------------------------------------------------- --""" -- -_gswin = None -if os.name == 'nt': -- _gswin = which('gswin64c') -- if not _gswin: -- _gswin = which('gswin32c') -- if not _gswin: -- raise MissingDependencyError(missing_gs_error) -- _gswin = Path(_gswin).stem +- if _is_64bit: +- _gswin = 'gswin64c' +- else: +- _gswin = 'gswin32c' - -GS = _gswin if _gswin else 'gs' -del _gswin @@ -86,19 +73,19 @@ index ca8a4542..d0544174 100644 '--skip-if-larger', '--quality', diff --git a/src/ocrmypdf/_exec/tesseract.py b/src/ocrmypdf/_exec/tesseract.py -index 33ead41e..5840f7c1 100644 +index a3688f65..61f54465 100644 --- a/src/ocrmypdf/_exec/tesseract.py +++ b/src/ocrmypdf/_exec/tesseract.py -@@ -78,7 +78,7 @@ class TesseractVersion(StrictVersion): +@@ -75,7 +75,7 @@ class TesseractVersion(StrictVersion): - def version(): + def version() -> str: - return get_version('tesseract', regex=r'tesseract\s(.+)') + return get_version('@tesseract@', regex=r'tesseract\s(.+)') def has_user_words(): -@@ -100,7 +100,7 @@ def get_languages(): +@@ -97,7 +97,7 @@ def get_languages(): msg += output return msg @@ -107,7 +94,7 @@ index 33ead41e..5840f7c1 100644 try: proc = run( args_tess, -@@ -122,7 +122,7 @@ def get_languages(): +@@ -119,7 +119,7 @@ def get_languages(): def tess_base_args(langs: List[str], engine_mode: Optional[int]) -> List[str]: @@ -117,7 +104,7 @@ index 33ead41e..5840f7c1 100644 args.extend(['-l', '+'.join(langs)]) if engine_mode is not None: diff --git a/src/ocrmypdf/_exec/unpaper.py b/src/ocrmypdf/_exec/unpaper.py -index 3c3ae72c..d269966a 100644 +index aec365c2..cc5cb7e4 100644 --- a/src/ocrmypdf/_exec/unpaper.py +++ b/src/ocrmypdf/_exec/unpaper.py @@ -31,7 +31,7 @@ log = logging.getLogger(__name__) @@ -138,23 +125,3 @@ index 3c3ae72c..d269966a 100644 with TemporaryDirectory() as tmpdir: input_pnm, output_pnm = _setup_unpaper_io(Path(tmpdir), input_file) -diff --git a/src/ocrmypdf/leptonica.py b/src/ocrmypdf/leptonica.py -index e4814f1a..fdaf7ea4 100644 ---- a/src/ocrmypdf/leptonica.py -+++ b/src/ocrmypdf/leptonica.py -@@ -33,14 +33,7 @@ from ocrmypdf.lib._leptonica import ffi - - logger = logging.getLogger(__name__) - --if os.name == 'nt': -- from ocrmypdf.subprocess._windows import shim_env_path -- -- libname = 'liblept-5' -- os.environ['PATH'] = shim_env_path() --else: -- libname = 'lept' --_libpath = find_library(libname) -+_libpath = '@liblept@' - if not _libpath: - raise MissingDependencyError( - """ diff --git a/pkgs/development/python-modules/paste/default.nix b/pkgs/development/python-modules/paste/default.nix index 53208a35839d..9186cef3efc6 100644 --- a/pkgs/development/python-modules/paste/default.nix +++ b/pkgs/development/python-modules/paste/default.nix @@ -2,6 +2,7 @@ , buildPythonPackage , fetchFromGitHub , pytestCheckHook +, six }: buildPythonPackage rec { @@ -19,7 +20,7 @@ buildPythonPackage rec { patchShebangs tests/cgiapp_data/ ''; - # propagatedBuildInputs = [ six ]; + propagatedBuildInputs = [ six ]; checkInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix index e9a768019c7f..9d5532c63869 100644 --- a/pkgs/development/python-modules/pikepdf/default.nix +++ b/pkgs/development/python-modules/pikepdf/default.nix @@ -24,7 +24,7 @@ buildPythonPackage rec { pname = "pikepdf"; - version = "4.0.2"; + version = "4.1.0"; disabled = ! isPy3k; src = fetchFromGitHub { @@ -37,7 +37,7 @@ buildPythonPackage rec { extraPostFetch = '' rm "$out/.git_archival.txt" ''; - sha256 = "sha256-bUf9fef/YQsSj78kwoKl5a3zOjpeKWla9YY0azk0lIQ="; + sha256 = "sha256-8l3IDC2EhoNTImaTTjkBYhwbSBDC3PVLbdgs4txZOKc="; }; patches = [ diff --git a/pkgs/development/python-modules/poetry/default.nix b/pkgs/development/python-modules/poetry/default.nix index 368f28212882..1957982bd8fe 100644 --- a/pkgs/development/python-modules/poetry/default.nix +++ b/pkgs/development/python-modules/poetry/default.nix @@ -24,7 +24,7 @@ buildPythonPackage rec { pname = "poetry"; - version = "1.1.11"; + version = "1.1.12"; format = "pyproject"; disabled = isPy27; @@ -32,7 +32,7 @@ buildPythonPackage rec { owner = "python-poetry"; repo = pname; rev = version; - sha256 = "1f3y3gav2snvcf2h9mbkinvnlcyl9kndf6bh6j0vxkxzlmb4zilx"; + sha256 = "1fm4yj6wxr24v7b77gmf63j7xsgszhbhzw2i9fvlfi0p9l0q34pm"; }; postPatch = '' diff --git a/pkgs/development/python-modules/xdot/default.nix b/pkgs/development/python-modules/xdot/default.nix index e28deaf07d64..fa24256b6a00 100644 --- a/pkgs/development/python-modules/xdot/default.nix +++ b/pkgs/development/python-modules/xdot/default.nix @@ -15,6 +15,10 @@ buildPythonPackage rec { propagatedBuildInputs = [ gobject-introspection pygobject3 graphviz gtk3 numpy ]; checkInputs = [ xvfb-run ]; + postInstall = '' + wrapProgram "$out/bin/xdot" --prefix PATH : "${lib.makeBinPath [ graphviz ]}" + ''; + checkPhase = '' xvfb-run -s '-screen 0 800x600x24' ${python3.interpreter} nix_run_setup test ''; diff --git a/pkgs/development/python-modules/ytmusicapi/default.nix b/pkgs/development/python-modules/ytmusicapi/default.nix index 9a86075c790e..b19aed0c6fdc 100644 --- a/pkgs/development/python-modules/ytmusicapi/default.nix +++ b/pkgs/development/python-modules/ytmusicapi/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "ytmusicapi"; - version = "0.19.4"; + version = "0.19.5"; format = "setuptools"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-AAGUfa91f9aquPLQZs9kQDbZXrBrxjSBFdWIrxB5D/I="; + sha256 = "sha256-haZe5afwkU8wD8s2lrmHJuVo6TO3CcQ/0TuJbHPmqvU="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix index 7927a797656b..bdff57e33160 100644 --- a/pkgs/development/tools/analysis/checkov/default.nix +++ b/pkgs/development/tools/analysis/checkov/default.nix @@ -46,13 +46,13 @@ with py.pkgs; buildPythonApplication rec { pname = "checkov"; - version = "2.0.625"; + version = "2.0.626"; src = fetchFromGitHub { owner = "bridgecrewio"; repo = pname; rev = version; - sha256 = "sha256-Q2GaLHciqgsvnYAFdq6839OHcpxWM2m/H10CPmBj2vg="; + sha256 = "sha256-fPx1TvPx16ciaDR0gYQknLCQVRfwFNo0T/P5gY419VY="; }; nativeBuildInputs = with py.pkgs; [ diff --git a/pkgs/development/tools/build-managers/redo-apenwarr/default.nix b/pkgs/development/tools/build-managers/redo-apenwarr/default.nix index 638f10f01873..460ee0041472 100644 --- a/pkgs/development/tools/build-managers/redo-apenwarr/default.nix +++ b/pkgs/development/tools/build-managers/redo-apenwarr/default.nix @@ -4,13 +4,13 @@ }: stdenv.mkDerivation rec { pname = "redo-apenwarr"; - version = "0.42c"; + version = "0.42d"; src = fetchFromGitHub rec { owner = "apenwarr"; repo = "redo"; rev = "${repo}-${version}"; - sha256 = "0kc2gag1n5583195gs38gjm8mb7in9y70c07fxibsay19pvvb8iw"; + sha256 = "/QIMXpVhVLAIJa3LiOlRKzbUztIWZygkWZUKN4Nrh+M="; }; postPatch = '' diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix index 9283cee17740..30ba6db53057 100644 --- a/pkgs/development/tools/electron/default.nix +++ b/pkgs/development/tools/electron/default.nix @@ -115,43 +115,43 @@ rec { headers = "1idam1xirxqxqg4g7n33kdx2skk0r351m00g59a8yx9z82g06ah9"; }; - electron_13 = mkElectron "13.6.2" { - armv7l-linux = "aeb037e24cbcc532b09a604c3421dd1e330afbc3c34b3fb692fcdafbe2d63097"; - aarch64-linux = "c6014ac6842d81a612e907ce3655edde495f647784ba2bafebd2ada52c065702"; - x86_64-linux = "529fb7ceb2646324e527a0d9472bbb608e89756a310a8fe1cd929e3a218b45ec"; - i686-linux = "eeaec723f16adae8b6ba9375745cc143a038905cfa0a9e9ef59ea9026fe1a11b"; - x86_64-darwin = "86f7f7270ebd36e4957f56c1ef38eecd7d1725f032810c7fef3476955914d6ff"; - aarch64-darwin = "cc0a19b6ae73f953ce3a3f8d587da8220cd00a284aa705250e81be324b9271dd"; - headers = "0a5nnj3bd8ly9shx7palaiy0q7n70x8zp1myshcg5pz1qqjjmlw9"; + electron_13 = mkElectron "13.6.3" { + armv7l-linux = "a293a9684e16a427a9f68d101814575a4b1dd232dc3fca47552f906019a6cadc"; + aarch64-linux = "1599d259832c806b98751a68fb93112711963d259024f0e36f12f064995b3251"; + x86_64-linux = "7607422a4ba80cda4bd7fefb2fbe2f4e0b9a73db92e1e82dc01012a85b5d0d2b"; + i686-linux = "db9261c05ed57af2fcd4a84b89d299c76948b9d57ce0dba38e3240eb43935257"; + x86_64-darwin = "6bf09794d6f020bbaaf806a7758da125137b3c96646f4503eb81b9541e50e02f"; + aarch64-darwin = "374ddf0581794b31eee900828172f9218193c032c0e46bffcfac6aec95c22f1a"; + headers = "0v1n8izy83qq3ljs6191a7mzr6nnda5ib9ava1cjddkshl8pampq"; }; - electron_14 = mkElectron "14.2.1" { - armv7l-linux = "d95b5055a53ffb4c502885c3b35f0b938c1be3a7b77e378587d99e6ce009e5d5"; - aarch64-linux = "52d71b92606b639881b82efd369e4cc3fd01cade476cbb25cafb22e05a8c423b"; - x86_64-linux = "820271f62c17cdfe61ed7bce4eff1e82c375d317b7e8b47f965ce9fa863e5994"; - i686-linux = "478efa82bf017f65fda6f90405d3ccc6adb073bd4b2ab2985e550b5ac6135cba"; - x86_64-darwin = "d1684580a1c6e800e488428cc15cb223e9615a456784a7cb86ec116a0afafb85"; - aarch64-darwin = "b40c8a5b4680d509e1ab799d5a0bee19cebfc5c948196b35d9a92e52ebc8fafd"; - headers = "14yaw3kml2kmi7sns8z32kv4cd8anyj5nd7rfxcg74hj2pbl9dvp"; + electron_14 = mkElectron "14.2.2" { + armv7l-linux = "185613c0141fb57b716a0fe421aab91100586fb312a92c66785b956f54451b92"; + aarch64-linux = "8e54ef999d85454d0fa1679bece3143a72086e540eb910f4f2a8a84ea07ef003"; + x86_64-linux = "e419d1fb786f828aa3f679647e7ece889a6dcc830612909c45f4adc2f976348a"; + i686-linux = "76e77d9e45c8d94605313bba1fea87c0b76f2f95c317ef2470cc4f4d88f1b195"; + x86_64-darwin = "117377067dc5afca00db6380461c98870632cbcb97dc5dcc8aa015a9f42b969d"; + aarch64-darwin = "ac03eb8fa1781e675b5a55d83438184d86e5faa6b93d008796fa8f151a31fd14"; + headers = "0l2mwi1cn1v7pnl3l56mq0qi8cif39r5s2lkgzi2nsr71qr9f369"; }; - electron_15 = mkElectron "15.3.2" { - armv7l-linux = "40d2f83a3cd29350edfff442ec1d9a5a681358ad9a7a086adf0ed8d0afa4145e"; - aarch64-linux = "c4c37b852a5576420d43c0a7d3b62be343fc0340134e9f0a7791c3c9285fe249"; - x86_64-linux = "10b85813d5280f97125437c65a002aa783f204247d501fb58786ac2a7144bb7d"; - i686-linux = "4a138dbf3d7e34915de73e0224c434666b0c9c5f335ed22e72014b20147378e6"; - x86_64-darwin = "0bd7e44d41bcdd048a2ac5dc4e1eb6807e80165ce5c06f1a220b20f10579be75"; - aarch64-darwin = "9eae07658b7d9a5eb318233a66c3933dba31661cf78b7b156d3d20ab7134f4c3"; - headers = "0r1qxgkpcn03fd28zbz86ilhsqg0gzp9clbghr5w6gy5ak8y68hz"; + electron_15 = mkElectron "15.3.3" { + armv7l-linux = "658d72e65891191dd47f9d93b56406401c0c425d1d1941ff6f78c33660426398"; + aarch64-linux = "27fd7a94ab09d2ad2e4907e9df587ed40060065f7e867552b77da2302abdcc0f"; + x86_64-linux = "88dc16239f4821bee8674ef79c3ebab36a263638ec660b4b84ce38b9ad8d4f7a"; + i686-linux = "61dabd62dfb5a74bdd07291c20d96fc4dc895b72a65ca5b1aab15c17e20cd6d5"; + x86_64-darwin = "c556d993d8be7064c7014e877cbd8a3d057052c4bc37599a203f4c4a9fe8793f"; + aarch64-darwin = "14f7672ab31d47ef1a38f96cdaf76eef79293b3e3594be67eded90d7dcd27a8e"; + headers = "0vfv3yapjrmlg3rabl7iwq08h1mnij0mr5p8jilhfylmyjsalgbg"; }; - electron_16 = mkElectron "16.0.2" { - armv7l-linux = "bba43eb1e2718f04f6d91096cf22d4c49cbab0915f48b3b22b8f94f205eda2f0"; - aarch64-linux = "3a2ad9c508bfb8e1b2635a3af0a7495e1121bc7aea64a9b771322a60bb82e265"; - x86_64-linux = "2f96a5b773b790d968a6b2c1142f8d231587b775be113e7ee90d9a89bec8cd70"; - i686-linux = "4fd01951b3f57b69731f85d6eae6962257c3a70c37d74751a098bc00ea43085a"; - x86_64-darwin = "a3b9fd83dea4cfa959ddd72be4cbcb8d0503f4ab2741705561b62de8b5218895"; - aarch64-darwin = "3894d141b060d37f1248556525e96a9fc1d4afc237b740f5093bdcd5731972d1"; - headers = "0h1gzrd6rdd217q0im0g1hr3b037dmi4v6wk30kzb12597ww59n1"; + electron_16 = mkElectron "16.0.4" { + armv7l-linux = "f077c8a2ee0ea2a02fc2a45902e2b13fcf0ba80a9859ab8967302f5f0bdcc406"; + aarch64-linux = "ac47ece501e8844e03d2abab99afc27952c194f11a039107bb7620bee683f95d"; + x86_64-linux = "47fada0883bd62a5f47831abf70f5d41f44559de576e44accedf8489e8c5dd6b"; + i686-linux = "825cda3a9c89c5f44990f1e68f25d7871d04277468ccbc9cc29a1472b81d5fa2"; + x86_64-darwin = "0a4621c1137ce158cf396af30b732df72fa61a4ea04bc55d3d9f9915267fe8e9"; + aarch64-darwin = "0c047fd840bc7d77d36d3b0c4a6b6b8331ce0786527fa33455a7b3ee47eb0020"; + headers = "11fni4ax71c1p6yhdl402r2884anyzwd1iw8dypwvrs7gcd913k2"; }; } diff --git a/pkgs/development/tools/fnm/default.nix b/pkgs/development/tools/fnm/default.nix index 4a9c05b4a4e6..d4e4b210ec5b 100644 --- a/pkgs/development/tools/fnm/default.nix +++ b/pkgs/development/tools/fnm/default.nix @@ -1,21 +1,29 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, installShellFiles, Security }: +{ lib +, stdenv +, fetchFromGitHub +, rustPlatform +, installShellFiles +, DiskArbitration +, Foundation +, Security +}: rustPlatform.buildRustPackage rec { pname = "fnm"; - version = "1.27.0"; + version = "1.28.1"; src = fetchFromGitHub { owner = "Schniz"; repo = pname; rev = "v${version}"; - sha256 = "sha256-4qnisgWhdAWZda8iy9nkph7//bVKJuUeEDS1GaAx+FQ="; + sha256 = "sha256-EH3M5wg+BfTZLvch4jL7AGWwywoSxo+8marzdUgAitg="; }; nativeBuildInputs = [ installShellFiles ]; - buildInputs = lib.optionals stdenv.isDarwin [ Security ]; + buildInputs = lib.optionals stdenv.isDarwin [ DiskArbitration Foundation Security ]; - cargoSha256 = "sha256-f3wzuXH2ByXHHOq3zLaMtYm2HJ4BzmZe2e6DQ3V7qVo="; + cargoSha256 = "sha256-Mq1SzAZa05tglcwW6fvT1khVwqA3hRzFjouWLNMWgOk="; doCheck = false; diff --git a/pkgs/development/tools/turbogit/default.nix b/pkgs/development/tools/turbogit/default.nix index 30ce29ffe665..4499ec606e8f 100644 --- a/pkgs/development/tools/turbogit/default.nix +++ b/pkgs/development/tools/turbogit/default.nix @@ -1,16 +1,16 @@ { fetchFromGitHub, buildGoModule, lib, installShellFiles, libgit2, pkg-config }: buildGoModule rec { pname = "turbogit"; - version = "3.0.1"; + version = "3.1.1"; src = fetchFromGitHub { owner = "b4nst"; repo = pname; rev = "v${version}"; - sha256 = "sha256-A1hVpapp6yIpUVnDQ1yLLHiYdLcQlr/JcTOmt5sr3Oo="; + sha256 = "sha256-BHgVJlitRUX/9zYPoK5XfRpzzTZRbLhQVZJcx8KVshk="; }; - vendorSha256 = "sha256-1AEcBq7wiENWQ5HZEEXpIgA6Bf2T28zm/MwYTke/f9s="; + vendorSha256 = "sha256-280OcGXZQJD4G6z0b2WnWAS+v7XVptyf2WnlPjG99/0="; subPackages = [ "." ]; diff --git a/pkgs/development/web/insomnia/default.nix b/pkgs/development/web/insomnia/default.nix index 31ec970b4251..4529285ef52f 100644 --- a/pkgs/development/web/insomnia/default.nix +++ b/pkgs/development/web/insomnia/default.nix @@ -16,12 +16,12 @@ let ]; in stdenv.mkDerivation rec { pname = "insomnia"; - version = "2021.4.1"; + version = "2021.6.0"; src = fetchurl { url = "https://github.com/Kong/insomnia/releases/download/core%40${version}/Insomnia.Core-${version}.deb"; - sha256 = "sha256-74du6UQB1LfsnYF9tmx41KJNmlEVVL5H2W+YQR720FY="; + sha256 = "sha256-YvAzO5oxeq7bnYHzKTXqRVjfJXnwrTr0DNrdWS3yrX4="; }; nativeBuildInputs = diff --git a/pkgs/games/eternity-engine/default.nix b/pkgs/games/eternity-engine/default.nix index 421115561055..cdff7fab1e12 100644 --- a/pkgs/games/eternity-engine/default.nix +++ b/pkgs/games/eternity-engine/default.nix @@ -1,27 +1,28 @@ -{ lib, stdenv, cmake, libGL, SDL, SDL_mixer, SDL_net, fetchFromGitHub, makeWrapper }: +{ lib, stdenv, cmake, libGL, SDL2, SDL2_mixer, SDL2_net, fetchFromGitHub, makeWrapper }: stdenv.mkDerivation rec { pname = "eternity-engine"; - version = "3.42.02"; + version = "4.02.00"; src = fetchFromGitHub { owner = "team-eternity"; repo = "eternity"; rev = version; - sha256 = "00kpq4k23hjmzjaymw3sdda7mqk8fjq6dzf7fmdal9fm7lfmj41k"; + sha256 = "0dlz7axbiw003bgwk2hl43w8r2bwnxhi042i1xwdiwaja0cpnf5y"; + fetchSubmodules = true; }; nativeBuildInputs = [ cmake makeWrapper ]; - buildInputs = [ libGL SDL SDL_mixer SDL_net ]; + buildInputs = [ libGL SDL2 SDL2_mixer SDL2_net ]; installPhase = '' - install -Dm755 source/eternity $out/lib/eternity/eternity + install -Dm755 eternity/eternity $out/lib/eternity/eternity cp -r $src/base $out/lib/eternity/base mkdir $out/bin makeWrapper $out/lib/eternity/eternity $out/bin/eternity ''; meta = { - homepage = "http://doomworld.com/eternity"; + homepage = "https://doomworld.com/eternity"; description = "New school Doom port by James Haley"; license = lib.licenses.gpl3; platforms = lib.platforms.linux; diff --git a/pkgs/games/heroic/default.nix b/pkgs/games/heroic/default.nix new file mode 100644 index 000000000000..e6413a87f2ca --- /dev/null +++ b/pkgs/games/heroic/default.nix @@ -0,0 +1,38 @@ +{ lib, fetchurl, appimageTools, python }: + +let + pname = "heroic"; + version = "1.10.3"; + name = "${pname}-${version}"; + src = fetchurl { + url = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/download/v${version}/Heroic-${version}.AppImage"; + sha256 = "sha256-0VQ5rSGGsEAsOLB4H/Hn2w7wCOrCSoVFzCBqNV5NyVE="; + }; + appimageContents = appimageTools.extractType2 { inherit name src; }; + +in appimageTools.wrapType2 { + inherit name src; + + extraInstallCommands = '' + mv $out/bin/${name} $out/bin/${pname} + + mkdir -p $out/share/${pname} + cp -a ${appimageContents}/locales $out/share/${pname} + cp -a ${appimageContents}/resources $out/share/${pname} + + install -m 444 -D ${appimageContents}/heroic.desktop -t $out/share/applications + + cp -a ${appimageContents}/usr/share/icons $out/share/ + + substituteInPlace $out/share/applications/heroic.desktop \ + --replace 'Exec=AppRun' 'Exec=heroic' + ''; + + meta = with lib; { + description = "A Native GUI Epic Games Launcher for Linux, Windows and Mac"; + homepage = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ wolfangaukang ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix index 9dc3cb1dd3af..06ed245c5f05 100644 --- a/pkgs/games/warzone2100/default.nix +++ b/pkgs/games/warzone2100/default.nix @@ -60,6 +60,7 @@ stdenv.mkDerivation rec { freetype harfbuzz sqlite + ] ++ lib.optionals (!stdenv.isDarwin) [ vulkan-headers vulkan-loader ]; @@ -93,7 +94,7 @@ stdenv.mkDerivation rec { # # Alternatively, we could have set CMAKE_INSTALL_BINDIR to "bin". "-DCMAKE_INSTALL_DATAROOTDIR=${placeholder "out"}/share" - ]; + ] ++ lib.optional stdenv.isDarwin "-P../configure_mac.cmake"; postInstall = lib.optionalString withVideos '' cp ${sequences_src} $out/share/warzone2100/sequences.wz @@ -115,6 +116,9 @@ stdenv.mkDerivation rec { homepage = "http://wz2100.net"; license = licenses.gpl2Plus; maintainers = with maintainers; [ astsmtl fgaz ]; - platforms = platforms.linux; + platforms = platforms.all; + # configure_mac.cmake tries to download stuff + # https://github.com/Warzone2100/warzone2100/blob/master/macosx/README.md + broken = stdenv.isDarwin; }; } diff --git a/pkgs/os-specific/linux/cpuid/default.nix b/pkgs/os-specific/linux/cpuid/default.nix index 49c64c9378d3..2edc686f27d6 100644 --- a/pkgs/os-specific/linux/cpuid/default.nix +++ b/pkgs/os-specific/linux/cpuid/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "cpuid"; - version = "20211114"; + version = "20211129"; src = fetchurl { url = "http://etallen.com/cpuid/${pname}-${version}.src.tar.gz"; - sha256 = "1dz10d958hz7qbh77hxf2k6sc7y9nkvlmr2469hv6gwgqs6dq1vi"; + sha256 = "sha256-Iwdyu4jERzLmikLS7/Q7z/RtiTv06m4EFR1MtujIji8="; }; # For pod2man during the build process. @@ -47,10 +47,9 @@ stdenv.mkDerivation rec { Intel, AMD, VIA, Hygon, and Zhaoxin CPUs, as well as older Transmeta, Cyrix, UMC, NexGen, Rise, and SiS CPUs. ''; - platforms = [ "i686-linux" "x86_64-linux" ]; - license = licenses.gpl2Plus; homepage = "http://etallen.com/cpuid.html"; + license = licenses.gpl2Plus; maintainers = with maintainers; [ blitz ]; + platforms = [ "i686-linux" "x86_64-linux" ]; }; - } diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix index 7be729f4ac8d..e5a5ff971a35 100644 --- a/pkgs/os-specific/linux/udisks/2-default.nix +++ b/pkgs/os-specific/linux/udisks/2-default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, substituteAll, libtool, pkg-config, gettext, gnused +{ lib, stdenv, fetchFromGitHub, substituteAll, libtool, pkg-config, gettext, gnused , gtk-doc, acl, systemd, glib, libatasmart, polkit, coreutils, bash, which , expat, libxslt, docbook_xsl, util-linux, mdadm, libgudev, libblockdev, parted , gobject-introspection, docbook_xml_dtd_412, docbook_xml_dtd_43, autoconf, automake @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "udisks"; - version = "2.8.4"; + version = "2.9.4"; src = fetchFromGitHub { owner = "storaged-project"; repo = "udisks"; rev = "${pname}-${version}"; - sha256 = "01wx2x8xyal595dhdih7rva2bz7gqzgwdp56gi0ikjdzayx17wcf"; + sha256 = "sha256-MYQztzIyp5kh9t1bCIlj08/gaOmZfuu/ZOwo3F+rZiw="; }; outputs = [ "out" "man" "dev" ] ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "devdoc"; @@ -37,17 +37,11 @@ stdenv.mkDerivation rec { xfsprogs ntfs3g parted util-linux ]; }) - - # Fix tests: https://github.com/storaged-project/udisks/issues/724 - (fetchpatch { - url = "https://github.com/storaged-project/udisks/commit/60a0c1c967821d317046d9494e45b9a8e4e7a1c1.patch"; - sha256 = "0rlgqsxn7rb074x6ivm0ya5lywc4llifj5br0zr31mwwckv7hsdm"; - }) ]; nativeBuildInputs = [ autoconf automake pkg-config libtool gettext which gobject-introspection - gtk-doc libxslt docbook_xml_dtd_412 docbook_xml_dtd_43 docbook_xsl + gtk-doc libxslt docbook_xml_dtd_412 docbook_xml_dtd_43 docbook_xsl util-linux ]; postPatch = lib.optionalString stdenv.hostPlatform.isMusl '' diff --git a/pkgs/os-specific/linux/udisks/fix-paths.patch b/pkgs/os-specific/linux/udisks/fix-paths.patch index c2744c3b42e1..215df565eccd 100644 --- a/pkgs/os-specific/linux/udisks/fix-paths.patch +++ b/pkgs/os-specific/linux/udisks/fix-paths.patch @@ -1,16 +1,20 @@ +diff --git a/Makefile.am b/Makefile.am +index 56922b79..697f8c6e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to produce Makefile.in --SHELL = /bin/bash +-SHELL = @BASH@ +SHELL = @bash@ .SHELLFLAGS = -o pipefail -c PYTHON ?= python3 +diff --git a/data/80-udisks2.rules b/data/80-udisks2.rules +index 39bfa28b..ee1ca90a 100644 --- a/data/80-udisks2.rules +++ b/data/80-udisks2.rules -@@ -17,9 +17,9 @@ +@@ -17,9 +17,9 @@ ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="?*", GOTO="udisks_probe_end" # # TODO: file bug against mdadm(8) to have --export-prefix option that can be used with e.g. UDISKS_MD_MEMBER # @@ -22,17 +26,37 @@ LABEL="udisks_probe_end" +diff --git a/modules/zram/data/udisks2-zram-setup@.service.in b/modules/zram/data/udisks2-zram-setup@.service.in +index ac868e84..03fdd887 100644 +--- a/modules/zram/data/udisks2-zram-setup@.service.in ++++ b/modules/zram/data/udisks2-zram-setup@.service.in +@@ -8,7 +8,7 @@ Requires=dev-%i.device + Type=oneshot + RemainAfterExit=no + EnvironmentFile=-@zramconfdir@/%i +-ExecStart=-/bin/sh -c 'if [ -n "$ZRAM_NUM_STR" ]; then echo "$ZRAM_NUM_STR" > /sys/class/block/%i/max_comp_streams; fi' +-ExecStart=-/bin/sh -c 'if [ -n "$ZRAM_DEV_SIZE" ]; then echo "$ZRAM_DEV_SIZE" > /sys/class/block/%i/disksize; fi' +-ExecStart=-/bin/sh -c 'if [ "$SWAP" = "y" ]; then mkswap /dev/%i && swapon /dev/%i; fi' +-# ExecStop=-/bin/sh -c 'echo 1 > /sys/class/block/%i/reset' ++ExecStart=-@sh@ -c 'if [ -n "$ZRAM_NUM_STR" ]; then echo "$ZRAM_NUM_STR" > /sys/class/block/%i/max_comp_streams; fi' ++ExecStart=-@sh@ -c 'if [ -n "$ZRAM_DEV_SIZE" ]; then echo "$ZRAM_DEV_SIZE" > /sys/class/block/%i/disksize; fi' ++ExecStart=-@sh@ -c 'if [ "$SWAP" = "y" ]; then @mkswap@ /dev/%i && @swapon@ /dev/%i; fi' ++# ExecStop=-@sh@ -c 'echo 1 > /sys/class/block/%i/reset' +diff --git a/modules/zram/udiskslinuxmanagerzram.c b/modules/zram/udiskslinuxmanagerzram.c +index f647f653..df81e910 100644 --- a/modules/zram/udiskslinuxmanagerzram.c +++ b/modules/zram/udiskslinuxmanagerzram.c -@@ -250,7 +250,7 @@ +@@ -243,7 +243,7 @@ create_conf_files (guint64 num_devices, g_snprintf (tmp, 255, "zram%" G_GUINT64_FORMAT, i); filename = g_build_filename (PACKAGE_ZRAMCONF_DIR, tmp, NULL); -- contents = g_strdup_printf ("#!/bin/bash\n\n" -+ contents = g_strdup_printf ("#!@bash@\n\n" +- contents = g_strdup_printf ("#!/bin/bash\n" ++ contents = g_strdup_printf ("#!@bash@\n" + "# UDisks2 managed ZRAM configuration\n\n" "ZRAM_NUM_STR=%" G_GUINT64_FORMAT "\n" "ZRAM_DEV_SIZE=%" G_GUINT64_FORMAT "\n" - "SWAP=n\n", +diff --git a/src/tests/install-udisks/runtest.sh b/src/tests/install-udisks/runtest.sh +index e7df4ed2..ab4356d9 100644 --- a/src/tests/install-udisks/runtest.sh +++ b/src/tests/install-udisks/runtest.sh @@ -1,4 +1,4 @@ @@ -41,18 +65,11 @@ # vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # +diff --git a/src/tests/integration-test b/src/tests/integration-test +index 4499a6a9..8b711f95 100755 --- a/src/tests/integration-test +++ b/src/tests/integration-test -@@ -414,7 +414,7 @@ - f.write('KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ' - 'ATTRS{model}=="scsi_debug*", ' - 'ENV{ID_CDROM_MEDIA}=="?*", ' -- 'IMPORT{program}="/sbin/blkid -o udev -p -u noraid $tempnode"\n') -+ 'IMPORT{program}="@blkid@ -o udev -p -u noraid $tempnode"\n') - # reload udev - subprocess.call('sync; pkill --signal HUP udevd || ' - 'pkill --signal HUP systemd-udevd', -@@ -1079,7 +1079,7 @@ +@@ -1142,7 +1142,7 @@ class FS(UDisksTestCase): self.assertFalse(os.access(f, os.X_OK)) f = os.path.join(mount_point, 'simple.exe') @@ -61,7 +78,7 @@ self.assertTrue(os.access(f, os.R_OK)) self.assertTrue(os.access(f, os.W_OK)) self.assertTrue(os.access(f, os.X_OK)) -@@ -1092,7 +1092,7 @@ +@@ -1155,7 +1155,7 @@ class FS(UDisksTestCase): self.assertFalse(os.access(f, os.X_OK)) f = os.path.join(mount_point, 'subdir', 'subdir.exe') @@ -70,6 +87,8 @@ self.assertTrue(os.access(f, os.R_OK)) self.assertTrue(os.access(f, os.W_OK)) self.assertTrue(os.access(f, os.X_OK)) +diff --git a/src/tests/storadectl/runtest.sh b/src/tests/storadectl/runtest.sh +index f03885f9..baca6a93 100644 --- a/src/tests/storadectl/runtest.sh +++ b/src/tests/storadectl/runtest.sh @@ -1,4 +1,4 @@ @@ -78,9 +97,11 @@ # vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # +diff --git a/src/tests/test.c b/src/tests/test.c +index 3ddbdf2c..a87f960a 100644 --- a/src/tests/test.c +++ b/src/tests/test.c -@@ -71,7 +71,7 @@ +@@ -71,7 +71,7 @@ test_spawned_job_successful (void) { UDisksSpawnedJob *job; @@ -89,7 +110,7 @@ udisks_spawned_job_start (job); _g_assert_signal_received (job, "completed", G_CALLBACK (on_completed_expect_success), NULL); g_object_unref (job); -@@ -84,10 +84,10 @@ +@@ -84,10 +84,10 @@ test_spawned_job_failure (void) { UDisksSpawnedJob *job; @@ -102,7 +123,7 @@ g_object_unref (job); } -@@ -119,7 +119,7 @@ +@@ -119,7 +119,7 @@ test_spawned_job_cancelled_at_start (void) cancellable = g_cancellable_new (); g_cancellable_cancel (cancellable); @@ -111,7 +132,7 @@ udisks_spawned_job_start (job); _g_assert_signal_received (job, "completed", G_CALLBACK (on_completed_expect_failure), (gpointer) "Operation was cancelled (g-io-error-quark, 19)"); -@@ -145,7 +145,7 @@ +@@ -144,7 +144,7 @@ test_spawned_job_cancelled_midway (void) GCancellable *cancellable; cancellable = g_cancellable_new (); @@ -119,8 +140,8 @@ + job = udisks_spawned_job_new ("@sleep@ 0.5", NULL, getuid (), geteuid (), NULL, cancellable); udisks_spawned_job_start (job); g_timeout_add (10, on_timeout, cancellable); /* 10 msec */ - g_main_loop_run (loop); -@@ -199,7 +199,7 @@ + _g_assert_signal_received (job, "completed", G_CALLBACK (on_completed_expect_failure), +@@ -197,7 +197,7 @@ test_spawned_job_premature_termination (void) { UDisksSpawnedJob *job; @@ -129,3 +150,6 @@ udisks_spawned_job_start (job); g_object_unref (job); } +-- +2.33.1 + diff --git a/pkgs/os-specific/linux/udisks/force-path.patch b/pkgs/os-specific/linux/udisks/force-path.patch index 16c7ea5322fa..741f53544bee 100644 --- a/pkgs/os-specific/linux/udisks/force-path.patch +++ b/pkgs/os-specific/linux/udisks/force-path.patch @@ -1,8 +1,9 @@ -diff -ruN udisks-2.1.0.orig/src/main.c udisks-2.1.0/src/main.c ---- udisks-2.1.0.orig/src/main.c 2013-04-02 10:43:41.629332135 +0000 -+++ udisks-2.1.0/src/main.c 2013-04-02 11:04:55.635342823 +0000 -@@ -140,8 +140,7 @@ - } +diff --git a/src/main.c b/src/main.c +index b4dbf9e0..3171fa34 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -144,8 +144,7 @@ main (int argc, + g_setenv("G_MESSAGES_DEBUG", "udisks", FALSE); } - if (g_getenv ("PATH") == NULL) @@ -11,3 +12,6 @@ diff -ruN udisks-2.1.0.orig/src/main.c udisks-2.1.0/src/main.c udisks_notice ("udisks daemon version %s starting", PACKAGE_VERSION); +-- +2.33.1 + diff --git a/pkgs/servers/http/dave/default.nix b/pkgs/servers/http/dave/default.nix new file mode 100644 index 000000000000..f7052789d36a --- /dev/null +++ b/pkgs/servers/http/dave/default.nix @@ -0,0 +1,28 @@ +{ lib, buildGoPackage, fetchFromGitHub, mage }: + +buildGoPackage rec { + pname = "dave"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "micromata"; + repo = "dave"; + rev = "v${version}"; + sha256 = "sha256-wvsW4EwMWAgEV+LPeMhHL4AsuyS5TDMmpD9D4F1nVM4="; + }; + + goPackagePath = "github.com/micromata/dave"; + + subPackages = [ "cmd/dave" "cmd/davecli" ]; + + ldflags = + [ "-s" "-w" "-X main.version=${version}" "-X main.builtBy=nixpkgs" ]; + + meta = with lib; { + homepage = "https://github.com/micromata/dave"; + description = + "A totally simple and very easy to configure stand alone webdav server"; + license = licenses.asl20; + maintainers = with maintainers; [ lunik1 ]; + }; +} diff --git a/pkgs/servers/monitoring/prometheus/smartctl-exporter/0001-Return-the-cached-value-if-it-s-not-time-to-scan-aga.patch b/pkgs/servers/monitoring/prometheus/smartctl-exporter/0001-Return-the-cached-value-if-it-s-not-time-to-scan-aga.patch new file mode 100644 index 000000000000..28616251f37e --- /dev/null +++ b/pkgs/servers/monitoring/prometheus/smartctl-exporter/0001-Return-the-cached-value-if-it-s-not-time-to-scan-aga.patch @@ -0,0 +1,51 @@ +From e81b06df67b1d42ef915615fafa0b56ef956673b Mon Sep 17 00:00:00 2001 +From: Andreas Fuchs +Date: Thu, 11 Feb 2021 17:30:44 -0500 +Subject: [PATCH] Return the cached value if it's not time to scan again yet + +This should ensure that if we have a valid value cached (which ought +to be every time after the first scan), we return it as metrics. + +This fixes the crashes that would happen if queries happened earlier +than the re-scan interval allowed. + +Address review feedback: Shorten the time-to-scan logic + +We can express this in a single if statement, so it takes fewer lines +to do the "should we check again" check. +--- + readjson.go | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) + +diff --git a/readjson.go b/readjson.go +index da35448..c9996fd 100644 +--- a/readjson.go ++++ b/readjson.go +@@ -78,14 +78,7 @@ func readData(device string) (gjson.Result, error) { + + if _, err := os.Stat(device); err == nil { + cacheValue, cacheOk := jsonCache[device] +- timeToScan := false +- if cacheOk { +- timeToScan = time.Now().After(cacheValue.LastCollect.Add(options.SMARTctl.CollectPeriodDuration)) +- } else { +- timeToScan = true +- } +- +- if timeToScan { ++ if !cacheOk || time.Now().After(cacheValue.LastCollect.Add(options.SMARTctl.CollectPeriodDuration)) { + json, ok := readSMARTctl(device) + if ok { + jsonCache[device] = JSONCache{JSON: json, LastCollect: time.Now()} +@@ -93,7 +86,7 @@ func readData(device string) (gjson.Result, error) { + } + return gjson.Parse(DEFAULT_EMPTY_JSON), fmt.Errorf("smartctl returned bad data for device %s", device) + } +- return gjson.Parse(DEFAULT_EMPTY_JSON), fmt.Errorf("Too early collect called for device %s", device) ++ return cacheValue.JSON, nil + } + return gjson.Parse(DEFAULT_EMPTY_JSON), fmt.Errorf("Device %s unavialable", device) + } +-- +2.33.1 + diff --git a/pkgs/servers/monitoring/prometheus/smartctl-exporter/default.nix b/pkgs/servers/monitoring/prometheus/smartctl-exporter/default.nix new file mode 100644 index 000000000000..45315a0f3d76 --- /dev/null +++ b/pkgs/servers/monitoring/prometheus/smartctl-exporter/default.nix @@ -0,0 +1,41 @@ +{ lib +, fetchFromGitHub +, fetchpatch +, buildGoModule +}: + +buildGoModule rec { + pname = "smartctl_exporter"; + version = "unstable-2020-11-14"; + + src = fetchFromGitHub { + owner = "prometheus-community"; + repo = pname; + rev = "e27581d56ad80340fb076d3ce22cef337ed76679"; + sha256 = "sha256-iWaFDjVLBIAA9zGe0utbuvmEdA3R5lge0iCh3j2JfE8="; + }; + + patches = [ + # Fixes out of range panic (https://github.com/prometheus-community/smartctl_exporter/issues/19) + (fetchpatch { + url = "https://github.com/prometheus-community/smartctl_exporter/commit/15575301a8e2fe5802a8c066c6fa9765d50b8cfa.patch"; + sha256 = "sha256-HLUrGXNz3uKpuQBUgQBSw6EGbGl23hQnimTGl64M5bQ="; + }) + # Fix validation on empty smartctl response (https://github.com/prometheus-community/smartctl_exporter/pull/31) + (fetchpatch { + url = "https://github.com/prometheus-community/smartctl_exporter/commit/744b4e5f6a46e029d31d5aa46642e85f429c2cfa.patch"; + sha256 = "sha256-MgLtYR1SpM6XrZQQ3AgQRmNF3OnaBCqXMJRV9BOzKPc="; + }) + # Fixes missing metrics if outside of query interval (https://github.com/prometheus-community/smartctl_exporter/pull/18) + ./0001-Return-the-cached-value-if-it-s-not-time-to-scan-aga.patch + ]; + + vendorSha256 = "1xhrzkfm2p20k7prgdfax4408g4qpa4wbxigmcmfz7kjg2zi88ld"; + + meta = with lib; { + description = "Export smartctl statistics for Prometheus"; + homepage = "https://github.com/prometheus-community/smartctl_exporter"; + license = licenses.lgpl3; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/servers/neard/default.nix b/pkgs/servers/neard/default.nix index 9e9ccb9700ee..d41603873e9f 100644 --- a/pkgs/servers/neard/default.nix +++ b/pkgs/servers/neard/default.nix @@ -1,26 +1,63 @@ -{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, systemd, glib, dbus, libnl, python3Packages }: +{ stdenv +, lib +, fetchurl +, autoreconfHook +, autoconf-archive +, pkg-config +, systemd +, glib +, dbus +, libnl +, python2Packages +}: stdenv.mkDerivation rec { pname = "neard"; - version = "0.16"; + version = "0.18"; + + outputs = [ "out" "dev" ]; src = fetchurl { url = "https://git.kernel.org/pub/scm/network/nfc/neard.git/snapshot/neard-${version}.tar.gz"; - sha256 = "0bpdmyxvd3z54p95apz4bjb5jp8hbc04sicjapcryjwa8mh6pbil"; + sha256 = "wBPjEVMV4uEdFrXw8cjOmvvNuiaACq2RJF/ZtKXck4s="; }; - nativeBuildInputs = [ autoreconfHook pkg-config python3Packages.wrapPython ]; - buildInputs = [ systemd glib dbus libnl ] ++ (with python3Packages; [ python ]); - pythonPath = with python3Packages; [ pygobject3 dbus-python ]; + nativeBuildInputs = [ + autoreconfHook + autoconf-archive + pkg-config + python2Packages.wrapPython + ]; + + buildInputs = [ + systemd + glib + dbus + libnl + ] ++ (with python2Packages; [ + python + ]); + + pythonPath = with python2Packages; [ + pygobject2 + dbus-python + pygtk + ]; strictDeps = true; - configureFlags = [ "--disable-debug" "--enable-tools" "--enable-ese" "--with-systemdsystemunitdir=$out/lib/systemd/system" ]; + enableParallelBuilding = true; + + configureFlags = [ + "--disable-debug" + "--enable-tools" + "--enable-ese" + "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system" + ]; postInstall = '' install -m 0755 tools/snep-send $out/bin/ - install -D -m644 src/neard.service $out/lib/systemd/system/neard.service install -D -m644 src/main.conf $out/etc/neard/main.conf # INFO: the config option "--enable-test" would copy the apps to $out/lib/neard/test/ instead @@ -31,9 +68,9 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Near Field Communication manager"; - homepage = "https://01.org/linux-nfc"; - license = licenses.gpl2; - maintainers = with maintainers; [ tstrobel ]; - platforms = platforms.unix; + homepage = "https://01.org/linux-nfc"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ jtojnar tstrobel ]; + platforms = platforms.unix; }; } diff --git a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix index 34654a3d0430..fb62bdd94eee 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, postgresql, openssl, zlib, readline, libkrb5 }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, postgresql, openssl, zlib, readline, libkrb5 }: stdenv.mkDerivation rec { pname = "pg_auto_failover"; @@ -11,6 +11,16 @@ stdenv.mkDerivation rec { sha256 = "sha256-hGpcHV4ai9mxaJ/u/o9LNFWPGsW22W7ak2pbvAUgmwU="; }; + patches = [ + # Pull upstream fix for ncurses-6.3 support: + # https://github.com/citusdata/pg_auto_failover/pull/830 + (fetchpatch { + name = "ncurses-6.3.patch"; + url = "https://github.com/citusdata/pg_auto_failover/commit/fc92546965437a6d5f82ed9a6bdc8204a3bca725.patch"; + sha256 = "sha256-t4DC/d/2s/Mc44rpFxBMOWGhACG0s5wAWyeDD7Mefo8="; + }) + ]; + buildInputs = [ postgresql openssl zlib readline libkrb5 ]; installPhase = '' diff --git a/pkgs/shells/fish/plugins/fzf-fish.nix b/pkgs/shells/fish/plugins/fzf-fish.nix index 3547af490e6a..9fbc09a831db 100644 --- a/pkgs/shells/fish/plugins/fzf-fish.nix +++ b/pkgs/shells/fish/plugins/fzf-fish.nix @@ -2,13 +2,13 @@ buildFishPlugin rec { pname = "fzf.fish"; - version = "7.3"; + version = "7.4"; src = fetchFromGitHub { owner = "PatrickF1"; repo = "fzf.fish"; rev = "v${version}"; - sha256 = "16mdfyznxjhv7x561srl559misn37a35d2q9fspxa7qg1d0sc3x9"; + sha256 = "sha256-dngAKzyD+lmqmxsCSOMViyCgA/+Ve35gLtPS+Lgs8Pc="; }; checkInputs = [ fzf fd util-linux ]; diff --git a/pkgs/shells/loksh/default.nix b/pkgs/shells/loksh/default.nix index d8463d1773c4..b9f7d5ef7e7f 100644 --- a/pkgs/shells/loksh/default.nix +++ b/pkgs/shells/loksh/default.nix @@ -9,14 +9,14 @@ stdenv.mkDerivation rec { pname = "loksh"; - version = "6.9"; + version = "7.0"; src = fetchFromGitHub { owner = "dimkr"; repo = pname; rev = version; fetchSubmodules = true; - sha256 = "0x33plxqhh5202hgqidgccz5hpg8d2q71ylgnm437g60mfi9z0px"; + sha256 = "sha256-q5RiY9/xEFCk+oHlxgNwDOB+TNjRWHKzU2kQH2LjCWY="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/audio/kaldi/default.nix b/pkgs/tools/audio/kaldi/default.nix index ef725408b13e..662a6f2b5348 100644 --- a/pkgs/tools/audio/kaldi/default.nix +++ b/pkgs/tools/audio/kaldi/default.nix @@ -17,19 +17,19 @@ let openfst = fetchFromGitHub { owner = "kkm000"; repo = "openfst"; - rev = "0bca6e76d24647427356dc242b0adbf3b5f1a8d9"; - sha256 = "1802rr14a03zl1wa5a0x1fa412kcvbgprgkadfj5s6s3agnn11rx"; + rev = "338225416178ac36b8002d70387f5556e44c8d05"; + sha256 = "sha256-MGEUuw7ex+WcujVdxpO2Bf5sB6Z0edcAeLGqW/Lo1Hs="; }; in stdenv.mkDerivation { pname = "kaldi"; - version = "2020-12-26"; + version = "2021-12-03"; src = fetchFromGitHub { owner = "kaldi-asr"; repo = "kaldi"; - rev = "813b73185a18725e4f6021981d17221d6ee23a19"; - sha256 = "sha256-lTqXTG5ZTPmhCgt+BVzOwjKEIj+bLGUa+IxJq+XtHUg="; + rev = "2b016ab8cb018e031ab3bf01ec36cc2950c7e509"; + sha256 = "sha256-R8CrY7cwU5XfeGEgeFuZ0ApsEcEmWN/lrZaCjz85tyk="; }; cmakeFlags = [ @@ -37,6 +37,8 @@ stdenv.mkDerivation { "-DBUILD_SHARED_LIBS=on" ]; + enableParallelBuilding = true; + preConfigure = '' mkdir bin cat > bin/git <<'EOF' diff --git a/pkgs/tools/backup/s3ql/default.nix b/pkgs/tools/backup/s3ql/default.nix index 00d3b427d60e..50b5279383db 100644 --- a/pkgs/tools/backup/s3ql/default.nix +++ b/pkgs/tools/backup/s3ql/default.nix @@ -2,13 +2,13 @@ python3Packages.buildPythonApplication rec { pname = "s3ql"; - version = "3.7.3"; + version = "3.8.0"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "release-${version}"; - sha256 = "042fvkvranfnv2xxxz9d92cgia14p1hwmpjgm0rr94pjd36n1sfs"; + sha256 = "0a6ll5vs7faj1klfz3j674399qfbhy3blp3c5wwsqvcdkpcjcx11"; }; checkInputs = [ which ] ++ (with python3Packages; [ cython pytest pytest-trio ]); diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix index 793204014541..7b044fd0dd99 100644 --- a/pkgs/tools/misc/autorandr/default.nix +++ b/pkgs/tools/misc/autorandr/default.nix @@ -2,7 +2,8 @@ , python3Packages , fetchFromGitHub , systemd -, xrandr }: +, xrandr +, installShellFiles }: stdenv.mkDerivation rec { pname = "autorandr"; @@ -10,6 +11,8 @@ stdenv.mkDerivation rec { buildInputs = [ python3Packages.python ]; + nativeBuildInputs = [ installShellFiles ]; + # no wrapper, as autorandr --batch does os.environ.clear() buildPhase = '' substituteInPlace autorandr.py \ @@ -23,7 +26,12 @@ stdenv.mkDerivation rec { runHook preInstall make install TARGETS='autorandr' PREFIX=$out - make install TARGETS='bash_completion' DESTDIR=$out/share/bash-completion/completions + # zsh completions exist but currently have no make target, use + # installShellCompletions for both + # see https://github.com/phillipberndt/autorandr/issues/197 + installShellCompletion --cmd autorandr \ + --bash contrib/bash_completion/autorandr \ + --zsh contrib/zsh_completion/_autorandr make install TARGETS='autostart_config' PREFIX=$out DESTDIR=$out diff --git a/pkgs/tools/misc/clickclack/default.nix b/pkgs/tools/misc/clickclack/default.nix index 75518e554ca8..0bcea9a2e8ea 100644 --- a/pkgs/tools/misc/clickclack/default.nix +++ b/pkgs/tools/misc/clickclack/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "clickclack"; - version = "0.1.1"; + version = "0.2"; src = fetchFromSourcehut { owner = "~proycon"; repo = "clickclack"; rev = version; - sha256 = "1q8r0ng1bld5n82gh7my7ck90f4plf8vf019hm2wz475dl38izd5"; + sha256 = "sha256-hldtHSRdw6yP9lUFna5yvJ3mOTbQbbQNnGM7fMQmmtM="; }; buildInputs = [ diff --git a/pkgs/tools/misc/gitlint/default.nix b/pkgs/tools/misc/gitlint/default.nix index 23420a654a1c..c32171585969 100644 --- a/pkgs/tools/misc/gitlint/default.nix +++ b/pkgs/tools/misc/gitlint/default.nix @@ -5,58 +5,40 @@ , python3 }: -let - py = python3.override { - packageOverrides = self: super: { - - click = super.click.overridePythonAttrs (oldAttrs: rec { - version = "8.0.1"; - src = oldAttrs.src.override { - inherit version; - sha256 = "0ymdyf37acq4qxh038q0xx44qgj6y2kf0jd0ivvix6qij88w214c"; - }; - }); - - arrow = super.arrow.overridePythonAttrs (oldAttrs: rec { - version = "1.2.0"; - src = oldAttrs.src.override { - inherit version; - sha256 = "0x70a057dqki2z1ny491ixbg980hg4lihc7g1zmy69g4v6xjkz0n"; - }; - }); - - }; - }; -in -with py.pkgs; - -buildPythonApplication rec { +python3.pkgs.buildPythonApplication rec { pname = "gitlint"; - version = "0.16.0"; + version = "0.17.0"; src = fetchFromGitHub { owner = "jorisroovers"; repo = "gitlint"; rev = "v${version}"; - sha256 = "1j6gfgqin5dmqd2qq0vib55d2r07s9sy4hwrvwlichxx5jjwncly"; + sha256 = "sha256-RXBMb43BBiJ23X0eKC1kqgLw8iFKJnP5iejY0AWcUrU="; }; - nativeBuildInputs = [ - wheel - ]; + # Upstream splitted the project into gitlint and gitlint-core to + # simplify the dependency handling + sourceRoot = "source/gitlint-core"; - propagatedBuildInputs = [ + propagatedBuildInputs = with python3.pkgs; [ arrow click sh ]; - preCheck = '' - export PATH="$out/bin:$PATH" + checkInputs = with python3.pkgs; [ + gitMinimal + pytestCheckHook + ]; + + postPatch = '' + # We don't need gitlint-core + substituteInPlace setup.py \ + --replace "'gitlint-core[trusted-deps]==' + version," "" ''; - checkInputs = [ - gitMinimal + pythonImportsCheck = [ + "gitlint" ]; meta = with lib; { diff --git a/pkgs/tools/misc/mdbtools/default.nix b/pkgs/tools/misc/mdbtools/default.nix index 7eb57863575f..b03ac6c785fe 100644 --- a/pkgs/tools/misc/mdbtools/default.nix +++ b/pkgs/tools/misc/mdbtools/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "mdbtools"; - version = "0.9.4"; + version = "1.0.0"; src = fetchFromGitHub { owner = "mdbtools"; repo = "mdbtools"; rev = "v${version}"; - sha256 = "sha256-Hnub8h0a3qx5cxVn1tp/IVbz9aORjGGWizD3Z4rPl2s="; + sha256 = "sha256-e9rgTWu8cwuccpp/wAfas1ZeQPTpGcgE6YjLz7KRnhw="; }; configureFlags = [ "--disable-scrollkeeper" ]; diff --git a/pkgs/tools/misc/steampipe/default.nix b/pkgs/tools/misc/steampipe/default.nix index 4885b48b339c..c85486dcf17d 100644 --- a/pkgs/tools/misc/steampipe/default.nix +++ b/pkgs/tools/misc/steampipe/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "steampipe"; - version = "0.9.1"; + version = "0.10.0"; src = fetchFromGitHub { owner = "turbot"; repo = "steampipe"; rev = "v${version}"; - sha256 = "sha256-asAqRCJdy8HmzWzuE9nSvxqo6EVY8tkljzEFAClogrs="; + sha256 = "sha256-Hg9GvHB2eTcOUUC/WLpks9TUWivoV6KxXcWWBWne5Lg="; }; - vendorSha256 = "sha256-3JBCiF1gxGCVn81s7abGvNIAy+eP7orAnSBOXUNImao="; + vendorSha256 = "sha256-akMUJcAoUGHz3FzDJlMUYtHXrtvU0JMiRfqhTm4IEpA="; # tests are failing for no obvious reasons doCheck = false; diff --git a/pkgs/tools/misc/trillian/default.nix b/pkgs/tools/misc/trillian/default.nix index 9959fe9375be..f86ad7a909a6 100644 --- a/pkgs/tools/misc/trillian/default.nix +++ b/pkgs/tools/misc/trillian/default.nix @@ -5,14 +5,14 @@ buildGoModule rec { pname = "trillian"; - version = "1.3.13"; - vendorSha256 = "1ad0vaw0k57njzk9x233iqjbplyvw66qjk8r9j7sx87pdc6a4lpb"; + version = "1.4.0"; + vendorSha256 = "sha256-n5PD3CGgNGrqSYLJS+3joGFNue2fF/tdimC6CtO15yU="; src = fetchFromGitHub { owner = "google"; repo = pname; rev = "v${version}"; - sha256 = "1ns394yd4js9g1psd1dkrffidyzixqvjp5lhw2x2iycrxbnm3y44"; + sha256 = "sha256-c7Sii6GMWZOeD46OwdkXU/wt9zY+EyPSnahYPJQKJcA="; }; subPackages = [ diff --git a/pkgs/tools/networking/ytcc/default.nix b/pkgs/tools/networking/ytcc/default.nix index 9062caa11d58..46b6e649b5c6 100644 --- a/pkgs/tools/networking/ytcc/default.nix +++ b/pkgs/tools/networking/ytcc/default.nix @@ -2,27 +2,20 @@ python3Packages.buildPythonApplication rec { pname = "ytcc"; - version = "2.5.3"; + version = "2.5.4"; src = fetchFromGitHub { owner = "woefe"; repo = "ytcc"; rev = "v${version}"; - sha256 = "1skhg8ca2bjjfi02pjsi3w7v3f4xhzg7bqyy0cajxsymzqzqp7lm"; + sha256 = "sha256-nYHfmksZnIZGMSSFDhW7ajvv1F5h3aJo8IXw6yYOEw0="; }; - postPatch = '' - substituteInPlace setup.py --replace "youtube_dl" "yt_dlp" - ''; - nativeBuildInputs = [ gettext installShellFiles ]; propagatedBuildInputs = with python3Packages; [ - click - feedparser - lxml - sqlalchemy yt-dlp + click wcwidth ]; diff --git a/pkgs/tools/package-management/apk-tools/default.nix b/pkgs/tools/package-management/apk-tools/default.nix index 8d8645de2deb..eda95f25529c 100644 --- a/pkgs/tools/package-management/apk-tools/default.nix +++ b/pkgs/tools/package-management/apk-tools/default.nix @@ -4,14 +4,14 @@ stdenv.mkDerivation rec { pname = "apk-tools"; - version = "2.12.7"; + version = "2.12.8"; src = fetchFromGitLab { domain = "gitlab.alpinelinux.org"; owner = "alpine"; repo = "apk-tools"; rev = "v${version}"; - sha256 = "sha256-sGAsC5HZV5jaaUXgaPDUf4+vDL4zSGldzhykpdZlFS4="; + sha256 = "1bqrvdyqqllzsyx9gdkqmd17wxcmli6ljwxxa8wj9gzg9pqhlhqz"; }; nativeBuildInputs = [ pkg-config scdoc ] diff --git a/pkgs/tools/security/beyond-identity/default.nix b/pkgs/tools/security/beyond-identity/default.nix new file mode 100644 index 000000000000..121c71fab351 --- /dev/null +++ b/pkgs/tools/security/beyond-identity/default.nix @@ -0,0 +1,89 @@ +{ lib, stdenv, fetchurl, dpkg, buildFHSUserEnv +, glibc, glib, openssl, tpm2-tss +, gtk3, gnome, polkit, polkit_gnome +}: + +let + pname = "beyond-identity"; + version = "2.45.0-0"; + libPath = lib.makeLibraryPath ([ glib glibc openssl tpm2-tss gtk3 gnome.gnome-keyring polkit polkit_gnome ]); + meta = with lib; { + description = "Passwordless MFA identities for workforces, customers, and developers"; + homepage = "https://www.beyondidentity.com"; + downloadPage = "https://app.byndid.com/downloads"; + license = licenses.unfree; + maintainers = with maintainers; [ klden ]; + platforms = [ "x86_64-linux" ]; + }; + + beyond-identity = stdenv.mkDerivation { + inherit pname version meta; + + src = fetchurl { + url = "https://packages.beyondidentity.com/public/linux-authenticator/deb/ubuntu/pool/focal/main/b/be/${pname}_${version}/${pname}_${version}_amd64.deb"; + sha512 = "852689d473b7538cdca60d264295f39972491b5505accad897fd924504189f0a6d8b6481cc0520ee762d4642e0f4fd664a03b5741f9ea513ec46ab16b05158f2"; + }; + + nativeBuildInputs = [ + dpkg + ]; + + unpackPhase = '' + dpkg -x $src . + ''; + + installPhase = '' + mkdir -p $out/opt/beyond-identity + + rm -rf usr/share/doc + + # https://github.com/NixOS/nixpkgs/issues/42117 + sed -i -e 's/auth_self/yes/g' usr/share/polkit-1/actions/com.beyondidentity.endpoint.stepup.policy + + cp -ar usr/{bin,share} $out + cp -ar opt/beyond-identity/bin $out/opt/beyond-identity + + ln -s $out/opt/beyond-identity/bin/* $out/bin/ + ''; + + postFixup = '' + substituteInPlace \ + $out/share/applications/com.beyondidentity.endpoint.BeyondIdentity.desktop \ + --replace /usr/bin/ $out/bin/ + substituteInPlace \ + $out/share/applications/com.beyondidentity.endpoint.webserver.BeyondIdentity.desktop \ + --replace /opt/ $out/opt/ + substituteInPlace \ + $out/opt/beyond-identity/bin/byndid-web \ + --replace /opt/ $out/opt/ + substituteInPlace \ + $out/bin/beyond-identity \ + --replace /opt/ $out/opt/ \ + --replace /usr/bin/gtk-launch ${gtk3}/bin/gtk-launch + + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${libPath}" \ + --force-rpath \ + $out/bin/byndid + ''; + }; +# /usr/bin/pkcheck is hardcoded in binary - we need FHS +in buildFHSUserEnv { + inherit meta; + name = pname; + + targetPkgs = pkgs: [ + beyond-identity + glib glibc openssl tpm2-tss + gtk3 gnome.gnome-keyring + polkit polkit_gnome + ]; + + extraInstallCommands = '' + ln -s ${beyond-identity}/share $out + ''; + + runScript = "beyond-identity"; +} + diff --git a/pkgs/tools/security/kubeaudit/default.nix b/pkgs/tools/security/kubeaudit/default.nix new file mode 100644 index 000000000000..76cf9f65c36c --- /dev/null +++ b/pkgs/tools/security/kubeaudit/default.nix @@ -0,0 +1,32 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "kubeaudit"; + version = "0.16.0"; + + src = fetchFromGitHub { + owner = "Shopify"; + repo = pname; + rev = version; + sha256 = "sha256-AIvH9HF0Ha1b+NZiJmiT6beYuKnCqJMXKzDFUzV9J4c="; + }; + + vendorSha256 = "sha256-XrEzkhQU/KPElQNgCX6yWDMQXZSd3lRXmUDJpsj5ACY="; + + postInstall = '' + mv $out/bin/cmd $out/bin/$pname + ''; + + # Tests require a running Kubernetes instance + doCheck = false; + + meta = with lib; { + description = "Audit tool for Kubernetes"; + homepage = "https://github.com/Shopify/kubeaudit"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix index 87be68c9975b..d6cc09acb798 100644 --- a/pkgs/tools/security/tor/default.nix +++ b/pkgs/tools/security/tor/default.nix @@ -61,7 +61,14 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - doCheck = true; + # disable tests on aarch64-darwin, the following tests fail there: + # oom/circbuf: [forking] + # FAIL src/test/test_oom.c:187: assert(c1->marked_for_close) + # [circbuf FAILED] + # oom/streambuf: [forking] + # FAIL src/test/test_oom.c:287: assert(x_ OP_GE 500 - 5): 0 vs 495 + # [streambuf FAILED] + doCheck = !(stdenv.isDarwin && stdenv.isAarch64); postInstall = '' mkdir -p $geoip/share/tor diff --git a/pkgs/tools/security/tor/disable-monotonic-timer-tests.patch b/pkgs/tools/security/tor/disable-monotonic-timer-tests.patch index a95a373bbb64..bb124c394f25 100644 --- a/pkgs/tools/security/tor/disable-monotonic-timer-tests.patch +++ b/pkgs/tools/security/tor/disable-monotonic-timer-tests.patch @@ -2,7 +2,7 @@ diff --git a/src/test/test_util.c b/src/test/test_util.c index 0d86a5ab5..e93c6ba89 100644 --- a/src/test/test_util.c +++ b/src/test/test_util.c -@@ -5829,13 +5829,9 @@ test_util_monotonic_time(void *arg) +@@ -6490,13 +6490,9 @@ test_util_monotonic_time(void *arg) /* We need to be a little careful here since we don't know the system load. */ tt_i64_op(monotime_diff_msec(&mt1, &mt2), OP_GE, 175); @@ -16,11 +16,33 @@ index 0d86a5ab5..e93c6ba89 100644 tt_u64_op(msec1, OP_GE, nsec1 / 1000000); tt_u64_op(usec1, OP_GE, nsec1 / 1000); -@@ -5849,7 +5845,6 @@ test_util_monotonic_time(void *arg) +@@ -6509,8 +6509,6 @@ test_util_monotonic_time(void *arg) + uint64_t coarse_stamp_diff = monotime_coarse_stamp_units_to_approx_msec(stamp2-stamp1); - tt_u64_op(coarse_stamp_diff, OP_GE, 120); +- tt_u64_op(coarse_stamp_diff, OP_GE, 120); - tt_u64_op(coarse_stamp_diff, OP_LE, 1200); { uint64_t units = monotime_msec_to_approx_coarse_stamp_units(5000); +@@ -6515,8 +6515,8 @@ test_util_monotonic_time(void *arg) + { + uint64_t units = monotime_msec_to_approx_coarse_stamp_units(5000); + uint64_t ms = monotime_coarse_stamp_units_to_approx_msec(units); +- tt_u64_op(ms, OP_GE, 4950); +- tt_u64_op(ms, OP_LT, 5050); ++ tt_u64_op(ms, OP_GE, 4000); ++ tt_u64_op(ms, OP_LT, 6000); + } + + done: +@@ -6640,9 +6640,6 @@ test_util_monotonic_time_add_msec(void *arg) + monotime_coarse_add_msec(&ct2, &ct1, 1337); + tt_i64_op(monotime_diff_msec(&t1, &t2), OP_EQ, 1337); + tt_i64_op(monotime_coarse_diff_msec(&ct1, &ct2), OP_EQ, 1337); +- // The 32-bit variant must be within 1% of the regular one. +- tt_int_op(monotime_coarse_diff_msec32_(&ct1, &ct2), OP_GT, 1323); +- tt_int_op(monotime_coarse_diff_msec32_(&ct1, &ct2), OP_LT, 1350); + + /* Add 1337 msec twice more; make sure that any second rollover issues + * worked. */ diff --git a/pkgs/tools/virtualization/alpine-make-vm-image/default.nix b/pkgs/tools/virtualization/alpine-make-vm-image/default.nix index 239a00a665d8..f6cfe011488c 100644 --- a/pkgs/tools/virtualization/alpine-make-vm-image/default.nix +++ b/pkgs/tools/virtualization/alpine-make-vm-image/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation rec { pname = "alpine-make-vm-image"; - version = "0.7.0"; + version = "0.8.0"; src = fetchFromGitHub { owner = "alpinelinux"; repo = "alpine-make-vm-image"; rev = "v${version}"; - sha256 = "0cjcwq957nsml06kdnnvgzki84agjfvqw3mpyiix4i4q5by91lcl"; + sha256 = "14rkqlg319h8agiydgknjfv2f7vl6rdj848xfkngvydrf1rr38j6"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/wayland/wl-clipboard-x11/default.nix b/pkgs/tools/wayland/wl-clipboard-x11/default.nix new file mode 100644 index 000000000000..5e87342dff89 --- /dev/null +++ b/pkgs/tools/wayland/wl-clipboard-x11/default.nix @@ -0,0 +1,29 @@ +{ lib, stdenv, fetchFromGitHub, wl-clipboard }: + +stdenv.mkDerivation rec { + pname = "wl-clipboard-x11"; + version = "5"; + + src = fetchFromGitHub { + owner = "brunelli"; + repo = pname; + rev = "v${version}"; + hash = "sha256-i+oF1Mu72O5WPTWzqsvo4l2CERWWp4Jq/U0DffPZ8vg="; + }; + + makeFlags = [ "PREFIX=${placeholder "out"}" ]; + + postPatch = '' + substituteInPlace src/wl-clipboard-x11 \ + --replace '$(command -v wl-copy)' ${wl-clipboard}/bin/wl-copy \ + --replace '$(command -v wl-paste)' ${wl-clipboard}/bin/wl-paste + ''; + + meta = with lib; { + description = "A wrapper to use wl-clipboard as a drop-in replacement for X11 clipboard tools"; + homepage = "https://github.com/brunelli/wl-clipboard-x11"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ samuelgrf ]; + mainProgram = "xclip"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 71f62080ab7f..d7838db410f1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -206,6 +206,8 @@ with pkgs; bakelite = callPackage ../tools/backup/bakelite { }; + beyond-identity = callPackage ../tools/security/beyond-identity {}; + breakpad = callPackage ../development/misc/breakpad { }; buf = callPackage ../development/tools/buf { }; @@ -1703,6 +1705,8 @@ with pkgs; foxdot = with python3Packages; toPythonApplication foxdot; + fspy = callPackage ../applications/misc/fspy { }; + fxlinuxprintutil = callPackage ../tools/misc/fxlinuxprintutil { }; genann = callPackage ../development/libraries/genann { }; @@ -1843,6 +1847,8 @@ with pkgs; mdr = callPackage ../tools/misc/mdr { }; + mobilecoin-wallet = callPackage ../applications/misc/mobilecoin-wallet { }; + mpdevil = callPackage ../applications/audio/mpdevil { }; pacparser = callPackage ../tools/networking/pacparser { }; @@ -2561,6 +2567,8 @@ with pkgs; wl-clipboard = callPackage ../tools/wayland/wl-clipboard { }; + wl-clipboard-x11 = callPackage ../tools/wayland/wl-clipboard-x11 { }; + wl-mirror = callPackage ../tools/wayland/wl-mirror { }; wlogout = callPackage ../tools/wayland/wlogout { }; @@ -2676,6 +2684,8 @@ with pkgs; datovka = libsForQt5.callPackage ../applications/networking/datovka { }; + dave = callPackage ../servers/http/dave { }; + dconf = callPackage ../development/libraries/dconf { }; dcw-gmt = callPackage ../applications/gis/gmt/dcw.nix { }; @@ -3144,6 +3154,8 @@ with pkgs; hebcal = callPackage ../tools/misc/hebcal {}; + heroic = callPackage ../games/heroic {}; + hexio = callPackage ../development/tools/hexio { }; hexyl = callPackage ../tools/misc/hexyl { }; @@ -11643,7 +11655,7 @@ with pkgs; flutter = flutterPackages.stable; fnm = callPackage ../development/tools/fnm { - inherit (darwin.apple_sdk.frameworks) Security; + inherit (darwin.apple_sdk.frameworks) DiskArbitration Foundation Security; }; fnlfmt = callPackage ../development/tools/fnlfmt { }; @@ -14783,6 +14795,8 @@ with pkgs; kube-aws = callPackage ../development/tools/kube-aws { }; + kubeaudit = callPackage ../tools/security/kubeaudit { }; + kubectx = callPackage ../development/tools/kubectx { }; kube-prompt = callPackage ../development/tools/kube-prompt { }; @@ -15401,9 +15415,7 @@ with pkgs; ttyd = callPackage ../servers/ttyd { }; - turbogit = callPackage ../development/tools/turbogit { - libgit2 = libgit2_1_1; # git2go only supports v1.1.x - }; + turbogit = callPackage ../development/tools/turbogit { }; tweak = callPackage ../applications/editors/tweak { }; @@ -21401,6 +21413,7 @@ with pkgs; prometheus-rabbitmq-exporter = callPackage ../servers/monitoring/prometheus/rabbitmq-exporter.nix { }; prometheus-rtl_433-exporter = callPackage ../servers/monitoring/prometheus/rtl_433-exporter.nix { }; prometheus-script-exporter = callPackage ../servers/monitoring/prometheus/script-exporter.nix { }; + prometheus-smartctl-exporter = callPackage ../servers/monitoring/prometheus/smartctl-exporter { }; prometheus-smokeping-prober = callPackage ../servers/monitoring/prometheus/smokeping-prober.nix { }; prometheus-snmp-exporter = callPackage ../servers/monitoring/prometheus/snmp-exporter.nix { }; prometheus-statsd-exporter = callPackage ../servers/monitoring/prometheus/statsd-exporter.nix { }; @@ -23403,6 +23416,8 @@ with pkgs; material-icons = callPackage ../data/fonts/material-icons { }; + material-kwin-decoration = libsForQt5.callPackage ../data/themes/material-kwin-decoration { }; + meslo-lg = callPackage ../data/fonts/meslo-lg {}; meslo-lgs-nf = callPackage ../data/fonts/meslo-lgs-nf {}; @@ -24874,6 +24889,8 @@ with pkgs; icesl = callPackage ../applications/misc/icesl { }; + kalendar = libsForQt5.callPackage ../applications/office/kalendar { }; + keepassx = callPackage ../applications/misc/keepassx { }; keepassx2 = callPackage ../applications/misc/keepassx/2.0.nix { }; keepassxc = libsForQt5.callPackage ../applications/misc/keepassx/community.nix { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6569bf250ddb..b05183e99425 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2470,6 +2470,8 @@ in { emoji = callPackage ../development/python-modules/emoji { }; + empy = callPackage ../development/python-modules/empy { }; + emulated-roku = callPackage ../development/python-modules/emulated-roku { }; enaml = callPackage ../development/python-modules/enaml { }; @@ -10143,7 +10145,9 @@ in { xdis = callPackage ../development/python-modules/xdis { }; - xdot = callPackage ../development/python-modules/xdot { }; + xdot = callPackage ../development/python-modules/xdot { + inherit (pkgs) graphviz; + }; xenomapper = callPackage ../applications/science/biology/xenomapper { };