Merge remote-tracking branch 'origin/master' into staging-next
This commit is contained in:
commit
259974ed6c
@ -879,399 +879,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
})
|
||||
```
|
||||
|
||||
### buildDenoPackage {#javascript-buildDenoPackage}
|
||||
|
||||
`buildDenoPackage` allows you to package [Deno](https://deno.com/) projects in Nixpkgs without the use of an auto-generated dependencies file (as used in [node2nix](#javascript-node2nix)).
|
||||
It works by utilizing Deno's cache functionality -- creating a reproducible cache that contains the dependencies of a project, and pointing Deno to it.
|
||||
|
||||
#### buildDenoDeps {#javascript-buildDenoPackage-buildDenoDeps}
|
||||
|
||||
For every `buildDenoPackage`, first, a [fixed output derivation](https://nix.dev/manual/nix/2.18/language/advanced-attributes.html#adv-attr-outputHash) is
|
||||
created with all the dependencies mentioned in the `deno.lock`.
|
||||
This works as follows:
|
||||
1. They are installed using `deno install`.
|
||||
1. All non-reproducible data is pruned.
|
||||
1. The directories `.deno`, `node_modules` and `vendor` are copied to `$out`.
|
||||
1. The output of the FOD is checked against the `denoDepsHash`.
|
||||
1. The output is copied into the build of `buildDenoPackage`, which is not an FOD.
|
||||
1. The dependencies are installed again using `deno install`, this time from the local cache only.
|
||||
|
||||
The `buildDenoDeps` derivation is in `passthru`, so it can be accessed from a `buildDenoPackage` derivation with `.denoDeps`
|
||||
|
||||
Related options:
|
||||
|
||||
*`denoDepsHash`* (String)
|
||||
|
||||
: The output hash of the `buildDenoDeps` fixed output derivation.
|
||||
|
||||
*`denoInstallFlags`* (Array of strings; optional)
|
||||
|
||||
: The Flags passed to `deno install`.
|
||||
|
||||
: _Default:_ `[ "--allow-scripts" "--frozen" "--cached-only" ]` for `buildDenoPackage`
|
||||
: _Default:_ `[ "--allow-scripts" "--frozen" ]` for `buildDenoDeps` (`"--cached-only"` is filtered out)
|
||||
|
||||
::: {.tip}
|
||||
If you receive errors like these:
|
||||
|
||||
```
|
||||
error: The lockfile is out of date. Run `deno install --frozen=false`, or rerun with `--frozen=false` to update it.
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```
|
||||
error: Import '<url>' failed.
|
||||
0: error sending request for url (<url>): client error (Connect): dns error: failed to lookup address information: Temporary failure in name resolution: failed to lookup address information:Temporary failure in name resolution
|
||||
1: client error (Connect)
|
||||
2: dns error: failed to lookup address information: Temporary failure in name resolution
|
||||
3: failed to lookup address information: Temporary failure in name resolution
|
||||
at file:///build/source/src/lib/helpers/verifyRequest.ts:2:21
|
||||
build for <your-package> failed in buildPhase with exit code 1
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```
|
||||
error: Specifier not found in cache: "<url>", --cached-only is specified.
|
||||
|
||||
ERROR: deno failed to install dependencies
|
||||
```
|
||||
|
||||
This can happen due to the `deno install` command deducing different packages than what the actual package needs.
|
||||
|
||||
To fix this, add the entrypoint to the install flags:
|
||||
|
||||
```nix
|
||||
{ buildDenoPackage, nix-gitignore }:
|
||||
buildDenoPackage {
|
||||
pname = "myPackage";
|
||||
version = "0.1.0";
|
||||
denoDepsHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
||||
src = nix-gitignore.gitignoreSource [ ] ./.;
|
||||
binaryEntrypointPath = "main.ts";
|
||||
denoInstallFlags = [
|
||||
"--allow-scripts"
|
||||
"--frozen"
|
||||
"--cached-only"
|
||||
"--entrypoint"
|
||||
"<path/to/entrypoint/script>"
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
#### Private registries {#javascript-buildDenoPackage-private-registries}
|
||||
There are currently 2 options, which enable the use of private registries in a `buildDenoPackage` derivation.
|
||||
|
||||
*`denoDepsImpureEnvVars`* (Array of strings; optional)
|
||||
|
||||
: Names of impure environment variables passed to the `buildDenoDeps` derivation. They are forwarded to `deno install`.
|
||||
|
||||
: _Example:_ `[ "NPM_TOKEN" ]`
|
||||
|
||||
: It can be used to set tokens for private NPM registries (in a `.npmrc` file).
|
||||
|
||||
: In a single-user installation of Nix, you can put the variables into the environment, when running the nix build.
|
||||
|
||||
: In multi-user installations of Nix, it's necessary to set the environment variables in the nix-daemon, probably with systemd.
|
||||
|
||||
:::{.example}
|
||||
|
||||
##### configure nix-daemon {#javascript-buildDenoPackage-private-registries-daemon-example}
|
||||
In NixOS:
|
||||
|
||||
```nix
|
||||
# configuration.nix
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
systemd.services.nix-daemon.environment.NPM_TOKEN = "<token>";
|
||||
}
|
||||
```
|
||||
|
||||
In other Linux distributions use
|
||||
|
||||
```
|
||||
$ sudo systemctl edit nix-daemon
|
||||
$ sudo systemctl cat nix-daemon
|
||||
$ sudo systemctl restart nix-daemon
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
*`denoDepsInjectedEnvVars`* (Attrset; optional)
|
||||
|
||||
: Environment variables as key value pairs. They are forwarded to `deno install`.
|
||||
|
||||
: _Example:_ `{ "NPM_TOKEN" = "<token>"; }`
|
||||
|
||||
: It can be used to set tokens for private NPM registries (in a `.npmrc` file).
|
||||
You could pass these tokens from the Nix CLI with `--arg`,
|
||||
however this can hurt the reproducibility of your builds and such an injected
|
||||
token will also need to be injected in every build that depends on this build.
|
||||
|
||||
:::{.example}
|
||||
|
||||
##### example `.npmrc` {#javascript-buildDenoPackage-private-registries-npmrc-example}
|
||||
|
||||
```ini
|
||||
@<scope>:registry=https://<domain>/<path to private registry>
|
||||
//<domain>/<path to private registry>:_authToken=${NPM_TOKEN}
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
::: {.caution}
|
||||
|
||||
Hardcoding a token into your NixOS configuration or some other nix build, will as a consequence write that token into `/nix/store`, which is considered world readable.
|
||||
|
||||
:::
|
||||
|
||||
::: {.note}
|
||||
Neither approach is ideal. For `buildNpmPackage`, there exists a third
|
||||
option called `sourceOverrides`, which allows the user to inject Nix packages into
|
||||
the output `node_modules` folder.
|
||||
Since a Nix build implicitly uses the SSH keys of the machine,
|
||||
this offers a third option to access private packages.
|
||||
But this creates the requirement, that the imported package is packaged with nix first,
|
||||
and that the source code can be retrieved with SSH.
|
||||
This is possible for Deno, too, albeit it not
|
||||
completely analogous to `buildNpmPackage`'s solution.
|
||||
However, it has not been implemented yet.
|
||||
:::
|
||||
|
||||
#### Compile to binary {#javascript-buildDenoPackage-compile-to-binary}
|
||||
|
||||
It's possible to compile a Deno project to a single binary using `deno compile`.
|
||||
The binary will be named like the `.name` property in `deno.json`, if available,
|
||||
or the `name` attribute of the derivation.
|
||||
|
||||
:::{.caution}
|
||||
When using packages with a `npm:` specifier, the resulting binary will not be reproducible.
|
||||
See [this issue](https://github.com/denoland/deno/issues/29619) for more information.
|
||||
:::
|
||||
|
||||
Related options:
|
||||
|
||||
*`hostPlatform`* (String; optional)
|
||||
|
||||
: The [host platform](#ssec-cross-platform-parameters) the binary is built for.
|
||||
|
||||
: _Default:_ `builtins.currentSystem`.
|
||||
|
||||
: _Supported values:_
|
||||
- `"x86_64-darwin"`
|
||||
- `"aarch64-darwin"`
|
||||
- `"x86_64-linux"`
|
||||
- `"aarch64-linux"`
|
||||
|
||||
*`denoCompileFlags`* (Array of string; optional)
|
||||
|
||||
: Flags passed to `deno compile [denoTaskFlags] ${binaryEntrypointPath} [extraCompileFlags]`.
|
||||
|
||||
*`extraCompileFlags`* (Array of string; optional)
|
||||
|
||||
: Flags passed to `deno compile [denoTaskFlags] ${binaryEntrypointPath} [extraCompileFlags]`.
|
||||
|
||||
*`binaryEntrypointPath`* (String or null; optional)
|
||||
|
||||
: If not `null`, a binary is created using the specified path as the entry point.
|
||||
The binary is copied to `$out/bin` in the `installPhase`.
|
||||
|
||||
: _Default:_ `null`
|
||||
|
||||
: It's prefixed by `denoWorkspacePath`.
|
||||
|
||||
*`denortPackage`* (Derivation; optional)
|
||||
|
||||
: The package used as the Deno runtime, which is bundled with the JavaScript code to create the binary.
|
||||
|
||||
: _Default:_ `pkgs.denort`
|
||||
|
||||
: Don't use `pkgs.deno` for this, since that is the full Deno CLI, with all the development tooling.
|
||||
|
||||
: If you're cross compiling, this needs to be the `denort` of the `hostPlatform`.
|
||||
|
||||
::: {.note}
|
||||
The binary will be dynamically linked and not executable on NixOS without [nix-ld](https://github.com/nix-community/nix-ld)
|
||||
or [other methods](https://unix.stackexchange.com/questions/522822/different-methods-to-run-a-non-nixos-executable-on-nixos).
|
||||
|
||||
```nix
|
||||
# configuration.nix
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.nix-ld.enable = true;
|
||||
programs.nix-ld.libraries = with pkgs; [
|
||||
glibc
|
||||
gcc-unwrapped
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
:::{.example}
|
||||
|
||||
##### example binary build {#javascript-buildDenoPackage-compile-to-binary-example}
|
||||
|
||||
```nix
|
||||
{ buildDenoPackage, nix-gitignore }:
|
||||
buildDenoPackage {
|
||||
pname = "myPackage";
|
||||
version = "0.1.0";
|
||||
denoDepsHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
||||
src = nix-gitignore.gitignoreSource [ ] ./.;
|
||||
binaryEntrypointPath = "main.ts";
|
||||
}
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
#### Create artifacts in the build {#javascript-buildDenoPackage-artifacts-in-build}
|
||||
|
||||
Instead of compiling to a binary, `deno task` can be executed inside the build
|
||||
to produce some artifact, which can then be copied out in the `installPhase`.
|
||||
|
||||
Related options:
|
||||
|
||||
*`denoTaskScript`* (String; optional)
|
||||
|
||||
: The task in `deno.json` that's executed with `deno task`.
|
||||
|
||||
: _Default:_ `"build"`
|
||||
|
||||
*`denoTaskFlags`* (Array of strings; optional)
|
||||
|
||||
: The flags passed to `deno task [denoTaskFlags] ${denoTaskScript} [extraTaskFlags]`.
|
||||
|
||||
*`extraTaskFlags`* (Array of strings; optional)
|
||||
|
||||
: The flags passed to `deno task [denoTaskFlags] ${denoTaskScript} [extraTaskFlags]`.
|
||||
|
||||
*`denoTaskPrefix`* (String; optional)
|
||||
|
||||
: An unquoted string injected before `deno task`.
|
||||
|
||||
*`denoTaskSuffix`* (String; optional)
|
||||
|
||||
: An unquoted string injected after `deno task` and all its flags. For example to pipe stdout to a file.
|
||||
|
||||
:::{.example}
|
||||
|
||||
##### example artifact build {#javascript-buildDenoPackage-artifacts-in-build-example}
|
||||
|
||||
`deno.json`
|
||||
|
||||
```json
|
||||
{
|
||||
"tasks": {
|
||||
"build": "deno run --allow-all main.ts"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```nix
|
||||
{ buildDenoPackage, nix-gitignore }:
|
||||
buildDenoPackage {
|
||||
pname = "myPackage";
|
||||
version = "0.1.0";
|
||||
denoDepsHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
|
||||
src = nix-gitignore.gitignoreSource [ ] ./.;
|
||||
denoTaskSuffix = ">out.txt";
|
||||
installPhase = ''
|
||||
cp ./out.txt $out
|
||||
'';
|
||||
}
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
#### Workspaces {#javascript-buildDenoPackage-workspaces}
|
||||
|
||||
Deno's workspaces are supported.
|
||||
|
||||
To make them work, the whole project needs to be added as source, since the `deno.lock`
|
||||
is always in the root of the project and contains all dependencies.
|
||||
|
||||
This means a build with only the required dependencies of a workspace is not possible.
|
||||
Also, the `denoDepsHash` for all workspaces is the same, since they
|
||||
all share the same dependencies.
|
||||
|
||||
When [running a task inside the build](#javascript-buildDenoPackage-artifacts-in-build),
|
||||
`denoWorkspacePath` can be used to let the task run inside a workspace.
|
||||
|
||||
When [compiling to a binary](#javascript-buildDenoPackage-compile-to-binary),
|
||||
`binaryEntrypointPath` is prefixed by `denoWorkspacePath`.
|
||||
|
||||
Related options:
|
||||
|
||||
*`denoWorkspacePath`* (String; optional)
|
||||
|
||||
: The path to a workspace.
|
||||
|
||||
:::{.example}
|
||||
|
||||
##### example workspaces {#javascript-buildDenoPackage-workspaces-example}
|
||||
|
||||
```nix
|
||||
{ buildDenoPackage, nix-gitignore }:
|
||||
rec {
|
||||
sub1 = buildDenoPackage {
|
||||
pname = "sub1";
|
||||
version = "0.1.0";
|
||||
denoDepsHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
|
||||
src = nix-gitignore.gitignoreSource [ ] ./.;
|
||||
denoWorkspacePath = "./sub1";
|
||||
denoTaskFlags = [
|
||||
"--text"
|
||||
"sub1"
|
||||
];
|
||||
denoTaskSuffix = ">out.txt";
|
||||
installPhase = ''
|
||||
cp out.txt $out
|
||||
'';
|
||||
};
|
||||
sub2 = buildDenoPackage {
|
||||
# Note that we are reusing denoDeps and src,
|
||||
# since they must be the same for both workspaces.
|
||||
inherit (sub1) denoDeps src;
|
||||
pname = "sub2";
|
||||
version = "0.1.0";
|
||||
denoWorkspacePath = "./sub2";
|
||||
binaryEntrypointPath = "./main.ts";
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
#### Other Options {#javascript-buildDenoPackage-other-options}
|
||||
|
||||
*`denoDir`* (String; optional)
|
||||
|
||||
: `DENO_DIR` will be set to this value for all `deno` commands.
|
||||
|
||||
*`denoFlags`* (Array of string; optional)
|
||||
|
||||
: The flags passed to all `deno` commands.
|
||||
|
||||
*`denoPackage`* (Derivation; optional)
|
||||
|
||||
: The Deno CLI used for all `deno` commands inside the build.
|
||||
|
||||
: _Default:_ `pkgs.deno`
|
||||
|
||||
## Outside Nixpkgs {#javascript-outside-nixpkgs}
|
||||
|
||||
There are some other tools available, which are written in the Nix language.
|
||||
|
@ -3390,42 +3390,6 @@
|
||||
"javascript-nix-npm-buildpackage-pitfalls": [
|
||||
"index.html#javascript-nix-npm-buildpackage-pitfalls"
|
||||
],
|
||||
"javascript-buildDenoPackage-workspaces-example": [
|
||||
"index.html#javascript-buildDenoPackage-workspaces-example"
|
||||
],
|
||||
"javascript-buildDenoPackage-private-registries": [
|
||||
"index.html#javascript-buildDenoPackage-private-registries"
|
||||
],
|
||||
"javascript-buildDenoPackage-buildDenoDeps": [
|
||||
"index.html#javascript-buildDenoPackage-buildDenoDeps"
|
||||
],
|
||||
"javascript-buildDenoPackage-artifacts-in-build": [
|
||||
"index.html#javascript-buildDenoPackage-artifacts-in-build"
|
||||
],
|
||||
"javascript-buildDenoPackage-artifacts-in-build-example": [
|
||||
"index.html#javascript-buildDenoPackage-artifacts-in-build-example"
|
||||
],
|
||||
"javascript-buildDenoPackage-private-registries-daemon-example": [
|
||||
"index.html#javascript-buildDenoPackage-private-registries-daemon-example"
|
||||
],
|
||||
"javascript-buildDenoPackage-private-registries-npmrc-example": [
|
||||
"index.html#javascript-buildDenoPackage-private-registries-npmrc-example"
|
||||
],
|
||||
"javascript-buildDenoPackage-compile-to-binary-example": [
|
||||
"index.html#javascript-buildDenoPackage-compile-to-binary-example"
|
||||
],
|
||||
"javascript-buildDenoPackage-workspaces": [
|
||||
"index.html#javascript-buildDenoPackage-workspaces"
|
||||
],
|
||||
"javascript-buildDenoPackage": [
|
||||
"index.html#javascript-buildDenoPackage"
|
||||
],
|
||||
"javascript-buildDenoPackage-other-options": [
|
||||
"index.html#javascript-buildDenoPackage-other-options"
|
||||
],
|
||||
"javascript-buildDenoPackage-compile-to-binary": [
|
||||
"index.html#javascript-buildDenoPackage-compile-to-binary"
|
||||
],
|
||||
"language-julia": [
|
||||
"index.html#language-julia"
|
||||
],
|
||||
|
@ -551,8 +551,6 @@
|
||||
|
||||
- `ddclient` was updated from 3.11.2 to 4.0.0 [Release notes](https://github.com/ddclient/ddclient/releases/tag/v4.0.0)
|
||||
|
||||
- `buildDenoPackage` was added [see docs](https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/javascript.section.md#avascript-buildDenoPackage) for more details
|
||||
|
||||
## Nixpkgs Library {#sec-nixpkgs-release-25.05-lib}
|
||||
|
||||
### Breaking changes {#sec-nixpkgs-release-25.05-lib-breaking}
|
||||
|
@ -1648,6 +1648,12 @@
|
||||
github = "angaz";
|
||||
githubId = 10219618;
|
||||
};
|
||||
angelodlfrtr = {
|
||||
name = "Angelo Delefortrie";
|
||||
email = "angelo.delefortrie@gmail.com";
|
||||
github = "angelodlfrtr";
|
||||
githubId = 5405598;
|
||||
};
|
||||
angristan = {
|
||||
email = "angristan@pm.me";
|
||||
github = "angristan";
|
||||
@ -11626,6 +11632,13 @@
|
||||
githubId = 110620;
|
||||
name = "Jevin Maltais";
|
||||
};
|
||||
jezcope = {
|
||||
email = "j.cope@erambler.co.uk";
|
||||
github = "jezcope";
|
||||
githubId = 457628;
|
||||
name = "Jez Cope";
|
||||
keys = [ { fingerprint = "D9DA 3E47 E8BD 377D A317 B3D0 9E42 CE07 1C45 59D1"; } ];
|
||||
};
|
||||
jfchevrette = {
|
||||
email = "jfchevrette@gmail.com";
|
||||
github = "jfchevrette";
|
||||
@ -20068,6 +20081,12 @@
|
||||
githubId = 24578572;
|
||||
name = "Blake North";
|
||||
};
|
||||
powwu = {
|
||||
name = "powwu";
|
||||
email = "hello@powwu.sh";
|
||||
github = "powwu";
|
||||
githubId = 20643401;
|
||||
};
|
||||
poz = {
|
||||
name = "Jacek Poziemski";
|
||||
email = "poz@poz.pet";
|
||||
|
@ -57,7 +57,7 @@
|
||||
users.users.alice.extraGroups = [ "wheel" ];
|
||||
users.users.bob.extraGroups = [ "wheel" ];
|
||||
|
||||
# Disable sudo for root to ensure sudo isn't called without `--use-remote-sudo`
|
||||
# Disable sudo for root to ensure sudo isn't called without `--sudo`
|
||||
security.sudo.extraRules = lib.mkForce [
|
||||
{
|
||||
groups = [ "wheel" ];
|
||||
@ -170,20 +170,20 @@
|
||||
# Ensure sudo is disabled for root
|
||||
target.fail("sudo true")
|
||||
|
||||
# This test also ensures that sudo is not called without --use-remote-sudo
|
||||
# This test also ensures that sudo is not called without --sudo
|
||||
with subtest("Deploy to root@target"):
|
||||
deployer.succeed("nixos-rebuild switch -I nixos-config=/root/configuration-1.nix --target-host root@target &>/dev/console")
|
||||
target_hostname = deployer.succeed("ssh alice@target cat /etc/hostname").rstrip()
|
||||
assert target_hostname == "config-1-deployed", f"{target_hostname=}"
|
||||
|
||||
with subtest("Deploy to alice@target with passwordless sudo"):
|
||||
deployer.succeed("nixos-rebuild switch -I nixos-config=/root/configuration-2.nix --target-host alice@target --use-remote-sudo &>/dev/console")
|
||||
deployer.succeed("nixos-rebuild switch -I nixos-config=/root/configuration-2.nix --target-host alice@target --sudo &>/dev/console")
|
||||
target_hostname = deployer.succeed("ssh alice@target cat /etc/hostname").rstrip()
|
||||
assert target_hostname == "config-2-deployed", f"{target_hostname=}"
|
||||
|
||||
with subtest("Deploy to bob@target with password based sudo"):
|
||||
# TODO: investigate why --ask-sudo-password from nixos-rebuild-ng is not working here
|
||||
deployer.succeed(r'${lib.optionalString withNg "NIX_SSHOPTS=-t "}passh -c 3 -C -p ${nodes.target.users.users.bob.password} -P "\[sudo\] password" nixos-rebuild switch -I nixos-config=/root/configuration-3.nix --target-host bob@target --use-remote-sudo &>/dev/console')
|
||||
deployer.succeed(r'${lib.optionalString withNg "NIX_SSHOPTS=-t "}passh -c 3 -C -p ${nodes.target.users.users.bob.password} -P "\[sudo\] password" nixos-rebuild switch -I nixos-config=/root/configuration-3.nix --target-host bob@target --sudo &>/dev/console')
|
||||
target_hostname = deployer.succeed("ssh alice@target cat /etc/hostname").rstrip()
|
||||
assert target_hostname == "config-3-deployed", f"{target_hostname=}"
|
||||
|
||||
|
@ -56,13 +56,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mixxx";
|
||||
version = "2.5.1";
|
||||
version = "2.5.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mixxxdj";
|
||||
repo = "mixxx";
|
||||
rev = version;
|
||||
hash = "sha256-s66XrcMGgA8KvBDxljg95nbKW1pIv8rJJ+DyxirHwDo=";
|
||||
hash = "sha256-dKk3n3KDindnLbON52SW5h4cz96WVi0OPjwA27HqQCI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -190,7 +190,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
PLUG=$vim/share/vim-plugins/notmuch/plugin/notmuch.vim
|
||||
cat >> $PLUG << EOF
|
||||
let \$GEM_PATH=\$GEM_PATH . ":${finalAttrs.passthru.gemEnv}/${ruby.gemPath}"
|
||||
let \$RUBYLIB=\$RUBYLIB . ":$vim/${ruby.libPath}/${ruby.system}"
|
||||
let \$RUBYLIB=\$RUBYLIB . ":$out/${ruby.libPath}/${ruby.system}"
|
||||
if has('nvim')
|
||||
EOF
|
||||
for gem in ${finalAttrs.passthru.gemEnv}/${ruby.gemPath}/gems/*/lib; do
|
||||
|
@ -39,11 +39,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gnunet";
|
||||
version = "0.24.1";
|
||||
version = "0.24.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/gnunet/gnunet-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-xPj50l06APgHCVg7h6qDEtAUVAkLc6QTtD7H7HwHujk=";
|
||||
hash = "sha256-Lk5KkH2UJ/DD3U1nlczq9yzPOX6dyWH2DtvvMAb2r0c=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -1,172 +0,0 @@
|
||||
# NOTE: much of this structure is inspired from https://github.com/NixOS/nixpkgs/tree/fff29a3e5f7991512e790617d1a693df5f3550f6/pkgs/build-support/node
|
||||
{
|
||||
stdenvNoCC,
|
||||
deno,
|
||||
denort,
|
||||
diffutils,
|
||||
zip,
|
||||
jq,
|
||||
fetchDenoDeps,
|
||||
buildPackages,
|
||||
lib,
|
||||
}:
|
||||
{
|
||||
name ? "${args.pname}-${args.version}",
|
||||
src ? null,
|
||||
# The output hash of the dependencies for this project.
|
||||
denoDepsHash ? lib.fakeHash,
|
||||
# The host platform, the output binary is compiled for.
|
||||
hostPlatform ? stdenvNoCC.hostPlatform.system,
|
||||
# A list of strings, which are names of impure env vars passed to the deps build.
|
||||
# Example:
|
||||
# `[ "NPM_TOKEN" ]`
|
||||
# They will be forwarded to `deno install`.
|
||||
# It can be used to set tokens for private NPM registries (in an `.npmrc` file).
|
||||
# In multi user installations of Nix, you need to set the env vars in the daemon (probably with systemd).
|
||||
# In nixos: `systemd.services.nix-daemon.environment.NPM_TOKEN = "<token>";`
|
||||
denoDepsImpureEnvVars ? [ ],
|
||||
# An attr set with env vars as key value pairs.
|
||||
# Example:
|
||||
# `{ "NPM_TOKEN" = "<token>"; }`
|
||||
# They will be forwarded to `deno install`.
|
||||
# It can be used to set tokens for private NPM registries (in an `.npmrc` file).
|
||||
# You could pass these tokens from the cli with `--arg` (this can make your builds painful).
|
||||
denoDepsInjectedEnvVars ? { },
|
||||
# TODO: source overrides like in buildNpmPackage, i.e. injecting nix packages into the denoDeps
|
||||
# this is more involved, since they can't directly be injected into the fixed output derivation
|
||||
# of fetchDenoDeps. Instead we need to patch the lock file and remove the packages we intend to
|
||||
# inject, then we need to build the rest of the packages like before and in a
|
||||
# second step create normal derivation with the injected packages.
|
||||
# then the two need to be merged into a single denoDeps derivation and finally the lock file needs
|
||||
# to be reverted back to it's original form.
|
||||
# It is possible to manipulate the registry.json files of the injected packages so that deno accepts them as is.
|
||||
denoDeps ? fetchDenoDeps {
|
||||
inherit
|
||||
src
|
||||
denoDepsInjectedEnvVars
|
||||
denoDepsImpureEnvVars
|
||||
denoFlags
|
||||
denoDir
|
||||
;
|
||||
denoInstallFlags = builtins.filter (e: e != "--cached-only") denoInstallFlags;
|
||||
name = "${name}-deno-deps";
|
||||
hash = denoDepsHash;
|
||||
},
|
||||
# The package used for every deno command in the build
|
||||
denoPackage ? deno,
|
||||
# The package used as the runtime that is bundled with the the src to create the binary.
|
||||
denortPackage ? denort,
|
||||
# The script to run to build the project.
|
||||
# You still need to specify in the installPhase, what artifacts to copy to `$out`.
|
||||
denoTaskScript ? "build",
|
||||
# If not null, create a binary using the specified path as the entrypoint,
|
||||
# copy it to `$out/bin` in installPhase and fix it in fixupPhase.
|
||||
binaryEntrypointPath ? null,
|
||||
# Flags to pass to all deno commands.
|
||||
denoFlags ? [ ],
|
||||
# Flags to pass to `deno task [denoTaskFlags] ${denoTaskScript}`.
|
||||
denoTaskFlags ? [ ],
|
||||
# Flags to pass to `deno compile [denoTaskFlags] ${binaryEntrypointPath}`.
|
||||
denoCompileFlags ? [ ],
|
||||
# Flags to pass to `deno install [denoInstallFlags]`.
|
||||
denoInstallFlags ? [
|
||||
"--allow-scripts"
|
||||
"--frozen"
|
||||
"--cached-only"
|
||||
],
|
||||
# Flags to pass to `deno task [denoTaskFlags] ${denoTaskScript} [extraTaskFlags]`.
|
||||
extraTaskFlags ? [ ],
|
||||
# Flags to pass to `deno compile [denoTaskFlags] ${binaryEntrypointPath} [extraCompileFlags]`.
|
||||
extraCompileFlags ? [ ],
|
||||
nativeBuildInputs ? [ ],
|
||||
dontFixup ? true,
|
||||
# Custom denoConfigHook
|
||||
denoConfigHook ? null,
|
||||
# Custom denoBuildHook
|
||||
denoBuildHook ? null,
|
||||
# Custom denoInstallHook
|
||||
denoInstallHook ? null,
|
||||
# Path to deno workspace, where the denoTaskScript should be run
|
||||
denoWorkspacePath ? null,
|
||||
# Unquoted string injected before `deno task`
|
||||
denoTaskPrefix ? "",
|
||||
# Unquoted string injected after `deno task` and all its flags
|
||||
denoTaskSuffix ? "",
|
||||
# Used as the name of the local DENO_DIR
|
||||
denoDir ? "./.deno",
|
||||
...
|
||||
}@args:
|
||||
let
|
||||
denoFlags_ = builtins.concatStringsSep " " denoFlags;
|
||||
denoTaskFlags_ = builtins.concatStringsSep " " denoTaskFlags;
|
||||
denoCompileFlags_ = builtins.concatStringsSep " " denoCompileFlags;
|
||||
denoInstallFlags_ = builtins.concatStringsSep " " denoInstallFlags;
|
||||
extraTaskFlags_ = builtins.concatStringsSep " " extraTaskFlags;
|
||||
extraCompileFlags_ = builtins.concatStringsSep " " extraCompileFlags;
|
||||
|
||||
args' = builtins.removeAttrs args [ "denoDepsInjectedEnvVars" ];
|
||||
|
||||
denoHooks =
|
||||
(buildPackages.denoHooks.override {
|
||||
denort = denortPackage;
|
||||
})
|
||||
{
|
||||
inherit denoTaskSuffix denoTaskPrefix binaryEntrypointPath;
|
||||
};
|
||||
systemLookupTable = {
|
||||
"x86_64-darwin" = "x86_64-apple-darwin";
|
||||
"arm64-darwin" = "aarch64-apple-darwin";
|
||||
"aarch64-darwin" = "aarch64-apple-darwin";
|
||||
"x86_64-linux" = "x86_64-unknown-linux-gnu";
|
||||
"arm64-linux" = "aarch64-unknown-linux-gnu";
|
||||
"aarch64-linux" = "aarch64-unknown-linux-gnu";
|
||||
};
|
||||
hostPlatform_ =
|
||||
if builtins.hasAttr hostPlatform systemLookupTable then
|
||||
systemLookupTable."${hostPlatform}"
|
||||
else
|
||||
(lib.systems.elaborate hostPlatform).config;
|
||||
in
|
||||
stdenvNoCC.mkDerivation (
|
||||
args'
|
||||
// {
|
||||
inherit
|
||||
name
|
||||
denoDeps
|
||||
src
|
||||
denoFlags_
|
||||
denoTaskFlags_
|
||||
denoCompileFlags_
|
||||
denoInstallFlags_
|
||||
extraTaskFlags_
|
||||
extraCompileFlags_
|
||||
binaryEntrypointPath
|
||||
hostPlatform_
|
||||
denoWorkspacePath
|
||||
denoTaskScript
|
||||
;
|
||||
|
||||
nativeBuildInputs = nativeBuildInputs ++ [
|
||||
# Prefer passed hooks
|
||||
(if denoConfigHook != null then denoConfigHook else denoHooks.denoConfigHook)
|
||||
(if denoBuildHook != null then denoBuildHook else denoHooks.denoBuildHook)
|
||||
(if denoInstallHook != null then denoInstallHook else denoHooks.denoInstallHook)
|
||||
denoPackage
|
||||
diffutils
|
||||
zip
|
||||
jq
|
||||
];
|
||||
|
||||
DENO_DIR = denoDir;
|
||||
|
||||
dontFixup = if binaryEntrypointPath != null then false else dontFixup;
|
||||
|
||||
passthru = {
|
||||
inherit denoDeps;
|
||||
};
|
||||
|
||||
meta = (args.meta or { }) // {
|
||||
platforms = args.meta.platforms or denoPackage.meta.platforms;
|
||||
};
|
||||
}
|
||||
)
|
@ -1,29 +0,0 @@
|
||||
{
|
||||
makeSetupHook,
|
||||
denort,
|
||||
lib,
|
||||
}:
|
||||
{
|
||||
denoTaskSuffix,
|
||||
denoTaskPrefix,
|
||||
binaryEntrypointPath,
|
||||
}:
|
||||
{
|
||||
denoConfigHook = makeSetupHook {
|
||||
name = "deno-config-hook";
|
||||
substitutions = {
|
||||
denortBinary = lib.optionalString (binaryEntrypointPath != null) (lib.getExe denort);
|
||||
};
|
||||
} ./deno-config-hook.sh;
|
||||
|
||||
denoBuildHook = makeSetupHook {
|
||||
name = "deno-build-hook";
|
||||
substitutions = {
|
||||
inherit denoTaskSuffix denoTaskPrefix;
|
||||
};
|
||||
} ./deno-build-hook.sh;
|
||||
|
||||
denoInstallHook = makeSetupHook {
|
||||
name = "deno-install-hook";
|
||||
} ./deno-install-hook.sh;
|
||||
}
|
@ -1,58 +0,0 @@
|
||||
# shellcheck shell=bash
|
||||
|
||||
denoBuildHook() {
|
||||
echo "Executing denoBuildHook"
|
||||
|
||||
runHook preBuild
|
||||
|
||||
if [ -n "${binaryEntrypointPath-}" ]; then
|
||||
echo "Creating binary"
|
||||
|
||||
package_name=$(jq -r '.name' deno.json)
|
||||
if [ "$package_name" == "null" ]; then
|
||||
package_name="$name"
|
||||
fi
|
||||
|
||||
deno compile \
|
||||
--output "$package_name" \
|
||||
--target "$hostPlatform_" \
|
||||
$denoCompileFlags \
|
||||
$denoFlags \
|
||||
"${denoWorkspacePath+$denoWorkspacePath/}$binaryEntrypointPath"
|
||||
$extraCompileFlags \
|
||||
|
||||
elif [ -n "${denoTaskScript-}" ]; then
|
||||
if ! @denoTaskPrefix@ \
|
||||
deno task \
|
||||
${denoWorkspacePath+--cwd=$denoWorkspacePath} \
|
||||
$denoTaskFlags \
|
||||
$denoFlags \
|
||||
"$denoTaskScript" \
|
||||
$extraTaskFlags \
|
||||
@denoTaskSuffix@; then
|
||||
echo
|
||||
echo 'ERROR: `deno task` failed'
|
||||
echo
|
||||
echo "Here are a few things you can try, depending on the error:"
|
||||
echo "1. Make sure your task script ($denoTaskScript) exists"
|
||||
echo
|
||||
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo
|
||||
echo "ERROR: nothing to do in buildPhase"
|
||||
echo "Specify either 'binaryEntrypointPath' or 'denoTaskScript' or override 'buildPhase'"
|
||||
echo
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
runHook postBuild
|
||||
|
||||
echo "Finished denoBuildHook"
|
||||
}
|
||||
|
||||
if [ -z "${buildPhase-}" ]; then
|
||||
buildPhase=denoBuildHook
|
||||
fi
|
@ -1,108 +0,0 @@
|
||||
# shellcheck shell=bash
|
||||
|
||||
denoConfigHook() {
|
||||
echo "Executing denoConfigHook"
|
||||
|
||||
if [ -z "${denoDeps-}" ]; then
|
||||
echo
|
||||
echo "ERROR: no dependencies were specified"
|
||||
echo 'Hint: set `denoDeps` if using these hooks individually. If this is happening with `buildDenoPackage`, please open an issue.'
|
||||
echo
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local -r cacheLockfile="$denoDeps/deno.lock"
|
||||
local -r srcLockfile="$PWD/deno.lock"
|
||||
|
||||
echo "Validating consistency between $srcLockfile and $cacheLockfile"
|
||||
|
||||
if ! diff "$srcLockfile" "$cacheLockfile"; then
|
||||
# If the diff failed, first double-check that the file exists, so we can
|
||||
# give a friendlier error msg.
|
||||
if ! [ -e "$srcLockfile" ]; then
|
||||
echo
|
||||
echo "ERROR: Missing deno.lock from src. Expected to find it at: $srcLockfile"
|
||||
echo
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! [ -e "$cacheLockfile" ]; then
|
||||
echo
|
||||
echo "ERROR: Missing lockfile from cache. Expected to find it at: $cacheLockfile"
|
||||
echo
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "ERROR: denoDepsHash is out of date"
|
||||
echo
|
||||
echo "The deno.lock in src is not the same as the in $denoDeps."
|
||||
echo
|
||||
echo "To fix the issue:"
|
||||
echo '1. Use `lib.fakeHash` as the denoDepsHash value'
|
||||
echo "2. Build the derivation and wait for it to fail with a hash mismatch"
|
||||
echo "3. Copy the 'got: sha256-' value back into the denoDepsHash field"
|
||||
echo
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# NOTE: we need to use vendor in the build too, since we used it for the deps
|
||||
useVendor() {
|
||||
jq '.vendor = true' deno.json >temp.json &&
|
||||
rm -f deno.json &&
|
||||
mv temp.json deno.json
|
||||
}
|
||||
echo "Adding vendor to deno.json"
|
||||
useVendor
|
||||
|
||||
echo "Installing dependencies"
|
||||
|
||||
export DENO_DIR="$(pwd)"/"$DENO_DIR"
|
||||
|
||||
installDeps() {
|
||||
if [[ -d "$denoDeps/.deno" ]]; then
|
||||
cp -r --no-preserve=mode "$denoDeps/.deno" "$DENO_DIR"
|
||||
fi
|
||||
if [[ -d "$denoDeps/vendor" ]]; then
|
||||
cp -r --no-preserve=mode "$denoDeps/vendor" ./vendor
|
||||
fi
|
||||
if [[ -d "$denoDeps/node_modules" ]]; then
|
||||
cp -r --no-preserve=mode "$denoDeps/node_modules" ./node_modules
|
||||
fi
|
||||
}
|
||||
installDeps
|
||||
|
||||
if ! deno install $denoInstallFlags_ $denoFlags_; then
|
||||
echo
|
||||
echo "ERROR: deno failed to install dependencies"
|
||||
echo
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
installDenort() {
|
||||
version="$(deno --version | head -1 | awk '{print $2}')"
|
||||
zipfile=denort-"$hostPlatform_".zip
|
||||
dir="$DENO_DIR"/dl/release/v"$version"
|
||||
mkdir -p "$dir"
|
||||
cp "@denortBinary@" ./denort
|
||||
zip "$dir"/"$zipfile" ./denort
|
||||
rm ./denort
|
||||
}
|
||||
if [ -n "${binaryEntrypointPath-}" ]; then
|
||||
echo "Installing denort for binary build"
|
||||
installDenort
|
||||
fi
|
||||
|
||||
patchShebangs .deno
|
||||
patchShebangs node_modules
|
||||
patchShebangs vendor
|
||||
|
||||
echo "Finished denoConfigHook"
|
||||
}
|
||||
|
||||
postPatchHooks+=(denoConfigHook)
|
@ -1,32 +0,0 @@
|
||||
# shellcheck shell=bash
|
||||
|
||||
denoInstallHook() {
|
||||
echo "Executing denoInstallHook"
|
||||
|
||||
runHook preInstall
|
||||
|
||||
if [ -n "${binaryEntrypointPath-}" ]; then
|
||||
package_name=$(jq -r '.name' deno.json)
|
||||
if [ "$package_name" == "null" ]; then
|
||||
package_name="$name"
|
||||
fi
|
||||
|
||||
mkdir -p "$out/bin"
|
||||
cp "$package_name"* "$out/bin"
|
||||
else
|
||||
echo
|
||||
echo "ERROR: nothing to do in installPhase"
|
||||
echo "Specify either 'binaryEntrypointPath' or override 'installPhase'"
|
||||
echo
|
||||
|
||||
exit 1
|
||||
fi
|
||||
|
||||
runHook postInstall
|
||||
|
||||
echo "Finished denoInstallHook"
|
||||
}
|
||||
|
||||
if [ -z "${dontDenoInstall-}" ] && [ -z "${installPhase-}" ]; then
|
||||
installPhase=denoInstallHook
|
||||
fi
|
@ -1,4 +0,0 @@
|
||||
.deno/
|
||||
vendor/
|
||||
node_modules/
|
||||
.direnv
|
@ -1,185 +0,0 @@
|
||||
# NOTE: much of this structure is inspired from https://github.com/NixOS/nixpkgs/tree/fff29a3e5f7991512e790617d1a693df5f3550f6/pkgs/build-support/node
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
deno,
|
||||
jq,
|
||||
cacert,
|
||||
}:
|
||||
{
|
||||
fetchDenoDeps =
|
||||
{
|
||||
name ? "deno-deps",
|
||||
src,
|
||||
hash ? lib.fakeHash,
|
||||
denoPackage ? deno,
|
||||
denoFlags ? [ ],
|
||||
denoInstallFlags ? [
|
||||
"--allow-scripts"
|
||||
"--frozen"
|
||||
],
|
||||
nativeBuildInputs ? [ ],
|
||||
denoDepsImpureEnvVars ? [ ],
|
||||
denoDepsInjectedEnvVars ? { },
|
||||
denoDir ? "./.deno",
|
||||
...
|
||||
}@args:
|
||||
let
|
||||
hash_ =
|
||||
if hash != "" then
|
||||
{ outputHash = hash; }
|
||||
else
|
||||
{
|
||||
outputHash = "";
|
||||
outputHashAlgo = "sha256";
|
||||
};
|
||||
denoInstallFlags_ = builtins.concatStringsSep " " denoInstallFlags;
|
||||
denoFlags_ = builtins.concatStringsSep " " denoFlags;
|
||||
denoDepsInjectedEnvVarsString =
|
||||
if denoDepsInjectedEnvVars != { } then
|
||||
lib.attrsets.foldlAttrs (
|
||||
acc: name: value:
|
||||
"${acc} ${name}=${value}"
|
||||
) "" denoDepsInjectedEnvVars
|
||||
else
|
||||
"";
|
||||
# need to remove denoDepsInjectedEnvVars, since it's an attrset and
|
||||
# stdenv.mkDerivation would try to convert it to string
|
||||
args' = builtins.removeAttrs args [ "denoDepsInjectedEnvVars" ];
|
||||
in
|
||||
stdenvNoCC.mkDerivation (
|
||||
args'
|
||||
// {
|
||||
inherit name src;
|
||||
|
||||
nativeBuildInputs = nativeBuildInputs ++ [
|
||||
denoPackage
|
||||
jq
|
||||
];
|
||||
|
||||
DENO_DIR = denoDir;
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
if [[ ! -e "deno.json" ]]; then
|
||||
echo ""
|
||||
echo "ERROR: deno.json required, but not found"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -e "deno.lock" ]]; then
|
||||
echo ""
|
||||
echo "ERROR: deno.lock required, but not found"
|
||||
echo ""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# NOTE: using vendor reduces the pruning effort a little
|
||||
useVendor() {
|
||||
jq '.vendor = true' deno.json >temp.json && \
|
||||
rm -f deno.json && \
|
||||
mv temp.json deno.json
|
||||
}
|
||||
useVendor
|
||||
|
||||
# uses $DENO_DIR
|
||||
${denoDepsInjectedEnvVarsString} deno install ${denoInstallFlags_} ${denoFlags_}
|
||||
|
||||
echo "pruning non reproducible files"
|
||||
|
||||
# `node_modules` is used when there are install scripts in a dependencies' package.json.
|
||||
# these install scripts can also require internet, so they should also be executed in this fetcher
|
||||
pruneNonReproducibles() {
|
||||
export tempDenoDir="$DENO_DIR"
|
||||
|
||||
# `registry.json` files can't just be deleted, else deno install won't work,
|
||||
# but they contain non reproducible data,
|
||||
# which needs to be pruned, leaving only the necessary data behind.
|
||||
# This pruning is done with a helper script written in typescript and executed with deno
|
||||
DENO_DIR=./extra_deno_cache deno run \
|
||||
--lock="${./deno.lock}" \
|
||||
--config="${./deno.json}" \
|
||||
--allow-all \
|
||||
"${./prune-registries.ts}" \
|
||||
--lock-json="./deno.lock" \
|
||||
--cache-path="$tempDenoDir" \
|
||||
--vendor-path="./vendor"
|
||||
|
||||
# Keys in `registry.json` files are not deterministically sorted,
|
||||
# so we do it here.
|
||||
for file in $(find -L "$DENO_DIR" -name registry.json -type f); do
|
||||
jq --sort-keys '.' "$file" >temp.json && \
|
||||
rm -f "$file" && \
|
||||
mv temp.json "$file"
|
||||
done
|
||||
|
||||
# There are various small databases used by deno for caching that
|
||||
# we can simply delete.
|
||||
if [[ -d "./node_modules" ]]; then
|
||||
find -L ./node_modules -name '*cache_v2-shm' -type f | xargs rm -f
|
||||
find -L ./node_modules -name '*cache_v2-wal' -type f | xargs rm -f
|
||||
find -L ./node_modules -name 'dep_analysis_cache_v2' -type f | xargs rm -f
|
||||
find -L ./node_modules -name 'node_analysis_cache_v2' -type f | xargs rm -f
|
||||
find -L ./node_modules -name v8_code_cache_v2 -type f | xargs rm -f
|
||||
rm -f ./node_modules/.deno/.deno.lock.poll
|
||||
|
||||
# sometimes a .deno dir is slipped into a node_modules package
|
||||
# it's unclear why. but it can just be deleted
|
||||
find -L ./node_modules -name ".deno" -type d | sort -r | head -n-1 | xargs rm -rf
|
||||
fi
|
||||
|
||||
rm -f "$DENO_DIR"/dep_analysis_cache_v2-shm
|
||||
rm -f "$DENO_DIR"/dep_analysis_cache_v2-wal
|
||||
rm -f "$DENO_DIR"/dep_analysis_cache_v2
|
||||
}
|
||||
pruneNonReproducibles
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
if [[ -d "$DENO_DIR" ]]; then
|
||||
mkdir -p $out/$DENO_DIR
|
||||
cp -r --no-preserve=mode $DENO_DIR $out
|
||||
fi
|
||||
if [[ -d "./vendor" ]]; then
|
||||
mkdir -p $out/vendor
|
||||
cp -r --no-preserve=mode ./vendor $out
|
||||
fi
|
||||
if [[ -d "./node_modules" ]]; then
|
||||
mkdir -p $out/node_modules
|
||||
cp -r --no-preserve=mode ./node_modules $out
|
||||
fi
|
||||
|
||||
cp ./deno.lock $out
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
dontFixup = true;
|
||||
|
||||
outputHashMode = "recursive";
|
||||
|
||||
impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ denoDepsImpureEnvVars;
|
||||
|
||||
SSL_CERT_FILE =
|
||||
if
|
||||
(
|
||||
hash_.outputHash == ""
|
||||
|| hash_.outputHash == lib.fakeSha256
|
||||
|| hash_.outputHash == lib.fakeSha512
|
||||
|| hash_.outputHash == lib.fakeHash
|
||||
)
|
||||
then
|
||||
"${cacert}/etc/ssl/certs/ca-bundle.crt"
|
||||
else
|
||||
"/no-cert-file.crt";
|
||||
|
||||
}
|
||||
// hash_
|
||||
);
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
{
|
||||
"tasks": { "test": "deno test" },
|
||||
"imports": {
|
||||
"@std/assert": "jsr:@std/assert@1.0.13",
|
||||
"@std/cli": "jsr:@std/cli@1.0.16",
|
||||
"@std/fs": "jsr:@std/fs@1.0.16"
|
||||
}
|
||||
}
|
53
pkgs/build-support/deno/fetch-deno-deps/deno.lock
generated
53
pkgs/build-support/deno/fetch-deno-deps/deno.lock
generated
@ -1,53 +0,0 @@
|
||||
{
|
||||
"version": "5",
|
||||
"specifiers": {
|
||||
"jsr:@std/assert@1.0.13": "1.0.13",
|
||||
"jsr:@std/cli@1.0.16": "1.0.16",
|
||||
"jsr:@std/fs@1.0.16": "1.0.16",
|
||||
"jsr:@std/internal@^1.0.6": "1.0.7",
|
||||
"jsr:@std/path@1.0.9": "1.0.9",
|
||||
"jsr:@std/path@^1.0.8": "1.0.9",
|
||||
"npm:@types/node@*": "22.15.15"
|
||||
},
|
||||
"jsr": {
|
||||
"@std/assert@1.0.13": {
|
||||
"integrity": "ae0d31e41919b12c656c742b22522c32fb26ed0cba32975cb0de2a273cb68b29",
|
||||
"dependencies": [
|
||||
"jsr:@std/internal"
|
||||
]
|
||||
},
|
||||
"@std/cli@1.0.16": {
|
||||
"integrity": "02df293099c35b9e97d8ca05f57f54bd1ee08134f25d19a4756b3924695f4b00"
|
||||
},
|
||||
"@std/fs@1.0.16": {
|
||||
"integrity": "81878f62b6eeda0bf546197fc3daa5327c132fee1273f6113f940784a468b036",
|
||||
"dependencies": [
|
||||
"jsr:@std/path@^1.0.8"
|
||||
]
|
||||
},
|
||||
"@std/internal@1.0.7": {
|
||||
"integrity": "39eeb5265190a7bc5d5591c9ff019490bd1f2c3907c044a11b0d545796158a0f"
|
||||
},
|
||||
"@std/path@1.0.9": {
|
||||
"integrity": "260a49f11edd3db93dd38350bf9cd1b4d1366afa98e81b86167b4e3dd750129e"
|
||||
}
|
||||
},
|
||||
"npm": {
|
||||
"@types/node@22.15.15": {
|
||||
"integrity": "sha512-R5muMcZob3/Jjchn5LcO8jdKwSCbzqmPB6ruBxMcf9kbxtniZHP327s6C37iOfuw8mbKK3cAQa7sEl7afLrQ8A==",
|
||||
"dependencies": [
|
||||
"undici-types"
|
||||
]
|
||||
},
|
||||
"undici-types@6.21.0": {
|
||||
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="
|
||||
}
|
||||
},
|
||||
"workspace": {
|
||||
"dependencies": [
|
||||
"jsr:@std/assert@1.0.13",
|
||||
"jsr:@std/cli@1.0.16",
|
||||
"jsr:@std/fs@1.0.16"
|
||||
]
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,346 +0,0 @@
|
||||
#!/usr/bin/env deno
|
||||
import { parseArgs } from "@std/cli/parse-args";
|
||||
import { walkSync } from "@std/fs/walk";
|
||||
|
||||
/**
|
||||
* NOTE: The problem this script solves, is that in every npm dependency in the deno cache
|
||||
* is a registry.json file, which serves as a sort of local registry cache for the deno cli.
|
||||
* Such a file looks like this (with deno v2.1.4):
|
||||
* ```json
|
||||
* {
|
||||
* "name": "@floating-ui/core",
|
||||
* "versions": {
|
||||
* "0.7.0": { ... },
|
||||
* "1.6.0": { ... },
|
||||
* "0.1.2": { ... },
|
||||
* ...
|
||||
* },
|
||||
* "dist-tags": { "latest": "1.7.0" }
|
||||
* }
|
||||
* ```
|
||||
* The deno cli will look into this file when called to look up if the required versions are there.
|
||||
* The problem is that the available versions for a package change over time. The registry.json files
|
||||
* need to be part of the fixed output derivation, which will eventually change the hash of the FOD,
|
||||
* if all those unwanted versions aren't pruned.
|
||||
*
|
||||
* On top of that a similar thing happens for jsr packages in the vendor directory
|
||||
* with `meta.json` files. These also need to be pruned.
|
||||
* Such a file looks like this (with deno v2.1.4):
|
||||
* ```json
|
||||
* {
|
||||
* "scope": "std",
|
||||
* "name": "internal",
|
||||
* "latest": "1.0.6",
|
||||
* "versions": {
|
||||
* "0.202.0": {},
|
||||
* "1.0.1": {},
|
||||
* "0.225.0": {
|
||||
* "yanked": true
|
||||
* },
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
|
||||
export type PackageSpecifiers = {
|
||||
[packageIdent: string]: string;
|
||||
};
|
||||
|
||||
export type LockJson = {
|
||||
specifiers: PackageSpecifiers;
|
||||
version: string;
|
||||
workspace: any;
|
||||
[registry: string]: any;
|
||||
};
|
||||
|
||||
export type Config = {
|
||||
lockJson: LockJson;
|
||||
cachePath: string;
|
||||
vendorPath: string;
|
||||
};
|
||||
|
||||
export type PackageInfo = {
|
||||
full: string;
|
||||
registry: string | undefined;
|
||||
scope: string | undefined;
|
||||
name: string;
|
||||
version: string;
|
||||
suffix: string | undefined;
|
||||
};
|
||||
|
||||
export type PackagesByRegistry = {
|
||||
[registry: string]: {
|
||||
[packageName: string]: {
|
||||
[version: string]: PackageInfo;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
export type PathsByRegistry = {
|
||||
[packageRegistry: string]: string[];
|
||||
};
|
||||
|
||||
export type RegistryJson = {
|
||||
"dist-tags": any;
|
||||
"_deno.etag": string;
|
||||
versions: { [version: string]: any };
|
||||
name: string;
|
||||
};
|
||||
|
||||
export type MetaJson = {
|
||||
scope: string;
|
||||
name: string;
|
||||
latest: string;
|
||||
versions: {
|
||||
[version: string]: any;
|
||||
};
|
||||
};
|
||||
|
||||
export function getConfig(): Config {
|
||||
const flags = parseArgs(Deno.args, {
|
||||
string: ["lock-json", "cache-path", "vendor-path"],
|
||||
});
|
||||
|
||||
if (!flags["lock-json"]) {
|
||||
throw "--lock-json flag not set but required";
|
||||
}
|
||||
if (!flags["cache-path"]) {
|
||||
throw "--cache-path flag not set but required";
|
||||
}
|
||||
if (!flags["vendor-path"]) {
|
||||
throw "--vendor-path flag not set but required";
|
||||
}
|
||||
|
||||
const lockJson = JSON.parse(
|
||||
new TextDecoder("utf-8").decode(Deno.readFileSync(flags["lock-json"]))
|
||||
);
|
||||
if (!lockJson) {
|
||||
throw `could not parse lockJson at ${flags["lock-json"]}`;
|
||||
}
|
||||
|
||||
return {
|
||||
lockJson,
|
||||
cachePath: flags["cache-path"],
|
||||
vendorPath: flags["vendor-path"],
|
||||
};
|
||||
}
|
||||
|
||||
export function getAllPackageRegistries(
|
||||
specifiers: PackageSpecifiers
|
||||
): Set<string> {
|
||||
return Object.keys(specifiers).reduce((acc: Set<string>, v: string) => {
|
||||
const s = v.split(":");
|
||||
if (s.length !== 2) {
|
||||
throw "unexpected registry format";
|
||||
}
|
||||
const registry = s[0];
|
||||
acc.add(registry);
|
||||
return acc;
|
||||
}, new Set());
|
||||
}
|
||||
|
||||
export function parsePackageSpecifier(packageSpecifier: string): PackageInfo {
|
||||
const match =
|
||||
/^((?<registry>.*):)?((?<scope>@.*?)\/)?(?<name>.*?)@(?<version>.*?)(?<suffix>_.*)?$/.exec(
|
||||
packageSpecifier
|
||||
);
|
||||
if (
|
||||
match !== null &&
|
||||
match.groups?.name !== undefined &&
|
||||
match.groups?.version !== undefined
|
||||
) {
|
||||
return {
|
||||
// npm:@amazn/style-dictionary@4.2.4_prettier@3.5.3
|
||||
full: match[0],
|
||||
// npm
|
||||
registry: match.groups?.registry,
|
||||
// @amazn
|
||||
scope: match.groups?.scope,
|
||||
// style-dictionary
|
||||
name: match.groups?.name,
|
||||
// 4.2.4
|
||||
version: match.groups?.version,
|
||||
// _prettier@3.5.3
|
||||
suffix: match.groups?.suffix,
|
||||
};
|
||||
}
|
||||
|
||||
throw "unexpected package specifier format";
|
||||
}
|
||||
|
||||
export function getScopedName(name: string, scope?: string): string {
|
||||
if (scope !== undefined) {
|
||||
return `${scope[0] === "@" ? "" : "@"}${scope}/${name}`;
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
export function getAllPackagesByPackageRegistry(
|
||||
lockJson: LockJson,
|
||||
registries: Set<string>
|
||||
): PackagesByRegistry {
|
||||
const result: PackagesByRegistry = {};
|
||||
for (const registry of Array.from(registries)) {
|
||||
const packageInfosOfRegistries = Object.keys(lockJson[registry]).map(
|
||||
parsePackageSpecifier
|
||||
);
|
||||
result[registry] = {};
|
||||
for (const packageInfo of packageInfosOfRegistries) {
|
||||
const scopedName = getScopedName(packageInfo.name, packageInfo.scope);
|
||||
if (result[registry][scopedName] === undefined) {
|
||||
result[registry][scopedName] = {};
|
||||
}
|
||||
result[registry][scopedName][packageInfo.version] = packageInfo;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
export function findRegistryJsonPaths(
|
||||
cachePath: string,
|
||||
nonJsrPackages: PackagesByRegistry
|
||||
): PathsByRegistry {
|
||||
const result: PathsByRegistry = {};
|
||||
for (const registry of Object.keys(nonJsrPackages)) {
|
||||
const path = `${cachePath}/${registry}`;
|
||||
const registryJsonPaths = Array.from(walkSync(path))
|
||||
.filter((v) => v.name === "registry.json")
|
||||
.map((v) => v.path);
|
||||
result[registry] = registryJsonPaths;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
export function pruneRegistryJson(
|
||||
registryJson: RegistryJson,
|
||||
nonJsrPackages: PackagesByRegistry,
|
||||
registry: string
|
||||
) {
|
||||
const scopedName = registryJson.name;
|
||||
const packageInfoByVersion = nonJsrPackages[registry][scopedName];
|
||||
if (!packageInfoByVersion) {
|
||||
throw `could not find key "${scopedName}" in\n${Object.keys(
|
||||
nonJsrPackages[registry]
|
||||
)}`;
|
||||
}
|
||||
|
||||
const newRegistryJson: RegistryJson = {
|
||||
...registryJson,
|
||||
"_deno.etag": "",
|
||||
"dist-tags": {},
|
||||
versions: {},
|
||||
};
|
||||
|
||||
for (const version of Object.keys(packageInfoByVersion)) {
|
||||
newRegistryJson.versions[version] = registryJson.versions[version];
|
||||
}
|
||||
|
||||
return newRegistryJson;
|
||||
}
|
||||
|
||||
export function pruneRegistryJsonFiles(
|
||||
nonJsrPackages: PackagesByRegistry,
|
||||
registryJsonPathsByRegistry: PathsByRegistry
|
||||
): void {
|
||||
for (const [registry, paths] of Object.entries(registryJsonPathsByRegistry)) {
|
||||
for (const path of paths) {
|
||||
const registryJson: RegistryJson = JSON.parse(
|
||||
new TextDecoder("utf-8").decode(Deno.readFileSync(path))
|
||||
);
|
||||
|
||||
const newRegistryJson = pruneRegistryJson(
|
||||
registryJson,
|
||||
nonJsrPackages,
|
||||
registry
|
||||
);
|
||||
|
||||
Deno.writeFileSync(
|
||||
path,
|
||||
new TextEncoder().encode(JSON.stringify(newRegistryJson))
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export function findMetaJsonPaths(
|
||||
vendorPath: string,
|
||||
jsrPackages: PackagesByRegistry
|
||||
): PathsByRegistry {
|
||||
const result: PathsByRegistry = {};
|
||||
for (const registry of Object.keys(jsrPackages)) {
|
||||
const path = `${vendorPath}`;
|
||||
const metaJsonPaths = Array.from(walkSync(path))
|
||||
.filter((v) => v.name === "meta.json")
|
||||
.map((v) => v.path);
|
||||
result[registry] = metaJsonPaths;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
export function pruneMetaJson(
|
||||
metaJson: MetaJson,
|
||||
jsrPackages: PackagesByRegistry,
|
||||
registry: string
|
||||
): MetaJson {
|
||||
const scopedName = getScopedName(metaJson.name, metaJson.scope);
|
||||
const packageInfoByVersion = jsrPackages[registry][scopedName];
|
||||
if (!packageInfoByVersion) {
|
||||
throw `could not find key "${scopedName}" in\n${Object.keys(
|
||||
jsrPackages[registry]
|
||||
)}`;
|
||||
}
|
||||
const newMetaJson: MetaJson = {
|
||||
...metaJson,
|
||||
latest: "",
|
||||
versions: {},
|
||||
};
|
||||
|
||||
for (const version of Object.keys(packageInfoByVersion)) {
|
||||
newMetaJson.versions[version] = metaJson.versions[version];
|
||||
}
|
||||
return newMetaJson;
|
||||
}
|
||||
|
||||
export function pruneMetaJsonFiles(
|
||||
jsrPackages: PackagesByRegistry,
|
||||
metaJsonPathsByRegistry: PathsByRegistry
|
||||
): void {
|
||||
for (const [registry, paths] of Object.entries(metaJsonPathsByRegistry)) {
|
||||
for (const path of paths) {
|
||||
const metaJson: MetaJson = JSON.parse(
|
||||
new TextDecoder("utf-8").decode(Deno.readFileSync(path))
|
||||
);
|
||||
|
||||
const newMetaJson = pruneMetaJson(metaJson, jsrPackages, registry);
|
||||
|
||||
Deno.writeFileSync(
|
||||
path,
|
||||
new TextEncoder().encode(JSON.stringify(newMetaJson))
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function main() {
|
||||
const config = getConfig();
|
||||
const registries = getAllPackageRegistries(config.lockJson.specifiers);
|
||||
const packages = getAllPackagesByPackageRegistry(config.lockJson, registries);
|
||||
|
||||
const jsrPackages = {
|
||||
jsr: structuredClone(packages.jsr),
|
||||
} satisfies PackagesByRegistry;
|
||||
delete packages.jsr;
|
||||
const nonJsrPackages = packages;
|
||||
|
||||
const metaJsonpaths = findMetaJsonPaths(config.vendorPath, jsrPackages);
|
||||
pruneMetaJsonFiles(jsrPackages, metaJsonpaths);
|
||||
|
||||
const registryJsonPaths = findRegistryJsonPaths(
|
||||
config.cachePath,
|
||||
nonJsrPackages
|
||||
);
|
||||
pruneRegistryJsonFiles(nonJsrPackages, registryJsonPaths);
|
||||
}
|
||||
|
||||
if (import.meta.main) {
|
||||
main();
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
let
|
||||
pkgs = import ../../../../default.nix { };
|
||||
in
|
||||
pkgs.mkShell {
|
||||
buildInputs = [ pkgs.deno ];
|
||||
DENO_DIR = "./.deno";
|
||||
}
|
@ -1062,7 +1062,7 @@ rec {
|
||||
// (optionalAttrs (extraPassthru != { } || src ? passthru) {
|
||||
passthru = extraPassthru // src.passthru or { };
|
||||
})
|
||||
# Forward any additional arguments to the derviation
|
||||
# Forward any additional arguments to the derivation
|
||||
// (removeAttrs args [
|
||||
"src"
|
||||
"name"
|
||||
|
@ -23,13 +23,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "abaddon";
|
||||
version = "0.2.1";
|
||||
version = "0.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "uowuo";
|
||||
repo = "abaddon";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-FPhHy+4BmaoGrHGsc5o79Au9JcH5C+iWTYQYwnTLaUY=";
|
||||
hash = "sha256-48lR1rIWMwLaTv+nIdqmQ3mHOayrC1P5OQuUb+URYh0=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -115,13 +115,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "airgeddon";
|
||||
version = "11.41";
|
||||
version = "11.50";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "v1s1t0r1sh3r3";
|
||||
repo = "airgeddon";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-+hJqaEjEy8woJKE+HKg3utNrZmGeAdd0YWi62HPLN/I=";
|
||||
hash = "sha256-hy6q25hWGEFlih0IuwoqDRjbUk1/iShj6uY+mz6hlFU=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
@ -8,11 +8,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "alglib3";
|
||||
version = "4.04.0";
|
||||
version = "4.05.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.alglib.net/translator/re/alglib-${version}.cpp.gpl.tgz";
|
||||
sha256 = "sha256-nPHllbcr1Hi3RzyOqvkZtACLJT2Gutu8WlItFJpnIUQ=";
|
||||
sha256 = "sha256-czgBhziKjAO17ZwXChsjOazIaNODRrGyswhc4j4/T9s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -6,20 +6,20 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "alioth";
|
||||
version = "0.7.0";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "alioth";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-xFNX2cxmaw2H8D21qs6mnTMuSidmJ0xJ/b4pxdLTvow=";
|
||||
hash = "sha256-7mQmyWOMEHg374mmYGJL8xhVWlYk1zKplpjc74wLoKw=";
|
||||
};
|
||||
|
||||
# Checks use `debug_assert_eq!`
|
||||
checkType = "debug";
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-x2Abw/RVKpPx0EWyF3w0kywtd23A+NSNaHRVZ4oB1jI=";
|
||||
cargoHash = "sha256-rAq3Ghg7zpiycQ8hNzn4Jz7cUCfwQ4aqtWxoVCg8MrE=";
|
||||
|
||||
separateDebugInfo = true;
|
||||
|
||||
|
51
pkgs/by-name/ar/arq/package.nix
Normal file
51
pkgs/by-name/ar/arq/package.nix
Normal file
@ -0,0 +1,51 @@
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchurl,
|
||||
cpio,
|
||||
xar,
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "arq";
|
||||
version = "7.35.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.arqbackup.com/download/arqbackup/Arq${finalAttrs.version}.pkg";
|
||||
hash = "sha256-xkrWH2r3DaxsBBdyu0Wj/qzjJaa9DTZCzEaB/nb2WyY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cpio
|
||||
xar
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
runHook preUnpack
|
||||
|
||||
xar -xf $src
|
||||
zcat client.pkg/Payload | cpio -i
|
||||
|
||||
runHook postUnpack
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -R Applications $out
|
||||
'';
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
# Arq is notarized
|
||||
dontFixup = true;
|
||||
|
||||
meta = {
|
||||
changelog = "https://www.arqbackup.com/download/arqbackup/arq7_release_notes.html";
|
||||
description = "Multi-cloud backup software for your Macs";
|
||||
homepage = "https://www.arqbackup.com/";
|
||||
license = lib.licenses.unfree;
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
maintainers = [ lib.maintainers.Enzime ];
|
||||
platforms = lib.platforms.darwin;
|
||||
};
|
||||
})
|
37
pkgs/by-name/ba/bagr/package.nix
Normal file
37
pkgs/by-name/ba/bagr/package.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "bagr";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pwinckles";
|
||||
repo = "bagr";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-tvo9/ywPhYgqj4i+o6lYOmrVnLcyciM7HPdT2dKerO8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-r4tgDPyLxTjq/sxNLvlX/2MePUfOwNgranQSSbgDtu0=";
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
doInstallCheck = true;
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
meta = {
|
||||
description = "Command line utility for interacting with BagIt bags (RFC 8493)";
|
||||
homepage = "https://github.com/pwinckles/bagr";
|
||||
license = lib.licenses.asl20;
|
||||
mainProgram = "bagr";
|
||||
maintainers = with lib.maintainers; [
|
||||
jezcope
|
||||
];
|
||||
platforms = with lib.platforms; unix ++ windows;
|
||||
};
|
||||
})
|
@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "chawan";
|
||||
version = "0-unstable-2025-05-25";
|
||||
version = "0-unstable-2025-06-14";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~bptato";
|
||||
repo = "chawan";
|
||||
rev = "e571c8b1ede3a3c6dc4a5a4d0c6c8f48473076d2";
|
||||
hash = "sha256-OBXc4jnB5Y+KXO9J7P1Z2HXkNCS+xnG+IGWw8wb66J8=";
|
||||
rev = "288896b6f3da9bb6e4e24190d4163e031f8a2751";
|
||||
hash = "sha256-/8pp1E4YAXXh8ORRHseIe48BIG14u8gNkmotA+CXPYY=";
|
||||
};
|
||||
|
||||
patches = [ ./mancha-augment-path.diff ];
|
||||
|
@ -13,13 +13,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "darkly-qt${qtMajorVersion}";
|
||||
version = "0.5.20";
|
||||
version = "0.5.21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Bali10050";
|
||||
repo = "Darkly";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-3/oJbf7QHaFyBnrEnZFpWgXbRc5wAFj9RZ7iQEBSZNw=";
|
||||
hash = "sha256-1WErpDYTlMW/889Efe3OUM3uwt5w+EttjOGoBolBZvE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -23,13 +23,13 @@ let
|
||||
in
|
||||
buildDartApplication rec {
|
||||
pname = "dart-sass";
|
||||
version = "1.89.1";
|
||||
version = "1.89.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sass";
|
||||
repo = "dart-sass";
|
||||
tag = version;
|
||||
hash = "sha256-G9uiG7fTDTx9wVH0bV7BeY2TpTEtTHDd0+z/+kLZiwU=";
|
||||
hash = "sha256-IDR00pxEKQ5DQM+q0P/iRnsH80ZUbokZhbnBoomy2oQ=";
|
||||
};
|
||||
|
||||
pubspecLock = lib.importJSON ./pubspec.lock.json;
|
||||
|
@ -74,11 +74,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "checked_yaml",
|
||||
"sha256": "feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff",
|
||||
"sha256": "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.3"
|
||||
"version": "2.0.4"
|
||||
},
|
||||
"cli_config": {
|
||||
"dependency": "transitive",
|
||||
@ -144,11 +144,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "coverage",
|
||||
"sha256": "4b8701e48a58f7712492c9b1f7ba0bb9d525644dd66d023b62e1fc8cdb560c8a",
|
||||
"sha256": "aa07dbe5f2294c827b7edb9a87bba44a9c15a3cc81bc8da2ca19b37322d30080",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.14.0"
|
||||
"version": "1.14.1"
|
||||
},
|
||||
"crypto": {
|
||||
"dependency": "direct dev",
|
||||
@ -324,11 +324,11 @@
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "lints",
|
||||
"sha256": "c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7",
|
||||
"sha256": "a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.1.1"
|
||||
"version": "6.0.0"
|
||||
},
|
||||
"logging": {
|
||||
"dependency": "transitive",
|
||||
@ -454,11 +454,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "petitparser",
|
||||
"sha256": "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646",
|
||||
"sha256": "9436fe11f82d7cc1642a8671e5aa4149ffa9ae9116e6cf6dd665fc0653e3825c",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.1.0"
|
||||
"version": "7.0.0"
|
||||
},
|
||||
"pool": {
|
||||
"dependency": "direct main",
|
||||
@ -724,21 +724,21 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "vm_service",
|
||||
"sha256": "6f82e9ee8e7339f5d8b699317f6f3afc17c80a68ebef1bc0d6f52a678c14b1e6",
|
||||
"sha256": "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "15.0.1"
|
||||
"version": "15.0.2"
|
||||
},
|
||||
"watcher": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "watcher",
|
||||
"sha256": "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104",
|
||||
"sha256": "0b7fd4a0bbc4b92641dbf20adfd7e3fd1398fe17102d94b674234563e110088a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.1.1"
|
||||
"version": "1.1.2"
|
||||
},
|
||||
"web": {
|
||||
"dependency": "transitive",
|
||||
@ -784,11 +784,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "xml",
|
||||
"sha256": "b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226",
|
||||
"sha256": "3202a47961c1a0af6097c9f8c1b492d705248ba309e6f7a72410422c05046851",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.5.0"
|
||||
"version": "6.6.0"
|
||||
},
|
||||
"yaml": {
|
||||
"dependency": "direct dev",
|
||||
@ -802,6 +802,6 @@
|
||||
}
|
||||
},
|
||||
"sdks": {
|
||||
"dart": ">=3.7.0 <4.0.0"
|
||||
"dart": ">=3.8.0 <4.0.0"
|
||||
}
|
||||
}
|
||||
|
@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "decker";
|
||||
version = "1.54";
|
||||
version = "1.56";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "JohnEarnest";
|
||||
repo = "Decker";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-6rKfIMEWMig1LAaLk1eSUHnc2104FuN5wTVpf1SgCtg=";
|
||||
hash = "sha256-b4Z+hQ7sQf8sdFXcX4+GA9Q8gJDUeb5LuVgrd3bY6vA=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -1,30 +0,0 @@
|
||||
{
|
||||
deno,
|
||||
lib,
|
||||
}:
|
||||
deno.overrideAttrs (
|
||||
final: prev: {
|
||||
pname = "denort";
|
||||
buildAndTestSubdir = "cli/rt";
|
||||
postInstall = "";
|
||||
installCheckPhase = "";
|
||||
passthru = { };
|
||||
meta = with lib; {
|
||||
homepage = "https://deno.land/";
|
||||
changelog = "https://github.com/denoland/deno/releases/tag/v${final.version}";
|
||||
description = "Slim version of the deno runtime, usually bundled with deno projects into standalone binaries";
|
||||
license = licenses.mit;
|
||||
mainProgram = "denort";
|
||||
maintainers = with maintainers; [
|
||||
jk
|
||||
ofalvai
|
||||
];
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
"x86_64-darwin"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
};
|
||||
}
|
||||
)
|
@ -9,16 +9,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "doh-proxy-rust";
|
||||
version = "0.9.11";
|
||||
version = "0.9.12";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit version;
|
||||
crateName = "doh-proxy";
|
||||
hash = "sha256-h2LwxqyyBPAXRr6XOmcLEmbet063kkM1ledULp3M2ek=";
|
||||
hash = "sha256-Q+SjUB9XQlT+r1bjKJooqJ095yp5PMqMAQhoo+kp238=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-eYJoHFIC0NF3OAbZXDWB57IOFC9JDV4IXHQgzIWMT04=";
|
||||
cargoHash = "sha256-XEHeGduKsIFW0tXto8DcghzNYMGE/zkWY2cTg8ZcPcU=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
libiconv
|
||||
|
@ -6,11 +6,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "doulos-sil";
|
||||
version = "6.200";
|
||||
version = "7.000";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://software.sil.org/downloads/r/doulos/DoulosSIL-${version}.zip";
|
||||
hash = "sha256-kpbXJVAEQLr5HMFaE+8OgAYrMGQoetgMi0CcPn4a3Xw=";
|
||||
hash = "sha256-i2M7YVBiLWUZETAZEesHdyQypoO5fbWHqhpizqVLB5E=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ente-web";
|
||||
version = "1.0.10";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ente-io";
|
||||
@ -20,13 +20,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
sparseCheckout = [ "web" ];
|
||||
tag = "photos-v${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-WJz1Weh17DWH5qzMry1uacHBXY9ouIXWRzoiwzIsN0I=";
|
||||
hash = "sha256-rHz/QlH3t+J2oz0s5LuWkgxGZmdiPFZXTuDI5yFajrA=";
|
||||
};
|
||||
sourceRoot = "${finalAttrs.src.name}/web";
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = "${finalAttrs.src}/web/yarn.lock";
|
||||
hash = "sha256-9LC5WuS1CBj3vBacXUxJXyPgvZ/zfcihjZpCiH/8Aa0=";
|
||||
hash = "sha256-9BumlPzvG6dmuoFGdCAALzKpJATA3ibb1SkLtofAasI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "fabric-ai";
|
||||
version = "1.4.196";
|
||||
version = "1.4.209";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "danielmiessler";
|
||||
repo = "fabric";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-g2f8xpS+KA1USt7lArodTo7m7OXnzew2LSFKeVclQOE=";
|
||||
hash = "sha256-kRPFTs3w5MhlCax81GrZ82GWLMTDUiyXOI9lSp4Fwkc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-xfNvmhHNYpanhZKT9o8kImzw4gzigpgc8ri9O1iOqwc=";
|
||||
vendorHash = "sha256-GkAehT2oFG8cGe+PkceZios3ZG9S0CZs4L7slX+Dkck=";
|
||||
|
||||
# Fabric introduced plugin tests that fail in the nix build sandbox.
|
||||
doCheck = false;
|
||||
|
@ -65,12 +65,12 @@
|
||||
let
|
||||
sources = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://sf3-cn.feishucdn.com/obj/ee-appcenter/9bcfe8ba/Feishu-linux_x64-7.36.11.deb";
|
||||
sha256 = "sha256-iqEcwfF6z2jJ0TmFzDu2gf6eapHcJPaLSVESgtC9WUg=";
|
||||
url = "https://sf3-cn.feishucdn.com/obj/ee-appcenter/91e64286/Feishu-linux_x64-7.42.17.deb";
|
||||
sha256 = "sha256-Rsq+xQAyi7I1WcnkXzhPEgbUyfXU9XPVKIuv6Z9H5VA=";
|
||||
};
|
||||
aarch64-linux = fetchurl {
|
||||
url = "https://sf3-cn.feishucdn.com/obj/ee-appcenter/484fc204/Feishu-linux_arm64-7.36.11.deb";
|
||||
sha256 = "sha256-XTa5GOMBsiXI5IDhDQktSxdUfuvG7c2VWHuS76cFsqE=";
|
||||
url = "https://sf3-cn.feishucdn.com/obj/ee-appcenter/49127814/Feishu-linux_arm64-7.42.17.deb";
|
||||
sha256 = "sha256-UykQk8R8EDsHmRGy9BfDXhEZFlYT16bAkRuLXFZJDHw=";
|
||||
};
|
||||
};
|
||||
|
||||
@ -133,7 +133,7 @@ let
|
||||
];
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
version = "7.36.11";
|
||||
version = "7.42.17";
|
||||
pname = "feishu";
|
||||
|
||||
src =
|
||||
|
@ -8,13 +8,13 @@
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "garnet";
|
||||
version = "1.0.69";
|
||||
version = "1.0.70";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "microsoft";
|
||||
repo = "garnet";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-U90y8VxGrRgXTdrusImNK2kRO+Tw9uiXoMiEb3YgaBM=";
|
||||
hash = "sha256-E+fwtD0AcUCHhHrnR7OV2mnDtGUnkJkLBKl6DbXlooU=";
|
||||
};
|
||||
|
||||
projectFile = "main/GarnetServer/GarnetServer.csproj";
|
||||
|
@ -20,11 +20,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gretl";
|
||||
version = "2025a";
|
||||
version = "2025b";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/gretl/gretl-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-5B9V1Z12+Hu00x++u2ndUXWq91k/SXy723DoLOefhEQ=";
|
||||
hash = "sha256-DW0QXWbx0nMWTfjxO15ZGR/DsvFM7eee0DDsqrm5vHM=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -9,11 +9,11 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "honk";
|
||||
version = "1.4.2";
|
||||
version = "1.5.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://humungus.tedunangst.com/r/honk/d/honk-${version}.tgz";
|
||||
hash = "sha256-uswlReJzPjkVOazKmMHtetVukunroesqYc8XCJHiOxQ=";
|
||||
hash = "sha256-VOeA2oQNmcEVfvWrKnWWUz6n+WjMuxYQnbqPfWaHGLM=";
|
||||
};
|
||||
vendorHash = null;
|
||||
|
||||
|
@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "i2pd";
|
||||
version = "2.56.0";
|
||||
version = "2.57.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PurpleI2P";
|
||||
repo = "i2pd";
|
||||
tag = version;
|
||||
hash = "sha256-URFLVMd1j/br+/isQytVjSVosMHn1SEwqg2VNxStD0A=";
|
||||
hash = "sha256-+LywTG+AXOas6fXF1pXjBkqa+fUbaWNMA3EqCEZfc/A=";
|
||||
};
|
||||
|
||||
postPatch = lib.optionalString (!stdenv.hostPlatform.isx86) ''
|
||||
|
@ -6,11 +6,11 @@
|
||||
|
||||
let
|
||||
pname = "jbrowse";
|
||||
version = "3.5.0";
|
||||
version = "3.5.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/GMOD/jbrowse-components/releases/download/v${version}/jbrowse-desktop-v${version}-linux.AppImage";
|
||||
sha256 = "sha256-UAuKbfvJuCDIaERFVYo6rdhBG2ycp87ZnCrVPLDDv9g=";
|
||||
sha256 = "sha256-1swQIG9rCzk2wP7apYo4UjUE+enMK/ZrMu1q4/ahfjA=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
|
@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "keepalived";
|
||||
version = "2.3.3";
|
||||
version = "2.3.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "acassen";
|
||||
repo = "keepalived";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-+IwV8ifQ8gWN4eR9Fgvw3HV3WJDmy3urEQDLngoMdm8=";
|
||||
sha256 = "sha256-Xv/UGIeZhRHQO5lxkaWgHDUW+3qBi3wFU4+Us1A2uE0=";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
|
@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ktls-utils";
|
||||
version = "1.0.0";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "oracle";
|
||||
repo = "ktls-utils";
|
||||
rev = "ktls-utils-${version}";
|
||||
hash = "sha256-dIzff/NL/M3yHvxCmDELmDfCtO3UpxXWNGq+VeCH5Z0=";
|
||||
hash = "sha256-UQMM4P2YZbdB8H+kTLPBKLces0HJHAO3f21VvI1yNmk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -11,13 +11,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubeshark";
|
||||
version = "52.7.0";
|
||||
version = "52.7.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubeshark";
|
||||
repo = "kubeshark";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-D3mHLYN6OVk7f1MCCWqSg/3qeg83EHcpqvkm1UTOaaM=";
|
||||
hash = "sha256-gF1Q0amsgKyog+98zeHMidU8vzlTynr69alC6BhGAqI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-kzyQW4bVE7oMOlHVG7LKG1AMTRYa5GLiiEhdarIhMSo=";
|
||||
|
@ -9,13 +9,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubevirt";
|
||||
version = "1.5.1";
|
||||
version = "1.5.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubevirt";
|
||||
repo = "kubevirt";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-wREuRKfpyAL1SF1tnSNqCLqvWctVHHEpyrWLIY0nV3Y=";
|
||||
hash = "sha256-R01kW6mS1Ce3oi3p6RFVXif/BybM9HlbL2WT9b5wJuE=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -49,14 +49,14 @@
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
# LAMMPS has weird versioning convention. Updates should go smoothly with:
|
||||
# nix-update --commit lammps --version-regex 'stable_(.*)'
|
||||
version = "29Aug2024_update2";
|
||||
version = "29Aug2024_update3";
|
||||
pname = "lammps";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lammps";
|
||||
repo = "lammps";
|
||||
rev = "stable_${finalAttrs.version}";
|
||||
hash = "sha256-xhFLsK3CQFIfajdwkpz593KTUGwcIWX1bLIPClDe/V8=";
|
||||
hash = "sha256-nvUkRkO58Hmrsieyd9ALRUA7Q80AcZffW85ipH4NF/U=";
|
||||
};
|
||||
preConfigure = ''
|
||||
cd cmake
|
||||
|
@ -6,12 +6,12 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "3.4.0";
|
||||
version = "3.4.1";
|
||||
pname = "libzdb";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.tildeslash.com/libzdb/dist/libzdb-${version}.tar.gz";
|
||||
sha256 = "sha256-q9Z1cZvL3eQwqk7hOXW5gNVdKry1zCKAgqMDIKa7nw8=";
|
||||
sha256 = "sha256-W0Yz/CoWiA93YZf0BF9i7421Bi9jAw+iIQEdS4XXNss=";
|
||||
};
|
||||
|
||||
buildInputs = [ sqlite ];
|
||||
|
26
pkgs/by-name/nj/njq/package.nix
Normal file
26
pkgs/by-name/nj/njq/package.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "njq";
|
||||
version = "0.0.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Rucadi";
|
||||
repo = "njq";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-evFKm5NYNqIIRVbtMlGFY0k+0sJnkTCTIbTH7w9jQtk=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-tDz9+iQhutlo7petKmg6n/mg0tDntGRqwBALcATJwdM=";
|
||||
|
||||
meta = {
|
||||
description = "Command-line JSON processor using nix as query language";
|
||||
homepage = "https://github.com/Rucadi/njq";
|
||||
mainProgram = "njq";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ powwu ];
|
||||
};
|
||||
})
|
@ -14,16 +14,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "nwg-menu";
|
||||
version = "0.1.8";
|
||||
version = "0.1.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nwg-piotr";
|
||||
repo = "nwg-menu";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Ce8hxFVCj/No2Sb6avQ9ogMPTJXDcWxa3GFfsczq1+E=";
|
||||
sha256 = "sha256-3fN89HPwobMiijlvGJ80HexCBdsPLsEvAz9VH8dO4qc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-53lRO4Ct20jYJY7JRElx9MWzb+TEm8KIIJZF3OfL1kQ=";
|
||||
vendorHash = "sha256-5gazNUZdPZh21lcnVFKPSDc/JLi8d6tqfP4NKMzPa8U=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -14,13 +14,13 @@ assert
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "open-policy-agent";
|
||||
version = "1.4.2";
|
||||
version = "1.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "open-policy-agent";
|
||||
repo = "opa";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-4FRNTB24JWyF3Zuhx3T6LjNs83+wDh4gmE9rh3cu/Vk=";
|
||||
hash = "sha256-gIwi+38oUBEVK5DiTU8Avt+lQtXaIf/udyVi4LLvTu8=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
@ -31,7 +31,6 @@ buildGoModule (finalAttrs: {
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X github.com/open-policy-agent/opa/version.Version=${finalAttrs.version}"
|
||||
];
|
||||
|
||||
@ -50,6 +49,7 @@ buildGoModule (finalAttrs: {
|
||||
# Skip tests that require network, not available in the nix sandbox
|
||||
"TestInterQueryCache_ClientError"
|
||||
"TestIntraQueryCache_ClientError"
|
||||
"TestSSOCredentialService"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# Skip tests that require network, not available in the darwin sandbox
|
||||
|
@ -9,13 +9,13 @@
|
||||
}:
|
||||
let
|
||||
pname = "open-webui";
|
||||
version = "0.6.14";
|
||||
version = "0.6.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "open-webui";
|
||||
repo = "open-webui";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-tq6npchWuEzgMOoCUvwHGbDjpJPOO1eSCS/88IzhWvQ=";
|
||||
hash = "sha256-MD7d+5JuTzChqKLxXyZFLyPktXFta1EOe4Oj4uEGaho=";
|
||||
};
|
||||
|
||||
frontend = buildNpmPackage rec {
|
||||
|
@ -32,13 +32,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pdi";
|
||||
version = "1.9.1";
|
||||
version = "1.9.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pdidev";
|
||||
repo = "pdi";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-Tmn4M+tcnNH6Bm4t5D/VgciOu4dDKKqYkbERKgpHX/Y=";
|
||||
hash = "sha256-bbhsMbTVvG19vtkZyOiCRH168kCFk2ahSFc7davfXzo=";
|
||||
};
|
||||
|
||||
# Current hdf5 version in nixpkgs is 1.14.4.3 which is 4 numbers long and doesn't match the 3 number regex. :')
|
||||
|
@ -1,55 +1,49 @@
|
||||
{
|
||||
lib,
|
||||
bc,
|
||||
python3Packages,
|
||||
fetchFromGitHub,
|
||||
|
||||
# tests
|
||||
addBinToPathHook,
|
||||
bc,
|
||||
jq,
|
||||
python3,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
let
|
||||
pythonPackages = python3.pkgs;
|
||||
finalAttrs = {
|
||||
pname = "pyp";
|
||||
version = "1.2.0";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hauntsaninja";
|
||||
repo = "pyp";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-hnEgqWOIVj2ugOhd2aS9IulfkVnrlkhwOtrgH4qQqO8=";
|
||||
hash = "sha256-u9yxjYNQrtYtFtUh5tTJ1mGmGB+Ry+FRupli8RzRu3c=";
|
||||
};
|
||||
|
||||
pyproject = true;
|
||||
|
||||
build-system = with pythonPackages; [
|
||||
build-system = with python3Packages; [
|
||||
flit-core
|
||||
];
|
||||
|
||||
nativeCheckInputs =
|
||||
(with pythonPackages; [
|
||||
(with python3Packages; [
|
||||
pytestCheckHook
|
||||
])
|
||||
++ [
|
||||
addBinToPathHook
|
||||
bc
|
||||
jq
|
||||
versionCheckHook
|
||||
];
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pyp"
|
||||
];
|
||||
|
||||
# without this, the tests fail because they are unable to find the pyp tool
|
||||
# itself...
|
||||
preCheck = ''
|
||||
_OLD_PATH_=$PATH
|
||||
PATH=$out/bin:$PATH
|
||||
'';
|
||||
|
||||
# And a cleanup!
|
||||
postCheck = ''
|
||||
PATH=$_OLD_PATH_
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/hauntsaninja/pyp";
|
||||
description = "Easily run Python at the shell";
|
||||
@ -62,4 +56,4 @@ let
|
||||
};
|
||||
};
|
||||
in
|
||||
pythonPackages.buildPythonPackage finalAttrs
|
||||
python3Packages.buildPythonPackage finalAttrs
|
||||
|
@ -8,11 +8,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "questdb";
|
||||
version = "8.3.2";
|
||||
version = "8.3.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/questdb/questdb/releases/download/${finalAttrs.version}/questdb-${finalAttrs.version}-no-jre-bin.tar.gz";
|
||||
hash = "sha256-5yaV+ehcamXIVQZvte2+yUd0FoseR2kFuhvzZb3SZY8=";
|
||||
hash = "sha256-C3lhEgg9erAYSV4qU+xqPM1YbqCIj7mqmVzu+6BY+pI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -6,12 +6,12 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "4.3.3";
|
||||
version = "4.3.4";
|
||||
pname = "randoop";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/randoop/randoop/releases/download/v${version}/${pname}-${version}.zip";
|
||||
sha256 = "sha256-x9kAoVa4wvUp3gpg9GCodvjwql3CBtn5EqJIZYSSqVI=";
|
||||
sha256 = "sha256-yzQw9l3uAq51SHXJ4rsZNRCiFdhOEoSrwv9iPvD2i9c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "renovate";
|
||||
version = "40.48.0";
|
||||
version = "40.60.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "renovatebot";
|
||||
repo = "renovate";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-SZKa1jIK5FIh8t/aH2o3kgSfqgNR9+rk7GzMX0Fs2dk=";
|
||||
hash = "sha256-eF9RY/KmiyFjGgEm1twxZliKMS5+7sXF5f2JpUYvJCM=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pnpmDeps = pnpm_10.fetchDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-BjMJzITAeUspL0a/ZfhejmOdEVi6pBHD6BmQt2WIE1I=";
|
||||
hash = "sha256-X9hwB4E78puo+1hkGoKwOSK3xhGOpcXciC2h6mElvWY=";
|
||||
};
|
||||
|
||||
env.COREPACK_ENABLE_STRICT = 0;
|
||||
|
@ -102,6 +102,12 @@ in
|
||||
writeTextFile rec {
|
||||
name = "sage-env";
|
||||
destination = "/${name}";
|
||||
|
||||
passthru = {
|
||||
lib = sagelib;
|
||||
docbuild = sage-docbuild;
|
||||
};
|
||||
|
||||
text =
|
||||
''
|
||||
export PKG_CONFIG_PATH='${
|
||||
@ -205,8 +211,3 @@ writeTextFile rec {
|
||||
}''${DYLD_LIBRARY_PATH:+:}$DYLD_LIBRARY_PATH"
|
||||
'';
|
||||
}
|
||||
// {
|
||||
# equivalent of `passthru`, which `writeTextFile` doesn't support
|
||||
lib = sagelib;
|
||||
docbuild = sage-docbuild;
|
||||
}
|
||||
|
@ -7,17 +7,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "shadowenv";
|
||||
version = "3.0.3";
|
||||
version = "3.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Shopify";
|
||||
repo = "shadowenv";
|
||||
rev = version;
|
||||
hash = "sha256-ZipFcwTpKKFnQWOPxXg07V71jitG0NSLpGLEzUSsUFA=";
|
||||
hash = "sha256-s70tNeF0FnWYZ0xLGIL1lTM0LwJdhPPIHrNgrY1YNBs=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-KNCucBmYVmIQ/XY+UNV667iWLyiEJDnP/8gAmUHGY+0=";
|
||||
cargoHash = "sha256-Cg01yM3FbrYpZrv2dhGJnezugNhcuwDcXIU47/AWrC4=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
@ -26,13 +26,13 @@ assert
|
||||
(!withFirefox && !withChromium) -> throw "Either `withFirefox` or `withChromium` must be enabled.";
|
||||
buildNpmPackage rec {
|
||||
pname = "sitespeed-io";
|
||||
version = "37.6.0";
|
||||
version = "37.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sitespeedio";
|
||||
repo = "sitespeed.io";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-sR6vDLoMysdcbtaIrNUvzwhIPe0GbymHdKQkFDBaEiM=";
|
||||
hash = "sha256-0bXkVqCen0kUHP8YeFkpdxTd+4Hx6YMZVTjwgWWg6nQ=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -50,7 +50,7 @@ buildNpmPackage rec {
|
||||
|
||||
dontNpmBuild = true;
|
||||
npmInstallFlags = [ "--omit=dev" ];
|
||||
npmDepsHash = "sha256-6Q8ed8iIGVOUNIn7gMEgqK8fqF5dI2fO/j5u7hj3hGA=";
|
||||
npmDepsHash = "sha256-ZWjlueRZkH5lsalUY/xoOO/22P9Ta5CnmK0UKjapyU8=";
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/sitespeed{.,-}io
|
||||
|
@ -1,10 +1,12 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
curl,
|
||||
pkg-config,
|
||||
makeBinaryWrapper,
|
||||
installShellFiles,
|
||||
libgit2,
|
||||
oniguruma,
|
||||
openssl,
|
||||
@ -34,6 +36,7 @@ rustPlatform.buildRustPackage {
|
||||
makeBinaryWrapper
|
||||
pkg-config
|
||||
rustPlatform.bindgenHook
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@ -68,19 +71,26 @@ rustPlatform.buildRustPackage {
|
||||
# Tests are disabled since they always fail when building with Nix
|
||||
doCheck = false;
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/lib/steel
|
||||
postInstall =
|
||||
''
|
||||
mkdir -p $out/lib/steel
|
||||
|
||||
substituteInPlace cogs/installer/download.scm \
|
||||
--replace-fail '"cargo-steel-lib"' '"$out/bin/cargo-steel-lib"'
|
||||
substituteInPlace cogs/installer/download.scm \
|
||||
--replace-fail '"cargo-steel-lib"' '"$out/bin/cargo-steel-lib"'
|
||||
|
||||
pushd cogs
|
||||
$out/bin/steel install.scm
|
||||
popd
|
||||
pushd cogs
|
||||
$out/bin/steel install.scm
|
||||
popd
|
||||
|
||||
mv $out/lib/steel/bin/repl-connect $out/bin
|
||||
rm -rf $out/lib/steel/bin
|
||||
'';
|
||||
mv $out/lib/steel/bin/repl-connect $out/bin
|
||||
rm -rf $out/lib/steel/bin
|
||||
''
|
||||
+ lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
installShellCompletion --cmd steel \
|
||||
--bash <($out/bin/steel completions bash) \
|
||||
--fish <($out/bin/steel completions fish) \
|
||||
--zsh <($out/bin/steel completions zsh)
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/steel --set-default STEEL_HOME "$out/lib/steel"
|
||||
|
67
pkgs/by-name/sw/swagger-typescript-api/missing-hashes.json
Normal file
67
pkgs/by-name/sw/swagger-typescript-api/missing-hashes.json
Normal file
@ -0,0 +1,67 @@
|
||||
{
|
||||
"@biomejs/cli-darwin-arm64@npm:2.0.0-beta.6": "4f83fff14fe51d58cf58167a513cc1e513e08d6b820f5039be6b5508aefb953f0a960bf7f53623acaa3dea3d5b6383050c40401754683c0ebef5cfe00c7608f3",
|
||||
"@biomejs/cli-darwin-x64@npm:2.0.0-beta.6": "7ca6a9cd1fb606174d4db6c4913c6fce576e5c858778c2e7248b3309be073aedb8a7411ce5fb3c361e364585e2c7ae118c5356187aa266a83b68dd9256c4f686",
|
||||
"@biomejs/cli-linux-arm64-musl@npm:2.0.0-beta.6": "802e2835c20834032871b782fc082581dcb2921bd01abfe4faa2b8cd662b2be47b35be87250c21595ec21ab917fb00b13468ff53893b54400b7c883b5506a033",
|
||||
"@biomejs/cli-linux-arm64@npm:2.0.0-beta.6": "e025f445655d1309204682aebcf77364c0c2687c257b6aa58cf803f14e8beb3a7065ad194cb517ce98d550c496ba6573915546906ed89abfa9e470369d8e0d2e",
|
||||
"@biomejs/cli-linux-x64-musl@npm:2.0.0-beta.6": "680dfd54cf4aaeb6485e70bddcd2211cb559ccfbf902aebccdaa8418c6b2cbeb1a68afb20ecaae9a41385ba762da10f1fafc37ae853a3cd18478640cd0ccf44d",
|
||||
"@biomejs/cli-linux-x64@npm:2.0.0-beta.6": "dfb7e72065d438f7112d90ad66b8638abffe2b1d107cc89a46b53b745c28acef8184a03cc458bd01c4525a15e900c4fefb70b627682bdfc62c1453270e986255",
|
||||
"@biomejs/cli-win32-arm64@npm:2.0.0-beta.6": "68d6b4c8be07632acc201dee088866eecb3562f5b4fce64e49f3e5662626ffff2e1da8ddb369e2b4c76dbd95a98a86126991459f3c57447eacb7f0d30f984b2c",
|
||||
"@biomejs/cli-win32-x64@npm:2.0.0-beta.6": "19363ba1670072a2dd238ca45c25f0ccc3174c840be20a85d08bfa14b83b07a490f4c9f6227bd005aaa71852e1654cd2342b2ebb2eef8adac98e44c71d2806af",
|
||||
"@esbuild/aix-ppc64@npm:0.25.5": "fb872b34a2843293dc60e809968fedf93e0d8f7174b062decffae6ba861eb56aaea0cd0aba87ba99162ceb2a690f0cde4fc29c000b52c035e40c91ec7861d43e",
|
||||
"@esbuild/android-arm64@npm:0.25.5": "c818e799b19b5587466bf68a27b578ccaaf866c1d144573fbde7659e3fd3f555422ec3e67f5bd186a87648957d1b6e74df4f847edea7219c16979c9916f36e91",
|
||||
"@esbuild/android-arm@npm:0.25.5": "a5384933f9f2ffcadce2be49da6ff43249fe42f32a04071316434e9f633fc20c8d4029072e9a53555620c3531045786297607b852579eee30b6dbc3bc9d98cd9",
|
||||
"@esbuild/android-x64@npm:0.25.5": "8ce115dc7e1e6735f23b4aadb2dfca29c0abd8577ce34802ea3d017a64e388928949134fe225dfe190babdc5ec01be5fc7794eca84738cdefc12c5e3789ce43b",
|
||||
"@esbuild/darwin-arm64@npm:0.25.5": "a009eab62f2bd284a6f2001d5e08217059186ffc16907bbe873e1de40fe9b5ed92c0db2f4c4d0dc41545838850a430c8f2f35d7bdb9cd01a1a04293acd97afca",
|
||||
"@esbuild/darwin-x64@npm:0.25.5": "cac8021a7a0c549263e076913346b35a5bb81f76ffbc1abfad5e7b67303f013ac0c76f111bf624ea8447b327ec86c18a60c6ff307d743a2269f5d47313f5b2de",
|
||||
"@esbuild/freebsd-arm64@npm:0.25.5": "d248e7103b7094eb4288db7c9a78b2905a25b4a957f2b945531ca88d3394f45ceca2343a7c84954734534af6159bc741eb3d5c1ed9df990f7395337a1b14192c",
|
||||
"@esbuild/freebsd-x64@npm:0.25.5": "8a7be0740f07f5dbb3e24bf782ca6ef518a8ce9b53e5d864221722045713586d41774cbd531df97dc868b291b3b303c12e50ca8611c3cb7b5fe09a30b38285eb",
|
||||
"@esbuild/linux-arm64@npm:0.25.5": "ce3c8fca47cf0a92148fb288eb35a5c4a4dcf7a700730b3a48fdd63c13e17c719eb6b350378203fba773477eb5be637f47a6d52c5d4ce5bdc0075ee917156006",
|
||||
"@esbuild/linux-arm@npm:0.25.5": "cc81ea76ab86ed2a837c9da329f7c63412d288dc0aa608c8dcdf51705dc93d5b7f966a429be4896babe611074e5898c7e6c8e07ad7f50123a05478975294fbb4",
|
||||
"@esbuild/linux-ia32@npm:0.25.5": "bfed6750923afd56148f658f6ec8995479f5115116dc212ecb9e4c556064422e22eda855177e7c02cbc945494e4db1167101918c5fa932278115db2c7025a3f6",
|
||||
"@esbuild/linux-loong64@npm:0.25.5": "e5c20140bbbdba53f0d86dd72961ed73e6255d2ada2d3a626f390b352170605644822ad7592f695b6e520edcefe0c5f6ba19d10694b5d11d725745d9792bde01",
|
||||
"@esbuild/linux-mips64el@npm:0.25.5": "6b3559517efd0dd1301debc7af7e275b055859c26facdda2e229b1aaab6ebea4c480a1da151c46211ee4035d95bfa7f0cdacf735b57ee99d41b69c77357310b9",
|
||||
"@esbuild/linux-ppc64@npm:0.25.5": "a1a1af99d758efce928335637924dcd8ddec4201af51014e1f831b012d53a0a673b1e0c31036ec9e8c5a0311439283419ec8abdfc67ecb245fa7f7b653006ed0",
|
||||
"@esbuild/linux-riscv64@npm:0.25.5": "6cd8dce6723b73e0f89898ab6cd52e0d009afdacdfc0d5529134de7b832c92c2e0421fbb5cbfc0e0c0b2b00a9b1ff2c4cdb9695b2c535ebc174960e986c727a7",
|
||||
"@esbuild/linux-s390x@npm:0.25.5": "31b86dbc93d19eb362bad3353e65d6da771118346e723582d06c05f1b6ffad1c3765001b5215ef1e8f0c2bb29130d98815359bbc88e5c08304354d5a92e6ea94",
|
||||
"@esbuild/linux-x64@npm:0.25.5": "f878a3e40edfd8a50de94bf982a9eaf03e636a0332af163a6c905490063aae652384fb392d4765c4338fb6f991034949c92ec768ee65c3b2fceeb494b89fe8b3",
|
||||
"@esbuild/netbsd-arm64@npm:0.25.5": "941c5e28a63a93f19122271b5490e196db12815702c2266c6d66401b6909a4364ab889611ba81c5359624e3ce61f0505a680a1179ed9a555d1415fa1c485d75d",
|
||||
"@esbuild/netbsd-x64@npm:0.25.5": "edbefdd88ca24a373497a7c8d1fdab418827ff89c6eee1c574159dbb4d9174552aa87753f35525a894964b77c14b012164ec5582b9f19dd4d6c1f5d45df411c7",
|
||||
"@esbuild/openbsd-arm64@npm:0.25.5": "d44633a374c109d2fb9c678882016e3ec3d79f0c5f21a6e6fb0114ea709bc539200b037a4e3ec52304eea2f8c5957bf16c6f0a7af5cfde41b652c4bac604bba6",
|
||||
"@esbuild/openbsd-x64@npm:0.25.5": "efc4641ea653dedc9886f0603c2e7cfc6fbe94c34d4cdaee9b060a8b9d8143d1192c45da93b3e802af2c26f72ab1ad3a3fad0e0cb297d06de55814fe83ccd32c",
|
||||
"@esbuild/sunos-x64@npm:0.25.5": "29860663381b6098c0fda6f69235407654dfad953e83b3f9f06a270950d5c37da4ca60a4b5915b8e2606d468b560be6179870f64a22d5b046e8a930c31a7b554",
|
||||
"@esbuild/win32-arm64@npm:0.25.5": "a77d395251c8a62ab0cec07d5230222823fa02fbf3ef008d94b5213a335c9f949872c3f1c2f947abaa28098b669018e429af42f59616e049860a0072f3b006de",
|
||||
"@esbuild/win32-ia32@npm:0.25.5": "ff1b6cbe835082aef5b93c3e2012d51be431d05c6ae5f90a5bc89687c687e8e2340c262dedddd124b27b511616bbc4088b5a4a949d3147f677084dc6ec572629",
|
||||
"@esbuild/win32-x64@npm:0.25.5": "266e69e8d37bd4deb77443588e49472e4e9791178cb39e1692eabb67cf65d8e85a932ac468e7ebb2072c8a9ee23ad413c8f0f7d954c474f643cedbbf7aad952a",
|
||||
"@rolldown/binding-darwin-arm64@npm:1.0.0-beta.11-commit.f051675": "21449eafb0fc91888fc9284702ad0c85921c4d4143ff3bbb2c8c020a919d34870d24710b25170da147178b30e5aff19bb343618ef52ccdf0066b59a7cb8db118",
|
||||
"@rolldown/binding-darwin-x64@npm:1.0.0-beta.11-commit.f051675": "c2de323cb05852b4a514dde8e14bef22be087d188415201db9a805aee64f3facb6554ed04d2a92fce0ca5b4e91b067fe8e43e619df96dec7fc3a5e7a23873df1",
|
||||
"@rolldown/binding-freebsd-x64@npm:1.0.0-beta.11-commit.f051675": "57b857af21de285efd573ca87b6529e50e77cc10979dcbae5fb1dd53ddbabcd3336b9e4b4d04df3c952c6bc38873ea78cb6d5344fdbc49267df1c25c71471082",
|
||||
"@rolldown/binding-linux-arm-gnueabihf@npm:1.0.0-beta.11-commit.f051675": "0987f270ced3ff3e675a040b676fbd4a687080b124260e323e2c2aede7b59eb3b7d897064b5828031b91846ee5b483f10de85ed5b0468351780723ba0ecfc887",
|
||||
"@rolldown/binding-linux-arm64-gnu@npm:1.0.0-beta.11-commit.f051675": "0fffddc899ea0c2dbec2b8b21f6f6ced4cc483bd111f3c9c2684f57af9fdfed0e4adad95b3b027018b2b0f8801210f2ab4acf0d37d3702beddd8cf204f95d28f",
|
||||
"@rolldown/binding-linux-arm64-musl@npm:1.0.0-beta.11-commit.f051675": "0c2af36aca65e86b967f6d350176420fdd453c7dbb7796611c181aa87f2090edb577132edd1496964f7bae7346fc9ec15968ae39012f4e5fc347a82e867bd8aa",
|
||||
"@rolldown/binding-linux-x64-gnu@npm:1.0.0-beta.11-commit.f051675": "1f843a7d2283ac4f6daff6239108e7fa2680bd3795f06923603f6d693844bc990a85b66fc67005fd03a2eec7c8097c4737b935e9e448853d4a60c208b979a5ca",
|
||||
"@rolldown/binding-linux-x64-musl@npm:1.0.0-beta.11-commit.f051675": "f2be00d8c8cb67c216ae1f67b491bb1dfc7b5eaab66fc84a550ea45ff7f79080631b5748ca984a88a5806994aa2618933bba0d643cdc6b82f1268fc0025647f0",
|
||||
"@rolldown/binding-wasm32-wasi@npm:1.0.0-beta.11-commit.f051675": "b8fffeb3ede11a93235713f864e25270be2e3e3ddf77ba9bb4e534743e3f859b6ffff5a33e5c22e9e19745371f4d30f9a324990411a07e7e00e6f94a6ceb6fde",
|
||||
"@rolldown/binding-win32-arm64-msvc@npm:1.0.0-beta.11-commit.f051675": "2b7ea4e614a53acd3f9291b33d5e908d5f821354006610aaa53fea1a7f0cf6f8123e9f16424512a6c65e06a0c79ac324e9e067b3cddb10a434fc2470c2374b02",
|
||||
"@rolldown/binding-win32-ia32-msvc@npm:1.0.0-beta.11-commit.f051675": "e147c9f648a0d95dcbaf963380968762dd6feabb9403897ba17c123e8b9bb4eb94bad5096d4fdfe8f37454195f8391e01759c1ce86d1f41f73908f0b23f8c0fa",
|
||||
"@rolldown/binding-win32-x64-msvc@npm:1.0.0-beta.11-commit.f051675": "2ae46229ecfd2ed001f4a2e263bf7776896180c117d263526dc478ee30aff5569ee9f82b52fc1085d08f889aab6751c96e4988ac489f6b942ea7424e1fb8f43f",
|
||||
"@rollup/rollup-android-arm-eabi@npm:4.43.0": "8e37e27b359200197cddf9c1aa5bb5f2d0d8e640fe30f0ccc4b77d9c730b2fdda6f3b6f97a0afc45c5113f23637f98c5c89abf982a222cc3f6b00192a2a998fa",
|
||||
"@rollup/rollup-android-arm64@npm:4.43.0": "6e7ee0f496d30cfeca8d930c512f331053d87076b67f06303339ef19120dca5895bc2072ab3da7b99fb93f6c6c275d4d874a66bff08afeac4cea5447cdc709a3",
|
||||
"@rollup/rollup-darwin-arm64@npm:4.43.0": "7b76fb8e7ccc40ff17f9584b0cdacce22e384ce1229860b0971417236884d100362a79a12cdcbd0254dcd0f68d7db6cfe11c60f38e7a672cf62b0b8abe6834e9",
|
||||
"@rollup/rollup-darwin-x64@npm:4.43.0": "9209a1d1f97dad0810dc280485658b78cf597398da4ce2c2ccab04d4bbe0a05966325760d399209b67d746711bf204c4d8896941159ac5569e6a3a6738807e3a",
|
||||
"@rollup/rollup-freebsd-arm64@npm:4.43.0": "d89e2a6234d2cd2f18c168a832f518864c2c66c93f230ada42014b631ea0d04cb790269cbe0bb67e0bfbdcdf8b5b5069de1382be15380f469c02a51570d60729",
|
||||
"@rollup/rollup-freebsd-x64@npm:4.43.0": "0d4c3c6dc027a57e4ef1897acc58996e179f89130858f8849de9c6fbe4a9ffab5b226d0729c1bc8b15528271c0d0093e9c6df9831a01fa5baa870825306484a0",
|
||||
"@rollup/rollup-linux-arm-gnueabihf@npm:4.43.0": "f7c29e494b75719b3efdf6958c81e95b9c79bd4e3b8fe775088676a35da4e49301175fe4d1b3dc176348817f3ee7645ed34381e4801655c62c8b7de5a079c8e3",
|
||||
"@rollup/rollup-linux-arm-musleabihf@npm:4.43.0": "0ff5c0dfe63f3d4a5f3914555b6557f5d9a76af751ee4ae8fd4264ac8e2538108b20fb4049637bfee71f67e69b8cc5a4c38d1c0a029247e657a703594ec5733c",
|
||||
"@rollup/rollup-linux-arm64-gnu@npm:4.43.0": "2138243743cd1c5ff59de2e56f7b40aefb0c8e7b54a028fa6f40407594cf82a8f71d7c25368d54e5470e12fe6565dde2ade26e7a2e303368a4c216f907407feb",
|
||||
"@rollup/rollup-linux-arm64-musl@npm:4.43.0": "7b7ec641ff9b86e144971913ab40e6fdccbf9a45e501c6c5dc6e102ef28e1cad4a05ede0f4c9c1d21da9242033e221b491948e552acb5774cc033f97519da5dc",
|
||||
"@rollup/rollup-linux-loongarch64-gnu@npm:4.43.0": "eca2d22690858529fee43bacb8e5c3da972d07d68a0418437af18294a6abe181e0d46aac597ce13dd5ff9b22b3a4eec88e958f526082ae116d140a3e04466801",
|
||||
"@rollup/rollup-linux-powerpc64le-gnu@npm:4.43.0": "2b560dc6d6af7350fa7bd504c9e4357e677a56c4c62c27efa0162252482c8fffdbb1c77710a4f37325e8a8afd3ed9272b9998fb82472e72a2cacc5fa11cda633",
|
||||
"@rollup/rollup-linux-riscv64-gnu@npm:4.43.0": "7eaf269704ed32475620e5e293bc7db7ca15c0556de3b487cb0e08619610a45a9bec8c1db5f4a3294f229bed95a6c099fea37f2d1a012cef0322a9b42a5bd27f",
|
||||
"@rollup/rollup-linux-riscv64-musl@npm:4.43.0": "fe28cbe57646d2c78966119db6c91c42c0f48a9f1175fd4596697107a6f4a229484f45344fbd8656f6875fcc22fa565603688fd02a02c98007aa30aee34b066d",
|
||||
"@rollup/rollup-linux-s390x-gnu@npm:4.43.0": "60691ae9cc5f68fb845c972e337c8c8230078fe9a204a249670de21c72d1e8ccac1f0d47347eb720e87068b0f1fb86af54edbcf5d20fe25b1d1cd5e76db7a0f1",
|
||||
"@rollup/rollup-linux-x64-gnu@npm:4.43.0": "337a87aed8d5b07f8e5bd8e1b0fe6b7e03edaabc948076dd817d70badb5c5081e9c0faf36411e54fddc633e0a8eb4f1f348208678184794116cecbded2c5b288",
|
||||
"@rollup/rollup-linux-x64-musl@npm:4.43.0": "e85942bd31ecf417f25220f1f376395e5a679f8d0c9e4fa7084d5d61265da00d2f483aef3a97884c94ed572e6d3b98ecc7707efbbf2dbdd4d8b9a5b9c4350a56",
|
||||
"@rollup/rollup-win32-arm64-msvc@npm:4.43.0": "c6a793b1a16fdfe801018f2ff9d92290da6695e8041fc543a36daca859379f03fcb2d1d688891a9cfff0223962da38fd33f661a5c93d46a794c1eb4fa79ff119",
|
||||
"@rollup/rollup-win32-ia32-msvc@npm:4.43.0": "305a82fdea7656d83efce73720c0d36c6da4734e9e05f3696d032272fd61de767991e04fa02b0abaf18c4aeaf17f7a61a2e7552d923d89d6a9abfba4a5e37657",
|
||||
"@rollup/rollup-win32-x64-msvc@npm:4.43.0": "966e5f3d7996f41ea6cee2e0a20276cb314029bceee9b9e7512c47a3d139e1601231490229a66e8f5824b64d72c508e272f9f5f62d6b8b2a61722c17aa0ac3a1"
|
||||
}
|
67
pkgs/by-name/sw/swagger-typescript-api/package.nix
Normal file
67
pkgs/by-name/sw/swagger-typescript-api/package.nix
Normal file
@ -0,0 +1,67 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
yarn-berry_4,
|
||||
stdenv,
|
||||
nodejs,
|
||||
makeWrapper,
|
||||
}:
|
||||
let
|
||||
pname = "swagger-typescript-api";
|
||||
version = "13.2.2";
|
||||
yarn-berry = yarn-berry_4;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "acacode";
|
||||
repo = "swagger-typescript-api";
|
||||
rev = version;
|
||||
hash = "sha256-dpziQNXLwo2W+zZdFujaNufVoGg8M11G79LVWTi9G/M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
yarn-berry.yarnBerryConfigHook
|
||||
yarn-berry
|
||||
nodejs
|
||||
];
|
||||
|
||||
missingHashes = ./missing-hashes.json;
|
||||
offlineCache = yarn-berry.fetchYarnBerryDeps {
|
||||
inherit (finalAttrs) src missingHashes;
|
||||
hash = "sha256-pD/yx1DyccEWczvDQM+gseravu8eIqumOBuG65htYr8=";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
yarn run build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/lib
|
||||
cp -r {dist,templates,node_modules} $out/lib
|
||||
|
||||
makeWrapper ${nodejs}/bin/node $out/bin/${pname} \
|
||||
--add-flags $out/lib/dist/cli.js \
|
||||
--set NODE_ENV production \
|
||||
--set NODE_PATH "$out/lib/node_modules"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
mainProgram = "swagger-typescript-api";
|
||||
description = "Generate TypeScript API client and definitions for fetch or axios from an OpenAPI specification";
|
||||
homepage = "https://github.com/acacode/swagger-typescript-api";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = with lib.maintainers; [ angelodlfrtr ];
|
||||
};
|
||||
})
|
@ -16,16 +16,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "teams-for-linux";
|
||||
version = "2.0.16";
|
||||
version = "2.0.18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "IsmaelMartinez";
|
||||
repo = "teams-for-linux";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-+0sVumtXEJQEP3vFQ7QU4zA4PuqCRDH5+fetD8PqtBg=";
|
||||
hash = "sha256-44K76pNJ0SRKAF8QdHYSi5htQpbP6YNNg6vDkzaeqaI=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-I9h/5sIOXJWm/+YJbXQ5QUfoMnTNiOz27LSEiVS4FXA=";
|
||||
npmDepsHash = "sha256-ShEqO6nL2YK2wdHGEcKff0fJsd9N9LI0VfhFe6FQ2gw=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
|
@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "tile38";
|
||||
version = "1.34.4";
|
||||
version = "1.35.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tidwall";
|
||||
repo = "tile38";
|
||||
tag = version;
|
||||
hash = "sha256-TLVFFgT5lxOLhv1RBS09DCcZAozkcHzIBlJSWt1ztB4=";
|
||||
hash = "sha256-n17W/JOtVV6Mjhp81xx25j6GUbR9WCd3JLh9voyMeC0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-geXYLeJf/u+8RD7Slr2x+J6zABkWSIfhxKLxZVF/icU=";
|
||||
vendorHash = "sha256-/EgUacA9xTUw3e8208NWxhaeZ/KgHLSnxy/fIqC+gZE=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/tile38-cli"
|
||||
|
@ -8,11 +8,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "tuist";
|
||||
version = "4.38.2";
|
||||
version = "4.53.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/tuist/tuist/releases/download/${finalAttrs.version}/tuist.zip";
|
||||
hash = "sha256-FK9F0Y3p04NOoy1Mnlcvimm/LGA5Y+lQ9P679SNNOzA=";
|
||||
hash = "sha256-4YQY94/uWh/H4cCzhdQ3KxIh19D8mmUCCDKMF8ZwA4E=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
42
pkgs/by-name/un/units-llnl/package.nix
Normal file
42
pkgs/by-name/un/units-llnl/package.nix
Normal file
@ -0,0 +1,42 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
|
||||
# This is the baseType needed by scipp - the main package that depends on
|
||||
# this package.
|
||||
baseType ? "uint64_t",
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "units-llnl";
|
||||
version = "0.13.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LLNL";
|
||||
repo = "units";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-thJnBT+wQPF9obzXk/T6H9lvPEAH5REx3YhBXEd7n7c=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
];
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "BUILD_SHARED_LIBS" true)
|
||||
(lib.cmakeFeature "UNITS_BASE_TYPE" baseType)
|
||||
];
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "Run-time C++ library for working with units of measurement and conversions between them and with string representations of units and measurements";
|
||||
homepage = "https://github.com/llnl/units";
|
||||
changelog = "https://github.com/llnl/units/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ doronbehar ];
|
||||
mainProgram = "units-llnl";
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
})
|
@ -1,51 +1,72 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildGoModule,
|
||||
fetchzip,
|
||||
gst_all_1,
|
||||
gtkmm3,
|
||||
hidapi,
|
||||
lib,
|
||||
makeWrapper,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
python3,
|
||||
stdenv,
|
||||
udev,
|
||||
udevCheckHook,
|
||||
wrapGAppsHook3,
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.2.0";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/carrotIndustries/usbkvm/releases/download/v${version}/usbkvm-v${version}.tar.gz";
|
||||
sha256 = "sha256-ng6YpaN7sKEBPJcJAm0kcYtT++orweWRx6uOZFnOGG8=";
|
||||
hash = "sha256-urexPODXU69QfSRHtJVpoDx/6mbPcv6EQ3mR0VRHNiY=";
|
||||
};
|
||||
|
||||
ms-tools-lib = buildGoModule {
|
||||
pname = "usbkvm-ms-tools-lib";
|
||||
inherit version;
|
||||
inherit version src;
|
||||
|
||||
inherit src;
|
||||
sourceRoot = "${src.name}/ms-tools";
|
||||
|
||||
vendorHash = null; # dependencies are vendored in the release tarball
|
||||
|
||||
buildInputs = [
|
||||
hidapi
|
||||
];
|
||||
buildInputs = [ hidapi ];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
mkdir -p $out/
|
||||
go build -C lib/ -o $out/ -buildmode=c-archive mslib.go
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/carrotIndustries/ms-tools";
|
||||
description = "Program, library and reference designs to develop for MacroSilicon MS2106/MS2109/MS2130 chips";
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "usbkvm";
|
||||
inherit version src;
|
||||
|
||||
# The package includes instructions to build the "mslib.{a,h}" files using a
|
||||
# Go compiler, but that doesn't work in the Nix sandbox. We patch out this
|
||||
# build step to instead copy those files from the Nix store:
|
||||
patches = [
|
||||
./precompiled-mslib.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace meson.build \
|
||||
--replace-fail "@MSLIB_A_PRECOMPILED@" "${ms-tools-lib}/mslib.a" \
|
||||
--replace-fail "@MSLIB_H_PRECOMPILED@" "${ms-tools-lib}/mslib.h"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
python3
|
||||
@ -63,18 +84,6 @@ stdenv.mkDerivation {
|
||||
hidapi
|
||||
];
|
||||
|
||||
# The package includes instructions to build the "mslib.{a,h}" files using a
|
||||
# Go compiler, but that doesn't work in the Nix sandbox. We patch out this
|
||||
# build step to instead copy those files from the Nix store:
|
||||
patches = [
|
||||
./precompiled-mslib.patch
|
||||
];
|
||||
postPatch = ''
|
||||
substituteInPlace meson.build \
|
||||
--replace-fail "@MSLIB_A_PRECOMPILED@" "${ms-tools-lib}/mslib.a" \
|
||||
--replace-fail "@MSLIB_H_PRECOMPILED@" "${ms-tools-lib}/mslib.h"
|
||||
'';
|
||||
|
||||
# Install udev rules in this package's out path:
|
||||
mesonFlags = [
|
||||
"-Dudevrulesdir=lib/udev/rules.d"
|
||||
@ -98,7 +107,7 @@ stdenv.mkDerivation {
|
||||
homepage = "https://github.com/carrotIndustries/usbkvm";
|
||||
description = "Open-source USB KVM (Keyboard, Video and Mouse) adapter";
|
||||
changelog = "https://github.com/carrotIndustries/usbkvm/releases/tag/v${version}";
|
||||
license = lib.licenses.gpl3;
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ lschuermann ];
|
||||
mainProgram = "usbkvm";
|
||||
};
|
||||
|
@ -1,25 +1,25 @@
|
||||
{
|
||||
"version": "0.149.0",
|
||||
"version": "0.150.0",
|
||||
"binaries": {
|
||||
"aarch64-darwin": {
|
||||
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.149.0/darwin/arm64/yc",
|
||||
"hash": "sha256-9mxc0E0pZlX/kM6Lm9CZcVyR3ih8oNZwicaEYrGVLWY="
|
||||
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.150.0/darwin/arm64/yc",
|
||||
"hash": "sha256-jIK8gCqzDZTp8pM7FSEmeNmdZUIEtD2KwUegkHm8VoY="
|
||||
},
|
||||
"aarch64-linux": {
|
||||
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.149.0/linux/arm64/yc",
|
||||
"hash": "sha256-oDcBQq3bqRfAKRltpMoxI/tXHOzdmcGOY8Du/VkvVYs="
|
||||
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.150.0/linux/arm64/yc",
|
||||
"hash": "sha256-B639QeVd3d+lLnLNxmToAFFxUa+/9zBUhR749wVuZi0="
|
||||
},
|
||||
"i686-linux": {
|
||||
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.149.0/linux/386/yc",
|
||||
"hash": "sha256-09MR0gx3UBox4Ue1649WpdOxY+hTnchHD1v3PeFdMBs="
|
||||
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.150.0/linux/386/yc",
|
||||
"hash": "sha256-4Rf9el3Qs9c9AKIWDH6lojIxBJthGsjK+qYYqRjcPvI="
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.149.0/darwin/amd64/yc",
|
||||
"hash": "sha256-7AhcJKYeVxpJNEl8dEvjVcFR/6aJtqqKRCDv8inyKM8="
|
||||
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.150.0/darwin/amd64/yc",
|
||||
"hash": "sha256-3V9s5kl/rZn2nN2/a3p3WYCdUeF/LA9ATCVNxYADg+U="
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.149.0/linux/amd64/yc",
|
||||
"hash": "sha256-vsxxGgqpewpQhUt3eMs6zOWKXgO0nTDOBB0ODfGDWNM="
|
||||
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.150.0/linux/amd64/yc",
|
||||
"hash": "sha256-vKENaNar/rHGqAoOPuo7b/tU29STk2ak6FqUxFqeOto="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,86 @@
|
||||
From 75a0baa32f434546c5d6cfaf8ae19d561aa8dddd Mon Sep 17 00:00:00 2001
|
||||
From: OPNA2608 <opna2608@protonmail.com>
|
||||
Date: Mon, 9 Jun 2025 20:00:40 +0200
|
||||
Subject: [PATCH] treewide: Fix imports in tests after QML files were moved out
|
||||
of top-level dir
|
||||
|
||||
---
|
||||
CMakeLists.txt | 2 ++
|
||||
tests/unittests/tst_BottomEdgeIndicators.qml | 3 +--
|
||||
tests/unittests/tst_PhotogridView.qml | 3 +--
|
||||
tests/unittests/tst_StopWatch.qml | 3 +--
|
||||
tests/unittests/tst_ViewFinderGeometry.qml | 3 +--
|
||||
5 files changed, 6 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index faa998c..9d54fbe 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -191,6 +191,8 @@ install(DIRECTORY ${QML_DIR}
|
||||
DESTINATION ${CAMERA_APP_DIR}
|
||||
)
|
||||
|
||||
+# For tests
|
||||
+file(COPY ${QML_DIR} DESTINATION ${CMAKE_BINARY_DIR})
|
||||
|
||||
set(ASSETS_DIR assets)
|
||||
|
||||
diff --git a/tests/unittests/tst_BottomEdgeIndicators.qml b/tests/unittests/tst_BottomEdgeIndicators.qml
|
||||
index 129b840..3dd4c0c 100644
|
||||
--- a/tests/unittests/tst_BottomEdgeIndicators.qml
|
||||
+++ b/tests/unittests/tst_BottomEdgeIndicators.qml
|
||||
@@ -17,8 +17,7 @@
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtTest 1.0
|
||||
-import "../../"
|
||||
-import "../../.." //Needed for out of source build
|
||||
+import "../../qml/components"
|
||||
|
||||
TestCase {
|
||||
name: "BottomEdgeIndicators"
|
||||
diff --git a/tests/unittests/tst_PhotogridView.qml b/tests/unittests/tst_PhotogridView.qml
|
||||
index 4c7404a..3f14840 100644
|
||||
--- a/tests/unittests/tst_PhotogridView.qml
|
||||
+++ b/tests/unittests/tst_PhotogridView.qml
|
||||
@@ -17,8 +17,7 @@
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtTest 1.0
|
||||
-import "../../"
|
||||
-import "../../.." //Needed for out of source build
|
||||
+import "../../qml/components"
|
||||
|
||||
TestCase {
|
||||
name: "PhotogridView"
|
||||
diff --git a/tests/unittests/tst_StopWatch.qml b/tests/unittests/tst_StopWatch.qml
|
||||
index aac9c36..5ad29f8 100644
|
||||
--- a/tests/unittests/tst_StopWatch.qml
|
||||
+++ b/tests/unittests/tst_StopWatch.qml
|
||||
@@ -17,8 +17,7 @@
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtTest 1.0
|
||||
-import "../../"
|
||||
-import "../../.." //Needed for out of source build
|
||||
+import "../../qml/components"
|
||||
|
||||
TestCase {
|
||||
name: "StopWatch"
|
||||
diff --git a/tests/unittests/tst_ViewFinderGeometry.qml b/tests/unittests/tst_ViewFinderGeometry.qml
|
||||
index 154437f..42aaacc 100644
|
||||
--- a/tests/unittests/tst_ViewFinderGeometry.qml
|
||||
+++ b/tests/unittests/tst_ViewFinderGeometry.qml
|
||||
@@ -17,8 +17,7 @@
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtTest 1.0
|
||||
-import "../../"
|
||||
-import "../../.." //Needed for out of source build
|
||||
+import "../../qml/Viewfinder"
|
||||
|
||||
TestCase {
|
||||
name: "ViewFinderGeometry"
|
||||
--
|
||||
2.49.0
|
||||
|
@ -28,15 +28,20 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lomiri-camera-app";
|
||||
version = "4.0.8";
|
||||
version = "4.1.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/apps/lomiri-camera-app";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-4Tkiv0f+1uZKkeyE60G/ThThMyNp+l8q6d4tiKipM3A=";
|
||||
hash = "sha256-rGWIcaU3iFZIse69DUVjCebWH18yVrqWHcGoXItGX3k=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-camera-app/-/merge_requests/234 merged & in release
|
||||
./1001-treewide-Fix-imports-in-tests-after-QML-files-were-moved.patch
|
||||
];
|
||||
|
||||
# We don't want absolute paths in desktop files
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
|
@ -186,11 +186,11 @@ in
|
||||
|
||||
saxon_12-he = common rec {
|
||||
pname = "saxon-he";
|
||||
version = "12.6";
|
||||
version = "12.7";
|
||||
jar = "saxon-he-${version}";
|
||||
src = fetchurl {
|
||||
url = github.downloadUrl version;
|
||||
hash = "sha256-y7ZlfaBhwVVHatnkOjVkpMySjUlR6+7S6v5aCqdOKu4=";
|
||||
hash = "sha256-+J4ghaw1fZtsuKIxcHrrxff20LTsOmJhRLqWVvdZLN4=";
|
||||
};
|
||||
updateScript = github.updateScript version;
|
||||
description = "Processor for XSLT 3.0, XPath 3.1, and XQuery 3.1";
|
||||
|
@ -92,14 +92,14 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libcef";
|
||||
version = "136.1.6";
|
||||
gitRevision = "1ac1b14";
|
||||
chromiumVersion = "136.0.7103.114";
|
||||
version = "137.0.17";
|
||||
gitRevision = "f354b0e";
|
||||
chromiumVersion = "137.0.7151.104";
|
||||
buildType = "Release";
|
||||
|
||||
srcHash = selectSystem {
|
||||
aarch64-linux = "sha256-PC6vwjusN4GQJvwYEuBtXVkwhhdnEePcXR435pRnB6w=";
|
||||
x86_64-linux = "sha256-Uq17X9psYzetSYQvXm62+9+XugCW3tGxnqGVsj6Hogs=";
|
||||
aarch64-linux = "sha256-C9P4+TpzjyMD5z2qLbzubbrIr66usFjRx7QqiAxI2D8=";
|
||||
x86_64-linux = "sha256-iDC3a/YN0NqjX/b2waKvUAZCaR0lkLmUPqBJphE037Q=";
|
||||
};
|
||||
|
||||
src = fetchurl {
|
||||
|
52
pkgs/development/python-modules/mpltoolbox/default.nix
Normal file
52
pkgs/development/python-modules/mpltoolbox/default.nix
Normal file
@ -0,0 +1,52 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
setuptools,
|
||||
setuptools-scm,
|
||||
|
||||
# tests
|
||||
matplotlib,
|
||||
ipympl,
|
||||
pytestCheckHook,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mpltoolbox";
|
||||
version = "25.04.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "scipp";
|
||||
repo = "mpltoolbox";
|
||||
tag = version;
|
||||
hash = "sha256-+LqPTlVbSxuewWuPNUfGdgQjWFxo7s2i3e21WkNNK78=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
matplotlib
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
ipympl
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"mpltoolbox"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Interactive tools for Matplotlib";
|
||||
homepage = "https://scipp.github.io/mpltoolbox/";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ doronbehar ];
|
||||
};
|
||||
}
|
@ -8,14 +8,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "oelint-data";
|
||||
version = "1.0.16";
|
||||
version = "1.0.17";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "priv-kweihmann";
|
||||
repo = "oelint-data";
|
||||
tag = version;
|
||||
hash = "sha256-t6NGD1IHRHfB2kJT0LwSpCicaan3ptagNDE2JV+IkE4=";
|
||||
hash = "sha256-ZZBgZX6nrcPGlWQeZekCO57rizpuSVBnfoLzjh3r0Fw=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
117
pkgs/development/python-modules/plopp/default.nix
Normal file
117
pkgs/development/python-modules/plopp/default.nix
Normal file
@ -0,0 +1,117 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
setuptools,
|
||||
setuptools-scm,
|
||||
|
||||
# dependencies
|
||||
lazy-loader,
|
||||
matplotlib,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
anywidget,
|
||||
graphviz,
|
||||
h5py,
|
||||
ipympl,
|
||||
ipywidgets,
|
||||
mpltoolbox,
|
||||
pandas,
|
||||
plotly,
|
||||
pooch,
|
||||
pyarrow,
|
||||
pythreejs,
|
||||
scipp,
|
||||
scipy,
|
||||
xarray,
|
||||
|
||||
# tests data
|
||||
symlinkJoin,
|
||||
fetchurl,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "plopp";
|
||||
version = "25.06.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "scipp";
|
||||
repo = "plopp";
|
||||
tag = version;
|
||||
hash = "sha256-SwF0bUU/DAAJ5+0WvZgwqEw6IoaqdbKj0GkCgffGclA=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
lazy-loader
|
||||
matplotlib
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
anywidget
|
||||
graphviz
|
||||
h5py
|
||||
ipympl
|
||||
ipywidgets
|
||||
mpltoolbox
|
||||
pandas
|
||||
plotly
|
||||
pooch
|
||||
pyarrow
|
||||
pythreejs
|
||||
scipp
|
||||
scipy
|
||||
xarray
|
||||
];
|
||||
|
||||
env = {
|
||||
# See: https://github.com/scipp/plopp/blob/25.05.0/src/plopp/data/examples.py
|
||||
PLOPP_DATA_DIR =
|
||||
let
|
||||
# NOTE this might be changed by upstream in the future.
|
||||
_version = "1";
|
||||
in
|
||||
symlinkJoin {
|
||||
name = "plopp-test-data";
|
||||
paths =
|
||||
lib.mapAttrsToList
|
||||
(
|
||||
file: hash:
|
||||
fetchurl {
|
||||
url = "https://public.esss.dk/groups/scipp/plopp/${_version}/${file}";
|
||||
inherit hash;
|
||||
downloadToTemp = true;
|
||||
recursiveHash = true;
|
||||
postFetch = ''
|
||||
mkdir -p $out/${_version}
|
||||
mv $downloadedFile $out/${_version}/${file}
|
||||
'';
|
||||
}
|
||||
)
|
||||
{
|
||||
"nyc_taxi_data.h5" = "sha256-hso8ESM+uLRf4y2CW/7dpAmm/kysAfJY3b+5vz78w4Q=";
|
||||
"teapot.h5" = "sha256-i6hOw72ce1cBT6FMQTdCEKVe0WOMOjApKperGHoPW34=";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pythonImportsCheck = [
|
||||
"plopp"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Visualization library for scipp";
|
||||
homepage = "https://scipp.github.io/plopp/";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ doronbehar ];
|
||||
};
|
||||
}
|
114
pkgs/development/python-modules/scipp/default.nix
Normal file
114
pkgs/development/python-modules/scipp/default.nix
Normal file
@ -0,0 +1,114 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
scikit-build-core,
|
||||
setuptools,
|
||||
setuptools-scm,
|
||||
|
||||
# nativeBuildInputs
|
||||
cmake,
|
||||
ninja,
|
||||
|
||||
# dependencies
|
||||
numpy,
|
||||
units-llnl,
|
||||
|
||||
# buildInputs
|
||||
boost,
|
||||
eigen,
|
||||
gtest,
|
||||
pybind11,
|
||||
tbb_2022_0,
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
scipy,
|
||||
beautifulsoup4,
|
||||
ipython,
|
||||
matplotlib,
|
||||
pandas,
|
||||
numba,
|
||||
xarray,
|
||||
h5py,
|
||||
hypothesis,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "scipp";
|
||||
version = "25.05.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "scipp";
|
||||
repo = "Scipp";
|
||||
# https://github.com/scipp/scipp/pull/3722
|
||||
tag = version;
|
||||
hash = "sha256-AanXb+nF/YIZFuzG5UnoNPX97WScfPKuoSBY18uYt9k=";
|
||||
};
|
||||
env = {
|
||||
SKIP_CONAN = "true";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
scikit-build-core
|
||||
setuptools
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
];
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
dependencies = [
|
||||
numpy
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
eigen
|
||||
gtest
|
||||
pybind11
|
||||
units-llnl.passthru.top-level
|
||||
tbb_2022_0
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
scipy
|
||||
beautifulsoup4
|
||||
ipython
|
||||
matplotlib
|
||||
pandas
|
||||
numba
|
||||
xarray
|
||||
h5py
|
||||
hypothesis
|
||||
];
|
||||
pytestFlagsArray = [
|
||||
# See https://github.com/scipp/scipp/issues/3721
|
||||
"--hypothesis-profile=ci"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"scipp"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Multi-dimensional data arrays with labeled dimensions";
|
||||
homepage = "https://scipp.github.io";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ doronbehar ];
|
||||
# Got:
|
||||
#
|
||||
# error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
|
||||
#
|
||||
# Needs debugging along with upstream.
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
};
|
||||
}
|
56
pkgs/development/python-modules/units-llnl/default.nix
Normal file
56
pkgs/development/python-modules/units-llnl/default.nix
Normal file
@ -0,0 +1,56 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
units-llnl,
|
||||
|
||||
# build-system
|
||||
nanobind,
|
||||
scikit-build-core,
|
||||
|
||||
# nativeBuildInputs
|
||||
cmake,
|
||||
# NOTE that if top-level units-llnl package uses cmakeFlags other then
|
||||
# Nixpkgs' default, the build might fail, and you'd want to pick only the
|
||||
# cmakeFlags that don't cause a failure. See also:
|
||||
# https://github.com/scipp/scipp/issues/3705
|
||||
cmakeFlags ? units-llnl.cmakeFlags,
|
||||
ninja,
|
||||
}:
|
||||
|
||||
buildPythonPackage {
|
||||
inherit (units-llnl)
|
||||
pname
|
||||
version
|
||||
src
|
||||
meta
|
||||
;
|
||||
pyproject = true;
|
||||
|
||||
build-system = [
|
||||
nanobind
|
||||
scikit-build-core
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
];
|
||||
dontUseCmakeConfigure = true;
|
||||
env = {
|
||||
SKBUILD_CMAKE_ARGS = lib.strings.concatStringsSep ";" (
|
||||
cmakeFlags
|
||||
++ [
|
||||
(lib.cmakeBool "UNITS_BUILD_PYTHON_LIBRARY" true)
|
||||
]
|
||||
);
|
||||
};
|
||||
|
||||
# Also upstream turns off testing for the python build so it seems, see:
|
||||
# https://github.com/LLNL/units/blob/v0.13.1/pyproject.toml#L65-L66 However
|
||||
# they do seem to use pytest for their CI, but in our case it fails due to
|
||||
# missing googletest Python modules, which we don't know how to build.
|
||||
doCheck = false;
|
||||
passthru = {
|
||||
top-level = units-llnl;
|
||||
};
|
||||
}
|
@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cutechess";
|
||||
version = "1.3.1";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cutechess";
|
||||
repo = "cutechess";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-P44Twbw2MGz+oTzPwMFCe73zPxAex6uYjSTtaUypfHw=";
|
||||
hash = "sha256-vhS3Eenxcq7D8E5WVON5C5hCTytcEVbYUeuCkfB0apA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -35,7 +35,7 @@ _nixos-rebuild() {
|
||||
--profile-name -p # name
|
||||
--rollback
|
||||
--specialisation -c # name
|
||||
--use-remote-sudo
|
||||
--use-sudo
|
||||
--no-ssh-tty
|
||||
--build-host # host
|
||||
--target-host # host
|
||||
|
@ -38,7 +38,7 @@
|
||||
.br
|
||||
.Op Fl -build-host Va host
|
||||
.Op Fl -target-host Va host
|
||||
.Op Fl -use-remote-sudo
|
||||
.Op Fl -sudo
|
||||
.Op Fl -no-ssh-tty
|
||||
.br
|
||||
.Op Fl -verbose | v
|
||||
@ -404,7 +404,7 @@ or
|
||||
is also set. This is useful when the target-host connection to cache.nixos.org
|
||||
is faster than the connection between hosts.
|
||||
.
|
||||
.It Fl -use-remote-sudo
|
||||
.It Fl -sudo
|
||||
When set, nixos-rebuild prefixes activation commands that run on the
|
||||
.Fl -target-host
|
||||
system with
|
||||
|
@ -32,7 +32,7 @@ specialisation=
|
||||
imageVariant=
|
||||
buildHost=
|
||||
targetHost=
|
||||
remoteSudo=
|
||||
useSudo=
|
||||
noSSHTTY=
|
||||
verboseScript=
|
||||
noFlake=
|
||||
@ -170,8 +170,8 @@ while [ "$#" -gt 0 ]; do
|
||||
targetHost="$1"
|
||||
shift 1
|
||||
;;
|
||||
--use-remote-sudo)
|
||||
remoteSudo=1
|
||||
--sudo | --use-remote-sudo)
|
||||
useSudo=1
|
||||
;;
|
||||
--no-ssh-tty)
|
||||
noSSHTTY=1
|
||||
@ -237,7 +237,7 @@ buildHostCmd() {
|
||||
|
||||
targetHostCmd() {
|
||||
local c
|
||||
if [[ "${useSudo:-x}" = 1 ]]; then
|
||||
if [[ "${withSudo:-x}" = 1 ]]; then
|
||||
c=("sudo")
|
||||
else
|
||||
c=()
|
||||
@ -256,8 +256,8 @@ targetHostSudoCmd() {
|
||||
t="-t"
|
||||
fi
|
||||
|
||||
if [ -n "$remoteSudo" ]; then
|
||||
useSudo=1 SSHOPTS="$SSHOPTS $t" targetHostCmd "$@"
|
||||
if [[ -n "$useSudo" ]]; then
|
||||
withSudo=1 SSHOPTS="$SSHOPTS $t" targetHostCmd "$@"
|
||||
else
|
||||
# While a tty might not be necessary, we apply it to be consistent with
|
||||
# sudo usage, and an experience that is more consistent with local deployment.
|
||||
|
@ -7,17 +7,18 @@
|
||||
let
|
||||
version = "4.3.8";
|
||||
in
|
||||
(applyPatches {
|
||||
applyPatches {
|
||||
src = fetchFromGitHub {
|
||||
owner = "mastodon";
|
||||
repo = "mastodon";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-08AApylDOz8oExZ0cRaZTgNAuP+1wiLkx0SDhkO2fMM=";
|
||||
|
||||
passthru = {
|
||||
inherit version;
|
||||
yarnHash = "sha256-IC4d/skIHEzJPuKlq4rMAqV+ydqquA6toq4WWCfuDxo=";
|
||||
yarnMissingHashes = null;
|
||||
};
|
||||
};
|
||||
patches = patches ++ [ ];
|
||||
})
|
||||
// {
|
||||
inherit version;
|
||||
yarnHash = "sha256-IC4d/skIHEzJPuKlq4rMAqV+ydqquA6toq4WWCfuDxo=";
|
||||
yarnMissingHashes = null;
|
||||
}
|
||||
|
@ -256,115 +256,117 @@ let
|
||||
'';
|
||||
}
|
||||
);
|
||||
in
|
||||
|
||||
server = stdenv.mkDerivation (
|
||||
common
|
||||
// {
|
||||
pname = "mariadb-server";
|
||||
stdenv.mkDerivation (
|
||||
finalAttrs:
|
||||
common
|
||||
// {
|
||||
pname = "mariadb-server";
|
||||
|
||||
nativeBuildInputs = common.nativeBuildInputs ++ [
|
||||
bison
|
||||
boost.dev
|
||||
flex
|
||||
nativeBuildInputs = common.nativeBuildInputs ++ [
|
||||
bison
|
||||
boost.dev
|
||||
flex
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
common.buildInputs
|
||||
++ [
|
||||
bzip2
|
||||
lz4
|
||||
lzo
|
||||
snappy
|
||||
xz
|
||||
zstd
|
||||
cracklib
|
||||
judy
|
||||
libevent
|
||||
libxml2
|
||||
]
|
||||
++ lib.optional withNuma numactl
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ linux-pam ]
|
||||
++ lib.optional (!stdenv.hostPlatform.isDarwin) mytopEnv
|
||||
++ lib.optionals withStorageMroonga [
|
||||
kytea
|
||||
libsodium
|
||||
msgpack
|
||||
zeromq
|
||||
]
|
||||
++ lib.optionals (lib.versionAtLeast common.version "10.11") [ fmt_11 ];
|
||||
|
||||
propagatedBuildInputs = lib.optional withNuma numactl;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace scripts/galera_new_cluster.sh \
|
||||
--replace ":-mariadb" ":-mysql"
|
||||
'';
|
||||
|
||||
cmakeFlags =
|
||||
common.cmakeFlags
|
||||
++ [
|
||||
"-DMYSQL_DATADIR=/var/lib/mysql"
|
||||
"-DENABLED_LOCAL_INFILE=OFF"
|
||||
"-DWITH_READLINE=ON"
|
||||
"-DWITH_EXTRA_CHARSETS=all"
|
||||
"-DWITH_EMBEDDED_SERVER=${if withEmbedded then "ON" else "OFF"}"
|
||||
"-DWITH_UNIT_TESTS=OFF"
|
||||
"-DWITH_WSREP=ON"
|
||||
"-DWITH_INNODB_DISALLOW_WRITES=ON"
|
||||
"-DWITHOUT_EXAMPLE=1"
|
||||
"-DWITHOUT_FEDERATED=1"
|
||||
"-DWITHOUT_TOKUDB=1"
|
||||
]
|
||||
++ lib.optionals withNuma [
|
||||
"-DWITH_NUMA=ON"
|
||||
]
|
||||
++ lib.optionals (!withStorageMroonga) [
|
||||
"-DWITHOUT_MROONGA=1"
|
||||
]
|
||||
++ lib.optionals (!withStorageRocks) [
|
||||
"-DWITHOUT_ROCKSDB=1"
|
||||
]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isDarwin && withStorageRocks) [
|
||||
"-DWITH_ROCKSDB_JEMALLOC=ON"
|
||||
]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
|
||||
"-DWITH_JEMALLOC=yes"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"-DPLUGIN_AUTH_PAM=NO"
|
||||
"-DPLUGIN_AUTH_PAM_V1=NO"
|
||||
"-DWITHOUT_OQGRAPH=1"
|
||||
"-DWITHOUT_PLUGIN_S3=1"
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
common.buildInputs
|
||||
++ [
|
||||
bzip2
|
||||
lz4
|
||||
lzo
|
||||
snappy
|
||||
xz
|
||||
zstd
|
||||
cracklib
|
||||
judy
|
||||
libevent
|
||||
libxml2
|
||||
]
|
||||
++ lib.optional withNuma numactl
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ linux-pam ]
|
||||
++ lib.optional (!stdenv.hostPlatform.isDarwin) mytopEnv
|
||||
++ lib.optionals withStorageMroonga [
|
||||
kytea
|
||||
libsodium
|
||||
msgpack
|
||||
zeromq
|
||||
]
|
||||
++ lib.optionals (lib.versionAtLeast common.version "10.11") [ fmt_11 ];
|
||||
preConfigure = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
|
||||
patchShebangs scripts/mytop.sh
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = lib.optional withNuma numactl;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace scripts/galera_new_cluster.sh \
|
||||
--replace ":-mariadb" ":-mysql"
|
||||
postInstall =
|
||||
common.postInstall
|
||||
+ ''
|
||||
rm -r "$out"/share/aclocal
|
||||
chmod +x "$out"/bin/wsrep_sst_common
|
||||
rm -f "$out"/bin/{mariadb-client-test,mariadb-test,mysql_client_test,mysqltest}
|
||||
''
|
||||
+ lib.optionalString withStorageMroonga ''
|
||||
mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql
|
||||
''
|
||||
+ lib.optionalString (!stdenv.hostPlatform.isDarwin && lib.versionAtLeast common.version "10.4") ''
|
||||
mv "$out"/OFF/suite/plugins/pam/pam_mariadb_mtr.so "$out"/share/pam/lib/security
|
||||
mv "$out"/OFF/suite/plugins/pam/mariadb_mtr "$out"/share/pam/etc/security
|
||||
rm -r "$out"/OFF
|
||||
'';
|
||||
|
||||
cmakeFlags =
|
||||
common.cmakeFlags
|
||||
++ [
|
||||
"-DMYSQL_DATADIR=/var/lib/mysql"
|
||||
"-DENABLED_LOCAL_INFILE=OFF"
|
||||
"-DWITH_READLINE=ON"
|
||||
"-DWITH_EXTRA_CHARSETS=all"
|
||||
"-DWITH_EMBEDDED_SERVER=${if withEmbedded then "ON" else "OFF"}"
|
||||
"-DWITH_UNIT_TESTS=OFF"
|
||||
"-DWITH_WSREP=ON"
|
||||
"-DWITH_INNODB_DISALLOW_WRITES=ON"
|
||||
"-DWITHOUT_EXAMPLE=1"
|
||||
"-DWITHOUT_FEDERATED=1"
|
||||
"-DWITHOUT_TOKUDB=1"
|
||||
]
|
||||
++ lib.optionals withNuma [
|
||||
"-DWITH_NUMA=ON"
|
||||
]
|
||||
++ lib.optionals (!withStorageMroonga) [
|
||||
"-DWITHOUT_MROONGA=1"
|
||||
]
|
||||
++ lib.optionals (!withStorageRocks) [
|
||||
"-DWITHOUT_ROCKSDB=1"
|
||||
]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isDarwin && withStorageRocks) [
|
||||
"-DWITH_ROCKSDB_JEMALLOC=ON"
|
||||
]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
|
||||
"-DWITH_JEMALLOC=yes"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"-DPLUGIN_AUTH_PAM=NO"
|
||||
"-DPLUGIN_AUTH_PAM_V1=NO"
|
||||
"-DWITHOUT_OQGRAPH=1"
|
||||
"-DWITHOUT_PLUGIN_S3=1"
|
||||
];
|
||||
CXXFLAGS = lib.optionalString stdenv.hostPlatform.isi686 "-fpermissive";
|
||||
|
||||
preConfigure = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
|
||||
patchShebangs scripts/mytop.sh
|
||||
'';
|
||||
|
||||
postInstall =
|
||||
common.postInstall
|
||||
+ ''
|
||||
rm -r "$out"/share/aclocal
|
||||
chmod +x "$out"/bin/wsrep_sst_common
|
||||
rm -f "$out"/bin/{mariadb-client-test,mariadb-test,mysql_client_test,mysqltest}
|
||||
''
|
||||
+ lib.optionalString withStorageMroonga ''
|
||||
mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql
|
||||
''
|
||||
+ lib.optionalString (!stdenv.hostPlatform.isDarwin && lib.versionAtLeast common.version "10.4") ''
|
||||
mv "$out"/OFF/suite/plugins/pam/pam_mariadb_mtr.so "$out"/share/pam/lib/security
|
||||
mv "$out"/OFF/suite/plugins/pam/mariadb_mtr "$out"/share/pam/etc/security
|
||||
rm -r "$out"/OFF
|
||||
'';
|
||||
|
||||
CXXFLAGS = lib.optionalString stdenv.hostPlatform.isi686 "-fpermissive";
|
||||
}
|
||||
);
|
||||
in
|
||||
server
|
||||
// {
|
||||
inherit client server;
|
||||
};
|
||||
passthru = {
|
||||
inherit client;
|
||||
server = finalAttrs.finalPackage;
|
||||
};
|
||||
}
|
||||
);
|
||||
in
|
||||
self: {
|
||||
# see https://mariadb.org/about/#maintenance-policy for EOLs
|
||||
|
3
pkgs/test/build-deno-package/.gitignore
vendored
3
pkgs/test/build-deno-package/.gitignore
vendored
@ -1,3 +0,0 @@
|
||||
.deno/
|
||||
node_modules/
|
||||
vendor/
|
@ -1,33 +0,0 @@
|
||||
{ nix-gitignore, buildDenoPackage }:
|
||||
{
|
||||
with-npm-linux = buildDenoPackage rec {
|
||||
pname = "test-deno-build-binaries-with-npm-${targetSystem}";
|
||||
version = "0.1.0";
|
||||
denoDepsHash = "sha256-k2js/8XsxGVu83rGMJed457orraue8WUZF+JUMMfhVQ=";
|
||||
src = nix-gitignore.gitignoreSource [ ] ./with-npm;
|
||||
binaryEntrypointPath = "./main.ts";
|
||||
targetSystem = "x86_64-linux";
|
||||
};
|
||||
without-npm-linux = buildDenoPackage rec {
|
||||
pname = "test-deno-build-binaries-without-npm-${targetSystem}";
|
||||
version = "0.1.0";
|
||||
denoDepsHash = "sha256-keshKcgawVcuSGNYAIepUrRl7iqpp0ExRJag4aiV18c=";
|
||||
src = nix-gitignore.gitignoreSource [ ] ./without-npm;
|
||||
binaryEntrypointPath = "./main.ts";
|
||||
targetSystem = "x86_64-linux";
|
||||
};
|
||||
# mac =
|
||||
# let
|
||||
# targetSystem = "aarch64-darwin";
|
||||
# macpkgs = import ../../../../default.nix { crossSystem = { config = "arm64-apple-darwin"; };};
|
||||
# in
|
||||
# buildDenoPackage {
|
||||
# pname = "test-deno-build-binaries-${targetSystem}";
|
||||
# version = "0.1.0";
|
||||
# denoDepsHash = "";
|
||||
# src = nix-gitignore.gitignoreSource [ ] ./.;
|
||||
# binaryEntrypointPath = "./main.ts";
|
||||
# denortPackage = macpkgs.denort;
|
||||
# inherit targetSystem;
|
||||
# };
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
.deno/
|
||||
node_modules/
|
||||
vendor/
|
@ -1,13 +0,0 @@
|
||||
{
|
||||
"name": "binary build",
|
||||
"tasks": {
|
||||
"build": "deno run --allow-all main.ts"
|
||||
},
|
||||
"imports": {
|
||||
"@luca/cases": "jsr:@luca/cases@1.0.0",
|
||||
"@std/cli": "jsr:@std/cli@1.0.17",
|
||||
"cowsay": "npm:cowsay@1.6.0",
|
||||
"cases": "https://deno.land/x/case@2.2.0/mod.ts"
|
||||
},
|
||||
"vendor": true
|
||||
}
|
215
pkgs/test/build-deno-package/binaries/with-npm/deno.lock
generated
215
pkgs/test/build-deno-package/binaries/with-npm/deno.lock
generated
@ -1,215 +0,0 @@
|
||||
{
|
||||
"version": "5",
|
||||
"specifiers": {
|
||||
"jsr:@luca/cases@1.0.0": "1.0.0",
|
||||
"jsr:@std/cli@1.0.17": "1.0.17",
|
||||
"npm:cowsay@1.6.0": "1.6.0"
|
||||
},
|
||||
"jsr": {
|
||||
"@luca/cases@1.0.0": {
|
||||
"integrity": "b5f9471f1830595e63a2b7d62821ac822a19e16899e6584799be63f17a1fbc30"
|
||||
},
|
||||
"@std/cli@1.0.17": {
|
||||
"integrity": "e15b9abe629e17be90cc6216327f03a29eae613365f1353837fa749aad29ce7b"
|
||||
}
|
||||
},
|
||||
"npm": {
|
||||
"ansi-regex@3.0.1": {
|
||||
"integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw=="
|
||||
},
|
||||
"ansi-regex@5.0.1": {
|
||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
|
||||
},
|
||||
"ansi-styles@4.3.0": {
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"dependencies": [
|
||||
"color-convert"
|
||||
]
|
||||
},
|
||||
"camelcase@5.3.1": {
|
||||
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
|
||||
},
|
||||
"cliui@6.0.0": {
|
||||
"integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
|
||||
"dependencies": [
|
||||
"string-width@4.2.3",
|
||||
"strip-ansi@6.0.1",
|
||||
"wrap-ansi"
|
||||
]
|
||||
},
|
||||
"color-convert@2.0.1": {
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"dependencies": [
|
||||
"color-name"
|
||||
]
|
||||
},
|
||||
"color-name@1.1.4": {
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
||||
},
|
||||
"cowsay@1.6.0": {
|
||||
"integrity": "sha512-8C4H1jdrgNusTQr3Yu4SCm+ZKsAlDFbpa0KS0Z3im8ueag+9pGOf3CrioruvmeaW/A5oqg9L0ar6qeftAh03jw==",
|
||||
"dependencies": [
|
||||
"get-stdin",
|
||||
"string-width@2.1.1",
|
||||
"strip-final-newline",
|
||||
"yargs"
|
||||
],
|
||||
"bin": true
|
||||
},
|
||||
"decamelize@1.2.0": {
|
||||
"integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="
|
||||
},
|
||||
"emoji-regex@8.0.0": {
|
||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
|
||||
},
|
||||
"find-up@4.1.0": {
|
||||
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
|
||||
"dependencies": [
|
||||
"locate-path",
|
||||
"path-exists"
|
||||
]
|
||||
},
|
||||
"get-caller-file@2.0.5": {
|
||||
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
|
||||
},
|
||||
"get-stdin@8.0.0": {
|
||||
"integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg=="
|
||||
},
|
||||
"is-fullwidth-code-point@2.0.0": {
|
||||
"integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w=="
|
||||
},
|
||||
"is-fullwidth-code-point@3.0.0": {
|
||||
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
|
||||
},
|
||||
"locate-path@5.0.0": {
|
||||
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
|
||||
"dependencies": [
|
||||
"p-locate"
|
||||
]
|
||||
},
|
||||
"p-limit@2.3.0": {
|
||||
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
|
||||
"dependencies": [
|
||||
"p-try"
|
||||
]
|
||||
},
|
||||
"p-locate@4.1.0": {
|
||||
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
|
||||
"dependencies": [
|
||||
"p-limit"
|
||||
]
|
||||
},
|
||||
"p-try@2.2.0": {
|
||||
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
|
||||
},
|
||||
"path-exists@4.0.0": {
|
||||
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
|
||||
},
|
||||
"require-directory@2.1.1": {
|
||||
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
|
||||
},
|
||||
"require-main-filename@2.0.0": {
|
||||
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
|
||||
},
|
||||
"set-blocking@2.0.0": {
|
||||
"integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
|
||||
},
|
||||
"string-width@2.1.1": {
|
||||
"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
|
||||
"dependencies": [
|
||||
"is-fullwidth-code-point@2.0.0",
|
||||
"strip-ansi@4.0.0"
|
||||
]
|
||||
},
|
||||
"string-width@4.2.3": {
|
||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||
"dependencies": [
|
||||
"emoji-regex",
|
||||
"is-fullwidth-code-point@3.0.0",
|
||||
"strip-ansi@6.0.1"
|
||||
]
|
||||
},
|
||||
"strip-ansi@4.0.0": {
|
||||
"integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==",
|
||||
"dependencies": [
|
||||
"ansi-regex@3.0.1"
|
||||
]
|
||||
},
|
||||
"strip-ansi@6.0.1": {
|
||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||
"dependencies": [
|
||||
"ansi-regex@5.0.1"
|
||||
]
|
||||
},
|
||||
"strip-final-newline@2.0.0": {
|
||||
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="
|
||||
},
|
||||
"which-module@2.0.1": {
|
||||
"integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ=="
|
||||
},
|
||||
"wrap-ansi@6.2.0": {
|
||||
"integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
|
||||
"dependencies": [
|
||||
"ansi-styles",
|
||||
"string-width@4.2.3",
|
||||
"strip-ansi@6.0.1"
|
||||
]
|
||||
},
|
||||
"y18n@4.0.3": {
|
||||
"integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
|
||||
},
|
||||
"yargs-parser@18.1.3": {
|
||||
"integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
|
||||
"dependencies": [
|
||||
"camelcase",
|
||||
"decamelize"
|
||||
]
|
||||
},
|
||||
"yargs@15.4.1": {
|
||||
"integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
|
||||
"dependencies": [
|
||||
"cliui",
|
||||
"decamelize",
|
||||
"find-up",
|
||||
"get-caller-file",
|
||||
"require-directory",
|
||||
"require-main-filename",
|
||||
"set-blocking",
|
||||
"string-width@4.2.3",
|
||||
"which-module",
|
||||
"y18n",
|
||||
"yargs-parser"
|
||||
]
|
||||
}
|
||||
},
|
||||
"remote": {
|
||||
"https://deno.land/x/case@2.2.0/camelCase.ts": "b9a4cf361a7c9740ecb75e00b5e2c006bd4e5d40e442d26c5f2760286fa66796",
|
||||
"https://deno.land/x/case@2.2.0/constantCase.ts": "c698fc32f00cd267c1684b1d413d784260d7e7798f2bf506803e418497d839b5",
|
||||
"https://deno.land/x/case@2.2.0/dotCase.ts": "03ae55d5635e6a4ca894a003d9297cd9cd283af2e7d761dd3de13663849a9423",
|
||||
"https://deno.land/x/case@2.2.0/headerCase.ts": "3f6c8ab2ab30a88147326bce28a00d1189ec98ab61c83ab72ce79e852afddc4a",
|
||||
"https://deno.land/x/case@2.2.0/lowerCase.ts": "d75eb55cadfa589f9f2a973924a8a209054477d9574da669410f4d817ab25b41",
|
||||
"https://deno.land/x/case@2.2.0/lowerFirstCase.ts": "b001efbf2d715b53d066b22cdbf8eda7f99aa7108e3d12fb02f80d499bae93d9",
|
||||
"https://deno.land/x/case@2.2.0/mod.ts": "28b0b1329c7b18730799ac05627a433d9547c04b9bfb429116247c60edecd97b",
|
||||
"https://deno.land/x/case@2.2.0/normalCase.ts": "085c8b6f9d69283c8b86f2e504d43278c2be8b7e56a3ed8d4a5f395e398bdc29",
|
||||
"https://deno.land/x/case@2.2.0/paramCase.ts": "a234c9c17dfbaddee647b6571c2c90e8f6530123fed26c4546f4063d67c1609f",
|
||||
"https://deno.land/x/case@2.2.0/pascalCase.ts": "4b3ef0a68173871a821d306d4067e8f72d42aeeef1eea6aeab30af6bfa3d7427",
|
||||
"https://deno.land/x/case@2.2.0/pathCase.ts": "330a34b4df365b0291d8e36158235340131730aae6f6add66962ed2d0fbead4a",
|
||||
"https://deno.land/x/case@2.2.0/sentenceCase.ts": "b312cef147a13b58ffdf3c36bf55b33aa8322c91f4aa9b32318f3911bb92327f",
|
||||
"https://deno.land/x/case@2.2.0/snakeCase.ts": "e5ac1e08532ca397aa3150a0a3255d59f63a186d934e5094a8ffd24cbca7f955",
|
||||
"https://deno.land/x/case@2.2.0/swapCase.ts": "bb03742fcf613f733890680ceca1b39b65ed290f36a317fcd47edd517c4e0e1e",
|
||||
"https://deno.land/x/case@2.2.0/titleCase.ts": "c287131ea2c955e67cdd5cf604de96d31a8e2813305759922b9ed27e3be354e7",
|
||||
"https://deno.land/x/case@2.2.0/types.ts": "8e2bd6edaa27c0d1972c0d5b76698564740f37b4d3787d58d1fb5f48de611e61",
|
||||
"https://deno.land/x/case@2.2.0/upperCase.ts": "6cca267bb04d098bf4abf21e42e60c3e68ede89b12e525643c6b6eff3e10de34",
|
||||
"https://deno.land/x/case@2.2.0/upperFirstCase.ts": "b964c2d8d3a85c78cd35f609135cbde99d84b9522a21470336b5af80a37facbd",
|
||||
"https://deno.land/x/case@2.2.0/vendor/camelCaseRegexp.ts": "7d9ff02aad4ab6429eeab7c7353f7bcdd6cc5909a8bd3dda97918c8bbb7621ae",
|
||||
"https://deno.land/x/case@2.2.0/vendor/camelCaseUpperRegexp.ts": "292de54a698370f90adcdf95727993d09888b7f33d17f72f8e54ba75f7791787",
|
||||
"https://deno.land/x/case@2.2.0/vendor/nonWordRegexp.ts": "c1a052629a694144b48c66b0175a22a83f4d61cb40f4e45293fc5d6b123f927e"
|
||||
},
|
||||
"workspace": {
|
||||
"dependencies": [
|
||||
"jsr:@luca/cases@1.0.0",
|
||||
"jsr:@std/cli@1.0.17",
|
||||
"npm:cowsay@1.6.0"
|
||||
]
|
||||
}
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
import { camelCase } from "@luca/cases";
|
||||
import { say } from "cowsay";
|
||||
import { pascalCase } from "cases";
|
||||
import { parseArgs } from "@std/cli";
|
||||
|
||||
const flags = parseArgs(Deno.args, {
|
||||
string: ["text"],
|
||||
});
|
||||
|
||||
if (!flags.text) {
|
||||
throw "--text required but not specified";
|
||||
}
|
||||
|
||||
console.log(camelCase(say({ text: flags.text })));
|
||||
console.log(pascalCase(say({ text: flags.text })));
|
@ -1,3 +0,0 @@
|
||||
.deno/
|
||||
node_modules/
|
||||
vendor/
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"name": "binary build",
|
||||
"tasks": {
|
||||
"build": "deno run --allow-all main.ts"
|
||||
},
|
||||
"imports": {
|
||||
"@luca/cases": "jsr:@luca/cases@1.0.0",
|
||||
"@std/cli": "jsr:@std/cli@1.0.17",
|
||||
"cases": "https://deno.land/x/case@2.2.0/mod.ts"
|
||||
},
|
||||
"vendor": true
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
{
|
||||
"version": "5",
|
||||
"specifiers": {
|
||||
"jsr:@luca/cases@1.0.0": "1.0.0",
|
||||
"jsr:@std/cli@1.0.17": "1.0.17"
|
||||
},
|
||||
"jsr": {
|
||||
"@luca/cases@1.0.0": {
|
||||
"integrity": "b5f9471f1830595e63a2b7d62821ac822a19e16899e6584799be63f17a1fbc30"
|
||||
},
|
||||
"@std/cli@1.0.17": {
|
||||
"integrity": "e15b9abe629e17be90cc6216327f03a29eae613365f1353837fa749aad29ce7b"
|
||||
}
|
||||
},
|
||||
"remote": {
|
||||
"https://deno.land/x/case@2.2.0/camelCase.ts": "b9a4cf361a7c9740ecb75e00b5e2c006bd4e5d40e442d26c5f2760286fa66796",
|
||||
"https://deno.land/x/case@2.2.0/constantCase.ts": "c698fc32f00cd267c1684b1d413d784260d7e7798f2bf506803e418497d839b5",
|
||||
"https://deno.land/x/case@2.2.0/dotCase.ts": "03ae55d5635e6a4ca894a003d9297cd9cd283af2e7d761dd3de13663849a9423",
|
||||
"https://deno.land/x/case@2.2.0/headerCase.ts": "3f6c8ab2ab30a88147326bce28a00d1189ec98ab61c83ab72ce79e852afddc4a",
|
||||
"https://deno.land/x/case@2.2.0/lowerCase.ts": "d75eb55cadfa589f9f2a973924a8a209054477d9574da669410f4d817ab25b41",
|
||||
"https://deno.land/x/case@2.2.0/lowerFirstCase.ts": "b001efbf2d715b53d066b22cdbf8eda7f99aa7108e3d12fb02f80d499bae93d9",
|
||||
"https://deno.land/x/case@2.2.0/mod.ts": "28b0b1329c7b18730799ac05627a433d9547c04b9bfb429116247c60edecd97b",
|
||||
"https://deno.land/x/case@2.2.0/normalCase.ts": "085c8b6f9d69283c8b86f2e504d43278c2be8b7e56a3ed8d4a5f395e398bdc29",
|
||||
"https://deno.land/x/case@2.2.0/paramCase.ts": "a234c9c17dfbaddee647b6571c2c90e8f6530123fed26c4546f4063d67c1609f",
|
||||
"https://deno.land/x/case@2.2.0/pascalCase.ts": "4b3ef0a68173871a821d306d4067e8f72d42aeeef1eea6aeab30af6bfa3d7427",
|
||||
"https://deno.land/x/case@2.2.0/pathCase.ts": "330a34b4df365b0291d8e36158235340131730aae6f6add66962ed2d0fbead4a",
|
||||
"https://deno.land/x/case@2.2.0/sentenceCase.ts": "b312cef147a13b58ffdf3c36bf55b33aa8322c91f4aa9b32318f3911bb92327f",
|
||||
"https://deno.land/x/case@2.2.0/snakeCase.ts": "e5ac1e08532ca397aa3150a0a3255d59f63a186d934e5094a8ffd24cbca7f955",
|
||||
"https://deno.land/x/case@2.2.0/swapCase.ts": "bb03742fcf613f733890680ceca1b39b65ed290f36a317fcd47edd517c4e0e1e",
|
||||
"https://deno.land/x/case@2.2.0/titleCase.ts": "c287131ea2c955e67cdd5cf604de96d31a8e2813305759922b9ed27e3be354e7",
|
||||
"https://deno.land/x/case@2.2.0/types.ts": "8e2bd6edaa27c0d1972c0d5b76698564740f37b4d3787d58d1fb5f48de611e61",
|
||||
"https://deno.land/x/case@2.2.0/upperCase.ts": "6cca267bb04d098bf4abf21e42e60c3e68ede89b12e525643c6b6eff3e10de34",
|
||||
"https://deno.land/x/case@2.2.0/upperFirstCase.ts": "b964c2d8d3a85c78cd35f609135cbde99d84b9522a21470336b5af80a37facbd",
|
||||
"https://deno.land/x/case@2.2.0/vendor/camelCaseRegexp.ts": "7d9ff02aad4ab6429eeab7c7353f7bcdd6cc5909a8bd3dda97918c8bbb7621ae",
|
||||
"https://deno.land/x/case@2.2.0/vendor/camelCaseUpperRegexp.ts": "292de54a698370f90adcdf95727993d09888b7f33d17f72f8e54ba75f7791787",
|
||||
"https://deno.land/x/case@2.2.0/vendor/nonWordRegexp.ts": "c1a052629a694144b48c66b0175a22a83f4d61cb40f4e45293fc5d6b123f927e"
|
||||
},
|
||||
"workspace": {
|
||||
"dependencies": [
|
||||
"jsr:@luca/cases@1.0.0",
|
||||
"jsr:@std/cli@1.0.17"
|
||||
]
|
||||
}
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import { camelCase } from "@luca/cases";
|
||||
import { pascalCase } from "cases";
|
||||
import { parseArgs } from "@std/cli";
|
||||
|
||||
const flags = parseArgs(Deno.args, {
|
||||
string: ["text"],
|
||||
});
|
||||
|
||||
if (!flags.text) {
|
||||
throw "--text required but not specified";
|
||||
}
|
||||
|
||||
console.log(camelCase(flags.text));
|
||||
console.log(pascalCase(flags.text));
|
@ -1,4 +0,0 @@
|
||||
{ pkgs }:
|
||||
(pkgs.callPackage ./workspaces { })
|
||||
// (pkgs.callPackage ./binaries { })
|
||||
// (pkgs.callPackage ./external { })
|
@ -1,67 +0,0 @@
|
||||
{ fetchFromGitHub, buildDenoPackage }:
|
||||
{
|
||||
readma-cli-linux = buildDenoPackage rec {
|
||||
pname = "readma-cli";
|
||||
version = "2.11.0";
|
||||
denoDepsHash = "sha256-ixet3k6OEWfxVnN/V7vk4qDvoXjA+6bU/JjXk76aThE=";
|
||||
src = fetchFromGitHub {
|
||||
owner = "elcoosp";
|
||||
repo = "readma";
|
||||
rev = "${version}";
|
||||
hash = "sha256-FVQTn+r7Ztj02vNvqFZIRIsokWeo1tPfFYffK2tvxjA=";
|
||||
};
|
||||
denoInstallFlags = [
|
||||
"--allow-scripts"
|
||||
"--frozen"
|
||||
"--cached-only"
|
||||
"--entrypoint"
|
||||
"./cli/mod.ts"
|
||||
];
|
||||
binaryEntrypointPath = "./cli/mod.ts";
|
||||
targetSystem = "x86_64-linux";
|
||||
};
|
||||
fresh-init-cli-linux = buildDenoPackage {
|
||||
pname = "fresh-init-cli";
|
||||
version = "";
|
||||
denoDepsHash = "sha256-WlMv431qTt3gw0w/V7lG8LnLkEt8VW1fNpyclzBwMcw=";
|
||||
src = fetchFromGitHub {
|
||||
owner = "denoland";
|
||||
repo = "fresh";
|
||||
rev = "c7c341b695bad8d0f3e3575e5fa9c82e0fa28bd4";
|
||||
hash = "sha256-bC4akr4Wt4sRqGkgjNuXztW8Q6YBLBsbuIOhsXH8NQU=";
|
||||
};
|
||||
denoWorkspacePath = "./init";
|
||||
binaryEntrypointPath = "./src/mod.ts";
|
||||
targetSystem = "x86_64-linux";
|
||||
};
|
||||
invidious-companion-cli-linux = buildDenoPackage {
|
||||
pname = "invidious-companion-cli";
|
||||
version = "";
|
||||
denoDepsHash = "sha256-sPcvVaVb4VsLI87kiYe3Z3eoXL1uDKwTQMck91cXVnM=";
|
||||
src = fetchFromGitHub {
|
||||
owner = "iv-org";
|
||||
repo = "invidious-companion";
|
||||
rev = "a34c27ff63e51f9e3adc0e8647cd12382f8f1ffe";
|
||||
hash = "sha256-/S8F7G8li12k0objsdFuh+mle6p2mk8zNUUCrG9hgns=";
|
||||
};
|
||||
binaryEntrypointPath = "src/main.ts";
|
||||
denoCompileFlags = [
|
||||
"--include=./src/lib/helpers/youtubePlayerReq.ts"
|
||||
"--include=./src/lib/helpers/getFetchClient.ts"
|
||||
"--allow-import=github.com:443,jsr.io:443,cdn.jsdelivr.net:443,esm.sh:443,deno.land:443"
|
||||
"--allow-net"
|
||||
"--allow-env"
|
||||
"--allow-read"
|
||||
"--allow-sys=hostname"
|
||||
"--allow-write=/var/tmp/youtubei.js"
|
||||
];
|
||||
denoInstallFlags = [
|
||||
"--allow-scripts"
|
||||
"--frozen"
|
||||
"--cached-only"
|
||||
"--entrypoint"
|
||||
"src/main.ts"
|
||||
];
|
||||
targetSystem = "x86_64-linux";
|
||||
};
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
let
|
||||
pkgs = import ../../../default.nix { };
|
||||
in
|
||||
pkgs.mkShell {
|
||||
buildInputs = [ pkgs.deno ];
|
||||
DENO_DIR = "./.deno";
|
||||
|
||||
shellHook = '''';
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
.deno/
|
||||
node_modules/
|
||||
vendor/
|
@ -1,40 +0,0 @@
|
||||
{ nix-gitignore, buildDenoPackage }:
|
||||
rec {
|
||||
sub1 = buildDenoPackage {
|
||||
pname = "test-deno-build-workspaces-sub1";
|
||||
version = "0.1.0";
|
||||
denoDepsHash = "sha256-imraVvtIJqi31aaWv7U1ODVRmOuou1ZR++z7QqnTPr0=";
|
||||
src = nix-gitignore.gitignoreSource [ ] ./.;
|
||||
denoWorkspacePath = "./sub1";
|
||||
extraTaskFlags = [
|
||||
"--text"
|
||||
"sub1"
|
||||
];
|
||||
denoTaskSuffix = ">out.txt";
|
||||
|
||||
installPhase = ''
|
||||
cp out.txt $out
|
||||
'';
|
||||
};
|
||||
sub2 = buildDenoPackage {
|
||||
pname = "test-deno-build-workspaces-sub2";
|
||||
version = "0.1.0";
|
||||
inherit (sub1) denoDeps src;
|
||||
denoWorkspacePath = "./sub2";
|
||||
extraTaskFlags = [
|
||||
"--text"
|
||||
"sub2"
|
||||
];
|
||||
denoTaskSuffix = ">out.txt";
|
||||
installPhase = ''
|
||||
cp out.txt $out
|
||||
'';
|
||||
};
|
||||
sub1Binary = buildDenoPackage {
|
||||
pname = "test-deno-build-workspaces-sub1-binary";
|
||||
version = "0.1.0";
|
||||
inherit (sub1) denoDeps src;
|
||||
denoWorkspacePath = "./sub1";
|
||||
binaryEntrypointPath = "./main.ts";
|
||||
};
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user