mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-10-02 13:00:23 +00:00
Merge master into staging-nixos
This commit is contained in:
@@ -1,142 +0,0 @@
|
||||
# pnpmBuildHook {#pnpm-build-hook}
|
||||
|
||||
[pnpm](https://pnpm.io/) is a an NPM-compatible package manager focused on increasing managment speeds, and reducing disk space.
|
||||
|
||||
The `pnpmBuildHook` in Nixpkgs overrides the default build phase for building packages that use pnpm.
|
||||
|
||||
:::{.example #ex-pnpm-build-hook}
|
||||
## pnpmBuildHook example code snippet {#pnpm-build-hook-code-snippet}
|
||||
|
||||
```nix
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchPnpmDeps,
|
||||
pnpmConfigHook,
|
||||
pnpmBuildHook,
|
||||
makeBinaryWrapper,
|
||||
pnpm_10,
|
||||
}:
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "coolPackages";
|
||||
version = "1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "JaneCool";
|
||||
repo = "coolpackage";
|
||||
tag = finalAttrs.version;
|
||||
hash = lib.fakeHash;
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 4;
|
||||
hash = lib.fakeHash;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pnpmConfigHook
|
||||
pnpmBuildHook
|
||||
makeBinaryWrapper
|
||||
];
|
||||
|
||||
pnpmBuildScript = "build";
|
||||
pnpmBuildFlags = [
|
||||
"--mode"
|
||||
"production"
|
||||
];
|
||||
pnpmWorkspaces = [
|
||||
"test"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir "$out"
|
||||
cp -r dist/. "$out"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "very cool package that does cool things";
|
||||
mainProgram = "cool";
|
||||
};
|
||||
})
|
||||
```
|
||||
:::
|
||||
|
||||
## Variables controlling pnpmBuildHook {#pnpm-build-hook-variables}
|
||||
|
||||
### pnpm Exclusive Variables {#pnpm-build-hook-exclusive-variables}
|
||||
|
||||
#### `pnpmBuildScript` {#pnpm-build-hook-script}
|
||||
|
||||
Controls the script ran to build the package, by default the script is `build`.
|
||||
|
||||
#### `pnpmFlags` {#pnpm-build-hook-flags}
|
||||
|
||||
Controls flags used for all invocations of pnpm across all hooks local to this derivation.
|
||||
|
||||
#### `pnpmBuildFlags` {#pnpm-build-hook-build-flags}
|
||||
|
||||
Controls the flags pass only to the pnpm build script invocation.
|
||||
|
||||
#### `dontPnpmBuild` {#pnpm-build-hook-dont}
|
||||
|
||||
Disables automatically running `pnpmBuildHook`. The build can still be run manually if needed, for example:
|
||||
|
||||
```nix
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
pnpmBuildHook,
|
||||
pnpmConfigHook,
|
||||
fetchPnpmDeps,
|
||||
emptyDirectory,
|
||||
pnpm_10,
|
||||
}:
|
||||
let
|
||||
pnpm = pnpm_10;
|
||||
in
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "super-fast-application";
|
||||
version = "1.0";
|
||||
|
||||
src = emptyDirectory;
|
||||
|
||||
cargoHash = lib.fakeHash;
|
||||
|
||||
nativeBuildInputs = [
|
||||
pnpmBuildHook
|
||||
pnpmConfigHook
|
||||
];
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 4;
|
||||
hash = lib.fakeHash;
|
||||
};
|
||||
|
||||
dontPnpmBuild = true;
|
||||
postBuild = ''
|
||||
pnpmBuildHook
|
||||
'';
|
||||
})
|
||||
```
|
||||
|
||||
### Honored Variables {#pnpm-build-hook-honored-variables}
|
||||
|
||||
The following variables are honored by `pnpmBuildHook`.
|
||||
|
||||
* [`pnpmRoot`](#javascript-pnpm-sourceRoot)
|
||||
* [`pnpmWorkspaces`](#javascript-pnpm-workspaces)
|
||||
@@ -6,6 +6,12 @@ Package JavaScript applications with the tools below.
|
||||
|
||||
## Tools overview {#javascript-tools-overview}
|
||||
|
||||
- **npm**: [`buildNpmPackage`](#javascript-buildNpmPackage), [`prefetch-npm-deps` (CLI)](#javascript-buildNpmPackage-prefetch-npm-deps), [`fetchNpmDeps`](#javascript-buildNpmPackage-fetchNpmDeps), [`importNpmLock`](#javascript-buildNpmPackage-importNpmLock)
|
||||
- [**corepack**](#javascript-corepack)
|
||||
- **pnpm**: [`fetchPnpmDeps`](#javascript-pnpm), [`pnpmConfigHook`](#javascript-pnpm-pnpmConfigHook), [`pnpmBuildHook`](#javascript-pnpm-pnpmBuildHook)
|
||||
- [**Yarn v1**](#javascript-yarn-v1): [`fetchYarnDeps`](#javascript-fetchyarndeps), [`yarnConfigHook`](#javascript-yarnconfighook), [`yarnBuildHook`](#javascript-yarnbuildhook), [`yarnInstallHook`](#javascript-yarninstallhook)
|
||||
- [**Yarn Berry (v3/v4)**](#javascript-yarn-v3-v4): [`fetchYarnBerryDeps`](#javascript-fetchYarnBerryDeps), [`yarnBerryConfigHook`](#javascript-yarnBerryConfigHook)
|
||||
|
||||
## General principles {#javascript-general-principles}
|
||||
|
||||
The principles below are ordered by importance.
|
||||
@@ -288,9 +294,7 @@ This package puts the corepack wrappers for pnpm and yarn in your PATH, and they
|
||||
|
||||
pnpm is available as the top-level package `pnpm`. Additionally, there are variants pinned to certain major versions, like `pnpm_9`, `pnpm_10`, `pnpm_10_29_2` and `pnpm_11`, which support different sets of lock file versions.
|
||||
|
||||
When packaging an application that includes a `pnpm-lock.yaml`, you need to fetch the pnpm store for that project using a fixed-output-derivation. The function `fetchPnpmDeps` can create this pnpm store derivation. In conjunction, the setup hook `pnpmConfigHook` prepares the build environment to install the pre-fetched dependencies store. The example below uses the fetcher and setup hook for a package that has `package.json` and `pnpm-lock.yaml`:
|
||||
|
||||
There is also the [`pnpmBuildHook`](#pnpm-build-hook) for building packages with `pnpm`, as seen in [](#ex-pnpm-build-hook).
|
||||
When packaging an application that includes a `pnpm-lock.yaml`, you need to fetch the pnpm store for that project using a fixed-output-derivation. The function `fetchPnpmDeps` can create this pnpm store derivation. In conjunction, the setup hook [`pnpmConfigHook`](#javascript-pnpm-pnpmConfigHook) prepares the build environment to install the pre-fetched dependencies store. The example below uses the fetcher and setup hook for a package that has `package.json` and `pnpm-lock.yaml`:
|
||||
|
||||
```nix
|
||||
{
|
||||
@@ -298,6 +302,7 @@ There is also the [`pnpmBuildHook`](#pnpm-build-hook) for building packages with
|
||||
nodejs,
|
||||
pnpm_11,
|
||||
pnpmConfigHook,
|
||||
pnpmBuildHook,
|
||||
stdenv,
|
||||
}:
|
||||
let
|
||||
@@ -319,7 +324,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
nativeBuildInputs = [
|
||||
nodejs # in case scripts are run outside of a pnpm call
|
||||
pnpmConfigHook
|
||||
pnpm # At least required by pnpmConfigHook, if not other (custom) phases
|
||||
pnpmBuildHook
|
||||
pnpm # At least required by pnpmConfigHook and pnpmBuildHook, if not other (custom) phases
|
||||
];
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
@@ -331,49 +337,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
})
|
||||
```
|
||||
|
||||
Use a pinned version of pnpm (for example `pnpm_9` or `pnpm_10`) to increase reproducibility. An older version may be required if the package needs a certain lock file version. To do so, pass the `pnpm` argument to `fetchPnpmDeps`. Then override the `pnpm` arg in `pnpmConfigHook`. Here are the changes in the example above to use a pinned pnpm version:
|
||||
The example also uses [`pnpmBuildHook`](#javascript-pnpm-pnpmBuildHook), which runs `pnpm run build` in the build phase.
|
||||
|
||||
<!-- TODO: Does splicing still work when overriding in nativeBuildInputs here? -->
|
||||
In case you are patching `package.json` or `pnpm-lock.yaml`, make sure to pass `finalAttrs.patches` to the `fetchPnpmDeps` function as well (i.e., `inherit (finalAttrs) patches`).
|
||||
|
||||
```diff
|
||||
{
|
||||
fetchPnpmDeps,
|
||||
nodejs,
|
||||
- pnpm,
|
||||
+ pnpm_10,
|
||||
pnpmConfigHook,
|
||||
stdenv,
|
||||
}:
|
||||
+let
|
||||
+ # Optionally override pnpm to use a custom nodejs version
|
||||
+ # Make sure that the same nodejs version is referenced in nativeBuildInputs
|
||||
+ # pnpm = pnpm_10.override { nodejs-slim = nodejs-slim_22; };
|
||||
+in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "foo";
|
||||
version = "0-unstable-1980-01-01";
|
||||
|
||||
src = {
|
||||
#...
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs # in case scripts are run outside of a pnpm call
|
||||
pnpmConfigHook
|
||||
- pnpm # At least required by pnpmConfigHook, if not other (custom) phases
|
||||
+ pnpm_10 # At least required by pnpmConfigHook, if not other (custom) phases
|
||||
];
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
+ pnpm = pnpm_10;
|
||||
fetcherVersion = 4;
|
||||
hash = "...";
|
||||
};
|
||||
})
|
||||
```
|
||||
|
||||
In case you are patching `package.json` or `pnpm-lock.yaml`, make sure to pass `finalAttrs.patches` to the function as well (i.e., `inherit (finalAttrs) patches`).
|
||||
#### pnpmConfigHook {#javascript-pnpm-pnpmConfigHook}
|
||||
|
||||
`pnpmConfigHook` supports adding additional `pnpm install` flags via `pnpmInstallFlags` which can be set to a Nix string array:
|
||||
|
||||
@@ -391,6 +359,33 @@ In case you are patching `package.json` or `pnpm-lock.yaml`, make sure to pass `
|
||||
|
||||
If needed, set `dontPnpmConfigure = true;` to fully disable `pnpmConfigHook` without removing it from inputs manually.
|
||||
|
||||
#### pnpmBuildHook {#javascript-pnpm-pnpmBuildHook}
|
||||
|
||||
The `pnpmBuildHook` in overrides the default build phase with `pnpm run <build-script>`.
|
||||
|
||||
```nix
|
||||
{
|
||||
nativeBuildInputs = [
|
||||
pnpmBuildHook
|
||||
];
|
||||
|
||||
pnpmBuildScript = "build-ui";
|
||||
pnpmBuildFlags = [
|
||||
"--mode"
|
||||
"production"
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
Available options:
|
||||
|
||||
- `pnpmBuildScript`: select which script from `package.json` to run. Defaults to `build`.
|
||||
- `pnpmBuildFlags`: array of flags to pass to the build script.
|
||||
- `pnpmFlags`: currently the same as `pnpmBuildFlags`, but might be used by other hooks in the future.
|
||||
- `dontPnpmBuild`: disable this hook from running automatically. The hook can still be invoked manually.
|
||||
|
||||
Both [`pnpmRoot`](#javascript-pnpm-sourceRoot) and [`pnpmWorkspaces`](#javascript-pnpm-workspaces) are honored by this hook.
|
||||
|
||||
#### Dealing with `sourceRoot` {#javascript-pnpm-sourceRoot}
|
||||
|
||||
If the pnpm project is in a subdirectory, you can define `sourceRoot` or `setSourceRoot` for `fetchPnpmDeps`.
|
||||
@@ -603,13 +598,8 @@ To install the package, `yarnInstallHook` uses both `npm` and `yarn` to clean up
|
||||
- `yarnKeepDevDeps`: Disables the removal of devDependencies from `node_modules` before installation.
|
||||
|
||||
#### Yarn Berry v3/v4 {#javascript-yarn-v3-v4}
|
||||
Yarn Berry (v3 / v4) versions have similar formats. They start with blocks like these:
|
||||
|
||||
```yaml
|
||||
__metadata:
|
||||
version: 6
|
||||
cacheKey: 8[cX]
|
||||
```
|
||||
Yarn Berry (v3 / v4) versions have similar formats. The `yarn.lock` file starts with blocks like these:
|
||||
|
||||
```yaml
|
||||
__metadata:
|
||||
@@ -634,7 +624,6 @@ Explicitly pin the major version. For example, capture the `yarn-berry_Xn` argum
|
||||
|
||||
let
|
||||
yarn-berry = yarn-berry_4;
|
||||
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "foo";
|
||||
@@ -657,6 +646,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
```
|
||||
|
||||
##### `yarn-berry_X.fetchYarnBerryDeps` {#javascript-fetchYarnBerryDeps}
|
||||
|
||||
`fetchYarnBerryDeps` runs `yarn-berry-fetcher fetch` in a fixed-output-derivation. It is a custom fetcher designed to reproducibly download all files in the `yarn.lock` file, validating their hashes in the process. For git dependencies, it creates a checkout at `${offlineCache}/checkouts/<40-character-commit-hash>` (relying on the git commit hash to describe the contents of the checkout).
|
||||
|
||||
To produce the `hash` argument for the `fetchYarnBerryDeps` call, run `yarn-berry-fetcher prefetch`:
|
||||
@@ -668,14 +658,17 @@ $ yarn-berry-fetcher prefetch </path/to/yarn.lock> [/path/to/missing-hashes.json
|
||||
This prints the hash to stdout. Use it in update scripts to recalculate the hash for a new `yarn.lock`.
|
||||
|
||||
##### `yarn-berry_X.yarnBerryConfigHook` {#javascript-yarnBerryConfigHook}
|
||||
|
||||
`yarnBerryConfigHook` uses the store path `offlineCache` points to, to run a `yarn install` during the build, producing a usable `node_modules` directory from the downloaded dependencies.
|
||||
|
||||
Internally, this uses a patched version of Yarn to ensure git dependencies are re-packed and any attempted downloads fail immediately.
|
||||
|
||||
##### Patching the project's `package.json` or `yarn.lock` files {#javascript-yarnBerry-patching}
|
||||
|
||||
In case patching the project's `package.json` or `yarn.lock` is needed, it's important to pass `finalAttrs.patches` to `fetchYarnBerryDeps` as well, so the patched variants are picked up (i.e., `inherit (finalAttrs) patches`).
|
||||
|
||||
##### Missing hashes in the `yarn.lock` file {#javascript-yarnBerry-missing-hashes}
|
||||
|
||||
Unfortunately, `yarn.lock` files do not include hashes for optional/platform-specific dependencies. This is [by design](https://github.com/yarnpkg/berry/issues/6759).
|
||||
|
||||
To compensate for this, run the `yarn-berry-fetcher missing-hashes` subcommand to produce all missing hashes. These are stored in a `missing-hashes.json` file, which needs to be passed to both the build itself, as well as the `fetchYarnBerryDeps` helper:
|
||||
@@ -689,7 +682,6 @@ To compensate for this, run the `yarn-berry-fetcher missing-hashes` subcommand t
|
||||
|
||||
let
|
||||
yarn-berry = yarn-berry_4;
|
||||
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "foo";
|
||||
|
||||
@@ -430,9 +430,6 @@
|
||||
{
|
||||
"file": "hooks/pkg-config.section.md"
|
||||
},
|
||||
{
|
||||
"file": "hooks/pnpm.section.md"
|
||||
},
|
||||
{
|
||||
"file": "hooks/postgresql-test-hook.section.md"
|
||||
},
|
||||
|
||||
@@ -128,9 +128,6 @@
|
||||
"ex-pkgs-replace-vars-with": [
|
||||
"index.html#ex-pkgs-replace-vars-with"
|
||||
],
|
||||
"ex-pnpm-build-hook": [
|
||||
"index.html#ex-pnpm-build-hook"
|
||||
],
|
||||
"ex-shfmt": [
|
||||
"index.html#ex-shfmt"
|
||||
],
|
||||
@@ -406,33 +403,6 @@
|
||||
"pkgs.treefmt.withConfig": [
|
||||
"index.html#pkgs.treefmt.withConfig"
|
||||
],
|
||||
"pnpm-build-hook": [
|
||||
"index.html#pnpm-build-hook"
|
||||
],
|
||||
"pnpm-build-hook-build-flags": [
|
||||
"index.html#pnpm-build-hook-build-flags"
|
||||
],
|
||||
"pnpm-build-hook-code-snippet": [
|
||||
"index.html#pnpm-build-hook-code-snippet"
|
||||
],
|
||||
"pnpm-build-hook-dont": [
|
||||
"index.html#pnpm-build-hook-dont"
|
||||
],
|
||||
"pnpm-build-hook-exclusive-variables": [
|
||||
"index.html#pnpm-build-hook-exclusive-variables"
|
||||
],
|
||||
"pnpm-build-hook-flags": [
|
||||
"index.html#pnpm-build-hook-flags"
|
||||
],
|
||||
"pnpm-build-hook-script": [
|
||||
"index.html#pnpm-build-hook-script"
|
||||
],
|
||||
"pnpm-build-hook-variables": [
|
||||
"index.html#pnpm-build-hook-variables"
|
||||
],
|
||||
"pnpm-build-hook-honored-variables": [
|
||||
"index.html#pnpm-build-hook-honored-variables"
|
||||
],
|
||||
"preface": [
|
||||
"index.html#preface",
|
||||
"index.html#overview-of-nixpkgs"
|
||||
@@ -1711,6 +1681,9 @@
|
||||
"var-meta-mainProgram": [
|
||||
"index.html#var-meta-mainProgram"
|
||||
],
|
||||
"var-meta-mainDarwinApp": [
|
||||
"index.html#var-meta-mainDarwinApp"
|
||||
],
|
||||
"var-meta-priority": [
|
||||
"index.html#var-meta-priority"
|
||||
],
|
||||
@@ -3883,7 +3856,23 @@
|
||||
"index.html#javascript-corepack"
|
||||
],
|
||||
"javascript-pnpm": [
|
||||
"index.html#javascript-pnpm"
|
||||
"index.html#javascript-pnpm",
|
||||
"index.html#ex-pnpm-build-hook"
|
||||
],
|
||||
"javascript-pnpm-pnpmBuildHook": [
|
||||
"index.html#javascript-pnpm-pnpmBuildHook",
|
||||
"index.html#pnpm-build-hook",
|
||||
"index.html#pnpm-build-hook-build-flags",
|
||||
"index.html#pnpm-build-hook-code-snippet",
|
||||
"index.html#pnpm-build-hook-dont",
|
||||
"index.html#pnpm-build-hook-exclusive-variables",
|
||||
"index.html#pnpm-build-hook-flags",
|
||||
"index.html#pnpm-build-hook-script",
|
||||
"index.html#pnpm-build-hook-variables",
|
||||
"index.html#pnpm-build-hook-honored-variables"
|
||||
],
|
||||
"javascript-pnpm-pnpmConfigHook": [
|
||||
"index.html#javascript-pnpm-pnpmConfigHook"
|
||||
],
|
||||
"javascript-pnpm-sourceRoot": [
|
||||
"index.html#javascript-pnpm-sourceRoot"
|
||||
|
||||
@@ -105,6 +105,10 @@ A list of the teams of this Nix expression. Teams are defined in [`nixpkgs/maint
|
||||
|
||||
The name of the main binary for the package. This affects the binary `nix run` executes. Example: `"rg"`
|
||||
|
||||
### `mainDarwinApp` {#var-meta-mainDarwinApp}
|
||||
|
||||
The name of the main Darwin/macOS Application for the package. It must end in `.app`. Example: `"VSCodium.app"`
|
||||
|
||||
### `priority` {#var-meta-priority}
|
||||
|
||||
The *priority* of the package, used by `nix-env` to resolve file name conflicts between packages. See the [manual page for `nix-env`](https://nixos.org/manual/nix/stable/command-ref/nix-env) for details. Example: `"10"` (a low-priority package).
|
||||
|
||||
@@ -452,6 +452,8 @@ let
|
||||
getLicenseFromSpdxIdOr
|
||||
getExe
|
||||
getExe'
|
||||
getDarwinApp
|
||||
getDarwinApp'
|
||||
;
|
||||
inherit (self.filesystem)
|
||||
pathType
|
||||
|
||||
84
lib/meta.nix
84
lib/meta.nix
@@ -581,6 +581,90 @@ rec {
|
||||
|| throw "lib.meta.getExe': The second argument \"${y}\" is a nested path with a \"/\" character, but it should just be the name of the executable instead.";
|
||||
"${getBin x}/bin/${y}";
|
||||
|
||||
/**
|
||||
Get the path to the main darwin app of a package based on `meta.mainDarwinApp`
|
||||
|
||||
# Inputs
|
||||
|
||||
`x`
|
||||
|
||||
: 1\. Function argument
|
||||
|
||||
# Type
|
||||
|
||||
```
|
||||
getDarwinApp :: Derivation -> StorePath
|
||||
```
|
||||
|
||||
# Examples
|
||||
:::{.example}
|
||||
## `lib.meta.getDarwinApp` usage example
|
||||
|
||||
```nix
|
||||
getDarwinApp pkgs.vscodium
|
||||
=> "/nix/store/0y95mgmlrs8cayv2cnj23xjfljwhlib0-vscodium-1.121.03429/Applications/VSCodium.app"
|
||||
getDarwinApp pkgs.slack
|
||||
=> "/nix/store/g52cl8dblki8dr5bkr0vajpkralkmhi0-slack-4.49.89/Applications/Slack.app"
|
||||
```
|
||||
|
||||
:::
|
||||
*/
|
||||
getDarwinApp =
|
||||
x:
|
||||
getDarwinApp' x (
|
||||
x.meta.mainDarwinApp or (builtins.throw "getDarwinApp: Package ${
|
||||
lib.strings.escapeNixIdentifier x.meta.name or x.pname or x.name
|
||||
} does not have the meta.mainDarwinApp attribute. If the package has a main darwin app, please set `meta.mainDarwinApp` in its definition to make this error go away. Otherwise, if the package does not have a main darwin app, or if you don't control its definition, use getDarwinApp' to specify the name to the program, such as lib.getDarwinApp' vscodium \"VSCodium.app\".")
|
||||
);
|
||||
|
||||
/**
|
||||
Get the path of an darwin app for a derivation.
|
||||
|
||||
# Inputs
|
||||
|
||||
`x`
|
||||
|
||||
: 1\. Function argument
|
||||
|
||||
`y`
|
||||
|
||||
: 2\. Function argument
|
||||
|
||||
# Type
|
||||
|
||||
```
|
||||
getDarwinApp' :: Derivation -> String -> StorePath
|
||||
```
|
||||
|
||||
# Examples
|
||||
:::{.example}
|
||||
## `lib.meta.getDarwinApp'` usage example
|
||||
|
||||
```nix
|
||||
getDarwinApp' pkgs.linear "Linear.app"
|
||||
=> "/nix/store/z4vh6ldb2vpspv307q7mk6wazfmh5dic-linear-1.30.2/Applications/Linear.app"
|
||||
getDarwinApp' pkgs.vscodium "VSCodium.app"
|
||||
=> "/nix/store/0y95mgmlrs8cayv2cnj23xjfljwhlib0-vscodium-1.121.03429/Applications/VSCodium.app"
|
||||
```
|
||||
|
||||
:::
|
||||
*/
|
||||
getDarwinApp' =
|
||||
x: y:
|
||||
assert
|
||||
isDerivation x
|
||||
|| throw "lib.meta.getDarwinApp': The first argument is of type ${typeOf x}, but it should be a derivation instead.";
|
||||
assert
|
||||
isString y
|
||||
|| throw "lib.meta.getDarwinApp': The second argument is of type ${typeOf y}, but it should be a string instead.";
|
||||
assert
|
||||
lib.hasInfix "/" y == false
|
||||
|| throw "lib.meta.getDarwinApp': The second argument \"${y}\" is a nested path with a \"/\" character, but it should just be the name of the app instead.";
|
||||
assert
|
||||
lib.hasSuffix ".app" y
|
||||
|| throw "lib.meta.getDarwinApp': The second argument \"${y}\" must end in `.app`";
|
||||
"${lib.getOutput "out" x}/Applications/${y}";
|
||||
|
||||
/**
|
||||
Generate [CPE parts](#var-meta-identifiers-cpeParts) from inputs. Copies `vendor` and `version` to the output, and sets `update` to `*`.
|
||||
|
||||
|
||||
@@ -61,6 +61,8 @@ let
|
||||
genList
|
||||
getExe
|
||||
getExe'
|
||||
getDarwinApp
|
||||
getDarwinApp'
|
||||
getLicenseFromSpdxIdOr
|
||||
groupBy
|
||||
groupBy'
|
||||
@@ -4752,6 +4754,31 @@ runTests {
|
||||
|
||||
testGetExe'FailureSecondArg = testingThrow (getExe' { type = "derivation"; } "dir/executable");
|
||||
|
||||
testGetDarwinAppOutput = {
|
||||
expr = getDarwinApp {
|
||||
type = "derivation";
|
||||
out = "somelonghash";
|
||||
bin = "somelonghash";
|
||||
meta.mainDarwinApp = "mainDarwinApp.app";
|
||||
};
|
||||
expected = "somelonghash/Applications/mainDarwinApp.app";
|
||||
};
|
||||
|
||||
testGetDarwinApp'Output = {
|
||||
expr = getDarwinApp' {
|
||||
type = "derivation";
|
||||
out = "somelonghash";
|
||||
bin = "somelonghash";
|
||||
} "app.app";
|
||||
expected = "somelonghash/Applications/app.app";
|
||||
};
|
||||
|
||||
testGetDarwinApp'FailureFirstArg = testingThrow (getDarwinApp' "not a derivation" "executable");
|
||||
|
||||
testGetDarwinApp'FailureSecondArg = testingThrow (
|
||||
getDarwinApp' { type = "derivation"; } "dir/executable"
|
||||
);
|
||||
|
||||
testGetLicenseFromSpdxIdOrExamples = {
|
||||
expr = [
|
||||
(getLicenseFromSpdxIdOr "MIT" null)
|
||||
|
||||
@@ -161,8 +161,7 @@
|
||||
"samuela": 226872
|
||||
},
|
||||
"members": {
|
||||
"ethancedwards8": 60861925,
|
||||
"prusnak": 42201
|
||||
"ethancedwards8": 60861925
|
||||
},
|
||||
"name": "cuda-maintainers"
|
||||
},
|
||||
@@ -248,7 +247,6 @@
|
||||
"mstone": 412508,
|
||||
"n8henrie": 1234956,
|
||||
"ofalvai": 1694986,
|
||||
"prusnak": 42201,
|
||||
"reckenrode": 7413633,
|
||||
"ryand56": 22267679,
|
||||
"samrose": 115821,
|
||||
@@ -386,6 +384,31 @@
|
||||
},
|
||||
"name": "Freedesktop"
|
||||
},
|
||||
"gaming": {
|
||||
"description": "Maintain games, game engines, launchers, compatibility layers, game-related utilities and other gaming software in nixpkgs.",
|
||||
"id": 19617985,
|
||||
"maintainers": {
|
||||
"TomaSajt": 62384384,
|
||||
"ethancedwards8": 60861925,
|
||||
"iedame": 60272,
|
||||
"keenanweaver": 37268985,
|
||||
"l0b0": 168301
|
||||
},
|
||||
"members": {
|
||||
"DrymarchonShaun": 40149778,
|
||||
"Gliczy": 129636582,
|
||||
"Mistyttm": 51770769,
|
||||
"PaulGrandperrin": 1748936,
|
||||
"RoGreat": 64620440,
|
||||
"carlossless": 498906,
|
||||
"dwt": 57199,
|
||||
"liamthexpl0rer": 119797945,
|
||||
"liberodark": 4238928,
|
||||
"qubitnano": 146656568,
|
||||
"yvnth": 201552597
|
||||
},
|
||||
"name": "Gaming"
|
||||
},
|
||||
"geospatial": {
|
||||
"description": "Maintain geospatial, remote sensing and OpenStreetMap software",
|
||||
"id": 7084621,
|
||||
@@ -939,16 +962,16 @@
|
||||
"name": "Scala"
|
||||
},
|
||||
"sdl": {
|
||||
"description": "Maintain core SDL libraries",
|
||||
"description": "Maintain core SDL libraries. Matrix: #nixpkgs-sdl-team:nixos.org",
|
||||
"id": 13033942,
|
||||
"maintainers": {
|
||||
"LordGrimmauld": 49513131,
|
||||
"marcin-serwin": 12128106,
|
||||
"pbsds": 140964
|
||||
},
|
||||
"members": {
|
||||
"LordGrimmauld": 49513131,
|
||||
"evysgarden": 92547295,
|
||||
"jansol": 2588851,
|
||||
"marcin-serwin": 12128106
|
||||
"jansol": 2588851
|
||||
},
|
||||
"name": "SDL"
|
||||
},
|
||||
|
||||
@@ -3256,6 +3256,12 @@
|
||||
githubId = 766221;
|
||||
name = "Ngoc Nguyen";
|
||||
};
|
||||
baptiste0928 = {
|
||||
email = "contact@bgirardeau.me";
|
||||
github = "baptiste0928";
|
||||
githubId = 22115890;
|
||||
name = "Baptiste Girardeau";
|
||||
};
|
||||
barab-i = {
|
||||
email = "barab_i@outlook.com";
|
||||
github = "barab-i";
|
||||
@@ -15844,6 +15850,11 @@
|
||||
github = "kumpelinus";
|
||||
githubId = 174106140;
|
||||
};
|
||||
kunkka19xx = {
|
||||
name = "Kunkka";
|
||||
github = "kunkka19xx";
|
||||
githubId = 53131553;
|
||||
};
|
||||
KunyaKud = {
|
||||
name = "KunyaKud";
|
||||
email = "wafuu@posteo.net";
|
||||
@@ -18590,6 +18601,11 @@
|
||||
{ fingerprint = "838A FE0D 55DC 074E 360F 943A 84B6 9CE6 F3F6 B767"; }
|
||||
];
|
||||
};
|
||||
MCT32 = {
|
||||
github = "MCT32";
|
||||
githubId = 32090502;
|
||||
name = "MCT32";
|
||||
};
|
||||
mcuste = {
|
||||
email = "github@muratcanuste.com";
|
||||
github = "mcuste";
|
||||
@@ -28702,6 +28718,11 @@
|
||||
githubId = 2389333;
|
||||
name = "Andy Tockman";
|
||||
};
|
||||
Teamofeyy = {
|
||||
name = "Teamofeyy";
|
||||
github = "Teamofeyy";
|
||||
githubId = 128955381;
|
||||
};
|
||||
teatwig = {
|
||||
email = "nix@teatwig.net";
|
||||
name = "tea";
|
||||
|
||||
@@ -291,6 +291,10 @@ with lib.maintainers;
|
||||
github = "freedesktop";
|
||||
};
|
||||
|
||||
gaming = {
|
||||
github = "gaming";
|
||||
};
|
||||
|
||||
gcc = {
|
||||
members = [
|
||||
vcunat
|
||||
|
||||
@@ -46,7 +46,7 @@ in
|
||||
|
||||
powerManagement.powerDownCommands = ''
|
||||
#flush any bytes in pipe
|
||||
while read -n 1 -t 1 SUSPEND_RESULT < /tmp/PmMessagesPort_out; do : ; done;
|
||||
while read -r -n 1 -t 1 < /tmp/PmMessagesPort_out; do : ; done;
|
||||
|
||||
#suspend DisplayLinkManager
|
||||
echo "S" > /tmp/PmMessagesPort_in
|
||||
@@ -54,7 +54,7 @@ in
|
||||
#wait until suspend of DisplayLinkManager finish
|
||||
if [ -f /tmp/PmMessagesPort_out ]; then
|
||||
#wait until suspend of DisplayLinkManager finish
|
||||
read -n 1 -t 10 SUSPEND_RESULT < /tmp/PmMessagesPort_out
|
||||
read -r -n 1 -t 10 < /tmp/PmMessagesPort_out
|
||||
fi
|
||||
'';
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ in
|
||||
};
|
||||
|
||||
nodes.fireflySqlite =
|
||||
{ config, ... }:
|
||||
{ ... }:
|
||||
{
|
||||
environment.etc = {
|
||||
"firefly-iii-appkey".text = app-key;
|
||||
@@ -29,7 +29,7 @@ in
|
||||
};
|
||||
|
||||
nodes.fireflyPostgresql =
|
||||
{ config, pkgs, ... }:
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.etc = {
|
||||
"firefly-iii-appkey".text = app-key;
|
||||
@@ -67,7 +67,7 @@ in
|
||||
};
|
||||
|
||||
nodes.fireflyMysql =
|
||||
{ config, pkgs, ... }:
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.etc = {
|
||||
"firefly-iii-appkey".text = app-key;
|
||||
@@ -100,21 +100,40 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
fireflySqlite.wait_for_unit("phpfpm-firefly-iii.service")
|
||||
fireflySqlite.wait_for_unit("nginx.service")
|
||||
fireflySqlite.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'")
|
||||
fireflySqlite.succeed("curl -fvvv -Ls http://localhost/v1/js/app.js")
|
||||
fireflySqlite.succeed("systemctl start firefly-iii-cron.service")
|
||||
fireflyPostgresql.wait_for_unit("phpfpm-firefly-iii.service")
|
||||
fireflyPostgresql.wait_for_unit("nginx.service")
|
||||
fireflyPostgresql.wait_for_unit("postgresql.target")
|
||||
fireflyPostgresql.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'")
|
||||
fireflyPostgresql.succeed("systemctl start firefly-iii-cron.service")
|
||||
fireflyMysql.wait_for_unit("phpfpm-firefly-iii.service")
|
||||
fireflyMysql.wait_for_unit("nginx.service")
|
||||
fireflyMysql.wait_for_unit("mysql.service")
|
||||
fireflyMysql.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'")
|
||||
fireflyMysql.succeed("systemctl start firefly-iii-cron.service")
|
||||
'';
|
||||
testScript =
|
||||
let
|
||||
checkCron = node: ''
|
||||
${node}.succeed(
|
||||
"curl -fsS -c /tmp/jar -b /tmp/jar -o /tmp/register.html http://localhost/register",
|
||||
"grep -oP 'name=\"_token\" value=\"\\K[^\"]+' /tmp/register.html | tr -d '\\n' > /tmp/token",
|
||||
)
|
||||
redirect = ${node}.succeed(
|
||||
"curl -fsS -c /tmp/jar -b /tmp/jar -o /dev/null -w '%{redirect_url}' http://localhost/register"
|
||||
+ " --data-urlencode _token@/tmp/token"
|
||||
+ " --data-urlencode email=test@example.com"
|
||||
+ " --data-urlencode password=TestTestTestTest1"
|
||||
+ " --data-urlencode password_confirmation=TestTestTestTest1"
|
||||
)
|
||||
# A failed registration redirects back to the form.
|
||||
assert "register" not in redirect, f"registration failed, redirected to {redirect}"
|
||||
${node}.succeed("systemctl start firefly-iii-cron.service")
|
||||
'';
|
||||
in
|
||||
''
|
||||
fireflySqlite.wait_for_unit("phpfpm-firefly-iii.service")
|
||||
fireflySqlite.wait_for_unit("nginx.service")
|
||||
fireflySqlite.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'")
|
||||
fireflySqlite.succeed("curl -fvvv -Ls http://localhost/build/manifest.json")
|
||||
${checkCron "fireflySqlite"}
|
||||
fireflyPostgresql.wait_for_unit("phpfpm-firefly-iii.service")
|
||||
fireflyPostgresql.wait_for_unit("nginx.service")
|
||||
fireflyPostgresql.wait_for_unit("postgresql.target")
|
||||
fireflyPostgresql.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'")
|
||||
${checkCron "fireflyPostgresql"}
|
||||
fireflyMysql.wait_for_unit("phpfpm-firefly-iii.service")
|
||||
fireflyMysql.wait_for_unit("nginx.service")
|
||||
fireflyMysql.wait_for_unit("mysql.service")
|
||||
fireflyMysql.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'")
|
||||
${checkCron "fireflyMysql"}
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -103,5 +103,19 @@ in
|
||||
record = check_answer(r)["records"][0]
|
||||
if record["fields"]["result"] != record["fields"]["number"] * 2:
|
||||
sys.exit(1)
|
||||
|
||||
# Importing a file needs the built-in parsers registered in plugins/ and a
|
||||
# gVisor sandbox that can read the upload.
|
||||
with subtest("Import a CSV file"):
|
||||
r = requests.post(
|
||||
f"{url}docs",
|
||||
files={"upload": ("import.csv", "name,value\nfoo,1\nbar,2\n")},
|
||||
headers={"X-Requested-With": "XMLHttpRequest"},
|
||||
)
|
||||
import_doc_id = check_answer(r)
|
||||
r = requests.get(f"{url}docs/{import_doc_id}/tables/Import/records")
|
||||
names = [rec["fields"]["name"] for rec in check_answer(r)["records"]]
|
||||
if names != ["foo", "bar"]:
|
||||
sys.exit(1)
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ in
|
||||
# Close the client
|
||||
await client.close()
|
||||
|
||||
asyncio.get_event_loop().run_until_complete(main())
|
||||
asyncio.run(main())
|
||||
'')
|
||||
];
|
||||
};
|
||||
|
||||
@@ -77,7 +77,7 @@ in
|
||||
# Close the client
|
||||
await client.close()
|
||||
|
||||
asyncio.get_event_loop().run_until_complete(main())
|
||||
asyncio.run(main())
|
||||
'')
|
||||
];
|
||||
};
|
||||
|
||||
@@ -1192,8 +1192,8 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "DanielSanMedium";
|
||||
name = "dscodegpt";
|
||||
version = "3.24.72";
|
||||
hash = "sha256-yIQALNOm9C0ji+g96oqaXDuwlbS+088+whbFTQAe5Z8=";
|
||||
version = "3.24.76";
|
||||
hash = "sha256-8HwYwCtROlU8txNVREr45Jx1tpCI2a50uHfAb6iT7V8=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/DanielSanMedium.dscodegpt/changelog";
|
||||
@@ -1244,8 +1244,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "databricks";
|
||||
publisher = "databricks";
|
||||
version = "2.18.0";
|
||||
hash = "sha256-Qf3o0QIW864p8BsRxB+RmGXe28N68Jqrzs+tpxeCceM=";
|
||||
version = "2.19.0";
|
||||
hash = "sha256-hW0Q0gnAanWZ4IuF/AY5uypvHZ5YDjvFnJzGn4Hd7V8=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/databricks.databricks/changelog";
|
||||
@@ -2725,8 +2725,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "language-julia";
|
||||
publisher = "julialang";
|
||||
version = "1.242.2";
|
||||
hash = "sha256-E8SdCf5emB/ix3qmj56CfWhCGCVIm4voI8fJoyCA2kE=";
|
||||
version = "1.243.2";
|
||||
hash = "sha256-907pr/y67bDKpKs1Sxk+XV7xUL8+e3jYW0tkHNWUEUs=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/julialang.language-julia/changelog";
|
||||
|
||||
@@ -82,6 +82,7 @@ buildVscode rec {
|
||||
bobby285271
|
||||
];
|
||||
mainProgram = "codium";
|
||||
mainDarwinApp = "VSCodium.app";
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
|
||||
8
pkgs/applications/video/obs-studio/plugins.nix
Normal file
8
pkgs/applications/video/obs-studio/plugins.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
lib,
|
||||
callPackage,
|
||||
}:
|
||||
lib.packagesFromDirectoryRecursive {
|
||||
inherit callPackage;
|
||||
directory = ./plugins;
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
obs-studio,
|
||||
opencv,
|
||||
procps,
|
||||
qtbase,
|
||||
qt6,
|
||||
stdenv,
|
||||
websocketpp,
|
||||
libxscrnsaver,
|
||||
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
|
||||
# tesseract
|
||||
# leptonica
|
||||
procps
|
||||
qtbase
|
||||
qt6.qtbase
|
||||
websocketpp
|
||||
libxscrnsaver
|
||||
libusb1
|
||||
@@ -1,120 +0,0 @@
|
||||
{
|
||||
callPackage,
|
||||
qt6Packages,
|
||||
pkgsi686Linux,
|
||||
}:
|
||||
|
||||
# When adding new plugins:
|
||||
# - Respect alphabetical order. On diversion, file a PR.
|
||||
# - Plugin name should reflect upstream's name. Including or excluding "obs" prefix/suffix.
|
||||
# - Add plugin to it's own directory (because of future patches).
|
||||
|
||||
{
|
||||
advanced-scene-switcher = qt6Packages.callPackage ./advanced-scene-switcher { };
|
||||
|
||||
droidcam-obs = callPackage ./droidcam-obs { };
|
||||
|
||||
distroav = qt6Packages.callPackage ./distroav { };
|
||||
|
||||
input-overlay = qt6Packages.callPackage ./input-overlay.nix { };
|
||||
|
||||
looking-glass-obs = callPackage ./looking-glass-obs.nix { };
|
||||
|
||||
obs-3d-effect = callPackage ./obs-3d-effect.nix { };
|
||||
|
||||
obs-advanced-masks = callPackage ./obs-advanced-masks.nix { };
|
||||
|
||||
obs-aitum-multistream = qt6Packages.callPackage ./obs-aitum-multistream.nix { };
|
||||
|
||||
obs-backgroundremoval = callPackage ./obs-backgroundremoval { };
|
||||
|
||||
obs-browser-transition = callPackage ./obs-browser-transition.nix { };
|
||||
|
||||
obs-color-monitor = qt6Packages.callPackage ./obs-color-monitor.nix { };
|
||||
|
||||
obs-command-source = callPackage ./obs-command-source.nix { };
|
||||
|
||||
obs-composite-blur = callPackage ./obs-composite-blur.nix { };
|
||||
|
||||
obs-dir-watch-media = callPackage ./obs-dir-watch-media.nix { };
|
||||
|
||||
obs-dvd-screensaver = callPackage ./obs-dvd-screensaver.nix { };
|
||||
|
||||
obs-freeze-filter = qt6Packages.callPackage ./obs-freeze-filter.nix { };
|
||||
|
||||
obs-gradient-source = callPackage ./obs-gradient-source.nix { };
|
||||
|
||||
obs-gstreamer = callPackage ./obs-gstreamer.nix { };
|
||||
|
||||
obs-hyperion = qt6Packages.callPackage ./obs-hyperion/default.nix { };
|
||||
|
||||
obs-livesplit-one = callPackage ./obs-livesplit-one { };
|
||||
|
||||
obs-markdown = callPackage ./obs-markdown.nix { };
|
||||
|
||||
obs-media-controls = qt6Packages.callPackage ./obs-media-controls { };
|
||||
|
||||
obs-move-transition = callPackage ./obs-move-transition.nix { };
|
||||
|
||||
obs-multi-rtmp = qt6Packages.callPackage ./obs-multi-rtmp { };
|
||||
|
||||
obs-mute-filter = callPackage ./obs-mute-filter.nix { };
|
||||
|
||||
obs-noise = callPackage ./obs-noise.nix { };
|
||||
|
||||
obs-pipewire-audio-capture = callPackage ./obs-pipewire-audio-capture.nix { };
|
||||
|
||||
obs-plugin-countdown = qt6Packages.callPackage ./obs-plugin-countdown.nix { };
|
||||
|
||||
obs-recursion-effect = callPackage ./obs-recursion-effect.nix { };
|
||||
|
||||
obs-replay-source = qt6Packages.callPackage ./obs-replay-source.nix { };
|
||||
|
||||
obs-retro-effects = callPackage ./obs-retro-effects.nix { };
|
||||
|
||||
obs-rgb-levels = callPackage ./obs-rgb-levels.nix { };
|
||||
|
||||
obs-scale-to-sound = callPackage ./obs-scale-to-sound.nix { };
|
||||
|
||||
obs-scene-as-transition = callPackage ./obs-scene-as-transition.nix { };
|
||||
|
||||
obs-shaderfilter = qt6Packages.callPackage ./obs-shaderfilter.nix { };
|
||||
|
||||
obs-source-clone = callPackage ./obs-source-clone.nix { };
|
||||
|
||||
obs-source-record = callPackage ./obs-source-record.nix { };
|
||||
|
||||
obs-source-switcher = callPackage ./obs-source-switcher.nix { };
|
||||
|
||||
obs-stroke-glow-shadow = callPackage ./obs-stroke-glow-shadow.nix { };
|
||||
|
||||
obs-teleport = callPackage ./obs-teleport { };
|
||||
|
||||
obs-text-pthread = callPackage ./obs-text-pthread.nix { };
|
||||
|
||||
obs-transition-table = qt6Packages.callPackage ./obs-transition-table.nix { };
|
||||
|
||||
obs-tuna = qt6Packages.callPackage ./obs-tuna { };
|
||||
|
||||
obs-vaapi = callPackage ./obs-vaapi { };
|
||||
|
||||
obs-vertical-canvas = qt6Packages.callPackage ./obs-vertical-canvas.nix { };
|
||||
|
||||
obs-vintage-filter = callPackage ./obs-vintage-filter.nix { };
|
||||
|
||||
obs-vkcapture = callPackage ./obs-vkcapture.nix {
|
||||
obs-vkcapture32 = pkgsi686Linux.obs-studio-plugins.obs-vkcapture;
|
||||
};
|
||||
|
||||
obs-vnc = callPackage ./obs-vnc.nix { };
|
||||
|
||||
obs-wayland-hotkeys = qt6Packages.callPackage ./obs-wayland-hotkeys { };
|
||||
|
||||
obs-websocket = qt6Packages.callPackage ./obs-websocket.nix { }; # Websocket 4.x compatibility for OBS Studio 28+
|
||||
|
||||
pixel-art = callPackage ./pixel-art.nix { };
|
||||
|
||||
wlrobs = callPackage ./wlrobs.nix { };
|
||||
|
||||
waveform = callPackage ./waveform { };
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
fetchFromGitHub,
|
||||
obs-studio,
|
||||
cmake,
|
||||
qtbase,
|
||||
qt6,
|
||||
ndi-6,
|
||||
curl,
|
||||
}:
|
||||
@@ -15,12 +15,12 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
qtbase
|
||||
qt6.qtbase
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
obs-studio
|
||||
qtbase
|
||||
qt6.qtbase
|
||||
ndi-6
|
||||
curl
|
||||
];
|
||||
@@ -6,7 +6,7 @@
|
||||
pkg-config,
|
||||
ninja,
|
||||
obs-studio,
|
||||
qtbase,
|
||||
qt6,
|
||||
libxt,
|
||||
libxtst,
|
||||
libxi,
|
||||
@@ -40,7 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
buildInputs = [
|
||||
obs-studio
|
||||
qtbase
|
||||
qt6.qtbase
|
||||
sdl3
|
||||
libx11
|
||||
libxau
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
cmake,
|
||||
curl,
|
||||
obs-studio,
|
||||
qtbase,
|
||||
qt6,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
curl
|
||||
obs-studio
|
||||
qtbase
|
||||
qt6.qtbase
|
||||
];
|
||||
dontWrapQtApps = true;
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
obs-studio,
|
||||
qtbase,
|
||||
qt6,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [
|
||||
obs-studio
|
||||
qtbase
|
||||
qt6.qtbase
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
obs-studio,
|
||||
qtbase,
|
||||
qt6,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [
|
||||
obs-studio
|
||||
qtbase
|
||||
qt6.qtbase
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
pkg-config,
|
||||
obs-studio,
|
||||
libGL,
|
||||
qtbase,
|
||||
qt6,
|
||||
flatbuffers,
|
||||
}:
|
||||
|
||||
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
||||
obs-studio
|
||||
flatbuffers
|
||||
libGL
|
||||
qtbase
|
||||
qt6.qtbase
|
||||
];
|
||||
|
||||
dontWrapQtApps = true;
|
||||
@@ -4,7 +4,7 @@
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
obs-studio,
|
||||
qtbase,
|
||||
qt6,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [
|
||||
obs-studio
|
||||
qtbase
|
||||
qt6.qtbase
|
||||
];
|
||||
|
||||
dontWrapQtApps = true;
|
||||
@@ -4,7 +4,7 @@
|
||||
fetchFromGitHub,
|
||||
obs-studio,
|
||||
cmake,
|
||||
qtbase,
|
||||
qt6,
|
||||
fetchpatch,
|
||||
}:
|
||||
|
||||
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [
|
||||
obs-studio
|
||||
qtbase
|
||||
qt6.qtbase
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
@@ -4,7 +4,7 @@
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
obs-studio,
|
||||
qtbase,
|
||||
qt6,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [
|
||||
obs-studio
|
||||
qtbase
|
||||
qt6.qtbase
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
obs-studio,
|
||||
qtbase,
|
||||
qt6,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [
|
||||
obs-studio
|
||||
qtbase
|
||||
qt6.qtbase
|
||||
];
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
curl,
|
||||
dbus,
|
||||
pkg-config,
|
||||
qtbase,
|
||||
wrapQtAppsHook,
|
||||
qt6,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -19,11 +18,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
wrapQtAppsHook
|
||||
qt6.wrapQtAppsHook
|
||||
];
|
||||
buildInputs = [
|
||||
obs-studio
|
||||
qtbase
|
||||
qt6.qtbase
|
||||
zlib
|
||||
curl
|
||||
dbus
|
||||
@@ -5,7 +5,7 @@
|
||||
cmake,
|
||||
curl,
|
||||
obs-studio,
|
||||
qtbase,
|
||||
qt6,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
curl
|
||||
obs-studio
|
||||
qtbase
|
||||
qt6.qtbase
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
|
||||
@@ -16,8 +16,11 @@
|
||||
vulkan-headers,
|
||||
vulkan-loader,
|
||||
libGL,
|
||||
obs-vkcapture32,
|
||||
pkgsi686Linux,
|
||||
}:
|
||||
let
|
||||
obs-vkcapture32 = pkgsi686Linux.obs-studio-plugins.obs-vkcapture;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "obs-vkcapture";
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
cmake,
|
||||
obs-studio,
|
||||
pkg-config,
|
||||
qtbase,
|
||||
qt6,
|
||||
nix-update-script,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttr: {
|
||||
@@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttr: {
|
||||
|
||||
buildInputs = [
|
||||
obs-studio
|
||||
qtbase
|
||||
qt6.qtbase
|
||||
];
|
||||
|
||||
dontWrapQtApps = true;
|
||||
@@ -5,7 +5,7 @@
|
||||
cmake,
|
||||
asio,
|
||||
obs-studio,
|
||||
qtbase,
|
||||
qt6,
|
||||
websocketpp,
|
||||
}:
|
||||
|
||||
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
asio
|
||||
obs-studio
|
||||
qtbase
|
||||
qt6.qtbase
|
||||
websocketpp
|
||||
];
|
||||
|
||||
|
||||
@@ -103,12 +103,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
# Flaky test: reads the AGENT_BROWSER_CDP env variable without using the
|
||||
# shared test lock.
|
||||
checkFlags = [
|
||||
"--skip"
|
||||
"native::actions::tests::test_execute_unknown_command"
|
||||
];
|
||||
# Some tests use a shared state that makes them flaky when run concurrently.
|
||||
dontUseCargoParallelTests = true;
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
@@ -135,7 +131,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
license = lib.licenses.asl20;
|
||||
sourceProvenance = with lib.sourceTypes; [ fromSource ];
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
maintainers = with lib.maintainers; [ codgician ];
|
||||
maintainers = with lib.maintainers; [
|
||||
baptiste0928
|
||||
codgician
|
||||
];
|
||||
mainProgram = "agent-browser";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -16,7 +16,7 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "bookorbit";
|
||||
version = "3.0.0";
|
||||
version = "3.2.0";
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
|
||||
@@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "bookorbit";
|
||||
repo = "bookorbit";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-+1yTDRnq8gHWHJY2q24+EpkPjvZFLgzzUkfa/XQS55g=";
|
||||
hash = "sha256-+0e/gZ5foYeb6jYghL/f66H5dbAyrsuj37fRChx2H3Y=";
|
||||
};
|
||||
|
||||
pnpmWorkspaces = [
|
||||
@@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 4;
|
||||
hash = "sha256-A+qKEHVLKn/tvYOk+h+drjWx59nVTh0wnrBxwf+uGx0=";
|
||||
hash = "sha256-zRmENCmKw2gHDYjVmPCXjKWEmDbDKCJEf03ZAmh1tYw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -76,11 +76,13 @@ flutter344.buildFlutterApplication {
|
||||
description = "Note taking app where your ideas come first";
|
||||
homepage = "https://github.com/LinwoodDev/Butterfly";
|
||||
mainProgram = "butterfly";
|
||||
license = with lib.licenses; [
|
||||
agpl3Plus
|
||||
cc-by-sa-40
|
||||
asl20
|
||||
];
|
||||
license =
|
||||
with lib.licenses;
|
||||
AND [
|
||||
agpl3Only
|
||||
cc-by-sa-40
|
||||
asl20
|
||||
];
|
||||
maintainers = [ ];
|
||||
platforms = [
|
||||
"aarch64-linux"
|
||||
|
||||
@@ -94,6 +94,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# fix "first argument in call to 'memset' is a pointer to non-trivially copyable type"
|
||||
"-Wno-error=nontrivial-memcall"
|
||||
]
|
||||
++ lib.optionals stdenv.cc.isGNU [
|
||||
"-Wno-error=unused-but-set-variable"
|
||||
"-Wno-error=sfinae-incomplete"
|
||||
"-Wno-error=array-bounds"
|
||||
]
|
||||
);
|
||||
|
||||
# TODO: add jbmc support
|
||||
@@ -119,7 +124,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
description = "Bounded Model Checker for C and C++ programs";
|
||||
homepage = "http://www.cprover.org/cbmc/";
|
||||
license = lib.licenses.bsdOriginal;
|
||||
maintainers = with lib.maintainers; [ jiegec ];
|
||||
maintainers = with lib.maintainers; [
|
||||
jiegec
|
||||
mkannwischer
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
buildGoModule,
|
||||
buildGo127Module,
|
||||
buildPackages,
|
||||
installShellFiles,
|
||||
writableTmpDirAsHomeHook,
|
||||
}:
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
buildGo127Module (finalAttrs: {
|
||||
pname = "circleci-cli";
|
||||
version = "1.0.48571";
|
||||
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "claude-agent-acp";
|
||||
version = "0.81.2";
|
||||
version = "0.84.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "agentclientprotocol";
|
||||
repo = "claude-agent-acp";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-5c4WTVtG628EwQq7WXDbFLu1u8wSAjlI7HbXsTH5xDg=";
|
||||
hash = "sha256-9BbbkvdhWejAfCFvyRnFVMWKcpQ6lWOOBj+KI31ypww=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-0Zjla0bbKrRKMT7SfBOKYmnbMw6zq27ddD2wxnbqg/Y=";
|
||||
npmDepsHash = "sha256-GQJy5ey+B/ehKqH6M5ts1yuCcpW/dibB+SVyzLhNCHs=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -29,6 +29,7 @@ buildNpmPackage (finalAttrs: {
|
||||
meta = {
|
||||
description = "ACP-compatible coding agent powered by the Claude Agent SDK";
|
||||
homepage = "https://github.com/agentclientprotocol/claude-agent-acp";
|
||||
changelog = "https://github.com/agentclientprotocol/claude-agent-acp/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [
|
||||
amadejkastelic
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildGo126Module,
|
||||
buildGo127Module,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
nix-update-script,
|
||||
@@ -9,18 +9,18 @@
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
buildGo126Module (finalAttrs: {
|
||||
buildGo127Module (finalAttrs: {
|
||||
pname = "crush";
|
||||
version = "0.92.0";
|
||||
version = "0.96.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "charmbracelet";
|
||||
repo = "crush";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-qAwbvPV1yxqQu7H6YyFYCth09Kg/c0akCTpQTfOXla8=";
|
||||
hash = "sha256-iaZ0rw9585iLVj+HSWCiQnaj2XZ+eYr6zprpUs/47z0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-iq3EDdEwZEPzHrBqy0k8QLcLSCLGlezKxICWgo7vMqg=";
|
||||
vendorHash = "sha256-ADDHgngAChNch8Sp6Zltw52eSlk7swEQG+R4fCxDbY8=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "cyclonedx-python";
|
||||
version = "7.4.0";
|
||||
version = "7.5.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CycloneDX";
|
||||
repo = "cyclonedx-python";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-tyYMofGXtnk0tAaryhdcSaZxi8LDVJmuUMGeO6v0zdg=";
|
||||
hash = "sha256-OF3ALdzTIjha+TmU92BRpKclJ4Iaeg1A3lAUD4Ss8fg=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [ poetry-core ];
|
||||
|
||||
@@ -75,10 +75,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
amplitude, this software does not aim to be an audio editor.
|
||||
'';
|
||||
homepage = "https://gillesdegottex.gitlab.io/dfasma-website/";
|
||||
license = [
|
||||
lib.licenses.gpl3Plus
|
||||
reaperFork.meta.license
|
||||
];
|
||||
license =
|
||||
with lib.licenses;
|
||||
AND [
|
||||
gpl3Plus
|
||||
reaperFork.meta.license
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -1,78 +1,78 @@
|
||||
{
|
||||
"linux-canary": {
|
||||
"distro": {
|
||||
"hash": "sha256-u4BDfFut8koEMRENcSWUiXNO4A5VEXbP7Yau3Nkh4eA=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2010/full.distro"
|
||||
"hash": "sha256-83XO5J0gV/1j5t3S1eXfehIXOMPNOix4HlX2TUswaIE=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2050/full.distro"
|
||||
},
|
||||
"kind": "distro",
|
||||
"modules": {
|
||||
"discord_cloudsync": {
|
||||
"hash": "sha256-OtdXA6Gb/K0SNf/hVorTvcdlKruWCyHmWeKtyXGvFYs=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2010/discord_cloudsync/1/full.distro",
|
||||
"hash": "sha256-HX5nEZCJdl365ruy49WPwW2Sh1/C+50llvyDMZT8oQc=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2050/discord_cloudsync/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_desktop_core": {
|
||||
"hash": "sha256-oSCSTY/S3jHbSzb9EYtsqmCbrKQvCTbB7Wd+qvbDOF4=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2010/discord_desktop_core/1/full.distro",
|
||||
"hash": "sha256-FPuXtyEYLmKeHdM86qyEcND4FpBg13Z9G5JCpo5/XHg=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2050/discord_desktop_core/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_dispatch": {
|
||||
"hash": "sha256-JwtutjBjBUCpwm3HeJEC65pSsRKadRMX8TG/BVWexx0=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2010/discord_dispatch/1/full.distro",
|
||||
"hash": "sha256-vR7v9Q+q01ni3Gyf0NbVz2Xta0QQ6eRbwQFNcpBxubo=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2050/discord_dispatch/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_erlpack": {
|
||||
"hash": "sha256-uiTu+4kbRvxfS5fGBx8I3RNDAfA8u+y3TIDdcCJ8xVs=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2010/discord_erlpack/1/full.distro",
|
||||
"hash": "sha256-2OAr7k9HVo+qQD6MuAKL9BUy8f6C5azfCaO/4T/PwLY=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2050/discord_erlpack/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_game_utils": {
|
||||
"hash": "sha256-3g5+GZUeS0rSMRwzxntegECqVo4b8mYgdingByAms3o=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2010/discord_game_utils/1/full.distro",
|
||||
"hash": "sha256-auTyx1fv/kbxY3zearaVbqQfPLxxnsYiwqmjnXf7n5g=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2050/discord_game_utils/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_krisp": {
|
||||
"hash": "sha256-YoWde/uWpzhnO3JC4WKGBStQkAk9DwOqk1i+hYu/QLo=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2010/discord_krisp/1/full.distro",
|
||||
"hash": "sha256-lIZDJoDq8+vWS7YDC2P3/W77mYMriezS817nOQYIv3M=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2050/discord_krisp/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_modules": {
|
||||
"hash": "sha256-RgwpoI1XCuQv3zc7dR+Ra1PeYF6utSyy/gWs8fQRn5g=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2010/discord_modules/1/full.distro",
|
||||
"hash": "sha256-teTSKsnePR/JzRyUjrv9ND7tjSmOhs/duPA43pWqQ5U=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2050/discord_modules/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_rpc": {
|
||||
"hash": "sha256-kgTEQS2xhZ89KRLbYF7GLU5L4WSxSP5J4Fj333TKaEs=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2010/discord_rpc/1/full.distro",
|
||||
"hash": "sha256-imFX0kfoT8cRgacN5iG18Pp+4kGp9u7vicV49fgbRHM=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2050/discord_rpc/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_spellcheck": {
|
||||
"hash": "sha256-Vcjti+8lmVru3OwcSlI6DmP2FPOCbo2NsYeilPQZuUw=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2010/discord_spellcheck/1/full.distro",
|
||||
"hash": "sha256-RDbRlagXIq1rZ5x+XFbP/wUuUFYVJdllqArVcMyhWH4=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2050/discord_spellcheck/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_sysimg": {
|
||||
"hash": "sha256-Nx1+SXMmBFbOL2SIsUUhjo9U4yVLgVapMXUdht12PMU=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2010/discord_sysimg/1/full.distro",
|
||||
"hash": "sha256-R1ZXcq2khyNs3ILFJUf2XfmcEvdgqlES9JNVjSJrTjI=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2050/discord_sysimg/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_utils": {
|
||||
"hash": "sha256-38Yw5bmhATZuncVELXANGmFa3L9XjaYRJnuF+P/8MdE=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2010/discord_utils/1/full.distro",
|
||||
"hash": "sha256-kRTqIsfzSJoig4mofjKMue7xxcesTIw0pLIJhkZ8RR4=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2050/discord_utils/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_voice": {
|
||||
"hash": "sha256-68QTGzpm+JwhjaNaCAQbUgqQEPywK9eJNC9ukueTUiM=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2010/discord_voice/1/full.distro",
|
||||
"hash": "sha256-64gYsdgW1CRrqIyqH1WcbFzmPjl1wEha5BJIo5B7uLg=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2050/discord_voice/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_zstd": {
|
||||
"hash": "sha256-u3CMlGZn/AazRvVmC40Mc+OiDEdokoFkjdlOb2PLI70=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2010/discord_zstd/1/full.distro",
|
||||
"hash": "sha256-x/hP1aOwUq96l+yucsgMCUd3vf1r60/dR7hES4FYBQE=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.2050/discord_zstd/1/full.distro",
|
||||
"version": 1
|
||||
}
|
||||
},
|
||||
"version": "1.0.2010"
|
||||
"version": "1.0.2050"
|
||||
},
|
||||
"linux-development": {
|
||||
"distro": {
|
||||
@@ -82,69 +82,69 @@
|
||||
"kind": "distro",
|
||||
"modules": {
|
||||
"discord_cloudsync": {
|
||||
"hash": "sha256-7WmL3OGf1KN5cA2vFk2QRPeNQsvwSZHBQSmK3sKB39Q=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_cloudsync/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-xXKLhvvVLYTon7LQzPp+JDv+pLQi2NHQnzVq6a6GQBU=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_cloudsync/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_desktop_core": {
|
||||
"hash": "sha256-BQyAlQM9ccx0O9gq5dyox+qwY8GDJyaIGpX24OQLqqI=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_desktop_core/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-iNQ2yGXhcLVKGu8wPOuId+PmdG7Y1xx6KlOHBRbH1gQ=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_desktop_core/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_dispatch": {
|
||||
"hash": "sha256-RiiIbawRV6E185x+vyXlWyMaX5Kby0ezNDkPuAuGCLc=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_dispatch/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-YdRmTxJdmnAmZh7Q9xs57YQZ2nl8Ipaz6k8KjTn0DG4=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_dispatch/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_erlpack": {
|
||||
"hash": "sha256-z4zmcxI0bwu1e2RrqJgyETqeofs4zvErFcIusxh9dBU=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_erlpack/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-42C1Yp7usCOBiI8LilabBcuvvQt4lw1YjPZl1RwhyXQ=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_erlpack/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_game_utils": {
|
||||
"hash": "sha256-rIfLBAJfgK5lA2M3KAe2iVeTPSf6JtoJB8bQOY3LKIk=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_game_utils/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-omEdvkmPO2zaDKRf3KONcyZmUjkDnXEgwAj/up2+xg0=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_game_utils/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_krisp": {
|
||||
"hash": "sha256-czwuwablQoZwNYmGDYSg7/QBv8BYvHqNZPZt1B0koNs=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_krisp/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-eczIZz/JJwSf9LUcnINr6JERJsukDf6iG6Dx6+QBGc4=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_krisp/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_modules": {
|
||||
"hash": "sha256-abUJ7DO8FXMpjL59OIRZPZW9ceIWSWaui6Gpe+gjkd4=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_modules/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-B69z+xaAlahdEW8o4Lf+uSCRznSU8L51WJ2bfCx7V3c=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_modules/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_rpc": {
|
||||
"hash": "sha256-RnoA44FbQpvG8RkaTici9BUgsFlCqEbBMBOdrBSGB08=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_rpc/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-xwrfWr9rPfjgtwMlhaR/QCii+1IGPoTOo8pvh0BTVbg=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_rpc/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_spellcheck": {
|
||||
"hash": "sha256-3Gp+TINtiO8FYzGWU+FQh5cmRrRIn21nBN6DSXr9kzI=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_spellcheck/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-/igsTIZHk4eLlF8o4ZCjO4PHM3WAk+6G7/tB5bvhTOQ=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_spellcheck/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_sysimg": {
|
||||
"hash": "sha256-mcUuZe5UTheBZFn+Us2KRFlTbzeea3Uq6P450mLmRHA=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_sysimg/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-NkoDmpzCLjLTq3oAA3xJ8wOy8CsAqoxbniZwnGEzV2M=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_sysimg/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_utils": {
|
||||
"hash": "sha256-dUcITYjNytwjMCJpCxqG+phnMInXaespTTYZx4foWF8=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_utils/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-KfAbigHc+cQn90Xr/jZBnYzrcc3HC5CTRDXw3YoDIdQ=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_utils/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_voice": {
|
||||
"hash": "sha256-4xuxMvgYlwel+uQbQs4oSXrv7mteqVCngfvEc5HA+s0=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_voice/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-BsfZ3ngaam0Nr5fz0cLflPNK9N5+hdJHO3qjcPrjHeA=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_voice/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_zstd": {
|
||||
"hash": "sha256-DFtMCneWPEkEBSqi4ioZd8JS//yayU6bl5C1Mf8NYms=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_zstd/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-8Dm0UUGJ4Gycy6NxptZz5RPyArg4b+uAdivQVBZMkg0=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.1012/discord_zstd/2/full.distro",
|
||||
"version": 2
|
||||
}
|
||||
},
|
||||
"version": "1.0.1012"
|
||||
@@ -162,9 +162,9 @@
|
||||
"version": 1
|
||||
},
|
||||
"discord_desktop_core": {
|
||||
"hash": "sha256-YG5ky9Tjh72D5Fn13RxBC9OMssrC2I1pby9uu8VpRGo=",
|
||||
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.216/discord_desktop_core/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-ac0iPp1ECq6PXcq6wGBm07fUELVqAxzfWA9FtBM089c=",
|
||||
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.216/discord_desktop_core/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_dispatch": {
|
||||
"hash": "sha256-cMmC0SJrE85rzP9hlSacDqQDbcaY4cpxDh3LJXZ8JSY=",
|
||||
@@ -226,168 +226,168 @@
|
||||
},
|
||||
"linux-stable": {
|
||||
"distro": {
|
||||
"hash": "sha256-SS+fRoAZv/8V3YIPX4Ng/xukej6I1j2Jt1mru/TOGKk=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.159/full.distro"
|
||||
"hash": "sha256-Yf2S1IUnxGql2voqimJeG5aou1AoIgbAQ3qUibAUVWI=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.160/full.distro"
|
||||
},
|
||||
"kind": "distro",
|
||||
"modules": {
|
||||
"discord_cloudsync": {
|
||||
"hash": "sha256-Flg1s5h1b4wO2Fa1jyxntXZAKsQjfGrwAp3f9qqv568=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.159/discord_cloudsync/1/full.distro",
|
||||
"hash": "sha256-ZLZlEB+vYFh65n4gkuG2N1hiFNpZlCKKvyyrq5amlqo=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.160/discord_cloudsync/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_desktop_core": {
|
||||
"hash": "sha256-gCanHeTYXtRwRtM3qZIUeevUnn7/yUd2PqGtsz7FySY=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.159/discord_desktop_core/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-efB4/1UUz+LQdrzOTFgPhz5nQC/2PTHU29MruExW38k=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.160/discord_desktop_core/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_dispatch": {
|
||||
"hash": "sha256-Hf3z6mWRIPajBapg0zE6g/VIiq5wvDXv9bearVHW5JE=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.159/discord_dispatch/1/full.distro",
|
||||
"hash": "sha256-XOib0/SrhV8EK/um8oc+4nEPCZ81BPU8r2TfviDDzX8=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.160/discord_dispatch/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_erlpack": {
|
||||
"hash": "sha256-ctkRMFtr4fteOEnSWBEUW7MjEkLtnQ0tn7upvjzmixg=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.159/discord_erlpack/1/full.distro",
|
||||
"hash": "sha256-LBUdVEbJk2S7i76AdTrESi9LiUeHa8ki4Foe9KFX/vA=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.160/discord_erlpack/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_game_utils": {
|
||||
"hash": "sha256-HmCDr5/AK/zuqFZkxbktxL6+WByFrSElXaHqriK70ek=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.159/discord_game_utils/1/full.distro",
|
||||
"hash": "sha256-E1T69jb9WT96vwPWD9g1RejpSDHLIXbYTsF2GJnV2cA=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.160/discord_game_utils/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_krisp": {
|
||||
"hash": "sha256-ySGOnM7ZVPWieeqvVcwv8Z007rJbnzNB27ww4cucVXY=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.159/discord_krisp/1/full.distro",
|
||||
"hash": "sha256-qpW/S11u2nezFuH5N/xFXafobEPrUORyC4bMN3hinDo=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.160/discord_krisp/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_modules": {
|
||||
"hash": "sha256-pJ1tYeVcS2/m7m8Ck3KNgHoUjjgclG3LNRCXRUhQT7I=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.159/discord_modules/1/full.distro",
|
||||
"hash": "sha256-SUezfQQzT/A/66yAAHrds0TSY0NAlzwgiPin7Rr5kHo=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.160/discord_modules/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_rpc": {
|
||||
"hash": "sha256-0IX32PJf2oIvt9S7QakfdChgiW913WEpLCeU1vsKiCM=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.159/discord_rpc/1/full.distro",
|
||||
"hash": "sha256-aUm4J9d9QfQ5Bh3AL5R00zFqrFt1tbXVvwrxmM+bcHU=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.160/discord_rpc/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_spellcheck": {
|
||||
"hash": "sha256-3wQlG3RzJOdvYDwSG87rB+l35T0w7L0JkVuHquAZvyE=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.159/discord_spellcheck/1/full.distro",
|
||||
"hash": "sha256-UJ3TIL1QlJ078NYNsbBhoY+l7tknTGamtgmsvsb3NU4=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.160/discord_spellcheck/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_sysimg": {
|
||||
"hash": "sha256-xNqj+tpoupPzjTRQ/g8HrNcEEofEIdaqe8x5qlnOzec=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.159/discord_sysimg/1/full.distro",
|
||||
"hash": "sha256-c5nH7dbrVcmvu3XGe1N99Sy7/bO1pCVWXw85j4oSf24=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.160/discord_sysimg/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_utils": {
|
||||
"hash": "sha256-IQ3wyUNKkDqSHXnDya298I6ZTAmOQ+xqh7S/BTO0el8=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.159/discord_utils/1/full.distro",
|
||||
"hash": "sha256-tILNUFJPTyuNRgL4s4PTgZSHpJnWJ6erN0aJ5JRt9YM=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.160/discord_utils/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_voice": {
|
||||
"hash": "sha256-l9hesjeBC1gz3d24dzCruv0XyVoUTawaRSXihbni6mI=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.159/discord_voice/1/full.distro",
|
||||
"hash": "sha256-woGTYNHbRMpv3ypL5QXWuBlSCSKORkqCKhyPxVFsZmU=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.160/discord_voice/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_zstd": {
|
||||
"hash": "sha256-8ISi8oaI2XuhnHDs1z7AkG+W5wEG8uXAQAH1E1nYTv0=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.159/discord_zstd/1/full.distro",
|
||||
"hash": "sha256-ACB2tKxTaEhx01MxVOy3SDfzlCLih2Exs60z1piht/U=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.160/discord_zstd/1/full.distro",
|
||||
"version": 1
|
||||
}
|
||||
},
|
||||
"version": "1.0.159"
|
||||
"version": "1.0.160"
|
||||
},
|
||||
"osx-canary": {
|
||||
"distro": {
|
||||
"hash": "sha256-+hWiUN5Zg0Q1V+4kiJZ+Oy/jS5VrI7vqfxhBEPsY7Ik=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1345/full.distro"
|
||||
"hash": "sha256-qTgkOAC/mfgQgaGkgSa9oXy/HOsV9lTTg/DLaByXWgs=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1351/full.distro"
|
||||
},
|
||||
"kind": "distro",
|
||||
"modules": {
|
||||
"discord_cloudsync": {
|
||||
"hash": "sha256-CkHf7h643AODJpf9WUg+V50SLDDm66iWa89IxJMGjUs=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1345/discord_cloudsync/1/full.distro",
|
||||
"hash": "sha256-HiWJnXI5zIGVVEWni2yPNx4xHHiEN5SE1SvHFJufABc=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1351/discord_cloudsync/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_desktop_core": {
|
||||
"hash": "sha256-45/Ql70030WSutoDXqwJXz+ceF37m//r1wg7mDpR0DQ=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1345/discord_desktop_core/1/full.distro",
|
||||
"hash": "sha256-gB7QdGwrVyciWLXPZUkxRxpn360uFZIfmsNkhgAgfJQ=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1351/discord_desktop_core/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_dispatch": {
|
||||
"hash": "sha256-hL0Ok+Vot0Bx/0Zz9e/Y2iRvH8UBYRIuBpmTH4VZ870=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1345/discord_dispatch/1/full.distro",
|
||||
"hash": "sha256-U90gYov/eNoBaKQ9YHAz5hVwQkZUWldHunyoAPLm4YU=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1351/discord_dispatch/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_erlpack": {
|
||||
"hash": "sha256-xM2LcBT7JGBX0+WKZpYcRjaxs91HdGWMc0H/TDh1440=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1345/discord_erlpack/1/full.distro",
|
||||
"hash": "sha256-CfNOM8CEI+WhSijaSkqL/G/nFVkXcBh+ETM73RUBc1Y=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1351/discord_erlpack/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_game_utils": {
|
||||
"hash": "sha256-ynQsKTEX1QZ28Xwvq4J6EpktRZQk6iLeAU8pjry3260=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1345/discord_game_utils/1/full.distro",
|
||||
"hash": "sha256-0JBt/7W2Zi/Z2Rel74ZrsYnZWofRXx20GlzeZ9eXvUg=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1351/discord_game_utils/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_intents": {
|
||||
"hash": "sha256-n/DsoWO8nYHEl4BPckeUny85xnAcJHRYqajRS8R9uLg=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1345/discord_intents/1/full.distro",
|
||||
"hash": "sha256-McDTtVrzVp5LvngrvXd+iy7Ax+w5atLe1NyJ7Q4okHI=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1351/discord_intents/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_krisp": {
|
||||
"hash": "sha256-ZtkZG1MRsOPESHsVtuDkfCobFe9sq06w4CFLBmLEt6M=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1345/discord_krisp/1/full.distro",
|
||||
"hash": "sha256-N3s1lpqRY3dhXE69G3heD8N2ct4FWOAa0dyV1467EqM=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1351/discord_krisp/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_modules": {
|
||||
"hash": "sha256-E2qC69Ff6ijiPvstZ7tRfBolQRvd4NUfUO4hR9rPvs0=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1345/discord_modules/1/full.distro",
|
||||
"hash": "sha256-XnbVkqp5k7S8lztqvPFOkvhzACz6us6fY0x7y+YyQFE=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1351/discord_modules/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_notifications": {
|
||||
"hash": "sha256-0cObBRuHfAcO1iu9HmE03yoFzzQCSMUtHKBEi+VJoMw=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1345/discord_notifications/1/full.distro",
|
||||
"hash": "sha256-omq0UG6//UX2KUPm3sEyAarCsnwcDHpxo43U+OpDcGs=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1351/discord_notifications/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_rpc": {
|
||||
"hash": "sha256-+GUlU0TIP0BYpesGwwUCx8mTNNP9BczQnVJIjZTqp0w=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1345/discord_rpc/1/full.distro",
|
||||
"hash": "sha256-PtlQK/TL4flbdelRBHcU6XBwq3BoE7RlvxM3OlvjE88=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1351/discord_rpc/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_spellcheck": {
|
||||
"hash": "sha256-/U3hEDhI0tE6ay34Fpav4XtGMsLRFfvqoZYb2qg++PE=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1345/discord_spellcheck/1/full.distro",
|
||||
"hash": "sha256-CbWpBZcp4ldOsRh2+oZXmmILKNgpLmlx7gewO8TLIJ8=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1351/discord_spellcheck/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_sysimg": {
|
||||
"hash": "sha256-QDdz1K+MdWexh8EmUSHwHjwaTeDtNfZdTnj56N/M7yY=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1345/discord_sysimg/1/full.distro",
|
||||
"hash": "sha256-Xy4wGjgWYhX26+VeZzQvxXfCpxhCnLCvOp6zHLob8ec=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1351/discord_sysimg/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_utils": {
|
||||
"hash": "sha256-N4OfoOgb+5wk+Xy+G5KVUmCLfTVp0Sh+XG0SpgAwdMk=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1345/discord_utils/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-dV4Ym4qIW5/dtZLSATZjd0n8eOCmlMxVX7vs+jBJ7Uo=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1351/discord_utils/5/full.distro",
|
||||
"version": 5
|
||||
},
|
||||
"discord_voice": {
|
||||
"hash": "sha256-aNncuumXBFu28I/1SqcwFtesbUR0i73eogXGS0K6rSI=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1345/discord_voice/1/full.distro",
|
||||
"hash": "sha256-Yr27uQPbckOJ9Y/cFYvmuI6w1l2JjXlH6QBGltR0l6k=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1351/discord_voice/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_webauthn": {
|
||||
"hash": "sha256-SjOgWEuqWrTSiYf3IFNLR4O7UhUJpKBF7ehm6N8/Hn8=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1345/discord_webauthn/1/full.distro",
|
||||
"hash": "sha256-ornaoTyYwRVW3bVNuPsG2KTEoO33kWEMuS5eydM3u+k=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1351/discord_webauthn/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_zstd": {
|
||||
"hash": "sha256-UUwwShc/uQXafcqqrRIDQGpmkck9zcAVs/NxNn4Oiiw=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1345/discord_zstd/1/full.distro",
|
||||
"hash": "sha256-lHZ/py4p9pauk+UkYjEN2r+BPWMKW4hgki90C953XbM=",
|
||||
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1351/discord_zstd/1/full.distro",
|
||||
"version": 1
|
||||
}
|
||||
},
|
||||
"version": "0.0.1345"
|
||||
"version": "0.0.1351"
|
||||
},
|
||||
"osx-development": {
|
||||
"distro": {
|
||||
@@ -397,84 +397,84 @@
|
||||
"kind": "distro",
|
||||
"modules": {
|
||||
"discord_cloudsync": {
|
||||
"hash": "sha256-L8fU45CnFo5OGKJY08hFtOIMJg3LZ7m6Dmn+lbaYYtY=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_cloudsync/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-2fgKfNO/Zh9DHpem2LaloloaHNDrNv4TQD1++Sq8AE8=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_cloudsync/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_desktop_core": {
|
||||
"hash": "sha256-gw2S79nPa0eMTePiC4Vw1dKtGbZSLLYWpRljQaUqmQ8=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_desktop_core/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-tn+3FKOuzvukIeYmEy7lP/yJsa1y8san8rnhNZxD2zI=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_desktop_core/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_dispatch": {
|
||||
"hash": "sha256-sAAT1Hk0qBJMe1liNh4KOv9kQSRbXmFy9iwZ42mR6TM=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_dispatch/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-azcX6K7M9RsKsgZN0chr3dw9EBsqLBhJk+1wnd0KqVE=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_dispatch/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_erlpack": {
|
||||
"hash": "sha256-10kIZjyAvpQsMDL/F6f72t9Edv+fQ0BlhT0BwTQPRM0=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_erlpack/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-NG6IIEgoGq3vlAfocWeCACws+OuzPm63oNg40Dio4OQ=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_erlpack/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_game_utils": {
|
||||
"hash": "sha256-caUv9DGk7Zgkeploix92aiVrJLwFHzzeWZsgbRQetkI=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_game_utils/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-Xs2oaVYAWEWVMwQrYuEYqje6OPrMcbVEPwE3/YnFCVw=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_game_utils/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_intents": {
|
||||
"hash": "sha256-4FaAvVLC6LNn3OGK7o6WOw/acx+pJYi7JxorgLUv8ro=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_intents/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-WOwwf4h8/sO5sfhQxaKJ0UbyUqX96pOBXTtPwzHmOXk=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_intents/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_krisp": {
|
||||
"hash": "sha256-njAKEa5Txqxua0/TLLjXzM9o9LvYhmi+d2AW2L50IZ8=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_krisp/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-4eHaDCepK+9LBuuNeAAN6IlSc9e/0mPSuRPSXwYK7nc=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_krisp/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_modules": {
|
||||
"hash": "sha256-ybg2tgjH0A2Eh1vID8IX6yOeMqCN1nJ0WdB7FEHHX34=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_modules/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-BYlQTshu/WAN9025Fzm6DGfkz0RSMF7d8+7SGopVGM0=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_modules/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_notifications": {
|
||||
"hash": "sha256-pAiZqFb4weJK9PYHhAOyEokl9WXHtkIZDYg7LD7jw2s=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_notifications/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-VPAesFBhS7WQdc4sPavjqsLToeT5/hE2NG+vG60vKuk=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_notifications/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_rpc": {
|
||||
"hash": "sha256-KyAKFjcAHzsSkD0b675ZZ2/JNotzUAcZSuLv2eq8jC4=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_rpc/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-T0/nU/LgOmF3etW6bAXZHHL/Ee+yboqqMvp4gm8oT0g=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_rpc/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_spellcheck": {
|
||||
"hash": "sha256-W5vNRWPT9WCh4Sj4RsDlHSMYOumVUoNgegI6vdjJeJw=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_spellcheck/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-NHGJDvRQ6XKakUeh4o9CWmBJzAkcrTAybwqEYOdw+/k=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_spellcheck/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_sysimg": {
|
||||
"hash": "sha256-/l7hCtsk8uSla7PZrDl+SodJbPnbW8Jk1JdTRMCXAis=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_sysimg/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-jataH7tZmaSjE7O2n9O3iXe4971itl4JfrdlHIjoKwA=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_sysimg/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_utils": {
|
||||
"hash": "sha256-XB97VEE81GS3BJjhepLLtKc2pHYSetv3xvjDLHisYAw=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_utils/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-KEfo/eoqquPBX8Vi13m+gkzySDJkdAAimc3asml3PLo=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_utils/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_voice": {
|
||||
"hash": "sha256-8YSoF8v72J+cZqKVLl4RwRHkLt4+M6K3/dmwiXCjh9E=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_voice/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-84hFSAlA8Fmu4uChSupfh7u8rMGgv5SOaYMfWwpNpXA=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_voice/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_webauthn": {
|
||||
"hash": "sha256-kA/gLGrv3fYmV4s+FLfeDuiAzTO0k6rWZLsglcNAhtM=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_webauthn/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-A/EDqQRdkUIFHiE0QNwkk3e6ALq2MLIPymgTfdZdcHs=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_webauthn/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_zstd": {
|
||||
"hash": "sha256-zQvjzYCROq80S7nxvh7ZB+7UzjI4cKEvMjwFm5WOQsA=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_zstd/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-73HADDS1gB5eXNlYGFVZbnVppgDUFt2d/BHnM1sU2HY=",
|
||||
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.1023/discord_zstd/2/full.distro",
|
||||
"version": 2
|
||||
}
|
||||
},
|
||||
"version": "1.0.1023"
|
||||
@@ -492,9 +492,9 @@
|
||||
"version": 1
|
||||
},
|
||||
"discord_desktop_core": {
|
||||
"hash": "sha256-MJzmVMqAN84tdg6agPEAwhHchSld88gJ/PIIp7Q6EGw=",
|
||||
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.262/discord_desktop_core/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-nxQEIh3iEsRfjDBrdtvPPOwX6Jy1/FexcAGdCnCivW4=",
|
||||
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.262/discord_desktop_core/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_dispatch": {
|
||||
"hash": "sha256-Y71+yng3J27Afm5UuEw2bjEmCT0mmT+6XiHqKykpOek=",
|
||||
@@ -571,92 +571,92 @@
|
||||
},
|
||||
"osx-stable": {
|
||||
"distro": {
|
||||
"hash": "sha256-QLObkBgCHPEytuT4mnBZrCyQgSvcU3mvPCrhYuJpt6w=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.413/full.distro"
|
||||
"hash": "sha256-m8kNZRmrBCpAOZyefohah/RHAAX+o3xPgpyPbfoiwtU=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.414/full.distro"
|
||||
},
|
||||
"kind": "distro",
|
||||
"modules": {
|
||||
"discord_cloudsync": {
|
||||
"hash": "sha256-EW+QQr887OgQh4QhJBfq5d+n29Qkye0icm7Tpv0mCiM=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.413/discord_cloudsync/1/full.distro",
|
||||
"hash": "sha256-TI0Wn3tKeRFSuxzY+fqjfD803wGs1oXfOLLe44EAT60=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.414/discord_cloudsync/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_desktop_core": {
|
||||
"hash": "sha256-vOwayV7KcAV9VMsAJNjQd4Oc5SJIleUney5uji8+j5E=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.413/discord_desktop_core/1/full.distro",
|
||||
"version": 1
|
||||
"hash": "sha256-jzHQPy4po7SIQaYH5Lh12MARxxkt4u6fQrYvCsxh9aQ=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.414/discord_desktop_core/2/full.distro",
|
||||
"version": 2
|
||||
},
|
||||
"discord_dispatch": {
|
||||
"hash": "sha256-gGaIOeljjC88z4UKkBvgxOsiDhYyWKVh4rZCn8O4XIk=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.413/discord_dispatch/1/full.distro",
|
||||
"hash": "sha256-5DIzw2AiucbTUEu5PK7e6PwVQF9PNObofKReXjSygFI=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.414/discord_dispatch/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_erlpack": {
|
||||
"hash": "sha256-k44L+5yLKtx3jtUGddhtus6FU/2QeJLG3tpfvIPQv/g=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.413/discord_erlpack/1/full.distro",
|
||||
"hash": "sha256-lxLJUFOUP/4/BCeuE1TTROekK2U5zg28VTHLnkBvcWY=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.414/discord_erlpack/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_game_utils": {
|
||||
"hash": "sha256-CQHLfLekzrbFyaWIwAYXHXtTpkED4l6eX/2eTWlIh1M=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.413/discord_game_utils/1/full.distro",
|
||||
"hash": "sha256-2ZugIiASIgZ8aw/tVO6iODNCq7r9AipL+7FVjG8k228=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.414/discord_game_utils/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_intents": {
|
||||
"hash": "sha256-FHbCbqG32t4slAI1pxl6BzghtKNz62qyeWHi075/zKY=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.413/discord_intents/1/full.distro",
|
||||
"hash": "sha256-rA9AP6K/Nvbn+21mcMMtutoo0eizbbEaOcp1pJNms1M=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.414/discord_intents/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_krisp": {
|
||||
"hash": "sha256-KroterrE5sGmyCCJqHQUjupz0aPVBayQ+7bKUt+F/cQ=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.413/discord_krisp/1/full.distro",
|
||||
"hash": "sha256-rtfc0TUR/hxwDsaDUAgBiRQ17gID1wj2MTD378ifEAw=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.414/discord_krisp/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_modules": {
|
||||
"hash": "sha256-7LGp7cvRbtB3Ur0cV98gBmZLVLsJWQEuCXFLpG1OyeY=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.413/discord_modules/1/full.distro",
|
||||
"hash": "sha256-Gt1kXL6cpZkFKmdptOzZ6dG/ZagGWI6ZW+SxX04+Vag=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.414/discord_modules/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_notifications": {
|
||||
"hash": "sha256-n98wITVAtU7LaH0OftU32Gk/fkyTszYf5Ofr5uqABw8=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.413/discord_notifications/1/full.distro",
|
||||
"hash": "sha256-M/j8vxuNTiu0MHDYUyAg74Hco8o9jRU3RdqzWq3pMwE=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.414/discord_notifications/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_rpc": {
|
||||
"hash": "sha256-DxjBxnhaHWopkN5tV1bnW034mC+u+UIY0ZWgwBpW15M=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.413/discord_rpc/1/full.distro",
|
||||
"hash": "sha256-QIk1D90Zt3E+WXrF76W7c+85qhYhlrwWNjKQLGqRGdg=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.414/discord_rpc/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_spellcheck": {
|
||||
"hash": "sha256-DhMB8KMC2AGDYK+iuD/qFgW8ZXnaxkB1+wkThRJ/Qyc=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.413/discord_spellcheck/1/full.distro",
|
||||
"hash": "sha256-hy8MIe9JE3yhAmOY01b4+14r4xMyBlfbJzVpaOwp+OM=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.414/discord_spellcheck/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_sysimg": {
|
||||
"hash": "sha256-nRAXBgDOe2rD233V/1oD4A48QYvxNsLDBXQkk6zs1W8=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.413/discord_sysimg/1/full.distro",
|
||||
"hash": "sha256-I5fGSgdqEgjQKv+9FV9AdCTOIMoCY2umtMEQEHYoSM4=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.414/discord_sysimg/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_utils": {
|
||||
"hash": "sha256-YC/2ClGXm7ASRk3S/KkdwtMvKeQUEwfvTrB90vw6F58=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.413/discord_utils/1/full.distro",
|
||||
"hash": "sha256-P+od458JCfOD/dFMwH4Aa8fcnJh0COOwXEASMHXIf+M=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.414/discord_utils/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_voice": {
|
||||
"hash": "sha256-dVweX8sFoI6CBysvSsq/yge2eYSBCTT9jcLRGplpH1E=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.413/discord_voice/1/full.distro",
|
||||
"hash": "sha256-vosH0u5B3Rn6VzI/xhEF9xaJB8HfOhhs1FKbVIn/XwU=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.414/discord_voice/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_webauthn": {
|
||||
"hash": "sha256-K3ngxy1FoozdYzd/8aihBcAuZXEHQaGCpeocBI81dPM=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.413/discord_webauthn/1/full.distro",
|
||||
"hash": "sha256-a2FLp+3HSzjxw9RGFnV+D1cJrkOiIyEk4pLdhQzk9bg=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.414/discord_webauthn/1/full.distro",
|
||||
"version": 1
|
||||
},
|
||||
"discord_zstd": {
|
||||
"hash": "sha256-yC8e6EGzHr7f8TpVVCE5yBB8J+p/3mQ8wuvajdY6mfM=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.413/discord_zstd/1/full.distro",
|
||||
"hash": "sha256-+3/5gtwTnNpVXMwGC1qmyoQCxeMHNE2LoAjT5JBT3Pk=",
|
||||
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.414/discord_zstd/1/full.distro",
|
||||
"version": 1
|
||||
}
|
||||
},
|
||||
"version": "0.0.413"
|
||||
"version": "0.0.414"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
}:
|
||||
let
|
||||
php = php85;
|
||||
version = "6.6.6";
|
||||
version = "6.7.6";
|
||||
|
||||
# Release tarball contains translations downloaded from crowdin
|
||||
releaseTarball = fetchzip {
|
||||
@@ -25,12 +25,13 @@ in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "firefly-iii";
|
||||
inherit version;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firefly-iii";
|
||||
repo = "firefly-iii";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-OfdMx0qiEszFRsgZlF7KILLNA+XBzcD4c2oWIzdIGfk=";
|
||||
hash = "sha256-v9Bfd8bQemO4jkLg+KHLkjJupqOKoa+7wh19hzdxKeQ=";
|
||||
};
|
||||
|
||||
buildInputs = [ php ];
|
||||
@@ -48,18 +49,17 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
inherit (finalAttrs) pname src version;
|
||||
composerStrictValidation = true;
|
||||
strictDeps = true;
|
||||
vendorHash = "sha256-pdgXnNTE3iQ/v6t23nc7FojvVbB74W1AhiP7Z1XACUA=";
|
||||
vendorHash = "sha256-Ne0twRNAuTx9wJOEa2bvEIuBNkChveg/9YAMR33PNhQ=";
|
||||
};
|
||||
|
||||
npmDeps = fetchNpmDeps {
|
||||
inherit (finalAttrs) src;
|
||||
name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps";
|
||||
hash = "sha256-7RvuwFI7NrPwjkS0Lz56ItcHAPt2Sp3iarod+FrNon0=";
|
||||
hash = "sha256-JEpMwD18zCccRKLw7S3tfBrwLd/RcSbf7SOM0Y9sN8k=";
|
||||
};
|
||||
|
||||
preInstall = ''
|
||||
npm run prod --workspace=v1
|
||||
npm run build --workspace=v2
|
||||
npm run build --workspace=v3
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -122,5 +122,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
maintainers = with lib.maintainers; [ iedame ];
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "freedink";
|
||||
teams = [ lib.teams.gaming ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -36,16 +36,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "goose-cli";
|
||||
version = "1.47.0";
|
||||
version = "1.49.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aaif-goose";
|
||||
repo = "goose";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-+sowkBtUbpBPAgi1Tn1WSgIac2yzCWsXcsh96Pp5VSY=";
|
||||
hash = "sha256-KTHfaPJ3Vf2b6efMr0k9/AAMykDaG0lgSVCUpL58fnk=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-rJnhi14eKkYBK1rmQsRTb3lS2ChklOZ8mOA/H1iclh0=";
|
||||
cargoHash = "sha256-78E/J64RIy7AkFODLVQBFy8HPUtT2ODLwNAstErRMdQ=";
|
||||
|
||||
cargoBuildFlags = [
|
||||
"--bin"
|
||||
@@ -116,26 +116,11 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
# vars, OnceLock caches) when the lib tests run in parallel
|
||||
# https://github.com/aaif-goose/goose/issues/11059
|
||||
"--skip=hooks::tests::matcher_filters_by_tool_name"
|
||||
"--skip=plugins::discovery::tests::enabled_in_config_keeps_plugin_without_modifying_config"
|
||||
# the mock provider can finish before the polling loop observes an active run
|
||||
"--skip=test_steer_session_adds_input_to_active_prompt"
|
||||
# integration tests that need network access
|
||||
"--skip=test_replayed_session::vec_uvx_mcp_server_fetch_vec_calltoolrequestparam_name_fetch_into_arguments_some_object_url_https_example_com_vec_expects"
|
||||
"--skip=test_replayed_session::vec_github_mcp_server_stdio_vec_calltoolrequestparam_name_get_file_contents_into_arguments_some_object_owner_block_repo_goose_path_readme_md_sha_ab62b863c1666232a67048b6c4e10007a2a5b83c_vec_github_personal_access_token_expects"
|
||||
"--skip=test_replayed_session::vec_npx_y_modelcontextprotocol_server_everything_vec_calltoolrequestparam_name_echo_into_arguments_some_object_message_hello_world_calltoolrequestparam_name_add_into_arguments_some_object_a_1_b_2_calltoolrequestparam_name_longrunningoperation_into_arguments_some_object_duration_1_steps_5_calltoolrequestparam_name_structuredcontent_into_arguments_some_object_location_11238_vec_expects"
|
||||
# loopback_transport_does_not_use_environment_proxy sets HTTP_PROXY
|
||||
# process-wide; concurrent wiremock-based tests in the same binary pick it
|
||||
# up and fail with NetworkError. Remove once the fix lands upstream:
|
||||
# https://github.com/aaif-goose/goose/pull/11262
|
||||
"--skip=api_client::tests::loopback_transport_does_not_use_environment_proxy"
|
||||
"--skip=anthropic::tests::fetch_models_treats_invalid_json_as_endpoint_not_found"
|
||||
"--skip=anthropic::tests::fetch_models_treats_missing_data_field_as_request_failed"
|
||||
"--skip=anthropic::tests::fetch_supported_models_accepts_null_error"
|
||||
"--skip=anthropic::tests::fetch_supported_models_does_not_fall_back_on_missing_data"
|
||||
"--skip=anthropic::tests::fetch_supported_models_falls_back_on_invalid_payload"
|
||||
"--skip=anthropic::tests::fetch_supported_models_preserves_200_error_type"
|
||||
"--skip=anthropic::tests::fetch_supported_models_propagates_auth_error"
|
||||
"--skip=anthropic::tests::fetch_supported_models_propagates_auth_error_from_200_payload"
|
||||
# otel span capture races with other tests' global tracing subscribers
|
||||
# when the lib tests run in parallel
|
||||
"--skip=agents::agent::tests::tool_dispatch_records_gen_ai_span_attributes"
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
|
||||
# Broken on aarch64-linux: request capture races across session_id_propagation_test cases
|
||||
|
||||
@@ -65,7 +65,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-suVaAsK8bzsb2nNbvlhb/lMjs3Q2fiKRo3TSpome6tI=";
|
||||
hash = "sha256-FpnWCJsytxJ5w9yqWayU2ZNDCm7RgubU34ouIeNWqfA=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
@@ -187,7 +187,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
exec = "goose-desktop %U";
|
||||
icon = "goose-desktop";
|
||||
categories = [ "Development" ];
|
||||
startupWMClass = "Goose";
|
||||
startupWMClass = "goose";
|
||||
mimeTypes = [ "x-scheme-handler/goose" ];
|
||||
})
|
||||
];
|
||||
|
||||
26
pkgs/by-name/gr/grantlee/Fix-cpp-20-build.patch
Normal file
26
pkgs/by-name/gr/grantlee/Fix-cpp-20-build.patch
Normal file
@@ -0,0 +1,26 @@
|
||||
From 261bfe75d718abfc537ddcebfe805df01c33ab3a Mon Sep 17 00:00:00 2001
|
||||
From: Pino Toscano <toscano.pino@tiscali.it>
|
||||
Date: Sat, 25 Apr 2026 10:21:47 +0200
|
||||
Subject: [PATCH] Remove template-id in constructor of template class
|
||||
|
||||
It was not required, and it is invalid now in C++ 20.
|
||||
---
|
||||
templates/defaulttags/cycle.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/templates/defaulttags/cycle.h b/templates/defaulttags/cycle.h
|
||||
index 936c2a2e..a917555f 100644
|
||||
--- a/templates/defaulttags/cycle.h
|
||||
+++ b/templates/defaulttags/cycle.h
|
||||
@@ -40,9 +40,9 @@ Cycles endlessly over elements.
|
||||
template <typename T> class RingIterator
|
||||
{
|
||||
public:
|
||||
- RingIterator<T>() {}
|
||||
+ RingIterator() {}
|
||||
|
||||
- RingIterator<T>(const QList<T> &list)
|
||||
+ RingIterator(const QList<T> &list)
|
||||
: m_begin(list.constBegin()), m_it(list.constBegin()),
|
||||
m_end(list.constEnd())
|
||||
{
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
qt5,
|
||||
cmake,
|
||||
}:
|
||||
@@ -30,6 +31,8 @@ stdenv.mkDerivation rec {
|
||||
patches = [
|
||||
./grantlee-nix-profiles.patch
|
||||
./grantlee-no-canonicalize-filepath.patch
|
||||
# https://github.com/steveire/grantlee/pull/93
|
||||
./Fix-cpp-20-build.patch
|
||||
];
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/sandbox/gvisor/run.py b/sandbox/gvisor/run.py
|
||||
index db074508..d94b3cc8 100755
|
||||
index db074508..8aa09637 100755
|
||||
--- a/sandbox/gvisor/run.py
|
||||
+++ b/sandbox/gvisor/run.py
|
||||
@@ -75,8 +75,8 @@ mounts = [ # These will be filled in more fully programmatically bel
|
||||
@@ -13,7 +13,21 @@ index db074508..d94b3cc8 100755
|
||||
] + (args.env or [])
|
||||
settings = {
|
||||
"ociVersion": "1.0.0",
|
||||
@@ -157,17 +157,13 @@ def preserve(*locations, short_failure=False):
|
||||
@@ -87,8 +87,12 @@ settings = {
|
||||
# during imports, try commenting this section out. We could make imports work
|
||||
# for any version of gvisor by setting mode when using tmp.dir to allow
|
||||
# others to list directory contents.
|
||||
+ # NixOS: runsc runs with -rootless, where only container uid 0 is mapped
|
||||
+ # to the invoking (service) user. Any other uid is unmapped inside the
|
||||
+ # sandbox and cannot read uploaded files (0600, owned by the service user),
|
||||
+ # which breaks imports. Container uid 0 grants nothing beyond that user.
|
||||
"user": {
|
||||
- "uid": os.getuid(),
|
||||
+ "uid": 0,
|
||||
"gid": 0
|
||||
},
|
||||
"args": cmd_args,
|
||||
@@ -157,17 +161,13 @@ def preserve(*locations, short_failure=False):
|
||||
})
|
||||
preserved.add(location)
|
||||
|
||||
@@ -33,7 +47,7 @@ index db074508..d94b3cc8 100755
|
||||
|
||||
# Support user-specific extra directories. This is handy if Python is
|
||||
# somewhere weird and there is a maze of soft links to get
|
||||
@@ -176,31 +172,7 @@ extra_dirs = os.environ.get('GVISOR_EXTRA_DIRS')
|
||||
@@ -176,31 +176,7 @@ extra_dirs = os.environ.get('GVISOR_EXTRA_DIRS')
|
||||
if extra_dirs:
|
||||
preserve(*extra_dirs.split(':'))
|
||||
|
||||
@@ -66,7 +80,7 @@ index db074508..d94b3cc8 100755
|
||||
|
||||
# Set up any specific shares requested.
|
||||
if args.mount:
|
||||
@@ -227,18 +199,15 @@ settings['mounts'] = sorted(tmpfs_mounts, key=lambda mount: mount["destination"]
|
||||
@@ -227,18 +203,15 @@ settings['mounts'] = sorted(tmpfs_mounts, key=lambda mount: mount["destination"]
|
||||
# because gvisor is written in Go and doesn't use the standard library that faketime
|
||||
# tweaks.
|
||||
if args.faketime:
|
||||
|
||||
@@ -189,7 +189,7 @@ stdenv.mkDerivation (
|
||||
|
||||
mkdir -p "$out/grist-core"
|
||||
|
||||
cp -r {_build,node_modules,sandbox,static,bower_components} "$out/grist-core"
|
||||
cp -r {_build,node_modules,plugins,sandbox,static,bower_components} "$out/grist-core"
|
||||
${lib.optionalString enterpriseEdition ''
|
||||
mkdir -p "$out/grist-core/ext"
|
||||
cp -r ext/assets "$out/grist-core/ext/"
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gumbo";
|
||||
version = "0.13.2";
|
||||
version = "0.14.1";
|
||||
|
||||
src = fetchFromCodeberg {
|
||||
owner = "gumbo-parser";
|
||||
repo = "gumbo-parser";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-8mri7mLZkuIZgzE6p0yc41bNNyzGTV9V90OiA/9TkkU=";
|
||||
hash = "sha256-ir63pDxENWAz1PNPBfjev2Sg46yaRNkE6cBjeuIudfY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "harper-desktop";
|
||||
version = "2.9.1";
|
||||
version = "2.11.0";
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Automattic/harper/releases/download/v${finalAttrs.version}/Harper_${finalAttrs.version}_universal.dmg";
|
||||
hash = "sha256-4A5QGuCEC7oBW9TkkbqKKoQ8MjbrlFWFCNxn1o2KFDs=";
|
||||
hash = "sha256-eNrAsEW98pCMx+UoHQA+InSKp/b54FVE0KXf8VHNfok=";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
@@ -43,11 +43,23 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
xcbuild
|
||||
];
|
||||
|
||||
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
substituteInPlace vendor/libghostty-vt/src/build/GhosttyLibVt.zig \
|
||||
--replace-fail 'lib.bundle_compiler_rt = true;' 'lib.bundle_compiler_rt = false;' \
|
||||
--replace-fail 'lib.bundle_ubsan_rt = true;' 'lib.bundle_ubsan_rt = false;'
|
||||
'';
|
||||
postPatch =
|
||||
lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
substituteInPlace vendor/libghostty-vt/src/build/GhosttyLibVt.zig \
|
||||
--replace-fail 'lib.bundle_compiler_rt = true;' 'lib.bundle_compiler_rt = false;' \
|
||||
--replace-fail 'lib.bundle_ubsan_rt = true;' 'lib.bundle_ubsan_rt = false;'
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
substituteInPlace vendor/libghostty-vt/pkg/apple-sdk/native_link.zig \
|
||||
--replace-fail '"/usr/bin/xcrun"' '"xcrun"'
|
||||
|
||||
substituteInPlace vendor/libghostty-vt/src/build/GhosttyLibVt.zig \
|
||||
--replace-fail '"/bin/ln"' '"ln"'
|
||||
|
||||
substituteInPlace vendor/libghostty-vt/src/build/LibtoolStep.zig \
|
||||
--replace-fail '/bin/cp ' 'cp ' \
|
||||
--replace-fail '/usr/bin/ranlib ' 'ranlib '
|
||||
'';
|
||||
|
||||
# Upstream binary tests are renamed, added, or changed between releases and
|
||||
# depend on host process details, so Nix-only patches for them are brittle.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
meson,
|
||||
ninja,
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
callPackage,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
cmake,
|
||||
pkg-config,
|
||||
intel-gmmlib,
|
||||
@@ -43,6 +44,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
patches = [
|
||||
# https://github.com/intel/compute-runtime/pull/879
|
||||
./add-cstdint-include-gcc15.patch
|
||||
# https://github.com/intel/compute-runtime/commit/c1eb6c1a183c2f69e0d6e9ed5aa042fac2201217
|
||||
(fetchpatch {
|
||||
url = "https://github.com/intel/compute-runtime/commit/c1eb6c1a183c2f69e0d6e9ed5aa042fac2201217.patch";
|
||||
hash = "sha256-O8ZJaxIr4TF73T+fyEbNjEYFbgwLxIUWoYnorxh8ZTo=";
|
||||
})
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
boost,
|
||||
cacert,
|
||||
cmake,
|
||||
fetchFromGitHub,
|
||||
libgit2,
|
||||
@@ -10,13 +11,12 @@
|
||||
rust-jemalloc-sys,
|
||||
rustPlatform,
|
||||
sqlite,
|
||||
versionCheckHook,
|
||||
zlib,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "kingfisher";
|
||||
version = "1.113.0";
|
||||
version = "2.8.0";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -24,10 +24,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
owner = "mongodb";
|
||||
repo = "kingfisher";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-yuBHKHGj5woedq5sd1NnyJG2mod3r1zerrSvemQVH98=";
|
||||
hash = "sha256-hhNwLhA7n/dHILYavbTYUasHHWLQkAVP5hb2Fp35wk8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-P4Sq8N/8mLAquWHAJYnfSkysmEGefXTTJke9rmdhhwE=";
|
||||
cargoHash = "sha256-blflKXAIg+KM1DAqK6RbCGKywiguGv3IeiiCXwQAIUA=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
@@ -43,14 +43,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
zlib
|
||||
];
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
env = {
|
||||
LIBSQLITE3_SYS_USE_PKG_CONFIG = true;
|
||||
SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||
VECTORSCAN_BUILD_FROM_SOURCE = "1";
|
||||
};
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
# Integration tests exceed memory limits and can crash
|
||||
doCheck = false;
|
||||
|
||||
|
||||
@@ -33,7 +33,6 @@ stdenvNoCC.mkDerivation rec {
|
||||
this font may not be sold commercially. See kochi-substitute for the free
|
||||
Debian version.
|
||||
'';
|
||||
homepage = "https://osdn.net/projects/efont/";
|
||||
license = lib.licenses.unfreeRedistributable;
|
||||
maintainers = [ lib.maintainers.auntie ];
|
||||
};
|
||||
|
||||
@@ -47,7 +47,6 @@ stdenv.mkDerivation {
|
||||
versions of the fonts, which remove some non-free glyphs that were added
|
||||
from the naga10 font.
|
||||
'';
|
||||
homepage = "https://osdn.net/projects/efont/";
|
||||
license = lib.licenses.wadalab;
|
||||
maintainers = [ lib.maintainers.auntie ];
|
||||
};
|
||||
|
||||
@@ -29,7 +29,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
cmakeBuildType = "RelWithDebInfo";
|
||||
|
||||
cmakeFlags = [ "-DKTX_FEATURE_DOC=ON" ];
|
||||
cmakeFlags = [
|
||||
"-DKTX_FEATURE_DOC=ON"
|
||||
# 4.4.x does not build with GCC 16's default of gnu++20; fixed upstream in 5.0.0
|
||||
# https://github.com/KhronosGroup/KTX-Software/issues/1172
|
||||
(lib.cmakeFeature "CMAKE_CXX_STANDARD" "17")
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs .
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "snes9x";
|
||||
version = "0-unstable-2026-09-20";
|
||||
version = "0-unstable-2026-09-24";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snes9xgit";
|
||||
repo = "snes9x";
|
||||
rev = "cf2b0e5d1759a0dd143949db238e377d146b83ff";
|
||||
hash = "sha256-K43/8IeLZZ84XazeFeD9EnjqtSlv9rk2/6lMSqh9YMI=";
|
||||
rev = "1bcc369e89f08243e0a462882fb1f3e42e51de3a";
|
||||
hash = "sha256-9YK7SMHOU/v2eyzXMYb8iXhfdcQ4bDyLYE0E3j11OBI=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -36,6 +36,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
description = "App to manage software development and track bugs";
|
||||
homepage = "https://linear.app/";
|
||||
license = lib.licenses.unfree;
|
||||
mainDarwinApp = "Linear.app";
|
||||
maintainers = with lib.maintainers; [
|
||||
wini
|
||||
pradyuman
|
||||
|
||||
@@ -39,13 +39,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "linyaps";
|
||||
version = "1.14.2";
|
||||
version = "1.14.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenAtom-Linyaps";
|
||||
repo = finalAttrs.pname;
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-5eDxCK1zrD2+rBjxU1WE9O2woBpD2fGQon3a60sJkEQ=";
|
||||
hash = "sha256-RWSoVTTYwFzYvFBHvBJmLungjEVYryHwzK6P2h5SiaQ=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
119
pkgs/by-name/lo/lookapp/package.nix
Normal file
119
pkgs/by-name/lo/lookapp/package.nix
Normal file
@@ -0,0 +1,119 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
pkg-config,
|
||||
wrapGAppsHook3,
|
||||
webkitgtk_4_1,
|
||||
gtk3,
|
||||
libsoup_3,
|
||||
glib,
|
||||
cairo,
|
||||
pango,
|
||||
gdk-pixbuf,
|
||||
harfbuzz,
|
||||
alsa-lib,
|
||||
dbus,
|
||||
openssl,
|
||||
libappindicator,
|
||||
xdg-utils,
|
||||
fontconfig,
|
||||
curl,
|
||||
procps,
|
||||
copyDesktopItems,
|
||||
makeDesktopItem,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "lookapp";
|
||||
version = "0.6.13";
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kunkka19xx";
|
||||
repo = "look";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-rfSuwSRD1mHpvi8wP+xZNaE4bsc6btMRxAM4q/314FU=";
|
||||
};
|
||||
|
||||
cargoRoot = "apps/linows/src-tauri";
|
||||
buildAndTestSubdir = finalAttrs.cargoRoot;
|
||||
|
||||
cargoHash = "sha256-U58By3qm5hr35oZjOChOHgf7LcrJy5VEAAjKz+vWdmw=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
copyDesktopItems
|
||||
pkg-config
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
webkitgtk_4_1
|
||||
gtk3
|
||||
libsoup_3
|
||||
glib
|
||||
cairo
|
||||
pango
|
||||
gdk-pixbuf
|
||||
harfbuzz
|
||||
alsa-lib
|
||||
dbus
|
||||
openssl
|
||||
libappindicator
|
||||
];
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "lookapp";
|
||||
desktopName = "Look";
|
||||
comment = "Keyboard-first desktop launcher";
|
||||
exec = "lookapp";
|
||||
icon = "look";
|
||||
categories = [ "Utility" ];
|
||||
startupWMClass = "Look";
|
||||
})
|
||||
];
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--prefix PATH : ${
|
||||
lib.makeBinPath [
|
||||
xdg-utils
|
||||
fontconfig
|
||||
curl
|
||||
procps
|
||||
glib
|
||||
]
|
||||
}
|
||||
)
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
for size in 32 128 256; do
|
||||
icon="$src/apps/linows/src-tauri/icons/''${size}x''${size}.png"
|
||||
if [ -f "$icon" ]; then
|
||||
mkdir -p $out/share/icons/hicolor/''${size}x''${size}/apps
|
||||
cp "$icon" \
|
||||
"$out/share/icons/hicolor/''${size}x''${size}/apps/look.png"
|
||||
fi
|
||||
done
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Keyboard-first, local-first desktop launcher";
|
||||
homepage = "https://github.com/kunkka19xx/look";
|
||||
changelog = "https://github.com/kunkka19xx/look/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "lookapp";
|
||||
|
||||
maintainers = [
|
||||
lib.maintainers.Teamofeyy
|
||||
lib.maintainers.kunkka19xx
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -26,7 +26,6 @@ stdenv.mkDerivation {
|
||||
|
||||
meta = {
|
||||
description = "Utility to check whether audio is truly lossless or not";
|
||||
homepage = "https://losslessaudiochecker.com";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
license = lib.licenses.unfree;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
fetchFromGitHub,
|
||||
fetchNpmDeps,
|
||||
fetchurl,
|
||||
|
||||
cargo-tauri,
|
||||
makeBinaryWrapper,
|
||||
@@ -22,24 +23,34 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "lrcget";
|
||||
version = "2.1.0";
|
||||
version = "2.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tranxuanthang";
|
||||
repo = "lrcget";
|
||||
tag = version;
|
||||
hash = "sha256-cxQpCuyFsJeujcL2TPMH7n+Q6l4h+P1HvsrMoFmbWMI=";
|
||||
hash = "sha256-sp31o62rwWONd7ajo8prvkEVbU3lPPLFkXsxAT9oRzY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# needed to not attempt codesigning on darwin
|
||||
./remove-signing-identity.patch
|
||||
|
||||
# Make npm ci pass by adding missing packages to package-lock.json
|
||||
# Upstream PR: https://github.com/tranxuanthang/lrcget/pull/408
|
||||
./sync-package-lock.patch
|
||||
];
|
||||
|
||||
cargoPatches = [
|
||||
# Update charabia crate to v0.10.0 to allow caching of Lindera dictionaries
|
||||
# Upstream PR: https://github.com/tranxuanthang/lrcget/pull/407
|
||||
./update-to-charabia-0.10.0.patch
|
||||
];
|
||||
|
||||
cargoRoot = "src-tauri";
|
||||
buildAndTestSubdir = "src-tauri";
|
||||
|
||||
cargoHash = "sha256-9vyvRJsR4o7kWSLJyGIoiM/13ABWWTrRXVdyU2HfJ+E=";
|
||||
cargoHash = "sha256-qyIvUbEBImJfVaxILtLN88KREgUk45zRdxbdZ1A6vc0=";
|
||||
|
||||
# FIXME: This is a workaround, because we have a git dependency node_modules/lrc-kit contains install scripts
|
||||
# but has no lockfile, which is something that will probably break.
|
||||
@@ -48,9 +59,73 @@ rustPlatform.buildRustPackage rec {
|
||||
npmDeps = fetchNpmDeps {
|
||||
name = "lrcget-${version}-npm-deps";
|
||||
inherit src forceGitDeps patches;
|
||||
hash = "sha256-yXRbQ6xM23VrVaS8Hb5sxPPic1yawKtFi2rCGkplgw4=";
|
||||
hash = "sha256-PyKnh2AjdhWurTQmoCuOnLDdDIcZT51xwpPImkc3nBc=";
|
||||
};
|
||||
|
||||
preConfigure =
|
||||
let
|
||||
# Adapted from pg_search's Nix package: https://github.com/NixOS/nixpkgs/blob/b1b875982b17dabde9b4a37f3e229e74913e6db3/pkgs/servers/sql/postgresql/ext/pg_search.nix#L27
|
||||
# Lindera dictionaries are copied to a temporary directory and Lindera's
|
||||
# cache environment variable prevents the build.rs files in
|
||||
# the Lindera crates from downloading their dictionary from an
|
||||
# external URL, which doesn't work in the Nix sandbox.
|
||||
|
||||
# Lindera uses subdirectory in the main cache directory to separate cached
|
||||
# dictionaries for different versions of Lindera.
|
||||
# The name of those subdirectories is made up of the Lindera version
|
||||
# and the "format" version (currently only for format version 2).
|
||||
# LRCGET's Lindera version is in their Cargo.lock file: https://github.com/tranxuanthang/lrcget/tree/${version}/src-tauri/Cargo.lock
|
||||
# And the current format version is 2, represented by the -fmt2 suffix in the subdirectory name.
|
||||
cacheSubdir = "5.3.0-fmt2";
|
||||
|
||||
# The env var Lindera uses for the cache has changed over time.
|
||||
# Currently, the correct variable name is LINDERA_BUILD_DICTIONARY_CACHE_DIR.
|
||||
dictCacheVarName = "LINDERA_BUILD_DICTIONARY_CACHE_DIR";
|
||||
|
||||
# The Lindera uses several language dictionaries that can be enabled by consuming apps and libraries.
|
||||
# Check the relevant build.rs files to get the proper URLs:
|
||||
# https://github.com/lindera/lindera/blob/${linderaVersion}/${dictionaryKey}/build.rs
|
||||
# Here's an example build.rs URL:
|
||||
# https://github.com/lindera/lindera/blob/v1.5.1/lindera-cc-cedict/build.rs
|
||||
|
||||
dict =
|
||||
{
|
||||
language,
|
||||
filename,
|
||||
hash,
|
||||
}:
|
||||
{
|
||||
inherit filename language;
|
||||
source = fetchurl {
|
||||
url = "https://lindera.dev/${filename}";
|
||||
inherit hash;
|
||||
};
|
||||
};
|
||||
|
||||
# LRCGET via charabia requires the Korean and Japanese (unidic) dictionaries.
|
||||
dictionaries = {
|
||||
lindera-ko-dic = dict {
|
||||
language = "Korean";
|
||||
filename = "mecab-ko-dic-2.1.1-20180720.tar.gz";
|
||||
hash = "sha256-cCztIcYWfp2a68Z0q17lSvWNREOXXylA030FZ8AgWRo=";
|
||||
};
|
||||
lindera-unidic = dict {
|
||||
language = "Japanese";
|
||||
filename = "unidic-mecab-2.1.2.tar.gz";
|
||||
hash = "sha256-JKx1/k5E2XO1XmWEfDX6Suwtt6QaB7ScoSUUbbn8EYk=";
|
||||
};
|
||||
};
|
||||
in
|
||||
''
|
||||
export ${dictCacheVarName}=$TMPDIR/lindera-cache
|
||||
mkdir -p ''$${dictCacheVarName}/${cacheSubdir}
|
||||
${lib.concatMapStringsSep "\n" (dict: ''
|
||||
echo "Copying ${dict.language} dictionary to Lindera cache"
|
||||
cp -r ${dict.source} ''$${dictCacheVarName}/${cacheSubdir}/${dict.filename}
|
||||
'') (lib.attrValues dictionaries)}
|
||||
echo "Lindera cache prepared at ''$${dictCacheVarName}"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cargo-tauri.hook
|
||||
nodejs
|
||||
|
||||
66
pkgs/by-name/lr/lrcget/sync-package-lock.patch
Normal file
66
pkgs/by-name/lr/lrcget/sync-package-lock.patch
Normal file
@@ -0,0 +1,66 @@
|
||||
diff --git a/package-lock.json b/package-lock.json
|
||||
index 7265f5f..e44f063 100644
|
||||
--- a/package-lock.json
|
||||
+++ b/package-lock.json
|
||||
@@ -192,6 +192,29 @@
|
||||
"w3c-keyname": "^2.2.4"
|
||||
}
|
||||
},
|
||||
+ "node_modules/@emnapi/core": {
|
||||
+ "version": "1.10.0",
|
||||
+ "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz",
|
||||
+ "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==",
|
||||
+ "dev": true,
|
||||
+ "license": "MIT",
|
||||
+ "optional": true,
|
||||
+ "dependencies": {
|
||||
+ "@emnapi/wasi-threads": "1.2.1",
|
||||
+ "tslib": "^2.4.0"
|
||||
+ }
|
||||
+ },
|
||||
+ "node_modules/@emnapi/runtime": {
|
||||
+ "version": "1.10.0",
|
||||
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz",
|
||||
+ "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==",
|
||||
+ "dev": true,
|
||||
+ "license": "MIT",
|
||||
+ "optional": true,
|
||||
+ "dependencies": {
|
||||
+ "tslib": "^2.4.0"
|
||||
+ }
|
||||
+ },
|
||||
"node_modules/@emnapi/wasi-threads": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz",
|
||||
@@ -5866,8 +5889,30 @@
|
||||
"w3c-keyname": "^2.2.4"
|
||||
}
|
||||
},
|
||||
+ "node_modules/@emnapi/core": {
|
||||
+ "version": "1.10.0",
|
||||
+ "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz",
|
||||
+ "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==",
|
||||
+ "dev": true,
|
||||
+ "optional": true,
|
||||
+ "requires": {
|
||||
+ "@emnapi/wasi-threads": "1.2.1",
|
||||
+ "tslib": "^2.4.0"
|
||||
+ }
|
||||
+ },
|
||||
+ "node_modules/@emnapi/runtime": {
|
||||
+ "version": "1.10.0",
|
||||
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz",
|
||||
+ "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==",
|
||||
+ "dev": true,
|
||||
+ "optional": true,
|
||||
+ "requires": {
|
||||
+ "tslib": "^2.4.0"
|
||||
+ }
|
||||
+ },
|
||||
"@emnapi/wasi-threads": {
|
||||
- "version": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz",
|
||||
+ "version": "1.2.1",
|
||||
+ "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz",
|
||||
"integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
1427
pkgs/by-name/lr/lrcget/update-to-charabia-0.10.0.patch
Normal file
1427
pkgs/by-name/lr/lrcget/update-to-charabia-0.10.0.patch
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,54 +1,47 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
pkg-config,
|
||||
glib,
|
||||
pango,
|
||||
gdk-pixbuf,
|
||||
gtk4,
|
||||
libadwaita,
|
||||
stdenv,
|
||||
fetchgit,
|
||||
cmake,
|
||||
qt6,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lsfg-vk-ui";
|
||||
version = "1.0.0";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PancakeTAS";
|
||||
repo = "lsfg-vk";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-nIyVOil/gHC+5a+sH3vMlcqVhixjJaGWqXbyoh2Nqyw=";
|
||||
src = fetchgit {
|
||||
url = "https://git.lsfg-vk.dev/lsfg-vk.git";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-vp0/adJdVV73C2RFjcEE90KjWiZJQhiqqOlYQ89RG+Y=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-hIQRS/egIDU5Vu/1KWHtpt4S26h+9GadVr+lBAG2LDg=";
|
||||
|
||||
sourceRoot = "source/ui";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
glib
|
||||
cmake
|
||||
qt6.wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
pango
|
||||
gdk-pixbuf
|
||||
gtk4
|
||||
libadwaita
|
||||
buildInputs = [ qt6.qtdeclarative ];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "LSFGVK_MANAGED" true)
|
||||
(lib.cmakeBool "LSFGVK_BUILD_LAYER" false)
|
||||
(lib.cmakeBool "LSFGVK_BUILD_UI" true)
|
||||
(lib.cmakeBool "LSFGVK_BUILD_CLI" false)
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install -Dm444 $src/ui/rsc/gay.pancake.lsfg-vk-ui.desktop $out/share/applications/gay.pancake.lsfg-vk-ui.desktop
|
||||
install -Dm444 $src/ui/rsc/icon.png $out/share/icons/hicolor/256x256/apps/gay.pancake.lsfg-vk-ui.png
|
||||
'';
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
|
||||
meta = {
|
||||
description = "Graphical configuration interface for lsfg-vk";
|
||||
homepage = "https://github.com/PancakeTAS/lsfg-vk/";
|
||||
changelog = "https://github.com/PancakeTAS/lsfg-vk/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
homepage = "https://lsfg-vk.dev/";
|
||||
license = lib.licenses.cc-by-nc-nd-40;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ pabloaul ];
|
||||
maintainers = with lib.maintainers; [
|
||||
Gliczy
|
||||
pabloaul
|
||||
];
|
||||
mainProgram = "lsfg-vk-ui";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -1,31 +1,23 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
stdenv,
|
||||
fetchgit,
|
||||
cmake,
|
||||
vulkan-headers,
|
||||
llvmPackages,
|
||||
vulkan-loader,
|
||||
}:
|
||||
|
||||
llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lsfg-vk";
|
||||
version = "1.0.0";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PancakeTAS";
|
||||
repo = "lsfg-vk";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-hWpuPH7mKbeMaLaRUwtlkNLy4lOnJEe+yd54L7y2kV0=";
|
||||
fetchSubmodules = true;
|
||||
src = fetchgit {
|
||||
url = "https://git.lsfg-vk.dev/lsfg-vk.git";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-vp0/adJdVV73C2RFjcEE90KjWiZJQhiqqOlYQ89RG+Y=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace VkLayer_LS_frame_generation.json \
|
||||
--replace-fail "liblsfg-vk.so" "$out/lib/liblsfg-vk.so"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
llvmPackages.clang-tools
|
||||
llvmPackages.libllvm
|
||||
cmake
|
||||
];
|
||||
|
||||
@@ -33,12 +25,31 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
vulkan-headers
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "LSFGVK_LAYER_LIBRARY_PATH" "${placeholder "out"}/lib/liblsfg-vk-layer.so")
|
||||
(lib.cmakeBool "LSFGVK_MANAGED" true)
|
||||
];
|
||||
|
||||
/*
|
||||
Installed lsfg-vk-layer version: terminate called after throwing an instance of 'std::runtime_error'
|
||||
what(): Failed to load vulkan library!
|
||||
*/
|
||||
postFixup = ''
|
||||
patchelf --add-rpath "${lib.getLib vulkan-loader}/lib" "$out/bin/lsfg-vk-cli"
|
||||
'';
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
|
||||
meta = {
|
||||
description = "Vulkan layer for frame generation (Requires owning Lossless Scaling)";
|
||||
homepage = "https://github.com/PancakeTAS/lsfg-vk/";
|
||||
changelog = "https://github.com/PancakeTAS/lsfg-vk/releases/tag/${finalAttrs.src.tag}";
|
||||
license = lib.licenses.mit;
|
||||
homepage = "https://lsfg-vk.dev/";
|
||||
license = lib.licenses.cc-by-nc-nd-40;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ pabloaul ];
|
||||
maintainers = with lib.maintainers; [
|
||||
Gliczy
|
||||
pabloaul
|
||||
];
|
||||
mainProgram = "lsfg-vk-cli";
|
||||
};
|
||||
})
|
||||
|
||||
17
pkgs/by-name/ma/mastodon/gemset.nix
generated
17
pkgs/by-name/ma/mastodon/gemset.nix
generated
@@ -350,15 +350,16 @@
|
||||
"bigdecimal"
|
||||
"jmespath"
|
||||
"logger"
|
||||
"rexml"
|
||||
];
|
||||
groups = [ "default" ];
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "16yjk5b6vw9c1pwgbjz4x52nlm36p5zx0qzcsj64ghrl47iqk02i";
|
||||
sha256 = "1iljck5b1s02vagyvgivg9j81nk2wl721qwfd33cws7ngyfd2am9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.254.1";
|
||||
version = "3.257.0";
|
||||
};
|
||||
aws-sdk-kms = {
|
||||
dependencies = [
|
||||
@@ -384,10 +385,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "15pma52a4n5rzgkr8kixvfxc3dmals1s78605rfm1cvm308imlbx";
|
||||
sha256 = "1jpf3wgxd5inczqd0ga5d002qmrc3m71vj56nd78s1lzapsxn5cx";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.229.0";
|
||||
version = "1.232.3";
|
||||
};
|
||||
aws-sigv4 = {
|
||||
dependencies = [ "aws-eventstream" ];
|
||||
@@ -1004,10 +1005,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "158dy953r9r2s6zppnc3yn02r3g3g56yzxyvilnpcl4p170x5c0r";
|
||||
sha256 = "11pchqkzd0jp5alh0554yqybnhr3bj2jdghqal3prsn22mwch7v9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.9.6";
|
||||
version = "5.9.9";
|
||||
};
|
||||
dotenv = {
|
||||
groups = [ "default" ];
|
||||
@@ -3265,10 +3266,10 @@
|
||||
platforms = [ ];
|
||||
source = {
|
||||
remotes = [ "https://rubygems.org" ];
|
||||
sha256 = "1mz3sswgbq0wfy0r044zg6qq72kzxar96kf0c2nbc5rmvh8jcx6d";
|
||||
sha256 = "1biqhfhcan9mv06312r27ibw9r25530a7if7aa70wmalfbkq4r0k";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.0.1";
|
||||
version = "1.0.3";
|
||||
};
|
||||
rack-session = {
|
||||
dependencies = [
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
patches ? [ ],
|
||||
}:
|
||||
let
|
||||
version = "4.7.2";
|
||||
version = "4.7.3";
|
||||
in
|
||||
applyPatches {
|
||||
src = fetchFromGitHub {
|
||||
owner = "mastodon";
|
||||
repo = "mastodon";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-21tGRIUqPy9lWwgSOyLjCXPV9M/gBdCv1rZCsclDde0=";
|
||||
hash = "sha256-cKLjdk5FWcM4e5bh2P0W2UDP+9CKI6FgHH9vDnjg2xQ=";
|
||||
passthru = {
|
||||
inherit version;
|
||||
yarnHash = "sha256-PTyRdKzbDTjXtIWuaFK1zY3Q1ThTXTdoit+ZUKL7mGE=";
|
||||
|
||||
@@ -205,5 +205,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
scvalex
|
||||
];
|
||||
mainProgram = "tuwunel";
|
||||
broken = stdenv.hostPlatform.isDarwin; # macos build fails with a rocksdb linker error
|
||||
};
|
||||
})
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildGo127Module (finalAttrs: {
|
||||
pname = "nerva";
|
||||
version = "1.70.1";
|
||||
version = "1.70.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "praetorian-inc";
|
||||
repo = "nerva";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-8XEoNhczrDQ2vrgimfYxJ3jQFGsZmfM7vWTa6vfOmW0=";
|
||||
hash = "sha256-Mr41R2Quio/GJ4xCjR2vb/BJ2gUzS3BeqJtz4a0eOfU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Fjxs+JKq9Lv9wBQEjvSlEw9cpgm/Ye1l4iqdjRa8+X8=";
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
import textwrap
|
||||
import uuid
|
||||
@@ -47,9 +48,6 @@ SWITCH_TO_CONFIGURATION_CMD_PREFIX: Final = [
|
||||
"NIXOS_NO_CHECK",
|
||||
"--collect",
|
||||
"--no-ask-password",
|
||||
"--wait",
|
||||
"--verbose",
|
||||
"--output=cat",
|
||||
"--quiet",
|
||||
"--service-type=exec",
|
||||
"--unit=nixos-rebuild-switch-to-configuration",
|
||||
@@ -734,6 +732,10 @@ def switch_to_configuration(
|
||||
cmd = []
|
||||
elif os.environ.get("NIXOS_REBUILD_NO_SYSTEMD_RUN"):
|
||||
cmd = []
|
||||
elif _systemd_run_supports_output_cat(target_host):
|
||||
cmd = [*cmd, "--wait", "--verbose", "--output=cat"]
|
||||
else:
|
||||
cmd = [*cmd, "--pipe"]
|
||||
|
||||
run_wrapper(
|
||||
[*cmd, path_to_config / "bin/switch-to-configuration", str(action)],
|
||||
@@ -753,6 +755,23 @@ def switch_to_configuration(
|
||||
)
|
||||
|
||||
|
||||
# TODO: remove this after release-27.05 and assume systemd 261+
|
||||
def _systemd_run_supports_output_cat(target_host: Remote | None) -> bool:
|
||||
"""Check whether the target's systemd-run supports --output=cat (systemd 261+)."""
|
||||
try:
|
||||
result = run_wrapper(
|
||||
["systemd-run", "--version"],
|
||||
remote=target_host,
|
||||
capture_output=True,
|
||||
)
|
||||
except CalledProcessError:
|
||||
logger.debug("systemd-run version detection failed, assuming <261")
|
||||
return False
|
||||
|
||||
match = re.search(r"^systemd (\d+)(?:\D|$)", result.stdout, re.MULTILINE)
|
||||
return match is not None and int(match.group(1)) >= 261
|
||||
|
||||
|
||||
def upgrade_channels(
|
||||
all_channels: bool = False,
|
||||
elevate: Elevator = NO_ELEVATOR,
|
||||
|
||||
@@ -227,6 +227,8 @@ def test_execute_nix_boot(mock_run: Mock, tmp_path: Path) -> None:
|
||||
return CompletedProcess([], 0, "nixpkgs-rev")
|
||||
elif args[0] == "nix-build":
|
||||
return CompletedProcess([], 0, str(config_path))
|
||||
elif "systemd-run" in args and "--version" in args:
|
||||
return CompletedProcess([], 0, "systemd 261 (261.2)")
|
||||
else:
|
||||
return CompletedProcess([], 0)
|
||||
|
||||
@@ -234,7 +236,7 @@ def test_execute_nix_boot(mock_run: Mock, tmp_path: Path) -> None:
|
||||
|
||||
nr.execute(["nixos-rebuild", "boot", "--no-flake", "-vvv", "--no-reexec"])
|
||||
|
||||
assert mock_run.call_count == 8
|
||||
assert mock_run.call_count == 9
|
||||
mock_run.assert_has_calls(
|
||||
[
|
||||
call(
|
||||
@@ -289,9 +291,18 @@ def test_execute_nix_boot(mock_run: Mock, tmp_path: Path) -> None:
|
||||
check=False,
|
||||
**DEFAULT_RUN_KWARGS,
|
||||
),
|
||||
call(
|
||||
["systemd-run", "--version"],
|
||||
check=True,
|
||||
capture_output=True,
|
||||
**DEFAULT_RUN_KWARGS,
|
||||
),
|
||||
call(
|
||||
[
|
||||
*nr.nix.SWITCH_TO_CONFIGURATION_CMD_PREFIX,
|
||||
"--wait",
|
||||
"--verbose",
|
||||
"--output=cat",
|
||||
config_path / "bin/switch-to-configuration",
|
||||
"boot",
|
||||
],
|
||||
@@ -571,6 +582,8 @@ def test_execute_nix_switch_flake(mock_run: Mock, tmp_path: Path) -> None:
|
||||
return CompletedProcess([], 0, str(config_path))
|
||||
elif args[0] == "nix-instantiate":
|
||||
return CompletedProcess([], 1)
|
||||
elif "systemd-run" in args and "--version" in args:
|
||||
return CompletedProcess([], 0, "systemd 258 (258.2)")
|
||||
else:
|
||||
return CompletedProcess([], 0)
|
||||
|
||||
@@ -593,7 +606,7 @@ def test_execute_nix_switch_flake(mock_run: Mock, tmp_path: Path) -> None:
|
||||
]
|
||||
)
|
||||
|
||||
assert mock_run.call_count == 5
|
||||
assert mock_run.call_count == 6
|
||||
mock_run.assert_has_calls(
|
||||
[
|
||||
call(
|
||||
@@ -637,6 +650,12 @@ def test_execute_nix_switch_flake(mock_run: Mock, tmp_path: Path) -> None:
|
||||
check=False,
|
||||
**DEFAULT_RUN_KWARGS,
|
||||
),
|
||||
call(
|
||||
["systemd-run", "--version"],
|
||||
check=True,
|
||||
capture_output=True,
|
||||
**DEFAULT_RUN_KWARGS,
|
||||
),
|
||||
call(
|
||||
[
|
||||
"sudo",
|
||||
@@ -644,6 +663,7 @@ def test_execute_nix_switch_flake(mock_run: Mock, tmp_path: Path) -> None:
|
||||
"-i",
|
||||
"NIXOS_INSTALL_BOOTLOADER=1",
|
||||
*nr.nix.SWITCH_TO_CONFIGURATION_CMD_PREFIX,
|
||||
"--pipe",
|
||||
config_path / "bin/switch-to-configuration",
|
||||
"switch",
|
||||
],
|
||||
@@ -685,6 +705,8 @@ def test_execute_nix_switch_build_target_host_custom_profile(
|
||||
return CompletedProcess([], 0, "/tmp/tmpdir")
|
||||
elif args[0] == "ssh" and "readlink" in args:
|
||||
return CompletedProcess([], 0, str(config_path))
|
||||
elif "systemd-run" in args and "--version" in args:
|
||||
return CompletedProcess([], 0, "systemd 258 (258.2)")
|
||||
else:
|
||||
return CompletedProcess([], 0)
|
||||
|
||||
@@ -712,7 +734,7 @@ def test_execute_nix_switch_build_target_host_custom_profile(
|
||||
]
|
||||
)
|
||||
|
||||
assert mock_run.call_count == 13
|
||||
assert mock_run.call_count == 14
|
||||
mock_run.assert_has_calls(
|
||||
[
|
||||
call(
|
||||
@@ -901,6 +923,23 @@ def test_execute_nix_switch_build_target_host_custom_profile(
|
||||
check=False,
|
||||
**DEFAULT_RUN_KWARGS,
|
||||
),
|
||||
call(
|
||||
[
|
||||
"ssh",
|
||||
*nr.process.SSH_DEFAULT_OPTS,
|
||||
"user@target-host",
|
||||
"--",
|
||||
"/bin/sh",
|
||||
"-c",
|
||||
"""'exec /usr/bin/env -i PATH="${PATH-}" "$@"'""",
|
||||
"sh",
|
||||
"systemd-run",
|
||||
"--version",
|
||||
],
|
||||
check=True,
|
||||
capture_output=True,
|
||||
**DEFAULT_RUN_KWARGS,
|
||||
),
|
||||
call(
|
||||
[
|
||||
"ssh",
|
||||
@@ -913,6 +952,7 @@ def test_execute_nix_switch_build_target_host_custom_profile(
|
||||
"""'exec /usr/bin/env -i PATH="${PATH-}" LOCALE_ARCHIVE="${LOCALE_ARCHIVE-}" NIXOS_NO_CHECK="${NIXOS_NO_CHECK-}" NIXOS_INSTALL_BOOTLOADER=0 "$@"'""",
|
||||
"sh",
|
||||
*nr.nix.SWITCH_TO_CONFIGURATION_CMD_PREFIX,
|
||||
"--pipe",
|
||||
str(config_path / "bin/switch-to-configuration"),
|
||||
"switch",
|
||||
],
|
||||
@@ -944,6 +984,8 @@ def test_execute_nix_switch_flake_target_host(
|
||||
return CompletedProcess([], 0, str(config_path))
|
||||
elif args[0] == "nix-instantiate":
|
||||
return CompletedProcess([], 1)
|
||||
elif "systemd-run" in args and "--version" in args:
|
||||
return CompletedProcess([], 0, "systemd 258 (258.2)")
|
||||
else:
|
||||
return CompletedProcess([], 0)
|
||||
|
||||
@@ -962,7 +1004,7 @@ def test_execute_nix_switch_flake_target_host(
|
||||
]
|
||||
)
|
||||
|
||||
assert mock_run.call_count == 6
|
||||
assert mock_run.call_count == 7
|
||||
mock_run.assert_has_calls(
|
||||
[
|
||||
call(
|
||||
@@ -1027,6 +1069,23 @@ def test_execute_nix_switch_flake_target_host(
|
||||
check=False,
|
||||
**DEFAULT_RUN_KWARGS,
|
||||
),
|
||||
call(
|
||||
[
|
||||
"ssh",
|
||||
*nr.process.SSH_DEFAULT_OPTS,
|
||||
"user@localhost",
|
||||
"--",
|
||||
"/bin/sh",
|
||||
"-c",
|
||||
"""'exec /usr/bin/env -i PATH="${PATH-}" "$@"'""",
|
||||
"sh",
|
||||
"systemd-run",
|
||||
"--version",
|
||||
],
|
||||
check=True,
|
||||
capture_output=True,
|
||||
**DEFAULT_RUN_KWARGS,
|
||||
),
|
||||
call(
|
||||
[
|
||||
"ssh",
|
||||
@@ -1039,6 +1098,7 @@ def test_execute_nix_switch_flake_target_host(
|
||||
"""'exec /usr/bin/env -i PATH="${PATH-}" LOCALE_ARCHIVE="${LOCALE_ARCHIVE-}" NIXOS_NO_CHECK="${NIXOS_NO_CHECK-}" NIXOS_INSTALL_BOOTLOADER=0 "$@"'""",
|
||||
"sh",
|
||||
*nr.nix.SWITCH_TO_CONFIGURATION_CMD_PREFIX,
|
||||
"--pipe",
|
||||
str(config_path / "bin/switch-to-configuration"),
|
||||
"switch",
|
||||
],
|
||||
@@ -1072,6 +1132,8 @@ def test_execute_nix_switch_flake_build_host(
|
||||
return CompletedProcess([], 0, str(config_path))
|
||||
elif args[0] == "nix-instantiate":
|
||||
return CompletedProcess([], 1)
|
||||
elif "systemd-run" in args and "--version" in args:
|
||||
return CompletedProcess([], 0, "systemd 258 (258.2)")
|
||||
else:
|
||||
return CompletedProcess([], 0)
|
||||
|
||||
@@ -1089,7 +1151,7 @@ def test_execute_nix_switch_flake_build_host(
|
||||
]
|
||||
)
|
||||
|
||||
assert mock_run.call_count == 8
|
||||
assert mock_run.call_count == 9
|
||||
mock_run.assert_has_calls(
|
||||
[
|
||||
call(
|
||||
@@ -1164,9 +1226,16 @@ def test_execute_nix_switch_flake_build_host(
|
||||
check=False,
|
||||
**DEFAULT_RUN_KWARGS,
|
||||
),
|
||||
call(
|
||||
["systemd-run", "--version"],
|
||||
check=True,
|
||||
capture_output=True,
|
||||
**DEFAULT_RUN_KWARGS,
|
||||
),
|
||||
call(
|
||||
[
|
||||
*nr.nix.SWITCH_TO_CONFIGURATION_CMD_PREFIX,
|
||||
"--pipe",
|
||||
config_path / "bin/switch-to-configuration",
|
||||
"switch",
|
||||
],
|
||||
@@ -1527,7 +1596,7 @@ def test_execute_switch_store_path(mock_run: Mock, tmp_path: Path) -> None:
|
||||
)
|
||||
|
||||
# --store-path skips build and write_version_suffix, so only activation calls
|
||||
assert mock_run.call_count == 4
|
||||
assert mock_run.call_count == 5
|
||||
mock_run.assert_has_calls(
|
||||
[
|
||||
call(
|
||||
@@ -1552,9 +1621,16 @@ def test_execute_switch_store_path(mock_run: Mock, tmp_path: Path) -> None:
|
||||
check=False,
|
||||
**DEFAULT_RUN_KWARGS,
|
||||
),
|
||||
call(
|
||||
["systemd-run", "--version"],
|
||||
check=True,
|
||||
capture_output=True,
|
||||
**DEFAULT_RUN_KWARGS,
|
||||
),
|
||||
call(
|
||||
[
|
||||
*nr.nix.SWITCH_TO_CONFIGURATION_CMD_PREFIX,
|
||||
"--pipe",
|
||||
config_path / "bin/switch-to-configuration",
|
||||
"switch",
|
||||
],
|
||||
@@ -1600,9 +1676,15 @@ def test_execute_switch_store_path_target_host(
|
||||
)
|
||||
|
||||
# --store-path skips build and write_version_suffix, so only copy/activation calls
|
||||
assert mock_run.call_count == 6
|
||||
assert mock_run.call_count == 7
|
||||
mock_run.assert_has_calls(
|
||||
[
|
||||
call(
|
||||
["nix-instantiate", "--find-file", "nixos-system"],
|
||||
check=False,
|
||||
capture_output=True,
|
||||
**DEFAULT_RUN_KWARGS,
|
||||
),
|
||||
call(
|
||||
["nix-copy-closure", "--to", "user@remote-host", config_path],
|
||||
check=True,
|
||||
@@ -1662,6 +1744,23 @@ def test_execute_switch_store_path_target_host(
|
||||
check=False,
|
||||
**DEFAULT_RUN_KWARGS,
|
||||
),
|
||||
call(
|
||||
[
|
||||
"ssh",
|
||||
*nr.process.SSH_DEFAULT_OPTS,
|
||||
"user@remote-host",
|
||||
"--",
|
||||
"/bin/sh",
|
||||
"-c",
|
||||
"""'exec /usr/bin/env -i PATH="${PATH-}" "$@"'""",
|
||||
"sh",
|
||||
"systemd-run",
|
||||
"--version",
|
||||
],
|
||||
check=True,
|
||||
capture_output=True,
|
||||
**DEFAULT_RUN_KWARGS,
|
||||
),
|
||||
call(
|
||||
[
|
||||
"ssh",
|
||||
@@ -1674,6 +1773,7 @@ def test_execute_switch_store_path_target_host(
|
||||
"""'exec /usr/bin/env -i PATH="${PATH-}" LOCALE_ARCHIVE="${LOCALE_ARCHIVE-}" NIXOS_NO_CHECK="${NIXOS_NO_CHECK-}" NIXOS_INSTALL_BOOTLOADER=0 "$@"'""",
|
||||
"sh",
|
||||
*nr.nix.SWITCH_TO_CONFIGURATION_CMD_PREFIX,
|
||||
"--pipe",
|
||||
str(config_path / "bin/switch-to-configuration"),
|
||||
"switch",
|
||||
],
|
||||
|
||||
@@ -957,9 +957,16 @@ def test_switch_to_configuration_without_systemd_run_env_var(
|
||||
)
|
||||
|
||||
|
||||
@patch(
|
||||
get_qualified_name(n._systemd_run_supports_output_cat, n),
|
||||
autospec=True,
|
||||
return_value=True,
|
||||
)
|
||||
@patch(get_qualified_name(n.run_wrapper, n), autospec=True)
|
||||
def test_switch_to_configuration_with_systemd_run(
|
||||
mock_run: Mock, monkeypatch: MonkeyPatch
|
||||
mock_run: Mock,
|
||||
mock_supports_output_cat: Mock,
|
||||
monkeypatch: MonkeyPatch,
|
||||
) -> None:
|
||||
profile_path = Path("/path/to/profile")
|
||||
config_path = Path("/path/to/config")
|
||||
@@ -979,6 +986,9 @@ def test_switch_to_configuration_with_systemd_run(
|
||||
mock_run.assert_called_with(
|
||||
[
|
||||
*n.SWITCH_TO_CONFIGURATION_CMD_PREFIX,
|
||||
"--wait",
|
||||
"--verbose",
|
||||
"--output=cat",
|
||||
profile_path / "bin/switch-to-configuration",
|
||||
"switch",
|
||||
],
|
||||
@@ -992,6 +1002,7 @@ def test_switch_to_configuration_with_systemd_run(
|
||||
stdout=sys.stderr,
|
||||
)
|
||||
|
||||
mock_supports_output_cat.return_value = False
|
||||
target_host = m.Remote("user@localhost", [], "ssh")
|
||||
with monkeypatch.context() as mp:
|
||||
mp.setenv("LOCALE_ARCHIVE", "/path/to/locale")
|
||||
@@ -1009,6 +1020,7 @@ def test_switch_to_configuration_with_systemd_run(
|
||||
mock_run.assert_called_with(
|
||||
[
|
||||
*n.SWITCH_TO_CONFIGURATION_CMD_PREFIX,
|
||||
"--pipe",
|
||||
config_path / "specialisation/special/bin/switch-to-configuration",
|
||||
"test",
|
||||
],
|
||||
@@ -1023,6 +1035,33 @@ def test_switch_to_configuration_with_systemd_run(
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("version_output", "expected"),
|
||||
[
|
||||
("systemd 260 (260.1)\n", False),
|
||||
(
|
||||
textwrap.dedent("""\
|
||||
systemd 261 (261.2)
|
||||
+PAM +AUDIT -SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK -BTF -XKBCOMMON +UTMP +LIBARCHIVE
|
||||
"""),
|
||||
True,
|
||||
),
|
||||
("systemd 270 (270.2)\n", True),
|
||||
("unexpected output\n", False),
|
||||
],
|
||||
)
|
||||
@patch(get_qualified_name(n.run_wrapper, n), autospec=True)
|
||||
def test_systemd_run_supports_output_cat(
|
||||
mock_run: Mock, version_output: str, expected: bool
|
||||
) -> None:
|
||||
mock_run.return_value = CompletedProcess([], 0, stdout=version_output)
|
||||
|
||||
assert n._systemd_run_supports_output_cat(None) is expected
|
||||
mock_run.assert_called_once_with(
|
||||
["systemd-run", "--version"], remote=None, capture_output=True
|
||||
)
|
||||
|
||||
|
||||
@patch("os.geteuid", autospec=True, return_value=1000)
|
||||
@patch(get_qualified_name(n.run_wrapper, n), autospec=True)
|
||||
def test_upgrade_channels(mock_run: Mock, mock_geteuid: Mock, tmpdir: Path) -> None:
|
||||
|
||||
@@ -33,7 +33,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
env.NIX_CFLAGS_COMPILE = "-std=gnu17";
|
||||
|
||||
meta = {
|
||||
homepage = "http://monkey.org/~marius/nylon";
|
||||
description = "Proxy server, supporting SOCKS 4 and 5, as well as a mirror mode";
|
||||
license = lib.licenses.bsdOriginal;
|
||||
maintainers = with lib.maintainers; [ edwtjo ];
|
||||
|
||||
@@ -42,7 +42,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "http://wiki.muiline.com/obex-data-server";
|
||||
platforms = lib.platforms.linux;
|
||||
license = lib.licenses.gpl2Plus;
|
||||
};
|
||||
|
||||
@@ -84,7 +84,7 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "opencode";
|
||||
version = "1.18.33";
|
||||
version = "1.18.34";
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
@@ -93,7 +93,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "anomalyco";
|
||||
repo = "opencode";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-x1ZG4/zsL1/EfpelNByRMi5mSHumXfmoq/LPQ3+jhrc=";
|
||||
hash = "sha256-ygTBG79utH0A1Dmg+tjEeTA633bLO0OfDdi6AwwQnZw=";
|
||||
};
|
||||
|
||||
postPatch =
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
let
|
||||
package = buildGo127Module rec {
|
||||
pname = "opentofu";
|
||||
version = "1.13.0";
|
||||
version = "1.13.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "opentofu";
|
||||
repo = "opentofu";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-GPnmjDX0OTlf7X+tYB/ii3FqoBaSXmUFjoMKPRvS+1I=";
|
||||
hash = "sha256-F9F8/g3Ge7YDUgI6beB/DeinliuHr+sRM/14eHc02uo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-NwHu+t6GFPCGMLt9PHdz+PMAzcrUBGXwmi5vvl2NsEw=";
|
||||
|
||||
@@ -19,13 +19,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "par-lang";
|
||||
version = "0-unstable-2026-09-20";
|
||||
version = "0-unstable-2026-09-28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "par-team";
|
||||
repo = "par-lang";
|
||||
rev = "dc0d3dfecd483b6df960d9d4a00676d0449be4cf";
|
||||
hash = "sha256-7IoXCRuCyTuWBocd0xM33t8JySIoS7NaCnNdj9KWwI4=";
|
||||
rev = "553fbca88e8973aed81f1428cfca2efcd020207e";
|
||||
hash = "sha256-93rHznhzTC/pC6A7Q6dDbbGdN0OjAIUk8RZ6Mbt2uM8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-wRgSLBFQKsv8mJL0mdwkcHJqMKhuVj0rcfqvm6JNlSM=";
|
||||
|
||||
@@ -21,8 +21,8 @@ let
|
||||
|
||||
inherit (yarn-berry_4-fetcher) fetchYarnBerryDeps yarnBerryConfigHook;
|
||||
|
||||
yarnLock = runCommand "yarn-v9.lock" { } ''
|
||||
sed -e 's/^ version: 8$/ version: 9/' ${src}/yarn.lock > $out
|
||||
yarnLock = runCommand "yarn-v10.lock" { } ''
|
||||
sed -e 's/^ version: 8$/ version: 10/' ${src}/yarn.lock > $out
|
||||
'';
|
||||
|
||||
python = python3;
|
||||
@@ -76,7 +76,7 @@ let
|
||||
|
||||
offlineCache = fetchYarnBerryDeps {
|
||||
inherit yarnLock;
|
||||
hash = "sha256-VVew6/rjc0Uz6xM2komL9Sceym3vFrGnAqrdLtGxQVI=";
|
||||
hash = "sha256-jdYmtAbEhZwaNGmUVTyvz4ejhTRJg95fsy+7r8dwWS8=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -145,7 +145,8 @@ python.pkgs.buildPythonApplication (finalAttrs: {
|
||||
psycopg2
|
||||
];
|
||||
};
|
||||
postBuild = ''
|
||||
|
||||
preBuild = ''
|
||||
# Generate all static files and translations, see
|
||||
# https://docs.pretalx.org/administrator/commands.html#python-m-pretalx-rebuild
|
||||
PYTHONPATH=$PYTHONPATH:./src python -m pretalx rebuild
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
libx11,
|
||||
libxcursor,
|
||||
libxext,
|
||||
libxkbcommon,
|
||||
libxrandr,
|
||||
libxxf86vm,
|
||||
openal,
|
||||
@@ -107,6 +108,7 @@ symlinkJoin {
|
||||
libxxf86vm
|
||||
wayland
|
||||
libdecor
|
||||
libxkbcommon
|
||||
|
||||
udev # oshi
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "prowler";
|
||||
version = "5.43.0";
|
||||
version = "5.44.0";
|
||||
pyproject = true;
|
||||
|
||||
__structuredAttrs = true;
|
||||
@@ -17,7 +17,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
owner = "prowler-cloud";
|
||||
repo = "prowler";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-eh3LitCEVqd60rZ+C9yh+3vnTNYlEziQzj7on/rTkIU=";
|
||||
hash = "sha256-dqj1yP0nnoNpkaCmqKwtm3dQuejT27znNg4+GAeB858=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -33,7 +33,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = {
|
||||
description = "Show the set of running processes as a tree";
|
||||
homepage = "http://www.thp.uni-duisburg.de/pstree/";
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = [ ];
|
||||
platforms = lib.platforms.unix;
|
||||
|
||||
@@ -10,12 +10,12 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "rgbds";
|
||||
version = "1.0.3";
|
||||
version = "1.0.4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "gbdev";
|
||||
repo = "rgbds";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-m9iqBXM9qcvBKiTpVhKmRyOD4nd5fBwbGcWIOZJvjSI=";
|
||||
hash = "sha256-NNw0ZsUEpbmTGq8GZqAszi3Im1Pj331xNSYa7Aq2wWM=";
|
||||
};
|
||||
nativeBuildInputs = [
|
||||
bison
|
||||
|
||||
@@ -13,7 +13,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
urls = [
|
||||
"https://src.fedoraproject.org/repo/pkgs/rogue/rogue${finalAttrs.version}-src.tar.gz/033288f46444b06814c81ea69d96e075/rogue${finalAttrs.version}-src.tar.gz"
|
||||
"http://ftp.vim.org/ftp/pub/ftp/os/Linux/distr/slitaz/sources/packages-cooking/r/rogue${finalAttrs.version}-src.tar.gz"
|
||||
"http://rogue.rogueforge.net/files/rogue${lib.versions.majorMinor finalAttrs.version}/rogue${finalAttrs.version}-src.tar.gz"
|
||||
];
|
||||
sha256 = "18g81274d0f7sr04p7h7irz0d53j6kd9j1y3zbka1gcqq0gscdvx";
|
||||
};
|
||||
@@ -23,7 +22,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
env.NIX_CFLAGS_COMPILE = "-std=gnu17";
|
||||
|
||||
meta = {
|
||||
homepage = "http://rogue.rogueforge.net/rogue-5-4/";
|
||||
description = "Final version of the original Rogue game developed for the UNIX operating system";
|
||||
mainProgram = "rogue";
|
||||
platforms = lib.platforms.all;
|
||||
|
||||
@@ -47,7 +47,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "http://support.identiv.com/products";
|
||||
description = "PCSC drivers for linux, for the SCM SCR3310 v2.0 card and others";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
license = lib.licenses.unfree;
|
||||
|
||||
@@ -30,6 +30,7 @@ let
|
||||
"aarch64-darwin"
|
||||
];
|
||||
mainProgram = "slack";
|
||||
mainDarwinApp = "Slack.app";
|
||||
};
|
||||
in
|
||||
callPackage (if stdenvNoCC.hostPlatform.isDarwin then ./darwin.nix else ./linux.nix) {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user