R. Ryantm
|
147cfdf8ab
|
python3Packages.msprime: 1.4.1 -> 1.4.2
|
2026-05-26 10:02:09 +00:00 |
|
 zimbatmandadisbladis
|
df1b67fdfd
|
purescript.tests.minimal-module: use lib.sources.sourceByGlobs
Filter src to the .purs and .js files actually compiled, dropping
default.nix from the closure.
|
2026-05-26 21:53:50 +12:00 |
|
 kirillrdyandGitHub
|
87fcb8ea8b
|
python3Packages.numpy-quaternion: init at 2024.0.13 (#524057)
|
2026-05-26 09:53:40 +00:00 |
|
 Luke Granger-BrownandGitHub
|
bf36a43961
|
prometheus-bird-exporter: 1.4.3 -> 1.4.5 (#516082)
|
2026-05-26 09:49:51 +00:00 |
|
 zimbatmandadisbladis
|
1b47667776
|
vimPluginsUpdater: use lib.sources.sourceByGlobs
Filter PYTHONPATH source to .py files only, dropping the 6 sibling
.nix files from the closure.
|
2026-05-26 21:49:00 +12:00 |
|
 zimbatmandadisbladis
|
edb4b053f5
|
pkgs.formats.javaProperties: use lib.sources.sourceByGlobs
Uses the cleaner expression
|
2026-05-26 21:49:00 +12:00 |
|
 zimbatmandadisbladis
|
01bdc186ae
|
lib.sources.sourceByGlobs: address review comments
|
2026-05-26 21:49:00 +12:00 |
|
adisbladis
|
59d55cbaa3
|
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
}
}
```
|
2026-05-26 21:48:59 +12:00 |
|
 Rémi NICOLEandGitHub
|
60dd3b28f0
|
knewave: use installFonts (#523796)
|
2026-05-26 09:41:44 +00:00 |
|
 Fabian AffolterandGitHub
|
8c7a7542c1
|
python3Packages.aiolichess: 1.2.0 -> 1.3.0 (#524375)
|
2026-05-26 09:39:15 +00:00 |
|
 Weijia WangandGitHub
|
5a1bed9680
|
python3Packages.eigenpy: 3.12.0 -> 3.13.0 (#523923)
|
2026-05-26 09:39:00 +00:00 |
|
 Fabian AffolterandGitHub
|
98352fe2f0
|
python3Packages.pyyardian: modernize
|
2026-05-26 11:37:12 +02:00 |
|
 Bruno BELANYIandGitHub
|
71b6c3bf34
|
upsies: 2026.05.14 -> 2026.05.24 (#524282)
|
2026-05-26 09:33:10 +00:00 |
|
Fabian Affolter
|
9c526e0077
|
python3Packages.iamdata: 0.1.202605251 -> 0.1.202605261
Diff: https://github.com/cloud-copilot/iam-data-python/compare/v0.1.202605251...v0.1.202605261
Changelog: https://github.com/cloud-copilot/iam-data-python/releases/tag/v0.1.202605261
|
2026-05-26 11:29:58 +02:00 |
|
Eric Rodrigues Pires
|
18ccf74b16
|
sandhole: 0.9.4 -> 0.9.5
|
2026-05-26 06:29:22 -03:00 |
|
 nixpkgs-ci[bot]andGitHub
|
9f7fdd3a43
|
gemini-cli: 0.42.0 -> 0.43.0 (#524359)
|
2026-05-26 09:28:33 +00:00 |
|
 nixpkgs-ci[bot]andGitHub
|
4ddabe8496
|
vivaldi: 8.0.4033.26 -> 8.0.4033.34 (#524344)
|
2026-05-26 09:28:29 +00:00 |
|
 nixpkgs-ci[bot]andGitHub
|
df5303e7c0
|
netgen-vlsi: 1.5.319 -> 1.5.320 (#524313)
|
2026-05-26 09:28:23 +00:00 |
|
 nixpkgs-ci[bot]andGitHub
|
7b62391d9c
|
tsukimi: 0.21.0 -> 26.5.3 (#524300)
|
2026-05-26 09:28:22 +00:00 |
|
 nixpkgs-ci[bot]andGitHub
|
8fc5885235
|
gefyra: 2.4.3 -> 2.4.4 (#523493)
|
2026-05-26 09:27:51 +00:00 |
|
 K900andGitHub
|
99737c6d9b
|
Revert "scx.cscheds: move env variable into env for structuredAttrs" (#524373)
|
2026-05-26 09:24:34 +00:00 |
|
R. Ryantm
|
e7d163b4e6
|
python3Packages.aiolichess: 1.2.0 -> 1.3.0
|
2026-05-26 09:23:57 +00:00 |
|
 K900andGitHub
|
520c7a1e49
|
Revert "scx.cscheds: move env variable into env for structuredAttrs"
|
2026-05-26 12:19:21 +03:00 |
|
Kirill Radzikhovskyy
|
701440c69b
|
android-cli: init at 1.0.15433482
Assisted-by: Antigravity <Gemini 3.5 Flash>
|
2026-05-26 19:15:23 +10:00 |
|
 Weijia WangandGitHub
|
f44f7788c8
|
a2ps: 4.15.7 -> 4.15.8 (#523867)
|
2026-05-26 09:13:58 +00:00 |
|
 Weijia WangandGitHub
|
c707058ed4
|
nvc: 1.20.1 -> 1.21.0 (#523380)
|
2026-05-26 09:13:14 +00:00 |
|
R. Ryantm
|
e39dcee4ed
|
python3Packages.pyyardian: 1.2.0 -> 1.3.3
|
2026-05-26 09:12:03 +00:00 |
|
 Weijia WangandGitHub
|
6a5d17ec11
|
sarasa-gothic: 1.0.37 -> 1.0.39 (#523731)
|
2026-05-26 09:09:08 +00:00 |
|
 Thiago Kenji OkadaandGitHub
|
12897ff37a
|
libretro.mame2003-plus: 0-unstable-2026-05-15 -> 0-unstable-2026-05-23 (#524249)
|
2026-05-26 09:00:49 +00:00 |
|
 zowoqandGitHub
|
0b62ee1217
|
terraform-providers.newrelic_newrelic: 3.87.3 -> 3.90.0 (#524365)
|
2026-05-26 08:58:45 +00:00 |
|
 Rémi NICOLEandGitHub
|
0b336db6e5
|
gelly: 1.1.2 -> 1.3.0 (#522469)
|
2026-05-26 08:58:18 +00:00 |
|
 Tomas RiveraandShadowRZ
|
0838a16c21
|
vimPlugins.vim-tmux: override license to mit and publicDomain
Co-authored-by: ShadowRZ <shadowrz+nixpkgs@disroot.org>
|
2026-05-26 10:55:48 +02:00 |
|
Jacek Galowicz
|
22253f78ec
|
owners: Add @tfc to nixos test driver modules folder
|
2026-05-26 10:52:50 +02:00 |
|
R. Ryantm
|
7a6f6b12b2
|
ouch-rar: 0.7.1 -> 0.8.0
|
2026-05-26 08:52:30 +00:00 |
|
 Tomas RiveraandShadowRZ
|
2ff8b1a9b2
|
vimPlugins.clang_complete: override license to bsd3 and ncsa
Co-authored-by: ShadowRZ <shadowrz+nixpkgs@disroot.org>
|
2026-05-26 10:43:58 +02:00 |
|
Tomas Rivera
|
d08faf89be
|
vimPlugins.psc-ide-vim: override license to mit and wtfpl
|
2026-05-26 10:43:58 +02:00 |
|
Tomas Rivera
|
a71318b1de
|
vimPlugins.neotest-foundry: override license to asl20 and mit
|
2026-05-26 10:43:57 +02:00 |
|
Tomas Rivera
|
2859715681
|
vimPlugins.vim-sile: override license to bsd0, cc0 and gpl2Plus
|
2026-05-26 10:43:57 +02:00 |
|
 Tomas RiveraandShadowRZ
|
19dbf8f8b8
|
vimPlugins.vim-dirdiff: override license to bsd3
Co-authored-by: ShadowRZ <shadowrz+nixpkgs@disroot.org>
|
2026-05-26 10:43:57 +02:00 |
|
 Tomas RiveraandShadowRZ
|
587b8ec0f7
|
vimPlugins.vim-protobuf: override license to bsd3
Co-authored-by: ShadowRZ <shadowrz+nixpkgs@disroot.org>
|
2026-05-26 10:43:57 +02:00 |
|
 Tomas RiveraandShadowRZ
|
7fb4620688
|
vimPlugins.ncm2-utlisnips: override license to mit
Co-authored-by: ShadowRZ <shadowrz+nixpkgs@disroot.org>
|
2026-05-26 10:43:57 +02:00 |
|
 Tomas RiveraandShadowRZ
|
7004cffa32
|
vimPlugins.last256: override license to mit
Co-authored-by: ShadowRZ <shadowrz+nixpkgs@disroot.org>
|
2026-05-26 10:43:57 +02:00 |
|
 Tomas RiveraandShadowRZ
|
02bfaa65d2
|
vimPlugins.vim-watchdogs: override license to artistic1
Co-authored-by: ShadowRZ <shadowrz+nixpkgs@disroot.org>
|
2026-05-26 10:43:57 +02:00 |
|
 Tomas RiveraandShadowRZ
|
f0cbe3c5d9
|
vimPlugins.vim-addon-async: override license to vim
Co-authored-by: ShadowRZ <shadowrz+nixpkgs@disroot.org>
|
2026-05-26 10:43:57 +02:00 |
|
Tomas Rivera
|
74668db9a0
|
vimPlugins.vim-sentence-chopper: override license to wtfpl
|
2026-05-26 10:43:57 +02:00 |
|
Tomas Rivera
|
01a50a394d
|
vimPlugins.vim-CtrlXA: override license to wtfpl
|
2026-05-26 10:43:57 +02:00 |
|
Tomas Rivera
|
adcd15eba6
|
vimPlugins.fastfold: override license to wtfpl
|
2026-05-26 10:43:57 +02:00 |
|
Tomas Rivera
|
c3690cce4e
|
vimPlugins.zeavim-vim: override license to publicDomain
|
2026-05-26 10:43:57 +02:00 |
|
Tomas Rivera
|
13b3305464
|
vimPlugins.zoomwintab-vim: override license to vim
|
2026-05-26 10:43:57 +02:00 |
|
Tomas Rivera
|
b2577b6633
|
vimPlugins.whitespace-nvim: override license to mit
|
2026-05-26 10:43:57 +02:00 |
|