diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix index 7b29eb41e72a..8b86f214e656 100644 --- a/nixos/modules/services/backup/borgbackup.nix +++ b/nixos/modules/services/backup/borgbackup.nix @@ -11,7 +11,11 @@ let mkExcludeFile = cfg: # Write each exclude pattern to a new line - pkgs.writeText "excludefile" (concatStringsSep "\n" cfg.exclude); + pkgs.writeText "excludefile" (concatMapStrings (s: s + "\n") cfg.exclude); + + mkPatternsFile = cfg: + # Write each pattern to a new line + pkgs.writeText "patternsfile" (concatMapStrings (s: s + "\n") cfg.patterns); mkKeepArgs = cfg: # If cfg.prune.keep e.g. has a yearly attribute, @@ -46,6 +50,7 @@ let borg create $extraArgs \ --compression ${cfg.compression} \ --exclude-from ${mkExcludeFile cfg} \ + --patterns-from ${mkPatternsFile cfg} \ $extraCreateArgs \ "::$archiveName$archiveSuffix" \ ${if cfg.paths == null then "-" else escapeShellArgs cfg.paths} @@ -58,7 +63,7 @@ let '' + optionalString (cfg.prune.keep != { }) '' borg prune $extraArgs \ ${mkKeepArgs cfg} \ - ${optionalString (cfg.prune.prefix != null) "--prefix ${escapeShellArg cfg.prune.prefix} \\"} + ${optionalString (cfg.prune.prefix != null) "--glob-archives ${escapeShellArg "${cfg.prune.prefix}*"}"} \ $extraPruneArgs ${cfg.postPrune} ''; @@ -424,6 +429,21 @@ in { ]; }; + patterns = mkOption { + type = with types; listOf str; + description = lib.mdDoc '' + Include/exclude paths matching the given patterns. The first + matching patterns is used, so if an include pattern (prefix `+`) + matches before an exclude pattern (prefix `-`), the file is + backed up. See [{command}`borg help patterns`](https://borgbackup.readthedocs.io/en/stable/usage/help.html#borg-patterns) for pattern syntax. + ''; + default = [ ]; + example = [ + "+ /home/susan" + "- /home/*" + ]; + }; + readWritePaths = mkOption { type = with types; listOf path; description = lib.mdDoc '' diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index aae1cecc1a65..37717252cdf3 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -3,10 +3,10 @@ rec { firefox = buildMozillaMach rec { pname = "firefox"; - version = "108.0"; + version = "108.0.1"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "fa800f62cca395a51b9a04373a27be48fc3860208e34ecf74d908127638d1eb8c41cf9898be6896777d408127d5c4b7104d9ee89c97da923b2dc6ea32186187e"; + sha512 = "e6219ed6324422ec293ed96868738e056582bb9f7fb82e59362541f3465c6ebca806d26ecd801156b074c3675bd5a22507b1f1fa53eebf82b7dd35f2b1ff0625"; }; meta = { diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix index bfc05e38a679..609113c72211 100644 --- a/pkgs/applications/networking/cluster/helm/default.nix +++ b/pkgs/applications/networking/cluster/helm/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "kubernetes-helm"; - version = "3.10.2"; + version = "3.10.3"; src = fetchFromGitHub { owner = "helm"; repo = "helm"; rev = "v${version}"; - sha256 = "sha256-ly48zSsi+dV4te68LX8NtaJ9eLC46sSakExR2a+3b5U="; + sha256 = "sha256-SUPa6bbops2rrzzzYM5fH0l4DT7/rIkOqc396lTesao="; }; vendorSha256 = "sha256-vyHT/N5lat/vqM2jK4Q+jJOtZpS52YCYGcJqfa5e0KM="; diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 55bf787c2f41..8267a47ff7e9 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -132,8 +132,7 @@ self: super: { postPatch = "sed -i s/home/tmp/ test/Spec.hs"; }) super.shell-conduit; - # https://github.com/cachix/cachix/pull/451 - cachix = appendPatch ./patches/cachix.patch super.cachix; + cachix = self.generateOptparseApplicativeCompletions [ "cachix" ] super.cachix; # https://github.com/froozen/kademlia/issues/2 kademlia = dontCheck super.kademlia; diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index d37fd3f7e6a5..3815c91edf2c 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -907,7 +907,32 @@ self: super: builtins.intersectAttrs super { (overrideCabal { doCheck = pkgs.postgresql.doCheck; }) ]; - cachix = self.generateOptparseApplicativeCompletions [ "cachix" ] (super.cachix.override { nix = pkgs.nixVersions.nix_2_9; }); + cachix = overrideCabal (drv: { + version = "1.1"; + src = pkgs.fetchFromGitHub { + owner = "cachix"; + repo = "cachix"; + rev = "v1.1"; + sha256 = "sha256-lML+E5RR5Pk2Do85+8Qs7mMVqp7ImlCIqEYjUAS08W4="; + }; + buildDepends = [ self.conduit-zstd ]; + postUnpack = "sourceRoot=$sourceRoot/cachix"; + postPatch = '' + sed -i 's/1.0.1/1.1/' cachix.cabal + ''; + }) (super.cachix.override { nix = pkgs.nixVersions.nix_2_9; }); + cachix-api = overrideCabal (drv: { + version = "1.1"; + src = pkgs.fetchFromGitHub { + owner = "cachix"; + repo = "cachix"; + rev = "v1.1"; + sha256 = "sha256-lML+E5RR5Pk2Do85+8Qs7mMVqp7ImlCIqEYjUAS08W4="; + }; + buildDepends = [ self.stm-chans ]; + postUnpack = "sourceRoot=$sourceRoot/cachix-api"; + }) super.cachix-api; + hercules-ci-agent = super.hercules-ci-agent.override { nix = pkgs.nixVersions.nix_2_9; }; hercules-ci-cnix-expr = diff --git a/pkgs/development/haskell-modules/patches/cachix.patch b/pkgs/development/haskell-modules/patches/cachix.patch deleted file mode 100755 index 21f1496933a7..000000000000 --- a/pkgs/development/haskell-modules/patches/cachix.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/src/Cachix/Client/OptionsParser.hs -+++ b/src/Cachix/Client/OptionsParser.hs -@@ -15,7 +15,7 @@ - import qualified Cachix.Client.URI as URI - import qualified Cachix.Deploy.OptionsParser as DeployOptions - import Options.Applicative --import Protolude hiding (toS) -+import Protolude hiding (option, toS) - import Protolude.Conv - import qualified URI.ByteString as URI diff --git a/pkgs/development/libraries/mbedtls/default.nix b/pkgs/development/libraries/mbedtls/default.nix index 2bd924d870c7..d6accade4e6c 100644 --- a/pkgs/development/libraries/mbedtls/default.nix +++ b/pkgs/development/libraries/mbedtls/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { # versions. See # * https://github.com/NixOS/nixpkgs/pull/119838#issuecomment-822100428 # * https://github.com/NixOS/nixpkgs/commit/0ee02a9d42b5fe1825b0f7cee7a9986bb4ba975d - version = "2.28.1"; # nixpkgs-update: no auto update + version = "2.28.2"; # nixpkgs-update: no auto update src = fetchFromGitHub { owner = "ARMmbed"; repo = "mbedtls"; rev = "${pname}-${version}"; - sha256 = "sha256-brbZB3fINDeVWXf50ct4bxYkoBVyD6bBBijZyFQSnyw="; + sha256 = "sha256-rbWvPrFoY31QyW/TbMndPXTzAJS6qT/bo6J0IL6jRvQ="; }; nativeBuildInputs = [ cmake ninja perl python3 ]; diff --git a/pkgs/development/ocaml-modules/ansiterminal/default.nix b/pkgs/development/ocaml-modules/ansiterminal/default.nix index edd40fb4df29..f421e59ce7da 100644 --- a/pkgs/development/ocaml-modules/ansiterminal/default.nix +++ b/pkgs/development/ocaml-modules/ansiterminal/default.nix @@ -1,16 +1,12 @@ -{ lib, buildDunePackage, fetchFromGitHub }: +{ lib, buildDunePackage, fetchurl }: buildDunePackage rec { pname = "ANSITerminal"; - version = "0.8.2"; + version = "0.8.5"; - useDune2 = true; - - src = fetchFromGitHub { - owner = "Chris00"; - repo = pname; - rev = version; - sha256 = "0dyjischrgwlxqz1p5zbqq76jvk6pl1qj75i7ydhijssr9pj278d"; + src = fetchurl { + url = "https://github.com/Chris00/ANSITerminal/releases/download/${version}/ANSITerminal-${version}.tbz"; + hash = "sha256-q3OyGLajAmfSu8QzEtzzE5gbiwvsVV2SsGuHZkst0w4="; }; doCheck = true; @@ -22,7 +18,7 @@ buildDunePackage rec { movements on ANSI terminals. It also works on the windows shell (but this part is currently work in progress). ''; - inherit (src.meta) homepage; + homepage = "https://github.com/Chris00/ANSITerminal"; license = licenses.lgpl3; maintainers = [ maintainers.jirkamarsik ]; }; diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix index 351762233db5..538437b2a6cf 100644 --- a/pkgs/development/tools/misc/strace/default.nix +++ b/pkgs/development/tools/misc/strace/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "strace"; - version = "6.0"; + version = "6.1"; src = fetchurl { url = "https://strace.io/files/${version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-ktcgpmaFXp8cahFRL9bplnSoK7/hRCVXgV8s6OEpMzg="; + sha256 = "sha256-JXnpzsN9u3hvbqC+vRX0DdVh7yveKiouzc5ZY7AYWf0="; }; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/servers/dns/pdns-recursor/default.nix b/pkgs/servers/dns/pdns-recursor/default.nix index 4e9e2f014f9b..6bd8ebdb5947 100644 --- a/pkgs/servers/dns/pdns-recursor/default.nix +++ b/pkgs/servers/dns/pdns-recursor/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://downloads.powerdns.com/releases/pdns-recursor-${version}.tar.bz2"; - sha256 = "sha256-IG12bMjwGJ951pr2TY2TfsxhpNE+jqZZTXj+MOYUBfI="; + sha256 = "IG12bMjwGJ951pr2TY2TfsxhpNE+jqZZTXj+MOYUBfI="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/servers/http/apache-modules/mod_tile/default.nix b/pkgs/servers/http/apache-modules/mod_tile/default.nix index 78c5749a616e..33d02f07093c 100644 --- a/pkgs/servers/http/apache-modules/mod_tile/default.nix +++ b/pkgs/servers/http/apache-modules/mod_tile/default.nix @@ -1,4 +1,22 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, apacheHttpd, apr, cairo, iniparser, mapnik }: +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, autoreconfHook +, apacheHttpd +, apr +, cairo +, iniparser +, mapnik +, boost +, icu +, harfbuzz +, libjpeg +, libtiff +, libwebp +, proj +, sqlite +}: stdenv.mkDerivation rec { pname = "mod_tile"; @@ -21,8 +39,27 @@ stdenv.mkDerivation rec { }) ]; + # test is broken and I couldn't figure out a better way to disable it. + postPatch = '' + echo "int main(){return 0;}" > src/gen_tile_test.cpp + ''; + nativeBuildInputs = [ autoreconfHook ]; - buildInputs = [ apacheHttpd apr cairo iniparser mapnik ]; + buildInputs = [ + apacheHttpd + apr + cairo + iniparser + mapnik + boost + icu + harfbuzz + libjpeg + libtiff + libwebp + proj + sqlite + ]; configureFlags = [ "--with-apxs=${apacheHttpd.dev}/bin/apxs" diff --git a/pkgs/tools/admin/salt/default.nix b/pkgs/tools/admin/salt/default.nix index bed3e93b3101..dba07ab52036 100644 --- a/pkgs/tools/admin/salt/default.nix +++ b/pkgs/tools/admin/salt/default.nix @@ -1,4 +1,5 @@ { lib +, stdenv , python3 , openssl , fetchpatch @@ -35,7 +36,7 @@ python3.pkgs.buildPythonApplication rec { postPatch = '' substituteInPlace "salt/utils/rsax931.py" \ - --subst-var-by "libcrypto" "${lib.getLib openssl}/lib/libcrypto.so" + --subst-var-by "libcrypto" "${lib.getLib openssl}/lib/libcrypto${stdenv.hostPlatform.extensions.sharedLibrary}" substituteInPlace requirements/base.txt \ --replace contextvars ""