mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-27 22:03:54 +03:00
Merge master into haskell-updates
This commit is contained in:
commit
2fe90802da
@ -352,7 +352,7 @@ In a case a contributor definitively leaves the Nix community, they should creat
|
||||
|
||||
# Flow of merged pull requests
|
||||
|
||||
After a pull requests is merged, it eventually makes it to the [official Hydra CI](https://hydra.nixos.org/).
|
||||
After a pull request is merged, it eventually makes it to the [official Hydra CI](https://hydra.nixos.org/).
|
||||
Hydra regularly evaluates and builds Nixpkgs, updating [the official channels](http://channels.nixos.org/) when specific Hydra jobs succeeded.
|
||||
See [Nix Channel Status](https://status.nixos.org/) for the current channels and their state.
|
||||
Here's a brief overview of the main Git branches and what channels they're used for:
|
||||
|
@ -6,11 +6,8 @@ The [`lib.fileset`](#sec-functions-library-fileset) library allows you to work w
|
||||
A file set is a mathematical set of local files that can be added to the Nix store for use in Nix derivations.
|
||||
File sets are easy and safe to use, providing obvious and composable semantics with good error messages to prevent mistakes.
|
||||
|
||||
These sections apply to the entire library.
|
||||
See the [function reference](#sec-functions-library-fileset) for function-specific documentation.
|
||||
|
||||
The file set library is currently somewhat limited but is being expanded to include more functions over time.
|
||||
|
||||
## Implicit coercion from paths to file sets {#sec-fileset-path-coercion}
|
||||
|
||||
All functions accepting file sets as arguments can also accept [paths](https://nixos.org/manual/nix/stable/language/values.html#type-path) as arguments.
|
||||
|
@ -6,6 +6,6 @@ You can also specify a `runtimeDependencies` variable which lists dependencies t
|
||||
|
||||
In certain situations you may want to run the main command (`autoPatchelf`) of the setup hook on a file or a set of directories instead of unconditionally patching all outputs. This can be done by setting the `dontAutoPatchelf` environment variable to a non-empty value.
|
||||
|
||||
By default `autoPatchelf` will fail as soon as any ELF file requires a dependency which cannot be resolved via the given build inputs. In some situations you might prefer to just leave missing dependencies unpatched and continue to patch the rest. This can be achieved by setting the `autoPatchelfIgnoreMissingDeps` environment variable to a non-empty value. `autoPatchelfIgnoreMissingDeps` can be set to a list like `autoPatchelfIgnoreMissingDeps = [ "libcuda.so.1" "libcudart.so.1" ];` or to simply `[ "*" ]` to ignore all missing dependencies.
|
||||
By default `autoPatchelf` will fail as soon as any ELF file requires a dependency which cannot be resolved via the given build inputs. In some situations you might prefer to just leave missing dependencies unpatched and continue to patch the rest. This can be achieved by setting the `autoPatchelfIgnoreMissingDeps` environment variable to a non-empty value. `autoPatchelfIgnoreMissingDeps` can be set to a list like `autoPatchelfIgnoreMissingDeps = [ "libcuda.so.1" "libcudart.so.1" ];` or to `[ "*" ]` to ignore all missing dependencies.
|
||||
|
||||
The `autoPatchelf` command also recognizes a `--no-recurse` command line flag, which prevents it from recursing into subdirectories.
|
||||
|
@ -146,7 +146,7 @@ agdaPackages.mkDerivation {
|
||||
|
||||
### Building Agda packages {#building-agda-packages}
|
||||
|
||||
The default build phase for `agdaPackages.mkDerivation` simply runs `agda` on the `Everything.agda` file.
|
||||
The default build phase for `agdaPackages.mkDerivation` runs `agda` on the `Everything.agda` file.
|
||||
If something else is needed to build the package (e.g. `make`) then the `buildPhase` should be overridden.
|
||||
Additionally, a `preBuild` or `configurePhase` can be used if there are steps that need to be done prior to checking the `Everything.agda` file.
|
||||
`agda` and the Agda libraries contained in `buildInputs` are made available during the build phase.
|
||||
@ -250,7 +250,7 @@ Usually, the maintainers will answer within a week or two with a new release.
|
||||
Bumping the version of that reverse dependency should be a further commit on your PR.
|
||||
|
||||
In the rare case that a new release is not to be expected within an acceptable time,
|
||||
simply mark the broken package as broken by setting `meta.broken = true;`.
|
||||
mark the broken package as broken by setting `meta.broken = true;`.
|
||||
This will exclude it from the build test.
|
||||
It can be added later when it is fixed,
|
||||
and does not hinder the advancement of the whole package set in the meantime.
|
||||
|
@ -44,7 +44,7 @@ There is also a `buildMix` helper, whose behavior is closer to that of `buildErl
|
||||
|
||||
## How to Install BEAM Packages {#how-to-install-beam-packages}
|
||||
|
||||
BEAM builders are not registered at the top level, simply because they are not relevant to the vast majority of Nix users.
|
||||
BEAM builders are not registered at the top level, because they are not relevant to the vast majority of Nix users.
|
||||
To use any of those builders into your environment, refer to them by their attribute path under `beamPackages`, e.g. `beamPackages.rebar3`:
|
||||
|
||||
::: {.example #ex-beam-ephemeral-shell}
|
||||
|
@ -8,7 +8,7 @@ It fetches its Dart dependencies automatically through `fetchDartDeps`, and (thr
|
||||
|
||||
If you are packaging a Flutter desktop application, use [`buildFlutterApplication`](#ssec-dart-flutter) instead.
|
||||
|
||||
`vendorHash`: is the hash of the output of the dependency fetcher derivation. To obtain it, simply set it to `lib.fakeHash` (or omit it) and run the build ([more details here](#sec-source-hashes)).
|
||||
`vendorHash`: is the hash of the output of the dependency fetcher derivation. To obtain it, set it to `lib.fakeHash` (or omit it) and run the build ([more details here](#sec-source-hashes)).
|
||||
|
||||
If the upstream source is missing a `pubspec.lock` file, you'll have to vendor one and specify it using `pubspecLockFile`. If it is needed, one will be generated for you and printed when attempting to build the derivation.
|
||||
|
||||
|
@ -177,7 +177,7 @@ exactly one version. Those versions need to satisfy all the version constraints
|
||||
given in the `.cabal` file of your package and all its dependencies.
|
||||
|
||||
The [Haskell builder in nixpkgs](#haskell-mkderivation) does no such thing.
|
||||
It will simply take as input packages with names off the desired dependencies
|
||||
It will take as input packages with names off the desired dependencies
|
||||
and just check whether they fulfill the version bounds and fail if they don’t
|
||||
(by default, see `jailbreak` to circumvent this).
|
||||
|
||||
@ -780,7 +780,7 @@ there instead.
|
||||
The top level `pkgs.haskell-language-server` attribute is just a convenience
|
||||
wrapper to make it possible to install HLS for multiple GHC versions at the
|
||||
same time. If you know, that you only use one GHC version, e.g., in a project
|
||||
specific `nix-shell` you can simply use
|
||||
specific `nix-shell` you can use
|
||||
`pkgs.haskellPackages.haskell-language-server` or
|
||||
`pkgs.haskell.packages.*.haskell-language-server` from the package set you use.
|
||||
|
||||
|
@ -209,6 +209,7 @@ In the default `installPhase` set by `buildNpmPackage`, it uses `npm pack --json
|
||||
* `npmPackFlags`: Flags to pass to `npm pack`.
|
||||
* `npmPruneFlags`: Flags to pass to `npm prune`. Defaults to the value of `npmInstallFlags`.
|
||||
* `makeWrapperArgs`: Flags to pass to `makeWrapper`, added to executable calling the generated `.js` with `node` as an interpreter. These scripts are defined in `package.json`.
|
||||
* `nodejs`: The `nodejs` package to build against, using the corresponding `npm` shipped with that version of `node`. Defaults to `pkgs.nodejs`.
|
||||
|
||||
#### prefetch-npm-deps {#javascript-buildNpmPackage-prefetch-npm-deps}
|
||||
|
||||
|
@ -268,7 +268,7 @@ getting an environment variable for `ext:getenv`. This will load the
|
||||
|
||||
### Loading systems {#lisp-loading-systems}
|
||||
|
||||
There, you can simply use `asdf:load-system`. This works by setting the right
|
||||
There, you can use `asdf:load-system`. This works by setting the right
|
||||
values for the `CL_SOURCE_REGISTRY`/`ASDF_OUTPUT_TRANSLATIONS` environment
|
||||
variables, so that systems are found in the Nix store and pre-compiled FASLs are
|
||||
loaded.
|
||||
|
@ -53,7 +53,7 @@ After setting `maven.buildMavenPackage`, we then do standard Java `.jar` install
|
||||
|
||||
Maven defines default versions for its core plugins, e.g. `maven-compiler-plugin`. If your project does not override these versions, an upgrade of Maven will change the version of the used plugins, and therefore the derivation and hash.
|
||||
|
||||
When `maven` is upgraded, `mvnHash` for the derivation must be updated as well: otherwise, the project will simply be built on the derivation of old plugins, and fail because the requested plugins are missing.
|
||||
When `maven` is upgraded, `mvnHash` for the derivation must be updated as well: otherwise, the project will be built on the derivation of old plugins, and fail because the requested plugins are missing.
|
||||
|
||||
This clearly prevents automatic upgrades of Maven: a manual effort must be made throughout nixpkgs by any maintainer wishing to push the upgrades.
|
||||
|
||||
|
@ -58,7 +58,7 @@ php.withExtensions ({ enabled, all }:
|
||||
++ [ all.imagick ])
|
||||
```
|
||||
|
||||
To build your list of extensions from the ground up, you can simply
|
||||
To build your list of extensions from the ground up, you can
|
||||
ignore `enabled`:
|
||||
|
||||
```nix
|
||||
@ -140,7 +140,7 @@ Example of building `composer` with additional extensions:
|
||||
### Overriding PHP packages {#ssec-php-user-guide-overriding-packages}
|
||||
|
||||
`php-packages.nix` form a scope, allowing us to override the packages defined
|
||||
within. For example, to apply a patch to a `mysqlnd` extension, you can simply
|
||||
within. For example, to apply a patch to a `mysqlnd` extension, you can
|
||||
pass an overlay-style function to `php`’s `packageOverrides` argument:
|
||||
|
||||
```nix
|
||||
@ -191,7 +191,7 @@ using the `bin` attribute in `composer.json`, these binaries will be
|
||||
automatically linked and made accessible in the derivation. In this context,
|
||||
"binaries" refer to PHP scripts that are intended to be executable.
|
||||
|
||||
To use the helper effectively, simply add the `vendorHash` attribute, which
|
||||
To use the helper effectively, add the `vendorHash` attribute, which
|
||||
enables the wrapper to handle the heavy lifting.
|
||||
|
||||
Internally, the helper operates in three stages:
|
||||
|
@ -9,8 +9,8 @@
|
||||
| python27 | python2, python | CPython 2.7 |
|
||||
| python38 | | CPython 3.8 |
|
||||
| python39 | | CPython 3.9 |
|
||||
| python310 | python3 | CPython 3.10 |
|
||||
| python311 | | CPython 3.11 |
|
||||
| python310 | | CPython 3.10 |
|
||||
| python311 | python3 | CPython 3.11 |
|
||||
| python312 | | CPython 3.12 |
|
||||
| python313 | | CPython 3.13 |
|
||||
| pypy27 | pypy2, pypy | PyPy2.7 |
|
||||
@ -64,12 +64,14 @@ sets are
|
||||
* `pkgs.python39Packages`
|
||||
* `pkgs.python310Packages`
|
||||
* `pkgs.python311Packages`
|
||||
* `pkgs.python312Packages`
|
||||
* `pkgs.python313Packages`
|
||||
* `pkgs.pypyPackages`
|
||||
|
||||
and the aliases
|
||||
|
||||
* `pkgs.python2Packages` pointing to `pkgs.python27Packages`
|
||||
* `pkgs.python3Packages` pointing to `pkgs.python310Packages`
|
||||
* `pkgs.python3Packages` pointing to `pkgs.python311Packages`
|
||||
* `pkgs.pythonPackages` pointing to `pkgs.python2Packages`
|
||||
|
||||
#### `buildPythonPackage` function {#buildpythonpackage-function}
|
||||
@ -262,7 +264,7 @@ python3MyBlas = pkgs.python3.override {
|
||||
```
|
||||
|
||||
This is particularly useful for numpy and scipy users who want to gain speed with other blas implementations.
|
||||
Note that using simply `scipy = super.scipy.override { blas = super.pkgs.mkl; };` will likely result in
|
||||
Note that using `scipy = super.scipy.override { blas = super.pkgs.mkl; };` will likely result in
|
||||
compilation issues, because scipy dependencies need to use the same blas implementation as well.
|
||||
|
||||
#### `buildPythonApplication` function {#buildpythonapplication-function}
|
||||
@ -278,7 +280,7 @@ the packages with the version of the interpreter. Because this is irrelevant for
|
||||
applications, the prefix is omitted.
|
||||
|
||||
When packaging a Python application with [`buildPythonApplication`](#buildpythonapplication-function), it should be
|
||||
called with `callPackage` and passed `python` or `pythonPackages` (possibly
|
||||
called with `callPackage` and passed `python3` or `python3Packages` (possibly
|
||||
specifying an interpreter version), like this:
|
||||
|
||||
```nix
|
||||
@ -320,7 +322,7 @@ luigi = callPackage ../applications/networking/cluster/luigi { };
|
||||
```
|
||||
|
||||
Since the package is an application, a consumer doesn't need to care about
|
||||
Python versions or modules, which is why they don't go in `pythonPackages`.
|
||||
Python versions or modules, which is why they don't go in `python3Packages`.
|
||||
|
||||
#### `toPythonApplication` function {#topythonapplication-function}
|
||||
|
||||
@ -336,7 +338,7 @@ the attribute in `python-packages.nix`, and the `toPythonApplication` shall be
|
||||
applied to the reference:
|
||||
|
||||
```nix
|
||||
youtube-dl = with pythonPackages; toPythonApplication youtube-dl;
|
||||
youtube-dl = with python3Packages; toPythonApplication youtube-dl;
|
||||
```
|
||||
|
||||
#### `toPythonModule` function {#topythonmodule-function}
|
||||
@ -365,8 +367,8 @@ Saving the following as `default.nix`
|
||||
```nix
|
||||
with import <nixpkgs> {};
|
||||
|
||||
python.buildEnv.override {
|
||||
extraLibs = [ pythonPackages.pyramid ];
|
||||
python3.buildEnv.override {
|
||||
extraLibs = [ python3Packages.pyramid ];
|
||||
ignoreCollisions = true;
|
||||
}
|
||||
```
|
||||
@ -431,7 +433,7 @@ python3.withPackages (ps: [ ps.pyramid ])
|
||||
|
||||
Now, `ps` is set to `python3Packages`, matching the version of the interpreter.
|
||||
|
||||
As [`python.withPackages`](#python.withpackages-function) simply uses [`python.buildEnv`](#python.buildenv-function) under the hood, it also
|
||||
As [`python.withPackages`](#python.withpackages-function) uses [`python.buildEnv`](#python.buildenv-function) under the hood, it also
|
||||
supports the `env` attribute. The `shell.nix` file from the previous section can
|
||||
thus be also written like this:
|
||||
|
||||
@ -496,9 +498,9 @@ Given a `default.nix`:
|
||||
```nix
|
||||
with import <nixpkgs> {};
|
||||
|
||||
pythonPackages.buildPythonPackage {
|
||||
python3Packages.buildPythonPackage {
|
||||
name = "myproject";
|
||||
buildInputs = with pythonPackages; [ pyramid ];
|
||||
buildInputs = with python3Packages; [ pyramid ];
|
||||
|
||||
src = ./.;
|
||||
}
|
||||
@ -510,7 +512,7 @@ the package would be built with `nix-build`.
|
||||
Shortcut to setup environments with C headers/libraries and Python packages:
|
||||
|
||||
```shell
|
||||
nix-shell -p pythonPackages.pyramid zlib libjpeg git
|
||||
nix-shell -p python3Packages.pyramid zlib libjpeg git
|
||||
```
|
||||
|
||||
::: {.note}
|
||||
@ -525,7 +527,7 @@ There is a boolean value `lib.inNixShell` set to `true` if nix-shell is invoked.
|
||||
|
||||
Several versions of the Python interpreter are available on Nix, as well as a
|
||||
high amount of packages. The attribute `python3` refers to the default
|
||||
interpreter, which is currently CPython 3.10. The attribute `python` refers to
|
||||
interpreter, which is currently CPython 3.11. The attribute `python` refers to
|
||||
CPython 2.7 for backwards-compatibility. It is also possible to refer to
|
||||
specific versions, e.g. `python311` refers to CPython 3.11, and `pypy` refers to
|
||||
the default PyPy interpreter.
|
||||
@ -543,7 +545,7 @@ however, are in separate sets, with one set per interpreter version.
|
||||
The interpreters have several common attributes. One of these attributes is
|
||||
`pkgs`, which is a package set of Python libraries for this specific
|
||||
interpreter. E.g., the `toolz` package corresponding to the default interpreter
|
||||
is `python.pkgs.toolz`, and the CPython 3.11 version is `python311.pkgs.toolz`.
|
||||
is `python3.pkgs.toolz`, and the CPython 3.11 version is `python311.pkgs.toolz`.
|
||||
The main package set contains aliases to these package sets, e.g.
|
||||
`pythonPackages` refers to `python.pkgs` and `python311Packages` to
|
||||
`python311.pkgs`.
|
||||
@ -680,7 +682,7 @@ b = np.array([3,4])
|
||||
print(f"The dot product of {a} and {b} is: {np.dot(a, b)}")
|
||||
```
|
||||
|
||||
Then we simply execute it, without requiring any environment setup at all!
|
||||
Then we execute it, without requiring any environment setup at all!
|
||||
|
||||
```sh
|
||||
$ ./foo.py
|
||||
@ -1711,7 +1713,7 @@ This is an example of a `default.nix` for a `nix-shell`, which allows to consume
|
||||
a virtual environment created by `venv`, and install Python modules through
|
||||
`pip` the traditional way.
|
||||
|
||||
Create this `default.nix` file, together with a `requirements.txt` and simply
|
||||
Create this `default.nix` file, together with a `requirements.txt` and
|
||||
execute `nix-shell`.
|
||||
|
||||
```nix
|
||||
@ -1835,7 +1837,7 @@ If you need to change a package's attribute(s) from `configuration.nix` you coul
|
||||
};
|
||||
```
|
||||
|
||||
`pythonPackages.twisted` is now globally overridden.
|
||||
`python3Packages.twisted` is now globally overridden.
|
||||
All packages and also all NixOS services that reference `twisted`
|
||||
(such as `services.buildbot-worker`) now use the new definition.
|
||||
Note that `python-super` refers to the old package set and `python-self`
|
||||
@ -1845,7 +1847,7 @@ To modify only a Python package set instead of a whole Python derivation, use
|
||||
this snippet:
|
||||
|
||||
```nix
|
||||
myPythonPackages = pythonPackages.override {
|
||||
myPythonPackages = python3Packages.override {
|
||||
overrides = self: super: {
|
||||
twisted = ...;
|
||||
};
|
||||
@ -2025,7 +2027,9 @@ The following rules are desired to be respected:
|
||||
disabled individually. Try to avoid disabling the tests altogether. In any
|
||||
case, when you disable tests, leave a comment explaining why.
|
||||
* Commit names of Python libraries should reflect that they are Python
|
||||
libraries, so write for example `pythonPackages.numpy: 1.11 -> 1.12`.
|
||||
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.
|
||||
* 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
|
||||
|
@ -94,7 +94,7 @@ $ bundle lock
|
||||
$ bundix
|
||||
```
|
||||
|
||||
If you already have a `Gemfile.lock`, you can simply run `bundix` and it will work the same.
|
||||
If you already have a `Gemfile.lock`, you can run `bundix` and it will work the same.
|
||||
|
||||
To update the gems in your `Gemfile.lock`, you may use the `bundix -l` flag, which will create a new `Gemfile.lock` in case the `Gemfile` has a more recent time of modification.
|
||||
|
||||
@ -251,7 +251,7 @@ source 'https://rubygems.org' do
|
||||
end
|
||||
```
|
||||
|
||||
If you want to package a specific version, you can use the standard Gemfile syntax for that, e.g. `gem 'mdl', '0.5.0'`, but if you want the latest stable version anyway, it's easier to update by simply running the `bundle lock` and `bundix` steps again.
|
||||
If you want to package a specific version, you can use the standard Gemfile syntax for that, e.g. `gem 'mdl', '0.5.0'`, but if you want the latest stable version anyway, it's easier to update by running the `bundle lock` and `bundix` steps again.
|
||||
|
||||
Now you can also make a `default.nix` that looks like this:
|
||||
|
||||
|
@ -32,7 +32,7 @@ look for the following directories:
|
||||
(If not targeting macOS, replace `macosx` with the Xcode platform name.)
|
||||
- On other platforms: `lib/swift/linux/x86_64`
|
||||
(Where `linux` and `x86_64` are from lowercase `uname -sm`.)
|
||||
- For convenience, Nixpkgs also adds simply `lib/swift` to the search path.
|
||||
- For convenience, Nixpkgs also adds `lib/swift` to the search path.
|
||||
This can save a bit of work packaging Swift modules, because many Nix builds
|
||||
will produce output for just one target any way.
|
||||
|
||||
@ -123,7 +123,7 @@ swiftpmFlags = [ "--disable-dead-strip" ];
|
||||
|
||||
The default `buildPhase` already passes `-j` for parallel building.
|
||||
|
||||
If these two customization options are insufficient, simply provide your own
|
||||
If these two customization options are insufficient, provide your own
|
||||
`buildPhase` that invokes `swift build`.
|
||||
|
||||
### Running tests {#ssec-swiftpm-running-tests}
|
||||
|
@ -34,7 +34,7 @@ $ nix repl
|
||||
map (p: p.name) pkgs.rxvt-unicode.plugins
|
||||
```
|
||||
|
||||
Alternatively, if your shell is bash or zsh and have completion enabled, simply type `nixpkgs.rxvt-unicode.plugins.<tab>`.
|
||||
Alternatively, if your shell is bash or zsh and have completion enabled, type `nixpkgs.rxvt-unicode.plugins.<tab>`.
|
||||
|
||||
In addition to `plugins` the options `extraDeps` and `perlDeps` can be used to install extra packages. `extraDeps` can be used, for example, to provide `xsel` (a clipboard manager) to the clipboard plugin, without installing it globally:
|
||||
|
||||
|
@ -319,7 +319,7 @@ let f(h, h + 1, i) = i + (if i <= 0 then h else h)
|
||||
let f(h, h + 1, i) = i + h
|
||||
```
|
||||
|
||||
This is where “sum-like” comes in from above: We can just sum all of the host offsets to get the host offset of the transitive dependency. The target offset is the transitive dependency is simply the host offset + 1, just as it was with the dependencies composed to make this transitive one; it can be ignored as it doesn’t add any new information.
|
||||
This is where “sum-like” comes in from above: We can just sum all of the host offsets to get the host offset of the transitive dependency. The target offset is the transitive dependency is the host offset + 1, just as it was with the dependencies composed to make this transitive one; it can be ignored as it doesn’t add any new information.
|
||||
|
||||
Because of the bounds checks, the uncommon cases are `h = t` and `h + 2 = t`. In the former case, the motivation for `mapOffset` is that since its host and target platforms are the same, no transitive dependency of it should be able to “discover” an offset greater than its reduced target offsets. `mapOffset` effectively “squashes” all its transitive dependencies’ offsets so that none will ever be greater than the target offset of the original `h = t` package. In the other case, `h + 1` is skipped over between the host and target offsets. Instead of squashing the offsets, we need to “rip” them apart so no transitive dependencies’ offset is that one.
|
||||
|
||||
@ -649,7 +649,7 @@ Zip files are unpacked using `unzip`. However, `unzip` is not in the standard en
|
||||
|
||||
#### Directories in the Nix store {#directories-in-the-nix-store}
|
||||
|
||||
These are simply copied to the current directory. The hash part of the file name is stripped, e.g. `/nix/store/1wydxgby13cz...-my-sources` would be copied to `my-sources`.
|
||||
These are copied to the current directory. The hash part of the file name is stripped, e.g. `/nix/store/1wydxgby13cz...-my-sources` would be copied to `my-sources`.
|
||||
|
||||
Additional file types can be supported by setting the `unpackCmd` variable (see below).
|
||||
|
||||
@ -788,7 +788,7 @@ Hook executed at the end of the configure phase.
|
||||
|
||||
### The build phase {#build-phase}
|
||||
|
||||
The build phase is responsible for actually building the package (e.g. compiling it). The default `buildPhase` simply calls `make` if a file named `Makefile`, `makefile` or `GNUmakefile` exists in the current directory (or the `makefile` is explicitly set); otherwise it does nothing.
|
||||
The build phase is responsible for actually building the package (e.g. compiling it). The default `buildPhase` calls `make` if a file named `Makefile`, `makefile` or `GNUmakefile` exists in the current directory (or the `makefile` is explicitly set); otherwise it does nothing.
|
||||
|
||||
#### Variables controlling the build phase {#variables-controlling-the-build-phase}
|
||||
|
||||
@ -1317,7 +1317,7 @@ Nix itself considers a build-time dependency as merely something that should pre
|
||||
|
||||
In order to alleviate this burden, the setup hook mechanism was written, where any package can include a shell script that \[by convention rather than enforcement by Nix\], any downstream reverse-dependency will source as part of its build process. That allows the downstream dependency to merely specify its dependencies, and lets those dependencies effectively initialize themselves. No boilerplate mirroring the list of dependencies is needed.
|
||||
|
||||
The setup hook mechanism is a bit of a sledgehammer though: a powerful feature with a broad and indiscriminate area of effect. The combination of its power and implicit use may be expedient, but isn’t without costs. Nix itself is unchanged, but the spirit of added dependencies being effect-free is violated even if the latter isn’t. For example, if a derivation path is mentioned more than once, Nix itself doesn’t care and simply makes sure the dependency derivation is already built just the same—depending is just needing something to exist, and needing is idempotent. However, a dependency specified twice will have its setup hook run twice, and that could easily change the build environment (though a well-written setup hook will therefore strive to be idempotent so this is in fact not observable). More broadly, setup hooks are anti-modular in that multiple dependencies, whether the same or different, should not interfere and yet their setup hooks may well do so.
|
||||
The setup hook mechanism is a bit of a sledgehammer though: a powerful feature with a broad and indiscriminate area of effect. The combination of its power and implicit use may be expedient, but isn’t without costs. Nix itself is unchanged, but the spirit of added dependencies being effect-free is violated even if the latter isn’t. For example, if a derivation path is mentioned more than once, Nix itself doesn’t care and makes sure the dependency derivation is already built just the same—depending is just needing something to exist, and needing is idempotent. However, a dependency specified twice will have its setup hook run twice, and that could easily change the build environment (though a well-written setup hook will therefore strive to be idempotent so this is in fact not observable). More broadly, setup hooks are anti-modular in that multiple dependencies, whether the same or different, should not interfere and yet their setup hooks may well do so.
|
||||
|
||||
The most typical use of the setup hook is actually to add other hooks which are then run (i.e. after all the setup hooks) on each dependency. For example, the C compiler wrapper’s setup hook feeds itself flags for each dependency that contains relevant libraries and headers. This is done by defining a bash function, and appending its name to one of `envBuildBuildHooks`, `envBuildHostHooks`, `envBuildTargetHooks`, `envHostHostHooks`, `envHostTargetHooks`, or `envTargetTargetHooks`. These 6 bash variables correspond to the 6 sorts of dependencies by platform (there’s 12 total but we ignore the propagated/non-propagated axis).
|
||||
|
||||
|
@ -156,7 +156,7 @@ All programs that are built with [MPI](https://en.wikipedia.org/wiki/Message_Pas
|
||||
|
||||
- [MVAPICH](https://mvapich.cse.ohio-state.edu/), attribute name `mvapich`
|
||||
|
||||
To provide MPI enabled applications that use `MPICH`, instead of the default `Open MPI`, simply use the following overlay:
|
||||
To provide MPI enabled applications that use `MPICH`, instead of the default `Open MPI`, use the following overlay:
|
||||
|
||||
```nix
|
||||
self: super:
|
||||
|
@ -50,4 +50,33 @@ rec {
|
||||
lib.generators.toPretty {} xs}, but is: ${
|
||||
lib.generators.toPretty {} val}";
|
||||
|
||||
/* Specialized `assertMsg` for checking if every one of `vals` is one of the elements
|
||||
of the list `xs`. Useful for checking lists of supported attributes.
|
||||
|
||||
Example:
|
||||
let sslLibraries = [ "libressl" "bearssl" ];
|
||||
in assertEachOneOf "sslLibraries" sslLibraries [ "openssl" "bearssl" ]
|
||||
stderr> error: each element in sslLibraries must be one of [
|
||||
stderr> "openssl"
|
||||
stderr> "bearssl"
|
||||
stderr> ], but is: [
|
||||
stderr> "libressl"
|
||||
stderr> "bearssl"
|
||||
stderr> ]
|
||||
|
||||
Type:
|
||||
assertEachOneOf :: String -> List ComparableVal -> List ComparableVal -> Bool
|
||||
*/
|
||||
assertEachOneOf =
|
||||
# The name of the variable the user entered `val` into, for inclusion in the error message
|
||||
name:
|
||||
# The list of values of what the user provided, to be compared against the values in `xs`
|
||||
vals:
|
||||
# The list of valid values
|
||||
xs:
|
||||
assertMsg
|
||||
(lib.all (val: lib.elem val xs) vals)
|
||||
"each element in ${name} must be one of ${
|
||||
lib.generators.toPretty {} xs}, but is: ${
|
||||
lib.generators.toPretty {} vals}";
|
||||
}
|
||||
|
@ -122,11 +122,10 @@ in {
|
||||
Paths in [strings](https://nixos.org/manual/nix/stable/language/values.html#type-string), including Nix store paths, cannot be passed as `root`.
|
||||
`root` has to be a directory.
|
||||
|
||||
<!-- Ignore the indentation here, this is a nixdoc rendering bug that needs to be fixed: https://github.com/nix-community/nixdoc/issues/75 -->
|
||||
:::{.note}
|
||||
Changing `root` only affects the directory structure of the resulting store path, it does not change which files are added to the store.
|
||||
The only way to change which files get added to the store is by changing the `fileset` attribute.
|
||||
:::
|
||||
:::{.note}
|
||||
Changing `root` only affects the directory structure of the resulting store path, it does not change which files are added to the store.
|
||||
The only way to change which files get added to the store is by changing the `fileset` attribute.
|
||||
:::
|
||||
*/
|
||||
root,
|
||||
/*
|
||||
@ -135,10 +134,9 @@ The only way to change which files get added to the store is by changing the `fi
|
||||
This argument can also be a path,
|
||||
which gets [implicitly coerced to a file set](#sec-fileset-path-coercion).
|
||||
|
||||
<!-- Ignore the indentation here, this is a nixdoc rendering bug that needs to be fixed: https://github.com/nix-community/nixdoc/issues/75 -->
|
||||
:::{.note}
|
||||
If a directory does not recursively contain any file, it is omitted from the store path contents.
|
||||
:::
|
||||
:::{.note}
|
||||
If a directory does not recursively contain any file, it is omitted from the store path contents.
|
||||
:::
|
||||
|
||||
*/
|
||||
fileset,
|
||||
@ -156,7 +154,7 @@ If a directory does not recursively contain any file, it is omitted from the sto
|
||||
if ! isPath root then
|
||||
if isStringLike root then
|
||||
throw ''
|
||||
lib.fileset.toSource: `root` ("${toString root}") is a string-like value, but it should be a path instead.
|
||||
lib.fileset.toSource: `root` (${toString root}) is a string-like value, but it should be a path instead.
|
||||
Paths in strings are not supported by `lib.fileset`, use `lib.sources` or derivations instead.''
|
||||
else
|
||||
throw ''
|
||||
@ -165,13 +163,13 @@ If a directory does not recursively contain any file, it is omitted from the sto
|
||||
# See also ../path/README.md
|
||||
else if ! fileset._internalIsEmptyWithoutBase && rootFilesystemRoot != filesetFilesystemRoot then
|
||||
throw ''
|
||||
lib.fileset.toSource: Filesystem roots are not the same for `fileset` and `root` ("${toString root}"):
|
||||
`root`: root "${toString rootFilesystemRoot}"
|
||||
`fileset`: root "${toString filesetFilesystemRoot}"
|
||||
Different roots are not supported.''
|
||||
lib.fileset.toSource: Filesystem roots are not the same for `fileset` and `root` (${toString root}):
|
||||
`root`: Filesystem root is "${toString rootFilesystemRoot}"
|
||||
`fileset`: Filesystem root is "${toString filesetFilesystemRoot}"
|
||||
Different filesystem roots are not supported.''
|
||||
else if ! pathExists root then
|
||||
throw ''
|
||||
lib.fileset.toSource: `root` (${toString root}) does not exist.''
|
||||
lib.fileset.toSource: `root` (${toString root}) is a path that does not exist.''
|
||||
else if pathType root != "directory" then
|
||||
throw ''
|
||||
lib.fileset.toSource: `root` (${toString root}) is a file, but it should be a directory instead. Potential solutions:
|
||||
@ -223,11 +221,11 @@ If a directory does not recursively contain any file, it is omitted from the sto
|
||||
_unionMany
|
||||
(_coerceMany "lib.fileset.union" [
|
||||
{
|
||||
context = "first argument";
|
||||
context = "First argument";
|
||||
value = fileset1;
|
||||
}
|
||||
{
|
||||
context = "second argument";
|
||||
context = "Second argument";
|
||||
value = fileset2;
|
||||
}
|
||||
]);
|
||||
@ -269,12 +267,13 @@ If a directory does not recursively contain any file, it is omitted from the sto
|
||||
# which get [implicitly coerced to file sets](#sec-fileset-path-coercion).
|
||||
filesets:
|
||||
if ! isList filesets then
|
||||
throw "lib.fileset.unions: Expected argument to be a list, but got a ${typeOf filesets}."
|
||||
throw ''
|
||||
lib.fileset.unions: Argument is of type ${typeOf filesets}, but it should be a list instead.''
|
||||
else
|
||||
pipe filesets [
|
||||
# Annotate the elements with context, used by _coerceMany for better errors
|
||||
(imap0 (i: el: {
|
||||
context = "element ${toString i}";
|
||||
context = "Element ${toString i}";
|
||||
value = el;
|
||||
}))
|
||||
(_coerceMany "lib.fileset.unions")
|
||||
@ -325,10 +324,11 @@ If a directory does not recursively contain any file, it is omitted from the sto
|
||||
# The file set to filter based on the predicate function
|
||||
fileset:
|
||||
if ! isFunction predicate then
|
||||
throw "lib.fileset.fileFilter: Expected the first argument to be a function, but it's a ${typeOf predicate} instead."
|
||||
throw ''
|
||||
lib.fileset.fileFilter: First argument is of type ${typeOf predicate}, but it should be a function.''
|
||||
else
|
||||
_fileFilter predicate
|
||||
(_coerce "lib.fileset.fileFilter: second argument" fileset);
|
||||
(_coerce "lib.fileset.fileFilter: Second argument" fileset);
|
||||
|
||||
/*
|
||||
The file set containing all files that are in both of two given file sets.
|
||||
@ -356,11 +356,11 @@ If a directory does not recursively contain any file, it is omitted from the sto
|
||||
let
|
||||
filesets = _coerceMany "lib.fileset.intersection" [
|
||||
{
|
||||
context = "first argument";
|
||||
context = "First argument";
|
||||
value = fileset1;
|
||||
}
|
||||
{
|
||||
context = "second argument";
|
||||
context = "Second argument";
|
||||
value = fileset2;
|
||||
}
|
||||
];
|
||||
@ -408,11 +408,11 @@ If a directory does not recursively contain any file, it is omitted from the sto
|
||||
let
|
||||
filesets = _coerceMany "lib.fileset.difference" [
|
||||
{
|
||||
context = "first argument (positive set)";
|
||||
context = "First argument (positive set)";
|
||||
value = positive;
|
||||
}
|
||||
{
|
||||
context = "second argument (negative set)";
|
||||
context = "Second argument (negative set)";
|
||||
value = negative;
|
||||
}
|
||||
];
|
||||
@ -456,7 +456,7 @@ If a directory does not recursively contain any file, it is omitted from the sto
|
||||
let
|
||||
# "fileset" would be a better name, but that would clash with the argument name,
|
||||
# and we cannot change that because of https://github.com/nix-community/nixdoc/issues/76
|
||||
actualFileset = _coerce "lib.fileset.trace: argument" fileset;
|
||||
actualFileset = _coerce "lib.fileset.trace: Argument" fileset;
|
||||
in
|
||||
seq
|
||||
(_printFileset actualFileset)
|
||||
@ -503,7 +503,7 @@ If a directory does not recursively contain any file, it is omitted from the sto
|
||||
let
|
||||
# "fileset" would be a better name, but that would clash with the argument name,
|
||||
# and we cannot change that because of https://github.com/nix-community/nixdoc/issues/76
|
||||
actualFileset = _coerce "lib.fileset.traceVal: argument" fileset;
|
||||
actualFileset = _coerce "lib.fileset.traceVal: Argument" fileset;
|
||||
in
|
||||
seq
|
||||
(_printFileset actualFileset)
|
||||
|
@ -7,7 +7,6 @@ let
|
||||
isString
|
||||
pathExists
|
||||
readDir
|
||||
seq
|
||||
split
|
||||
trace
|
||||
typeOf
|
||||
@ -17,7 +16,6 @@ let
|
||||
attrNames
|
||||
attrValues
|
||||
mapAttrs
|
||||
setAttrByPath
|
||||
zipAttrsWith
|
||||
;
|
||||
|
||||
@ -28,7 +26,6 @@ let
|
||||
inherit (lib.lists)
|
||||
all
|
||||
commonPrefix
|
||||
drop
|
||||
elemAt
|
||||
filter
|
||||
findFirst
|
||||
@ -179,7 +176,7 @@ rec {
|
||||
${context} is of type ${typeOf value}, but it should be a file set or a path instead.''
|
||||
else if ! pathExists value then
|
||||
throw ''
|
||||
${context} (${toString value}) does not exist.''
|
||||
${context} (${toString value}) is a path that does not exist.''
|
||||
else
|
||||
_singleton value;
|
||||
|
||||
@ -208,9 +205,9 @@ rec {
|
||||
if firstWithBase != null && differentIndex != null then
|
||||
throw ''
|
||||
${functionContext}: Filesystem roots are not the same:
|
||||
${(head list).context}: root "${toString firstBaseRoot}"
|
||||
${(elemAt list differentIndex).context}: root "${toString (elemAt filesets differentIndex)._internalBaseRoot}"
|
||||
Different roots are not supported.''
|
||||
${(head list).context}: Filesystem root is "${toString firstBaseRoot}"
|
||||
${(elemAt list differentIndex).context}: Filesystem root is "${toString (elemAt filesets differentIndex)._internalBaseRoot}"
|
||||
Different filesystem roots are not supported.''
|
||||
else
|
||||
filesets;
|
||||
|
||||
|
@ -318,7 +318,7 @@ checkFileset() {
|
||||
#### Error messages #####
|
||||
|
||||
# Absolute paths in strings cannot be passed as `root`
|
||||
expectFailure 'toSource { root = "/nix/store/foobar"; fileset = ./.; }' 'lib.fileset.toSource: `root` \("/nix/store/foobar"\) is a string-like value, but it should be a path instead.
|
||||
expectFailure 'toSource { root = "/nix/store/foobar"; fileset = ./.; }' 'lib.fileset.toSource: `root` \(/nix/store/foobar\) is a string-like value, but it should be a path instead.
|
||||
\s*Paths in strings are not supported by `lib.fileset`, use `lib.sources` or derivations instead.'
|
||||
|
||||
# Only paths are accepted as `root`
|
||||
@ -328,14 +328,14 @@ expectFailure 'toSource { root = 10; fileset = ./.; }' 'lib.fileset.toSource: `r
|
||||
mkdir -p {foo,bar}/mock-root
|
||||
expectFailure 'with ((import <nixpkgs/lib>).extend (import <nixpkgs/lib/fileset/mock-splitRoot.nix>)).fileset;
|
||||
toSource { root = ./foo/mock-root; fileset = ./bar/mock-root; }
|
||||
' 'lib.fileset.toSource: Filesystem roots are not the same for `fileset` and `root` \("'"$work"'/foo/mock-root"\):
|
||||
\s*`root`: root "'"$work"'/foo/mock-root"
|
||||
\s*`fileset`: root "'"$work"'/bar/mock-root"
|
||||
\s*Different roots are not supported.'
|
||||
' 'lib.fileset.toSource: Filesystem roots are not the same for `fileset` and `root` \('"$work"'/foo/mock-root\):
|
||||
\s*`root`: Filesystem root is "'"$work"'/foo/mock-root"
|
||||
\s*`fileset`: Filesystem root is "'"$work"'/bar/mock-root"
|
||||
\s*Different filesystem roots are not supported.'
|
||||
rm -rf -- *
|
||||
|
||||
# `root` needs to exist
|
||||
expectFailure 'toSource { root = ./a; fileset = ./.; }' 'lib.fileset.toSource: `root` \('"$work"'/a\) does not exist.'
|
||||
expectFailure 'toSource { root = ./a; fileset = ./.; }' 'lib.fileset.toSource: `root` \('"$work"'/a\) is a path that does not exist.'
|
||||
|
||||
# `root` needs to be a file
|
||||
touch a
|
||||
@ -367,7 +367,7 @@ expectFailure 'toSource { root = ./.; fileset = "/some/path"; }' 'lib.fileset.to
|
||||
\s*Paths represented as strings are not supported by `lib.fileset`, use `lib.sources` or derivations instead.'
|
||||
|
||||
# Path coercion errors for non-existent paths
|
||||
expectFailure 'toSource { root = ./.; fileset = ./a; }' 'lib.fileset.toSource: `fileset` \('"$work"'/a\) does not exist.'
|
||||
expectFailure 'toSource { root = ./.; fileset = ./a; }' 'lib.fileset.toSource: `fileset` \('"$work"'/a\) is a path that does not exist.'
|
||||
|
||||
# File sets cannot be evaluated directly
|
||||
expectFailure 'union ./. ./.' 'lib.fileset: Directly evaluating a file set is not supported.
|
||||
@ -490,26 +490,26 @@ mkdir -p {foo,bar}/mock-root
|
||||
expectFailure 'with ((import <nixpkgs/lib>).extend (import <nixpkgs/lib/fileset/mock-splitRoot.nix>)).fileset;
|
||||
toSource { root = ./.; fileset = union ./foo/mock-root ./bar/mock-root; }
|
||||
' 'lib.fileset.union: Filesystem roots are not the same:
|
||||
\s*first argument: root "'"$work"'/foo/mock-root"
|
||||
\s*second argument: root "'"$work"'/bar/mock-root"
|
||||
\s*Different roots are not supported.'
|
||||
\s*First argument: Filesystem root is "'"$work"'/foo/mock-root"
|
||||
\s*Second argument: Filesystem root is "'"$work"'/bar/mock-root"
|
||||
\s*Different filesystem roots are not supported.'
|
||||
|
||||
expectFailure 'with ((import <nixpkgs/lib>).extend (import <nixpkgs/lib/fileset/mock-splitRoot.nix>)).fileset;
|
||||
toSource { root = ./.; fileset = unions [ ./foo/mock-root ./bar/mock-root ]; }
|
||||
' 'lib.fileset.unions: Filesystem roots are not the same:
|
||||
\s*element 0: root "'"$work"'/foo/mock-root"
|
||||
\s*element 1: root "'"$work"'/bar/mock-root"
|
||||
\s*Different roots are not supported.'
|
||||
\s*Element 0: Filesystem root is "'"$work"'/foo/mock-root"
|
||||
\s*Element 1: Filesystem root is "'"$work"'/bar/mock-root"
|
||||
\s*Different filesystem roots are not supported.'
|
||||
rm -rf -- *
|
||||
|
||||
# Coercion errors show the correct context
|
||||
expectFailure 'toSource { root = ./.; fileset = union ./a ./.; }' 'lib.fileset.union: first argument \('"$work"'/a\) does not exist.'
|
||||
expectFailure 'toSource { root = ./.; fileset = union ./. ./b; }' 'lib.fileset.union: second argument \('"$work"'/b\) does not exist.'
|
||||
expectFailure 'toSource { root = ./.; fileset = unions [ ./a ./. ]; }' 'lib.fileset.unions: element 0 \('"$work"'/a\) does not exist.'
|
||||
expectFailure 'toSource { root = ./.; fileset = unions [ ./. ./b ]; }' 'lib.fileset.unions: element 1 \('"$work"'/b\) does not exist.'
|
||||
expectFailure 'toSource { root = ./.; fileset = union ./a ./.; }' 'lib.fileset.union: First argument \('"$work"'/a\) is a path that does not exist.'
|
||||
expectFailure 'toSource { root = ./.; fileset = union ./. ./b; }' 'lib.fileset.union: Second argument \('"$work"'/b\) is a path that does not exist.'
|
||||
expectFailure 'toSource { root = ./.; fileset = unions [ ./a ./. ]; }' 'lib.fileset.unions: Element 0 \('"$work"'/a\) is a path that does not exist.'
|
||||
expectFailure 'toSource { root = ./.; fileset = unions [ ./. ./b ]; }' 'lib.fileset.unions: Element 1 \('"$work"'/b\) is a path that does not exist.'
|
||||
|
||||
# unions needs a list
|
||||
expectFailure 'toSource { root = ./.; fileset = unions null; }' 'lib.fileset.unions: Expected argument to be a list, but got a null.'
|
||||
expectFailure 'toSource { root = ./.; fileset = unions null; }' 'lib.fileset.unions: Argument is of type null, but it should be a list instead.'
|
||||
|
||||
# The tree of later arguments should not be evaluated if a former argument already includes all files
|
||||
tree=()
|
||||
@ -603,14 +603,14 @@ mkdir -p {foo,bar}/mock-root
|
||||
expectFailure 'with ((import <nixpkgs/lib>).extend (import <nixpkgs/lib/fileset/mock-splitRoot.nix>)).fileset;
|
||||
toSource { root = ./.; fileset = intersection ./foo/mock-root ./bar/mock-root; }
|
||||
' 'lib.fileset.intersection: Filesystem roots are not the same:
|
||||
\s*first argument: root "'"$work"'/foo/mock-root"
|
||||
\s*second argument: root "'"$work"'/bar/mock-root"
|
||||
\s*Different roots are not supported.'
|
||||
\s*First argument: Filesystem root is "'"$work"'/foo/mock-root"
|
||||
\s*Second argument: Filesystem root is "'"$work"'/bar/mock-root"
|
||||
\s*Different filesystem roots are not supported.'
|
||||
rm -rf -- *
|
||||
|
||||
# Coercion errors show the correct context
|
||||
expectFailure 'toSource { root = ./.; fileset = intersection ./a ./.; }' 'lib.fileset.intersection: first argument \('"$work"'/a\) does not exist.'
|
||||
expectFailure 'toSource { root = ./.; fileset = intersection ./. ./b; }' 'lib.fileset.intersection: second argument \('"$work"'/b\) does not exist.'
|
||||
expectFailure 'toSource { root = ./.; fileset = intersection ./a ./.; }' 'lib.fileset.intersection: First argument \('"$work"'/a\) is a path that does not exist.'
|
||||
expectFailure 'toSource { root = ./.; fileset = intersection ./. ./b; }' 'lib.fileset.intersection: Second argument \('"$work"'/b\) is a path that does not exist.'
|
||||
|
||||
# The tree of later arguments should not be evaluated if a former argument already excludes all files
|
||||
tree=(
|
||||
|
@ -5337,6 +5337,13 @@
|
||||
fingerprint = "F178 B4B4 6165 6D1B 7C15 B55D 4029 3358 C7B9 326B";
|
||||
}];
|
||||
};
|
||||
ericthemagician = {
|
||||
email = "eric@ericyen.com";
|
||||
matrix = "@eric:jupiterbroadcasting.com";
|
||||
github = "EricTheMagician";
|
||||
githubId = 323436;
|
||||
name = "Eric Yen";
|
||||
};
|
||||
erikarvstedt = {
|
||||
email = "erik.arvstedt@gmail.com";
|
||||
matrix = "@erikarvstedt:matrix.org";
|
||||
@ -12907,6 +12914,11 @@
|
||||
githubId = 66913205;
|
||||
name = "Rick Sanchez";
|
||||
};
|
||||
nix-julia = {
|
||||
name = "nix-julia";
|
||||
github = "nix-julia";
|
||||
githubId = 149073815;
|
||||
};
|
||||
nixy = {
|
||||
email = "nixy@nixy.moe";
|
||||
github = "nixy";
|
||||
@ -13925,6 +13937,12 @@
|
||||
githubId = 9267430;
|
||||
name = "Philipp Mildenberger";
|
||||
};
|
||||
philiptaron = {
|
||||
email = "philip.taron@gmail.com";
|
||||
github = "philiptaron";
|
||||
githubId = 43863;
|
||||
name = "Philip Taron";
|
||||
};
|
||||
phip1611 = {
|
||||
email = "phip1611@gmail.com";
|
||||
github = "phip1611";
|
||||
@ -18857,6 +18875,12 @@
|
||||
githubId = 7038383;
|
||||
name = "Vojta Káně";
|
||||
};
|
||||
volfyd = {
|
||||
email = "lb.nix@lisbethmail.com";
|
||||
github = "volfyd";
|
||||
githubId = 3578382;
|
||||
name = "Leif Huhn";
|
||||
};
|
||||
volhovm = {
|
||||
email = "volhovm.cs@gmail.com";
|
||||
github = "volhovm";
|
||||
@ -19934,6 +19958,12 @@
|
||||
github = "zmitchell";
|
||||
githubId = 10246891;
|
||||
};
|
||||
znaniye = {
|
||||
email = "zn4niye@proton.me";
|
||||
github = "znaniye";
|
||||
githubId = 134703788;
|
||||
name = "Samuel Silva";
|
||||
};
|
||||
znewman01 = {
|
||||
email = "znewman01@gmail.com";
|
||||
github = "znewman01";
|
||||
|
@ -37,7 +37,7 @@ Note: the `nixos` prefix tells us that we want to get the package from
|
||||
the `nixos` channel and works only in CLI tools. In declarative
|
||||
configuration use `pkgs` prefix (variable).
|
||||
|
||||
To "uninstall" a package, simply remove it from
|
||||
To "uninstall" a package, remove it from
|
||||
[](#opt-environment.systemPackages) and run `nixos-rebuild switch`.
|
||||
|
||||
```{=include=} sections
|
||||
|
@ -36,8 +36,8 @@ Here, we include two modules from the same directory, `vpn.nix` and
|
||||
Note that both `configuration.nix` and `kde.nix` define the option
|
||||
[](#opt-environment.systemPackages). When multiple modules define an
|
||||
option, NixOS will try to *merge* the definitions. In the case of
|
||||
[](#opt-environment.systemPackages), that's easy: the lists of
|
||||
packages can simply be concatenated. The value in `configuration.nix` is
|
||||
[](#opt-environment.systemPackages) the lists of packages will be
|
||||
concatenated. The value in `configuration.nix` is
|
||||
merged last, so for list-type options, it will appear at the end of the
|
||||
merged list. If you want it to appear first, you can use `mkBefore`:
|
||||
|
||||
|
@ -28,7 +28,7 @@ manually (system wide), put them into your
|
||||
|
||||
Thunar (the Xfce file manager) is automatically enabled when Xfce is
|
||||
enabled. To enable Thunar without enabling Xfce, use the configuration
|
||||
option [](#opt-programs.thunar.enable) instead of simply adding
|
||||
option [](#opt-programs.thunar.enable) instead of adding
|
||||
`pkgs.xfce.thunar` to [](#opt-environment.systemPackages).
|
||||
|
||||
If you'd like to add extra plugins to Thunar, add them to
|
||||
|
@ -50,7 +50,7 @@ pandoc -f markdown_github -t docbook5 docs.md -o my-section.md
|
||||
Pandoc can also quickly convert a single `section.xml` to HTML, which is
|
||||
helpful when drafting.
|
||||
|
||||
Sometimes writing valid DocBook is simply too difficult. In this case,
|
||||
Sometimes writing valid DocBook is too difficult. In this case,
|
||||
submit your documentation updates in a [GitHub
|
||||
Issue](https://github.com/NixOS/nixpkgs/issues/new) and someone will
|
||||
handle the conversion to XML for you.
|
||||
|
@ -4,7 +4,7 @@ Advanced users may wish to install NixOS using an existing PXE or iPXE
|
||||
setup.
|
||||
|
||||
These instructions assume that you have an existing PXE or iPXE
|
||||
infrastructure and simply want to add the NixOS installer as another
|
||||
infrastructure and want to add the NixOS installer as another
|
||||
option. To build the necessary files from your current version of nixpkgs,
|
||||
you can run:
|
||||
|
||||
|
@ -46,7 +46,7 @@ When upgrading from a previous release, please be aware of the following incompa
|
||||
|
||||
Other notable improvements:
|
||||
|
||||
- Revamped grsecurity/PaX support. There is now only a single general-purpose distribution kernel and the configuration interface has been streamlined. Desktop users should be able to simply set
|
||||
- Revamped grsecurity/PaX support. There is now only a single general-purpose distribution kernel and the configuration interface has been streamlined. Desktop users should be able to set
|
||||
|
||||
```nix
|
||||
{
|
||||
|
@ -198,7 +198,7 @@ When upgrading from a previous release, please be aware of the following incompa
|
||||
|
||||
For nginx, the dependencies are still automatically managed when `services.nginx.virtualhosts.<name>.enableACME` is enabled just like before. What changed is that nginx now directly depends on the specific certificates that it needs, instead of depending on the catch-all `acme-certificates.target`. This target unit was also removed from the codebase. This will mean nginx will no longer depend on certificates it isn't explicitly managing and fixes a bug with certificate renewal ordering racing with nginx restarting which could lead to nginx getting in a broken state as described at [NixOS/nixpkgs\#60180](https://github.com/NixOS/nixpkgs/issues/60180).
|
||||
|
||||
- The old deprecated `emacs` package sets have been dropped. What used to be called `emacsPackagesNg` is now simply called `emacsPackages`.
|
||||
- The old deprecated `emacs` package sets have been dropped. What used to be called `emacsPackagesNg` is now called `emacsPackages`.
|
||||
|
||||
- `services.xserver.desktopManager.xterm` is now disabled by default if `stateVersion` is 19.09 or higher. Previously the xterm desktopManager was enabled when xserver was enabled, but it isn't useful for all people so it didn't make sense to have any desktopManager enabled default.
|
||||
|
||||
|
@ -482,7 +482,7 @@ When upgrading from a previous release, please be aware of the following incompa
|
||||
|
||||
- If you use `postgresql` on a different server, you don't need to change anything as well since this module was never designed to configure remote databases.
|
||||
|
||||
- If you use `postgresql` and configured your synapse initially on `19.09` or older, you simply need to enable postgresql-support explicitly:
|
||||
- If you use `postgresql` and configured your synapse initially on `19.09` or older, you need to enable postgresql-support explicitly:
|
||||
|
||||
```nix
|
||||
{ ... }: {
|
||||
|
@ -422,7 +422,7 @@ When upgrading from a previous release, please be aware of the following incompa
|
||||
|
||||
- The `systemd-networkd` option `systemd.network.networks._name_.dhcpConfig` has been renamed to [systemd.network.networks._name_.dhcpV4Config](options.html#opt-systemd.network.networks._name_.dhcpV4Config) following upstream systemd's documentation change. See systemd.network 5 for details.
|
||||
|
||||
- In the `picom` module, several options that accepted floating point numbers encoded as strings (for example [services.picom.activeOpacity](options.html#opt-services.picom.activeOpacity)) have been changed to the (relatively) new native `float` type. To migrate your configuration simply remove the quotes around the numbers.
|
||||
- In the `picom` module, several options that accepted floating point numbers encoded as strings (for example [services.picom.activeOpacity](options.html#opt-services.picom.activeOpacity)) have been changed to the (relatively) new native `float` type. To migrate your configuration remove the quotes around the numbers.
|
||||
|
||||
- When using `buildBazelPackage` from Nixpkgs, `flat` hash mode is now used for dependencies instead of `recursive`. This is to better allow using hashed mirrors where needed. As a result, these hashes will have changed.
|
||||
|
||||
|
@ -14,7 +14,7 @@ In addition to numerous new and upgraded packages, this release includes the fol
|
||||
- Support for algorithms that `libxcrypt` [does not consider strong](https://github.com/besser82/libxcrypt/blob/v4.4.28/lib/hashes.conf#L41) are **deprecated** as of this release, and will be removed in NixOS 23.05.
|
||||
- This includes system login passwords. Given this, we **strongly encourage** all users to update their system passwords, as you will be unable to login if password hashes are not migrated by the time their support is removed.
|
||||
- When using `users.users.<name>.hashedPassword` to configure user passwords, run `mkpasswd`, and use the yescrypt hash that is provided as the new value.
|
||||
- On the other hand, for interactively configured user passwords, simply re-set the passwords for all users with `passwd`.
|
||||
- On the other hand, for interactively configured user passwords, re-set the passwords for all users with `passwd`.
|
||||
- This release introduces warnings for the use of deprecated hash algorithms for both methods of configuring passwords. To make sure you migrated correctly, run `nixos-rebuild switch`.
|
||||
|
||||
- The NixOS documentation is now generated from markdown. While docbook is still part of the documentation build process, it's a big step towards the full migration.
|
||||
|
@ -611,7 +611,7 @@ If you are:
|
||||
- adding new rules with `*.rules`
|
||||
- running custom PulseAudio commands with `pulse.cmd`
|
||||
|
||||
Simply move the definitions into the drop-in.
|
||||
Move the definitions into the drop-in.
|
||||
|
||||
Note that the use of `context.exec` is not recommended and other methods of running your thing are likely a better option.
|
||||
|
||||
|
@ -304,7 +304,7 @@
|
||||
|
||||
- Emacs macport version 29 was introduced.
|
||||
|
||||
- The option `services.networking.networkmanager.enableFccUnlock` was removed in favor of `networking.networkmanager.fccUnlockScripts`, which allows specifying unlock scripts explicitly. The previous option simply did enable all unlock scripts bundled with ModemManager, which is risky, and didn't allow using vendor-provided unlock scripts at all.
|
||||
- The option `services.networking.networkmanager.enableFccUnlock` was removed in favor of `networking.networkmanager.fccUnlockScripts`, which allows specifying unlock scripts explicitly. The previous option enabled all unlock scripts bundled with ModemManager, which is risky, and didn't allow using vendor-provided unlock scripts at all.
|
||||
|
||||
- The `html-proofer` package has been updated from major version 3 to major version 5, which includes [breaking changes](https://github.com/gjtorikian/html-proofer/blob/v5.0.8/UPGRADING.md).
|
||||
|
||||
|
@ -376,24 +376,23 @@ in rec {
|
||||
|
||||
serviceToUnit = name: def:
|
||||
{ inherit (def) aliases wantedBy requiredBy enable overrideStrategy;
|
||||
text = commonUnitText def +
|
||||
''
|
||||
[Service]
|
||||
${let env = cfg.globalEnvironment // def.environment;
|
||||
in concatMapStrings (n:
|
||||
let s = optionalString (env.${n} != null)
|
||||
"Environment=${builtins.toJSON "${n}=${env.${n}}"}\n";
|
||||
# systemd max line length is now 1MiB
|
||||
# https://github.com/systemd/systemd/commit/e6dde451a51dc5aaa7f4d98d39b8fe735f73d2af
|
||||
in if stringLength s >= 1048576 then throw "The value of the environment variable ‘${n}’ in systemd service ‘${name}.service’ is too long." else s) (attrNames env)}
|
||||
${if def ? reloadIfChanged && def.reloadIfChanged then ''
|
||||
X-ReloadIfChanged=true
|
||||
'' else if (def ? restartIfChanged && !def.restartIfChanged) then ''
|
||||
X-RestartIfChanged=false
|
||||
'' else ""}
|
||||
${optionalString (def ? stopIfChanged && !def.stopIfChanged) "X-StopIfChanged=false"}
|
||||
${attrsToSection def.serviceConfig}
|
||||
'';
|
||||
text = commonUnitText def + ''
|
||||
[Service]
|
||||
'' + (let env = cfg.globalEnvironment // def.environment;
|
||||
in concatMapStrings (n:
|
||||
let s = optionalString (env.${n} != null)
|
||||
"Environment=${builtins.toJSON "${n}=${env.${n}}"}\n";
|
||||
# systemd max line length is now 1MiB
|
||||
# https://github.com/systemd/systemd/commit/e6dde451a51dc5aaa7f4d98d39b8fe735f73d2af
|
||||
in if stringLength s >= 1048576 then throw "The value of the environment variable ‘${n}’ in systemd service ‘${name}.service’ is too long." else s) (attrNames env))
|
||||
+ (if def ? reloadIfChanged && def.reloadIfChanged then ''
|
||||
X-ReloadIfChanged=true
|
||||
'' else if (def ? restartIfChanged && !def.restartIfChanged) then ''
|
||||
X-RestartIfChanged=false
|
||||
'' else "")
|
||||
+ optionalString (def ? stopIfChanged && !def.stopIfChanged) ''
|
||||
X-StopIfChanged=false
|
||||
'' + attrsToSection def.serviceConfig;
|
||||
};
|
||||
|
||||
socketToUnit = name: def:
|
||||
|
@ -16,10 +16,7 @@ with lib;
|
||||
};
|
||||
|
||||
security.sudo.keepTerminfo = mkOption {
|
||||
default = config.security.sudo.package.pname != "sudo-rs";
|
||||
defaultText = literalMD ''
|
||||
`true` unless using `sudo-rs`
|
||||
'';
|
||||
default = true;
|
||||
type = types.bool;
|
||||
description = lib.mdDoc ''
|
||||
Whether to preserve the `TERMINFO` and `TERMINFO_DIRS`
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
x86_64-linux = "/nix/store/3wqasl97rjiza3vd7fxjnvli2w9l30mk-nix-2.17.0";
|
||||
i686-linux = "/nix/store/z360xswxfx55pmm1fng3hw748rbs0kkj-nix-2.17.0";
|
||||
aarch64-linux = "/nix/store/9670sxa916xmv8n1kqs7cdvmnsrhrdjv-nix-2.17.0";
|
||||
x86_64-darwin = "/nix/store/2rdbky9j8hc3mbgl6pnda4hkjllyfwnn-nix-2.17.0";
|
||||
aarch64-darwin = "/nix/store/jl9qma14fb4zk9lq1k0syw2k9qm2gqjw-nix-2.17.0";
|
||||
x86_64-linux = "/nix/store/azvn85cras6xv4z5j85fiy406f24r1q0-nix-2.18.1";
|
||||
i686-linux = "/nix/store/9bnwy7f9h0kzdzmcnjjsjg0aak5waj40-nix-2.18.1";
|
||||
aarch64-linux = "/nix/store/hh65xwqm9s040s3cgn9vzcmrxj0sf5ij-nix-2.18.1";
|
||||
x86_64-darwin = "/nix/store/6zi5fqzn9n17wrk8r41rhdw4j7jqqsi3-nix-2.18.1";
|
||||
aarch64-darwin = "/nix/store/0pbq6wzr2f1jgpn5212knyxpwmkjgjah-nix-2.18.1";
|
||||
}
|
||||
|
@ -1531,6 +1531,10 @@ in
|
||||
(map (module: "mr ${module},"))
|
||||
concatLines
|
||||
]);
|
||||
};
|
||||
|
||||
security.sudo.extraConfig = optionalString config.security.pam.enableSSHAgentAuth ''
|
||||
# Keep SSH_AUTH_SOCK so that pam_ssh_agent_auth.so can do its magic.
|
||||
Defaults env_keep+=SSH_AUTH_SOCK
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
@ -6,6 +6,8 @@ let
|
||||
|
||||
cfg = config.security.sudo;
|
||||
|
||||
inherit (config.security.pam) enableSSHAgentAuth;
|
||||
|
||||
toUserString = user: if (isInt user) then "#${toString user}" else "${user}";
|
||||
toGroupString = group: if (isInt group) then "%#${toString group}" else "%${group}";
|
||||
|
||||
@ -28,41 +30,36 @@ in
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
options.security.sudo = {
|
||||
|
||||
security.sudo.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description =
|
||||
lib.mdDoc ''
|
||||
Whether to enable the {command}`sudo` command, which
|
||||
allows non-root users to execute commands as root.
|
||||
'';
|
||||
};
|
||||
|
||||
security.sudo.package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.sudo;
|
||||
defaultText = literalExpression "pkgs.sudo";
|
||||
description = lib.mdDoc ''
|
||||
Which package to use for `sudo`.
|
||||
defaultOptions = mkOption {
|
||||
type = with types; listOf str;
|
||||
default = [ "SETENV" ];
|
||||
description = mdDoc ''
|
||||
Options used for the default rules, granting `root` and the
|
||||
`wheel` group permission to run any command as any user.
|
||||
'';
|
||||
};
|
||||
|
||||
security.sudo.wheelNeedsPassword = mkOption {
|
||||
enable = mkEnableOption (mdDoc ''
|
||||
the {command}`sudo` command, which allows non-root users to execute commands as root.
|
||||
'');
|
||||
|
||||
package = mkPackageOption pkgs "sudo" { };
|
||||
|
||||
wheelNeedsPassword = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description =
|
||||
lib.mdDoc ''
|
||||
Whether users of the `wheel` group must
|
||||
provide a password to run commands as super user via {command}`sudo`.
|
||||
'';
|
||||
description = mdDoc ''
|
||||
Whether users of the `wheel` group must
|
||||
provide a password to run commands as super user via {command}`sudo`.
|
||||
'';
|
||||
};
|
||||
|
||||
security.sudo.execWheelOnly = mkOption {
|
||||
execWheelOnly = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
description = mdDoc ''
|
||||
Only allow members of the `wheel` group to execute sudo by
|
||||
setting the executable's permissions accordingly.
|
||||
This prevents users that are not members of `wheel` from
|
||||
@ -70,19 +67,18 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
security.sudo.configFile = mkOption {
|
||||
configFile = mkOption {
|
||||
type = types.lines;
|
||||
# Note: if syntax errors are detected in this file, the NixOS
|
||||
# configuration will fail to build.
|
||||
description =
|
||||
lib.mdDoc ''
|
||||
This string contains the contents of the
|
||||
{file}`sudoers` file.
|
||||
'';
|
||||
description = mdDoc ''
|
||||
This string contains the contents of the
|
||||
{file}`sudoers` file.
|
||||
'';
|
||||
};
|
||||
|
||||
security.sudo.extraRules = mkOption {
|
||||
description = lib.mdDoc ''
|
||||
extraRules = mkOption {
|
||||
description = mdDoc ''
|
||||
Define specific rules to be in the {file}`sudoers` file.
|
||||
More specific rules should come after more general ones in order to
|
||||
yield the expected behavior. You can use mkBefore/mkAfter to ensure
|
||||
@ -112,7 +108,7 @@ in
|
||||
options = {
|
||||
users = mkOption {
|
||||
type = with types; listOf (either str int);
|
||||
description = lib.mdDoc ''
|
||||
description = mdDoc ''
|
||||
The usernames / UIDs this rule should apply for.
|
||||
'';
|
||||
default = [];
|
||||
@ -120,7 +116,7 @@ in
|
||||
|
||||
groups = mkOption {
|
||||
type = with types; listOf (either str int);
|
||||
description = lib.mdDoc ''
|
||||
description = mdDoc ''
|
||||
The groups / GIDs this rule should apply for.
|
||||
'';
|
||||
default = [];
|
||||
@ -129,7 +125,7 @@ in
|
||||
host = mkOption {
|
||||
type = types.str;
|
||||
default = "ALL";
|
||||
description = lib.mdDoc ''
|
||||
description = mdDoc ''
|
||||
For what host this rule should apply.
|
||||
'';
|
||||
};
|
||||
@ -137,7 +133,7 @@ in
|
||||
runAs = mkOption {
|
||||
type = with types; str;
|
||||
default = "ALL:ALL";
|
||||
description = lib.mdDoc ''
|
||||
description = mdDoc ''
|
||||
Under which user/group the specified command is allowed to run.
|
||||
|
||||
A user can be specified using just the username: `"foo"`.
|
||||
@ -147,7 +143,7 @@ in
|
||||
};
|
||||
|
||||
commands = mkOption {
|
||||
description = lib.mdDoc ''
|
||||
description = mdDoc ''
|
||||
The commands for which the rule should apply.
|
||||
'';
|
||||
type = with types; listOf (either str (submodule {
|
||||
@ -155,7 +151,7 @@ in
|
||||
options = {
|
||||
command = mkOption {
|
||||
type = with types; str;
|
||||
description = lib.mdDoc ''
|
||||
description = mdDoc ''
|
||||
A command being either just a path to a binary to allow any arguments,
|
||||
the full command with arguments pre-set or with `""` used as the argument,
|
||||
not allowing arguments to the command at all.
|
||||
@ -164,7 +160,7 @@ in
|
||||
|
||||
options = mkOption {
|
||||
type = with types; listOf (enum [ "NOPASSWD" "PASSWD" "NOEXEC" "EXEC" "SETENV" "NOSETENV" "LOG_INPUT" "NOLOG_INPUT" "LOG_OUTPUT" "NOLOG_OUTPUT" ]);
|
||||
description = lib.mdDoc ''
|
||||
description = mdDoc ''
|
||||
Options for running the command. Refer to the [sudo manual](https://www.sudo.ws/man/1.7.10/sudoers.man.html).
|
||||
'';
|
||||
default = [];
|
||||
@ -177,10 +173,10 @@ in
|
||||
});
|
||||
};
|
||||
|
||||
security.sudo.extraConfig = mkOption {
|
||||
extraConfig = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = lib.mdDoc ''
|
||||
description = mdDoc ''
|
||||
Extra configuration text appended to {file}`sudoers`.
|
||||
'';
|
||||
};
|
||||
@ -195,39 +191,48 @@ in
|
||||
message = "The NixOS `sudo` module does not work with `sudo-rs` yet."; }
|
||||
];
|
||||
|
||||
# We `mkOrder 600` so that the default rule shows up first, but there is
|
||||
# still enough room for a user to `mkBefore` it.
|
||||
security.sudo.extraRules = mkOrder 600 [
|
||||
{ groups = [ "wheel" ];
|
||||
commands = [ { command = "ALL"; options = (if cfg.wheelNeedsPassword then [ "SETENV" ] else [ "NOPASSWD" "SETENV" ]); } ];
|
||||
}
|
||||
];
|
||||
security.sudo.extraRules =
|
||||
let
|
||||
defaultRule = { users ? [], groups ? [], opts ? [] }: [ {
|
||||
inherit users groups;
|
||||
commands = [ {
|
||||
command = "ALL";
|
||||
options = opts ++ cfg.defaultOptions;
|
||||
} ];
|
||||
} ];
|
||||
in mkMerge [
|
||||
# This is ordered before users' `mkBefore` rules,
|
||||
# so as not to introduce unexpected changes.
|
||||
(mkOrder 400 (defaultRule { users = [ "root" ]; }))
|
||||
|
||||
security.sudo.configFile =
|
||||
# This is ordered to show before (most) other rules, but
|
||||
# late-enough for a user to `mkBefore` it.
|
||||
(mkOrder 600 (defaultRule {
|
||||
groups = [ "wheel" ];
|
||||
opts = (optional (!cfg.wheelNeedsPassword) "NOPASSWD");
|
||||
}))
|
||||
];
|
||||
|
||||
security.sudo.configFile = concatStringsSep "\n" (filter (s: s != "") [
|
||||
''
|
||||
# Don't edit this file. Set the NixOS options ‘security.sudo.configFile’
|
||||
# or ‘security.sudo.extraRules’ instead.
|
||||
|
||||
# Keep SSH_AUTH_SOCK so that pam_ssh_agent_auth.so can do its magic.
|
||||
Defaults env_keep+=SSH_AUTH_SOCK
|
||||
|
||||
# "root" is allowed to do anything.
|
||||
root ALL=(ALL:ALL) SETENV: ALL
|
||||
|
||||
# extraRules
|
||||
${concatStringsSep "\n" (
|
||||
lists.flatten (
|
||||
map (
|
||||
rule: optionals (length rule.commands != 0) [
|
||||
(map (user: "${toUserString user} ${rule.host}=(${rule.runAs}) ${toCommandsString rule.commands}") rule.users)
|
||||
(map (group: "${toGroupString group} ${rule.host}=(${rule.runAs}) ${toCommandsString rule.commands}") rule.groups)
|
||||
]
|
||||
) cfg.extraRules
|
||||
)
|
||||
)}
|
||||
|
||||
''
|
||||
(pipe cfg.extraRules [
|
||||
(filter (rule: length rule.commands != 0))
|
||||
(map (rule: [
|
||||
(map (user: "${toUserString user} ${rule.host}=(${rule.runAs}) ${toCommandsString rule.commands}") rule.users)
|
||||
(map (group: "${toGroupString group} ${rule.host}=(${rule.runAs}) ${toCommandsString rule.commands}") rule.groups)
|
||||
]))
|
||||
flatten
|
||||
(concatStringsSep "\n")
|
||||
])
|
||||
"\n"
|
||||
(optionalString (cfg.extraConfig != "") ''
|
||||
# extraConfig
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
'')
|
||||
]);
|
||||
|
||||
security.wrappers = let
|
||||
owner = "root";
|
||||
|
@ -495,6 +495,8 @@ if test -e /sys/power/resume -a -e /sys/power/disk; then
|
||||
fi
|
||||
fi
|
||||
|
||||
@postResumeCommands@
|
||||
|
||||
# If we have a path to an iso file, find the iso and link it to /dev/root
|
||||
if [ -n "$isoPath" ]; then
|
||||
mkdir -p /findiso
|
||||
|
@ -316,7 +316,7 @@ let
|
||||
inherit (config.system.build) earlyMountScript;
|
||||
|
||||
inherit (config.boot.initrd) checkJournalingFS verbose
|
||||
preLVMCommands preDeviceCommands postDeviceCommands postMountCommands preFailCommands kernelModules;
|
||||
preLVMCommands preDeviceCommands postDeviceCommands postResumeCommands postMountCommands preFailCommands kernelModules;
|
||||
|
||||
resumeDevices = map (sd: if sd ? device then sd.device else "/dev/disk/by-label/${sd.label}")
|
||||
(filter (sd: hasPrefix "/dev/" sd.device && !sd.randomEncryption.enable
|
||||
@ -527,6 +527,14 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
boot.initrd.postResumeCommands = mkOption {
|
||||
default = "";
|
||||
type = types.lines;
|
||||
description = lib.mdDoc ''
|
||||
Shell commands to be executed immediately after attempting to resume.
|
||||
'';
|
||||
};
|
||||
|
||||
boot.initrd.postMountCommands = mkOption {
|
||||
default = "";
|
||||
type = types.lines;
|
||||
|
@ -358,6 +358,7 @@ in {
|
||||
[ "preDeviceCommands" ]
|
||||
[ "preLVMCommands" ]
|
||||
[ "postDeviceCommands" ]
|
||||
[ "postResumeCommands" ]
|
||||
[ "postMountCommands" ]
|
||||
[ "extraUdevRulesCommands" ]
|
||||
[ "extraUtilsCommands" ]
|
||||
|
@ -241,7 +241,16 @@ in
|
||||
after = [ "network-online.target" "sshd.service" ];
|
||||
wants = [ "network-online.target" ];
|
||||
|
||||
path = [ pkgs.e2fsprogs pkgs.bash ];
|
||||
path = [
|
||||
pkgs.e2fsprogs
|
||||
pkgs.bash
|
||||
|
||||
# waagent's Microsoft.OSTCExtensions.VMAccessForLinux needs Python 3
|
||||
pkgs.python3
|
||||
|
||||
# waagent's Microsoft.CPlat.Core.RunCommandLinux needs lsof
|
||||
pkgs.lsof
|
||||
];
|
||||
description = "Windows Azure Agent Service";
|
||||
unitConfig.ConditionPathExists = "/etc/waagent.conf";
|
||||
serviceConfig = {
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libmt32emu";
|
||||
version = "2.7.0";
|
||||
version = "2.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "munt";
|
||||
repo = "munt";
|
||||
rev = "${pname}_${lib.replaceStrings [ "." ] [ "_" ] version}";
|
||||
sha256 = "sha256-XGds9lDfSiY0D8RhYG4TGyjYEVvVYuAfNSv9+VxiJEs=";
|
||||
sha256 = "sha256-zY1AFcm8uvFkrKUZHsqtKY2CYTY4bWmkTJ7bZPqXoxk=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
1322
pkgs/applications/blockchains/polkadot/Cargo.lock
generated
1322
pkgs/applications/blockchains/polkadot/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -11,13 +11,13 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "polkadot";
|
||||
version = "1.2.0";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paritytech";
|
||||
repo = "polkadot-sdk";
|
||||
rev = "polkadot-v${version}";
|
||||
hash = "sha256-Xgu1BlSGDAj79TKSM9vCbzBT4quOMBd6evImkkKycH4=";
|
||||
hash = "sha256-7hCQdJHzuPQTNZFDGEZG/Q6G/Gh/gJANV5uiL/d6Pas=";
|
||||
|
||||
# the build process of polkadot requires a .git folder in order to determine
|
||||
# the git commit hash that is being built and add it to the version string.
|
||||
@ -41,8 +41,8 @@ rustPlatform.buildRustPackage rec {
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"ark-secret-scalar-0.0.2" = "sha256-Tcrz2tT561ICAJzMgarSTOnaUEPeTFKZzE7rkdL3eUQ=";
|
||||
"common-0.1.0" = "sha256-dnZKDx3Rw5cd4ejcilo3Opsn/1XK9yWGxhceuwvBE0o=";
|
||||
"ark-secret-scalar-0.0.2" = "sha256-GROzlo+1QQ8wd090/esQRmaV8KWjNEfUlFlldnME28A=";
|
||||
"common-0.1.0" = "sha256-ru++KG2ZZqa/wDGnKF/VfWnazHRSpOAD0WYb7rHlpCU=";
|
||||
"fflonk-0.1.0" = "sha256-MNvlePHQdY8DiOq6w7Hc1pgn7G58GDTeghCKHJdUy7E=";
|
||||
};
|
||||
};
|
||||
|
@ -65,6 +65,8 @@ in
|
||||
|
||||
mu4e = callPackage ./manual-packages/mu4e { };
|
||||
|
||||
notdeft = callPackage ./manual-packages/notdeft { };
|
||||
|
||||
ott-mode = callPackage ./manual-packages/ott-mode { };
|
||||
|
||||
perl-completion = callPackage ./manual-packages/perl-completion { };
|
||||
|
@ -0,0 +1,75 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, trivialBuild
|
||||
, fetchFromGitHub
|
||||
, emacs
|
||||
, hydra
|
||||
, ivy
|
||||
, pkg-config
|
||||
, tclap
|
||||
, xapian
|
||||
# Include pre-configured hydras
|
||||
, withHydra ? false
|
||||
# Include Ivy integration
|
||||
, withIvy ? false
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "notdeft";
|
||||
version = "20211204.0846";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hasu";
|
||||
repo = "notdeft";
|
||||
rev = "1b7054dcfc3547a7cafeb621552cec01d0540478";
|
||||
hash = "sha256-LMMLJFVpmoE/y3MqrgY2fmsehmzk6TkLsVoHmFUxiSw=";
|
||||
};
|
||||
|
||||
# Xapian bindings for NotDeft
|
||||
notdeft-xapian = stdenv.mkDerivation {
|
||||
pname = "notdeft-xapian";
|
||||
inherit version src;
|
||||
|
||||
sourceRoot = "${src.name}/xapian";
|
||||
|
||||
nativeBuildInputs = [ pkg-config tclap xapian ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp notdeft-xapian $out/bin
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
in
|
||||
trivialBuild {
|
||||
inherit pname version src;
|
||||
packageRequires = lib.optional withHydra hydra
|
||||
++ lib.optional withIvy ivy;
|
||||
buildInputs = [ xapian ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace notdeft-xapian.el \
|
||||
--replace 'defcustom notdeft-xapian-program nil' \
|
||||
"defcustom notdeft-xapian-program \"${notdeft-xapian}/bin/notdeft-xapian\""
|
||||
'';
|
||||
|
||||
# Extra modules are contained in the extras/ directory
|
||||
preBuild = lib.optionalString withHydra ''
|
||||
mv extras/notdeft-{mode-hydra,global-hydra}.el ./
|
||||
'' +
|
||||
lib.optionalString withIvy ''
|
||||
mv extras/notdeft-ivy.el ./
|
||||
'' + ''
|
||||
rm -r extras/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://tero.hasu.is/notdeft/";
|
||||
description = "Fork of Deft that uses Xapian as a search engine";
|
||||
maintainers = [ maintainers.nessdoor ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -2473,8 +2473,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "vscode-pylance";
|
||||
publisher = "MS-python";
|
||||
version = "2022.7.11";
|
||||
sha256 = "sha256-JatjLZXO7iwpBwjL1hrNafBiF81CaozWWANyRm8A36Y=";
|
||||
version = "2023.8.50";
|
||||
sha256 = "sha256-xJU/j5r/Idp/0VorEfciT4SFKRBpMCv9Z0LKO/++1Gk=";
|
||||
};
|
||||
|
||||
buildInputs = [ nodePackages.pyright ];
|
||||
@ -2485,6 +2485,7 @@ let
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance";
|
||||
homepage = "https://github.com/microsoft/pylance-release";
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = [ lib.maintainers.ericthemagician ];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, makeWrapper
|
||||
, mkDerivation
|
||||
, substituteAll
|
||||
@ -12,6 +11,7 @@
|
||||
|
||||
, bison
|
||||
, cmake
|
||||
, draco
|
||||
, exiv2
|
||||
, fcgi
|
||||
, flex
|
||||
@ -64,8 +64,8 @@ let
|
||||
owslib
|
||||
psycopg2
|
||||
pygments
|
||||
pyqt-builder
|
||||
pyqt5
|
||||
pyqt-builder
|
||||
python-dateutil
|
||||
pytz
|
||||
pyyaml
|
||||
@ -77,14 +77,14 @@ let
|
||||
urllib3
|
||||
];
|
||||
in mkDerivation rec {
|
||||
version = "3.32.3";
|
||||
version = "3.34.0";
|
||||
pname = "qgis-unwrapped";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qgis";
|
||||
repo = "QGIS";
|
||||
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
|
||||
hash = "sha256-ge5ne22sDLKbrJk2vYQxpu3iRXSoOk9924c/RdtD3Nc=";
|
||||
hash = "sha256-+Yzp8kfd7cfxTwsrxRo+6uS+2Aj4HfKA2E8hSf7htsU=";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
@ -104,6 +104,7 @@ in mkDerivation rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
draco
|
||||
exiv2
|
||||
fcgi
|
||||
geos
|
||||
@ -142,11 +143,6 @@ in mkDerivation rec {
|
||||
pyQt5PackageDir = "${py.pkgs.pyqt5}/${py.pkgs.python.sitePackages}";
|
||||
qsciPackageDir = "${py.pkgs.qscintilla-qt5}/${py.pkgs.python.sitePackages}";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "exiv2-0.28.patch";
|
||||
url = "https://github.com/qgis/QGIS/commit/32f5418fc4f7bb2ee986dee1824ff2989c113a94.patch";
|
||||
hash = "sha256-zWyf+kLro4ZyUJLX/nDjY0nLneTaI1DxHvRsvwoWq14=";
|
||||
})
|
||||
];
|
||||
|
||||
# Add path to Qt platform plugins
|
||||
@ -156,8 +152,9 @@ in mkDerivation rec {
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DWITH_3D=True"
|
||||
"-DWITH_PDAL=TRUE"
|
||||
"-DWITH_PDAL=True"
|
||||
"-DENABLE_TESTS=False"
|
||||
] ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF"
|
||||
++ lib.optional withGrass (let
|
||||
|
@ -15,6 +15,7 @@
|
||||
, pkg-config
|
||||
, poppler
|
||||
, python3
|
||||
, wrapGAppsHook
|
||||
# Building with docs are still failing in unstable-2023-09-28
|
||||
, withDocs ? false
|
||||
}:
|
||||
@ -59,6 +60,7 @@ stdenv.mkDerivation {
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook
|
||||
] ++
|
||||
lib.optionals withDocs [
|
||||
dblatex
|
||||
|
@ -29,13 +29,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vengi-tools";
|
||||
version = "0.0.26";
|
||||
version = "0.0.27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mgerhardy";
|
||||
repo = "vengi";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-p+ZL3oxzwKhh+j1bxakgyStH+1GAu2aEwNmsqo6fNFo=";
|
||||
hash = "sha256-A37IY66wZZK7Tv0zWsORO6CuRRRj7YmKLnEPSbfAvwI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -24,7 +24,7 @@
|
||||
, srcs
|
||||
|
||||
# provided as callPackage input to enable easier overrides through overlays
|
||||
, cargoSha256 ? "sha256-po/CzUnUFh1saJuw8CVk4zeWsVAgw2iPdfq81t0zwU8="
|
||||
, cargoSha256 ? "sha256-YR7d8F1LWDHY+h2ZQe52u3KWIeEMTnrbU4DO+hpIOec="
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
|
@ -1 +1 @@
|
||||
WGET_ARGS=( https://download.kde.org/stable/release-service/23.08.2/src -A '*.tar.xz' )
|
||||
WGET_ARGS=( https://download.kde.org/stable/release-service/23.08.3/src -A '*.tar.xz' )
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -11,13 +11,13 @@
|
||||
|
||||
perlPackages.buildPerlPackage rec {
|
||||
pname = "get_iplayer";
|
||||
version = "3.33";
|
||||
version = "3.34";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "get-iplayer";
|
||||
repo = "get_iplayer";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-cX+ydMvpQNFfQICRVKyhnB5gZkVnOMLPbGgdFymzmeA=";
|
||||
hash = "sha256-KuDNngHOoeEHJExEHoLdNO95ZUvLx8TWiAOTmRKHtmQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ] ++ lib.optional stdenv.isDarwin shortenPerlShebang;
|
||||
@ -33,10 +33,9 @@ perlPackages.buildPerlPackage rec {
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/share/man/man1
|
||||
cp get_iplayer $out/bin
|
||||
install -D get_iplayer -t $out/bin
|
||||
wrapProgram $out/bin/get_iplayer --suffix PATH : ${lib.makeBinPath [ atomicparsley ffmpeg ]} --prefix PERL5LIB : $PERL5LIB
|
||||
cp get_iplayer.1 $out/share/man/man1
|
||||
install -D get_iplayer.1 -t $out/share/man/man1
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
@ -1,18 +1,20 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, python3
|
||||
, testers
|
||||
, jrnl
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "jrnl";
|
||||
version = "4.0.1";
|
||||
version = "4.1";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jrnl-org";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-NpI19NQxfDiqcfFI9kMqfMboI4fQTqCG7AoG9o8YoEI=";
|
||||
hash = "sha256-DtujXSDJWnOrHjVgJEJNKJMhSrNBHlR2hvHeHLSIF2o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
@ -20,7 +22,6 @@ python3.pkgs.buildPythonApplication rec {
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
ansiwrap
|
||||
asteval
|
||||
colorama
|
||||
cryptography
|
||||
@ -51,6 +52,11 @@ python3.pkgs.buildPythonApplication rec {
|
||||
"jrnl"
|
||||
];
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = jrnl;
|
||||
version = "v${version}";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/jrnl-org/jrnl/releases/tag/v${version}";
|
||||
description = "Simple command line journal application that stores your journal in a plain text file";
|
||||
|
255
pkgs/applications/misc/owmods-cli/Cargo.lock
generated
255
pkgs/applications/misc/owmods-cli/Cargo.lock
generated
@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
|
||||
|
||||
[[package]]
|
||||
name = "aho-corasick"
|
||||
version = "1.0.4"
|
||||
version = "1.0.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a"
|
||||
checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
@ -72,9 +72,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "anstyle"
|
||||
version = "1.0.2"
|
||||
version = "1.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "15c4c2c83f81532e5845a733998b6971faca23490340a418e9b72a3ec9de12ea"
|
||||
checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46"
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-parse"
|
||||
@ -129,7 +129,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -185,9 +185,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
|
||||
|
||||
[[package]]
|
||||
name = "base64"
|
||||
version = "0.21.3"
|
||||
version = "0.21.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "414dcefbc63d77c526a76b3afcf6fbb9b5e2791c19c3aa2297733208750c6e53"
|
||||
checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2"
|
||||
|
||||
[[package]]
|
||||
name = "bincode"
|
||||
@ -248,12 +248,12 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "bstr"
|
||||
version = "1.6.0"
|
||||
version = "1.6.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
|
||||
checksum = "4c2f7349907b712260e64b0afe2f84692af14a454be26187d9df565c7f69266a"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
"regex-automata 0.3.7",
|
||||
"regex-automata 0.3.8",
|
||||
"serde",
|
||||
]
|
||||
|
||||
@ -265,9 +265,9 @@ checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
|
||||
|
||||
[[package]]
|
||||
name = "bytemuck"
|
||||
version = "1.13.1"
|
||||
version = "1.14.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea"
|
||||
checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
|
||||
|
||||
[[package]]
|
||||
name = "byteorder"
|
||||
@ -277,9 +277,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
|
||||
|
||||
[[package]]
|
||||
name = "bytes"
|
||||
version = "1.4.0"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
|
||||
checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
@ -315,7 +315,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"toml 0.7.6",
|
||||
"toml 0.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -356,9 +356,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "cfg-expr"
|
||||
version = "0.15.4"
|
||||
version = "0.15.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9"
|
||||
checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3"
|
||||
dependencies = [
|
||||
"smallvec",
|
||||
"target-lexicon",
|
||||
@ -372,9 +372,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "chrono"
|
||||
version = "0.4.26"
|
||||
version = "0.4.30"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
|
||||
checksum = "defd4e7873dbddba6c7c91e199c7fcb946abc4a6a4ac3195400bcfb01b5de877"
|
||||
dependencies = [
|
||||
"android-tzdata",
|
||||
"iana-time-zone",
|
||||
@ -382,25 +382,24 @@ dependencies = [
|
||||
"num-traits",
|
||||
"serde",
|
||||
"wasm-bindgen",
|
||||
"winapi",
|
||||
"windows-targets 0.48.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "4.4.0"
|
||||
version = "4.4.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1d5f1946157a96594eb2d2c10eb7ad9a2b27518cb3000209dec700c35df9197d"
|
||||
checksum = "824956d0dca8334758a5b7f7e50518d66ea319330cbceedcf76905c2f6ab30e3"
|
||||
dependencies = [
|
||||
"clap_builder",
|
||||
"clap_derive",
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_builder"
|
||||
version = "4.4.0"
|
||||
version = "4.4.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "78116e32a042dd73c2901f0dc30790d20ff3447f3e3472fad359e8c3d282bcd6"
|
||||
checksum = "122ec64120a49b4563ccaedcbea7818d069ed8e9aa6d829b82d8a4128936b2ab"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
@ -410,23 +409,23 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "clap_complete"
|
||||
version = "4.4.0"
|
||||
version = "4.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "586a385f7ef2f8b4d86bddaa0c094794e7ccbfe5ffef1f434fe928143fc783a5"
|
||||
checksum = "8baeccdb91cd69189985f87f3c7e453a3a451ab5746cf3be6acc92120bd16d24"
|
||||
dependencies = [
|
||||
"clap",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_derive"
|
||||
version = "4.4.0"
|
||||
version = "4.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c9fd1a5729c4548118d7d70ff234a44868d00489a4b6597b0b020918a0e91a1a"
|
||||
checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873"
|
||||
dependencies = [
|
||||
"heck 0.4.1",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -437,9 +436,9 @@ checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
|
||||
|
||||
[[package]]
|
||||
name = "clap_mangen"
|
||||
version = "0.2.13"
|
||||
version = "0.2.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cf8e5f34d85d9e0bbe2491d100a7a7c1007bb2467b518080bfe311e8947197a9"
|
||||
checksum = "b44f35c514163027542f7147797ff930523eea288e03642727348ef1a9666f6b"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"roff",
|
||||
@ -639,7 +638,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -673,7 +672,7 @@ dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"strsim",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -684,7 +683,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
|
||||
dependencies = [
|
||||
"darling_core",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -799,15 +798,15 @@ checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
|
||||
|
||||
[[package]]
|
||||
name = "embed-resource"
|
||||
version = "2.2.0"
|
||||
version = "2.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f7f1e82a60222fc67bfd50d752a9c89da5cce4c39ed39decc84a443b07bbd69a"
|
||||
checksum = "fd0a2c9b742a980060d22545a7a83b573acd6b73045b9de6370c9530ce652f27"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"rustc_version",
|
||||
"toml 0.7.6",
|
||||
"toml 0.7.8",
|
||||
"vswhom",
|
||||
"winreg 0.11.0",
|
||||
"winreg 0.51.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -839,9 +838,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
|
||||
|
||||
[[package]]
|
||||
name = "errno"
|
||||
version = "0.3.2"
|
||||
version = "0.3.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
|
||||
checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd"
|
||||
dependencies = [
|
||||
"errno-dragonfly",
|
||||
"libc",
|
||||
@ -1001,7 +1000,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1606,9 +1605,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "indicatif"
|
||||
version = "0.17.6"
|
||||
version = "0.17.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0b297dc40733f23a0e52728a58fa9489a5b7638a324932de16b41adc3ef80730"
|
||||
checksum = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25"
|
||||
dependencies = [
|
||||
"console",
|
||||
"instant",
|
||||
@ -1761,9 +1760,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "json-patch"
|
||||
version = "1.0.0"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1f54898088ccb91df1b492cc80029a6fdf1c48ca0db7c6822a8babad69c94658"
|
||||
checksum = "4f7765dccf8c39c3a470fc694efe322969d791e713ca46bc7b5c506886157572"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
@ -1811,9 +1810,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.147"
|
||||
version = "0.2.148"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
|
||||
checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
|
||||
|
||||
[[package]]
|
||||
name = "line-wrap"
|
||||
@ -1826,9 +1825,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "linux-raw-sys"
|
||||
version = "0.4.5"
|
||||
version = "0.4.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
|
||||
checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128"
|
||||
|
||||
[[package]]
|
||||
name = "lock_api"
|
||||
@ -1910,9 +1909,9 @@ checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.5.0"
|
||||
version = "2.6.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
|
||||
checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
|
||||
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
@ -2190,9 +2189,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "object"
|
||||
version = "0.32.0"
|
||||
version = "0.32.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "77ac5bbd07aea88c60a577a1ce218075ffd59208b2d7ca97adf9bfc5aeb21ebe"
|
||||
checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
@ -2247,7 +2246,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2258,9 +2257,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
|
||||
|
||||
[[package]]
|
||||
name = "openssl-sys"
|
||||
version = "0.9.92"
|
||||
version = "0.9.93"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "db7e971c2c2bba161b2d2fdf37080177eff520b3bc044787c7f1f5f9e78d869b"
|
||||
checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
@ -2293,7 +2292,7 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
|
||||
|
||||
[[package]]
|
||||
name = "owmods_cli"
|
||||
version = "0.11.2"
|
||||
version = "0.11.3"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"clap",
|
||||
@ -2308,7 +2307,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "owmods_core"
|
||||
version = "0.11.2"
|
||||
version = "0.11.3"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"directories",
|
||||
@ -2334,7 +2333,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "owmods_gui"
|
||||
version = "0.11.2"
|
||||
version = "0.11.3"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"log",
|
||||
@ -2535,7 +2534,7 @@ version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bdc0001cfea3db57a2e24bc0d818e9e20e554b5f97fabb9bc231dc240269ae06"
|
||||
dependencies = [
|
||||
"base64 0.21.3",
|
||||
"base64 0.21.4",
|
||||
"indexmap 1.9.3",
|
||||
"line-wrap",
|
||||
"quick-xml",
|
||||
@ -2759,13 +2758,13 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.9.4"
|
||||
version = "1.9.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "12de2eff854e5fa4b1295edd650e227e9d8fb0c9e90b12e7f36d6a6811791a29"
|
||||
checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-automata 0.3.7",
|
||||
"regex-automata 0.3.8",
|
||||
"regex-syntax 0.7.5",
|
||||
]
|
||||
|
||||
@ -2780,9 +2779,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "regex-automata"
|
||||
version = "0.3.7"
|
||||
version = "0.3.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "49530408a136e16e5b486e883fbb6ba058e8e4e8ae6621a77b048b314336e629"
|
||||
checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
@ -2807,7 +2806,7 @@ version = "0.11.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1"
|
||||
dependencies = [
|
||||
"base64 0.21.3",
|
||||
"base64 0.21.4",
|
||||
"bytes",
|
||||
"encoding_rs",
|
||||
"futures-core",
|
||||
@ -2907,9 +2906,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rustix"
|
||||
version = "0.38.9"
|
||||
version = "0.38.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9bfe0f2582b4931a45d1fa608f8a8722e8b3c7ac54dd6d5f3b3212791fedef49"
|
||||
checksum = "d7db8590df6dfcd144d22afd1b83b36c21a18d7cbc1dc4bb5295a8712e9eb662"
|
||||
dependencies = [
|
||||
"bitflags 2.4.0",
|
||||
"errno",
|
||||
@ -2920,9 +2919,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rustls"
|
||||
version = "0.21.6"
|
||||
version = "0.21.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1d1feddffcfcc0b33f5c6ce9a29e341e4cd59c3f78e7ee45f4a40c038b1d6cbb"
|
||||
checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8"
|
||||
dependencies = [
|
||||
"log",
|
||||
"ring",
|
||||
@ -2936,14 +2935,14 @@ version = "1.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2"
|
||||
dependencies = [
|
||||
"base64 0.21.3",
|
||||
"base64 0.21.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustls-webpki"
|
||||
version = "0.101.4"
|
||||
version = "0.101.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7d93931baf2d282fff8d3a532bbfd7653f734643161b87e3e01e59a04439bf0d"
|
||||
checksum = "45a27e3b59326c16e23d30aeb7a36a24cc0d29e71d68ff611cdfb4a01d013bed"
|
||||
dependencies = [
|
||||
"ring",
|
||||
"untrusted",
|
||||
@ -3076,14 +3075,14 @@ checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.105"
|
||||
version = "1.0.106"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360"
|
||||
checksum = "2cc66a619ed80bf7a0f6b17dd063a84b88f6dea1813737cf469aef1d081142c2"
|
||||
dependencies = [
|
||||
"itoa 1.0.9",
|
||||
"ryu",
|
||||
@ -3098,7 +3097,7 @@ checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -3128,7 +3127,7 @@ version = "3.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1ca3b16a3d82c4088f343b7480a93550b3eabe1a358569c2dfe38bbcead07237"
|
||||
dependencies = [
|
||||
"base64 0.21.3",
|
||||
"base64 0.21.4",
|
||||
"chrono",
|
||||
"hex",
|
||||
"indexmap 1.9.3",
|
||||
@ -3148,7 +3147,7 @@ dependencies = [
|
||||
"darling",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -3251,9 +3250,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "socket2"
|
||||
version = "0.5.3"
|
||||
version = "0.5.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
|
||||
checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.48.0",
|
||||
@ -3353,9 +3352,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.29"
|
||||
version = "2.0.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a"
|
||||
checksum = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -3394,10 +3393,10 @@ version = "6.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3"
|
||||
dependencies = [
|
||||
"cfg-expr 0.15.4",
|
||||
"cfg-expr 0.15.5",
|
||||
"heck 0.4.1",
|
||||
"pkg-config",
|
||||
"toml 0.7.6",
|
||||
"toml 0.7.8",
|
||||
"version-compare 0.1.1",
|
||||
]
|
||||
|
||||
@ -3483,7 +3482,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7fbe522898e35407a8e60dc3870f7579fea2fc262a6a6072eccdd37ae1e1d91e"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"base64 0.21.3",
|
||||
"base64 0.21.4",
|
||||
"bytes",
|
||||
"cocoa",
|
||||
"dirs-next",
|
||||
@ -3555,7 +3554,7 @@ version = "1.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "54ad2d49fdeab4a08717f5b49a163bdc72efc3b1950b6758245fcde79b645e1a"
|
||||
dependencies = [
|
||||
"base64 0.21.3",
|
||||
"base64 0.21.4",
|
||||
"brotli",
|
||||
"ico",
|
||||
"json-patch",
|
||||
@ -3696,7 +3695,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5993dc129e544393574288923d1ec447c857f3f644187f4fbf7d9a875fbfc4fb"
|
||||
dependencies = [
|
||||
"embed-resource",
|
||||
"toml 0.7.6",
|
||||
"toml 0.7.8",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -3731,22 +3730,22 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c"
|
||||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "1.0.47"
|
||||
version = "1.0.48"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f"
|
||||
checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7"
|
||||
dependencies = [
|
||||
"thiserror-impl",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror-impl"
|
||||
version = "1.0.47"
|
||||
version = "1.0.48"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b"
|
||||
checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -3761,9 +3760,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
version = "0.3.28"
|
||||
version = "0.3.29"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48"
|
||||
checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe"
|
||||
dependencies = [
|
||||
"deranged",
|
||||
"itoa 1.0.9",
|
||||
@ -3776,15 +3775,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "time-core"
|
||||
version = "0.1.1"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
|
||||
checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
|
||||
|
||||
[[package]]
|
||||
name = "time-macros"
|
||||
version = "0.2.14"
|
||||
version = "0.2.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572"
|
||||
checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20"
|
||||
dependencies = [
|
||||
"time-core",
|
||||
]
|
||||
@ -3823,7 +3822,7 @@ dependencies = [
|
||||
"num_cpus",
|
||||
"pin-project-lite",
|
||||
"signal-hook-registry",
|
||||
"socket2 0.5.3",
|
||||
"socket2 0.5.4",
|
||||
"tokio-macros",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
@ -3836,7 +3835,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -3908,9 +3907,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "toml"
|
||||
version = "0.7.6"
|
||||
version = "0.7.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
|
||||
checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_spanned",
|
||||
@ -3929,9 +3928,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "toml_edit"
|
||||
version = "0.19.14"
|
||||
version = "0.19.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
|
||||
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
|
||||
dependencies = [
|
||||
"indexmap 2.0.0",
|
||||
"serde",
|
||||
@ -3966,7 +3965,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -4059,9 +4058,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.11"
|
||||
version = "1.0.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
|
||||
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-normalization"
|
||||
@ -4092,9 +4091,9 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
|
||||
|
||||
[[package]]
|
||||
name = "url"
|
||||
version = "2.4.0"
|
||||
version = "2.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
|
||||
checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
|
||||
dependencies = [
|
||||
"form_urlencoded",
|
||||
"idna",
|
||||
@ -4176,9 +4175,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "walkdir"
|
||||
version = "2.3.3"
|
||||
version = "2.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
|
||||
checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
|
||||
dependencies = [
|
||||
"same-file",
|
||||
"winapi-util",
|
||||
@ -4226,7 +4225,7 @@ dependencies = [
|
||||
"once_cell",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.32",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
@ -4260,7 +4259,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
"syn 2.0.32",
|
||||
"wasm-bindgen-backend",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
@ -4700,16 +4699,6 @@ dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winreg"
|
||||
version = "0.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "76a1a57ff50e9b408431e8f97d5456f2807f8eb2a2cd79b06068fc87f8ecf189"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winreg"
|
||||
version = "0.50.0"
|
||||
@ -4721,10 +4710,20 @@ dependencies = [
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wry"
|
||||
version = "0.24.3"
|
||||
name = "winreg"
|
||||
version = "0.51.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "33748f35413c8a98d45f7a08832d848c0c5915501803d1faade5a4ebcd258cea"
|
||||
checksum = "937f3df7948156640f46aacef17a70db0de5917bda9c92b0f751f3a955b588fc"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wry"
|
||||
version = "0.24.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "88ef04bdad49eba2e01f06e53688c8413bd6a87b0bc14b72284465cf96e3578e"
|
||||
dependencies = [
|
||||
"base64 0.13.1",
|
||||
"block",
|
||||
|
@ -1,5 +1,6 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, nix-update-script
|
||||
, fetchFromGitHub
|
||||
, rustPlatform
|
||||
, pkg-config
|
||||
@ -11,13 +12,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "owmods-cli";
|
||||
version = "0.11.2";
|
||||
version = "0.11.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ow-mods";
|
||||
repo = "ow-mod-man";
|
||||
rev = "cli_v${version}";
|
||||
hash = "sha256-kjHGuVYX9pKy2I+m347cEdPj6MjCDz8vz2Cnce9+z90=";
|
||||
hash = "sha256-CobGF3ZQEdRRoMGL9l37alGQArIuRxiFbihQoRdnAsc=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
@ -53,6 +54,8 @@ rustPlatform.buildRustPackage rec {
|
||||
dist/cli/completions/owmods.{bash,fish,zsh}
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script {};
|
||||
|
||||
meta = with lib; {
|
||||
description = "CLI version of the mod manager for Outer Wilds Mod Loader";
|
||||
homepage = "https://github.com/ow-mods/ow-mod-man/tree/main/owmods_cli";
|
||||
|
@ -1,38 +0,0 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl gnused nix-prefetch nix-prefetch-github jq wget
|
||||
|
||||
#modified version of https://github.com/NixOS/nixpkgs/blob/nixos-23.05/pkgs/servers/readarr/update.sh
|
||||
set -e
|
||||
|
||||
dirname="$(dirname "$0")"
|
||||
|
||||
updateHash()
|
||||
{
|
||||
version=$1
|
||||
|
||||
url="https://github.com/ow-mods/ow-mod-man/releases/cli_v$version"
|
||||
prefetchJson=$(nix-prefetch-github ow-mods ow-mod-man --rev cli_v$version)
|
||||
sha256="$(echo $prefetchJson | jq -r ".sha256")"
|
||||
echo "sha256=${sha256}"
|
||||
|
||||
sed -i "s/hash = \"[a-zA-Z0-9\/+-=]*\";/hash = \"sha256-$sha256\";/g" "$dirname/default.nix"
|
||||
|
||||
#downloads and replaces .lock file
|
||||
wget https://raw.githubusercontent.com/ow-mods/ow-mod-man/cli_v$version/Cargo.lock -q -O $dirname/Cargo.lock
|
||||
|
||||
}
|
||||
|
||||
updateVersion()
|
||||
{
|
||||
sed -i "s/version = \"[0-9.]*\";/version = \"$1\";/g" "$dirname/default.nix"
|
||||
}
|
||||
|
||||
latestTag=$(curl https://api.github.com/repos/ow-mods/ow-mod-man/releases | jq -r ".[0].tag_name")
|
||||
latestVersion="$(expr $latestTag : 'gui_v\(.*\)')"
|
||||
echo "latest version: ${latestVersion}"
|
||||
|
||||
echo "updating..."
|
||||
updateVersion $latestVersion
|
||||
|
||||
updateHash $latestVersion
|
||||
echo "updated cli"
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "spicetify-cli";
|
||||
version = "2.26.0";
|
||||
version = "2.27.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "spicetify";
|
||||
repo = "spicetify-cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-3u55Pcd4VNgWGyu/IVsrMqm8E4H9y4Bvt3JMyIL/KXo=";
|
||||
hash = "sha256-5WIITzm9yZWB847WHL+okwpULdwHegtZfvsVrAzwTO0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-VktAO3yKCdm5yz/RRLeLv6zzyGrwuHC/i8WdJtqZoYc=";
|
||||
|
@ -2,15 +2,15 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubernetes-helm";
|
||||
version = "3.13.1";
|
||||
version = "3.13.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "helm";
|
||||
repo = "helm";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-HzamUAqO21RuWLLEfGfrpnlSJslyh4zAppCich5ZzD4=";
|
||||
sha256 = "sha256-WXtEXgKco50D1TR775lIm/VuD+MJMbOMQpPC0W4MAYo=";
|
||||
};
|
||||
vendorHash = "sha256-U4adeMBruUje97rr1hHfiCxMWSXlqv+aAlsHZZ4n5zs=";
|
||||
vendorHash = "sha256-kvler6o4On4SbFF7AvPSCF5fRYtPNI5fsOcUbrTGYcQ=";
|
||||
|
||||
subPackages = [ "cmd/helm" ];
|
||||
ldflags = [
|
||||
|
@ -12,16 +12,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubebuilder";
|
||||
version = "3.12.0";
|
||||
version = "3.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubernetes-sigs";
|
||||
repo = "kubebuilder";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-drg7hFUEFoicZxzorO365b3eFN9NRdhWYn9bIk+sSY8=";
|
||||
hash = "sha256-JXI3hQVChM7czCwan1yswsrUSse/IbMzwXw0tnaBiek=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-qH7+DDGYRCrXI3B2dN/4pZMBqSXKkZUvIrtVEg0Ep+c=";
|
||||
vendorHash = "sha256-yiRxSJIIYJbkV3QAFclrDDnsBoX1t4cSRvGmwVgz/w8=";
|
||||
|
||||
subPackages = ["cmd"];
|
||||
|
||||
|
@ -1,27 +1,22 @@
|
||||
{ lib, stdenv, fetchurl, asciidoc, asciidoctor, autoconf, automake, cmake,
|
||||
docbook_xsl, fftw, fftwFloat, gfortran, libtool, libusb1, qtbase,
|
||||
{ lib, stdenv, fetchgit, asciidoc, asciidoctor, cmake, pkg-config,
|
||||
fftw, fftwFloat, gfortran, hamlib_4, libtool, libusb1, qtbase,
|
||||
qtmultimedia, qtserialport, qttools, boost, texinfo, wrapQtAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wsjtx";
|
||||
version = "2.6.1";
|
||||
|
||||
# This is a "superbuild" tarball containing both wsjtx and a hamlib fork
|
||||
src = fetchurl {
|
||||
url = "https://sourceforge.net/projects/wsjt/files/wsjtx-${version}/wsjtx-${version}.tgz";
|
||||
sha256 = "sha256-YNDiy0WkmmrVhbCQiCGp/yw6wlZNYQQmIP82wt3Mdl8=";
|
||||
src = fetchgit {
|
||||
url = "http://git.code.sf.net/p/wsjt/wsjtx";
|
||||
rev = "wsjtx-${version}";
|
||||
hash = "sha256-fELx3B9JqCCL5vaIHab3of5ah9qdu5lemqjUnvY5DdM=";
|
||||
};
|
||||
|
||||
# Hamlib builds with autotools, wsjtx builds with cmake
|
||||
# Omitting pkg-config because it causes issues locating the built hamlib
|
||||
nativeBuildInputs = [
|
||||
asciidoc asciidoctor autoconf automake cmake docbook_xsl gfortran libtool
|
||||
qttools texinfo wrapQtAppsHook
|
||||
asciidoc asciidoctor cmake gfortran libtool
|
||||
pkg-config qttools texinfo wrapQtAppsHook
|
||||
];
|
||||
buildInputs = [ fftw fftwFloat libusb1 qtbase qtmultimedia qtserialport boost ];
|
||||
|
||||
# Remove Git dependency from superbuild since sources are included
|
||||
patches = [ ./super.patch ];
|
||||
buildInputs = [ fftw fftwFloat hamlib_4 libusb1 qtbase qtmultimedia qtserialport boost ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Weak-signal digital communication modes for amateur radio";
|
||||
@ -33,9 +28,8 @@ stdenv.mkDerivation rec {
|
||||
contacts under extreme weak-signal conditions.
|
||||
'';
|
||||
homepage = "https://physics.princeton.edu/pulsar/k1jt/wsjtx.html";
|
||||
# Older licenses are for the statically-linked hamlib
|
||||
license = with licenses; [ gpl3Plus gpl2Plus lgpl21Plus ];
|
||||
license = with licenses; [ gpl3Plus ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ lasandell numinit ];
|
||||
maintainers = with maintainers; [ lasandell numinit melling ];
|
||||
};
|
||||
}
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 84fa38a..87e31bb 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -24,7 +24,6 @@ source tarball." )
|
||||
#
|
||||
# Find_library (USB_LIBRARY NAMES libusb.a usb)
|
||||
Find_program (PATCH_EXECUTABLE patch REQUIRED)
|
||||
-Find_package (Git REQUIRED)
|
||||
|
||||
#
|
||||
# extra C flags to minimize hamlib excutable sizes
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bedtools";
|
||||
version = "2.31.0";
|
||||
version = "2.31.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "arq5x";
|
||||
repo = "bedtools2";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-LBD3z0+zGbQJ67oyPRFPgbiMY9EP17vSk1EKz3DrkEc=";
|
||||
sha256 = "sha256-rrk+FSv1bGL0D1lrIOsQu2AT7cw2T4lkDiCnzil5fpg=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
@ -30,6 +30,14 @@ rustPlatform.buildRustPackage rec {
|
||||
url = "https://github.com/josh-project/josh/commit/13e7565ab029206598881391db4ddc6dface692b.patch";
|
||||
sha256 = "1l5syqj51sn7kcqvffwl6ggn5sq8wfkpviga860agghnw5dpf7ns";
|
||||
})
|
||||
|
||||
# Merged upstream, fixes builds with newer rustc
|
||||
(fetchpatch {
|
||||
name = "josh-fix-builds-with-rust-173.patch";
|
||||
url = "https://github.com/josh-project/josh/commit/7b8259b81a9acabb528ddebc4ab30fc712f756fb.patch";
|
||||
sha256 = "sha256-YfrVlH6Ox05ZbmB/15HVaFlOyRTOFbYflq0edi6/X9k=";
|
||||
includes = [ "josh-proxy/src/bin/josh-proxy.rs" ];
|
||||
})
|
||||
];
|
||||
|
||||
cargoSha256 = "0f6cvz2s8qs53b2g6xja38m24hafqla61s4r5za0a1dyndgms7sl";
|
||||
|
@ -114,6 +114,7 @@ let
|
||||
description = "A version control system intended to be a compelling replacement for CVS in the open source community";
|
||||
license = licenses.asl20;
|
||||
homepage = "https://subversion.apache.org/";
|
||||
mainProgram = "svn";
|
||||
maintainers = with maintainers; [ eelco lovek323 ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
|
@ -207,6 +207,9 @@ checkout_ref(){
|
||||
|
||||
# Update submodules
|
||||
init_submodules(){
|
||||
# shallow with leaveDotGit will change hashes
|
||||
[[ -z "$deepClone" ]] && [[ -z "$leaveDotGit" ]] && \
|
||||
clean_git submodule update --init --recursive -j ${NIX_BUILD_CORES:-1} --progress --depth 1 || \
|
||||
clean_git submodule update --init --recursive -j ${NIX_BUILD_CORES:-1} --progress
|
||||
}
|
||||
|
||||
|
@ -1,15 +1,13 @@
|
||||
{ testers, fetchgit, ... }:
|
||||
|
||||
{
|
||||
{ testers, fetchgit, ... }: {
|
||||
simple = testers.invalidateFetcherByDrvHash fetchgit {
|
||||
name = "nix-source";
|
||||
name = "simple-nix-source";
|
||||
url = "https://github.com/NixOS/nix";
|
||||
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
|
||||
sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
|
||||
};
|
||||
|
||||
sparseCheckout = testers.invalidateFetcherByDrvHash fetchgit {
|
||||
name = "nix-source";
|
||||
name = "sparse-checkout-nix-source";
|
||||
url = "https://github.com/NixOS/nix";
|
||||
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
|
||||
sparseCheckout = [
|
||||
@ -20,7 +18,7 @@
|
||||
};
|
||||
|
||||
sparseCheckoutNonConeMode = testers.invalidateFetcherByDrvHash fetchgit {
|
||||
name = "nix-source";
|
||||
name = "sparse-checkout-non-cone-nix-source";
|
||||
url = "https://github.com/NixOS/nix";
|
||||
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
|
||||
sparseCheckout = [
|
||||
@ -30,4 +28,48 @@
|
||||
nonConeMode = true;
|
||||
sha256 = "sha256-FknO6C/PSnMPfhUqObD4vsW4PhkwdmPa9blNzcNvJQ4=";
|
||||
};
|
||||
|
||||
leave-git = testers.invalidateFetcherByDrvHash fetchgit {
|
||||
name = "leave-git-nix-source";
|
||||
url = "https://github.com/NixOS/nix";
|
||||
rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
|
||||
sha256 = "sha256-zZxDxqaeWvuWuzwPizBLR7d59zP24+zqnWllNICenko=";
|
||||
leaveDotGit = true;
|
||||
};
|
||||
|
||||
submodule-simple = testers.invalidateFetcherByDrvHash fetchgit {
|
||||
name = "submodule-simple-source";
|
||||
url = "https://github.com/pineapplehunter/nix-test-repo-with-submodule";
|
||||
rev = "26473335b84ead88ee0a3b649b1c7fa4a91cfd4a";
|
||||
sha256 = "sha256-rmP8PQT0wJBopdtr/hsB7Y/L1G+ZPdHC2r9LB05Qrj4=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
submodule-leave-git = testers.invalidateFetcherByDrvHash fetchgit {
|
||||
name = "submodule-leave-git-source";
|
||||
url = "https://github.com/pineapplehunter/nix-test-repo-with-submodule";
|
||||
rev = "26473335b84ead88ee0a3b649b1c7fa4a91cfd4a";
|
||||
sha256 = "sha256-+uXIClcRJ4S1rdgx2Oyww+Jv4h1VXp8tfeh9lb07Fhk=";
|
||||
leaveDotGit = true;
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
submodule-deep = testers.invalidateFetcherByDrvHash fetchgit {
|
||||
name = "submodule-deep-source";
|
||||
url = "https://github.com/pineapplehunter/nix-test-repo-with-submodule";
|
||||
rev = "26473335b84ead88ee0a3b649b1c7fa4a91cfd4a";
|
||||
sha256 = "sha256-LL7uhXQk3N3DcvBBxwjmfVx55tTXCGQ19T91tknopzw=";
|
||||
deepClone = true;
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
submodule-leave-git-deep = testers.invalidateFetcherByDrvHash fetchgit {
|
||||
name = "submodule-leave-git-deep-source";
|
||||
url = "https://github.com/pineapplehunter/nix-test-repo-with-submodule";
|
||||
rev = "26473335b84ead88ee0a3b649b1c7fa4a91cfd4a";
|
||||
sha256 = "sha256-LL7uhXQk3N3DcvBBxwjmfVx55tTXCGQ19T91tknopzw=";
|
||||
deepClone = true;
|
||||
leaveDotGit = true;
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchNpmDeps, buildPackages, nodejs }:
|
||||
{ lib, stdenv, fetchNpmDeps, buildPackages, nodejs } @ topLevelArgs:
|
||||
|
||||
{ name ? "${args.pname}-${args.version}"
|
||||
, src ? null
|
||||
@ -34,6 +34,7 @@
|
||||
, npmPruneFlags ? npmInstallFlags
|
||||
# Value for npm `--workspace` flag and directory in which the files to be installed are found.
|
||||
, npmWorkspace ? null
|
||||
, nodejs ? topLevelArgs.nodejs
|
||||
, ...
|
||||
} @ args:
|
||||
|
||||
|
@ -131,6 +131,11 @@ buildGoModule rec {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
checkFlags = [
|
||||
# Skip time dependent/flaky test
|
||||
"-skip=TestSendStreamDataMessageWithStreamDataSequenceNumberMutexLocked"
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/amazon-ssm-agent --prefix PATH : ${bashInteractive}/bin
|
||||
'';
|
||||
|
4877
pkgs/by-name/co/cosmic-greeter/Cargo.lock
generated
Normal file
4877
pkgs/by-name/co/cosmic-greeter/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
58
pkgs/by-name/co/cosmic-greeter/package.nix
Normal file
58
pkgs/by-name/co/cosmic-greeter/package.nix
Normal file
@ -0,0 +1,58 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, rust
|
||||
, rustPlatform
|
||||
, cmake
|
||||
, just
|
||||
, pkg-config
|
||||
, libxkbcommon
|
||||
, linux-pam
|
||||
, wayland
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cosmic-greeter";
|
||||
version = "unstable-2023-11-08";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = pname;
|
||||
rev = "a497ed8b1e67aaa9eb878d4ba225b40a71e1706c";
|
||||
sha256 = "sha256-P37i0JYP21gGE7NIq9G3WVUa0vv2MdFJmo/GuRDuV8A=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"accesskit-0.11.0" = "sha256-/6KUCH1CwMHd5YEMOpAdVeAxpjl9JvrzDA4Xnbd1D9k=";
|
||||
"cosmic-bg-config-0.1.0" = "sha256-fdRFndhwISmbTqmXfekFqh+Wrtdjg3vSZut4IAQUBbA=";
|
||||
"cosmic-config-0.1.0" = "sha256-c2pGujYQ3WbbiHGhPo2kG8/NiydmpfFNQrlrb1nk/RY=";
|
||||
"smithay-client-toolkit-0.17.0" = "sha256-vDY4cqz5CZD12twElUWVCsf4N6VO9O+Udl8Dc4arWK4=";
|
||||
"softbuffer-0.2.0" = "sha256-VD2GmxC58z7Qfu/L+sfENE+T8L40mvUKKSfgLmCTmjY=";
|
||||
"taffy-0.3.11" = "sha256-8gctP/nRiYxTSDrLyXi/oQbA7bE41ywgMbyotY1N8Zk=";
|
||||
};
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ rustPlatform.bindgenHook cmake just pkg-config ];
|
||||
buildInputs = [ libxkbcommon wayland linux-pam ];
|
||||
|
||||
dontUseJustBuild = true;
|
||||
|
||||
justFlags = [
|
||||
"--set"
|
||||
"prefix"
|
||||
(placeholder "out")
|
||||
"--set"
|
||||
"bin-src"
|
||||
"target/${rust.lib.toRustTargetSpecShort stdenv.hostPlatform}/release/cosmic-greeter"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/pop-os/cosmic-greeter";
|
||||
description = "Greeter for the COSMIC Desktop Environment";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ nyanbinary ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
55
pkgs/by-name/cr/cryptor/package.nix
Normal file
55
pkgs/by-name/cr/cryptor/package.nix
Normal file
@ -0,0 +1,55 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, makeBinaryWrapper
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, vala
|
||||
, wrapGAppsHook
|
||||
, gocryptfs
|
||||
, gtk3
|
||||
, json-glib
|
||||
, libgee
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cryptor";
|
||||
version = "1.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "moson-mo";
|
||||
repo = "cryptor";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-bgOOueOKSc6dLyxGU+ds9XYWM5mO+qCKC4dkCu2B1sQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeBinaryWrapper
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
vala
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
json-glib
|
||||
libgee
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/cryptor \
|
||||
--prefix PATH : "${lib.makeBinPath [ gocryptfs ]}"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Simple gocryptfs GUI";
|
||||
homepage = "https://github.com/moson-mo/cryptor";
|
||||
license = lib.licenses.bsd3;
|
||||
mainProgram = "cryptor";
|
||||
maintainers = with lib.maintainers; [ fgaz ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
})
|
64
pkgs/by-name/dv/dvb-apps/package.nix
Normal file
64
pkgs/by-name/dv/dvb-apps/package.nix
Normal file
@ -0,0 +1,64 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, perl
|
||||
, fetchpatch
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
pname = "dvb-apps";
|
||||
version = "1.1.1-unstable-2014-03-21";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.linuxtv.org/hg/dvb-apps/archive/3d43b280298c.tar.bz2";
|
||||
hash = "sha256-854vDr7X4yvOg1IgYq1NQU9n/M1d8bZHYYUkSX4V4Fc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-tv/linuxtv-dvb-apps/files/linuxtv-dvb-apps-glibc-2.31.patch?id=ec6d38022bd905cb5460d4812e52434fd1f9663c";
|
||||
hash = "sha256-zSbbKSJgW4L983DR0GVXtgAHK6ILOQC3Gz2iGnmWOp8=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-tv/linuxtv-dvb-apps/files/linuxtv-dvb-apps-no-ca_set_pid.patch?id=ec6d38022bd905cb5460d4812e52434fd1f9663c";
|
||||
hash = "sha256-GZunNYlhktalPOZ4ZST1MwooBvdDGA6ckscx/7mx8ok=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-tv/linuxtv-dvb-apps/files/linuxtv-dvb-apps-1.1.1.20100223-alevt.patch?id=ec6d38022bd905cb5460d4812e52434fd1f9663c";
|
||||
hash = "sha256-+j+tP8O3mho+gcsDPzQUJaE39ZAgimMAJoRP1J1HrBk=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-tv/linuxtv-dvb-apps/files/linuxtv-dvb-apps-1.1.1.20100223-ldflags.patch?id=ec6d38022bd905cb5460d4812e52434fd1f9663c";
|
||||
hash = "sha256-jrRE1yySLbQWbF+SaugFN8VuEIfveSvjR0nKpmKffpQ=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-tv/linuxtv-dvb-apps/files/linuxtv-dvb-apps-1.1.1.20100223-perl526.patch?id=ec6d38022bd905cb5460d4812e52434fd1f9663c";
|
||||
hash = "sha256-zIROx0HEvtZqvNBLlKp3aI3S2CihuS6l/OWf6WFFCrY=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-tv/linuxtv-dvb-apps/files/linuxtv-dvb-apps-1.1.1.20140321-dvbdate.patch?id=ec6d38022bd905cb5460d4812e52434fd1f9663c";
|
||||
hash = "sha256-dLPlscdDOd7Kq+2sEhgJ/PBY1zN/0/fh3TU6JOELaYw=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-tv/linuxtv-dvb-apps/files/linuxtv-dvb-apps-1.1.1.20140321-gcc10.patch?id=ec6d38022bd905cb5460d4812e52434fd1f9663c";
|
||||
hash = "sha256-034TYxH1qHcdkwVxuAcNHORfBWhw/k8P+11QAc3jp74=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=779520;filename=bug779520.patch;msg=17";
|
||||
hash = "sha256-UL5lKDfloXvngsabnslpVXbe/dmt4dzVK5W8JkIieps=";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [ perl ];
|
||||
|
||||
installFlags = [ "prefix=$(out)" ];
|
||||
|
||||
dontConfigure = true; # skip configure
|
||||
|
||||
meta = {
|
||||
description = "Linux DVB API applications and utilities";
|
||||
homepage = "https://linuxtv.org/";
|
||||
maintainers = with lib.maintainers; [ volfyd ];
|
||||
platforms = lib.platforms.linux;
|
||||
license = lib.licenses.gpl2Plus;
|
||||
};
|
||||
}
|
@ -17,16 +17,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "eza";
|
||||
version = "0.15.2";
|
||||
version = "0.15.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "eza-community";
|
||||
repo = "eza";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-bEuzA67bBueHgKTpj+CsX7fZMc9RMV4cc7KOVqJfT7M=";
|
||||
hash = "sha256-V0PuiF8N5ubNO4/EmGFx6qL0k1ziTVVKe+0rpMTMVlg=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-JL31KVZrKPNlJzB3tyLheXZ3qVcm0HtAVuccehGkM0c=";
|
||||
cargoHash = "sha256-kO4WxTDVmLlQpYuFbohih+4Hct2AmnO802Veuw2Wj2g=";
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
|
||||
buildInputs = [ zlib ]
|
||||
|
@ -11,16 +11,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "fortune-kind";
|
||||
version = "0.1.7";
|
||||
version = "0.1.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cafkafk";
|
||||
repo = "fortune-kind";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-txFboO7TdmwFm8BPP2onDJs1LSp4fXTwciIyAnC4Q04=";
|
||||
hash = "sha256-8xXRIp6fNYo0Eylzz+i+YccEJZjqiT0TxguZheIblns=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-3HxkKE2cQK91dBTtrsNG9VDk0efo1Ci5VfaG3UjvLNU=";
|
||||
cargoHash = "sha256-v1LmZRuknWFAwwuw4U7Y7jnhBi8UkglY0sege9nSKes=";
|
||||
|
||||
nativeBuildInputs = [ makeBinaryWrapper installShellFiles ];
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
|
||||
|
37
pkgs/by-name/ma/mathjax-node-cli/package.nix
Normal file
37
pkgs/by-name/ma/mathjax-node-cli/package.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{ lib
|
||||
, buildNpmPackage
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "mathjax-node-cli";
|
||||
version = "1.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mathjax";
|
||||
repo = "mathjax-node-cli";
|
||||
rev = version;
|
||||
hash = "sha256-jFSn/Ftm1iNOAmMadHYfy2jm0H/+hP2XCyyNbJqfhkY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# https://github.com/mathjax/mathjax-node-cli/pull/20
|
||||
(fetchpatch {
|
||||
name = "add-package-lock.patch";
|
||||
url = "https://github.com/mathjax/mathjax-node-cli/commit/ac304d896d840dc5004045f012abab40648d20fd.patch";
|
||||
hash = "sha256-kIfxF5II/PHtzBhhMbO2RcEuZQCNFrLeAnL536WBXq8=";
|
||||
})
|
||||
];
|
||||
|
||||
npmDepsHash = "sha256-gGTRr8CN6aP/T/jUqt4E53DYVaz7ykaoG519+3sPdXo=";
|
||||
|
||||
dontNpmBuild = true;
|
||||
|
||||
meta = {
|
||||
description = "CLI tools for mathjax-node";
|
||||
homepage = "https://github.com/mathjax/mathjax-node-cli";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ colinsane ];
|
||||
};
|
||||
}
|
@ -6,13 +6,13 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "mfgtool-imgtool";
|
||||
version = "1.10.0";
|
||||
version = "2.0.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "imgtool";
|
||||
hash = "sha256-A7NOdZNKw9lufEK2vK8Rzq9PRT98bybBfXJr0YMQS0A=";
|
||||
hash = "sha256-elQSVeae7B8Sqjjc4fHU/iDYISZ3xoqbbsY0ypGgZhI=";
|
||||
};
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
27
pkgs/by-name/ns/nsf-ordlista/package.nix
Normal file
27
pkgs/by-name/ns/nsf-ordlista/package.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchzip
|
||||
}:
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "nsf-ordlista";
|
||||
version = "unstable-2023-08-20";
|
||||
src = fetchzip {
|
||||
url = "http://www2.scrabbleforbundet.no/wp-content/uploads/2023/08/nsf2023.zip";
|
||||
hash = "sha256-bcVqZ2yPHurl6sRNgeLNAyyR8WR9ewmtn85Xuw/rZ3s=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm444 nsf2023.txt $out/share/wordlists/nsf.txt
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Wordlist from the Norwegian Scrabble Federation";
|
||||
homepage = "https://www2.scrabbleforbundet.no/";
|
||||
downloadPage = "https://www2.scrabbleforbundet.no/?p=4881#more-4881";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ h7x4 ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
28
pkgs/by-name/qr/qrtool/package.nix
Normal file
28
pkgs/by-name/qr/qrtool/package.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, rustPlatform
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "qrtool";
|
||||
version = "0.8.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sorairolake";
|
||||
repo = "qrtool";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-FoWUGhNfVILpYxmsnSzRIM1+R9/xFxCF7W1sdiHaAiA=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-mtejnHCkN2krgFAneyyBpvbv5PZO3GigM2DJqrbHim4=";
|
||||
|
||||
meta = with lib; {
|
||||
maintainers = with maintainers; [ philiptaron ];
|
||||
description = "An utility for encoding or decoding QR code";
|
||||
license = licenses.asl20;
|
||||
homepage = "https://sorairolake.github.io/qrtool/book/index.html";
|
||||
changelog = "https://sorairolake.github.io/qrtool/book/changelog.html";
|
||||
mainProgram = "qrtool";
|
||||
};
|
||||
}
|
@ -1,29 +1,41 @@
|
||||
{ lib, fetchzip, stdenvNoCC, fetchFromGitLab, xcursorgen, imagemagick6, inkscape }:
|
||||
{ lib, stdenvNoCC, fetchFromGitLab, imagemagick, inkscape, xcursorgen }:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "hackneyed";
|
||||
version = "0.8.2";
|
||||
version = "0.9.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "Enthymeme";
|
||||
repo = "hackneyed-x11-cursors";
|
||||
rev = version;
|
||||
sha256 = "sha256-Wtrw/EzxCj4cAyfdBp0OJE4+c6FouW7+b6nFTLxdXNY=";
|
||||
hash = "sha256-+7QtHgBuhJtQejiHeZ+QoedJo24LqSY51XRVLv9Ho2g=";
|
||||
};
|
||||
|
||||
buildInputs = [ imagemagick6 inkscape xcursorgen ];
|
||||
nativeBuildInputs = [ imagemagick inkscape xcursorgen ];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs *.sh
|
||||
substituteInPlace make-png.sh \
|
||||
--replace /usr/bin/inkscape ${inkscape}/bin/inkscape
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" ];
|
||||
makeFlags = [
|
||||
"INKSCAPE=inkscape"
|
||||
"INSTALL=install"
|
||||
"PREFIX=$(out)"
|
||||
"VERBOSE=1"
|
||||
"XCURSORGEN=xcursorgen"
|
||||
];
|
||||
|
||||
buildFlags = [ "theme" "theme.left" ];
|
||||
|
||||
# The Makefile declares a dependency on the value of $(INKSCAPE) for some reason;
|
||||
# it's unnecessary for building though.
|
||||
prePatch = ''
|
||||
substituteInPlace GNUmakefile \
|
||||
--replace 'inkscape-version: $(INKSCAPE)' 'inkscape-version:'
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://gitlab.com/Enthymeme/hackneyed-x11-cursors";
|
||||
description = "A scalable cursor theme that resembles Windows 3.x/NT 3.x cursors";
|
||||
|
@ -84,7 +84,8 @@ let
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# Release will generate a binary which will cause a read null byte failure, see #261354
|
||||
postInstall = lib.optionalString (releaseType == "escript") ''
|
||||
for dir in $out/rel/*/erts-*; do
|
||||
echo "ERTS found in $dir - removing references to erlang to reduce closure size"
|
||||
for f in $dir/bin/{erl,start}; do
|
||||
|
@ -72,7 +72,7 @@ in stdenv.mkDerivation rec {
|
||||
description = "A fast, concise, readable, pragmatic and open sourced programming language";
|
||||
homepage = "https://odin-lang.org/";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ luc65r astavie ];
|
||||
maintainers = with maintainers; [ luc65r astavie znaniye ];
|
||||
platforms = platforms.x86_64 ++ [ "aarch64-darwin" ];
|
||||
};
|
||||
}
|
||||
|
@ -4,6 +4,10 @@ with lib; mkCoqDerivation {
|
||||
pname = "vcfloat";
|
||||
owner = "VeriNum";
|
||||
inherit version;
|
||||
sourceRoot = "source/vcfloat";
|
||||
postPatch = ''
|
||||
coq_makefile -o Makefile -f _CoqProject *.v
|
||||
'';
|
||||
defaultVersion = with versions; switch coq.coq-version [
|
||||
{ case = range "8.16" "8.17"; out = "2.1.1"; }
|
||||
] null;
|
||||
|
@ -0,0 +1,5 @@
|
||||
_bb_tasks() {
|
||||
COMPREPLY=( $(compgen -W "$(bb tasks |tail -n +3 |cut -f1 -d ' ')" -- ${COMP_WORDS[COMP_CWORD]}) );
|
||||
}
|
||||
# autocomplete filenames as well
|
||||
complete -f -F _bb_tasks bb
|
@ -0,0 +1,9 @@
|
||||
function __bb_complete_tasks
|
||||
if not test "$__bb_tasks"
|
||||
set -g __bb_tasks (bb tasks |tail -n +3 |cut -f1 -d ' ')
|
||||
end
|
||||
|
||||
printf "%s\n" $__bb_tasks
|
||||
end
|
||||
|
||||
complete -c bb -a "(__bb_complete_tasks)" -d 'tasks'
|
@ -0,0 +1,6 @@
|
||||
_bb_tasks() {
|
||||
local matches=(`bb tasks |tail -n +3 |cut -f1 -d ' '`)
|
||||
compadd -a matches
|
||||
_files # autocomplete filenames as well
|
||||
}
|
||||
compdef _bb_tasks bb
|
@ -4,23 +4,24 @@
|
||||
, removeReferencesTo
|
||||
, fetchurl
|
||||
, writeScript
|
||||
, installShellFiles
|
||||
}:
|
||||
|
||||
let
|
||||
babashka-unwrapped = buildGraalvmNativeImage rec {
|
||||
pname = "babashka-unwrapped";
|
||||
version = "1.3.185";
|
||||
version = "1.3.186";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/babashka/babashka/releases/download/v${version}/babashka-${version}-standalone.jar";
|
||||
sha256 = "sha256-nTW7LpvWoF8hBWtpWOc8VtVvx3v1ISJGvxnnYIvprQk=";
|
||||
sha256 = "sha256-T7inTJHSnUySituU0fcgZ0xWjIY3yb8BlSakqym67ew=";
|
||||
};
|
||||
|
||||
graalvmDrv = graalvmCEPackages.graalvm-ce;
|
||||
|
||||
executable = "bb";
|
||||
|
||||
nativeBuildInputs = [ removeReferencesTo ];
|
||||
nativeBuildInputs = [ removeReferencesTo installShellFiles ];
|
||||
|
||||
extraNativeImageBuildArgs = [
|
||||
"-H:+ReportExceptionStackTraces"
|
||||
@ -42,6 +43,9 @@ let
|
||||
# graalvm-ce anyway.
|
||||
postInstall = ''
|
||||
remove-references-to -t ${graalvmDrv} $out/bin/${executable}
|
||||
installShellCompletion --cmd bb --bash ${./completions/bb.bash}
|
||||
installShellCompletion --cmd bb --zsh ${./completions/bb.zsh}
|
||||
installShellCompletion --cmd bb --fish ${./completions/bb.fish}
|
||||
'';
|
||||
|
||||
passthru.updateScript = writeScript "update-babashka" ''
|
||||
|
@ -3,6 +3,7 @@
|
||||
, babashka-unwrapped
|
||||
, callPackage
|
||||
, makeWrapper
|
||||
, installShellFiles
|
||||
, rlwrap
|
||||
, clojureToolsBabashka ? callPackage ./clojure-tools.nix { }
|
||||
, jdkBabashka ? clojureToolsBabashka.jdk
|
||||
@ -23,7 +24,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
dontUnpack = true;
|
||||
dontBuild = true;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||
|
||||
installPhase =
|
||||
let unwrapped-bin = "${babashka-unwrapped}/bin/bb"; in
|
||||
@ -37,6 +38,9 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
--set-default DEPS_CLJ_TOOLS_DIR $out/clojure_tools \
|
||||
--set-default JAVA_HOME ${jdkBabashka}
|
||||
|
||||
installShellCompletion --cmd bb --bash ${babashka-unwrapped}/share/bash-completion/completions/bb.bash
|
||||
installShellCompletion --cmd bb --zsh ${babashka-unwrapped}/share/fish/vendor_completions.d/bb.fish
|
||||
installShellCompletion --cmd bb --fish ${babashka-unwrapped}/share/zsh/site-functions/_bb
|
||||
'' +
|
||||
lib.optionalString withRlwrap ''
|
||||
substituteInPlace $out/bin/bb \
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* hunspell dictionaries */
|
||||
|
||||
{ lib, stdenv, fetchurl, fetchzip, fetchFromGitHub, unzip, coreutils, bash, which, zip, ispell, perl, hunspell }:
|
||||
{ lib, stdenv, fetchurl, fetchzip, fetchFromGitHub, unzip, coreutils, bash, which, zip, ispell, perl, python3, hunspell }:
|
||||
|
||||
|
||||
let
|
||||
@ -934,4 +934,37 @@ rec {
|
||||
readmeFile = "README_pt_PT.txt";
|
||||
license = with lib.licenses; [ gpl2 lgpl21 mpl11 ];
|
||||
};
|
||||
|
||||
/* PERSIAN */
|
||||
|
||||
fa_IR = fa-ir;
|
||||
fa-ir = mkDict {
|
||||
pname = "hunspell-dict-fa-ir";
|
||||
version = "experimental-2022-09-04";
|
||||
dictFileName = "fa-IR";
|
||||
readmeFile = "README.md";
|
||||
src = fetchFromGitHub {
|
||||
owner = "b00f";
|
||||
repo = "lilak";
|
||||
rev = "1a80a8e5c9377ac424d29ef20be894e250bc9765";
|
||||
hash = "sha256-xonnrclzgFEHdQ9g8ijm0bo9r5a5Y0va52NoJR5d8mo=";
|
||||
};
|
||||
nativeBuildInputs = [ python3 ];
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
mkdir build
|
||||
(cd src && python3 lilak.py)
|
||||
mv build/* ./
|
||||
# remove timestamp from file
|
||||
sed -i 's/^\(## *File Version[^,]*\),.*/\1/' fa-IR.aff
|
||||
runHook postBuild
|
||||
'';
|
||||
meta = with lib; {
|
||||
description = "Hunspell dictionary for Persian (Iran)";
|
||||
homepage = "https://github.com/b00f/lilak";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ nix-julia ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -12,13 +12,13 @@ assert (!blas.isILP64) && (!lapack.isILP64);
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ipopt";
|
||||
version = "3.14.12";
|
||||
version = "3.14.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "coin-or";
|
||||
repo = "Ipopt";
|
||||
rev = "releases/${version}";
|
||||
sha256 = "sha256-cyV3tgmZz5AExxxdGJ12r+PPXn7v2AEhxb9icBxolS8=";
|
||||
sha256 = "sha256-51isH1hlzgbD0JVtGp3NuaGY5l2CeS1S7oVeRYG+vWI=";
|
||||
};
|
||||
|
||||
CXXDEFS = [ "-DHAVE_RAND" "-DHAVE_CSTRING" "-DHAVE_CSTDIO" ];
|
||||
|
@ -1,40 +1,47 @@
|
||||
{ config
|
||||
, cudaPackages
|
||||
{ backendStdenv
|
||||
, config
|
||||
, cuda_cccl
|
||||
, cuda_cudart
|
||||
, cuda_nvcc
|
||||
, cudaVersion
|
||||
, fetchFromGitHub
|
||||
, gitUpdater
|
||||
, lib
|
||||
, mpiSupport ? false
|
||||
, mpi
|
||||
, stdenv
|
||||
, mpiSupport ? false
|
||||
, nccl
|
||||
, which
|
||||
}:
|
||||
|
||||
cudaPackages.backendStdenv.mkDerivation (finalAttrs: {
|
||||
backendStdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pname = "nccl-tests";
|
||||
version = "2.13.6";
|
||||
version = "2.13.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NVIDIA";
|
||||
repo = finalAttrs.pname;
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-3gSBQ0g6mnQ/MFXGflE+BqqrIUoiBgp8+fWRQOvLVkw=";
|
||||
hash = "sha256-dxLoflsTHDBnZRTzoXdm30OyKpLlRa73b784YWALBHg=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cudaPackages.cuda_nvcc
|
||||
cuda_nvcc
|
||||
which
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cudaPackages.cuda_cudart
|
||||
cudaPackages.nccl
|
||||
cuda_cudart
|
||||
nccl
|
||||
] ++ lib.optionals (lib.versionAtLeast cudaVersion "12.0") [
|
||||
cuda_cccl.dev # <nv/target>
|
||||
] ++ lib.optional mpiSupport mpi;
|
||||
|
||||
makeFlags = [
|
||||
"CUDA_HOME=${cudaPackages.cuda_nvcc}"
|
||||
"NCCL_HOME=${cudaPackages.nccl}"
|
||||
"CUDA_HOME=${cuda_nvcc}"
|
||||
"NCCL_HOME=${nccl}"
|
||||
] ++ lib.optionals mpiSupport [
|
||||
"MPI=1"
|
||||
];
|
||||
@ -46,12 +53,17 @@ cudaPackages.backendStdenv.mkDerivation (finalAttrs: {
|
||||
cp -r build/* $out/bin/
|
||||
'';
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
inherit (finalAttrs) pname version;
|
||||
rev-prefix = "v";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tests to check both the performance and the correctness of NVIDIA NCCL operations";
|
||||
homepage = "https://github.com/NVIDIA/nccl-tests";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.bsd3;
|
||||
broken = !config.cudaSupport || (mpiSupport && mpi == null);
|
||||
maintainers = with maintainers; [ jmillerpdt ];
|
||||
maintainers = with maintainers; [ jmillerpdt ] ++ teams.cuda.members;
|
||||
};
|
||||
})
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sofia-sip";
|
||||
version = "1.13.16";
|
||||
version = "1.13.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "freeswitch";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-mYJhA/ylJDr45IL9CxEZ2WJA/DIRj8RDCwkznsi1KcI=";
|
||||
sha256 = "sha256-7QmK2UxEO5lC0KBDWB3bwKTy0Nc7WrdTLjoQYzezoaY=";
|
||||
};
|
||||
|
||||
buildInputs = [ glib openssl ] ++ lib.optional stdenv.isDarwin SystemConfiguration;
|
||||
|
@ -16,7 +16,9 @@ stdenv.mkDerivation rec {
|
||||
meta = {
|
||||
description = "C++ Libraries for Computer Vision Research and Implementation";
|
||||
homepage = "https://vxl.sourceforge.net/";
|
||||
license = "VXL License";
|
||||
# license appears contradictory; see https://github.com/vxl/vxl/issues/752
|
||||
# (and see https://github.com/InsightSoftwareConsortium/ITK/pull/1920/files for potential patch)
|
||||
license = [ lib.licenses.unfree ];
|
||||
maintainers = with lib.maintainers; [viric];
|
||||
platforms = with lib.platforms; linux;
|
||||
};
|
||||
|
@ -46,7 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"--enable-bigcache"
|
||||
|
||||
# Use WolfSSL's Single Precision Math with timing-resistant cryptography.
|
||||
"--enable-sp=yes${lib.optionalString (!stdenv.isx86_32) ",asm"}"
|
||||
"--enable-sp=yes${lib.optionalString (stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isAarch) ",asm"}"
|
||||
"--enable-sp-math-all"
|
||||
"--enable-harden"
|
||||
] ++ lib.optionals (stdenv.hostPlatform.isx86_64) [
|
||||
|
@ -99,6 +99,7 @@ mapAliases {
|
||||
manta = pkgs.node-manta; # Added 2023-05-06
|
||||
markdownlint-cli = pkgs.markdownlint-cli; # added 2023-07-29
|
||||
inherit (pkgs) markdownlint-cli2; # added 2023-08-22
|
||||
inherit (pkgs) mathjax-node-cli; # added 2023-11-02
|
||||
mdctl-cli = self."@medable/mdctl-cli"; # added 2023-08-21
|
||||
inherit (pkgs) mermaid-cli; # added 2023-10-01
|
||||
musescore-downloader = pkgs.dl-librescore; # added 2023-08-19
|
||||
|
@ -166,7 +166,6 @@
|
||||
, "markdown-link-check"
|
||||
, "mastodon-bot"
|
||||
, "mathjax"
|
||||
, "mathjax-node-cli"
|
||||
, "meat"
|
||||
, "mocha"
|
||||
, "multi-file-swagger"
|
||||
|
206
pkgs/development/node-packages/node-packages.nix
generated
206
pkgs/development/node-packages/node-packages.nix
generated
@ -86763,212 +86763,6 @@ in
|
||||
bypassCache = true;
|
||||
reconstructLock = true;
|
||||
};
|
||||
mathjax-node-cli = nodeEnv.buildNodePackage {
|
||||
name = "mathjax-node-cli";
|
||||
packageName = "mathjax-node-cli";
|
||||
version = "1.0.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/mathjax-node-cli/-/mathjax-node-cli-1.0.1.tgz";
|
||||
sha512 = "p1OB9zalQZkKYumfx+8mSX59MysF2Ox2H88gHSUQpdjpuMISwIPfw0MQmsvcS00hntSX05uEDa3uzo+1SgSk5w==";
|
||||
};
|
||||
dependencies = [
|
||||
sources."abab-2.0.6"
|
||||
sources."acorn-5.7.4"
|
||||
(sources."acorn-globals-4.3.4" // {
|
||||
dependencies = [
|
||||
sources."acorn-6.4.2"
|
||||
];
|
||||
})
|
||||
sources."acorn-walk-6.2.0"
|
||||
sources."ajv-6.12.6"
|
||||
sources."ansi-regex-3.0.1"
|
||||
sources."ansi-styles-4.3.0"
|
||||
sources."array-equal-1.0.0"
|
||||
sources."asn1-0.2.6"
|
||||
sources."assert-plus-1.0.0"
|
||||
sources."async-limiter-1.0.1"
|
||||
sources."asynckit-0.4.0"
|
||||
sources."aws-sign2-0.7.0"
|
||||
sources."aws4-1.12.0"
|
||||
sources."bcrypt-pbkdf-1.0.2"
|
||||
sources."browser-process-hrtime-1.0.0"
|
||||
sources."camelcase-5.3.1"
|
||||
sources."caseless-0.12.0"
|
||||
sources."cliui-4.1.0"
|
||||
sources."code-point-at-1.1.0"
|
||||
sources."color-convert-2.0.1"
|
||||
sources."color-name-1.1.4"
|
||||
sources."combined-stream-1.0.8"
|
||||
sources."commander-11.1.0"
|
||||
sources."core-util-is-1.0.2"
|
||||
sources."cross-spawn-6.0.5"
|
||||
sources."cssom-0.3.8"
|
||||
sources."cssstyle-1.4.0"
|
||||
sources."dashdash-1.14.1"
|
||||
(sources."data-urls-1.1.0" // {
|
||||
dependencies = [
|
||||
sources."whatwg-url-7.1.0"
|
||||
];
|
||||
})
|
||||
sources."decamelize-1.2.0"
|
||||
sources."deep-is-0.1.4"
|
||||
sources."delayed-stream-1.0.0"
|
||||
sources."domexception-1.0.1"
|
||||
sources."ecc-jsbn-0.1.2"
|
||||
sources."emoji-regex-8.0.0"
|
||||
sources."end-of-stream-1.4.4"
|
||||
sources."escalade-3.1.1"
|
||||
sources."escodegen-1.14.3"
|
||||
sources."esprima-4.0.1"
|
||||
sources."estraverse-4.3.0"
|
||||
sources."esutils-2.0.3"
|
||||
sources."execa-1.0.0"
|
||||
sources."extend-3.0.2"
|
||||
sources."extsprintf-1.3.0"
|
||||
sources."fast-deep-equal-3.1.3"
|
||||
sources."fast-json-stable-stringify-2.1.0"
|
||||
sources."fast-levenshtein-2.0.6"
|
||||
sources."find-up-3.0.0"
|
||||
sources."forever-agent-0.6.1"
|
||||
sources."form-data-2.3.3"
|
||||
sources."get-caller-file-1.0.3"
|
||||
sources."get-stream-4.1.0"
|
||||
sources."getpass-0.1.7"
|
||||
sources."har-schema-2.0.0"
|
||||
sources."har-validator-5.1.5"
|
||||
sources."html-encoding-sniffer-1.0.2"
|
||||
sources."http-signature-1.2.0"
|
||||
sources."iconv-lite-0.4.24"
|
||||
sources."invert-kv-2.0.0"
|
||||
sources."is-fullwidth-code-point-2.0.0"
|
||||
sources."is-stream-1.1.0"
|
||||
sources."is-typedarray-1.0.0"
|
||||
sources."isexe-2.0.0"
|
||||
sources."isstream-0.1.2"
|
||||
sources."jsbn-0.1.1"
|
||||
sources."jsdom-11.12.0"
|
||||
sources."json-schema-0.4.0"
|
||||
sources."json-schema-traverse-0.4.1"
|
||||
sources."json-stringify-safe-5.0.1"
|
||||
sources."jsprim-1.4.2"
|
||||
sources."lcid-2.0.0"
|
||||
sources."left-pad-1.3.0"
|
||||
sources."levn-0.3.0"
|
||||
sources."locate-path-3.0.0"
|
||||
sources."lodash-4.17.21"
|
||||
sources."lodash.sortby-4.7.0"
|
||||
sources."map-age-cleaner-0.1.3"
|
||||
sources."mathjax-2.7.9"
|
||||
sources."mathjax-node-2.1.1"
|
||||
(sources."mathjax-node-sre-3.0.3" // {
|
||||
dependencies = [
|
||||
sources."yargs-12.0.5"
|
||||
];
|
||||
})
|
||||
sources."mem-4.3.0"
|
||||
sources."mime-db-1.52.0"
|
||||
sources."mime-types-2.1.35"
|
||||
sources."mimic-fn-2.1.0"
|
||||
sources."nice-try-1.0.5"
|
||||
sources."npm-run-path-2.0.2"
|
||||
sources."number-is-nan-1.0.1"
|
||||
sources."nwsapi-2.2.7"
|
||||
sources."oauth-sign-0.9.0"
|
||||
sources."once-1.4.0"
|
||||
sources."optionator-0.8.3"
|
||||
sources."os-locale-3.1.0"
|
||||
sources."p-defer-1.0.0"
|
||||
sources."p-finally-1.0.0"
|
||||
sources."p-is-promise-2.1.0"
|
||||
sources."p-limit-2.3.0"
|
||||
sources."p-locate-3.0.0"
|
||||
sources."p-try-2.2.0"
|
||||
sources."parse5-4.0.0"
|
||||
sources."path-exists-3.0.0"
|
||||
sources."path-key-2.0.1"
|
||||
sources."performance-now-2.1.0"
|
||||
sources."pn-1.1.0"
|
||||
sources."prelude-ls-1.1.2"
|
||||
sources."psl-1.9.0"
|
||||
sources."pump-3.0.0"
|
||||
sources."punycode-2.3.1"
|
||||
sources."qs-6.5.3"
|
||||
sources."request-2.88.2"
|
||||
sources."request-promise-core-1.1.4"
|
||||
sources."request-promise-native-1.0.9"
|
||||
sources."require-directory-2.1.1"
|
||||
sources."require-main-filename-1.0.1"
|
||||
sources."safe-buffer-5.2.1"
|
||||
sources."safer-buffer-2.1.2"
|
||||
sources."sax-1.3.0"
|
||||
sources."semver-5.7.2"
|
||||
sources."set-blocking-2.0.0"
|
||||
sources."shebang-command-1.2.0"
|
||||
sources."shebang-regex-1.0.0"
|
||||
sources."signal-exit-3.0.7"
|
||||
sources."source-map-0.6.1"
|
||||
sources."speech-rule-engine-2.4.0"
|
||||
sources."sshpk-1.18.0"
|
||||
sources."stealthy-require-1.1.1"
|
||||
sources."string-width-2.1.1"
|
||||
sources."strip-ansi-4.0.0"
|
||||
sources."strip-eof-1.0.0"
|
||||
sources."symbol-tree-3.2.4"
|
||||
sources."tough-cookie-2.5.0"
|
||||
sources."tr46-1.0.1"
|
||||
sources."tunnel-agent-0.6.0"
|
||||
sources."tweetnacl-0.14.5"
|
||||
sources."type-check-0.3.2"
|
||||
sources."uri-js-4.4.1"
|
||||
sources."uuid-3.4.0"
|
||||
sources."verror-1.10.0"
|
||||
sources."w3c-hr-time-1.0.2"
|
||||
sources."webidl-conversions-4.0.2"
|
||||
sources."whatwg-encoding-1.0.5"
|
||||
sources."whatwg-mimetype-2.3.0"
|
||||
sources."whatwg-url-6.5.0"
|
||||
sources."which-1.3.1"
|
||||
sources."which-module-2.0.1"
|
||||
sources."wicked-good-xpath-1.3.0"
|
||||
sources."word-wrap-1.2.5"
|
||||
(sources."wrap-ansi-2.1.0" // {
|
||||
dependencies = [
|
||||
sources."ansi-regex-2.1.1"
|
||||
sources."is-fullwidth-code-point-1.0.0"
|
||||
sources."string-width-1.0.2"
|
||||
sources."strip-ansi-3.0.1"
|
||||
];
|
||||
})
|
||||
sources."wrappy-1.0.2"
|
||||
sources."ws-5.2.3"
|
||||
sources."xml-name-validator-3.0.0"
|
||||
sources."xmldom-sre-0.1.31"
|
||||
sources."y18n-4.0.3"
|
||||
(sources."yargs-17.7.2" // {
|
||||
dependencies = [
|
||||
sources."ansi-regex-5.0.1"
|
||||
sources."cliui-8.0.1"
|
||||
sources."get-caller-file-2.0.5"
|
||||
sources."is-fullwidth-code-point-3.0.0"
|
||||
sources."string-width-4.2.3"
|
||||
sources."strip-ansi-6.0.1"
|
||||
sources."wrap-ansi-7.0.0"
|
||||
sources."y18n-5.0.8"
|
||||
sources."yargs-parser-21.1.1"
|
||||
];
|
||||
})
|
||||
sources."yargs-parser-11.1.1"
|
||||
];
|
||||
buildInputs = globalBuildInputs;
|
||||
meta = {
|
||||
description = "CLI tools for calling mathjax-node";
|
||||
homepage = "https://github.com/mathjax/mathjax-node-cli#readme";
|
||||
license = "Apache-2.0";
|
||||
};
|
||||
production = true;
|
||||
bypassCache = true;
|
||||
reconstructLock = true;
|
||||
};
|
||||
meat = nodeEnv.buildNodePackage {
|
||||
name = "meat";
|
||||
packageName = "meat";
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user