Merge staging-next into staging
This commit is contained in:
@@ -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=";
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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, ... }: {
|
||||
|
||||
@@ -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
-13
@@ -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
|
||||
|
||||
|
||||
@@ -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,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
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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}"
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
-5645
File diff suppressed because it is too large
Load Diff
@@ -1,3 +0,0 @@
|
||||
[
|
||||
"newman"
|
||||
]
|
||||
+7
@@ -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.
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
];
|
||||
}
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
''
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
'';
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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,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 = ''
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
Generated
-8
@@ -1,8 +0,0 @@
|
||||
[ { "express": "3.0.5" }
|
||||
, { "swig": "0.14.0" }
|
||||
, { "consolidate": "0.10.0" }
|
||||
, "redis"
|
||||
, "connect-redis"
|
||||
, "async"
|
||||
, "request"
|
||||
]
|
||||
@@ -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
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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,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;
|
||||
};
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
@@ -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; };
|
||||
|
||||
Reference in New Issue
Block a user