Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-06-11 12:01:16 +00:00 committed by GitHub
commit 14aa6e8765
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
75 changed files with 1639 additions and 1397 deletions

View File

@ -365,8 +365,8 @@ If `pname` and `version` are specified, `fetchurl` will use those values and wil
_Default value:_ `{}`.
`passthru` (Attribute Set; _optional_)
: Specifies any extra [passthru](#var-stdenv-passthru) attributes for the derivation returned by `fetchurl`.
Note that `fetchurl` defines [passthru attributes of its own](#ssec-pkgs-fetchers-fetchurl-passthru-outputs).
: Specifies any extra [`passthru`](#chap-passthru) attributes for the derivation returned by `fetchurl`.
Note that `fetchurl` defines [`passthru` attributes of its own](#ssec-pkgs-fetchers-fetchurl-passthru-outputs).
Attributes specified in `passthru` can override the default attributes returned by `fetchurl`.
_Default value:_ `{}`.
@ -387,7 +387,7 @@ If `pname` and `version` are specified, `fetchurl` will use those values and wil
### Passthru outputs {#ssec-pkgs-fetchers-fetchurl-passthru-outputs}
`fetchurl` also defines its own [`passthru`](#var-stdenv-passthru) attributes:
`fetchurl` also defines its own [`passthru`](#chap-passthru) attributes:
`url` (String)

View File

@ -191,7 +191,7 @@ Similarly, if you encounter errors similar to `Error_Protocol ("certificate has
### Passthru outputs {#ssec-pkgs-dockerTools-buildImage-passthru-outputs}
`buildImage` defines a few [`passthru`](#var-stdenv-passthru) attributes:
`buildImage` defines a few [`passthru`](#chap-passthru) attributes:
`buildArgs` (Attribute Set)
@ -576,13 +576,13 @@ This allows the function to produce reproducible images.
`passthru` (Attribute Set; _optional_)
: Use this to pass any attributes as [passthru](#var-stdenv-passthru) for the resulting derivation.
: Use this to pass any attributes as [`passthru`](#chap-passthru) for the resulting derivation.
_Default value:_ `{}`
### Passthru outputs {#ssec-pkgs-dockerTools-streamLayeredImage-passthru-outputs}
`streamLayeredImage` also defines its own [`passthru`](#var-stdenv-passthru) attributes:
`streamLayeredImage` also defines its own [`passthru`](#chap-passthru) attributes:
`imageTag` (String)

View File

@ -3,6 +3,7 @@
```{=include=} chapters
stdenv/stdenv.chapter.md
stdenv/meta.chapter.md
stdenv/passthru.chapter.md
stdenv/multiple-output.chapter.md
stdenv/cross-compilation.chapter.md
stdenv/platform-notes.chapter.md

View File

@ -110,107 +110,6 @@ Some packages use this to automatically detect the maximum set of features with
For example, `systemd` [requires dynamic linking](https://github.com/systemd/systemd/issues/20600#issuecomment-912338965), and [has a `meta.badPlatforms` setting](https://github.com/NixOS/nixpkgs/blob/b03ac42b0734da3e7be9bf8d94433a5195734b19/pkgs/os-specific/linux/systemd/default.nix#L752) similar to the one above.
Packages which can be built with or without `systemd` support will use `lib.meta.availableOn` to detect whether or not `systemd` is available on the [`hostPlatform`](#ssec-cross-platform-parameters) for which they are being built; if it is not available (e.g. due to a statically-linked host platform like `pkgsStatic`) this support will be disabled by default.
### `tests` {#var-meta-tests}
::: {.warning}
This attribute is special in that it is not actually under the `meta` attribute set but rather under the `passthru` attribute set. This is due to how `meta` attributes work, and the fact that they are supposed to contain only metadata, not derivations.
:::
An attribute set with tests as values. A test is a derivation that builds when the test passes and fails to build otherwise.
You can run these tests with:
```ShellSession
$ cd path/to/nixpkgs
$ nix-build -A your-package.tests
```
Note that Hydra and [`nixpkgs-review`](https://github.com/Mic92/nixpkgs-review) don't build these derivations by default, and that ([`@ofborg`](https://github.com/NixOS/ofborg)) only builds them when evaluating PRs for that particular package (or when manually instructed).
#### Package tests {#var-meta-tests-packages}
Tests that are part of the source package are often executed in the `installCheckPhase`. This phase is also suitable for performing a `--version` test for packages that support such flag. Here's an example:
```nix
# Say the package is git
stdenv.mkDerivation(finalAttrs: {
pname = "git";
version = "...";
# ...
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
echo checking if 'git --version' mentions ${finalAttrs.version}
$out/bin/git --version | grep ${finalAttrs.version}
runHook postInstallCheck
'';
# ...
})
```
Most programs distributed by Nixpkgs support such a `--version` flag, and it can help give confidence that the package at least got compiled properly. However, tests that are slightly non trivial will better fit into `passthru.tests`, because:
* `passthru.tests` tests the 'real' package, independently from the environment in which it was built
* We can run and debug a `passthru.tests` independently, after the package was built (useful if it takes a long time).
* `installCheckPhase` adds overhead to each build
It is also possible to still use `passthru.tests` to test the version, with [testVersion](#tester-testVersion).
For more on how to write and run package tests, see [`pkgs/README.md`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#package-tests).
#### NixOS tests {#var-meta-tests-nixos}
The NixOS tests are available as `nixosTests` in parameters of derivations. For instance, the OpenSMTPD derivation includes lines similar to:
```nix
{ /* ... , */ nixosTests }:
{
# ...
passthru.tests = {
basic-functionality-and-dovecot-integration = nixosTests.opensmtpd;
};
}
```
NixOS tests run in a VM, so they are slower than regular package tests. For more information see [NixOS module tests](https://nixos.org/manual/nixos/stable/#sec-nixos-tests).
Alternatively, you can specify other derivations as tests. You can make use of
the optional parameter to inject the correct package without
relying on non-local definitions, even in the presence of `overrideAttrs`.
Here that's `finalAttrs.finalPackage`, but you could choose a different name if
`finalAttrs` already exists in your scope.
`(mypkg.overrideAttrs f).passthru.tests` will be as expected, as long as the
definition of `tests` does not rely on the original `mypkg` or overrides it in
all places.
```nix
# my-package/default.nix
{ stdenv, callPackage }:
stdenv.mkDerivation (finalAttrs: {
# ...
passthru.tests.example = callPackage ./example.nix { my-package = finalAttrs.finalPackage; };
})
```
```nix
# my-package/example.nix
{ runCommand, lib, my-package, ... }:
runCommand "my-package-test" {
nativeBuildInputs = [ my-package ];
src = lib.sources.sourcesByRegex ./. [ ".*.in" ".*.expected" ];
} ''
my-package --help
my-package <example.in >example.actual
diff -U3 --color=auto example.expected example.actual
mkdir $out
''
```
### `timeout` {#var-meta-timeout}
A timeout (in seconds) for building the derivation. If the derivation takes longer than this time to build, Hydra will fail it due to breaking the timeout. However, all computers do not have the same computing power, hence some builders may decide to apply a multiplicative factor to this value. When filling this value in, try to keep it approximately consistent with other values already present in `nixpkgs`.

View File

@ -0,0 +1,157 @@
# Passthru-attributes {#chap-passthru}
[]{#var-stdenv-passthru} []{#special-variables} <!-- legacy anchors -->
As opposed to most other `mkDerivation` input attributes, `passthru` is not passed to the derivation's [`builder` executable](https://nixos.org/manual/nix/stable/expressions/derivations.html#attr-builder).
Changing it will not trigger a rebuild it is "passed through".
Its value can be accessed as if it was set inside a derivation.
::: {.note}
`passthru` attributes follow no particular schema, but there are a few [conventional patterns](#sec-common-passthru-attributes).
:::
:::{.example #ex-accessing-passthru}
## Setting and accessing `passthru` attributes
```nix
{ stdenv, fetchGit }:
let
hello = stdenv.mkDerivation {
pname = "hello";
src = fetchGit { /* ... */ };
passthru = {
foo = "bar";
baz = {
value1 = 4;
value2 = 5;
};
};
};
in
hello.baz.value1
```
```
4
```
:::
## Common `passthru`-attributes {#sec-common-passthru-attributes}
Many `passthru` attributes are situational, so this section only lists recurring patterns.
They fall in one of these categories:
- Global conventions, which are applied almost universally in Nixpkgs.
Generally these don't entail any special support built into the derivation they belong to.
Common examples of this type are [`passthru.tests`](#var-passthru-tests) and [`passthru.updateScript`](#var-passthru-updateScript).
- Conventions for adding extra functionality to a derivation.
These tend to entail support from the derivation or the `passthru` attribute in question.
Common examples of this type are `passthru.optional-dependencies`, `passthru.withPlugins`, and `passthru.withPackages`.
All of those allow associating the package with a set of components built for that specific package, such as when building Python runtime environments using (`python.withPackages`)[#python.withpackages-function].
Attributes that apply only to particular [build helpers](#part-builders) or [language ecosystems](#chap-language-support) are documented there.
### `passthru.tests` {#var-passthru-tests}
[]{#var-meta-tests} <!-- legacy anchor -->
An attribute set with tests as values.
A test is a derivation that builds when the test passes and fails to build otherwise.
Run these tests with:
```ShellSession
$ cd path/to/nixpkgs
$ nix-build -A your-package.tests
```
:::{.note}
The Nixpkgs systems for continuous integration [Hydra](https://hydra.nixos.org/) and [`nixpkgs-review`](https://github.com/Mic92/nixpkgs-review) don't build these derivations by default, and ([`@ofborg`](https://github.com/NixOS/ofborg)) only builds them when evaluating pull requests for that particular package, or when manually instructed.
:::
#### Package tests {#var-passthru-tests-packages}
[]{#var-meta-tests-packages} <!-- legacy anchor -->
Tests that are part of the source package, if they run quickly, are typically executed in the [`installCheckPhase`](#var-stdenv-phases).
This phase is also suitable for performing a `--version` test for packages that support such flag.
Most programs distributed by Nixpkgs support such a `--version` flag, and successfully calling the program with that flag indicates that the package at least got compiled properly.
:::{.example #ex-checking-build-installCheckPhase}
## Checking builds with `installCheckPhase`
When building `git`, a rudimentary test for successful compilation would be running `git --version`:
```nix
stdenv.mkDerivation (finalAttrs: {
pname = "git";
version = "1.2.3";
# ...
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
echo checking if 'git --version' mentions ${finalAttrs.version}
$out/bin/git --version | grep ${finalAttrs.version}
runHook postInstallCheck
'';
# ...
})
```
:::
However, tests that are non-trivial will better fit into `passthru.tests` because they:
- Access the package as consumers would, independently from the environment in which it was built
- Can be run and debugged without rebuilding the package, which is useful if that takes a long time
- Don't add overhad to each build, as opposed to `installCheckPhase`
It is also possible to use `passthru.tests` to test the version with [`testVersion`](#tester-testVersion).
<!-- NOTE(@fricklerhandwerk): one may argue whether that testing guide should rather be in the user's manual -->
For more on how to write and run package tests for Nixpkgs, see the [testing section in the package contributor guide](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#package-tests).
#### NixOS tests {#var-passthru-tests-nixos}
[]{#var-meta-tests-nixos} <!-- legacy anchor -->
Tests written for NixOS are available as the `nixosTests` argument to package recipes.
For instance, the [OpenSMTPD derivation](https://search.nixos.org/packages?show=opensmtpd) includes lines similar to:
```nix
{ nixosTests, ... }:
{
# ...
passthru.tests = {
basic-functionality-and-dovecot-integration = nixosTests.opensmtpd;
};
}
```
NixOS tests run in a virtual machine (VM), so they are slower than regular package tests.
For more information see the NixOS manual on [NixOS module tests](https://nixos.org/manual/nixos/stable/#sec-nixos-tests).
### `passthru.updateScript` {#var-passthru-updateScript}
<!-- legacy anchors -->
[]{#var-passthru-updateScript-command}
[]{#var-passthru-updateScript-set-command}
[]{#var-passthru-updateScript-set-attrPath}
[]{#var-passthru-updateScript-set-supportedFeatures}
[]{#var-passthru-updateScript-env-UPDATE_NIX_NAME}
[]{#var-passthru-updateScript-env-UPDATE_NIX_PNAME}
[]{#var-passthru-updateScript-env-UPDATE_NIX_OLD_VERSION}
[]{#var-passthru-updateScript-env-UPDATE_NIX_ATTR_PATH}
[]{#var-passthru-updateScript-execution}
[]{#var-passthru-updateScript-supported-features}
[]{#var-passthru-updateScript-commit}
[]{#var-passthru-updateScript-commit-attrPath}
[]{#var-passthru-updateScript-commit-oldVersion}
[]{#var-passthru-updateScript-commit-newVersion}
[]{#var-passthru-updateScript-commit-files}
[]{#var-passthru-updateScript-commit-commitBody}
[]{#var-passthru-updateScript-commit-commitMessage}
[]{#var-passthru-updateScript-example-commit}
Nixpkgs tries to automatically update all packages that have an `passthru.updateScript` attribute.
See the [section on automatic package updates in the package contributor guide](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#automatic-package-updates) for details.

View File

@ -442,145 +442,6 @@ If set to `true`, `stdenv` will pass specific flags to `make` and other build to
Unless set to `false`, some build systems with good support for parallel building including `cmake`, `meson`, and `qmake` will set it to `true`.
### Special variables {#special-variables}
#### `passthru` {#var-stdenv-passthru}
This is an attribute set which can be filled with arbitrary values. For example:
```nix
{
passthru = {
foo = "bar";
baz = {
value1 = 4;
value2 = 5;
};
};
}
```
Values inside it are not passed to the builder, so you can change them without triggering a rebuild. However, they can be accessed outside of a derivation directly, as if they were set inside a derivation itself, e.g. `hello.baz.value1`. We dont specify any usage or schema of `passthru` - it is meant for values that would be useful outside the derivation in other parts of a Nix expression (e.g. in other derivations). An example would be to convey some specific dependency of your derivation which contains a program with plugins support. Later, others who make derivations with plugins can use passed-through dependency to ensure that their plugin would be binary-compatible with built program.
#### `passthru.updateScript` {#var-passthru-updateScript}
A script to be run by `maintainers/scripts/update.nix` when the package is matched. The attribute can contain one of the following:
- []{#var-passthru-updateScript-command} an executable file, either on the file system:
```nix
{
passthru.updateScript = ./update.sh;
}
```
or inside the expression itself:
```nix
{
passthru.updateScript = writeScript "update-zoom-us" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl pcre2 common-updater-scripts
set -eu -o pipefail
version="$(curl -sI https://zoom.us/client/latest/zoom_x86_64.tar.xz | grep -Fi 'Location:' | pcre2grep -o1 '/(([0-9]\.?)+)/')"
update-source-version zoom-us "$version"
'';
}
```
- a list, a script followed by arguments to be passed to it:
```nix
{
passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ];
}
```
- an attribute set containing:
- [`command`]{#var-passthru-updateScript-set-command} a string or list in the [format expected by `passthru.updateScript`](#var-passthru-updateScript-command).
- [`attrPath`]{#var-passthru-updateScript-set-attrPath} (optional) a string containing the canonical attribute path for the package. If present, it will be passed to the update script instead of the attribute path on which the package was discovered during Nixpkgs traversal.
- [`supportedFeatures`]{#var-passthru-updateScript-set-supportedFeatures} (optional) a list of the [extra features](#var-passthru-updateScript-supported-features) the script supports.
```nix
{
passthru.updateScript = {
command = [ ../../update.sh pname ];
attrPath = pname;
supportedFeatures = [ /* ... */ ];
};
}
```
::: {.tip}
A common pattern is to use the [`nix-update-script`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/common-updater/nix-update.nix) attribute provided in Nixpkgs, which runs [`nix-update`](https://github.com/Mic92/nix-update):
```nix
{
passthru.updateScript = nix-update-script { };
}
```
For simple packages, this is often enough, and will ensure that the package is updated automatically by [`nixpkgs-update`](https://ryantm.github.io/nixpkgs-update) when a new version is released. The [update bot](https://nix-community.org/update-bot) runs periodically to attempt to automatically update packages, and will run `passthru.updateScript` if set. While not strictly necessary if the project is listed on [Repology](https://repology.org), using `nix-update-script` allows the package to update via many more sources (e.g. GitHub releases).
:::
##### How update scripts are executed? {#var-passthru-updateScript-execution}
Update scripts are to be invoked by `maintainers/scripts/update.nix` script. You can run `nix-shell maintainers/scripts/update.nix` in the root of Nixpkgs repository for information on how to use it. `update.nix` offers several modes for selecting packages to update (e.g. select by attribute path, traverse Nixpkgs and filter by maintainer, etc.), and it will execute update scripts for all matched packages that have an `updateScript` attribute.
Each update script will be passed the following environment variables:
- [`UPDATE_NIX_NAME`]{#var-passthru-updateScript-env-UPDATE_NIX_NAME} content of the `name` attribute of the updated package.
- [`UPDATE_NIX_PNAME`]{#var-passthru-updateScript-env-UPDATE_NIX_PNAME} content of the `pname` attribute of the updated package.
- [`UPDATE_NIX_OLD_VERSION`]{#var-passthru-updateScript-env-UPDATE_NIX_OLD_VERSION} content of the `version` attribute of the updated package.
- [`UPDATE_NIX_ATTR_PATH`]{#var-passthru-updateScript-env-UPDATE_NIX_ATTR_PATH} attribute path the `update.nix` discovered the package on (or the [canonical `attrPath`](#var-passthru-updateScript-set-attrPath) when available). Example: `pantheon.elementary-terminal`
::: {.note}
An update script will be usually run from the root of the Nixpkgs repository but you should not rely on that. Also note that `update.nix` executes update scripts in parallel by default so you should avoid running `git commit` or any other commands that cannot handle that.
:::
::: {.tip}
While update scripts should not create commits themselves, `maintainers/scripts/update.nix` supports automatically creating commits when running it with `--argstr commit true`. If you need to customize commit message, you can have the update script implement [`commit`](#var-passthru-updateScript-commit) feature.
:::
##### Supported features {#var-passthru-updateScript-supported-features}
###### `commit` {#var-passthru-updateScript-commit}
This feature allows update scripts to *ask* `update.nix` to create Git commits.
When support of this feature is declared, whenever the update script exits with `0` return status, it is expected to print a JSON list containing an object described below for each updated attribute to standard output.
When `update.nix` is run with `--argstr commit true` arguments, it will create a separate commit for each of the objects. An empty list can be returned when the script did not update any files, for example, when the package is already at the latest version.
The commit object contains the following values:
- [`attrPath`]{#var-passthru-updateScript-commit-attrPath} a string containing attribute path.
- [`oldVersion`]{#var-passthru-updateScript-commit-oldVersion} a string containing old version.
- [`newVersion`]{#var-passthru-updateScript-commit-newVersion} a string containing new version.
- [`files`]{#var-passthru-updateScript-commit-files} a non-empty list of file paths (as strings) to add to the commit.
- [`commitBody`]{#var-passthru-updateScript-commit-commitBody} (optional) a string with extra content to be appended to the default commit message (useful for adding changelog links).
- [`commitMessage`]{#var-passthru-updateScript-commit-commitMessage} (optional) a string to use instead of the default commit message.
If the returned array contains exactly one object (e.g. `[{}]`), all values are optional and will be determined automatically.
::: {.example #var-passthru-updateScript-example-commit}
# Standard output of an update script using commit feature
```json
[
{
"attrPath": "volume_key",
"oldVersion": "0.3.11",
"newVersion": "0.3.12",
"files": [
"/path/to/nixpkgs/pkgs/development/libraries/volume-key/default.nix"
]
}
]
```
:::
### Fixed-point arguments of `mkDerivation` {#mkderivation-recursive-attributes}
If you pass a function to `mkDerivation`, it will receive as its argument the final arguments, including the overrides when reinvoked via `overrideAttrs`. For example:
@ -633,7 +494,7 @@ in pkg
Unlike the `pkg` binding in the above example, the `finalAttrs` parameter always references the final attributes. For instance `(pkg.overrideAttrs(x)).finalAttrs.finalPackage` is identical to `pkg.overrideAttrs(x)`, whereas `(pkg.overrideAttrs(x)).original` is the same as the original `pkg`.
See also the section about [`passthru.tests`](#var-meta-tests).
See also the section about [`passthru.tests`](#var-passthru-tests).
## Phases {#sec-stdenv-phases}
@ -1145,7 +1006,7 @@ This setup works as follows:
The installCheck phase checks whether the package was installed correctly by running its test suite against the installed directories. The default `installCheck` calls `make installcheck`.
It is often better to add tests that are not part of the source distribution to `passthru.tests` (see
[](#var-meta-tests)). This avoids adding overhead to every build and enables us to run them independently.
[](#var-passthru-tests)). This avoids adding overhead to every build and enables us to run them independently.
#### Variables controlling the installCheck phase {#variables-controlling-the-installcheck-phase}

0
igvm.log Normal file
View File

View File

@ -4,7 +4,18 @@ let
cfg = config.security.loginDefs;
in
{
options = with lib.types; {
options = {
security.shadow.enable = lib.mkEnableOption "" // {
default = true;
description = ''
Enable the shadow authentication suite, which provides critical programs such as su, login, passwd.
Note: This is currently experimental. Only disable this if you're
confident that you can recover your system if it breaks.
'';
};
security.loginDefs = {
package = lib.mkPackageOption pkgs "shadow" { };
@ -12,7 +23,7 @@ in
description = ''
Use chfn SUID to allow non-root users to change their account GECOS information.
'';
type = nullOr str;
type = lib.types.nullOr lib.types.str;
default = null;
};
@ -22,7 +33,7 @@ in
the site-specific configuration for the shadow password suite.
See login.defs(5) man page for available options.
'';
type = submodule {
type = lib.types.submodule {
freeformType = (pkgs.formats.keyValue { }).type;
/* There are three different sources for user/group id ranges, each of which gets
used by different programs:
@ -37,62 +48,62 @@ in
DEFAULT_HOME = lib.mkOption {
description = "Indicate if login is allowed if we can't cd to the home directory.";
default = "yes";
type = enum [ "yes" "no" ];
type = lib.types.enum [ "yes" "no" ];
};
ENCRYPT_METHOD = lib.mkOption {
description = "This defines the system default encryption algorithm for encrypting passwords.";
# The default crypt() method, keep in sync with the PAM default
default = "YESCRYPT";
type = enum [ "YESCRYPT" "SHA512" "SHA256" "MD5" "DES"];
type = lib.types.enum [ "YESCRYPT" "SHA512" "SHA256" "MD5" "DES"];
};
SYS_UID_MIN = lib.mkOption {
description = "Range of user IDs used for the creation of system users by useradd or newusers.";
default = 400;
type = int;
type = lib.types.int;
};
SYS_UID_MAX = lib.mkOption {
description = "Range of user IDs used for the creation of system users by useradd or newusers.";
default = 999;
type = int;
type = lib.types.int;
};
UID_MIN = lib.mkOption {
description = "Range of user IDs used for the creation of regular users by useradd or newusers.";
default = 1000;
type = int;
type = lib.types.int;
};
UID_MAX = lib.mkOption {
description = "Range of user IDs used for the creation of regular users by useradd or newusers.";
default = 29999;
type = int;
type = lib.types.int;
};
SYS_GID_MIN = lib.mkOption {
description = "Range of group IDs used for the creation of system groups by useradd, groupadd, or newusers";
default = 400;
type = int;
type = lib.types.int;
};
SYS_GID_MAX = lib.mkOption {
description = "Range of group IDs used for the creation of system groups by useradd, groupadd, or newusers";
default = 999;
type = int;
type = lib.types.int;
};
GID_MIN = lib.mkOption {
description = "Range of group IDs used for the creation of regular groups by useradd, groupadd, or newusers.";
default = 1000;
type = int;
type = lib.types.int;
};
GID_MAX = lib.mkOption {
description = "Range of group IDs used for the creation of regular groups by useradd, groupadd, or newusers.";
default = 29999;
type = int;
type = lib.types.int;
};
TTYGROUP = lib.mkOption {
@ -100,7 +111,7 @@ in
The terminal permissions: the login tty will be owned by the TTYGROUP group,
and the permissions will be set to TTYPERM'';
default = "tty";
type = str;
type = lib.types.str;
};
TTYPERM = lib.mkOption {
@ -108,14 +119,14 @@ in
The terminal permissions: the login tty will be owned by the TTYGROUP group,
and the permissions will be set to TTYPERM'';
default = "0620";
type = str;
type = lib.types.str;
};
# Ensure privacy for newly created home directories.
UMASK = lib.mkOption {
description = "The file mode creation mask is initialized to this value.";
default = "077";
type = str;
type = lib.types.str;
};
};
};
@ -132,107 +143,115 @@ in
used outside the store (in particular in /etc/passwd).
'';
example = lib.literalExpression "pkgs.zsh";
type = either path shellPackage;
type = lib.types.either lib.types.path lib.types.shellPackage;
};
};
###### implementation
config = {
assertions = [
{
assertion = cfg.settings.SYS_UID_MIN <= cfg.settings.SYS_UID_MAX;
message = "SYS_UID_MIN must be less than or equal to SYS_UID_MAX";
}
{
assertion = cfg.settings.UID_MIN <= cfg.settings.UID_MAX;
message = "UID_MIN must be less than or equal to UID_MAX";
}
{
assertion = cfg.settings.SYS_GID_MIN <= cfg.settings.SYS_GID_MAX;
message = "SYS_GID_MIN must be less than or equal to SYS_GID_MAX";
}
{
assertion = cfg.settings.GID_MIN <= cfg.settings.GID_MAX;
message = "GID_MIN must be less than or equal to GID_MAX";
}
];
config = lib.mkMerge [
{
assertions = [
{
assertion = config.security.shadow.enable || config.services.greetd.enable;
message = "You must enable at least one VT login method, either security.shadow.enable or services.greetd.enable";
}
];
}
(lib.mkIf config.security.shadow.enable {
assertions = [
{
assertion = cfg.settings.SYS_UID_MIN <= cfg.settings.SYS_UID_MAX;
message = "SYS_UID_MIN must be less than or equal to SYS_UID_MAX";
}
{
assertion = cfg.settings.UID_MIN <= cfg.settings.UID_MAX;
message = "UID_MIN must be less than or equal to UID_MAX";
}
{
assertion = cfg.settings.SYS_GID_MIN <= cfg.settings.SYS_GID_MAX;
message = "SYS_GID_MIN must be less than or equal to SYS_GID_MAX";
}
{
assertion = cfg.settings.GID_MIN <= cfg.settings.GID_MAX;
message = "GID_MIN must be less than or equal to GID_MAX";
}
];
security.loginDefs.settings.CHFN_RESTRICT =
lib.mkIf (cfg.chfnRestrict != null) cfg.chfnRestrict;
security.loginDefs.settings.CHFN_RESTRICT = lib.mkIf (cfg.chfnRestrict != null) cfg.chfnRestrict;
environment.systemPackages = lib.optional config.users.mutableUsers cfg.package
++ lib.optional (lib.types.shellPackage.check config.users.defaultUserShell) config.users.defaultUserShell
++ lib.optional (cfg.chfnRestrict != null) pkgs.util-linux;
environment.systemPackages = lib.optional config.users.mutableUsers cfg.package
++ lib.optional (lib.types.shellPackage.check config.users.defaultUserShell) config.users.defaultUserShell
++ lib.optional (cfg.chfnRestrict != null) pkgs.util-linux;
environment.etc =
# Create custom toKeyValue generator
# see https://man7.org/linux/man-pages/man5/login.defs.5.html for config specification
let
toKeyValue = lib.generators.toKeyValue {
mkKeyValue = lib.generators.mkKeyValueDefault { } " ";
environment.etc =
# Create custom toKeyValue generator
# see https://man7.org/linux/man-pages/man5/login.defs.5.html for config specification
let
toKeyValue = lib.generators.toKeyValue {
mkKeyValue = lib.generators.mkKeyValueDefault { } " ";
};
in {
# /etc/login.defs: global configuration for pwdutils.
# You cannot login without it!
"login.defs".source = pkgs.writeText "login.defs" (toKeyValue cfg.settings);
# /etc/default/useradd: configuration for useradd.
"default/useradd".source = pkgs.writeText "useradd" ''
GROUP=100
HOME=/home
SHELL=${utils.toShellPath config.users.defaultUserShell}
'';
};
in
{
# /etc/login.defs: global configuration for pwdutils.
# You cannot login without it!
"login.defs".source = pkgs.writeText "login.defs" (toKeyValue cfg.settings);
# /etc/default/useradd: configuration for useradd.
"default/useradd".source = pkgs.writeText "useradd" ''
GROUP=100
HOME=/home
SHELL=${utils.toShellPath config.users.defaultUserShell}
'';
};
security.pam.services = {
chsh = { rootOK = true; };
chfn = { rootOK = true; };
su = {
rootOK = true;
forwardXAuth = true;
logFailures = true;
};
passwd = { };
# Note: useradd, groupadd etc. aren't setuid root, so it
# doesn't really matter what the PAM config says as long as it
# lets root in.
useradd.rootOK = true;
usermod.rootOK = true;
userdel.rootOK = true;
groupadd.rootOK = true;
groupmod.rootOK = true;
groupmems.rootOK = true;
groupdel.rootOK = true;
login = {
startSession = true;
allowNullPassword = true;
showMotd = true;
updateWtmp = true;
};
chpasswd = { rootOK = true; };
};
security.wrappers =
let
mkSetuidRoot = source: {
setuid = true;
owner = "root";
group = "root";
inherit source;
security.pam.services = {
chsh.rootOK = true;
chfn.rootOK = true;
su = {
rootOK = true;
forwardXAuth = true;
logFailures = true;
};
in
{
su = mkSetuidRoot "${cfg.package.su}/bin/su";
sg = mkSetuidRoot "${cfg.package.out}/bin/sg";
newgrp = mkSetuidRoot "${cfg.package.out}/bin/newgrp";
newuidmap = mkSetuidRoot "${cfg.package.out}/bin/newuidmap";
newgidmap = mkSetuidRoot "${cfg.package.out}/bin/newgidmap";
}
// lib.optionalAttrs config.users.mutableUsers {
chsh = mkSetuidRoot "${cfg.package.out}/bin/chsh";
passwd = mkSetuidRoot "${cfg.package.out}/bin/passwd";
passwd = { };
# Note: useradd, groupadd etc. aren't setuid root, so it
# doesn't really matter what the PAM config says as long as it
# lets root in.
useradd.rootOK = true;
usermod.rootOK = true;
userdel.rootOK = true;
groupadd.rootOK = true;
groupmod.rootOK = true;
groupmems.rootOK = true;
groupdel.rootOK = true;
login = {
startSession = true;
allowNullPassword = true;
showMotd = true;
updateWtmp = true;
};
chpasswd.rootOK = true;
};
};
security.wrappers =
let
mkSetuidRoot = source: {
setuid = true;
owner = "root";
group = "root";
inherit source;
};
in
{
su = mkSetuidRoot "${cfg.package.su}/bin/su";
sg = mkSetuidRoot "${cfg.package.out}/bin/sg";
newgrp = mkSetuidRoot "${cfg.package.out}/bin/newgrp";
newuidmap = mkSetuidRoot "${cfg.package.out}/bin/newuidmap";
newgidmap = mkSetuidRoot "${cfg.package.out}/bin/newgidmap";
}
// lib.optionalAttrs config.users.mutableUsers {
chsh = mkSetuidRoot "${cfg.package.out}/bin/chsh";
passwd = mkSetuidRoot "${cfg.package.out}/bin/passwd";
};
})
];
}

View File

@ -455,7 +455,7 @@ in
after = [ "public-inbox-init.service" "public-inbox-watch.service" ];
requires = [ "public-inbox-init.service" ];
serviceConfig = {
BindPathsReadOnly =
BindReadOnlyPaths =
map (c: c.dir) (lib.attrValues cfg.settings.coderepo);
ExecStart = escapeShellArgs (
[ "${cfg.package}/bin/public-inbox-httpd" ] ++

View File

@ -140,8 +140,8 @@ in
options.api.endpoint = mkOption {
type = str;
default = "http://localhost:${toString cfg.settings.web.listen.port}";
defaultText = literalExpression ''"http://localhost:''${config.services.scrutiny.settings.web.listen.port}"'';
default = "http://${cfg.settings.web.listen.host}:${toString cfg.settings.web.listen.port}";
defaultText = literalExpression ''"http://''${config.services.scrutiny.settings.web.listen.host}:''${config.services.scrutiny.settings.web.listen.port}"'';
description = "Scrutiny app API endpoint for sending metrics to.";
};

View File

@ -82,7 +82,7 @@ in
type = types.bool;
default = false;
description = ''
Allow leaving {option}`config.boot.initrd.network.ssh` empty,
Allow leaving {option}`config.boot.initrd.network.ssh.hostKeys` empty,
to deploy ssh host keys out of band.
'';
};

View File

@ -380,6 +380,7 @@ in {
grafana-agent = handleTest ./grafana-agent.nix {};
graphite = handleTest ./graphite.nix {};
graylog = handleTest ./graylog.nix {};
greetd-no-shadow = handleTest ./greetd-no-shadow.nix {};
grocy = handleTest ./grocy.nix {};
grow-partition = runTest ./grow-partition.nix;
grub = handleTest ./grub.nix {};

View File

@ -0,0 +1,49 @@
import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }:
{
name = "greetd-no-shadow";
meta = with pkgs.lib.maintainers; {
maintainers = [ ];
};
nodes.machine =
{ pkgs, lib, ... }: {
users.users.alice = {
isNormalUser = true;
group = "alice";
password = "foobar";
};
users.groups.alice = {};
# This means login(1) breaks, so we must use greetd/agreety instead.
security.shadow.enable = false;
services.greetd = {
enable = true;
settings = {
default_session = {
command = "${pkgs.greetd.greetd}/bin/agreety --cmd bash";
};
};
};
};
testScript = ''
machine.start()
machine.wait_for_unit("multi-user.target")
machine.wait_until_succeeds("pgrep -f 'agretty.*tty1'")
machine.screenshot("postboot")
with subtest("Log in as alice on a virtual console"):
machine.wait_until_tty_matches("1", "login: ")
machine.send_chars("alice\n")
machine.wait_until_tty_matches("1", "login: alice")
machine.wait_until_succeeds("pgrep login")
machine.wait_until_tty_matches("1", "Password: ")
machine.send_chars("foobar\n")
machine.wait_until_succeeds("pgrep -u alice bash")
machine.send_chars("touch done\n")
machine.wait_for_file("/home/alice/done")
'';
})

View File

@ -599,6 +599,34 @@ buildGoModule rec {
}
```
Any derivaton can be specified as a test, even if it's in a different file.
Such a derivaton that implements a test can depend on the package under test, even in the presence of `overrideAttrs`.
In the following example, `(my-package.overrideAttrs f).passthru.tests` will work as expected, as long as the definition of `tests` does not rely on the original `my-package` or overrides all occurrences of `my-package`:
```nix
# my-package/default.nix
{ stdenv, callPackage }:
stdenv.mkDerivation (finalAttrs: {
# ...
passthru.tests.example = callPackage ./example.nix { my-package = finalAttrs.finalPackage; };
})
```
```nix
# my-package/example.nix
{ runCommand, lib, my-package, ... }:
runCommand "my-package-test" {
nativeBuildInputs = [ my-package ];
src = lib.sources.sourcesByRegex ./. [ ".*.in" ".*.expected" ];
} ''
my-package --help
my-package <example.in >example.actual
diff -U3 --color=auto example.expected example.actual
mkdir $out
''
```
### Writing larger package tests
[larger-package-tests]: #writing-larger-package-tests
@ -684,6 +712,152 @@ stdenv.mkDerivation {
}
```
## Automatic package updates
[automatic-package-updates]: #automatic-package-updates
Nixpkgs periodically tries to update all packages that have a `passthru.updateScript` attribute.
> [!Note]
> A common pattern is to use the [`nix-update-script`](../pkgs/common-updater/nix-update.nix) attribute provided in Nixpkgs, which runs [`nix-update`](https://github.com/Mic92/nix-update):
>
> ```nix
> { stdenv, nix-update-script }:
> stdenv.mkDerivation {
> # ...
> passthru.updateScript = nix-update-script { };
> }
> ```
>
> For simple packages, this is often enough, and will ensure that the package is updated automatically by [`nixpkgs-update`](https://ryantm.github.io/nixpkgs-update) when a new version is released.
> The [update bot](https://nix-community.org/update-bot) runs periodically to attempt to automatically update packages, and will run `passthru.updateScript` if set.
> While not strictly necessary if the project is listed on [Repology](https://repology.org), using `nix-update-script` allows the package to update via many more sources (e.g. GitHub releases).
The `passthru.updateScript` attribute can contain one of the following:
- an executable file, either on the file system:
```nix
{ stdenv }:
stdenv.mkDerivation {
# ...
passthru.updateScript = ./update.sh;
}
```
or inside the expression itself:
```nix
{ stdenv, writeScript }:
stdenv.mkDerivation {
# ...
passthru.updateScript = writeScript "update-zoom-us" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl pcre2 common-updater-scripts
set -eu -o pipefail
version="$(curl -sI https://zoom.us/client/latest/zoom_x86_64.tar.xz | grep -Fi 'Location:' | pcre2grep -o1 '/(([0-9]\.?)+)/')"
update-source-version zoom-us "$version"
'';
}
```
- a list, a script file followed by arguments to be passed to it:
```nix
{ stdenv }:
stdenv.mkDerivation {
# ...
passthru.updateScript = [ ../../update.sh pname "--requested-release=unstable" ];
}
```
- an attribute set containing:
- `command`
A string or list in the [format expected by `passthru.updateScript`][automatic-package-updates]
- `attrPath` (optional)
A string containing the canonical attribute path for the package.
If present, it will be passed to the update script instead of the attribute path on which the package was discovered during Nixpkgs traversal.
- `supportedFeatures` (optional)
A list of the [extra features the script supports][supported-features].
```nix
{ stdenv }:
stdenv.mkDerivation rec {
pname = "my-package";
# ...
passthru.updateScript = {
command = [ ../../update.sh pname ];
attrPath = pname;
supportedFeatures = [ /* ... */ ];
};
}
```
### How are update scripts executed?
Update scripts are to be invoked by the [automatic package update script](../maintainers/scripts/update.nix).
You can run `nix-shell maintainers/scripts/update.nix` in the root of Nixpkgs repository for information on how to use it.
`update.nix` offers several modes for selecting packages to update, and it will execute update scripts for all matched packages that have an `updateScript` attribute.
Each update script will be passed the following environment variables:
- [`UPDATE_NIX_NAME`] content of the `name` attribute of the updated package
- [`UPDATE_NIX_PNAME`] content of the `pname` attribute of the updated package
- [`UPDATE_NIX_OLD_VERSION`] content of the `version` attribute of the updated package
- [`UPDATE_NIX_ATTR_PATH`] attribute path the `update.nix` discovered the package on (or the package's specified `attrPath` when available). Example: `pantheon.elementary-terminal`
> [!Note]
> An update script will be usually run from the root of the Nixpkgs repository, but you should not rely on that.
> Also note that `update.nix` executes update scripts in parallel by default, so you should avoid running `git commit` or any other commands that cannot handle that.
While update scripts should not create commits themselves, `update.nix` supports automatically creating commits when running it with `--argstr commit true`.
If you need to customize commit message, you can have the update script implement the `commit` feature.
### Supported features
[update-script-supported-features]: #supported-features
- `commit`
This feature allows update scripts to *ask* `update.nix` to create Git commits.
When support of this feature is declared, whenever the update script exits with `0` return status, it is expected to print a JSON list containing an object described below for each updated attribute to standard output.
Example:
```json
[
{
"attrPath": "volume_key",
"oldVersion": "0.3.11",
"newVersion": "0.3.12",
"files": [
"/path/to/nixpkgs/pkgs/development/libraries/volume-key/default.nix"
]
}
]
```
:::
When `update.nix` is run with `--argstr commit true`, it will create a separate commit for each of the objects.
An empty list can be returned when the script did not update any files; for example, when the package is already at the latest version.
The commit object contains the following values:
- `attrPath` a string containing the attribute path
- `oldVersion` a string containing the old version
- `newVersion` a string containing the new version
- `files` a non-empty list of file paths (as strings) to add to the commit
- `commitBody` (optional) a string with extra content to be appended to the default commit message (useful for adding changelog links)
- `commitMessage` (optional) a string to use instead of the default commit message
If the returned list contains exactly one object (e.g. `[{}]`), all values are optional and will be determined automatically.
## Reviewing contributions
### Package updates

View File

@ -7,11 +7,11 @@
melpaBuild rec {
pname = "ebuild-mode";
version = "1.70";
version = "1.71";
src = fetchzip {
url = "https://gitweb.gentoo.org/proj/ebuild-mode.git/snapshot/ebuild-mode-${version}.tar.bz2";
hash = "sha256-dOm3xJMFLelwcImIwckeQHx1GqV9PB+I45QA9UT1nCM=";
hash = "sha256-HvaiH3I6hJMb1XFFf8FOw22X+47UayCIWAGuXAVP/ls=";
};
# not used but needs to be set; why?

View File

@ -34,6 +34,7 @@ buildPythonApplication rec {
pyperclip
asttokens
send2trash
dbus-next
];
preInstall = ''

View File

@ -11,13 +11,13 @@
python3Packages.buildPythonApplication rec {
pname = "bleachbit";
version = "4.4.0";
version = "4.6.0";
format = "other";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
sha256 = "0kqqfzq6bh03n7kxb9vd483bqi1cklfvj35a7h4iqk96sq1xv8z6";
sha256 = "sha256-UwUphuUeXFy71I+tmKnRH858dPrA2+xDxnG9h26a+kE=";
};
nativeBuildInputs = [

View File

@ -32,11 +32,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "calibre";
version = "7.11.0";
version = "7.12.0";
src = fetchurl {
url = "https://download.calibre-ebook.com/${finalAttrs.version}/calibre-${finalAttrs.version}.tar.xz";
hash = "sha256-JSQ8BpZf7ZvLld3GM5/yfLS+zRiFGi0r7V67Xb662Os=";
hash = "sha256-XHkORTUx3+O+i2vbTiZAHI/0hY3xPIXvvNAVuXy4wzk=";
};
patches = [

View File

@ -39,6 +39,6 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/mdgaziur/findex";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = [ maintainers.pinkcreeper100 ];
maintainers = [];
};
}

View File

@ -1,14 +1,5 @@
From 2629af4ed00d7ca65359178203d80fb146901cdb Mon Sep 17 00:00:00 2001
From: Daniel Fullmer <danielrf12@gmail.com>
Date: Fri, 3 Jul 2020 21:00:45 -0700
Subject: [PATCH 1/2] Fix CMakeLists
---
CMakeLists.txt | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e218279..4341de9 100644
index 365b835..4341de9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -57,6 +57,7 @@ endif(JPEG_FOUND)
@ -39,11 +30,8 @@ index e218279..4341de9 100644
include_directories(SYSTEM ${MUPDF_INCLUDEDIR})
message(STATUS "mupdf libraries: ${MUPDF_LDFLAGS}")
set(K2PDFOPT_LIB ${K2PDFOPT_LIB} ${MUPDF_LDFLAGS}
- -lmupdf-js-none -lopenjpeg -ljbig2dec -ljpeg -lfreetype
- -lmupdf-js-none -lopenjpeg -ljbig2dec -ljpeg -lfreetype -llcms -lgumbo
+
)
endif(MUPDF_FOUND)
--
2.27.0

View File

@ -1,11 +1,22 @@
{ lib, stdenv, runCommand, fetchzip, fetchurl, fetchFromGitHub
, cmake, pkg-config, zlib, libpng, makeWrapper
{ lib
, stdenv
, runCommand
, fetchzip
, fetchurl
, fetchFromGitHub
, cmake
, jbig2dec
, libjpeg_turbo
, libpng
, makeWrapper
, pkg-config
, zlib
, enableGSL ? true, gsl
, enableGhostScript ? true, ghostscript
, enableMuPDF ? true, mupdf_1_17
, enableMuPDF ? true, mupdf
, enableDJVU ? true, djvulibre
, enableGOCR ? false, gocr # Disabled by default due to crashes
, enableTesseract ? true, leptonica, tesseract4
, enableTesseract ? true, leptonica, tesseract
}:
# k2pdfopt is a pain to package. It requires modified versions of mupdf,
@ -50,10 +61,10 @@ let
'';
pname = "k2pdfopt";
version = "2.53";
version = "2.55";
k2pdfopt_src = fetchzip {
url = "http://www.willus.com/${pname}/src/${pname}_v${version}_src.zip";
sha256 = "1fna8bg3pascjfc3hmc6xn0xi2yh7f1qp0d344mw9hqanbnykyy8";
hash = "sha256-orQNDXQkkcCtlA8wndss6SiJk4+ImiFCG8XRLEg963k=";
};
in stdenv.mkDerivation rec {
inherit pname version;
@ -79,15 +90,15 @@ in stdenv.mkDerivation rec {
mupdf_patch = mkPatch {
name = "mupdf";
src = fetchurl {
url = "https://mupdf.com/downloads/archive/mupdf-1.17.0-source.tar.gz";
sha256 = "13nl9nrcx2awz9l83mlv2psi1lmn3hdnfwxvwgwiwbxlkjl3zqq0";
url = "https://mupdf.com/downloads/archive/mupdf-1.23.7-source.tar.gz";
hash = "sha256-NaVJM/QA6JZnoImkJfHGXNadRiOU/tnAZ558Uu+6pWg=";
};
patchCommands = ''
cp ${k2pdfopt_src}/mupdf_mod/{filter-basic,font,stext-device,string}.c ./source/fitz/
cp ${k2pdfopt_src}/mupdf_mod/pdf-* ./source/pdf/
'';
};
mupdf_modded = mupdf_1_17.overrideAttrs ({ patches ? [], ... }: {
mupdf_modded = mupdf.overrideAttrs ({ patches ? [], ... }: {
patches = patches ++ [ mupdf_patch ];
# This function is missing in font.c, see font-win32.c
postPatch = ''
@ -98,8 +109,8 @@ in stdenv.mkDerivation rec {
leptonica_patch = mkPatch {
name = "leptonica";
src = fetchurl {
url = "http://www.leptonica.org/source/leptonica-1.79.0.tar.gz";
sha256 = "1n004gv1dj3pq1fcnfdclvvx5nang80336aa67nvs3nnqp4ncn84";
url = "http://www.leptonica.org/source/leptonica-1.83.0.tar.gz";
hash = "sha256-IGWR3VjPhO84CDba0TO1jJ0a+SSR9amCXDRqFiBEvP4=";
};
patchCommands = "cp -r ${k2pdfopt_src}/leptonica_mod/. ./src/";
};
@ -112,12 +123,16 @@ in stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "tesseract-ocr";
repo = "tesseract";
rev = "4.1.1";
sha256 = "1ca27zbjpx35nxh9fha410z3jskwyj06i5hqiqdc08s2d7kdivwn";
rev = "5.3.3";
hash = "sha256-/aGzwm2+0y8fheOnRi/OJXZy3o0xjY1cCq+B3GTzfos=";
};
patchCommands = ''
cp ${k2pdfopt_src}/tesseract_mod/{baseapi,tesscapi,tesseract}.* src/api/
cp ${k2pdfopt_src}/tesseract_mod/tesseract.* include/tesseract/
cp ${k2pdfopt_src}/tesseract_mod/tesseract/baseapi.h include/tesseract/
cp ${k2pdfopt_src}/tesseract_mod/{baseapi,config_auto,tesscapi,tesseract}.* src/api/
cp ${k2pdfopt_src}/tesseract_mod/tesseract/baseapi.h src/api/
cp ${k2pdfopt_src}/tesseract_mod/{tesscapi,tessedit,tesseract}.* src/ccmain/
cp ${k2pdfopt_src}/tesseract_mod/tesseract/baseapi.h src/ccmain/
cp ${k2pdfopt_src}/tesseract_mod/dotproduct{avx,fma,sse}.* src/arch/
cp ${k2pdfopt_src}/tesseract_mod/{intsimdmatrixsse,simddetect}.* src/arch/
cp ${k2pdfopt_src}/tesseract_mod/{errcode,genericvector,mainblk,params,serialis,tessdatamanager,tess_version,tprintf,unicharset}.* src/ccutil/
@ -125,19 +140,21 @@ in stdenv.mkDerivation rec {
cp ${k2pdfopt_src}/tesseract_mod/openclwrapper.* src/opencl/
'';
};
tesseract_modded = tesseract4.override {
tesseractBase = tesseract4.tesseractBase.overrideAttrs ({ patches ? [], ... }: {
tesseract_modded = tesseract.override {
tesseractBase = tesseract.tesseractBase.overrideAttrs ({ patches ? [], ... }: {
patches = patches ++ [ tesseract_patch ];
# Additional compilation fixes
postPatch = ''
echo libtesseract_api_la_SOURCES += tesscapi.cpp >> src/api/Makefile.am
echo libtesseract_la_SOURCES += src/api/tesscapi.cpp >> Makefile.am
substituteInPlace src/api/tesseract.h \
--replace "#include <leptonica.h>" "//#include <leptonica.h>"
substituteInPlace include/tesseract/tesseract.h \
--replace "#include <leptonica.h>" "//#include <leptonica.h>"
'';
});
};
in
[ zlib libpng ] ++
[ jbig2dec libjpeg_turbo libpng zlib ] ++
lib.optional enableGSL gsl ++
lib.optional enableGhostScript ghostscript ++
lib.optional enableMuPDF mupdf_modded ++
@ -156,12 +173,13 @@ in stdenv.mkDerivation rec {
'';
preFixup = lib.optionalString enableTesseract ''
wrapProgram $out/bin/k2pdfopt --set-default TESSDATA_PREFIX ${tesseract4}/share/tessdata
wrapProgram $out/bin/k2pdfopt --set-default TESSDATA_PREFIX ${tesseract}/share/tessdata
'';
meta = with lib; {
description = "Optimizes PDF/DJVU files for mobile e-readers (e.g. the Kindle) and smartphones";
homepage = "http://www.willus.com/k2pdfopt";
changelog = "https://www.willus.com/k2pdfopt/k2pdfopt_version.txt";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ bosu danielfullmer ];

View File

@ -4,14 +4,14 @@
mkDerivation rec {
pname = "latte-dock";
version = "unstable-2023-03-31";
version = "unstable-2024-01-31";
src = fetchFromGitLab {
domain = "invent.kde.org";
owner = "plasma";
repo = "latte-dock";
rev = "4f93251d8c635c6150483ecb321eb276f34d4280";
sha256 = "sha256-oEfKfsVIAmYgQ7+WyBEQfVpI4IndWhYXWBsJE8bNNyI=";
rev = "131ee4d39ce8913b2de8f9a673903225345c7a38";
sha256 = "sha256-C1FvgkdxCzny+F6igS2YjsHOpkK34wl6je2tHlGQwU0=";
};
buildInputs = [ plasma-framework plasma-wayland-protocols qtwayland xorg.libpthreadstubs xorg.libXdmcp xorg.libSM wayland plasma-workspace plasma-desktop ];

View File

@ -18,16 +18,21 @@
rustPlatform.buildRustPackage rec {
pname = "rusty-psn";
version = "0.3.0";
version = "0.3.7";
src = fetchFromGitHub {
owner = "RainbowCookie32";
repo = "rusty-psn";
rev = "v${version}";
sha256 = "sha256-BsbuEsW6cQbWg8BLtEBnjoCfcUCy1xWz9u0wBa8BKtA=";
sha256 = "sha256-EGj9VVY+Zbmth7H1oTgq38KNLT/aWoTPn8k4sVkScgg=";
};
cargoSha256 = "sha256-TD5du7I6Hw1PC8s9NI19jYCXlaZMnsdVj/a0q+M8Raw=";
cargoPatches = [ ./fix-cargo-lock.patch ];
cargoSha256 = "sha256-8J92WtMmCTnghPqSmNYhG3IVdmpHsHEH7Fkod0UYKJU=";
# Tests require network access
doCheck = false;
nativeBuildInputs = [
pkg-config

View File

@ -0,0 +1,13 @@
diff --git a/Cargo.lock b/Cargo.lock
index 3b63c3d..38a0fc0 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3141,7 +3141,7 @@ dependencies = [
[[package]]
name = "rusty-psn"
-version = "0.3.3"
+version = "0.3.7"
dependencies = [
"bytesize",
"clap",

View File

@ -1,25 +0,0 @@
{ lib, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
version = "3.9.0pre";
pname = "containerpilot";
src = fetchFromGitHub {
owner = "joyent";
repo = pname;
rev = "d999b632b0c96d9e27f092dc9f81a9d82dfe0106";
sha256 = "0wsc8canr1c9wzr1lv40yixj9l10c66i6d14yrljsyagl2z02v4n";
};
goPackagePath = "github.com/joyent/${pname}";
goDeps = ./deps.nix;
meta = with lib; {
homepage = "https://www.joyent.com/containerpilot";
description = "Application centric micro-orchestrator";
mainProgram = "containerpilot";
platforms = platforms.unix;
license = licenses.mpl20;
maintainers = with maintainers; [ cpcloud ];
};
}

View File

@ -1,173 +0,0 @@
# file generated from go.mod using vgo2nix (https://github.com/nix-community/vgo2nix)
[
{
goPackagePath = "github.com/beorn7/perks";
fetch = {
type = "git";
url = "https://github.com/beorn7/perks";
rev = "4c0e84591b9a";
sha256 = "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y";
moduleDir = "";
};
}
{
goPackagePath = "github.com/client9/reopen";
fetch = {
type = "git";
url = "https://github.com/client9/reopen";
rev = "1a6ccbeaae3f";
sha256 = "0iarv0sn9hb26sr75bwilz3m86kcfad4m5klmzixbd4yw1ipnffa";
moduleDir = "";
};
}
{
goPackagePath = "github.com/flynn/json5";
fetch = {
type = "git";
url = "https://github.com/flynn/json5";
rev = "7620272ed633";
sha256 = "1l3rqfis8b72mqwm88lx78d0mbdihyamj8cgg2pa5vfbq49cpydf";
moduleDir = "";
};
}
{
goPackagePath = "github.com/golang/protobuf";
fetch = {
type = "git";
url = "https://github.com/golang/protobuf";
rev = "6a1fa9404c0a";
sha256 = "0dsd6vlfdyarn3v822x9p2s94gfi5lhvqc2vm3bqmqjgcik3c51z";
moduleDir = "";
};
}
{
goPackagePath = "github.com/hashicorp/consul";
fetch = {
type = "git";
url = "https://github.com/hashicorp/consul";
rev = "v1.0.1-rc1";
sha256 = "10xqi86n2h39q3qlkxfhnrqwm1bgijs5n2kryaq9yalv5p3qxczg";
moduleDir = "";
};
}
{
goPackagePath = "github.com/hashicorp/go-cleanhttp";
fetch = {
type = "git";
url = "https://github.com/hashicorp/go-cleanhttp";
rev = "3573b8b52aa7";
sha256 = "1pbl6p7w5wp1c70x7fp94h4ynk2ajfa76rqin3d2hq1w2fcb7byr";
moduleDir = "";
};
}
{
goPackagePath = "github.com/hashicorp/go-rootcerts";
fetch = {
type = "git";
url = "https://github.com/hashicorp/go-rootcerts";
rev = "6bb64b370b90";
sha256 = "1a81fcm1i0ji2iva0dcimiichgwpbcb7lx0vyaks87zj5wf04qy9";
moduleDir = "";
};
}
{
goPackagePath = "github.com/hashicorp/serf";
fetch = {
type = "git";
url = "https://github.com/hashicorp/serf";
rev = "91fd53b1d3e6";
sha256 = "0p9mhv6w85cxxl95kvl3rk04yif6v5bhf5kxw8i1cphv5kddv7j9";
moduleDir = "";
};
}
{
goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
fetch = {
type = "git";
url = "https://github.com/matttproud/golang_protobuf_extensions";
rev = "v1.0.1";
sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
moduleDir = "";
};
}
{
goPackagePath = "github.com/mitchellh/go-homedir";
fetch = {
type = "git";
url = "https://github.com/mitchellh/go-homedir";
rev = "b8bc1bf76747";
sha256 = "13ry4lylalkh4g2vny9cxwvryslzyzwp9r92z0b10idhdq3wad1q";
moduleDir = "";
};
}
{
goPackagePath = "github.com/mitchellh/mapstructure";
fetch = {
type = "git";
url = "https://github.com/mitchellh/mapstructure";
rev = "d2dd02622084";
sha256 = "1idj9h0g9z3s21y2hivaf1dknxhpd7yy0kn6wk3311hlr7s543j5";
moduleDir = "";
};
}
{
goPackagePath = "github.com/prometheus/client_golang";
fetch = {
type = "git";
url = "https://github.com/prometheus/client_golang";
rev = "v0.8.0";
sha256 = "1xqny3147g12n4j03kxm8s9mvdbs3ln6i56c655mybrn9jjy48kd";
moduleDir = "";
};
}
{
goPackagePath = "github.com/prometheus/client_model";
fetch = {
type = "git";
url = "https://github.com/prometheus/client_model";
rev = "6f3806018612";
sha256 = "1413ibprinxhni51p0755dp57r9wvbw7xgj9nmdaxmhzlqhc86j4";
moduleDir = "";
};
}
{
goPackagePath = "github.com/prometheus/common";
fetch = {
type = "git";
url = "https://github.com/prometheus/common";
rev = "0866df4b85a1";
sha256 = "0zw4rxs6zh9vgxz5wwhjnwa6mgac8jh7mb63viircgh08r889chp";
moduleDir = "";
};
}
{
goPackagePath = "github.com/prometheus/procfs";
fetch = {
type = "git";
url = "https://github.com/prometheus/procfs";
rev = "e645f4e5aaa8";
sha256 = "18hwygbawbqilz7h8fl25xpbciwalkslb4igqn4cr9d8sqp7d3np";
moduleDir = "";
};
}
{
goPackagePath = "github.com/sirupsen/logrus";
fetch = {
type = "git";
url = "https://github.com/sirupsen/logrus";
rev = "v1.0.0";
sha256 = "0kyvaa4m8w5wijjvrh0amd9bl3sci1vj4y9v9a97sx3rf7xww52l";
moduleDir = "";
};
}
{
goPackagePath = "golang.org/x/sys";
fetch = {
type = "git";
url = "https://go.googlesource.com/sys";
rev = "94b76065f2d2";
sha256 = "0lxd3gmkvza3mah5m8nncdsgd1y6r25vaz4wzdmrs3i1ikzknn93";
moduleDir = "";
};
}
]

View File

@ -7,16 +7,16 @@
buildGoModule rec {
pname = "seaweedfs";
version = "3.67";
version = "3.68";
src = fetchFromGitHub {
owner = "seaweedfs";
repo = "seaweedfs";
rev = version;
hash = "sha256-5XR0dT72t6Kn/io1knA8xol5nGnmaBF+izmFZVf3OGE=";
hash = "sha256-ncA6YXa/focfmPMdEQWbeUxrLhwCqQiPqjP0SovLB2c=";
};
vendorHash = "sha256-GBbbru7yWfwzVmRO1tuqE60kD8UJudX0rei7I02SYzw=";
vendorHash = "sha256-YgrDzfcp1Lh8bOI1FF7bTBquaShhgE9nZ/+7mvFiQCc=";
subPackages = [ "weed" ];

View File

@ -51,7 +51,7 @@
# configure & source common build functions
LIB_RUSTC_OPTS="${libRustcOpts}"
BIN_RUSTC_OPTS="${binRustcOpts}"
LIB_EXT="${stdenv.hostPlatform.extensions.sharedLibrary or ""}"
LIB_EXT="${stdenv.hostPlatform.extensions.library}"
LIB_PATH="${libPath}"
LIB_NAME="${libName}"

View File

@ -49,7 +49,7 @@ let
filename =
if lib.any (x: x == "lib" || x == "rlib") dep.crateType
then "${dep.metadata}.rlib"
else "${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}";
else "${dep.metadata}${stdenv.hostPlatform.extensions.library}";
in
" --extern ${opts}${name}=${dep.lib}/lib/lib${extern}-${filename}"
)

View File

@ -41,7 +41,7 @@ if !buildTests then ''
fi
if [ -e target/lib ]; then
find target/lib/ -type f \! -name '*.rlib' \
-a \! -name '*${stdenv.hostPlatform.extensions.sharedLibrary}' \
-a \! -name '*${stdenv.hostPlatform.extensions.library}' \
-a \! -name '*.d' \
-executable \
-print0 | xargs --no-run-if-empty --null install --target $out/tests;

View File

@ -479,7 +479,7 @@ let
# `-undefined dynamic_lookup` as otherwise the compilation fails.
$CC -shared \
${lib.optionalString stdenv.isDarwin "-undefined dynamic_lookup"} \
-o $out/lib/${name}${stdenv.hostPlatform.extensions.sharedLibrary} ${src}
-o $out/lib/${name}${stdenv.hostPlatform.extensions.library} ${src}
'';
b = compile "libb" ''
#include <stdio.h>

View File

@ -0,0 +1,31 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
}:
stdenvNoCC.mkDerivation {
pname = "catppuccin-fcitx5";
version = "0-unstable-2022-10-05";
src = fetchFromGitHub {
owner = "catppuccin";
repo = "fcitx5";
rev = "ce244cfdf43a648d984719fdfd1d60aab09f5c97";
hash = "sha256-uFaCbyrEjv4oiKUzLVFzw+UY54/h7wh2cntqeyYwGps=";
};
installPhase = ''
runHook preInstall
mkdir -p $out/share/fcitx5
cp -r src $out/share/fcitx5/themes
runHook postInstall
'';
meta = {
description = "Soothing pastel theme for Fcitx5";
homepage = "https://github.com/catppuccin/fcitx5";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ pluiedev ];
platforms = lib.platforms.all;
};
}

View File

@ -9,16 +9,16 @@
buildGoModule rec {
pname = "cue";
version = "0.8.2";
version = "0.9.0";
src = fetchFromGitHub {
owner = "cue-lang";
repo = "cue";
rev = "v${version}";
hash = "sha256-GU1PG5ciUqbRlAveq2ouqnBYIBEdMSSM0H/1eHL+zlo=";
hash = "sha256-gjuQ7sp6/GeKSqyyicOtH5Q/1xRy/7cta4KKMn2cfzQ=";
};
vendorHash = "sha256-0OZtKIDdEnQLnSj109EpGvaZvMIy7gPAZ+weHzYKGSg=";
vendorHash = "sha256-FsFignBh669E60S8l8siQHLzeSfB5X/XOHBXPMDX3Cg=";
subPackages = [ "cmd/*" ];

View File

@ -8,14 +8,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "igvm-tooling";
version = "1.5.0";
version = "1.5.0-unstable-2024-06-06";
pyproject = true;
src = fetchFromGitHub {
owner = "microsoft";
repo = "igvm-tooling";
rev = "igvm-${version}";
hash = "sha256-13TtiJv2w9WXSW6oPMfo+rRah+Q1wHV14aBaFGfz9CE=";
rev = "53656ddde294bbafcae6349b5acfc5da9f7dbb92";
hash = "sha256-X9Gi+kTmc/ZcsgbHldEj9zPnOmd5puDD7/+J1s1CVws=";
};
patches = [
@ -27,22 +27,6 @@ python3.pkgs.buildPythonApplication rec {
sha256 = "sha256-tcVxcuLxknyEdo2YjeHOqSG9xQna8US+YyvlcfX+Htw=";
stripLen = 1;
})
# write updated acpi files to tempdir (instead of nix store path) at runtime
# remove once https://github.com/microsoft/igvm-tooling/pull/54 is merged
(fetchpatch {
name = "0002-acpi-update-dsl-files-in-tempdir.patch";
url = "https://github.com/microsoft/igvm-tooling/commit/20f8d123ec6531d8540074b7df2ee12de60e73b8.patch";
sha256 = "sha256-hNfkclxaYViy66TPHqLV3mqD7wqBuBN9MnMLaDOeRNM=";
stripLen = 1;
})
# allow for determinist id block signing
# remove once https://github.com/microsoft/igvm-tooling/pull/55 is merged
(fetchpatch {
name = "0003-add-deterministic-id-block-signature-mode.patch";
url = "https://github.com/microsoft/igvm-tooling/commit/03ad7825ade76ac25e308bb85f92e89b732e0bf1.patch";
sha256 = "sha256-Y7DFr0KgGtY8KOt6fLWd32sTaig/zHFe7n83+Yb9ls8=";
stripLen = 1;
})
];
postPatch = ''

View File

@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "kermit";
version = "3.8";
version = "4.0";
src = fetchFromGitHub {
owner = "orhun";
repo = "kermit";
rev = finalAttrs.version;
hash = "sha256-XPHF33Nu+H8OcQFwsuUOhDBDWKm8sh5B36sfROeSWPg=";
hash = "sha256-rhlUnRfyd7PmtMSyP+tiu+TxZNb/YyS0Yc5IkWft7/4=";
};
outputs = [ "out" "man" ];

View File

@ -3,7 +3,7 @@
rustPlatform,
fetchFromGitHub,
}: let
version = "0.6.0";
version = "0.8.0";
in
rustPlatform.buildRustPackage {
pname = "kittysay";
@ -13,10 +13,10 @@ in
owner = "uncenter";
repo = "kittysay";
rev = "v${version}";
sha256 = "sha256-dJpbRPrpilaOFVPjAESk4DyZtH/hJm16p6pMRqrzOk4=";
sha256 = "sha256-ZYHrDBJ8cTqJAh2KUGSCsS1bY/emHRodPxZX2vxAhDs=";
};
cargoHash = "sha256-r1xdMczqVyX7ZPjkyDdgVW3BFOeKOw1Dp6mGHb2XzrM=";
cargoHash = "sha256-F0WAtpAjBwL5YfzGtPgn7WTL6lgx3bjZFBQdDpjCr3I=";
meta = {
description = "Cowsay, but with a cute kitty :3";

View File

@ -6,16 +6,16 @@
buildGoModule rec {
pname = "oh-my-posh";
version = "21.0.1";
version = "21.3.0";
src = fetchFromGitHub {
owner = "jandedobbeleer";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-fN1vkDk9u4NWVnaNuFVjcKQ7rEMhOMxBlvTxrp8G1d8=";
hash = "sha256-6HWAlGT1xUNjt0uxh09DdwOZtyOO8ZlVY8/jr7CsJVM=";
};
vendorHash = "sha256-MdHWAC46694hgCi1i/syNPdn4t+kY2ZhCAnE7aD8+8Y=";
vendorHash = "sha256-MEQS2wpRbexSJa324lSWEkaqlTF7CfzlrODXoGdfQ6M=";
sourceRoot = "${src.name}/src";

View File

@ -9,13 +9,13 @@
stdenv.mkDerivation {
pname = "ols";
version = "0-unstable-2024-06-04";
version = "0-unstable-2024-06-05";
src = fetchFromGitHub {
owner = "DanielGavin";
repo = "ols";
rev = "5805fd0b688446eeb23528497972b9f934208f1a";
hash = "sha256-zvojGIxMGawddWx5vnBQMTybz+jL9LXfaShbof7wwq0=";
rev = "c4996b10d88aed9a0028c92ea54c42e4e9aeb39f";
hash = "sha256-PnajCKfk4XVR1FwG5ySzL/ibpwie+Xhr6MxHeXZiKmg=";
};
postPatch = ''

View File

@ -7,19 +7,19 @@
}:
let
pname = "open-webui";
version = "0.2.5";
version = "0.3.2";
src = fetchFromGitHub {
owner = "open-webui";
repo = "open-webui";
rev = "v${version}";
hash = "sha256-BqclBrkFmTUJZuUySyNsQFlfdyENaIhqjn50797zJHY=";
hash = "sha256-hUm4UUQUFoDRrAg+RqIo735iQs8304OUJlT91vILmXo=";
};
frontend = buildNpmPackage {
inherit pname version src;
npmDepsHash = "sha256-drMUcCUeyPEnaa1fSsfHJfInenyfH7NNJgBFeRsfOuE=";
npmDepsHash = "sha256-VdGneemYLMuMczjQB6I35Ry2kyIuAe2IaeDus/NvzK8=";
# Disabling `pyodide:fetch` as it downloads packages during `buildPhase`
# Until this is solved, running python packages from the browser will not work.
@ -55,64 +55,64 @@ python3.pkgs.buildPythonApplication rec {
pythonRelaxDeps = true;
pythonRemoveDeps = [
# using `psycopg2` instead
"psycopg2-binary"
# using `opencv4`
"opencv-python-headless"
# using `psycopg2` instead
"psycopg2-binary"
# package request: https://github.com/NixOS/nixpkgs/issues/317065
"rapidocr-onnxruntime"
# package request: https://github.com/NixOS/nixpkgs/issues/317066
"langfuse"
# package request: https://github.com/NixOS/nixpkgs/issues/317068
"langchain-chroma"
];
dependencies = with python3.pkgs; [
aiohttp
apscheduler
argon2-cffi
bcrypt
beautifulsoup4
black
boto3
chromadb
docx2txt
extract-msg
fake-useragent
fastapi
uvicorn
python-multipart
faster-whisper
flask
flask-cors
python-socketio
python-jose
fpdf2
google-generativeai
langchain
langchain-chroma
langchain-community
langfuse
litellm
markdown
opencv4
openpyxl
pandas
passlib
requests
aiohttp
peewee
peewee-migrate
psycopg2
pymysql
bcrypt
litellm
boto3
argon2-cffi
apscheduler
google-generativeai
langchain
langchain-community
fake-useragent
chromadb
sentence-transformers
pypdf
docx2txt
python-pptx
unstructured
markdown
pypandoc
pandas
openpyxl
pyxlsb
xlrd
validators
opencv4
fpdf2
rank-bm25
faster-whisper
pydub
pyjwt
black
youtube-transcript-api
pymysql
pypandoc
pypdf
python-jose
python-multipart
python-pptx
python-socketio
pytube
pyxlsb
rank-bm25
requests
sentence-transformers
unstructured
uvicorn
validators
xlrd
youtube-transcript-api
];
build-system = with python3.pkgs; [

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "swaywsr";
version = "1.1.1";
version = "1.3.0";
src = fetchFromGitHub {
owner = "pedroscaff";
repo = pname;
rev = "0276b43824af5c40085248c1275feaa372c412a5";
sha256 = "sha256-KCMsn9uevmmjHkP4zwfaWSUI10JgT3M91iqmXI9Cv2Y=";
rev = "521fbf92738f44be438d3be6bdd665f02ac9d35c";
hash = "sha256-6hGEcJz+zGfwz1q+XKQYfyJJK7lr+kCgk2/uiq1xP0M=";
};
cargoSha256 = "sha256-j/9p28ezy8m5NXReOmG1oryWd+GcY/fNW6i7OrEvjSc=";
cargoHash = "sha256-zoV2vy41fVsX8BtddURqQymMX4Zpso+GOBBqoVr3tYo=";
nativeBuildInputs = [ python3 ];
buildInputs = [ libxcb ];

View File

@ -0,0 +1,44 @@
{
lib,
buildGoModule,
fetchFromGitHub,
installShellFiles,
}:
buildGoModule {
pname = "tmsu";
version = "0.7.5-unstable-2024-06-08";
src = fetchFromGitHub {
owner = "oniony";
repo = "tmsu";
rev = "0bf4b8031cbeffc0347007d85647062953e90571";
sha256 = "sha256-5Rmelgiqs7YkdDBZNXZW4sBf0l/bwiq0xxB2tWpm1s8=";
};
vendorHash = "sha256-r2wzVkPTsxWdVPFLO84tJgl3VJonoU7kNKLOBgHHdF8=";
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
# can't do "mv TMSU tmsu" on case-insensitive filesystems
mv $out/bin/{TMSU,tmsu.tmp}
mv $out/bin/{tmsu.tmp,tmsu}
installManPage misc/man/tmsu.1
installShellCompletion --bash misc/bash/tmsu
installShellCompletion --zsh misc/zsh/_tmsu
'';
meta = {
homepage = "https://www.tmsu.org";
description = "Tool for tagging your files using a virtual filesystem";
maintainers = with lib.maintainers; [
luftmensch-luftmensch
pSub
];
mainProgram = "tmsu";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.unix;
};
}

View File

@ -0,0 +1,31 @@
{
lib,
buildGoModule,
fetchFromGitea,
}:
buildGoModule rec {
pname = "woodpecker-pipeline-transform";
version = "0.2.0";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "lafriks";
repo = "woodpecker-pipeline-transform";
rev = "v${version}";
sha256 = "sha256-ngtpWjbL/ccmKTNQdL3osduELYSxcOu5z5UtqclNNSY=";
};
vendorHash = "sha256-SZxFsn187UWZqaxwMDdzAmfpRLZSCIpbsAI1mAu7Z6w=";
meta = {
description = "Utility to convert different pipelines to Woodpecker CI pipelines";
changelog = "https://codeberg.org/lafriks/woodpecker-pipeline-transform/src/tag/v${version}";
homepage = "https://codeberg.org/lafriks/woodpecker-pipeline-transform";
license = lib.licenses.mit;
mainProgram = "pipeline-convert";
maintainers = with lib.maintainers; [
ambroisie
luftmensch-luftmensch
];
};
}

View File

@ -34,11 +34,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "xscreensaver";
version = "6.08";
version = "6.09";
src = fetchurl {
url = "https://www.jwz.org/xscreensaver/xscreensaver-${finalAttrs.version}.tar.gz";
hash = "sha256-XPUrpSXO7PlLLyvWNIXr3zGOEvzA8q2tfUwQbYVedqM=";
hash = "sha256-9GZ3Ba24zEP9LzlzqIobVLFvIBkK/pOyHiIfL1cyCwU=";
};
outputs = [ "out" "man" ];

View File

@ -6732,7 +6732,6 @@ broken-packages:
- yesod-content-pdf # failure in job https://hydra.nixos.org/build/233210723 at 2023-09-02
- yesod-crud # failure in job https://hydra.nixos.org/build/233218383 at 2023-09-02
- yesod-crud-persist # failure in job https://hydra.nixos.org/build/233245131 at 2023-09-02
- yesod-csp # failure in job https://hydra.nixos.org/build/233207134 at 2023-09-02
- yesod-datatables # failure in job https://hydra.nixos.org/build/233197763 at 2023-09-02
- yesod-dsl # failure in job https://hydra.nixos.org/build/233210879 at 2023-09-02
- yesod-fast-devel # failure in job https://hydra.nixos.org/build/233209381 at 2023-09-02

View File

@ -336489,7 +336489,6 @@ self: {
description = "Add CSP headers to Yesod apps";
license = lib.licenses.mit;
hydraPlatforms = lib.platforms.none;
broken = true;
}) {};
"yesod-datatables" = callPackage

View File

@ -1,28 +1,40 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }:
{ lib, stdenv, fetchFromGitHub, cmake }:
stdenv.mkDerivation rec {
pname = "croaring";
version = "0.2.61";
version = "2.0.3";
src = fetchFromGitHub {
owner = "RoaringBitmap";
repo = "CRoaring";
rev = "v${version}";
sha256 = "14y8iwv6b6gg7hgs00yqg8rwx4vwbb1zs2s99lxa51zx9vp1alcn";
hash = "sha256-WaFyJ/6zstJ05e3vfrwhaZKQsjRAEvVTs688Hw0fr94=";
};
patches = fetchpatch {
url = "https://github.com/RoaringBitmap/CRoaring/commit/8d8c60736f506b2b8f1c365148a8a541b26a55f2.patch";
sha256 = "1y2mbn4i8lj3lkn5s8zziyr9pl1fq9hndzz9c01dkv3s8sn7f55s";
};
# roaring.pc.in cannot handle absolute CMAKE_INSTALL_*DIRs, nor
# overridden CMAKE_INSTALL_FULL_*DIRs. With Nix, they are guaranteed
# to be absolute so the following patch suffices (see #144170).
patches = [ ./fix-pkg-config.patch ];
nativeBuildInputs = [ cmake ];
doCheck = true;
preConfigure = ''
mkdir -p dependencies/.cache
ln -s ${fetchFromGitHub {
owner = "clibs";
repo = "cmocka";
rev = "f5e2cd7";
hash = "sha256-Oq0nFsZhl8IF7kQN/LgUq8VBy+P7gO98ep/siy5A7Js=";
}} dependencies/.cache/cmocka
'';
meta = with lib; {
description = "Compressed bitset library for C and C++";
homepage = "http://roaringbitmap.org/";
license = licenses.asl20;
maintainers = with maintainers; [ orivej ];
homepage = "https://roaringbitmap.org/";
license = with licenses; [ asl20 mit ];
maintainers = [ maintainers.orivej ];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,14 @@
diff --git a/roaring.pc.in b/roaring.pc.in
index e3b2391..c29adc3 100644
--- a/roaring.pc.in
+++ b/roaring.pc.in
@@ -1,7 +1,7 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
Name: roaring
Description: Roaring bitmap implementation in C

View File

@ -112,8 +112,8 @@ let
in
{
ogre_14 = common {
version = "14.2.5";
hash = "sha256-FldHoMU8akRF6/vjwley9nJOTioE5nQXnTdQqyNlI2M=";
version = "14.2.6";
hash = "sha256-kxvrRigSe6sPa3lAH+6zKTY4YEU9javlKHK8Zf6jxZE=";
# https://github.com/OGRECave/ogre/blob/v14.2.5/Components/Overlay/CMakeLists.txt
imguiVersion = "1.90.4";
imguiHash = "sha256-7+Ay7H97tIO6CUsEyaQv4i9q2FCw98eQUq/KYZyfTAw=";

View File

@ -4,28 +4,15 @@
stdenv.mkDerivation rec {
pname = "openzwave";
version = "1.6";
version = "1.6-unstable-2022-11-17";
src = fetchFromGitHub {
owner = "OpenZWave";
repo = "open-zwave";
rev = "v${version}";
sha256 = "0xgs4mmr0480c269wx9xkk67ikjzxkh8xcssrdx0f5xcl1lyd333";
rev = "3fff11d246a0d558d26110e1db6bd634a1b347c0";
hash = "sha256-CLK2MeoTmZ8GMKb1OAZFNLyc4C+k+REK2w+WQxZv0/E=";
};
patches = [
(fetchpatch {
name = "fix-strncat-build-failure.patch";
url = "https://github.com/OpenZWave/open-zwave/commit/601e5fb16232a7984885e67fdddaf5b9c9dd8105.patch";
sha256 = "1n1k5arwk1dyc12xz6xl4n8yw28vghzhv27j65z1nca4zqsxgza1";
})
(fetchpatch {
name = "fix-text-uninitialized.patch";
url = "https://github.com/OpenZWave/open-zwave/commit/3b029a467e83bc7f0054e4dbba1e77e6eac7bc7f.patch";
sha256 = "183mrzjh1zx2b2wzkj4jisiw8br7g7bbs167afls4li0fm01d638";
})
];
outputs = [ "out" "doc" ];
nativeBuildInputs = [ doxygen fontconfig graphviz-nox libxml2 pkg-config which ];
@ -46,6 +33,8 @@ stdenv.mkDerivation rec {
postPatch = ''
substituteInPlace cpp/src/Options.cpp \
--replace /etc/openzwave $out/etc/openzwave
substituteInPlace cpp/build/Makefile \
--replace "-Werror" "-Werror -Wno-format"
'';
meta = with lib; {

View File

@ -6,7 +6,7 @@
4. Update the relevant argument defaults in `compose-android-packages.nix`
# How to run tests
You may need to make yourself familiar with [tests](https://nixos.org/manual/nixpkgs/stable/#var-meta-tests), and [Writing larger package tests](https://nixos.org/manual/nixpkgs/stable/#ssec-package-tests-writing) in the Manual, then run tests locally with:
You may need to make yourself familiar with [package tests](../../../README.md#package-tests), and [Writing larger package tests](../../../README.md#writing-larger-package-tests), then run tests locally with:
```shell
$ export NIXPKGS_ALLOW_UNFREE=1

View File

@ -0,0 +1,26 @@
{ lib, buildDunePackage, fetchFromGitLab, ocaml }:
if !(lib.versionOlder ocaml.version "5.0.0") then
throw "memprof-limits is not available for OCaml ${ocaml.version}"
else
buildDunePackage rec {
pname = "memprof-limits";
version = "0.2.1";
src = fetchFromGitLab rec {
owner = "gadmm";
repo = pname;
rev = "v${version}";
hash = "sha256-Pmuln5TihPoPZuehZlqPfERif6lf7O+0454kW9y3aKc=";
};
minimalOCamlVersion = "4.12";
meta = with lib; {
homepage = "https://ocaml.org/p/memprof-limits/latest";
description =
"Memory limits, allocation limits, and thread cancellation for OCaml";
license = licenses.lgpl3;
maintainers = with maintainers; [ alizter ];
};
}

View File

@ -7,29 +7,31 @@
pytest-asyncio,
pytestCheckHook,
pythonOlder,
setuptools,
}:
buildPythonPackage rec {
pname = "incomfort-client";
version = "0.5.0";
format = "setuptools";
version = "0.6.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "zxdavb";
repo = pname;
rev = "refs/tags/${version}";
repo = "incomfort-client";
rev = "refs/tags/v${version}";
hash = "sha256-kdPue3IfF85O+0dgvX+dN6S4WoQmjxdCfwfv83SnO8E=";
};
propagatedBuildInputs = [ aiohttp ];
build-system = [ setuptools ];
nativeCheckInputs = [ pytestCheckHook ];
dependencies = [ aiohttp ];
checkInputs = [
nativeCheckInputs = [
aioresponses
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [ "incomfortclient" ];
@ -37,6 +39,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python module to poll Intergas boilers via a Lan2RF gateway";
homepage = "https://github.com/zxdavb/incomfort-client";
changelog = "https://github.com/jbouwh/incomfort-client/releases/tag/v${version}";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};

View File

@ -2,36 +2,40 @@
lib,
buildPythonPackage,
fetchFromGitHub,
six,
pythonOlder,
mock,
setuptools,
tox,
}:
buildPythonPackage rec {
pname = "routeros-api";
version = "0.17.0";
format = "setuptools";
version = "0.18.1";
pyproject = true;
disabled = pythonOlder "3.9";
# N.B. The version published on PyPI is missing tests.
src = fetchFromGitHub {
owner = "socialwifi";
repo = pname;
rev = version;
sha256 = "wpIfeYZ1w/yoNCHLYFVjn0O4Rb+N5lfvYzhGuN+HDTA=";
repo = "routeros-api";
rev = "refs/tags/${version}";
hash = "sha256-6IpoByG3YhHh2dPS18ufaoI1vzTZBsZa9WNHS/fImrg=";
};
build-system = [ setuptools ];
nativeCheckInputs = [
mock
tox
];
propagatedBuildInputs = [ six ];
pythonImportsCheck = [ "routeros_api" ];
meta = with lib; {
description = "Python API to RouterBoard devices produced by MikroTik";
homepage = "https://github.com/socialwifi/RouterOS-api";
changelog = "https://github.com/socialwifi/RouterOS-api/blob/${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ quentin ];
platforms = platforms.all;
};
}

View File

@ -1,6 +1,5 @@
{
lib,
appdirs,
beautifulsoup4,
buildPythonPackage,
cryptography,
@ -12,14 +11,19 @@
numpy,
pandas,
peewee,
platformdirs,
pythonOlder,
pytz,
requests-cache,
requests-ratelimiter,
requests,
scipy,
setuptools,
}:
buildPythonPackage rec {
pname = "yfinance";
version = "0.2.38";
version = "0.2.40";
pyproject = true;
disabled = pythonOlder "3.7";
@ -28,13 +32,12 @@ buildPythonPackage rec {
owner = "ranaroussi";
repo = "yfinance";
rev = "refs/tags/${version}";
hash = "sha256-ZGwtu2vLcE9pM73umhnFwSzjQnGjTOTtVF607ox7I6E=";
hash = "sha256-y3vcgPhksW8g0WpqVgJej7s+aIj9zaAjBjSm8d7yrjs=";
};
build-system = [ setuptools ];
dependencies = [
appdirs
beautifulsoup4
cryptography
frozendict
@ -44,9 +47,21 @@ buildPythonPackage rec {
numpy
pandas
peewee
platformdirs
pytz
requests
];
passthru.optional-dependencies = {
nospam = [
requests-cache
requests-ratelimiter
];
repair = [
scipy
];
};
# Tests require internet access
doCheck = false;

View File

@ -1,23 +0,0 @@
{ lib, buildGoModule, fetchFromGitea }:
buildGoModule rec {
pname = "woodpecker-pipeline-transform";
version = "0.1.1";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "lafriks";
repo = "woodpecker-pipeline-transform";
rev = "v${version}";
sha256 = "sha256-tWDMbOkajZ3BB32Vl630EZrY+Owm72MD2Z2JjMucVkI=";
};
vendorHash = "sha256-qKzGALMagf6QHeLdABfNGG4f/3K/F6CjVYjOJtyTNoM=";
meta = with lib; {
description = "Utility to convert different pipelines to Woodpecker CI pipelines";
homepage = "https://codeberg.org/lafriks/woodpecker-pipeline-transform";
license = licenses.mit;
mainProgram = "pipeline-convert";
maintainers = with maintainers; [ ambroisie ];
};
}

View File

@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "reindeer";
version = "2024.05.27.00";
version = "2024.06.03.00";
src = fetchFromGitHub {
owner = "facebookincubator";
repo = "reindeer";
rev = "refs/tags/v${version}";
hash = "sha256-yXHBcb4/IsT39x4J5baJ8JdgG+riJACr8DKpDdi6ARw=";
hash = "sha256-YAWGNF4WN8/RV3GYmxjyARNk4VzTXJEa42/gaK5B4CE=";
};
cargoHash = "sha256-ujyhlMmojBDev45ZHIzTiEj1Zed4chN4u676XJqJAcY=";
cargoHash = "sha256-VURortaBxd6hLdsPbjHvqrXsjwMjmq7Ke0wGfoLPq8w=";
nativeBuildInputs = [ pkg-config ];
buildInputs =

View File

@ -2,7 +2,7 @@
let
baseName = "scalafmt";
version = "3.7.9";
version = "3.7.17";
deps = stdenv.mkDerivation {
name = "${baseName}-deps-${version}";
buildCommand = ''
@ -12,7 +12,7 @@ let
cp $(< deps) $out/share/java/
'';
outputHashMode = "recursive";
outputHash = "sha256-r4vv62H0AryjZb+34fVHvqvndipOYyf6XpQC9u8Dxso=";
outputHash = "sha256-8gK+fOnqwPFBbSWltNKInzXRJQ3WZxPlLqpvuTxF4fk=";
};
in
stdenv.mkDerivation {

View File

@ -15,14 +15,14 @@
buildPythonApplication rec {
pname = "nile";
version = "1.0.3-unstable-2024-05-25";
version = "1.0.3-unstable-2024-06-08";
format = "pyproject";
src = fetchFromGitHub {
owner = "imLinguin";
repo = "nile";
rev = "6e6968c37aef59772248de8602374b4831202854";
hash = "sha256-0UHXF9It/JjHMfBzQM5GRn4FU9rNrh3EM90M8Ki/fTE=";
rev = "fcf57a69d6f322e389a8c21b77215a488fa81132";
hash = "sha256-zRuWJ0ziKxxOpGyR2IB8LncIFveIyz5PWYXhEHhQEM8=";
};
disabled = pythonOlder "3.8";

View File

@ -1,16 +1,14 @@
{ lib
, fetchFromGitHub
, buildGoPackage
, buildGoModule
}:
buildGoPackage rec {
buildGoModule rec {
pname = "aws-assume-role";
version = "0.3.2";
outputs = [ "out" "doc" ];
goPackagePath = "github.com/remind101/assume-role";
src = fetchFromGitHub {
owner = "remind101";
repo = "assume-role";
@ -18,8 +16,14 @@ buildGoPackage rec {
sha256 = "sha256-7+9qi9lYzv1YCFhUyla+5Gqs5nBUiiazhFwiqHzMFd4=";
};
vendorHash = null;
postPatch = ''
go mod init github.com/remind101/assume-role
'';
postInstall = ''
install -Dm444 -t $out/share/doc/$name ./go/src/${goPackagePath}/README.md
install -Dm444 -t $out/share/doc/aws-assume-role README.md
'';
meta = with lib; {

View File

@ -1,26 +0,0 @@
{ buildGoPackage, fetchFromGitHub, lib }:
buildGoPackage rec {
pname = "aws-env";
version = "0.5";
rev = "v${version}";
goPackagePath = "github.com/Droplr/aws-env";
src = fetchFromGitHub {
owner = "Droplr";
repo = pname;
inherit rev;
sha256 = "sha256-dzXgQW5noWT7u276tlwhvgvu2J8VYrOdW9vidZ3W3t0=";
};
goDeps = ./deps.nix;
meta = with lib; {
description = "Secure way to handle environment variables in Docker and envfile with AWS Parameter Store";
homepage = "https://github.com/Droplr/aws-env";
license = licenses.mit;
maintainers = with maintainers; [ srhb ];
mainProgram = "aws-env";
};
}

View File

@ -1,12 +0,0 @@
# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
[
{
goPackagePath = "github.com/aws/aws-sdk-go";
fetch = {
type = "git";
url = "https://github.com/aws/aws-sdk-go";
rev = "5f03c87445c9dcd6aa831a76a77170919265aa97";
sha256 = "146rwinw2x4r0f2pixv62b7mmhvnnfvvjmfaj6dqjxrhp0imcxdi";
};
}
]

View File

@ -1,42 +0,0 @@
{ lib, buildGoPackage, fetchFromGitHub, installShellFiles }:
buildGoPackage rec {
pname = "tmsu";
version = "0.7.5";
goPackagePath = "github.com/oniony/TMSU";
src = fetchFromGitHub {
owner = "oniony";
repo = "tmsu";
rev = "v${version}";
sha256 = "0834hah7p6ad81w60ifnxyh9zn09ddfgrll04kwjxwp7ypbv38wq";
};
goDeps = ./deps.nix;
nativeBuildInputs = [ installShellFiles ];
preBuild = ''
mv go/src/${goPackagePath} src
mv src/src/${goPackagePath} go/src/${goPackagePath}
export GOPATH=$PWD:$GOPATH
'';
postInstall = ''
# can't do "mv TMSU tmsu" on case-insensitive filesystems
mv $out/bin/{TMSU,tmsu.tmp}
mv $out/bin/{tmsu.tmp,tmsu}
cp src/misc/bin/* $out/bin/
installManPage src/misc/man/tmsu.1
installShellCompletion --zsh src/misc/zsh/_tmsu
'';
meta = with lib; {
homepage = "http://www.tmsu.org";
description = "Tool for tagging your files using a virtual filesystem";
maintainers = with maintainers; [ pSub ];
license = licenses.gpl3Plus;
platforms = platforms.unix;
};
}

View File

@ -1,39 +0,0 @@
# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
[
{
goPackagePath = "github.com/hanwen/go-fuse";
fetch = {
type = "git";
url = "https://github.com/hanwen/go-fuse";
rev = "0f728ba15b38579efefc3dc47821882ca18ffea7";
sha256 = "05ymw2pp58avf19wvi0cgdzqf3d88k1jdf6ldj4hmhbkm3waqf7l";
};
}
{
goPackagePath = "github.com/mattn/go-sqlite3";
fetch = {
type = "git";
url = "https://github.com/mattn/go-sqlite3";
rev = "98a44bcf5949f178c8116fa30e62c9ac2ef65927";
sha256 = "108rk74ringkkyx05zlq5khh32fsfi0przyzrpsr1r5j57xrhxj0";
};
}
{
goPackagePath = "golang.org/x/crypto";
fetch = {
type = "git";
url = "https://go.googlesource.com/crypto";
rev = "3c4aac89819a5fdc28d906456729d3423fd46969";
sha256 = "16q9ay6bl28zrnb377p8lvrs2nd98h7i6y3yi8ccjwzg1czbfdsi";
};
}
{
goPackagePath = "golang.org/x/sys";
fetch = {
type = "git";
url = "https://go.googlesource.com/sys";
rev = "1957bb5e6d1f523308b49060df02171d06ddfc77";
sha256 = "0imqk4l9785rw7ddvywyf8zn7k3ga6f17ky8rmf8wrri7nknr03f";
};
}
]

View File

@ -50,10 +50,17 @@ stdenv.mkDerivation rec {
--replace "scriptdir, '..', cmd" 'scriptdir'
'';
# Fix the path to the layer library
# Fix the paths to load the layer.
# Also remove the .py suffix on files so that gfxrecon
# does not try to start the wrapper bash scripts with python.
postInstall = ''
substituteInPlace $out/share/vulkan/explicit_layer.d/VkLayer_gfxreconstruct.json \
--replace 'libVkLayer_gfxreconstruct.so' "$out/lib/libVkLayer_gfxreconstruct.so"
for f in $out/bin/*.py; do
mv -- "$f" "''${f%%.py}"
done
wrapProgram $out/bin/gfxrecon-capture-vulkan \
--prefix VK_ADD_LAYER_PATH : "$out/share/vulkan/explicit_layer.d"
wrapProgram $out/bin/gfxrecon-replay \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}
'';
@ -61,6 +68,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Graphics API Capture and Replay Tools";
homepage = "https://github.com/LunarG/gfxreconstruct/";
changelog = "https://github.com/LunarG/gfxreconstruct/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ Flakebi ];
platforms = platforms.linux;

View File

@ -2,15 +2,15 @@
buildGoModule rec {
pname = "infracost";
version = "0.10.33";
version = "0.10.37";
src = fetchFromGitHub {
owner = "infracost";
rev = "v${version}";
repo = "infracost";
sha256 = "sha256-zIAf6lD9XFmrAgvVmIY+tXLn4FmkkdimjVCWasK7OCc=";
sha256 = "sha256-WcX/H0zGXbkf5mM5Xq07UuQixUCCUXRPmBVrf3V4TEM=";
};
vendorHash = "sha256-ji9TpUcq0aUAn5vV5dnaC15i0Uli2Qsz/BrOKB3/Rl4=";
vendorHash = "sha256-bLSj4/+7h0uHdR956VL4iLqRddKV5Ac+FIL1zJxPCW8=";
ldflags = [ "-s" "-w" "-X github.com/infracost/infracost/internal/version.Version=v${version}" ];
@ -25,7 +25,8 @@ buildGoModule rec {
unset subPackages
# remove tests that require networking
rm cmd/infracost/{breakdown,diff,hcl,run}_test.go
rm cmd/infracost/{breakdown,comment,diff,hcl,run,upload}_test.go
rm cmd/infracost/comment_{azure_repos,bitbucket,github,gitlab}_test.go
'';
checkFlags = [

View File

@ -1,204 +1,207 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (7.0.4.3)
activesupport (7.0.8)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.4)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
ast (2.4.2)
aws-eventstream (1.2.0)
aws-partitions (1.749.0)
aws-sdk-alexaforbusiness (1.58.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-eventstream (1.3.0)
aws-partitions (1.864.0)
aws-sdk-account (1.20.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-alexaforbusiness (1.67.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-amplify (1.32.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sdk-apigateway (1.81.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-apigateway (1.90.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-apigatewayv2 (1.44.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-apigatewayv2 (1.53.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-applicationautoscaling (1.51.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-athena (1.64.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-athena (1.79.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-autoscaling (1.63.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sdk-autoscaling (1.92.0)
aws-sdk-core (~> 3, >= 3.176.0)
aws-sigv4 (~> 1.1)
aws-sdk-batch (1.47.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sdk-batch (1.73.0)
aws-sdk-core (~> 3, >= 3.176.0)
aws-sigv4 (~> 1.1)
aws-sdk-budgets (1.52.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-budgets (1.62.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudformation (1.77.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-cloudformation (1.97.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudfront (1.76.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-cloudfront (1.86.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudhsm (1.41.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-cloudhsm (1.50.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudhsmv2 (1.44.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-cloudhsmv2 (1.53.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudtrail (1.58.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-cloudtrail (1.74.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudwatch (1.72.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-cloudwatch (1.84.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudwatchevents (1.46.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sdk-cloudwatchevents (1.62.0)
aws-sdk-core (~> 3, >= 3.176.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudwatchlogs (1.62.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-cloudwatchlogs (1.75.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-codecommit (1.53.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-codecommit (1.62.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-codedeploy (1.52.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-codedeploy (1.63.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-codepipeline (1.55.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-codepipeline (1.67.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-cognitoidentity (1.31.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sdk-cognitoidentity (1.45.0)
aws-sdk-core (~> 3, >= 3.176.0)
aws-sigv4 (~> 1.1)
aws-sdk-cognitoidentityprovider (1.53.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sdk-cognitoidentityprovider (1.76.0)
aws-sdk-core (~> 3, >= 3.176.0)
aws-sigv4 (~> 1.1)
aws-sdk-configservice (1.89.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-configservice (1.103.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-core (3.171.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-sdk-core (3.190.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
aws-sigv4 (~> 1.8)
jmespath (~> 1, >= 1.6.1)
aws-sdk-costandusagereportservice (1.43.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-costandusagereportservice (1.53.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-databasemigrationservice (1.53.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sdk-databasemigrationservice (1.80.0)
aws-sdk-core (~> 3, >= 3.176.0)
aws-sigv4 (~> 1.1)
aws-sdk-dynamodb (1.84.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-dynamodb (1.98.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-ec2 (1.375.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-ec2 (1.430.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecr (1.58.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-ecr (1.68.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecrpublic (1.16.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-ecrpublic (1.25.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecs (1.114.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-ecs (1.135.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-efs (1.59.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-efs (1.71.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-eks (1.83.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-eks (1.95.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticache (1.84.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-elasticache (1.95.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticbeanstalk (1.54.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-elasticbeanstalk (1.63.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticloadbalancing (1.42.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-elasticloadbalancing (1.51.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticloadbalancingv2 (1.84.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-elasticloadbalancingv2 (1.96.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticsearchservice (1.69.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-elasticsearchservice (1.79.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-emr (1.53.0)
aws-sdk-core (~> 3, >= 3.121.2)
aws-sigv4 (~> 1.1)
aws-sdk-eventbridge (1.24.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sdk-eventbridge (1.46.0)
aws-sdk-core (~> 3, >= 3.176.0)
aws-sigv4 (~> 1.1)
aws-sdk-firehose (1.51.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-firehose (1.60.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-glue (1.88.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sdk-glue (1.145.0)
aws-sdk-core (~> 3, >= 3.176.0)
aws-sigv4 (~> 1.1)
aws-sdk-guardduty (1.67.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-guardduty (1.85.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-iam (1.77.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-iam (1.92.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-kafka (1.54.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-kafka (1.67.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-kinesis (1.45.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-kinesis (1.54.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-kms (1.63.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-kms (1.74.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-lambda (1.95.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-lambda (1.113.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-mq (1.40.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sdk-networkfirewall (1.26.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-networkfirewall (1.39.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-networkmanager (1.30.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-networkmanager (1.40.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-organizations (1.59.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sdk-organizations (1.77.0)
aws-sdk-core (~> 3, >= 3.176.0)
aws-sigv4 (~> 1.1)
aws-sdk-ram (1.26.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-rds (1.176.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-rds (1.208.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-redshift (1.91.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-redshift (1.107.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53 (1.71.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-route53 (1.83.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53domains (1.43.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-route53domains (1.54.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53resolver (1.40.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-route53resolver (1.51.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.120.1)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-s3 (1.141.0)
aws-sdk-core (~> 3, >= 3.189.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sigv4 (~> 1.8)
aws-sdk-s3control (1.43.0)
aws-sdk-core (~> 3, >= 3.122.0)
aws-sigv4 (~> 1.1)
aws-sdk-secretsmanager (1.46.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-securityhub (1.79.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-securityhub (1.99.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-servicecatalog (1.60.0)
aws-sdk-core (~> 3, >= 3.112.0)
@ -206,8 +209,8 @@ GEM
aws-sdk-ses (1.41.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sdk-shield (1.51.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-shield (1.60.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-signer (1.32.0)
aws-sdk-core (~> 3, >= 3.120.0)
@ -215,17 +218,17 @@ GEM
aws-sdk-simpledb (1.29.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv2 (~> 1.0)
aws-sdk-sms (1.43.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-sms (1.52.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-sns (1.60.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-sns (1.70.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-sqs (1.53.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-sqs (1.69.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-ssm (1.150.0)
aws-sdk-core (~> 3, >= 3.165.0)
aws-sdk-ssm (1.162.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
aws-sdk-states (1.39.0)
aws-sdk-core (~> 3, >= 3.112.0)
@ -233,14 +236,14 @@ GEM
aws-sdk-synthetics (1.19.0)
aws-sdk-core (~> 3, >= 3.121.2)
aws-sigv4 (~> 1.1)
aws-sdk-transfer (1.34.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sdk-transfer (1.73.0)
aws-sdk-core (~> 3, >= 3.176.0)
aws-sigv4 (~> 1.1)
aws-sdk-waf (1.43.0)
aws-sdk-core (~> 3, >= 3.122.0)
aws-sigv4 (~> 1.1)
aws-sigv2 (1.1.0)
aws-sigv4 (1.5.2)
aws-sigv2 (1.2.0)
aws-sigv4 (1.8.0)
aws-eventstream (~> 1, >= 1.0.2)
azure_graph_rbac (0.17.2)
ms_rest_azure (~> 0.12.0)
@ -254,17 +257,24 @@ GEM
ms_rest_azure (~> 0.12.0)
bson (4.15.0)
builder (3.2.4)
chef-config (18.2.7)
chef-config (18.3.0)
addressable
chef-utils (= 18.2.7)
chef-utils (= 18.3.0)
fuzzyurl
mixlib-config (>= 2.2.12, < 4.0)
mixlib-shellout (>= 2.0, < 4.0)
tomlrb (~> 1.2)
chef-licensing (0.7.5)
activesupport (~> 7.0, < 7.1)
chef-config (>= 15)
faraday (>= 1, < 3)
faraday-http-cache
tty-prompt (~> 0.23)
tty-spinner (~> 0.9.3)
chef-telemetry (1.1.1)
chef-config
concurrent-ruby (~> 1.0)
chef-utils (18.2.7)
chef-utils (18.3.0)
concurrent-ruby
coderay (1.1.3)
concurrent-ruby (1.2.2)
@ -275,10 +285,34 @@ GEM
docker-api (2.2.0)
excon (>= 0.47.0)
multi_json
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
domain_name (0.6.20231109)
dry-configurable (0.13.0)
concurrent-ruby (~> 1.0)
dry-core (~> 0.6)
dry-container (0.11.0)
concurrent-ruby (~> 1.0)
dry-core (0.9.1)
concurrent-ruby (~> 1.0)
zeitwerk (~> 2.6)
dry-inflector (0.3.0)
dry-logic (1.3.0)
concurrent-ruby (~> 1.0)
dry-core (~> 0.9, >= 0.9)
zeitwerk (~> 2.6)
dry-struct (1.5.2)
dry-core (~> 0.9, >= 0.9)
dry-types (~> 1.6)
ice_nine (~> 0.11)
zeitwerk (~> 2.6)
dry-types (1.6.1)
concurrent-ruby (~> 1.0)
dry-container (~> 0.3)
dry-core (~> 0.9, >= 0.9)
dry-inflector (~> 0.1, >= 0.1.2)
dry-logic (~> 1.3, >= 1.3)
zeitwerk (~> 2.6)
erubi (1.12.0)
excon (0.99.0)
excon (0.105.0)
faraday (1.10.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
@ -299,6 +333,8 @@ GEM
faraday-excon (1.1.0)
faraday-follow_redirects (0.3.0)
faraday (>= 1, < 3)
faraday-http-cache (2.5.0)
faraday (>= 0.8)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.4)
multipart-post (~> 2)
@ -309,7 +345,7 @@ GEM
faraday-retry (1.0.3)
faraday_middleware (1.0.0)
faraday (~> 1.0)
ffi (1.15.5)
ffi (1.16.3)
fuzzyurl (0.9.0)
google-api-client (0.52.0)
addressable (~> 2.5, >= 2.5.1)
@ -332,33 +368,37 @@ GEM
gyoku (1.4.0)
builder (>= 2.1.2)
rexml (~> 3.0)
hashie (4.1.0)
hashdiff (1.0.1)
hashie (5.0.0)
highline (2.1.0)
http-cookie (1.0.5)
domain_name (~> 0.5)
httpclient (2.8.3)
i18n (1.12.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
ice_nine (0.11.2)
inifile (3.0.0)
inspec (5.21.29)
inspec (6.6.0)
cookstyle
faraday_middleware (>= 0.12.2, < 1.1)
inspec-core (= 5.21.29)
inspec-core (= 6.6.0)
mongo (= 2.13.2)
progress_bar (~> 1.3.3)
rake
train (~> 3.10)
train-aws (~> 0.2)
train-habitat (~> 0.1)
train-kubernetes (~> 0.1)
train-winrm (~> 0.2)
inspec-bin (5.21.29)
inspec (= 5.21.29)
inspec-core (5.21.29)
inspec-bin (6.6.0)
inspec (= 6.6.0)
inspec-core (6.6.0)
addressable (~> 2.4)
chef-licensing (>= 0.7.5)
chef-telemetry (~> 1.0, >= 1.0.8)
faraday (>= 1, < 3)
faraday-follow_redirects (~> 0.3)
hashie (>= 3.4, < 5.0)
hashie (>= 3.4, < 6.0)
license-acceptance (>= 0.2.13, < 3.0)
method_source (>= 0.8, < 2.0)
mixlib-log (~> 3.0)
@ -366,19 +406,32 @@ GEM
parallel (~> 1.9)
parslet (>= 1.5, < 2.0)
pry (~> 0.13)
rspec (>= 3.9, <= 3.11)
rspec (>= 3.9, <= 3.12)
rspec-its (~> 1.2)
rubyzip (>= 1.2.2, < 3.0)
semverse (~> 3.0)
sslshake (~> 1.2)
thor (>= 0.20, < 2.0)
thor (>= 0.20, < 1.3.0)
tomlrb (>= 1.2, < 2.1)
train-core (~> 3.10)
train-core (>= 3.11.0)
tty-prompt (~> 0.17)
tty-table (~> 0.10)
jmespath (1.6.2)
json (2.6.3)
jwt (2.7.0)
json (2.7.1)
jsonpath (0.9.9)
multi_json
to_regexp (~> 0.2.1)
jwt (2.7.1)
k8s-ruby (0.14.0)
dry-configurable (~> 0.13.0)
dry-struct (<= 1.6.0)
dry-types (<= 1.7.0)
excon (~> 0.71)
hashdiff (~> 1.0.0)
jsonpath (~> 0.9.5)
recursive-open-struct (~> 1.1.3)
yajl-ruby (~> 1.4.0)
yaml-safe_load_stream3
license-acceptance (2.1.13)
pastel (~> 0.7)
tomlrb (>= 1.2, < 3.0)
@ -390,8 +443,8 @@ GEM
multi_json (~> 1.14)
memoist (0.16.2)
method_source (1.0.0)
mini_mime (1.1.2)
minitest (5.18.0)
mini_mime (1.1.5)
minitest (5.20.0)
mixlib-config (3.0.27)
tomlrb
mixlib-log (3.0.9)
@ -412,13 +465,14 @@ GEM
multipart-post (2.3.0)
net-scp (4.0.0)
net-ssh (>= 2.6.5, < 8.0.0)
net-ssh (7.1.0)
net-ssh (7.2.0)
nori (2.6.0)
options (2.3.2)
os (1.1.4)
parallel (1.23.0)
parser (3.2.2.0)
parser (3.2.2.4)
ast (~> 2.4.1)
racc
parslet (1.8.2)
pastel (0.8.0)
tty-color (~> 0.5)
@ -428,32 +482,34 @@ GEM
pry (0.14.2)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (5.0.1)
public_suffix (5.0.4)
racc (1.7.3)
rainbow (3.1.1)
rake (13.0.6)
regexp_parser (2.8.0)
rake (13.1.0)
recursive-open-struct (1.1.3)
regexp_parser (2.8.3)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rexml (3.2.5)
rspec (3.11.0)
rspec-core (~> 3.11.0)
rspec-expectations (~> 3.11.0)
rspec-mocks (~> 3.11.0)
rspec-core (3.11.0)
rspec-support (~> 3.11.0)
rspec-expectations (3.11.1)
rexml (3.2.6)
rspec (3.12.0)
rspec-core (~> 3.12.0)
rspec-expectations (~> 3.12.0)
rspec-mocks (~> 3.12.0)
rspec-core (3.12.2)
rspec-support (~> 3.12.0)
rspec-expectations (3.12.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0)
rspec-support (~> 3.12.0)
rspec-its (1.3.0)
rspec-core (>= 3.0.0)
rspec-expectations (>= 3.0.0)
rspec-mocks (3.11.2)
rspec-mocks (3.12.6)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0)
rspec-support (3.11.1)
rspec-support (~> 3.12.0)
rspec-support (3.12.1)
rubocop (1.25.1)
parallel (~> 1.10)
parser (>= 3.1.0.0)
@ -463,14 +519,14 @@ GEM
rubocop-ast (>= 1.15.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 3.0)
rubocop-ast (1.28.0)
rubocop-ast (1.30.0)
parser (>= 3.2.1.0)
ruby-progressbar (1.13.0)
ruby2_keywords (0.0.5)
rubyntlm (0.6.3)
rubyzip (2.3.2)
semverse (3.0.2)
signet (0.17.0)
signet (0.18.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
@ -481,11 +537,12 @@ GEM
unicode-display_width (>= 1.5, < 3.0)
unicode_utils (~> 1.4)
strings-ansi (0.2.0)
thor (1.2.1)
thor (1.2.2)
timeliness (0.3.10)
to_regexp (0.2.1)
tomlrb (1.3.0)
trailblazer-option (0.1.2)
train (3.10.7)
train (3.11.0)
activesupport (>= 6.0.3.1)
azure_graph_rbac (~> 0.16)
azure_mgmt_key_vault (~> 0.17)
@ -496,17 +553,18 @@ GEM
google-api-client (>= 0.23.9, <= 0.52.0)
googleauth (>= 0.6.6, <= 0.14.0)
inifile (~> 3.0)
train-core (= 3.10.7)
train-core (= 3.11.0)
train-winrm (~> 0.2)
train-aws (0.2.24)
train-aws (0.2.36)
aws-sdk-account (~> 1.14)
aws-sdk-alexaforbusiness (~> 1.0)
aws-sdk-amplify (~> 1.32.0)
aws-sdk-apigateway (~> 1.0)
aws-sdk-apigatewayv2 (~> 1.0)
aws-sdk-applicationautoscaling (>= 1.46, < 1.52)
aws-sdk-athena (~> 1.0)
aws-sdk-autoscaling (>= 1.22, < 1.64)
aws-sdk-batch (>= 1.36, < 1.48)
aws-sdk-autoscaling (>= 1.22, < 1.93)
aws-sdk-batch (>= 1.36, < 1.74)
aws-sdk-budgets (~> 1.0)
aws-sdk-cloudformation (~> 1.0)
aws-sdk-cloudfront (~> 1.0)
@ -514,17 +572,17 @@ GEM
aws-sdk-cloudhsmv2 (~> 1.0)
aws-sdk-cloudtrail (~> 1.8)
aws-sdk-cloudwatch (~> 1.13)
aws-sdk-cloudwatchevents (>= 1.36, < 1.47)
aws-sdk-cloudwatchevents (>= 1.36, < 1.63)
aws-sdk-cloudwatchlogs (~> 1.13)
aws-sdk-codecommit (~> 1.0)
aws-sdk-codedeploy (~> 1.0)
aws-sdk-codepipeline (~> 1.0)
aws-sdk-cognitoidentity (>= 1.26, < 1.32)
aws-sdk-cognitoidentityprovider (>= 1.46, < 1.54)
aws-sdk-cognitoidentity (>= 1.26, < 1.46)
aws-sdk-cognitoidentityprovider (>= 1.46, < 1.77)
aws-sdk-configservice (~> 1.21)
aws-sdk-core (~> 3.0)
aws-sdk-costandusagereportservice (~> 1.6)
aws-sdk-databasemigrationservice (>= 1.42, < 1.54)
aws-sdk-databasemigrationservice (>= 1.42, < 1.81)
aws-sdk-dynamodb (~> 1.31)
aws-sdk-ec2 (~> 1.70)
aws-sdk-ecr (~> 1.18)
@ -538,9 +596,9 @@ GEM
aws-sdk-elasticloadbalancingv2 (~> 1.0)
aws-sdk-elasticsearchservice (~> 1.0)
aws-sdk-emr (~> 1.53.0)
aws-sdk-eventbridge (~> 1.24.0)
aws-sdk-eventbridge (>= 1.24, < 1.47)
aws-sdk-firehose (~> 1.0)
aws-sdk-glue (>= 1.71, < 1.89)
aws-sdk-glue (>= 1.71, < 1.146)
aws-sdk-guardduty (~> 1.31)
aws-sdk-iam (~> 1.13)
aws-sdk-kafka (~> 1.0)
@ -550,7 +608,7 @@ GEM
aws-sdk-mq (~> 1.40.0)
aws-sdk-networkfirewall (>= 1.6.0)
aws-sdk-networkmanager (>= 1.13.0)
aws-sdk-organizations (>= 1.17, < 1.60)
aws-sdk-organizations (>= 1.17, < 1.78)
aws-sdk-ram (>= 1.21, < 1.27)
aws-sdk-rds (~> 1.43)
aws-sdk-redshift (~> 1.0)
@ -572,9 +630,9 @@ GEM
aws-sdk-ssm (~> 1.0)
aws-sdk-states (>= 1.35, < 1.40)
aws-sdk-synthetics (~> 1.19.0)
aws-sdk-transfer (>= 1.26, < 1.35)
aws-sdk-transfer (>= 1.26, < 1.74)
aws-sdk-waf (~> 1.43.0)
train-core (3.10.7)
train-core (3.11.0)
addressable (~> 2.5)
ffi (!= 1.13.0)
json (>= 1.8, < 3.0)
@ -582,6 +640,9 @@ GEM
net-scp (>= 1.2, < 5.0)
net-ssh (>= 2.9, < 8.0)
train-habitat (0.2.22)
train-kubernetes (0.1.12)
k8s-ruby (~> 0.14.0)
train (~> 3.0)
train-winrm (0.2.13)
winrm (>= 2.3.6, < 3.0)
winrm-elevated (~> 1.2.2)
@ -600,6 +661,8 @@ GEM
tty-screen (~> 0.8)
wisper (~> 2.0)
tty-screen (0.8.1)
tty-spinner (0.9.3)
tty-cursor (~> 0.7)
tty-table (0.12.0)
pastel (~> 0.8)
strings (~> 0.2.0)
@ -607,10 +670,7 @@ GEM
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (2.4.2)
unicode-display_width (2.5.0)
unicode_utils (1.4.0)
winrm (2.3.6)
builder (>= 2.1.2)
@ -631,13 +691,16 @@ GEM
rubyzip (~> 2.0)
winrm (~> 2.0)
wisper (2.0.1)
yajl-ruby (1.4.3)
yaml-safe_load_stream3 (0.1.2)
zeitwerk (2.6.12)
PLATFORMS
ruby
DEPENDENCIES
inspec!
inspec-bin!
inspec
inspec-bin
BUNDLED WITH
2.1.4
2.4.22

File diff suppressed because it is too large Load Diff

View File

@ -6,18 +6,18 @@
buildGoModule rec {
pname = "containerlab";
version = "0.54.2";
version = "0.55.0";
src = fetchFromGitHub {
owner = "srl-labs";
repo = "containerlab";
rev = "v${version}";
hash = "sha256-XRFSfMe08w69oudCDGfnJxROA7ycZEMNbAWP6zJKTN0=";
hash = "sha256-g+42nvNR1sWrkeU/oOajtmqeDVjRiwp7i+hrZU+FE00=";
};
nativeBuildInputs = [ installShellFiles ];
vendorHash = "sha256-+buFaaUb4wCrlIBG+SwPXp/PqU/qvdfHTpEH4OrXsUs=";
vendorHash = "sha256-D0nZhw1YY+Ci7g6wTiUoPp8EoKcL0YIfWHsjDlLR/K8=";
ldflags = [
"-s"

View File

@ -3,26 +3,27 @@
, fetchFromGitHub
, stdenv
, libpcap
# Cann't be build with both pcap and rawsocket tags
# Cann't be build with both pcap and rawsocket tags
, withPcap ? (!stdenv.isLinux && !withRawsocket)
, withRawsocket ? (stdenv.isLinux && !withPcap)
}:
buildGoModule rec {
pname = "phantomsocks";
version = "unstable-2023-04-05";
version = "unstable-2023-11-30";
src = fetchFromGitHub {
owner = "macronut";
repo = pname;
rev = "a54ae9f3611e8623f89e69273f2ded7f7c0a7abf";
hash = "sha256-ytTLwKlwbaiSWDRZBkOV7Hrl5ywWzLbv/fJ7nVlD++E=";
rev = "b1b13c5b88cf3bac54f39c37c0ffcb0b46e31049";
hash = "sha256-ptCzd2/8dNHjAkhwA2xpZH8Ki/9DnblHI2gAIpgM+8E=";
};
vendorHash = "sha256-c0NQfZuMMWz1ASwFBcpMNjxZwXLo++gMYBiNgvT8ZLQ=";
vendorHash = "sha256-0MJlz7HAhRThn8O42yhvU3p5HgTG8AkPM0ksSjWYAC4=";
ldflags = [
"-s" "-w"
"-s"
"-w"
];
buildInputs = lib.optional withPcap libpcap;
tags = lib.optional withPcap "pcap"

View File

@ -1,26 +1,20 @@
GEM
remote: https://rubygems.org/
specs:
arr-pm (0.0.11)
cabin (> 0)
backports (3.21.0)
arr-pm (0.0.12)
backports (3.24.1)
cabin (0.9.0)
clamp (1.0.1)
dotenv (2.7.6)
fpm (1.13.0)
dotenv (2.8.1)
fpm (1.15.1)
arr-pm (~> 0.0.11)
backports (>= 2.6.2)
cabin (>= 0.6.0)
clamp (~> 1.0.0)
git (>= 1.3.0, < 2.0)
json (>= 1.7.7, < 3.0)
pleaserun (~> 0.0.29)
rexml
stud
git (1.8.1)
rchardet (~> 1.8)
insist (1.0.0)
json (2.5.1)
mustache (0.99.8)
pleaserun (0.0.32)
cabin (> 0)
@ -29,8 +23,7 @@ GEM
insist
mustache (= 0.99.8)
stud
rchardet (1.8.0)
rexml (3.2.5)
rexml (3.2.6)
stud (0.0.23)
PLATFORMS
@ -40,4 +33,4 @@ DEPENDENCIES
fpm
BUNDLED WITH
2.1.4
2.5.3

View File

@ -1,24 +1,23 @@
{
arr-pm = {
dependencies = ["cabin"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "17qssricshzs2ml1jvn4bs2h85gxvrqm074pl5nl8vr74620iazi";
sha256 = "0fddw0vwdrr7v3a0lfqbmnd664j48a9psrjd3wh3k4i3flplizzx";
type = "gem";
};
version = "0.0.11";
version = "0.0.12";
};
backports = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xqvwj3mm28g1z4npya51zjcvxaniyyzn3fwgcdwmm8xrdbl8fgr";
sha256 = "1f3zcy0q88rw3clk0r7bai7sp4r253lndf0qmdgczq1ykbm219w3";
type = "gem";
};
version = "3.21.0";
version = "3.24.1";
};
cabin = {
groups = ["default"];
@ -45,32 +44,21 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0iym172c5337sm1x2ykc2i3f961vj3wdclbyg1x6sxs3irgfsl94";
sha256 = "1n0pi8x8ql5h1mijvm8lgn6bhq4xjb5a500p5r1krq4s6j9lg565";
type = "gem";
};
version = "2.7.6";
version = "2.8.1";
};
fpm = {
dependencies = ["arr-pm" "backports" "cabin" "clamp" "git" "json" "pleaserun" "rexml" "stud"];
dependencies = ["arr-pm" "backports" "cabin" "clamp" "pleaserun" "rexml" "stud"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "03ss7yh628f0m6by23q3sniq660gm07mkz6wqjpvr118gc0h53sa";
sha256 = "1grd0lb0mw1jvw6l8zqgh49m9gg2jxn98rifq2spzacwm11g7yqz";
type = "gem";
};
version = "1.13.0";
};
git = {
dependencies = ["rchardet"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0vdcv93s33d9914a9nxrn2y2qv15xk7jx94007cmalp159l08cnl";
type = "gem";
};
version = "1.8.1";
version = "1.15.1";
};
insist = {
groups = ["default"];
@ -82,16 +70,6 @@
};
version = "1.0.0";
};
json = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci";
type = "gem";
};
version = "2.5.1";
};
mustache = {
groups = ["default"];
platforms = [];
@ -113,25 +91,15 @@
};
version = "0.0.32";
};
rchardet = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9";
type = "gem";
};
version = "1.8.0";
};
rexml = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0";
type = "gem";
};
version = "3.2.5";
version = "3.2.6";
};
stud = {
groups = ["default"];

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "ssh-to-pgp";
version = "1.1.2";
version = "1.1.3";
src = fetchFromGitHub {
owner = "Mic92";
repo = "ssh-to-pgp";
rev = version;
sha256 = "sha256-SoHKBuI3ROfWTI45rFdMNkHVYHa5nX1A0/ljgGpF8NY=";
sha256 = "sha256-EynI4YQ6yjhMIOSoMM7WgLwI//5moFgdhFLX82J+bSA=";
};
vendorHash = "sha256-sHvb6jRSMXIUv1D0dbTJWmETCaFr9BquNmcc8J06m/o=";
vendorHash = "sha256-ww1CDDGo2r8h0ePvU8PS2owzE1vLTz2m7Z9thsQle7s=";
nativeCheckInputs = [ gnupg ];
checkPhase = ''

View File

@ -98,6 +98,7 @@ mapAliases ({
authy = throw "'authy' has been removed since it reached end of life"; # Added 2024-04-19
avldrums-lv2 = x42-avldrums; # Added 2020-03-29
awesome-4-0 = awesome; # Added 2022-05-05
aws-env = throw "aws-env has been removed as the upstream project was unmaintained"; # Added 2024-06-11
### B ###
@ -202,6 +203,7 @@ mapAliases ({
compton = throw "'compton' has been renamed to/replaced by 'picom'"; # Converted to throw 2023-09-10
concurrencykit = libck; # Added 2021-03
connmanPackages = throw "'connmanPackages' was removed and their subpackages/attributes were promoted to top level."; # Added 2023-10-08
containerpilot = throw "'containerpilot' has been removed from nixpkgs, as it was broken and unmaintained"; # Added 2024-06-09
convoy = throw "'convoy' has been removed from nixpkgs, as it was archived upstream"; # Added 2023-12-27
crda = throw "'crda' has been removed from nixpkgs, as it is needed only for kernels before 4.16"; # Added 2024-02-06
cups-kyodialog3 = cups-kyodialog; # Added 2022-11-12

View File

@ -525,8 +525,6 @@ with pkgs;
containerlab = callPackage ../tools/networking/containerlab { };
containerpilot = callPackage ../applications/networking/cluster/containerpilot { };
coolercontrol = recurseIntoAttrs (callPackage ../applications/system/coolercontrol { });
confetty = callPackage ../applications/misc/confetty { };
@ -3314,8 +3312,6 @@ with pkgs;
aws-lambda-rie = callPackage ../tools/admin/aws-lambda-runtime-interface-emulator { };
aws-env = callPackage ../tools/admin/aws-env { };
aws-google-auth = python3Packages.callPackage ../tools/admin/aws-google-auth { };
aws-mfa = python3Packages.callPackage ../tools/admin/aws-mfa { };
@ -13610,8 +13606,6 @@ with pkgs;
pkgs = pkgs.__splicedPackages;
});
tmsu = callPackage ../tools/filesystems/tmsu { };
tncattach = callPackage ../applications/radio/tncattach { };
to-html = callPackage ../tools/text/to-html { };
@ -14244,8 +14238,6 @@ with pkgs;
woodpecker-cli = callPackage ../development/tools/continuous-integration/woodpecker/cli.nix { };
woodpecker-pipeline-transform = callPackage ../development/tools/continuous-integration/woodpecker-pipeline-transform { };
woodpecker-plugin-git = callPackage ../development/tools/continuous-integration/woodpecker-plugin-git { };
woodpecker-server = callPackage ../development/tools/continuous-integration/woodpecker/server.nix { };

View File

@ -1048,6 +1048,8 @@ let
mec = callPackage ../development/ocaml-modules/mec { };
memprof-limits = callPackage ../development/ocaml-modules/memprof-limits { };
memtrace = callPackage ../development/ocaml-modules/memtrace { };
menhir = callPackage ../development/ocaml-modules/menhir { };