Merge master into staging-next
This commit is contained in:
@@ -13,7 +13,7 @@ inputs:
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
||||
env:
|
||||
MERGED_SHA: ${{ inputs.merged-as-untrusted-at }}
|
||||
TARGET_SHA: ${{ inputs.target-as-trusted-at }}
|
||||
|
||||
@@ -62,6 +62,7 @@ jobs:
|
||||
'.github/workflows/merge-group.yml',
|
||||
'.github/workflows/test.yml',
|
||||
'ci/github-script/supportedSystems.js',
|
||||
'ci/pinned.json',
|
||||
'ci/supportedBranches.js',
|
||||
].includes(file))) core.setOutput('merge-group', true)
|
||||
|
||||
@@ -85,6 +86,7 @@ jobs:
|
||||
'ci/github-script/reviews.js',
|
||||
'ci/github-script/supportedSystems.js',
|
||||
'ci/github-script/withRateLimit.js',
|
||||
'ci/pinned.json',
|
||||
'ci/supportedBranches.js',
|
||||
].includes(file))) core.setOutput('pr', true)
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ Then when building the frontend you can just symlink the node_modules directory.
|
||||
|
||||
### buildNpmPackage {#javascript-buildNpmPackage}
|
||||
|
||||
`buildNpmPackage` allows you to package npm-based projects in Nixpkgs without the use of an auto-generated dependencies file (as used in [node2nix](#javascript-node2nix)).
|
||||
`buildNpmPackage` allows you to package npm-based projects in Nixpkgs without the use of an auto-generated dependencies file.
|
||||
It works by utilizing npm's cache functionality -- creating a reproducible cache that contains the dependencies of a project, and pointing npm to it.
|
||||
|
||||
Here's an example:
|
||||
@@ -306,25 +306,6 @@ It's recommended to set `package-lock-only = true` in your project-local [`.npmr
|
||||
|
||||
This package puts the corepack wrappers for pnpm and yarn in your PATH, and they will honor the `packageManager` setting in the `package.json`.
|
||||
|
||||
### node2nix {#javascript-node2nix}
|
||||
|
||||
#### Preparation {#javascript-node2nix-preparation}
|
||||
|
||||
You will need to generate a Nix expression for the dependencies. Don't forget the `-l package-lock.json` if there is a lock file. Most probably you will need the `--development` to include the `devDependencies`
|
||||
|
||||
So the command will most likely be:
|
||||
```sh
|
||||
node2nix --development -l package-lock.json
|
||||
```
|
||||
|
||||
See `node2nix` [docs](https://github.com/svanderburg/node2nix) for more info.
|
||||
|
||||
#### Pitfalls {#javascript-node2nix-pitfalls}
|
||||
|
||||
- If upstream package.json does not have a "version" attribute, `node2nix` will crash. You will need to add it like shown in [the package.json section](#javascript-upstream-package-json).
|
||||
- `node2nix` has some [bugs](https://github.com/svanderburg/node2nix/issues/238) related to working with lock files from npm distributed with `nodejs_16`.
|
||||
- `node2nix` does not like missing packages from npm. If you see something like `Cannot resolve version: vue-loader-v16@undefined` then you might want to try another tool. The package might have been pulled off of npm.
|
||||
|
||||
### pnpm {#javascript-pnpm}
|
||||
|
||||
pnpm is available as the top-level package `pnpm`. Additionally, there are variants pinned to certain major versions, like `pnpm_8`, `pnpm_9` and `pnpm_10`, which support different sets of lock file versions.
|
||||
|
||||
@@ -170,8 +170,6 @@ Sometimes plugins require an override that must be changed when the plugin is up
|
||||
|
||||
To add a new plugin, run `nix-shell -p vimPluginsUpdater --run 'vim-plugins-updater add "[owner]/[name]"'`. **NOTE**: This script automatically commits to your git repository. Be sure to check out a fresh branch before running.
|
||||
|
||||
Finally, there are some plugins that are also packaged in nodePackages because they have Javascript-related build steps, such as running webpack. Those plugins are not listed in `vim-plugin-names` or managed by `vimPluginsUpdater` at all, and are included separately in `overrides.nix`. Currently, all these plugins are related to the `coc.nvim` ecosystem of the Language Server Protocol integration with Vim/Neovim.
|
||||
|
||||
## Updating plugins in nixpkgs {#updating-plugins-in-nixpkgs}
|
||||
|
||||
Run the update script with a GitHub API token that has at least `public_repo` access. Running the script without the token is likely to result in rate-limiting (429 errors). For steps on creating an API token, please refer to [GitHub's token documentation](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token).
|
||||
|
||||
+4
-10
@@ -430,7 +430,10 @@
|
||||
"index.html#katamari-tarballs",
|
||||
"index.html#individual-tarballs",
|
||||
"index.html#generating-nix-expressions",
|
||||
"index.html#overriding-the-generator"
|
||||
"index.html#overriding-the-generator",
|
||||
"index.html#javascript-node2nix",
|
||||
"index.html#javascript-node2nix-preparation",
|
||||
"index.html#javascript-node2nix-pitfalls"
|
||||
],
|
||||
"sec-nixpkgs-release-26.05-lib": [
|
||||
"release-notes.html#sec-nixpkgs-release-26.05-lib"
|
||||
@@ -3642,15 +3645,6 @@
|
||||
"javascript-corepack": [
|
||||
"index.html#javascript-corepack"
|
||||
],
|
||||
"javascript-node2nix": [
|
||||
"index.html#javascript-node2nix"
|
||||
],
|
||||
"javascript-node2nix-preparation": [
|
||||
"index.html#javascript-node2nix-preparation"
|
||||
],
|
||||
"javascript-node2nix-pitfalls": [
|
||||
"index.html#javascript-node2nix-pitfalls"
|
||||
],
|
||||
"javascript-pnpm": [
|
||||
"index.html#javascript-pnpm"
|
||||
],
|
||||
|
||||
@@ -74,6 +74,12 @@
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- The `nodePackages` package set has been removed entirely from nixpkgs. This package set was created to ease the maintenance burden of maintaining lots of
|
||||
NodeJS-based packages within nixpkgs, but became a burden itself. Over the past several releases, there has been a focus on removing it in favor of the more modern nixpkgs packaging strategies.
|
||||
After a long time, this package set has been deprecated and removed. If you are using its package set in your own config, please use the top-level packages instead.(i.e `pkgs.package-name` instead of `pkgs.nodePackages.package-name`).
|
||||
|
||||
- Note that the above `nodePackages` removal also coincides with the removal of `node2nix` and its tooling, which have been deprecated for a long time.
|
||||
|
||||
- `xfce.mkXfceDerivation` has been deprecated (i.e. conditioned behind `nixpkgs.config.allowAliases`)
|
||||
and will be removed in NixOS 26.11, please use `stdenv.mkDerivation` directly. You can migrate by
|
||||
adding `pkg-config`, `xfce4-dev-tools`, and `wrapGAppsHook3` to your `nativeBuildInputs` and
|
||||
|
||||
@@ -14729,6 +14729,14 @@
|
||||
github = "kxxt";
|
||||
githubId = 18085551;
|
||||
};
|
||||
kybe236 = {
|
||||
name = "kybe236";
|
||||
github = "kybe236";
|
||||
githubId = 118068228;
|
||||
email = "kybe@kybe.xyz";
|
||||
matrix = "@kybe:kybe.xyz";
|
||||
keys = [ { fingerprint = "4B20 67C3 BD6D 410F 13E5 36A3 43CE 4393 8A3C 7A8F"; } ];
|
||||
};
|
||||
kyehn = {
|
||||
name = "kyehn";
|
||||
github = "kyehn";
|
||||
|
||||
@@ -44,10 +44,8 @@ let
|
||||
drivers = [
|
||||
"razerkbd"
|
||||
"razermouse"
|
||||
"razerfirefly"
|
||||
"razerkraken"
|
||||
"razermug"
|
||||
"razercore"
|
||||
"razeraccessory"
|
||||
];
|
||||
in
|
||||
{
|
||||
|
||||
@@ -771,6 +771,15 @@ in
|
||||
}
|
||||
))
|
||||
]);
|
||||
example = [
|
||||
{
|
||||
port = 9000;
|
||||
target = {
|
||||
addr = "127.0.0.1";
|
||||
port = 9123;
|
||||
};
|
||||
}
|
||||
];
|
||||
apply = map (
|
||||
v:
|
||||
if lib.isInt v then
|
||||
|
||||
@@ -643,7 +643,7 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
system.nssModules = optional (cfg.nss.enable or cfg.nss.enableGuest) cfg.package;
|
||||
system.nssModules = optional (cfg.nss.enable || cfg.nss.enableGuest) cfg.package;
|
||||
system.nssDatabases.hosts = mkMerge [
|
||||
# ensure that the NSS modules come between mymachines (which is 400) and resolve (which is 501)
|
||||
(mkIf cfg.nss.enable (mkOrder 430 [ "libvirt" ]))
|
||||
|
||||
@@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "claude-code";
|
||||
publisher = "anthropic";
|
||||
version = "2.1.84";
|
||||
hash = "sha256-WIpgj3qZN/YtX0zTpcw5gKktD+D9MnbrVGSVbvD9MnQ=";
|
||||
version = "2.1.87";
|
||||
hash = "sha256-0brafiNuo6wRGWlGAOax3My9CrGKiGpDjFswuHFWt4M=";
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
|
||||
@@ -4008,8 +4008,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "partial-diff";
|
||||
publisher = "ryu1kn";
|
||||
version = "1.4.3";
|
||||
sha256 = "0x3lkvna4dagr7s99yykji3x517cxk5kp7ydmqa6jb4bzzsv1s6h";
|
||||
version = "1.4.4";
|
||||
sha256 = "sha256-T+C/C2DBh05mgoFUdnSGcmhf9JXfMYc/JvG0aX0vEoU=";
|
||||
};
|
||||
meta = {
|
||||
license = lib.licenses.mit;
|
||||
|
||||
@@ -14,8 +14,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "r";
|
||||
publisher = "reditorsupport";
|
||||
version = "2.8.7";
|
||||
hash = "sha256-pA3/81UYrieDfGYn1fVI6KY9B7A5KAhGIzftZtzXQVc=";
|
||||
version = "2.8.8";
|
||||
hash = "sha256-mt2bes7aHcAHLMngSLW/zI3kSIzNKALqX+g0UXo84uI=";
|
||||
};
|
||||
nativeBuildInputs = [
|
||||
jq
|
||||
|
||||
@@ -4,87 +4,29 @@
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
callPackage,
|
||||
}:
|
||||
let
|
||||
generic =
|
||||
{
|
||||
version,
|
||||
sha256,
|
||||
rev ? version,
|
||||
...
|
||||
}@attrs:
|
||||
let
|
||||
attrs' = removeAttrs attrs [
|
||||
"version"
|
||||
"sha256"
|
||||
"rev"
|
||||
];
|
||||
in
|
||||
buildGoModule {
|
||||
pname = "kops";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = rev;
|
||||
owner = "kubernetes";
|
||||
repo = "kops";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
subPackages = [ "cmd/kops" ];
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X k8s.io/kops.Version=${version}"
|
||||
"-X k8s.io/kops.GitVersion=${version}"
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
installShellCompletion --cmd kops \
|
||||
--bash <($GOPATH/bin/kops completion bash) \
|
||||
--fish <($GOPATH/bin/kops completion fish) \
|
||||
--zsh <($GOPATH/bin/kops completion zsh)
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Easiest way to get a production Kubernetes up and running";
|
||||
mainProgram = "kops";
|
||||
homepage = "https://github.com/kubernetes/kops";
|
||||
changelog = "https://github.com/kubernetes/kops/tree/master/docs/releases";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [
|
||||
zimbatm
|
||||
yurrriq
|
||||
];
|
||||
};
|
||||
}
|
||||
// attrs';
|
||||
mkKops = callPackage ./mkkops.nix { };
|
||||
in
|
||||
rec {
|
||||
mkKops = generic;
|
||||
{
|
||||
inherit mkKops;
|
||||
|
||||
kops_1_31 = mkKops rec {
|
||||
kops_1_31 = mkKops (finalAttrs: {
|
||||
version = "1.31.0";
|
||||
sha256 = "sha256-q9megrNXXKJ/YqP/fjPHh8Oji4dPK5M3HLHa+ufwRAM=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
rev = "v${finalAttrs.version}";
|
||||
});
|
||||
|
||||
kops_1_32 = mkKops rec {
|
||||
kops_1_32 = mkKops (finalAttrs: {
|
||||
version = "1.32.1";
|
||||
sha256 = "sha256-nQKeTDajtUffPBhPrPuaJ+1XWgLDUltwDQDZHkylys4=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
rev = "v${finalAttrs.version}";
|
||||
});
|
||||
|
||||
kops_1_33 = mkKops rec {
|
||||
kops_1_33 = mkKops (finalAttrs: {
|
||||
version = "1.33.0";
|
||||
sha256 = "sha256-VnnKWcU83yqsKW54Q1tr99/Ln8ppMyB7GLl70rUFGDY=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
rev = "v${finalAttrs.version}";
|
||||
});
|
||||
}
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
stdenv,
|
||||
}:
|
||||
lib.extendMkDerivation {
|
||||
constructDrv = buildGoModule;
|
||||
|
||||
excludeDrvArgNames = [
|
||||
"sha256"
|
||||
"rev"
|
||||
];
|
||||
|
||||
extendDrvArgs =
|
||||
finalAttrs:
|
||||
{
|
||||
version,
|
||||
sha256,
|
||||
rev ? version,
|
||||
...
|
||||
}:
|
||||
{
|
||||
pname = "kops";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = rev;
|
||||
owner = "kubernetes";
|
||||
repo = "kops";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
subPackages = [ "cmd/kops" ];
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X k8s.io/kops.Version=${finalAttrs.version}"
|
||||
"-X k8s.io/kops.GitVersion=${finalAttrs.version}"
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
installShellCompletion --cmd kops \
|
||||
--bash <($GOPATH/bin/kops completion bash) \
|
||||
--fish <($GOPATH/bin/kops completion fish) \
|
||||
--zsh <($GOPATH/bin/kops completion zsh)
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Easiest way to get a production Kubernetes up and running";
|
||||
mainProgram = "kops";
|
||||
homepage = "https://github.com/kubernetes/kops";
|
||||
changelog = "https://github.com/kubernetes/kops/tree/master/docs/releases";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [
|
||||
zimbatm
|
||||
yurrriq
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1049,11 +1049,11 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"oracle_oci": {
|
||||
"hash": "sha256-Luh2NB1+dKTbYnvU3o+rkta8wmqHuJRLv+lroM6/LcQ=",
|
||||
"hash": "sha256-04K1EQe9twN3fk3GfG1lnSqUZuVmIlO24syeLd3c86E=",
|
||||
"homepage": "https://registry.terraform.io/providers/oracle/oci",
|
||||
"owner": "oracle",
|
||||
"repo": "terraform-provider-oci",
|
||||
"rev": "v8.5.0",
|
||||
"rev": "v8.7.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": null
|
||||
},
|
||||
|
||||
@@ -46,7 +46,7 @@ assert (!blas.isILP64) && (!lapack.isILP64);
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "R";
|
||||
version = "4.5.2";
|
||||
version = "4.5.3";
|
||||
|
||||
src =
|
||||
let
|
||||
@@ -54,7 +54,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
in
|
||||
fetchurl {
|
||||
url = "https://cran.r-project.org/src/base/R-${lib.versions.major version}/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-DXH/cQbsac18Z+HpXtGjzuNViAkx8ut4xTABSp43nyA=";
|
||||
hash = "sha256-qlwe1Ck8cnGsUT1lRnA1asDopq1eQr4BQ2XREVC1uPI=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
autoreconfHook,
|
||||
glpk,
|
||||
gmp,
|
||||
which,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -18,6 +19,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-bFvq90hLLGty7p6NLxOARVvKdizg3bp2NkP9nZpVFzQ=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/{groebner/script.template.in,zsolve/{graver,hilbert}.template} \
|
||||
--replace-fail 'SCRIPT=$(realpath $(which "$0"))' \
|
||||
'SCRIPT=$(realpath $(${lib.getExe which} "$0"))'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
];
|
||||
|
||||
@@ -66,9 +66,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
LOCALCLASSPATH="\$ANT_HOME/lib/ant-launcher.jar\''${LOCALCLASSPATH:+:}\$LOCALCLASSPATH"
|
||||
|
||||
exec \$NIX_JVM \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" \
|
||||
-Dant.home=\$ANT_HOME -Dant.library.dir="\$ANT_LIB" \
|
||||
org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS \
|
||||
if [ -n "\$ANT_LIB" ]; then
|
||||
ANT_LIB_ARG="-Dant.library.dir=\$ANT_LIB"
|
||||
fi
|
||||
|
||||
exec \$NIX_JVM \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" \\
|
||||
-Dant.home=\$ANT_HOME \''${ANT_LIB_ARG:+"\$ANT_LIB_ARG"} \\
|
||||
org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS \\
|
||||
-cp "\$CLASSPATH" "\$@"
|
||||
EOF
|
||||
|
||||
|
||||
@@ -2,20 +2,25 @@
|
||||
lib,
|
||||
fetchCrate,
|
||||
rustPlatform,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "asahi-bless";
|
||||
version = "0.4.1";
|
||||
version = "0.4.3";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit (finalAttrs) pname version;
|
||||
hash = "sha256-SNaA+CEuCBwo4c54qWGs5AdkBYb9IWY1cQ0dRd/noe8=";
|
||||
hash = "sha256-JBd1YPTJ2ZqcGZ+FTGR2hqXWYd+kJ/0snWrn4uEpXWg=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-nfSJ9RkzFAWlxlfoUKk8ZmIXDJXoSyHCGgRgMy9FDkw=";
|
||||
cargoHash = "sha256-DN5PRUO0M0/ExIkuR+Iwk3SW1jzIaFnzvLOBuFoJ360=";
|
||||
cargoDepsName = finalAttrs.pname;
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Tool to select active boot partition on ARM Macs";
|
||||
homepage = "https://crates.io/crates/asahi-bless";
|
||||
|
||||
@@ -2,20 +2,30 @@
|
||||
lib,
|
||||
fetchCrate,
|
||||
rustPlatform,
|
||||
nix-update-script,
|
||||
pkg-config,
|
||||
dbus,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "asahi-btsync";
|
||||
version = "0.2.0";
|
||||
version = "0.2.5";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit (finalAttrs) pname version;
|
||||
hash = "sha256-jp05WcwY1cWh4mBQj+3jRCZoG32OhDvTB84hOAGemX8=";
|
||||
hash = "sha256-lAfbr2D6dITdlFCbz++OVz2SxYGapiZtrNjeBruBDJ8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-gGWhi0T7xDIsbzfw/KL3TSneLvQaiz/2xbpHeZt1i3I=";
|
||||
cargoHash = "sha256-80B47vRUgb+QWYoxqPWk1gCdWFM5bIxq0tR5FpssRQ4=";
|
||||
cargoDepsName = finalAttrs.pname;
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ dbus ];
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Tool to sync Bluetooth pairing keys with macos on ARM Macs";
|
||||
homepage = "https://crates.io/crates/asahi-btsync";
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "asahi-fwextract";
|
||||
version = "0.7.9";
|
||||
version = "0.8.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AsahiLinux";
|
||||
repo = "asahi-installer";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-vbhepoZ52k5tW2Gd7tfQTZ5CLqzhV7dUcVh6+AYwECk=";
|
||||
hash = "sha256-UMzmQ3buXousCR8t0eSf6m+OTvqp3mEQ73aZ9UznuOI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -2,20 +2,25 @@
|
||||
lib,
|
||||
fetchCrate,
|
||||
rustPlatform,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "asahi-nvram";
|
||||
version = "0.2.3";
|
||||
version = "0.2.4";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit (finalAttrs) pname version;
|
||||
hash = "sha256-zfUvPHAPrYhzgeiirGuqZaWnLBH0PHsqOUy2e972bWM=";
|
||||
hash = "sha256-wRlKTMzckygRkZoAT3ZDYnAF3owWEziAGNl4jteCf+A=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-NW/puo/Xoum7DjSQjBgilQcKbY3mAfVgXxUK6+1H1JI=";
|
||||
cargoHash = "sha256-Syc4QgKUJM37FW3JQqVNN9WEMFwCSoo/BaI55k2HFRY=";
|
||||
cargoDepsName = finalAttrs.pname;
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Tool to read and write nvram variables on ARM Macs";
|
||||
homepage = "https://crates.io/crates/asahi-nvram";
|
||||
|
||||
@@ -2,20 +2,25 @@
|
||||
lib,
|
||||
fetchCrate,
|
||||
rustPlatform,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "asahi-wifisync";
|
||||
version = "0.2.0";
|
||||
version = "0.2.3";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit (finalAttrs) pname version;
|
||||
hash = "sha256-wKd6rUUnegvl6cHODVQlllaOXuAGlmwx9gr73I/2l/c=";
|
||||
hash = "sha256-YO7Yq3S7F7WuW79MR1wrViw3tTBZi8XIsXrd4f0xCzs=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-ZxgRxQyDID3mBpr8dhHScctk14Pm9V51Gn24d24JyVk=";
|
||||
cargoHash = "sha256-cfgsY34wFeBTy0CYwVRZN22Ndifn6ZPs2t6f8DS3S2k=";
|
||||
cargoDepsName = finalAttrs.pname;
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Tool to sync Wifi passwords with macos on ARM Macs";
|
||||
homepage = "https://crates.io/crates/asahi-wifisync";
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "avbroot";
|
||||
version = "3.26.0";
|
||||
version = "3.29.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chenxiaolong";
|
||||
repo = "avbroot";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-KNNVCn9a49HuiWACFkrdHd9BHBZ1zRJZgjtrYWpcY8w=";
|
||||
hash = "sha256-/c3jYaNGQP4mZA2/MJFWBgaXpTmylgrF3555qdhtr2E=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-bdumthxBNqgZ3kxyvxUPo2GDCFboA/qQ1VwdvXTG388=";
|
||||
cargoHash = "sha256-H39Gi2Y3T9PA78ARkJ3i6qHWJSzV/a+TGwXOicEduKQ=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
@@ -17,12 +19,17 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
cargoHash = "sha256-qVE4MOFr0YO+9rAbfnz92h0KocaLu+v2u5ompwY/o6k=";
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "File deduplicator";
|
||||
homepage = "https://github.com/Canop/backdown";
|
||||
changelog = "https://github.com/Canop/backdown/blob/${finalAttrs.src.rev}/CHANGELOG.md";
|
||||
changelog = "https://github.com/Canop/backdown/blob/v${finalAttrs.version}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ ];
|
||||
maintainers = [ lib.maintainers.progrm_jarvis ];
|
||||
mainProgram = "backdown";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "betteralign";
|
||||
version = "0.9.0";
|
||||
version = "0.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dkorunic";
|
||||
repo = "betteralign";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-NZBGcgI2SLkCUb4v7Tdm6QQd5dqtDmp+dhCTZEovU2Y=";
|
||||
hash = "sha256-WoT1/MpL4Q26u5X8n7N128apnP8D4QJSkyAYmBzb4EM=";
|
||||
|
||||
# Trick for getting accurate commit, source date and timestamp for ldflags
|
||||
# Required by upstream https://github.com/dkorunic/betteralign/blob/346baa9c9dd024bfe55302c9d7d0ca46b2734c1c/.goreleaser.yml
|
||||
@@ -28,7 +28,7 @@ buildGoModule (finalAttrs: {
|
||||
'';
|
||||
};
|
||||
|
||||
vendorHash = "sha256-F9SCMJNu8XnkvYPYfuMGFLgbn9sFDn63ao7ExYXSOaM=";
|
||||
vendorHash = "sha256-BfHxti4jILEvAamwMht6PQmWlR8PMzO2aywGAE/trIA=";
|
||||
|
||||
env.CGO_ENABLED = 0;
|
||||
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
libxcursor,
|
||||
libx11,
|
||||
vulkan-loader,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
@@ -41,14 +43,20 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
}
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Graphical tool to visualize binary data";
|
||||
mainProgram = "binocle";
|
||||
homepage = "https://github.com/sharkdp/binocle";
|
||||
changelog = "https://github.com/sharkdp/binocle/releases/tag/v0.3.2";
|
||||
license = with lib.licenses; [
|
||||
asl20 # or
|
||||
mit
|
||||
];
|
||||
maintainers = [ ];
|
||||
maintainers = [ lib.maintainers.progrm_jarvis ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "bstring";
|
||||
version = "1.0.3";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "msteinert";
|
||||
repo = "bstring";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-efXMSRcPgo+WlOdbS1kY2PYQqSVwcsVSyU1JfsU8OOo=";
|
||||
hash = "sha256-zmBymVdfm1uKTg6quWIf0tdec98SuLHEA7q3q34XJtc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ccache";
|
||||
version = "4.13.1";
|
||||
version = "4.13.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ccache";
|
||||
@@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
exit 1
|
||||
fi
|
||||
'';
|
||||
hash = "sha256-8Qw5nkY86wGJ7B2hrNk9jIoz18nJ2FK+EbPH5fS5aEc=";
|
||||
hash = "sha256-6csG4nUscuqaN6juMwICngaKd4CQgC+17tJfMc6aGLI=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
flex,
|
||||
pkg-config,
|
||||
darwin,
|
||||
xcbuild,
|
||||
libsndfile,
|
||||
alsa-lib,
|
||||
libjack2,
|
||||
@@ -32,7 +31,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
darwin.DarwinTools
|
||||
xcbuild
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -1,46 +1,46 @@
|
||||
{
|
||||
"version": "2.1.84",
|
||||
"buildDate": "2026-03-25T23:54:35Z",
|
||||
"version": "2.1.87",
|
||||
"buildDate": "2026-03-29T01:45:06Z",
|
||||
"platforms": {
|
||||
"darwin-arm64": {
|
||||
"binary": "claude",
|
||||
"checksum": "c02d911ff13f8ceccb1f6662bf211f3cd9f29d5a46f031c3cc40654eb759aa29",
|
||||
"size": 203606768
|
||||
"checksum": "80b51562db1a51bfb654aec1fea6a04106daa0bc1525d88c9c74741ff5d9469a",
|
||||
"size": 196638704
|
||||
},
|
||||
"darwin-x64": {
|
||||
"binary": "claude",
|
||||
"checksum": "da5ed2ee1b0bcf65c2088e79bc65388ec85edc41041fc6ca7c27330f2e201085",
|
||||
"size": 205199952
|
||||
"checksum": "c1a4cde29e74e4c3952ead69f90a37a2388aa097d7c567a81ca3669a309e9226",
|
||||
"size": 198132816
|
||||
},
|
||||
"linux-arm64": {
|
||||
"binary": "claude",
|
||||
"checksum": "5c868174b44439e51c74ff084c306856c41779615250d5bbdaa5d10056362814",
|
||||
"size": 235473472
|
||||
"checksum": "193c5e9c091eadde302fa23af46c8d646b7263f74fa06ed32746e504bd09df18",
|
||||
"size": 228461120
|
||||
},
|
||||
"linux-x64": {
|
||||
"binary": "claude",
|
||||
"checksum": "c6872aa8db94f303bc6a4482664e40d3288dfc989c89ba268473ed32e3055878",
|
||||
"size": 235657856
|
||||
"checksum": "b1a5b89469862adee0e4dc28cab5a8314bc4d0117e19ab26a7b7ff7ce9b59bd5",
|
||||
"size": 228280960
|
||||
},
|
||||
"linux-arm64-musl": {
|
||||
"binary": "claude",
|
||||
"checksum": "6e42aee87a00ab8e6fb3db3fc409ab969f12758bacc2a0c9f622d8e97445a0a8",
|
||||
"size": 228592064
|
||||
"checksum": "38e56d4a62778f429b1caa875a4a6e53db8eda256091f58afb5cf2043e492131",
|
||||
"size": 221579712
|
||||
},
|
||||
"linux-x64-musl": {
|
||||
"binary": "claude",
|
||||
"checksum": "0109e76af6261f6fd37ae1deefc7ee3bc58b0ad786086d198a981275979c549a",
|
||||
"size": 230283712
|
||||
"checksum": "aba2c3a8927c53f981a4ad2b18915b2a1a1511b3b4e3b5e8797d23dbb0bf5eea",
|
||||
"size": 222906816
|
||||
},
|
||||
"win32-x64": {
|
||||
"binary": "claude.exe",
|
||||
"checksum": "64b28630ec4f4aaa6cc0e225379cf59cdb95828cbb4ce700a0ae4401b1999ecd",
|
||||
"size": 245196960
|
||||
"checksum": "c722ff8836e7a90b5c62fd5cb6549887dc314e7e8d9551c01df1718d9198ecdf",
|
||||
"size": 238222496
|
||||
},
|
||||
"win32-arm64": {
|
||||
"binary": "claude.exe",
|
||||
"checksum": "e7f5d18d470f0345ee18bb368f8ea7d43e791e17f0de7b69cdc40e42a9a9398e",
|
||||
"size": 241350304
|
||||
"checksum": "5c3e5f706685963c83cdc5dd2ec86a89e5a897bd6ec82298311abb43280ffa30",
|
||||
"size": 234785440
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@anthropic-ai/claude-code",
|
||||
"version": "2.1.86",
|
||||
"version": "2.1.87",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@anthropic-ai/claude-code",
|
||||
"version": "2.1.86",
|
||||
"version": "2.1.87",
|
||||
"license": "SEE LICENSE IN README.md",
|
||||
"bin": {
|
||||
"claude": "cli.js"
|
||||
|
||||
@@ -15,14 +15,14 @@
|
||||
}:
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "claude-code";
|
||||
version = "2.1.86";
|
||||
version = "2.1.87";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz";
|
||||
hash = "sha256-Bo2Uj0doMbOK0H8nSzRvwWTcVYsQuP2E9KCauqISzQk=";
|
||||
hash = "sha256-jorpY6ao1YgkoTgIk1Ae2BQCbqOuEtwzoIG36BP5nG4=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-/DITdMUtHiBQXjerNB8Pom6OaM0LpE6pWbD8njPfVqw=";
|
||||
npmDepsHash = "sha256-Pr/KFS8RH03CvHvN6EdZf9R4dcAK/EbGd6UAm2s2Saw=";
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
@@ -20,6 +22,11 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Cross platform, fast, compression and decompression tool";
|
||||
homepage = "https://github.com/sstadick/crabz";
|
||||
@@ -28,7 +35,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
unlicense # or
|
||||
mit
|
||||
];
|
||||
maintainers = [ ];
|
||||
maintainers = [ lib.maintainers.progrm_jarvis ];
|
||||
mainProgram = "crabz";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
rustPlatform,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
@@ -17,14 +19,20 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
cargoHash = "sha256-CXIfE1EsNwm4vsybQSdfKewBYpzBh+uQu1jYAm8DDtI=";
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "High performance csv viewer with cjk/emoji support";
|
||||
mainProgram = "csview";
|
||||
homepage = "https://github.com/wfxr/csview";
|
||||
changelog = "https://github.com/wfxr/csview/blob/v${finalAttrs.version}/CHANGELOG.md";
|
||||
license = with lib.licenses; [
|
||||
mit # or
|
||||
asl20
|
||||
];
|
||||
maintainers = [ ];
|
||||
maintainers = [ lib.maintainers.progrm_jarvis ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
libpcap,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
@@ -23,11 +24,14 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
LIBPCAP_VER = libpcap.version;
|
||||
};
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Spy on the DNS queries your computer is making";
|
||||
mainProgram = "dnspeep";
|
||||
homepage = "https://github.com/jvns/dnspeep";
|
||||
changelog = "https://github.com/jvns/dnspeep/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ ];
|
||||
maintainers = [ lib.maintainers.progrm_jarvis ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "doxygen-awesome-css";
|
||||
version = "2.4.1";
|
||||
version = "2.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jothepro";
|
||||
repo = "doxygen-awesome-css";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-Q+1+Y8AsR3fZxYwewaBBKHIu0uwuYFZmUByHg17KZ9o=";
|
||||
hash = "sha256-AlnoIgH4DeIWM+Da7y7P6vkey0a0rlko9/slKHce49E=";
|
||||
};
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
@@ -2,32 +2,41 @@
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
pkg-config,
|
||||
openssl,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "ezno";
|
||||
version = "0.0.8";
|
||||
version = "0.0.23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kaleidawave";
|
||||
repo = "ezno";
|
||||
rev = "release/ezno-${finalAttrs.version}";
|
||||
hash = "sha256-0yLEpNkl7KjBEGxNONtfMjVlWMSKGZ6TbYJMsCeQ3ms=";
|
||||
hash = "sha256-YS0DgRtCy+RJsPMDBvAxjF4vjxfCb5gmQWP7YPUWbWU=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-v4lgHx+sR58CshZJCUYrtaW4EDFBUKFPJJ6V+eyf5Bc=";
|
||||
cargoHash = "sha256-7qTaI8nXH86yIXat584WI6AbJVRZ4PBXdnYDebUrpPA=";
|
||||
|
||||
cargoBuildFlags = [
|
||||
"--bin"
|
||||
"ezno"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "JavaScript compiler and TypeScript checker with a focus on static analysis and runtime performance";
|
||||
mainProgram = "ezno";
|
||||
homepage = "https://github.com/kaleidawave/ezno";
|
||||
changelog = "https://github.com/kaleidawave/ezno/releases/tag/${finalAttrs.src.rev}";
|
||||
changelog = "https://github.com/kaleidawave/ezno/releases/tag/release/ezno-${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ ];
|
||||
maintainers = [ lib.maintainers.progrm_jarvis ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "ferron";
|
||||
version = "2.6.0";
|
||||
version = "2.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ferronweb";
|
||||
repo = "ferron";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-pKZ/oWmPzVvnGXTyTQ3VcgISH3hSReR+RdIvD4tzPso=";
|
||||
hash = "sha256-nh3dq8s+lH+WbFviFZ9L+4MF4YhGPaJWTYtH12HfXoI=";
|
||||
};
|
||||
|
||||
# ../../ is cargoDepsCopy, and obviously does not contain monoio's README.md
|
||||
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
cargoHash = "sha256-FimBeq21JhCSSkkSmSO3i7UEqOzJY2r36GXJFcorRT0=";
|
||||
cargoHash = "sha256-ft7Ewv56u31iPCH3LJKE4Mt68KTfHtIiYMRjeGcwSQQ=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -11,17 +11,17 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "firebase-tools";
|
||||
version = "15.11.0";
|
||||
version = "15.12.0";
|
||||
nodejs = nodejs_22;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firebase";
|
||||
repo = "firebase-tools";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-QjY76mikVl0P0YY0YsvUFDsN8DAway175mm9orWrNLc=";
|
||||
hash = "sha256-xmLTxuOazHM4HObDVgQe1CqS8IaQuxL9g3Vdy+l9arI=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-dM+IiU360JvO2UN1EKuMvDedEnPLfc/B4mwHNPNFxbE=";
|
||||
npmDepsHash = "sha256-zozlGFDc+fsh11xZy//qQBiEqWCBEQUUW6NSCM6SPT0=";
|
||||
|
||||
# No more package-lock.json in upstream src
|
||||
postPatch = ''
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "gradle-completion";
|
||||
version = "9.3.1";
|
||||
version = "9.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gradle";
|
||||
repo = "gradle-completion";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-PeX8ygojftjXGqeRWvPOm/FLlCCH0kikF/MO3olKbKg=";
|
||||
hash = "sha256-bqbi0Mg+MahS4ICmfC6kuEWVJ6t6GUdHB6Y5ATtbJ8c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -5,20 +5,22 @@
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
nasm,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "sic-image-cli";
|
||||
version = "0.22.4";
|
||||
pname = "imagineer";
|
||||
version = "0.24.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "foresterre";
|
||||
repo = "sic";
|
||||
repo = "imagineer";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-PFbHHO3m4mnV5s8DVev/iao9sC3FYht0whTHYzO25Yo=";
|
||||
hash = "sha256-pnnMRRccxSA5F6oIbe9wvdMmuSUMI7Da+NtwyH2psjo=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-HL/KCC8Y42OFL1LXoewmH1Bxp6FICuDjkTnK5DE94Ms=";
|
||||
cargoHash = "sha256-6QMMP6Uss9r6zNd/S6w7yo19IBOQyLmFvcn2o0MkOq4=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
@@ -30,10 +32,15 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion sic.{bash,fish}
|
||||
installShellCompletion --zsh _sic
|
||||
installShellCompletion ig.{bash,fish}
|
||||
installShellCompletion --zsh _ig
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Accessible image processing and conversion from the terminal";
|
||||
homepage = "https://github.com/foresterre/sic";
|
||||
@@ -42,8 +49,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
asl20 # or
|
||||
mit
|
||||
];
|
||||
maintainers = [ ];
|
||||
mainProgram = "sic";
|
||||
maintainers = [ lib.maintainers.progrm_jarvis ];
|
||||
mainProgram = "ig";
|
||||
# The last successful Darwin Hydra build was in 2024
|
||||
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64;
|
||||
};
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "interactive-html-bom";
|
||||
version = "2.10.0";
|
||||
version = "2.11.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openscopeproject";
|
||||
repo = "InteractiveHtmlBom";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-o7GWdAFFK3zK0fc7aTSwOsd/c4uPg3cJfR0SXbl2RW8=";
|
||||
hash = "sha256-8uLHSMliz8bQ8aV+XWap8DwKKqroOPph1l9cgKXps+U=";
|
||||
};
|
||||
|
||||
build-system = [ python3Packages.hatchling ];
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
git,
|
||||
xmlstarlet,
|
||||
stripJavaArchivesHook,
|
||||
xcbuild,
|
||||
udev,
|
||||
libxxf86vm,
|
||||
libxt,
|
||||
@@ -76,9 +75,6 @@ stdenv.mkDerivation {
|
||||
git
|
||||
xmlstarlet
|
||||
stripJavaArchivesHook
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
xcbuild
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
|
||||
|
||||
@@ -43,9 +43,11 @@
|
||||
|
||||
swig,
|
||||
python,
|
||||
poppler,
|
||||
wxPython,
|
||||
opencascade-occt_7_6,
|
||||
libngspice,
|
||||
libspnav,
|
||||
valgrind,
|
||||
protobuf_29,
|
||||
nng,
|
||||
@@ -171,6 +173,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
boost
|
||||
swig
|
||||
python
|
||||
poppler
|
||||
unixodbc
|
||||
libdeflate
|
||||
opencascade-occt
|
||||
@@ -179,6 +182,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# This would otherwise cause a linking requirement for mbedtls.
|
||||
(nng.override { mbedtlsSupport = false; })
|
||||
]
|
||||
++ optionals (stdenv.hostPlatform.isLinux) [
|
||||
libspnav
|
||||
]
|
||||
++ optionals withScripting [ wxPython ]
|
||||
++ optionals withNgspice [ libngspice ]
|
||||
++ optionals debug [ valgrind ];
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
compressStep,
|
||||
stepreduce,
|
||||
parallel,
|
||||
python3,
|
||||
zip,
|
||||
}:
|
||||
let
|
||||
@@ -24,6 +25,9 @@ let
|
||||
stepreduce
|
||||
parallel
|
||||
zip
|
||||
]
|
||||
++ lib.optionals (name == "symbols") [
|
||||
python3
|
||||
];
|
||||
|
||||
postInstall =
|
||||
|
||||
@@ -234,9 +234,9 @@ stdenv.mkDerivation rec {
|
||||
"--prefix GIO_EXTRA_MODULES : ${dconf}/lib/gio/modules"
|
||||
# required to open a bug report link in firefox-wayland
|
||||
"--set-default MOZ_DBUS_REMOTE 1"
|
||||
"--set-default KICAD9_FOOTPRINT_DIR ${footprints}/share/kicad/footprints"
|
||||
"--set-default KICAD9_SYMBOL_DIR ${symbols}/share/kicad/symbols"
|
||||
"--set-default KICAD9_TEMPLATE_DIR ${template_dir}"
|
||||
"--set-default KICAD10_FOOTPRINT_DIR ${footprints}/share/kicad/footprints"
|
||||
"--set-default KICAD10_SYMBOL_DIR ${symbols}/share/kicad/symbols"
|
||||
"--set-default KICAD10_TEMPLATE_DIR ${template_dir}"
|
||||
]
|
||||
++ optionals (addons != [ ]) (
|
||||
let
|
||||
@@ -248,10 +248,10 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
};
|
||||
in
|
||||
[ "--set-default NIX_KICAD9_STOCK_DATA_PATH ${stockDataPath}" ]
|
||||
[ "--set-default NIX_KICAD10_STOCK_DATA_PATH ${stockDataPath}" ]
|
||||
)
|
||||
++ optionals with3d [
|
||||
"--set-default KICAD9_3DMODEL_DIR ${packages3d}/share/kicad/3dmodels"
|
||||
"--set-default KICAD10_3DMODEL_DIR ${packages3d}/share/kicad/3dmodels"
|
||||
]
|
||||
++ optionals withNgspice [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ]
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ index a74cdd9..790cc58 100644
|
||||
{
|
||||
wxString path;
|
||||
|
||||
+ if( wxGetEnv( wxT( "NIX_KICAD9_STOCK_DATA_PATH" ), &path ) ) {
|
||||
+ if( wxGetEnv( wxT( "NIX_KICAD10_STOCK_DATA_PATH" ), &path ) ) {
|
||||
+ return path;
|
||||
+ }
|
||||
+
|
||||
|
||||
@@ -3,23 +3,23 @@
|
||||
{
|
||||
"kicad" = {
|
||||
kicadVersion = {
|
||||
version = "9.0.8";
|
||||
version = "10.0.0";
|
||||
src = {
|
||||
rev = "1b361e77008b6a38253c4d90d7c749f4aef0f07f";
|
||||
sha256 = "1b995p0qb9cjpj0n3x3szbqr6d7fxwmrp2nbx37y7ym2bc1lpxd8";
|
||||
rev = "b0e9d3b0656e3770d11324b15e09b097f7fc33da";
|
||||
sha256 = "1470x1276yvd8li3w25zjg73fkpl2qp4dsx7adanafq5c4l47rmc";
|
||||
};
|
||||
};
|
||||
libVersion = {
|
||||
version = "9.0.8";
|
||||
version = "10.0.0";
|
||||
libSources = {
|
||||
symbols.rev = "83b87ce54ef7c17da4cefe45ad99a5f8d375abe6";
|
||||
symbols.sha256 = "08qb4rqxsyhrcvj1k200m2c06jjy7jwjmf9n1qkcm0biqqc5dba4";
|
||||
templates.rev = "319c71222af4205673e0cab9d772a02bbb34c597";
|
||||
symbols.rev = "dc72a484664c0470407113a174f2b5435debbcaf";
|
||||
symbols.sha256 = "0khfnln0f2zsz5hy31nw2rr0nflb2z3s9n9f7g41g03m9l3s43v2";
|
||||
templates.rev = "e703d1e2ab3eb98a209ff402d2b6bf6d02dc1930";
|
||||
templates.sha256 = "0zs29zn8qjgxv0w1vyr8yxmj02m8752zagn4vcraqgik46dwg2id";
|
||||
footprints.rev = "384ecd066fcaef6aacdd099ca0bb7c47499a9a4b";
|
||||
footprints.sha256 = "1w7dkb93s84ymi1syxpzacbmkxlnlh0k4z1c62nabspb901nn524";
|
||||
packages3d.rev = "6b3a47da075011b33b6de17aa499690f8c5be4a7";
|
||||
packages3d.sha256 = "1j26dmgz7xfixlqrzclb1wpc6zkd10n1fq7rmdrgwwx083p3c7a8";
|
||||
footprints.rev = "4899503b69ff037ed102ab0fe5a0564ef3d61726";
|
||||
footprints.sha256 = "0ymmd1rzrczpvcqzw1mld9x8xhbka0vvjy3kdqwysg4ri97f5wrm";
|
||||
packages3d.rev = "bc82151111e9edddf4295228e6ceb5e0584c9c3e";
|
||||
packages3d.sha256 = "0k91iw661fpzb7saryjxdcdvk1kis7dhbcpzp7xzjk84i4jvxrp5";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -51,14 +51,14 @@
|
||||
with python3Packages;
|
||||
buildPythonApplication rec {
|
||||
pname = "kitty";
|
||||
version = "0.46.1";
|
||||
version = "0.46.2";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kovidgoyal";
|
||||
repo = "kitty";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-cGMmzddP+YsyEl9IDt4rtChYZeh9n/7RfWJ87Evv6Tc=";
|
||||
hash = "sha256-x+jBQrg3Iaj6PLMF1hIjS46odxv5GxPMcvC9JddYCHo=";
|
||||
};
|
||||
|
||||
goModules =
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchurl,
|
||||
makeBinaryWrapper,
|
||||
nix-update-script,
|
||||
undmg,
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "kiwix-apple";
|
||||
version = "3.13.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.kiwix.org/release/kiwix-macos/kiwix-macos_${finalAttrs.version}.dmg";
|
||||
hash = "sha256-f9Un5ufiwwDiMesdw2dtnHWLM4ZtGMnFcGMuR3aIvHs=";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeBinaryWrapper
|
||||
undmg
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/Applications
|
||||
cp -r Kiwix.app $out/Applications
|
||||
makeWrapper $out/Applications/Kiwix.app/Contents/MacOS/Kiwix $out/bin/${finalAttrs.meta.mainProgram}
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
extraArgs = [
|
||||
"--url=https://github.com/kiwix/kiwix-apple"
|
||||
"--version-regex=(.*\\..*\\..*)" # matches arbitrary tags otherwise
|
||||
];
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/kiwix/kiwix-apple/blob/${finalAttrs.version}/CHANGELOG.md";
|
||||
description = "Offline reader for Web content";
|
||||
downloadPage = "https://get.kiwix.org/en/solutions/applications/kiwix-reader/";
|
||||
homepage = "https://get.kiwix.org/en/solutions/applications/";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
mainProgram = "kiwix";
|
||||
maintainers = with lib.maintainers; [ MysteryBlokHed ];
|
||||
platforms = lib.platforms.darwin;
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
})
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lexbor";
|
||||
version = "2.6.0-unstable-2025-11-24";
|
||||
version = "2.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lexbor";
|
||||
repo = "lexbor";
|
||||
rev = "7d726f1bed2f489e79751496c584304e6859ee1b";
|
||||
hash = "sha256-vLP/YJWu1Z2kiT0sFLcMPjzMJHJe457oyPTIsxafTfc=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-MFwsXMiqKnkHRQkNrl34UDFfRQq1Q5gOYfsE56ZgWwY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
homepage = "https://github.com/lexbor/lexbor";
|
||||
changelog = "https://github.com/lexbor/lexbor/blob/${finalAttrs.src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = [ ];
|
||||
maintainers = with lib.maintainers; [ miniharinn ];
|
||||
mainProgram = "lexbor";
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
--- a/cupsfilters/ghostscript.c
|
||||
+++ b/cupsfilters/ghostscript.c
|
||||
@@ -629,7 +629,7 @@ gs_spawn (const char *filename,
|
||||
}
|
||||
|
||||
// Execute Ghostscript command line ...
|
||||
- execvpe(filename, gsargv, envp);
|
||||
+ execve(filename, gsargv, envp);
|
||||
if (log) log(ld, CF_LOGLEVEL_ERROR,
|
||||
"cfFilterGhostscript: Unable to launch Ghostscript: %s: %s",
|
||||
filename, strerror(errno));
|
||||
@@ -32,6 +32,18 @@ stdenv.mkDerivation {
|
||||
hash = "sha256-WEcg+NSsny/N1VAR1ejytM+3nOF3JlNuIUPf4w6N2ew=";
|
||||
};
|
||||
|
||||
# Undefined symbols for architecture x86_64:
|
||||
# "_iconv", referenced from:
|
||||
# _cfFilterTextToText in libcupsfilters_la-texttotext.o
|
||||
# "_iconv_close", referenced from:
|
||||
# _cfFilterTextToText in libcupsfilters_la-texttotext.o
|
||||
# "_iconv_open", referenced from:
|
||||
# _cfFilterTextToText in libcupsfilters_la-texttotext.o
|
||||
# ld: symbol(s) not found for architecture x86_64
|
||||
env = lib.optionalAttrs stdenv.hostPlatform.isDarwin {
|
||||
NIX_LDFLAGS = "-liconv";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
# https://github.com/OpenPrinting/cups-filters/security/advisories/GHSA-893j-2wr2-wrh9
|
||||
@@ -49,7 +61,9 @@ stdenv.mkDerivation {
|
||||
url = "https://github.com/OpenPrinting/libcupsfilters/commit/b69dfacec7f176281782e2f7ac44f04bf9633cfa.patch";
|
||||
hash = "sha256-rPUbgtTu7j3uUZrtUhUPO1vFbV6naxIWsHf6x3JhS74=";
|
||||
})
|
||||
];
|
||||
]
|
||||
# build on platforms without execvpe
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin ./execve.patch;
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
@@ -77,7 +91,9 @@ stdenv.mkDerivation {
|
||||
"--with-ippfind-path=${lib.getExe' cups "ippfind"}"
|
||||
"--enable-imagefilters"
|
||||
"--with-test-font-path=${dejavu_fonts}/share/fonts/truetype/DejaVuSans.ttf"
|
||||
];
|
||||
]
|
||||
# build on platforms without execvpe (path to Ghostscript must be absolute)
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin "--with-gs-path=${lib.getExe ghostscript}";
|
||||
makeFlags = [
|
||||
"CUPS_SERVERBIN=$(out)/lib/cups"
|
||||
"CUPS_DATADIR=$(out)/share/cups"
|
||||
@@ -88,6 +104,6 @@ stdenv.mkDerivation {
|
||||
homepage = "https://github.com/OpenPrinting/libcupsfilters";
|
||||
description = "Backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc";
|
||||
license = lib.licenses.asl20;
|
||||
platforms = lib.platforms.linux;
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ let
|
||||
in
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "llama-swap";
|
||||
version = "183";
|
||||
version = "199";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -28,7 +28,7 @@ buildGoModule (finalAttrs: {
|
||||
owner = "mostlygeek";
|
||||
repo = "llama-swap";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-5TIcDK6M/9jDkJDWafRGw+/TaW7Pbvn1yl9ijnzP/Mc=";
|
||||
hash = "sha256-tAWXhfOWPLBuEgd+32CbuIkn1hN+4VI4xkyx7E2a81I=";
|
||||
# populate values that require us to use git. By doing this in postFetch we
|
||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||
leaveDotGit = true;
|
||||
@@ -81,8 +81,8 @@ buildGoModule (finalAttrs: {
|
||||
|
||||
checkFlags =
|
||||
let
|
||||
skippedTests = lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
|
||||
# Fail only on x86_64-darwin intermittently
|
||||
skippedTests = lib.optionals (stdenv.isDarwin) [
|
||||
# Fail only on *-darwin intermittently
|
||||
# https://github.com/mostlygeek/llama-swap/issues/320
|
||||
"TestProcess_AutomaticallyStartsUpstream"
|
||||
"TestProcess_WaitOnMultipleStarts"
|
||||
@@ -98,6 +98,7 @@ buildGoModule (finalAttrs: {
|
||||
"TestProcess_ForceStopWithKill"
|
||||
"TestProcess_StopCmd"
|
||||
"TestProcess_EnvironmentSetCorrectly"
|
||||
"TestProcess_ReverseProxyPanicIsHandled"
|
||||
];
|
||||
in
|
||||
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
|
||||
|
||||
@@ -7,14 +7,14 @@
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "${llama-swap.pname}-ui";
|
||||
inherit (llama-swap) version src;
|
||||
npmDepsHash = "sha256-fIDn3vfrqTZfzK8dc+Vpckw9M2iyJi5ggHFEV8PeXtU=";
|
||||
npmDepsHash = "sha256-gTDsuWPLCWsPltioziygFmSQFdLqjkZpmmVWIWoZwoc=";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace vite.config.ts \
|
||||
--replace-fail "../proxy/ui_dist" "${placeholder "out"}/ui_dist"
|
||||
'';
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/ui";
|
||||
sourceRoot = "${finalAttrs.src.name}/ui-svelte";
|
||||
|
||||
# bundled "ui_dist" doesn't need node_modules
|
||||
postInstall = ''
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
@@ -26,13 +28,19 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
installManPage doc/macchina.{1,7}
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Fast, minimal and customizable system information fetcher";
|
||||
homepage = "https://github.com/Macchina-CLI/macchina";
|
||||
changelog = "https://github.com/Macchina-CLI/macchina/releases/tag/v${finalAttrs.version}";
|
||||
changelog = "https://github.com/Macchina-CLI/macchina/blob/v${finalAttrs.version}/CHANGELOG.md";
|
||||
license = with lib.licenses; [ mit ];
|
||||
maintainers = with lib.maintainers; [
|
||||
_414owen
|
||||
progrm_jarvis
|
||||
];
|
||||
mainProgram = "macchina";
|
||||
};
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
fetchzip,
|
||||
stdenvNoCC,
|
||||
installFonts,
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
@@ -14,13 +15,7 @@ stdenvNoCC.mkDerivation {
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -D -m444 -t $out/share/fonts/truetype $src/Minecraftia.ttf
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
nativeBuildInputs = [ installFonts ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://fontlibrary.org/en/font/minecraftia";
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
fetchpatch,
|
||||
pkg-config,
|
||||
meson,
|
||||
ninja,
|
||||
@@ -15,20 +14,16 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "mpdscribble";
|
||||
version = "0.24";
|
||||
version = "0.25";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.musicpd.org/download/mpdscribble/${finalAttrs.version}/mpdscribble-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "sha256-9rTLp0izuH5wUnC0kjyOI+lMLgD+3VC+sUaNvi+yqOc=";
|
||||
sha256 = "sha256-IPidlFv1F8TWi/d6d6NZ/bE4QqsSlejSHtp5vitbNc4=";
|
||||
};
|
||||
|
||||
# Fix build issue on darwin; to be removed after the next release
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "remove-empty-static-lib.patch";
|
||||
url = "https://github.com/MusicPlayerDaemon/mpdscribble/commit/0dbcea25c81f3fdc608f71ef71a9784679fee17f.patch";
|
||||
sha256 = "sha256-3wLfQvbwx+OFrCl5vMV7Zps4e4iEYFhqPiVCo5hDqgw=";
|
||||
})
|
||||
mesonFlags = [
|
||||
(lib.mesonOption "systemd_user_unit_dir" "etc/systemd/user")
|
||||
(lib.mesonOption "systemd_system_unit_dir" "etc/systemd/system")
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
@@ -52,7 +47,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
description = "MPD client which submits info about tracks being played to a scrobbler";
|
||||
homepage = "https://www.musicpd.org/clients/mpdscribble/";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = [ lib.maintainers.sohalt ];
|
||||
maintainers = [
|
||||
lib.maintainers.sohalt
|
||||
lib.maintainers.kybe236
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "mpdscribble";
|
||||
};
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "mprisence";
|
||||
version = "1.4.3";
|
||||
version = "1.4.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lazykern";
|
||||
repo = "mprisence";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-5iNxNuLtIZDz8lS1J8qjBousGy/2ZR1/KI/xeFuQfSU=";
|
||||
hash = "sha256-xQA9wxEweoxguVhuTfG6RVODKUuaTWEsrQh5Me05eCw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-MIclhi34hXqhpSnyqxS496Fd8Xv/gFJJS3/4EObVYHs=";
|
||||
cargoHash = "sha256-KF/PYocZDgryXyhFj2eD5o0Tlxmgxd27SqqW54e/qdw=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
||||
@@ -37,6 +37,35 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
llvmPackages.openmp
|
||||
];
|
||||
|
||||
configureFlags =
|
||||
let
|
||||
mkCpuFeatureFlag = acvar: cond: "ax_cv_have_${acvar}_cpu_ext=${lib.boolToYesNo cond}";
|
||||
in
|
||||
[
|
||||
(mkCpuFeatureFlag "sse3" stdenv.hostPlatform.sse3Support)
|
||||
(mkCpuFeatureFlag "ssse3" stdenv.hostPlatform.ssse3Support)
|
||||
(mkCpuFeatureFlag "sse41" stdenv.hostPlatform.sse4_1Support)
|
||||
(mkCpuFeatureFlag "sse42" stdenv.hostPlatform.sse4_2Support)
|
||||
(mkCpuFeatureFlag "sse4a" stdenv.hostPlatform.sse4_aSupport)
|
||||
(mkCpuFeatureFlag "avx" stdenv.hostPlatform.avxSupport)
|
||||
(mkCpuFeatureFlag "avx2" stdenv.hostPlatform.avx2Support)
|
||||
]
|
||||
++ map (lib.flip mkCpuFeatureFlag stdenv.hostPlatform.avx512Support) [
|
||||
"avx512f"
|
||||
"avx512cd"
|
||||
"avx512pf"
|
||||
"avx512er"
|
||||
"avx512vl"
|
||||
"avx512bw"
|
||||
"avx512dq"
|
||||
"avx512ifma"
|
||||
"avx512vbmi"
|
||||
]
|
||||
++ [
|
||||
(mkCpuFeatureFlag "fma3" stdenv.hostPlatform.fmaSupport)
|
||||
(mkCpuFeatureFlag "fma4" stdenv.hostPlatform.fma4Support)
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -17,22 +17,30 @@
|
||||
libiconv,
|
||||
makeWrapper,
|
||||
nix-update-script,
|
||||
fetchpatch,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "newsboat";
|
||||
version = "2.42";
|
||||
version = "2.43";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "newsboat";
|
||||
repo = "newsboat";
|
||||
tag = "r${finalAttrs.version}";
|
||||
hash = "sha256-ZBqYxAX2jPaRycdw7BbhySt2uviICadT/5Z5WZqsqJM=";
|
||||
hash = "sha256-XnA20uylHoly1P5qpM2JmkkV6C5//Xu5M+CjWwCiI7c=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/newsboat/newsboat/commit/f7936d13013d33946b28b2ac51f1266423d66b23.patch";
|
||||
hash = "sha256-MnL/ylTIJJV1+3I1OxzNWedLUEZ4viuzxXNM63qk1aM=";
|
||||
})
|
||||
];
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-T6zBr3LoOkPLVkBvfhUdqs7iF2I6fRTZo+uMsrnv+5g=";
|
||||
hash = "sha256-+QyN0YDQmSGVZ2ckLd5SDYRw/wZYFY6GNteeTRrNDcU=";
|
||||
};
|
||||
|
||||
# allow other ncurses versions on Darwin
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
@@ -17,15 +19,20 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
cargoHash = "sha256-daHhCr55RzIHooGXBK831SYD1b8NPEDD6mtDut6nuaQ=";
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Batch rename utility for developers";
|
||||
homepage = "https://github.com/yaa110/nomino";
|
||||
changelog = "https://github.com/yaa110/nomino/releases/tag/${finalAttrs.src.rev}";
|
||||
changelog = "https://github.com/yaa110/nomino/releases/tag/v${finalAttrs.version}";
|
||||
license = with lib.licenses; [
|
||||
mit # or
|
||||
asl20
|
||||
];
|
||||
maintainers = [ ];
|
||||
maintainers = [ lib.maintainers.progrm_jarvis ];
|
||||
mainProgram = "nomino";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -6,18 +6,20 @@
|
||||
installShellFiles,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
cacert,
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "openstack-rs";
|
||||
version = "0.13.3";
|
||||
version = "0.13.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gtema";
|
||||
repo = "openstack";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-F9ePn+Fu9/9/rQnF0a+ViezsMtxuojycF4h9e77tm1Y=";
|
||||
hash = "sha256-8Dg1ymrjra6q4WXOUh+qEgyIIh7Z5FinLNc9fFETyFQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-nVR0XUjOwiYNEYG/6ViH4biCXyeK5GVkMb/uOvBRFUw=";
|
||||
cargoHash = "sha256-mEYfcv9GViTOB4WoV2tHpWrzcEEcGf0DI9hDhajDvpc=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
@@ -30,6 +32,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
--zsh <($out/bin/osc completion zsh)
|
||||
'';
|
||||
|
||||
nativeCheckInputs = [
|
||||
cacert
|
||||
];
|
||||
|
||||
doInstallCheck = true;
|
||||
versionCheckProgram = "${placeholder "out"}/bin/${finalAttrs.meta.mainProgram}";
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
pkgs,
|
||||
python3,
|
||||
wrapGAppsHook3,
|
||||
gobject-introspection,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication {
|
||||
pname = "pdf-quench";
|
||||
version = "1.0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxerwang";
|
||||
repo = "pdf-quench";
|
||||
rev = "b72b3970b371026f9a7ebe6003581e8a63af98f6";
|
||||
sha256 = "1rp9rlwr6rarcsxygv5x2c5psgwl6r69k0lsgribgyyla9cf2m7n";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook3
|
||||
gobject-introspection
|
||||
];
|
||||
buildInputs = with pkgs; [
|
||||
gtk3
|
||||
goocanvas_2
|
||||
poppler_gi
|
||||
];
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
pygobject3
|
||||
pypdf2
|
||||
];
|
||||
|
||||
pyproject = false;
|
||||
doCheck = false;
|
||||
|
||||
installPhase = ''
|
||||
install -D -T -m 755 src/pdf_quench.py $out/bin/pdf-quench
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/linuxerwang/pdf-quench";
|
||||
description = "Visual tool for cropping pdf files";
|
||||
mainProgram = "pdf-quench";
|
||||
platforms = lib.platforms.linux;
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = with lib.maintainers; [ flokli ];
|
||||
};
|
||||
}
|
||||
@@ -1,24 +1,24 @@
|
||||
{
|
||||
lib,
|
||||
python3,
|
||||
python3Packages,
|
||||
fetchFromGitHub,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
with python3.pkgs;
|
||||
with python3Packages;
|
||||
buildPythonApplication (finalAttrs: {
|
||||
pname = "pinnwand";
|
||||
version = "1.6.0";
|
||||
version = "1.6.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "supakeen";
|
||||
repo = "pinnwand";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-oB7Dd1iVzGqr+5nG7BfZuwOQUgUnmg6ptQDZPGH7P5E=";
|
||||
hash = "sha256-Abj68lJn2qjL1jb+cVzkoc/RYKA6d5tYOPlEwqST0tY=";
|
||||
};
|
||||
|
||||
build-system = [ pdm-pep517 ];
|
||||
build-system = [ pdm-backend ];
|
||||
|
||||
dependencies = [
|
||||
click
|
||||
@@ -27,6 +27,7 @@ buildPythonApplication (finalAttrs: {
|
||||
pygments-better-html
|
||||
python-dotenv
|
||||
sqlalchemy
|
||||
sqlalchemy-utc
|
||||
token-bucket
|
||||
tomli
|
||||
tornado
|
||||
@@ -39,7 +40,7 @@ buildPythonApplication (finalAttrs: {
|
||||
pytest-html
|
||||
pytest-playwright
|
||||
pytestCheckHook
|
||||
toml
|
||||
tomli-w
|
||||
urllib3
|
||||
];
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "qmqtt";
|
||||
version = "1.0.4";
|
||||
version = "1.0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "emqx";
|
||||
repo = "qmqtt";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-cIzBnJdMFY25cWf1rBoRQx1G0/5S32igF8vcte+nyHI=";
|
||||
hash = "sha256-OhRvVOJt5GRwNNKsXLpneDyx8SIptP6KAlIAsWOOcjo=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -160,5 +160,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
maintainers = with lib.maintainers; [ rc-zb ];
|
||||
mainProgram = "racket";
|
||||
platforms = lib.platforms.all;
|
||||
/*
|
||||
> checking size of void *... 0
|
||||
> Something has gone wrong getting the pointer size; see config.log
|
||||
*/
|
||||
badPlatforms = lib.platforms.darwin;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -127,7 +127,7 @@ minimal.overrideAttrs (
|
||||
libraries support applications from web servers and databases to
|
||||
GUIs and charts.
|
||||
'';
|
||||
platforms = lib.platforms.unix;
|
||||
badPlatforms = [ ];
|
||||
};
|
||||
}
|
||||
)
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "rbspy";
|
||||
version = "0.44.0";
|
||||
version = "0.45.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rbspy";
|
||||
repo = "rbspy";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-5oCSrKtNmvleJwkJN2Sz/1i7MpaiNTD9i0whlFLHSgg=";
|
||||
hash = "sha256-o4YSvPOVi+Q6Nf3PfT0ZqKnC+VQadiCkmVtb8q/os54=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-3AK/No9rbPvS2QhUwVDl7OsvUzWaW9DCkNlf3PSp1Ic=";
|
||||
cargoHash = "sha256-s5MeEEGuz+kCJJ7XAKNbJHfJlqsh/oUCcXw1590CHrc=";
|
||||
|
||||
doCheck = true;
|
||||
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "rumdl";
|
||||
version = "0.1.58";
|
||||
version = "0.1.62";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rvben";
|
||||
repo = "rumdl";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-cGj+YNwrglxBiFwR7Tx/ntuJc8p1JwmiZdmLyTnrJwQ=";
|
||||
hash = "sha256-+X/8Tc894lQkJBsRfr11TgSUejQZH90dRwPzTe7i9dw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-hFdA/M9X46+uQl6/JTohCiMq2JLHuBjz6s6e7yTBRUI=";
|
||||
cargoHash = "sha256-w/MqjaxutaNy++nPEHWIfdaIB9YH+dAOYvFVAcFnrss=";
|
||||
|
||||
cargoBuildFlags = [
|
||||
"--bin=rumdl"
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildNpmPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# runtime dependencies
|
||||
ripgrep,
|
||||
which,
|
||||
# linux-only
|
||||
bubblewrap,
|
||||
socat,
|
||||
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "sandbox-runtime";
|
||||
version = "0.0.43";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "anthropic-experimental";
|
||||
repo = "sandbox-runtime";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-DzsIWR4IreGkSUtaJ2v5kTrI2hbG9O2bozQkJYYZ8LM=";
|
||||
};
|
||||
|
||||
postPatch =
|
||||
# Fix the `--version` flag.
|
||||
''
|
||||
substituteInPlace src/cli.ts \
|
||||
--replace-fail "1.0.0" "${finalAttrs.version}"
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
npmDepsHash = "sha256-UUxkaGF1kUhq7XShxAq33oQoLG/aM5p/4rpXIH4I+yE=";
|
||||
|
||||
postFixup =
|
||||
let
|
||||
runtimeDeps = [
|
||||
ripgrep
|
||||
which
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
bubblewrap
|
||||
socat
|
||||
];
|
||||
in
|
||||
''
|
||||
wrapProgram $out/bin/srt \
|
||||
--prefix PATH ${lib.makeBinPath runtimeDeps}
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Lightweight sandboxing tool for enforcing filesystem and network restrictions on arbitrary processes at the OS level, without requiring a container";
|
||||
changelog = "https://github.com/anthropic-experimental/sandbox-runtime/releases/tag/${finalAttrs.src.tag}";
|
||||
homepage = "https://github.com/anthropic-experimental/sandbox-runtime";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ GaetanLepage ];
|
||||
mainProgram = "srt";
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
};
|
||||
})
|
||||
@@ -117,12 +117,12 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "shipwright";
|
||||
version = "9.1.2";
|
||||
version = "9.2.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "harbourmasters";
|
||||
repo = "shipwright";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-kFi5yo+CGH67NU7haDAbzWCURzsUYMlRzx66XGvh0a0=";
|
||||
hash = "sha256-t3QwJqXMmeC2B26YW1kMnnmRVXOVZA+1SMmDPvTa0FQ=";
|
||||
fetchSubmodules = true;
|
||||
deepClone = true;
|
||||
postFetch = ''
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "spire";
|
||||
version = "1.14.2";
|
||||
version = "1.14.4";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -21,12 +21,12 @@ buildGoModule (finalAttrs: {
|
||||
owner = "spiffe";
|
||||
repo = "spire";
|
||||
tag = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-EQ9QMAhF/HR8Za5K08c52FsktIeBzKOIIueN5XamhL8=";
|
||||
sha256 = "sha256-Ga4fV1a3vlOez12a6lMHoh2CUF9Rkclvjz2FScu6krc=";
|
||||
};
|
||||
|
||||
# Needed for github.co/google/go-tpm-tools/simulator which contains non-go files that `go mod vendor` strips
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-YtSaibsoSxuEY9UO1EmFHZoVpwHs/gjx28gpxCiOzYE=";
|
||||
vendorHash = "sha256-Ajoxxpf6oWW6jioMTgeyaIszVhp4j7E2+msE0nhfKpk=";
|
||||
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
Submodule libultraship contains modified content
|
||||
diff --git a/libultraship/cmake/dependencies/common.cmake b/libultraship/cmake/dependencies/common.cmake
|
||||
index 596158c..c62d7b2 100644
|
||||
--- a/libultraship/cmake/dependencies/common.cmake
|
||||
+++ b/libultraship/cmake/dependencies/common.cmake
|
||||
@@ -47,10 +47,6 @@ set(stormlib_optimizations_patch git apply ${CMAKE_CURRENT_SOURCE_DIR}/cmake/dep
|
||||
endif()
|
||||
|
||||
#=================== STB ===================
|
||||
-set(STB_DIR ${CMAKE_BINARY_DIR}/_deps/stb)
|
||||
-file(DOWNLOAD "https://github.com/nothings/stb/raw/0bc88af4de5fb022db643c2d8e549a0927749354/stb_image.h" "${STB_DIR}/stb_image.h")
|
||||
-file(WRITE "${STB_DIR}/stb_impl.c" "#define STB_IMAGE_IMPLEMENTATION\n#include \"stb_image.h\"")
|
||||
-
|
||||
add_library(stb STATIC)
|
||||
|
||||
target_sources(stb PRIVATE
|
||||
@@ -0,0 +1,45 @@
|
||||
Submodule tools/Torch contains modified content
|
||||
diff --git a/tools/Torch/CMakeLists.txt b/tools/Torch/CMakeLists.txt
|
||||
index 8055f91..a77ff3a 100644
|
||||
--- a/tools/Torch/CMakeLists.txt
|
||||
+++ b/tools/Torch/CMakeLists.txt
|
||||
@@ -36,8 +36,7 @@ if(USE_STANDALONE)
|
||||
# Because libgfxd is not a CMake project, we have to manually fetch it and add it to the build
|
||||
FetchContent_Declare(
|
||||
libgfxd
|
||||
- GIT_REPOSITORY https://github.com/glankk/libgfxd.git
|
||||
- GIT_TAG 96fd3b849f38b3a7c7b7f3ff03c5921d328e6cdf
|
||||
+ URL @libgfxd_src@
|
||||
)
|
||||
|
||||
FetchContent_GetProperties(libgfxd)
|
||||
@@ -205,8 +204,7 @@ set(YAML_CPP_BUILD_TESTS OFF)
|
||||
set(YAML_CPP_DISABLE_UNINSTALL ON)
|
||||
FetchContent_Declare(
|
||||
yaml-cpp
|
||||
- GIT_REPOSITORY https://github.com/jbeder/yaml-cpp.git
|
||||
- GIT_TAG 28f93bdec6387d42332220afa9558060c8016795
|
||||
+ URL @yaml-cpp_src@
|
||||
)
|
||||
set(YAML_CPP_BUILD_TESTS OFF)
|
||||
FetchContent_MakeAvailable(yaml-cpp)
|
||||
@@ -219,8 +217,7 @@ endif()
|
||||
if(USE_STANDALONE)
|
||||
FetchContent_Declare(
|
||||
spdlog
|
||||
- GIT_REPOSITORY https://github.com/gabime/spdlog.git
|
||||
- GIT_TAG 7e635fca68d014934b4af8a1cf874f63989352b7
|
||||
+ URL @spdlog_src@
|
||||
)
|
||||
|
||||
FetchContent_MakeAvailable(spdlog)
|
||||
@@ -234,8 +231,7 @@ endif()
|
||||
set(tinyxml2_BUILD_TESTING OFF)
|
||||
FetchContent_Declare(
|
||||
tinyxml2
|
||||
- GIT_REPOSITORY https://github.com/leethomason/tinyxml2.git
|
||||
- GIT_TAG 10.0.0
|
||||
+ URL @tinyxml2_src@
|
||||
OVERRIDE_FIND_PACKAGE
|
||||
)
|
||||
FetchContent_MakeAvailable(tinyxml2)
|
||||
@@ -0,0 +1,265 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
applyPatches,
|
||||
writeTextFile,
|
||||
fetchurl,
|
||||
fetchpatch,
|
||||
stdenv,
|
||||
replaceVars,
|
||||
yaml-cpp,
|
||||
srcOnly,
|
||||
cmake,
|
||||
copyDesktopItems,
|
||||
installShellFiles,
|
||||
lsb-release,
|
||||
makeWrapper,
|
||||
ninja,
|
||||
pkg-config,
|
||||
bzip2,
|
||||
libGL,
|
||||
libvorbis,
|
||||
libx11,
|
||||
libzip,
|
||||
nlohmann_json,
|
||||
SDL2,
|
||||
spdlog,
|
||||
tinyxml-2,
|
||||
zenity,
|
||||
sdl_gamecontrollerdb,
|
||||
starship-sf64,
|
||||
makeDesktopItem,
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
# The following are either normally fetched during build time or a specific version is required
|
||||
|
||||
dr_libs = fetchFromGitHub {
|
||||
owner = "mackron";
|
||||
repo = "dr_libs";
|
||||
rev = "da35f9d6c7374a95353fd1df1d394d44ab66cf01";
|
||||
hash = "sha256-ydFhQ8LTYDBnRTuETtfWwIHZpRciWfqGsZC6SuViEn0=";
|
||||
};
|
||||
|
||||
imgui' = applyPatches {
|
||||
src = fetchFromGitHub {
|
||||
owner = "ocornut";
|
||||
repo = "imgui";
|
||||
tag = "v1.91.9b-docking";
|
||||
hash = "sha256-mQOJ6jCN+7VopgZ61yzaCnt4R1QLrW7+47xxMhFRHLQ=";
|
||||
};
|
||||
patches = [
|
||||
"${starship-sf64.src}/libultraship/cmake/dependencies/patches/imgui-fixes-and-config.patch"
|
||||
];
|
||||
};
|
||||
|
||||
libgfxd = fetchFromGitHub {
|
||||
owner = "glankk";
|
||||
repo = "libgfxd";
|
||||
rev = "008f73dca8ebc9151b205959b17773a19c5bd0da";
|
||||
hash = "sha256-AmHAa3/cQdh7KAMFOtz5TQpcM6FqO9SppmDpKPTjTt8=";
|
||||
};
|
||||
|
||||
prism = fetchFromGitHub {
|
||||
owner = "KiritoDv";
|
||||
repo = "prism-processor";
|
||||
rev = "7ae724a6fb7df8cbf547445214a1a848aefef747";
|
||||
hash = "sha256-G7koDUxD6PgZWmoJtKTNubDHg6Eoq8I+AxIJR0h3i+A=";
|
||||
};
|
||||
|
||||
stb_impl = writeTextFile {
|
||||
name = "stb_impl.c";
|
||||
text = ''
|
||||
#define STB_IMAGE_IMPLEMENTATION
|
||||
#include "stb_image.h"
|
||||
'';
|
||||
};
|
||||
|
||||
stb' = fetchurl {
|
||||
name = "stb_image.h";
|
||||
url = "https://raw.githubusercontent.com/nothings/stb/0bc88af4de5fb022db643c2d8e549a0927749354/stb_image.h";
|
||||
hash = "sha256-xUsVponmofMsdeLsI6+kQuPg436JS3PBl00IZ5sg3Vw=";
|
||||
};
|
||||
|
||||
stormlib' = applyPatches {
|
||||
src = fetchFromGitHub {
|
||||
owner = "ladislav-zezula";
|
||||
repo = "StormLib";
|
||||
tag = "v9.25";
|
||||
hash = "sha256-HTi2FKzKCbRaP13XERUmHkJgw8IfKaRJvsK3+YxFFdc=";
|
||||
};
|
||||
patches = [
|
||||
"${starship-sf64.src}/libultraship/cmake/dependencies/patches/stormlib-optimizations.patch"
|
||||
];
|
||||
};
|
||||
|
||||
thread_pool = fetchFromGitHub {
|
||||
owner = "bshoshany";
|
||||
repo = "thread-pool";
|
||||
tag = "v4.1.0";
|
||||
hash = "sha256-zhRFEmPYNFLqQCfvdAaG5VBNle9Qm8FepIIIrT9sh88=";
|
||||
};
|
||||
|
||||
# Include cmake4 patch
|
||||
# Remove when yaml-cpp.src is updated to include it
|
||||
yaml-patched = applyPatches {
|
||||
src = yaml-cpp.src;
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "yaml-cpp-fix-cmake-4.patch";
|
||||
url = "https://github.com/jbeder/yaml-cpp/commit/c2680200486572baf8221ba052ef50b58ecd816e.patch";
|
||||
hash = "sha256-1kXRa+xrAbLEhcJxNV1oGHPmayj1RNIe6dDWXZA3mUA=";
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "starship-sf64";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "HarbourMasters";
|
||||
repo = "Starship";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-pjftFMUE3UQuFe6WJI+n9GllV9uT2bvhHaUICaPHz+Q=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Don't fetch stb as we will patch our own
|
||||
./dont-fetch-stb.patch
|
||||
|
||||
# Can't fetch these torch deps in the sandbox
|
||||
(replaceVars ./git-deps.patch {
|
||||
libgfxd_src = fetchFromGitHub {
|
||||
owner = "glankk";
|
||||
repo = "libgfxd";
|
||||
rev = "96fd3b849f38b3a7c7b7f3ff03c5921d328e6cdf";
|
||||
hash = "sha256-dedZuV0BxU6goT+rPvrofYqTz9pTA/f6eQcsvpDWdvQ=";
|
||||
};
|
||||
spdlog_src = fetchFromGitHub {
|
||||
owner = "gabime";
|
||||
repo = "spdlog";
|
||||
rev = "7e635fca68d014934b4af8a1cf874f63989352b7";
|
||||
hash = "sha256-cxTaOuLXHRU8xMz9gluYz0a93O0ez2xOxbloyc1m1ns=";
|
||||
};
|
||||
yaml-cpp_src = srcOnly yaml-patched;
|
||||
tinyxml2_src = srcOnly tinyxml-2;
|
||||
})
|
||||
|
||||
# Revert upstream appimage fixes as this breaks loading at least on nixpkgs
|
||||
./revert-appimage-fixes.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
copyDesktopItems
|
||||
installShellFiles
|
||||
lsb-release
|
||||
makeWrapper
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
bzip2
|
||||
libGL
|
||||
libvorbis
|
||||
libx11
|
||||
libzip
|
||||
nlohmann_json
|
||||
SDL2
|
||||
spdlog
|
||||
tinyxml-2
|
||||
zenity
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "CMAKE_INSTALL_PREFIX" "${placeholder "out"}")
|
||||
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_DR_LIBS" "${dr_libs}")
|
||||
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_IMGUI" "${imgui'}")
|
||||
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_LIBGFXD" "${libgfxd}")
|
||||
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_PRISM" "${prism}")
|
||||
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_STORMLIB" "${stormlib'}")
|
||||
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_THREADPOOL" "${thread_pool}")
|
||||
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_TINYXML2" "${tinyxml-2}")
|
||||
(lib.cmakeFeature "FETCHCONTENT_SOURCE_DIR_YAML-CPP" "${yaml-patched}")
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
# Linking fails without this
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
preConfigure = ''
|
||||
mkdir stb
|
||||
cp ${stb'} ./stb/${stb'.name}
|
||||
cp ${stb_impl} ./stb/${stb_impl.name}
|
||||
substituteInPlace libultraship/cmake/dependencies/common.cmake \
|
||||
--replace-fail "\''${STB_DIR}" "$(readlink -f ./stb)"
|
||||
'';
|
||||
|
||||
postBuild = ''
|
||||
cp ${sdl_gamecontrollerdb}/share/gamecontrollerdb.txt gamecontrollerdb.txt
|
||||
./TorchExternal/src/TorchExternal-build/torch pack ../port starship.o2r o2r
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mv Starship starship-sf64
|
||||
installBin starship-sf64
|
||||
mkdir -p $out/share/starship-sf64/
|
||||
cp -r assets $out/share/starship-sf64/
|
||||
install -Dm644 -t $out/share/starship-sf64 {starship.o2r,config.yml,gamecontrollerdb.txt}
|
||||
install -Dm644 ../logo.png $out/share/pixmaps/starship-sf64.png
|
||||
install -Dm644 -t $out/share/licenses/starship-sf64 ../LICENSE.md
|
||||
install -Dm644 -t $out/share/licenses/starship-sf64/libgfxd ${libgfxd}/LICENSE
|
||||
install -Dm644 -t $out/share/licenses/starship-sf64/libultraship ../libultraship/LICENSE
|
||||
install -Dm644 -t $out/share/licenses/starship-sf64/thread_pool ${thread_pool}/LICENSE.txt
|
||||
'';
|
||||
|
||||
# Unfortunately, Starship really wants a writable working directory
|
||||
# Create $HOME/.local/share/starship-sf64 and symlink required files
|
||||
# This is pretty hacky and works for now and perhaps upstream might support XDG later
|
||||
# Also wrapProgram escapes $HOME to "/homeless-shelter" so use "~" for now
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/starship-sf64 \
|
||||
--prefix PATH ":" ${lib.makeBinPath [ zenity ]} \
|
||||
--run 'mkdir -p ~/.local/share/starship-sf64' \
|
||||
--run "ln -sf $out/share/starship-sf64/starship.o2r ~/.local/share/starship-sf64/starship.o2r" \
|
||||
--run "ln -sf $out/share/starship-sf64/config.yml ~/.local/share/starship-sf64/config.yml" \
|
||||
--run "ln -sfT $out/share/starship-sf64/assets ~/.local/share/starship-sf64/assets" \
|
||||
--run "ln -sf $out/share/starship-sf64/gamecontrollerdb.txt ~/.local/share/starship-sf64/gamecontrollerdb.txt" \
|
||||
--run 'cd ~/.local/share/starship-sf64'
|
||||
'';
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "Starship";
|
||||
icon = "starship-sf64";
|
||||
exec = "starship-sf64";
|
||||
comment = finalAttrs.meta.description;
|
||||
genericName = "starship-sf64";
|
||||
desktopName = "Starship";
|
||||
categories = [ "Game" ];
|
||||
})
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/HarbourMasters/Starship";
|
||||
description = "SF64 PC Port";
|
||||
mainProgram = "starship-sf64";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with lib.maintainers; [ qubitnano ];
|
||||
license = with lib.licenses; [
|
||||
# libultraship, libgfxd, thread_pool, dr_libs, prism-processor
|
||||
mit
|
||||
# Starship
|
||||
cc0
|
||||
# Reverse engineering
|
||||
unfree
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -0,0 +1,29 @@
|
||||
From aae7b7ca818ae4f438f315c9802a44adf6992215 Mon Sep 17 00:00:00 2001
|
||||
From: qubitnano <146656568+qubitnano@users.noreply.github.com>
|
||||
Date: Sun, 25 May 2025 12:51:27 -0400
|
||||
Subject: [PATCH] revert appimage fixes
|
||||
|
||||
This breaks loading at least on nixpkgs
|
||||
---
|
||||
src/port/Engine.cpp | 4 ----
|
||||
1 file changed, 4 deletions(-)
|
||||
|
||||
diff --git a/src/port/Engine.cpp b/src/port/Engine.cpp
|
||||
index d2bee9ec..47b21533 100644
|
||||
--- a/src/port/Engine.cpp
|
||||
+++ b/src/port/Engine.cpp
|
||||
@@ -70,11 +70,7 @@ GameEngine::GameEngine() {
|
||||
|
||||
std::vector<std::string> archiveFiles;
|
||||
const std::string main_path = Ship::Context::GetPathRelativeToAppDirectory("sf64.o2r");
|
||||
-#ifdef __linux__
|
||||
- const std::string assets_path = Ship::Context::GetPathRelativeToAppBundle("starship.o2r");
|
||||
-#else
|
||||
const std::string assets_path = Ship::Context::GetPathRelativeToAppDirectory("starship.o2r");
|
||||
-#endif
|
||||
|
||||
|
||||
#ifdef _WIN32
|
||||
--
|
||||
2.49.0
|
||||
|
||||
@@ -12,20 +12,21 @@
|
||||
pango,
|
||||
udev,
|
||||
udevCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "tiny-dfr";
|
||||
version = "0.3.5";
|
||||
version = "0.3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AsahiLinux";
|
||||
repo = "tiny-dfr";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-G4OeYZH3VF6fKWxHYLTmwzQmQ4JupgYNH/6aJSgINvg=";
|
||||
hash = "sha256-NwZ/uhVyI3NeI5CUsM42HUu6SpG0Lh8Mj66RY+ZuqBM=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-/PtoAc2ZNJfW5gegcFQAAlEmjSMysZ+QebVfHtW35Nk=";
|
||||
cargoHash = "sha256-k9mXEKn+LqFJraLm2ahGGAbVUNeNPnEwt1wGEOXeSrc=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
@@ -55,6 +56,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/AsahiLinux/tiny-dfr";
|
||||
description = "Most basic dynamic function row daemon possible";
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "4.19.0";
|
||||
buildNum = "4005";
|
||||
version = "4.20.0";
|
||||
buildNum = "4284";
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "tlclient";
|
||||
@@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.cendio.com/downloads/clients/tl-${finalAttrs.version}-client-linux-dynamic-x86_64.tar.gz";
|
||||
hash = "sha256-shlhu0m+TPgw3ndR70QdJ6Z0AyJdI/xmHJv+ZbFVokE=";
|
||||
hash = "sha256-iq1OUFyMZwYWqEI57zSwj1RDh5OZ8qNu8knpe6Hbdeo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
libosinfo,
|
||||
adwaita-icon-theme,
|
||||
gtksourceview4,
|
||||
libayatana-appindicator,
|
||||
xorriso,
|
||||
spiceSupport ? true,
|
||||
spice-gtk ? null,
|
||||
@@ -70,6 +71,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
libosinfo
|
||||
gtksourceview4
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
libayatana-appindicator
|
||||
]
|
||||
++ lib.optionals spiceSupport [
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
|
||||
@@ -2,32 +2,39 @@
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "wasmer-pack";
|
||||
version = "0.7.1";
|
||||
version = "0.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wasmerio";
|
||||
repo = "wasmer-pack";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-+wqgYkdkuhPFkJBdQLnUKAGmUfGBU9mBfMRNBFmiT4E=";
|
||||
hash = "sha256-9dIdwDKQyut2n1hgq4QzNZuGmGb1wUSmTJf9no6XI5A=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-PZudXmdPz6fG7NDC/yN7qG+RQFSzNynXo6SpYJEku9A=";
|
||||
cargoHash = "sha256-Hz+cvi82K9NJrn2yEkrVa29yhDUiE1gXZOwHFPljqqw=";
|
||||
|
||||
cargoBuildFlags = [ "-p=wasmer-pack-cli" ];
|
||||
|
||||
# requires internet access
|
||||
doCheck = false;
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Import your WebAssembly code just like any other dependency";
|
||||
mainProgram = "wasmer-pack";
|
||||
homepage = "https://github.com/wasmerio/wasmer-pack";
|
||||
changelog = "https://github.com/wasmerio/wasmer-pack/blob/${finalAttrs.src.rev}/CHANGELOG.md";
|
||||
changelog = "https://github.com/wasmerio/wasmer-pack/blob/v${finalAttrs.version}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ ];
|
||||
maintainers = [ lib.maintainers.progrm_jarvis ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
{
|
||||
"aarch64-darwin": {
|
||||
"version": "1.9577.42",
|
||||
"version": "1.9577.43",
|
||||
"vscodeVersion": "1.108.2",
|
||||
"url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/7e8af359f28ba41297041a60f16d418da912df8c/Windsurf-darwin-arm64-1.9577.42.zip",
|
||||
"sha256": "4e85c090a36997925eb534e76bfe48e5b8bbfa5f38a86a735c156ff1c8c64afc"
|
||||
"url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/745a6c1ac471cc11f782a05d2c3ceacbc1de308f/Windsurf-darwin-arm64-1.9577.43.zip",
|
||||
"sha256": "05c30794bf6f11a1f4bc8ca860dcc3220b8700acf23f3ae97100a31e6ccbc58a"
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
"version": "1.9577.42",
|
||||
"version": "1.9577.43",
|
||||
"vscodeVersion": "1.108.2",
|
||||
"url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/7e8af359f28ba41297041a60f16d418da912df8c/Windsurf-darwin-x64-1.9577.42.zip",
|
||||
"sha256": "71b0db5bfd87ac21400a848fcb776c0d89775958049a6f4b1dadf5fe73d7792d"
|
||||
"url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/745a6c1ac471cc11f782a05d2c3ceacbc1de308f/Windsurf-darwin-x64-1.9577.43.zip",
|
||||
"sha256": "b4d64719fa87f490b310bceb2b0613db7e03479719ded5c3778cbc4eb693f9b4"
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"version": "1.9577.42",
|
||||
"version": "1.9577.43",
|
||||
"vscodeVersion": "1.108.2",
|
||||
"url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/7e8af359f28ba41297041a60f16d418da912df8c/Windsurf-linux-x64-1.9577.42.tar.gz",
|
||||
"sha256": "371a4e33673ad407c726fb61101a93b66b7e308bbc2f7a8e858cf6d395e00630"
|
||||
"url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/745a6c1ac471cc11f782a05d2c3ceacbc1de308f/Windsurf-linux-x64-1.9577.43.tar.gz",
|
||||
"sha256": "6e28ab2b9e593493b937af8b4e5c704d8a350a886363a1495562dac37f122b9c"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,15 +7,15 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "zwave-js-ui";
|
||||
version = "11.15.0";
|
||||
version = "11.15.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zwave-js";
|
||||
repo = "zwave-js-ui";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-L5kalrF7TB3ywE9ArvOWoDIGAPs17KwUWzjH5U9CE7E=";
|
||||
hash = "sha256-EbLf3Jwr6p0MtOk4TfrW5KgojlTBrWHzcpwqO4aLib4=";
|
||||
};
|
||||
npmDepsHash = "sha256-KeC1vFVGsywEwPSgmnMqfvZee0UavkfBbAmn+3QeDlY=";
|
||||
npmDepsHash = "sha256-aydGtWGgGqkN8XcVzhv+HfIxSoEYEFrE4tm1YJR95ig=";
|
||||
|
||||
passthru.tests.zwave-js-ui = nixosTests.zwave-js-ui;
|
||||
|
||||
|
||||
@@ -108,11 +108,12 @@ stdenv.mkDerivation (
|
||||
++ [ "runHook postConfigure" ]
|
||||
));
|
||||
|
||||
env = args.env or { } // {
|
||||
env = {
|
||||
CRFLAGS = lib.concatStringsSep " " defaultOptions;
|
||||
|
||||
PREFIX = placeholder "out";
|
||||
};
|
||||
}
|
||||
// (args.env or { });
|
||||
|
||||
inherit enableParallelBuilding;
|
||||
strictDeps = true;
|
||||
@@ -205,8 +206,9 @@ stdenv.mkDerivation (
|
||||
done
|
||||
'';
|
||||
|
||||
meta = args.meta or { } // {
|
||||
platforms = args.meta.platforms or crystal.meta.platforms;
|
||||
};
|
||||
meta = {
|
||||
platforms = crystal.meta.platforms;
|
||||
}
|
||||
// (args.meta or { });
|
||||
}
|
||||
)
|
||||
|
||||
@@ -1,87 +0,0 @@
|
||||
> [!IMPORTANT]
|
||||
> There is currently an active project to [remove packages from `nodePackages`](https://github.com/NixOS/nixpkgs/issues/229475).
|
||||
> Please consider adding new packages using [another method](https://nixos.org/manual/nixpkgs/unstable/#javascript-tool-specific).
|
||||
|
||||
This folder contains a generated collection of [npm packages](https://npmjs.com/) that can be installed with the Nix package manager.
|
||||
|
||||
As a rule of thumb, the package set should only provide _end-user_ software packages, such as command-line utilities.
|
||||
Libraries should only be added to the package set if there is a non-npm package that requires it.
|
||||
|
||||
When it is desired to use npm libraries in a development project, use the `node2nix` generator directly on the `package.json` configuration file of the project.
|
||||
|
||||
The package set provides support for the official stable Node.js versions.
|
||||
The latest stable LTS release in `nodePackages`, as well as the latest stable current release in `nodePackages_latest`.
|
||||
|
||||
If your package uses native addons, you need to examine what kind of native build system it uses. Here are some examples:
|
||||
|
||||
- `node-gyp`
|
||||
- `node-gyp-builder`
|
||||
- `node-pre-gyp`
|
||||
|
||||
After you have identified the correct system, you need to override your package expression while adding the build system as a build input.
|
||||
For example, `dat` requires `node-gyp-build`, so we override its expression in [pkgs/development/node-packages/overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/node-packages/overrides.nix):
|
||||
|
||||
```nix
|
||||
{
|
||||
dat = prev.dat.override (oldAttrs: {
|
||||
buildInputs = [
|
||||
final.node-gyp-build
|
||||
pkgs.libtool
|
||||
pkgs.autoconf
|
||||
pkgs.automake
|
||||
];
|
||||
meta = oldAttrs.meta // {
|
||||
broken = since "12";
|
||||
};
|
||||
});
|
||||
}
|
||||
```
|
||||
|
||||
### Adding and updating JavaScript packages in Nixpkgs
|
||||
|
||||
To add a package from npm to Nixpkgs:
|
||||
|
||||
1. Modify [pkgs/development/node-packages/node-packages.json](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/node-packages/node-packages.json) to add, update or remove package entries to have it included in `nodePackages` and `nodePackages_latest`.
|
||||
2. Run the script:
|
||||
|
||||
```sh
|
||||
./pkgs/development/node-packages/generate.sh
|
||||
```
|
||||
|
||||
3. Build your new package to test your changes:
|
||||
|
||||
```sh
|
||||
nix-build -A nodePackages.<new-or-updated-package>
|
||||
```
|
||||
|
||||
To build against the latest stable current Node.js version (e.g. 18.x):
|
||||
|
||||
```sh
|
||||
nix-build -A nodePackages_latest.<new-or-updated-package>
|
||||
```
|
||||
|
||||
If the package doesn't build, you may need to add an override as explained above.
|
||||
4. Add and commit all modified and generated files.
|
||||
|
||||
For more information about the generation process, consult the [README.md](https://github.com/svanderburg/node2nix) file of the `node2nix` tool.
|
||||
|
||||
To update npm packages in Nixpkgs, run the same `generate.sh` script:
|
||||
|
||||
```sh
|
||||
./pkgs/development/node-packages/generate.sh
|
||||
```
|
||||
|
||||
#### Git protocol error
|
||||
|
||||
Some packages may have Git dependencies from GitHub specified with `git://`.
|
||||
GitHub has [disabled unencrypted Git connections](https://github.blog/2021-09-01-improving-git-protocol-security-github/#no-more-unauthenticated-git), so you may see the following error when running the generate script:
|
||||
|
||||
```
|
||||
The unauthenticated git protocol on port 9418 is no longer supported
|
||||
```
|
||||
|
||||
Use the following Git configuration to resolve the issue:
|
||||
|
||||
```sh
|
||||
git config --global url."https://github.com/".insteadOf git://github.com/
|
||||
```
|
||||
@@ -1,456 +0,0 @@
|
||||
pkgs: lib: self: super:
|
||||
|
||||
### Deprecated aliases - for backward compatibility
|
||||
###
|
||||
### !!! NOTE !!!
|
||||
### Use `./remove-attr.py [attrname]` in this directory to remove your alias
|
||||
### from the `nodePackages` set without regenerating the entire file.
|
||||
|
||||
let
|
||||
# Removing recurseForDerivation prevents derivations of aliased attribute
|
||||
# set to appear while listing all the packages available.
|
||||
removeRecurseForDerivations =
|
||||
alias:
|
||||
if alias.recurseForDerivations or false then
|
||||
lib.removeAttrs alias [ "recurseForDerivations" ]
|
||||
else
|
||||
alias;
|
||||
|
||||
# Disabling distribution prevents top-level aliases for non-recursed package
|
||||
# sets from building on Hydra.
|
||||
removeDistribute = alias: if lib.isDerivation alias then lib.dontDistribute alias else alias;
|
||||
|
||||
# Make sure that we are not shadowing something from node-packages.nix.
|
||||
checkInPkgs =
|
||||
n: alias:
|
||||
if builtins.hasAttr n super then throw "Alias ${n} is still in node-packages.nix" else alias;
|
||||
|
||||
mapAliases =
|
||||
aliases:
|
||||
lib.mapAttrs (
|
||||
n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias))
|
||||
) aliases;
|
||||
in
|
||||
|
||||
mapAliases {
|
||||
"@angular/cli" = throw "@angular/cli was removed because it was unmaintainable in nixpkgs"; # Added 2026-02-12
|
||||
"@antfu/ni" = pkgs.ni; # Added 2025-11-08
|
||||
"@antora/cli" = pkgs.antora; # Added 2023-05-06
|
||||
"@astrojs/language-server" = pkgs.astro-language-server; # Added 2024-02-12
|
||||
"@babel/cli" =
|
||||
throw "@babel/cli was removed because upstream highly suggests installing it in your project instead of globally."; # Added 2025-11-06
|
||||
"@bitwarden/cli" = pkgs.bitwarden-cli; # added 2023-07-25
|
||||
"@commitlint/cli" = pkgs.commitlint; # Added 2025-11-08
|
||||
"@commitlint/config-conventional" =
|
||||
throw "@commitlint/config-conventional has been dropped, as it is a library and your JS project should lock it instead."; # added 2024-12-16
|
||||
"@emacs-eask/cli" = pkgs.eask; # added 2023-08-17
|
||||
"@electron-forge/cli" =
|
||||
throw "@electron-forge/cli was removed because upstream suggests that you install it locally in your project instead."; # Added 2025-11-06
|
||||
"@forge/cli" = throw "@forge/cli was removed because it was broken"; # added 2023-09-20
|
||||
"@gitbeaker/cli" = pkgs.gitbeaker-cli; # Added 2025-10-29
|
||||
"@google/clasp" = pkgs.google-clasp; # Added 2023-05-07
|
||||
"@maizzle/cli" = pkgs.maizzle; # added 2023-08-17
|
||||
"@medable/mdctl-cli" = throw "@medable/mdctl-cli was removed because it was broken"; # added 2023-08-21
|
||||
"@mermaid-js/mermaid-cli" = pkgs.mermaid-cli; # added 2023-10-01
|
||||
"@microsoft/rush" =
|
||||
throw "@microsoft/rush has been removed because it was unmaintainable within nixpkgs"; # Added 2026-02-12
|
||||
"@nerdwallet/shepherd" = pkgs.shepherd; # added 2023-09-30
|
||||
"@nestjs/cli" = pkgs.nest-cli; # Added 2023-05-06
|
||||
"@prisma/language-server" = throw "@prisma/language-server has been removed because it was broken"; # added 2025-03-23
|
||||
"@shopify/cli" = throw "@shopify/cli has been removed because it was broken"; # added 2025-03-12
|
||||
"@tailwindcss/aspect-ratio" =
|
||||
throw "@tailwindcss/aspect-ratio has been removed because it is a library and your JS project should lock it instead."; # Added 2026-02-19
|
||||
"@tailwindcss/forms" =
|
||||
throw "@tailwindcss/forms has been removed because it is a library and your JS project should lock it instead."; # Added 2026-02-19
|
||||
"@tailwindcss/language-server" = pkgs.tailwindcss-language-server; # added 2024-01-22
|
||||
"@tailwindcss/line-clamp" =
|
||||
throw "@tailwindcss/line-clamp has been removed because it is a library and your JS project should lock it instead."; # Added 2026-02-19
|
||||
"@tailwindcss/typography" =
|
||||
throw "@tailwindcss/typography has been removed because it is a library and your JS project should lock it instead."; # Added 2026-02-19
|
||||
"@uppy/companion" = pkgs.uppy-companion; # Added 2025-11-01
|
||||
"@volar/vue-language-server" = pkgs.vue-language-server; # added 2024-06-15
|
||||
"@vue/language-server" = pkgs.vue-language-server; # added 2024-06-15
|
||||
"@webassemblyjs/cli-1.11.1" = pkgs.webassemblyjs-cli; # Added 2025-11-06
|
||||
"@webassemblyjs/repl-1.11.1" = pkgs.webassemblyjs-repl; # Added 2025-11-06
|
||||
"@webassemblyjs/wasm-strip" =
|
||||
"@webassemblyjs/wasm-strip has been removed because it was deprecated by upstream. Consider using wabt instead"; # Added 2025-11-06
|
||||
"@webassemblyjs/wasm-text-gen-1.11.1" = pkgs.wasm-text-gen; # Added 2025-11-06
|
||||
"@webassemblyjs/wast-refmt-1.11.1" = pkgs.wast-refmt; # Added 2025-11-06
|
||||
"@withgraphite/graphite-cli" = pkgs.graphite-cli; # added 2024-01-25
|
||||
"@yaegassy/coc-nginx" = pkgs.coc-nginx; # Added 2025-11-08
|
||||
"@zed-industries/claude-code-acp" = pkgs.claude-agent-acp; # Added 2026-03-12
|
||||
"@zwave-js/server" = pkgs.zwave-js-server; # Added 2023-09-09
|
||||
alex = throw "'alex' has been removed because it was unmaintainable in nixpkgs"; # Added 2026-02-12
|
||||
audiosprite = throw "'audiosprite' has been removed because it was abandoned upstream"; # Added 2025-11-14
|
||||
inherit (pkgs) autoprefixer; # added 2024-06-25
|
||||
inherit (pkgs) asar; # added 2023-08-26
|
||||
inherit (pkgs) auto-changelog; # added 2024-06-25
|
||||
inherit (pkgs) aws-azure-login; # added 2023-09-30
|
||||
aws-cdk = pkgs.aws-cdk-cli; # Added 2025-12-23
|
||||
awesome-lint = throw "'awesome-lint' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17
|
||||
balanceofsatoshis = pkgs.balanceofsatoshis; # added 2023-07-31
|
||||
inherit (pkgs) bash-language-server; # added 2024-06-07
|
||||
bibtex-tidy = pkgs.bibtex-tidy; # added 2023-07-30
|
||||
bitwarden-cli = pkgs.bitwarden-cli; # added 2023-07-25
|
||||
bower = throw "bower was removed because it was deprecated"; # added 2025-09-17
|
||||
inherit (pkgs) bower2nix; # added 2024-08-23
|
||||
browserify = throw "browserify has been removed because it was unmaintained in nixpkgs"; # Added 2026-03-01
|
||||
inherit (pkgs) browser-sync; # Added 2026-03-10
|
||||
inherit (pkgs) btc-rpc-explorer; # added 2023-08-17
|
||||
inherit (pkgs) carbon-now-cli; # added 2023-08-17
|
||||
inherit (pkgs) carto; # added 2023-08-17
|
||||
castnow = pkgs.castnow; # added 2023-07-30
|
||||
inherit (pkgs) cdk8s-cli; # Added 2025-11-10
|
||||
inherit (pkgs) cdktf-cli; # added 2025-10-02
|
||||
inherit (pkgs) clean-css-cli; # added 2023-08-18
|
||||
clipboard-cli = throw "'clipboard-cli' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17
|
||||
inherit (pkgs) coc-clangd; # added 2024-06-29
|
||||
inherit (pkgs) coc-cmake; # Added 2025-11-05
|
||||
inherit (pkgs) coc-css; # added 2024-06-29
|
||||
inherit (pkgs) coc-diagnostic; # added 2024-06-29
|
||||
inherit (pkgs) coc-docker; # added 2025-10-01
|
||||
inherit (pkgs) coc-emmet; # Added 2025-11-05
|
||||
inherit (pkgs) coc-eslint; # Added 2025-11-05;
|
||||
inherit (pkgs) coc-explorer; # added 2025-10-01
|
||||
inherit (pkgs) coc-flutter; # Added 2025-11-05
|
||||
inherit (pkgs) coc-git; # added 2025-10-01
|
||||
coc-go = throw "coc-go has been removed because it was unmaintained in nixpkgs"; # Added 2026-02-14
|
||||
inherit (pkgs) coc-haxe; # Added 2025-11-05
|
||||
inherit (pkgs) coc-highlight; # Added 2025-11-05
|
||||
inherit (pkgs) coc-html; # Added 2025-11-05
|
||||
coc-imselect = throw "coc-imselect was removed because it was broken"; # added 2023-08-21
|
||||
inherit (pkgs) coc-java; # Added 2025-11-05
|
||||
inherit (pkgs) coc-jest; # Added 2025-11-05
|
||||
inherit (pkgs) coc-json; # Added 2025-11-05
|
||||
inherit (pkgs) coc-lists; # Added 2025-11-05
|
||||
coc-ltex = throw "'coc-ltex' has been removed because it was unmaintained upstream"; # Added 2025-11-14
|
||||
inherit (pkgs) coc-markdownlint; # Added 2025-11-05
|
||||
coc-metals = throw "coc-metals was removed because it was deprecated upstream. vimPlugins.nvim-metals is its official replacement."; # Added 2024-10-16
|
||||
inherit (pkgs) coc-pairs; # added 2025-11-05
|
||||
inherit (pkgs) coc-prettier; # added 2025-11-05
|
||||
inherit (pkgs) coc-pyright; # added 2024-07-14
|
||||
coc-python = throw "coc-python was removed because it was abandoned upstream on 2020-12-24. Upstream now recommends using coc-pyright or coc-jedi instead."; # added 2024-10-15
|
||||
inherit (pkgs) coc-r-lsp; # added 2025-11-05
|
||||
coc-rls = throw "coc-rls was removed because rls was deprecated in 2022. You should use coc-rust-analyzer instead, as rust-analyzer is maintained."; # added 2025-10-01
|
||||
inherit (pkgs) coc-rust-analyzer; # added 2025-11-05
|
||||
inherit (pkgs) coc-sh; # added 2025-10-02
|
||||
inherit (pkgs) coc-smartf; # Added 2025-11-05
|
||||
inherit (pkgs) coc-snippets; # Added 2025-11-05
|
||||
inherit (pkgs) coc-solargraph; # Added 2025-11-05
|
||||
inherit (pkgs) coc-spell-checker; # added 2025-10-01
|
||||
inherit (pkgs) coc-sqlfluff; # Added 2025-11-05
|
||||
inherit (pkgs) coc-stylelint; # Added 2025-11-05
|
||||
inherit (pkgs) coc-sumneko-lua; # Added 2025-11-05
|
||||
inherit (pkgs) coc-tabnine; # Added 2025-11-05
|
||||
inherit (pkgs) coc-texlab; # Added 2025-11-05
|
||||
inherit (pkgs) coc-toml;
|
||||
coc-tslint = throw "coc-tslint was removed because it was deprecated upstream; coc-eslint offers comparable features for eslint, which replaced tslint"; # Added 2024-10-18
|
||||
coc-tslint-plugin = throw "coc-tslint-plugin was removed because it was deprecated upstream; coc-eslint offers comparable features for eslint, which replaced tslint"; # Added 2024-10-18
|
||||
coc-tsserver = throw "coc-tsserver has been removed because it was unmaintained in nixpkgs"; # Added 2026-02-14
|
||||
coc-ultisnips = throw "'coc-ultisnips' has been removed because it was unmaintained upstream"; # Added 2025-11-14
|
||||
coc-vetur = throw "coc-vetur was removed because vetur was deprecated by Vue in favor of volar. Use coc-volar instead, which supports Vue 3"; # added 2025-10-01
|
||||
inherit (pkgs) coc-vimlsp; # Added 2025-11-05
|
||||
inherit (pkgs) coc-vimtex; # Added 2025-11-05
|
||||
inherit (pkgs) coc-wxml; # Added 2025-11-05
|
||||
inherit (pkgs) coc-yaml; # Added 2025-11-05
|
||||
inherit (pkgs) coc-yank; # Added 2025-11-05
|
||||
inherit (pkgs) code-theme-converter; # Added 2025-11-08
|
||||
coinmon = throw "coinmon was removed since it was abandoned upstream"; # added 2024-03-19
|
||||
coffee-script = pkgs.coffeescript; # added 2023-08-18
|
||||
inherit (pkgs) concurrently; # added 2024-08-05
|
||||
inherit (pkgs) configurable-http-proxy; # added 2023-08-19
|
||||
inherit (pkgs) conventional-changelog-cli; # Added 2025-11-08
|
||||
copy-webpack-plugin = throw "copy-webpack-plugin was removed because it is a JS library, so your project should lock it with a JS package manager instead."; # Added 2024-12-16
|
||||
inherit (pkgs) cordova; # added 2023-08-18
|
||||
cpy-cli = throw "'cpy-cli' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17
|
||||
create-cycle-app = throw "create-cycle-app has been removed because it is unmaintained and has issues installing with recent nodejs versions."; # Added 2025-11-01
|
||||
create-react-native-app = throw "create-react-native-app was removed because it was deprecated. Upstream suggests using a framework for React Native."; # added 2024-12-08
|
||||
inherit (pkgs) cspell;
|
||||
csslint = throw "'csslint' has been removed as upstream considers it abandoned."; # Addeed 2025-11-07
|
||||
dat = throw "dat was removed because it was broken"; # added 2023-08-21
|
||||
inherit (pkgs) degit; # added 2023-08-18
|
||||
dhcp = throw "'dhcp' has been removed because it was unmaintained upstream"; # Added 2025-11-14
|
||||
inherit (pkgs) diagnostic-languageserver; # added 2024-06-25
|
||||
inherit (pkgs) diff2html-cli; # Added 2025-11-08
|
||||
inherit (pkgs) dockerfile-language-server-nodejs; # added 2023-08-18
|
||||
inherit (pkgs) dotenv-cli; # added 2024-06-26
|
||||
dotenv-vault = throw "'dotenv-vault' has been removed because it was unmaintained in nixpkgs"; # Added 2026-02-12
|
||||
eask = pkgs.eask; # added 2023-08-17
|
||||
elasticdump = throw "'elasticdump' has been removed because it was unmaintained in nixpkgs"; # Added 2025-12-26
|
||||
inherit (pkgs.elmPackages) elm-test;
|
||||
inherit (pkgs.elmPackages) elm-review;
|
||||
elm-oracle = throw "'elm-oracle' has been removed, since it doesn't work with modern versions of Elm."; # Added 2025-11-07
|
||||
emoj = throw "'emoj' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17
|
||||
emojione = throw "emojione was archived and abandoned upstream, so it has been removed"; # Added 2025-11-06
|
||||
escape-string-regexp = throw "escape-string-regexp was removed because it provides no executable"; # added 2025-03-12
|
||||
inherit (pkgs) eslint; # Added 2024-08-28
|
||||
inherit (pkgs) eslint_d; # Added 2023-05-26
|
||||
inherit (pkgs) eas-cli; # added 2025-01-08
|
||||
esy = throw "esy was removed because it was unmaintained within nixpkgs"; # Added 2026-02-12
|
||||
expo-cli = throw "expo-cli was removed because it was deprecated upstream. Use `npx expo` or eas-cli instead."; # added 2024-12-02
|
||||
fast-cli = throw "'fast-cli' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17
|
||||
inherit (pkgs) fauna-shell; # Added 2025-11-27
|
||||
inherit (pkgs) firebase-tools; # added 2023-08-18
|
||||
inherit (pkgs) fixjson; # added 2024-06-26
|
||||
fkill-cli = throw "'fkill-cli' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17
|
||||
fleek-cli = throw "'fleek-cli' was removed because the upstream source code repo has been deleted."; # Added 2025-11-07
|
||||
flood = pkgs.flood; # Added 2023-07-25
|
||||
forever = throw "'forever' has been removed because it was unmaintained upstream"; # Added 2025-11-14
|
||||
inherit (pkgs) fx; # Added 2025-11-06
|
||||
ganache = throw "ganache was removed because it was deprecated upstream"; # added 2024-12-02
|
||||
inherit (pkgs) gatsby-cli; # Added 2025-11-05
|
||||
generator-code = throw "generator-code was removed because it provides no executable"; # added 2023-09-24
|
||||
inherit (pkgs) git-run; # added 2024-06-26
|
||||
git-ssb = throw "git-ssb was removed because it was broken"; # added 2023-08-21
|
||||
inherit (pkgs) git-standup; # added 2024-06-26
|
||||
inherit (pkgs) gitmoji-cli; # added 2023-09-23
|
||||
glob = pkgs.node-glob; # added 2023-08-18
|
||||
inherit (pkgs) get-graphql-schema; # added 2024-06-26
|
||||
inherit (pkgs) gqlint; # added 2023-08-19
|
||||
inherit (pkgs) gramma; # added 2024-06-26
|
||||
grammarly-languageserver = throw "grammarly-languageserver was removed because it requires EOL Node.js 16"; # added 2024-07-15
|
||||
inherit (pkgs) graphite-cli; # added 2024-01-25
|
||||
inherit (pkgs) graphql-language-service-cli; # added 2025-03-17
|
||||
inherit (pkgs) graphqurl; # added 2023-08-19
|
||||
inherit (pkgs) grunt-cli; # added 2025-12-29
|
||||
gtop = pkgs.gtop; # added 2023-07-31
|
||||
gulp = self.gulp-cli; # Added 2025-11-04
|
||||
gulp-cli = throw "gulp-cli has been removed because it was unmaintained in nixpkgs"; # Added 2026-02-12
|
||||
he = throw "'he' has been removed because it was unmaintained upstream"; # Added 2025-11-14
|
||||
hs-airdrop = throw "'hs-airdrop' has been removed because it was unmaintained upstream"; # Added 2025-11-14
|
||||
hs-client = pkgs.hsd; # added 2023-08-20
|
||||
inherit (pkgs) hsd; # added 2023-08-19
|
||||
inherit (pkgs) html-minifier; # added 2023-08-19
|
||||
inherit (pkgs) htmlhint; # added 2023-08-19
|
||||
inherit (pkgs) http-server; # added 2024-01-20
|
||||
hueadm = pkgs.hueadm; # added 2023-07-31
|
||||
inherit (pkgs) hyperpotamus; # added 2023-08-19
|
||||
ijavascript = throw "ijavascript has been removed because it was broken"; # added 2025-03-18
|
||||
imapnotify = throw "'imapnotify' has been removed because it was unmaintained upstream"; # Added 2025-11-14
|
||||
immich = pkgs.immich-cli; # added 2023-08-19
|
||||
indium = throw "indium was removed because it was broken"; # added 2023-08-19
|
||||
inliner = throw "inliner was removed because it was abandoned upstream"; # added 2024-08-23
|
||||
inherit (pkgs) intelephense; # added 2024-08-31
|
||||
insect = throw "insect was removed becuase it was deprecated by upstream. Use numbat instead."; # added 2024-12-02
|
||||
ionic = throw "ionic was replaced by @ionic/cli"; # added 2023-08-19
|
||||
inherit (pkgs) jake; # added 2023-08-19
|
||||
inherit (pkgs) javascript-typescript-langserver; # added 2023-08-19
|
||||
inherit (pkgs) js-beautify; # Added 2025-11-06
|
||||
js-yaml = throw "js-yaml was removed because it was unmaintained in nixpkgs"; # Added 2026-02-12
|
||||
inherit (pkgs) jsdoc; # Added 2025-11-29
|
||||
inherit (pkgs) jshint; # Added 2025-11-06
|
||||
json = throw "'json' has been removed because it was unmaintained upstream"; # Added 2025-11-14
|
||||
inherit (pkgs) json-diff; # Added 2025-11-07
|
||||
jsonlint = throw "'jsonlint' has been removed because it is unmaintained upstream"; # Added 2025-11-10
|
||||
inherit (pkgs) jsonplaceholder; # Added 2025-11-04
|
||||
json-refs = throw "'json-refs' has been removed because it is unmaintained and has several known vulnerable dependencies"; # Added 2025-11-10
|
||||
inherit (pkgs) json-server; # Added 2025-11-06
|
||||
joplin = pkgs.joplin-cli; # Added 2025-11-02
|
||||
inherit (pkgs) kaput-cli; # added 2024-12-03
|
||||
karma = pkgs.karma-runner; # added 2023-07-29
|
||||
inherit (pkgs) katex; # Added 2025-11-08
|
||||
keyoxide = pkgs.keyoxide-cli; # Added 2025-10-20
|
||||
lcov-result-merger = throw "'lcov-result-merger' has been removed because it was unmaintained within nixpkgs"; # Added 2025-12-25
|
||||
leetcode-cli = self.vsc-leetcode-cli; # added 2023-08-31
|
||||
inherit (pkgs) lerna; # added 2025-02-12
|
||||
less = pkgs.lessc; # added 2024-06-15
|
||||
less-plugin-clean-css = pkgs.lessc.plugins.clean-css; # added 2024-06-15
|
||||
livedown = throw "'livedown' has been removed because it was unmaintained"; # Added 2025-11-10
|
||||
live-server = throw "'live-server' has been removed because it was unmaintained upstream"; # Added 2025-11-14
|
||||
inherit (pkgs) localtunnel; # Added 2025-11-08
|
||||
lodash = throw "lodash was removed because it provides no executable"; # added 2025-03-18
|
||||
lua-fmt = throw "'lua-fmt' has been removed because it has critical bugs that break formatting"; # Added 2025-11-07
|
||||
inherit (pkgs) lv_font_conv; # added 2024-06-28
|
||||
madoko = throw "'madoko' has been removed because it was unmaintained upstream"; # Added 2025-11-14
|
||||
makam = throw "'makam' has been removed because it is unmaintained upstream"; # Added 2025-11-14
|
||||
manta = pkgs.node-manta; # Added 2023-05-06
|
||||
inherit (pkgs) markdown-link-check; # added 2024-06-28
|
||||
markdownlint-cli = pkgs.markdownlint-cli; # added 2023-07-29
|
||||
inherit (pkgs) markdownlint-cli2; # added 2023-08-22
|
||||
inherit (pkgs) mathjax; # Added 2025-11-28
|
||||
inherit (pkgs) mathjax-node-cli; # added 2023-11-02
|
||||
mastodon-bot = throw "'mastodon-bot' has been removed because it was archived by upstream in 2021."; # Added 2025-11-07
|
||||
mdctl-cli = self."@medable/mdctl-cli"; # added 2023-08-21
|
||||
meat = throw "meat was removed because it was abandoned upstream."; # Added 2025-10-20
|
||||
inherit (pkgs) mermaid-cli; # added 2023-10-01
|
||||
meshcommander = throw "meshcommander was removed because it was abandoned upstream"; # added 2024-12-02
|
||||
inherit (pkgs) mocha; # Added 2025-11-04
|
||||
multi-file-swagger = throw "'multi-file-swagger' has been removed because it is unmaintained upstream"; # Added 2025-11-10
|
||||
musescore-downloader = pkgs.dl-librescore; # added 2023-08-19
|
||||
near-cli = throw "'near-cli' has been removed as upstream has deprecated it and archived the source code repo"; # Added 2025-11-10
|
||||
neovim = pkgs.neovim-node-client; # added 2024-11-13
|
||||
nijs = throw "'nijs' has been removed as it was unmaintained upstream"; # Added 2025-11-14
|
||||
inherit (pkgs) node-gyp-build; # Added 2025-11-27
|
||||
node-inspector = throw "node-inspector was removed because it was broken"; # added 2023-08-21
|
||||
inherit (pkgs) node-gyp; # added 2024-08-13
|
||||
inherit (pkgs) node-pre-gyp; # added 2024-08-05
|
||||
inherit (pkgs) node-red; # added 2024-10-06
|
||||
inherit (pkgs) nodemon; # added 2024-06-28
|
||||
np = throw "'np' has been removed because it was unmaintainable in nixpkgs"; # Added 2025-11-17
|
||||
npm = pkgs.nodejs.overrideAttrs (old: {
|
||||
meta = old.meta // {
|
||||
mainProgram = "npm";
|
||||
};
|
||||
}); # added 2024-10-04
|
||||
inherit (pkgs) npm-check-updates; # added 2023-08-22
|
||||
npm-merge-driver = throw "'npm-merge-driver' has been removed, since the upstream repo was archived on Aug 11, 2021"; # Added 2025-11-07
|
||||
inherit (pkgs) nrm; # Added 2025-11-08
|
||||
ocaml-language-server = throw "ocaml-language-server was removed because it was abandoned upstream"; # added 2023-09-04
|
||||
orval = throw "orval has been removed because it was broken"; # added 2025-03-23
|
||||
parcel = throw "parcel has been removed because it was broken"; # added 2025-03-12
|
||||
parcel-bundler = self.parcel; # added 2023-09-04
|
||||
parsoid = throw "The Javascript version of Parsoid has been deprecated by upstream and no longer works with modern MediaWiki versions"; # Added 2025-11-04
|
||||
inherit (pkgs) patch-package; # added 2024-06-29
|
||||
peerflix = throw "'peerflix' has been removed because it was unmaintained upstream"; # Added 2025-11-14
|
||||
inherit (pkgs) peerflix-server; # Added 2025-11-10
|
||||
pkg = pkgs.vercel-pkg; # added 2023-10-04
|
||||
inherit (pkgs) pm2; # added 2024-01-22
|
||||
inherit (pkgs) pnpm; # added 2024-06-26
|
||||
poor-mans-t-sql-formatter-cli = throw "'poor-mans-t-sql-formatter-cli' has been removed because it was unmaintained upstream"; # Added 2025-11-14
|
||||
inherit (pkgs) postcss; # Added 2025-12-24
|
||||
postcss-cli = throw "postcss-cli has been removed because it was broken"; # added 2025-03-24
|
||||
prebuild-install = throw "prebuild-install was removed because it appeared to be unmaintained upstream. See upstream's recommendations for alternatives here: https://github.com/prebuild/prebuild-install#note"; # Added 2025-12-14
|
||||
inherit (pkgs) prettier; # added 2025-05-31
|
||||
prettier_d_slim = pkgs.prettier-d-slim; # added 2023-09-14
|
||||
prettier-plugin-toml = throw "prettier-plugin-toml was removed because it provides no executable"; # added 2025-03-23
|
||||
inherit (pkgs) prisma; # added 2024-08-31
|
||||
pscid = throw "'pscid' has been removed because it was unmaintained upstream"; # Added 2025-12-07
|
||||
pulp = throw "'pulp' has been removed because it was unmaintained upstream"; # Added 2025-12-07
|
||||
purescript-language-server = throw "'purescript-language-server' has been removed because it was unmaintained within nixpkgs"; # Added 2025-12-12
|
||||
purescript-psa = throw "'purescript-psa' has been removed because it was unmaintained within nixpkgs"; # Added 2025-12-12
|
||||
purs-tidy = throw "'purs-tidy' has been removed because it was unmaintained within nixpkgs"; # Added 2025-12-12
|
||||
purty = throw "'purty' has been remved because it was unmaintained upstream"; # Added 2025-11-14
|
||||
inherit (pkgs) pxder; # added 2023-09-26
|
||||
inherit (pkgs) quicktype; # added 2023-09-09
|
||||
react-native-cli = throw "react-native-cli was removed because it was deprecated"; # added 2023-09-25
|
||||
react-static = throw "'react-static has been removed because of a lack of upstream maintainance"; # Converted to throw 2025-11-04
|
||||
react-tools = throw "react-tools was removed because it was deprecated"; # added 2023-09-25
|
||||
readability-cli = pkgs.readability-cli; # Added 2023-06-12
|
||||
inherit (pkgs) redoc-cli; # added 2023-09-12
|
||||
remod-cli = pkgs.remod; # added 2024-12-04
|
||||
"reveal.js" = throw "reveal.js was removed because it provides no executable"; # added 2025-03-23
|
||||
reveal-md = pkgs.reveal-md; # added 2023-07-31
|
||||
rimraf = throw "rimraf was removed because it is a library, and your project should lock it instead."; # added 2025-05-28
|
||||
rollup = throw "rollup has been removed because it was broken"; # added 2025-04-28
|
||||
inherit (pkgs) rtlcss; # added 2023-08-29
|
||||
s3http = throw "s3http was removed because it was abandoned upstream"; # added 2023-08-18
|
||||
sass = throw "sass has been removed because it was unmaintained in nixpkgs"; # Added 2026-03-01
|
||||
inherit (pkgs) serve; # added 2025-08-27
|
||||
inherit (pkgs) serverless; # Added 2023-11-29
|
||||
shout = throw "shout was removed because it was deprecated upstream in favor of thelounge."; # Added 2024-10-19
|
||||
inherit (pkgs) sloc; # Added 2025-11-28
|
||||
smartdc = throw "'smartdc' was removed because it was unmaintained upstream"; # Added 2025-11-14
|
||||
inherit (pkgs) snyk; # Added 2023-08-30
|
||||
"socket.io" = throw "socket.io was removed because it provides no executable"; # added 2025-03-23
|
||||
speed-test = throw "'speed-test' has been removed because it was broken"; # Added 2025-11-07
|
||||
inherit (pkgs) sql-formatter; # added 2024-06-29
|
||||
"@squoosh/cli" = throw "@squoosh/cli was removed because it was abandoned upstream"; # added 2023-09-02
|
||||
ssb-server = throw "ssb-server was removed because it was broken"; # added 2023-08-21
|
||||
stackdriver-statsd-backend = throw "stackdriver-statsd-backend was removed because Stackdriver is now discontinued"; # added 2024-12-02
|
||||
stf = throw "stf was removed because it was broken"; # added 2023-08-21
|
||||
inherit (pkgs) stylelint; # added 2023-09-13
|
||||
surge = pkgs.surge-cli; # Added 2023-09-08
|
||||
inherit (pkgs) svelte-check; # Added 2025-11-10
|
||||
inherit (pkgs) svelte-language-server; # Added 2024-05-12
|
||||
inherit (pkgs) svgo; # added 2025-08-24
|
||||
swagger = throw "swagger was removed because it was broken and abandoned upstream"; # added 2023-09-09
|
||||
inherit (pkgs) tailwindcss; # added 2024-12-04
|
||||
teck-programmer = throw "teck-programmer was removed because it was broken and unmaintained"; # added 2024-08-23
|
||||
tedicross = throw "tedicross was removed because it was broken"; # added 2023-09-09
|
||||
tern = throw "'tern' was removed because it has been unmaintained upstream for several years"; # Added 2025-11-07
|
||||
inherit (pkgs) terser; # Added 2023-08-31
|
||||
inherit (pkgs) textlint; # Added 2024-05-13
|
||||
textlint-plugin-latex = throw "textlint-plugin-latex was removed because it is unmaintained for years. Please use textlint-plugin-latex2e instead."; # Added 2024-05-17
|
||||
inherit (pkgs) textlint-rule-abbr-within-parentheses; # Added 2024-05-17
|
||||
inherit (pkgs) textlint-rule-alex; # Added 2024-05-16
|
||||
inherit (pkgs) textlint-rule-common-misspellings; # Added 2024-05-25
|
||||
inherit (pkgs) textlint-rule-diacritics; # Added 2024-05-16
|
||||
inherit (pkgs) textlint-rule-en-max-word-count; # Added 2024-05-17
|
||||
inherit (pkgs) textlint-rule-max-comma; # Added 2024-05-15
|
||||
inherit (pkgs) textlint-rule-no-start-duplicated-conjunction; # Added 2024-05-17
|
||||
inherit (pkgs) textlint-rule-period-in-list-item; # Added 2024-05-17
|
||||
inherit (pkgs) textlint-rule-stop-words; # Added 2024-05-17
|
||||
inherit (pkgs) textlint-rule-terminology; # Added 2024-05-17
|
||||
inherit (pkgs) textlint-rule-unexpanded-acronym; # Added 2024-05-17
|
||||
inherit (pkgs) textlint-rule-write-good; # Added 2024-05-16
|
||||
thelounge = pkgs.thelounge; # Added 2023-05-22
|
||||
thelounge-plugin-closepms = throw "thelounge-plugin-closepms has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-plugin-giphy = throw "thelounge-plugin-giphy has been removed because thelounge moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-plugin-shortcuts = throw "thelounge-plugin-shortcuts has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-abyss = throw "thelounge-theme-abyss has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-amoled = throw "thelounge-theme-amoled has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-amoled-sourcecodepro = throw "thelounge-theme-amoled-sourcecodepro has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-bdefault = throw "thelounge-theme-bdefault has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-bmorning = throw "thelounge-theme-bmorning has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-chord = throw "thelounge-theme-chord has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-classic = throw "thelounge-theme-classic has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-common = throw "thelounge-theme-common has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-crypto = throw "thelounge-theme-crypto has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-discordapp = throw "thelounge-theme-discordapp has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-dracula = throw "thelounge-theme-dracula has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-dracula-official = throw "thelounge-theme-dracula-official has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-flat-blue = throw "thelounge-theme-flat-blue has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-flat-dark = throw "thelounge-theme-flat-dark has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-gruvbox = throw "thelounge-theme-gruvbox has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-hexified = throw "thelounge-theme-hexified has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-ion = throw "thelounge-theme-ion has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-light = throw "thelounge-theme-light has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-midnight = throw "thelounge-theme-midnight has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-mininapse = throw "thelounge-theme-mininapse has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-monokai-console = throw "thelounge-theme-monokai-console has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-mortified = throw "thelounge-theme-mortified has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-neuron-fork = throw "thelounge-theme-neuron-fork has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-new-morning = throw "thelounge-theme-new-morning has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-new-morning-compact = throw "thelounge-theme-new-morning-compact has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-nologo = throw "thelounge-theme-nologo has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-nord = throw "thelounge-theme-nord has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-onedark = throw "thelounge-theme-onedark has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-purplenight = throw "thelounge-theme-purplenight has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-scoutlink = throw "thelounge-theme-scoutlink has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-seraphimrp = throw "thelounge-theme-seraphimrp has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-solarized = throw "thelounge-theme-solarized has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-solarized-fork-monospace = throw "thelounge-theme-solarized-fork-monospace has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-zenburn = throw "thelounge-theme-zenburn has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-zenburn-monospace = throw "thelounge-theme-zenburn-monospace has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
thelounge-theme-zenburn-sourcecodepro = throw "thelounge-theme-zenburn-sourcecodepro has been removed because thelounge was moved out of nodePackages"; # added 2025-03-12
|
||||
three = throw "three was removed because it was no longer needed"; # Added 2023-09-08
|
||||
inherit (pkgs) tiddlywiki; # Added 2025-11-10
|
||||
triton = pkgs.triton; # Added 2023-05-06
|
||||
ts-node = throw "'ts-node' was removed because it is unmaintained, and since NodeJS 22.6.0+, experimental TypeScript support is built-in to NodeJS."; # Added 2025-11-07
|
||||
tsun = throw "'tsun' has been removed because it was unmaintained upstream"; # Added 2025-11-14
|
||||
ttf2eot = throw "'ttf2eot' has been removed because it was unmaintained upstream"; # Added 2025-11-14
|
||||
typescript = pkgs.typescript; # Added 2023-06-21
|
||||
inherit (pkgs) typescript-language-server; # added 2024-02-27
|
||||
inherit (pkgs) uglify-js; # added 2024-06-15
|
||||
inherit (pkgs) undollar; # added 2024-06-29
|
||||
inherit (pkgs) ungit; # added 2023-08-20
|
||||
unified-language-server = throw "unified-language-server was removed as it is a library that should be imported within a Javascript project, not an end-user tool"; # added 2025-10-02
|
||||
inherit (pkgs) uppy-companion; # Added 2025-11-01
|
||||
inherit (pkgs) vega-cli; # Added 2025-12-18
|
||||
inherit (pkgs) vega-lite; # Added 2025-11-04
|
||||
vercel = throw "vercel has been removed because it was unmaintained in nixpkgs"; # Added 2026-02-12
|
||||
inherit (pkgs) vim-language-server; # added 2024-06-25
|
||||
vls = throw "vls has been deprecated by upstream as vetur is also deprecated. Upstream suggests migrating to Volar for Vue LSP tooling instead."; # added 2024-12-09
|
||||
inherit (pkgs) vsc-leetcode-cli; # Added 2023-08-30
|
||||
vscode-css-languageserver-bin = throw "vscode-css-languageserver-bin has been removed since the upstream repository is archived; consider using vscode-langservers-extracted instead."; # added 2024-06-26
|
||||
vscode-html-languageserver-bin = throw "vscode-html-languageserver-bin has been removed since the upstream repository is archived; consider using vscode-langservers-extracted instead."; # added 2024-06-26
|
||||
inherit (pkgs) vscode-json-languageserver; # added 2025-06-19
|
||||
vscode-json-languageserver-bin = throw "vscode-json-languageserver-bin has been removed since the upstream repository is archived; consider using vscode-langservers-extracted instead."; # added 2024-06-26
|
||||
vscode-langservers-extracted = pkgs.vscode-langservers-extracted; # Added 2023-05-27
|
||||
vue-language-server = self.vls; # added 2023-08-20
|
||||
vue-cli = throw "vue-cli has been removed since upstream no longer recommends using it; consider using create-vue and the new Vite-based tooling instead."; # added 2024-07-12
|
||||
wavedrom-cli = throw "wavedrom-cli has been removed because it was unmaintained within nixpkgs"; # Added 2026-01-20
|
||||
inherit (pkgs) web-ext; # added 2023-08-20
|
||||
webpack = throw "'webpack' has been removed because it is a library that should be imported within a Javascript project, not an end-user tool."; # Added 2025-11-04
|
||||
inherit (pkgs) webpack-cli; # added 2024-12-03
|
||||
webpack-dev-server = throw "webpack-dev-server has been removed. You should install it in your JS project instead."; # added 2024-12-05
|
||||
webtorrent-cli = throw "webtorrent-cli has been removed because it was broken"; # added 2025-03-12
|
||||
inherit (pkgs) wrangler; # added 2024-07-01
|
||||
wring = throw "'wring' has been removed since it has been abandoned upstream"; # Added 2025-11-07
|
||||
inherit (pkgs) write-good; # added 2023-08-20
|
||||
inherit (pkgs) yalc; # added 2024-06-29
|
||||
inherit (pkgs) yaml-language-server; # added 2023-09-05
|
||||
inherit (pkgs) yarn; # added 2024-08-13
|
||||
inherit (pkgs) yo; # added 2023-08-20
|
||||
zx = pkgs.zx; # added 2023-08-01
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
# This file has been generated by node2nix 1.11.1. Do not edit!
|
||||
|
||||
{
|
||||
pkgs ? import <nixpkgs> {
|
||||
inherit system;
|
||||
},
|
||||
system ? builtins.currentSystem,
|
||||
nodejs ? pkgs."nodejs_22",
|
||||
}:
|
||||
|
||||
let
|
||||
nodeEnv = import ./node-env.nix {
|
||||
inherit (pkgs)
|
||||
stdenv
|
||||
lib
|
||||
runCommand
|
||||
writeTextFile
|
||||
writeShellScript
|
||||
;
|
||||
inherit pkgs nodejs;
|
||||
libtool = if pkgs.stdenv.hostPlatform.isDarwin then pkgs.cctools or pkgs.darwin.cctools else null;
|
||||
};
|
||||
in
|
||||
import ./node-packages.nix {
|
||||
inherit (pkgs)
|
||||
fetchurl
|
||||
nix-gitignore
|
||||
stdenv
|
||||
lib
|
||||
fetchgit
|
||||
;
|
||||
inherit nodeEnv;
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
nodejs,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
composeManyExtensions
|
||||
extends
|
||||
makeExtensible
|
||||
;
|
||||
|
||||
nodePackages =
|
||||
final:
|
||||
import ./composition.nix {
|
||||
inherit pkgs nodejs;
|
||||
inherit (stdenv.hostPlatform) system;
|
||||
};
|
||||
|
||||
aliases =
|
||||
final: prev: lib.optionalAttrs config.allowAliases (import ./aliases.nix pkgs lib final prev);
|
||||
|
||||
extensions = composeManyExtensions [
|
||||
aliases
|
||||
(import ./overrides.nix { inherit pkgs nodejs; })
|
||||
];
|
||||
in
|
||||
makeExtensible (extends extensions nodePackages)
|
||||
@@ -1,23 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
cd "$( dirname "${BASH_SOURCE[0]}" )"
|
||||
|
||||
node2nix=$(nix-build ../../.. -A nodePackages.node2nix)
|
||||
|
||||
rm -f ./node-env.nix
|
||||
|
||||
# Track the latest active nodejs LTS here: https://nodejs.org/en/about/releases/
|
||||
"${node2nix}/bin/node2nix" \
|
||||
-i node-packages.json \
|
||||
-o node-packages.nix \
|
||||
-c composition.nix \
|
||||
--pkg-name nodejs_22
|
||||
|
||||
# using --no-out-link in nix-build argument would cause the
|
||||
# gc to run before the script finishes
|
||||
# which would cause a failure
|
||||
# it's safer to just remove the link after the script finishes
|
||||
# see https://github.com/NixOS/nixpkgs/issues/112846 for more details
|
||||
rm ./result
|
||||
@@ -1,798 +0,0 @@
|
||||
# This file originates from node2nix
|
||||
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
nodejs,
|
||||
pkgs,
|
||||
libtool,
|
||||
runCommand,
|
||||
writeTextFile,
|
||||
writeShellScript,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (nodejs) python;
|
||||
|
||||
# Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
|
||||
tarWrapper = runCommand "tarWrapper" { } ''
|
||||
mkdir -p $out/bin
|
||||
|
||||
cat > $out/bin/tar <<EOF
|
||||
#! ${stdenv.shell} -e
|
||||
$(type -p tar) "\$@" --warning=no-unknown-keyword --delay-directory-restore
|
||||
EOF
|
||||
|
||||
chmod +x $out/bin/tar
|
||||
'';
|
||||
|
||||
# Function that generates a TGZ file from a NPM project
|
||||
buildNodeSourceDist =
|
||||
{
|
||||
name,
|
||||
version,
|
||||
src,
|
||||
...
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "node-tarball-${name}-${version}";
|
||||
inherit src;
|
||||
buildInputs = [ nodejs ];
|
||||
buildPhase = ''
|
||||
export HOME=$TMPDIR
|
||||
tgzFile=$(npm pack | tail -n 1) # Hooks to the pack command will add output (https://docs.npmjs.com/misc/scripts)
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir -p $out/tarballs
|
||||
mv $tgzFile $out/tarballs
|
||||
mkdir -p $out/nix-support
|
||||
echo "file source-dist $out/tarballs/$tgzFile" >> $out/nix-support/hydra-build-products
|
||||
'';
|
||||
};
|
||||
|
||||
# Common shell logic
|
||||
installPackage = writeShellScript "install-package" ''
|
||||
installPackage() {
|
||||
local packageName=$1 src=$2
|
||||
|
||||
local strippedName
|
||||
|
||||
local DIR=$PWD
|
||||
cd $TMPDIR
|
||||
|
||||
unpackFile $src
|
||||
|
||||
# Make the base dir in which the target dependency resides first
|
||||
mkdir -p "$(dirname "$DIR/$packageName")"
|
||||
|
||||
if [ -f "$src" ]
|
||||
then
|
||||
# Figure out what directory has been unpacked
|
||||
packageDir="$(find . -maxdepth 1 -type d | tail -1)"
|
||||
|
||||
# Restore write permissions to make building work
|
||||
find "$packageDir" -type d -exec chmod u+x {} \;
|
||||
chmod -R u+w "$packageDir"
|
||||
|
||||
# Move the extracted tarball into the output folder
|
||||
mv "$packageDir" "$DIR/$packageName"
|
||||
elif [ -d "$src" ]
|
||||
then
|
||||
# Get a stripped name (without hash) of the source directory.
|
||||
# On old nixpkgs it's already set internally.
|
||||
if [ -z "$strippedName" ]
|
||||
then
|
||||
strippedName="$(stripHash $src)"
|
||||
fi
|
||||
|
||||
# Restore write permissions to make building work
|
||||
chmod -R u+w "$strippedName"
|
||||
|
||||
# Move the extracted directory into the output folder
|
||||
mv "$strippedName" "$DIR/$packageName"
|
||||
fi
|
||||
|
||||
# Change to the package directory to install dependencies
|
||||
cd "$DIR/$packageName"
|
||||
}
|
||||
'';
|
||||
|
||||
# Bundle the dependencies of the package
|
||||
#
|
||||
# Only include dependencies if they don't exist. They may also be bundled in the package.
|
||||
includeDependencies =
|
||||
{ dependencies }:
|
||||
lib.optionalString (dependencies != [ ]) (
|
||||
''
|
||||
mkdir -p node_modules
|
||||
cd node_modules
|
||||
''
|
||||
+ (lib.concatMapStrings (dependency: ''
|
||||
if [ ! -e "${dependency.packageName}" ]; then
|
||||
${composePackage dependency}
|
||||
fi
|
||||
'') dependencies)
|
||||
+ ''
|
||||
cd ..
|
||||
''
|
||||
);
|
||||
|
||||
# Recursively composes the dependencies of a package
|
||||
composePackage =
|
||||
{
|
||||
name,
|
||||
packageName,
|
||||
src,
|
||||
dependencies ? [ ],
|
||||
...
|
||||
}@args:
|
||||
builtins.addErrorContext "while evaluating node package '${packageName}'" ''
|
||||
installPackage "${packageName}" "${src}"
|
||||
${includeDependencies { inherit dependencies; }}
|
||||
cd ..
|
||||
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
|
||||
'';
|
||||
|
||||
pinpointDependencies =
|
||||
{ dependencies, production }:
|
||||
let
|
||||
pinpointDependenciesFromPackageJSON = writeTextFile {
|
||||
name = "pinpointDependencies.js";
|
||||
text = ''
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
|
||||
function resolveDependencyVersion(location, name) {
|
||||
if(location == process.env['NIX_STORE']) {
|
||||
return null;
|
||||
} else {
|
||||
var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
|
||||
|
||||
if(fs.existsSync(dependencyPackageJSON)) {
|
||||
var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
|
||||
|
||||
if(dependencyPackageObj.name == name) {
|
||||
return dependencyPackageObj.version;
|
||||
}
|
||||
} else {
|
||||
return resolveDependencyVersion(path.resolve(location, ".."), name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function replaceDependencies(dependencies) {
|
||||
if(typeof dependencies == "object" && dependencies !== null) {
|
||||
for(var dependency in dependencies) {
|
||||
var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
|
||||
|
||||
if(resolvedVersion === null) {
|
||||
process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
|
||||
} else {
|
||||
dependencies[dependency] = resolvedVersion;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Read the package.json configuration */
|
||||
var packageObj = JSON.parse(fs.readFileSync('./package.json'));
|
||||
|
||||
/* Pinpoint all dependencies */
|
||||
replaceDependencies(packageObj.dependencies);
|
||||
if(process.argv[2] == "development") {
|
||||
replaceDependencies(packageObj.devDependencies);
|
||||
}
|
||||
else {
|
||||
packageObj.devDependencies = {};
|
||||
}
|
||||
replaceDependencies(packageObj.optionalDependencies);
|
||||
replaceDependencies(packageObj.peerDependencies);
|
||||
|
||||
/* Write the fixed package.json file */
|
||||
fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
|
||||
'';
|
||||
};
|
||||
in
|
||||
''
|
||||
node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
|
||||
|
||||
${lib.optionalString (dependencies != [ ]) ''
|
||||
if [ -d node_modules ]
|
||||
then
|
||||
cd node_modules
|
||||
${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
|
||||
cd ..
|
||||
fi
|
||||
''}
|
||||
'';
|
||||
|
||||
# Recursively traverses all dependencies of a package and pinpoints all
|
||||
# dependencies in the package.json file to the versions that are actually
|
||||
# being used.
|
||||
|
||||
pinpointDependenciesOfPackage =
|
||||
{
|
||||
packageName,
|
||||
dependencies ? [ ],
|
||||
production ? true,
|
||||
...
|
||||
}@args:
|
||||
''
|
||||
if [ -d "${packageName}" ]
|
||||
then
|
||||
cd "${packageName}"
|
||||
${pinpointDependencies { inherit dependencies production; }}
|
||||
cd ..
|
||||
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
|
||||
fi
|
||||
'';
|
||||
|
||||
# Extract the Node.js source code which is used to compile packages with
|
||||
# native bindings
|
||||
nodeSources = runCommand "node-sources" { } ''
|
||||
tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
|
||||
mv node-* $out
|
||||
'';
|
||||
|
||||
# Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty)
|
||||
addIntegrityFieldsScript = writeTextFile {
|
||||
name = "addintegrityfields.js";
|
||||
text = ''
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
|
||||
function augmentDependencies(baseDir, dependencies) {
|
||||
for(var dependencyName in dependencies) {
|
||||
var dependency = dependencies[dependencyName];
|
||||
|
||||
// Open package.json and augment metadata fields
|
||||
var packageJSONDir = path.join(baseDir, "node_modules", dependencyName);
|
||||
var packageJSONPath = path.join(packageJSONDir, "package.json");
|
||||
|
||||
if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored
|
||||
console.log("Adding metadata fields to: "+packageJSONPath);
|
||||
var packageObj = JSON.parse(fs.readFileSync(packageJSONPath));
|
||||
|
||||
if(dependency.integrity) {
|
||||
packageObj["_integrity"] = dependency.integrity;
|
||||
} else {
|
||||
packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads.
|
||||
}
|
||||
|
||||
if(dependency.resolved) {
|
||||
packageObj["_resolved"] = dependency.resolved; // Adopt the resolved property if one has been provided
|
||||
} else {
|
||||
packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories.
|
||||
}
|
||||
|
||||
if(dependency.from !== undefined) { // Adopt from property if one has been provided
|
||||
packageObj["_from"] = dependency.from;
|
||||
}
|
||||
|
||||
fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2));
|
||||
}
|
||||
|
||||
// Augment transitive dependencies
|
||||
if(dependency.dependencies !== undefined) {
|
||||
augmentDependencies(packageJSONDir, dependency.dependencies);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(fs.existsSync("./package-lock.json")) {
|
||||
var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
|
||||
|
||||
if(![1, 2].includes(packageLock.lockfileVersion)) {
|
||||
process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
if(packageLock.dependencies !== undefined) {
|
||||
augmentDependencies(".", packageLock.dependencies);
|
||||
}
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
# Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes
|
||||
reconstructPackageLock = writeTextFile {
|
||||
name = "reconstructpackagelock.js";
|
||||
text = ''
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
|
||||
var packageObj = JSON.parse(fs.readFileSync("package.json"));
|
||||
|
||||
var lockObj = {
|
||||
name: packageObj.name,
|
||||
version: packageObj.version,
|
||||
lockfileVersion: 2,
|
||||
requires: true,
|
||||
packages: {
|
||||
"": {
|
||||
name: packageObj.name,
|
||||
version: packageObj.version,
|
||||
license: packageObj.license,
|
||||
bin: packageObj.bin,
|
||||
dependencies: packageObj.dependencies,
|
||||
engines: packageObj.engines,
|
||||
optionalDependencies: packageObj.optionalDependencies
|
||||
}
|
||||
},
|
||||
dependencies: {}
|
||||
};
|
||||
|
||||
function augmentPackageJSON(filePath, packages, dependencies) {
|
||||
var packageJSON = path.join(filePath, "package.json");
|
||||
if(fs.existsSync(packageJSON)) {
|
||||
var packageObj = JSON.parse(fs.readFileSync(packageJSON));
|
||||
packages[filePath] = {
|
||||
version: packageObj.version,
|
||||
integrity: "sha1-000000000000000000000000000=",
|
||||
dependencies: packageObj.dependencies,
|
||||
engines: packageObj.engines,
|
||||
optionalDependencies: packageObj.optionalDependencies
|
||||
};
|
||||
dependencies[packageObj.name] = {
|
||||
version: packageObj.version,
|
||||
integrity: "sha1-000000000000000000000000000=",
|
||||
dependencies: {}
|
||||
};
|
||||
processDependencies(path.join(filePath, "node_modules"), packages, dependencies[packageObj.name].dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
function processDependencies(dir, packages, dependencies) {
|
||||
if(fs.existsSync(dir)) {
|
||||
var files = fs.readdirSync(dir);
|
||||
|
||||
files.forEach(function(entry) {
|
||||
var filePath = path.join(dir, entry);
|
||||
var stats = fs.statSync(filePath);
|
||||
|
||||
if(stats.isDirectory()) {
|
||||
if(entry.substr(0, 1) == "@") {
|
||||
// When we encounter a namespace folder, augment all packages belonging to the scope
|
||||
var pkgFiles = fs.readdirSync(filePath);
|
||||
|
||||
pkgFiles.forEach(function(entry) {
|
||||
if(stats.isDirectory()) {
|
||||
var pkgFilePath = path.join(filePath, entry);
|
||||
augmentPackageJSON(pkgFilePath, packages, dependencies);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
augmentPackageJSON(filePath, packages, dependencies);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
processDependencies("node_modules", lockObj.packages, lockObj.dependencies);
|
||||
|
||||
fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2));
|
||||
'';
|
||||
};
|
||||
|
||||
# Script that links bins defined in package.json to the node_modules bin directory
|
||||
# NPM does not do this for top-level packages itself anymore as of v7
|
||||
linkBinsScript = writeTextFile {
|
||||
name = "linkbins.js";
|
||||
text = ''
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
|
||||
var packageObj = JSON.parse(fs.readFileSync("package.json"));
|
||||
|
||||
var nodeModules = Array(packageObj.name.split("/").length).fill("..").join(path.sep);
|
||||
|
||||
if(packageObj.bin !== undefined) {
|
||||
fs.mkdirSync(path.join(nodeModules, ".bin"))
|
||||
|
||||
if(typeof packageObj.bin == "object") {
|
||||
Object.keys(packageObj.bin).forEach(function(exe) {
|
||||
if(fs.existsSync(packageObj.bin[exe])) {
|
||||
console.log("linking bin '" + exe + "'");
|
||||
fs.symlinkSync(
|
||||
path.join("..", packageObj.name, packageObj.bin[exe]),
|
||||
path.join(nodeModules, ".bin", exe)
|
||||
);
|
||||
}
|
||||
else {
|
||||
console.log("skipping non-existent bin '" + exe + "'");
|
||||
}
|
||||
})
|
||||
}
|
||||
else {
|
||||
if(fs.existsSync(packageObj.bin)) {
|
||||
console.log("linking bin '" + packageObj.bin + "'");
|
||||
fs.symlinkSync(
|
||||
path.join("..", packageObj.name, packageObj.bin),
|
||||
path.join(nodeModules, ".bin", packageObj.name.split("/").pop())
|
||||
);
|
||||
}
|
||||
else {
|
||||
console.log("skipping non-existent bin '" + packageObj.bin + "'");
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(packageObj.directories !== undefined && packageObj.directories.bin !== undefined) {
|
||||
fs.mkdirSync(path.join(nodeModules, ".bin"))
|
||||
|
||||
fs.readdirSync(packageObj.directories.bin).forEach(function(exe) {
|
||||
if(fs.existsSync(path.join(packageObj.directories.bin, exe))) {
|
||||
console.log("linking bin '" + exe + "'");
|
||||
fs.symlinkSync(
|
||||
path.join("..", packageObj.name, packageObj.directories.bin, exe),
|
||||
path.join(nodeModules, ".bin", exe)
|
||||
);
|
||||
}
|
||||
else {
|
||||
console.log("skipping non-existent bin '" + exe + "'");
|
||||
}
|
||||
})
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
prepareAndInvokeNPM =
|
||||
{
|
||||
packageName,
|
||||
bypassCache,
|
||||
reconstructLock,
|
||||
npmFlags,
|
||||
production,
|
||||
}:
|
||||
let
|
||||
forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
|
||||
in
|
||||
''
|
||||
# Pinpoint the versions of all dependencies to the ones that are actually being used
|
||||
echo "pinpointing versions of dependencies..."
|
||||
source $pinpointDependenciesScriptPath
|
||||
|
||||
# Patch the shebangs of the bundled modules to prevent them from
|
||||
# calling executables outside the Nix store as much as possible
|
||||
patchShebangs .
|
||||
|
||||
# Deploy the Node.js package by running npm install. Since the
|
||||
# dependencies have been provided already by ourselves, it should not
|
||||
# attempt to install them again, which is good, because we want to make
|
||||
# it Nix's responsibility. If it needs to install any dependencies
|
||||
# anyway (e.g. because the dependency parameters are
|
||||
# incomplete/incorrect), it fails.
|
||||
#
|
||||
# The other responsibilities of NPM are kept -- version checks, build
|
||||
# steps, postprocessing etc.
|
||||
|
||||
export HOME=$TMPDIR
|
||||
cd "${packageName}"
|
||||
runHook preRebuild
|
||||
|
||||
${lib.optionalString bypassCache ''
|
||||
${lib.optionalString reconstructLock ''
|
||||
if [ -f package-lock.json ]
|
||||
then
|
||||
echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!"
|
||||
echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!"
|
||||
rm package-lock.json
|
||||
else
|
||||
echo "No package-lock.json file found, reconstructing..."
|
||||
fi
|
||||
|
||||
node ${reconstructPackageLock}
|
||||
''}
|
||||
|
||||
node ${addIntegrityFieldsScript}
|
||||
''}
|
||||
|
||||
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild
|
||||
|
||||
runHook postRebuild
|
||||
|
||||
if [ "''${dontNpmInstall-}" != "1" ]
|
||||
then
|
||||
# NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
|
||||
rm -f npm-shrinkwrap.json
|
||||
|
||||
npm ${forceOfflineFlag} --nodedir=${nodeSources} --no-bin-links --ignore-scripts ${npmFlags} ${lib.optionalString production "--production"} install
|
||||
fi
|
||||
|
||||
# Link executables defined in package.json
|
||||
node ${linkBinsScript}
|
||||
'';
|
||||
|
||||
# Builds and composes an NPM package including all its dependencies
|
||||
buildNodePackage =
|
||||
{
|
||||
name,
|
||||
packageName,
|
||||
version ? null,
|
||||
dependencies ? [ ],
|
||||
buildInputs ? [ ],
|
||||
production ? true,
|
||||
npmFlags ? "",
|
||||
dontNpmInstall ? false,
|
||||
bypassCache ? false,
|
||||
reconstructLock ? false,
|
||||
preRebuild ? "",
|
||||
dontStrip ? true,
|
||||
unpackPhase ? "true",
|
||||
buildPhase ? "true",
|
||||
meta ? { },
|
||||
...
|
||||
}@args:
|
||||
|
||||
let
|
||||
extraArgs = removeAttrs args [
|
||||
"name"
|
||||
"dependencies"
|
||||
"buildInputs"
|
||||
"dontStrip"
|
||||
"dontNpmInstall"
|
||||
"preRebuild"
|
||||
"unpackPhase"
|
||||
"buildPhase"
|
||||
"meta"
|
||||
];
|
||||
in
|
||||
stdenv.mkDerivation (
|
||||
{
|
||||
pname = name;
|
||||
|
||||
buildInputs = [
|
||||
tarWrapper
|
||||
python
|
||||
nodejs
|
||||
]
|
||||
++ lib.optional (stdenv.hostPlatform.isLinux) pkgs.util-linux
|
||||
++ lib.optional (stdenv.hostPlatform.isDarwin) libtool
|
||||
++ buildInputs;
|
||||
|
||||
inherit nodejs;
|
||||
|
||||
inherit dontStrip; # Stripping may fail a build for some package deployments
|
||||
inherit
|
||||
dontNpmInstall
|
||||
preRebuild
|
||||
unpackPhase
|
||||
buildPhase
|
||||
;
|
||||
|
||||
compositionScript = composePackage args;
|
||||
pinpointDependenciesScript = pinpointDependenciesOfPackage args;
|
||||
|
||||
passAsFile = [
|
||||
"compositionScript"
|
||||
"pinpointDependenciesScript"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
source ${installPackage}
|
||||
|
||||
# Create and enter a root node_modules/ folder
|
||||
mkdir -p $out/lib/node_modules
|
||||
cd $out/lib/node_modules
|
||||
|
||||
# Compose the package and all its dependencies
|
||||
source $compositionScriptPath
|
||||
|
||||
${prepareAndInvokeNPM {
|
||||
inherit
|
||||
packageName
|
||||
bypassCache
|
||||
reconstructLock
|
||||
npmFlags
|
||||
production
|
||||
;
|
||||
}}
|
||||
|
||||
# Create symlink to the deployed executable folder, if applicable
|
||||
if [ -d "$out/lib/node_modules/.bin" ]
|
||||
then
|
||||
ln -s $out/lib/node_modules/.bin $out/bin
|
||||
|
||||
# Fixup all executables
|
||||
ls $out/bin/* | while read i
|
||||
do
|
||||
file="$(readlink -f "$i")"
|
||||
chmod u+rwx "$file"
|
||||
if isScript "$file"
|
||||
then
|
||||
sed -i 's/\r$//' "$file" # convert crlf to lf
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# Create symlinks to the deployed manual page folders, if applicable
|
||||
if [ -d "$out/lib/node_modules/${packageName}/man" ]
|
||||
then
|
||||
mkdir -p $out/share
|
||||
for dir in "$out/lib/node_modules/${packageName}/man/"*
|
||||
do
|
||||
mkdir -p $out/share/man/$(basename "$dir")
|
||||
for page in "$dir"/*
|
||||
do
|
||||
ln -s $page $out/share/man/$(basename "$dir")
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
# Run post install hook, if provided
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
# default to Node.js' platforms
|
||||
platforms = nodejs.meta.platforms;
|
||||
}
|
||||
// meta;
|
||||
}
|
||||
// extraArgs
|
||||
);
|
||||
|
||||
# Builds a node environment (a node_modules folder and a set of binaries)
|
||||
buildNodeDependencies =
|
||||
{
|
||||
name,
|
||||
packageName,
|
||||
version ? null,
|
||||
src,
|
||||
dependencies ? [ ],
|
||||
buildInputs ? [ ],
|
||||
production ? true,
|
||||
npmFlags ? "",
|
||||
dontNpmInstall ? false,
|
||||
bypassCache ? false,
|
||||
reconstructLock ? false,
|
||||
dontStrip ? true,
|
||||
unpackPhase ? "true",
|
||||
buildPhase ? "true",
|
||||
...
|
||||
}@args:
|
||||
|
||||
let
|
||||
extraArgs = removeAttrs args [
|
||||
"name"
|
||||
"dependencies"
|
||||
"buildInputs"
|
||||
];
|
||||
in
|
||||
stdenv.mkDerivation (
|
||||
{
|
||||
name = "node-dependencies-${name}${if version == null then "" else "-${version}"}";
|
||||
|
||||
buildInputs = [
|
||||
tarWrapper
|
||||
python
|
||||
nodejs
|
||||
]
|
||||
++ lib.optional (stdenv.hostPlatform.isLinux) pkgs.util-linux
|
||||
++ lib.optional (stdenv.hostPlatform.isDarwin) libtool
|
||||
++ buildInputs;
|
||||
|
||||
inherit dontStrip; # Stripping may fail a build for some package deployments
|
||||
inherit dontNpmInstall unpackPhase buildPhase;
|
||||
|
||||
includeScript = includeDependencies { inherit dependencies; };
|
||||
pinpointDependenciesScript = pinpointDependenciesOfPackage args;
|
||||
|
||||
passAsFile = [
|
||||
"includeScript"
|
||||
"pinpointDependenciesScript"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
source ${installPackage}
|
||||
|
||||
mkdir -p $out/${packageName}
|
||||
cd $out/${packageName}
|
||||
|
||||
source $includeScriptPath
|
||||
|
||||
# Create fake package.json to make the npm commands work properly
|
||||
cp ${src}/package.json .
|
||||
chmod 644 package.json
|
||||
${lib.optionalString bypassCache ''
|
||||
if [ -f ${src}/package-lock.json ]
|
||||
then
|
||||
cp ${src}/package-lock.json .
|
||||
chmod 644 package-lock.json
|
||||
fi
|
||||
''}
|
||||
|
||||
# Go to the parent folder to make sure that all packages are pinpointed
|
||||
cd ..
|
||||
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
|
||||
|
||||
${prepareAndInvokeNPM {
|
||||
inherit
|
||||
packageName
|
||||
bypassCache
|
||||
reconstructLock
|
||||
npmFlags
|
||||
production
|
||||
;
|
||||
}}
|
||||
|
||||
# Expose the executables that were installed
|
||||
cd ..
|
||||
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
|
||||
|
||||
mv ${packageName} lib
|
||||
ln -s $out/lib/node_modules/.bin $out/bin
|
||||
'';
|
||||
}
|
||||
// extraArgs
|
||||
);
|
||||
|
||||
# Builds a development shell
|
||||
buildNodeShell =
|
||||
{
|
||||
name,
|
||||
packageName,
|
||||
version ? null,
|
||||
src,
|
||||
dependencies ? [ ],
|
||||
buildInputs ? [ ],
|
||||
production ? true,
|
||||
npmFlags ? "",
|
||||
dontNpmInstall ? false,
|
||||
bypassCache ? false,
|
||||
reconstructLock ? false,
|
||||
dontStrip ? true,
|
||||
unpackPhase ? "true",
|
||||
buildPhase ? "true",
|
||||
...
|
||||
}@args:
|
||||
|
||||
let
|
||||
nodeDependencies = buildNodeDependencies args;
|
||||
extraArgs = removeAttrs args [
|
||||
"name"
|
||||
"dependencies"
|
||||
"buildInputs"
|
||||
"dontStrip"
|
||||
"dontNpmInstall"
|
||||
"unpackPhase"
|
||||
"buildPhase"
|
||||
];
|
||||
in
|
||||
stdenv.mkDerivation (
|
||||
{
|
||||
name = "node-shell-${name}${if version == null then "" else "-${version}"}";
|
||||
|
||||
buildInputs = [
|
||||
python
|
||||
nodejs
|
||||
]
|
||||
++ lib.optional (stdenv.hostPlatform.isLinux) pkgs.util-linux
|
||||
++ buildInputs;
|
||||
buildCommand = ''
|
||||
mkdir -p $out/bin
|
||||
cat > $out/bin/shell <<EOF
|
||||
#! ${stdenv.shell} -e
|
||||
$shellHook
|
||||
exec ${stdenv.shell}
|
||||
EOF
|
||||
chmod +x $out/bin/shell
|
||||
'';
|
||||
|
||||
# Provide the dependencies in a development shell through the NODE_PATH environment variable
|
||||
inherit nodeDependencies;
|
||||
shellHook = lib.optionalString (dependencies != [ ]) ''
|
||||
export NODE_PATH=${nodeDependencies}/lib/node_modules
|
||||
export PATH="${nodeDependencies}/bin:$PATH"
|
||||
'';
|
||||
}
|
||||
// extraArgs
|
||||
);
|
||||
in
|
||||
{
|
||||
buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
|
||||
buildNodePackage = lib.makeOverridable buildNodePackage;
|
||||
buildNodeDependencies = lib.makeOverridable buildNodeDependencies;
|
||||
buildNodeShell = lib.makeOverridable buildNodeShell;
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
[
|
||||
"node2nix",
|
||||
"semver"
|
||||
]
|
||||
-4233
File diff suppressed because it is too large
Load Diff
@@ -1,56 +0,0 @@
|
||||
{ pkgs, nodejs }:
|
||||
|
||||
let
|
||||
inherit (pkgs)
|
||||
lib
|
||||
fetchFromGitHub
|
||||
fetchpatch
|
||||
;
|
||||
in
|
||||
|
||||
final: prev: {
|
||||
inherit nodejs;
|
||||
|
||||
node2nix = prev.node2nix.override {
|
||||
# Get latest commit for misc fixes
|
||||
src = fetchFromGitHub {
|
||||
owner = "svanderburg";
|
||||
repo = "node2nix";
|
||||
rev = "315e1b85a6761152f57a41ccea5e2570981ec670";
|
||||
sha256 = "sha256-8OxTOkwBPcnjyhXhxQEDd8tiaQoHt91zUJX5Ka+IXco=";
|
||||
};
|
||||
nativeBuildInputs = [ pkgs.buildPackages.makeWrapper ];
|
||||
postInstall =
|
||||
let
|
||||
patches = [
|
||||
# Needed to fix packages with DOS line-endings after above patch - PR svanderburg/node2nix#314
|
||||
(fetchpatch {
|
||||
name = "convert-crlf-for-script-bin-files.patch";
|
||||
url = "https://github.com/svanderburg/node2nix/commit/91aa511fe7107938b0409a02ab8c457a6de2d8ca.patch";
|
||||
hash = "sha256-ISiKYkur/o8enKDzJ8mQndkkSC4yrTNlheqyH+LiXlU=";
|
||||
})
|
||||
# fix nodejs attr names
|
||||
(fetchpatch {
|
||||
url = "https://github.com/svanderburg/node2nix/commit/3b63e735458947ef39aca247923f8775633363e5.patch";
|
||||
hash = "sha256-pe8Xm4mjPh9oKXugoMY6pRl8YYgtdw0sRXN+TienalU=";
|
||||
})
|
||||
# Use top-level cctools in generated files - PR svanderburg/node2nix#334
|
||||
(fetchpatch {
|
||||
url = "https://github.com/svanderburg/node2nix/commit/31c308bba5f39ea0105f66b9f40dbe57fed7a292.patch";
|
||||
hash = "sha256-DdNRteonMvyffPh0uo0lUbsohKYnyqv0QcD9vjN6aXE=";
|
||||
})
|
||||
# Prefer util-linux over removed utillinux alias - PR svanderburg/node2nix#336
|
||||
(fetchpatch {
|
||||
url = "https://github.com/svanderburg/node2nix/commit/ef5dc43e15d13129a9ddf6164c7bc2800a25792e.patch";
|
||||
hash = "sha256-ByIA0oQmEfb4PyVwGEtrR3NzWiy1YCn1FPdSKNDkNCw=";
|
||||
})
|
||||
];
|
||||
in
|
||||
''
|
||||
${lib.concatStringsSep "\n" (
|
||||
map (patch: "patch -d $out/lib/node_modules/node2nix -p1 < ${patch}") patches
|
||||
)}
|
||||
wrapProgram "$out/bin/node2nix" --prefix PATH : ${lib.makeBinPath [ pkgs.nix ]}
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i python3 -p python3
|
||||
|
||||
import collections.abc
|
||||
import fileinput
|
||||
import json
|
||||
import os.path
|
||||
import re
|
||||
import sys
|
||||
|
||||
|
||||
def remove(attr):
|
||||
with open(os.path.join(os.path.dirname(__file__), 'node-packages.json'), 'r+') as node_packages_json:
|
||||
packages = json.load(node_packages_json)
|
||||
idx = 0
|
||||
while idx < len(packages):
|
||||
if packages[idx] == attr or (isinstance(packages[idx], collections.abc.Mapping) and next(iter(packages[idx].keys())) == attr):
|
||||
del packages[idx]
|
||||
else:
|
||||
idx += 1
|
||||
|
||||
node_packages_json.seek(0)
|
||||
for idx, package in enumerate(packages):
|
||||
if idx == 0:
|
||||
node_packages_json.write('[\n ')
|
||||
else:
|
||||
node_packages_json.write(', ')
|
||||
json.dump(package, node_packages_json)
|
||||
node_packages_json.write('\n')
|
||||
node_packages_json.write(']\n')
|
||||
node_packages_json.truncate()
|
||||
|
||||
with fileinput.input(os.path.join(os.path.dirname(__file__), 'node-packages.nix'), inplace=1) as node_packages:
|
||||
safe_attr = re.escape(attr)
|
||||
in_attr = False
|
||||
for line in node_packages:
|
||||
if in_attr:
|
||||
if re.fullmatch(r' \};\n', line):
|
||||
in_attr = False
|
||||
else:
|
||||
if re.fullmatch(rf' (?:{safe_attr}|"{safe_attr}") = nodeEnv\.buildNodePackage \{{\n', line):
|
||||
in_attr = True
|
||||
else:
|
||||
sys.stdout.write(line)
|
||||
|
||||
with fileinput.input(os.path.join(os.path.dirname(__file__), 'overrides.nix'), inplace=1) as overrides:
|
||||
safe_attr = re.escape(attr)
|
||||
in_attr = False
|
||||
for line in overrides:
|
||||
if in_attr:
|
||||
if re.fullmatch(r' \}\)?;\n', line):
|
||||
in_attr = False
|
||||
else:
|
||||
if re.fullmatch(rf' (?:{safe_attr}|"{safe_attr}") = .* \{{\n', line):
|
||||
in_attr = True
|
||||
else:
|
||||
sys.stdout.write(line)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser(description='Remove a given package from the node-packages.nix file')
|
||||
parser.add_argument('attr', help='The package attribute to remove')
|
||||
args = parser.parse_args()
|
||||
|
||||
remove(args.attr)
|
||||
@@ -44,14 +44,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "dask";
|
||||
version = "2026.1.2";
|
||||
version = "2026.3.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dask";
|
||||
repo = "dask";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-cyeAU5r8uYb7aAII9HztKY+3On44/nOC9eU9stYYWzE=";
|
||||
hash = "sha256-JfCiABGSCJKKSz2/r8fvpVwdQSZqvoQICe+lDvuNhoM=";
|
||||
};
|
||||
|
||||
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
@@ -118,6 +118,10 @@ buildPythonPackage (finalAttrs: {
|
||||
pytestFlags = [
|
||||
# Rerun failed tests up to three times
|
||||
"--reruns=3"
|
||||
|
||||
# FutureWarning: The previous implementation of stack is deprecated and will be removed in a
|
||||
# future version of pandas.
|
||||
"-Wignore::FutureWarning"
|
||||
];
|
||||
|
||||
disabledTestMarks = [
|
||||
@@ -125,8 +129,16 @@ buildPythonPackage (finalAttrs: {
|
||||
"network"
|
||||
];
|
||||
|
||||
# https://github.com/dask/dask/issues/12042
|
||||
disabledTests = lib.optionals (pythonAtLeast "3.14") [
|
||||
disabledTests = [
|
||||
# https://github.com/dask/dask/issues/10931
|
||||
"test_combine_first_all_nans"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# RuntimeWarning: divide by zero encountered in det
|
||||
"test_array_notimpl_function_dask"
|
||||
]
|
||||
++ lib.optionals (pythonAtLeast "3.14") [
|
||||
# https://github.com/dask/dask/issues/12042
|
||||
"test_multiple_repartition_partition_size"
|
||||
];
|
||||
|
||||
|
||||
@@ -27,14 +27,14 @@
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "distributed";
|
||||
version = "2026.1.2";
|
||||
version = "2026.3.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dask";
|
||||
repo = "distributed";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-VkZ9rd+eVyfwfRMSAqriR8UjdlqsqHYCkCHZJnk0VOU=";
|
||||
hash = "sha256-lStJwJbhuyPuJ7Nbcm6S6f7tq1T5DtAy8zE1p2Mdrt0=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
gnupg,
|
||||
gpgme,
|
||||
merge3,
|
||||
nix-update-script,
|
||||
openssh,
|
||||
paramiko,
|
||||
pytestCheckHook,
|
||||
@@ -98,6 +99,13 @@ buildPythonPackage (finalAttrs: {
|
||||
|
||||
pythonImportsCheck = [ "dulwich" ];
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
extraArgs = [
|
||||
"--version-regex"
|
||||
"^dulwich-([1-9][0-9.]+)$"
|
||||
];
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Implementation of the Git file formats and protocols";
|
||||
longDescription = ''
|
||||
|
||||
@@ -1,23 +1,38 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "filebytes";
|
||||
version = "0.10.2";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0h97i6h525hg401dvvaa5krxi184qpvldbdn0izmirvr9pvh4hkn";
|
||||
src = fetchFromGitHub {
|
||||
owner = "sashs";
|
||||
repo = "filebytes";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-8DGVCqWnEiqLCKWAYWrAjr50ZB6SMPMH+VqMqpALnVo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Upstream PR: https://github.com/sashs/filebytes/pull/36
|
||||
(fetchpatch {
|
||||
name = "python-3.14.patch";
|
||||
url = "https://github.com/sashs/filebytes/commit/469058d50d4b7ff8da54b623a0a1aa972cd78dc6.patch";
|
||||
hash = "sha256-VizYOqyJ3xpJIU4KKsYcz2DCurlfrWTgdsn84FVWD6w=";
|
||||
})
|
||||
];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://scoding.de/filebytes-introduction";
|
||||
license = lib.licenses.gpl2;
|
||||
license = lib.licenses.bsd3;
|
||||
description = "Scripts to parse ELF, PE, Mach-O and OAT (Android Runtime)";
|
||||
maintainers = with lib.maintainers; [ bennofs ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user