Commit graph

1,008,483 commits

Author SHA1 Message Date
zimbatm
ba1f4720f0 purescript.tests.minimal-module: use lib.sources.sourceByGlobs
Filter src to the .purs and .js files actually compiled, dropping
default.nix from the closure.

(cherry picked from commit df1b67fdfd)
2026-07-04 06:49:09 +00:00
zimbatm
576870d97c vimPluginsUpdater: use lib.sources.sourceByGlobs
Filter PYTHONPATH source to .py files only, dropping the 6 sibling
.nix files from the closure.

(cherry picked from commit 1b47667776)
2026-07-04 06:49:08 +00:00
zimbatm
9dc23bf891 pkgs.formats.javaProperties: use lib.sources.sourceByGlobs
Uses the cleaner expression

(cherry picked from commit edb4b053f5)
2026-07-04 06:49:08 +00:00
zimbatm
8b870d7666 lib.sources.sourceByGlobs: address review comments
(cherry picked from commit 01bdc186ae)
2026-07-04 06:49:08 +00:00
adisbladis
96d5ebc8c2 lib.sources.sourceByGlobs: init function
Adds a source filtering function inspired by [doublestar](https://github.com/bmatcuk/doublestar).

This has been in used in a few private repositories since the last ~6 months with success.

- Testing

This was originally tested with the nix-unit testsuite:
```
let
  inherit (import ./internal.nix) mkSourceFilter mkMatcher;
in
{
  mkMatcher = {
    empty = {
      testMatch = {
        expr = mkMatcher "" "" "regular";
        expected = true;
      };

      testNoMatch = {
        expr = mkMatcher "" "foo" "regular";
        expected = false;
      };
    };

    simple = {
      testMatch = {
        expr = mkMatcher "foo" "foo" "regular";
        expected = true;
      };

      testNoMatch = {
        expr = mkMatcher "foo" "bar" "regular";
        expected = false;
      };
    };

    singleStar = {
      testMatch = {
        expr = mkMatcher "*.js" "foo.js" "regular";
        expected = true;
      };

      testNoMatch = {
        expr = mkMatcher "*.js" "foo.py" "regular";
        expected = false;
      };
    };

    doubleStar = {
      testMatch = {
        expr = mkMatcher "foo/**/bar" "foo/baz/bar" "regular";
        expected = true;
      };

      testNoMatch = {
        expr = mkMatcher "foo/**/bar" "foo/bar/baz" "regular";
        expected = false;
      };

      testMultiMatch = {
        expr = mkMatcher "foo/**/bar" "foo/baz/xyz/bar" "regular";
        expected = true;
      };

      testMultiMatchDoubleGlob = {
        expr = mkMatcher "foo/**/**/bar" "foo/baz/xyz/bar" "regular";
        expected = true;
      };

      testInfixMatch = {
        expr = mkMatcher "foo/**/qux/**/bar" "foo/baz/qux/baz/bar" "regular";
        expected = true;
      };

      testInfixNoMatch = {
        expr = mkMatcher "foo/**/xyz/**/bar" "foo/baz/qux/baz/bar" "regular";
        expected = false;
      };

      # Technically a partial match
      testInfixDirMatch = {
        expr = mkMatcher "foo/**/xyz/**/bar" "foo/baz/qux/baz/bar" "directory";
        expected = true;
      };
    };
  };

  mkSourceFilter = {
    testSourceFilter = {
      expr = mkSourceFilter ./fixtures [
        "bar/*.js"
      ] "bar/bar.js" "regular";
      expected = true;
    };
  };
}
```
but it was dropped in this nixpkgs contribution as the structure of nixpkgs lib testing is too primitive to incorp this without more extensive refactoring than I'd like at the momment.

- Performance

It's hard to benchmark this against anything else meaningful except [globsset](https://github.com/pdtpartners/globset), which has a very similar API.

`sourceByGlobs` avoids performance pitfalls by:

  - Using `builtins.filterSource`

      This is more performant than the fileset API.
      The downside compared to the fileset API is that any directory which matches the filter will be added to the build, even if it's empty.

  - Match paths component by component

      By splitting each pattern into a token per / separator.
      This is much faster in Nix than the doublestar algorithm.

- Globset source

```json
{
    "cpuTime": 0.8585879802703857,
    "envs": {
        "bytes": 148252864,
        "elements": 11899843,
        "number": 6631765
    },
    "gc": {
        "heapSize": 402915328,
        "totalBytes": 671288560
    },
    "list": {
        "bytes": 3358664,
        "concats": 28658,
        "elements": 419833
    },
    "nrAvoided": 11562713,
    "nrFunctionCalls": 4816963,
    "nrLookups": 4316209,
    "nrOpUpdateValuesCopied": 5686407,
    "nrOpUpdates": 464060,
    "nrPrimOpCalls": 2966970,
    "nrThunks": 7796186,
    "sets": {
        "bytes": 196404672,
        "elements": 10837802,
        "number": 1437490
    },
    "sizes": {
        "Attr": 16,
        "Bindings": 16,
        "Env": 8,
        "Value": 24
    },
    "symbols": {
        "bytes": 340652,
        "number": 32026
    },
    "values": {
        "bytes": 207367440,
        "number": 8640310
    }
}
```

- Glob-filter source

```json
{
    "cpuTime": 0.3904629945755005,
    "envs": {
        "bytes": 13263440,
        "elements": 1005877,
        "number": 652053
    },
    "gc": {
        "heapSize": 402915328,
        "totalBytes": 146914896
    },
    "list": {
        "bytes": 3032168,
        "concats": 5899,
        "elements": 379021
    },
    "nrAvoided": 1666598,
    "nrFunctionCalls": 484399,
    "nrLookups": 112698,
    "nrOpUpdateValuesCopied": 3432135,
    "nrOpUpdates": 13426,
    "nrPrimOpCalls": 1041954,
    "nrThunks": 1205792,
    "sets": {
        "bytes": 64304800,
        "elements": 3978167,
        "number": 40883
    },
    "sizes": {
        "Attr": 16,
        "Bindings": 16,
        "Env": 8,
        "Value": 24
    },
    "symbols": {
        "bytes": 285306,
        "number": 28864
    },
    "values": {
        "bytes": 42963240,
        "number": 1790135
    }
}
```

(cherry picked from commit 59d55cbaa3)
2026-07-04 06:49:08 +00:00
nixpkgs-ci[bot]
19d9f7dd3f
[Backport release-26.05] xaos: fix desktop file install (#538273) 2026-07-04 04:12:40 +00:00
Ihar Hrachyshka
3b54b7f876
[Backport release-26.05] xquartz: Fix (nontrusted) X forwarding and crashloop (#537679) 2026-07-04 03:22:34 +00:00
Ihar Hrachyshka
cddf247518
[Backport release-26.05] thunderbird-latest-unwrapped: 152.0 -> 152.0.1 (#538291) 2026-07-04 02:27:59 +00:00
Matt Sturgeon
72d6518236
[Backport release-26.05] adw-bluetooth: 1.0.0 -> 1.1.0, init NixOS module (#536710) 2026-07-04 02:06:47 +00:00
@mjones
d568b2f5fd
[Backport release-26.05] mattermostLatest: 11.8.1 -> 11.8.2 (#538109) 2026-07-04 01:30:40 +00:00
R. Ryantm
73fcea124c thunderbird-latest-unwrapped: 152.0 -> 152.0.1
(cherry picked from commit 110fec6e02)
2026-07-04 01:26:19 +00:00
dotlambda
76c7ce9867
[Backport release-26.05] wol: fix Darwin build with gnu17 (#538255) 2026-07-04 01:11:55 +00:00
@mjones
e108b8dc6c
[Backport release-26.05] asn1c: 0.9.28 -> 0.9.29 (#538280) 2026-07-04 01:01:09 +00:00
Morgan Jones
1cf4918ad8 asn1c: 0.9.28 -> 0.9.29
(cherry picked from commit afacd7d03f)
2026-07-04 00:46:54 +00:00
nixpkgs-ci[bot]
8fe04bebab
[Backport release-26.05] steam-devices-udev-rules: 1.0.0.61-unstable-2026-06-11 -> 1.0.0.61-unstable-2026-06-25 (#537842) 2026-07-03 23:31:41 +00:00
Emily
92e31f9b52
[Backport release-26.05] ungoogled-chromium: 149.0.7827.200-1 -> 150.0.7871.46-1 (#538264) 2026-07-03 23:31:41 +00:00
coolcuber
fd8e6b2402 xaos: fix desktop file install
(cherry picked from commit 95533ecf3d)
2026-07-03 23:20:51 +00:00
Gaétan Lepage
4b2e26aa0d
[Backport release-26.05] peertube: 8.1.8 -> 8.2.2 (#538259) 2026-07-03 23:19:42 +00:00
emilylange
4e29180a4c ungoogled-chromium: 149.0.7827.200-1 -> 150.0.7871.46-1
https://developer.chrome.com/blog/new-in-chrome-150

https://developer.chrome.com/release_notes/150

https://chromereleases.googleblog.com/2026/06/stable-channel-update-for-desktop_0175352312.html

This update includes 433 security fixes.

(cherry picked from commit bb6e0bdd29)
2026-07-03 23:03:15 +00:00
nixpkgs-ci[bot]
b6a627afa7
[Backport release-26.05] r2modman: 3.2.17 -> 3.2.18 (#538258) 2026-07-03 22:58:38 +00:00
Grace Lovelace
dc18017713 peertube: 8.1.8 -> 8.2.2
Important security fix, CR comments.

(cherry picked from commit 195b95f5ac)
2026-07-03 22:48:11 +00:00
R. Ryantm
91a7def3f2 r2modman: 3.2.17 -> 3.2.18
(cherry picked from commit 91c209262d)
2026-07-03 22:47:05 +00:00
Bryan Lai
517835d82d wol: fix clang build with gnu17 flag
Co-authored-by: dotlambda <github@dotlambda.de>
(cherry picked from commit 509a095d5f)
2026-07-03 22:24:33 +00:00
Bjørn Forsman
3d3618ab18
[Backport release-26.05] libxml2_13: fix CVE-2026-11979 (#538237) 2026-07-03 21:54:30 +00:00
Gutyina Gergő
3c77fd819e libxml2_13: fix CVE-2026-11979
(cherry picked from commit 72fd186ec8)
2026-07-03 21:17:22 +00:00
Arne Keller
8045b5f517
[Backport release-26.05] ghdl-llvm-jit: init at 6.0.0 (#536971) 2026-07-03 20:51:58 +00:00
Felix Bargfeldt
4254c45fba
[Backport release-26.05] radicle-desktop: 0.12.0 -> 0.13.0 (#538191) 2026-07-03 19:54:40 +00:00
Arne Keller
a13feff48a
[Backport release-26.05] veilid: 0.5.3 -> 0.5.5 (#536335) 2026-07-03 19:47:48 +00:00
Arne Keller
993482505f
[Backport release-26.05] deluge: add missing libappindicator-gtk3 dependency (#531807) 2026-07-03 19:42:13 +00:00
Arne Keller
b2cb2b8c79
[Backport release-26.05] temporal: 1.30.4 -> 1.30.5 (#534334) 2026-07-03 19:29:48 +00:00
Defelo
84928dbd5e radicle-desktop: 0.12.0 -> 0.13.0
Changelog: https://radicle.network/nodes/seed.radicle.dev/rad:z4D5UCArafTzTQpDZNQRuqswh3ury/tree/CHANGELOG.md
(cherry picked from commit e886b7d92c)
2026-07-03 19:09:36 +00:00
Arne Keller
ba19688dbe
[Backport release-26.05] geekbench_6: 6.4.0->6.7.1, move to by-name, support riscv64 (#530806) 2026-07-03 17:22:35 +00:00
Arne Keller
46cc642b2b
[Backport release-26.05] pocket-casts: Bump electron version to 42 (#538137) 2026-07-03 17:04:23 +00:00
Arne Keller
734e027972
[Backport release-26.05] nixos/adguardhome: fix shellcheck error in pre-start script (#538161) 2026-07-03 16:52:12 +00:00
Arne Keller
66caa34281
[Backport release-26.05] shogihome: 1.27.3 -> 1.28.0, fix build on darwin (#538157) 2026-07-03 16:51:14 +00:00
SebastianStork
5026b48150 nixos/adguardhome: fix shellcheck error in pre-start script
(cherry picked from commit d9d779c24d)
2026-07-03 16:42:54 +00:00
Kenichi Kamiya
c5a54fd277 shogihome: fix build on darwin
(cherry picked from commit c03414ca22)
2026-07-03 16:38:02 +00:00
R. Ryantm
c816f27918 shogihome: 1.27.3 -> 1.28.0
(cherry picked from commit 97406dc537)
2026-07-03 16:38:02 +00:00
Masum Reza
55dce2f15f
[Backport release-26.05] limine: 12.3.3 -> 12.4.0 (#537732) 2026-07-03 15:21:03 +00:00
yaya
487762020e pocket-casts: Bump electron version to 42
Upstream already pinned Electron to 42 in their `package.json` for
v0.13.0.

(cherry picked from commit 8bb07fcc0f)
2026-07-03 14:51:09 +00:00
yaya
6bcdf817ea
[Backport release-26.05] mattermost-desktop: 6.1.2 -> 6.2.2 (#538127) 2026-07-03 14:17:45 +00:00
Olli Helenius
eb23ac0cf8 mattermost-desktop: 6.1.2 -> 6.2.2
(cherry picked from commit 522d597d2a)
2026-07-03 14:12:08 +00:00
Gaétan Lepage
9119d5cdbc
[Backport release-26.05] freeoffice: 2024.1220 -> 2024.1234 (#538100) 2026-07-03 13:17:51 +00:00
Morgan Jones
a2461c700f mattermostLatest: don't test unofficial patches
Warn if the user tries to enable them, and disable them in tests because
it's too much work to maintain them.

(cherry picked from commit eb435dcd1f)
2026-07-03 12:35:50 +00:00
R. Ryantm
2759ab2a00 mattermostLatest: 11.8.1 -> 11.8.2
(cherry picked from commit e1a4f68f2a)
2026-07-03 12:35:50 +00:00
nixpkgs-ci[bot]
3726397338
[Backport release-26.05] pgdog: 0.1.46 -> 0.1.47 (#538099) 2026-07-03 12:27:38 +00:00
Niklas Korz
f915bb3974
[Backport release-26.05] vips: 8.18.2 -> 8.18.3 (#537730) 2026-07-03 12:10:45 +00:00
Gergő Gutyina
171fbf7560
[26.05] your_spotify: 1.19.0 -> 1.20.0, switch to pnpm 11 (#536321) 2026-07-03 11:56:33 +00:00
Gergő Gutyina
827e6f2be7
[Backport release-26.05] bottom: 0.13.0 -> 0.14.2 (#536337) 2026-07-03 11:55:29 +00:00
XlNTARO
b9e414106b freeoffice: 2024.1220 -> 2024.1234
(cherry picked from commit 7cb7e835aa)
2026-07-03 11:52:05 +00:00