Merge staging-next into staging
This commit is contained in:
commit
dc1fa2c776
|
@ -5553,6 +5553,12 @@
|
||||||
matrix = "@chris:netsoj.nl";
|
matrix = "@chris:netsoj.nl";
|
||||||
name = "Chris Josten";
|
name = "Chris Josten";
|
||||||
};
|
};
|
||||||
|
henkery = {
|
||||||
|
email = "jim@reupload.nl";
|
||||||
|
github = "henkery";
|
||||||
|
githubId = 1923309;
|
||||||
|
name = "Jim van Abkoude";
|
||||||
|
};
|
||||||
henrikolsson = {
|
henrikolsson = {
|
||||||
email = "henrik@fixme.se";
|
email = "henrik@fixme.se";
|
||||||
github = "henrikolsson";
|
github = "henrikolsson";
|
||||||
|
|
|
@ -42,7 +42,7 @@ in
|
||||||
description = mdDoc ''
|
description = mdDoc ''
|
||||||
Group policies to install.
|
Group policies to install.
|
||||||
|
|
||||||
See [Mozilla's documentation](https://github.com/mozilla/policy-templates/blob/master/README.md")
|
See [Mozilla's documentation](https://github.com/mozilla/policy-templates/blob/master/README.md)
|
||||||
for a list of available options.
|
for a list of available options.
|
||||||
|
|
||||||
This can be used to install extensions declaratively! Check out the
|
This can be used to install extensions declaratively! Check out the
|
||||||
|
@ -79,6 +79,114 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
languagePacks = mkOption {
|
||||||
|
# Available languages can be found in https://releases.mozilla.org/pub/firefox/releases/${cfg.package.version}/linux-x86_64/xpi/
|
||||||
|
type = types.listOf (types.enum ([
|
||||||
|
"ach"
|
||||||
|
"af"
|
||||||
|
"an"
|
||||||
|
"ar"
|
||||||
|
"ast"
|
||||||
|
"az"
|
||||||
|
"be"
|
||||||
|
"bg"
|
||||||
|
"bn"
|
||||||
|
"br"
|
||||||
|
"bs"
|
||||||
|
"ca-valencia"
|
||||||
|
"ca"
|
||||||
|
"cak"
|
||||||
|
"cs"
|
||||||
|
"cy"
|
||||||
|
"da"
|
||||||
|
"de"
|
||||||
|
"dsb"
|
||||||
|
"el"
|
||||||
|
"en-CA"
|
||||||
|
"en-GB"
|
||||||
|
"en-US"
|
||||||
|
"eo"
|
||||||
|
"es-AR"
|
||||||
|
"es-CL"
|
||||||
|
"es-ES"
|
||||||
|
"es-MX"
|
||||||
|
"et"
|
||||||
|
"eu"
|
||||||
|
"fa"
|
||||||
|
"ff"
|
||||||
|
"fi"
|
||||||
|
"fr"
|
||||||
|
"fy-NL"
|
||||||
|
"ga-IE"
|
||||||
|
"gd"
|
||||||
|
"gl"
|
||||||
|
"gn"
|
||||||
|
"gu-IN"
|
||||||
|
"he"
|
||||||
|
"hi-IN"
|
||||||
|
"hr"
|
||||||
|
"hsb"
|
||||||
|
"hu"
|
||||||
|
"hy-AM"
|
||||||
|
"ia"
|
||||||
|
"id"
|
||||||
|
"is"
|
||||||
|
"it"
|
||||||
|
"ja"
|
||||||
|
"ka"
|
||||||
|
"kab"
|
||||||
|
"kk"
|
||||||
|
"km"
|
||||||
|
"kn"
|
||||||
|
"ko"
|
||||||
|
"lij"
|
||||||
|
"lt"
|
||||||
|
"lv"
|
||||||
|
"mk"
|
||||||
|
"mr"
|
||||||
|
"ms"
|
||||||
|
"my"
|
||||||
|
"nb-NO"
|
||||||
|
"ne-NP"
|
||||||
|
"nl"
|
||||||
|
"nn-NO"
|
||||||
|
"oc"
|
||||||
|
"pa-IN"
|
||||||
|
"pl"
|
||||||
|
"pt-BR"
|
||||||
|
"pt-PT"
|
||||||
|
"rm"
|
||||||
|
"ro"
|
||||||
|
"ru"
|
||||||
|
"sco"
|
||||||
|
"si"
|
||||||
|
"sk"
|
||||||
|
"sl"
|
||||||
|
"son"
|
||||||
|
"sq"
|
||||||
|
"sr"
|
||||||
|
"sv-SE"
|
||||||
|
"szl"
|
||||||
|
"ta"
|
||||||
|
"te"
|
||||||
|
"th"
|
||||||
|
"tl"
|
||||||
|
"tr"
|
||||||
|
"trs"
|
||||||
|
"uk"
|
||||||
|
"ur"
|
||||||
|
"uz"
|
||||||
|
"vi"
|
||||||
|
"xh"
|
||||||
|
"zh-CN"
|
||||||
|
"zh-TW"
|
||||||
|
]));
|
||||||
|
default = [ ];
|
||||||
|
description = mdDoc ''
|
||||||
|
The language packs to install.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
autoConfig = mkOption {
|
autoConfig = mkOption {
|
||||||
type = types.lines;
|
type = types.lines;
|
||||||
default = "";
|
default = "";
|
||||||
|
@ -136,10 +244,19 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
# Preferences are converted into a policy
|
# Preferences are converted into a policy
|
||||||
programs.firefox.policies = mkIf (cfg.preferences != { }) {
|
programs.firefox.policies = {
|
||||||
Preferences = (mapAttrs
|
Preferences = (mapAttrs
|
||||||
(_: value: { Value = value; Status = cfg.preferencesStatus; })
|
(_: value: { Value = value; Status = cfg.preferencesStatus; })
|
||||||
cfg.preferences);
|
cfg.preferences);
|
||||||
|
ExtensionSettings = listToAttrs (map
|
||||||
|
(lang: nameValuePair
|
||||||
|
"langpack-${lang}@firefox.mozilla.org"
|
||||||
|
{
|
||||||
|
installation_mode = "normal_installed";
|
||||||
|
install_url = "https://releases.mozilla.org/pub/firefox/releases/${cfg.package.version}/linux-x86_64/xpi/${lang}.xpi";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
cfg.languagePacks);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
security.sudo.wheelNeedsPassword = false;
|
security.sudo.wheelNeedsPassword = false;
|
||||||
nix.trustedUsers = [ "root" "build" ];
|
nix.settings.trusted-users = [ "root" "build" ];
|
||||||
documentation.nixos.enable = false;
|
documentation.nixos.enable = false;
|
||||||
|
|
||||||
# builds.sr.ht-image-specific network settings
|
# builds.sr.ht-image-specific network settings
|
||||||
|
|
68
pkgs/applications/audio/tuner/default.nix
Normal file
68
pkgs/applications/audio/tuner/default.nix
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
{ stdenv
|
||||||
|
, lib
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pkg-config
|
||||||
|
, meson
|
||||||
|
, ninja
|
||||||
|
, vala
|
||||||
|
, glib
|
||||||
|
, itstool
|
||||||
|
, wrapGAppsHook
|
||||||
|
, desktop-file-utils
|
||||||
|
, libsoup
|
||||||
|
, json-glib
|
||||||
|
, geoclue2
|
||||||
|
, geocode-glib
|
||||||
|
, libgee
|
||||||
|
, gtk3
|
||||||
|
, pantheon
|
||||||
|
, gst_all_1
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "tuner";
|
||||||
|
version = "1.5.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "louis77";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-tG1AMEqHcp4jHNgWDy9fS2FtlxFTlpMD5MVbepIY+GY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkg-config
|
||||||
|
meson
|
||||||
|
ninja
|
||||||
|
vala
|
||||||
|
glib
|
||||||
|
itstool
|
||||||
|
wrapGAppsHook
|
||||||
|
desktop-file-utils
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
libsoup
|
||||||
|
json-glib
|
||||||
|
geoclue2
|
||||||
|
geocode-glib
|
||||||
|
libgee
|
||||||
|
glib
|
||||||
|
gtk3
|
||||||
|
pantheon.granite
|
||||||
|
gst_all_1.gstreamer
|
||||||
|
gst_all_1.gst-plugins-base
|
||||||
|
gst_all_1.gst-plugins-bad
|
||||||
|
gst_all_1.gst-plugins-good
|
||||||
|
gst_all_1.gst-plugins-ugly
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/louis77/tuner";
|
||||||
|
description = "An app to discover and play internet radio stations";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
mainProgram = "com.github.louis77.tuner";
|
||||||
|
maintainers = [ maintainers.abbe ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -115,7 +115,7 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "VCV-Rack";
|
pname = "VCV-Rack";
|
||||||
version = "2.2.0";
|
version = "2.2.1";
|
||||||
|
|
||||||
desktopItems = [
|
desktopItems = [
|
||||||
(makeDesktopItem {
|
(makeDesktopItem {
|
||||||
|
@ -135,7 +135,7 @@ stdenv.mkDerivation rec {
|
||||||
owner = "VCVRack";
|
owner = "VCVRack";
|
||||||
repo = "Rack";
|
repo = "Rack";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1ag1syjxdzxx13pdcfga9ksc6a5hw9bcdfhbry8qd2pxs9lmv2q6";
|
sha256 = "079alr6y0101k92v5lrnycljcbifh0hsvklbf4w5ax2zrxnyplq8";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -203,11 +203,9 @@ stdenv.mkDerivation rec {
|
||||||
zstd
|
zstd
|
||||||
];
|
];
|
||||||
|
|
||||||
makeFlags = [
|
makeFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
|
||||||
( if stdenv.hostPlatform.system == "aarch64-linux"
|
"CROSS_COMPILE=${stdenv.cc.targetPrefix}"
|
||||||
then "MACHINE=arm64-linux"
|
] ++ [
|
||||||
else "MACHINE=${stdenv.hostPlatform.config}"
|
|
||||||
)
|
|
||||||
"all"
|
"all"
|
||||||
"plugins"
|
"plugins"
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
diff --git a/Makefile b/Makefile
|
diff --git a/Makefile b/Makefile
|
||||||
index e1be07d1..309b3b0b 100644
|
index fc7c3af1..c3672c6a 100644
|
||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/Makefile
|
+++ b/Makefile
|
||||||
@@ -34,7 +34,7 @@ ifdef ARCH_LIN
|
@@ -34,7 +34,7 @@ ifdef ARCH_LIN
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
buildDotnetModule rec {
|
buildDotnetModule rec {
|
||||||
pname = "btcpayserver";
|
pname = "btcpayserver";
|
||||||
version = "1.7.1";
|
version = "1.7.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-6E8TJ1NgWlLTegDQ4UcCQpAAQibbefg5x7qhSrSKAgc=";
|
sha256 = "sha256-EZ8gfpTBmTB/lGtexZYbD9x1F7rFXIEaEhhwS6gOEV4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
projectFile = "BTCPayServer/BTCPayServer.csproj";
|
projectFile = "BTCPayServer/BTCPayServer.csproj";
|
||||||
|
|
91
pkgs/applications/blockchains/btcpayserver/deps.nix
generated
91
pkgs/applications/blockchains/btcpayserver/deps.nix
generated
|
@ -31,48 +31,58 @@
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "BTCPayServer.Lightning.All";
|
pname = "BTCPayServer.Lightning.All";
|
||||||
version = "1.4.9";
|
version = "1.4.12";
|
||||||
sha256 = "0r9ssz00d0zbbszs1ypc9jvbwg5myh9jmw46wvzk0jhp5xfz5mip";
|
sha256 = "1n7yv6q8fbk02d334a19zyicvlammjhfrg9rf18jyb3szj8g36k7";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "BTCPayServer.Lightning.Charge";
|
pname = "BTCPayServer.Lightning.Charge";
|
||||||
version = "1.3.14";
|
version = "1.3.16";
|
||||||
sha256 = "1frhj5jmncsdcb1x5jy733l40bqifdwirmq6mjdn3596fmgjvh9b";
|
sha256 = "050wh5gw3hgql8191z0yv7sj06wg5da6kvkbcg9hq3ildj0fdj67";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "BTCPayServer.Lightning.CLightning";
|
pname = "BTCPayServer.Lightning.CLightning";
|
||||||
|
version = "1.3.19";
|
||||||
|
sha256 = "1jx9233apry0kb54df7k0p7vrsp3hp27f5d0j2802gry04sihrl7";
|
||||||
|
})
|
||||||
|
(fetchNuGet {
|
||||||
|
pname = "BTCPayServer.Lightning.Common";
|
||||||
version = "1.3.16";
|
version = "1.3.16";
|
||||||
sha256 = "0nh1fcjpkl6l2par60p0w7nwc45za28iagmdsq6czz68kpvfx83c";
|
sha256 = "1g37736b4k0ncpyy2qycbk4l85fqvgwac3k98nbdj0dvhfghp1dn";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "BTCPayServer.Lightning.Common";
|
pname = "BTCPayServer.Lightning.Common";
|
||||||
version = "1.3.15";
|
version = "1.3.17";
|
||||||
sha256 = "1axmdn6qdzxljdvidw8s68sfgy5ykmxv0nkzcdsgdmhisahaz2pa";
|
sha256 = "1bb8q57lnqnp3wijw41vvbwgz8rgg4g9pw8qhd4iiqi1w94q1bkz";
|
||||||
})
|
|
||||||
(fetchNuGet {
|
|
||||||
pname = "BTCPayServer.Lightning.Common";
|
|
||||||
version = "1.3.7";
|
|
||||||
sha256 = "1hsn51zx34fswjph1dgplwj92045d4ymallryjxbm5gl1wgnvqvz";
|
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "BTCPayServer.Lightning.Eclair";
|
pname = "BTCPayServer.Lightning.Eclair";
|
||||||
version = "1.3.14";
|
version = "1.3.16";
|
||||||
sha256 = "1ld5diahj75jbnqmvvsc0h65sbd4i73k7sik325yw4gvz4jmw2ih";
|
sha256 = "1q109kmzj99axk35l68z3gi29ww1xd62zaxj1f39myvlcv9ncb41";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "BTCPayServer.Lightning.LNBank";
|
pname = "BTCPayServer.Lightning.LNBank";
|
||||||
version = "1.3.16";
|
version = "1.3.18";
|
||||||
sha256 = "0nq36jg0qfj93djk5b9i42v8gm2zqkf8a2ddb69z52gsg8ixvcm6";
|
sha256 = "166v6mhmy47fgny55c4mzqb2x7anqyxnd0g409vfgyg5fq4gc15v";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "BTCPayServer.Lightning.LND";
|
pname = "BTCPayServer.Lightning.LND";
|
||||||
version = "1.4.7";
|
version = "1.4.9";
|
||||||
sha256 = "144wlnlvkmn1hrl7kwsqfvlla3lknd599rmp6zf1nv0n4jsj15l4";
|
sha256 = "0ya365w3i3sjv7wafm6wmasf9mpfsh0fcbhawsv5br7m7lpppwhh";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "BTCPayServer.Lightning.LNDhub";
|
pname = "BTCPayServer.Lightning.LNDhub";
|
||||||
version = "1.0.10";
|
version = "1.0.12";
|
||||||
sha256 = "12c5gmd62vik0ar786jlhzf0gid4smi5ysl12mxpx1i0dndgapbh";
|
sha256 = "1gb61a5mdmyigy7ps2c8n4iig6i32rdsif9kwn35yxx25zbnmbk2";
|
||||||
|
})
|
||||||
|
(fetchNuGet {
|
||||||
|
pname = "BTCPayServer.NETCore.Plugins.Mvc";
|
||||||
|
version = "1.4.4";
|
||||||
|
sha256 = "1kmmj5m7s41wc1akpqw1b1j7pp4c0vn6sqxb487980ibpj6hyisl";
|
||||||
|
})
|
||||||
|
(fetchNuGet {
|
||||||
|
pname = "BTCPayServer.NETCore.Plugins";
|
||||||
|
version = "1.4.4";
|
||||||
|
sha256 = "0rk0prmb0539ji5fd33cqy3yvw51i5i8m5hb43admr5z8960dd6l";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "CsvHelper";
|
pname = "CsvHelper";
|
||||||
|
@ -171,24 +181,14 @@
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "LNURL";
|
pname = "LNURL";
|
||||||
version = "0.0.26";
|
version = "0.0.27";
|
||||||
sha256 = "0gb6n5zvf3mnmychbv3hmzbfllxamq26y1c18ql6y02wy2asrwff";
|
sha256 = "126rhls5yxxw4i419w59762cq3zmjccjd8x42qmb4nhqmbgybkzm";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "MailKit";
|
pname = "MailKit";
|
||||||
version = "3.3.0";
|
version = "3.3.0";
|
||||||
sha256 = "18l0jkrc4d553kiw4vdjzzpafpvsgjs1n19kjbi8isnhzidmsl4j";
|
sha256 = "18l0jkrc4d553kiw4vdjzzpafpvsgjs1n19kjbi8isnhzidmsl4j";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
|
||||||
pname = "McMaster.NETCore.Plugins.Mvc";
|
|
||||||
version = "1.4.0";
|
|
||||||
sha256 = "07i0p6236hyh1c3cb5v6zkayq5807rd6msc341v2jh6yd5radasy";
|
|
||||||
})
|
|
||||||
(fetchNuGet {
|
|
||||||
pname = "McMaster.NETCore.Plugins";
|
|
||||||
version = "1.4.0";
|
|
||||||
sha256 = "1k2qz0qnf2b1kfwbzcynivy93jm7dcwl866d0fl7qlgq5vql7niy";
|
|
||||||
})
|
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "Microsoft.AspNet.SignalR.Client";
|
pname = "Microsoft.AspNet.SignalR.Client";
|
||||||
version = "2.4.3";
|
version = "2.4.3";
|
||||||
|
@ -364,11 +364,6 @@
|
||||||
version = "2.0.4";
|
version = "2.0.4";
|
||||||
sha256 = "1fdzln4im9hb55agzwchbfgm3vmngigmbpci5j89b0gqcxixmv8j";
|
sha256 = "1fdzln4im9hb55agzwchbfgm3vmngigmbpci5j89b0gqcxixmv8j";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
|
||||||
pname = "Microsoft.DotNet.PlatformAbstractions";
|
|
||||||
version = "3.1.6";
|
|
||||||
sha256 = "0b9myd7gqbpaw9pkd2bx45jhik9mwj0f1ss57sk2cxmag2lkdws5";
|
|
||||||
})
|
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "Microsoft.EntityFrameworkCore.Abstractions";
|
pname = "Microsoft.EntityFrameworkCore.Abstractions";
|
||||||
version = "6.0.7";
|
version = "6.0.7";
|
||||||
|
@ -554,11 +549,6 @@
|
||||||
version = "2.0.4";
|
version = "2.0.4";
|
||||||
sha256 = "041i1vlcibpzgalxxzdk81g5pgmqvmz2g61k0rqa2sky0wpvijx9";
|
sha256 = "041i1vlcibpzgalxxzdk81g5pgmqvmz2g61k0rqa2sky0wpvijx9";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
|
||||||
pname = "Microsoft.Extensions.DependencyModel";
|
|
||||||
version = "5.0.0";
|
|
||||||
sha256 = "1mma1zxi0b40972cwfvkj9y0w9r7vjbi74784jzcb22pric00k5x";
|
|
||||||
})
|
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "Microsoft.Extensions.DependencyModel";
|
pname = "Microsoft.Extensions.DependencyModel";
|
||||||
version = "6.0.0";
|
version = "6.0.0";
|
||||||
|
@ -816,8 +806,13 @@
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "NBitcoin";
|
pname = "NBitcoin";
|
||||||
version = "7.0.14";
|
version = "7.0.18";
|
||||||
sha256 = "18nxx13fz3i7kmigijnynvrbx2i5cb3v4m89nvnxl38vcw7w5jys";
|
sha256 = "02kkgymdb80cidibrs6qpy1zjwcfbkwv9zqz9s0swf5zp7qvcakn";
|
||||||
|
})
|
||||||
|
(fetchNuGet {
|
||||||
|
pname = "NBitcoin";
|
||||||
|
version = "7.0.20";
|
||||||
|
sha256 = "0gl39v1mvnhdrqn8dmmslsyj4w4yc4l447zp62bfnwm5ppcwda9z";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "NBitpayClient";
|
pname = "NBitpayClient";
|
||||||
|
@ -826,8 +821,8 @@
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "NBXplorer.Client";
|
pname = "NBXplorer.Client";
|
||||||
version = "4.2.1";
|
version = "4.2.2";
|
||||||
sha256 = "0sizhzz6ry40fphd3lqqj8r9ik103jzrq1ql57rl1zfh1490zq5y";
|
sha256 = "0a8zy9iasgmr7mqhjrbxa2shnygpp97pbg5qnk7ix50y01k9blyw";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "NETStandard.Library";
|
pname = "NETStandard.Library";
|
||||||
|
@ -1036,8 +1031,8 @@
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "Selenium.WebDriver.ChromeDriver";
|
pname = "Selenium.WebDriver.ChromeDriver";
|
||||||
version = "105.0.5195.5200";
|
version = "108.0.5359.7100";
|
||||||
sha256 = "0vna0mnd2zay6gpgjkd0c4haf2ga8l6grbbhjb6ffzhglyz14993";
|
sha256 = "13yy6j8vccwv0cd6idhb0hf4asbx9fypag9fj0ldx2rir02a5vxj";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "Selenium.WebDriver";
|
pname = "Selenium.WebDriver";
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
buildDotnetModule rec {
|
buildDotnetModule rec {
|
||||||
pname = "nbxplorer";
|
pname = "nbxplorer";
|
||||||
version = "2.3.49";
|
version = "2.3.54";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "dgarage";
|
owner = "dgarage";
|
||||||
repo = "NBXplorer";
|
repo = "NBXplorer";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-ErAdFY65EYY988+xqSd6v57NbFeOE3Yt5mvn6C0TuRE=";
|
sha256 = "sha256-WINanMGAlZioD6XP0xK6H+KTlF/NRMAmhylmRV6y2uI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
projectFile = "NBXplorer/NBXplorer.csproj";
|
projectFile = "NBXplorer/NBXplorer.csproj";
|
||||||
|
|
13
pkgs/applications/blockchains/nbxplorer/deps.nix
generated
13
pkgs/applications/blockchains/nbxplorer/deps.nix
generated
|
@ -191,18 +191,13 @@
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "NBitcoin.TestFramework";
|
pname = "NBitcoin.TestFramework";
|
||||||
version = "3.0.15";
|
version = "3.0.19";
|
||||||
sha256 = "1bhm9hrm33nx4sn5i25az19nrmkfg074m52zpz0yf02ccdvk5x5w";
|
sha256 = "0wi5bpbab2lgsqhi4v52ycvpv5x64qkgf0if9v011hhk5xjn1x4m";
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "NBitcoin";
|
pname = "NBitcoin";
|
||||||
version = "7.0.14";
|
version = "7.0.22";
|
||||||
sha256 = "18nxx13fz3i7kmigijnynvrbx2i5cb3v4m89nvnxl38vcw7w5jys";
|
sha256 = "1911mwz23qm9qnlfsm2j6qdkj1l43gjym4di8r50zikfnyd654sx";
|
||||||
})
|
|
||||||
(fetchNuGet {
|
|
||||||
pname = "NBitcoin";
|
|
||||||
version = "7.0.18";
|
|
||||||
sha256 = "02kkgymdb80cidibrs6qpy1zjwcfbkwv9zqz9s0swf5zp7qvcakn";
|
|
||||||
})
|
})
|
||||||
(fetchNuGet {
|
(fetchNuGet {
|
||||||
pname = "NETStandard.Library";
|
pname = "NETStandard.Library";
|
||||||
|
|
|
@ -9,13 +9,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "mob";
|
pname = "mob";
|
||||||
version = "4.0.0";
|
version = "4.1.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "remotemobprogramming";
|
owner = "remotemobprogramming";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-c6Feex0FGxxOWBEHxe0GqPHv65EwMMdxIeehZUGbl0Q=";
|
sha256 = "sha256-P3OxqJNhzO/aPC4Nj3vvBy5cxaahQv0IsjlIKya0p1w=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = null;
|
vendorSha256 = null;
|
||||||
|
|
|
@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
nativeBuildInputs = [ intltool ];
|
nativeBuildInputs = [ intltool ];
|
||||||
buildInputs = [ pidgin gmime libxml2 nss ];
|
buildInputs = [ pidgin gmime libxml2 nss ];
|
||||||
|
configureFlags = [ "--without-dbus" ];
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
postInstall = "ln -s \$out/lib/purple-2 \$out/share/pidgin-sipe";
|
postInstall = "ln -s \$out/lib/purple-2 \$out/share/pidgin-sipe";
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
, libdbusmenu
|
, libdbusmenu
|
||||||
, libpulseaudio
|
, libpulseaudio
|
||||||
, xdg-utils
|
, xdg-utils
|
||||||
|
, wayland
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
@ -112,6 +113,7 @@ stdenv.mkDerivation rec {
|
||||||
libnotify
|
libnotify
|
||||||
libdbusmenu
|
libdbusmenu
|
||||||
xdg-utils
|
xdg-utils
|
||||||
|
wayland
|
||||||
];
|
];
|
||||||
|
|
||||||
unpackPhase = "dpkg-deb -x $src .";
|
unpackPhase = "dpkg-deb -x $src .";
|
||||||
|
|
|
@ -11,13 +11,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "dump1090";
|
pname = "dump1090";
|
||||||
version = "7.1";
|
version = "8.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "flightaware";
|
owner = "flightaware";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-1fD8ZMkTS/r+p1rrOfJhH2sz3sJCapQcvk8f8crGApw=";
|
sha256 = "sha256-SUvK9XTXIDimEMEnORnp/Af/F030TZTxLI43Jzz31Js=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
, libsndfile
|
, libsndfile
|
||||||
, libftdi
|
, libftdi
|
||||||
, limesuite
|
, limesuite
|
||||||
|
, soapysdr-with-plugins
|
||||||
, protobuf
|
, protobuf
|
||||||
, speex
|
, speex
|
||||||
, speexdsp
|
, speexdsp
|
||||||
|
@ -23,13 +24,13 @@
|
||||||
|
|
||||||
gnuradio3_8.pkgs.mkDerivation rec {
|
gnuradio3_8.pkgs.mkDerivation rec {
|
||||||
pname = "qradiolink";
|
pname = "qradiolink";
|
||||||
version = "0.8.7-1";
|
version = "0.8.8-1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "qradiolink";
|
owner = "qradiolink";
|
||||||
repo = "qradiolink";
|
repo = "qradiolink";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-4WkAEJvWu1+ZYDeipRl1oJWn5IR1nTXJ8We0trhbkQE=";
|
sha256 = "sha256-2M5TSTNbbH188GiKqjP+IfBqks379Fw0fiGLBNiaxEg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
|
@ -58,6 +59,7 @@ gnuradio3_8.pkgs.mkDerivation rec {
|
||||||
libopus
|
libopus
|
||||||
libjpeg
|
libjpeg
|
||||||
limesuite
|
limesuite
|
||||||
|
soapysdr-with-plugins
|
||||||
speex
|
speex
|
||||||
speexdsp
|
speexdsp
|
||||||
gnuradio3_8.qt.qtbase
|
gnuradio3_8.qt.qtbase
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, fetchpatch
|
|
||||||
, bison
|
, bison
|
||||||
, cmake
|
, cmake
|
||||||
, doxygen
|
, doxygen
|
||||||
|
@ -62,24 +61,15 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gdal";
|
pname = "gdal";
|
||||||
version = "3.6.0.1";
|
version = "3.6.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "OSGeo";
|
owner = "OSGeo";
|
||||||
repo = "gdal";
|
repo = "gdal";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-Yx7tmj2Y26FE5rzN+w1gg/7yRckNo6gLudrAPRoCro4=";
|
hash = "sha256-hWuV73b7czmbxpnd82V2FHM+ak9JviDHVodVXAHh/pc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
|
||||||
# https://github.com/OSGeo/gdal/pull/6754
|
|
||||||
(fetchpatch {
|
|
||||||
name = "skip-test-failing-on-macos.patch";
|
|
||||||
url = "https://github.com/OSGeo/gdal/commit/65b2b12fa6638653f54d3ca0f8066225597832b9.patch";
|
|
||||||
hash = "sha256-zpj4jMp01Oz+Zk1b59qdoVxhkwWmTN9bwoKwbau2ADY=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
bison
|
bison
|
||||||
cmake
|
cmake
|
||||||
|
|
36
pkgs/development/libraries/mitama-cpp-result/default.nix
Normal file
36
pkgs/development/libraries/mitama-cpp-result/default.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "mitama-cpp-result";
|
||||||
|
version = "9.3.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "LoliGothick";
|
||||||
|
repo = "mitama-cpp-result";
|
||||||
|
rev = "v${finalAttrs.version}";
|
||||||
|
hash = "sha256-CWYVPpmPIZZTsqXKh+Ft3SlQ4C9yjUof1mJ8Acn5kmM=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/LoliGothick/mitama-cpp-result";
|
||||||
|
description = "A Library that provides `result<T, E>` and `maybe<T>` and monadic functions for them";
|
||||||
|
longDescription = ''
|
||||||
|
mitama-cpp-result is the C++17 libraries for error handling without exceptions.
|
||||||
|
|
||||||
|
mitama-cpp-result provides `result<T, E>`, `maybe<T>`, and associated monadic functions
|
||||||
|
(like Result and Option in Programming Language Rust).
|
||||||
|
'';
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ ken-matsui ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
# TODO [ ken-matsui ]: tests
|
|
@ -1,9 +1,24 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, libX11, cmake, ois, freetype, libuuid,
|
{ lib
|
||||||
boost, pkg-config, withOgre ? false, ogre ? null, libGL, libGLU ? null } :
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
, boost
|
||||||
|
, freetype
|
||||||
|
, libuuid
|
||||||
|
, ois
|
||||||
|
, withOgre ? false
|
||||||
|
, ogre
|
||||||
|
, libGL
|
||||||
|
, libGLU
|
||||||
|
, libX11
|
||||||
|
, Cocoa
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
renderSystem = if withOgre then "3" else "4";
|
renderSystem = if withOgre then "3" else "4";
|
||||||
in stdenv.mkDerivation rec {
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
pname = "mygui";
|
pname = "mygui";
|
||||||
version = "3.4.0";
|
version = "3.4.0";
|
||||||
|
|
||||||
|
@ -14,17 +29,42 @@ in stdenv.mkDerivation rec {
|
||||||
sha256 = "0a4zi8w18pjj813n7kmxldl1d9r1jp0iyhkw7pbqgl8f7qaq994w";
|
sha256 = "0a4zi8w18pjj813n7kmxldl1d9r1jp0iyhkw7pbqgl8f7qaq994w";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
patches = [
|
||||||
buildInputs = [ libX11 ois freetype libuuid boost ]
|
./disable-framework.patch
|
||||||
++ (if withOgre then [ ogre ] else [ libGL libGLU ]);
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
boost
|
||||||
|
freetype
|
||||||
|
libuuid
|
||||||
|
ois
|
||||||
|
] ++ lib.optionals withOgre [
|
||||||
|
ogre
|
||||||
|
] ++ lib.optionals (!withOgre && stdenv.isLinux) [
|
||||||
|
libGL
|
||||||
|
libGLU
|
||||||
|
] ++ lib.optionals stdenv.isLinux [
|
||||||
|
libX11
|
||||||
|
] ++ lib.optionals stdenv.isDarwin [
|
||||||
|
Cocoa
|
||||||
|
];
|
||||||
|
|
||||||
# Tools are disabled due to compilation failures.
|
# Tools are disabled due to compilation failures.
|
||||||
cmakeFlags = [ "-DMYGUI_BUILD_TOOLS=OFF" "-DMYGUI_BUILD_DEMOS=OFF" "-DMYGUI_RENDERSYSTEM=${renderSystem}" ];
|
cmakeFlags = [
|
||||||
|
"-DMYGUI_BUILD_TOOLS=OFF"
|
||||||
|
"-DMYGUI_BUILD_DEMOS=OFF"
|
||||||
|
"-DMYGUI_RENDERSYSTEM=${renderSystem}"
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "http://mygui.info/";
|
homepage = "http://mygui.info/";
|
||||||
description = "Library for creating GUIs for games and 3D applications";
|
description = "Library for creating GUIs for games and 3D applications";
|
||||||
license = licenses.lgpl3Plus;
|
license = licenses.lgpl3Plus;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
19
pkgs/development/libraries/mygui/disable-framework.patch
Normal file
19
pkgs/development/libraries/mygui/disable-framework.patch
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
diff --git a/CMake/Utils/MyGUIConfigTargets.cmake b/CMake/Utils/MyGUIConfigTargets.cmake
|
||||||
|
index bba3f91..8f4f351 100644
|
||||||
|
--- a/CMake/Utils/MyGUIConfigTargets.cmake
|
||||||
|
+++ b/CMake/Utils/MyGUIConfigTargets.cmake
|
||||||
|
@@ -477,14 +477,6 @@ function(mygui_config_lib PROJECTNAME)
|
||||||
|
if (CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "Intel")
|
||||||
|
# add GCC visibility flags to shared library build
|
||||||
|
set_target_properties(${PROJECTNAME} PROPERTIES COMPILE_FLAGS "${MYGUI_GCC_VISIBILITY_FLAGS}")
|
||||||
|
- if (APPLE)
|
||||||
|
- # deal with Mac OS X's framework system
|
||||||
|
- set_target_properties(${PROJECTNAME} PROPERTIES FRAMEWORK TRUE)
|
||||||
|
- set_target_properties(${PROJECTNAME} PROPERTIES PUBLIC_HEADER "${${PROJECTNAME}_HEADERS}")
|
||||||
|
- set_target_properties(${PROJECTNAME} PROPERTIES OUTPUT_NAME ${PROJECTNAME})
|
||||||
|
- set_target_properties(${PROJECTNAME} PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE)
|
||||||
|
- set_target_properties(${PROJECTNAME} PROPERTIES INSTALL_NAME_DIR "@executable_path/../Frameworks")
|
||||||
|
- endif (APPLE)
|
||||||
|
endif ()
|
||||||
|
endif (MYGUI_STATIC)
|
||||||
|
mygui_install_target(${PROJECTNAME} "")
|
|
@ -11,6 +11,7 @@
|
||||||
, enableE57 ? lib.meta.availableOn stdenv.hostPlatform libe57format
|
, enableE57 ? lib.meta.availableOn stdenv.hostPlatform libe57format
|
||||||
, libe57format
|
, libe57format
|
||||||
, libgeotiff
|
, libgeotiff
|
||||||
|
, libtiff
|
||||||
, libxml2
|
, libxml2
|
||||||
, postgresql
|
, postgresql
|
||||||
, tiledb
|
, tiledb
|
||||||
|
@ -21,13 +22,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "pdal";
|
pname = "pdal";
|
||||||
version = "2.4.0";
|
version = "2.4.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "PDAL";
|
owner = "PDAL";
|
||||||
repo = "PDAL";
|
repo = "PDAL";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-w9Fu4Op6OdaxdvOUM+glpJUEZq//EwRD2lqzYrMXk8w=";
|
sha256 = "sha256-9TQlhuGSTnHsTlJos9Hwnyl1CxI0tXLZdqsaGdp6WIE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -42,6 +43,7 @@ stdenv.mkDerivation rec {
|
||||||
hdf5-cpp
|
hdf5-cpp
|
||||||
LASzip
|
LASzip
|
||||||
libgeotiff
|
libgeotiff
|
||||||
|
libtiff
|
||||||
libxml2
|
libxml2
|
||||||
postgresql
|
postgresql
|
||||||
tiledb
|
tiledb
|
||||||
|
|
|
@ -16,13 +16,11 @@ let
|
||||||
self = python27';
|
self = python27';
|
||||||
pkgsBuildHost = pkgsBuildHost // { python27 = python27'; };
|
pkgsBuildHost = pkgsBuildHost // { python27 = python27'; };
|
||||||
# strip down that python version as much as possible
|
# strip down that python version as much as possible
|
||||||
openssl = null;
|
|
||||||
bzip2 = null;
|
bzip2 = null;
|
||||||
readline = null;
|
readline = null;
|
||||||
ncurses = null;
|
ncurses = null;
|
||||||
gdbm = null;
|
gdbm = null;
|
||||||
sqlite = null;
|
sqlite = null;
|
||||||
libffi = null;
|
|
||||||
rebuildBytecode = false;
|
rebuildBytecode = false;
|
||||||
stripBytecode = true;
|
stripBytecode = true;
|
||||||
strip2to3 = true;
|
strip2to3 = true;
|
||||||
|
|
|
@ -3,19 +3,19 @@
|
||||||
, buildPythonPackage
|
, buildPythonPackage
|
||||||
, cvss
|
, cvss
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
, httpx
|
||||||
, msgpack
|
, msgpack
|
||||||
, orjson
|
, orjson
|
||||||
, packageurl-python
|
, packageurl-python
|
||||||
, pytestCheckHook
|
, pytestCheckHook
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
, requests
|
|
||||||
, semver
|
, semver
|
||||||
, tabulate
|
, tabulate
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "appthreat-vulnerability-db";
|
pname = "appthreat-vulnerability-db";
|
||||||
version = "4.1.12";
|
version = "4.2.0";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -24,16 +24,16 @@ buildPythonPackage rec {
|
||||||
owner = "AppThreat";
|
owner = "AppThreat";
|
||||||
repo = "vulnerability-db";
|
repo = "vulnerability-db";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-DHjB8hT9rP1yyeo9I5D8JGIXq+17RYX+e6H7BBuWTw4=";
|
hash = "sha256-uZkPQYuF8EbX5+Qyj7CjxJhpT+DywCSwbORKXqaY0z8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
appdirs
|
appdirs
|
||||||
cvss
|
cvss
|
||||||
|
httpx
|
||||||
msgpack
|
msgpack
|
||||||
orjson
|
orjson
|
||||||
packageurl-python
|
packageurl-python
|
||||||
requests
|
|
||||||
semver
|
semver
|
||||||
tabulate
|
tabulate
|
||||||
];
|
];
|
||||||
|
|
|
@ -7,14 +7,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "google-cloud-access-context-manager";
|
pname = "google-cloud-access-context-manager";
|
||||||
version = "0.1.14";
|
version = "0.1.15";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-GFS9VvdXHxP1KvJzQkgjmYXO3qpMXl8yICGZEr18O8M=";
|
hash = "sha256-W6Nb+H2CaULQ7Hp1hYxtnF9ITYa++Usc7XVoPkQPnVk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
@ -31,6 +31,7 @@ buildPythonPackage rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Protobufs for Google Access Context Manager";
|
description = "Protobufs for Google Access Context Manager";
|
||||||
homepage = "https://github.com/googleapis/python-access-context-manager";
|
homepage = "https://github.com/googleapis/python-access-context-manager";
|
||||||
|
changelog = "https://github.com/googleapis/python-access-context-manager/blob/v${version}/CHANGELOG.md";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ austinbutler SuperSandro2000 ];
|
maintainers = with maintainers; [ austinbutler SuperSandro2000 ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "hstspreload";
|
pname = "hstspreload";
|
||||||
version = "2022.11.1";
|
version = "2022.12.1";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.6";
|
||||||
|
@ -15,7 +15,7 @@ buildPythonPackage rec {
|
||||||
owner = "sethmlarson";
|
owner = "sethmlarson";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-4GirKCe84sYV+28ODPipixV3cl7wIV/NOd+iM0Cec4I=";
|
sha256 = "sha256-W1WJWG5R7Sucdw6TzsGFs5mH6BoUfA8URTgWlnRXa14=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Tests require network connection
|
# Tests require network connection
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "immutabledict";
|
pname = "immutabledict";
|
||||||
version = "2.2.2";
|
version = "2.2.3";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
@ -17,7 +17,7 @@ buildPythonPackage rec {
|
||||||
owner = "corenting";
|
owner = "corenting";
|
||||||
repo = "immutabledict";
|
repo = "immutabledict";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-YqUxkpFl2G/LFLtFWqocXbFvgVhqqiquoWNIIO9c/6o=";
|
hash = "sha256-GeQ1BEBt+66YhohyaXt7rIVNpEk6mINwsC3JrmYNjRI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -35,6 +35,7 @@ buildPythonPackage rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A fork of frozendict, an immutable wrapper around dictionaries";
|
description = "A fork of frozendict, an immutable wrapper around dictionaries";
|
||||||
homepage = "https://github.com/corenting/immutabledict";
|
homepage = "https://github.com/corenting/immutabledict";
|
||||||
|
changelog = "https://github.com/corenting/immutabledict/blob/v${version}/CHANGELOG.md";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ hexa ];
|
maintainers = with maintainers; [ hexa ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,23 +1,41 @@
|
||||||
{ lib, buildPythonPackage, fetchPypi, dnspython, future, ldap3 }:
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, dnspython
|
||||||
|
, future
|
||||||
|
, ldap3
|
||||||
|
, pythonOlder
|
||||||
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "ldapdomaindump";
|
pname = "ldapdomaindump";
|
||||||
version = "0.9.3";
|
version = "0.9.4";
|
||||||
|
format = "setuptools";
|
||||||
|
|
||||||
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "10cis8cllpa9qi5qil9k7521ag3921mxwg2wj9nyn0lk41rkjagc";
|
hash = "sha256-mdzaFwUKllSZZuU7yJ5x2mcAlNU9lUKzsNAZfQNeb1I=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ dnspython future ldap3 ];
|
propagatedBuildInputs = [
|
||||||
|
dnspython
|
||||||
|
future
|
||||||
|
ldap3
|
||||||
|
];
|
||||||
|
|
||||||
# requires ldap server
|
# requires ldap server
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
pythonImportsCheck = [ "ldapdomaindump" ];
|
|
||||||
|
pythonImportsCheck = [
|
||||||
|
"ldapdomaindump"
|
||||||
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Active Directory information dumper via LDAP";
|
description = "Active Directory information dumper via LDAP";
|
||||||
homepage = "https://github.com/dirkjanm/ldapdomaindump/";
|
homepage = "https://github.com/dirkjanm/ldapdomaindump/";
|
||||||
|
changelog = "https://github.com/dirkjanm/ldapdomaindump/releases/tag/v${version}";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ SuperSandro2000 ];
|
maintainers = with maintainers; [ SuperSandro2000 ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -15,14 +15,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "mathlibtools";
|
pname = "mathlibtools";
|
||||||
version = "1.3.1";
|
version = "1.3.2";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-HwtmrDGInCI5Hl+qhl+7hOBJ3Ux0g8IjoAVa4iAccl8=";
|
hash = "sha256-mkn0y3NV/acnkqVzi8xd+Sex4QLvxxmt++FtsZmgrGs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -11,14 +11,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pg8000";
|
pname = "pg8000";
|
||||||
version = "1.29.3";
|
version = "1.29.4";
|
||||||
format = "pyproject";
|
format = "pyproject";
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-yMlU08htf79ZG8g7ANbs4on64XbIM1oYKnVwaZ2iv9w=";
|
hash = "sha256-dtKqF1ejC8ceAwfa4Yw3TjNqaRI+awRuIGqWYR+iozA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -47,6 +47,7 @@ buildPythonPackage rec {
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Python driver for PostgreSQL";
|
description = "Python driver for PostgreSQL";
|
||||||
homepage = "https://github.com/tlocke/pg8000";
|
homepage = "https://github.com/tlocke/pg8000";
|
||||||
|
changelog = "https://github.com/tlocke/pg8000#release-notes";
|
||||||
license = with licenses; [ bsd3 ];
|
license = with licenses; [ bsd3 ];
|
||||||
maintainers = with maintainers; [ domenkozar ];
|
maintainers = with maintainers; [ domenkozar ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
|
|
|
@ -9,14 +9,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "plaid-python";
|
pname = "plaid-python";
|
||||||
version = "11.2.0";
|
version = "11.3.0";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
hash = "sha256-hybWKNy1qicBcTiEc46iwJ/JhNVxqz9ZSSkR4Zm9m6I=";
|
hash = "sha256-zZGnKFLsT29IX8EK1Tv5I1Ser+9tREzkJcYY6+Fid6o=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -24,13 +24,13 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
version = "3.5.5";
|
version = "3.5.6";
|
||||||
pname = "rpy2";
|
pname = "rpy2";
|
||||||
|
|
||||||
disabled = isPyPy;
|
disabled = isPyPy;
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit version pname;
|
inherit version pname;
|
||||||
sha256 = "sha256-olLEDiHPTyOsbhO//cuCtZALScMEPtj9MdpcYftY0Dc=";
|
sha256 = "sha256-NATxAx0tj/ihACZWq445S4rBbdNMpDr2je7RAvOW53E=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "types-pyyaml";
|
pname = "types-pyyaml";
|
||||||
version = "6.0.12.1";
|
version = "6.0.12.2";
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
pname = "types-PyYAML";
|
pname = "types-PyYAML";
|
||||||
inherit version;
|
inherit version;
|
||||||
sha256 = "sha256-cMyq/PP7QE1Xv/wVKf3YahPotPLPn8PugaZAjOCtWdI=";
|
sha256 = "sha256-aECBmHHJLe6+aiBn+4AMEbigY2MutOPnVZFOerNgToM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Module doesn't have tests
|
# Module doesn't have tests
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "appthreat-depscan";
|
pname = "appthreat-depscan";
|
||||||
version = "3.4.0";
|
version = "3.5.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "AppThreat";
|
owner = "AppThreat";
|
||||||
repo = "dep-scan";
|
repo = "dep-scan";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-Gp0JXjtU8TZl/k6HHWvMvdggIgyn4zqLyyBqiPtlkA8=";
|
hash = "sha256-kwur74jaAjGch4Jruq6OX1lWqX8b3NZYvxxNsp+n/TI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with python3.pkgs; [
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
|
|
31
pkgs/development/tools/norminette/default.nix
Normal file
31
pkgs/development/tools/norminette/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
{ lib
|
||||||
|
, python3Packages
|
||||||
|
, fetchFromGitHub
|
||||||
|
}:
|
||||||
|
|
||||||
|
python3Packages.buildPythonApplication rec {
|
||||||
|
pname = "norminette";
|
||||||
|
version = "3.3.51";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "42School";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-JpWziUKZPOD+AwiYeHR7e0B9l3XKNNp+XQkZEvynKGY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
checkInputs = with python3Packages; [
|
||||||
|
pytestCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
preCheck = ''
|
||||||
|
export PYTHONPATH=norminette:$PYTHONPATH
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Open source norminette to apply 42's norme to C files";
|
||||||
|
homepage = "https://github.com/42School/norminette";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ wegank ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -7,16 +7,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "ruff";
|
pname = "ruff";
|
||||||
version = "0.0.185";
|
version = "0.0.186";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "charliermarsh";
|
owner = "charliermarsh";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-L2NaBvSFy+x8mLxy7r0EQUKT4FE5JHaDkVjGiJ7HzTw=";
|
sha256 = "sha256-mCX/s4DsnGoQgeP1oZmR8motTdKz7Gj2FWrvBkgM7WA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256-/L9xgSG9ydGbjth6tBkqnuIAu7UqP+0IAX8izW1ZAkg=";
|
cargoSha256 = "sha256-lvttZWSdqff8eRXEe6/GPelE1ZJheozN2dEBURapY9w=";
|
||||||
|
|
||||||
buildInputs = lib.optionals stdenv.isDarwin [
|
buildInputs = lib.optionals stdenv.isDarwin [
|
||||||
darwin.apple_sdk.frameworks.CoreServices
|
darwin.apple_sdk.frameworks.CoreServices
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "cargo-llvm-lines";
|
pname = "cargo-llvm-lines";
|
||||||
version = "0.4.22";
|
version = "0.4.23";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "dtolnay";
|
owner = "dtolnay";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-fQhYcY5b/KxDEbZws6IPq0EvVynWpQ8d1TJ2isTSwYQ=";
|
sha256 = "sha256-u3MvDiagCGD7WjagbVF+TtZ0ATe8WBT3xeyduxrXPi4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256-aU+B/QrpKVtY/u53zS0q7/iNM0Z6xRMH3BPNmHd8Yps=";
|
cargoSha256 = "sha256-9oBnETZqJV35FEw6NImy6cqfVOVE5EHPNVGajE2UT10=";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Count the number of lines of LLVM IR across all instantiations of a generic function";
|
description = "Count the number of lines of LLVM IR across all instantiations of a generic function";
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
node_modules
|
|
@ -1,14 +1,14 @@
|
||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
|
|
||||||
const fs = require('fs')
|
const fs = require("fs");
|
||||||
const lockfile = require('@yarnpkg/lockfile')
|
const lockfile = require("@yarnpkg/lockfile");
|
||||||
const { docopt } = require('docopt')
|
const { docopt } = require("docopt");
|
||||||
const deepEqual = require('deep-equal')
|
const deepEqual = require("deep-equal");
|
||||||
const R = require('ramda')
|
const R = require("ramda");
|
||||||
|
|
||||||
const fixPkgAddMissingSha1 = require('../lib/fixPkgAddMissingSha1')
|
const fixPkgAddMissingSha1 = require("../lib/fixPkgAddMissingSha1");
|
||||||
const mapObjIndexedReturnArray = require('../lib/mapObjIndexedReturnArray')
|
const mapObjIndexedReturnArray = require("../lib/mapObjIndexedReturnArray");
|
||||||
const generateNix = require('../lib/generateNix')
|
const generateNix = require("../lib/generateNix");
|
||||||
|
|
||||||
const USAGE = `
|
const USAGE = `
|
||||||
Usage: yarn2nix [options]
|
Usage: yarn2nix [options]
|
||||||
|
@ -19,11 +19,11 @@ Options:
|
||||||
--no-patch Don't patch the lockfile if hashes are missing
|
--no-patch Don't patch the lockfile if hashes are missing
|
||||||
--lockfile=FILE Specify path to the lockfile [default: ./yarn.lock].
|
--lockfile=FILE Specify path to the lockfile [default: ./yarn.lock].
|
||||||
--builtin-fetchgit Use builtin fetchGit for git dependencies to support on-the-fly generation of yarn.nix without an internet connection
|
--builtin-fetchgit Use builtin fetchGit for git dependencies to support on-the-fly generation of yarn.nix without an internet connection
|
||||||
`
|
`;
|
||||||
|
|
||||||
const options = docopt(USAGE)
|
const options = docopt(USAGE);
|
||||||
|
|
||||||
const data = fs.readFileSync(options['--lockfile'], 'utf8')
|
const data = fs.readFileSync(options["--lockfile"], "utf8");
|
||||||
|
|
||||||
// json example:
|
// json example:
|
||||||
|
|
||||||
|
@ -45,10 +45,10 @@ const data = fs.readFileSync(options['--lockfile'], 'utf8')
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
const json = lockfile.parse(data)
|
const json = lockfile.parse(data);
|
||||||
|
|
||||||
if (json.type !== 'success') {
|
if (json.type !== "success") {
|
||||||
throw new Error('yarn.lock parse error')
|
throw new Error("yarn.lock parse error");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check for missing hashes in the yarn.lock and patch if necessary
|
// Check for missing hashes in the yarn.lock and patch if necessary
|
||||||
|
@ -56,35 +56,35 @@ if (json.type !== 'success') {
|
||||||
let pkgs = R.pipe(
|
let pkgs = R.pipe(
|
||||||
mapObjIndexedReturnArray((value, key) => ({
|
mapObjIndexedReturnArray((value, key) => ({
|
||||||
...value,
|
...value,
|
||||||
nameWithVersion: key,
|
nameWithVersion: key
|
||||||
})),
|
})),
|
||||||
R.uniqBy(R.prop('resolved')),
|
R.uniqBy(R.prop("resolved"))
|
||||||
)(json.object)
|
)(json.object);
|
||||||
|
|
||||||
;(async () => {
|
(async () => {
|
||||||
if (!options['--no-patch']) {
|
if (!options["--no-patch"]) {
|
||||||
pkgs = await Promise.all(R.map(fixPkgAddMissingSha1, pkgs))
|
pkgs = await Promise.all(R.map(fixPkgAddMissingSha1, pkgs));
|
||||||
}
|
}
|
||||||
|
|
||||||
const origJson = lockfile.parse(data)
|
const origJson = lockfile.parse(data);
|
||||||
|
|
||||||
if (!deepEqual(origJson, json)) {
|
if (!deepEqual(origJson, json)) {
|
||||||
console.error('found changes in the lockfile', options['--lockfile'])
|
console.error("found changes in the lockfile", options["--lockfile"]);
|
||||||
|
|
||||||
if (options['--no-patch']) {
|
if (options["--no-patch"]) {
|
||||||
console.error('...aborting')
|
console.error("...aborting");
|
||||||
process.exit(1)
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
fs.writeFileSync(options['--lockfile'], lockfile.stringify(json.object))
|
fs.writeFileSync(options["--lockfile"], lockfile.stringify(json.object));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!options['--no-nix']) {
|
if (!options["--no-nix"]) {
|
||||||
// print to stdout
|
// print to stdout
|
||||||
console.log(generateNix(pkgs, options['--builtin-fetchgit']))
|
console.log(generateNix(pkgs, options["--builtin-fetchgit"]));
|
||||||
}
|
}
|
||||||
})().catch(error => {
|
})().catch(error => {
|
||||||
console.error(error)
|
console.error(error);
|
||||||
|
|
||||||
process.exit(1)
|
process.exit(1);
|
||||||
})
|
});
|
||||||
|
|
|
@ -4,50 +4,50 @@
|
||||||
* node fixup_bin.js <bin_dir> <modules_dir> [<bin_pkg_1>, <bin_pkg_2> ... ]
|
* node fixup_bin.js <bin_dir> <modules_dir> [<bin_pkg_1>, <bin_pkg_2> ... ]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const fs = require('fs')
|
const fs = require("fs");
|
||||||
const path = require('path')
|
const path = require("path");
|
||||||
|
|
||||||
const derivationBinPath = process.argv[2]
|
const derivationBinPath = process.argv[2];
|
||||||
const nodeModules = process.argv[3]
|
const nodeModules = process.argv[3];
|
||||||
const packagesToPublishBin = process.argv.slice(4)
|
const packagesToPublishBin = process.argv.slice(4);
|
||||||
|
|
||||||
function processPackage(name) {
|
function processPackage(name) {
|
||||||
console.log('fixup_bin: Processing ', name)
|
console.log("fixup_bin: Processing ", name);
|
||||||
|
|
||||||
const packagePath = `${nodeModules}/${name}`
|
const packagePath = `${nodeModules}/${name}`;
|
||||||
const packageJsonPath = `${packagePath}/package.json`
|
const packageJsonPath = `${packagePath}/package.json`;
|
||||||
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath))
|
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath));
|
||||||
|
|
||||||
if (!packageJson.bin) {
|
if (!packageJson.bin) {
|
||||||
console.log('fixup_bin: No binaries provided')
|
console.log("fixup_bin: No binaries provided");
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// There are two alternative syntaxes for `bin`
|
// There are two alternative syntaxes for `bin`
|
||||||
// a) just a plain string, in which case the name of the package is the name of the binary.
|
// a) just a plain string, in which case the name of the package is the name of the binary.
|
||||||
// b) an object, where key is the name of the eventual binary, and the value the path to that binary.
|
// b) an object, where key is the name of the eventual binary, and the value the path to that binary.
|
||||||
if (typeof packageJson.bin === 'string') {
|
if (typeof packageJson.bin === "string") {
|
||||||
const binName = packageJson.bin
|
const binName = packageJson.bin;
|
||||||
packageJson.bin = {}
|
packageJson.bin = {};
|
||||||
packageJson.bin[packageJson.name] = binName
|
packageJson.bin[packageJson.name] = binName;
|
||||||
}
|
}
|
||||||
|
|
||||||
// eslint-disable-next-line no-restricted-syntax, guard-for-in
|
// eslint-disable-next-line no-restricted-syntax, guard-for-in
|
||||||
for (const binName in packageJson.bin) {
|
for (const binName in packageJson.bin) {
|
||||||
const binPath = packageJson.bin[binName]
|
const binPath = packageJson.bin[binName];
|
||||||
const normalizedBinName = binName.replace('@', '').replace('/', '-')
|
const normalizedBinName = binName.replace("@", "").replace("/", "-");
|
||||||
|
|
||||||
const targetPath = path.normalize(`${packagePath}/${binPath}`)
|
const targetPath = path.normalize(`${packagePath}/${binPath}`);
|
||||||
const createdPath = `${derivationBinPath}/${normalizedBinName}`
|
const createdPath = `${derivationBinPath}/${normalizedBinName}`;
|
||||||
|
|
||||||
console.log(
|
console.log(
|
||||||
`fixup_bin: creating link ${createdPath} that points to ${targetPath}`,
|
`fixup_bin: creating link ${createdPath} that points to ${targetPath}`
|
||||||
)
|
);
|
||||||
|
|
||||||
fs.symlinkSync(targetPath, createdPath)
|
fs.symlinkSync(targetPath, createdPath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
packagesToPublishBin.forEach(pkg => {
|
packagesToPublishBin.forEach(pkg => {
|
||||||
processPackage(pkg)
|
processPackage(pkg);
|
||||||
})
|
});
|
||||||
|
|
|
@ -4,46 +4,46 @@
|
||||||
* node fixup_yarn_lock.js yarn.lock
|
* node fixup_yarn_lock.js yarn.lock
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const fs = require('fs')
|
const fs = require("fs");
|
||||||
const readline = require('readline')
|
const readline = require("readline");
|
||||||
|
|
||||||
const urlToName = require('../lib/urlToName')
|
const urlToName = require("../lib/urlToName");
|
||||||
|
|
||||||
const yarnLockPath = process.argv[2]
|
const yarnLockPath = process.argv[2];
|
||||||
|
|
||||||
const readFile = readline.createInterface({
|
const readFile = readline.createInterface({
|
||||||
input: fs.createReadStream(yarnLockPath, { encoding: 'utf8' }),
|
input: fs.createReadStream(yarnLockPath, { encoding: "utf8" }),
|
||||||
|
|
||||||
// Note: we use the crlfDelay option to recognize all instances of CR LF
|
// Note: we use the crlfDelay option to recognize all instances of CR LF
|
||||||
// ('\r\n') in input.txt as a single line break.
|
// ('\r\n') in input.txt as a single line break.
|
||||||
crlfDelay: Infinity,
|
crlfDelay: Infinity,
|
||||||
|
|
||||||
terminal: false, // input and output should be treated like a TTY
|
terminal: false // input and output should be treated like a TTY
|
||||||
})
|
});
|
||||||
|
|
||||||
const result = []
|
const result = [];
|
||||||
|
|
||||||
readFile
|
readFile
|
||||||
.on('line', line => {
|
.on("line", line => {
|
||||||
const arr = line.match(/^ {2}resolved "([^#]+)(#[^"]+)?"$/)
|
const arr = line.match(/^ {2}resolved "([^#]+)(#[^"]+)?"$/);
|
||||||
|
|
||||||
if (arr !== null) {
|
if (arr !== null) {
|
||||||
const [_, url, shaOrRev] = arr
|
const [_, url, shaOrRev] = arr;
|
||||||
|
|
||||||
const fileName = urlToName(url)
|
const fileName = urlToName(url);
|
||||||
|
|
||||||
result.push(` resolved "${fileName}${shaOrRev ?? ''}"`)
|
result.push(` resolved "${fileName}${shaOrRev ?? ""}"`);
|
||||||
} else {
|
} else {
|
||||||
result.push(line)
|
result.push(line);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.on('close', () => {
|
.on("close", () => {
|
||||||
fs.writeFile(yarnLockPath, result.join('\n'), 'utf8', err => {
|
fs.writeFile(yarnLockPath, result.join("\n"), "utf8", err => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error(
|
console.error(
|
||||||
'fixup_yarn_lock: fatal error when trying to write to yarn.lock',
|
"fixup_yarn_lock: fatal error when trying to write to yarn.lock",
|
||||||
err,
|
err
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
const https = require('https')
|
const https = require("https");
|
||||||
const crypto = require('crypto')
|
const crypto = require("crypto");
|
||||||
|
|
||||||
// TODO:
|
// TODO:
|
||||||
// make test case where getSha1 function is used, i.e. the case when resolved is without sha1?
|
// make test case where getSha1 function is used, i.e. the case when resolved is without sha1?
|
||||||
|
@ -8,29 +8,29 @@ const crypto = require('crypto')
|
||||||
function getSha1(url) {
|
function getSha1(url) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
https.get(url, res => {
|
https.get(url, res => {
|
||||||
const { statusCode } = res
|
const { statusCode } = res;
|
||||||
const hash = crypto.createHash('sha1')
|
const hash = crypto.createHash("sha1");
|
||||||
|
|
||||||
if (statusCode !== 200) {
|
if (statusCode !== 200) {
|
||||||
const err = new Error(`Request Failed.\nStatus Code: ${statusCode}`)
|
const err = new Error(`Request Failed.\nStatus Code: ${statusCode}`);
|
||||||
|
|
||||||
// consume response data to free up memory
|
// consume response data to free up memory
|
||||||
res.resume()
|
res.resume();
|
||||||
|
|
||||||
reject(err)
|
reject(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
res.on('data', chunk => {
|
res.on("data", chunk => {
|
||||||
hash.update(chunk)
|
hash.update(chunk);
|
||||||
})
|
});
|
||||||
|
|
||||||
res.on('end', () => {
|
res.on("end", () => {
|
||||||
resolve(hash.digest('hex'))
|
resolve(hash.digest("hex"));
|
||||||
})
|
});
|
||||||
|
|
||||||
res.on('error', reject)
|
res.on("error", reject);
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Object -> Object
|
// Object -> Object
|
||||||
|
@ -39,28 +39,26 @@ async function fixPkgAddMissingSha1(pkg) {
|
||||||
|
|
||||||
if (!pkg.resolved) {
|
if (!pkg.resolved) {
|
||||||
console.error(
|
console.error(
|
||||||
`yarn2nix: can't find "resolved" field for package ${
|
`yarn2nix: can't find "resolved" field for package ${pkg.nameWithVersion}, you probably required it using "file:...", this feature is not supported, ignoring`
|
||||||
pkg.nameWithVersion
|
);
|
||||||
}, you probably required it using "file:...", this feature is not supported, ignoring`,
|
return pkg;
|
||||||
)
|
|
||||||
return pkg
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const [url, sha1] = pkg.resolved.split('#', 2)
|
const [url, sha1] = pkg.resolved.split("#", 2);
|
||||||
|
|
||||||
if (sha1 || url.startsWith('https://codeload.github.com')) {
|
if (sha1 || url.startsWith("https://codeload.github.com")) {
|
||||||
return pkg
|
return pkg;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if there is no sha1 in resolved url
|
// if there is no sha1 in resolved url
|
||||||
// (this could happen if yarn.lock was generated by older version of yarn)
|
// (this could happen if yarn.lock was generated by older version of yarn)
|
||||||
// - request it from registry by https and add it to pkg
|
// - request it from registry by https and add it to pkg
|
||||||
const newSha1 = await getSha1(url)
|
const newSha1 = await getSha1(url);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...pkg,
|
...pkg,
|
||||||
resolved: `${url}#${newSha1}`,
|
resolved: `${url}#${newSha1}`
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = fixPkgAddMissingSha1
|
module.exports = fixPkgAddMissingSha1;
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
const R = require('ramda')
|
const R = require("ramda");
|
||||||
|
const ssri = require("ssri");
|
||||||
|
|
||||||
const urlToName = require('./urlToName')
|
const urlToName = require("./urlToName");
|
||||||
const { execFileSync } = require('child_process')
|
const { execFileSync } = require("child_process");
|
||||||
|
|
||||||
// fetchgit transforms
|
// fetchgit transforms
|
||||||
//
|
//
|
||||||
|
@ -33,77 +34,115 @@ const { execFileSync } = require('child_process')
|
||||||
|
|
||||||
function prefetchgit(url, rev) {
|
function prefetchgit(url, rev) {
|
||||||
return JSON.parse(
|
return JSON.parse(
|
||||||
execFileSync("nix-prefetch-git", ["--rev", rev, url, "--fetch-submodules"], {
|
execFileSync(
|
||||||
stdio: [ "ignore", "pipe", "ignore" ],
|
"nix-prefetch-git",
|
||||||
timeout: 60000,
|
["--rev", rev, url, "--fetch-submodules"],
|
||||||
})
|
{
|
||||||
).sha256
|
stdio: ["ignore", "pipe", "ignore"],
|
||||||
|
timeout: 60000
|
||||||
|
}
|
||||||
|
)
|
||||||
|
).sha256;
|
||||||
}
|
}
|
||||||
|
|
||||||
function fetchgit(fileName, url, rev, branch, builtinFetchGit) {
|
function fetchgit(fileName, url, rev, branch, builtinFetchGit) {
|
||||||
|
const repo = builtinFetchGit
|
||||||
|
? `builtins.fetchGit ({
|
||||||
|
url = "${url}";
|
||||||
|
ref = "${branch}";
|
||||||
|
rev = "${rev}";
|
||||||
|
} // (if builtins.compareVersions "2.4pre" builtins.nixVersion < 0 then {
|
||||||
|
# workaround for https://github.com/NixOS/nix/issues/5128
|
||||||
|
allRefs = true;
|
||||||
|
} else {}))`
|
||||||
|
: `fetchgit {
|
||||||
|
url = "${url}";
|
||||||
|
rev = "${rev}";
|
||||||
|
sha256 = "${prefetchgit(url, rev)}";
|
||||||
|
}`;
|
||||||
|
|
||||||
return ` {
|
return ` {
|
||||||
name = "${fileName}";
|
name = "${fileName}";
|
||||||
path =
|
path =
|
||||||
let${builtinFetchGit ? `
|
let repo = ${repo};
|
||||||
repo = builtins.fetchGit ({
|
in runCommand "${fileName}" { buildInputs = [gnutar]; } ''
|
||||||
url = "${url}";
|
# Set u+w because tar-fs can't unpack archives with read-only dirs
|
||||||
ref = "${branch}";
|
# https://github.com/mafintosh/tar-fs/issues/79
|
||||||
rev = "${rev}";
|
tar cf $out --mode u+w -C \${repo} .
|
||||||
} // (if builtins.compareVersions "2.4pre" builtins.nixVersion < 0 then {
|
'';
|
||||||
# workaround for https://github.com/NixOS/nix/issues/5128
|
}`;
|
||||||
allRefs = true;
|
}
|
||||||
} else {}));
|
|
||||||
` : `
|
/**
|
||||||
repo = fetchgit {
|
* Parse an integrity hash out of an SSRI string.
|
||||||
url = "${url}";
|
*
|
||||||
rev = "${rev}";
|
* Provides a default and uses the "best" supported algorithm if there are multiple.
|
||||||
sha256 = "${prefetchgit(url, rev)}";
|
*/
|
||||||
};
|
function parseIntegrity(maybeIntegrity, fallbackHash) {
|
||||||
`}in
|
if (!maybeIntegrity && fallbackHash) {
|
||||||
runCommand "${fileName}" { buildInputs = [gnutar]; } ''
|
return { algo: "sha1", hash: fallbackHash };
|
||||||
# Set u+w because tar-fs can't unpack archives with read-only dirs
|
}
|
||||||
# https://github.com/mafintosh/tar-fs/issues/79
|
|
||||||
tar cf $out --mode u+w -C \${repo} .
|
const integrities = ssri.parse(maybeIntegrity);
|
||||||
'';
|
for (const key in integrities) {
|
||||||
}`
|
if (!/^sha(1|256|512)$/.test(key)) {
|
||||||
|
delete integrities[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
algo = integrities.pickAlgorithm();
|
||||||
|
hash = integrities[algo][0].digest;
|
||||||
|
return { algo, hash };
|
||||||
}
|
}
|
||||||
|
|
||||||
function fetchLockedDep(builtinFetchGit) {
|
function fetchLockedDep(builtinFetchGit) {
|
||||||
return function (pkg) {
|
return function(pkg) {
|
||||||
const { integrity, nameWithVersion, resolved } = pkg
|
const { integrity, nameWithVersion, resolved } = pkg;
|
||||||
|
|
||||||
if (!resolved) {
|
if (!resolved) {
|
||||||
console.error(
|
console.error(
|
||||||
`yarn2nix: can't find "resolved" field for package ${nameWithVersion}, you probably required it using "file:...", this feature is not supported, ignoring`,
|
`yarn2nix: can't find "resolved" field for package ${nameWithVersion}, you probably required it using "file:...", this feature is not supported, ignoring`
|
||||||
)
|
);
|
||||||
return ''
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
const [url, sha1OrRev] = resolved.split('#')
|
const [url, sha1OrRev] = resolved.split("#");
|
||||||
|
|
||||||
const fileName = urlToName(url)
|
const fileName = urlToName(url);
|
||||||
|
|
||||||
if (resolved.startsWith('https://codeload.github.com/')) {
|
if (resolved.startsWith("https://codeload.github.com/")) {
|
||||||
const s = resolved.split('/')
|
const s = resolved.split("/");
|
||||||
const githubUrl = `https://github.com/${s[3]}/${s[4]}.git`
|
const githubUrl = `https://github.com/${s[3]}/${s[4]}.git`;
|
||||||
const githubRev = s[6]
|
const githubRev = s[6];
|
||||||
|
|
||||||
const [_, branch] = nameWithVersion.split('#')
|
const [_, branch] = nameWithVersion.split("#");
|
||||||
|
|
||||||
return fetchgit(fileName, githubUrl, githubRev, branch || 'master', builtinFetchGit)
|
return fetchgit(
|
||||||
|
fileName,
|
||||||
|
githubUrl,
|
||||||
|
githubRev,
|
||||||
|
branch || "master",
|
||||||
|
builtinFetchGit
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (url.startsWith('git+') || url.startsWith("git:")) {
|
if (url.startsWith("git+") || url.startsWith("git:")) {
|
||||||
const rev = sha1OrRev
|
const rev = sha1OrRev;
|
||||||
|
|
||||||
const [_, branch] = nameWithVersion.split('#')
|
const [_, branch] = nameWithVersion.split("#");
|
||||||
|
|
||||||
const urlForGit = url.replace(/^git\+/, '')
|
const urlForGit = url.replace(/^git\+/, "");
|
||||||
|
|
||||||
return fetchgit(fileName, urlForGit, rev, branch || 'master', builtinFetchGit)
|
return fetchgit(
|
||||||
|
fileName,
|
||||||
|
urlForGit,
|
||||||
|
rev,
|
||||||
|
branch || "master",
|
||||||
|
builtinFetchGit
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const [algo, hash] = integrity ? integrity.split('-') : ['sha1', sha1OrRev]
|
const { algo, hash } = parseIntegrity(integrity, sha1OrRev);
|
||||||
|
|
||||||
return ` {
|
return ` {
|
||||||
name = "${fileName}";
|
name = "${fileName}";
|
||||||
|
@ -112,26 +151,29 @@ function fetchLockedDep(builtinFetchGit) {
|
||||||
url = "${url}";
|
url = "${url}";
|
||||||
${algo} = "${hash}";
|
${algo} = "${hash}";
|
||||||
};
|
};
|
||||||
}`
|
}`;
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const HEAD = `
|
const HEAD = `
|
||||||
{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
|
{ fetchurl, fetchgit, linkFarm, runCommand, gnutar }: rec {
|
||||||
offline_cache = linkFarm "offline" packages;
|
offline_cache = linkFarm "offline" packages;
|
||||||
packages = [
|
packages = [
|
||||||
`.trim()
|
`.trim();
|
||||||
|
|
||||||
// Object -> String
|
// Object -> String
|
||||||
function generateNix(pkgs, builtinFetchGit) {
|
function generateNix(pkgs, builtinFetchGit) {
|
||||||
const nameWithVersionAndPackageNix = R.map(fetchLockedDep(builtinFetchGit), pkgs)
|
const nameWithVersionAndPackageNix = R.map(
|
||||||
|
fetchLockedDep(builtinFetchGit),
|
||||||
|
pkgs
|
||||||
|
);
|
||||||
|
|
||||||
const packagesDefinition = R.join(
|
const packagesDefinition = R.join(
|
||||||
'\n',
|
"\n",
|
||||||
R.values(nameWithVersionAndPackageNix),
|
R.values(nameWithVersionAndPackageNix)
|
||||||
)
|
);
|
||||||
|
|
||||||
return R.join('\n', [HEAD, packagesDefinition, ' ];', '}'])
|
return R.join("\n", [HEAD, packagesDefinition, " ];", "}"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = generateNix
|
module.exports = generateNix;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
const _curry2 = require('ramda/src/internal/_curry2')
|
const _curry2 = require("ramda/src/internal/_curry2");
|
||||||
const _map = require('ramda/src/internal/_map')
|
const _map = require("ramda/src/internal/_map");
|
||||||
const keys = require('ramda/src/keys')
|
const keys = require("ramda/src/keys");
|
||||||
|
|
||||||
// mapObjIndexed: ((v, k, {k: v}) → v') → {k: v} → {k: v'}
|
// mapObjIndexed: ((v, k, {k: v}) → v') → {k: v} → {k: v'}
|
||||||
// mapObjIndexedReturnArray: ((v, k, {k: v}) → v') → {k: v} → [v']
|
// mapObjIndexedReturnArray: ((v, k, {k: v}) → v') → {k: v} → [v']
|
||||||
|
@ -15,7 +15,7 @@ const keys = require('ramda/src/keys')
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const mapObjIndexedReturnArray = _curry2((fn, obj) =>
|
const mapObjIndexedReturnArray = _curry2((fn, obj) =>
|
||||||
_map(key => fn(obj[key], key, obj), keys(obj)),
|
_map(key => fn(obj[key], key, obj), keys(obj))
|
||||||
)
|
);
|
||||||
|
|
||||||
module.exports = mapObjIndexedReturnArray
|
module.exports = mapObjIndexedReturnArray;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
const path = require('path')
|
const path = require("path");
|
||||||
|
|
||||||
// String -> String
|
// String -> String
|
||||||
|
|
||||||
|
@ -10,20 +10,19 @@ const path = require('path')
|
||||||
// - https://codeload.github.com/Gargron/emoji-mart/tar.gz/934f314fd8322276765066e8a2a6be5bac61b1cf
|
// - https://codeload.github.com/Gargron/emoji-mart/tar.gz/934f314fd8322276765066e8a2a6be5bac61b1cf
|
||||||
|
|
||||||
function urlToName(url) {
|
function urlToName(url) {
|
||||||
|
|
||||||
// Yarn generates `codeload.github.com` tarball URLs, where the final
|
// Yarn generates `codeload.github.com` tarball URLs, where the final
|
||||||
// path component (file name) is the git hash. See #111.
|
// path component (file name) is the git hash. See #111.
|
||||||
// See also https://github.com/yarnpkg/yarn/blob/989a7406/src/resolvers/exotics/github-resolver.js#L24-L26
|
// See also https://github.com/yarnpkg/yarn/blob/989a7406/src/resolvers/exotics/github-resolver.js#L24-L26
|
||||||
let isCodeloadGitTarballUrl =
|
let isCodeloadGitTarballUrl =
|
||||||
url.startsWith('https://codeload.github.com/') && url.includes('/tar.gz/')
|
url.startsWith("https://codeload.github.com/") && url.includes("/tar.gz/");
|
||||||
|
|
||||||
if (url.startsWith('git+') || isCodeloadGitTarballUrl) {
|
if (url.startsWith("git+") || isCodeloadGitTarballUrl) {
|
||||||
return path.basename(url)
|
return path.basename(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
return url
|
return url
|
||||||
.replace(/https:\/\/(.)*(.com)\//g, '') // prevents having long directory names
|
.replace(/https:\/\/(.)*(.com)\//g, "") // prevents having long directory names
|
||||||
.replace(/[@/%:-]/g, '_') // replace @ and : and - and % characters with underscore
|
.replace(/[@/%:-]/g, "_"); // replace @ and : and - and % characters with underscore
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = urlToName
|
module.exports = urlToName;
|
||||||
|
|
|
@ -14,14 +14,15 @@
|
||||||
"bin": {
|
"bin": {
|
||||||
"yarn2nix": "bin/yarn2nix.js"
|
"yarn2nix": "bin/yarn2nix.js"
|
||||||
},
|
},
|
||||||
"engines" : {
|
"engines": {
|
||||||
"node" : ">=8.0.0"
|
"node": ">=8.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@yarnpkg/lockfile": "^1.1.0",
|
"@yarnpkg/lockfile": "^1.1.0",
|
||||||
"deep-equal": "^1.0.1",
|
"deep-equal": "^1.0.1",
|
||||||
"docopt": "^0.6.2",
|
"docopt": "^0.6.2",
|
||||||
"ramda": "^0.26.1"
|
"ramda": "^0.26.1",
|
||||||
|
"ssri": "^10.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel-eslint": "^10.0.1",
|
"babel-eslint": "^10.0.1",
|
||||||
|
|
|
@ -2228,6 +2228,13 @@ minimist@^1.2.0, minimist@^1.2.5:
|
||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
||||||
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
|
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
|
||||||
|
|
||||||
|
minipass@^3.1.1:
|
||||||
|
version "3.3.4"
|
||||||
|
resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae"
|
||||||
|
integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==
|
||||||
|
dependencies:
|
||||||
|
yallist "^4.0.0"
|
||||||
|
|
||||||
mixin-deep@^1.2.0:
|
mixin-deep@^1.2.0:
|
||||||
version "1.3.2"
|
version "1.3.2"
|
||||||
resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
|
resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
|
||||||
|
@ -3136,6 +3143,13 @@ sprintf-js@~1.0.2:
|
||||||
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
||||||
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
|
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
|
||||||
|
|
||||||
|
ssri@^10.0.0:
|
||||||
|
version "10.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.0.tgz#1e34554cbbc4728f5290674264e21b64aaf27ca7"
|
||||||
|
integrity sha512-64ghGOpqW0k+jh7m5jndBGdVEoPikWwGQmBNN5ks6jyUSMymzHDTlnNHOvzp+6MmHOljr2MokUzvRksnTwG0Iw==
|
||||||
|
dependencies:
|
||||||
|
minipass "^3.1.1"
|
||||||
|
|
||||||
staged-git-files@1.1.2:
|
staged-git-files@1.1.2:
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.1.2.tgz#4326d33886dc9ecfa29a6193bf511ba90a46454b"
|
resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.1.2.tgz#4326d33886dc9ecfa29a6193bf511ba90a46454b"
|
||||||
|
@ -3545,6 +3559,11 @@ yallist@^2.1.2:
|
||||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
|
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
|
||||||
integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
|
integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
|
||||||
|
|
||||||
|
yallist@^4.0.0:
|
||||||
|
version "4.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
|
||||||
|
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
|
||||||
|
|
||||||
yargs-parser@^8.0.0:
|
yargs-parser@^8.0.0:
|
||||||
version "8.1.0"
|
version "8.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950"
|
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950"
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -211,6 +211,47 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Flashing instructions:
|
||||||
|
# dd if=u-boot.gxl.sd.bin of=<sdcard> conv=fsync,notrunc bs=512 skip=1 seek=1
|
||||||
|
# dd if=u-boot.gxl.sd.bin of=<sdcard> conv=fsync,notrunc bs=1 count=444
|
||||||
|
ubootLibreTechCC = let
|
||||||
|
firmwareImagePkg = fetchFromGitHub {
|
||||||
|
owner = "LibreELEC";
|
||||||
|
repo = "amlogic-boot-fip";
|
||||||
|
rev = "4369a138ca24c5ab932b8cbd1af4504570b709df";
|
||||||
|
sha256 = "sha256-mGRUwdh3nW4gBwWIYHJGjzkezHxABwcwk/1gVRis7Tc=";
|
||||||
|
meta.license = lib.licenses.unfreeRedistributableFirmware;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
assert stdenv.buildPlatform.system == "x86_64-linux"; # aml_encrypt_gxl is a x86_64 binary
|
||||||
|
buildUBoot {
|
||||||
|
defconfig = "libretech-cc_defconfig";
|
||||||
|
extraMeta.platforms = ["aarch64-linux"];
|
||||||
|
filesToInstall = ["u-boot.bin"];
|
||||||
|
postBuild = ''
|
||||||
|
# Copy binary files & tools from LibreELEC/amlogic-boot-fip, and u-boot build to working dir
|
||||||
|
mkdir $out tmp
|
||||||
|
cp ${firmwareImagePkg}/lepotato/{acs.bin,bl2.bin,bl21.bin,bl30.bin,bl301.bin,bl31.img} \
|
||||||
|
${firmwareImagePkg}/lepotato/{acs_tool.py,aml_encrypt_gxl,blx_fix.sh} \
|
||||||
|
u-boot.bin tmp/
|
||||||
|
cd tmp
|
||||||
|
python3 acs_tool.py bl2.bin bl2_acs.bin acs.bin 0
|
||||||
|
|
||||||
|
bash -e blx_fix.sh bl2_acs.bin zero bl2_zero.bin bl21.bin bl21_zero.bin bl2_new.bin bl2
|
||||||
|
[ -f zero ] && rm zero
|
||||||
|
|
||||||
|
bash -e blx_fix.sh bl30.bin zero bl30_zero.bin bl301.bin bl301_zero.bin bl30_new.bin bl30
|
||||||
|
[ -f zero ] && rm zero
|
||||||
|
|
||||||
|
./aml_encrypt_gxl --bl2sig --input bl2_new.bin --output bl2.n.bin.sig
|
||||||
|
./aml_encrypt_gxl --bl3enc --input bl30_new.bin --output bl30_new.bin.enc
|
||||||
|
./aml_encrypt_gxl --bl3enc --input bl31.img --output bl31.img.enc
|
||||||
|
./aml_encrypt_gxl --bl3enc --input u-boot.bin --output bl33.bin.enc
|
||||||
|
./aml_encrypt_gxl --bootmk --output $out/u-boot.gxl \
|
||||||
|
--bl2 bl2.n.bin.sig --bl30 bl30_new.bin.enc --bl31 bl31.img.enc --bl33 bl33.bin.enc
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
ubootNanoPCT4 = buildUBoot rec {
|
ubootNanoPCT4 = buildUBoot rec {
|
||||||
rkbin = fetchFromGitHub {
|
rkbin = fetchFromGitHub {
|
||||||
owner = "armbian";
|
owner = "armbian";
|
||||||
|
|
|
@ -1,38 +1,34 @@
|
||||||
{ lib
|
{ lib
|
||||||
|
, fetchurl
|
||||||
, stdenvNoCC
|
, stdenvNoCC
|
||||||
, fetchFromGitHub
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation rec {
|
stdenvNoCC.mkDerivation rec {
|
||||||
pname = "sof-firmware";
|
pname = "sof-firmware";
|
||||||
version = "2.2.2";
|
version = "2.2.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchurl {
|
||||||
owner = "thesofproject";
|
url = "https://github.com/thesofproject/sof-bin/releases/download/v${version}/sof-bin-v${version}.tar.gz";
|
||||||
repo = "sof-bin";
|
sha256 = "sha256-WR/9ZvHisycDjJHt88hQK0FywdyFDP5EBQ6t+OT620I=";
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "sha256-ztewE/8Mc0bbKbxmbJ2sBn3TysuM9hoaSgqrboy77oI=";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
dontFixup = true; # binaries must not be stripped or patchelfed
|
dontFixup = true; # binaries must not be stripped or patchelfed
|
||||||
|
|
||||||
# There is no proper structure in the upstream repo.
|
|
||||||
# This needs to be adapted by hand for every new release.
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
cd "v2.2.x"
|
mkdir -p $out/lib/firmware/intel
|
||||||
mkdir -p $out/lib/firmware/intel/sof{,-tplg}
|
cp -av sof-v${version} $out/lib/firmware/intel/sof
|
||||||
cp -a sof-v2.2/* $out/lib/firmware/intel/sof
|
cp -av sof-tplg-v${version} $out/lib/firmware/intel/sof-tplg
|
||||||
cp -a sof-v2.2.2/* $out/lib/firmware/intel/sof
|
|
||||||
cp -a sof-tplg-v2.2.1/* $out/lib/firmware/intel/sof-tplg
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
changelog = "https://github.com/thesofproject/sof-bin/releases/tag/v${version}";
|
||||||
description = "Sound Open Firmware";
|
description = "Sound Open Firmware";
|
||||||
homepage = "https://www.sofproject.org/";
|
homepage = "https://www.sofproject.org/";
|
||||||
license = with licenses; [ bsd3 isc ];
|
license = with licenses; [ bsd3 isc ];
|
||||||
maintainers = with maintainers; [ lblasc evenbrenden hmenke ];
|
maintainers = with maintainers; [ lblasc evenbrenden hmenke ];
|
||||||
platforms = with platforms; linux;
|
platforms = with platforms; linux;
|
||||||
|
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
26
pkgs/servers/code-server/build-vscode-nogit.patch
Normal file
26
pkgs/servers/code-server/build-vscode-nogit.patch
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
--- ./ci/build/build-vscode.sh
|
||||||
|
+++ ./ci/build/build-vscode.sh
|
||||||
|
@@ -45,14 +45,12 @@
|
||||||
|
# Set the commit Code will embed into the product.json. We need to do this
|
||||||
|
# since Code tries to get the commit from the `.git` directory which will fail
|
||||||
|
# as it is a submodule.
|
||||||
|
- export VSCODE_DISTRO_COMMIT
|
||||||
|
- VSCODE_DISTRO_COMMIT=$(git rev-parse HEAD)
|
||||||
|
+ export VSCODE_DISTRO_COMMIT=none
|
||||||
|
|
||||||
|
# Add the date, our name, links, and enable telemetry (this just makes
|
||||||
|
# telemetry available; telemetry can still be disabled by flag or setting).
|
||||||
|
# This needs to be done before building as Code will read this file and embed
|
||||||
|
# it into the client-side code.
|
||||||
|
- git checkout product.json # Reset in case the script exited early.
|
||||||
|
cp product.json product.original.json # Since jq has no inline edit.
|
||||||
|
jq --slurp '.[0] * .[1]' product.original.json <(
|
||||||
|
cat << EOF
|
||||||
|
@@ -99,7 +97,6 @@
|
||||||
|
# Reset so if you develop after building you will not be stuck with the wrong
|
||||||
|
# commit (the dev client will use `oss-dev` but the dev server will still use
|
||||||
|
# product.json which will have `stable-$commit`).
|
||||||
|
- git checkout product.json
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, buildGoModule, makeWrapper, runCommand
|
{ lib, stdenv, fetchFromGitHub, buildGoModule, makeWrapper, runCommand
|
||||||
, cacert, moreutils, jq, git, rsync, pkg-config, yarn, python3
|
, cacert, moreutils, jq, git, rsync, pkg-config, yarn, python3
|
||||||
, esbuild, nodejs-14_x, node-gyp, libsecret, xorg, ripgrep
|
, esbuild, nodejs-16_x, node-gyp, libsecret, xorg, ripgrep
|
||||||
, AppKit, Cocoa, CoreServices, Security, cctools, xcbuild }:
|
, AppKit, Cocoa, CoreServices, Security, cctools, xcbuild, quilt }:
|
||||||
|
|
||||||
let
|
let
|
||||||
system = stdenv.hostPlatform.system;
|
system = stdenv.hostPlatform.system;
|
||||||
|
|
||||||
nodejs = nodejs-14_x;
|
nodejs = nodejs-16_x;
|
||||||
python = python3;
|
python = python3;
|
||||||
yarn' = yarn.override { inherit nodejs; };
|
yarn' = yarn.override { inherit nodejs; };
|
||||||
defaultYarnOpts = [ "frozen-lockfile" "non-interactive" "no-progress"];
|
defaultYarnOpts = [ ];
|
||||||
|
|
||||||
# replaces esbuild's download script with a binary from nixpkgs
|
# replaces esbuild's download script with a binary from nixpkgs
|
||||||
patchEsbuild = path : version : ''
|
patchEsbuild = path : version : ''
|
||||||
|
@ -21,28 +21,28 @@ let
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "code-server";
|
pname = "code-server";
|
||||||
version = "4.0.1";
|
version = "4.8.3";
|
||||||
commit = "7fe23daf009e5234eaa54a1ea5ff26df384c47ac";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "cdr";
|
owner = "coder";
|
||||||
repo = "code-server";
|
repo = "code-server";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1s3dcmzlkyh7qfs3ai1p7dlp45iys0ax1fbxxz17p395pw9anrrl";
|
fetchSubmodules = true;
|
||||||
|
sha256 = "1h5ng60wf3gpsydfkv20x30xsw1f5zcvv77l1mzrqz1mhcw93lvz";
|
||||||
};
|
};
|
||||||
|
|
||||||
cloudAgent = buildGoModule rec {
|
cloudAgent = buildGoModule rec {
|
||||||
pname = "cloud-agent";
|
pname = "cloud-agent";
|
||||||
version = "0.2.3";
|
version = "0.2.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "cdr";
|
owner = "coder";
|
||||||
repo = "cloud-agent";
|
repo = "cloud-agent";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "14i1qq273f0yn5v52ryiqwj7izkd1yd212di4gh4bqypmmzhw3jj";
|
sha256 = "1s3jpgvzizc9skc27c3x35sya2p4ywhvdi3l73927z3j47wszy7f";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "0k9v10wkzx53r5syf6bmm81gr4s5dalyaa07y9zvx6vv5r2h0661";
|
vendorSha256 = "14xzlbmki8fk8mbcci62q8sklyd0nyga07ww1ap0vdrv7d1g31hn";
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
# the cloud-agent release tag has an empty version string, so add it back in
|
# the cloud-agent release tag has an empty version string, so add it back in
|
||||||
|
@ -66,16 +66,20 @@ in stdenv.mkDerivation rec {
|
||||||
xargs -I {} yarn --cwd {} \
|
xargs -I {} yarn --cwd {} \
|
||||||
--frozen-lockfile --ignore-scripts --ignore-platform \
|
--frozen-lockfile --ignore-scripts --ignore-platform \
|
||||||
--ignore-engines --no-progress --non-interactive
|
--ignore-engines --no-progress --non-interactive
|
||||||
|
|
||||||
|
find ./lib/vscode -name "yarn.lock" -printf "%h\n" | \
|
||||||
|
xargs -I {} yarn --cwd {} \
|
||||||
|
--ignore-scripts --ignore-engines
|
||||||
'';
|
'';
|
||||||
outputHashMode = "recursive";
|
outputHashMode = "recursive";
|
||||||
outputHashAlgo = "sha256";
|
outputHashAlgo = "sha256";
|
||||||
|
|
||||||
# to get hash values use nix-build -A code-server.prefetchYarnCache
|
# to get hash values use nix-build -A code-server.prefetchYarnCache
|
||||||
outputHash = "0qmfsirld1qfl2s26rxbpmvxsyj2pvzkgk8w89zlrgbhgc5fj8p9";
|
outputHash = "0jzzbmmgv1nfq975mi9ii9l6c4f1wy10fyy117xgm4s6vxana7qn";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
nodejs yarn' python pkg-config makeWrapper git rsync jq moreutils
|
nodejs yarn' python pkg-config makeWrapper git rsync jq moreutils quilt
|
||||||
];
|
];
|
||||||
buildInputs = lib.optionals (!stdenv.isDarwin) [ libsecret ]
|
buildInputs = lib.optionals (!stdenv.isDarwin) [ libsecret ]
|
||||||
++ (with xorg; [ libX11 libxkbfile ])
|
++ (with xorg; [ libX11 libxkbfile ])
|
||||||
|
@ -86,6 +90,8 @@ in stdenv.mkDerivation rec {
|
||||||
patches = [
|
patches = [
|
||||||
# remove download of coder-cloud agent
|
# remove download of coder-cloud agent
|
||||||
./remove-cloud-agent-download.patch
|
./remove-cloud-agent-download.patch
|
||||||
|
# remove git calls from vscode build script
|
||||||
|
./build-vscode-nogit.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -133,79 +139,68 @@ in stdenv.mkDerivation rec {
|
||||||
# install code-server dependencies
|
# install code-server dependencies
|
||||||
yarn --offline --ignore-scripts
|
yarn --offline --ignore-scripts
|
||||||
|
|
||||||
|
# apply patches
|
||||||
|
quilt push -a
|
||||||
|
|
||||||
# patch shebangs of everything to allow binary packages to build
|
# patch shebangs of everything to allow binary packages to build
|
||||||
patchShebangs .
|
patchShebangs .
|
||||||
|
|
||||||
# Skip shellcheck download
|
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
|
||||||
jq "del(.scripts.preinstall)" node_modules/shellcheck/package.json | sponge node_modules/shellcheck/package.json
|
export SKIP_SUBMODULE_DEPS=1
|
||||||
|
export NODE_OPTIONS=--openssl-legacy-provider
|
||||||
|
|
||||||
# rebuild binary packages now that scripts have been patched
|
# rebuild binary packages now that scripts have been patched
|
||||||
npm rebuild
|
echo "----- NPM rebuild"
|
||||||
|
npm rebuild --prefer-offline
|
||||||
|
|
||||||
# Replicate ci/dev/postinstall.sh
|
# Replicate ci/dev/postinstall.sh
|
||||||
echo "----- Replicate ci/dev/postinstall.sh"
|
echo "----- Replicate ci/dev/postinstall.sh"
|
||||||
yarn --cwd "./vendor" install --modules-folder modules --offline --ignore-scripts --frozen-lockfile
|
yarn --cwd "./vendor" install --modules-folder modules --offline --ignore-scripts --frozen-lockfile
|
||||||
|
|
||||||
# Replicate vendor/postinstall.sh
|
|
||||||
echo " ----- Replicate vendor/postinstall.sh"
|
|
||||||
yarn --cwd "./vendor/modules/code-oss-dev" --offline --frozen-lockfile --ignore-scripts install
|
|
||||||
|
|
||||||
# remove all built-in extensions, as these are 3rd party extensions that
|
# remove all built-in extensions, as these are 3rd party extensions that
|
||||||
# get downloaded from vscode marketplace
|
# get downloaded from vscode marketplace
|
||||||
jq --slurp '.[0] * .[1]' "vendor/modules/code-oss-dev/product.json" <(
|
jq --slurp '.[0] * .[1]' "./lib/vscode/product.json" <(
|
||||||
cat << EOF
|
cat << EOF
|
||||||
{
|
{
|
||||||
"builtInExtensions": []
|
"builtInExtensions": []
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
) | sponge vendor/modules/code-oss-dev/product.json
|
) | sponge ./lib/vscode/product.json
|
||||||
|
|
||||||
# disable automatic updates
|
# disable automatic updates
|
||||||
sed -i '/update.mode/,/\}/{s/default:.*/default: "none",/g}' \
|
sed -i '/update.mode/,/\}/{s/default:.*/default: "none",/g}' \
|
||||||
vendor/modules/code-oss-dev/src/vs/platform/update/common/update.config.contribution.ts
|
lib/vscode/src/vs/platform/update/common/update.config.contribution.ts
|
||||||
|
|
||||||
# put ripgrep binary into bin, so postinstall does not try to download it
|
|
||||||
find -name vscode-ripgrep -type d \
|
|
||||||
-execdir mkdir -p {}/bin \; \
|
|
||||||
-execdir ln -s ${ripgrep}/bin/rg {}/bin/rg \;
|
|
||||||
|
|
||||||
# Playwright is only needed for tests, we can disable it for builds.
|
|
||||||
# There's an environment variable to disable downloads, but the package makes a breaking call to
|
|
||||||
# sw_vers before that variable is checked.
|
|
||||||
patch -p1 -i ${./playwright.patch}
|
|
||||||
|
|
||||||
# Patch out remote download of nodejs from build script
|
# Patch out remote download of nodejs from build script
|
||||||
patch -p1 -i ${./remove-node-download.patch}
|
patch -p1 -i ${./remove-node-download.patch}
|
||||||
|
|
||||||
# Replicate install vscode dependencies without running script for all vscode packages
|
# Fetch packages for vscode
|
||||||
# that require patching for postinstall scripts to succeed
|
find ./lib/vscode -name "yarn.lock" -printf "%h\n" | \
|
||||||
find ./vendor/modules/code-oss-dev -path "*node_modules" -prune -o \
|
|
||||||
-path "./*/*/*/*/*" -name "yarn.lock" -printf "%h\n" | \
|
|
||||||
xargs -I {} yarn --cwd {} \
|
xargs -I {} yarn --cwd {} \
|
||||||
--frozen-lockfile --offline --ignore-scripts --ignore-engines
|
--frozen-lockfile --ignore-scripts --ignore-engines
|
||||||
|
|
||||||
|
|
||||||
# patch shebangs of everything to allow binary packages to build
|
# patch shebangs of everything to allow binary packages to build
|
||||||
patchShebangs .
|
patchShebangs .
|
||||||
|
|
||||||
${patchEsbuild "./vendor/modules/code-oss-dev/build" "0.12.6"}
|
${patchEsbuild "./lib/vscode/build" "0.12.6"}
|
||||||
${patchEsbuild "./vendor/modules/code-oss-dev/extensions" "0.11.23"}
|
${patchEsbuild "./lib/vscode/extensions" "0.11.23"}
|
||||||
'' + lib.optionalString stdenv.isDarwin ''
|
'' + lib.optionalString stdenv.isDarwin ''
|
||||||
# use prebuilt binary for @parcel/watcher, which requires macOS SDK 10.13+
|
# use prebuilt binary for @parcel/watcher, which requires macOS SDK 10.13+
|
||||||
# (see issue #101229)
|
# (see issue #101229)
|
||||||
pushd ./vendor/modules/code-oss-dev/remote/node_modules/@parcel/watcher
|
pushd ./lib/vscode/remote/node_modules/@parcel/watcher
|
||||||
mkdir -p ./build/Release
|
mkdir -p ./build/Release
|
||||||
mv ./prebuilds/darwin-x64/node.napi.glibc.node ./build/Release/watcher.node
|
mv ./prebuilds/darwin-x64/node.napi.glibc.node ./build/Release/watcher.node
|
||||||
jq "del(.scripts) | .gypfile = false" ./package.json | sponge ./package.json
|
jq "del(.scripts) | .gypfile = false" ./package.json | sponge ./package.json
|
||||||
popd
|
popd
|
||||||
'' + ''
|
'' + ''
|
||||||
# rebuild binaries, we use npm here, as yarn does not provide an alternative
|
|
||||||
# that would not attempt to try to reinstall everything and break our
|
# put ripgrep binary into bin, so postinstall does not try to download it
|
||||||
# patching attempts
|
find -name ripgrep -type d \
|
||||||
npm rebuild --prefix vendor/modules/code-oss-dev --update-binary
|
-execdir mkdir -p {}/bin \; \
|
||||||
|
-execdir ln -s ${ripgrep}/bin/rg {}/bin/rg \;
|
||||||
|
|
||||||
# run postinstall scripts after patching
|
# run postinstall scripts after patching
|
||||||
find ./vendor/modules/code-oss-dev -path "*node_modules" -prune -o \
|
find ./lib/vscode -path "*node_modules" -prune -o \
|
||||||
-path "./*/*/*/*/*" -name "yarn.lock" -printf "%h\n" | \
|
-path "./*/*/*/*/*" -name "yarn.lock" -printf "%h\n" | \
|
||||||
xargs -I {} sh -c 'jq -e ".scripts.postinstall" {}/package.json >/dev/null && yarn --cwd {} postinstall --frozen-lockfile --offline || true'
|
xargs -I {} sh -c 'jq -e ".scripts.postinstall" {}/package.json >/dev/null && yarn --cwd {} postinstall --frozen-lockfile --offline || true'
|
||||||
|
|
||||||
|
@ -233,7 +228,7 @@ in stdenv.mkDerivation rec {
|
||||||
ln -s "${cloudAgent}/bin/cloud-agent" $out/libexec/code-server/lib/coder-cloud-agent
|
ln -s "${cloudAgent}/bin/cloud-agent" $out/libexec/code-server/lib/coder-cloud-agent
|
||||||
|
|
||||||
# create wrapper
|
# create wrapper
|
||||||
makeWrapper "${nodejs-14_x}/bin/node" "$out/bin/code-server" \
|
makeWrapper "${nodejs-16_x}/bin/node" "$out/bin/code-server" \
|
||||||
--add-flags "$out/libexec/code-server/out/node/entry.js"
|
--add-flags "$out/libexec/code-server/out/node/entry.js"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -249,9 +244,9 @@ in stdenv.mkDerivation rec {
|
||||||
code-server is VS Code running on a remote server, accessible through the
|
code-server is VS Code running on a remote server, accessible through the
|
||||||
browser.
|
browser.
|
||||||
'';
|
'';
|
||||||
homepage = "https://github.com/cdr/code-server";
|
homepage = "https://github.com/coder/code-server";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ offline ];
|
maintainers = with maintainers; [ offline henkery ];
|
||||||
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
|
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
--- ./ci/build/npm-postinstall.sh
|
--- ./ci/build/npm-postinstall.sh
|
||||||
+++ ./ci/build/npm-postinstall.sh
|
+++ ./ci/build/npm-postinstall.sh
|
||||||
@@ -58,14 +58,6 @@
|
@@ -102,14 +102,6 @@
|
||||||
|
;;
|
||||||
OS="$(uname | tr '[:upper:]' '[:lower:]')"
|
esac
|
||||||
|
|
||||||
- mkdir -p ./lib
|
- mkdir -p ./lib
|
||||||
-
|
-
|
||||||
- if curl -fsSL "https://github.com/cdr/cloud-agent/releases/latest/download/cloud-agent-$OS-$ARCH" -o ./lib/coder-cloud-agent; then
|
- if curl -fsSL "https://github.com/coder/cloud-agent/releases/latest/download/cloud-agent-$OS-$ARCH" -o ./lib/coder-cloud-agent; then
|
||||||
- chmod +x ./lib/coder-cloud-agent
|
- chmod +x ./lib/coder-cloud-agent
|
||||||
- else
|
- else
|
||||||
- echo "Failed to download cloud agent; --link will not work"
|
- echo "Failed to download cloud agent; --link will not work"
|
||||||
- fi
|
- fi
|
||||||
-
|
-
|
||||||
if ! vscode_yarn; then
|
if ! vscode_install; then
|
||||||
echo "You may not have the required dependencies to build the native modules."
|
echo "You may not have the required dependencies to build the native modules."
|
||||||
echo "Please see https://github.com/cdr/code-server/blob/master/docs/npm.md"
|
echo "Please see https://github.com/coder/code-server/blob/main/docs/npm.md"
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
--- ./vendor/modules/code-oss-dev/build/gulpfile.reh.js
|
--- ./lib/vscode/build/gulpfile.reh.js
|
||||||
+++ ./vendor/modules/code-oss-dev/build/gulpfile.reh.js
|
+++ ./lib/vscode/build/gulpfile.reh.js
|
||||||
@@ -277,8 +277,6 @@
|
@@ -268,9 +268,6 @@
|
||||||
.pipe(util.stripSourceMappingURL())
|
.pipe(util.stripSourceMappingURL())
|
||||||
.pipe(jsFilter.restore);
|
.pipe(jsFilter.restore);
|
||||||
|
|
||||||
- const nodePath = `.build/node/v${nodeVersion}/${platform}-${platform === 'darwin' ? 'x64' : arch}`;
|
- const nodePath = `.build/node/v${nodeVersion}/${platform}-${arch}`;
|
||||||
- const node = gulp.src(`${nodePath}/**`, { base: nodePath, dot: true });
|
- const node = gulp.src(`${nodePath}/**`, { base: nodePath, dot: true });
|
||||||
|
-
|
||||||
let web = [];
|
let web = [];
|
||||||
if (type === 'reh-web') {
|
if (type === 'reh-web') {
|
||||||
@@ -296,7 +294,6 @@
|
web = [
|
||||||
|
@@ -287,7 +284,6 @@
|
||||||
license,
|
license,
|
||||||
sources,
|
sources,
|
||||||
deps,
|
deps,
|
||||||
|
@ -17,11 +18,11 @@
|
||||||
...web
|
...web
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -376,7 +373,6 @@
|
@@ -385,7 +381,6 @@
|
||||||
const destinationFolderName = `vscode-${type}${dashed(platform)}${dashed(arch)}`;
|
const destinationFolderName = `vscode-${type}${dashed(platform)}${dashed(arch)}`;
|
||||||
|
|
||||||
const serverTaskCI = task.define(`vscode-${type}${dashed(platform)}${dashed(arch)}${dashed(minified)}-ci`, task.series(
|
const serverTaskCI = task.define(`vscode-${type}${dashed(platform)}${dashed(arch)}${dashed(minified)}-ci`, task.series(
|
||||||
- gulp.task(`node-${platform}-${platform === 'darwin' ? 'x64' : arch}`),
|
- gulp.task(`node-${platform}-${arch}`),
|
||||||
util.rimraf(path.join(BUILD_ROOT, destinationFolderName)),
|
util.rimraf(path.join(BUILD_ROOT, destinationFolderName)),
|
||||||
packageTask(type, platform, arch, sourceFolderName, destinationFolderName)
|
packageTask(type, platform, arch, sourceFolderName, destinationFolderName)
|
||||||
));
|
));
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ lib
|
{ lib
|
||||||
|
, stdenv
|
||||||
, python3
|
, python3
|
||||||
, openssl
|
, openssl
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
|
@ -35,7 +36,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace "salt/utils/rsax931.py" \
|
substituteInPlace "salt/utils/rsax931.py" \
|
||||||
--subst-var-by "libcrypto" "${lib.getLib openssl}/lib/libcrypto.so"
|
--subst-var-by "libcrypto" "${lib.getLib openssl}/lib/libcrypto${stdenv.hostPlatform.extensions.sharedLibrary}"
|
||||||
substituteInPlace requirements/base.txt \
|
substituteInPlace requirements/base.txt \
|
||||||
--replace contextvars ""
|
--replace contextvars ""
|
||||||
|
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "faketty";
|
pname = "faketty";
|
||||||
version = "1.0.11";
|
version = "1.0.12";
|
||||||
|
|
||||||
src = fetchCrate {
|
src = fetchCrate {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "sha256-HMeJNUF4VT2WdGwAW21GvCp33Bg2HB8NCHv0+3cf74U=";
|
sha256 = "sha256-1q1TOwKC2Tse/Ct/6Nw7YiOviJyBZAsOBEp3sT4N0ss=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256-jhSleyhBquU0PxmVPGo1CkuwrzLG7WG5ANPmZ14/ui0=";
|
cargoSha256 = "sha256-x8+7sZJnA+kEwKAu8DBF8z7JhWjJ6ZFiLaQP8kFOt08=";
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs tests/test.sh
|
patchShebangs tests/test.sh
|
||||||
|
|
|
@ -10,13 +10,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "lxi-tools";
|
pname = "lxi-tools";
|
||||||
version = "2.3";
|
version = "2.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lxi-tools";
|
owner = "lxi-tools";
|
||||||
repo = "lxi-tools";
|
repo = "lxi-tools";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-c53Jn/9xKsxQDsRWU2LKtNWs28AuG4t5OwYOAMxpcPA=";
|
sha256 = "sha256-1CuE/OuClVqw8bG1N8DFNqqQGmXyGyk1LICrcHyuVxw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -14975,6 +14975,8 @@ with pkgs;
|
||||||
|
|
||||||
mint = callPackage ../development/compilers/mint { };
|
mint = callPackage ../development/compilers/mint { };
|
||||||
|
|
||||||
|
mitama-cpp-result = callPackage ../development/libraries/mitama-cpp-result { };
|
||||||
|
|
||||||
mitscheme = callPackage ../development/compilers/mit-scheme
|
mitscheme = callPackage ../development/compilers/mit-scheme
|
||||||
{ stdenv = gcc10StdenvCompat; texLive = texlive.combine { inherit (texlive) scheme-small epsf texinfo; }; };
|
{ stdenv = gcc10StdenvCompat; texLive = texlive.combine { inherit (texlive) scheme-small epsf texinfo; }; };
|
||||||
|
|
||||||
|
@ -17711,6 +17713,8 @@ with pkgs;
|
||||||
|
|
||||||
nmrpflash = callPackage ../development/embedded/nmrpflash { };
|
nmrpflash = callPackage ../development/embedded/nmrpflash { };
|
||||||
|
|
||||||
|
norminette = callPackage ../development/tools/norminette { };
|
||||||
|
|
||||||
nwjs = callPackage ../development/tools/nwjs { };
|
nwjs = callPackage ../development/tools/nwjs { };
|
||||||
|
|
||||||
nwjs-sdk = callPackage ../development/tools/nwjs {
|
nwjs-sdk = callPackage ../development/tools/nwjs {
|
||||||
|
@ -21705,6 +21709,7 @@ with pkgs;
|
||||||
mygpoclient = with python3.pkgs; toPythonApplication mygpoclient;
|
mygpoclient = with python3.pkgs; toPythonApplication mygpoclient;
|
||||||
|
|
||||||
mygui = callPackage ../development/libraries/mygui {
|
mygui = callPackage ../development/libraries/mygui {
|
||||||
|
inherit (darwin.apple_sdk.frameworks) Cocoa;
|
||||||
ogre = ogre1_9;
|
ogre = ogre1_9;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -26138,6 +26143,7 @@ with pkgs;
|
||||||
ubootCubieboard2
|
ubootCubieboard2
|
||||||
ubootGuruplug
|
ubootGuruplug
|
||||||
ubootJetsonTK1
|
ubootJetsonTK1
|
||||||
|
ubootLibreTechCC
|
||||||
ubootNanoPCT4
|
ubootNanoPCT4
|
||||||
ubootNovena
|
ubootNovena
|
||||||
ubootOdroidC2
|
ubootOdroidC2
|
||||||
|
@ -38246,4 +38252,6 @@ with pkgs;
|
||||||
widevine-cdm = callPackage ../applications/networking/browsers/misc/widevine-cdm.nix { };
|
widevine-cdm = callPackage ../applications/networking/browsers/misc/widevine-cdm.nix { };
|
||||||
|
|
||||||
alsa-scarlett-gui = callPackage ../applications/audio/alsa-scarlett-gui { };
|
alsa-scarlett-gui = callPackage ../applications/audio/alsa-scarlett-gui { };
|
||||||
|
|
||||||
|
tuner = callPackage ../applications/audio/tuner { };
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue