Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-06-11 18:01:21 +00:00 committed by GitHub
commit 2a247383ce
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
26 changed files with 1106 additions and 1076 deletions

View File

@ -31,8 +31,8 @@ Each interpreter has the following attributes:
### Building packages and applications {#building-packages-and-applications}
Python libraries and applications that use `setuptools` or
`distutils` are typically built with respectively the [`buildPythonPackage`](#buildpythonpackage-function) and
Python libraries and applications that use tools to follow PEP 517 (e.g. `setuptools` or `hatchling`, etc.) or
previous tools such as `distutils` are typically built with respectively the [`buildPythonPackage`](#buildpythonpackage-function) and
[`buildPythonApplication`](#buildpythonapplication-function) functions. These two functions also support installing a `wheel`.
All Python packages reside in `pkgs/top-level/python-packages.nix` and all
@ -78,6 +78,7 @@ The following is an example:
, fetchPypi
# build-system
, setuptools
, setuptools-scm
# dependencies
@ -107,6 +108,7 @@ buildPythonPackage rec {
'';
build-system = [
setuptools
setuptools-scm
];
@ -134,13 +136,13 @@ buildPythonPackage rec {
The `buildPythonPackage` mainly does four things:
* In the [`buildPhase`](#build-phase), it calls `${python.pythonOnBuildForHost.interpreter} setup.py bdist_wheel` to
* In the [`buildPhase`](#build-phase), it calls `${python.pythonOnBuildForHost.interpreter} -m build --wheel` to
build a wheel binary zipfile.
* In the [`installPhase`](#ssec-install-phase), it installs the wheel file using `pip install *.whl`.
* In the [`installPhase`](#ssec-install-phase), it installs the wheel file using `${python.pythonOnBuildForHost.interpreter} -m installer *.whl`.
* In the [`postFixup`](#var-stdenv-postFixup) phase, the `wrapPythonPrograms` bash function is called to
wrap all programs in the `$out/bin/*` directory to include `$PATH`
environment variable and add dependent libraries to script's `sys.path`.
* In the [`installCheck`](#ssec-installCheck-phase) phase, `${python.interpreter} setup.py test` is run.
* In the [`installCheck`](#ssec-installCheck-phase) phase, `${python.interpreter} -m pytest` is run.
By default tests are run because [`doCheck = true`](#var-stdenv-doCheck). Test dependencies, like
e.g. the test runner, should be added to [`nativeCheckInputs`](#var-stdenv-nativeCheckInputs).
@ -177,10 +179,6 @@ following are specific to `buildPythonPackage`:
`makeWrapperArgs = ["--set FOO BAR" "--set BAZ QUX"]`.
* `namePrefix`: Prepends text to `${name}` parameter. In case of libraries, this
defaults to `"python3.8-"` for Python 3.8, etc., and in case of applications to `""`.
* `pipInstallFlags ? []`: A list of strings. Arguments to be passed to `pip
install`. To pass options to `python setup.py install`, use
`--install-option`. E.g., `pipInstallFlags=["--install-option='--cpp_implementation'"]`.
* `pipBuildFlags ? []`: A list of strings. Arguments to be passed to `pip wheel`.
* `pypaBuildFlags ? []`: A list of strings. Arguments to be passed to `python -m build --wheel`.
* `pythonPath ? []`: List of packages to be added into `$PYTHONPATH`. Packages
in `pythonPath` are not propagated (contrary to [`propagatedBuildInputs`](#var-stdenv-propagatedBuildInputs)).
@ -298,7 +296,6 @@ python3Packages.buildPythonApplication rec {
build-system = with python3Packages; [
setuptools
wheel
];
dependencies = with python3Packages; [
@ -465,13 +462,11 @@ are used in [`buildPythonPackage`](#buildpythonpackage-function).
with the `eggInstallHook`
- `eggBuildHook` to skip building for eggs.
- `eggInstallHook` to install eggs.
- `pipBuildHook` to build a wheel using `pip` and PEP 517. Note a build system
(e.g. `setuptools` or `flit`) should still be added as `build-system`.
- `pypaBuildHook` to build a wheel using
[`pypa/build`](https://pypa-build.readthedocs.io/en/latest/index.html) and
PEP 517/518. Note a build system (e.g. `setuptools` or `flit`) should still
be added as `build-system`.
- `pipInstallHook` to install wheels.
- `pypaInstallHook` to install wheels.
- `pytestCheckHook` to run tests with `pytest`. See [example usage](#using-pytestcheckhook).
- `pythonCatchConflictsHook` to fail if the package depends on two different versions of the same dependency.
- `pythonImportsCheckHook` to check whether importing the listed modules works.
@ -609,7 +604,8 @@ that sets up an interpreter pointing to them. This matters much more for "big"
modules like `pytorch` or `tensorflow`.
Module names usually match their names on [pypi.org](https://pypi.org/), but
you can use the [Nixpkgs search website](https://nixos.org/nixos/packages.html)
normalized according to PEP 503/508. (e.g. Foo__Bar.baz -> foo-bar-baz)
You can use the [Nixpkgs search website](https://nixos.org/nixos/packages.html)
to find them as well (along with non-python packages).
At this point we can create throwaway experimental Python environments with
@ -837,7 +833,6 @@ building Python libraries is [`buildPythonPackage`](#buildpythonpackage-function
, buildPythonPackage
, fetchPypi
, setuptools
, wheel
}:
buildPythonPackage rec {
@ -852,7 +847,6 @@ buildPythonPackage rec {
build-system = [
setuptools
wheel
];
# has no tests
@ -876,7 +870,7 @@ buildPythonPackage rec {
What happens here? The function [`buildPythonPackage`](#buildpythonpackage-function) is called and as argument
it accepts a set. In this case the set is a recursive set, `rec`. One of the
arguments is the name of the package, which consists of a basename (generally
following the name on PyPi) and a version. Another argument, `src` specifies the
following the name on PyPI) and a version. Another argument, `src` specifies the
source, which in this case is fetched from PyPI using the helper function
`fetchPypi`. The argument `doCheck` is used to set whether tests should be run
when building the package. Since there are no tests, we rely on [`pythonImportsCheck`](#using-pythonimportscheck)
@ -911,7 +905,6 @@ with import <nixpkgs> {};
build-system = [
python311.pkgs.setuptools
python311.pkgs.wheel
];
# has no tests
@ -964,13 +957,13 @@ order to build [`datashape`](https://github.com/blaze/datashape).
, fetchPypi
# build dependencies
, setuptools, wheel
, setuptools
# dependencies
, numpy, multipledispatch, python-dateutil
# tests
, pytest
, pytestCheckHook
}:
buildPythonPackage rec {
@ -985,7 +978,6 @@ buildPythonPackage rec {
build-system = [
setuptools
wheel
];
dependencies = [
@ -995,7 +987,7 @@ buildPythonPackage rec {
];
nativeCheckInputs = [
pytest
pytestCheckHook
];
meta = {
@ -1008,8 +1000,8 @@ buildPythonPackage rec {
```
We can see several runtime dependencies, `numpy`, `multipledispatch`, and
`python-dateutil`. Furthermore, we have [`nativeCheckInputs`](#var-stdenv-nativeCheckInputs) with `pytest`.
`pytest` is a test runner and is only used during the [`checkPhase`](#ssec-check-phase) and is
`python-dateutil`. Furthermore, we have [`nativeCheckInputs`](#var-stdenv-nativeCheckInputs) with `pytestCheckHook`.
`pytestCheckHook` is a test runner hook and is only used during the [`checkPhase`](#ssec-check-phase) and is
therefore not added to `dependencies`.
In the previous case we had only dependencies on other Python packages to consider.
@ -1022,7 +1014,6 @@ when building the bindings and are therefore added as [`buildInputs`](#var-stden
, buildPythonPackage
, fetchPypi
, setuptools
, wheel
, libxml2
, libxslt
}:
@ -1039,7 +1030,6 @@ buildPythonPackage rec {
build-system = [
setuptools
wheel
];
buildInputs = [
@ -1047,6 +1037,14 @@ buildPythonPackage rec {
libxslt
];
# tests are meant to be ran "in-place" in the same directory as src
doCheck = false;
pythonImportsCheck = [
"lxml"
"lxml.etree"
];
meta = {
changelog = "https://github.com/lxml/lxml/releases/tag/lxml-${version}";
description = "Pythonic binding for the libxml2 and libxslt libraries";
@ -1074,7 +1072,6 @@ therefore we have to set `LDFLAGS` and `CFLAGS`.
# build dependencies
, setuptools
, wheel
# dependencies
, fftw
@ -1085,7 +1082,7 @@ therefore we have to set `LDFLAGS` and `CFLAGS`.
}:
buildPythonPackage rec {
pname = "pyFFTW";
pname = "pyfftw";
version = "0.9.2";
pyproject = true;
@ -1096,7 +1093,6 @@ buildPythonPackage rec {
build-system = [
setuptools
wheel
];
buildInputs = [
@ -1118,6 +1114,8 @@ buildPythonPackage rec {
# Tests cannot import pyfftw. pyfftw works fine though.
doCheck = false;
pythonImportsCheck = [ "pyfftw" ];
meta = {
changelog = "https://github.com/pyFFTW/pyFFTW/releases/tag/v${version}";
description = "A pythonic wrapper around FFTW, the FFT library, presenting a unified interface for all the supported transforms";
@ -1133,10 +1131,8 @@ Note also the line [`doCheck = false;`](#var-stdenv-doCheck), we explicitly disa
It is highly encouraged to have testing as part of the package build. This
helps to avoid situations where the package was able to build and install,
but is not usable at runtime. Currently, all packages will use the `test`
command provided by the setup.py (i.e. `python setup.py test`). However,
this is currently deprecated https://github.com/pypa/setuptools/pull/1878
and your package should provide its own [`checkPhase`](#ssec-check-phase).
but is not usable at runtime.
Your package should provide its own [`checkPhase`](#ssec-check-phase).
::: {.note}
The [`checkPhase`](#ssec-check-phase) for python maps to the `installCheckPhase` on a
@ -1207,9 +1203,11 @@ been removed, in this case, it's recommended to use `pytestCheckHook`.
#### Using pytestCheckHook {#using-pytestcheckhook}
`pytestCheckHook` is a convenient hook which will substitute the setuptools
`test` command for a [`checkPhase`](#ssec-check-phase) which runs `pytest`. This is also beneficial
`pytestCheckHook` is a convenient hook which will set up (or configure)
a [`checkPhase`](#ssec-check-phase) to run `pytest`. This is also beneficial
when a package may need many items disabled to run the test suite.
Most packages use `pytest` or `unittest`, which is compatible with `pytest`,
so you will most likely use `pytestCheckHook`.
Using the example above, the analogous `pytestCheckHook` usage would be:
@ -1364,10 +1362,12 @@ instead of a dev dependency).
Keep in mind that while the examples above are done with `requirements.txt`,
`pythonRelaxDepsHook` works by modifying the resulting wheel file, so it should
work with any of the [existing hooks](#setup-hooks).
It indicates that `pythonRelaxDepsHook` has no effect on build time dependencies, such as in `build-system`.
If a package requires incompatible build time dependencies, they should be removed in `postPatch` with `substituteInPlace` or something similar.
#### Using unittestCheckHook {#using-unittestcheckhook}
`unittestCheckHook` is a hook which will substitute the setuptools `test` command for a [`checkPhase`](#ssec-check-phase) which runs `python -m unittest discover`:
`unittestCheckHook` is a hook which will set up (or configure) a [`checkPhase`](#ssec-check-phase) to run `python -m unittest discover`:
```nix
{
@ -1381,6 +1381,8 @@ work with any of the [existing hooks](#setup-hooks).
}
```
`pytest` is compatible with `unittest`, so in most cases you can use `pytestCheckHook` instead.
#### Using sphinxHook {#using-sphinxhook}
The `sphinxHook` is a helpful tool to build documentation and manpages
@ -1459,7 +1461,6 @@ We first create a function that builds `toolz` in `~/path/to/toolz/release.nix`
, buildPythonPackage
, fetchPypi
, setuptools
, wheel
}:
buildPythonPackage rec {
@ -1474,7 +1475,6 @@ buildPythonPackage rec {
build-system = [
setuptools
wheel
];
meta = {
@ -1494,10 +1494,9 @@ with import <nixpkgs> {};
( let
toolz = callPackage /path/to/toolz/release.nix {
buildPythonPackage = python310
Packages.buildPythonPackage;
buildPythonPackage = python3Packages.buildPythonPackage;
};
in python310.withPackages (ps: [
in python3.withPackages (ps: [
ps.numpy
toolz
])
@ -1918,6 +1917,8 @@ because we can only provide security support for non-vendored dependencies.
We recommend [nix-init](https://github.com/nix-community/nix-init) for creating new python packages within nixpkgs,
as it already prefetches the source, parses dependencies for common formats and prefills most things in `meta`.
See also [contributing section](#contributing).
### Are Python interpreters built deterministically? {#deterministic-builds}
The Python interpreters are now built deterministically. Minor modifications had
@ -1935,16 +1936,15 @@ Both are also exported in `nix-shell`.
It is recommended to test packages as part of the build process.
Source distributions (`sdist`) often include test files, but not always.
By default the command `python setup.py test` is run as part of the
[`checkPhase`](#ssec-check-phase), but often it is necessary to pass a custom [`checkPhase`](#ssec-check-phase). An
example of such a situation is when `py.test` is used.
The best practice today is to pass a test hook (e.g. pytestCheckHook, unittestCheckHook) into nativeCheckInputs.
This will reconfigure the checkPhase to make use of that particular test framework.
Occasionally packages don't make use of a common test framework, which may then require a custom checkPhase.
#### Common issues {#common-issues}
* Non-working tests can often be deselected. By default [`buildPythonPackage`](#buildpythonpackage-function)
runs `python setup.py test`. which is deprecated. Most Python modules however
do follow the standard test protocol where the pytest runner can be used
instead. `pytest` supports the `-k` and `--ignore` parameters to ignore test
* Non-working tests can often be deselected. Most Python modules
do follow the standard test protocol where the pytest runner can be used.
`pytest` supports the `-k` and `--ignore` parameters to ignore test
methods or classes as well as whole files. For `pytestCheckHook` these are
conveniently exposed as `disabledTests` and `disabledTestPaths` respectively.
@ -1985,14 +1985,25 @@ The following rules are desired to be respected:
* Python applications live outside of `python-packages.nix` and are packaged
with [`buildPythonApplication`](#buildpythonapplication-function).
* Make sure libraries build for all Python interpreters.
* By default we enable tests. Make sure the tests are found and, in the case of
If it fails to build on some Python versions, consider disabling them by setting `disable = pythonAtLeast "3.x"` along with a comment.
* The two parameters, `pyproject` and `build-system` are set to avoid the legacy setuptools/distutils build.
* Only unversioned attributes (e.g. `pydantic`, but not `pypdantic_1`) can be included in `dependencies`,
since due to `PYTHONPATH` limitations we can only ever support a single version for libraries
without running into duplicate module name conflicts.
* The version restrictions of `dependencies` can be relaxed by [`pythonRelaxDepsHook`](#using-pythonrelaxdepshook).
* Make sure the tests are enabled using for example [`pytestCheckHook`](#using-pytestcheckhook) and, in the case of
libraries, are passing for all interpreters. If certain tests fail they can be
disabled individually. Try to avoid disabling the tests altogether. In any
case, when you disable tests, leave a comment explaining why.
* `pythonImportsCheck` is set. This is still a good smoke test even if `pytestCheckHook` is set.
* `meta.platforms` takes the default value in many cases.
It does not need to be set explicitly unless the package requires a specific platform.
* The file is formatted with `nixfmt-rfc-style`.
* Commit names of Python libraries should reflect that they are Python
libraries, so write for example `python311Packages.numpy: 1.11 -> 1.12`.
It is highly recommended to specify the current default version to enable
automatic build by ofborg.
Note that `pythonPackages` is an alias for `python27Packages`.
* Attribute names in `python-packages.nix` as well as `pname`s should match the
library's name on PyPI, but be normalized according to [PEP
0503](https://www.python.org/dev/peps/pep-0503/#normalized-names). This means
@ -2006,6 +2017,8 @@ The following rules are desired to be respected:
* Attribute names in `python-packages.nix` should be sorted alphanumerically to
avoid merge conflicts and ease locating attributes.
This list is useful for reviewers as well as for self-checking when submitting packages.
## Package set maintenance {#python-package-set-maintenance}
The whole Python package set has a lot of packages that do not see regular

View File

@ -288,7 +288,7 @@ in
softdep nvidia post: nvidia-uvm
'';
};
systemd.tmpfiles.rules = lib.mkIf config.virtualisation.docker.enableNvidia "L+ /run/nvidia-docker/bin - - - - ${nvidia_x11.bin}/origBin";
systemd.tmpfiles.rules = lib.mkIf config.virtualisation.docker.enableNvidia [ "L+ /run/nvidia-docker/bin - - - - ${nvidia_x11.bin}/origBin" ];
services.udev.extraRules = ''
# Create /dev/nvidia-uvm when the nvidia-uvm module is loaded.
KERNEL=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidiactl c 195 255'"

View File

@ -1,24 +1,22 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.locate;
isMLocate = hasPrefix "mlocate" cfg.package.name;
isPLocate = hasPrefix "plocate" cfg.package.name;
isMLocate = lib.hasPrefix "mlocate" cfg.package.name;
isPLocate = lib.hasPrefix "plocate" cfg.package.name;
isMorPLocate = isMLocate || isPLocate;
isFindutils = hasPrefix "findutils" cfg.package.name;
isFindutils = lib.hasPrefix "findutils" cfg.package.name;
in
{
imports = [
(mkRenamedOptionModule [ "services" "locate" "period" ] [ "services" "locate" "interval" ])
(mkRenamedOptionModule [ "services" "locate" "locate" ] [ "services" "locate" "package" ])
(mkRemovedOptionModule [ "services" "locate" "includeStore" ] "Use services.locate.prunePaths")
(lib.mkRenamedOptionModule [ "services" "locate" "period" ] [ "services" "locate" "interval" ])
(lib.mkRenamedOptionModule [ "services" "locate" "locate" ] [ "services" "locate" "package" ])
(lib.mkRemovedOptionModule [ "services" "locate" "includeStore" ] "Use services.locate.prunePaths")
];
options.services.locate = with types; {
enable = mkOption {
type = bool;
options.services.locate = {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
If enabled, NixOS will periodically update the database of
@ -26,12 +24,12 @@ in
'';
};
package = mkPackageOption pkgs [ "findutils" "locate" ] {
package = lib.mkPackageOption pkgs [ "findutils" "locate" ] {
example = "mlocate";
};
interval = mkOption {
type = str;
interval = lib.mkOption {
type = lib.types.str;
default = "02:15";
example = "hourly";
description = ''
@ -46,24 +44,24 @@ in
'';
};
extraFlags = mkOption {
type = listOf str;
extraFlags = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
description = ''
Extra flags to pass to {command}`updatedb`.
'';
};
output = mkOption {
type = path;
output = lib.mkOption {
type = lib.types.path;
default = "/var/cache/locatedb";
description = ''
The database file to build.
'';
};
localuser = mkOption {
type = nullOr str;
localuser = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = "nobody";
description = ''
The user to search non-network directories as, using
@ -71,8 +69,8 @@ in
'';
};
pruneFS = mkOption {
type = listOf str;
pruneFS = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [
"afs"
"anon_inodefs"
@ -158,8 +156,8 @@ in
'';
};
prunePaths = mkOption {
type = listOf path;
prunePaths = lib.mkOption {
type = lib.types.listOf lib.types.path;
default = [
"/tmp"
"/var/tmp"
@ -175,10 +173,10 @@ in
'';
};
pruneNames = mkOption {
type = listOf str;
pruneNames = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = lib.optionals (!isFindutils) [ ".bzr" ".cache" ".git" ".hg" ".svn" ];
defaultText = literalMD ''
defaultText = lib.literalMD ''
`[ ".bzr" ".cache" ".git" ".hg" ".svn" ]`, if
supported by the locate implementation (i.e. mlocate or plocate).
'';
@ -187,8 +185,8 @@ in
'';
};
pruneBindMounts = mkOption {
type = bool;
pruneBindMounts = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether not to index bind mounts
@ -197,10 +195,10 @@ in
};
config = mkIf cfg.enable {
users.groups = mkMerge [
(mkIf isMLocate { mlocate = { }; })
(mkIf isPLocate { plocate = { }; })
config = lib.mkIf cfg.enable {
users.groups = lib.mkMerge [
(lib.mkIf isMLocate { mlocate = { }; })
(lib.mkIf isPLocate { plocate = { }; })
];
security.wrappers =
@ -211,46 +209,46 @@ in
setgid = true;
setuid = false;
};
mlocate = mkIf isMLocate {
mlocate = lib.mkIf isMLocate {
group = "mlocate";
source = "${cfg.package}/bin/locate";
};
plocate = mkIf isPLocate {
plocate = lib.mkIf isPLocate {
group = "plocate";
source = "${cfg.package}/bin/plocate";
};
in
mkIf isMorPLocate {
locate = mkMerge [ common mlocate plocate ];
plocate = mkIf isPLocate (mkMerge [ common plocate ]);
lib.mkIf isMorPLocate {
locate = lib.mkMerge [ common mlocate plocate ];
plocate = lib.mkIf isPLocate (lib.mkMerge [ common plocate ]);
};
environment.systemPackages = [ cfg.package ];
environment.variables.LOCATE_PATH = cfg.output;
environment.etc = {
environment = {
# write /etc/updatedb.conf for manual calls to `updatedb`
"updatedb.conf" = {
text = ''
PRUNEFS="${lib.concatStringsSep " " cfg.pruneFS}"
PRUNENAMES="${lib.concatStringsSep " " cfg.pruneNames}"
PRUNEPATHS="${lib.concatStringsSep " " cfg.prunePaths}"
PRUNE_BIND_MOUNTS="${if cfg.pruneBindMounts then "yes" else "no"}"
'';
etc."updatedb.conf".text = ''
PRUNEFS="${lib.concatStringsSep " " cfg.pruneFS}"
PRUNENAMES="${lib.concatStringsSep " " cfg.pruneNames}"
PRUNEPATHS="${lib.concatStringsSep " " cfg.prunePaths}"
PRUNE_BIND_MOUNTS="${if cfg.pruneBindMounts then "yes" else "no"}"
'';
systemPackages = [ cfg.package ];
variables = lib.mkIf isFindutils {
LOCATE_PATH = cfg.output;
};
};
warnings = optional (isMorPLocate && cfg.localuser != null)
warnings = lib.optional (isMorPLocate && cfg.localuser != null)
"mlocate and plocate do not support the services.locate.localuser option. updatedb will run as root. Silence this warning by setting services.locate.localuser = null."
++ optional (isFindutils && cfg.pruneNames != [ ])
++ lib.optional (isFindutils && cfg.pruneNames != [ ])
"findutils locate does not support pruning by directory component"
++ optional (isFindutils && cfg.pruneBindMounts)
++ lib.optional (isFindutils && cfg.pruneBindMounts)
"findutils locate does not support skipping bind mounts";
systemd.services.update-locatedb = {
description = "Update Locate Database";
path = mkIf (!isMorPLocate) [ pkgs.su ];
path = lib.mkIf (!isMorPLocate) [ pkgs.su ];
# mlocate's updatedb takes flags via a configuration file or
# on the command line, but not by environment variable.
@ -258,42 +256,44 @@ in
if isMorPLocate then
let
toFlags = x:
optional (cfg.${x} != [ ])
"--${lib.toLower x} '${concatStringsSep " " cfg.${x}}'";
args = concatLists (map toFlags [ "pruneFS" "pruneNames" "prunePaths" ]);
lib.optional (cfg.${x} != [ ])
"--${lib.toLower x} '${lib.concatStringsSep " " cfg.${x}}'";
args = lib.concatLists (map toFlags [ "pruneFS" "pruneNames" "prunePaths" ]);
in
''
exec ${cfg.package}/bin/updatedb \
--output ${toString cfg.output} ${concatStringsSep " " args} \
--output ${toString cfg.output} ${lib.concatStringsSep " " args} \
--prune-bind-mounts ${if cfg.pruneBindMounts then "yes" else "no"} \
${concatStringsSep " " cfg.extraFlags}
${lib.concatStringsSep " " cfg.extraFlags}
''
else ''
exec ${cfg.package}/bin/updatedb \
${optionalString (cfg.localuser != null && !isMorPLocate) "--localuser=${cfg.localuser}"} \
--output=${toString cfg.output} ${concatStringsSep " " cfg.extraFlags}
${lib.optionalString (cfg.localuser != null && !isMorPLocate) "--localuser=${cfg.localuser}"} \
--output=${toString cfg.output} ${lib.concatStringsSep " " cfg.extraFlags}
'';
environment = optionalAttrs (!isMorPLocate) {
PRUNEFS = concatStringsSep " " cfg.pruneFS;
PRUNEPATHS = concatStringsSep " " cfg.prunePaths;
PRUNENAMES = concatStringsSep " " cfg.pruneNames;
environment = lib.optionalAttrs (!isMorPLocate) {
PRUNEFS = lib.concatStringsSep " " cfg.pruneFS;
PRUNEPATHS = lib.concatStringsSep " " cfg.prunePaths;
PRUNENAMES = lib.concatStringsSep " " cfg.pruneNames;
PRUNE_BIND_MOUNTS = if cfg.pruneBindMounts then "yes" else "no";
};
serviceConfig.Nice = 19;
serviceConfig.IOSchedulingClass = "idle";
serviceConfig.PrivateTmp = "yes";
serviceConfig.PrivateNetwork = "yes";
serviceConfig.NoNewPrivileges = "yes";
serviceConfig.ReadOnlyPaths = "/";
# Use dirOf cfg.output because mlocate creates temporary files next to
# the actual database. We could specify and create them as well,
# but that would make this quite brittle when they change something.
# NOTE: If /var/cache does not exist, this leads to the misleading error message:
# update-locatedb.service: Failed at step NAMESPACE spawning …/update-locatedb-start: No such file or directory
serviceConfig.ReadWritePaths = dirOf cfg.output;
serviceConfig = {
Nice = 19;
IOSchedulingClass = "idle";
PrivateTmp = "yes";
PrivateNetwork = "yes";
NoNewPrivileges = "yes";
ReadOnlyPaths = "/";
# Use dirOf cfg.output because mlocate creates temporary files next to
# the actual database. We could specify and create them as well,
# but that would make this quite brittle when they change something.
# NOTE: If /var/cache does not exist, this leads to the misleading error message:
# update-locatedb.service: Failed at step NAMESPACE spawning …/update-locatedb-start: No such file or directory
ReadWritePaths = dirOf cfg.output;
};
};
systemd.timers.update-locatedb = mkIf (cfg.interval != "never") {
systemd.timers.update-locatedb = lib.mkIf (cfg.interval != "never") {
description = "Update timer for locate database";
partOf = [ "update-locatedb.service" ];
wantedBy = [ "timers.target" ];

View File

@ -12,7 +12,7 @@
"new": "vim-fern"
},
"gina-vim": {
"date": "2024-05-28",
"date": "2024-06-11",
"new": "vim-gina"
},
"gist-vim": {
@ -60,7 +60,7 @@
"new": "vim-suda"
},
"vim-fsharp": {
"date": "2024-05-28",
"date": "2024-06-11",
"new": "zarchive-vim-fsharp"
},
"vim-jade": {

File diff suppressed because it is too large Load Diff

View File

@ -50,12 +50,12 @@
};
arduino = buildGrammar {
language = "arduino";
version = "0.0.0+rev=babb6d4";
version = "0.0.0+rev=afb34b2";
src = fetchFromGitHub {
owner = "ObserverOfTime";
repo = "tree-sitter-arduino";
rev = "babb6d4da69b359bbb80adbf1fe39c0da9175210";
hash = "sha256-nA/4SRlXfm8hMZw/GOQFAxzoPNAzVP0cCnHLc1ZawXU=";
rev = "afb34b2c65f507932c5c6ddbf0d5a9ca6a772f2f";
hash = "sha256-iccyGSsbNDhvkrT20/bqx9s5tkghl6DONzJz5UEtTJ8=";
};
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-arduino";
};
@ -193,12 +193,12 @@
};
c = buildGrammar {
language = "c";
version = "0.0.0+rev=00ed08f";
version = "0.0.0+rev=deca017";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-c";
rev = "00ed08f1a6c18141bfd7a81638e4d239a0bb55cc";
hash = "sha256-ucbHLS2xyGo1uyKZv/K1HNXuMo4GpTY327cgdVS9F3c=";
rev = "deca017a554045b4c203e7ddff39ae64ff05e071";
hash = "sha256-uvvARjD4729GO8vpmrhAzheEQ3oz7LYmF8awdyS2/Rw=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-c";
};
@ -259,12 +259,12 @@
};
cmake = buildGrammar {
language = "cmake";
version = "0.0.0+rev=20ffd6d";
version = "0.0.0+rev=4864abb";
src = fetchFromGitHub {
owner = "uyha";
repo = "tree-sitter-cmake";
rev = "20ffd6d3b4da1acdbf2d08204b2130a5b2f7c4b3";
hash = "sha256-Cnv6u6hCcuF9hrFafD3laeZbOSJ0u415vGWmLJeNdJo=";
rev = "4864abb95a1f6e54d6b362677beef9fb674b41e9";
hash = "sha256-asJ4BDARnQdc+d0H+DDpW+/gDGuEIbc8PVL0B3KrA0Y=";
};
meta.homepage = "https://github.com/uyha/tree-sitter-cmake";
};
@ -325,12 +325,12 @@
};
cpp = buildGrammar {
language = "cpp";
version = "0.0.0+rev=d29fbff";
version = "0.0.0+rev=9d412ba";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-cpp";
rev = "d29fbff09a8c9ff4f3074de2595dfca12cb33da9";
hash = "sha256-3akSuQltFMF6I32HwRU08+Hcl9ojxPGk2ZuOX3gAObw=";
rev = "9d412ba7e597fe158f209da33e60f31b1f0df967";
hash = "sha256-mMHNRKhfhI+OXmNOf1nlVr7JWmJ8BJMOJdaXqv3pk9w=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-cpp";
};
@ -359,12 +359,12 @@
};
cuda = buildGrammar {
language = "cuda";
version = "0.0.0+rev=e7878a9";
version = "0.0.0+rev=1f188ef";
src = fetchFromGitHub {
owner = "theHamsta";
repo = "tree-sitter-cuda";
rev = "e7878a9cf4157e9d6c8013ff5605c9f26d62894d";
hash = "sha256-1UCYWY6DvanLdFeS0ALHG3eJT/Rk/muZTkFm3YwF5II=";
rev = "1f188eff83b562ffae36d13e1b804ec6f3b9f1d9";
hash = "sha256-AZXk29yM21KOTVWWUKkr1+sr7gv7ViD6kDjwrJZoCzg=";
};
meta.homepage = "https://github.com/theHamsta/tree-sitter-cuda";
};
@ -447,12 +447,12 @@
};
djot = buildGrammar {
language = "djot";
version = "0.0.0+rev=0e9a836";
version = "0.0.0+rev=ea851b9";
src = fetchFromGitHub {
owner = "treeman";
repo = "tree-sitter-djot";
rev = "0e9a836ec47612ade15645fb1680adb549894a6c";
hash = "sha256-PdToOLDgEYKVCYT7jmCBNWtuQ0XLgOYF1/PycSxP3XU=";
rev = "ea851b9cf1a71e475f4e2ac4dc03609a1b9ca56d";
hash = "sha256-6vekPB1IufGuMhX+n2Ve9EMXqZdX6FlBuI/lh/8/msw=";
};
meta.homepage = "https://github.com/treeman/tree-sitter-djot";
};
@ -480,12 +480,12 @@
};
doxygen = buildGrammar {
language = "doxygen";
version = "0.0.0+rev=4a30eba";
version = "0.0.0+rev=ccd998f";
src = fetchFromGitHub {
owner = "amaanq";
repo = "tree-sitter-doxygen";
rev = "4a30eba5d047d6a8c5b005202b4848c0b33d76ca";
hash = "sha256-yR2JtWYdy84z38Idx84qIuUPoBMiSj/7TVw0J1+g/U8=";
rev = "ccd998f378c3f9345ea4eeb223f56d7b84d16687";
hash = "sha256-Yh6FaRvWmeqnSnBgOojWbs1wJaeEoNJlvSEqgzjGh7o=";
};
meta.homepage = "https://github.com/amaanq/tree-sitter-doxygen";
};
@ -503,12 +503,12 @@
};
earthfile = buildGrammar {
language = "earthfile";
version = "0.0.0+rev=336001d";
version = "0.0.0+rev=b267228";
src = fetchFromGitHub {
owner = "glehmann";
repo = "tree-sitter-earthfile";
rev = "336001d79dd62668088bc6fe6d72a774a449fa2d";
hash = "sha256-DOsW62ZgjUZhm1LNOkW2lR1JA6NUqi239x5zIARt4NM=";
rev = "b2672286174c078eb80cdffc61375d0364e7fafb";
hash = "sha256-Vyme1ghs61lyitnwukccXbzAOeuiPbS1vvrvT9y1rbs=";
};
meta.homepage = "https://github.com/glehmann/tree-sitter-earthfile";
};
@ -526,12 +526,12 @@
};
eds = buildGrammar {
language = "eds";
version = "0.0.0+rev=5517bdb";
version = "0.0.0+rev=0ad62cb";
src = fetchFromGitHub {
owner = "uyha";
repo = "tree-sitter-eds";
rev = "5517bdb90c90703df49579a4b04689a614780be2";
hash = "sha256-dOWHqvnNe/RfCp4QbIThHaX2gUMCiY3DU2crzOxIo/g=";
rev = "0ad62cb635c2f4353359a88dec9e3a57bbf9f66d";
hash = "sha256-dbREFx/P6PMHSwoAaEBKSqRolPTFrLDBhMfZKPsvxbc=";
};
meta.homepage = "https://github.com/uyha/tree-sitter-eds";
};
@ -548,12 +548,12 @@
};
elixir = buildGrammar {
language = "elixir";
version = "0.0.0+rev=de690fa";
version = "0.0.0+rev=c7ae8b7";
src = fetchFromGitHub {
owner = "elixir-lang";
repo = "tree-sitter-elixir";
rev = "de690fa8a028f122af46d9d2685679fe5f2d7d60";
hash = "sha256-bvbOWF+Fy3IhOPhkW6pB/3LcLXnPzqVQb8GOCCQWzw0=";
rev = "c7ae8b77e2749826dcf23df6514f08fdd68c66a3";
hash = "sha256-1B3jVMJs1WNU3K7t42mv9Ab85KEaa8vn8zURksNts+E=";
};
meta.homepage = "https://github.com/elixir-lang/tree-sitter-elixir";
};
@ -603,12 +603,12 @@
};
erlang = buildGrammar {
language = "erlang";
version = "0.0.0+rev=98ea1f9";
version = "0.0.0+rev=b8e44bc";
src = fetchFromGitHub {
owner = "WhatsApp";
repo = "tree-sitter-erlang";
rev = "98ea1f9c957b2ad520415eecb5a5b406e931101e";
hash = "sha256-9CpVwtTy5vojZABc97KZt2P8vBOZFAw3ZFRp43WOqEc=";
rev = "b8e44bc0a3b2ce6bceea47c0b1c0f303a6b322b8";
hash = "sha256-9sfucj3jx5KVt/okHyCZLIJUbYFHPO4Ld/IWWjVXKDA=";
};
meta.homepage = "https://github.com/WhatsApp/tree-sitter-erlang";
};
@ -636,12 +636,12 @@
};
fennel = buildGrammar {
language = "fennel";
version = "0.0.0+rev=8ad1770";
version = "0.0.0+rev=cfbfa47";
src = fetchFromGitHub {
owner = "alexmozaidze";
repo = "tree-sitter-fennel";
rev = "8ad17704b3c2469155947d4e8fcb618cf1328459";
hash = "sha256-7a2spHMApW+yc/wrpVwWl9ykPAdC4QTOeMIs1jxajsU=";
rev = "cfbfa478dc2dbef267ee94ae4323d9c886f45e94";
hash = "sha256-0LusII7BPGFQTyEkxZi6h9HUDF0eHvGwA4fiQE2h3YQ=";
};
meta.homepage = "https://github.com/alexmozaidze/tree-sitter-fennel";
};
@ -823,12 +823,12 @@
};
gleam = buildGrammar {
language = "gleam";
version = "0.0.0+rev=8432ffe";
version = "0.0.0+rev=02a17bf";
src = fetchFromGitHub {
owner = "gleam-lang";
repo = "tree-sitter-gleam";
rev = "8432ffe32ccd360534837256747beb5b1c82fca1";
hash = "sha256-PO01z8vyzDT4ZGPxgZl9PPsp/gktT2TaCwutMy87i8E=";
rev = "02a17bf9d0553406268cdbf466d57808ae712bf3";
hash = "sha256-rZPe7rrnPa4QGnFUjwoaj/7HJzNDSigc7w4gJEFXZD4=";
};
meta.homepage = "https://github.com/gleam-lang/tree-sitter-gleam";
};
@ -845,12 +845,12 @@
};
glsl = buildGrammar {
language = "glsl";
version = "0.0.0+rev=33a16b6";
version = "0.0.0+rev=7f91bf3";
src = fetchFromGitHub {
owner = "theHamsta";
repo = "tree-sitter-glsl";
rev = "33a16b6ff4d7206a16f2dc96c40e149c657db65f";
hash = "sha256-qblDE+NIlJR5wyprvY6G3kG0uFzqWaQZmxN/hDnjNAs=";
rev = "7f91bf34cadc06a96efc475df501ffca4dda9410";
hash = "sha256-M676GDkyUGosih5R77duEy4jUrIz3bGwD+G6n68gJX0=";
};
meta.homepage = "https://github.com/theHamsta/tree-sitter-glsl";
};
@ -1077,12 +1077,12 @@
};
hlsl = buildGrammar {
language = "hlsl";
version = "0.0.0+rev=a84e8d4";
version = "0.0.0+rev=5e1225a";
src = fetchFromGitHub {
owner = "theHamsta";
repo = "tree-sitter-hlsl";
rev = "a84e8d4f675d0006f7c07f6c7bcea2fca04cdb6e";
hash = "sha256-9UpcYchmtLwlH1YCGfsWnMt7tQ/560lKIzqSgPWovdc=";
rev = "5e1225a30712ca0a9040509806c7ba274a1bbcde";
hash = "sha256-gBByrpw5iCGoOy1zrg0emuAd1Vd8KOKFeJLZOCWh9qU=";
};
meta.homepage = "https://github.com/theHamsta/tree-sitter-hlsl";
};
@ -1176,23 +1176,23 @@
};
idl = buildGrammar {
language = "idl";
version = "0.0.0+rev=b5b53e2";
version = "0.0.0+rev=9f56001";
src = fetchFromGitHub {
owner = "cathaysia";
repo = "tree-sitter-idl";
rev = "b5b53e2ca0521b98277d5e4b109f0b0e362e850e";
hash = "sha256-zgjTZWTBchKDYgubQX5SIblbflCVh9Tv9R//ohzZFKw=";
rev = "9f56001f8ed29b0ea9fa4f02813f3e83ab0a2aaa";
hash = "sha256-L5O9pep1No4oWSM7nA71RYY2X688+rm/2pTETP7ifOA=";
};
meta.homepage = "https://github.com/cathaysia/tree-sitter-idl";
};
ini = buildGrammar {
language = "ini";
version = "0.0.0+rev=bcb84a2";
version = "0.0.0+rev=87176e5";
src = fetchFromGitHub {
owner = "justinmk";
repo = "tree-sitter-ini";
rev = "bcb84a2d4bcd6f55b911c42deade75c8f90cb0c5";
hash = "sha256-dYPeVTNWO4apY5dsjsKViavU7YtLeGTp6BzEemXhsEU=";
rev = "87176e524f0a98f5be75fa44f4f0ff5c6eac069c";
hash = "sha256-IyHrIxcmuzs60zUiJv4E3nSkhSkgbcaLDUdeDx5mlHk=";
};
meta.homepage = "https://github.com/justinmk/tree-sitter-ini";
};
@ -1220,12 +1220,12 @@
};
janet_simple = buildGrammar {
language = "janet_simple";
version = "0.0.0+rev=f3d6e09";
version = "0.0.0+rev=6bfbaad";
src = fetchFromGitHub {
owner = "sogaiu";
repo = "tree-sitter-janet-simple";
rev = "f3d6e09cc47e76833f23f83b2c59ea0878660953";
hash = "sha256-5LGAb5zsjaMlFFhLRNFOeZuGXxJ6btwfeduQqsDTRng=";
rev = "6bfbaadac2ba0da21087041eff85d26129c4c920";
hash = "sha256-O06k8ruDFf16VVNb44Sz0maRQkrpFgsePzKjPUNteX8=";
};
meta.homepage = "https://github.com/sogaiu/tree-sitter-janet-simple";
};
@ -1242,12 +1242,12 @@
};
javascript = buildGrammar {
language = "javascript";
version = "0.0.0+rev=a5de24d";
version = "0.0.0+rev=391a8fc";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-javascript";
rev = "a5de24dc7939cb07a758f8d89c089cfdb6f479aa";
hash = "sha256-jsdY9Pd9WqZuBYtk088mx1bRQadC6D2/tGGVY+ZZ0J4=";
rev = "391a8fcc48a11f63bf18ec9885f6f069e760949a";
hash = "sha256-GOIhkoiiUhkTpUhDm/sfLtsNhOrVoGx2uiXEteruT2g=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-javascript";
};
@ -1319,12 +1319,12 @@
};
julia = buildGrammar {
language = "julia";
version = "0.0.0+rev=acd5ca1";
version = "0.0.0+rev=f1baa5f";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-julia";
rev = "acd5ca12cc278df7960629c2429a096c7ac4bbea";
hash = "sha256-1dOUMS4nlPaG5WxpCONXclVgq4F/Ti4JQK81KOnxvIk=";
rev = "f1baa5f8e271109d01cc8ff7473c11df2d8a9aee";
hash = "sha256-a0yLJMnXllHPij8fBjwqYgKRc6GxHHCQjSbPOKdLh9I=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-julia";
};
@ -1352,12 +1352,12 @@
};
kdl = buildGrammar {
language = "kdl";
version = "0.0.0+rev=49fb89a";
version = "0.0.0+rev=b37e3d5";
src = fetchFromGitHub {
owner = "amaanq";
repo = "tree-sitter-kdl";
rev = "49fb89a854d93b58a65a19724ac307195ca11941";
hash = "sha256-U8N6aaTyYT6zaOKJ8S+3dMjS4ngxc9Yo7g4OFi03RR4=";
rev = "b37e3d58e5c5cf8d739b315d6114e02d42e66664";
hash = "sha256-irx8aMEdZG2WcQVE2c7ahwLjqEoUAOOjvhDDk69a6lE=";
};
meta.homepage = "https://github.com/amaanq/tree-sitter-kdl";
};
@ -1374,12 +1374,12 @@
};
koto = buildGrammar {
language = "koto";
version = "0.0.0+rev=919440e";
version = "0.0.0+rev=d410987";
src = fetchFromGitHub {
owner = "koto-lang";
repo = "tree-sitter-koto";
rev = "919440e1376109bab4edac52594c17c02ae0be5a";
hash = "sha256-R3p0X741yOBAC6NTB46PTkh41NLmaVUvQPLBG1+PG+Y=";
rev = "d4109879ba1387d19095269a7473bd7d274ab848";
hash = "sha256-PKbxUSlLHBQBhOzQpaGpP24zmfxjRD9rO5I4OIeeL4g=";
};
meta.homepage = "https://github.com/koto-lang/tree-sitter-koto";
};
@ -1507,12 +1507,12 @@
};
luap = buildGrammar {
language = "luap";
version = "0.0.0+rev=31461ae";
version = "0.0.0+rev=c134aae";
src = fetchFromGitHub {
owner = "amaanq";
repo = "tree-sitter-luap";
rev = "31461ae9bd0866cb5117cfe5de71189854fd0f3e";
hash = "sha256-SW2ubK5317GUc1dQLkhoaisMgctLOwr6TPVYSQh02vE=";
rev = "c134aaec6acf4fa95fe4aa0dc9aba3eacdbbe55a";
hash = "sha256-4mMUHBsdK4U4uhh8GpKlG3p/s3ZCcLX1qATPyTD4Xhg=";
};
meta.homepage = "https://github.com/amaanq/tree-sitter-luap";
};
@ -1653,12 +1653,12 @@
};
nickel = buildGrammar {
language = "nickel";
version = "0.0.0+rev=5247873";
version = "0.0.0+rev=43433d8";
src = fetchFromGitHub {
owner = "nickel-lang";
repo = "tree-sitter-nickel";
rev = "52478738c5a072ab3ad62c74db5d0902dab064cd";
hash = "sha256-4GA34VO/t6y29IOrmuXNZg6H1+wUs3rMal9+s8rmoHI=";
rev = "43433d8477b24cd13acaac20a66deda49b7e2547";
hash = "sha256-9Ei0uy+eGK9oiH7y2KIhB1E88SRzGnZinqECT3kYTVE=";
};
meta.homepage = "https://github.com/nickel-lang/tree-sitter-nickel";
};
@ -1854,24 +1854,24 @@
};
php = buildGrammar {
language = "php";
version = "0.0.0+rev=b38c535";
version = "0.0.0+rev=4f124bc";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-php";
rev = "b38c53537769df05871643c9688c264074fb6076";
hash = "sha256-PWAuWTi2sXeGYes6p6mLi3Mx2Nu+xLuc86NLZrEyK00=";
rev = "4f124bc6075e1c3333e80190c1c170933ed72c95";
hash = "sha256-qYfcJCcZ2s/z61aPhO/y+v32FnEwf0rBvtvPiQVtBOE=";
};
location = "php";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
};
php_only = buildGrammar {
language = "php_only";
version = "0.0.0+rev=b38c535";
version = "0.0.0+rev=4f124bc";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-php";
rev = "b38c53537769df05871643c9688c264074fb6076";
hash = "sha256-PWAuWTi2sXeGYes6p6mLi3Mx2Nu+xLuc86NLZrEyK00=";
rev = "4f124bc6075e1c3333e80190c1c170933ed72c95";
hash = "sha256-qYfcJCcZ2s/z61aPhO/y+v32FnEwf0rBvtvPiQVtBOE=";
};
location = "php_only";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
@ -2055,12 +2055,12 @@
};
pymanifest = buildGrammar {
language = "pymanifest";
version = "0.0.0+rev=e3b82b7";
version = "0.0.0+rev=be06258";
src = fetchFromGitHub {
owner = "ObserverOfTime";
repo = "tree-sitter-pymanifest";
rev = "e3b82b78721aee07f676dac8473ae69db51debcf";
hash = "sha256-pZCqeSdiYctbFthdb8Olw35CAXQmT7jG2LOO/3NN/8s=";
rev = "be062582956165019d3253794b4d712f66dfeaaa";
hash = "sha256-Kud/E67Sh9F4nc8nzW5UXFHW5+kGftLyFzwLOKLcpL8=";
};
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-pymanifest";
};
@ -2141,6 +2141,17 @@
};
meta.homepage = "https://github.com/6cdh/tree-sitter-racket";
};
ralph = buildGrammar {
language = "ralph";
version = "0.0.0+rev=48b9d9d";
src = fetchFromGitHub {
owner = "alephium";
repo = "tree-sitter-ralph";
rev = "48b9d9d6e2b55ce8f9eb09ceb0d952e4b1cc87a0";
hash = "sha256-Yf2vq7h7UrJmdjQbXU8HM0hjUwwRBFlEV1O+ZUyMIuk=";
};
meta.homepage = "https://github.com/alephium/tree-sitter-ralph";
};
rasi = buildGrammar {
language = "rasi";
version = "0.0.0+rev=6c9bbcf";
@ -2198,23 +2209,23 @@
};
rego = buildGrammar {
language = "rego";
version = "0.0.0+rev=9ac75e7";
version = "0.0.0+rev=23b1da8";
src = fetchFromGitHub {
owner = "FallenAngel97";
repo = "tree-sitter-rego";
rev = "9ac75e71b2d791e0aadeef68098319d86a2a14cf";
hash = "sha256-L6n6Z5y9t1ixpy9mktB9HVKy69jigqbIFB2SrSW/yoo=";
rev = "23b1da8de9766d766c4f01531e8be14b5c00c493";
hash = "sha256-h0z060AFhbQJDyJen3yAjMDxi5nY/QX/KPus2y8oFY0=";
};
meta.homepage = "https://github.com/FallenAngel97/tree-sitter-rego";
};
requirements = buildGrammar {
language = "requirements";
version = "0.0.0+rev=360c6a6";
version = "0.0.0+rev=5ad9b75";
src = fetchFromGitHub {
owner = "ObserverOfTime";
repo = "tree-sitter-requirements";
rev = "360c6a6b31076a482663806f7a8241de9cad6b4e";
hash = "sha256-wqaFpT/4Gq8mWoORcZeGah18VunvKlgr8gCgHQvEF6E=";
rev = "5ad9b7581b3334f6ad492847d007f2fac6e6e5f2";
hash = "sha256-L3PF6B+d+v/pjAQGVwkc7hCKrhbAB7u/BdXOpEum08w=";
};
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-requirements";
};
@ -2342,23 +2353,23 @@
};
slang = buildGrammar {
language = "slang";
version = "0.0.0+rev=989bfe5";
version = "0.0.0+rev=865d79e";
src = fetchFromGitHub {
owner = "theHamsta";
repo = "tree-sitter-slang";
rev = "989bfe5ae69e7bad13454b8f52e4ab0c343d8ded";
hash = "sha256-1/8cFxmWHENzrTB7p//DRaZ1pw8WdPe6V2HNj+105Kc=";
rev = "865d79e236c7f0e04276c969453d021d1da4b15f";
hash = "sha256-vZ+Av0lSJaSKUVdEGMtAtXwGIUaIUvS5CvWWfOei/30=";
};
meta.homepage = "https://github.com/theHamsta/tree-sitter-slang";
};
slint = buildGrammar {
language = "slint";
version = "0.0.0+rev=0701312";
version = "0.0.0+rev=d82ab8c";
src = fetchFromGitHub {
owner = "slint-ui";
repo = "tree-sitter-slint";
rev = "0701312b74b87fe20e61aa662ba41c5815b5d428";
hash = "sha256-GwJptJ3AP3i4rVdXi2JmhngbSHCz3fqy+ymwSlx6h94=";
rev = "d82ab8c19ea1b60ff570256eaef7d137cc5ecb63";
hash = "sha256-NFKh3Z9vU1KImjU4Yd/Bnxq3E8kz8k/w2TzEvAtffnY=";
};
meta.homepage = "https://github.com/slint-ui/tree-sitter-slint";
};
@ -2432,12 +2443,12 @@
};
sourcepawn = buildGrammar {
language = "sourcepawn";
version = "0.0.0+rev=227656e";
version = "0.0.0+rev=645d093";
src = fetchFromGitHub {
owner = "nilshelmig";
repo = "tree-sitter-sourcepawn";
rev = "227656e72a5f0d430bb82a467bc8078f078bba84";
hash = "sha256-EfvOwLMxTeY8wH0cVxltELiujxRDoOfCGno2Omrk7vw=";
rev = "645d093763bcaaf7535edbdf6575a5c978b16491";
hash = "sha256-P5l0jaDsPXFenVaoLeeGSp6firHpeNM4/v93eshd8l0=";
};
meta.homepage = "https://github.com/nilshelmig/tree-sitter-sourcepawn";
};
@ -2454,12 +2465,12 @@
};
sql = buildGrammar {
language = "sql";
version = "0.0.0+rev=25f94f9";
version = "0.0.0+rev=89fd00d";
src = fetchFromGitHub {
owner = "derekstride";
repo = "tree-sitter-sql";
rev = "25f94f998de79bae9df28add9782f9ea6ea0e2b8";
hash = "sha256-UmGvjtN0Pi7uH8+Sb6JbvdV60gow7KQCbDRcKo3nMYw=";
rev = "89fd00d0aff3bc9985ac37caf362ec4fd9b2ba1d";
hash = "sha256-QTKggsvVWhszlcYS/WOPkykUyTDgwV1yVJ7jADA/5SM=";
};
meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
};
@ -2509,12 +2520,12 @@
};
styled = buildGrammar {
language = "styled";
version = "0.0.0+rev=c68a457";
version = "0.0.0+rev=65835cc";
src = fetchFromGitHub {
owner = "mskelton";
repo = "tree-sitter-styled";
rev = "c68a4572e2d6403b6e99066c9a113b43f4a07a27";
hash = "sha256-ZOMHyhtlKVOty+0lyUX7aJiwyP9yNN+r0eXVhpu22WQ=";
rev = "65835cca33a5f033bcde580ed66cde01c1fabbbe";
hash = "sha256-pcvt3ow6rVYCYbcVzIz3FGWpqoVCPX7zuOj3vKpkOfU=";
};
meta.homepage = "https://github.com/mskelton/tree-sitter-styled";
};
@ -2553,12 +2564,12 @@
};
swift = buildGrammar {
language = "swift";
version = "0.0.0+rev=26354dd";
version = "0.0.0+rev=13ffaec";
src = fetchFromGitHub {
owner = "alex-pinkus";
repo = "tree-sitter-swift";
rev = "26354ddec08c7efde4fa16bd29429f3310d2e2c5";
hash = "sha256-PhBqMo99SrOttdDx1AG8N/t3uFG1Tylb6ADNHyLyjJk=";
rev = "13ffaec4068facfff608e3afbdb7a581c185f6a6";
hash = "sha256-Y1QioBOgrziHsBkbSVt/N1FnjDxYKZK4WulMQcqyrEU=";
};
generate = true;
meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
@ -2631,12 +2642,12 @@
};
teal = buildGrammar {
language = "teal";
version = "0.0.0+rev=33482c9";
version = "0.0.0+rev=19b02da";
src = fetchFromGitHub {
owner = "euclidianAce";
repo = "tree-sitter-teal";
rev = "33482c92a0dfa694491d34e167a1d2f52b0dccb1";
hash = "sha256-6T9hn+Tvz8AYMsAu2J8vt6WkRQRrdGwGJcw3c85W14I=";
rev = "19b02da829d1721a521bf7b802eb80a50bd53aab";
hash = "sha256-xIws9Q8AsaIowv6nc01ZpF87Dy8rL78EoZgXuBmg6Kg=";
};
generate = true;
meta.homepage = "https://github.com/euclidianAce/tree-sitter-teal";
@ -2801,12 +2812,12 @@
};
typespec = buildGrammar {
language = "typespec";
version = "0.0.0+rev=fd9a83c";
version = "0.0.0+rev=28821d0";
src = fetchFromGitHub {
owner = "happenslol";
repo = "tree-sitter-typespec";
rev = "fd9a83c6c0aaaff4b1354454b5b9f130f59dd553";
hash = "sha256-IFXjqsdgnJotOlb9v4XbcA2+U0txXUsv0RQA+RCilVU=";
rev = "28821d0d6da5f0a6b5eb02b9bad953fecafd7248";
hash = "sha256-MzUcz6vnsakszAMJtTOajniFC72sCREdrMhS/zDa3Ng=";
};
meta.homepage = "https://github.com/happenslol/tree-sitter-typespec";
};
@ -2957,12 +2968,12 @@
};
vimdoc = buildGrammar {
language = "vimdoc";
version = "0.0.0+rev=b711df7";
version = "0.0.0+rev=2249c44";
src = fetchFromGitHub {
owner = "neovim";
repo = "tree-sitter-vimdoc";
rev = "b711df784dd43d0a8ed8ddbfca0ddcc3239d94b4";
hash = "sha256-+QbLL5EC3oNiwd7h7MW/mutHhGPUHhbYTQcu6x6atcI=";
rev = "2249c44ecd3f5cf22da3dcccfb74f816ddb29245";
hash = "sha256-v+XSWGm2Wdn9/rxNFMqXYACkGn6AvxZdxkClLuKnWGU=";
};
meta.homepage = "https://github.com/neovim/tree-sitter-vimdoc";
};
@ -3079,12 +3090,12 @@
};
zathurarc = buildGrammar {
language = "zathurarc";
version = "0.0.0+rev=5918bf1";
version = "0.0.0+rev=6e7c8ed";
src = fetchFromGitHub {
owner = "Freed-Wu";
repo = "tree-sitter-zathurarc";
rev = "5918bf1785662c43a841b0b6a27a129337ec3a23";
hash = "sha256-JxnS2teVY5cjhb6C/Z+ds9MRmRP/MjaqA08hdVx4Lms=";
rev = "6e7c8edfcd6f5f7c12b2fa9ffc6d042f1b6d7068";
hash = "sha256-tr9igIwfxXJJZAanRmDAhG3uu1vdT2nfW3Ng3EZ0094=";
};
meta.homepage = "https://github.com/Freed-Wu/tree-sitter-zathurarc";
};

View File

@ -459,7 +459,7 @@
copilot-vim = super.copilot-vim.overrideAttrs {
postInstall = ''
substituteInPlace $out/autoload/copilot/agent.vim \
substituteInPlace $out/autoload/copilot/client.vim \
--replace " let node = get(g:, 'copilot_node_command', ''\'''\')" \
" let node = get(g:, 'copilot_node_command', '${nodejs}/bin/node')"
'';
@ -1093,7 +1093,7 @@
inherit (old) version src;
sourceRoot = "${old.src.name}/spectre_oxi";
cargoHash = "sha256-4XAQFKsTM5IxNld1TIC0i861i/3uPjwsDWoW7ZbHfXg=";
cargoHash = "sha256-ZBlxJjkHb2buvXK6VGP6FMnSFk8RUX7IgHjNofnGDAs=";
preCheck = ''
mkdir tests/tmp/

View File

@ -1,25 +1,13 @@
From 07c799a1b170c0e28b385474b511c1034cfcb263 Mon Sep 17 00:00:00 2001
From: Janik H <janik@aq0.de>
Date: Sat, 16 Sep 2023 19:45:32 +0200
Subject: [PATCH] fix nix store path regex
---
plugin/sensible.vim | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugin/sensible.vim b/plugin/sensible.vim
index 0fc26e0..b3ee6e9 100644
index c9387ae..a226760 100644
--- a/plugin/sensible.vim
+++ b/plugin/sensible.vim
@@ -26,7 +26,7 @@ function! s:MaySet(option) abort
silent verbose execute 'setglobal all' a:option . '?'
redir END
endif
- return out !~# " \\(\\~[\\/][^\n]*\\|Lua\\)$"
- return out !~# " \\(\\~[\\/]\\|Lua\\)[^\n]*$"
+ return out !~# "/nix/store/.*" && out !~# " \\(\\~[\\/][^\n]*\\|Lua\\)$"
endfunction
if s:MaySet('backspace')
--
2.41.0

View File

@ -9,8 +9,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "jupyter";
publisher = "ms-toolsai";
version = "2024.2.0";
hash = "sha256-QavZ8NNeu0FHLvorhHybzfmdQqKnyXD6MYA8AzabPQw=";
version = "2024.5.0";
hash = "sha256-bGHXbqv+YXC8NUXIY+bxFsMvoV6h8E2/2F6Ku4bJwT0=";
};
nativeBuildInputs = [

View File

@ -0,0 +1,65 @@
{
lib,
fetchFromGitHub,
python3Packages,
}:
let
version = "0.2.0";
in
python3Packages.buildPythonPackage {
pname = "datatrove";
inherit version;
pyproject = true;
src = fetchFromGitHub {
owner = "huggingface";
repo = "datatrove";
rev = "refs/tags/v${version}";
hash = "sha256-2NJja2yWeHOgo1pCuwHN6SgYnsimuZdK0jE8ucTH4r8=";
};
nativeBuildInputs = with python3Packages; [ setuptools ];
propagatedBuildInputs = with python3Packages; [
dill
fsspec
huggingface-hub
tokenizers
humanize
loguru
multiprocess
numpy
rich
];
nativeCheckInputs = with python3Packages; [ pytestCheckHook ];
dependencies = with python3Packages; [
boto3
fasteners
huggingface-hub
moto
nltk
s3fs
xxhash
];
disabledTestPaths = [
"tests/executor/test_local.py"
"tests/pipeline/test_filters.py"
"tests/pipeline/test_bloom_filter.py"
"tests/pipeline/test_minhash.py"
"tests/pipeline/test_sentence_deduplication.py"
"tests/pipeline/test_tokenization.py"
"tests/pipeline/test_exact_substrings.py"
];
pythonImportsCheck = [ "datatrove" ];
meta = {
description = "Set of platform-agnostic customizable pipeline processing blocks for data processing";
homepage = "https://github.com/huggingface/datatrove";
changelog = "https://github.com/huggingface/datatrove/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ luftmensch-luftmensch ];
platforms = lib.platforms.all;
};
}

View File

@ -29,7 +29,7 @@ let
doInstallCheck = false;
});
version = "1.0.5";
version = "1.0.6";
in rustPlatform.buildRustPackage {
pname = "devenv";
inherit version;
@ -38,10 +38,10 @@ in rustPlatform.buildRustPackage {
owner = "cachix";
repo = "devenv";
rev = "v${version}";
hash = "sha256-W5DFIifCjGYJXJzLU3RpqBeqes4zrf0Sr/6rwzTygPU=";
hash = "sha256-vGmMEQohwHiTtkFm6WTKtNNYVqPJA6YxRhAizbhtCwE=";
};
cargoHash = "sha256-a6o28oonA6G0xo83PXwbH86V0aDDAAA2zajE67qsSU0=";
cargoHash = "sha256-89pivwMs/TpCQBaKFH6iUEpaid5eQOrvyz5otcFKy54=";
nativeBuildInputs = [ makeWrapper pkg-config ];

View File

@ -22,9 +22,9 @@
}:
stdenv.mkDerivation (self: {
pname = "louvre";
version = "1.2.1-2";
version = "2.0.0-1";
rev = "v${self.version}";
hash = "sha256-jHMgn6EwWt9GMT8JvIUtUPbn9o1DZCzxiYC7RnoGZv0=";
hash = "sha256-tDpgFtccMlGYrahEC4vlj5cfIzkqUl664ccRhcKIVTQ=";
src = fetchFromGitHub {
inherit (self) rev hash;

View File

@ -407,8 +407,8 @@ dependencies = [
"uv-dispatch",
"uv-distribution",
"uv-git",
"uv-interpreter",
"uv-resolver",
"uv-toolchain",
"uv-types",
]
@ -683,9 +683,9 @@ dependencies = [
[[package]]
name = "clap"
version = "4.5.4"
version = "4.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
checksum = "a9689a29b593160de5bc4aacab7b5d54fb52231de70122626c178e6a368994c7"
dependencies = [
"clap_builder",
"clap_derive",
@ -693,9 +693,9 @@ dependencies = [
[[package]]
name = "clap_builder"
version = "4.5.2"
version = "4.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
checksum = "2e5387378c84f6faa26890ebf9f0a92989f8873d4d380467bcd0d8d8620424df"
dependencies = [
"anstream",
"anstyle",
@ -747,9 +747,9 @@ dependencies = [
[[package]]
name = "clap_derive"
version = "4.5.4"
version = "4.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64"
checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6"
dependencies = [
"heck 0.5.0",
"proc-macro2",
@ -2781,6 +2781,7 @@ dependencies = [
"anyhow",
"chrono",
"indexmap",
"itertools 0.13.0",
"mailparse",
"once_cell",
"pep440_rs",
@ -2933,9 +2934,9 @@ dependencies = [
[[package]]
name = "regex"
version = "1.10.4"
version = "1.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f"
dependencies = [
"aho-corasick",
"memchr",
@ -4274,9 +4275,9 @@ checksum = "b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94"
[[package]]
name = "unicode-width"
version = "0.1.12"
version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6"
checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d"
[[package]]
name = "unindent"
@ -4367,7 +4368,7 @@ checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
[[package]]
name = "uv"
version = "0.2.9"
version = "0.2.10"
dependencies = [
"anstream",
"anyhow",
@ -4424,10 +4425,10 @@ dependencies = [
"uv-fs",
"uv-git",
"uv-installer",
"uv-interpreter",
"uv-normalize",
"uv-requirements",
"uv-resolver",
"uv-toolchain",
"uv-types",
"uv-virtualenv",
"uv-warnings",
@ -4483,7 +4484,7 @@ dependencies = [
"tracing",
"uv-configuration",
"uv-fs",
"uv-interpreter",
"uv-toolchain",
"uv-types",
"uv-virtualenv",
]
@ -4592,7 +4593,6 @@ dependencies = [
"fs-err",
"futures",
"install-wheel-rs",
"itertools 0.13.0",
"mimalloc",
"owo-colors",
"pep508_rs",
@ -4619,8 +4619,8 @@ dependencies = [
"uv-fs",
"uv-git",
"uv-installer",
"uv-interpreter",
"uv-resolver",
"uv-toolchain",
"uv-types",
"uv-workspace",
"walkdir",
@ -4645,8 +4645,8 @@ dependencies = [
"uv-distribution",
"uv-git",
"uv-installer",
"uv-interpreter",
"uv-resolver",
"uv-toolchain",
"uv-types",
]
@ -4787,57 +4787,13 @@ dependencies = [
"uv-extract",
"uv-fs",
"uv-git",
"uv-interpreter",
"uv-normalize",
"uv-toolchain",
"uv-types",
"uv-warnings",
"walkdir",
]
[[package]]
name = "uv-interpreter"
version = "0.0.1"
dependencies = [
"anyhow",
"assert_fs",
"cache-key",
"configparser",
"fs-err",
"futures",
"indoc",
"install-wheel-rs",
"itertools 0.13.0",
"once_cell",
"pep440_rs",
"pep508_rs",
"platform-tags",
"pypi-types",
"regex",
"reqwest",
"reqwest-middleware",
"rmp-serde",
"same-file",
"schemars",
"serde",
"serde_json",
"temp-env",
"tempfile",
"test-log",
"thiserror",
"tokio-util",
"tracing",
"url",
"uv-cache",
"uv-client",
"uv-configuration",
"uv-extract",
"uv-fs",
"uv-state",
"uv-warnings",
"which",
"winapi",
]
[[package]]
name = "uv-normalize"
version = "0.0.1"
@ -4910,6 +4866,7 @@ dependencies = [
"requirements-txt",
"rkyv",
"rustc-hash",
"same-file",
"schemars",
"serde",
"textwrap",
@ -4924,8 +4881,8 @@ dependencies = [
"uv-configuration",
"uv-distribution",
"uv-git",
"uv-interpreter",
"uv-normalize",
"uv-toolchain",
"uv-types",
"uv-warnings",
]
@ -4939,6 +4896,50 @@ dependencies = [
"tempfile",
]
[[package]]
name = "uv-toolchain"
version = "0.0.1"
dependencies = [
"anyhow",
"assert_fs",
"cache-key",
"configparser",
"fs-err",
"futures",
"indoc",
"install-wheel-rs",
"itertools 0.13.0",
"once_cell",
"pep440_rs",
"pep508_rs",
"platform-tags",
"pypi-types",
"regex",
"reqwest",
"reqwest-middleware",
"rmp-serde",
"same-file",
"schemars",
"serde",
"serde_json",
"temp-env",
"tempfile",
"test-log",
"thiserror",
"tokio-util",
"tracing",
"url",
"uv-cache",
"uv-client",
"uv-configuration",
"uv-extract",
"uv-fs",
"uv-state",
"uv-warnings",
"which",
"winapi",
]
[[package]]
name = "uv-types"
version = "0.0.1"
@ -4955,13 +4956,13 @@ dependencies = [
"uv-cache",
"uv-configuration",
"uv-git",
"uv-interpreter",
"uv-normalize",
"uv-toolchain",
]
[[package]]
name = "uv-version"
version = "0.2.9"
version = "0.2.10"
[[package]]
name = "uv-virtualenv"
@ -4975,7 +4976,7 @@ dependencies = [
"thiserror",
"tracing",
"uv-fs",
"uv-interpreter",
"uv-toolchain",
"uv-version",
]
@ -5006,9 +5007,9 @@ dependencies = [
"tracing",
"uv-configuration",
"uv-fs",
"uv-interpreter",
"uv-normalize",
"uv-resolver",
"uv-toolchain",
"uv-warnings",
]

View File

@ -16,14 +16,14 @@
python3Packages.buildPythonApplication rec {
pname = "uv";
version = "0.2.9";
version = "0.2.10";
pyproject = true;
src = fetchFromGitHub {
owner = "astral-sh";
repo = "uv";
rev = "refs/tags/${version}";
hash = "sha256-fMzMHWP06/0fqSnt+pVaht4TIo13yB7Y+DCJzXbmaio=";
hash = "sha256-xVddhsCGJcESZhkZnu6tcwwifT9+MQz53qV00B9oHA0=";
};
cargoDeps = rustPlatform.importCargoLock {

View File

@ -79,7 +79,7 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gdal";
pname = "gdal" + lib.optionalString useMinimalFeatures "-minimal";
version = "3.8.5";
src = fetchFromGitHub {

View File

@ -531,7 +531,8 @@ in
});
neotest = prev.neotest.overrideAttrs(oa: {
doCheck = true;
# A few tests fail for strange reasons on darwin
doCheck = !stdenv.isDarwin;
nativeCheckInputs = oa.nativeCheckInputs ++ [
final.nlua final.busted neovim-unwrapped
];

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "apsw";
version = "3.45.3.0";
version = "3.46.0.0";
pyproject = true;
disabled = pythonOlder "3.8";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "rogerbinns";
repo = "apsw";
rev = "refs/tags/${version}";
hash = "sha256-7z9JXJn2a6RJAc+7KrkzzScrNmbb06ud6L1rBinzkP8=";
hash = "sha256-x1nG13RDJ5fZ3Eds7yYKcFQ3B+5YKxvMvXrAbXw4bSc=";
};
build-system = [ setuptools ];

View File

@ -72,6 +72,8 @@ buildPythonPackage rec {
pytestFlagsArray = [ "tests/unit_tests" ];
disabledTests = [
# Fail for an unclear reason with:
# AssertionError: assert '6a92363c-4ac...-d344769ab6ac' == '09af124a-2ed...-671c64c72b70'
"test_config_traceable_handoff"
"test_config_traceable_async_handoff"
];

View File

@ -2,26 +2,15 @@
lib,
aiohttp,
async-timeout,
azure-core,
azure-cosmos,
azure-identity,
bash,
buildPythonPackage,
chardet,
clarifai,
cohere,
esprima,
fetchFromGitHub,
freezegun,
huggingface-hub,
langchain-core,
langchain-text-splitters,
langsmith,
lark,
manifest-ml,
nlpcloud,
numpy,
openai,
pandas,
poetry-core,
pydantic,
@ -31,19 +20,13 @@
pytestCheckHook,
pythonOlder,
pyyaml,
qdrant-client,
requests-mock,
requests,
responses,
sentence-transformers,
sqlalchemy,
syrupy,
tenacity,
tiktoken,
toml,
torch,
transformers,
typer,
}:
buildPythonPackage rec {
@ -79,46 +62,6 @@ buildPythonPackage rec {
tenacity
] ++ lib.optionals (pythonOlder "3.11") [ async-timeout ];
passthru.optional-dependencies = {
llms = [
clarifai
cohere
openai
# openlm
nlpcloud
huggingface-hub
manifest-ml
torch
transformers
];
qdrant = [ qdrant-client ];
openai = [
openai
tiktoken
];
text_helpers = [ chardet ];
clarifai = [ clarifai ];
cohere = [ cohere ];
docarray = [
# docarray
];
embeddings = [ sentence-transformers ];
javascript = [ esprima ];
azure = [
azure-identity
azure-cosmos
openai
azure-core
# azure-ai-formrecognizer
# azure-ai-vision
# azure-cognitiveservices-speech
# azure-search-documents
# azure-ai-textanalytics
];
all = [ ];
cli = [ typer ];
};
nativeCheckInputs = [
freezegun
lark

View File

@ -4,6 +4,7 @@
buildPythonPackage,
dotmap,
fetchFromGitHub,
packaging,
pexpect,
protobuf,
pygatt,
@ -39,6 +40,7 @@ buildPythonPackage rec {
dependencies = [
bleak
dotmap
packaging
pexpect
protobuf
pygatt

View File

@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "mpv";
version = "1.0.4";
version = "1.0.6";
format = "pyproject";
src = fetchFromGitHub {
owner = "jaseg";
repo = "python-mpv";
rev = "v${version}";
hash = "sha256-qP5Biw4sTLioAhmMZX+Pemue2PWc3N7afAe38dwJv3U=";
hash = "sha256-1axVJ8XXs0ZPgsVux3+6YUm1KttLceZyyHOuUEHIFl4=";
};
nativeBuildInputs = [ setuptools ];

View File

@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "resend";
version = "2.0.0";
version = "2.1.0";
pyproject = true;
disabled = pythonOlder "3.7";
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "resend";
repo = "resend-python";
rev = "refs/tags/v${version}";
hash = "sha256-3dYs3U3UaD3eiLs5s71VfivSurp5R3BiA1r0L5Py7XY=";
hash = "sha256-AYCymWYibCeBG8B5uqqslEMF/Rdz9NAGC1D422FPKmU=";
};
build-system = [ setuptools ];

View File

@ -15,16 +15,16 @@
buildPythonPackage rec {
pname = "whirlpool-sixth-sense";
version = "0.18.8";
version = "0.18.9";
pyproject = true;
disabled = pythonOlder "3.6";
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "abmantis";
repo = "whirlpool-sixth-sense";
rev = "refs/tags/${version}";
hash = "sha256-Nmjw6b1k5M4H23tJxUPPJ3JIkuK5ylqEeFp18cGz9pA=";
hash = "sha256-aDvUV83o/yKx15kenDGng5xh3LECLVlLWJlVe/y+1Co=";
};
build-system = [ setuptools ];

View File

@ -23,15 +23,16 @@ let
(o: {
postInstall = ''
${o.postInstall or ""}
${lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) ''
remove-references-to -t ${haskellPackages.hercules-ci-cnix-expr} $out/bin/hercules-ci-agent
remove-references-to -t ${haskellPackages.hercules-ci-cnix-expr} $out/bin/hercules-ci-agent-worker
''}
mkdir -p $out/libexec
mv $out/bin/hercules-ci-agent $out/libexec
makeWrapper $out/libexec/hercules-ci-agent $out/bin/hercules-ci-agent --prefix PATH : ${lib.escapeShellArg (makeBinPath bundledBins)}
'';
})
(addBuildTools [ makeBinaryWrapper ]
# TODO: Erroneous references to GHC on aarch64-darwin: https://github.com/NixOS/nixpkgs/issues/318013
((if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then lib.id else haskell.lib.compose.justStaticExecutables)
haskellPackages.hercules-ci-agent));
(addBuildTools [ makeBinaryWrapper ] (justStaticExecutables haskellPackages.hercules-ci-agent));
in pkg.overrideAttrs (finalAttrs: o: {
meta = o.meta // {
position = toString ./default.nix + ":1";

View File

@ -21,16 +21,16 @@ let
in
buildGoModule rec {
pname = "minio";
version = "2024-05-28T17-19-04Z";
version = "2024-06-06T09-36-42Z";
src = fetchFromGitHub {
owner = "minio";
repo = "minio";
rev = "RELEASE.${version}";
hash = "sha256-BOJWbUizwtoOxSL2DVZsmKoyLNvR1nvnIZq+DcO94Ws=";
hash = "sha256-oj8hFtHnU1b/9t9qxxO8UblRqfv6lxZNwqxTB2TBZN0=";
};
vendorHash = "sha256-B7ZlXvyn/ae5BnwYSp/A8JYiW0ZzME64DqUGQYCtrjY=";
vendorHash = "sha256-S+Afa7gC1vyH3KuzTce+bk7bt8wMJBjvEui58MM1QJk=";
doCheck = false;

View File

@ -8,6 +8,7 @@
, brotli
, fixup-yarn-lock
, jq
, fd
, nodejs
, which
, yarn
@ -76,7 +77,7 @@ stdenv.mkDerivation rec {
outputs = [ "out" "cli" "runner" ];
nativeBuildInputs = [ brotli fixup-yarn-lock jq which yarn ];
nativeBuildInputs = [ brotli fixup-yarn-lock jq which yarn fd ];
buildInputs = [ nodejs ];
@ -161,10 +162,10 @@ stdenv.mkDerivation rec {
ln -s $runner/dist/peertube-runner.js $runner/bin/peertube-runner
# Create static gzip and brotli files
find $out/client/dist -type f -regextype posix-extended -iregex '.*\.(css|eot|html|js|json|svg|webmanifest|xlf)' | while read file; do
gzip -9 -n -c $file > $file.gz
brotli --best -f $file -o $file.br
done
fd -e css -e eot -e html -e js -e json -e svg -e webmanifest -e xlf \
--type file --search-path $out/client/dist \
--exec gzip -9 -n -c {} > {}.gz \;\
--exec brotli --best -f {} -o {}.br
'';
passthru.tests.peertube = nixosTests.peertube;