Merge staging-next into staging

This commit is contained in:
github-actions[bot]
2023-05-21 18:02:06 +00:00
committed by GitHub
99 changed files with 850 additions and 7596 deletions
+4 -3
View File
@@ -411,7 +411,7 @@ with import <nixpkgs> {};
version = "0.10.0";
format = "setuptools";
src = python311.pkgs.fetchPypi {
src = fetchPypi {
inherit pname version;
hash = "sha256-CP3V73yWSArRHBLUct4hrNMjWZlvaaUlkpm1QP66RWA=";
};
@@ -1229,7 +1229,7 @@ with import <nixpkgs> {};
packageOverrides = self: super: {
pandas = super.pandas.overridePythonAttrs(old: rec {
version = "0.19.1";
src = super.fetchPypi {
src = fetchPypi {
pname = "pandas";
inherit version;
hash = "sha256-JQn+rtpy/OA2deLszSKEuxyttqBzcAil50H+JDHUdCE=";
@@ -1286,6 +1286,7 @@ specifying an interpreter version), like this:
```nix
{ lib
, python3
, fetchPypi
}:
python3.pkgs.buildPythonApplication rec {
@@ -1293,7 +1294,7 @@ python3.pkgs.buildPythonApplication rec {
version = "2.7.9";
format = "setuptools";
src = python3.pkgs.fetchPypi {
src = fetchPypi {
inherit pname version;
hash = "sha256-Pe229rT0aHwA98s+nTHQMEFKZPo/yw6sot8MivFDvAw=";
};
+12 -6
View File
@@ -4609,6 +4609,12 @@
githubId = 18535642;
name = "Emily";
};
emilylange = {
email = "nix@emilylange.de";
github = "emilylange";
githubId = 55066419;
name = "Emily Lange";
};
emilytrau = {
name = "Emily Trau";
email = "nix@angus.ws";
@@ -6775,12 +6781,6 @@
githubId = 36667224;
name = "Yingchi Long";
};
indeednotjames = {
email = "nix@indeednotjames.com";
github = "IndeedNotJames";
githubId = 55066419;
name = "Emily Lange";
};
indexyz = {
email = "indexyz@pm.me";
github = "5aaee9";
@@ -7942,6 +7942,12 @@
githubId = 1792886;
name = "Julien Malka";
};
juliusrickert = {
email = "nixpkgs@juliusrickert.de";
github = "juliusrickert";
githubId = 5007494;
name = "Julius Rickert";
};
julm = {
email = "julm+nixpkgs@sourcephile.fr";
github = "ju1m";
@@ -563,6 +563,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- `make-disk-image` handles `contents` arguments that are directories better, fixing a bug where it used to put them in a subdirectory of the intended `target`.
- The option `services.jitsi-videobridge.apis` has been renamed to `colibriRestApi` and turned into a boolean. Setting it to `true` will enable the private rest API, useful for monitoring using `services.prometheus.exporters.jitsi.enable`. Learn more about the API: "[The COLIBRI control interface (/colibri/)](https://github.com/jitsi/jitsi-videobridge/blob/v2.3/doc/rest.md)".
## Detailed migration information {#sec-release-23.05-migration}
### Pipewire configuration overrides {#sec-release-23.05-migration-pipewire}
@@ -172,8 +172,8 @@ in
emptyRepo = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc "If set to true, the repo won't be initialized with help files";
default = true;
description = lib.mdDoc "If set to false, the repo will be initialized with help files";
};
settings = mkOption {
@@ -331,7 +331,7 @@ in
preStart = ''
if [[ ! -f "$IPFS_PATH/config" ]]; then
ipfs init ${optionalString cfg.emptyRepo "-e"}
ipfs init --empty-repo=${lib.boolToString cfg.emptyRepo}
else
# After an unclean shutdown this file may exist which will cause the config command to attempt to talk to the daemon. This will hang forever if systemd is holding our sockets open.
rm -vf "$IPFS_PATH/api"
@@ -43,6 +43,7 @@ let
muc_nickname = xmppConfig.mucNickname;
disable_certificate_verification = xmppConfig.disableCertificateVerification;
});
apis.rest.enabled = cfg.colibriRestApi;
};
};
@@ -50,6 +51,11 @@ let
jvbConfig = recursiveUpdate defaultJvbConfig cfg.config;
in
{
imports = [
(mkRemovedOptionModule [ "services" "jitsi-videobridge" "apis" ]
"services.jitsi-videobridge.apis was broken and has been migrated into the boolean option services.jitsi-videobridge.colibriRestApi. It is set to false by default, setting it to true will correctly enable the private /colibri rest API."
)
];
options.services.jitsi-videobridge = with types; {
enable = mkEnableOption (lib.mdDoc "Jitsi Videobridge, a WebRTC compatible video router");
@@ -192,14 +198,13 @@ in
'';
};
apis = mkOption {
type = with types; listOf str;
colibriRestApi = mkOption {
type = bool;
description = lib.mdDoc ''
What is passed as --apis= parameter. If this is empty, "none" is passed.
Needed for monitoring jitsi.
Whether to enable the private rest API for the COLIBRI control interface.
Needed for monitoring jitsi, enabling scraping of the /colibri/stats endpoint.
'';
default = [];
example = literalExpression "[ \"colibri\" \"rest\" ]";
default = false;
};
};
@@ -233,7 +238,7 @@ in
"export ${toVarName name}=$(cat ${xmppConfig.passwordFile})\n"
) cfg.xmppConfigs))
+ ''
${pkgs.jitsi-videobridge}/bin/jitsi-videobridge --apis=${if (cfg.apis == []) then "none" else concatStringsSep "," cfg.apis}
${pkgs.jitsi-videobridge}/bin/jitsi-videobridge
'';
serviceConfig = {
@@ -123,6 +123,6 @@ in
})
[ "consul-template" "vault-agent" ]);
meta.maintainers = with maintainers; [ indeednotjames tcheronneau ];
meta.maintainers = with maintainers; [ emilylange tcheronneau ];
}
@@ -264,6 +264,9 @@ in
description = "EPGStation user";
group = config.users.groups.epgstation.name;
isSystemUser = true;
# NPM insists on creating ~/.npm
home = "/var/cache/epgstation";
};
users.groups.epgstation = { };
@@ -318,11 +321,14 @@ in
++ lib.optional config.services.mirakurun.enable "mirakurun.service"
++ lib.optional config.services.mysql.enable "mysql.service";
environment.NODE_ENV = "production";
serviceConfig = {
ExecStart = "${cfg.package}/bin/epgstation start";
ExecStartPre = "+${preStartScript}";
User = username;
Group = groupname;
CacheDirectory = "epgstation";
StateDirectory = "epgstation";
LogsDirectory = "epgstation";
ConfigurationDirectory = "epgstation";
+1 -1
View File
@@ -26,7 +26,7 @@ let
supportedDbTypes = [ "mysql" "postgres" "sqlite3" ];
makeGiteaTest = type: nameValuePair type (makeTest {
name = "${giteaPackage.pname}-${type}";
meta.maintainers = with maintainers; [ aanderse indeednotjames kolaente ma27 ];
meta.maintainers = with maintainers; [ aanderse emilylange kolaente ma27 ];
nodes = {
server = { config, pkgs, ... }: {
+9 -7
View File
@@ -328,7 +328,7 @@ let
systemd.services.prometheus-jitsi-exporter.after = [ "jitsi-videobridge2.service" ];
services.jitsi-videobridge = {
enable = true;
apis = [ "colibri" "rest" ];
colibriRestApi = true;
};
};
exporterTest = ''
@@ -1198,13 +1198,15 @@ let
wait_for_unit("prometheus-statsd-exporter.service")
wait_for_open_port(9102)
succeed("curl http://localhost:9102/metrics | grep 'statsd_exporter_build_info{'")
succeed(
"echo 'test.udp:1|c' > /dev/udp/localhost/9125",
"curl http://localhost:9102/metrics | grep 'test_udp 1'",
wait_until_succeeds(
"echo 'test.udp:1|c' > /dev/udp/localhost/9125 && \
curl http://localhost:9102/metrics | grep 'test_udp 1'",
timeout=10
)
succeed(
"echo 'test.tcp:1|c' > /dev/tcp/localhost/9125",
"curl http://localhost:9102/metrics | grep 'test_tcp 1'",
wait_until_succeeds(
"echo 'test.tcp:1|c' > /dev/tcp/localhost/9125 && \
curl http://localhost:9102/metrics | grep 'test_tcp 1'",
timeout=10
)
'';
};
@@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "ton";
version = "2023.04";
version = "2023.05";
src = fetchFromGitHub {
owner = "ton-blockchain";
repo = "ton";
rev = "v${version}";
sha256 = "sha256-3HQF0wKk0iRV5fKzuCTv7X7MC+snMDrodgqScCZQVY4=";
sha256 = "sha256-EuFKoqOzKoaBCiVAsb8K053kAL4bw1WqmmybVJX2Fmo=";
fetchSubmodules = true;
};
@@ -1,7 +1,6 @@
{ lib
, trivialBuild
, fetchFromGitHub
, emacs
, color-theme
}:
@@ -16,23 +15,12 @@ trivialBuild {
hash = "sha256-oxX0lo6sxotEiR3nPrKPE9H01HKB3ohB/p8eEHFTp5k=";
};
buildInputs = [ emacs ];
propagatedUserEnvPkgs = [ color-theme ];
buildPhase = ''
runHook preBuild
emacs -L . -L ${color-theme}/share/emacs/site-lisp/elpa/color-theme-* \
--batch -f batch-byte-compile *.el
runHook postBuild
'';
packageRequires = [ color-theme ];
meta = with lib; {
homepage = "http://ethanschoonover.com/solarized";
description = "Precision colors for machines and people; Emacs implementation";
license = licenses.mit;
maintainers = with maintainers; [ samuelrivas AndersonTorres ];
inherit (emacs.meta) platforms;
};
}
@@ -6,13 +6,13 @@
rustPlatform.buildRustPackage rec {
pname = "system76-keyboard-configurator";
version = "1.3.1";
version = "1.3.2";
src = fetchFromGitHub {
owner = "pop-os";
repo = "keyboard-configurator";
rev = "v${version}";
sha256 = "sha256-k9VmEg/HZECUwHaD491ZmfGUxZ14hLOaJD5x3zMK2jI=";
sha256 = "sha256-21cn43qyKg8jL6FF8D9H7dgcgSKggqaxb4cJVc0ljl0=";
};
nativeBuildInputs = [
@@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
udev
];
cargoHash = "sha256-0SFph9quh4QWR3nU5IJr4FyLGqrYvmHcZHDRli6phsc=";
cargoHash = "sha256-9VjrDE/1VAgNrRmSYxCYKPrnilPQF+OXAYpFkF2lpAE=";
meta = with lib; {
description = "Keyboard configuration application for System76 keyboards and laptops";
@@ -2,7 +2,7 @@
buildGoModule rec {
pname = "kubo";
version = "0.19.2"; # When updating, also check if the repo version changed and adjust repoVersion below
version = "0.20.0"; # When updating, also check if the repo version changed and adjust repoVersion below
rev = "v${version}";
passthru.repoVersion = "13"; # Also update kubo-migrator when changing the repo version
@@ -10,7 +10,7 @@ buildGoModule rec {
# Kubo makes changes to it's source tarball that don't match the git source.
src = fetchurl {
url = "https://github.com/ipfs/kubo/releases/download/${rev}/kubo-source.tar.gz";
hash = "sha256-HPhlKAavINaN0SJHWmeJRx43jfeHeYDZb3/dZ55kMLI=";
hash = "sha256-3Oj/x3EkceNO8/Ik7+U43wi1aL0lYJi1FA0AjtdJRDI=";
};
# tarball contains multiple files/directories
@@ -22,6 +22,7 @@
, CoreGraphics
, Cocoa
, Foundation
, System
, libiconv
, UserNotifications
, nixosTests
@@ -81,11 +82,14 @@ rustPlatform.buildRustPackage rec {
CoreGraphics
Foundation
libiconv
System
UserNotifications
];
buildFeatures = [ "distro-defaults" ];
env.NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-framework System";
postInstall = ''
mkdir -p $out/nix-support
echo "${passthru.terminfo}" >> $out/nix-support/propagated-user-env-packages
@@ -116,7 +116,7 @@ buildGoModule rec {
homepage = "https://forgejo.org";
changelog = "https://codeberg.org/forgejo/forgejo/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ indeednotjames urandom ];
maintainers = with maintainers; [ emilylange urandom ];
broken = stdenv.isDarwin;
mainProgram = "gitea";
};
@@ -19,7 +19,7 @@ gem 'bootsnap', '~> 1.16.0', require: false
# Pin openssl to match the version bundled with our supported Rubies.
# See https://stdgems.org/openssl/#gem-version.
gem 'openssl', '2.2.2'
gem 'openssl', '3.0.2'
gem 'ipaddr', '~> 1.2.5'
# Responders respond_to and respond_with
@@ -1093,8 +1093,7 @@ GEM
validate_email
validate_url
webfinger (>= 1.0.1)
openssl (2.2.2)
ipaddr
openssl (3.0.2)
openssl-signature_algorithm (1.3.0)
openssl (> 2.0)
opentracing (0.5.0)
@@ -1855,7 +1854,7 @@ DEPENDENCIES
omniauth_crowd (~> 2.4.0)!
omniauth_openid_connect (~> 0.6.1)
openid_connect (= 1.3.0)
openssl (= 2.2.2)
openssl (= 3.0.2)
org-ruby (~> 0.9.12)
pact (~> 1.63)
parallel (~> 1.19)
@@ -1967,4 +1966,4 @@ DEPENDENCIES
yajl-ruby (~> 1.4.3)
BUNDLED WITH
2.4.12
2.4.13
@@ -4218,15 +4218,14 @@ src:
version = "1.3.0";
};
openssl = {
dependencies = ["ipaddr"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xx01in25q31rpxmq2qlimi44zarsp4px7046xnc6in0pa127xsk";
sha256 = "0mcg47zz4w902cq6c8cdj62npawgwq68sfh7n7aqy7vm3pgvls9h";
type = "gem";
};
version = "2.2.2";
version = "3.0.2";
};
openssl-signature_algorithm = {
dependencies = ["openssl"];
@@ -144,6 +144,9 @@ def update_rubyenv():
with open(rubyenv_dir / fn, 'w') as f:
f.write(repo.get_file(fn, rev))
# patch for openssl 3.x support
subprocess.check_output(['sed', '-i', "s:'openssl', '2.*':'openssl', '3.0.2':g", 'Gemfile'], cwd=rubyenv_dir)
# Fetch vendored dependencies temporarily in order to build the gemset.nix
subprocess.check_output(['mkdir', '-p', 'vendor/gems'], cwd=rubyenv_dir)
subprocess.check_output(['sh', '-c', f'curl -L https://gitlab.com/gitlab-org/gitlab/-/archive/v{version}-ee/gitlab-v{version}-ee.tar.bz2?path=vendor/gems | tar -xj --strip-components=3'], cwd=f'{rubyenv_dir}/vendor/gems')
@@ -1,4 +1,4 @@
{ lib , buildNpmPackage , fetchFromGitHub, nodejs }:
{ lib, buildNpmPackage, fetchFromGitHub, nodejs, python3 }:
buildNpmPackage rec {
pname = "webtorrent-mpv-hook";
@@ -21,6 +21,10 @@ buildNpmPackage rec {
npmDepsHash = "sha256-GpNUJ5ZCgMjSYLqsIE/RwkTSFT3uAhxrHPe7XvGDRHE=";
makeCacheWritable = true;
nativeBuildInputs = [
python3 # Fixes node-gyp on aarch64-linux
];
postInstall = ''
mkdir -p $out/share/mpv/scripts/
ln -s $out/lib/node_modules/webtorrent-mpv-hook/build/webtorrent.js $out/share/mpv/scripts/
@@ -6,6 +6,7 @@
name = "npm-config-hook";
substitutions = {
nodeSrc = srcOnly nodejs;
nodeGyp = "${buildPackages.nodejs}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js";
# Specify `diff`, `jq`, and `prefetch-npm-deps` by abspath to ensure that the user's build
# inputs do not cause us to find the wrong binaries.
@@ -3,10 +3,15 @@
npmConfigHook() {
echo "Executing npmConfigHook"
# Use npm patches in the nodejs package
export NIX_NODEJS_BUILDNPMPACKAGE=1
export prefetchNpmDeps="@prefetchNpmDeps@"
echo "Configuring npm"
export HOME="$TMPDIR"
export npm_config_nodedir="@nodeSrc@"
export npm_config_node_gyp="@nodeGyp@"
if [ -z "${npmDeps-}" ]; then
echo
@@ -93,22 +98,7 @@ npmConfigHook() {
patchShebangs node_modules
local -r lockfileVersion="$(@jq@ .lockfileVersion package-lock.json)"
if (( lockfileVersion < 2 )); then
# This is required because npm consults a hidden lockfile in node_modules to figure out
# what to create bin links for. When using an old lockfile offline, this hidden lockfile
# contains insufficent data, making npm silently fail to create links. The hidden lockfile
# is bypassed when any file in node_modules is newer than it. Thus, we create a file when
# using an old lockfile, so bin links work as expected without having to downgrade Node or npm.
touch node_modules/.meow
fi
npm rebuild "${npmRebuildFlags[@]}" "${npmFlags[@]}"
if (( lockfileVersion < 2 )); then
rm node_modules/.meow
fi
npm rebuild $npmRebuildFlags "${npmRebuildFlagsArray[@]}" $npmFlags "${npmFlagsArray[@]}"
patchShebangs node_modules
+4 -4
View File
@@ -2,18 +2,18 @@
stdenvNoCC.mkDerivation rec {
pname = "source-code-pro";
version = "2.038";
version = "2.042";
src = fetchzip {
url = "https://github.com/adobe-fonts/source-code-pro/releases/download/${version}R-ro%2F1.058R-it%2F1.018R-VAR/OTF-source-code-pro-${version}R-ro-1.058R-it.zip";
url = "https://github.com/adobe-fonts/source-code-pro/releases/download/${version}R-u%2F1.062R-i%2F1.026R-vf/OTF-source-code-pro-${version}R-u_1.062R-i.zip";
stripRoot = false;
hash = "sha256-ijeTLka131jf6B9xj/eNWK1T5r7r3aBXBgnVyRAxmuY=";
hash = "sha256-+BnfmD+AjObSoVxPvFAqbnMD2j5qf2YmbXGQtXoaiy0=";
};
installPhase = ''
runHook preInstall
install -Dm644 *.otf -t $out/share/fonts/opentype
install -Dm644 OTF/*.otf -t $out/share/fonts/opentype
runHook postInstall
'';
+2 -2
View File
@@ -2,7 +2,7 @@
stdenvNoCC.mkDerivation rec {
pname = "victor-mono";
version = "1.5.4";
version = "1.5.5";
# Upstream prefers we download from the website,
# but we really insist on a more versioned resource.
@@ -14,7 +14,7 @@ stdenvNoCC.mkDerivation rec {
src = fetchzip {
url = "https://github.com/rubjo/victor-mono/raw/v${version}/public/VictorMonoAll.zip";
stripRoot = false;
hash = "sha256-E8j1bfYrM8yRtasiwgTvyE4EYx2LyAbmw3MXH1l+owk=";
hash = "sha256-l8XeKE9PtluiazZO0PXfkGCcnm5o+VZdL7NZ6w0tp80=";
};
installPhase = ''
@@ -10,22 +10,17 @@ let
in
stdenv.mkDerivation rec {
pname = "souffle";
version = "2.3";
version = "2.4";
src = fetchFromGitHub {
owner = "souffle-lang";
repo = "souffle";
rev = version;
sha256 = "sha256-wdTBSmyA2I+gaSV577NNKA2oY2fdVTGmvV7h15NY1tU=";
sha256 = "sha256-5g2Ikbfm5nQrsgGntZZ/VbjqSDOj0AP/mnH1nW2b4co=";
};
patches = [
./threads.patch
(fetchpatch {
name = "missing-override.patch";
url = "https://github.com/souffle-lang/souffle/commit/da2d778f0cca94f206686546fa56b9ffc738ad75.patch";
sha256 = "Oefm3vRRwOyom94oGSOK2w9m23gkbJ++9gcWrdLlkyk=";
})
];
hardeningDisable = lib.optionals stdenv.isDarwin [ "strictoverflow" ];
@@ -2663,4 +2663,12 @@ self: super: {
parsec = lself.parsec_3_1_16_1;
text = lself.text_2_0_2;
}));
# Merged upstream, but never released. Allows both intel and aarch64 darwin to build.
# https://github.com/vincenthz/hs-gauge/pull/106
gauge = appendPatch (pkgs.fetchpatch {
name = "darwin-aarch64-fix.patch";
url = "https://github.com/vincenthz/hs-gauge/commit/3d7776f41187c70c4f0b4517e6a7dde10dc02309.patch";
hash = "sha256-4osUMo0cvTvyDTXF8lY9tQbFqLywRwsc3RkHIhqSriQ=";
}) super.gauge;
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
@@ -708,6 +708,7 @@ supported-platforms:
linux-mount: [ platforms.linux ]
linux-namespaces: [ platforms.linux ]
lxc: [ platforms.linux ]
memfd: [ platforms.linux ]
midi-alsa: [ platforms.linux ] # alsa-core only supported on linux
midisurface: [ platforms.linux ] # alsa-core only supported on linux
OrderedBits: [ platforms.x86 ] # lacks implementations for non-x86: https://github.com/choener/OrderedBits/blob/401cbbe933b1635aa33e8e9b29a4a570b0a8f044/lib/Data/Bits/Ordered.hs#L316
+1
View File
@@ -192598,6 +192598,7 @@ self: {
libraryHaskellDepends = [ base transformers ];
description = "Open temporary anonymous Linux file handles";
license = lib.licenses.asl20;
platforms = lib.platforms.linux;
}) {};
"meminfo" = callPackage
@@ -5,13 +5,13 @@
stdenvNoCC.mkDerivation {
pname = "cbqn-bytecode";
version = "unstable-2023-04-19";
version = "unstable-2023-05-17";
src = fetchFromGitHub {
owner = "dzaima";
repo = "cbqnBytecode";
rev = "78ed4102f914eb5fa490d76d4dcd4f8be6e53417";
hash = "sha256-IOhxcfGmpARiTdFMSpc+Rh8VXtasZdfP6vKJzULNxAg=";
rev = "32db4dfbfc753835bf112f3d8ae2991d8aebbe3d";
hash = "sha256-9uBPrEESn/rB9u0xXwKaQ7ABveQWPc8LRMPlnI/79kg=";
};
dontConfigure = true;
@@ -20,7 +20,7 @@ stdenvNoCC.mkDerivation {
installPhase = ''
runHook preInstall
install -D $src/gen/{compiles,explain,formatter,runtime0,runtime1,src} -t $out/dev
install -D $src/gen/{compiles,explain,formatter,runtime0,runtime1,runtime1x,src} -t $out/dev
runHook postInstall
'';
@@ -6,9 +6,8 @@
, fixDarwinDylibNames
, genBytecode ? false
, bqn-path ? null
, mbqn-source ? null
, mbqn-source
, enableReplxx ? false
, enableSingeli ? stdenv.hostPlatform.avx2Support
, enableLibcbqn ? ((stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isDarwin) && !enableReplxx)
, libffi
, pkg-config
@@ -24,13 +23,13 @@ assert genBytecode -> ((bqn-path != null) && (mbqn-source != null));
stdenv.mkDerivation rec {
pname = "cbqn" + lib.optionalString (!genBytecode) "-standalone";
version = "0.2.0";
version = "0.3.0";
src = fetchFromGitHub {
owner = "dzaima";
repo = "CBQN";
rev = "v${version}";
hash = "sha256-M9GTsm65DySLcMk9QDEhImHnUvWtYGPwiG657wHg3KA=";
hash = "sha256-LoxwNxuadbYJgIkr1+bZoErTc9WllN2siAsKnxoom3Y=";
};
nativeBuildInputs = [
@@ -42,6 +41,7 @@ stdenv.mkDerivation rec {
];
dontConfigure = true;
doInstallCheck = true;
postPatch = ''
sed -i '/SHELL =.*/ d' makefile
@@ -54,8 +54,11 @@ stdenv.mkDerivation rec {
buildFlags = [
# interpreter binary
(lib.flatten (if enableSingeli then ["o3n-singeli" "f='-mavx2'"] else ["o3"]))
"o3"
"notui=1" # display build progress in a plain-text format
"REPLXX=${if enableReplxx then "1" else "0"}"
] ++ lib.optionals stdenv.hostPlatform.avx2Support [
"has=avx2"
] ++ lib.optionals enableLibcbqn [
# embeddable interpreter as a shared lib
"shared-o3"
@@ -64,6 +67,7 @@ stdenv.mkDerivation rec {
preBuild = ''
# Purity: avoids git downloading bytecode files
mkdir -p build/bytecodeLocal/gen
cp -r ${singeli-submodule}/dev/* build/singeliLocal/
'' + (if genBytecode then ''
${bqn-path} ./build/genRuntime ${mbqn-source} build/bytecodeLocal/
'' else ''
@@ -71,10 +75,7 @@ stdenv.mkDerivation rec {
'')
+ lib.optionalString enableReplxx ''
cp -r ${replxx-submodule}/dev/* build/replxxLocal/
''
+ lib.optionalString enableSingeli ''
cp -r ${singeli-submodule}/dev/* build/singeliLocal/
'';
'';
outputs = [
"out"
@@ -100,6 +101,26 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
installCheckPhase = ''
runHook preInstallCheck
# main test suite from mlochbaum/BQN
$out/bin/BQN ${mbqn-source}/test/this.bqn
# CBQN tests that do not require compiling with test-only flags
$out/bin/BQN test/cmp.bqn
$out/bin/BQN test/equal.bqn
$out/bin/BQN test/copy.bqn
$out/bin/BQN test/bit.bqn
$out/bin/BQN test/hash.bqn
$out/bin/BQN test/squeezeValid.bqn
$out/bin/BQN test/squeezeExact.bqn
$out/bin/BQN test/various.bqn
$out/bin/BQN test/random.bqn
runHook postInstallCheck
'';
meta = with lib; {
homepage = "https://github.com/dzaima/CBQN/";
description = "BQN implementation in C";
@@ -108,4 +129,3 @@ stdenv.mkDerivation rec {
platforms = platforms.all;
};
}
# TODO: test suite
@@ -5,13 +5,13 @@
stdenvNoCC.mkDerivation {
pname = "singeli";
version = "unstable-2023-04-12";
version = "unstable-2023-04-27";
src = fetchFromGitHub {
owner = "mlochbaum";
repo = "Singeli";
rev = "3327956fedfdc6aef12954bc12120f20de2226d0";
hash = "sha256-k25hk5zTn0m+2Nh9buTJYhtM98/VRlQ0guoRw9el3VE=";
rev = "853ab1a06ae8d8603f228d8e784fa319cc401459";
hash = "sha256-X/NnufvakihJAE9H7geuuDS7Tv9l7tgLKdRgXC4ZX4A=";
};
dontConfigure = true;
@@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation rec {
pname = "bqn";
version = "0.pre+date=2023-05-09";
version = "unstable-2023-05-17";
src = fetchFromGitHub {
owner = "mlochbaum";
repo = "BQN";
rev = "656b176c5dc783b038b018f0ed17a5414ea62b4d";
hash = "sha256-6r+N0eCvwvaoB84cw+Vtoqa6MXuI0NXLbOPblemY4M8=";
rev = "070bd07dc10c291695215265218ec0ff856ce457";
hash = "sha256-GRIIzJwlJ+JTBHXZjoX/9vLFbAC7zyeuqVcrA/Jm/NA=";
};
nativeBuildInputs = [ makeWrapper ];
@@ -76,6 +76,9 @@ let
passthru.updateScript = unstableGitUpdater { };
# Times out otherwise
requiredSystemFeatures = [ "big-parallel" ];
meta = with lib; {
description = "Performance portable programming model for machine learning tensor operators";
homepage = "https://github.com/ROCmSoftwarePlatform/composable_kernel";
@@ -89,7 +92,7 @@ let
cp -a ${ck}/bin/ckProfiler $out
'';
in stdenv.mkDerivation {
inherit (ck) pname version outputs src passthru meta;
inherit (ck) pname version outputs src passthru requiredSystemFeatures meta;
dontUnpack = true;
dontPatch = true;
@@ -12,13 +12,13 @@
stdenv.mkDerivation rec {
pname = "pagmo2";
version = "2.18.0";
version = "2.19.0";
src = fetchFromGitHub {
owner = "esa";
repo = "pagmo2";
rev = "v${version}";
sha256 = "0rd8scs4hj6qd8ylmn5hafncml2vr4fvcgm3agz3jrvmnc7hadrj";
sha256 = "sha256-z5kg2xKZ666EPK844yp+hi4iGisaIPme9xNdzsAEEjw=";
};
nativeBuildInputs = [ cmake ];
@@ -2,13 +2,13 @@
stdenv.mkDerivation {
pname = "parson";
version = "1.5.1";
version = "1.5.2";
src = fetchFromGitHub {
owner = "kgabis";
repo = "parson";
rev = "3c4ee26dbb3df177a2d7b9d80e154ec435ca8c01"; # upstream doesn't use tags
sha256 = "sha256-fz2yhxy6Q5uEPAbzMxMiaXqSYkQ9uB3A4sV2qYOekJ8=";
rev = "60c37844d7a1c97547812cac3423d458c73e60f9"; # upstream doesn't use tags
hash = "sha256-SbM0kqRtdcz1s+pUTW7VPMY1O6zdql3bao19Rk4t470=";
};
nativeBuildInputs = [ meson ninja ];
@@ -0,0 +1,27 @@
{ lib
, python3
}:
python3.pkgs.buildPythonPackage rec {
pname = "dashing";
version = "0.1.0";
format = "setuptools";
disabled = python3.pythonOlder "3.7";
src = python3.pkgs.fetchPypi {
inherit pname version;
hash = "sha256-JRRgjg8pp3Xb0bERFWEhnOg9U8+kuqL+QQH6uE/Vbxs=";
};
propagatedBuildInputs = with python3.pkgs; [
blessed
];
meta = with lib; {
homepage = "https://github.com/FedericoCeratto/dashing";
description = "Terminal dashboards for Python";
license = licenses.gpl3;
maintainers = with maintainers; [ juliusrickert ];
};
}
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "glances-api";
version = "0.4.1";
version = "0.4.2";
format = "pyproject";
disabled = pythonOlder "3.8";
@@ -19,8 +19,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "home-assistant-ecosystem";
repo = "python-glances-api";
rev = version;
hash = "sha256-IBEy19iouYAHIZwc/bnMgmHLrbfZjLni0Ne4o0I6FNg=";
rev = "refs/tags/${version}";
hash = "sha256-fcQgwOYGhpwxSXfa1PYFOe2UDTEu+2YGIQmuSa5J0g4=";
};
nativeBuildInputs = [
@@ -44,6 +44,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Python API for interacting with Glances";
homepage = "https://github.com/home-assistant-ecosystem/python-glances-api";
changelog = "https://github.com/home-assistant-ecosystem/python-glances-api/releases/tag/${version}";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
@@ -1,5 +1,5 @@
{ lib
, fetchurl
, fetchPypi
, buildPythonPackage
, numpy
, scikit-learn
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "hmmlearn";
version = "0.2.8";
version = "0.3.0";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchurl {
url = "mirror://pypi/h/hmmlearn/${pname}-${version}.tar.gz";
hash = "sha256-aWkx49zmgBzJt4xin1QwYd1+tnpxFVsD0bOeoXKipfk=";
src = fetchPypi {
inherit pname version;
hash = "sha256-0TqR6jaV34gUZePTYTLX7vToTUg/S6U4pLRuJLXqEA8=";
};
buildInputs = [
@@ -26,6 +26,7 @@
, importlib-resources
, pyparsing
, requests-mock
, nettools
}:
buildPythonPackage rec {
@@ -78,6 +79,8 @@ buildPythonPackage rec {
importlib-resources
pyparsing
requests-mock
] ++ lib.optionals stdenv.isDarwin [
nettools
];
disabledTestPaths = [
@@ -1,8 +1,10 @@
{ lib
, stdenv
, buildPythonPackage
, fetchFromGitHub
, rustPlatform
, cargo
, darwin
, rustc
, setuptools-rust
, json-stream-rs-tokenizer
@@ -38,6 +40,10 @@ buildPythonPackage rec {
rustc
];
buildInputs = lib.optionals stdenv.isDarwin [
darwin.libiconv
];
# Tests depend on json-stream, which depends on this package.
# To avoid infinite recursion, we only enable tests when building passthru.tests.
doCheck = false;
@@ -1,30 +0,0 @@
{ lib
, buildPythonPackage
, fetchPypi
, setuptools
, nose
}:
buildPythonPackage rec {
version = "0.6.0";
pname = "markerlib";
src = fetchPypi {
inherit pname version;
sha256 = "2fdb3939441f5bf4f090b1979a34f84a11d33eed6c0e3995de88ae5c06b6e3ae";
};
buildInputs = [ setuptools ];
nativeCheckInputs = [ nose ];
checkPhase = ''
nosetests
'';
meta = with lib; {
homepage = "https://bitbucket.org/dholth/markerlib/";
description = "A compiler for PEP 345 environment markers";
license = licenses.mit;
maintainers = [ maintainers.costrouc ];
};
}
@@ -1,55 +1,50 @@
{ lib
, stdenv
, buildPythonPackage
, python3
, bash
, cmake
, fetchFromGitHub
, gtest
, isPy27
, nbval
, numpy
, parameterized
, protobuf
, pybind11
, pytestCheckHook
, six
, pythonOlder
, tabulate
, typing-extensions
, pythonRelaxDepsHook
}:
let
gtestStatic = gtest.override { static = true; };
in buildPythonPackage rec {
pname = "onnx";
version = "1.13.1";
version = "1.14.0";
format = "setuptools";
disabled = isPy27;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-10MH23XpAv/uDW/2tRFGS2lKU8hnaNBwbIBIgVc7Jpk=";
hash = "sha256-f+s25Y/jGosaSdoZY6PE3j6pENkfDcD+IQndrbtuzWg=";
};
nativeBuildInputs = [
cmake
pythonRelaxDepsHook
pybind11
];
pythonRelaxDeps = [ "protobuf" ];
propagatedBuildInputs = [
protobuf
numpy
six
typing-extensions
];
nativeCheckInputs = [
nbval
parameterized
pytestCheckHook
tabulate
];
@@ -72,7 +67,6 @@ in buildPythonPackage rec {
# Set CMAKE_INSTALL_LIBDIR to lib explicitly, because otherwise it gets set
# to lib64 and cmake incorrectly looks for the protobuf library in lib64
export CMAKE_ARGS="-DCMAKE_INSTALL_LIBDIR=lib -DONNX_USE_PROTOBUF_SHARED_LIBS=ON"
'' + lib.optionalString doCheck ''
export CMAKE_ARGS+=" -Dgoogletest_STATIC_LIBRARIES=${gtestStatic}/lib/libgtest.a -Dgoogletest_INCLUDE_DIRS=${lib.getDev gtestStatic}/include"
export ONNX_BUILD_TESTS=1
'';
@@ -89,14 +83,18 @@ in buildPythonPackage rec {
# The setup.py does all the configuration
dontUseCmakeConfigure = true;
doCheck = true;
preCheck = ''
export HOME=$(mktemp -d)
# detecting source dir as a python package confuses pytest
mv onnx/__init__.py onnx/__init__.py.hidden
'';
pytestFlagsArray = [ "onnx/test" "onnx/examples" ];
pytestFlagsArray = [
"onnx/test"
"onnx/examples"
];
disabledTests = [
# attempts to fetch data from web
"test_bvlc_alexnet_cpu"
@@ -108,11 +106,25 @@ in buildPythonPackage rec {
"test_squeezenet_cpu"
"test_vgg19_cpu"
"test_zfnet512_cpu"
] ++ lib.optionals stdenv.isAarch64 [
# AssertionError: Output 0 of test 0 in folder
"test__pytorch_converted_Conv2d_depthwise_padded"
"test__pytorch_converted_Conv2d_dilated"
"test_dft"
"test_dft_axis"
# AssertionError: Mismatch in test 'test_Conv2d_depthwise_padded'
"test_xor_bcast4v4d"
# AssertionError: assert 1 == 0
"test_ops_tested"
];
disabledTestPaths = [
# Unexpected output fields from running code: {'stderr'}
"onnx/examples/np_array_tensorproto.ipynb"
];
__darwinAllowLocalNetworking = true;
postCheck = ''
# run "cpp" tests
.setuptools-cmake-build/onnx_gtests
@@ -516,7 +516,7 @@ in
openssl = attrs: {
# https://github.com/ruby/openssl/issues/369
buildInputs = [ openssl_1_1 ];
buildInputs = [ (if (lib.versionAtLeast attrs.version "3.0.0") then openssl else openssl_1_1) ];
};
opus-ruby = attrs: {
@@ -14,7 +14,7 @@ buildGoModule rec {
vendorHash = "sha256-KcNp3VdJ201oxzF0bLXY4xWHqHNz54ZrVSI96cfhU+k=";
meta = with lib; {
maintainers = with maintainers; [ endocrimes indeednotjames ];
maintainers = with maintainers; [ endocrimes emilylange ];
license = licenses.unfreeRedistributable;
homepage = "https://github.com/drone-runners/drone-runner-docker";
description = "Drone pipeline runner that executes builds inside Docker containers";
@@ -7,13 +7,13 @@
buildGoModule rec {
pname = "clickhouse-backup";
version = "2.2.5";
version = "2.2.6";
src = fetchFromGitHub {
owner = "AlexAkulov";
repo = pname;
rev = "v${version}";
sha256 = "sha256-sy5R2QSVkxFmfRMiD5KDzkFCol7MpOnfz0/JR++zIX4=";
sha256 = "sha256-oFGaNxK8cVrs+rkmJR9wSYB4+i3B8BGYhsuHbUTK3es=";
};
vendorHash = "sha256-UY/8fWPoO3d0g1/CN215Q4z744S2cCT7fB4ctpridAI=";
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "fq";
version = "0.5.0";
version = "0.6.0";
src = fetchFromGitHub {
owner = "wader";
repo = "fq";
rev = "v${version}";
hash = "sha256-Fg5J/iLxGUwb2QRZJMHLqK9dBECW9VsiZGX+LyUtyhw=";
hash = "sha256-j7s9oluNtYi6MmTKCendTIjc/zvynY6fWvXH47XkwOI=";
};
vendorHash = "sha256-sjzGtSBgRybcJvOXM4wKN5pTgihNrjUCMPsc62n3tLk=";
vendorHash = "sha256-XobOcG5s2ggTk3RmJPM14OWv45PMyKs0w0BOvozUobw=";
ldflags = [
"-s"
@@ -4,13 +4,13 @@ let bins = [ "crane" "gcrane" ]; in
buildGoModule rec {
pname = "go-containerregistry";
version = "0.15.1";
version = "0.15.2";
src = fetchFromGitHub {
owner = "google";
repo = pname;
rev = "v${version}";
sha256 = "sha256-yXIFPLuqyWaWgbGbGOuBwWg/KWM9vuMnXnTBcgluzhI=";
sha256 = "sha256-Bva962laaHJAHwiQAMPtOBkwqce1ww+sBGkjV1TjrwQ=";
};
vendorHash = null;
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kustomize-sops";
version = "4.1.1";
version = "4.1.3";
src = fetchFromGitHub {
owner = "viaduct-ai";
repo = pname;
rev = "v${version}";
sha256 = "sha256-jwOyOGSnUgk9+cD+cGj1/ZzQ84HAdAn0HMy3CLPs1U0=";
sha256 = "sha256-ZIYg6ITGHXJZ0YySwSN8mlSmiFiWsWUeGwIo8vRLw3Y=";
};
vendorHash = "sha256-tNYPgXFDJuNRlrVE0ywg77goNzfoWHFVzOG9mHqK3q8=";
+3 -3
View File
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "pet";
version = "0.4.0";
version = "0.5.0";
src = fetchFromGitHub {
owner = "knqyf263";
repo = "pet";
rev = "v${version}";
sha256 = "sha256-gVTpzmXekQxGMucDKskGi+e+34nJwwsXwvQTjRO6Gdg=";
sha256 = "sha256-+ng4+wrJW/fl1DJMbycLymFgiviTwjlxNApE2Q8PesQ=";
};
vendorSha256 = "sha256-dUvp7FEW09V0xMuhewPGw3TuAic/sD7xyXEYviZ2Ivs=";
vendorHash = "sha256-JOP7hcCOwVZ0hb2UXHHdxpKxpZqs6a8AjOFbrs711ps=";
ldflags = [
"-s" "-w" "-X=github.com/knqyf263/pet/cmd.version=${version}"
+4 -2
View File
@@ -1,8 +1,10 @@
{ lib
, stdenv
, buildNpmPackage
, fetchFromGitHub
, pkg-config
, libsecret
, darwin
, python3
, testers
, vsce
@@ -27,7 +29,8 @@ buildNpmPackage rec {
nativeBuildInputs = [ pkg-config python3 ];
buildInputs = [ libsecret ];
buildInputs = [ libsecret ]
++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ AppKit Security ]);
makeCacheWritable = true;
npmFlags = [ "--legacy-peer-deps" ];
@@ -43,4 +46,3 @@ buildNpmPackage rec {
license = licenses.mit;
};
}
+18 -9
View File
@@ -1,18 +1,27 @@
{ pkgs, nodejs, stdenv, lib, ... }:
{ lib
, buildNpmPackage
, fetchFromGitHub
}:
let
buildNpmPackage rec {
pname = "newman";
version = "5.3.2";
packageName = with lib; concatStrings (map (entry: (concatStrings (mapAttrsToList (key: value: "${key}-${value}") entry))) (importJSON ./package.json));
nodePackages = import ./node-composition.nix {
inherit pkgs nodejs;
inherit (stdenv.hostPlatform) system;
src = fetchFromGitHub {
owner = "postmanlabs";
repo = "newman";
rev = "refs/tags/v${version}";
hash = "sha256-j5YS9Zbk9b3K4+0sGzqtCgEsR+S5nGPf/rebeGzsscA=";
};
in
nodePackages.newman.override {
npmDepsHash = "sha256-FwVmesHtzTZKsTCIfZiRPb1zf7q5LqABAZOh8gXB9qw=";
dontNpmBuild = true;
meta = with lib; {
homepage = "https://www.getpostman.com";
description = "A command-line collection runner for Postman";
changelog = "https://github.com/postmanlabs/newman/releases/tag/v${version}";
maintainers = with maintainers; [ freezeboy ];
license = licenses.asl20;
};
@@ -1,9 +0,0 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p nodePackages.node2nix
node2nix \
--node-env node-env.nix \
--development \
--input package.json \
--output node-packages.nix \
--composition node-composition.nix
@@ -1,17 +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_14"}:
let
nodeEnv = import ./node-env.nix {
inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript;
inherit pkgs nodejs;
libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
};
in
import ./node-packages.nix {
inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
inherit nodeEnv;
}
-686
View File
@@ -1,686 +0,0 @@
# This file originates from node2nix
{lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile, writeShellScript}:
let
# Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master
utillinux = if pkgs ? utillinux then pkgs.utillinux else pkgs.util-linux;
python = if nodejs ? python then nodejs.python else python2;
# 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 ({
name = "${name}${if version == null then "" else "-${version}"}";
buildInputs = [ tarWrapper python nodejs ]
++ lib.optional (stdenv.isLinux) utillinux
++ lib.optional (stdenv.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
# Patch the shebang lines of all the executables
ls $out/bin/* | while read i
do
file="$(readlink -f "$i")"
chmod u+rwx "$file"
patchShebangs "$file"
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.isLinux) utillinux
++ lib.optional (stdenv.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.isLinux) utillinux ++ 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;
}
File diff suppressed because it is too large Load Diff
-3
View File
@@ -1,3 +0,0 @@
[
"newman"
]
+7
View File
@@ -0,0 +1,7 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p gnused
sed -i "s| a/node_modules| a/deps/npm/node_modules|" node-npm-build-npm-package-logic.patch
sed -i "s| b/node_modules| b/deps/npm/node_modules|" node-npm-build-npm-package-logic.patch
sed -i "s| a/workspaces| a/deps/npm/node_modules/@npmcli|" node-npm-build-npm-package-logic.patch
sed -i "s| b/workspaces| b/deps/npm/node_modules/@npmcli|" node-npm-build-npm-package-logic.patch
@@ -0,0 +1,95 @@
This patch is based off of npm tag v8.19.4.
This introduces fixes for 4 issues:
1. When node-gyp is included as a dependency in a project, any scripts that run it will not use the copy included in Node. This is problematic because we patch node-gyp to work without xcbuild on Darwin, leading to these packages failing to build with a sandbox on Darwin.
2. When a Git dependency contains install scripts, it has to be built just like any other package. Thus, we need to patch shebangs appropriately, just like in npmConfigHook.
3. We get useless warnings that clog up logs when using a v1 lockfile, so we silence them.
4. npm looks at a hidden lockfile to determine if files have binaries to link into `node_modules/.bin`. When using a v1 lockfile offline, this lockfile does not contain enough info, leading to binaries for packages such as Webpack not being available to scripts. We used to work around this by making npm ignore the hidden lockfile by creating a file, but now we just disable the code path entirely.
To update:
1. Run `git diff` from an npm checkout
2. Run `fix-npm-patch-paths.sh`
3. Include/update this frontmatter, please!
diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js b/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js
index c59c270d9..98785192f 100644
--- a/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js
+++ b/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js
@@ -12,7 +12,10 @@ const setPATH = (projectPath, binPaths, env) => {
.reduce((set, p) => set.concat(p.filter(concatted => !set.includes(concatted))), [])
.join(delimiter)
- const pathArr = []
+ // Ensure when using buildNpmPackage hooks that Node.js'
+ // bundled copy of node-gyp is used, instead of any copy
+ // pulled in as a dependency.
+ const pathArr = process.env['NIX_NODEJS_BUILDNPMPACKAGE'] ? [nodeGypPath, PATH] : [];
if (binPaths) {
pathArr.push(...binPaths)
}
@@ -26,7 +29,8 @@ const setPATH = (projectPath, binPaths, env) => {
pp = p
p = dirname(p)
} while (p !== pp)
- pathArr.push(nodeGypPath, PATH)
+ if (!process.env['NIX_NODEJS_BUILDNPMPACKAGE']) { pathArr.push(nodeGypPath, PATH) }
+
const pathVal = pathArr.join(delimiter)
diff --git a/deps/npm/node_modules/pacote/lib/git.js b/deps/npm/node_modules/pacote/lib/git.js
index c4819b4fd..7efbeef05 100644
--- a/deps/npm/node_modules/pacote/lib/git.js
+++ b/deps/npm/node_modules/pacote/lib/git.js
@@ -186,6 +186,24 @@ class GitFetcher extends Fetcher {
}
noPrepare.push(this.resolved)
+ if (process.env['NIX_NODEJS_BUILDNPMPACKAGE']) {
+ const spawn = require('@npmcli/promise-spawn')
+
+ const npmWithNixFlags = (args, cmd) => spawn('bash', ['-c', 'npm ' + args + ` $npm${cmd}Flags "$\{npm${cmd}FlagsArray[@]}" $npmFlags "$\{npmFlagsArray[@]}"`], { cwd: dir, env: { ...process.env, _PACOTE_NO_PREPARE_: noPrepare.join('\n') } }, { message: `\`npm ${args}\` failed` })
+ const patchShebangs = () => spawn('bash', ['-c', 'source $stdenv/setup; patchShebangs node_modules'], { cwd: dir })
+
+ // the DirFetcher will do its own preparation to run the prepare scripts
+ // All we have to do is put the deps in place so that it can succeed.
+ //
+ // We ignore this.npmConfig to maintain an environment that's as close
+ // to the rest of the build as possible.
+ return spawn('bash', ['-c', '$prefetchNpmDeps --fixup-lockfile package-lock.json'], { cwd: dir })
+ .then(() => npmWithNixFlags('ci --ignore-scripts', 'Install'))
+ .then(patchShebangs)
+ .then(() => npmWithNixFlags('rebuild', 'Rebuild'))
+ .then(patchShebangs)
+ }
+
// the DirFetcher will do its own preparation to run the prepare scripts
// All we have to do is put the deps in place so that it can succeed.
return npm(
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
index e9a8720d7..b29ad0185 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
@@ -744,7 +744,7 @@ This is a one-time fix-up, please be patient...
node.package = { ...mani, _id: `${mani.name}@${mani.version}` }
} catch (er) {
const warning = `Could not fetch metadata for ${name}@${id}`
- log.warn(heading, warning, er)
+ if (!process.env['NIX_NODEJS_BUILDNPMPACKAGE']) { log.warn(heading, warning, er) }
}
this.finishTracker(t)
})
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js
index 7ab65f5b0..12f563a50 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js
@@ -143,7 +143,7 @@ module.exports = cls => class ActualLoader extends cls {
this[_actualTree].assertRootOverrides()
// if forceActual is set, don't even try the hidden lockfile
- if (!forceActual) {
+ if (!forceActual && !process.env['NIX_NODEJS_BUILDNPMPACKAGE']) {
// Note: hidden lockfile will be rejected if it's not the latest thing
// in the folder, or if any of the entries in the hidden lockfile are
// missing.
@@ -0,0 +1,95 @@
This patch is based off of npm tag v9.1.5.
This introduces fixes for 4 issues:
1. When node-gyp is included as a dependency in a project, any scripts that run it will not use the copy included in Node. This is problematic because we patch node-gyp to work without xcbuild on Darwin, leading to these packages failing to build with a sandbox on Darwin.
2. When a Git dependency contains install scripts, it has to be built just like any other package. Thus, we need to patch shebangs appropriately, just like in npmConfigHook.
3. We get useless warnings that clog up logs when using a v1 lockfile, so we silence them.
4. npm looks at a hidden lockfile to determine if files have binaries to link into `node_modules/.bin`. When using a v1 lockfile offline, this lockfile does not contain enough info, leading to binaries for packages such as Webpack not being available to scripts. We used to work around this by making npm ignore the hidden lockfile by creating a file, but now we just disable the code path entirely.
To update:
1. Run `git diff` from an npm checkout
2. Run `fix-npm-patch-paths.sh`
3. Include/update this frontmatter, please!
diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js b/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js
index c59c270d9..98785192f 100644
--- a/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js
+++ b/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js
@@ -12,7 +12,10 @@ const setPATH = (projectPath, binPaths, env) => {
.reduce((set, p) => set.concat(p.filter(concatted => !set.includes(concatted))), [])
.join(delimiter)
- const pathArr = []
+ // Ensure when using buildNpmPackage hooks that Node.js'
+ // bundled copy of node-gyp is used, instead of any copy
+ // pulled in as a dependency.
+ const pathArr = process.env['NIX_NODEJS_BUILDNPMPACKAGE'] ? [nodeGypPath, PATH] : [];
if (binPaths) {
pathArr.push(...binPaths)
}
@@ -26,7 +29,8 @@ const setPATH = (projectPath, binPaths, env) => {
pp = p
p = dirname(p)
} while (p !== pp)
- pathArr.push(nodeGypPath, PATH)
+ if (!process.env['NIX_NODEJS_BUILDNPMPACKAGE']) { pathArr.push(nodeGypPath, PATH) }
+
const pathVal = pathArr.join(delimiter)
diff --git a/deps/npm/node_modules/pacote/lib/git.js b/deps/npm/node_modules/pacote/lib/git.js
index 1fa8b1f96..a026bb50d 100644
--- a/deps/npm/node_modules/pacote/lib/git.js
+++ b/deps/npm/node_modules/pacote/lib/git.js
@@ -188,6 +188,24 @@ class GitFetcher extends Fetcher {
}
noPrepare.push(this.resolved)
+ if (process.env['NIX_NODEJS_BUILDNPMPACKAGE']) {
+ const spawn = require('@npmcli/promise-spawn')
+
+ const npmWithNixFlags = (args, cmd) => spawn('bash', ['-c', 'npm ' + args + ` $npm${cmd}Flags "$\{npm${cmd}FlagsArray[@]}" $npmFlags "$\{npmFlagsArray[@]}"`], { cwd: dir, env: { ...process.env, _PACOTE_NO_PREPARE_: noPrepare.join('\n') } }, { message: `\`npm ${args}\` failed` })
+ const patchShebangs = () => spawn('bash', ['-c', 'source $stdenv/setup; patchShebangs node_modules'], { cwd: dir })
+
+ // the DirFetcher will do its own preparation to run the prepare scripts
+ // All we have to do is put the deps in place so that it can succeed.
+ //
+ // We ignore this.npmConfig to maintain an environment that's as close
+ // to the rest of the build as possible.
+ return spawn('bash', ['-c', '$prefetchNpmDeps --fixup-lockfile package-lock.json'], { cwd: dir })
+ .then(() => npmWithNixFlags('ci --ignore-scripts', 'Install'))
+ .then(patchShebangs)
+ .then(() => npmWithNixFlags('rebuild', 'Rebuild'))
+ .then(patchShebangs)
+ }
+
// the DirFetcher will do its own preparation to run the prepare scripts
// All we have to do is put the deps in place so that it can succeed.
return npm(
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
index 2ea66ac33..25e671318 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
@@ -740,7 +740,7 @@ This is a one-time fix-up, please be patient...
node.package = { ...mani, _id: `${mani.name}@${mani.version}` }
} catch (er) {
const warning = `Could not fetch metadata for ${name}@${id}`
- log.warn(heading, warning, er)
+ if (!process.env['NIX_NODEJS_BUILDNPMPACKAGE']) { log.warn(heading, warning, er) }
}
this.finishTracker(t)
})
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js
index 6c3f917c6..ec21d2cc4 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js
@@ -147,7 +147,7 @@ module.exports = cls => class ActualLoader extends cls {
this[_actualTree].assertRootOverrides()
// if forceActual is set, don't even try the hidden lockfile
- if (!forceActual) {
+ if (!forceActual && !process.env['NIX_NODEJS_BUILDNPMPACKAGE']) {
// Note: hidden lockfile will be rejected if it's not the latest thing
// in the folder, or if any of the entries in the hidden lockfile are
// missing.
+1
View File
@@ -15,5 +15,6 @@ in
patches = [
./disable-darwin-v8-system-instrumentation.patch
./bypass-darwin-xcrun-node16.patch
./node-npm-build-npm-package-logic-node16.patch
] ++ npmPatches;
}
+2 -1
View File
@@ -1,4 +1,4 @@
{ callPackage, fetchpatch, openssl, python3, enableNpm ? true }:
{ callPackage, openssl, python3, enableNpm ? true }:
let
buildNodejs = callPackage ./nodejs.nix {
@@ -15,5 +15,6 @@ buildNodejs {
./disable-darwin-v8-system-instrumentation.patch
./bypass-darwin-xcrun-node16.patch
./revert-arm64-pointer-auth.patch
./node-npm-build-npm-package-logic.patch
];
}
+2 -1
View File
@@ -1,4 +1,4 @@
{ callPackage, openssl, fetchpatch, python3, enableNpm ? true }:
{ callPackage, openssl, python3, enableNpm ? true }:
let
buildNodejs = callPackage ./nodejs.nix {
@@ -15,5 +15,6 @@ buildNodejs {
./revert-arm64-pointer-auth.patch
./disable-darwin-v8-system-instrumentation-node19.patch
./bypass-darwin-xcrun-node16.patch
./node-npm-build-npm-package-logic.patch
];
}
@@ -0,0 +1,32 @@
{ lib
, python3
}:
python3.pkgs.buildPythonApplication rec {
pname = "asitop";
version = "0.0.23";
format = "setuptools";
disabled = python3.pythonOlder "3.7";
src = python3.pkgs.fetchPypi {
inherit pname version;
hash = "sha256-BNncgQRNAd6Pgur5D1xVQi3LSsijSAYIYvhsuiVyi9Q=";
};
# has no tests
doCheck = false;
propagatedBuildInputs = with python3.pkgs; [
dashing
psutil
];
meta = with lib; {
homepage = "https://github.com/tlkh/asitop";
description = "Perf monitoring CLI tool for Apple Silicon";
platforms = platforms.darwin;
license = licenses.mit;
maintainers = with maintainers; [ juliusrickert ];
};
}
+9
View File
@@ -12,6 +12,15 @@ stdenv.mkDerivation rec {
hash = "sha256-1Z6V/AorD4aslLKaaCZpmkD2OiQnmpu3iroOPlNPtLE=";
};
patches = [
# https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/-/merge_requests/12
(fetchpatch {
name = "kernel-6.2-6.3.patch";
url = "https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/-/commit/1ef6079679acc455f75057dd7097b5b494a241dc.patch";
hash = "sha256-2C2leS20egGY3J2tq96gsUQXYw13wBJ3ZWrdIXxmEYs=";
})
];
hardeningDisable = [ "pic" ];
nativeBuildInputs = kernel.moduleBuildDependencies;
@@ -15,9 +15,14 @@ lib.makeScope
coreutils = callPackage ./coreutils { tinycc = tinycc-mes; };
gnumake = callPackage ./gnumake { tinycc = tinycc-mes; };
gnupatch = callPackage ./gnupatch { tinycc = tinycc-mes; };
gnumake = callPackage ./gnumake { tinycc = tinycc-mes; };
gnused = callPackage ./gnused {
bash = bash_2_05;
tinycc = tinycc-mes;
};
ln-boot = callPackage ./ln-boot { };
@@ -34,9 +39,10 @@ lib.makeScope
inherit (callPackage ./utils.nix { }) fetchurl derivationWithMeta writeTextFile writeText;
test = kaem.runCommand "minimal-bootstrap-test" {} ''
echo ${bash_2_05.tests.get-version}
echo ${gnused.tests.get-version}
echo ${mes.compiler.tests.get-version}
echo ${tinycc-mes.compiler.tests.chain}
echo ${bash_2_05.tests.get-version}
mkdir ''${out}
'';
})
@@ -0,0 +1,64 @@
{ lib
, fetchurl
, bash
, tinycc
, gnumake
}:
let
pname = "gnused";
# last version that can be compiled with mes-libc
version = "4.0.9";
src = fetchurl {
url = "mirror://gnu/sed/sed-${version}.tar.gz";
sha256 = "0006gk1dw2582xsvgx6y6rzs9zw8b36rhafjwm288zqqji3qfrf3";
};
# Thanks to the live-bootstrap project!
# See https://github.com/fosslinux/live-bootstrap/blob/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/sed-4.0.9/sed-4.0.9.kaem
makefile = fetchurl {
url = "https://github.com/fosslinux/live-bootstrap/raw/1bc4296091c51f53a5598050c8956d16e945b0f5/sysa/sed-4.0.9/mk/main.mk";
sha256 = "0w1f5ri0g5zla31m6l6xyzbqwdvandqfnzrsw90dd6ak126w3mya";
};
in
bash.runCommand "${pname}-${version}" {
inherit pname version;
nativeBuildInputs = [
tinycc.compiler
gnumake
];
passthru.tests.get-version = result:
bash.runCommand "${pname}-get-version-${version}" {} ''
${result}/bin/sed --version
mkdir ''${out}
'';
meta = with lib; {
description = "GNU sed, a batch stream editor";
homepage = "https://www.gnu.org/software/sed";
license = licenses.gpl3Plus;
maintainers = teams.minimal-bootstrap.members;
mainProgram = "sed";
platforms = platforms.unix;
};
} ''
# Unpack
ungz --file ${src} --output sed.tar
untar --file sed.tar
rm sed.tar
cd sed-${version}
# Configure
cp ${makefile} Makefile
catm config.h
# Build
make \
CC="tcc -B ${tinycc.libs}/lib" \
LIBC=mes
# Install
make install PREFIX=$out
''
+3 -3
View File
@@ -2,13 +2,13 @@
stdenv.mkDerivation {
pname = "rtl8814au";
version = "${kernel.version}-unstable-2022-11-09";
version = "${kernel.version}-unstable-2023-03-21";
src = fetchFromGitHub {
owner = "morrownr";
repo = "8814au";
rev = "932df6f7da6c3a384cf91f33eb195097eb0cb6c5";
hash = "sha256-nMQiT59IIhzpePWWDiyCQFmYLWM42L/mG0BKsbEwreo=";
rev = "6f80699e68fd2a9f2bba3f1a56ca06d1b7992bd8";
hash = "sha256-7dv+8vNI1OLLA4SdZQPL87pTS9HR6mGijzWo9WL7vc0=";
};
nativeBuildInputs = kernel.moduleBuildDependencies;
+3 -3
View File
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "rtl8821au";
version = "${kernel.version}-unstable-2022-12-22";
version = "${kernel.version}-unstable-2023-03-22";
src = fetchFromGitHub {
owner = "morrownr";
repo = "8821au-20210708";
rev = "73f2036bc6c8666555fa453d267d3732392c1e00";
sha256 = "sha256-wx7xQBCfLu3UWB7ghp8dZ7OB2MFd5i8X0/ygyvW2K50=";
rev = "a133274b0532c17318e8790b771566f4a6b12b7c";
hash = "sha256-xn2cmbtqQhLM9qLCEvVhCuoCa7y8LM4sevPqv3a6pBw=";
};
nativeBuildInputs = [ bc nukeReferences ] ++ kernel.moduleBuildDependencies;
@@ -1,17 +1,14 @@
{ lib, stdenv, fetchFromGitHub, kernel }:
let
rev = "ee299797bcd54d5b8c58d2da8576c54cea1a03a2";
in
stdenv.mkDerivation rec {
pname = "rtl88xxau-aircrack";
version = "${kernel.version}-${builtins.substring 0 6 rev}";
version = "${kernel.version}-unstable-02-05-2023";
src = fetchFromGitHub {
owner = "aircrack-ng";
repo = "rtl8812au";
inherit rev;
sha256 = "sha256-JUyUOqLMD9nSo6i87K/6Ljp+pWSqSBz/IZiFWu03rQw=";
rev = "35308f4dd73e77fa572c48867cce737449dd8548";
hash = "sha256-0kHrNsTKRl/xTQpDkIOYqTtcHlytXhXX8h+6guvLmLI=";
};
nativeBuildInputs = kernel.moduleBuildDependencies;
+10 -1
View File
@@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, kernel, fetchurl }:
{ stdenv, lib, fetchFromGitHub, kernel, fetchurl, fetchpatch }:
stdenv.mkDerivation rec {
pname = "xone";
@@ -11,6 +11,15 @@ stdenv.mkDerivation rec {
sha256 = "sha256-h+j4xCV9R6hp9trsv1NByh9m0UBafOz42ZuYUjclILE=";
};
patches = [
# Fix build on kernel 6.3
(fetchpatch {
name = "kernel-6.3.patch";
url = "https://github.com/medusalix/xone/commit/bbf0dcc484c3f5611f4e375da43e0e0ef08f3d18.patch";
hash = "sha256-A2OzRRk4XT++rS6k6EIyiPy/LJptvVRUxoP7CIGrPWU=";
})
];
setSourceRoot = ''
export sourceRoot=$(pwd)/source
'';
+1 -1
View File
@@ -64,6 +64,6 @@ buildGoModule {
homepage = "https://caddyserver.com";
description = "Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS";
license = licenses.asl20;
maintainers = with maintainers; [ Br1ght0ne indeednotjames techknowlogick ];
maintainers = with maintainers; [ Br1ght0ne emilylange techknowlogick ];
};
}
+1 -1
View File
@@ -30,6 +30,6 @@ buildGoModule rec {
homepage = "https://github.com/caddyserver/xcaddy";
description = "Build Caddy with plugins";
license = licenses.asl20;
maintainers = with maintainers; [ tjni indeednotjames ];
maintainers = with maintainers; [ tjni emilylange ];
};
}
+4 -1
View File
@@ -1,8 +1,10 @@
{ lib
, stdenv
, fetchFromSourcehut
, rustPlatform
, installShellFiles
, scdoc
, Security
}:
rustPlatform.buildRustPackage rec {
@@ -22,6 +24,8 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ installShellFiles scdoc ];
buildInputs = lib.optional stdenv.isDarwin Security;
postInstall = ''
scdoc < doc/stargazer.scd > stargazer.1
scdoc < doc/stargazer-ini.scd > stargazer.ini.5
@@ -36,6 +40,5 @@ rustPlatform.buildRustPackage rec {
license = licenses.agpl3Plus;
changelog = "https://git.sr.ht/~zethra/stargazer/refs/${version}";
maintainers = with maintainers; [ gaykitty ];
platforms = platforms.linux;
};
}
+1 -1
View File
@@ -109,6 +109,6 @@ in rustPlatform.buildRustPackage (commonDerivationAttrs // {
changelog = "https://github.com/lldap/lldap/blob/v${lldap.version}/CHANGELOG.md";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = with maintainers; [ indeednotjames bendlas ];
maintainers = with maintainers; [ emilylange bendlas ];
};
})
@@ -71,6 +71,6 @@ buildGoModule rec {
description = "A lightweight subset of Prometheus and more, optimized for Grafana Cloud";
license = licenses.asl20;
homepage = "https://grafana.com/products/cloud";
maintainers = with maintainers; [ flokli indeednotjames ];
maintainers = with maintainers; [ flokli emilylange ];
};
}
+1 -1
View File
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/threathunters-io/laurel";
changelog = "https://github.com/threathunters-io/laurel/releases/tag/v${version}";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ indeednotjames ];
maintainers = with maintainers; [ emilylange ];
platforms = platforms.linux;
};
}
+1 -1
View File
@@ -55,6 +55,6 @@ buildGoModule rec {
license = with licenses; [ agpl3Only asl20 ];
homepage = "https://grafana.com/oss/loki/";
changelog = "https://github.com/grafana/loki/releases/tag/v${version}";
maintainers = with maintainers; [ willibutz globin mmahut indeednotjames ];
maintainers = with maintainers; [ willibutz globin mmahut emilylange ];
};
}
+3 -3
View File
@@ -5,13 +5,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "searxng";
version = "unstable-2023-03-13";
version = "unstable-2023-05-19";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "295c87a926c3deb1e438234550a9d8fbbaad17fa";
sha256 = "sha256-ItPFUyyuctx/yyMVUn5Ez9f+taNiV6FR0q9wz1jwk8M=";
rev = "d867bf17e6d2f9a7c83c9a1ffafda5184a24c0e3";
sha256 = "sha256-W7/8/3FzwErPkRlfuyqajova6LRKarANPtc6L/z20CI=";
};
postPatch = ''
@@ -1,65 +1,77 @@
{ lib, fetchFromGitHub, python3 }:
{ lib
, fetchFromGitHub
, python3
}:
let
python = python3.override {
packageOverrides = self: super: {
click = super.click.overridePythonAttrs (old: rec {
version = "7.1.2";
src = old.src.override {
inherit version;
hash = "sha256-0rUlXHxjSbwb0eWeCM0SrLvWPOZJ8liHVXg6qU37axo=";
};
});
requests-aws4auth = super.requests-aws4auth.overridePythonAttrs (old: {
doCheck = false; # requires click>=8.0
});
};
};
in python.pkgs.buildPythonApplication rec {
pname = "elasticsearch-curator";
version = "5.8.4";
format = "setuptools";
python3.pkgs.buildPythonApplication rec {
pname = "elasticsearch-curator";
version = "8.0.4";
format = "pyproject";
src = fetchFromGitHub {
owner = "elastic";
repo = "curator";
rev = "v${version}";
hash = "sha256-wSfd52jebUkgF5xhjcoUjI7j46eJF33pVb4Wrybq44g=";
rev = "refs/tags/v${version}";
hash = "sha256-FPp2BpfYsmNwwevYQ6EH3N1q0TjyeEsBeDM9EUbLl+Q=";
};
postPatch = ''
substituteInPlace setup.cfg \
--replace "urllib3==1.26.4" "urllib3"
substituteInPlace setup.py \
--replace "urllib3==1.26.4" "urllib3" \
--replace "pyyaml==5.4.1" "pyyaml"
'';
propagatedBuildInputs = with python.pkgs; [
elasticsearch
urllib3
requests
boto3
requests-aws4auth
click
pyyaml
voluptuous
certifi
six
pythonRelaxDeps = [
"click"
"ecs-logging"
"elasticsearch8"
"es_client"
"pyyaml"
];
nativeCheckInputs = with python.pkgs; [
nativeBuildInputs = with python3.pkgs; [
hatchling
pythonRelaxDepsHook
];
propagatedBuildInputs = with python3.pkgs; [
certifi
click
ecs-logging
elasticsearch8
es-client
pyyaml
six
voluptuous
];
nativeCheckInputs = with python3.pkgs; [
mock
requests
pytestCheckHook
];
disabledTestPaths = [
"test/integration" # requires running elasticsearch
# Test requires running elasticsearch
"tests/integration/test_alias.py"
"tests/integration/test_allocation.py"
"tests/integration/test_cli.py"
"tests/integration/test_close.py"
"tests/integration/test_clusterrouting.py"
"tests/integration/test_count_pattern.py"
"tests/integration/test_create_index.py"
"tests/integration/test_datemath.py"
"tests/integration/test_delete_indices.py"
"tests/integration/test_delete_snapshots.py"
"tests/integration/test_delete_snapshots.py"
"tests/integration/test_es_repo_mgr.py"
"tests/integration/test_forcemerge.py"
"tests/integration/test_integrations.py"
"tests/integration/test_open.py"
"tests/integration/test_reindex.py"
"tests/integration/test_replicas.py"
"tests/integration/test_restore.py"
"tests/integration/test_rollover.py"
"tests/integration/test_shrink.py"
"tests/integration/test_snapshot.py"
];
disabledTests = [
# access network
# Test require access network
"test_api_key_not_set"
"test_api_key_set"
];
@@ -80,6 +92,7 @@ in python.pkgs.buildPythonApplication rec {
* Perform various actions on the items which remain in the actionable list.
'';
changelog = "https://github.com/elastic/curator/releases/tag/v${version}";
maintainers = with maintainers; [ basvandijk ];
};
}
+2 -2
View File
@@ -2,13 +2,13 @@
python3Packages.buildPythonApplication rec {
pname = "volctl";
version = "0.9.2";
version = "0.9.4";
src = fetchFromGitHub {
owner = "buzz";
repo = pname;
rev = "v${version}";
sha256 = "sha256-ill0rwqrgAH7lbzh86DQc1Q71lkYh8PCKZvi4XadsW8=";
sha256 = "sha256-jzS97KV17wKeBI6deKE4rEj5lvqC38fq1JGundHn2So=";
};
postPatch = ''
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "chezmoi";
version = "2.33.5";
version = "2.33.6";
src = fetchFromGitHub {
owner = "twpayne";
repo = "chezmoi";
rev = "v${version}";
hash = "sha256-/Dh410wloqwo6dC9YP4Ufr6E56dnHoi48QSiYMSqml0=";
hash = "sha256-tBEhhYfwbipOmGl9lkzhOdXRf3CPNhaIYi4wppAW4Ps=";
};
vendorHash = "sha256-P6PbriempswIH2h1RBTuhtxcmPI5T5lKS9nXRotARa8=";
vendorHash = "sha256-NDqwA6JHpq8ItT7ctv3KKkUwDZNgAjfgigqX9mGEYVY=";
doCheck = false;
+3 -3
View File
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "pgmetrics";
version = "1.14.1";
version = "1.15.0";
src = fetchFromGitHub {
owner = "rapidloop";
repo = pname;
rev = "v${version}";
sha256 = "sha256-Uwi21dNhpDhrcLS2Ra0vaRsvdqEz7FX7SPILeq12ZnE=";
sha256 = "sha256-tEPn+/xTDBFWf3SH/+5R38zWGAmMCHcFw/JvuvG2Jvs=";
};
vendorHash = "sha256-BGm3LvKOtlba/BtZ4Ue3Tzphlj5ZSqSzXTF8gSgRYEU=";
vendorHash = "sha256-jRgOIhRB5F/rbfNniXoOllvDqoHP8nkVwmEPSreHYXg=";
doCheck = false;
+2 -2
View File
@@ -1,12 +1,12 @@
{ lib, stdenv, fetchurl, makeWrapper, jre, graphviz }:
stdenv.mkDerivation rec {
version = "1.2023.6";
version = "1.2023.7";
pname = "plantuml";
src = fetchurl {
url = "https://github.com/plantuml/plantuml/releases/download/v${version}/plantuml-pdf-${version}.jar";
sha256 = "sha256-Ce9e0B+Sb8o7a5rO5RC7f1TzeEjXSC25FdZ3aPLKlu4=";
sha256 = "sha256-EWM3wL2TTr1r8Gb9m4PK+KnRD6YtMDGHWrXAzSkGbd0=";
};
nativeBuildInputs = [ makeWrapper ];
@@ -1,71 +0,0 @@
{ lib, stdenv, fetchFromGitHub
, pkgs, makeWrapper, buildEnv
, nodejs, runtimeShell
}:
let
nodePackages = import ./node.nix {
inherit pkgs;
system = stdenv.hostPlatform.system;
};
runtimeEnv = buildEnv {
name = "airfield-runtime";
paths = with nodePackages; [
nodePackages."express-3.0.5" nodePackages."swig-0.14.0"
nodePackages."consolidate-0.10.0" redis connect-redis
async request
];
};
name = "airfield-${version}";
version = "2015-01-04";
src = stdenv.mkDerivation {
name = "${name}-src";
inherit version;
src = fetchFromGitHub {
owner = "emblica";
repo = "airfield";
rev = "f021b19a35be3db9be7780318860f3b528c48641";
sha256 = "1xk69x89kgg98hm7c2ysyfmg7pkvgkpg4wym6v5cmdkdid08fsgs";
};
dontBuild = true;
installPhase = ''
mkdir $out
cp -R . $out
'';
};
in stdenv.mkDerivation {
inherit name version src;
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ nodejs ];
dontBuild = true;
installPhase = ''
mkdir -p $out/bin
cat >$out/bin/airfield <<EOF
#!${runtimeShell}
${nodejs}/bin/node ${src}/airfield.js
EOF
'';
postFixup = ''
chmod +x $out/bin/airfield
wrapProgram $out/bin/airfield \
--set NODE_PATH "${runtimeEnv}/lib/node_modules"
'';
meta = with lib; {
description = "A web-interface for hipache-proxy";
license = licenses.mit;
homepage = "https://github.com/emblica/airfield";
maintainers = with maintainers; [ offline ];
platforms = platforms.linux;
};
}
-8
View File
@@ -1,8 +0,0 @@
[ { "express": "3.0.5" }
, { "swig": "0.14.0" }
, { "consolidate": "0.10.0" }
, "redis"
, "connect-redis"
, "async"
, "request"
]
-6
View File
@@ -1,6 +0,0 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p nodePackages.node2nix
node2nix --nodejs-16 -i deps.json \
--no-copy-node-env \
-e ../../../development/node-packages/node-env.nix -c node.nix
-829
View File
@@ -1,829 +0,0 @@
# This file has been generated by node2nix 1.9.0. Do not edit!
{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
let
sources = {
"ajv-6.12.6" = {
name = "ajv";
packageName = "ajv";
version = "6.12.6";
src = fetchurl {
url = "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz";
sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
};
};
"asn1-0.2.4" = {
name = "asn1";
packageName = "asn1";
version = "0.2.4";
src = fetchurl {
url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz";
sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==";
};
};
"assert-plus-1.0.0" = {
name = "assert-plus";
packageName = "assert-plus";
version = "1.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
};
};
"asynckit-0.4.0" = {
name = "asynckit";
packageName = "asynckit";
version = "0.4.0";
src = fetchurl {
url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
};
};
"aws-sign2-0.7.0" = {
name = "aws-sign2";
packageName = "aws-sign2";
version = "0.7.0";
src = fetchurl {
url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
};
};
"aws4-1.11.0" = {
name = "aws4";
packageName = "aws4";
version = "1.11.0";
src = fetchurl {
url = "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz";
sha512 = "xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==";
};
};
"bcrypt-pbkdf-1.0.2" = {
name = "bcrypt-pbkdf";
packageName = "bcrypt-pbkdf";
version = "1.0.2";
src = fetchurl {
url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
};
};
"buffer-crc32-0.1.1" = {
name = "buffer-crc32";
packageName = "buffer-crc32";
version = "0.1.1";
src = fetchurl {
url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz";
sha1 = "7e110dc9953908ab7c32acdc70c9f945b1cbc526";
};
};
"bytes-0.1.0" = {
name = "bytes";
packageName = "bytes";
version = "0.1.0";
src = fetchurl {
url = "https://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz";
sha1 = "c574812228126d6369d1576925a8579db3f8e5a2";
};
};
"caseless-0.12.0" = {
name = "caseless";
packageName = "caseless";
version = "0.12.0";
src = fetchurl {
url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
sha1 = "1b681c21ff84033c826543090689420d187151dc";
};
};
"combined-stream-1.0.8" = {
name = "combined-stream";
packageName = "combined-stream";
version = "1.0.8";
src = fetchurl {
url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz";
sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
};
};
"commander-0.6.1" = {
name = "commander";
packageName = "commander";
version = "0.6.1";
src = fetchurl {
url = "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
};
};
"connect-2.7.1" = {
name = "connect";
packageName = "connect";
version = "2.7.1";
src = fetchurl {
url = "https://registry.npmjs.org/connect/-/connect-2.7.1.tgz";
sha1 = "b869df9acf3dd8a0af7523c7c6f1aa8b4b761daa";
};
};
"cookie-0.0.5" = {
name = "cookie";
packageName = "cookie";
version = "0.0.5";
src = fetchurl {
url = "https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81";
};
};
"cookie-signature-0.0.1" = {
name = "cookie-signature";
packageName = "cookie-signature";
version = "0.0.1";
src = fetchurl {
url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-0.0.1.tgz";
sha1 = "13d3603b5cf63befbf85a8801e37aa900db46985";
};
};
"core-util-is-1.0.2" = {
name = "core-util-is";
packageName = "core-util-is";
version = "1.0.2";
src = fetchurl {
url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
};
};
"crc-0.2.0" = {
name = "crc";
packageName = "crc";
version = "0.2.0";
src = fetchurl {
url = "https://registry.npmjs.org/crc/-/crc-0.2.0.tgz";
sha1 = "f4486b9bf0a12df83c3fca14e31e030fdabd9454";
};
};
"dashdash-1.14.1" = {
name = "dashdash";
packageName = "dashdash";
version = "1.14.1";
src = fetchurl {
url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
};
};
"debug-4.3.2" = {
name = "debug";
packageName = "debug";
version = "4.3.2";
src = fetchurl {
url = "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz";
sha512 = "mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==";
};
};
"delayed-stream-1.0.0" = {
name = "delayed-stream";
packageName = "delayed-stream";
version = "1.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
};
};
"denque-1.5.0" = {
name = "denque";
packageName = "denque";
version = "1.5.0";
src = fetchurl {
url = "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz";
sha512 = "CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==";
};
};
"ecc-jsbn-0.1.2" = {
name = "ecc-jsbn";
packageName = "ecc-jsbn";
version = "0.1.2";
src = fetchurl {
url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
sha1 = "3a83a904e54353287874c564b7549386849a98c9";
};
};
"extend-3.0.2" = {
name = "extend";
packageName = "extend";
version = "3.0.2";
src = fetchurl {
url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
};
};
"extsprintf-1.3.0" = {
name = "extsprintf";
packageName = "extsprintf";
version = "1.3.0";
src = fetchurl {
url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
};
};
"fast-deep-equal-3.1.3" = {
name = "fast-deep-equal";
packageName = "fast-deep-equal";
version = "3.1.3";
src = fetchurl {
url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz";
sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
};
};
"fast-json-stable-stringify-2.1.0" = {
name = "fast-json-stable-stringify";
packageName = "fast-json-stable-stringify";
version = "2.1.0";
src = fetchurl {
url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
};
};
"forever-agent-0.6.1" = {
name = "forever-agent";
packageName = "forever-agent";
version = "0.6.1";
src = fetchurl {
url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
};
};
"form-data-2.3.3" = {
name = "form-data";
packageName = "form-data";
version = "2.3.3";
src = fetchurl {
url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz";
sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==";
};
};
"formidable-1.0.11" = {
name = "formidable";
packageName = "formidable";
version = "1.0.11";
src = fetchurl {
url = "https://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz";
sha1 = "68f63325a035e644b6f7bb3d11243b9761de1b30";
};
};
"fresh-0.1.0" = {
name = "fresh";
packageName = "fresh";
version = "0.1.0";
src = fetchurl {
url = "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
};
};
"getpass-0.1.7" = {
name = "getpass";
packageName = "getpass";
version = "0.1.7";
src = fetchurl {
url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
};
};
"har-schema-2.0.0" = {
name = "har-schema";
packageName = "har-schema";
version = "2.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz";
sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
};
};
"har-validator-5.1.5" = {
name = "har-validator";
packageName = "har-validator";
version = "5.1.5";
src = fetchurl {
url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz";
sha512 = "nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==";
};
};
"http-signature-1.2.0" = {
name = "http-signature";
packageName = "http-signature";
version = "1.2.0";
src = fetchurl {
url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz";
sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
};
};
"is-typedarray-1.0.0" = {
name = "is-typedarray";
packageName = "is-typedarray";
version = "1.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
};
};
"isstream-0.1.2" = {
name = "isstream";
packageName = "isstream";
version = "0.1.2";
src = fetchurl {
url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
};
};
"jsbn-0.1.1" = {
name = "jsbn";
packageName = "jsbn";
version = "0.1.1";
src = fetchurl {
url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
};
};
"json-schema-0.2.3" = {
name = "json-schema";
packageName = "json-schema";
version = "0.2.3";
src = fetchurl {
url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
};
};
"json-schema-traverse-0.4.1" = {
name = "json-schema-traverse";
packageName = "json-schema-traverse";
version = "0.4.1";
src = fetchurl {
url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
};
};
"json-stringify-safe-5.0.1" = {
name = "json-stringify-safe";
packageName = "json-stringify-safe";
version = "5.0.1";
src = fetchurl {
url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
};
};
"jsprim-1.4.1" = {
name = "jsprim";
packageName = "jsprim";
version = "1.4.1";
src = fetchurl {
url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
};
};
"methods-0.0.1" = {
name = "methods";
packageName = "methods";
version = "0.0.1";
src = fetchurl {
url = "https://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c";
};
};
"mime-1.2.6" = {
name = "mime";
packageName = "mime";
version = "1.2.6";
src = fetchurl {
url = "https://registry.npmjs.org/mime/-/mime-1.2.6.tgz";
sha1 = "b1f86c768c025fa87b48075f1709f28aeaf20365";
};
};
"mime-db-1.45.0" = {
name = "mime-db";
packageName = "mime-db";
version = "1.45.0";
src = fetchurl {
url = "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz";
sha512 = "CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==";
};
};
"mime-types-2.1.28" = {
name = "mime-types";
packageName = "mime-types";
version = "2.1.28";
src = fetchurl {
url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz";
sha512 = "0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==";
};
};
"mkdirp-0.3.3" = {
name = "mkdirp";
packageName = "mkdirp";
version = "0.3.3";
src = fetchurl {
url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.3.tgz";
sha1 = "595e251c1370c3a68bab2136d0e348b8105adf13";
};
};
"ms-2.1.2" = {
name = "ms";
packageName = "ms";
version = "2.1.2";
src = fetchurl {
url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
};
};
"oauth-sign-0.9.0" = {
name = "oauth-sign";
packageName = "oauth-sign";
version = "0.9.0";
src = fetchurl {
url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz";
sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==";
};
};
"pause-0.0.1" = {
name = "pause";
packageName = "pause";
version = "0.0.1";
src = fetchurl {
url = "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
};
};
"performance-now-2.1.0" = {
name = "performance-now";
packageName = "performance-now";
version = "2.1.0";
src = fetchurl {
url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz";
sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
};
};
"psl-1.8.0" = {
name = "psl";
packageName = "psl";
version = "1.8.0";
src = fetchurl {
url = "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz";
sha512 = "RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==";
};
};
"punycode-2.1.1" = {
name = "punycode";
packageName = "punycode";
version = "2.1.1";
src = fetchurl {
url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz";
sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
};
};
"qs-0.5.1" = {
name = "qs";
packageName = "qs";
version = "0.5.1";
src = fetchurl {
url = "https://registry.npmjs.org/qs/-/qs-0.5.1.tgz";
sha1 = "9f6bf5d9ac6c76384e95d36d15b48980e5e4add0";
};
};
"qs-6.5.2" = {
name = "qs";
packageName = "qs";
version = "6.5.2";
src = fetchurl {
url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
};
};
"range-parser-0.0.4" = {
name = "range-parser";
packageName = "range-parser";
version = "0.0.4";
src = fetchurl {
url = "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
};
};
"redis-commands-1.6.0" = {
name = "redis-commands";
packageName = "redis-commands";
version = "1.6.0";
src = fetchurl {
url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.6.0.tgz";
sha512 = "2jnZ0IkjZxvguITjFTrGiLyzQZcTvaw8DAaCXxZq/dsHXz7KfMQ3OUJy7Tz9vnRtZRVz6VRCPDvruvU8Ts44wQ==";
};
};
"redis-errors-1.2.0" = {
name = "redis-errors";
packageName = "redis-errors";
version = "1.2.0";
src = fetchurl {
url = "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz";
sha1 = "eb62d2adb15e4eaf4610c04afe1529384250abad";
};
};
"redis-parser-3.0.0" = {
name = "redis-parser";
packageName = "redis-parser";
version = "3.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz";
sha1 = "b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4";
};
};
"safe-buffer-5.2.1" = {
name = "safe-buffer";
packageName = "safe-buffer";
version = "5.2.1";
src = fetchurl {
url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz";
sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
};
};
"safer-buffer-2.1.2" = {
name = "safer-buffer";
packageName = "safer-buffer";
version = "2.1.2";
src = fetchurl {
url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
};
};
"send-0.1.0" = {
name = "send";
packageName = "send";
version = "0.1.0";
src = fetchurl {
url = "https://registry.npmjs.org/send/-/send-0.1.0.tgz";
sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640";
};
};
"sshpk-1.16.1" = {
name = "sshpk";
packageName = "sshpk";
version = "1.16.1";
src = fetchurl {
url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz";
sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==";
};
};
"tough-cookie-2.5.0" = {
name = "tough-cookie";
packageName = "tough-cookie";
version = "2.5.0";
src = fetchurl {
url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz";
sha512 = "nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==";
};
};
"tunnel-agent-0.6.0" = {
name = "tunnel-agent";
packageName = "tunnel-agent";
version = "0.6.0";
src = fetchurl {
url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
};
};
"tweetnacl-0.14.5" = {
name = "tweetnacl";
packageName = "tweetnacl";
version = "0.14.5";
src = fetchurl {
url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
};
};
"underscore-1.12.0" = {
name = "underscore";
packageName = "underscore";
version = "1.12.0";
src = fetchurl {
url = "https://registry.npmjs.org/underscore/-/underscore-1.12.0.tgz";
sha512 = "21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ==";
};
};
"uri-js-4.4.1" = {
name = "uri-js";
packageName = "uri-js";
version = "4.4.1";
src = fetchurl {
url = "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz";
sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
};
};
"uuid-3.4.0" = {
name = "uuid";
packageName = "uuid";
version = "3.4.0";
src = fetchurl {
url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz";
sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==";
};
};
"verror-1.10.0" = {
name = "verror";
packageName = "verror";
version = "1.10.0";
src = fetchurl {
url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz";
sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
};
};
};
in
{
"express-3.0.5" = nodeEnv.buildNodePackage {
name = "express";
packageName = "express";
version = "3.0.5";
src = fetchurl {
url = "https://registry.npmjs.org/express/-/express-3.0.5.tgz";
sha1 = "4c6e5850e6b5e8ca2af57f21ed7097de50948b73";
};
dependencies = [
sources."buffer-crc32-0.1.1"
sources."bytes-0.1.0"
sources."commander-0.6.1"
sources."connect-2.7.1"
sources."cookie-0.0.5"
sources."cookie-signature-0.0.1"
sources."crc-0.2.0"
sources."debug-4.3.2"
sources."formidable-1.0.11"
sources."fresh-0.1.0"
sources."methods-0.0.1"
sources."mime-1.2.6"
sources."mkdirp-0.3.3"
sources."ms-2.1.2"
sources."pause-0.0.1"
sources."qs-0.5.1"
sources."range-parser-0.0.4"
sources."send-0.1.0"
];
buildInputs = globalBuildInputs;
meta = {
description = "Sinatra inspired web development framework";
};
production = true;
bypassCache = true;
reconstructLock = true;
};
"swig-0.14.0" = nodeEnv.buildNodePackage {
name = "swig";
packageName = "swig";
version = "0.14.0";
src = fetchurl {
url = "https://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
};
dependencies = [
sources."underscore-1.12.0"
];
buildInputs = globalBuildInputs;
meta = {
description = "A fast django-like templating engine for node.js and browsers.";
};
production = true;
bypassCache = true;
reconstructLock = true;
};
"consolidate-0.10.0" = nodeEnv.buildNodePackage {
name = "consolidate";
packageName = "consolidate";
version = "0.10.0";
src = fetchurl {
url = "https://registry.npmjs.org/consolidate/-/consolidate-0.10.0.tgz";
sha1 = "81f1a6ceba1247df9cef7a261ce527c2ce538f7a";
};
buildInputs = globalBuildInputs;
meta = {
description = "Template engine consolidation library";
homepage = "https://github.com/visionmedia/consolidate.js";
};
production = true;
bypassCache = true;
reconstructLock = true;
};
redis = nodeEnv.buildNodePackage {
name = "redis";
packageName = "redis";
version = "3.0.2";
src = fetchurl {
url = "https://registry.npmjs.org/redis/-/redis-3.0.2.tgz";
sha512 = "PNhLCrjU6vKVuMOyFu7oSP296mwBkcE6lrAjruBYG5LgdSqtRBoVQIylrMyVZD/lkF24RSNNatzvYag6HRBHjQ==";
};
dependencies = [
sources."denque-1.5.0"
sources."redis-commands-1.6.0"
sources."redis-errors-1.2.0"
sources."redis-parser-3.0.0"
];
buildInputs = globalBuildInputs;
meta = {
description = "A high performance Redis client.";
homepage = "https://github.com/NodeRedis/node-redis";
license = "MIT";
};
production = true;
bypassCache = true;
reconstructLock = true;
};
connect-redis = nodeEnv.buildNodePackage {
name = "connect-redis";
packageName = "connect-redis";
version = "5.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/connect-redis/-/connect-redis-5.0.0.tgz";
sha512 = "R4nTW5uXeG5s6zr/q4abmtcdloglZrL/A3cpa0JU0RLFJU4mTR553HUY8OZ0ngeySkGDclwQ5xmCcjjKkxdOSg==";
};
buildInputs = globalBuildInputs;
meta = {
description = "Redis session store for Connect";
homepage = "https://github.com/visionmedia/connect-redis#readme";
license = "MIT";
};
production = true;
bypassCache = true;
reconstructLock = true;
};
async = nodeEnv.buildNodePackage {
name = "async";
packageName = "async";
version = "3.2.0";
src = fetchurl {
url = "https://registry.npmjs.org/async/-/async-3.2.0.tgz";
sha512 = "TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==";
};
buildInputs = globalBuildInputs;
meta = {
description = "Higher-order functions and common patterns for asynchronous code";
homepage = "https://caolan.github.io/async/";
license = "MIT";
};
production = true;
bypassCache = true;
reconstructLock = true;
};
request = nodeEnv.buildNodePackage {
name = "request";
packageName = "request";
version = "2.88.2";
src = fetchurl {
url = "https://registry.npmjs.org/request/-/request-2.88.2.tgz";
sha512 = "MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==";
};
dependencies = [
sources."ajv-6.12.6"
sources."asn1-0.2.4"
sources."assert-plus-1.0.0"
sources."asynckit-0.4.0"
sources."aws-sign2-0.7.0"
sources."aws4-1.11.0"
sources."bcrypt-pbkdf-1.0.2"
sources."caseless-0.12.0"
sources."combined-stream-1.0.8"
sources."core-util-is-1.0.2"
sources."dashdash-1.14.1"
sources."delayed-stream-1.0.0"
sources."ecc-jsbn-0.1.2"
sources."extend-3.0.2"
sources."extsprintf-1.3.0"
sources."fast-deep-equal-3.1.3"
sources."fast-json-stable-stringify-2.1.0"
sources."forever-agent-0.6.1"
sources."form-data-2.3.3"
sources."getpass-0.1.7"
sources."har-schema-2.0.0"
sources."har-validator-5.1.5"
sources."http-signature-1.2.0"
sources."is-typedarray-1.0.0"
sources."isstream-0.1.2"
sources."jsbn-0.1.1"
sources."json-schema-0.2.3"
sources."json-schema-traverse-0.4.1"
sources."json-stringify-safe-5.0.1"
sources."jsprim-1.4.1"
sources."mime-db-1.45.0"
sources."mime-types-2.1.28"
sources."oauth-sign-0.9.0"
sources."performance-now-2.1.0"
sources."psl-1.8.0"
sources."punycode-2.1.1"
sources."qs-6.5.2"
sources."safe-buffer-5.2.1"
sources."safer-buffer-2.1.2"
sources."sshpk-1.16.1"
sources."tough-cookie-2.5.0"
sources."tunnel-agent-0.6.0"
sources."tweetnacl-0.14.5"
sources."uri-js-4.4.1"
sources."uuid-3.4.0"
sources."verror-1.10.0"
];
buildInputs = globalBuildInputs;
meta = {
description = "Simplified HTTP request client.";
homepage = "https://github.com/request/request#readme";
license = "Apache-2.0";
};
production = true;
bypassCache = true;
reconstructLock = true;
};
}
-17
View File
@@ -1,17 +0,0 @@
# This file has been generated by node2nix 1.9.0. Do not edit!
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs_14"}:
let
nodeEnv = import ../../../development/node-packages/node-env.nix {
inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript;
inherit pkgs nodejs;
libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
};
in
import ./node-packages.nix {
inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
inherit nodeEnv;
}
+9 -3
View File
@@ -1,4 +1,9 @@
{ lib, fetchFromGitHub, buildGoModule, testers, clash }:
{ lib
, fetchFromGitHub
, buildGoModule
, testers
, clash
}:
buildGoModule rec {
pname = "clash";
@@ -7,7 +12,7 @@ buildGoModule rec {
src = fetchFromGitHub {
owner = "Dreamacro";
repo = pname;
rev = "v${version}";
rev = "refs/tags/v${version}";
hash = "sha256-y2Z4YaVKKFxZzLUOUs1PeMkWhFimAhu9nAahhX/4Xn8=";
};
@@ -31,7 +36,8 @@ buildGoModule rec {
meta = with lib; {
description = "A rule-based tunnel in Go";
homepage = "https://github.com/Dreamacro/clash";
homepage = "https://dreamacro.github.io/clash/";
changelog = "https://github.com/Dreamacro/clash/releases/tag/v${version}";
license = licenses.gpl3Only;
maintainers = with maintainers; [ contrun Br1ght0ne ];
};
+35
View File
@@ -0,0 +1,35 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "girsh";
version = "0.41";
src = fetchFromGitHub {
owner = "nodauf";
repo = "Girsh";
rev = "refs/tags/v${version}";
hash = "sha256-MgzIBag0Exoh0TXW/AD0lbSOj7PVkMeVYQ8v5jdCgAs=";
};
vendorHash = "sha256-8NPFohguMX/X1khEPF+noLBNe/MUoPpXS2PN6SiotL8=";
ldflags = [
"-s"
"-w"
];
postInstall = ''
mv $out/bin/src $out/bin/$pname
'';
meta = with lib; {
description = "Automatically spawn a reverse shell fully interactive for Linux or Windows victim";
homepage = "https://github.com/nodauf/Girsh";
changelog = "https://github.com/nodauf/Girsh/releases/tag/v${version}";
license = licenses.gpl2Only;
maintainers = with maintainers; [ fab ];
};
}
+31 -15
View File
@@ -1,8 +1,10 @@
{ lib
, applyPatches
, buildNpmPackage
, dbus
, electron
, electron_24
, fetchFromGitHub
, fetchpatch
, glib
, gnome
, gtk3
@@ -11,7 +13,7 @@
, makeDesktopItem
, makeWrapper
, moreutils
, nodejs_16
, nodejs_18
, pkg-config
, python3
, rustPlatform
@@ -22,23 +24,32 @@ let
description = "A secure and free password manager for all of your devices";
icon = "bitwarden";
buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs_16; };
buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs_18; };
electron = electron_24;
version = "2023.3.2";
src = fetchFromGitHub {
owner = "bitwarden";
repo = "clients";
rev = "desktop-v${version}";
sha256 = "sha256-KQDM7XDUA+yRv8y1K//rMCs4J36df42RVsiAXazJeYQ=";
version = "2023.4.0";
src = applyPatches {
src = fetchFromGitHub {
owner = "bitwarden";
repo = "clients";
rev = "desktop-v${version}";
sha256 = "sha256-TTKDl6Py3k+fAy/kcyiMbAAKQdhVnZTyRXV8D/VpKBE=";
};
patches = [
# Bump electron to 24 and node to 18
(fetchpatch {
url = "https://github.com/bitwarden/clients/pull/5205.patch";
hash = "sha256-sKSrh8RHXtxGczyZScjTeiGZgTZCQ7f45ULj/j9cp6M=";
})
];
};
desktop-native = rustPlatform.buildRustPackage {
pname = "bitwarden-desktop-native";
inherit src version;
sourceRoot = "source/apps/desktop/desktop_native";
cargoSha256 = "sha256-XsAmVYWPPnY0cgBzpO2aWx/fh85fKr8kMO98cDMzOKk=";
patchFlags = [ "-p4" ];
sourceRoot = "source-patched/apps/desktop/desktop_native";
cargoSha256 = "sha256-VW9DmSh9jvqFCZjH1SAYkydSGjXSVEbv4CmtoJBiw5Y=";
nativeBuildInputs = [
pkg-config
@@ -91,7 +102,7 @@ buildNpmPackage' {
npmBuildFlags = [
"--workspace apps/desktop"
];
npmDepsHash = "sha256-RmkTWhakZstCCMLQ3iJ8KD5Yt5ZafXc8NDgncJMLaxs=";
npmDepsHash = "sha256-UXDn09qyM8GwfUiWLDhhyrGFZeKtTRmQArstw+tm5iE=";
ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
@@ -103,6 +114,11 @@ buildNpmPackage' {
];
preBuild = ''
if [[ $(jq --raw-output '.devDependencies.electron' < package.json | grep -E --only-matching '^[0-9]+') != ${lib.escapeShellArg (lib.versions.major electron.version)} ]]; then
echo 'ERROR: electron version mismatch'
exit 1
fi
jq 'del(.scripts.postinstall)' apps/desktop/package.json | sponge apps/desktop/package.json
jq '.scripts.build = ""' apps/desktop/desktop_native/package.json | sponge apps/desktop/desktop_native/package.json
cp ${desktop-native}/lib/libdesktop_native.so apps/desktop/desktop_native/desktop_native.linux-x64-musl.node
@@ -111,7 +127,7 @@ buildNpmPackage' {
postBuild = ''
pushd apps/desktop
"$(npm bin)"/electron-builder \
npm exec electron-builder -- \
--dir \
-c.electronDist=${electron}/lib/electron \
-c.electronVersion=${electron.version}
@@ -0,0 +1,31 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "kubestroyer";
version = "0.2";
src = fetchFromGitHub {
owner = "Rolix44";
repo = "Kubestroyer";
rev = "refs/tags/v${version}";
hash = "sha256-M/abb2IT0mXwj8lAitr18VtIgC4NvapPywBwcUWr9i8=";
};
vendorHash = "sha256-x0lIi4QUuYn0kv0HV4h8k61kRu10LCyELudisqUdTAg=";
ldflags = [
"-s"
"-w"
];
meta = with lib; {
description = "Kubernetes exploitation tool";
homepage = "https://github.com/Rolix44/Kubestroyer";
changelog = "https://github.com/Rolix44/Kubestroyer/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}
+34
View File
@@ -0,0 +1,34 @@
{ buildGoModule
, fetchFromGitHub
, lib
}:
buildGoModule rec {
pname = "oauth2c";
version = "1.7.0";
src = fetchFromGitHub {
owner = "cloudentity";
repo = pname;
rev = "v${version}";
hash = "sha256-IOfY0lKOeuArO3bI1JjTOXHhCqr3GTfsOHCOI0Qh4xk=";
};
vendorHash = "sha256-euEmslrSbXPVDNZkIguq+ukt74Um4H0+lIXEyCBorjE=";
doCheck = false; # tests want to talk to oauth2c.us.authz.cloudentity.io
meta = with lib; {
homepage = "https://github.com/cloudentity/oauth2c";
description = "User-friendly OAuth2 CLI";
longDescription = ''
oauth2c is a command-line tool for interacting with OAuth 2.0
authorization servers. Its goal is to make it easy to fetch access tokens
using any grant type or client authentication method. It is compliant with
almost all basic and advanced OAuth 2.0, OIDC, OIDF FAPI and JWT profiles.
'';
license = licenses.asl20;
maintainers = [ maintainers.flokli ];
platforms = platforms.darwin ++ platforms.linux;
};
}
+5 -3
View File
@@ -5,13 +5,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "theharvester";
version = "4.2.0";
version = "4.3.0";
src = fetchFromGitHub {
owner = "laramies";
repo = pname;
rev = version;
sha256 = "sha256-P3yp6COwyQnVDfZM198ygu+HLdisRw068aZOVSLl7r4=";
rev = "refs/tags/${version}";
hash = "sha256-9W4xN+ZSNdR5NOnwohNrQVW8JSEKFyKxWTz012uiUm8=";
};
propagatedBuildInputs = with python3.pkgs; [
@@ -30,6 +30,7 @@ python3.pkgs.buildPythonApplication rec {
orjson
plotly
pyppeteer
python-dateutil
pyyaml
requests
retrying
@@ -61,6 +62,7 @@ python3.pkgs.buildPythonApplication rec {
gathers emails, names, subdomains, IPs, and URLs using multiple public data sources.
'';
homepage = "https://github.com/laramies/theHarvester";
changelog = "https://github.com/laramies/theHarvester/releases/tag/${version}";
maintainers = with maintainers; [ c0bw3b treemo ];
license = licenses.gpl2Only;
};
+1
View File
@@ -65,6 +65,7 @@ mapAliases ({
aesop = throw "aesop has been removed from nixpkgs, as it was unmaintained"; # Added 2021-08-05
ag = throw "'ag' has been renamed to/replaced by 'silver-searcher'"; # Converted to throw 2022-02-22
aircrackng = throw "'aircrackng' has been renamed to/replaced by 'aircrack-ng'"; # Converted to throw 2022-02-22
airfield = throw "airfield has been removed due to being unmaintained"; # Added 2023-05-19
airtame = throw "airtame has been removed due to being unmaintained"; # Added 2022-01-19
aleth = throw "aleth (previously packaged as cpp_ethereum) has been removed; abandoned upstream"; # Added 2020-11-30
alsaLib = alsa-lib; # Added 2021-06-09
+14 -8
View File
@@ -262,6 +262,8 @@ with pkgs;
alterx = callPackage ../tools/security/alterx { };
asitop = pkgs.python3Packages.callPackage ../os-specific/darwin/asitop { };
asn = callPackage ../applications/networking/asn { };
asnmap = callPackage ../tools/security/asnmap { };
@@ -669,6 +671,8 @@ with pkgs;
erosmb = callPackage ../tools/security/erosmb { };
oauth2c = callPackage ../tools/security/oauth2c { };
octosuite = callPackage ../tools/security/octosuite { };
octosql = callPackage ../tools/misc/octosql { };
@@ -1426,8 +1430,6 @@ with pkgs;
aircrack-ng = callPackage ../tools/networking/aircrack-ng { };
airfield = callPackage ../tools/networking/airfield { };
airgeddon = callPackage ../tools/networking/airgeddon { };
apache-airflow = with python3.pkgs; toPythonApplication apache-airflow;
@@ -1699,7 +1701,9 @@ with pkgs;
speedtest-rs = callPackage ../tools/networking/speedtest-rs { };
stargazer = callPackage ../servers/gemini/stargazer { };
stargazer = callPackage ../servers/gemini/stargazer {
inherit (darwin.apple_sdk.frameworks) Security;
};
steamtinkerlaunch = callPackage ../tools/games/steamtinkerlaunch { };
@@ -2712,7 +2716,7 @@ with pkgs;
wayst = callPackage ../applications/terminal-emulators/wayst { };
wezterm = darwin.apple_sdk_11_0.callPackage ../applications/terminal-emulators/wezterm {
inherit (darwin.apple_sdk_11_0.frameworks) Cocoa CoreGraphics Foundation UserNotifications;
inherit (darwin.apple_sdk_11_0.frameworks) Cocoa CoreGraphics Foundation UserNotifications System;
};
x3270 = callPackage ../applications/terminal-emulators/x3270 { };
@@ -5023,6 +5027,8 @@ with pkgs;
gir-rs = callPackage ../development/tools/gir { };
girsh = callPackage ../tools/networking/girsh { };
gist = callPackage ../tools/text/gist { };
gitjacker = callPackage ../tools/security/gitjacker { };
@@ -16759,17 +16765,15 @@ with pkgs;
mbqn-source = buildPackages.mbqn.src;
phase0 = callPackage ../development/interpreters/bqn/cbqn {
inherit (cbqn-bootstrap) stdenv;
inherit (cbqn-bootstrap) mbqn-source stdenv;
genBytecode = false;
bqn-path = null;
mbqn-source = null;
};
phase0-replxx = callPackage ../development/interpreters/bqn/cbqn {
inherit (cbqn-bootstrap) stdenv;
inherit (cbqn-bootstrap) mbqn-source stdenv;
genBytecode = false;
bqn-path = null;
mbqn-source = null;
enableReplxx = true;
};
@@ -31832,6 +31836,8 @@ with pkgs;
kubeseal = callPackage ../applications/networking/cluster/kubeseal { };
kubestroyer = callPackage ../tools/security/kubestroyer { };
kubernix = callPackage ../applications/networking/cluster/kubernix { };
kubeconform = callPackage ../applications/networking/cluster/kubeconform { };
+1
View File
@@ -164,6 +164,7 @@ mapAliases ({
mailman-hyperkitty = throw "Please use pkgs.mailmanPackages.mailman-hyperkitty"; # added 2022-04-29
mailman-web = throw "Please use pkgs.mailman-web"; # added 2022-04-29
manticore = throw "manticore has been removed because its dependency wasm no longer builds and is unmaintained"; # added 2023-05-20
markerlib = throw "markerlib has been removed because it's abandoned since 2013"; # added 2023-05-19
mistune_0_8 = throw "mistune_0_8 was removed because it was outdated and insecure"; # added 2022-08-12
mistune_2_0 = mistune; # added 2022-08-12
mox = throw "mox was removed because it is unmaintained"; # added 2023-02-21
+2 -2
View File
@@ -2277,6 +2277,8 @@ self: super: with self; {
dash-table = callPackage ../development/python-modules/dash-table { };
dashing = callPackage ../development/python-modules/dashing { };
dask = callPackage ../development/python-modules/dask { };
dask-awkward = callPackage ../development/python-modules/dask-awkward { };
@@ -5997,8 +5999,6 @@ self: super: with self; {
markdownsuperscript = callPackage ../development/python-modules/markdownsuperscript { };
markerlib = callPackage ../development/python-modules/markerlib { };
markupsafe = callPackage ../development/python-modules/markupsafe { };
markuppy = callPackage ../development/python-modules/markuppy { };
+13 -1
View File
@@ -16,7 +16,19 @@
# Strip most of attributes when evaluating to spare memory usage
, scrubJobs ? true
# Attributes passed to nixpkgs. Don't build packages marked as unfree.
, nixpkgsArgs ? { config = { allowUnfree = false; inHydra = true; }; }
, nixpkgsArgs ? { config = {
allowUnfree = false;
inHydra = true;
permittedInsecurePackages = [
# *Exceptionally*, those packages will be cached with their *secure* dependents
# because they will reach EOL in the middle of the 23.05 release
# and it will be too much painful for our users to recompile them
# for no real reason.
# Remove them for 23.11.
"nodejs-16.20.0"
"openssl-1.1.1t"
];
}; }
}:
with import ./release-lib.nix { inherit supportedSystems scrubJobs nixpkgsArgs; };