diff --git a/doc/README.md b/doc/README.md index 4ed9c47aee95..1e9305d040ba 100644 --- a/doc/README.md +++ b/doc/README.md @@ -71,6 +71,11 @@ If you **omit a link text** for a link pointing to a section, the text will be s This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/using/syntax.html#targets-and-cross-referencing). + +#### HTML + +Inlining HTML is not allowed. Parts of the documentation gets rendered to various non-HTML formats, such as man pages in the case of NixOS manual. + #### Roles If you want to link to a man page, you can use `` {manpage}`nix.conf(5)` ``. The references will turn into links when a mapping exists in [`doc/manpage-urls.json`](./manpage-urls.json). @@ -157,6 +162,9 @@ watermelon In an effort to keep the Nixpkgs manual in a consistent style, please follow the conventions below, unless they prevent you from properly documenting something. In that case, please open an issue about the particular documentation convention and tag it with a "needs: documentation" label. +When needed, each convention explain why it exists, so you can make a decision whether to follow it or not based on your particular case. +Note that these conventions are about the **structure** of the manual (and its source files), not about the content that goes in it. +You, as the writer of documentation, are still in charge of its content. - Put each sentence in its own line. This makes reviews and suggestions much easier, since GitHub's review system is based on lines. @@ -188,26 +196,153 @@ In that case, please open an issue about the particular documentation convention } ``` -- Use [definition lists](#definition-lists) to document function arguments, and the attributes of such arguments. For example: +- When showing inputs/outputs of any [REPL](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop), such as a shell or the Nix REPL, use a format as you'd see in the REPL, while trying to visually separate inputs from outputs. + This means that for a shell, you should use a format like the following: + ```shell + $ nix-build -A hello '' \ + --option require-sigs false \ + --option trusted-substituters file:///tmp/hello-cache \ + --option substituters file:///tmp/hello-cache + /nix/store/zhl06z4lrfrkw5rp0hnjjfrgsclzvxpm-hello-2.12.1 + ``` + Note how the input is preceded by `$` on the first line and indented on subsequent lines, and how the output is provided as you'd see on the shell. + + For the Nix REPL, you should use a format like the following: + ```shell + nix-repl> builtins.attrNames { a = 1; b = 2; } + [ "a" "b" ] + ``` + Note how the input is preceded by `nix-repl>` and the output is provided as you'd see on the Nix REPL. + +- When documenting functions or anything that has inputs/outputs and example usage, use nested headings to clearly separate inputs, outputs, and examples. + Keep examples as the last nested heading, and link to the examples wherever applicable in the documentation. + + The purpose of this convention is to provide a familiar structure for navigating the manual, so any reader can expect to find content related to inputs in an "inputs" heading, examples in an "examples" heading, and so on. + An example: + ``` + ## buildImage + + Some explanation about the function here. + Describe a particular scenario, and point to [](#ex-dockerTools-buildImage), which is an example demonstrating it. + + ### Inputs + + Documentation for the inputs of `buildImage`. + Perhaps even point to [](#ex-dockerTools-buildImage) again when talking about something specifically linked to it. + + ### Passthru outputs + + Documentation for any passthru outputs of `buildImage`. + + ### Examples + + Note that this is the last nested heading in the `buildImage` section. + + :::{.example #ex-dockerTools-buildImage} + + # Using `buildImage` + + Example of how to use `buildImage` goes here. + + ::: + ``` + +- Use [definition lists](#definition-lists) to document function arguments, and the attributes of such arguments as well as their [types](https://nixos.org/manual/nix/stable/language/values). + For example: ```markdown # pkgs.coolFunction Description of what `coolFunction` does. + + ## Inputs + `coolFunction` expects a single argument which should be an attribute set, with the following possible attributes: - `name` + `name` (String) : The name of the resulting image. - `tag` _optional_ + `tag` (String; _optional_) : Tag of the generated image. - _Default value:_ the output path's hash. - + _Default:_ the output path's hash. ``` +#### Examples + +To define a referenceable figure use the following fencing: + +```markdown +:::{.example #an-attribute-set-example} +# An attribute set example + +You can add text before + + ```nix + { a = 1; b = 2;} + ``` + +and after code fencing +::: +``` + +Defining examples through the `example` fencing class adds them to a "List of Examples" section after the Table of Contents. +Though this is not shown in the rendered documentation on nixos.org. + +#### Figures + +To define a referencable figure use the following fencing: + +```markdown +::: {.figure #nixos-logo} +# NixOS Logo +![NixOS logo](./nixos_logo.png) +::: +``` + +Defining figures through the `figure` fencing class adds them to a `List of Figures` after the `Table of Contents`. +Though this is not shown in the rendered documentation on nixos.org. + +#### Footnotes + +To add a foonote explanation, use the following syntax: + +```markdown +Sometimes it's better to add context [^context] in a footnote. + +[^context]: This explanation will be rendered at the end of the chapter. +``` + +#### Inline comments + +Inline comments are supported with following syntax: + +```markdown + +``` + +The comments will not be rendered in the rendered HTML. + +#### Link reference definitions + +Links can reference a label, for example, to make the link target reusable: + +```markdown +::: {.note} +Reference links can also be used to [shorten URLs][url-id] and keep the markdown readable. +::: + +[url-id]: https://github.com/NixOS/nixpkgs/blob/19d4f7dc485f74109bd66ef74231285ff797a823/doc/README.md +``` + +This syntax is taken from [CommonMark](https://spec.commonmark.org/0.30/#link-reference-definitions). + +#### Typographic replacements + +Typographic replacements are enabled. Check the [list of possible replacement patterns check](https://github.com/executablebooks/markdown-it-py/blob/3613e8016ecafe21709471ee0032a90a4157c2d1/markdown_it/rules_core/replacements.py#L1-L15). + ## Getting help If you need documentation-specific help or reviews, ping [@NixOS/documentation-reviewers](https://github.com/orgs/nixos/teams/documentation-reviewers) on your pull request. diff --git a/doc/build-helpers/images/dockertools.section.md b/doc/build-helpers/images/dockertools.section.md index e732e0472926..b09766524043 100644 --- a/doc/build-helpers/images/dockertools.section.md +++ b/doc/build-helpers/images/dockertools.section.md @@ -676,6 +676,7 @@ If our package sets `includeStorePaths` to `false`, we'll end up with only the f dockerTools.streamLayeredImage { name = "hello"; contents = [ hello ]; + includeStorePaths = false; } ``` @@ -714,56 +715,168 @@ dockerTools.streamLayeredImage { ``` ::: -## pullImage {#ssec-pkgs-dockerTools-fetchFromRegistry} +[]{#ssec-pkgs-dockerTools-fetchFromRegistry} +## pullImage {#ssec-pkgs-dockerTools-pullImage} -This function is analogous to the `docker pull` command, in that it can be used to pull a Docker image from a Docker registry. By default [Docker Hub](https://hub.docker.com/) is used to pull images. +This function is similar to the `docker pull` command, which means it can be used to pull a Docker image from a registry that implements the [Docker Registry HTTP API V2](https://distribution.github.io/distribution/spec/api/). +By default, the `docker.io` registry is used. -Its parameters are described in the example below: +The image will be downloaded as an uncompressed Docker-compatible repository tarball, which is suitable for use with other `dockerTools` functions such as [`buildImage`](#ssec-pkgs-dockerTools-buildImage), [`buildLayeredImage`](#ssec-pkgs-dockerTools-buildLayeredImage), and [`streamLayeredImage`](#ssec-pkgs-dockerTools-streamLayeredImage). + +This function requires two different types of hashes/digests to be specified: + +- One of them is used to identify a unique image within the registry (see the documentation for the `imageDigest` attribute). +- The other is used by Nix to ensure the contents of the output haven't changed (see the documentation for the `sha256` attribute). + +Both hashes are required because they must uniquely identify some content in two completely different systems (the Docker registry and the Nix store), but their values will not be the same. +See [](#ex-dockerTools-pullImage-nixprefetchdocker) for a tool that can help gather these values. + +### Inputs {#ssec-pkgs-dockerTools-pullImage-inputs} + +`pullImage` expects a single argument with the following attributes: + +`imageName` (String) + +: Specifies the name of the image to be downloaded, as well as the registry endpoint. + By default, the `docker.io` registry is used. + To specify a different registry, prepend the endpoint to `imageName`, separated by a slash (`/`). + See [](#ex-dockerTools-pullImage-differentregistry) for how to do that. + +`imageDigest` (String) + +: Specifies the digest of the image to be downloaded. + + :::{.tip} + **Why can't I specify a tag to pull from, and have to use a digest instead?** + + Tags are often updated to point to different image contents. + The most common example is the `latest` tag, which is usually updated whenever a newer image version is available. + + An image tag isn't enough to guarantee the contents of an image won't change, but a digest guarantees this. + Providing a digest helps ensure that you will still be able to build the same Nix code and get the same output even if newer versions of an image are released. + ::: + +`sha256` (String) + +: The hash of the image after it is downloaded. + Internally, this is passed to the [`outputHash`](https://nixos.org/manual/nix/stable/language/advanced-attributes#adv-attr-outputHash) attribute of the resulting derivation. + This is needed to provide a guarantee to Nix that the contents of the image haven't changed, because Nix doesn't support the value in `imageDigest`. + +`finalImageName` (String; _optional_) + +: Specifies the name that will be used for the image after it has been downloaded. + This only applies after the image is downloaded, and is not used to identify the image to be downloaded in the registry. + Use `imageName` for that instead. + + _Default value:_ the same value specified in `imageName`. + +`finalImageTag` (String; _optional_) + +: Specifies the tag that will be used for the image after it has been downloaded. + This only applies after the image is downloaded, and is not used to identify the image to be downloaded in the registry. + + _Default value:_ `"latest"`. + +`os` (String; _optional_) + +: Specifies the operating system of the image to pull. + If specified, its value should follow the [OCI Image Configuration Specification](https://github.com/opencontainers/image-spec/blob/main/config.md#properties), which should still be compatible with Docker. + According to the linked specification, all possible values for `$GOOS` in [the Go docs](https://go.dev/doc/install/source#environment) should be valid, but will commonly be one of `darwin` or `linux`. + + _Default value:_ `"linux"`. + +`arch` (String; _optional_) + +: Specifies the architecture of the image to pull. + If specified, its value should follow the [OCI Image Configuration Specification](https://github.com/opencontainers/image-spec/blob/main/config.md#properties), which should still be compatible with Docker. + According to the linked specification, all possible values for `$GOARCH` in [the Go docs](https://go.dev/doc/install/source#environment) should be valid, but will commonly be one of `386`, `amd64`, `arm`, or `arm64`. + + _Default value:_ the same value from `pkgs.go.GOARCH`. + +`tlsVerify` (Boolean; _optional_) + +: Used to enable or disable HTTPS and TLS certificate verification when communicating with the chosen Docker registry. + Setting this to `false` will make `pullImage` connect to the registry through HTTP. + + _Default value:_ `true`. + +`name` (String; _optional_) + +: The name used for the output in the Nix store path. + + _Default value:_ a value derived from `finalImageName` and `finalImageTag`, with some symbols replaced. + It is recommended to treat the default as an opaque value. + +### Examples {#ssec-pkgs-dockerTools-pullImage-examples} + +::: {.example #ex-dockerTools-pullImage-niximage} +# Pulling the nixos/nix Docker image from the default registry + +This example pulls the [`nixos/nix` image](https://hub.docker.com/r/nixos/nix) and saves it in the Nix store. ```nix -pullImage { +{ dockerTools }: +dockerTools.pullImage { imageName = "nixos/nix"; - imageDigest = - "sha256:473a2b527958665554806aea24d0131bacec46d23af09fef4598eeab331850fa"; + imageDigest = "sha256:b8ea88f763f33dfda2317b55eeda3b1a4006692ee29e60ee54ccf6d07348c598"; finalImageName = "nix"; - finalImageTag = "2.11.1"; - sha256 = "sha256-qvhj+Hlmviz+KEBVmsyPIzTB3QlVAFzwAY1zDPIBGxc="; - os = "linux"; - arch = "x86_64"; + finalImageTag = "2.19.3"; + sha256 = "zRwlQs1FiKrvHPaf8vWOR/Tlp1C5eLn1d9pE4BZg3oA="; +} +``` +::: + +::: {.example #ex-dockerTools-pullImage-differentregistry} +# Pulling the nixos/nix Docker image from a specific registry + +This example pulls the [`coreos/etcd` image](https://quay.io/repository/coreos/etcd) from the `quay.io` registry. + +```nix +{ dockerTools }: +dockerTools.pullImage { + imageName = "quay.io/coreos/etcd"; + imageDigest = "sha256:24a23053f29266fb2731ebea27f915bb0fb2ae1ea87d42d890fe4e44f2e27c5d"; + finalImageName = "etcd"; + finalImageTag = "v3.5.11"; + sha256 = "Myw+85f2/EVRyMB3axECdmQ5eh9p1q77FWYKy8YpRWU="; +} +``` +::: + +::: {.example #ex-dockerTools-pullImage-nixprefetchdocker} +# Finding the digest and hash values to use for `dockerTools.pullImage` + +Since [`dockerTools.pullImage`](#ssec-pkgs-dockerTools-pullImage) requires two different hashes, one can run the `nix-prefetch-docker` tool to find out the values for the hashes. +The tool outputs some text for an attribute set which you can pass directly to `pullImage`. + +```shell +$ nix run nixpkgs#nix-prefetch-docker -- --image-name nixos/nix --image-tag 2.19.3 --arch amd64 --os linux +(some output removed for clarity) +Writing manifest to image destination +-> ImageName: nixos/nix +-> ImageDigest: sha256:498fa2d7f2b5cb3891a4edf20f3a8f8496e70865099ba72540494cd3e2942634 +-> FinalImageName: nixos/nix +-> FinalImageTag: latest +-> ImagePath: /nix/store/4mxy9mn6978zkvlc670g5703nijsqc95-docker-image-nixos-nix-latest.tar +-> ImageHash: 1q6cf2pdrasa34zz0jw7pbs6lvv52rq2aibgxccbwcagwkg2qj1q +{ + imageName = "nixos/nix"; + imageDigest = "sha256:498fa2d7f2b5cb3891a4edf20f3a8f8496e70865099ba72540494cd3e2942634"; + sha256 = "1q6cf2pdrasa34zz0jw7pbs6lvv52rq2aibgxccbwcagwkg2qj1q"; + finalImageName = "nixos/nix"; + finalImageTag = "latest"; } ``` -- `imageName` specifies the name of the image to be downloaded, which can also include the registry namespace (e.g. `nixos`). This argument is required. +It is important to supply the `--arch` and `--os` arguments to `nix-prefetch-docker` to filter to a single image, in case there are multiple architectures and/or operating systems supported by the image name and tags specified. +By default, `nix-prefetch-docker` will set `os` to `linux` and `arch` to `amd64`. -- `imageDigest` specifies the digest of the image to be downloaded. This argument is required. - -- `finalImageName`, if specified, this is the name of the image to be created. Note it is never used to fetch the image since we prefer to rely on the immutable digest ID. By default it's equal to `imageName`. - -- `finalImageTag`, if specified, this is the tag of the image to be created. Note it is never used to fetch the image since we prefer to rely on the immutable digest ID. By default it's `latest`. - -- `sha256` is the checksum of the whole fetched image. This argument is required. - -- `os`, if specified, is the operating system of the fetched image. By default it's `linux`. - -- `arch`, if specified, is the cpu architecture of the fetched image. By default it's `x86_64`. - -`nix-prefetch-docker` command can be used to get required image parameters: - -```ShellSession -$ nix run nixpkgs#nix-prefetch-docker -- --image-name mysql --image-tag 5 -``` - -Since a given `imageName` may transparently refer to a manifest list of images which support multiple architectures and/or operating systems, you can supply the `--os` and `--arch` arguments to specify exactly which image you want. By default it will match the OS and architecture of the host the command is run on. - -```ShellSession -$ nix-prefetch-docker --image-name mysql --image-tag 5 --arch x86_64 --os linux -``` - -Desired image name and tag can be set using `--final-image-name` and `--final-image-tag` arguments: - -```ShellSession -$ nix-prefetch-docker --image-name mysql --image-tag 5 --final-image-name eu.gcr.io/my-project/mysql --final-image-tag prod +Run `nix-prefetch-docker --help` for a list of all supported arguments: +```shell +$ nix run nixpkgs#nix-prefetch-docker -- --help +(output removed for clarity) ``` +::: ## exportImage {#ssec-pkgs-dockerTools-exportImage} @@ -845,6 +958,18 @@ buildImage { Creating base files like `/etc/passwd` or `/etc/login.defs` is necessary for shadow-utils to manipulate users and groups. +When using `buildLayeredImage`, you can put this in `fakeRootCommands` if you `enableFakechroot`: +```nix +buildLayeredImage { + name = "shadow-layered"; + + fakeRootCommands = '' + ${pkgs.dockerTools.shadowSetup} + ''; + enableFakechroot = true; +} +``` + ## fakeNss {#ssec-pkgs-dockerTools-fakeNss} If your primary goal is providing a basic skeleton for user lookups to work, diff --git a/doc/languages-frameworks/dotnet.section.md b/doc/languages-frameworks/dotnet.section.md index 978ec07cb961..ac659a9c6d28 100644 --- a/doc/languages-frameworks/dotnet.section.md +++ b/doc/languages-frameworks/dotnet.section.md @@ -144,7 +144,7 @@ in buildDotnetModule rec { projectReferences = [ referencedProject ]; # `referencedProject` must contain `nupkg` in the folder structure. - dotnet-sdk = dotnetCorePackages.sdk_6.0; + dotnet-sdk = dotnetCorePackages.sdk_6_0; dotnet-runtime = dotnetCorePackages.runtime_6_0; executables = [ "foo" ]; # This wraps "$out/lib/$pname/foo" to `$out/bin/foo`. diff --git a/doc/languages-frameworks/haskell.section.md b/doc/languages-frameworks/haskell.section.md index 300965a53889..e4a92033936a 100644 --- a/doc/languages-frameworks/haskell.section.md +++ b/doc/languages-frameworks/haskell.section.md @@ -70,39 +70,42 @@ compilers like this: ```console $ nix-env -f '' -qaP -A haskell.compiler haskell.compiler.ghc810 ghc-8.10.7 -haskell.compiler.ghc88 ghc-8.8.4 haskell.compiler.ghc90 ghc-9.0.2 -haskell.compiler.ghc924 ghc-9.2.4 haskell.compiler.ghc925 ghc-9.2.5 haskell.compiler.ghc926 ghc-9.2.6 -haskell.compiler.ghc92 ghc-9.2.7 -haskell.compiler.ghc942 ghc-9.4.2 -haskell.compiler.ghc943 ghc-9.4.3 -haskell.compiler.ghc94 ghc-9.4.4 -haskell.compiler.ghcHEAD ghc-9.7.20221224 -haskell.compiler.ghc8102Binary ghc-binary-8.10.2 -haskell.compiler.ghc8102BinaryMinimal ghc-binary-8.10.2 -haskell.compiler.ghc8107BinaryMinimal ghc-binary-8.10.7 +haskell.compiler.ghc927 ghc-9.2.7 +haskell.compiler.ghc92 ghc-9.2.8 +haskell.compiler.ghc945 ghc-9.4.5 +haskell.compiler.ghc946 ghc-9.4.6 +haskell.compiler.ghc947 ghc-9.4.7 +haskell.compiler.ghc94 ghc-9.4.8 +haskell.compiler.ghc963 ghc-9.6.3 +haskell.compiler.ghc96 ghc-9.6.4 +haskell.compiler.ghc98 ghc-9.8.1 +haskell.compiler.ghcHEAD ghc-9.9.20231121 haskell.compiler.ghc8107Binary ghc-binary-8.10.7 haskell.compiler.ghc865Binary ghc-binary-8.6.5 haskell.compiler.ghc924Binary ghc-binary-9.2.4 -haskell.compiler.ghc924BinaryMinimal ghc-binary-9.2.4 -haskell.compiler.integer-simple.ghc810 ghc-integer-simple-8.10.7 haskell.compiler.integer-simple.ghc8107 ghc-integer-simple-8.10.7 -haskell.compiler.integer-simple.ghc88 ghc-integer-simple-8.8.4 -haskell.compiler.integer-simple.ghc884 ghc-integer-simple-8.8.4 +haskell.compiler.integer-simple.ghc810 ghc-integer-simple-8.10.7 haskell.compiler.native-bignum.ghc90 ghc-native-bignum-9.0.2 haskell.compiler.native-bignum.ghc902 ghc-native-bignum-9.0.2 -haskell.compiler.native-bignum.ghc924 ghc-native-bignum-9.2.4 haskell.compiler.native-bignum.ghc925 ghc-native-bignum-9.2.5 haskell.compiler.native-bignum.ghc926 ghc-native-bignum-9.2.6 -haskell.compiler.native-bignum.ghc92 ghc-native-bignum-9.2.7 haskell.compiler.native-bignum.ghc927 ghc-native-bignum-9.2.7 -haskell.compiler.native-bignum.ghc942 ghc-native-bignum-9.4.2 -haskell.compiler.native-bignum.ghc943 ghc-native-bignum-9.4.3 -haskell.compiler.native-bignum.ghc94 ghc-native-bignum-9.4.4 -haskell.compiler.native-bignum.ghc944 ghc-native-bignum-9.4.4 -haskell.compiler.native-bignum.ghcHEAD ghc-native-bignum-9.7.20221224 +haskell.compiler.native-bignum.ghc92 ghc-native-bignum-9.2.8 +haskell.compiler.native-bignum.ghc928 ghc-native-bignum-9.2.8 +haskell.compiler.native-bignum.ghc945 ghc-native-bignum-9.4.5 +haskell.compiler.native-bignum.ghc946 ghc-native-bignum-9.4.6 +haskell.compiler.native-bignum.ghc947 ghc-native-bignum-9.4.7 +haskell.compiler.native-bignum.ghc94 ghc-native-bignum-9.4.8 +haskell.compiler.native-bignum.ghc948 ghc-native-bignum-9.4.8 +haskell.compiler.native-bignum.ghc963 ghc-native-bignum-9.6.3 +haskell.compiler.native-bignum.ghc96 ghc-native-bignum-9.6.4 +haskell.compiler.native-bignum.ghc964 ghc-native-bignum-9.6.4 +haskell.compiler.native-bignum.ghc98 ghc-native-bignum-9.8.1 +haskell.compiler.native-bignum.ghc981 ghc-native-bignum-9.8.1 +haskell.compiler.native-bignum.ghcHEAD ghc-native-bignum-9.9.20231121 haskell.compiler.ghcjs ghcjs-8.10.7 ``` diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 6b242a475ed2..5bba8ed828c0 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1408,6 +1408,20 @@ fingerprint = "7083 E268 4BFD 845F 2B84 9E74 B695 8918 ED23 32CE"; }]; }; + applejag = { + email = "applejag.luminance905@passmail.com"; + github = "applejag"; + githubId = 2477952; + name = "Kalle Fagerberg"; + keys = [ + { + fingerprint = "F68E 6DB3 79FB 1FF0 7C72 6479 9874 DEDD 3592 5ED0"; + } + { + fingerprint = "8DDB 3994 0A34 4FE5 4F3B 3E77 F161 001D EE78 1051"; + } + ]; + }; applePrincess = { email = "appleprincess@appleprincess.io"; github = "applePrincess"; @@ -10478,6 +10492,14 @@ githubId = 31388299; name = "Leonardo Eugênio"; }; + leo248 = { + github ="leo248"; + githubId = 95365184; + keys = [{ + fingerprint = "81E3 418D C1A2 9687 2C4D 96DC BB1A 818F F295 26D2"; + }]; + name = "leo248"; + }; leo60228 = { email = "leo@60228.dev"; matrix = "@leo60228:matrix.org"; diff --git a/nixos/doc/manual/contributing-to-this-manual.chapter.md b/nixos/doc/manual/contributing-to-this-manual.chapter.md index 6245280e30f0..83e4773e6866 100644 --- a/nixos/doc/manual/contributing-to-this-manual.chapter.md +++ b/nixos/doc/manual/contributing-to-this-manual.chapter.md @@ -1,6 +1,6 @@ # Contributing to this manual {#chap-contributing} -The [DocBook] and CommonMark sources of the NixOS manual are in the [nixos/doc/manual](https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual) subdirectory of the [Nixpkgs](https://github.com/NixOS/nixpkgs) repository. +The sources of the NixOS manual are in the [nixos/doc/manual](https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual) subdirectory of the [Nixpkgs](https://github.com/NixOS/nixpkgs) repository. This manual uses the [Nixpkgs manual syntax](https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup). You can quickly check your edits with the following: diff --git a/nixos/doc/manual/development/writing-documentation.chapter.md b/nixos/doc/manual/development/writing-documentation.chapter.md index 3d9bd318cf33..2e9dffd22ba8 100644 --- a/nixos/doc/manual/development/writing-documentation.chapter.md +++ b/nixos/doc/manual/development/writing-documentation.chapter.md @@ -7,7 +7,7 @@ worthy contribution to the project. ## Building the Manual {#sec-writing-docs-building-the-manual} -The DocBook sources of the [](#book-nixos-manual) are in the +The sources of the [](#book-nixos-manual) are in the [`nixos/doc/manual`](https://github.com/NixOS/nixpkgs/tree/master/nixos/doc/manual) subdirectory of the Nixpkgs repository. @@ -29,65 +29,3 @@ nix-build nixos/release.nix -A manual.x86_64-linux When this command successfully finishes, it will tell you where the manual got generated. The HTML will be accessible through the `result` symlink at `./result/share/doc/nixos/index.html`. - -## Editing DocBook XML {#sec-writing-docs-editing-docbook-xml} - -For general information on how to write in DocBook, see [DocBook 5: The -Definitive Guide](https://tdg.docbook.org/tdg/5.1/). - -Emacs nXML Mode is very helpful for editing DocBook XML because it -validates the document as you write, and precisely locates errors. To -use it, see [](#sec-emacs-docbook-xml). - -[Pandoc](https://pandoc.org/) can generate DocBook XML from a multitude of -formats, which makes a good starting point. Here is an example of Pandoc -invocation to convert GitHub-Flavoured MarkDown to DocBook 5 XML: - -```ShellSession -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 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. - -## Creating a Topic {#sec-writing-docs-creating-a-topic} - -You can use an existing topic as a basis for the new topic or create a -topic from scratch. - -Keep the following guidelines in mind when you create and add a topic: - -- The NixOS [`book`](https://tdg.docbook.org/tdg/5.0/book.html) - element is in `nixos/doc/manual/manual.xml`. It includes several - [`parts`](https://tdg.docbook.org/tdg/5.0/book.html) which are in - subdirectories. - -- Store the topic file in the same directory as the `part` to which it - belongs. If your topic is about configuring a NixOS module, then the - XML file can be stored alongside the module definition `nix` file. - -- If you include multiple words in the file name, separate the words - with a dash. For example: `ipv6-config.xml`. - -- Make sure that the `xml:id` value is unique. You can use abbreviations - if the ID is too long. For example: `nixos-config`. - -- Determine whether your topic is a chapter or a section. If you are - unsure, open an existing topic file and check whether the main - element is chapter or section. - -## Adding a Topic to the Book {#sec-writing-docs-adding-a-topic} - -Open the parent CommonMark file and add a line to the list of -chapters with the file name of the topic that you created. If you -created a `section`, you add the file to the `chapter` file. If you created -a `chapter`, you add the file to the `part` file. - -If the topic is about configuring a NixOS module, it can be -automatically included in the manual by using the `meta.doc` attribute. -See [](#sec-meta-attributes) for an explanation. diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index 263a1b4437e9..b6af5fc6c3cc 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -50,6 +50,8 @@ In addition to numerous new and upgraded packages, this release has the followin - [ollama](https://ollama.ai), server for running large language models locally. +- [hebbot](https://github.com/haecker-felix/hebbot), a Matrix bot to generate "This Week in X" like blog posts. Available as [services.hebbot](#opt-services.hebbot.enable). + - [Anki Sync Server](https://docs.ankiweb.net/sync-server.html), the official sync server built into recent versions of Anki. Available as [services.anki-sync-server](#opt-services.anki-sync-server.enable). The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been marked deprecated and will be dropped after 24.05 due to lack of maintenance of the anki-sync-server softwares. @@ -138,12 +140,10 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m - `services.avahi.nssmdns` got split into `services.avahi.nssmdns4` and `services.avahi.nssmdns6` which enable the mDNS NSS switch for IPv4 and IPv6 respectively. Since most mDNS responders only register IPv4 addresses, most users want to keep the IPv6 support disabled to avoid long timeouts. -- `multi-user.target` no longer depends on `network-online.target`. - This will potentially break services that assumed this was the case in the past. - This was changed for consistency with other distributions as well as improved boot times. - - We have added a warning for services that are - `after = [ "network-online.target" ]` but do not depend on it (e.g. using `wants`). +- A warning has been added for services that are + `after = [ "network-online.target" ]` but do not depend on it (e.g. using + `wants`), because the dependency that `multi-user.target` has on + `network-online.target` is planned for removal. - `services.archisteamfarm` no longer uses the abbreviation `asf` for its state directory (`/var/lib/asf`), user and group (both `asf`). Instead the long name `archisteamfarm` is used. Configurations with `system.stateVersion` 23.11 or earlier, default to the old stateDirectory until the 24.11 release and must either set the option explicitly or move the data to the new directory. @@ -235,11 +235,16 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m - `stdenv`: The `--replace` flag in `substitute`, `substituteInPlace`, `substituteAll`, `substituteAllStream`, and `substituteStream` is now deprecated if favor of the new `--replace-fail`, `--replace-warn` and `--replace-quiet`. The deprecated `--replace` equates to `--replace-warn`. +- New options were added to the dnsdist module to enable and configure a DNSCrypt endpoint (see `services.dnsdist.dnscrypt.enable`, etc.). + The module can generate the DNSCrypt provider key pair, certificates and also performs their rotation automatically with no downtime. + - The Yama LSM is now enabled by default in the kernel, which prevents ptracing non-child processes. This means you will not be able to attach gdb to an existing process, but will need to start that process from gdb (so it is a child). Or you can set `boot.kernel.sysctl."kernel.yama.ptrace_scope"` to 0. +- The netbird module now allows running multiple tunnels in parallel through [`services.netbird.tunnels`](#opt-services.netbird.tunnels). + - [Nginx virtual hosts](#opt-services.nginx.virtualHosts) using `forceSSL` or `globalRedirect` can now have redirect codes other than 301 through `redirectCode`. diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index fa9ca2225530..c2bcb2f78080 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -634,6 +634,7 @@ ./services/matrix/appservice-irc.nix ./services/matrix/conduit.nix ./services/matrix/dendrite.nix + ./services/matrix/hebbot.nix ./services/matrix/maubot.nix ./services/matrix/mautrix-facebook.nix ./services/matrix/mautrix-telegram.nix diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix index 25c7017a1d25..8d298de6945b 100644 --- a/nixos/modules/services/mail/dovecot.nix +++ b/nixos/modules/services/mail/dovecot.nix @@ -4,7 +4,9 @@ let inherit (lib) any attrValues concatMapStringsSep concatStrings concatStringsSep flatten imap1 isList literalExpression mapAttrsToList mkEnableOption mkIf mkOption mkRemovedOptionModule optional optionalAttrs - optionalString singleton types; + optionalString singleton types mkRenamedOptionModule nameValuePair + mapAttrs' listToAttrs filter; + inherit (lib.strings) match; cfg = config.services.dovecot2; dovecotPkg = pkgs.dovecot; @@ -12,6 +14,58 @@ let baseDir = "/run/dovecot2"; stateDir = "/var/lib/dovecot"; + sieveScriptSettings = mapAttrs' (to: from: nameValuePair "sieve_${to}" "${stateDir}/sieve/${from}") cfg.sieve.scripts; + imapSieveMailboxSettings = listToAttrs (flatten (imap1 (idx: el: + singleton { + name = "imapsieve_mailbox${toString idx}_name"; + value = el.name; + } ++ optional (el.from != null) { + name = "imapsieve_mailbox${toString idx}_from"; + value = el.from; + } ++ optional (el.causes != []) { + name = "imapsieve_mailbox${toString idx}_causes"; + value = concatStringsSep "," el.causes; + } ++ optional (el.before != null) { + name = "imapsieve_mailbox${toString idx}_before"; + value = "file:${stateDir}/imapsieve/before/${baseNameOf el.before}"; + } ++ optional (el.after != null) { + name = "imapsieve_mailbox${toString idx}_after"; + value = "file:${stateDir}/imapsieve/after/${baseNameOf el.after}"; + } + ) cfg.imapsieve.mailbox)); + + mkExtraConfigCollisionWarning = term: '' + You referred to ${term} in `services.dovecot2.extraConfig`. + + Due to gradual transition to structured configuration for plugin configuration, it is possible + this will cause your plugin configuration to be ignored. + + Consider setting `services.dovecot2.pluginSettings.${term}` instead. + ''; + + # Those settings are automatically set based on other parts + # of this module. + automaticallySetPluginSettings = [ + "sieve_plugins" + "sieve_extensions" + "sieve_global_extensions" + "sieve_pipe_bin_dir" + ] + ++ (builtins.attrNames sieveScriptSettings) + ++ (builtins.attrNames imapSieveMailboxSettings); + + # The idea is to match everything that looks like `$term =` + # but not `# $term something something` + # or `# $term = some value` because those are comments. + configContainsSetting = lines: term: (match "^[^#]*\b${term}\b.*=" lines) != null; + + warnAboutExtraConfigCollisions = map mkExtraConfigCollisionWarning (filter (configContainsSetting cfg.extraConfig) automaticallySetPluginSettings); + + sievePipeBinScriptDirectory = pkgs.linkFarm "sieve-pipe-bins" (map (el: { + name = builtins.unsafeDiscardStringContext (baseNameOf el); + path = el; + }) cfg.sieve.pipeBins); + dovecotConf = concatStrings [ '' base_dir = ${baseDir} @@ -77,14 +131,6 @@ let '' ) - ( - optionalString (cfg.sieveScripts != {}) '' - plugin { - ${concatStringsSep "\n" (mapAttrsToList (to: from: "sieve_${to} = ${stateDir}/sieve/${to}") cfg.sieveScripts)} - } - '' - ) - ( optionalString (cfg.mailboxes != {}) '' namespace inbox { @@ -116,33 +162,12 @@ let '' ) + # General plugin settings: + # - sieve is mostly generated here, refer to `pluginSettings` to follow + # the control flow. '' plugin { - sieve_plugins = ${concatStringsSep " " cfg.sieve.plugins} - sieve_extensions = ${concatStringsSep " " (map (el: "+${el}") cfg.sieve.extensions)} - sieve_global_extensions = ${concatStringsSep " " (map (el: "+${el}") cfg.sieve.globalExtensions)} - '' - (optionalString (cfg.imapsieve.mailbox != []) '' - ${ - concatStringsSep "\n" (flatten (imap1 ( - idx: el: - singleton "imapsieve_mailbox${toString idx}_name = ${el.name}" - ++ optional (el.from != null) "imapsieve_mailbox${toString idx}_from = ${el.from}" - ++ optional (el.causes != null) "imapsieve_mailbox${toString idx}_causes = ${el.causes}" - ++ optional (el.before != null) "imapsieve_mailbox${toString idx}_before = file:${stateDir}/imapsieve/before/${baseNameOf el.before}" - ++ optional (el.after != null) "imapsieve_mailbox${toString idx}_after = file:${stateDir}/imapsieve/after/${baseNameOf el.after}" - ) - cfg.imapsieve.mailbox)) - } - '') - (optionalString (cfg.sieve.pipeBins != []) '' - sieve_pipe_bin_dir = ${pkgs.linkFarm "sieve-pipe-bins" (map (el: { - name = builtins.unsafeDiscardStringContext (baseNameOf el); - path = el; - }) - cfg.sieve.pipeBins)} - '') - '' + ${concatStringsSep "\n" (mapAttrsToList (key: value: " ${key} = ${value}") cfg.pluginSettings)} } '' @@ -199,6 +224,7 @@ in { imports = [ (mkRemovedOptionModule [ "services" "dovecot2" "package" ] "") + (mkRenamedOptionModule [ "services" "dovecot2" "sieveScripts" ] [ "services" "dovecot2" "sieve" "scripts" ]) ]; options.services.dovecot2 = { @@ -337,12 +363,6 @@ in enableDHE = mkEnableOption (lib.mdDoc "ssl_dh and generation of primes for the key exchange") // { default = true; }; - sieveScripts = mkOption { - type = types.attrsOf types.path; - default = {}; - description = lib.mdDoc "Sieve scripts to be executed. Key is a sequence, e.g. 'before2', 'after' etc."; - }; - showPAMFailure = mkEnableOption (lib.mdDoc "showing the PAM failure message on authentication error (useful for OTPW)"); mailboxes = mkOption { @@ -376,6 +396,26 @@ in description = lib.mdDoc "Quota limit for the user in bytes. Supports suffixes b, k, M, G, T and %."; }; + + pluginSettings = mkOption { + # types.str does not coerce from packages, like `sievePipeBinScriptDirectory`. + type = types.attrsOf (types.oneOf [ types.str types.package ]); + default = {}; + example = literalExpression '' + { + sieve = "file:~/sieve;active=~/.dovecot.sieve"; + } + ''; + description = '' + Plugin settings for dovecot in general, e.g. `sieve`, `sieve_default`, etc. + + Some of the other knobs of this module will influence by default the plugin settings, but you + can still override any plugin settings. + + If you override a plugin setting, its value is cleared and you have to copy over the defaults. + ''; + }; + imapsieve.mailbox = mkOption { default = []; description = "Configure Sieve filtering rules on IMAP actions"; @@ -405,14 +445,14 @@ in }; causes = mkOption { - default = null; + default = [ ]; description = '' Only execute the administrator Sieve scripts for the mailbox configured with services.dovecot2.imapsieve.mailbox..name when one of the listed IMAPSIEVE causes apply. This has no effect on the user script, which is always executed no matter the cause. ''; - example = "COPY"; - type = types.nullOr (types.enum [ "APPEND" "COPY" "FLAG" ]); + example = [ "COPY" "APPEND" ]; + type = types.listOf (types.enum [ "APPEND" "COPY" "FLAG" ]); }; before = mkOption { @@ -462,6 +502,12 @@ in type = types.listOf types.str; }; + scripts = mkOption { + type = types.attrsOf types.path; + default = {}; + description = lib.mdDoc "Sieve scripts to be executed. Key is a sequence, e.g. 'before2', 'after' etc."; + }; + pipeBins = mkOption { default = []; example = literalExpression '' @@ -476,7 +522,6 @@ in }; }; - config = mkIf cfg.enable { security.pam.services.dovecot2 = mkIf cfg.enablePAM {}; @@ -501,6 +546,13 @@ in ++ optional (cfg.sieve.pipeBins != []) "sieve_extprograms"; sieve.globalExtensions = optional (cfg.sieve.pipeBins != []) "vnd.dovecot.pipe"; + + pluginSettings = lib.mapAttrs (n: lib.mkDefault) ({ + sieve_plugins = concatStringsSep " " cfg.sieve.plugins; + sieve_extensions = concatStringsSep " " (map (el: "+${el}") cfg.sieve.extensions); + sieve_global_extensions = concatStringsSep " " (map (el: "+${el}") cfg.sieve.globalExtensions); + sieve_pipe_bin_dir = sievePipeBinScriptDirectory; + } // sieveScriptSettings // imapSieveMailboxSettings); }; users.users = { @@ -556,7 +608,7 @@ in # the source file and Dovecot won't try to compile it. preStart = '' rm -rf ${stateDir}/sieve ${stateDir}/imapsieve - '' + optionalString (cfg.sieveScripts != {}) '' + '' + optionalString (cfg.sieve.scripts != {}) '' mkdir -p ${stateDir}/sieve ${concatStringsSep "\n" ( mapAttrsToList ( @@ -569,7 +621,7 @@ in fi ${pkgs.dovecot_pigeonhole}/bin/sievec '${stateDir}/sieve/${to}' '' - ) cfg.sieveScripts + ) cfg.sieve.scripts )} chown -R '${cfg.mailUser}:${cfg.mailGroup}' '${stateDir}/sieve' '' @@ -600,9 +652,7 @@ in environment.systemPackages = [ dovecotPkg ]; - warnings = mkIf (any isList options.services.dovecot2.mailboxes.definitions) [ - "Declaring `services.dovecot2.mailboxes' as a list is deprecated and will break eval in 21.05! See the release notes for more info for migration." - ]; + warnings = warnAboutExtraConfigCollisions; assertions = [ { @@ -615,8 +665,8 @@ in message = "dovecot is configured with showPAMFailure while enablePAM is disabled"; } { - assertion = cfg.sieveScripts != {} -> (cfg.mailUser != null && cfg.mailGroup != null); - message = "dovecot requires mailUser and mailGroup to be set when sieveScripts is set"; + assertion = cfg.sieve.scripts != {} -> (cfg.mailUser != null && cfg.mailGroup != null); + message = "dovecot requires mailUser and mailGroup to be set when `sieve.scripts` is set"; } ]; diff --git a/nixos/modules/services/matrix/hebbot.nix b/nixos/modules/services/matrix/hebbot.nix new file mode 100644 index 000000000000..ebf175464ddd --- /dev/null +++ b/nixos/modules/services/matrix/hebbot.nix @@ -0,0 +1,78 @@ +{ lib +, config +, pkgs +, ... +}: + +let + inherit (lib) mkEnableOption mkOption mkIf types; + format = pkgs.formats.toml { }; + cfg = config.services.hebbot; + settingsFile = format.generate "config.toml" cfg.settings; + mkTemplateOption = templateName: mkOption { + type = types.path; + description = lib.mdDoc '' + A path to the Markdown file for the ${templateName}. + ''; + }; +in + { + meta.maintainers = [ lib.maintainers.raitobezarius ]; + options.services.hebbot = { + enable = mkEnableOption "hebbot"; + botPasswordFile = mkOption { + type = types.path; + description = lib.mdDoc '' + A path to the password file for your bot. + + Consider using a path that does not end up in your Nix store + as it would be world readable. + ''; + }; + templates = { + project = mkTemplateOption "project template"; + report = mkTemplateOption "report template"; + section = mkTemplateOption "section template"; + }; + settings = mkOption { + type = format.type; + default = { }; + description = lib.mdDoc '' + Configuration for Hebbot, see, for examples: + + - + - + ''; + }; + }; + + config = mkIf cfg.enable { + systemd.services.hebbot = { + description = "hebbot - a TWIM-style Matrix bot written in Rust"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + preStart = '' + ln -sf ${cfg.templates.project} ./project_template.md + ln -sf ${cfg.templates.report} ./report_template.md + ln -sf ${cfg.templates.section} ./section_template.md + ln -sf ${settingsFile} ./config.toml + ''; + + script = '' + export BOT_PASSWORD="$(cat $CREDENTIALS_DIRECTORY/bot-password-file)" + ${lib.getExe pkgs.hebbot} + ''; + + serviceConfig = { + DynamicUser = true; + Restart = "on-failure"; + LoadCredential = "bot-password-file:${cfg.botPasswordFile}"; + RestartSec = "10s"; + StateDirectory = "hebbot"; + WorkingDirectory = "hebbot"; + }; + }; + }; +} + diff --git a/nixos/modules/services/monitoring/prometheus/exporters/pve.nix b/nixos/modules/services/monitoring/prometheus/exporters/pve.nix index 20ee2e4b3238..83e740320df2 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/pve.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/pve.nix @@ -21,7 +21,7 @@ in type = with types; nullOr path; default = null; example = "/etc/prometheus-pve-exporter/pve.env"; - description = lib.mdDoc '' + description = '' Path to the service's environment file. This path can either be a computed path in /nix/store or a path in the local filesystem. The environment file should NOT be stored in /nix/store as it contains passwords and/or keys in plain text. @@ -34,7 +34,7 @@ in type = with types; nullOr path; default = null; example = "/etc/prometheus-pve-exporter/pve.yml"; - description = lib.mdDoc '' + description = '' Path to the service's config file. This path can either be a computed path in /nix/store or a path in the local filesystem. The config file should NOT be stored in /nix/store as it will contain passwords and/or keys in plain text. @@ -45,46 +45,66 @@ in ''; }; + server = { + keyFile = mkOption { + type = with types; nullOr path; + default = null; + example = "/var/lib/prometheus-pve-exporter/privkey.key"; + description = '' + Path to a SSL private key file for the server + ''; + }; + + certFile = mkOption { + type = with types; nullOr path; + default = null; + example = "/var/lib/prometheus-pve-exporter/full-chain.pem"; + description = '' + Path to a SSL certificate file for the server + ''; + }; + }; + collectors = { status = mkOption { type = types.bool; default = true; - description = lib.mdDoc '' + description = '' Collect Node/VM/CT status ''; }; version = mkOption { type = types.bool; default = true; - description = lib.mdDoc '' + description = '' Collect PVE version info ''; }; node = mkOption { type = types.bool; default = true; - description = lib.mdDoc '' + description = '' Collect PVE node info ''; }; cluster = mkOption { type = types.bool; default = true; - description = lib.mdDoc '' + description = '' Collect PVE cluster info ''; }; resources = mkOption { type = types.bool; default = true; - description = lib.mdDoc '' + description = '' Collect PVE resources info ''; }; config = mkOption { type = types.bool; default = true; - description = lib.mdDoc '' + description = '' Collect PVE onboot status ''; }; @@ -102,8 +122,10 @@ in --${optionalString (!cfg.collectors.cluster) "no-"}collector.cluster \ --${optionalString (!cfg.collectors.resources) "no-"}collector.resources \ --${optionalString (!cfg.collectors.config) "no-"}collector.config \ - %d/configFile \ - ${toString cfg.port} ${cfg.listenAddress} + ${optionalString (cfg.server.keyFile != null) "--server.keyfile ${cfg.server.keyFile}"} \ + ${optionalString (cfg.server.certFile != null) "--server.certfile ${cfg.server.certFile}"} \ + --config.file %d/configFile \ + --web.listen-address ${cfg.listenAddress}:${toString cfg.port} ''; } // optionalAttrs (cfg.environmentFile != null) { EnvironmentFile = cfg.environmentFile; diff --git a/nixos/modules/services/networking/dnsdist.nix b/nixos/modules/services/networking/dnsdist.nix index 483300111df9..792185c9fbea 100644 --- a/nixos/modules/services/networking/dnsdist.nix +++ b/nixos/modules/services/networking/dnsdist.nix @@ -4,10 +4,79 @@ with lib; let cfg = config.services.dnsdist; + + toLua = lib.generators.toLua {}; + + mkBind = cfg: toLua "${cfg.listenAddress}:${toString cfg.listenPort}"; + configFile = pkgs.writeText "dnsdist.conf" '' - setLocal('${cfg.listenAddress}:${toString cfg.listenPort}') + setLocal(${mkBind cfg}) + ${lib.optionalString cfg.dnscrypt.enable dnscryptSetup} ${cfg.extraConfig} ''; + + dnscryptSetup = '' + last_rotation = 0 + cert_serial = 0 + provider_key = ${toLua cfg.dnscrypt.providerKey} + cert_lifetime = ${toLua cfg.dnscrypt.certLifetime} * 60 + + function file_exists(name) + local f = io.open(name, "r") + return f ~= nil and io.close(f) + end + + function dnscrypt_setup() + -- generate provider keys on first run + if provider_key == nil then + provider_key = "/var/lib/dnsdist/private.key" + if not file_exists(provider_key) then + generateDNSCryptProviderKeys("/var/lib/dnsdist/public.key", + "/var/lib/dnsdist/private.key") + print("DNSCrypt: generated provider keypair") + end + end + + -- generate resolver certificate + local now = os.time() + generateDNSCryptCertificate( + provider_key, "/run/dnsdist/resolver.cert", "/run/dnsdist/resolver.key", + cert_serial, now - 60, now + cert_lifetime) + addDNSCryptBind( + ${mkBind cfg.dnscrypt}, ${toLua cfg.dnscrypt.providerName}, + "/run/dnsdist/resolver.cert", "/run/dnsdist/resolver.key") + end + + function maintenance() + -- certificate rotation + local now = os.time() + local dnscrypt = getDNSCryptBind(0) + + if ((now - last_rotation) > 0.9 * cert_lifetime) then + -- generate and start using a new certificate + dnscrypt:generateAndLoadInMemoryCertificate( + provider_key, cert_serial + 1, + now - 60, now + cert_lifetime) + + -- stop advertising the last certificate + dnscrypt:markInactive(cert_serial) + + -- remove the second to last certificate + if (cert_serial > 1) then + dnscrypt:removeInactiveCertificate(cert_serial - 1) + end + + print("DNSCrypt: rotated certificate") + + -- increment serial number + cert_serial = cert_serial + 1 + last_rotation = now + end + end + + dnscrypt_setup() + ''; + in { options = { services.dnsdist = { @@ -15,15 +84,69 @@ in { listenAddress = mkOption { type = types.str; - description = lib.mdDoc "Listen IP Address"; + description = lib.mdDoc "Listen IP address"; default = "0.0.0.0"; }; listenPort = mkOption { - type = types.int; + type = types.port; description = lib.mdDoc "Listen port"; default = 53; }; + dnscrypt = { + enable = mkEnableOption (lib.mdDoc "a DNSCrypt endpoint to dnsdist"); + + listenAddress = mkOption { + type = types.str; + description = lib.mdDoc "Listen IP address of the endpoint"; + default = "0.0.0.0"; + }; + + listenPort = mkOption { + type = types.port; + description = lib.mdDoc "Listen port of the endpoint"; + default = 443; + }; + + providerName = mkOption { + type = types.str; + default = "2.dnscrypt-cert.${config.networking.hostName}"; + defaultText = literalExpression "2.dnscrypt-cert.\${config.networking.hostName}"; + example = "2.dnscrypt-cert.myresolver"; + description = lib.mdDoc '' + The name that will be given to this DNSCrypt resolver. + + ::: {.note} + The provider name must start with `2.dnscrypt-cert.`. + ::: + ''; + }; + + providerKey = mkOption { + type = types.nullOr types.path; + default = null; + description = lib.mdDoc '' + The filepath to the provider secret key. + If not given a new provider key pair will be generated in + /var/lib/dnsdist on the first run. + + ::: {.note} + The file must be readable by the dnsdist user/group. + ::: + ''; + }; + + certLifetime = mkOption { + type = types.ints.positive; + default = 15; + description = lib.mdDoc '' + The lifetime (in minutes) of the resolver certificate. + This will be automatically rotated before expiration. + ''; + }; + + }; + extraConfig = mkOption { type = types.lines; default = ""; @@ -35,6 +158,14 @@ in { }; config = mkIf cfg.enable { + users.users.dnsdist = { + description = "dnsdist daemons user"; + isSystemUser = true; + group = "dnsdist"; + }; + + users.groups.dnsdist = {}; + systemd.packages = [ pkgs.dnsdist ]; systemd.services.dnsdist = { @@ -42,8 +173,10 @@ in { startLimitIntervalSec = 0; serviceConfig = { - DynamicUser = true; - + User = "dnsdist"; + Group = "dnsdist"; + RuntimeDirectory = "dnsdist"; + StateDirectory = "dnsdist"; # upstream overrides for better nixos compatibility ExecStartPre = [ "" "${pkgs.dnsdist}/bin/dnsdist --check-config --config ${configFile}" ]; ExecStart = [ "" "${pkgs.dnsdist}/bin/dnsdist --supervised --disable-syslog --config ${configFile}" ]; diff --git a/nixos/modules/services/networking/headscale.nix b/nixos/modules/services/networking/headscale.nix index 95b5fcf6ebde..0159da37de87 100644 --- a/nixos/modules/services/networking/headscale.nix +++ b/nixos/modules/services/networking/headscale.nix @@ -444,10 +444,14 @@ in { tls_letsencrypt_cache_dir = "${dataDir}/.cache"; }; - # Setup the headscale configuration in a known path in /etc to - # allow both the Server and the Client use it to find the socket - # for communication. - environment.etc."headscale/config.yaml".source = configFile; + environment = { + # Setup the headscale configuration in a known path in /etc to + # allow both the Server and the Client use it to find the socket + # for communication. + etc."headscale/config.yaml".source = configFile; + + systemPackages = [ cfg.package ]; + }; users.groups.headscale = mkIf (cfg.group == "headscale") {}; diff --git a/nixos/modules/services/networking/netbird.md b/nixos/modules/services/networking/netbird.md new file mode 100644 index 000000000000..a326207becc8 --- /dev/null +++ b/nixos/modules/services/networking/netbird.md @@ -0,0 +1,56 @@ +# Netbird {#module-services-netbird} + +## Quickstart {#module-services-netbird-quickstart} + +The absolute minimal configuration for the netbird daemon looks like this: + +```nix +services.netbird.enable = true; +``` + +This will set up a netbird service listening on the port `51820` associated to the +`wt0` interface. + +It is strictly equivalent to setting: + +```nix +services.netbird.tunnels.wt0.stateDir = "netbird"; +``` + +The `enable` option is mainly kept for backward compatibility, as defining netbird +tunnels through the `tunnels` option is more expressive. + +## Multiple connections setup {#module-services-netbird-multiple-connections} + +Using the `services.netbird.tunnels` option, it is also possible to define more than +one netbird service running at the same time. + +The following configuration will start a netbird daemon using the interface `wt1` and +the port 51830. Its configuration file will then be located at `/var/lib/netbird-wt1/config.json`. + +```nix +services.netbird.tunnels = { + wt1 = { + port = 51830; + }; +}; +``` + +To interact with it, you will need to specify the correct daemon address: + +```bash +netbird --daemon-addr unix:///var/run/netbird-wt1/sock ... +``` + +The address will by default be `unix:///var/run/netbird-`. + +It is also possible to overwrite default options passed to the service, for +example: + +```nix +services.netbird.tunnels.wt1.environment = { + NB_DAEMON_ADDR = "unix:///var/run/toto.sock" +}; +``` + +This will set the socket to interact with the netbird service to `/var/run/toto.sock`. diff --git a/nixos/modules/services/networking/netbird.nix b/nixos/modules/services/networking/netbird.nix index 4b0bd63e9dbc..6a1511d4d084 100644 --- a/nixos/modules/services/networking/netbird.nix +++ b/nixos/modules/services/networking/netbird.nix @@ -1,60 +1,171 @@ -{ config, lib, pkgs, ... }: - -with lib; +{ + config, + lib, + pkgs, + ... +}: let - cfg = config.services.netbird; + inherit (lib) + attrNames + getExe + literalExpression + maintainers + mapAttrs' + mkDefault + mkEnableOption + mkIf + mkMerge + mkOption + mkPackageOption + nameValuePair + optional + versionOlder + ; + + inherit (lib.types) + attrsOf + port + str + submodule + ; + kernel = config.boot.kernelPackages; - interfaceName = "wt0"; -in { - meta.maintainers = with maintainers; [ misuzu ]; + + cfg = config.services.netbird; +in +{ + meta.maintainers = with maintainers; [ + misuzu + thubrecht + ]; + meta.doc = ./netbird.md; options.services.netbird = { enable = mkEnableOption (lib.mdDoc "Netbird daemon"); package = mkPackageOption pkgs "netbird" { }; - }; - config = mkIf cfg.enable { - boot.extraModulePackages = optional (versionOlder kernel.kernel.version "5.6") kernel.wireguard; + tunnels = mkOption { + type = attrsOf ( + submodule ( + { name, config, ... }: + { + options = { + port = mkOption { + type = port; + default = 51820; + description = '' + Port for the ${name} netbird interface. + ''; + }; - environment.systemPackages = [ cfg.package ]; + environment = mkOption { + type = attrsOf str; + defaultText = literalExpression '' + { + NB_CONFIG = "/var/lib/''${stateDir}/config.json"; + NB_LOG_FILE = "console"; + NB_WIREGUARD_PORT = builtins.toString port; + NB_INTERFACE_NAME = name; + NB_DAMEON_ADDR = "/var/run/''${stateDir}" + } + ''; + description = '' + Environment for the netbird service, used to pass configuration options. + ''; + }; - networking.dhcpcd.denyInterfaces = [ interfaceName ]; + stateDir = mkOption { + type = str; + default = "netbird-${name}"; + description = '' + Directory storing the netbird configuration. + ''; + }; + }; - systemd.network.networks."50-netbird" = mkIf config.networking.useNetworkd { - matchConfig = { - Name = interfaceName; - }; - linkConfig = { - Unmanaged = true; - ActivationPolicy = "manual"; - }; - }; - - systemd.services.netbird = { - description = "A WireGuard-based mesh network that connects your devices into a single private network"; - documentation = [ "https://netbird.io/docs/" ]; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - path = with pkgs; [ - openresolv - ]; - serviceConfig = { - Environment = [ - "NB_CONFIG=/var/lib/netbird/config.json" - "NB_LOG_FILE=console" - ]; - ExecStart = "${cfg.package}/bin/netbird service run"; - Restart = "always"; - RuntimeDirectory = "netbird"; - StateDirectory = "netbird"; - WorkingDirectory = "/var/lib/netbird"; - }; - unitConfig = { - StartLimitInterval = 5; - StartLimitBurst = 10; - }; - stopIfChanged = false; + config.environment = builtins.mapAttrs (_: mkDefault) { + NB_CONFIG = "/var/lib/${config.stateDir}/config.json"; + NB_LOG_FILE = "console"; + NB_WIREGUARD_PORT = builtins.toString config.port; + NB_INTERFACE_NAME = name; + NB_DAEMON_ADDR = "unix:///var/run/${config.stateDir}/sock"; + }; + } + ) + ); + default = { }; + description = '' + Attribute set of Netbird tunnels, each one will spawn a daemon listening on ... + ''; }; }; + + config = mkMerge [ + (mkIf cfg.enable { + # For backwards compatibility + services.netbird.tunnels.wt0.stateDir = "netbird"; + }) + + (mkIf (cfg.tunnels != { }) { + boot.extraModulePackages = optional (versionOlder kernel.kernel.version "5.6") kernel.wireguard; + + environment.systemPackages = [ cfg.package ]; + + networking.dhcpcd.denyInterfaces = attrNames cfg.tunnels; + + systemd.network.networks = mkIf config.networking.useNetworkd ( + mapAttrs' + ( + name: _: + nameValuePair "50-netbird-${name}" { + matchConfig = { + Name = name; + }; + linkConfig = { + Unmanaged = true; + ActivationPolicy = "manual"; + }; + } + ) + cfg.tunnels + ); + + systemd.services = + mapAttrs' + ( + name: + { environment, stateDir, ... }: + nameValuePair "netbird-${name}" { + description = "A WireGuard-based mesh network that connects your devices into a single private network"; + + documentation = [ "https://netbird.io/docs/" ]; + + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + path = with pkgs; [ openresolv ]; + + inherit environment; + + serviceConfig = { + ExecStart = "${getExe cfg.package} service run"; + Restart = "always"; + RuntimeDirectory = stateDir; + StateDirectory = stateDir; + StateDirectoryMode = "0700"; + WorkingDirectory = "/var/lib/${stateDir}"; + }; + + unitConfig = { + StartLimitInterval = 5; + StartLimitBurst = 10; + }; + + stopIfChanged = false; + } + ) + cfg.tunnels; + }) + ]; } diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 331ca5103ba6..e29fa49ea23b 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -428,7 +428,13 @@ in config = { - warnings = concatLists ( + warnings = let + mkOneNetOnlineWarn = typeStr: name: def: lib.optional + (lib.elem "network-online.target" def.after && !(lib.elem "network-online.target" (def.wants ++ def.requires ++ def.bindsTo))) + "${name}.${typeStr} is ordered after 'network-online.target' but doesn't depend on it"; + mkNetOnlineWarns = typeStr: defs: lib.concatLists (lib.mapAttrsToList (mkOneNetOnlineWarn typeStr) defs); + mkMountNetOnlineWarns = typeStr: defs: lib.concatLists (map (m: mkOneNetOnlineWarn typeStr m.what m) defs); + in concatLists ( mapAttrsToList (name: service: let @@ -449,39 +455,30 @@ in ] ) cfg.services - ); + ) + ++ (mkNetOnlineWarns "target" cfg.targets) + ++ (mkNetOnlineWarns "service" cfg.services) + ++ (mkNetOnlineWarns "socket" cfg.sockets) + ++ (mkNetOnlineWarns "timer" cfg.timers) + ++ (mkNetOnlineWarns "path" cfg.paths) + ++ (mkMountNetOnlineWarns "mount" cfg.mounts) + ++ (mkMountNetOnlineWarns "automount" cfg.automounts) + ++ (mkNetOnlineWarns "slice" cfg.slices); - assertions = let - mkOneAssert = typeStr: name: def: { - assertion = lib.elem "network-online.target" def.after -> lib.elem "network-online.target" (def.wants ++ def.requires ++ def.bindsTo); - message = "${name}.${typeStr} is ordered after 'network-online.target' but doesn't depend on it"; - }; - mkAsserts = typeStr: lib.mapAttrsToList (mkOneAssert typeStr); - mkMountAsserts = typeStr: map (m: mkOneAssert typeStr m.what m); - in mkMerge [ - (concatLists ( - mapAttrsToList - (name: service: - map (message: { - assertion = false; - inherit message; - }) (concatLists [ - (optional ((builtins.elem "network-interfaces.target" service.after) || (builtins.elem "network-interfaces.target" service.wants)) - "Service '${name}.service' is using the deprecated target network-interfaces.target, which no longer exists. Using network.target is recommended instead." - ) - ]) - ) - cfg.services - )) - (mkAsserts "target" cfg.targets) - (mkAsserts "service" cfg.services) - (mkAsserts "socket" cfg.sockets) - (mkAsserts "timer" cfg.timers) - (mkAsserts "path" cfg.paths) - (mkMountAsserts "mount" cfg.mounts) - (mkMountAsserts "automount" cfg.automounts) - (mkAsserts "slice" cfg.slices) - ]; + assertions = concatLists ( + mapAttrsToList + (name: service: + map (message: { + assertion = false; + inherit message; + }) (concatLists [ + (optional ((builtins.elem "network-interfaces.target" service.after) || (builtins.elem "network-interfaces.target" service.wants)) + "Service '${name}.service' is using the deprecated target network-interfaces.target, which no longer exists. Using network.target is recommended instead." + ) + ]) + ) + cfg.services + ); system.build.units = cfg.units; @@ -658,6 +655,7 @@ in systemd.services.systemd-udev-settle.restartIfChanged = false; # Causes long delays in nixos-rebuild systemd.targets.local-fs.unitConfig.X-StopOnReconfiguration = true; systemd.targets.remote-fs.unitConfig.X-StopOnReconfiguration = true; + systemd.targets.network-online.wantedBy = [ "multi-user.target" ]; systemd.services.systemd-importd.environment = proxy_env; systemd.services.systemd-pstore.wantedBy = [ "sysinit.target" ]; # see #81138 diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index a9730913604b..3f9dd173d3bf 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -242,7 +242,7 @@ in { discourse = handleTest ./discourse.nix {}; dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {}; dnscrypt-wrapper = runTestOn ["x86_64-linux"] ./dnscrypt-wrapper; - dnsdist = handleTest ./dnsdist.nix {}; + dnsdist = import ./dnsdist.nix { inherit pkgs runTest; }; doas = handleTest ./doas.nix {}; docker = handleTestOn ["aarch64-linux" "x86_64-linux"] ./docker.nix {}; docker-rootless = handleTestOn ["aarch64-linux" "x86_64-linux"] ./docker-rootless.nix {}; diff --git a/nixos/tests/dnsdist.nix b/nixos/tests/dnsdist.nix index e72fa05ff282..9921be419a75 100644 --- a/nixos/tests/dnsdist.nix +++ b/nixos/tests/dnsdist.nix @@ -1,48 +1,113 @@ -import ./make-test-python.nix ( - { pkgs, ... }: { - name = "dnsdist"; - meta = with pkgs.lib; { - maintainers = with maintainers; [ jojosch ]; - }; +{ pkgs, runTest }: - nodes.machine = { pkgs, lib, ... }: { - services.bind = { - enable = true; - extraOptions = "empty-zones-enable no;"; - zones = lib.singleton { - name = "."; - master = true; - file = pkgs.writeText "root.zone" '' - $TTL 3600 - . IN SOA ns.example.org. admin.example.org. ( 1 3h 1h 1w 1d ) - . IN NS ns.example.org. +let - ns.example.org. IN A 192.168.0.1 - ns.example.org. IN AAAA abcd::1 + inherit (pkgs) lib; - 1.0.168.192.in-addr.arpa IN PTR ns.example.org. - ''; - }; - }; - services.dnsdist = { - enable = true; - listenPort = 5353; - extraConfig = '' - newServer({address="127.0.0.1:53", name="local-bind"}) + baseConfig = { + networking.nameservers = [ "::1" ]; + services.bind = { + enable = true; + extraOptions = "empty-zones-enable no;"; + zones = lib.singleton { + name = "."; + master = true; + file = pkgs.writeText "root.zone" '' + $TTL 3600 + . IN SOA ns.example.org. admin.example.org. ( 1 3h 1h 1w 1d ) + . IN NS ns.example.org. + + ns.example.org. IN A 192.168.0.1 + ns.example.org. IN AAAA abcd::1 + + 1.0.168.192.in-addr.arpa IN PTR ns.example.org. ''; }; - - environment.systemPackages = with pkgs; [ dig ]; }; + services.dnsdist = { + enable = true; + listenPort = 5353; + extraConfig = '' + newServer({address="127.0.0.1:53", name="local-bind"}) + ''; + }; + }; + +in + +{ + + base = runTest { + name = "dnsdist-base"; + meta.maintainers = with lib.maintainers; [ jojosch ]; + + nodes.machine = baseConfig; testScript = '' machine.wait_for_unit("bind.service") machine.wait_for_open_port(53) - machine.succeed("dig @127.0.0.1 +short -x 192.168.0.1 | grep -qF ns.example.org") + machine.succeed("host -p 53 192.168.0.1 | grep -qF ns.example.org") machine.wait_for_unit("dnsdist.service") machine.wait_for_open_port(5353) - machine.succeed("dig @127.0.0.1 -p 5353 +short -x 192.168.0.1 | grep -qF ns.example.org") + machine.succeed("host -p 5353 192.168.0.1 | grep -qF ns.example.org") ''; - } -) + }; + + dnscrypt = runTest { + name = "dnsdist-dnscrypt"; + meta.maintainers = with lib.maintainers; [ rnhmjoj ]; + + nodes.server = lib.mkMerge [ + baseConfig + { + networking.firewall.allowedTCPPorts = [ 443 ]; + networking.firewall.allowedUDPPorts = [ 443 ]; + services.dnsdist.dnscrypt.enable = true; + services.dnsdist.dnscrypt.providerKey = "${./dnscrypt-wrapper/secret.key}"; + } + ]; + + nodes.client = { + services.dnscrypt-proxy2.enable = true; + services.dnscrypt-proxy2.upstreamDefaults = false; + services.dnscrypt-proxy2.settings = + { server_names = [ "server" ]; + listen_addresses = [ "[::1]:53" ]; + cache = false; + # Computed using https://dnscrypt.info/stamps/ + static.server.stamp = + "sdns://AQAAAAAAAAAADzE5Mi4xNjguMS4yOjQ0MyAUQdg6_RIIpK6pHkINhrv7nxwIG5c7b_m5NJVT3A1AXRYyLmRuc2NyeXB0LWNlcnQuc2VydmVy"; + }; + networking.nameservers = [ "::1" ]; + }; + + testScript = '' + with subtest("The DNSCrypt server is accepting connections"): + server.wait_for_unit("bind.service") + server.wait_for_unit("dnsdist.service") + server.wait_for_open_port(443) + almost_expiration = server.succeed("date --date '14min'").strip() + + with subtest("The DNSCrypt client can connect to the server"): + client.wait_until_succeeds("journalctl -u dnscrypt-proxy2 --grep '\[server\] OK'") + + with subtest("DNS queries over UDP are working"): + client.wait_for_open_port(53) + client.succeed("host -U 192.168.0.1 | grep -qF ns.example.org") + + with subtest("DNS queries over TCP are working"): + client.wait_for_open_port(53) + client.succeed("host -T 192.168.0.1 | grep -qF ns.example.org") + + with subtest("The server rotates the ephemeral keys"): + server.succeed(f"date -s '{almost_expiration}'") + client.succeed(f"date -s '{almost_expiration}'") + server.wait_until_succeeds("journalctl -u dnsdist --grep 'rotated certificate'") + + with subtest("The client can still connect to the server"): + client.wait_until_succeeds("host -T 192.168.0.1") + client.wait_until_succeeds("host -U 192.168.0.1") + ''; + }; +} diff --git a/pkgs/applications/audio/hqplayer-desktop/default.nix b/pkgs/applications/audio/hqplayer-desktop/default.nix index 9b77ac59fd9e..7aeb55bfa712 100644 --- a/pkgs/applications/audio/hqplayer-desktop/default.nix +++ b/pkgs/applications/audio/hqplayer-desktop/default.nix @@ -8,7 +8,7 @@ , lib , libmicrohttpd , libusb-compat-0_1 -, llvmPackages_10 +, llvmPackages , qtcharts , qtdeclarative , qtquickcontrols2 @@ -39,7 +39,7 @@ mkDerivation rec { gcc12.cc.lib libmicrohttpd libusb-compat-0_1 - llvmPackages_10.openmp + llvmPackages.openmp qtcharts qtdeclarative qtquickcontrols2 diff --git a/pkgs/applications/audio/string-machine/default.nix b/pkgs/applications/audio/string-machine/default.nix index 312cf1db5bac..d679202343d5 100644 --- a/pkgs/applications/audio/string-machine/default.nix +++ b/pkgs/applications/audio/string-machine/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, boost, cairo, libGL, lv2, pkg-config }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, boost, cairo, libGL, lv2, pkg-config }: stdenv.mkDerivation rec { pname = "string-machine"; @@ -12,6 +12,16 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; + patches = [ + # gcc-13 compatibility fix: + # https://github.com/jpcima/string-machine/pull/36 + (fetchpatch { + name = "gcc-13.patch"; + url = "https://github.com/jpcima/string-machine/commit/e1f9c70da46e43beb2654b509bc824be5601a0a5.patch"; + hash = "sha256-eS28wBuFjbx2tEb9gtVRZXfK0w2o1RCFTouNf8Adq+k="; + }) + ]; + postPatch = '' patchShebangs ./dpf/utils/generate-ttl.sh ''; diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix index 364e6cf58a50..674156e24c06 100644 --- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix +++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix @@ -2,11 +2,11 @@ let pname = "ledger-live-desktop"; - version = "2.73.1"; + version = "2.75.0"; src = fetchurl { url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage"; - hash = "sha256-aHA65NLX3tlg8nLnQOOG1TuvcJP57HbQWruiBMvDJ10="; + hash = "sha256-sVaQbfpgHgd1OZgR+R0PUmNENfDOcNRfvO2AVKFyDqM="; }; appimageContents = appimageTools.extractType2 { @@ -34,5 +34,6 @@ appimageTools.wrapType2 rec { maintainers = with maintainers; [ andresilva thedavidmeister nyanloutre RaghavSood th0rgal ]; platforms = [ "x86_64-linux" ]; mainProgram = "ledger-live-desktop"; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; } diff --git a/pkgs/applications/networking/cluster/atmos/default.nix b/pkgs/applications/networking/cluster/atmos/default.nix index 433a983eb02c..3aee5fe4e3a6 100644 --- a/pkgs/applications/networking/cluster/atmos/default.nix +++ b/pkgs/applications/networking/cluster/atmos/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "atmos"; - version = "1.54.0"; + version = "1.55.0"; src = fetchFromGitHub { owner = "cloudposse"; repo = pname; rev = "v${version}"; - sha256 = "sha256-WGOuFqkrX3/5RINdsegTSxJ28W4iEMPuLVrCjtmCkTw="; + sha256 = "sha256-JRvPRlq4H9PcELozlvIE065LSNIxrh/Ej+2GXO8s2x4="; }; - vendorHash = "sha256-kR13BVbjgQoEjb2xwH8LkxLeMp30h6mbWum9RbzzSGE="; + vendorHash = "sha256-YBcVsuBL5n5ycaY1a0uxlDKX7YyrtF16gi17wCK1Jio="; ldflags = [ "-s" "-w" "-X github.com/cloudposse/atmos/cmd.Version=v${version}" ]; diff --git a/pkgs/applications/networking/cluster/fn-cli/default.nix b/pkgs/applications/networking/cluster/fn-cli/default.nix index 8e3b5d297b78..299abe58fbd3 100644 --- a/pkgs/applications/networking/cluster/fn-cli/default.nix +++ b/pkgs/applications/networking/cluster/fn-cli/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "fn"; - version = "0.6.28"; + version = "0.6.29"; src = fetchFromGitHub { owner = "fnproject"; repo = "cli"; rev = version; - hash = "sha256-/ifr/sSaChZKRe9wCcjURhqZl2/JhIMewZSlJiit/7w="; + hash = "sha256-hN9Kok2+ZNYZsG+3ffzr1jGfIMg99JzgzC0x585KDF4="; }; vendorHash = null; diff --git a/pkgs/applications/networking/cluster/kn/default.nix b/pkgs/applications/networking/cluster/kn/default.nix index 664c1b693ffc..156c2cae7ac5 100644 --- a/pkgs/applications/networking/cluster/kn/default.nix +++ b/pkgs/applications/networking/cluster/kn/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "kn"; - version = "1.12.0"; + version = "1.13.0"; src = fetchFromGitHub { owner = "knative"; repo = "client"; rev = "knative-v${version}"; - sha256 = "sha256-Xp5PpHIcjh02qesnyrz53yydIAClx0OrBE75Sz5pifg="; + sha256 = "sha256-irMipYDYMyA0l9d7tI1wS7XsxGWjBzTvxmhpKM1gLW8="; }; vendorHash = null; diff --git a/pkgs/applications/networking/cluster/kubecolor/default.nix b/pkgs/applications/networking/cluster/kubecolor/default.nix index a51eea852fc2..2b41250c628b 100644 --- a/pkgs/applications/networking/cluster/kubecolor/default.nix +++ b/pkgs/applications/networking/cluster/kubecolor/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "kubecolor"; - version = "0.2.0"; + version = "0.2.2"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-WDnuEC2uXo7wybOh0wRiKZt70JMrWteWINuZ+C7lbo8="; + sha256 = "sha256-zXglsfPsJi9DVxlRPniSBsdF1xEMYqqGr46ThpQj3gQ="; }; vendorHash = "sha256-uf7nBnS1wmbz4xcVA5qF82QMPsLdSucje1NNaPyheCw="; @@ -20,6 +20,6 @@ buildGoModule rec { homepage = "https://github.com/kubecolor/kubecolor"; changelog = "https://github.com/kubecolor/kubecolor/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ ivankovnatsky SuperSandro2000 ]; + maintainers = with maintainers; [ ivankovnatsky SuperSandro2000 applejag ]; }; } diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix index 302b91773126..bc75fce9d69e 100644 --- a/pkgs/applications/networking/cluster/terraform/default.nix +++ b/pkgs/applications/networking/cluster/terraform/default.nix @@ -167,8 +167,8 @@ rec { mkTerraform = attrs: pluggable (generic attrs); terraform_1 = mkTerraform { - version = "1.7.0"; - hash = "sha256-oF0osIC/ti9ZkWDTBIQuBHreIBVfeo4f/naGFdaMxJE="; + version = "1.7.1"; + hash = "sha256-e+YXOqXgiUXtm6P8PulZowRK0OLA8ekmS+MZRQP/srg="; vendorHash = "sha256-77W0x6DENB+U3yB4LI3PwJU9bTuH7Eqz2a9FNoERuJg="; patches = [ ./provider-path-0_15.patch ]; passthru = { diff --git a/pkgs/applications/networking/cluster/zarf/default.nix b/pkgs/applications/networking/cluster/zarf/default.nix index 371b986f9d6c..2bef721e6df2 100644 --- a/pkgs/applications/networking/cluster/zarf/default.nix +++ b/pkgs/applications/networking/cluster/zarf/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "zarf"; - version = "0.32.1"; + version = "0.32.2"; src = fetchFromGitHub { owner = "defenseunicorns"; repo = "zarf"; rev = "v${version}"; - hash = "sha256-A5GfXdm13u82yW8mTYDX+H6idCBSeYML3C56t1TD2ec="; + hash = "sha256-LQe/M7uX6VKA7q040wFWKYQ96M1Ynp37uglENqvyAaU="; }; - vendorHash = "sha256-7UBqO1O6o/eM04/bZpcGgttLhSoemcBBly3IZbATAz0="; + vendorHash = "sha256-HAIupM30qmOqol661iFm2lNjukoKBvYY1tPTnc0u3lg="; proxyVendor = true; preBuild = '' diff --git a/pkgs/applications/networking/xpipe/default.nix b/pkgs/applications/networking/xpipe/default.nix index 9ad5e54b0dc5..7894a0fd030e 100644 --- a/pkgs/applications/networking/xpipe/default.nix +++ b/pkgs/applications/networking/xpipe/default.nix @@ -33,14 +33,14 @@ let }.${system} or throwSystem; hash = { - x86_64-linux = "sha256-tn3vumHjRt5bhNnFA0k8WaJmpCQx7SJea89xf1NGhME="; + x86_64-linux = "sha256-kSJFKKqiSTa7sfHwZ3N7O01Eoi4cr86X7Dxkg+pzSgU="; }.${system} or throwSystem; displayname = "XPipe"; in stdenvNoCC.mkDerivation rec { pname = "xpipe"; - version = "1.7.14"; + version = "1.7.16"; src = fetchzip { url = "https://github.com/xpipe-io/xpipe/releases/download/${version}/xpipe-portable-linux-${arch}.tar.gz"; diff --git a/pkgs/applications/science/biology/ants/default.nix b/pkgs/applications/science/biology/ants/default.nix index cb3ec8a4f7ed..c7a1391c3007 100644 --- a/pkgs/applications/science/biology/ants/default.nix +++ b/pkgs/applications/science/biology/ants/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "ANTs"; - version = "2.5.0"; + version = "2.5.1"; src = fetchFromGitHub { owner = "ANTsX"; repo = "ANTs"; rev = "refs/tags/v${finalAttrs.version}"; - hash = "sha256-rSibcsprhMC1qsuZN8ou32QPLf8n62BiDzpnTRWRx0Q="; + hash = "sha256-q252KC6SKUN5JaQWAcsVmDprVkLXDvkYzNhC7yHJNpk="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index 4149e9163a36..a77565e4072a 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -62,6 +62,12 @@ stdenv.mkDerivation rec { # should come from or be proposed to upstream. This list will probably never # be empty since dependencies update all the time. packageUpgradePatches = [ + # https://github.com/sagemath/sage/pull/37123, to land in 10.3.beta7 + (fetchpatch { + name = "scipy-1.12-upgrade.patch"; + url = "https://github.com/sagemath/sage/commit/54eec464e9fdf18b411d9148aecb918178e95909.diff"; + sha256 = "sha256-9wyNrcSfF6mYFTIV4ev2OdD7igb0AeyZZYWSc/+JrIU="; + }) ]; patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches; diff --git a/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix b/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix index f2aef5972dc1..e73b54aac18f 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-pipewire-audio-capture.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "obs-pipewire-audio-capture"; - version = "1.1.2"; + version = "1.1.3"; src = fetchFromGitHub { owner = "dimtpap"; repo = pname; rev = version; - sha256 = "sha256-9HPQ17swMlsCnKkYQXIUzEbx2vKuBUfGf58Up2hHVGI="; + sha256 = "sha256-dL/+Y1uaD+7EY0UNWbxvh1TTLYfgk07qCqLLGvfzWZk="; }; nativeBuildInputs = [ cmake ninja pkg-config ]; diff --git a/pkgs/build-support/rust/lib/default.nix b/pkgs/build-support/rust/lib/default.nix index e70b8229d356..e09f913bfbd3 100644 --- a/pkgs/build-support/rust/lib/default.nix +++ b/pkgs/build-support/rust/lib/default.nix @@ -1,7 +1,8 @@ { lib , stdenv -, buildPackages -, targetPackages +, pkgsBuildHost +, pkgsBuildTarget +, pkgsTargetTarget }: rec { @@ -16,26 +17,26 @@ rec { # As a workaround for https://github.com/rust-lang/rust/issues/89626 use lld on pkgsStatic aarch64 shouldUseLLD = platform: platform.isAarch64 && platform.isStatic && !stdenv.isDarwin; - ccForBuild = "${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc"; - cxxForBuild = "${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++"; + ccForBuild = "${pkgsBuildHost.stdenv.cc}/bin/${pkgsBuildHost.stdenv.cc.targetPrefix}cc"; + cxxForBuild = "${pkgsBuildHost.stdenv.cc}/bin/${pkgsBuildHost.stdenv.cc.targetPrefix}c++"; linkerForBuild = ccForBuild; ccForHost = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"; cxxForHost = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"; linkerForHost = if shouldUseLLD stdenv.targetPlatform && !stdenv.cc.bintools.isLLVM - then "${buildPackages.lld}/bin/ld.lld" + then "${pkgsBuildHost.llvmPackages.bintools}/bin/${stdenv.cc.targetPrefix}ld.lld" else ccForHost; - # Unfortunately we must use the dangerous `targetPackages` here + # Unfortunately we must use the dangerous `pkgsTargetTarget` here # because hooks are artificially phase-shifted one slot earlier # (they go in nativeBuildInputs, so the hostPlatform looks like # a targetPlatform to them). - ccForTarget = "${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}cc"; - cxxForTarget = "${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}c++"; - linkerForTarget = if shouldUseLLD targetPackages.stdenv.targetPlatform - && !targetPackages.stdenv.cc.bintools.isLLVM # whether stdenv's linker is lld already - then "${buildPackages.lld}/bin/ld.lld" + ccForTarget = "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}cc"; + cxxForTarget = "${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}c++"; + linkerForTarget = if shouldUseLLD pkgsTargetTarget.stdenv.targetPlatform + && !pkgsTargetTarget.stdenv.cc.bintools.isLLVM # whether stdenv's linker is lld already + then "${pkgsBuildTarget.llvmPackages.bintools}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}ld.lld" else ccForTarget; rustBuildPlatform = stdenv.buildPlatform.rust.rustcTarget; @@ -56,9 +57,9 @@ rec { setEnv = '' env \ '' - # Due to a bug in how splicing and targetPackages works, in - # situations where targetPackages is irrelevant - # targetPackages.stdenv.cc is often simply wrong. We must omit + # Due to a bug in how splicing and pkgsTargetTarget works, in + # situations where pkgsTargetTarget is irrelevant + # pkgsTargetTarget.stdenv.cc is often simply wrong. We must omit # the following lines when rustTargetPlatform collides with # rustHostPlatform. + lib.optionalString (rustTargetPlatform != rustHostPlatform) '' @@ -74,8 +75,8 @@ rec { "CXX_${stdenv.buildPlatform.rust.cargoEnvVarTarget}=${cxxForBuild}" \ "CARGO_TARGET_${stdenv.buildPlatform.rust.cargoEnvVarTarget}_LINKER=${linkerForBuild}" \ "CARGO_BUILD_TARGET=${rustBuildPlatform}" \ - "HOST_CC=${buildPackages.stdenv.cc}/bin/cc" \ - "HOST_CXX=${buildPackages.stdenv.cc}/bin/c++" \ + "HOST_CC=${pkgsBuildHost.stdenv.cc}/bin/cc" \ + "HOST_CXX=${pkgsBuildHost.stdenv.cc}/bin/c++" \ ''; }; } // lib.mapAttrs (old: new: platform: diff --git a/pkgs/by-name/de/deskreen/package.nix b/pkgs/by-name/de/deskreen/package.nix new file mode 100644 index 000000000000..746f813f2ea0 --- /dev/null +++ b/pkgs/by-name/de/deskreen/package.nix @@ -0,0 +1,44 @@ +{ lib +, stdenvNoCC +, fetchurl +, appimageTools +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "deskreen"; + version = "2.0.4"; + + src = fetchurl { + url = "https://github.com/pavlobu/deskreen/releases/download/v${finalAttrs.version}/Deskreen-${finalAttrs.version}.AppImage"; + hash = "sha256-0jI/mbXaXanY6ay2zn+dPWGvsqWRcF8aYHRvfGVsObE="; + }; + deskreenUnwrapped = appimageTools.wrapType2 { + name = "deskreen"; + src = finalAttrs.src; + }; + + buildInputs = [ + finalAttrs.deskreenUnwrapped + ]; + + dontUnpack = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + ln -s ${finalAttrs.deskreenUnwrapped}/bin/deskreen $out/bin/deskreen + + runHook postInstall + ''; + + meta = { + description = "Turn any device into a secondary screen for your computer"; + homepage = "https://deskreen.com"; + license = lib.licenses.agpl3; + mainProgram = "deskreen"; + maintainers = with lib.maintainers; [ leo248 drupol ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/tools/games/pocket-updater-utility/add-runtime-identifier.patch b/pkgs/by-name/pu/pupdate/add-runtime-identifier.patch similarity index 56% rename from pkgs/tools/games/pocket-updater-utility/add-runtime-identifier.patch rename to pkgs/by-name/pu/pupdate/add-runtime-identifier.patch index 38d5dcd3af16..c70aaad58966 100644 --- a/pkgs/tools/games/pocket-updater-utility/add-runtime-identifier.patch +++ b/pkgs/by-name/pu/pupdate/add-runtime-identifier.patch @@ -1,19 +1,19 @@ -From c9ca58262045b82537bd8284d426c91582cc7ed7 Mon Sep 17 00:00:00 2001 +From f56083d95304752c45cc569fe42c3b0d7a2430bd Mon Sep 17 00:00:00 2001 From: Philipp Rintz -Date: Thu, 28 Sep 2023 21:22:18 +0200 +Date: Wed, 24 Jan 2024 22:11:50 +0100 Subject: [PATCH] uncommited --- - pocket_updater.csproj | 1 + + pupdate.csproj | 1 + 1 file changed, 1 insertion(+) -diff --git a/pocket_updater.csproj b/pocket_updater.csproj -index 30f77d5..ad6bf69 100644 ---- a/pocket_updater.csproj -+++ b/pocket_updater.csproj +diff --git a/pupdate.csproj b/pupdate.csproj +index a6f59a8..0563137 100644 +--- a/pupdate.csproj ++++ b/pupdate.csproj @@ -12,6 +12,7 @@ Matt Pannella - Analogue Pocket Updater Utility + Pupdate https://github.com/mattpannella/pocket-updater-utility + @RuntimeIdentifier@ diff --git a/pkgs/tools/games/pocket-updater-utility/deps.nix b/pkgs/by-name/pu/pupdate/deps.nix similarity index 100% rename from pkgs/tools/games/pocket-updater-utility/deps.nix rename to pkgs/by-name/pu/pupdate/deps.nix diff --git a/pkgs/tools/games/pocket-updater-utility/default.nix b/pkgs/by-name/pu/pupdate/package.nix similarity index 55% rename from pkgs/tools/games/pocket-updater-utility/default.nix rename to pkgs/by-name/pu/pupdate/package.nix index a5ad85fcadac..00e61e9f0140 100644 --- a/pkgs/tools/games/pocket-updater-utility/default.nix +++ b/pkgs/by-name/pu/pupdate/package.nix @@ -1,24 +1,24 @@ -{ pkgs ? import { system = builtins.currentSystem; } -, stdenv ? pkgs.stdenv -, lib ? pkgs.lib -, fetchFromGitHub ? pkgs.fetchFromGitHub -, buildDotnetModule ? pkgs.buildDotnetModule -, dotnetCorePackages ? pkgs.dotnetCorePackages -, openssl ? pkgs.openssl -, zlib ? pkgs.zlib -, hostPlatform ? stdenv.hostPlatform -, nix-update-script ? stdenv.nix-update-script +{ pkgs +, stdenv +, lib +, fetchFromGitHub +, buildDotnetModule +, dotnetCorePackages +, openssl +, zlib +, hostPlatform +, nix-update-script }: buildDotnetModule rec { - pname = "pocket-updater-utility"; - version = "2.43.1"; + pname = "pupdate"; + version = "3.0.0"; src = fetchFromGitHub { owner = "mattpannella"; repo = "${pname}"; rev = "${version}"; - hash = "sha256-ur7BEsG4MIEcdiRt5BkK4GCa7aVkrh2Djd10KhaWf3U="; + hash = "sha256-Lr3orYOSzFQCLduBhp2MtGbgiKtFB1CgP/iMMySSvEk="; }; buildInputs = [ @@ -30,17 +30,17 @@ buildDotnetModule rec { # See https://github.com/NixOS/nixpkgs/pull/196648/commits/0fb17c04fe34ac45247d35a1e4e0521652d9c494 patches = [ ./add-runtime-identifier.patch ]; postPatch = '' - substituteInPlace pocket_updater.csproj \ + substituteInPlace pupdate.csproj \ --replace @RuntimeIdentifier@ "${dotnetCorePackages.systemToDotnetRid hostPlatform.system}" ''; - projectFile = "pocket_updater.csproj"; + projectFile = "pupdate.csproj"; nugetDeps = ./deps.nix; selfContainedBuild = true; - executables = [ "pocket_updater" ]; + executables = [ "pupdate" ]; dotnetFlags = [ "-p:PackageRuntime=${dotnetCorePackages.systemToDotnetRid stdenv.hostPlatform.system}" @@ -54,11 +54,11 @@ buildDotnetModule rec { }; meta = with lib; { - homepage = "https://github.com/mattpannella/pocket-updater-utility"; - description = "Analogue Pocket Updater Utility"; + homepage = "https://github.com/mattpannella/pupdate"; + description = "Pupdate - A thing for updating your Analogue Pocket "; license = licenses.mit; platforms = platforms.linux; maintainers = with maintainers; [ p-rintz ]; - mainProgram = "pocket_updater"; + mainProgram = "pupdate"; }; } diff --git a/pkgs/by-name/rc/rcp/package.nix b/pkgs/by-name/rc/rcp/package.nix new file mode 100644 index 000000000000..109d81bec9f5 --- /dev/null +++ b/pkgs/by-name/rc/rcp/package.nix @@ -0,0 +1,32 @@ +{ lib +, fetchFromGitHub +, rustPlatform +}: + +rustPlatform.buildRustPackage rec { + pname = "rcp"; + version = "0.5.0"; + + src = fetchFromGitHub { + owner = "wykurz"; + repo = "rcp"; + rev = "v${version}"; + hash = "sha256-5CqQwTJAQhO9mLfMan6JhNY3N2gfwR6wmGtVBYzVxuc="; + }; + + cargoHash = "sha256-sF7RjuVRNfJa3vw71S+BKIBLeWT6biekAE/56BsZYkw="; + + checkFlags = [ + # this test also sets setuid permissions on a test file (3oXXX) which doesn't work in a sandbox + "--skip=copy::copy_tests::check_default_mode" + ]; + + meta = with lib; { + changelog = "https://github.com/wykurz/rcp/releases/tag/v${version}"; + description = "Tools to efficiently copy, remove and link large filesets"; + homepage = "https://github.com/wykurz/rcp"; + license = with licenses; [ mit ]; + mainProgram = "rcp"; + maintainers = with maintainers; [ wykurz ]; + }; +} diff --git a/pkgs/tools/misc/silicon/Cargo.lock b/pkgs/by-name/si/silicon/Cargo.lock similarity index 72% rename from pkgs/tools/misc/silicon/Cargo.lock rename to pkgs/by-name/si/silicon/Cargo.lock index 1902b848c083..0133214e7095 100644 --- a/pkgs/tools/misc/silicon/Cargo.lock +++ b/pkgs/by-name/si/silicon/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "ab_glyph_rasterizer" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "330223a1aecc308757b9926e9391c9b47f8ef2dbd8aea9df88312aea18c5e8d6" +checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" [[package]] name = "adler" @@ -25,9 +25,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.65" +version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] name = "approx" @@ -57,9 +57,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "base64" -version = "0.13.0" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" [[package]] name = "bincode" @@ -76,6 +76,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" + [[package]] name = "block" version = "0.1.6" @@ -84,21 +90,24 @@ checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" [[package]] name = "bytemuck" -version = "1.12.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f5715e491b5a1598fc2bef5a606847b5dc1d48ea625bd3c02c00de8285591da" +checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "cc" -version = "1.0.73" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] [[package]] name = "cfg-if" @@ -114,7 +123,7 @@ checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ "ansi_term", "atty", - "bitflags", + "bitflags 1.3.2", "strsim", "term_size", "textwrap", @@ -146,9 +155,9 @@ dependencies = [ [[package]] name = "clipboard-win" -version = "4.4.2" +version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4ab1b92798304eedc095b53942963240037c0516452cb11aeba709d420b2219" +checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362" dependencies = [ "error-code", "str-buf", @@ -157,20 +166,20 @@ dependencies = [ [[package]] name = "cmake" -version = "0.1.48" +version = "0.1.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8ad8cef104ac57b68b89df3208164d228503abbdce70f6880ffa3d970e7443a" +checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130" dependencies = [ "cc", ] [[package]] name = "cocoa" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63902e9223530efb4e26ccd0cf55ec30d592d3b42e21a28defc42a9586e832" +checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" dependencies = [ - "bitflags", + "bitflags 1.3.2", "block", "cocoa-foundation", "core-foundation", @@ -182,15 +191,14 @@ dependencies = [ [[package]] name = "cocoa-foundation" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318" +checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" dependencies = [ - "bitflags", + "bitflags 1.3.2", "block", "core-foundation", "core-graphics-types", - "foreign-types", "libc", "objc", ] @@ -228,9 +236,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "core-graphics" @@ -238,7 +246,7 @@ version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "core-graphics-types", "foreign-types", @@ -247,13 +255,12 @@ dependencies = [ [[package]] name = "core-graphics-types" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b" +checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", - "foreign-types", "libc", ] @@ -278,21 +285,11 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "crossbeam-channel" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" -dependencies = [ - "cfg-if", - "crossbeam-utils", -] - [[package]] name = "crossbeam-deque" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" dependencies = [ "cfg-if", "crossbeam-epoch", @@ -301,9 +298,9 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.11" +version = "0.9.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" dependencies = [ "autocfg", "cfg-if", @@ -314,9 +311,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.12" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" dependencies = [ "cfg-if", ] @@ -327,6 +324,15 @@ version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9" +[[package]] +name = "deranged" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +dependencies = [ + "powerfmt", +] + [[package]] name = "dirs" version = "4.0.0" @@ -370,9 +376,9 @@ dependencies = [ [[package]] name = "dlib" -version = "0.5.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794" +checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ "libloading", ] @@ -391,15 +397,15 @@ dependencies = [ [[package]] name = "either" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "env_logger" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" dependencies = [ "atty", "humantime", @@ -407,6 +413,22 @@ dependencies = [ "termcolor", ] +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8" +dependencies = [ + "libc", + "windows-sys", +] + [[package]] name = "error-code" version = "2.3.1" @@ -419,18 +441,24 @@ dependencies = [ [[package]] name = "fastrand" -version = "1.8.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" + +[[package]] +name = "fdeflate" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868" dependencies = [ - "instant", + "simd-adler32", ] [[package]] name = "flate2" -version = "1.0.24" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", "miniz_oxide", @@ -454,7 +482,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21fe28504d371085fae9ac7a3450f0b289ab71e07c8e57baa3fb68b9e57d6ce5" dependencies = [ - "bitflags", + "bitflags 1.3.2", "byteorder", "core-foundation", "core-graphics", @@ -522,9 +550,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.7" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" dependencies = [ "cfg-if", "libc", @@ -547,9 +575,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.12.3" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" [[package]] name = "heck" @@ -577,9 +605,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "image" -version = "0.24.4" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd8e4fb07cf672b1642304e731ef8a6a4c7891d67bb4fd4f5ce58cd6ed86803c" +checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711" dependencies = [ "bytemuck", "byteorder", @@ -610,23 +638,14 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ - "autocfg", + "equivalent", "hashbrown", ] -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - [[package]] name = "itertools" version = "0.10.5" @@ -638,15 +657,15 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.4" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "jpeg-decoder" -version = "0.2.6" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9478aa10f73e7528198d75109c8be5cd7d15fb530238040148d5f9a22d4c5b3b" +checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e" dependencies = [ "rayon", ] @@ -659,18 +678,29 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.135" +version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "libloading" -version = "0.7.3" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" +checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" dependencies = [ "cfg-if", - "winapi", + "windows-sys", +] + +[[package]] +name = "libredox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +dependencies = [ + "bitflags 2.4.1", + "libc", + "redox_syscall", ] [[package]] @@ -689,13 +719,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] -name = "log" -version = "0.4.17" +name = "linux-raw-sys" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] +checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "malloc_buf" @@ -708,29 +741,37 @@ dependencies = [ [[package]] name = "matrixmultiply" -version = "0.3.2" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add85d4dd35074e6fedc608f8c8f513a3548619a9024b751949ef0e8e45a4d84" +checksum = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2" dependencies = [ + "autocfg", "rawpointer", ] [[package]] -name = "memoffset" -version = "0.6.5" +name = "memchr" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" + +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" dependencies = [ "autocfg", ] [[package]] name = "miniz_oxide" -version = "0.5.4" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" dependencies = [ "adler", + "simd-adler32", ] [[package]] @@ -750,9 +791,9 @@ dependencies = [ [[package]] name = "num" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" +checksum = "b05180d69e3da0e530ba2a1dae5110317e49e3b7f3d41be227dc5f92e49ee7af" dependencies = [ "num-bigint", "num-complex", @@ -764,9 +805,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ "autocfg", "num-integer", @@ -775,9 +816,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.2" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" +checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" dependencies = [ "num-traits", ] @@ -817,32 +858,13 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", ] -[[package]] -name = "num_cpus" -version = "1.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "num_threads" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" -dependencies = [ - "libc", -] - [[package]] name = "objc" version = "0.2.7" @@ -874,9 +896,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.15.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "onig" @@ -884,7 +906,7 @@ version = "6.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f" dependencies = [ - "bitflags", + "bitflags 1.3.2", "libc", "once_cell", "onig_sys", @@ -902,9 +924,9 @@ dependencies = [ [[package]] name = "os_info" -version = "3.5.1" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4750134fb6a5d49afc80777394ad5d95b04bc12068c6abb92fae8f43817270f" +checksum = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e" dependencies = [ "log", "serde", @@ -913,18 +935,18 @@ dependencies = [ [[package]] name = "owned_ttf_parser" -version = "0.6.0" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f923fb806c46266c02ab4a5b239735c144bdeda724a50ed058e5226f594cde3" +checksum = "05e6affeb1632d6ff6a23d2cd40ffed138e82f1532571a26f527c8a284bb2fbb" dependencies = [ "ttf-parser", ] [[package]] name = "paste" -version = "1.0.9" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "pasteboard" @@ -950,59 +972,56 @@ dependencies = [ [[package]] name = "pathfinder_simd" -version = "0.5.1" -source = "git+https://github.com/servo/pathfinder#9e0331742dedfed41d9e7791a9afbead0e0fbcd5" +version = "0.5.2" +source = "git+https://github.com/servo/pathfinder#a3ceb814cac4a817e2883da73df84c3eeddb70de" dependencies = [ "rustc_version", ] -[[package]] -name = "pest" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbc7bc69c062e492337d74d59b120c274fd3d261b6bf6d3207d499b4b379c41a" -dependencies = [ - "thiserror", - "ucd-trie", -] - [[package]] name = "pkg-config" -version = "0.3.25" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "plist" -version = "1.3.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd39bc6cdc9355ad1dc5eeedefee696bb35c34caf21768741e81826c0bbd7225" +checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef" dependencies = [ "base64", "indexmap", "line-wrap", + "quick-xml", "serde", "time", - "xml-rs", ] [[package]] name = "png" -version = "0.17.6" +version = "0.17.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f0e7f4c94ec26ff209cee506314212639d6c91b80afb82984819fafce9df01c" +checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64" dependencies = [ - "bitflags", + "bitflags 1.3.2", "crc32fast", + "fdeflate", "flate2", "miniz_oxide", ] [[package]] -name = "ppv-lite86" -version = "0.2.16" +name = "powerfmt" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro-error" @@ -1013,7 +1032,7 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote", - "syn", + "syn 1.0.109", "version_check", ] @@ -1030,18 +1049,27 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.46" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" dependencies = [ "unicode-ident", ] [[package]] -name = "quote" -version = "1.0.21" +name = "quick-xml" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -1104,77 +1132,77 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.5.3" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" +checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" dependencies = [ - "autocfg", - "crossbeam-deque", "either", "rayon-core", ] [[package]] name = "rayon-core" -version = "1.9.3" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" +checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", ] [[package]] name = "redox_syscall" -version = "0.2.16" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] name = "redox_users" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ - "getrandom 0.2.7", - "redox_syscall", + "getrandom 0.2.11", + "libredox", "thiserror", ] [[package]] name = "regex-syntax" -version = "0.6.27" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" - -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi", -] +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" [[package]] name = "rustc_version" -version = "0.3.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ "semver", ] [[package]] -name = "rusttype" -version = "0.9.2" +name = "rustix" +version = "0.38.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc7c727aded0be18c5b80c1640eae0ac8e396abf6fa8477d96cb37d18ee5ec59" +checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e" +dependencies = [ + "bitflags 2.4.1", + "errno", + "libc", + "linux-raw-sys", + "windows-sys", +] + +[[package]] +name = "rusttype" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ff8374aa04134254b7995b63ad3dc41c7f7236f69528b28553da7d72efaa967" dependencies = [ "ab_glyph_rasterizer", "owned_ttf_parser", @@ -1182,15 +1210,15 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.11" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "safe_arch" -version = "0.6.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794821e4ccb0d9f979512f9c1973480123f9bd62a90d74ab0f9426fcf8f4a529" +checksum = "f398075ce1e6a179b46f51bd88d0598b92b00d3551f1a2d4ac49e771b56ac354" dependencies = [ "bytemuck", ] @@ -1212,53 +1240,41 @@ dependencies = [ [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "semver" -version = "0.11.0" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" -dependencies = [ - "semver-parser", -] - -[[package]] -name = "semver-parser" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" -dependencies = [ - "pest", -] +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" [[package]] name = "serde" -version = "1.0.145" +version = "1.0.193" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b" +checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.145" +version = "1.0.193" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c" +checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.39", ] [[package]] name = "serde_json" -version = "1.0.86" +version = "1.0.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41feea4228a6f1cd09ec7a3593a682276702cd67b5273544757dae23c096f074" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" dependencies = [ "itoa", "ryu", @@ -1273,11 +1289,11 @@ checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" [[package]] name = "silicon" -version = "0.5.1" +version = "0.5.2" dependencies = [ "anyhow", "clipboard", - "clipboard-win 4.4.2", + "clipboard-win 4.5.0", "conv", "dirs", "env_logger", @@ -1298,9 +1314,9 @@ dependencies = [ [[package]] name = "simba" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c48e45e5961033db030b56ad67aef22e9c908c493a6e8348c0a0f6b93433cd77" +checksum = "2f3fd720c48c53cace224ae62bef1bbff363a70c68c4802a78b5cc6159618176" dependencies = [ "approx", "num-complex", @@ -1309,6 +1325,12 @@ dependencies = [ "wide", ] +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + [[package]] name = "str-buf" version = "1.0.6" @@ -1342,14 +1364,25 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn", + "syn 1.0.109", ] [[package]] name = "syn" -version = "1.0.102" +version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fcd952facd492f9be3ef0d0b7032a6e442ee9b361d4acc2b1d0c4aaa5f613a1" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" dependencies = [ "proc-macro2", "quote", @@ -1358,21 +1391,19 @@ dependencies = [ [[package]] name = "syntect" -version = "5.0.0" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6c454c27d9d7d9a84c7803aaa3c50cd088d2906fe3c6e42da3209aa623576a8" +checksum = "e02b4b303bf8d08bfeb0445cba5068a3d306b6baece1d5582171a9bf49188f91" dependencies = [ "bincode", - "bitflags", + "bitflags 1.3.2", "flate2", "fnv", - "lazy_static", "once_cell", "onig", "plist", "regex-syntax", "serde", - "serde_derive", "serde_json", "thiserror", "walkdir", @@ -1381,16 +1412,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.3.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" +checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" dependencies = [ "cfg-if", "fastrand", - "libc", "redox_syscall", - "remove_dir_all", - "winapi", + "rustix", + "windows-sys", ] [[package]] @@ -1405,9 +1435,9 @@ dependencies = [ [[package]] name = "termcolor" -version = "1.1.3" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" dependencies = [ "winapi-util", ] @@ -1424,70 +1454,82 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.37" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.37" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.39", ] [[package]] name = "time" -version = "0.3.15" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d634a985c4d4238ec39cacaed2e7ae552fbd3c476b552c1deac3021b7d7eaf0c" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ + "deranged", "itoa", - "libc", - "num_threads", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" +dependencies = [ + "time-core", ] [[package]] name = "ttf-parser" -version = "0.6.2" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e5d7cd7ab3e47dda6e56542f4bbf3824c15234958c6e1bd6aaa347e93499fdc" +checksum = "7b3e06c9b9d80ed6b745c7159c40b311ad2916abb34a49e9be2653b90db0d8dd" [[package]] name = "typenum" -version = "1.15.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" - -[[package]] -name = "ucd-trie" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "unicode-ident" -version = "1.0.5" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-segmentation" -version = "1.10.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" [[package]] name = "unicode-width" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" [[package]] name = "vec_map" @@ -1503,12 +1545,11 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "walkdir" -version = "2.3.2" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" dependencies = [ "same-file", - "winapi", "winapi-util", ] @@ -1526,9 +1567,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wide" -version = "0.7.5" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae41ecad2489a1655c8ef8489444b0b113c0a0c795944a3572a0931cf7d2525c" +checksum = "c68938b57b33da363195412cfc5fc37c9ed49aa9cfe2156fde64b8d2c9498242" dependencies = [ "bytemuck", "safe_arch", @@ -1552,9 +1593,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" dependencies = [ "winapi", ] @@ -1565,6 +1606,72 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + [[package]] name = "wio" version = "0.2.2" @@ -1593,12 +1700,6 @@ dependencies = [ "log", ] -[[package]] -name = "xml-rs" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3" - [[package]] name = "yaml-rust" version = "0.4.5" diff --git a/pkgs/tools/misc/silicon/default.nix b/pkgs/by-name/si/silicon/package.nix similarity index 62% rename from pkgs/tools/misc/silicon/default.nix rename to pkgs/by-name/si/silicon/package.nix index 1da4d20c673f..57a86a27213d 100644 --- a/pkgs/tools/misc/silicon/default.nix +++ b/pkgs/by-name/si/silicon/package.nix @@ -10,9 +10,7 @@ , libxcb , python3 , libiconv -, AppKit -, CoreText -, Security +, darwin , fira-code , fontconfig , harfbuzz @@ -20,33 +18,30 @@ rustPlatform.buildRustPackage rec { pname = "silicon"; - version = "0.5.1"; + version = "0.5.2"; src = fetchFromGitHub { owner = "Aloxaf"; repo = "silicon"; rev = "v${version}"; - hash = "sha256-RuzaRJr1n21MbHSeHBt8CjEm5AwbDbvX9Nw5PeBTl+w="; + hash = "sha256-fk1qaR7z9taOuNmjMCSdq7RybgV/3u7njU0Gehb98Lk="; }; - patches = [ - # fix build on aarch64-linux, see https://github.com/Aloxaf/silicon/pull/210 - (fetchpatch { - url = "https://github.com/Aloxaf/silicon/commit/f666c95d3dab85a81d60067e2f25d29ee8ab59e7.patch"; - hash = "sha256-L6tF9ndC38yVn5ZNof1TMxSImmaqZ6bJ/NYhb0Ebji4="; - }) - ]; - cargoLock = { lockFile = ./Cargo.lock; outputHashes = { - "pathfinder_simd-0.5.1" = "sha256-jQCa8TpGHLWvDT9kXWmlw51QtpKImPlWi082Va721cE="; + "pathfinder_simd-0.5.2" = "sha256-b9RuxtTRKJ9Bnh0AWkoInRVrK/a3KV/2DCbXhN63yF0="; }; }; buildInputs = [ expat freetype fira-code fontconfig harfbuzz ] ++ lib.optionals stdenv.isLinux [ libxcb ] - ++ lib.optionals stdenv.isDarwin [ libiconv AppKit CoreText Security ]; + ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ + libiconv + AppKit + CoreText + Security + ]); nativeBuildInputs = [ cmake pkg-config rustPlatform.bindgenHook ] ++ lib.optionals stdenv.isLinux [ python3 ]; diff --git a/pkgs/by-name/te/terraform-plugin-docs/package.nix b/pkgs/by-name/te/terraform-plugin-docs/package.nix index 04f67c424ce6..e1468d251313 100644 --- a/pkgs/by-name/te/terraform-plugin-docs/package.nix +++ b/pkgs/by-name/te/terraform-plugin-docs/package.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "terraform-plugin-docs"; - version = "0.17.0"; + version = "0.18.0"; src = fetchFromGitHub { owner = "hashicorp"; repo = "terraform-plugin-docs"; rev = "refs/tags/v${version}"; - sha256 = "sha256-ID+4Pz6SUPzZTZYX6IHn/U02Ffw95he/gogV0mNA2OA="; + sha256 = "sha256-8rNoH01fWNGWH3cSqqFCGetl5S/d3yVh+pmIzg79g3k="; }; - vendorHash = "sha256-HseQBCvflmnlKX4PygWejPbyXRJmNUyl2K2//b4/tik="; + vendorHash = "sha256-9ddxgceILBP1NqbGr08cfdPs0BHSjQWN0MkFA5oqyPE="; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/tr/trealla/package.nix b/pkgs/by-name/tr/trealla/package.nix index 44ae8b7775b4..e125ec2b1583 100644 --- a/pkgs/by-name/tr/trealla/package.nix +++ b/pkgs/by-name/tr/trealla/package.nix @@ -17,13 +17,13 @@ assert lib.elem lineEditingLibrary [ "isocline" "readline" ]; stdenv.mkDerivation (finalAttrs: { pname = "trealla"; - version = "2.32.13"; + version = "2.34.0"; src = fetchFromGitHub { owner = "trealla-prolog"; repo = "trealla"; rev = "v${finalAttrs.version}"; - hash = "sha256-Meyy6muzJt/Lg76sa+nwZXCOhfeMTwO4VYTXO/o20XI="; + hash = "sha256-cqIiPeQO/M8MtpHRomN/fzxIq7TgUwZSvL3PFCVsEnY="; }; postPatch = '' @@ -38,9 +38,9 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = - lib.optional enableFFI libffi - ++ lib.optional enableSSL openssl - ++ lib.optional (lineEditingLibrary == "readline") readline; + lib.optionals enableFFI [ libffi ] + ++ lib.optionals enableSSL [ openssl ] + ++ lib.optionals (lineEditingLibrary == "readline") [ readline ]; nativeCheckInputs = lib.optionals finalAttrs.finalPackage.doCheck [ valgrind ]; @@ -49,10 +49,10 @@ stdenv.mkDerivation (finalAttrs: { makeFlags = [ "GIT_VERSION=\"v${finalAttrs.version}\"" ] - ++ lib.optional (lineEditingLibrary == "isocline") "ISOCLINE=1" - ++ lib.optional (!enableFFI) "NOFFI=1" - ++ lib.optional (!enableSSL) "NOSSL=1" - ++ lib.optional enableThreads "THREADS=1"; + ++ lib.optionals (lineEditingLibrary == "isocline") [ "ISOCLINE=1" ] + ++ lib.optionals (!enableFFI) [ "NOFFI=1" ] + ++ lib.optionals (!enableSSL) [ "NOSSL=1" ] + ++ lib.optionals enableThreads [ "THREADS=1" ]; enableParallelBuilding = true; @@ -66,7 +66,7 @@ stdenv.mkDerivation (finalAttrs: { checkFlags = [ "test" - ] ++ lib.optional checkLeaks "leaks"; + ] ++ lib.optionals checkLeaks [ "leaks" ]; passthru.updateScript = gitUpdater { rev-prefix = "v"; diff --git a/pkgs/data/fonts/lxgw-neoxihei/default.nix b/pkgs/data/fonts/lxgw-neoxihei/default.nix index 0e7a9888aed8..2b1425f44cff 100644 --- a/pkgs/data/fonts/lxgw-neoxihei/default.nix +++ b/pkgs/data/fonts/lxgw-neoxihei/default.nix @@ -5,11 +5,11 @@ stdenvNoCC.mkDerivation rec { pname = "lxgw-neoxihei"; - version = "1.108"; + version = "1.109"; src = fetchurl { url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf"; - hash = "sha256-Wx2fmvIEHgimu7BJ49xWK7c08Rsf3fsjMLTdyedgK3I="; + hash = "sha256-LnbkHmEyxqv1W/qWeCVQGHKLuv6qX3P8zUMUxx61t38="; }; dontUnpack = true; diff --git a/pkgs/data/themes/alacritty-theme/default.nix b/pkgs/data/themes/alacritty-theme/default.nix index d7e1ea641bb8..c8d8184768f8 100644 --- a/pkgs/data/themes/alacritty-theme/default.nix +++ b/pkgs/data/themes/alacritty-theme/default.nix @@ -6,13 +6,13 @@ stdenvNoCC.mkDerivation (self: { name = "alacritty-theme"; - version = "unstable-2024-01-15"; + version = "unstable-2024-01-21"; src = fetchFromGitHub { owner = "alacritty"; repo = "alacritty-theme"; - rev = "489cb8d014e5e2d6aea8bc8a5680a10b8b13b0c3"; - hash = "sha256-47F9YwhIDEvPK01zMwwUcAJ3xAetXhWfRHf1cfpuna4="; + rev = "f03686afad05274f5fbd2507f85f95b1a6542df4"; + hash = "sha256-457kKE3I4zGf1EKkEoyZu0Fa/1O3yiryzHVEw2rNZt8="; }; dontConfigure = true; diff --git a/pkgs/development/compilers/ghc/8.10.2-binary.nix b/pkgs/development/compilers/ghc/8.10.2-binary.nix deleted file mode 100644 index c8d645cfa361..000000000000 --- a/pkgs/development/compilers/ghc/8.10.2-binary.nix +++ /dev/null @@ -1,457 +0,0 @@ -{ lib, stdenv -, fetchurl, perl, gcc -, ncurses5 -, ncurses6, gmp, libiconv, numactl -, llvmPackages -, coreutils -, targetPackages - - # minimal = true; will remove files that aren't strictly necessary for - # regular builds and GHC bootstrapping. - # This is "useful" for staying within hydra's output limits for at least the - # aarch64-linux architecture. -, minimal ? false -}: - -# Prebuilt only does native -assert stdenv.targetPlatform == stdenv.hostPlatform; - -let - downloadsUrl = "https://downloads.haskell.org/ghc"; - - version = "8.10.2"; - - # Information about available bindists that we use in the build. - # - # # Bindist library checking - # - # The field `archSpecificLibraries` also provides a way for us get notified - # early when the upstream bindist changes its dependencies (e.g. because a - # newer Debian version is used that uses a new `ncurses` version). - # - # Usage: - # - # * You can find the `fileToCheckFor` of libraries by running `readelf -d` - # on the compiler binary (`exePathForLibraryCheck`). - # * To skip library checking for an architecture, - # set `exePathForLibraryCheck = null`. - # * To skip file checking for a specific arch specfic library, - # set `fileToCheckFor = null`. - ghcBinDists = { - # Binary distributions for the default libc (e.g. glibc, or libSystem on Darwin) - # nixpkgs uses for the respective system. - defaultLibc = { - i686-linux = { - variantSuffix = ""; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-i386-deb9-linux.tar.xz"; - sha256 = "0bvwisl4w0z5z8z0da10m9sv0mhm9na2qm43qxr8zl23mn32mblx"; - }; - exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2"; - archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - # The i686-linux bindist provided by GHC HQ is currently built on Debian 9, - # which link it against `libtinfo.so.5` (ncurses 5). - # Other bindists are linked `libtinfo.so.6` (ncurses 6). - { nixPackage = ncurses5; fileToCheckFor = "libtinfo.so.5"; } - ]; - }; - x86_64-linux = { - variantSuffix = ""; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-deb10-linux.tar.xz"; - sha256 = "0chnzy9j23b2wa8clx5arwz8wnjfxyjmz9qkj548z14cqf13slcl"; - }; - exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2"; - archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = "libtinfo.so.6"; } - ]; - }; - armv7l-linux = { - variantSuffix = ""; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-armv7-deb10-linux.tar.xz"; - sha256 = "1j41cq5d3rmlgz7hzw8f908fs79gc5mn3q5wz277lk8zdf19g75v"; - }; - exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2"; - archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = "libtinfo.so.6"; } - ]; - }; - aarch64-linux = { - variantSuffix = ""; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-aarch64-deb10-linux.tar.xz"; - sha256 = "14smwl3741ixnbgi0l51a7kh7xjkiannfqx15b72svky0y4l3wjw"; - }; - exePathForLibraryCheck = "ghc/stage2/build/tmp/ghc-stage2"; - archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = "libtinfo.so.6"; } - { nixPackage = numactl; fileToCheckFor = null; } - ]; - }; - x86_64-darwin = { - variantSuffix = ""; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz"; - sha256 = "1hngyq14l4f950hzhh2d204ca2gfc98pc9xdasxihzqd1jq75dzd"; - }; - exePathForLibraryCheck = null; # we don't have a library check for darwin yet - archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - { nixPackage = ncurses6; fileToCheckFor = null; } - { nixPackage = libiconv; fileToCheckFor = null; } - ]; - }; - }; - # Binary distributions for the musl libc for the respective system. - musl = { - x86_64-linux = { - variantSuffix = "-musl"; - src = { - url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-alpine3.10-linux-integer-simple.tar.xz"; - sha256 = "0xpcbyaxqyhbl6f0i3s4rp2jm67nqpkfh2qlbj3i2fiaix89ml0l"; - }; - exePathForLibraryCheck = "bin/ghc"; - archSpecificLibraries = [ - { nixPackage = gmp; fileToCheckFor = null; } - # In contrast to glibc builds, the musl-bindist uses `libncursesw.so.*` - # instead of `libtinfo.so.*.` - { nixPackage = ncurses6; fileToCheckFor = "libncursesw.so.6"; } - ]; - isHadrian = true; - }; - }; - }; - - distSetName = if stdenv.hostPlatform.isMusl then "musl" else "defaultLibc"; - - binDistUsed = ghcBinDists.${distSetName}.${stdenv.hostPlatform.system} - or (throw "cannot bootstrap GHC on this platform ('${stdenv.hostPlatform.system}' with libc '${distSetName}')"); - - useLLVM = !stdenv.targetPlatform.isx86; - - libPath = - lib.makeLibraryPath ( - # Add arch-specific libraries. - map ({ nixPackage, ... }: nixPackage) binDistUsed.archSpecificLibraries - ); - - libEnvVar = lib.optionalString stdenv.hostPlatform.isDarwin "DY" - + "LD_LIBRARY_PATH"; - - runtimeDeps = [ - targetPackages.stdenv.cc - targetPackages.stdenv.cc.bintools - coreutils # for cat - ] - ++ lib.optionals useLLVM [ - (lib.getBin llvmPackages.llvm) - ] - # On darwin, we need unwrapped bintools as well (for otool) - ++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [ - targetPackages.stdenv.cc.bintools.bintools - ]; - -in - -stdenv.mkDerivation rec { - inherit version; - pname = "ghc-binary${binDistUsed.variantSuffix}"; - - src = fetchurl binDistUsed.src; - - # Note that for GHC 8.10 versions <= 8.10.5, the GHC HQ musl bindist - # has a `gmp` dependency: - # https://gitlab.haskell.org/ghc/ghc/-/commit/8306501020cd66f683ad9c215fa8e16c2d62357d - # Related nixpkgs issues: - # * https://github.com/NixOS/nixpkgs/pull/130441#issuecomment-922452843 - - nativeBuildInputs = [ perl ]; - propagatedBuildInputs = - # Because musl bindists currently provide no way to tell where - # libgmp is (see not [musl bindists have no .buildinfo]), we need - # to propagate `gmp`, otherwise programs built by this ghc will - # fail linking with `cannot find -lgmp` errors. - # Concrete cases are listed in: - # https://github.com/NixOS/nixpkgs/pull/130441#issuecomment-922459988 - # - # Also, as of writing, the release pages of musl bindists claim - # that they use `integer-simple` and do not require `gmp`; however - # that is incorrect, so `gmp` is required until a release has been - # made that includes https://gitlab.haskell.org/ghc/ghc/-/issues/20059. - # (Note that for packaging the `-binary` compiler, nixpkgs does not care - # about whether or not `gmp` is used; this comment is just here to explain - # why the `gmp` dependency exists despite what the release page says.) - # - # For GHC >= 8.10.6, `gmp` was switched out for `integer-simple` - # (https://gitlab.haskell.org/ghc/ghc/-/commit/8306501020cd66f683ad9c215fa8e16c2d62357d), - # fixing the above-mentioned release issue, - # and for GHC >= 9.* it is not clear as of writing whether that switch - # will be made there too. - lib.optionals stdenv.hostPlatform.isMusl [ gmp ]; # musl bindist needs this - - # Set LD_LIBRARY_PATH or equivalent so that the programs running as part - # of the bindist installer can find the libraries they expect. - # Cannot patchelf beforehand due to relative RPATHs that anticipate - # the final install location. - ${libEnvVar} = libPath; - - postUnpack = - # Verify our assumptions of which `libtinfo.so` (ncurses) version is used, - # so that we know when ghc bindists upgrade that and we need to update the - # version used in `libPath`. - lib.optionalString - (binDistUsed.exePathForLibraryCheck != null) - # Note the `*` glob because some GHCs have a suffix when unpacked, e.g. - # the musl bindist has dir `ghc-VERSION-x86_64-unknown-linux/`. - # As a result, don't shell-quote this glob when splicing the string. - (let buildExeGlob = ''ghc-${version}*/"${binDistUsed.exePathForLibraryCheck}"''; in - lib.concatStringsSep "\n" [ - ('' - shopt -u nullglob - echo "Checking that ghc binary exists in bindist at ${buildExeGlob}" - if ! test -e ${buildExeGlob}; then - echo >&2 "GHC binary ${binDistUsed.exePathForLibraryCheck} could not be found in the bindist build directory (at ${buildExeGlob}) for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; - fi - '') - (lib.concatMapStringsSep - "\n" - ({ fileToCheckFor, nixPackage }: - lib.optionalString (fileToCheckFor != null) '' - echo "Checking bindist for ${fileToCheckFor} to ensure that is still used" - if ! readelf -d ${buildExeGlob} | grep "${fileToCheckFor}"; then - echo >&2 "File ${fileToCheckFor} could not be found in ${binDistUsed.exePathForLibraryCheck} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; - fi - - echo "Checking that the nix package ${nixPackage} contains ${fileToCheckFor}" - if ! test -e "${lib.getLib nixPackage}/lib/${fileToCheckFor}"; then - echo >&2 "Nix package ${nixPackage} did not contain ${fileToCheckFor} for arch ${stdenv.hostPlatform.system}, please check that ghcBinDists correctly reflect the bindist dependencies!"; exit 1; - fi - '' - ) - binDistUsed.archSpecificLibraries - ) - ]) - # GHC has dtrace probes, which causes ld to try to open /usr/lib/libdtrace.dylib - # during linking - + lib.optionalString stdenv.isDarwin '' - export NIX_LDFLAGS+=" -no_dtrace_dof" - # not enough room in the object files for the full path to libiconv :( - for exe in $(find . -type f -executable); do - isScript $exe && continue - ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib - install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe - done - '' + - - # Some scripts used during the build need to have their shebangs patched - '' - patchShebangs ghc-${version}/utils/ - patchShebangs ghc-${version}/configure - test -d ghc-${version}/inplace/bin && \ - patchShebangs ghc-${version}/inplace/bin - '' + - # We have to patch the GMP paths for the integer-gmp package. - # Note [musl bindists have no .buildinfo] - # Note that musl bindists do not contain them; unclear if that's intended; - # see: https://gitlab.haskell.org/ghc/ghc/-/issues/20073#note_363231 - '' - find . -name integer-gmp.buildinfo \ - -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp.out}/lib@" {} \; - '' + lib.optionalString stdenv.isDarwin '' - find . -name base.buildinfo \ - -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${libiconv}/lib@" {} \; - '' + - # aarch64 does HAVE_NUMA so -lnuma requires it in library-dirs in rts/package.conf.in - # FFI_LIB_DIR is a good indication of places it must be needed. - lib.optionalString stdenv.hostPlatform.isAarch64 '' - find . -name package.conf.in \ - -exec sed -i "s@FFI_LIB_DIR@FFI_LIB_DIR ${numactl.out}/lib@g" {} \; - '' + - # Rename needed libraries and binaries, fix interpreter - lib.optionalString stdenv.isLinux '' - find . -type f -executable -exec patchelf \ - --interpreter ${stdenv.cc.bintools.dynamicLinker} {} \; - '' + - # The hadrian install Makefile uses 'xxx' as a temporary placeholder in path - # substitution. Which can break the build if the store path / prefix happens - # to contain this string. This will be fixed with 9.4 bindists. - # https://gitlab.haskell.org/ghc/ghc/-/issues/21402 - '' - # Detect hadrian Makefile by checking for the target that has the problem - if grep '^update_package_db' ghc-${version}*/Makefile > /dev/null; then - echo Hadrian bindist, applying workaround for xxx path substitution. - # based on https://gitlab.haskell.org/ghc/ghc/-/commit/dd5fecb0e2990b192d92f4dfd7519ecb33164fad.patch - substituteInPlace ghc-${version}*/Makefile --replace 'xxx' '\0xxx\0' - else - echo Not a hadrian bindist, not applying xxx path workaround. - fi - ''; - - # fix for `configure: error: Your linker is affected by binutils #16177` - preConfigure = lib.optionalString - stdenv.targetPlatform.isAarch32 - "LD=ld.gold"; - - configurePlatforms = [ ]; - configureFlags = [ - "--with-gmp-includes=${lib.getDev gmp}/include" - # Note `--with-gmp-libraries` does nothing for GHC bindists: - # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6124 - ] ++ lib.optional stdenv.isDarwin "--with-gcc=${./gcc-clang-wrapper.sh}" - # From: https://github.com/NixOS/nixpkgs/pull/43369/commits - ++ lib.optional stdenv.hostPlatform.isMusl "--disable-ld-override"; - - # No building is necessary, but calling make without flags ironically - # calls install-strip ... - dontBuild = true; - - # Patch scripts to include runtime dependencies in $PATH. - postInstall = '' - for i in "$out/bin/"*; do - test ! -h "$i" || continue - isScript "$i" || continue - sed -i -e '2i export PATH="${lib.makeBinPath runtimeDeps}:$PATH"' "$i" - done - ''; - - # Apparently necessary for the ghc Alpine (musl) bindist: - # When we strip, and then run the - # patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p - # below, running ghc (e.g. during `installCheckPhase)` gives some apparently - # corrupted rpath or whatever makes the loader work on nonsensical strings: - # running install tests - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: : symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: ir6zf6c9f86pfx8sr30n2vjy-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/../lib/x86_64-linux-ghc-8.10.5/libHSexceptions-0.10.4-ghc8.10.5.so: symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: y/lib/ghc-8.10.5/bin/../lib/x86_64-linux-ghc-8.10.5/libHStemplate-haskell-2.16.0.0-ghc8.10.5.so: symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: 8.10.5/libHStemplate-haskell-2.16.0.0-ghc8.10.5.so: symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: �: symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: �?: symbol not found - # Error relocating /nix/store/...-ghc-8.10.2-binary/lib/ghc-8.10.5/bin/ghc: 64-linux-ghc-8.10.5/libHSexceptions-0.10.4-ghc8.10.5.so: symbol not found - # This is extremely bogus and should be investigated. - dontStrip = if stdenv.hostPlatform.isMusl then true else false; # `if` for explicitness - - # On Linux, use patchelf to modify the executables so that they can - # find editline/gmp. - postFixup = lib.optionalString stdenv.isLinux - (if stdenv.hostPlatform.isAarch64 then - # Keep rpath as small as possible on aarch64 for patchelf#244. All Elfs - # are 2 directories deep from $out/lib, so pooling symlinks there makes - # a short rpath. - '' - (cd $out/lib; ln -s ${ncurses6.out}/lib/libtinfo.so.6) - (cd $out/lib; ln -s ${gmp.out}/lib/libgmp.so.10) - (cd $out/lib; ln -s ${numactl.out}/lib/libnuma.so.1) - for p in $(find "$out/lib" -type f -name "*\.so*"); do - (cd $out/lib; ln -s $p) - done - - for p in $(find "$out/lib" -type f -executable); do - if isELF "$p"; then - echo "Patchelfing $p" - patchelf --set-rpath "\$ORIGIN:\$ORIGIN/../.." $p - fi - done - '' - else - '' - for p in $(find "$out" -type f -executable); do - if isELF "$p"; then - echo "Patchelfing $p" - patchelf --set-rpath "${libPath}:$(patchelf --print-rpath $p)" $p - fi - done - '') + lib.optionalString stdenv.isDarwin '' - # not enough room in the object files for the full path to libiconv :( - for exe in $(find "$out" -type f -executable); do - isScript $exe && continue - ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib - install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe - done - - for file in $(find "$out" -name setup-config); do - substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)" - done - '' + - lib.optionalString minimal '' - # Remove profiling files - find $out -type f -name '*.p_o' -delete - find $out -type f -name '*.p_hi' -delete - find $out -type f -name '*_p.a' -delete - # `-f` because e.g. musl bindist does not have this file. - rm -f $out/lib/ghc-*/bin/ghc-iserv-prof - # Hydra will redistribute this derivation, so we have to keep the docs for - # legal reasons (retaining the legal notices etc) - # As a last resort we could unpack the docs separately and symlink them in. - # They're in $out/share/{doc,man}. - ''; - - # In nixpkgs, musl based builds currently enable `pie` hardening by default - # (see `defaultHardeningFlags` in `make-derivation.nix`). - # But GHC cannot currently produce outputs that are ready for `-pie` linking. - # Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear. - # See: - # * https://github.com/NixOS/nixpkgs/issues/129247 - # * https://gitlab.haskell.org/ghc/ghc/-/issues/19580 - hardeningDisable = lib.optional stdenv.targetPlatform.isMusl "pie"; - - doInstallCheck = true; - installCheckPhase = '' - # Sanity check, can ghc create executables? - cd $TMP - mkdir test-ghc; cd test-ghc - cat > main.hs << EOF - {-# LANGUAGE TemplateHaskell #-} - module Main where - main = putStrLn \$([|"yes"|]) - EOF - # can't use env -i here because otherwise we don't find -lgmp on musl - env ${libEnvVar}= PATH= \ - $out/bin/ghc --make main.hs || exit 1 - echo compilation ok - [ $(./main) == "yes" ] - ''; - - passthru = { - targetPrefix = ""; - enableShared = true; - - inherit llvmPackages; - - # Our Cabal compiler name - haskellCompilerName = "ghc-${version}"; - } - # We duplicate binDistUsed here since we have a sensible default even if no bindist is avaible, - # this makes sure that getting the `meta` attribute doesn't throw even on unsupported platforms. - // lib.optionalAttrs (ghcBinDists.${distSetName}.${stdenv.hostPlatform.system}.isHadrian or false) { - # Normal GHC derivations expose the hadrian derivation used to build them - # here. In the case of bindists we just make sure that the attribute exists, - # as it is used for checking if a GHC derivation has been built with hadrian. - # The isHadrian mechanism will become obsolete with GHCs that use hadrian - # exclusively, i.e. 9.6 (and 9.4?). - hadrian = null; - }; - - meta = rec { - homepage = "http://haskell.org/ghc"; - description = "The Glasgow Haskell Compiler"; - license = lib.licenses.bsd3; - # HACK: since we can't encode the libc / abi in platforms, we need - # to make the platform list dependent on the evaluation platform - # in order to avoid eval errors with musl which supports less - # platforms than the default libcs (i. e. glibc / libSystem). - # This is done for the benefit of Hydra, so `packagePlatforms` - # won't return any platforms that would cause an evaluation - # failure for `pkgsMusl.haskell.compiler.ghc8102Binary`, as - # long as the evaluator runs on a platform that supports - # `pkgsMusl`. - platforms = builtins.attrNames ghcBinDists.${distSetName}; - maintainers = with lib.maintainers; [ - guibou - ] ++ lib.teams.haskell.members; - }; -} diff --git a/pkgs/development/compilers/ghc/8.10.7-binary.nix b/pkgs/development/compilers/ghc/8.10.7-binary.nix index 3376671d65b4..16642e56bfd9 100644 --- a/pkgs/development/compilers/ghc/8.10.7-binary.nix +++ b/pkgs/development/compilers/ghc/8.10.7-binary.nix @@ -442,7 +442,7 @@ stdenv.mkDerivation rec { # platforms than the default libcs (i. e. glibc / libSystem). # This is done for the benefit of Hydra, so `packagePlatforms` # won't return any platforms that would cause an evaluation - # failure for `pkgsMusl.haskell.compiler.ghc8102Binary`, as + # failure for `pkgsMusl.haskell.compiler.ghc8107Binary`, as # long as the evaluator runs on a platform that supports # `pkgsMusl`. platforms = builtins.attrNames ghcBinDists.${distSetName}; diff --git a/pkgs/development/compilers/ghc/8.6.5-binary.nix b/pkgs/development/compilers/ghc/8.6.5-binary.nix index 5f9d6c824d42..d66f47b661a5 100644 --- a/pkgs/development/compilers/ghc/8.6.5-binary.nix +++ b/pkgs/development/compilers/ghc/8.6.5-binary.nix @@ -222,7 +222,7 @@ stdenv.mkDerivation rec { "x86_64-darwin" "powerpc64le-linux" ]; - # build segfaults, use ghc8102Binary which has proper musl support instead + # build segfaults, use ghc8107Binary which has proper musl support instead broken = stdenv.hostPlatform.isMusl; maintainers = with lib.maintainers; [ guibou diff --git a/pkgs/development/compilers/julia/generic-bin.nix b/pkgs/development/compilers/julia/generic-bin.nix index e19a0e020a4a..09a8c2bce3bf 100644 --- a/pkgs/development/compilers/julia/generic-bin.nix +++ b/pkgs/development/compilers/julia/generic-bin.nix @@ -16,10 +16,14 @@ let # Test flaky because of our RPATH patching # https://github.com/NixOS/nixpkgs/pull/230965#issuecomment-1545336489 "compiler/codegen" + # Test flaky + "read" ] ++ lib.optionals (lib.versionAtLeast version "1.10") [ # Test flaky # https://github.com/JuliaLang/julia/issues/52739 "REPL" + # Test flaky + "ccall" ] ++ lib.optionals stdenv.isDarwin [ # Test flaky on ofborg "FileWatching" diff --git a/pkgs/development/compilers/julia/patches/1.10/0001-skip-building-docs-as-it-requires-network-access.patch b/pkgs/development/compilers/julia/patches/1.10/0001-skip-building-docs-as-it-requires-network-access.patch index e7bc9187cead..6ff33b342cfd 100644 --- a/pkgs/development/compilers/julia/patches/1.10/0001-skip-building-docs-as-it-requires-network-access.patch +++ b/pkgs/development/compilers/julia/patches/1.10/0001-skip-building-docs-as-it-requires-network-access.patch @@ -30,5 +30,5 @@ index 1565014a0f..edd5c65244 100644 -rm -f $(DESTDIR)$(datarootdir)/julia/base/version_git.sh -rm -f $(DESTDIR)$(datarootdir)/julia/test/Makefile -- -2.42.0 +2.43.0 diff --git a/pkgs/development/compilers/julia/patches/1.10/0002-skip-failing-and-flaky-tests.patch b/pkgs/development/compilers/julia/patches/1.10/0002-skip-failing-and-flaky-tests.patch index 2b9986107faf..474653bf342c 100644 --- a/pkgs/development/compilers/julia/patches/1.10/0002-skip-failing-and-flaky-tests.patch +++ b/pkgs/development/compilers/julia/patches/1.10/0002-skip-failing-and-flaky-tests.patch @@ -1,4 +1,4 @@ -From c7e2f6ed00c170b68d5d156faac38aa76d4490fd Mon Sep 17 00:00:00 2001 +From 9da2f2596db9f4f1a61825d82d9b8c3f3b2e99aa Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Wed, 10 Jan 2024 20:58:20 -0500 Subject: [PATCH 2/2] skip failing and flaky tests @@ -8,7 +8,7 @@ Subject: [PATCH 2/2] skip failing and flaky tests 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Makefile b/test/Makefile -index 88dbe5b2b4..f0bdedfdf5 100644 +index 88dbe5b2b4..a2a7a55e20 100644 --- a/test/Makefile +++ b/test/Makefile @@ -28,7 +28,7 @@ default: @@ -16,10 +16,10 @@ index 88dbe5b2b4..f0bdedfdf5 100644 $(TESTS): @cd $(SRCDIR) && \ - $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl $@) -+ $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl --skip NetworkOptions REPL channels $@) ++ $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl --skip NetworkOptions REPL channels FileWatching ccall $@) $(addprefix revise-, $(TESTS)): revise-% : @cd $(SRCDIR) && \ -- -2.42.0 +2.43.0 diff --git a/pkgs/development/compilers/rust/1_75.nix b/pkgs/development/compilers/rust/1_75.nix index 829b26cac367..2ca1e2d294bc 100644 --- a/pkgs/development/compilers/rust/1_75.nix +++ b/pkgs/development/compilers/rust/1_75.nix @@ -10,11 +10,9 @@ # 3. Firefox and Thunderbird should still build on x86_64-linux. { stdenv, lib -, buildPackages -, targetPackages , newScope, callPackage , CoreFoundation, Security, SystemConfiguration -, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost +, pkgsBuildTarget, pkgsBuildBuild, pkgsBuildHost, pkgsTargetTarget , makeRustPlatform , wrapRustcWith , llvmPackages_17, llvm_17 @@ -58,4 +56,4 @@ import ./default.nix { rustcPatches = [ ]; } -(builtins.removeAttrs args [ "pkgsBuildTarget" "pkgsBuildHost" "llvmPackages_17" "llvm_17"]) +(builtins.removeAttrs args [ "llvmPackages_17" "llvm_17"]) diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index c08ffa848ef5..31501e668c89 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -12,18 +12,21 @@ , llvmPackages # Exposed through rustc for LTO in Firefox }: { stdenv, lib -, buildPackages -, targetPackages , newScope, callPackage , CoreFoundation, Security, SystemConfiguration , pkgsBuildBuild +, pkgsBuildHost +, pkgsBuildTarget +, pkgsTargetTarget , makeRustPlatform , wrapRustcWith }: let # Use `import` to make sure no packages sneak in here. - lib' = import ../../../build-support/rust/lib { inherit lib stdenv buildPackages targetPackages; }; + lib' = import ../../../build-support/rust/lib { + inherit lib stdenv pkgsBuildHost pkgsBuildTarget pkgsTargetTarget; + }; # Allow faster cross compiler generation by reusing Build artifacts fastCross = (stdenv.buildPlatform == stdenv.hostPlatform) && (stdenv.hostPlatform != stdenv.targetPlatform); in @@ -58,11 +61,11 @@ in else self.buildRustPackages.overrideScope (_: _: lib.optionalAttrs (stdenv.buildPlatform == stdenv.hostPlatform) - (selectRustPackage buildPackages).packages.prebuilt); + (selectRustPackage pkgsBuildHost).packages.prebuilt); bootRustPlatform = makeRustPlatform bootstrapRustPackages; in { # Packages suitable for build-time, e.g. `build.rs`-type stuff. - buildRustPackages = (selectRustPackage buildPackages).packages.stable // { __attrsFailEvaluation = true; }; + buildRustPackages = (selectRustPackage pkgsBuildHost).packages.stable // { __attrsFailEvaluation = true; }; # Analogous to stdenv rustPlatform = makeRustPlatform self.buildRustPackages; rustc-unwrapped = self.callPackage ./rustc.nix ({ diff --git a/pkgs/development/interpreters/expr/default.nix b/pkgs/development/interpreters/expr/default.nix index 2ff0ffd4f6a9..e81e56da9bf0 100644 --- a/pkgs/development/interpreters/expr/default.nix +++ b/pkgs/development/interpreters/expr/default.nix @@ -5,18 +5,18 @@ buildGoModule rec { pname = "expr"; - version = "1.15.8"; + version = "1.16.0"; src = fetchFromGitHub { owner = "antonmedv"; repo = "expr"; rev = "v${version}"; - hash = "sha256-leZEP6RJv136z/bNc1S74tw+JQ3QD7NCMbo/Wo7q0ek="; + hash = "sha256-GLh4NayAbqGXI0Ekkk3lXCRwpLwGLbJIo7WjDfpKDhI="; }; sourceRoot = "${src.name}/repl"; - vendorHash = "sha256-Rs2tlno0vJo8FSdnnk3cxQCCxdByQD1jRzmePzMMfvs="; + vendorHash = "sha256-42kFO7kXIdqVrp2FQGELZ90OUobOp4zbdo533vresIw="; ldflags = [ "-s" "-w" ]; diff --git a/pkgs/development/libraries/libcint/default.nix b/pkgs/development/libraries/libcint/default.nix index 3d8cf70b0db6..439cd74bca63 100644 --- a/pkgs/development/libraries/libcint/default.nix +++ b/pkgs/development/libraries/libcint/default.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "libcint"; - version = "6.1.0"; + version = "6.1.1"; src = fetchFromGitHub { owner = "sunqm"; repo = "libcint"; rev = "v${version}"; - hash = "sha256-qcVVp+81S3Y0fxDWA/PWQeFT2g0N6tIHNUaOHSru2GA="; + hash = "sha256-wV3y+NobV6J+J6I2z3dJdCvTwvfgMspMtAGNpbwfsYk="; }; postPatch = '' diff --git a/pkgs/development/node-packages/overrides.nix b/pkgs/development/node-packages/overrides.nix index 68f95a2f3b02..88d9d76e46e3 100644 --- a/pkgs/development/node-packages/overrides.nix +++ b/pkgs/development/node-packages/overrides.nix @@ -400,9 +400,10 @@ final: prev: { }; }; - volar = final."@volar/vue-language-server".override { + volar = final."@volar/vue-language-server".override ({ meta, ... }: { name = "volar"; - }; + meta = meta // { mainProgram = "vue-language-server"; }; + }); wavedrom-cli = prev.wavedrom-cli.override { nativeBuildInputs = [ pkgs.pkg-config final.node-pre-gyp ]; diff --git a/pkgs/development/python-modules/aiocomelit/default.nix b/pkgs/development/python-modules/aiocomelit/default.nix index 135f8eb54fdb..77ebaa67b68f 100644 --- a/pkgs/development/python-modules/aiocomelit/default.nix +++ b/pkgs/development/python-modules/aiocomelit/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "aiocomelit"; - version = "0.7.4"; + version = "0.8.2"; format = "pyproject"; disabled = pythonOlder "3.10"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "chemelli74"; repo = "aiocomelit"; rev = "refs/tags/v${version}"; - hash = "sha256-F/blKd+6n/mTeqgmA5rVGz8DFJA+317T6sjYfsAAf2E="; + hash = "sha256-SjyC/KiszQVVmctyqCn3i0DureuCtDlUhJTHC6+PQ2c="; }; postPatch = '' diff --git a/pkgs/development/python-modules/aiosql/default.nix b/pkgs/development/python-modules/aiosql/default.nix index 8236533154c8..165342fec1d9 100644 --- a/pkgs/development/python-modules/aiosql/default.nix +++ b/pkgs/development/python-modules/aiosql/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "aiosql"; - version = "9.2"; + version = "9.3"; pyproject = true; disabled = pythonOlder "3.8"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "nackjicholson"; repo = "aiosql"; rev = "refs/tags/${version}"; - hash = "sha256-x8ndLVIYAmixH4Fc1DIC1CK8ChYIPZc3b5VFdpT7JO8="; + hash = "sha256-7bCJykE+7/eA1h4L5MyH/zVPZVMt7cNLXZSWq+8mPtY="; }; sphinxRoot = "docs/source"; diff --git a/pkgs/development/python-modules/ansi/default.nix b/pkgs/development/python-modules/ansi/default.nix index 287bf13a5dee..3fb30ebf7255 100644 --- a/pkgs/development/python-modules/ansi/default.nix +++ b/pkgs/development/python-modules/ansi/default.nix @@ -7,14 +7,14 @@ buildPythonPackage rec { pname = "ansi"; - version = "0.3.6"; + version = "0.3.7"; format = "pyproject"; src = fetchFromGitHub { owner = "tehmaze"; repo = pname; - rev = "${pname}-${version}"; - hash = "sha256-2gu2Dba3LOjMhbCCZrBqzlOor5KqDYThhe8OP8J3O2M="; + rev = "refs/tags/ansi-${version}"; + hash = "sha256-PmgB1glksu4roQeZ1o7uilMJNm9xaYqw680N2z+tUUM="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/anthropic/default.nix b/pkgs/development/python-modules/anthropic/default.nix index f7a0a8ba6372..fdf38b174683 100644 --- a/pkgs/development/python-modules/anthropic/default.nix +++ b/pkgs/development/python-modules/anthropic/default.nix @@ -6,6 +6,7 @@ , distro , dirty-equals , httpx +, google-auth , sniffio , pydantic , pytest-asyncio @@ -18,7 +19,7 @@ buildPythonPackage rec { pname = "anthropic"; - version = "0.7.8"; + version = "0.11.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -27,7 +28,7 @@ buildPythonPackage rec { owner = "anthropics"; repo = "anthropic-sdk-python"; rev = "refs/tags/v${version}"; - hash = "sha256-1mpNwZJbYdKVmUeUM+PBL6vPhwe8tr2SnAP/t/MMKpI="; + hash = "sha256-1g3Bbij9HbMK+JJASe+VTBXx5jCQheXLrcnAD0qMs8g="; }; nativeBuildInputs = [ @@ -44,6 +45,10 @@ buildPythonPackage rec { typing-extensions ]; + passthru.optional-dependencies = { + vertex = [ google-auth ]; + }; + nativeCheckInputs = [ dirty-equals pytest-asyncio @@ -51,8 +56,9 @@ buildPythonPackage rec { respx ]; - disabledTests = [ - "api_resources" + disabledTestPaths = [ + # require network access + "tests/api_resources" ]; pythonImportsCheck = [ diff --git a/pkgs/development/python-modules/authheaders/default.nix b/pkgs/development/python-modules/authheaders/default.nix index 7d4a4075439e..6762e4b3ad7a 100644 --- a/pkgs/development/python-modules/authheaders/default.nix +++ b/pkgs/development/python-modules/authheaders/default.nix @@ -5,15 +5,15 @@ , dnspython , fetchFromGitHub , publicsuffix2 -, pythonOlder , pytestCheckHook +, pythonOlder , setuptools }: buildPythonPackage rec { pname = "authheaders"; - version = "0.15.3"; - format = "setuptools"; + version = "0.16.2"; + pyproject = true; disabled = pythonOlder "3.7"; @@ -21,9 +21,13 @@ buildPythonPackage rec { owner = "ValiMail"; repo = "authentication-headers"; rev = "refs/tags/${version}"; - hash = "sha256-96fCx5uN7yegTrCN+LSjtu4u3RL+dcxV/Puyo0eziI8="; + hash = "sha256-/vxUUSWwysYQzcy2AmkF4f8R59FHRnBfFlPRpfM9e5o="; }; + nativeBuildInputs = [ + setuptools + ]; + propagatedBuildInputs = [ authres dnspython @@ -40,6 +44,11 @@ buildPythonPackage rec { "authheaders" ]; + disabledTests = [ + # Test fails with timeout even if the resolv.conf hack is present + "test_authenticate_dmarc_psdsub" + ]; + meta = with lib; { description = "Python library for the generation of email authentication headers"; homepage = "https://github.com/ValiMail/authentication-headers"; diff --git a/pkgs/development/python-modules/azure-mgmt-compute/default.nix b/pkgs/development/python-modules/azure-mgmt-compute/default.nix index eb95a00de2a0..7c6c6b7ff7da 100644 --- a/pkgs/development/python-modules/azure-mgmt-compute/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-compute/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "azure-mgmt-compute"; - version = "30.4.0"; + version = "30.5.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-C3Qo/YvRXHy9fGa5uwEOClyzeoBs7x9JSNkHGRV2kzQ="; + hash = "sha256-7T6jS3mdsNUu5V4vGrSw8J+koI814GHsuarZ+1ohiEQ="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix b/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix index c72c54ffbdce..ddb4b6987fac 100644 --- a/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "azure-mgmt-containerservice"; - version = "28.0.0"; + version = "29.0.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-tVYFpEUV9v0OOk3CK/oPRA8+fhYl668Gqz6wa/NabNs="; + hash = "sha256-0BiuK5JCj6rqfSYD8+GWca2k5SQ19MXEHR3TQcYzgoA="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix index a9c9da857478..7f8ab5b19a48 100644 --- a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "azure-mgmt-recoveryservicesbackup"; - version = "7.0.0"; + version = "9.0.0"; format = "setuptools"; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-GuW6x8JGdBedywum4fDAQ8rwbVU9UgQWgHrFqJ6Uz9A="; + hash = "sha256-H/SsO/DnHXSsSyejYX7BFem1GqPh20DRGecrYVkIu1E="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/azure-mgmt-security/default.nix b/pkgs/development/python-modules/azure-mgmt-security/default.nix index b760acc8c8a6..60271f7c0381 100644 --- a/pkgs/development/python-modules/azure-mgmt-security/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-security/default.nix @@ -1,34 +1,33 @@ { lib -, buildPythonPackage -, fetchPypi , azure-common , azure-mgmt-core -, msrest -, msrestazure +, buildPythonPackage +, fetchPypi +, isodate , pythonOlder -, typing-extensions +, setuptools }: buildPythonPackage rec { pname = "azure-mgmt-security"; - version = "5.0.0"; - format = "setuptools"; + version = "6.0.0"; + fpyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-OLA+/oLCNEzqID/alebQC3rCJ4L6HAtYXNDqLI/z5wI="; - extension = "zip"; + hash = "sha256-zq/BhpiZBnEQvYMMXMmLybjzLY6oQMofaTsaX1Kl+LA="; }; + nativeBuildInputs = [ + setuptools + ]; + propagatedBuildInputs = [ azure-common azure-mgmt-core - msrest - msrestazure - ] ++ lib.optionals (pythonOlder "3.8") [ - typing-extensions + isodate ]; # no tests included @@ -42,6 +41,7 @@ buildPythonPackage rec { meta = with lib; { description = "Microsoft Azure Security Center Management Client Library for Python"; homepage = "https://github.com/Azure/azure-sdk-for-python"; + changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-mgmt-security_${version}/sdk/security/azure-mgmt-security/CHANGELOG.md"; license = licenses.mit; maintainers = with maintainers; [ jonringer ]; }; diff --git a/pkgs/development/python-modules/blinkpy/default.nix b/pkgs/development/python-modules/blinkpy/default.nix index 37b01b386055..f245b50d1343 100644 --- a/pkgs/development/python-modules/blinkpy/default.nix +++ b/pkgs/development/python-modules/blinkpy/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "blinkpy"; - version = "0.22.5"; + version = "0.22.6"; pyproject = true; disabled = pythonOlder "3.9"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "fronzbot"; repo = "blinkpy"; rev = "refs/tags/v${version}"; - hash = "sha256-u6FurFaAbkBOT2F+nTL/rGNdUhOpLq+nVKPF3ohuXEs="; + hash = "sha256-46REi+3dUY9dJrhXgKkQ1OfN6XCy1fV9cW6wk82ClOA="; }; postPatch = '' diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix index e496e4927d38..d590470de27a 100644 --- a/pkgs/development/python-modules/boto3-stubs/default.nix +++ b/pkgs/development/python-modules/boto3-stubs/default.nix @@ -365,14 +365,14 @@ buildPythonPackage rec { pname = "boto3-stubs"; - version = "1.34.25"; + version = "1.34.27"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-l8uuaUto4toyW6wGbE6+iwugtf1HQl5kSsiZoXCdJw8="; + hash = "sha256-/YRnjjsSNxA0EGkOaLx6YwZBE47iat7uz9Z5iUUU2Gk="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/botocore-stubs/default.nix b/pkgs/development/python-modules/botocore-stubs/default.nix index dd6780e899dc..022663609ea5 100644 --- a/pkgs/development/python-modules/botocore-stubs/default.nix +++ b/pkgs/development/python-modules/botocore-stubs/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "botocore-stubs"; - version = "1.34.26"; + version = "1.34.27"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -17,7 +17,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "botocore_stubs"; inherit version; - hash = "sha256-65EItCrdCs4ocQQr+0HToSRqHkR8tHp3EEIniopoSb8="; + hash = "sha256-6r4CRGoS6r0dCY4WN0MnW2HCxurrvtmb5bVNt+9sc2c="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/dvc-data/default.nix b/pkgs/development/python-modules/dvc-data/default.nix index d1fdd1ce8580..86f8cf2483e5 100644 --- a/pkgs/development/python-modules/dvc-data/default.nix +++ b/pkgs/development/python-modules/dvc-data/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "dvc-data"; - version = "3.8.0"; + version = "3.9.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "iterative"; repo = "dvc-data"; rev = "refs/tags/${version}"; - hash = "sha256-i9pFdGMzUypUFZKtE4k1w116r+NjfIECg1a6xw9TpG0="; + hash = "sha256-rgqSgNsqAGATzu3ZX8LWRiFJt0xTTLaF8bUNOgA3s2w="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/ed25519-blake2b/default.nix b/pkgs/development/python-modules/ed25519-blake2b/default.nix index 2fca4287a348..2783662ad2cf 100644 --- a/pkgs/development/python-modules/ed25519-blake2b/default.nix +++ b/pkgs/development/python-modules/ed25519-blake2b/default.nix @@ -1,20 +1,26 @@ { lib +, buildPythonPackage , fetchPypi , pythonOlder -, buildPythonPackage }: +, setuptools +}: buildPythonPackage rec { pname = "ed25519-blake2b"; - version = "1.4"; - format = "setuptools"; + version = "1.4.1"; + pyproject = true; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-0aHLkDLsMHzpW0HGGUQP1NP87MGPIkA1zH1tx6fY70A="; + hash = "sha256-cx6fk80awaZGSVdfNRmpn/4LseTPe/X18L5ROjnfc2M="; }; + nativeBuildInputs = [ + setuptools + ]; + pythonImportsCheck = [ "ed25519_blake2b" ]; @@ -22,6 +28,7 @@ buildPythonPackage rec { meta = with lib; { description = "Ed25519 public-key signatures (BLAKE2b fork)"; homepage = "https://github.com/Matoking/python-ed25519-blake2b"; + changelog = "https://github.com/Matoking/python-ed25519-blake2b/releases/tag/${version}"; license = licenses.mit; maintainers = with maintainers; [ onny stargate01 ]; }; diff --git a/pkgs/development/python-modules/elasticsearch8/default.nix b/pkgs/development/python-modules/elasticsearch8/default.nix index 23187eb603e9..84376cdbdb19 100644 --- a/pkgs/development/python-modules/elasticsearch8/default.nix +++ b/pkgs/development/python-modules/elasticsearch8/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "elasticsearch8"; - version = "8.11.1"; + version = "8.12.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-nY+qZ94uVBLMPb0i0k7gEUfcR5lsE6lcbtFtGQkTKeo="; + hash = "sha256-YFsrdsAAelOest7Pw3+Zl3lV+Q/e7YMELmL3TodBKSM="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/http-sf/default.nix b/pkgs/development/python-modules/http-sf/default.nix new file mode 100644 index 000000000000..f9ebde2b2b03 --- /dev/null +++ b/pkgs/development/python-modules/http-sf/default.nix @@ -0,0 +1,45 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, setuptools +, typing-extensions +}: + +buildPythonPackage rec { + pname = "http-sf"; + version = "1.0.1"; + pyproject = true; + + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "mnot"; + repo = "http-sf"; + rev = "refs/tags/v${version}"; + hash = "sha256-8xK8/IVrhqMDgkxZY10QqSGswCrttc29FZLCntmSUQ4="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + typing-extensions + ]; + + # Tests require external data (https://github.com/httpwg/structured-field-tests) + doCheck = false; + + pythonImportsCheck = [ + "http_sf" + ]; + + meta = with lib; { + description = "Module to parse and serialise HTTP structured field values"; + homepage = "https://github.com/mnot/http-sf"; + changelog = "https://github.com/mnot/http-sf/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/http-sfv/default.nix b/pkgs/development/python-modules/http-sfv/default.nix index 55b318ff40de..205b9c7423dd 100644 --- a/pkgs/development/python-modules/http-sfv/default.nix +++ b/pkgs/development/python-modules/http-sfv/default.nix @@ -8,8 +8,8 @@ buildPythonPackage rec { pname = "http-sfv"; - version = "0.9.8"; - format = "pyproject"; + version = "0.9.9"; + pyproject = true; disabled = pythonOlder "3.7"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "mnot"; repo = "http_sfv"; rev = "http_sfv-${version}"; - hash = "sha256-zl0Rk4QbzCVmYZ6TnVq+C+oe27Imz5fEQY9Fco5lo5s="; + hash = "sha256-xf9bGDfsEcQnFQ2b1bLRGYug+H4e5jeV/LJstQtp6Bw="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/litellm/default.nix b/pkgs/development/python-modules/litellm/default.nix index dd3671ef2527..5647c2ee7909 100644 --- a/pkgs/development/python-modules/litellm/default.nix +++ b/pkgs/development/python-modules/litellm/default.nix @@ -15,7 +15,7 @@ , httpx }: let - version = "1.18.3"; + version = "1.19.0"; in buildPythonPackage rec { pname = "litellm"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "BerriAI"; repo = "litellm"; rev = "refs/tags/v${version}"; - hash = "sha256-V4OTEZMyhXDcva7k88uTVH6vJ1EsF549ZmqUqXETsB0="; + hash = "sha256-cHGLOcOC9G6FlJfyrf+owURfGtn/gCAJuhSPt9lJS0o="; }; postPatch = '' diff --git a/pkgs/development/python-modules/publicsuffixlist/default.nix b/pkgs/development/python-modules/publicsuffixlist/default.nix index 52723e8560a1..2b05786997ae 100644 --- a/pkgs/development/python-modules/publicsuffixlist/default.nix +++ b/pkgs/development/python-modules/publicsuffixlist/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "publicsuffixlist"; - version = "0.10.0.20240124"; + version = "0.10.0.20240125"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-Z87qlGIL215R3Lqbx2f7AuY0Zhu2zpXD+tL5cxGm8Uw="; + hash = "sha256-lxyUgACsRULzQLNyU2TFrLdRzdSbQzvECTRaYQP8O04="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pwlf/default.nix b/pkgs/development/python-modules/pwlf/default.nix new file mode 100644 index 000000000000..8259a41e2e40 --- /dev/null +++ b/pkgs/development/python-modules/pwlf/default.nix @@ -0,0 +1,48 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, setuptools +, wheel +, scipy +, numpy +, pydoe +, unittestCheckHook +}: + +buildPythonPackage rec { + pname = "pwlf"; + version = "2.2.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "cjekel"; + repo = "piecewise_linear_fit_py"; + rev = "v${version}"; + hash = "sha256-gjdahulpHjBmOlKOCPF9WmrWe4jn/+0oVI4o09EX7qE="; + }; + + nativeBuildInputs = [ + setuptools + wheel + ]; + + propagatedBuildInputs = [ + scipy + numpy + pydoe + ]; + + nativeCheckInputs = [ + unittestCheckHook + ]; + + pythonImportsCheck = [ "pwlf" ]; + + meta = with lib; { + description = "Fit piecewise linear data for a specified number of line segments"; + homepage = "https://jekel.me/piecewise_linear_fit_py/"; + changelog = "https://github.com/cjekel/piecewise_linear_fit_py/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ doronbehar ]; + }; +} diff --git a/pkgs/development/python-modules/pydoe/default.nix b/pkgs/development/python-modules/pydoe/default.nix new file mode 100644 index 000000000000..e361d09ced3b --- /dev/null +++ b/pkgs/development/python-modules/pydoe/default.nix @@ -0,0 +1,38 @@ +{ lib +, buildPythonPackage +, fetchPypi +, setuptools +, wheel +, scipy +, numpy +}: + +buildPythonPackage rec { + pname = "pyDOE"; + version = "0.3.8"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-y9bxSuJtPJ9zYBMgX1PqEZGt1FZwM8Pud7fdNWVmxLY="; + extension = "zip"; + }; + + nativeBuildInputs = [ + setuptools + wheel + ]; + propagatedBuildInputs = [ + scipy + numpy + ]; + + pythonImportsCheck = [ "pyDOE" ]; + + meta = with lib; { + description = "Design of experiments for Python"; + homepage = "https://github.com/tisimst/pyDOE"; + license = licenses.bsd3; + maintainers = with maintainers; [ doronbehar ]; + }; +} diff --git a/pkgs/development/python-modules/pyswitchbot/default.nix b/pkgs/development/python-modules/pyswitchbot/default.nix index 7f831e1d8e47..3ee728d7ef11 100644 --- a/pkgs/development/python-modules/pyswitchbot/default.nix +++ b/pkgs/development/python-modules/pyswitchbot/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "pyswitchbot"; - version = "0.44.0"; + version = "0.44.1"; pyproject = true; disabled = pythonOlder "3.7"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "Danielhiversen"; repo = "pySwitchbot"; rev = "refs/tags/${version}"; - hash = "sha256-8F0mcZuGU3CiB3pGbAVReKAjvqFLMNa3EHLOOVujgAo="; + hash = "sha256-i3OQ2QOBMaiNTyq44wbnHZ2iqAXEYB16NWKWzOza1Jo="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pytedee-async/default.nix b/pkgs/development/python-modules/pytedee-async/default.nix index 96bb9bca21d8..6269df577501 100644 --- a/pkgs/development/python-modules/pytedee-async/default.nix +++ b/pkgs/development/python-modules/pytedee-async/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "pytedee-async"; - version = "0.2.11"; + version = "0.2.12"; pyproject = true; disabled = pythonOlder "3.9"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "zweckj"; repo = "pytedee_async"; rev = "refs/tags/v${version}"; - hash = "sha256-mBTY2JU79Hk6P+oWQ+2FD0BYHL1c865EvnTUl6H+gnk="; + hash = "sha256-eepN5Urr9fp1780iy3Z4sot+hXvMCxMGodYBdRdDj9Y="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/python-kasa/default.nix b/pkgs/development/python-modules/python-kasa/default.nix index eb6f056ad156..34517ac26246 100644 --- a/pkgs/development/python-modules/python-kasa/default.nix +++ b/pkgs/development/python-modules/python-kasa/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "python-kasa"; - version = "0.6.0.1"; + version = "0.6.1"; pyproject = true; disabled = pythonOlder "3.8"; @@ -28,7 +28,7 @@ buildPythonPackage rec { owner = "python-kasa"; repo = "python-kasa"; rev = "refs/tags/${version}"; - hash = "sha256-Vx2ZRcm/Ob0oWB/Th7hF4ctppWoeeNiqKGjYVNsidrE="; + hash = "sha256-kMhmnIwdVix9DgijTcNf5fsm4jiqygxjOvgGNOGN4O8="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/python-lsp-server/default.nix b/pkgs/development/python-modules/python-lsp-server/default.nix index 96ba4c367033..9d5630a22360 100644 --- a/pkgs/development/python-modules/python-lsp-server/default.nix +++ b/pkgs/development/python-modules/python-lsp-server/default.nix @@ -35,7 +35,7 @@ buildPythonPackage rec { pname = "python-lsp-server"; - version = "1.9.0"; + version = "1.10.0"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -44,7 +44,7 @@ buildPythonPackage rec { owner = "python-lsp"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-9za0et/W+AwrjqUVoHwk8oqLXk4eqgRON8Z4F5GSKXM="; + hash = "sha256-dh33m7wgOwUETjdNqqDKZnpTgbrYCg9/XXC296tHm4w="; }; postPatch = '' @@ -144,6 +144,7 @@ buildPythonPackage rec { # https://github.com/python-lsp/python-lsp-server/issues/243 "test_numpy_completions" "test_workspace_loads_pycodestyle_config" + "test_autoimport_code_actions_and_completions_for_notebook_document" ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ # pyqt5 is broken on aarch64-darwin "test_pyqt_completion" diff --git a/pkgs/development/python-modules/python-roborock/default.nix b/pkgs/development/python-modules/python-roborock/default.nix index fe6d13423bc3..1346e9b35b7a 100644 --- a/pkgs/development/python-modules/python-roborock/default.nix +++ b/pkgs/development/python-modules/python-roborock/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "python-roborock"; - version = "0.39.0"; + version = "0.39.1"; pyproject = true; disabled = pythonOlder "3.10"; @@ -28,7 +28,7 @@ buildPythonPackage rec { owner = "humbertogontijo"; repo = "python-roborock"; rev = "refs/tags/v${version}"; - hash = "sha256-t+ZjLsnsLcWYNlx2eRxDhQLw3levdiCk4FUrcjtSmq8="; + hash = "sha256-iFLzrjbCwBuV9RQSHoP5LOG0PIPjiTMCpvk3wqGtMgk="; }; postPatch = '' diff --git a/pkgs/development/python-modules/rtree/default.nix b/pkgs/development/python-modules/rtree/default.nix index b4a2cc68ab8f..ff4b3b85e9cf 100644 --- a/pkgs/development/python-modules/rtree/default.nix +++ b/pkgs/development/python-modules/rtree/default.nix @@ -1,23 +1,27 @@ { lib , stdenv , buildPythonPackage -, fetchPypi +, fetchFromGitHub , libspatialindex , numpy , pytestCheckHook , pythonOlder +, setuptools +, wheel }: buildPythonPackage rec { pname = "rtree"; - version = "1.1.0"; - format = "setuptools"; - disabled = pythonOlder "3.7"; + version = "1.2.0"; + pyproject = true; - src = fetchPypi { - pname = "Rtree"; - inherit version; - hash = "sha256-b47lBN3l0AWyWwiq9b4LNASvOtX+zm4d3N41kIp5ipU="; + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "Toblerity"; + repo = "rtree"; + rev = "refs/tags/${version}"; + hash = "sha256-RmAiyYrkUMBN/ebmo27WvFcRmYlKkywuQHLLUbluTTw="; }; postPatch = '' @@ -25,6 +29,11 @@ buildPythonPackage rec { 'find_library("spatialindex_c")' '"${libspatialindex}/lib/libspatialindex_c${stdenv.hostPlatform.extensions.sharedLibrary}"' ''; + nativeBuildInputs = [ + setuptools + wheel + ]; + buildInputs = [ libspatialindex ]; nativeCheckInputs = [ @@ -36,7 +45,8 @@ buildPythonPackage rec { meta = with lib; { description = "R-Tree spatial index for Python GIS"; - homepage = "https://toblerity.org/rtree/"; + homepage = "https://github.com/Toblerity/rtree"; + changelog = "https://github.com/Toblerity/rtree/blob/${version}/CHANGES.rst"; license = licenses.mit; maintainers = with maintainers; [ bgamari ]; }; diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix index 3c9af2fd7652..328dd01f8565 100644 --- a/pkgs/development/python-modules/twilio/default.nix +++ b/pkgs/development/python-modules/twilio/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "twilio"; - version = "8.11.1"; + version = "8.12.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "twilio"; repo = "twilio-python"; rev = "refs/tags/${version}"; - hash = "sha256-cByrE0/sKZ0dWnuQS1KOOCHbSYF6YJchqGrdkmVp9DM="; + hash = "sha256-I2ktLhlSFeQ3f7/zcm5NKLv5Pm1R7EPkeMPREMa9bBA="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/types-docutils/default.nix b/pkgs/development/python-modules/types-docutils/default.nix index 5962e0083910..8ed9bc0c1998 100644 --- a/pkgs/development/python-modules/types-docutils/default.nix +++ b/pkgs/development/python-modules/types-docutils/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "types-docutils"; - version = "0.20.0.20240106"; + version = "0.20.0.20240125"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-A5kuyXb74IDbWI4eVqg8Xkq6XHMwIrJbsmy4Q5e5YEk="; + hash = "sha256-r3YOMR2Jrz+PtiVD6FCZ1v2dwDttGjva9mlXNnXVitg="; }; nativeBuildInputs = [ diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix index 1282eebef211..94eb10e0d103 100644 --- a/pkgs/development/tools/analysis/checkov/default.nix +++ b/pkgs/development/tools/analysis/checkov/default.nix @@ -5,14 +5,14 @@ python3.pkgs.buildPythonApplication rec { pname = "checkov"; - version = "3.1.69"; + version = "3.1.70"; pyproject = true; src = fetchFromGitHub { owner = "bridgecrewio"; repo = "checkov"; rev = "refs/tags/${version}"; - hash = "sha256-hA0GmCNsds/dkSJ5PZYPiz1lsaISs62jb000k17aqAM="; + hash = "sha256-6HR6Hfv8dAo3/GT1OZQmH7yq4fY9Xi8SKkGUjG9914I="; }; patches = [ diff --git a/pkgs/development/tools/castxml/default.nix b/pkgs/development/tools/castxml/default.nix index 34abd88623be..1a7c15d9a963 100644 --- a/pkgs/development/tools/castxml/default.nix +++ b/pkgs/development/tools/castxml/default.nix @@ -17,13 +17,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "castxml"; - version = "0.6.3"; + version = "0.6.4"; src = fetchFromGitHub { owner = "CastXML"; repo = "CastXML"; rev = "v${finalAttrs.version}"; - hash = "sha256-g/BgKkU8Me6EacDm+KFAsKq5++v/b+Par0x7lzBzHw8="; + hash = "sha256-6xeMkqsFchZxrAsE2DLaIzGU4VMwyDckm00s69wahOo="; }; nativeBuildInputs = [ diff --git a/pkgs/development/tools/database/litefs/default.nix b/pkgs/development/tools/database/litefs/default.nix index d4077a2388ff..e1d66de4063a 100644 --- a/pkgs/development/tools/database/litefs/default.nix +++ b/pkgs/development/tools/database/litefs/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "litefs"; - version = "0.5.10"; + version = "0.5.11"; src = fetchFromGitHub { owner = "superfly"; repo = pname; rev = "v${version}"; - sha256 = "sha256-e7RBiUHMndOz1n8gWlx+4ifnueWgPu482KIAXaSEhl0="; + sha256 = "sha256-I12bKImZkvAMyfwb6r/NxE+BcUk+SalN+cIDXP0q4xA="; }; vendorHash = "sha256-FcYPe4arb+jbxj4Tl6bRRAnkEvw0rkECIo8/zC79lOA="; diff --git a/pkgs/development/tools/micronaut/default.nix b/pkgs/development/tools/micronaut/default.nix index 92db12ce89ac..8c0ed2e4bfd5 100644 --- a/pkgs/development/tools/micronaut/default.nix +++ b/pkgs/development/tools/micronaut/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "micronaut"; - version = "4.2.3"; + version = "4.2.4"; src = fetchzip { url = "https://github.com/micronaut-projects/micronaut-starter/releases/download/v${version}/micronaut-cli-${version}.zip"; - sha256 = "sha256-+03wjNxIZr8vhvK3zfvFBwXC5WmEs5A6mydGXsmGuCI="; + sha256 = "sha256-Jhy1q+6VdLPScq882QU8dIUNNKs1i+3Mug5ycUWFp9U="; }; nativeBuildInputs = [ makeWrapper installShellFiles ]; diff --git a/pkgs/development/tools/misc/patchelf/0.13.nix b/pkgs/development/tools/misc/patchelf/0.13.nix deleted file mode 100644 index 0111a4b065c4..000000000000 --- a/pkgs/development/tools/misc/patchelf/0.13.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ stdenv, fetchurl, patchelf }: - -# Note: this package is used for bootstrapping fetchurl, and thus -# cannot use fetchpatch! All mutable patches (generated by GitHub or -# cgit) that are needed here should be included directly in Nixpkgs as -# files. - -stdenv.mkDerivation rec { - pname = "patchelf"; - version = "0.13.1"; - - src = fetchurl { - url = "https://github.com/NixOS/${pname}/releases/download/${version}/${pname}-${version}.tar.bz2"; - sha256 = "sha256-OeiuzNdJXVTfCU0rSnwIAQ/3d3A2+q8k8o4Hd30VmOI="; - }; - - setupHook = [ ./setup-hook.sh ]; - - # fails 8 out of 24 tests, problems when loading libc.so.6 - doCheck = stdenv.name == "stdenv-linux"; - - inherit (patchelf) meta; -} diff --git a/pkgs/development/tools/rust/cargo-hack/default.nix b/pkgs/development/tools/rust/cargo-hack/default.nix index 9d3e0e279c3a..60839c902e33 100644 --- a/pkgs/development/tools/rust/cargo-hack/default.nix +++ b/pkgs/development/tools/rust/cargo-hack/default.nix @@ -2,14 +2,14 @@ rustPlatform.buildRustPackage rec { pname = "cargo-hack"; - version = "0.6.15"; + version = "0.6.16"; src = fetchCrate { inherit pname version; - hash = "sha256-yjaX4lqUj9aZPkRuiJC3yBwXvfvd+Okr87Ia2IQvxfM="; + hash = "sha256-DbZ/8tnVD9jXN9Ek7LJRF1GFy/gphexNKG7FcZeqtoE="; }; - cargoHash = "sha256-6ogeqVN2V38N7mNBjimjNv/KK2JtV4aa5AorRfYMBx8="; + cargoHash = "sha256-j7ZHq3M2JgQV72GRKOIlp+jsoc/ikYHmNLOnrZ2yA8I="; # some necessary files are absent in the crate version doCheck = false; diff --git a/pkgs/development/tools/rust/cargo-mutants/default.nix b/pkgs/development/tools/rust/cargo-mutants/default.nix index cb2d5b036834..f80d4d2b0f02 100644 --- a/pkgs/development/tools/rust/cargo-mutants/default.nix +++ b/pkgs/development/tools/rust/cargo-mutants/default.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "cargo-mutants"; - version = "24.1.1"; + version = "24.1.2"; src = fetchFromGitHub { owner = "sourcefrog"; repo = "cargo-mutants"; rev = "v${version}"; - hash = "sha256-n7fpfgbDvLMMA834BUSAEYD+mXVxGGFPLlLjDxpKuSA="; + hash = "sha256-V1BQJmwLhsh36Gyg1Zrxw5MCUQcyIKlnEsYmchu8K5A="; }; - cargoHash = "sha256-lEeNIwNvq6K+xRCUTXs9Sh7o8q3u5GcBKntVMhPQqMU="; + cargoHash = "sha256-f2iJnBklzSgHqez6KSk1+ZqiY/t9iCdtsQze9PhG164="; buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.SystemConfiguration diff --git a/pkgs/development/tools/rust/cargo-workspaces/default.nix b/pkgs/development/tools/rust/cargo-workspaces/default.nix index 3f97405fb678..5cb3c4de96b1 100644 --- a/pkgs/development/tools/rust/cargo-workspaces/default.nix +++ b/pkgs/development/tools/rust/cargo-workspaces/default.nix @@ -12,14 +12,14 @@ rustPlatform.buildRustPackage rec { pname = "cargo-workspaces"; - version = "0.3.0"; + version = "0.3.1"; src = fetchCrate { inherit pname version; - hash = "sha256-1wNoMVfouuPRGFGB6XIhgeeWgknxMctrBl5Vfco6qug="; + hash = "sha256-1YFTBzFr11FUfwgdGJgyF1lWvrfQ6ZPIkYAG7vySfFA="; }; - cargoHash = "sha256-OJGqIo6mYqXjmQb/2CVVTskecYZretw+K46Fvbu/PcQ="; + cargoHash = "sha256-wL1DKZ1QhBKB4Gy2rbwe4y/hR4A/wiiVqGAIcM+Om8E="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/development/tools/sentry-cli/default.nix b/pkgs/development/tools/sentry-cli/default.nix index fddf3b1d6881..8c62e2f90d60 100644 --- a/pkgs/development/tools/sentry-cli/default.nix +++ b/pkgs/development/tools/sentry-cli/default.nix @@ -10,13 +10,13 @@ }: rustPlatform.buildRustPackage rec { pname = "sentry-cli"; - version = "2.25.2"; + version = "2.26.0"; src = fetchFromGitHub { owner = "getsentry"; repo = "sentry-cli"; rev = version; - sha256 = "sha256-IAtOlWIs1BScr569s8Y8A+m1CzzGrSXX/CaqkXubZfA="; + sha256 = "sha256-9Qwonp2tGmaffYj5Vv09+Z3YcbFSFmeS/zc7PXjmrk4="; }; doCheck = false; @@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec { buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ CoreServices Security SystemConfiguration ]; nativeBuildInputs = [ pkg-config ]; - cargoHash = "sha256-oydBeEOFTmDibUZZSwe7WMcU5eDshsDogPRlxrrx1i8="; + cargoHash = "sha256-t1Gqis4Gd6Zdkka8u/tCRM5xmm3z85OqZIkINm9jNyc="; meta = with lib; { homepage = "https://docs.sentry.io/cli/"; diff --git a/pkgs/development/tools/supabase-cli/default.nix b/pkgs/development/tools/supabase-cli/default.nix index 3d80a27d59ad..6142ff4c170e 100644 --- a/pkgs/development/tools/supabase-cli/default.nix +++ b/pkgs/development/tools/supabase-cli/default.nix @@ -9,16 +9,16 @@ buildGoModule rec { pname = "supabase-cli"; - version = "1.131.2"; + version = "1.137.2"; src = fetchFromGitHub { owner = "supabase"; repo = "cli"; rev = "v${version}"; - hash = "sha256-6IjVROKxDiLod8XWWndnxHQGnk8DJc1sjzJxLWDkRL0="; + hash = "sha256-C7J1hXRsWlzVvvKjj0IlgWC/BtVsJOvFnPm7c+ioxCA="; }; - vendorHash = "sha256-/hfFydNHDK6shCC4iIkdP8r1ZO9niMIWZ/Ypj/DGj+c="; + vendorHash = "sha256-p026yk50DfzUZX7TTFpDhvGHiD/XUhbxlHQz383pRZk="; ldflags = [ "-s" diff --git a/pkgs/development/tools/web-ext/default.nix b/pkgs/development/tools/web-ext/default.nix index da414797c2bc..bb9cda866e7f 100644 --- a/pkgs/development/tools/web-ext/default.nix +++ b/pkgs/development/tools/web-ext/default.nix @@ -7,16 +7,16 @@ buildNpmPackage rec { pname = "web-ext"; - version = "7.10.0"; + version = "7.11.0"; src = fetchFromGitHub { owner = "mozilla"; repo = "web-ext"; rev = version; - hash = "sha256-VXvs4Z5cOt+lJ1JReApynpz/TufJgIVaO3dszS3Gvb4="; + hash = "sha256-tXYqAAzxAFQGREkNGgBrHLp7ukRDMtr0bPYW7hOEniY="; }; - npmDepsHash = "sha256-ovLVWOrQ//aJPJqzCJQS+/Tnn4Z75OR69e7ACevKWCA="; + npmDepsHash = "sha256-uKAEWe28zUgE7Fv00sGXD5dKje/pHh22yJlYtk+7tN8="; npmBuildFlags = [ "--production" ]; diff --git a/pkgs/os-specific/linux/bpftrace/default.nix b/pkgs/os-specific/linux/bpftrace/default.nix index ecb34c373b74..d1cd6ff0cdfb 100644 --- a/pkgs/os-specific/linux/bpftrace/default.nix +++ b/pkgs/os-specific/linux/bpftrace/default.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "bpftrace"; - version = "0.19.1"; + version = "0.20.0"; src = fetchFromGitHub { owner = "iovisor"; repo = "bpftrace"; rev = "v${version}"; - hash = "sha256-JyMogqyntSm2IDXzsOIjcUkf2YwG2oXKpqPpdx/eMNI="; + hash = "sha256-IfceH4OSlL0J9O7ZF3vYzvoRM/NFlevC6LChH5+p9CY="; }; diff --git a/pkgs/os-specific/linux/mdevctl/default.nix b/pkgs/os-specific/linux/mdevctl/default.nix index ce4ea250827b..80c3c1316d85 100644 --- a/pkgs/os-specific/linux/mdevctl/default.nix +++ b/pkgs/os-specific/linux/mdevctl/default.nix @@ -7,14 +7,14 @@ rustPlatform.buildRustPackage rec { pname = "mdevctl"; - version = "1.3.0"; + version = "1.2.0"; src = fetchCrate { inherit pname version; - hash = "sha256-4K4NW3DOTtzZJ7Gg0mnRPr88YeqEjTtKX+C4P8i923E="; + hash = "sha256-0X/3DWNDPOgSNNTqcj44sd7DNGFt+uGBjkc876dSgU8="; }; - cargoHash = "sha256-hCqNy32uPLsKfUJqiG2DRcXfqdvlp4bCutQmt+FieXc="; + cargoHash = "sha256-TmumQBWuH5fJOe2qzcDtEGbmCs2G9Gfl8mH7xifzRGc="; nativeBuildInputs = [ docutils diff --git a/pkgs/servers/http/router/default.nix b/pkgs/servers/http/router/default.nix index 01f1415d0af8..f4903b2f31f7 100644 --- a/pkgs/servers/http/router/default.nix +++ b/pkgs/servers/http/router/default.nix @@ -2,6 +2,7 @@ , callPackage , fetchFromGitHub , rustPlatform +, cmake , pkg-config , protobuf , elfutils @@ -9,18 +10,19 @@ rustPlatform.buildRustPackage rec { pname = "router"; - version = "1.19.0"; + version = "1.30.1"; src = fetchFromGitHub { owner = "apollographql"; repo = pname; rev = "v${version}"; - sha256 = "sha256-IuS7NmlTNmHHnnSZ+YIbV6BnxJW2xprOQ5mkz5FuJEQ="; + sha256 = "sha256-mQtIjfXDcEy5HfZbWauL0NQLPneGq9EJt/yB8zMuhSU="; }; - cargoHash = "sha256-yeb+4lgRDssjkEx6bYfGIbn4DJGpZZ/JDmuwFjQ+U+8="; + cargoHash = "sha256-XCDU6cXw+Wf5MR6m+HCI8/VFRRylMywktZbd5k7Lcwo="; nativeBuildInputs = [ + cmake pkg-config protobuf ]; diff --git a/pkgs/servers/http/router/librusty_v8.nix b/pkgs/servers/http/router/librusty_v8.nix index 3e3bf55c757e..1d5e334f2d07 100644 --- a/pkgs/servers/http/router/librusty_v8.nix +++ b/pkgs/servers/http/router/librusty_v8.nix @@ -9,11 +9,11 @@ let }; in fetch_librusty_v8 { - version = "0.60.1"; + version = "0.74.3"; shas = { - x86_64-linux = "sha256-P8H+XJqrt9jdKM885L1epMldp+stwmEw+0Gtd2x3r4g="; - aarch64-linux = "sha256-frHpBP2pL3o4efFLHP2r3zsWJrNT93yYu2Qkxv+7m8Y="; - x86_64-darwin = "sha256-taewoYBkyikqWueLSD9dW1EDjzkV68Xplid1UaLZgRM="; - aarch64-darwin = "sha256-s2YEVbuYpiT/qrmE37aXk13MetrnJo6l+s1Q2y6b5kU="; + x86_64-linux = "sha256-8pa8nqA6rbOSBVnp2Q8/IQqh/rfYQU57hMgwU9+iz4A="; + aarch64-linux = "sha256-3kXOV8rlCNbNBdXgOtd3S94qO+JIKyOByA4WGX+XVP0="; + x86_64-darwin = "sha256-iBBVKZiSoo08YEQ8J/Rt1/5b7a+2xjtuS6QL/Wod5nQ="; + aarch64-darwin = "sha256-Djnuc3l/jQKvBf1aej8LG5Ot2wPT0m5Zo1B24l1UHsM="; }; } diff --git a/pkgs/servers/monitoring/prometheus/ipmi-exporter.nix b/pkgs/servers/monitoring/prometheus/ipmi-exporter.nix index 11264a637983..1b1ac3c62420 100644 --- a/pkgs/servers/monitoring/prometheus/ipmi-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/ipmi-exporter.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "ipmi_exporter"; - version = "1.7.0"; + version = "1.8.0"; src = fetchFromGitHub { owner = "prometheus-community"; repo = "ipmi_exporter"; rev = "v${version}"; - hash = "sha256-yVFpYedWELqDNzmHQfMJa95iKQsn1N/wa82sQEQh1Uw="; + hash = "sha256-ZF5mBjq+IhSQrQ1dUfHlfyUMK2dkpZ5gu9djPkUYvRQ="; }; - vendorHash = "sha256-1ntFcOmVN4I1aa/5gWnzkYNYxxFT9ZM1usNnE23KfR0="; + vendorHash = "sha256-q5MFAvFCrr24b1VO0Z03C08CGd+0pUerXZEKiu4r7cE="; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/servers/monitoring/prometheus/pve-exporter.nix b/pkgs/servers/monitoring/prometheus/pve-exporter.nix index f3598304b89c..1b12f29bb942 100644 --- a/pkgs/servers/monitoring/prometheus/pve-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/pve-exporter.nix @@ -6,11 +6,11 @@ python3.pkgs.buildPythonApplication rec { pname = "prometheus-pve-exporter"; - version = "2.3.0"; + version = "3.2.1"; src = fetchPypi { inherit pname version; - sha256 = "sha256-hL1+vP+/Xi3od+17906YARgg4APlFhRkdOCnRxDHJmM="; + sha256 = "sha256-ruJGp/juRxFJwnd0A7/qWgeJHFg9oIKekjWIe3kiUa4="; }; propagatedBuildInputs = with python3.pkgs; [ diff --git a/pkgs/servers/monitoring/prometheus/redis-exporter.nix b/pkgs/servers/monitoring/prometheus/redis-exporter.nix index 42db8a165a55..177537588d63 100644 --- a/pkgs/servers/monitoring/prometheus/redis-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/redis-exporter.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "redis_exporter"; - version = "1.56.0"; + version = "1.57.0"; src = fetchFromGitHub { owner = "oliver006"; repo = "redis_exporter"; rev = "v${version}"; - sha256 = "sha256-7tnl8iItGegfRXLF3f+tmNxgJWkai6n8EOP00zyqyYs="; + sha256 = "sha256-M5Mv2gAQMR0j2zIX6OwePA9w7OtjJ0i2mR9I4BvUcXI="; }; - vendorHash = "sha256-r+VJ2+4F3BQ0tmNTVHDOxKaKAPSIvgu7ZcQZ6BXt2kA="; + vendorHash = "sha256-32EjLEPeFsihdG83ru4SSf03F2XJGD8+tbO9ANaI1hs="; ldflags = [ "-X main.BuildVersion=${version}" diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix index 1b7620eb5f86..6538c3f2cb62 100644 --- a/pkgs/servers/nextcloud/default.nix +++ b/pkgs/servers/nextcloud/default.nix @@ -43,14 +43,14 @@ let }; in { nextcloud26 = generic { - version = "26.0.10"; - hash = "sha256-yArkYMxOmvfQsJd6TJJX+t22a/V5OW9nwHfgLZsmlIw="; + version = "26.0.11"; + hash = "sha256-Vc0QCCy495oYeRnpWaYwc4Nf4D/ko4VsODoKcS7YADA="; packages = nextcloud26Packages; }; nextcloud27 = generic { - version = "27.1.5"; - hash = "sha256-O1NMmOdrf+2Mo5NMrUGbEK9YViWfMTvsIs06e/pu+WE="; + version = "27.1.6"; + hash = "sha256-rntyt/xSWsSXmMLeaml6TP8ls0ly1p1GmVmIXTNRvvo="; packages = nextcloud27Packages; }; diff --git a/pkgs/servers/routinator/default.nix b/pkgs/servers/routinator/default.nix index 6864556fd55d..1fdf6d8fdba2 100644 --- a/pkgs/servers/routinator/default.nix +++ b/pkgs/servers/routinator/default.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "routinator"; - version = "0.13.0"; + version = "0.13.1"; src = fetchFromGitHub { owner = "NLnetLabs"; repo = pname; rev = "v${version}"; - hash = "sha256-gInJS7JpvEbmOuZecB4xjff2d7TnjcVV+8mPOmy5Oyo="; + hash = "sha256-ia9N2jZlFW0Gu5YDfwh023zorMyWWL/KggeBRvCD1W4="; }; - cargoHash = "sha256-c5SQysjO821pfGhnyB4aGOZuwrHaN502PfkA1gBPtY4="; + cargoHash = "sha256-RHT6+zrY4SjoC/hgoMRal+cG8Ruip/6v7oVtKvR8doU="; buildInputs = lib.optionals stdenv.isDarwin [ Security ]; diff --git a/pkgs/stdenv/linux/bootstrap-files/aarch64-unknown-linux-musl.nix b/pkgs/stdenv/linux/bootstrap-files/aarch64-unknown-linux-musl.nix index 252783cce47c..c1a96e66013c 100644 --- a/pkgs/stdenv/linux/bootstrap-files/aarch64-unknown-linux-musl.nix +++ b/pkgs/stdenv/linux/bootstrap-files/aarch64-unknown-linux-musl.nix @@ -1,11 +1,25 @@ +# +# Files came from this Hydra build: +# +# https://hydra.nixos.org/build/246470544 +# +# …which used nixpkgs revision dd5621df6dcb90122b50da5ec31c411a0de3e538 +# to instantiate: +# +# /nix/store/g480ass2vjmakaq03z7k2j95xnxh206a-stdenv-bootstrap-tools.drv +# +# …and then built: +# +# /nix/store/95lm0y33dayag4542s8bi83s31bw68dr-stdenv-bootstrap-tools +# { busybox = import { - url = "https://wdtz.org/files/wjzsj9cmdkc70f78yh072483x8656nci-stdenv-bootstrap-tools-aarch64-unknown-linux-musl/on-server/busybox"; - sha256 = "01s6bwq84wyrjh3rdsgxni9gkzp7ss8rghg0cmp8zd87l79y8y4g"; + url = "http://tarballs.nixos.org/stdenv/aarch64-unknown-linux-musl/dd5621df6dcb90122b50da5ec31c411a0de3e538/busybox"; + sha256 = "sha256-WuOaun7U5enbOy8SuuCo6G1fbGwsO16jhy/oM8K0lAs="; executable = true; }; bootstrapTools = import { - url = "https://wdtz.org/files/wjzsj9cmdkc70f78yh072483x8656nci-stdenv-bootstrap-tools-aarch64-unknown-linux-musl/on-server/bootstrap-tools.tar.xz"; - sha256 = "0pbqrw9z4ifkijpfpx15l2dzi00rq8c5zg9ghimz5qgr5dx7f7cl"; + url = "http://tarballs.nixos.org/stdenv/aarch64-unknown-linux-musl/dd5621df6dcb90122b50da5ec31c411a0de3e538/bootstrap-tools.tar.xz"; + hash = "sha256-ZY9IMOmx1VOn6uoFDpdJbTnPX59TEkrVCzWNtjQ8/QE="; }; } diff --git a/pkgs/test/cross/default.nix b/pkgs/test/cross/default.nix index b4da2de5c5b8..bd233db4cd50 100644 --- a/pkgs/test/cross/default.nix +++ b/pkgs/test/cross/default.nix @@ -154,7 +154,7 @@ let pkgs.pkgsMusl.pkgsCross.gnu64.hello # Two web browsers -- exercises almost the entire packageset - pkgs.pkgsCross.aarch64-multiplatform.qt5.qutebrowser + pkgs.pkgsCross.aarch64-multiplatform.qutebrowser-qt5 pkgs.pkgsCross.aarch64-multiplatform.firefox # Uses pkgsCross.riscv64-embedded; see https://github.com/NixOS/nixpkgs/issues/267859 diff --git a/pkgs/tools/admin/qovery-cli/default.nix b/pkgs/tools/admin/qovery-cli/default.nix index a84c916a1408..84aa4f4ce477 100644 --- a/pkgs/tools/admin/qovery-cli/default.nix +++ b/pkgs/tools/admin/qovery-cli/default.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "qovery-cli"; - version = "0.81.0"; + version = "0.81.1"; src = fetchFromGitHub { owner = "Qovery"; repo = "qovery-cli"; rev = "refs/tags/v${version}"; - hash = "sha256-Me2UIyBJ/TFP6M7zqQvJ/NDYoiOWop8Lkh8e1KbD9eU="; + hash = "sha256-vzE2Slj69kJbXHNKM9mCBwPkbOqG3DkVa6y4DmfBdn0="; }; vendorHash = "sha256-IDKJaWnQsOtghpCh7UyO6RzWgSZS0S0jdF5hVV7xVbs="; diff --git a/pkgs/tools/filesystems/genimage/default.nix b/pkgs/tools/filesystems/genimage/default.nix index ab93f4233d8f..34500447b875 100644 --- a/pkgs/tools/filesystems/genimage/default.nix +++ b/pkgs/tools/filesystems/genimage/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "genimage"; - version = "16"; + version = "17"; src = fetchurl { url = "https://public.pengutronix.de/software/genimage/genimage-${version}.tar.xz"; - sha256 = "sha256-hp+WYtO3eMabHR/nDfZY4cnpCu2iart1P2/lXosMbnM="; + sha256 = "sha256-qHVuNWeg1NgsNrCMzB4IglC5AG1WcMaysBQYXm7GBnE="; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; diff --git a/pkgs/tools/misc/bkt/default.nix b/pkgs/tools/misc/bkt/default.nix index 61926352ce33..beef0b8412ca 100644 --- a/pkgs/tools/misc/bkt/default.nix +++ b/pkgs/tools/misc/bkt/default.nix @@ -4,16 +4,16 @@ }: rustPlatform.buildRustPackage rec { pname = "bkt"; - version = "0.7.1"; + version = "0.8.0"; src = fetchFromGitHub { owner = "dimo414"; repo = pname; rev = version; - sha256 = "sha256-CMCO1afTWhXlWpy9D7txqI1FHxGDgdVdkKtyei6oFJU="; + sha256 = "sha256-XQK7oZfutqCvFoGzMH5G5zoGvqB8YaXSdrwjS/SVTNU="; }; - cargoHash = "sha256-T4JT8GzKqsQQfe3zfst6gNEvdY7zs2h2H3s6slaRhYY="; + cargoHash = "sha256-Pl+a+ZpxaguRloH8R7x4FmYpTwTUwFrYy7AS/5K3L+8="; meta = { description = "A subprocess caching utility"; diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index c1279a69ccf7..24e25e584d4b 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -129,10 +129,8 @@ stdenv.mkDerivation rec { # Darwin (http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/19351), # and {Open,Free}BSD. # With non-standard storeDir: https://github.com/NixOS/nix/issues/512 - # On aarch64+musl, test-init.sh fails due to a segfault in diff. doCheck = (!isCross) && (stdenv.hostPlatform.libc == "glibc" || stdenv.hostPlatform.libc == "musl") - && !(stdenv.hostPlatform.libc == "musl" && stdenv.hostPlatform.isAarch64) && !stdenv.isAarch32; # Prevents attempts of running 'help2man' on cross-built binaries. diff --git a/pkgs/tools/misc/tbls/default.nix b/pkgs/tools/misc/tbls/default.nix index 060232d8c2f7..7f15497c5c7d 100644 --- a/pkgs/tools/misc/tbls/default.nix +++ b/pkgs/tools/misc/tbls/default.nix @@ -9,16 +9,16 @@ buildGoModule rec { pname = "tbls"; - version = "1.72.1"; + version = "1.72.2"; src = fetchFromGitHub { owner = "k1LoW"; repo = "tbls"; rev = "v${version}"; - hash = "sha256-ZkJ1+o4xWQX63/2hdhnE5hyVrZIn1O2kmaiZ1853X/8="; + hash = "sha256-FaxDxiZFVG3067yJLG/yM7kr4/jIthePxuGs3fnGlmw="; }; - vendorHash = "sha256-IczwqqCQeTpXiDSJxX8ErmO4Ap+coIRAQTmRoDNtdXs="; + vendorHash = "sha256-/ndTY5baStRfW7asRvM7EpgqE5xdXEa5+v6o1fpHE9M="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/tools/security/cnspec/default.nix b/pkgs/tools/security/cnspec/default.nix index 0a8426c38a72..5b1aebe0e980 100644 --- a/pkgs/tools/security/cnspec/default.nix +++ b/pkgs/tools/security/cnspec/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "cnspec"; - version = "10.0.1"; + version = "10.0.2"; src = fetchFromGitHub { owner = "mondoohq"; repo = "cnspec"; rev = "refs/tags/v${version}"; - hash = "sha256-CzTHEOQ6QTL5M6lS8BgRhf3OXBC/Pa+HabsRrlxQGcU="; + hash = "sha256-YdOzHMC2dP8OCDn1T+nE7k5dL3KHpLHFAGKuQAnu6l0="; }; proxyVendor = true; diff --git a/pkgs/tools/security/isolate/default.nix b/pkgs/tools/security/isolate/default.nix index ae975dc78ae9..4aa592029600 100644 --- a/pkgs/tools/security/isolate/default.nix +++ b/pkgs/tools/security/isolate/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "isolate"; - version = "1.10"; + version = "1.10.1"; src = fetchFromGitHub { owner = "ioi"; repo = "isolate"; rev = "v${version}"; - hash = "sha256-fuv9HOw0XkRBRjwAp4b6LpoB5p7a+yo66AcT3B0yQUw="; + hash = "sha256-xY2omzqIJYElLtzj4byy/QG4pW4erCxc+cD2X9nA2jM="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/security/psudohash/default.nix b/pkgs/tools/security/psudohash/default.nix index d5be9f9a772b..7a42d1900db3 100644 --- a/pkgs/tools/security/psudohash/default.nix +++ b/pkgs/tools/security/psudohash/default.nix @@ -1,8 +1,7 @@ -{ - lib, - fetchFromGitHub, - stdenv, - python3 +{ lib +, stdenv +, fetchFromGitHub +, python3 }: stdenv.mkDerivation rec { @@ -12,11 +11,14 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "t3l3machus"; repo = "psudohash"; + # https://github.com/t3l3machus/psudohash/issues/8 rev = "2d586dec8b5836546ae54b924eb59952a7ee393c"; hash = "sha256-l/Rp9405Wf6vh85PFrRTtTLJE7GPODowseNqEw42J18="; }; - buildInputs = [ python3 ]; + buildInputs = [ + python3 + ]; installPhase = '' runHook preInstall @@ -36,5 +38,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/t3l3machus/psudohash"; license = licenses.mit; maintainers = with maintainers; [ exploitoverload ]; + mainProgram = "psudohash"; }; } diff --git a/pkgs/tools/text/diffutils/default.nix b/pkgs/tools/text/diffutils/default.nix index 35e0fb5e6b96..040f363fa55d 100644 --- a/pkgs/tools/text/diffutils/default.nix +++ b/pkgs/tools/text/diffutils/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { lib.optional (coreutils != null) "PR_PROGRAM=${coreutils}/bin/pr" ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "gl_cv_func_getopt_gnu=yes"; - doCheck = !(stdenv.buildPlatform.isAarch64 && stdenv.buildPlatform.isMusl); + doCheck = true; meta = with lib; { homepage = "https://www.gnu.org/software/diffutils/diffutils.html"; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index a859b7e861e1..796bc920e574 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -795,6 +795,7 @@ mapAliases ({ parity = openethereum; # Added 2020-08-01 partition-manager = libsForQt5.partitionmanager; # Added 2024-01-08 pash = throw "'pash' has been removed: abandoned by upstream. Use 'powershell' instead"; # Added 2023-09-16 + patchelfStable = patchelf; # Added 2024-01-25 pcsctools = pcsc-tools; # Added 2023-12-07 pdf2xml = throw "'pdf2xml' was removed: abandoned for years."; # Added 2023-10-22 peach = asouldocs; # Added 2022-08-28 @@ -841,6 +842,7 @@ mapAliases ({ pinentry_qt = throw "'pinentry_qt' has been renamed to/replaced by 'pinentry-qt'"; # Converted to throw 2023-09-10 pinentry_qt5 = pinentry-qt; # Added 2020-02-11 PlistCpp = plistcpp; # Added 2024-01-05 + pocket-updater-utility = pupdate; # Added 2024-01-25 poetry2nix = throw "poetry2nix is now maintained out-of-tree. Please use https://github.com/nix-community/poetry2nix/"; # Added 2023-10-26 prayer = throw "prayer has been removed from nixpkgs"; # Added 2023-11-09 privacyidea = throw "privacyidea has been removed from nixpkgs"; # Added 2023-10-31 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1572f78582f6..b776f0382449 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2014,8 +2014,6 @@ with pkgs; pferd = callPackage ../tools/misc/pferd { }; - pocket-updater-utility = callPackage ../tools/games/pocket-updater-utility { }; - polygon-cli = callPackage ../tools/networking/polygon-cli { }; pricehist = python3Packages.callPackage ../tools/misc/pricehist { }; @@ -19742,14 +19740,7 @@ with pkgs; parse-cli-bin = callPackage ../development/tools/parse-cli-bin { }; - patchelf = if with stdenv.buildPlatform; isAarch64 && isMusl then - patchelf_0_13 - else - patchelfStable; - patchelf_0_13 = callPackage ../development/tools/misc/patchelf/0.13.nix { - patchelf = patchelfStable; - }; - patchelfStable = callPackage ../development/tools/misc/patchelf { }; + patchelf = callPackage ../development/tools/misc/patchelf { }; patchelfUnstable = lowPrio (callPackage ../development/tools/misc/patchelf/unstable.nix { }); @@ -20051,10 +20042,6 @@ with pkgs; sigrok-cli = callPackage ../development/tools/sigrok-cli { }; - silicon = callPackage ../tools/misc/silicon { - inherit (darwin.apple_sdk.frameworks) AppKit CoreText Security; - }; - simpleTpmPk11 = callPackage ../tools/security/simple-tpm-pk11 { }; slimerjs = callPackage ../development/tools/slimerjs { }; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 0a60090d1f0f..8446103bca15 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -65,10 +65,6 @@ in { llvmPackages = null; }; - ghc8102Binary = callPackage ../development/compilers/ghc/8.10.2-binary.nix { - llvmPackages = pkgs.llvmPackages_9; - }; - ghc8107Binary = callPackage ../development/compilers/ghc/8.10.7-binary.nix { llvmPackages = pkgs.llvmPackages_12; }; @@ -380,12 +376,6 @@ in { compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.6.x.nix { }; packageSetConfig = bootstrapPackageSet; }; - ghc8102Binary = callPackage ../development/haskell-modules { - buildHaskellPackages = bh.packages.ghc8102Binary; - ghc = bh.compiler.ghc8102Binary; - compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { }; - packageSetConfig = bootstrapPackageSet; - }; ghc8107Binary = callPackage ../development/haskell-modules { buildHaskellPackages = bh.packages.ghc8107Binary; ghc = bh.compiler.ghc8107Binary; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 64cfb8aa5166..ca7b34d0b70c 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -957,7 +957,7 @@ let linol-lwt = callPackage ../development/ocaml-modules/linol/lwt.nix { }; llvm = callPackage ../development/ocaml-modules/llvm { - libllvm = pkgs.llvmPackages_10.libllvm; + libllvm = pkgs.llvmPackages.libllvm; }; lo = callPackage ../development/ocaml-modules/lo { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 77a4c1c63f01..ba9705c80c1f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5296,6 +5296,8 @@ self: super: with self; { http-parser = callPackage ../development/python-modules/http-parser { }; + http-sf = callPackage ../development/python-modules/http-sf { }; + http-sfv = callPackage ../development/python-modules/http-sfv { }; httpretty = callPackage ../development/python-modules/httpretty { }; @@ -9994,6 +9996,8 @@ self: super: with self; { pweave = callPackage ../development/python-modules/pweave { }; + pwlf = callPackage ../development/python-modules/pwlf { }; + pwntools = callPackage ../development/python-modules/pwntools { debugger = pkgs.gdb; }; @@ -10348,6 +10352,8 @@ self: super: with self; { pydoods = callPackage ../development/python-modules/pydoods { }; + pydoe = callPackage ../development/python-modules/pydoe { }; + pydot = callPackage ../development/python-modules/pydot { inherit (pkgs) graphviz; }; diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix index d6f90592c078..78c04aa7c4da 100644 --- a/pkgs/top-level/release-haskell.nix +++ b/pkgs/top-level/release-haskell.nix @@ -49,8 +49,7 @@ let # ``` # { # ghc810 = "ghc810"; - # ghc8102Binary = "ghc8102Binary"; - # ghc8102BinaryMinimal = "ghc8102BinaryMinimal"; + # ghc8107Binary = "ghc8107Binary"; # ghc8107 = "ghc8107"; # ghc924 = "ghc924"; # ... @@ -385,7 +384,6 @@ let { # remove musl ghc865Binary since it is known to be broken and # causes an evaluation error on darwin. - # TODO: remove ghc865Binary altogether and use ghc8102Binary ghc865Binary = {}; ghcjs = {}; @@ -635,7 +633,6 @@ let ]; }; constituents = accumulateDerivations [ - jobs.pkgsMusl.haskell.compiler.ghc8102Binary jobs.pkgsMusl.haskell.compiler.ghc8107Binary jobs.pkgsMusl.haskell.compiler.ghc8107 jobs.pkgsMusl.haskell.compiler.ghc902