diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md index 0f63f9c555dc..996dcea58adb 100644 --- a/nixos/doc/manual/release-notes/rl-2305.section.md +++ b/nixos/doc/manual/release-notes/rl-2305.section.md @@ -33,6 +33,7 @@ In addition to numerous new and upgraded packages, this release has the followin - [Cloudlog](https://www.magicbug.co.uk/cloudlog/), a web-based Amateur Radio logging application. Available as [services.cloudlog](#opt-services.cloudlog.enable). - [fzf](https://github.com/junegunn/fzf), a command line fuzzyfinder. Available as [programs.fzf](#opt-programs.fzf.fuzzyCompletion). +- [readarr](https://github.com/Readarr/Readarr), Book Manager and Automation (Sonarr for Ebooks). Available as [services.readarr](options.html#opt-services.readarr.enable). - [gemstash](https://github.com/rubygems/gemstash), a RubyGems.org cache and private gem server. Available as [services.gemstash](#opt-services.gemstash.enable). diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index e1e30c99a447..69fb14a1fef4 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -665,6 +665,7 @@ ./services/misc/prowlarr.nix ./services/misc/pykms.nix ./services/misc/radarr.nix + ./services/misc/readarr.nix ./services/misc/redmine.nix ./services/misc/ripple-data-api.nix ./services/misc/rippled.nix @@ -803,6 +804,7 @@ ./services/networking/bitlbee.nix ./services/networking/blockbook-frontend.nix ./services/networking/blocky.nix + ./services/networking/cgit.nix ./services/networking/charybdis.nix ./services/networking/chisel-server.nix ./services/networking/cjdns.nix diff --git a/nixos/modules/services/misc/readarr.nix b/nixos/modules/services/misc/readarr.nix new file mode 100644 index 000000000000..dd4fef6e598d --- /dev/null +++ b/nixos/modules/services/misc/readarr.nix @@ -0,0 +1,88 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.services.readarr; +in +{ + options = { + services.readarr = { + enable = mkEnableOption (lib.mdDoc "Readarr"); + + dataDir = mkOption { + type = types.str; + default = "/var/lib/readarr/"; + description = lib.mdDoc "The directory where Readarr stores its data files."; + }; + + package = mkOption { + type = types.package; + default = pkgs.readarr; + defaultText = literalExpression "pkgs.readarr"; + description = lib.mdDoc "The Readarr package to use"; + }; + + openFirewall = mkOption { + type = types.bool; + default = false; + description = lib.mdDoc '' + Open ports in the firewall for Readarr + ''; + }; + + user = mkOption { + type = types.str; + default = "readarr"; + description = lib.mdDoc '' + User account under which Readarr runs. + ''; + }; + + group = mkOption { + type = types.str; + default = "readarr"; + description = lib.mdDoc '' + Group under which Readarr runs. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.tmpfiles.rules = [ + "d '${cfg.dataDir}' 0700 ${cfg.user} ${cfg.group} - -" + ]; + + systemd.services.readarr = { + description = "Readarr"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + Type = "simple"; + User = cfg.user; + Group = cfg.group; + ExecStart = "${cfg.package}/bin/Readarr -nobrowser -data='${cfg.dataDir}'"; + Restart = "on-failure"; + }; + }; + + networking.firewall = mkIf cfg.openFirewall { + allowedTCPPorts = [ 8787 ]; + }; + + users.users = mkIf (cfg.user == "readarr") { + readarr = { + description = "Readarr service"; + home = cfg.dataDir; + group = cfg.group; + isSystemUser = true; + }; + }; + + users.groups = mkIf (cfg.group == "readarr") { + readarr = { }; + }; + }; +} diff --git a/nixos/modules/services/networking/cgit.nix b/nixos/modules/services/networking/cgit.nix new file mode 100644 index 000000000000..672b0b030eee --- /dev/null +++ b/nixos/modules/services/networking/cgit.nix @@ -0,0 +1,203 @@ +{ config, lib, pkgs, ...}: + +with lib; + +let + cfgs = config.services.cgit; + + settingType = with types; oneOf [ bool int str ]; + + genAttrs' = names: f: listToAttrs (map f names); + + regexEscape = + let + # taken from https://github.com/python/cpython/blob/05cb728d68a278d11466f9a6c8258d914135c96c/Lib/re.py#L251-L266 + special = [ + "(" ")" "[" "]" "{" "}" "?" "*" "+" "-" "|" "^" "$" "\\" "." "&" "~" + "#" " " "\t" "\n" "\r" "\v" "\f" + ]; + in + replaceStrings special (map (c: "\\${c}") special); + + stripLocation = cfg: removeSuffix "/" cfg.nginx.location; + + regexLocation = cfg: regexEscape (stripLocation cfg); + + mkFastcgiPass = cfg: '' + ${if cfg.nginx.location == "/" then '' + fastcgi_param PATH_INFO $uri; + '' else '' + fastcgi_split_path_info ^(${regexLocation cfg})(/.+)$; + fastcgi_param PATH_INFO $fastcgi_path_info; + '' + }fastcgi_pass unix:${config.services.fcgiwrap.socketAddress}; + ''; + + cgitrcLine = name: value: "${name}=${ + if value == true then + "1" + else if value == false then + "0" + else + toString value + }"; + + mkCgitrc = cfg: pkgs.writeText "cgitrc" '' + # global settings + ${concatStringsSep "\n" ( + mapAttrsToList + cgitrcLine + ({ virtual-root = cfg.nginx.location; } // cfg.settings) + ) + } + ${optionalString (cfg.scanPath != null) (cgitrcLine "scan-path" cfg.scanPath)} + + # repository settings + ${concatStrings ( + mapAttrsToList + (url: settings: '' + ${cgitrcLine "repo.url" url} + ${concatStringsSep "\n" ( + mapAttrsToList (name: cgitrcLine "repo.${name}") settings + ) + } + '') + cfg.repos + ) + } + + # extra config + ${cfg.extraConfig} + ''; + + mkCgitReposDir = cfg: + if cfg.scanPath != null then + cfg.scanPath + else + pkgs.runCommand "cgit-repos" { + preferLocalBuild = true; + allowSubstitutes = false; + } '' + mkdir -p "$out" + ${ + concatStrings ( + mapAttrsToList + (name: value: '' + ln -s ${escapeShellArg value.path} "$out"/${escapeShellArg name} + '') + cfg.repos + ) + } + ''; + +in +{ + options = { + services.cgit = mkOption { + description = mdDoc "Configure cgit instances."; + default = {}; + type = types.attrsOf (types.submodule ({ config, ... }: { + options = { + enable = mkEnableOption (mdDoc "cgit"); + + package = mkPackageOptionMD pkgs "cgit" {}; + + nginx.virtualHost = mkOption { + description = mdDoc "VirtualHost to serve cgit on, defaults to the attribute name."; + type = types.str; + default = config._module.args.name; + example = "git.example.com"; + }; + + nginx.location = mkOption { + description = mdDoc "Location to serve cgit under."; + type = types.str; + default = "/"; + example = "/git/"; + }; + + repos = mkOption { + description = mdDoc "cgit repository settings, see cgitrc(5)"; + type = with types; attrsOf (attrsOf settingType); + default = {}; + example = { + blah = { + path = "/var/lib/git/example"; + desc = "An example repository"; + }; + }; + }; + + scanPath = mkOption { + description = mdDoc "A path which will be scanned for repositories."; + type = types.nullOr types.path; + default = null; + example = "/var/lib/git"; + }; + + settings = mkOption { + description = mdDoc "cgit configuration, see cgitrc(5)"; + type = types.attrsOf settingType; + default = {}; + example = literalExpression '' + { + enable-follow-links = true; + source-filter = "''${pkgs.cgit}/lib/cgit/filters/syntax-highlighting.py"; + } + ''; + }; + + extraConfig = mkOption { + description = mdDoc "These lines go to the end of cgitrc verbatim."; + type = types.lines; + default = ""; + }; + }; + })); + }; + }; + + config = mkIf (any (cfg: cfg.enable) (attrValues cfgs)) { + assertions = mapAttrsToList (vhost: cfg: { + assertion = !cfg.enable || (cfg.scanPath == null) != (cfg.repos == {}); + message = "Exactly one of services.cgit.${vhost}.scanPath or services.cgit.${vhost}.repos must be set."; + }) cfgs; + + services.fcgiwrap.enable = true; + + services.nginx.enable = true; + + services.nginx.virtualHosts = mkMerge (mapAttrsToList (_: cfg: { + ${cfg.nginx.virtualHost} = { + locations = ( + genAttrs' + [ "cgit.css" "cgit.png" "favicon.ico" "robots.txt" ] + (name: nameValuePair "= ${stripLocation cfg}/${name}" { + extraConfig = '' + alias ${cfg.package}/cgit/${name}; + ''; + }) + ) // { + "~ ${regexLocation cfg}/.+/(info/refs|git-upload-pack)" = { + fastcgiParams = rec { + SCRIPT_FILENAME = "${pkgs.git}/libexec/git-core/git-http-backend"; + GIT_HTTP_EXPORT_ALL = "1"; + GIT_PROJECT_ROOT = mkCgitReposDir cfg; + HOME = GIT_PROJECT_ROOT; + }; + extraConfig = mkFastcgiPass cfg; + }; + "${stripLocation cfg}/" = { + fastcgiParams = { + SCRIPT_FILENAME = "${cfg.package}/cgit/cgit.cgi"; + QUERY_STRING = "$args"; + HTTP_HOST = "$server_name"; + CGIT_CONFIG = mkCgitrc cfg; + }; + extraConfig = mkFastcgiPass cfg; + }; + }; + }; + }) cfgs); + }; +} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index c1059f8c9841..ee6b65424431 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -126,6 +126,7 @@ in { ceph-single-node-bluestore = handleTestOn ["x86_64-linux"] ./ceph-single-node-bluestore.nix {}; certmgr = handleTest ./certmgr.nix {}; cfssl = handleTestOn ["aarch64-linux" "x86_64-linux"] ./cfssl.nix {}; + cgit = handleTest ./cgit.nix {}; charliecloud = handleTest ./charliecloud.nix {}; chromium = (handleTestOn ["aarch64-linux" "x86_64-linux"] ./chromium.nix {}).stable or {}; chrony-ptp = handleTestOn ["aarch64-linux" "x86_64-linux"] ./chrony-ptp.nix {}; @@ -584,6 +585,7 @@ in { radarr = handleTest ./radarr.nix {}; radicale = handleTest ./radicale.nix {}; rasdaemon = handleTest ./rasdaemon.nix {}; + readarr = handleTest ./readarr.nix {}; redis = handleTest ./redis.nix {}; redmine = handleTest ./redmine.nix {}; restartByActivationScript = handleTest ./restart-by-activation-script.nix {}; diff --git a/nixos/tests/cgit.nix b/nixos/tests/cgit.nix new file mode 100644 index 000000000000..6aed06adefdf --- /dev/null +++ b/nixos/tests/cgit.nix @@ -0,0 +1,73 @@ +import ./make-test-python.nix ({ pkgs, ... }: +let + robotsTxt = pkgs.writeText "cgit-robots.txt" '' + User-agent: * + Disallow: / + ''; +in { + name = "cgit"; + meta = with pkgs.lib.maintainers; { + maintainers = [ schnusch ]; + }; + + nodes = { + server = { ... }: { + services.cgit."localhost" = { + enable = true; + package = pkgs.cgit.overrideAttrs ({ postInstall, ... }: { + postInstall = '' + ${postInstall} + cp ${robotsTxt} "$out/cgit/robots.txt" + ''; + }); + nginx.location = "/(c)git/"; + repos = { + some-repo = { + path = "/srv/git/some-repo"; + desc = "some-repo description"; + }; + }; + }; + + environment.systemPackages = [ pkgs.git ]; + }; + }; + + testScript = { nodes, ... }: '' + start_all() + + server.wait_for_unit("nginx.service") + server.wait_for_unit("network.target") + server.wait_for_open_port(80) + + server.succeed("curl -fsS http://localhost/%28c%29git/cgit.css") + + server.succeed("curl -fsS http://localhost/%28c%29git/robots.txt | diff -u - ${robotsTxt}") + + server.succeed( + "curl -fsS http://localhost/%28c%29git/ | grep -F 'some-repo description'" + ) + + server.fail("curl -fsS http://localhost/robots.txt") + + server.succeed("${pkgs.writeShellScript "setup-cgit-test-repo" '' + set -e + git init --bare -b master /srv/git/some-repo + git init -b master reference + cd reference + git remote add origin /srv/git/some-repo + date > date.txt + git add date.txt + git -c user.name=test -c user.email=test@localhost commit -m 'add date' + git push -u origin master + ''}") + + server.succeed( + "curl -fsS 'http://localhost/%28c%29git/some-repo/plain/date.txt?id=master' | diff -u reference/date.txt -" + ) + + server.succeed( + "git clone http://localhost/%28c%29git/some-repo && diff -u reference/date.txt some-repo/date.txt" + ) + ''; +}) diff --git a/nixos/tests/readarr.nix b/nixos/tests/readarr.nix new file mode 100644 index 000000000000..bb7dd8529848 --- /dev/null +++ b/nixos/tests/readarr.nix @@ -0,0 +1,18 @@ +import ./make-test-python.nix ({ lib, ... }: + +with lib; + +{ + name = "readarr"; + meta.maintainers = with maintainers; [ jocelynthode ]; + + nodes.machine = + { pkgs, ... }: + { services.readarr.enable = true; }; + + testScript = '' + machine.wait_for_unit("readarr.service") + machine.wait_for_open_port(8787) + machine.succeed("curl --fail http://localhost:8787/") + ''; +}) diff --git a/pkgs/applications/editors/vscode/extensions/language-packs.nix b/pkgs/applications/editors/vscode/extensions/language-packs.nix index f97727d6c2cb..3c3253e2c3da 100644 --- a/pkgs/applications/editors/vscode/extensions/language-packs.nix +++ b/pkgs/applications/editors/vscode/extensions/language-packs.nix @@ -4,13 +4,12 @@ with vscode-utils; let - buildVscodeLanguagePack = { language, sha256 }: + buildVscodeLanguagePack = { language, version ? "1.76.2023030809", sha256 }: buildVscodeMarketplaceExtension { mktplcRef = { name = "vscode-language-pack-${language}"; publisher = "MS-CEINTL"; - version = "1.64.3"; - inherit sha256; + inherit version sha256; }; meta = { license = lib.licenses.mit; @@ -24,66 +23,66 @@ in # French vscode-language-pack-fr = buildVscodeLanguagePack { language = "fr"; - sha256 = "sha256-6ynT1sbMgKO8iZReQ6KxFpR1VL3Nuo58MvXCtp+67vA="; + sha256 = "19brasjwwgdskgwayclmsywf007i2d47vx7dwq6hq2bhx4rd6xfy"; }; # Italian vscode-language-pack-it = buildVscodeLanguagePack { language = "it"; - sha256 = "sha256-5aNFpzNMZAZJH3n0rJevke9P6AW0au5i8+r4PXsb9Rg="; + sha256 = "1s5x3w125fliimr0i218mars4xjl70hsz0ihxrjk97c66yzg3gw7"; }; # German vscode-language-pack-de = buildVscodeLanguagePack { language = "de"; - sha256 = "sha256-oEaWtsgktHKw52lnZTESkpzC/TTY8LO4yX11IgtMG5U="; + sha256 = "0ih8h3n5mcadclxxlrgajq7kprgj9fbklccc00r0z8vqnmlc0dw0"; }; # Spanish vscode-language-pack-es = buildVscodeLanguagePack { language = "es"; - sha256 = "sha256-utLWbved3WCCk3XzqedbYzmyaKfbMrAmR0btT09GlxA="; + sha256 = "077n4mlx9qxqlp018wfi6hm3syhxsp2xzyih42kpsp71xi8j113r"; }; # Russian vscode-language-pack-ru = buildVscodeLanguagePack { language = "ru"; - sha256 = "sha256-0Wr2ICOiaaj4jZ555bxUJcmXO/yWDyn0UmdvxUF3WSQ="; + sha256 = "04mdxspm8i1dra0qmim4n4qin050adm2zk9pcnn3z4qbf3yvvnf4"; }; # Chinese (Simplified) vscode-language-pack-zh-hans = buildVscodeLanguagePack { language = "zh-hans"; - sha256 = "sha256-irTSQcVXf/V3MuZwfx4tFcvBk+xhbFZTnb7IG28s/p4="; + sha256 = "0f2bg5nm4sybwf84afvhc22yjp66rzdz4s1iaa31yxb4c1ij2vsr"; }; # Chinese (Traditional) vscode-language-pack-zh-hant = buildVscodeLanguagePack { language = "zh-hant"; - sha256 = "sha256-3IA/VTTTEqS6jrDYv50GnLXOTSC1XAMvqOVfOuvIdIs="; + sha256 = "1dspg6x7n9b89cirf63m2y0p6r2m197qzgvvavqfm7bv6cpskha0"; }; # Japanese vscode-language-pack-ja = buildVscodeLanguagePack { language = "ja"; - sha256 = "sha256-rxod70ddrppEYYzukksVY1dTXR8osLFAsIPr1fSFZDg="; + sha256 = "1idiv9xqfqhz1y3pd4h3ayy3svccr4jhrm23nf9h80g38k74qayi"; }; # Korean vscode-language-pack-ko = buildVscodeLanguagePack { language = "ko"; - sha256 = "sha256-QYFaxJz1PqKKIiLosLQ8Tu3JNXzpxLFqgIHjjRLwjA4="; + sha256 = "0g980sfa386by741sxxlapc2cjsbkfvldcc5kylxvf2drigyvka7"; }; # Czech vscode-language-pack-cs = buildVscodeLanguagePack { language = "cs"; - sha256 = "sha256-eMk+syy2h+Xb3k6QB8PqYaF4I1ydaY6eRsvOXmelh9Q="; + sha256 = "0sm3xxiv8lrln051yjq6s5jmpvkbphv1i90lrx472pwknmiwx74a"; }; # Portuguese (Brazil) vscode-language-pack-pt-br = buildVscodeLanguagePack { language = "pt-BR"; - sha256 = "sha256-7Trz38KBl4sD7608MvTs02pUsdD05oHEj3Sp1LvtI7I="; + sha256 = "1k4y528im6sr8n4blh6k4xng4d534siaaflvnarizs3py9wa61d1"; }; # Turkish vscode-language-pack-tr = buildVscodeLanguagePack { language = "tr"; - sha256 = "sha256-T4CTpbve3vrNdW4VDfHDg8U8cQEtuxPV5LvNdtKrqzA"; + sha256 = "1yf59idj6g77sqkm46bdadklvbvb3ncxzd9mfm9y32h54fxffh6a"; }; # Pseudo Language vscode-language-pack-qps-ploc = buildVscodeLanguagePack { language = "qps-ploc"; - sha256 = "sha256-rPvCr3uQPfM8vwKoV7Un5aiMZClhf6TvG1PEe3xYNI0="; + sha256 = "1dmn58fx8mpbn84zqyy09a1j67b5988gn7xjmfdk73bbd7hzbmji"; }; } diff --git a/pkgs/applications/networking/cluster/kyverno/default.nix b/pkgs/applications/networking/cluster/kyverno/default.nix index 7af197a9992d..ade54ae4b762 100644 --- a/pkgs/applications/networking/cluster/kyverno/default.nix +++ b/pkgs/applications/networking/cluster/kyverno/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "kyverno"; - version = "1.9.0"; + version = "1.9.1"; src = fetchFromGitHub { owner = "kyverno"; repo = "kyverno"; rev = "v${version}"; - sha256 = "sha256-i8uKhzvU9ftlzgzU4ViYg6z+OUNNHGbiFhFAwDKwtnw="; + sha256 = "sha256-FHSvouD/7jZ70O3td6HLqXlOhMDbKPwqTy41Xwijyk4="; }; ldflags = [ @@ -18,7 +18,7 @@ buildGoModule rec { "-X github.com/kyverno/kyverno/pkg/version.BuildTime=1970-01-01_00:00:00" ]; - vendorHash = "sha256-BGIh1wzHIk1kSvk/sQ/tDBhGIOOx0o6Dk4LbK9Z1FAQ="; + vendorHash = "sha256-jE1v9Ec4lEVcx+YjVtcsuNPCqr3x1pt8BMmC+OTwlRM="; subPackages = [ "cmd/cli/kubectl-kyverno" ]; diff --git a/pkgs/applications/networking/cluster/rancher/default.nix b/pkgs/applications/networking/cluster/rancher/default.nix index 8c195ec2ffa6..c1712d6ffbce 100644 --- a/pkgs/applications/networking/cluster/rancher/default.nix +++ b/pkgs/applications/networking/cluster/rancher/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "rancher"; - version = "2.6.9"; + version = "2.6.11"; src = fetchFromGitHub { owner = "rancher"; repo = "cli"; rev = "v${version}"; - sha256 = "sha256-co4LVd5A0bJ4CIuCfv6WyV8XCMbPCFAAcV12WekYrw4="; + sha256 = "sha256-1hIYFQ9Uwrm6chPXka0yK2XoZYHqv5lJoyENZmgMAwc="; }; ldflags = [ @@ -19,7 +19,7 @@ buildGoModule rec { "-static" ]; - vendorSha256 = "sha256-oclMnt6uJa8SG2fNM0fi+HCVMMi4rkykx8VpK/tXilQ="; + vendorHash = "sha256-oclMnt6uJa8SG2fNM0fi+HCVMMi4rkykx8VpK/tXilQ="; postInstall = '' mv $out/bin/cli $out/bin/rancher diff --git a/pkgs/applications/networking/cluster/rke/default.nix b/pkgs/applications/networking/cluster/rke/default.nix index b19b93e48f19..2ad528f1f74c 100644 --- a/pkgs/applications/networking/cluster/rke/default.nix +++ b/pkgs/applications/networking/cluster/rke/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "rke"; - version = "1.4.2"; + version = "1.4.3"; src = fetchFromGitHub { owner = "rancher"; repo = pname; rev = "v${version}"; - hash = "sha256-4aT9SguxN7oaewnrxme1nCFfaQytSJ9Aeb0WEQACtUA="; + hash = "sha256-UTvDrrveFDrPD0ar87Q3NZSxTyCAe5gpp3e2QPeMMm4="; }; vendorHash = "sha256-zV1lrJhzrUAcEk6jYLCFrHcYw3CZart46qXErCTjZyQ="; diff --git a/pkgs/applications/version-management/git-machete/default.nix b/pkgs/applications/version-management/git-machete/default.nix index 455b7497aa96..aa58c16b2d02 100644 --- a/pkgs/applications/version-management/git-machete/default.nix +++ b/pkgs/applications/version-management/git-machete/default.nix @@ -12,13 +12,13 @@ buildPythonApplication rec { pname = "git-machete"; - version = "3.16.0"; + version = "3.16.1"; src = fetchFromGitHub { owner = "virtuslab"; repo = pname; rev = "v${version}"; - hash = "sha256-94qYCyWqVwMMptlJIe4o4/mEHnhcMubcupd+Qs2SYH0="; + hash = "sha256-Js32YKzQcrQfVt7RWXFPA7guR8Tpd1jCTuwboV1zyw0="; }; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/applications/window-managers/herbstluftwm/default.nix b/pkgs/applications/window-managers/herbstluftwm/default.nix index f1d7c585c443..7bfe0f992746 100644 --- a/pkgs/applications/window-managers/herbstluftwm/default.nix +++ b/pkgs/applications/window-managers/herbstluftwm/default.nix @@ -1,5 +1,6 @@ { lib, stdenv, fetchurl, cmake, pkg-config, python3, libX11, libXext, libXinerama, libXrandr, libXft, libXrender, libXdmcp, libXfixes, freetype, asciidoc , xdotool, xorgserver, xsetroot, xterm, runtimeShell +, fetchpatch , nixosTests }: stdenv.mkDerivation rec { @@ -44,6 +45,12 @@ stdenv.mkDerivation rec { patches = [ ./test-path-environment.patch + # Adjust tests for compatibility with gcc 12 (https://github.com/herbstluftwm/herbstluftwm/issues/1512) + # Can be removed with the next release (>0.9.5). + (fetchpatch { + url = "https://github.com/herbstluftwm/herbstluftwm/commit/8678168c7a3307b1271e94974e062799e745ab40.patch"; + hash = "sha256-uI6ErfDitT2Tw0txx4lMSBn/jjiiyL4Qw6AJa/CTh1E="; + }) ]; postPatch = '' diff --git a/pkgs/desktops/deepin/apps/deepin-reader/default.nix b/pkgs/desktops/deepin/apps/deepin-reader/default.nix index f7ab5220b61c..b72ae4b60356 100644 --- a/pkgs/desktops/deepin/apps/deepin-reader/default.nix +++ b/pkgs/desktops/deepin/apps/deepin-reader/default.nix @@ -16,19 +16,18 @@ , libspectre , openjpeg , djvulibre -, gtest , qtbase }: stdenv.mkDerivation rec { pname = "deepin-reader"; - version = "5.10.28"; + version = "5.10.29"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "sha256-0jHhsxEjBbu3ktvjX1eKnkZDwzRk9MrUSJSdYeOvWtI="; + sha256 = "sha256-IpgmTmnrPWc9EFZVM+S2nFxdpPjbgXqEWUnK/O9FmUg="; }; patches = [ ./use-pkg-config.diff ]; @@ -56,7 +55,10 @@ stdenv.mkDerivation rec { libspectre djvulibre openjpeg - gtest + ]; + + qmakeFlags = [ + "DEFINES+=VERSION=${version}" ]; # qt5integration must be placed before qtsvg in QT_PLUGIN_PATH diff --git a/pkgs/desktops/pantheon/apps/elementary-mail/default.nix b/pkgs/desktops/pantheon/apps/elementary-mail/default.nix index 31cf6d12eb89..c373ef496f47 100644 --- a/pkgs/desktops/pantheon/apps/elementary-mail/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-mail/default.nix @@ -44,6 +44,12 @@ stdenv.mkDerivation rec { url = "https://github.com/elementary/mail/commit/9e6eb73a8420c9bf327e59c25e7e6d8fa87d480a.patch"; sha256 = "sha256-idkVymePLa7vgfuou0HIrbWRCaWAgZliDcp4HyZBArs="; }) + # Fix crash on setting message flag + # https://github.com/elementary/mail/pull/825 + (fetchpatch { + url = "https://github.com/elementary/mail/commit/c630f926196e44e086ddda6086cb8b9bdd3efc83.patch"; + sha256 = "sha256-4vEETSHA1Gd8GpBZuko4X+9AjG7SFwUlK2MxrWq+iOE="; + }) ]; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix index f601e101660d..89cd3626fd19 100644 --- a/pkgs/development/libraries/SDL2/default.nix +++ b/pkgs/development/libraries/SDL2/default.nix @@ -33,8 +33,6 @@ , udev , ibusSupport ? false , ibus -, fcitxSupport ? false -, fcitx , libdecorSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid , libdecor , pipewireSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid @@ -109,7 +107,6 @@ stdenv.mkDerivation rec { buildInputs = [ libiconv ] ++ dlopenBuildInputs ++ lib.optional ibusSupport ibus - ++ lib.optional fcitxSupport fcitx ++ lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL ]; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/allegro/5.nix b/pkgs/development/libraries/allegro/5.nix index 0ff8f0ea7fc0..b3346be1bb70 100644 --- a/pkgs/development/libraries/allegro/5.nix +++ b/pkgs/development/libraries/allegro/5.nix @@ -20,17 +20,19 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ - texinfo libXext xorgproto libX11 libXpm libXt libXcursor - alsa-lib zlib libpng libvorbis libXxf86dga libXxf86misc - libXxf86vm openal libGLU libGL - libjpeg flac - libXi libXfixes - enet libtheora freetype physfs libopus gtk3 pcre libXdmcp - libpulseaudio libpthreadstubs + texinfo zlib libpng libvorbis openal libGLU libGL + libjpeg flac enet libtheora freetype physfs libopus + gtk3 pcre + ] ++ lib.optionals stdenv.isLinux [ + libXext xorgproto libX11 libXpm libXt libXcursor alsa-lib + libXxf86dga libXxf86misc libXxf86vm libXi libXfixes + libXdmcp libpulseaudio libpthreadstubs ]; postPatch = '' sed -e 's@/XInput2.h@/XI2.h@g' -i CMakeLists.txt "src/"*.c + sed -e 's@Kernel/IOKit/hidsystem/IOHIDUsageTables.h@IOKit/hid/IOHIDUsageTables.h@g' -i include/allegro5/platform/alosx.h + sed -e 's@OpenAL/@AL/@g' -i addons/audio/openal.c ''; cmakeFlags = [ "-DCMAKE_SKIP_RPATH=ON" ]; @@ -40,6 +42,6 @@ stdenv.mkDerivation rec { homepage = "https://liballeg.org/"; license = licenses.zlib; maintainers = [ maintainers.raskin ]; - platforms = platforms.linux; + platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/development/ocaml-modules/gmetadom/default.nix b/pkgs/development/ocaml-modules/gmetadom/default.nix deleted file mode 100644 index 4985459248ac..000000000000 --- a/pkgs/development/ocaml-modules/gmetadom/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{stdenv, lib, fetchurl, ocaml, findlib, gdome2, libxslt, pkg-config}: - -let - pname = "gmetadom"; -in - -stdenv.mkDerivation rec { - name = "${pname}-${version}"; - version = "0.2.6"; - - src = fetchurl { - url = "mirror://sourceforge/project/${pname}/${pname}/${version}/${pname}-${version}.tar.gz"; - sha256 = "0skmlv0pnqvg99wzzzi1h4zhwzd82xg7xpkj1kwpfy7bzinjh7ig"; - }; - - patches = [ ./gcc-4.3.patch ]; - - dontDisableStatic = true; - - preConfigure='' - configureFlags="--with-ocaml-lib-prefix=$out/lib/ocaml/${ocaml.version}/site-lib" - ''; - - nativeBuildInputs = [ pkg-config ocaml findlib ]; - buildInputs = [ libxslt ]; - propagatedBuildInputs = [ gdome2 ]; - - strictDeps = true; - - meta = { - homepage = "https://gmetadom.sourceforge.net/"; - description = "A collection of librares, each library providing a DOM implementation"; - license = lib.licenses.lgpl21Plus; - maintainers = [ lib.maintainers.roconnor ]; - }; -} diff --git a/pkgs/development/ocaml-modules/gmetadom/gcc-4.3.patch b/pkgs/development/ocaml-modules/gmetadom/gcc-4.3.patch deleted file mode 100644 index d8d1d4631632..000000000000 --- a/pkgs/development/ocaml-modules/gmetadom/gcc-4.3.patch +++ /dev/null @@ -1,18 +0,0 @@ -#! /bin/sh /usr/share/dpatch/dpatch-run -## gcc-4.3.dpatch by Stefano Zacchiroli -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: ensure sources build with gcc-4.3 - -@DPATCH@ -diff -urNad trunk~/src/shared/Traits.hh.in trunk/src/shared/Traits.hh.in ---- trunk~/src/shared/Traits.hh.in 2003-01-14 12:41:55.000000000 +0100 -+++ trunk/src/shared/Traits.hh.in 2008-05-01 15:45:39.000000000 +0200 -@@ -26,6 +26,7 @@ - */ - - #include -+#include - - #include "@DOM_NAMESPACE@Char.hh" - diff --git a/pkgs/development/python-modules/aiopvpc/default.nix b/pkgs/development/python-modules/aiopvpc/default.nix index 0f44a49a3979..14f3a83481d5 100644 --- a/pkgs/development/python-modules/aiopvpc/default.nix +++ b/pkgs/development/python-modules/aiopvpc/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "aiopvpc"; - version = "4.0.1"; + version = "4.1.0"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "azogue"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-E5z74/5VuFuOyAfeT4PQlHUNOiVT4sPgOdxoAIIymxU="; + hash = "sha256-ixHLFVPlDZKQkPMrOt8PG5z+e84UlygQutkyS8wCZR4="; }; postPatch = '' diff --git a/pkgs/development/python-modules/dash/default.nix b/pkgs/development/python-modules/dash/default.nix index 5140a0a6cbc6..4968c5b28f8b 100644 --- a/pkgs/development/python-modules/dash/default.nix +++ b/pkgs/development/python-modules/dash/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { pname = "dash"; - version = "2.7.0"; + version = "2.8.1"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -30,16 +30,16 @@ buildPythonPackage rec { owner = "plotly"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-kxat6CjX4xPEtlhRiYJF5wN2Luds7DduZyiUA9/kKWY="; + hash = "sha256-6FsLvLsqnkSt/i27q/JJGfNh2zxKeA0t6VYNPCzhR0w="; }; propagatedBuildInputs = [ - plotly - flask - flask-compress dash-core-components dash-html-components dash-table + flask + flask-compress + plotly ]; passthru.optional-dependencies = { @@ -55,9 +55,9 @@ buildPythonPackage rec { }; nativeCheckInputs = [ - pytestCheckHook - pytest-mock mock + pytest-mock + pytestCheckHook pyyaml ]; @@ -67,6 +67,11 @@ buildPythonPackage rec { "tests/integration" ]; + disabledTests = [ + # Failed: DID NOT RAISE + "test_missing_flask_compress_raises" + ]; + pythonImportsCheck = [ "dash" ]; @@ -74,6 +79,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python framework for building analytical web applications"; homepage = "https://dash.plot.ly/"; + changelog = "https://github.com/plotly/dash/blob/v${version}/CHANGELOG.md"; license = licenses.mit; maintainers = with maintainers; [ antoinerg ]; }; diff --git a/pkgs/development/python-modules/evaluate/default.nix b/pkgs/development/python-modules/evaluate/default.nix index 1ada1243bf72..6412e7834a62 100644 --- a/pkgs/development/python-modules/evaluate/default.nix +++ b/pkgs/development/python-modules/evaluate/default.nix @@ -4,6 +4,7 @@ , pythonOlder , pythonRelaxDepsHook , pytestCheckHook +, cookiecutter , datasets , dill , fsspec @@ -13,6 +14,7 @@ , numpy , packaging , pandas +, pyarrow , requests , responses , tqdm @@ -37,6 +39,7 @@ buildPythonPackage rec { pythonRelaxDeps = [ "responses" ]; propagatedBuildInputs = [ + cookiecutter datasets numpy dill @@ -48,6 +51,7 @@ buildPythonPackage rec { fsspec huggingface-hub packaging + pyarrow responses ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata @@ -66,5 +70,6 @@ buildPythonPackage rec { changelog = "https://github.com/huggingface/evaluate/releases/tag/v${version}"; license = licenses.asl20; maintainers = with maintainers; [ bcdarwin ]; + mainProgram = "evaluate-cli"; }; } diff --git a/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix b/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix index b105e9cfe16d..d96874aeebd2 100644 --- a/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix +++ b/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "google-cloud-access-context-manager"; - version = "0.1.15"; + version = "0.1.16"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-W6Nb+H2CaULQ7Hp1hYxtnF9ITYa++Usc7XVoPkQPnVk="; + hash = "sha256-+L5Rre6LHpSlc+yzdQpMLSvURLHd412apDes5zwzdgc="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/google-cloud-datastore/default.nix b/pkgs/development/python-modules/google-cloud-datastore/default.nix index ad4931e56086..a6441e16b971 100644 --- a/pkgs/development/python-modules/google-cloud-datastore/default.nix +++ b/pkgs/development/python-modules/google-cloud-datastore/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "google-cloud-datastore"; - version = "2.14.0"; + version = "2.15.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-00SlS6iL65Z2N6tgNEaIcQ09WB8Jy8emOwlaZoKjNgA="; + hash = "sha256-HbIUo7JpYajnaESs7sZPuEpqyGiaYeB8ooYXgH/kqoE="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/google-cloud-dlp/default.nix b/pkgs/development/python-modules/google-cloud-dlp/default.nix index 86888e3fb621..94941e4eef3c 100644 --- a/pkgs/development/python-modules/google-cloud-dlp/default.nix +++ b/pkgs/development/python-modules/google-cloud-dlp/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "google-cloud-dlp"; - version = "3.11.1"; + version = "3.12.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-TwVY6/4TSY8cPj3y/A7+cxpyVJ9+lPg+vAKNhfBNfqI="; + hash = "sha256-v874eaWthn7DD9Sxg+hrXr/93k7u591h0GL68wwmeP4="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/google-cloud-iam/default.nix b/pkgs/development/python-modules/google-cloud-iam/default.nix index b06a5d3499be..aff4744fb01b 100644 --- a/pkgs/development/python-modules/google-cloud-iam/default.nix +++ b/pkgs/development/python-modules/google-cloud-iam/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "google-cloud-iam"; - version = "2.10.0"; + version = "2.11.2"; format = "setuptools"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-8q/Am7x5LFN9Uaw37QdUdwL19J1FgxRKjRL0Vrc+1TI="; + hash = "sha256-viN/BiIYmE83B1JMh5THgj2/HLGOeIotDVLdTODZBAg="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/google-cloud-resource-manager/default.nix b/pkgs/development/python-modules/google-cloud-resource-manager/default.nix index b2aa7804b601..af5bc6855b53 100644 --- a/pkgs/development/python-modules/google-cloud-resource-manager/default.nix +++ b/pkgs/development/python-modules/google-cloud-resource-manager/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "google-cloud-resource-manager"; - version = "1.8.1"; + version = "1.9.0"; format = "setuptools"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-npTv+f533JK/J2ceJ6Na7mS90HfKaHORmGnFz1LBzLQ="; + hash = "sha256-LRSAJoqdqMbNlQhoH7YQ9cZ3g7Iq4pkItaxTQTGZw1E="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/google-cloud-tasks/default.nix b/pkgs/development/python-modules/google-cloud-tasks/default.nix index 8751b583729b..3ab5abb61d90 100644 --- a/pkgs/development/python-modules/google-cloud-tasks/default.nix +++ b/pkgs/development/python-modules/google-cloud-tasks/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "google-cloud-tasks"; - version = "2.12.1"; + version = "2.13.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-2kRj5zlAPVO2U3EzN+opz5OBtwEru5RqGOXGqLUPaUA="; + hash = "sha256-7V57grRH2ysU765TDmqq7DOna9o8Nu9v4HjDAIf/ETA="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/google-cloud-trace/default.nix b/pkgs/development/python-modules/google-cloud-trace/default.nix index a753acdcc1e8..f21dd08b0f80 100644 --- a/pkgs/development/python-modules/google-cloud-trace/default.nix +++ b/pkgs/development/python-modules/google-cloud-trace/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "google-cloud-trace"; - version = "1.10.0"; + version = "1.11.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-aU6XD+uj/X9Gs8z2vP0rhTlaqkg7u4H9CV/CJl2b7ak="; + hash = "sha256-i3jUbzivzXG9bIM06ZKG9olZubBOuCWz5kk5yPZRv4k="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/google-cloud-translate/default.nix b/pkgs/development/python-modules/google-cloud-translate/default.nix index 6ae9ff0ea946..e6744bd66f52 100644 --- a/pkgs/development/python-modules/google-cloud-translate/default.nix +++ b/pkgs/development/python-modules/google-cloud-translate/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "google-cloud-translate"; - version = "3.10.1"; + version = "3.11.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-++1k8lhJfJ7e/oK//IyYx9W/RacQa/1RwdrhyvCYWEM="; + hash = "sha256-phwMOu6YEndLOOvXDnoYvShXGMMR+O/CfUyp5+gMdKM="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/google-cloud-videointelligence/default.nix b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix index b8019c03cc5f..e8707e9d9d3f 100644 --- a/pkgs/development/python-modules/google-cloud-videointelligence/default.nix +++ b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "google-cloud-videointelligence"; - version = "2.10.1"; + version = "2.11.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-HlmuzMOaCl7z9NBVI5HoCH1vltQCeel30B5roX/+2HE="; + hash = "sha256-rkqKaHNzbcIjYyCe+AN1WCLvjZ1HjWHH4xeCs8/TkZI="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/google-resumable-media/default.nix b/pkgs/development/python-modules/google-resumable-media/default.nix index 3dda409f155e..b39e550860ad 100644 --- a/pkgs/development/python-modules/google-resumable-media/default.nix +++ b/pkgs/development/python-modules/google-resumable-media/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "google-resumable-media"; - version = "2.4.0"; + version = "2.4.1"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-jVUYUC+SuezISsRneb1PCWlOyzujij58pzeobRXLyh8="; + hash = "sha256-Fbii5130LcZQLRMG2wvOJke6YBP5zQO24XNowIhu6Qo="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/qualysclient/default.nix b/pkgs/development/python-modules/qualysclient/default.nix index a61314816902..d53c9e80a6c6 100644 --- a/pkgs/development/python-modules/qualysclient/default.nix +++ b/pkgs/development/python-modules/qualysclient/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "qualysclient"; - version = "0.0.4.8.2"; + version = "0.0.4.8.3"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -23,8 +23,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "woodtechie1428"; repo = pname; - rev = "v${version}"; - sha256 = "0hrbp5ci1l06j709k5y3z3ad9dryvrkvmc2wyb4a01gw7qzry7ys"; + rev = "refs/tags/v${version}"; + hash = "sha256-+SZICysgSC4XeXC9CCl6Yxb47V9c1eMp7KcpH8J7kK0="; }; propagatedBuildInputs = [ @@ -49,6 +49,7 @@ buildPythonPackage rec { meta = with lib; { description = "Python SDK for interacting with the Qualys API"; homepage = "https://qualysclient.readthedocs.io/"; + changelog = "https://github.com/woodtechie1428/qualysclient/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix index d81b055036c9..45834b88b8bf 100644 --- a/pkgs/development/python-modules/sentry-sdk/default.nix +++ b/pkgs/development/python-modules/sentry-sdk/default.nix @@ -40,7 +40,7 @@ buildPythonPackage rec { pname = "sentry-sdk"; - version = "1.15.0"; + version = "1.16.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -49,7 +49,7 @@ buildPythonPackage rec { owner = "getsentry"; repo = "sentry-python"; rev = "refs/tags/${version}"; - hash = "sha256-xUDMi2xoRMsDDe7LcQxIxxozo8vV5ZPzZp5zmNld3ew="; + hash = "sha256-hJ6OikRro9YUEX8rqMs/JkTvM9aTabEj4E8iNQ71gEc="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/types-ujson/default.nix b/pkgs/development/python-modules/types-ujson/default.nix new file mode 100644 index 000000000000..5dda91299776 --- /dev/null +++ b/pkgs/development/python-modules/types-ujson/default.nix @@ -0,0 +1,28 @@ +{ lib +, buildPythonPackage +, fetchPypi +}: + +buildPythonPackage rec { + pname = "types-ujson"; + version = "5.7.0.1"; + format = "setuptools"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-VDUaYuwbZVDvsXr2PvfwwA0O+pwJnefaXGJ+HvooBVM="; + }; + + doCheck = false; + + pythonImportsCheck = [ + "ujson-stubs" + ]; + + meta = with lib; { + description = "Typing stubs for ujson"; + homepage = "https://github.com/python/typeshed"; + license = licenses.asl20; + maintainers = with maintainers; [ centromere ]; + }; +} diff --git a/pkgs/development/python-modules/vdirsyncer/default.nix b/pkgs/development/python-modules/vdirsyncer/default.nix index 418850444c7f..034998fc904b 100644 --- a/pkgs/development/python-modules/vdirsyncer/default.nix +++ b/pkgs/development/python-modules/vdirsyncer/default.nix @@ -24,21 +24,18 @@ buildPythonPackage rec { pname = "vdirsyncer"; - version = "0.19.0"; - format = "setuptools"; + version = "0.19.1"; + format = "pyproject"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256:0995bavlv8s9j0127ncq3yzy5p72lam9qgpswyjfanc6l01q87lf"; + hash = "sha256-qnbHclqlpxH2N0vFzYO+eKrmjHSCljWp7Qc81MCfA64="; }; postPatch = '' - substituteInPlace setup.py \ - --replace "click-log>=0.3.0, <0.4.0" "click-log>=0.3.0, <0.5.0" - - sed -i -e '/--cov/d' -e '/--no-cov/d' setup.cfg + sed -i -e '/--cov/d' -e '/--no-cov/d' pyproject.toml ''; propagatedBuildInputs = [ @@ -53,10 +50,6 @@ buildPythonPackage rec { aiohttp-oauthlib ]; - nativeBuildInputs = [ - setuptools-scm - ]; - nativeCheckInputs = [ hypothesis pytestCheckHook diff --git a/pkgs/development/tools/buildkit/default.nix b/pkgs/development/tools/buildkit/default.nix index 11c0d85ee474..b17e8d348d89 100644 --- a/pkgs/development/tools/buildkit/default.nix +++ b/pkgs/development/tools/buildkit/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "buildkit"; - version = "0.11.2"; + version = "0.11.4"; src = fetchFromGitHub { owner = "moby"; repo = "buildkit"; rev = "v${version}"; - hash = "sha256-P1hu60vjJJASWxgc9LOwdy7psqgIHi8Z/D5c++TProY="; + hash = "sha256-/9gP8ciHeFKjO0VAKXDor19Wm6wULLVlFYbHUYWFpWY="; }; vendorHash = null; diff --git a/pkgs/development/tools/misc/devspace/default.nix b/pkgs/development/tools/misc/devspace/default.nix index fb8767edc89c..09d9b812490e 100644 --- a/pkgs/development/tools/misc/devspace/default.nix +++ b/pkgs/development/tools/misc/devspace/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "devspace"; - version = "6.3.0"; + version = "6.3.1"; src = fetchFromGitHub { owner = "loft-sh"; repo = "devspace"; rev = "v${version}"; - sha256 = "sha256-ISyimfjTWU4niGeL8cSRRsUMNq3OQOvKJw7MCbY0K7o="; + sha256 = "sha256-N7u9qZBoaaxqcH+9lU0JoemEPYAuztkDyqVo/GWtS8c="; }; vendorSha256 = null; diff --git a/pkgs/development/tools/rust/cargo-binstall/default.nix b/pkgs/development/tools/rust/cargo-binstall/default.nix index 5705b9039b7d..6bf0b54a3328 100644 --- a/pkgs/development/tools/rust/cargo-binstall/default.nix +++ b/pkgs/development/tools/rust/cargo-binstall/default.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-binstall"; - version = "0.20.1"; + version = "0.21.0"; src = fetchFromGitHub { owner = "cargo-bins"; repo = "cargo-binstall"; rev = "v${version}"; - hash = "sha256-wM8DawrniyJxj8Omgj+hiePa521p4hIAngfzEHFNO58="; + hash = "sha256-btpXmtnsnZy7ai+WlWtgLjwbHqQvIphNM7aqMmA5Wjs="; }; - cargoHash = "sha256-ZanPmdFMDGZhRHVVGt03OJWz8HnSYFdm42W6rpytu5Y="; + cargoHash = "sha256-bfdyLXfasPeUAxiA7tFV1vc4tVnTO84GFOdBWjTx/4s="; nativeBuildInputs = [ pkg-config @@ -43,6 +43,13 @@ rustPlatform.buildRustPackage rec { "zstd-thin" ]; + checkFlags = [ + # requires internet access + "--skip=download::test::test_and_extract" + "--skip=gh_api_client::test::test_gh_api_client_cargo_binstall_no_such_release" + "--skip=gh_api_client::test::test_gh_api_client_cargo_binstall_v0_20_1" + ]; + # remove cargo config so it can find the linker on aarch64-unknown-linux-gnu postPatch = '' rm .cargo/config diff --git a/pkgs/development/tools/selene/default.nix b/pkgs/development/tools/selene/default.nix index 238bf9938425..87c4a0f3ee70 100644 --- a/pkgs/development/tools/selene/default.nix +++ b/pkgs/development/tools/selene/default.nix @@ -10,16 +10,16 @@ rustPlatform.buildRustPackage rec { pname = "selene"; - version = "0.24.0"; + version = "0.25.0"; src = fetchFromGitHub { owner = "kampfkarren"; repo = pname; rev = version; - sha256 = "sha256-tw9OLdXhqxgqROub0P/+nd4LQGNw3QDxlCyyf8ogRQM="; + sha256 = "sha256-aKU+1eoLm/h5Rj/vAZOyAnyl5/TpStL5g8PPdYCJ8o0="; }; - cargoSha256 = "sha256-5/xAX8BhB81cB7x2Pe/MKCV0Fi76ZcO6XHFQxTVIuLA="; + cargoSha256 = "sha256-y2BoV59oJPMBf9rUgMhHu87teurwPSNowRbuPfXubGA="; nativeBuildInputs = lib.optionals robloxSupport [ pkg-config diff --git a/pkgs/os-specific/darwin/smimesign/default.nix b/pkgs/os-specific/darwin/smimesign/default.nix index d50e00f984e5..48164d387fa9 100644 --- a/pkgs/os-specific/darwin/smimesign/default.nix +++ b/pkgs/os-specific/darwin/smimesign/default.nix @@ -2,18 +2,21 @@ buildGoModule rec { pname = "smimesign"; - version = "0.1.0"; + version = "0.2.0"; src = fetchFromGitHub { owner = "github"; repo = "smimesign"; rev = "v${version}"; - sha256 = "12f8vprp4v78l9ifrlql0mvpyw5qa8nlrh5ajq5js8wljzpx7wsv"; + hash = "sha256-W9Hj/+snx+X6l95Gt9d8DiLnBPV9npKydc/zMN9G0vQ="; }; - vendorSha256 = "1cldxykm9qj5rvyfafam45y5xj4f19700s2f9w7ndhxgfp9vahvz"; + vendorHash = "sha256-wLqYUICL+gdvRCLNrA0ZNcFI4oV3Oik762q7xF115Lw="; - ldflags = [ "-X main.versionString=v${version}" ]; + ldflags = [ "-s" "-w" "-X main.versionString=v${version}" ]; + + # Fails in sandbox + doCheck = false; meta = with lib; { description = "An S/MIME signing utility for macOS and Windows that is compatible with Git"; diff --git a/pkgs/os-specific/linux/firmware/linux-firmware/source.nix b/pkgs/os-specific/linux/firmware/linux-firmware/source.nix index 4e59ca0b89eb..eb917fc68de5 100644 --- a/pkgs/os-specific/linux/firmware/linux-firmware/source.nix +++ b/pkgs/os-specific/linux/firmware/linux-firmware/source.nix @@ -1,6 +1,6 @@ # This file is autogenerated! Run ./update.sh to regenerate. { - version = "20230210"; - sourceHash = "sha256-sjUO+DTjAMszfCkNSYjLS+AbceIVPVVH0OEho5VOIFA="; - outputHash = "sha256-ZcmMLenblgQngdYui0wNANXhB5a/z635nNXo/MO83R8="; + version = "20230310"; + sourceHash = "sha256-a0Or/ov+YDbDbyUy65j95wgW1ZBo2LIxYWR7L6z6Usw="; + outputHash = "sha256-BL1dSTAjg5F1JWhoVYelMJRv+lMZNA8S7FbGIQWemMo="; } diff --git a/pkgs/servers/readarr/default.nix b/pkgs/servers/readarr/default.nix new file mode 100644 index 000000000000..9fdec4988891 --- /dev/null +++ b/pkgs/servers/readarr/default.nix @@ -0,0 +1,53 @@ +{ lib, stdenv, fetchurl, libmediainfo, sqlite, curl, makeWrapper, icu, dotnet-runtime, openssl, nixosTests }: + +let + os = if stdenv.isDarwin then "osx" else "linux"; + arch = { + x86_64-linux = "x64"; + aarch64-linux = "arm64"; + x86_64-darwin = "x64"; + }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + hash = { + x64-linux_hash = "sha256-ABk2wxNse8dcFWEMpaXnsALz171/1JQaAFzmpz36we0="; + arm64-linux_hash = "sha256-c1eVCPE8RH9u99hYJZBiNBpanBv3WeSTVaD+Gq1yxUk="; + x64-osx_hash = "sha256-9UEi8YbpZ1baZ9lnG7SJcYnvJRgP7BsqcIt9Z3UdDv8="; + }."${arch}-${os}_hash"; +in stdenv.mkDerivation rec { + pname = "readarr"; + version = "0.1.4.1596"; + + src = fetchurl { + url = "https://github.com/Readarr/Readarr/releases/download/v${version}/Readarr.develop.${version}.${os}-core-${arch}.tar.gz"; + sha256 = hash; + }; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/{bin,share/${pname}-${version}} + cp -r * $out/share/${pname}-${version}/. + makeWrapper "${dotnet-runtime}/bin/dotnet" $out/bin/Readarr \ + --add-flags "$out/share/${pname}-${version}/Readarr.dll" \ + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ curl sqlite libmediainfo icu openssl ]} + + runHook postInstall + ''; + + + passthru = { + updateScript = ./update.sh; + tests.smoke-test = nixosTests.readarr; + }; + + meta = with lib; { + description = "A Usenet/BitTorrent ebook downloader"; + homepage = "https://readarr.com"; + license = licenses.gpl3; + maintainers = [ maintainers.jocelynthode ]; + sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; + platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; + }; +} + diff --git a/pkgs/servers/readarr/update.sh b/pkgs/servers/readarr/update.sh new file mode 100755 index 000000000000..0372ac9fa1a4 --- /dev/null +++ b/pkgs/servers/readarr/update.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl gnused nix-prefetch jq + +set -e + +dirname="$(dirname "$0")" + +updateHash() +{ + version=$1 + arch=$2 + os=$3 + + hashKey="${arch}-${os}_hash" + + url="https://github.com/Readarr/Readarr/releases/download/v$version/Readarr.develop.$version.$os-core-$arch.tar.gz" + hash=$(nix-prefetch-url --type sha256 $url) + sriHash="$(nix hash to-sri --type sha256 $hash)" + + sed -i "s|$hashKey = \"[a-zA-Z0-9\/+-=]*\";|$hashKey = \"$sriHash\";|g" "$dirname/default.nix" +} + +updateVersion() +{ + sed -i "s/version = \"[0-9.]*\";/version = \"$1\";/g" "$dirname/default.nix" +} + +currentVersion=$(cd $dirname && nix eval --raw -f ../../.. readarr.version) + +# We cannot use the latest releases as in the past Readarr released old version with v2.0 and then went back to 0.1 +latestTag=$(curl https://api.github.com/repos/Readarr/Readarr/releases | jq -r ".[0].tag_name") +latestVersion="$(expr $latestTag : 'v\(.*\)')" + +if [[ "$currentVersion" == "$latestVersion" ]]; then + echo "Readarr is up-to-date: ${currentVersion}" + exit 0 +fi + +updateVersion $latestVersion + +updateHash $latestVersion x64 linux +updateHash $latestVersion arm64 linux +updateHash $latestVersion x64 osx + diff --git a/pkgs/servers/static-web-server/default.nix b/pkgs/servers/static-web-server/default.nix index 0e0c84e97de6..a390dab526ea 100644 --- a/pkgs/servers/static-web-server/default.nix +++ b/pkgs/servers/static-web-server/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "static-web-server"; - version = "2.14.2"; + version = "2.15.0"; src = fetchFromGitHub { owner = "static-web-server"; repo = pname; rev = "v${version}"; - sha256 = "sha256-c+bPe1t7Nhpx5fwwpLYtsuzxleLd4b1SwBFBaySmLOg="; + sha256 = "sha256-TzMXVwtvslM57ucHT5NHMjsLex2VjuvyqP9gMdQXfFs="; }; - cargoSha256 = "sha256-K+YXl1SFVe6aBt663QXlQFD8jB5pvlLwNqUvUP+5aU8="; + cargoSha256 = "sha256-sx6zlSpJNeLpmM64eyhKI7M422dEBaud7q4iz4zmmf0="; buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 97f8ce4a715a..4f0d20f0511f 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -896,7 +896,7 @@ self: with self; { builder = ./builder.sh; src = fetchurl { url = "mirror://xorg/individual/lib/libX11-1.8.4.tar.xz"; - sha256 = "sha256-yaKHpa76mATOPPr89Rb+lu0/fo5FwOLuWehMhnV99Rg="; + sha256 = "067mgmsqck78b7pf5h25irz3zvcnzqbgbz7s7k70967smsjqg8n9"; }; hardeningDisable = [ "bindnow" "relro" ]; strictDeps = true; @@ -3328,7 +3328,7 @@ self: with self; { builder = ./builder.sh; src = fetchurl { url = "mirror://xorg/individual/xserver/xorg-server-21.1.7.tar.xz"; - sha256 = "sha256-2cYLLdDsUjJspqsg2w5JCx/09Wb1nKdC1lMuknlYd7s="; + sha256 = "1fvpb1wr4bjksr1ag77mcvsz87qb947dn85blrn34lpcs0nhpinr"; }; hardeningDisable = [ "bindnow" "relro" ]; strictDeps = true; diff --git a/pkgs/tools/misc/ripdrag/default.nix b/pkgs/tools/misc/ripdrag/default.nix index d9eca0f1b649..dea4349c140c 100644 --- a/pkgs/tools/misc/ripdrag/default.nix +++ b/pkgs/tools/misc/ripdrag/default.nix @@ -2,14 +2,14 @@ rustPlatform.buildRustPackage rec { pname = "ripdrag"; - version = "0.2.1"; + version = "0.3.0"; src = fetchCrate { inherit pname version; - sha256 = "sha256-/TF9dWZQVEVM3lHp4ubxYkDW+ZDL9puT6mUT6Q3hUsw="; + sha256 = "sha256-D4WB1RdMPJfSLbJ96h3OuFhokfyY8Gamctm0XY694YM="; }; - cargoSha256 = "sha256-mIsT93XRU0mR5s5w3Sng2DTW2LyO9HT1w/1932vptIE="; + cargoSha256 = "sha256-C2I26E/dd18A4DDgOYGR8aS1RBrrNUwaXI4ZJHcrKy0="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/tools/networking/shadowsocks-rust/default.nix b/pkgs/tools/networking/shadowsocks-rust/default.nix index 0330e1cb7b5d..e16a359c12a3 100644 --- a/pkgs/tools/networking/shadowsocks-rust/default.nix +++ b/pkgs/tools/networking/shadowsocks-rust/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "shadowsocks-rust"; - version = "1.15.2"; + version = "1.15.3"; src = fetchFromGitHub { rev = "v${version}"; owner = "shadowsocks"; repo = pname; - hash = "sha256-CvAOvtC5U2njQuUjFxjnGeqhuxrCw4XI6goo1TxIhIU="; + hash = "sha256-HU+9y4btWbYrkHazOudY2j9RceieBK3BS2jgLbwcEdk="; }; - cargoHash = "sha256-ctZlYo82M7GKVvrEkw/7+aH9R0MeEsyv3IKl9k4SbiA="; + cargoHash = "sha256-YORQHX4RPPHDErgo4c3SxvxklJ9mxHeP/1GiwhuL+J0="; nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ]; diff --git a/pkgs/tools/security/scorecard/default.nix b/pkgs/tools/security/scorecard/default.nix index d3295de5bad8..b03f440a2d01 100644 --- a/pkgs/tools/security/scorecard/default.nix +++ b/pkgs/tools/security/scorecard/default.nix @@ -72,6 +72,6 @@ buildGoModule rec { changelog = "https://github.com/ossf/scorecard/releases/tag/v${version}"; description = "Security health metrics for Open Source"; license = licenses.asl20; - maintainers = with maintainers; [ jk ]; + maintainers = with maintainers; [ jk developer-guy ]; }; } diff --git a/pkgs/tools/system/ipmitool/default.nix b/pkgs/tools/system/ipmitool/default.nix index 9293951d7468..407a1f91b3bb 100644 --- a/pkgs/tools/system/ipmitool/default.nix +++ b/pkgs/tools/system/ipmitool/default.nix @@ -1,6 +1,13 @@ -{ stdenv, lib, fetchFromGitHub, autoreconfHook, openssl, readline }: +{ stdenv, lib, fetchFromGitHub, autoreconfHook, openssl, readline, fetchurl }: -stdenv.mkDerivation rec { +let + + iana-enterprise-numbers = fetchurl { + url = "https://web.archive.org/web/20230312103209id_/https://www.iana.org/assignments/enterprise-numbers.txt"; + sha256 = "sha256-huFWygMEylBKBMLV16UE6xLWP6Aw1FGYk5h1q5CErUs="; + }; + +in stdenv.mkDerivation rec { pname = "ipmitool"; version = "1.8.19"; @@ -16,7 +23,8 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace configure.ac \ - --replace 'AC_MSG_WARN([** Neither wget nor curl could be found.])' 'AM_CONDITIONAL([DOWNLOAD], [false])' + --replace 'AC_MSG_WARN([** Neither wget nor curl could be found.])' 'AM_CONDITIONAL([DOWNLOAD], [true])' + cp ${iana-enterprise-numbers} enterprise-numbers ''; meta = with lib; { diff --git a/pkgs/tools/text/teip/default.nix b/pkgs/tools/text/teip/default.nix index 14e1914dea8f..c0ac20a28149 100644 --- a/pkgs/tools/text/teip/default.nix +++ b/pkgs/tools/text/teip/default.nix @@ -1,28 +1,50 @@ -{ lib, rustPlatform, fetchCrate, installShellFiles, perl }: +{ lib +, rustPlatform +, fetchFromGitHub +, installShellFiles +, perl +, stdenv +}: rustPlatform.buildRustPackage rec { pname = "teip"; - version = "2.0.0"; + version = "2.3.0"; - src = fetchCrate { - inherit pname version; - sha256 = "sha256-fME+tS8wcC6mk5FjuDJpFWWhIsiXV4kuybSqj9awFUM="; + src = fetchFromGitHub { + owner = "greymd"; + repo = "teip"; + rev = "v${version}"; + hash = "sha256-09IKAM1ha40CvF5hdQIlUab7EBBFourC70LAagrs5+4="; }; - cargoSha256 = "sha256-wrfS+OEYF60nOhtrnmk7HKqVuAJQFaiT0GM+3OoZ3Wk="; + cargoHash = "sha256-cBFczgvLja6upuPnXphG2d9Rf1ZpNAVh16NHAHfXxHg="; nativeBuildInputs = [ installShellFiles ]; nativeCheckInputs = [ perl ]; + # Cargo.lock is outdated + preConfigure = '' + cargo update --offline + ''; + + # tests are locale sensitive + preCheck = '' + export LANG=${if stdenv.isDarwin then "en_US.UTF-8" else "C.UTF-8"} + ''; + postInstall = '' installManPage man/teip.1 - installShellCompletion --zsh completion/zsh/_teip + installShellCompletion \ + --bash completion/bash/teip \ + --fish completion/fish/teip.fish \ + --zsh completion/zsh/_teip ''; meta = with lib; { description = "A tool to bypass a partial range of standard input to any command"; homepage = "https://github.com/greymd/teip"; + changelog = "https://github.com/greymd/teip/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ figsoda ]; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5b49cd51863d..e2eb587a958c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11546,6 +11546,8 @@ with pkgs; react-native-debugger = callPackage ../development/tools/react-native-debugger { }; + readarr = callPackage ../servers/readarr { }; + read-edid = callPackage ../os-specific/linux/read-edid { }; readstat = callPackage ../applications/science/math/readstat { }; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index ac8af28fbcc8..4015e0013201 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -615,8 +615,6 @@ let git-binary = pkgs.git; }; - gmetadom = callPackage ../development/ocaml-modules/gmetadom { }; - graphics = if lib.versionOlder "4.09" ocaml.version then callPackage ../development/ocaml-modules/graphics { } diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6347b20e730c..79412f745813 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11978,6 +11978,8 @@ self: super: with self; { types-typed-ast = callPackage ../development/python-modules/types-typed-ast { }; + types-ujson = callPackage ../development/python-modules/types-ujson { }; + types-urllib3 = callPackage ../development/python-modules/types-urllib3 { }; typesentry = callPackage ../development/python-modules/typesentry { };