Merge master into staging-next
This commit is contained in:
commit
379c22dbb3
34 changed files with 1506 additions and 2042 deletions
|
@ -295,9 +295,14 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
limits = mkOption {
|
limits = mkOption {
|
||||||
|
default = [];
|
||||||
|
type = limitsType;
|
||||||
description = ''
|
description = ''
|
||||||
Attribute set describing resource limits. Defaults to the
|
Attribute set describing resource limits. Defaults to the
|
||||||
value of <option>security.pam.loginLimits</option>.
|
value of <option>security.pam.loginLimits</option>.
|
||||||
|
The meaning of the values is explained in <citerefentry>
|
||||||
|
<refentrytitle>limits.conf</refentrytitle><manvolnum>5</manvolnum>
|
||||||
|
</citerefentry>.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -648,6 +653,51 @@ let
|
||||||
"${domain} ${type} ${item} ${toString value}\n")
|
"${domain} ${type} ${item} ${toString value}\n")
|
||||||
limits);
|
limits);
|
||||||
|
|
||||||
|
limitsType = with lib.types; listOf (submodule ({ ... }: {
|
||||||
|
options = {
|
||||||
|
domain = mkOption {
|
||||||
|
description = "Username, groupname, or wildcard this limit applies to";
|
||||||
|
example = "@wheel";
|
||||||
|
type = str;
|
||||||
|
};
|
||||||
|
|
||||||
|
type = mkOption {
|
||||||
|
description = "Type of this limit";
|
||||||
|
type = enum [ "-" "hard" "soft" ];
|
||||||
|
default = "-";
|
||||||
|
};
|
||||||
|
|
||||||
|
item = mkOption {
|
||||||
|
description = "Item this limit applies to";
|
||||||
|
type = enum [
|
||||||
|
"core"
|
||||||
|
"data"
|
||||||
|
"fsize"
|
||||||
|
"memlock"
|
||||||
|
"nofile"
|
||||||
|
"rss"
|
||||||
|
"stack"
|
||||||
|
"cpu"
|
||||||
|
"nproc"
|
||||||
|
"as"
|
||||||
|
"maxlogins"
|
||||||
|
"maxsyslogins"
|
||||||
|
"priority"
|
||||||
|
"locks"
|
||||||
|
"sigpending"
|
||||||
|
"msgqueue"
|
||||||
|
"nice"
|
||||||
|
"rtprio"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
value = mkOption {
|
||||||
|
description = "Value of this limit";
|
||||||
|
type = oneOf [ str int ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}));
|
||||||
|
|
||||||
motd = pkgs.writeText "motd" config.users.motd;
|
motd = pkgs.writeText "motd" config.users.motd;
|
||||||
|
|
||||||
makePAMService = name: service:
|
makePAMService = name: service:
|
||||||
|
@ -669,6 +719,7 @@ in
|
||||||
|
|
||||||
security.pam.loginLimits = mkOption {
|
security.pam.loginLimits = mkOption {
|
||||||
default = [];
|
default = [];
|
||||||
|
type = limitsType;
|
||||||
example =
|
example =
|
||||||
[ { domain = "ftp";
|
[ { domain = "ftp";
|
||||||
type = "hard";
|
type = "hard";
|
||||||
|
@ -688,7 +739,8 @@ in
|
||||||
<varname>domain</varname>, <varname>type</varname>,
|
<varname>domain</varname>, <varname>type</varname>,
|
||||||
<varname>item</varname>, and <varname>value</varname>
|
<varname>item</varname>, and <varname>value</varname>
|
||||||
attribute. The syntax and semantics of these attributes
|
attribute. The syntax and semantics of these attributes
|
||||||
must be that described in the limits.conf(5) man page.
|
must be that described in <citerefentry><refentrytitle>limits.conf</refentrytitle>
|
||||||
|
<manvolnum>5</manvolnum></citerefentry>.
|
||||||
|
|
||||||
Note that these limits do not apply to systemd services,
|
Note that these limits do not apply to systemd services,
|
||||||
whose limits can be changed via <option>systemd.extraConfig</option>
|
whose limits can be changed via <option>systemd.extraConfig</option>
|
||||||
|
|
|
@ -53,12 +53,12 @@ let
|
||||||
};
|
};
|
||||||
# /etc/nixos/configuration.nix for the vm
|
# /etc/nixos/configuration.nix for the vm
|
||||||
configFile = pkgs.writeText "configuration.nix" ''
|
configFile = pkgs.writeText "configuration.nix" ''
|
||||||
{config, pkgs, ...}: ({
|
{config, pkgs, lib, ...}: ({
|
||||||
imports =
|
imports =
|
||||||
[ ./hardware-configuration.nix
|
[ ./hardware-configuration.nix
|
||||||
<nixpkgs/nixos/modules/testing/test-instrumentation.nix>
|
<nixpkgs/nixos/modules/testing/test-instrumentation.nix>
|
||||||
];
|
];
|
||||||
} // pkgs.lib.importJSON ${
|
} // lib.importJSON ${
|
||||||
pkgs.writeText "simpleConfig.json" (builtins.toJSON simpleConfig)
|
pkgs.writeText "simpleConfig.json" (builtins.toJSON simpleConfig)
|
||||||
})
|
})
|
||||||
'';
|
'';
|
||||||
|
@ -114,7 +114,7 @@ in {
|
||||||
"${configFile}",
|
"${configFile}",
|
||||||
"/etc/nixos/configuration.nix",
|
"/etc/nixos/configuration.nix",
|
||||||
)
|
)
|
||||||
machine.succeed("nixos-rebuild boot >&2")
|
machine.succeed("nixos-rebuild boot --show-trace >&2")
|
||||||
|
|
||||||
machine.succeed("egrep 'menuentry.*debian' /boot/grub/grub.cfg")
|
machine.succeed("egrep 'menuentry.*debian' /boot/grub/grub.cfg")
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -118,7 +118,7 @@ let
|
||||||
packed="resources/app/node_modules.asar"
|
packed="resources/app/node_modules.asar"
|
||||||
unpacked="resources/app/node_modules"
|
unpacked="resources/app/node_modules"
|
||||||
${nodePackages.asar}/bin/asar extract "$packed" "$unpacked"
|
${nodePackages.asar}/bin/asar extract "$packed" "$unpacked"
|
||||||
substituteInPlace $unpacked/sudo-prompt/index.js \
|
substituteInPlace $unpacked/@vscode/sudo-prompt/index.js \
|
||||||
--replace "/usr/bin/pkexec" "/run/wrappers/bin/pkexec" \
|
--replace "/usr/bin/pkexec" "/run/wrappers/bin/pkexec" \
|
||||||
--replace "/bin/bash" "${bash}/bin/bash"
|
--replace "/bin/bash" "${bash}/bin/bash"
|
||||||
rm -rf "$packed"
|
rm -rf "$packed"
|
||||||
|
|
|
@ -14,17 +14,17 @@ let
|
||||||
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
|
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
|
||||||
|
|
||||||
sha256 = {
|
sha256 = {
|
||||||
x86_64-linux = "0wf8bmzag49n81kjb46kj2nkksimm8f7cf4ihpqcw8k5iwasn3j9";
|
x86_64-linux = "1w28rmb9fi45s85rrlzzh6r826dnyisd6lh3j8ir4hx6d34cawsf";
|
||||||
x86_64-darwin = "1s7i5087bvckg66mcb32krv12vxhaw7ii9vm3i6p72wr0sv7dddh";
|
x86_64-darwin = "1fyg3ygqk0z3jcj5bskgprlq8k9j134y75xq06z4xbv1dhgwhswj";
|
||||||
aarch64-linux = "0yzh5javinvas3zz0lliyc77vbcs1jrmxbkr7nic4snscg6wjhcd";
|
aarch64-linux = "0hha9ksbj51zmq0p3d1fwni4jd0yp0wab0w19carmbhnydhrgh22";
|
||||||
aarch64-darwin = "13l6ymz7v18s7ikxbwvkwb0f5ff2j82j5pfj04yy75kq9b5gh0vx";
|
aarch64-darwin = "1cmrh621z7ddl4qh95hm0nwzazshl71a43c6113jf4w6b1kvy5m5";
|
||||||
armv7l-linux = "129wffj9cidk9ysjpq3p0ddn6liwkmrkxhxgz7bqzj8sdhwyq8pz";
|
armv7l-linux = "1kipvqc5hrpgsfw7x2ab5jydf7zksdd3q8qr2mg20kjsdi4skwy4";
|
||||||
}.${system};
|
}.${system};
|
||||||
in
|
in
|
||||||
callPackage ./generic.nix rec {
|
callPackage ./generic.nix rec {
|
||||||
# Please backport all compatible updates to the stable release.
|
# Please backport all compatible updates to the stable release.
|
||||||
# This is important for the extension ecosystem.
|
# This is important for the extension ecosystem.
|
||||||
version = "1.62.3";
|
version = "1.63.0";
|
||||||
pname = "vscode";
|
pname = "vscode";
|
||||||
|
|
||||||
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
||||||
|
|
|
@ -13,10 +13,10 @@ let
|
||||||
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||||
|
|
||||||
sha256 = {
|
sha256 = {
|
||||||
x86_64-linux = "0g1c88i0nkg4hys00vhqp0i2n3kjl395fd2rimi2p49y042b5c9g";
|
x86_64-linux = "17kck7pkklhifm6hpsd93wmnyk06vi9sa55gp62m3diymp1b129z";
|
||||||
x86_64-darwin = "1521aqrv9zx2r5cy8h2011iz3v5lvayizlgv8j7j8qi272mmvx5k";
|
x86_64-darwin = "1japc6yyvw07rll53pf2jfg89m2g9jqj5daghg10v1gqk98j7r3x";
|
||||||
aarch64-linux = "1kk0jrhqx6q325zmfg553pqmk6v9cx3a99bsh9rzvdlca94nmpj0";
|
aarch64-linux = "0zg05q0hyldnw5g8b9zdf0ls4s07fixib7v830wa5dyi2sjcv149";
|
||||||
armv7l-linux = "08hy61a9pp18b1x7lnsc7b9y3bvnjmavazz7qkhp5qxl2gs802wm";
|
armv7l-linux = "0mky66cyxhx3cfm35sa4vlwh8m1878rc80jml9mqxdhlrpnxgdiy";
|
||||||
}.${system};
|
}.${system};
|
||||||
|
|
||||||
sourceRoot = {
|
sourceRoot = {
|
||||||
|
@ -31,7 +31,7 @@ in
|
||||||
|
|
||||||
# Please backport all compatible updates to the stable release.
|
# Please backport all compatible updates to the stable release.
|
||||||
# This is important for the extension ecosystem.
|
# This is important for the extension ecosystem.
|
||||||
version = "1.62.3";
|
version = "1.63.0";
|
||||||
pname = "vscodium";
|
pname = "vscodium";
|
||||||
|
|
||||||
executableName = "codium";
|
executableName = "codium";
|
||||||
|
|
|
@ -46,6 +46,7 @@ let
|
||||||
"8.13.2".sha256 = "1884vbmwmqwn9ngibax6dhnqh4cc02l0s2ajc6jb1xgr0i60whjk";
|
"8.13.2".sha256 = "1884vbmwmqwn9ngibax6dhnqh4cc02l0s2ajc6jb1xgr0i60whjk";
|
||||||
"8.14.0".sha256 = "04y2z0qyvag66zanfyc3f9agvmzbn4lsr0p1l7ck6yjhqx7vbm17";
|
"8.14.0".sha256 = "04y2z0qyvag66zanfyc3f9agvmzbn4lsr0p1l7ck6yjhqx7vbm17";
|
||||||
"8.14.1".sha256 = "0sx78pgx0qw8v7v2r32zzy3l161zipzq95iacda628girim7psnl";
|
"8.14.1".sha256 = "0sx78pgx0qw8v7v2r32zzy3l161zipzq95iacda628girim7psnl";
|
||||||
|
"8.15+rc1".sha256 = "sha256:0v9vnx5z2mbsmhdx08rpg0n8jn0d82mimpghn55vkwsscxmcrgnm";
|
||||||
};
|
};
|
||||||
releaseRev = v: "V${v}";
|
releaseRev = v: "V${v}";
|
||||||
fetched = import ../../../../build-support/coq/meta-fetch/default.nix
|
fetched = import ../../../../build-support/coq/meta-fetch/default.nix
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "proverif";
|
pname = "proverif";
|
||||||
version = "2.03";
|
version = "2.04";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://bblanche.gitlabpages.inria.fr/proverif/proverif${version}.tar.gz";
|
url = "https://bblanche.gitlabpages.inria.fr/proverif/proverif${version}.tar.gz";
|
||||||
sha256 = "sha256:1q5mp9il09jylimcaqczb3kh34gb5px88js127gxv0jj5b4bqfc7";
|
sha256 = "sha256:0xgwnp59779xc40sb7ck8rmfn620pilxyq79l3bymj9m7z0mwvm9";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = with ocamlPackages; [ ocaml findlib ];
|
buildInputs = with ocamlPackages; [ ocaml findlib ];
|
||||||
|
|
|
@ -5,7 +5,7 @@ with lib; mkCoqDerivation {
|
||||||
owner = "uwplse";
|
owner = "uwplse";
|
||||||
inherit version;
|
inherit version;
|
||||||
defaultVersion = with versions; switch coq.coq-version [
|
defaultVersion = with versions; switch coq.coq-version [
|
||||||
{ case = range "8.6" "8.14"; out = "20210328"; }
|
{ case = range "8.6" "8.15"; out = "20210328"; }
|
||||||
{ case = range "8.5" "8.13"; out = "20181102"; }
|
{ case = range "8.5" "8.13"; out = "20181102"; }
|
||||||
] null;
|
] null;
|
||||||
release."20210328".rev = "179bd5312e9d8b63fc3f4071c628cddfc496d741";
|
release."20210328".rev = "179bd5312e9d8b63fc3f4071c628cddfc496d741";
|
||||||
|
|
|
@ -8,6 +8,7 @@ with lib; mkCoqDerivation {
|
||||||
defaultVersion = if versions.isGe "8.5" coq.coq-version
|
defaultVersion = if versions.isGe "8.5" coq.coq-version
|
||||||
then "${coq.coq-version}.0" else null;
|
then "${coq.coq-version}.0" else null;
|
||||||
|
|
||||||
|
release."8.15.0".sha256 = "093klwlhclgyrba1iv18dyz1qp5f0lwiaa7y0qwvgmai8rll5fns";
|
||||||
release."8.14.0".sha256 = "0jsgdvj0ddhkls32krprp34r64y1rb5mwxl34fgaxk2k4664yq06";
|
release."8.14.0".sha256 = "0jsgdvj0ddhkls32krprp34r64y1rb5mwxl34fgaxk2k4664yq06";
|
||||||
release."8.13.0".sha256 = "1n66i7hd9222b2ks606mak7m4f0dgy02xgygjskmmav6h7g2sx7y";
|
release."8.13.0".sha256 = "1n66i7hd9222b2ks606mak7m4f0dgy02xgygjskmmav6h7g2sx7y";
|
||||||
release."8.12.0".sha256 = "14ijb3qy2hin3g4djx437jmnswxxq7lkfh3dwh9qvrds9a015yg8";
|
release."8.12.0".sha256 = "14ijb3qy2hin3g4djx437jmnswxxq7lkfh3dwh9qvrds9a015yg8";
|
||||||
|
|
|
@ -10,7 +10,7 @@ with lib;
|
||||||
|
|
||||||
inherit version;
|
inherit version;
|
||||||
defaultVersion = with versions; switch [ coq.version mathcomp.version ] [
|
defaultVersion = with versions; switch [ coq.version mathcomp.version ] [
|
||||||
{ cases = [ (isGe "8.10") (isGe "1.12.0") ]; out = "1.1.0"; }
|
{ cases = [ (range "8.10" "8.14") (isGe "1.12.0") ]; out = "1.1.0"; }
|
||||||
{ cases = [ (isGe "8.10") (range "1.11.0" "1.12.0") ]; out = "1.0.5"; }
|
{ cases = [ (isGe "8.10") (range "1.11.0" "1.12.0") ]; out = "1.0.5"; }
|
||||||
{ cases = [ (isGe "8.7") "1.11.0" ]; out = "1.0.4"; }
|
{ cases = [ (isGe "8.7") "1.11.0" ]; out = "1.0.4"; }
|
||||||
{ cases = [ (isGe "8.7") "1.10.0" ]; out = "1.0.3"; }
|
{ cases = [ (isGe "8.7") "1.10.0" ]; out = "1.0.3"; }
|
||||||
|
|
|
@ -6,7 +6,7 @@ with lib; mkCoqDerivation {
|
||||||
owner = "gappa";
|
owner = "gappa";
|
||||||
domain = "gitlab.inria.fr";
|
domain = "gitlab.inria.fr";
|
||||||
inherit version;
|
inherit version;
|
||||||
defaultVersion = if versions.isGe "8.8" coq.coq-version then "1.5.0" else null;
|
defaultVersion = if versions.range "8.8" "8.14" coq.coq-version then "1.5.0" else null;
|
||||||
release."1.5.0".sha256 = "1i1c0gakffxqqqqw064cbvc243yl325hxd50jmczr6mk18igk41n";
|
release."1.5.0".sha256 = "1i1c0gakffxqqqqw064cbvc243yl325hxd50jmczr6mk18igk41n";
|
||||||
release."1.4.5".sha256 = "081hib1d9wfm29kis390qsqch8v6fs3q71g2rgbbzx5y5cf48n9k";
|
release."1.4.5".sha256 = "081hib1d9wfm29kis390qsqch8v6fs3q71g2rgbbzx5y5cf48n9k";
|
||||||
release."1.4.4".sha256 = "114q2hgw64j6kqa9mg3qcp1nlf0ia46z2xadq81fnkxqm856ml7l";
|
release."1.4.4".sha256 = "114q2hgw64j6kqa9mg3qcp1nlf0ia46z2xadq81fnkxqm856ml7l";
|
||||||
|
|
|
@ -12,7 +12,7 @@ mkCoqDerivation {
|
||||||
|
|
||||||
inherit version;
|
inherit version;
|
||||||
defaultVersion = with versions; switch coq.coq-version [
|
defaultVersion = with versions; switch coq.coq-version [
|
||||||
{ case = isGe "8.13"; out = "0.9"; }
|
{ case = range "8.13" "8.14"; out = "0.9"; }
|
||||||
] null;
|
] null;
|
||||||
|
|
||||||
propagatedBuildInputs = [ mathcomp-algebra mathcomp-finmap hierarchy-builder ];
|
propagatedBuildInputs = [ mathcomp-algebra mathcomp-finmap hierarchy-builder ];
|
||||||
|
|
|
@ -6,7 +6,7 @@ mkCoqDerivation rec {
|
||||||
domain = "gitlab.inria.fr";
|
domain = "gitlab.inria.fr";
|
||||||
inherit version;
|
inherit version;
|
||||||
defaultVersion = with lib.versions; lib.switch coq.coq-version [
|
defaultVersion = with lib.versions; lib.switch coq.coq-version [
|
||||||
{ case = isGe "8.8" ; out = "4.3.0"; }
|
{ case = range "8.8" "8.14"; out = "4.3.0"; }
|
||||||
{ case = range "8.8" "8.12"; out = "4.0.0"; }
|
{ case = range "8.8" "8.12"; out = "4.0.0"; }
|
||||||
{ case = range "8.7" "8.11"; out = "3.4.2"; }
|
{ case = range "8.7" "8.11"; out = "3.4.2"; }
|
||||||
{ case = range "8.5" "8.6"; out = "3.3.0"; }
|
{ case = range "8.5" "8.6"; out = "3.3.0"; }
|
||||||
|
|
|
@ -6,7 +6,7 @@ with lib; mkCoqDerivation rec {
|
||||||
owner = "iris";
|
owner = "iris";
|
||||||
inherit version;
|
inherit version;
|
||||||
defaultVersion = with versions; switch coq.coq-version [
|
defaultVersion = with versions; switch coq.coq-version [
|
||||||
{ case = isGe "8.14"; out = "3.5.0"; }
|
{ case = isEq "8.14"; out = "3.5.0"; }
|
||||||
{ case = range "8.11" "8.13"; out = "3.4.0"; }
|
{ case = range "8.11" "8.13"; out = "3.4.0"; }
|
||||||
{ case = range "8.9" "8.10"; out = "3.3.0"; }
|
{ case = range "8.9" "8.10"; out = "3.3.0"; }
|
||||||
] null;
|
] null;
|
||||||
|
|
|
@ -6,7 +6,7 @@ with lib; mkCoqDerivation rec {
|
||||||
domain = "gitlab.mpi-sws.org";
|
domain = "gitlab.mpi-sws.org";
|
||||||
owner = "iris";
|
owner = "iris";
|
||||||
defaultVersion = with versions; switch coq.coq-version [
|
defaultVersion = with versions; switch coq.coq-version [
|
||||||
{ case = isGe "8.14"; out = "1.6.0"; }
|
{ case = isEq "8.14"; out = "1.6.0"; }
|
||||||
{ case = range "8.11" "8.13"; out = "1.5.0"; }
|
{ case = range "8.11" "8.13"; out = "1.5.0"; }
|
||||||
{ case = range "8.8" "8.10"; out = "1.4.0"; }
|
{ case = range "8.8" "8.10"; out = "1.4.0"; }
|
||||||
] null;
|
] null;
|
||||||
|
|
|
@ -20,11 +20,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "spidermonkey";
|
pname = "spidermonkey";
|
||||||
version = "91.3.0";
|
version = "91.4.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
|
url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
|
||||||
sha256 = "0v79c435vfbhsx7pqyq4jm5rv8iysig69wwqhvys1n0jy54m72qj";
|
sha256 = "09xkzk27krzyj1qx8cjjn2zpnws1cncka75828kk7ychnjfq48p7";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
lib
|
lib
|
||||||
, resholvePackage
|
, resholvePackage
|
||||||
, bash
|
, bash
|
||||||
, shellcheck
|
|
||||||
, doCheck ? true
|
, doCheck ? true
|
||||||
, doInstallCheck ? true
|
, doInstallCheck ? true
|
||||||
# variant-specific
|
# variant-specific
|
||||||
|
@ -50,12 +49,10 @@ resholvePackage rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
inherit doCheck;
|
inherit doCheck;
|
||||||
checkInputs = [ shellcheck bash ];
|
checkInputs = [ bash ];
|
||||||
|
|
||||||
# check based on https://github.com/bashup/events/blob/master/.dkrc
|
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
runHook preCheck
|
runHook preCheck
|
||||||
SHELLCHECK_OPTS='-e SC2016,SC2145' ${shellcheck}/bin/shellcheck ./bashup.events
|
|
||||||
${bash}/bin/bash -n ./bashup.events
|
${bash}/bin/bash -n ./bashup.events
|
||||||
${bash}/bin/bash ./bashup.events
|
${bash}/bin/bash ./bashup.events
|
||||||
runHook postCheck
|
runHook postCheck
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
{pkgs ? import <nixpkgs> {
|
{pkgs ? import <nixpkgs> {
|
||||||
inherit system;
|
inherit system;
|
||||||
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
|
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
|
||||||
|
|
||||||
let
|
let
|
||||||
nodeEnv = import ./node-env.nix {
|
nodeEnv = import ./node-env.nix {
|
||||||
|
|
|
@ -1,9 +1,20 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
set -eu -o pipefail
|
set -eu -o pipefail
|
||||||
|
|
||||||
cd "$( dirname "${BASH_SOURCE[0]}" )"
|
cd "$( dirname "${BASH_SOURCE[0]}" )"
|
||||||
|
|
||||||
node2nix=$(nix-build ../../.. -A nodePackages.node2nix)
|
node2nix=$(nix-build ../../.. -A nodePackages.node2nix)
|
||||||
|
|
||||||
rm -f ./node-env.nix
|
rm -f ./node-env.nix
|
||||||
${node2nix}/bin/node2nix -i node-packages.json -o node-packages.nix -c composition.nix
|
|
||||||
|
# Track the latest active nodejs LTS here: https://nodejs.org/en/about/releases/
|
||||||
|
${node2nix}/bin/node2nix \
|
||||||
|
-i node-packages.json \
|
||||||
|
-o node-packages.nix \
|
||||||
|
-c composition.nix \
|
||||||
|
--pkg-name nodejs-14_x
|
||||||
|
|
||||||
# using --no-out-link in nix-build argument would cause the
|
# using --no-out-link in nix-build argument would cause the
|
||||||
# gc to run before the script finishes
|
# gc to run before the script finishes
|
||||||
# which would cause a failure
|
# which would cause a failure
|
||||||
|
|
3318
pkgs/development/node-packages/node-packages.nix
generated
3318
pkgs/development/node-packages/node-packages.nix
generated
File diff suppressed because it is too large
Load diff
|
@ -1,4 +1,4 @@
|
||||||
{ buildDunePackage, jsonrpc, lsp, re, makeWrapper, dot-merlin-reader }:
|
{ lib, buildDunePackage, jsonrpc, lsp, re, makeWrapper, dot-merlin-reader, spawn }:
|
||||||
|
|
||||||
buildDunePackage {
|
buildDunePackage {
|
||||||
pname = "ocaml-lsp-server";
|
pname = "ocaml-lsp-server";
|
||||||
|
@ -7,7 +7,8 @@ buildDunePackage {
|
||||||
|
|
||||||
inherit (lsp) preBuild;
|
inherit (lsp) preBuild;
|
||||||
|
|
||||||
buildInputs = lsp.buildInputs ++ [ lsp re ];
|
buildInputs = lsp.buildInputs ++ [ lsp re ]
|
||||||
|
++ lib.optional (lib.versionAtLeast jsonrpc.version "1.9") spawn;
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
|
|
@ -10,10 +10,14 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let params =
|
let params =
|
||||||
if lib.versionAtLeast ocaml.version "4.12"
|
if lib.versionAtLeast ocaml.version "4.13"
|
||||||
then {
|
then {
|
||||||
version = "1.8.3";
|
version = "1.9.1";
|
||||||
sha256 = "sha256-WO9ap78XZxJCi04LEBX+r21nfL2UdPiCLRMrJSI7FOk=";
|
sha256 = "sha256:1vnwdpjppihprc8q2i5zcqq7vp67255jclg90ldfvwafgljxn76g";
|
||||||
|
} else if lib.versionAtLeast ocaml.version "4.12"
|
||||||
|
then {
|
||||||
|
version = "1.9.0";
|
||||||
|
sha256 = "sha256:1ac44n6g3rf84gvhcca545avgf9vpkwkkkm0s8ipshfhp4g4jikh";
|
||||||
} else {
|
} else {
|
||||||
version = "1.4.1";
|
version = "1.4.1";
|
||||||
sha256 = "1ssyazc0yrdng98cypwa9m3nzfisdzpp7hqnx684rqj8f0g3gs6f";
|
sha256 = "1ssyazc0yrdng98cypwa9m3nzfisdzpp7hqnx684rqj8f0g3gs6f";
|
||||||
|
@ -29,7 +33,7 @@ buildDunePackage rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
useDune2 = true;
|
useDune2 = true;
|
||||||
minimumOCamlVersion = "4.06";
|
minimalOCamlVersion = "4.06";
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
if lib.versionAtLeast version "1.7.0" then
|
if lib.versionAtLeast version "1.7.0" then
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pystache";
|
pname = "pystache";
|
||||||
version = "0.5.4";
|
version = "0.6.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "f7bbc265fb957b4d6c7c042b336563179444ab313fb93a719759111eabd3b85a";
|
sha256 = "93bf92b2149a4c4b58d12142e2c4c6dd5c08d89e4c95afccd4b6efe2ee1d470d";
|
||||||
};
|
};
|
||||||
|
|
||||||
LC_ALL = "en_US.UTF-8";
|
LC_ALL = "en_US.UTF-8";
|
||||||
|
|
|
@ -6,6 +6,8 @@
|
||||||
, nodePackages
|
, nodePackages
|
||||||
, moreutils
|
, moreutils
|
||||||
, esbuild
|
, esbuild
|
||||||
|
, pkg-config
|
||||||
|
, libsecret
|
||||||
, setDefaultServerPath ? true
|
, setDefaultServerPath ? true
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -22,7 +24,11 @@ let
|
||||||
|
|
||||||
releaseTag = rust-analyzer.version;
|
releaseTag = rust-analyzer.version;
|
||||||
|
|
||||||
nativeBuildInputs = [ jq moreutils esbuild ];
|
nativeBuildInputs = [
|
||||||
|
jq moreutils esbuild
|
||||||
|
# Required by `keytar`, which is a dependency of `vsce`.
|
||||||
|
pkg-config libsecret
|
||||||
|
];
|
||||||
|
|
||||||
# Follows https://github.com/rust-analyzer/rust-analyzer/blob/41949748a6123fd6061eb984a47f4fe780525e63/xtask/src/dist.rs#L39-L65
|
# Follows https://github.com/rust-analyzer/rust-analyzer/blob/41949748a6123fd6061eb984a47f4fe780525e63/xtask/src/dist.rs#L39-L65
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
|
@ -34,7 +40,9 @@ let
|
||||||
' package.json | sponge package.json
|
' package.json | sponge package.json
|
||||||
|
|
||||||
mkdir -p $vsix
|
mkdir -p $vsix
|
||||||
npx vsce package -o $vsix/${pname}.zip
|
# vsce ask for continue due to missing LICENSE.md
|
||||||
|
# Should be removed after https://github.com/rust-analyzer/rust-analyzer/commit/acd5c1f19bf7246107aaae7b6fe3f676a516c6d2
|
||||||
|
echo y | npx vsce package -o $vsix/${pname}.zip
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@ let
|
||||||
inherit cctools;
|
inherit cctools;
|
||||||
};
|
};
|
||||||
in buildMongoDB {
|
in buildMongoDB {
|
||||||
version = "3.6.13";
|
version = "3.6.23";
|
||||||
sha256 = "1mbvk4bmabrswjdm01jssxcygjpq5799zqyx901nsi12vlcymwg4";
|
sha256 = "sha256-EJpIerW4zcGJvHfqJ65fG8yNsLRlUnRkvYfC+jkoFJ4=";
|
||||||
patches = [ ./forget-build-dependencies.patch ]
|
patches = [ ./forget-build-dependencies.patch ]
|
||||||
++ lib.optionals stdenv.isDarwin [ ./asio-no-experimental-string-view.patch ];
|
++ lib.optionals stdenv.isDarwin [ ./asio-no-experimental-string-view.patch ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,8 +9,8 @@ let
|
||||||
inherit cctools;
|
inherit cctools;
|
||||||
};
|
};
|
||||||
in buildMongoDB {
|
in buildMongoDB {
|
||||||
version = "4.0.12";
|
version = "4.0.27";
|
||||||
sha256 = "1j8dqa4jr623y87jrdanyib9r7x18srrvdx952q4azcc8zrdwci1";
|
sha256 = "sha256-ct33mnK4pszhYM4Is7j0GZQRyi8i8Qmy0wcklyq5LjM=";
|
||||||
patches =
|
patches =
|
||||||
[ ./forget-build-dependencies.patch ./mozjs-45_fix-3-byte-opcode.patch ]
|
[ ./forget-build-dependencies.patch ./mozjs-45_fix-3-byte-opcode.patch ]
|
||||||
++ lib.optionals stdenv.isDarwin [ ./asio-no-experimental-string-view.patch ];
|
++ lib.optionals stdenv.isDarwin [ ./asio-no-experimental-string-view.patch ];
|
||||||
|
|
|
@ -9,8 +9,8 @@ let
|
||||||
inherit cctools;
|
inherit cctools;
|
||||||
};
|
};
|
||||||
in buildMongoDB {
|
in buildMongoDB {
|
||||||
version = "4.2.8";
|
version = "4.2.17";
|
||||||
sha256 = "13yvhi1258skdni00bh6ph609whqsmhiimhyqy1gs2liwdvh5278";
|
sha256 = "sha256-4ynvImVjN674VdD/bJ55Vy/IrOlMN8iZb2PAhxwbv1A=";
|
||||||
patches =
|
patches =
|
||||||
[ ./forget-build-dependencies-4-2.patch ]
|
[ ./forget-build-dependencies-4-2.patch ]
|
||||||
++ lib.optionals stdenv.isDarwin [ ./asio-no-experimental-string-view-4-2.patch ];
|
++ lib.optionals stdenv.isDarwin [ ./asio-no-experimental-string-view-4-2.patch ];
|
||||||
|
|
|
@ -3,12 +3,12 @@
|
||||||
with lib;
|
with lib;
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "moreutils";
|
pname = "moreutils";
|
||||||
version = "0.65";
|
version = "0.66";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "git://git.joeyh.name/moreutils";
|
url = "git://git.joeyh.name/moreutils";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
sha256 = "17r80xs756c5vv4ghh901c8abraqqfp7ncagv9ys4il3jngfqbrb";
|
sha256 = "sha256-y+imKvLbaegpI4GTVPuHFT43OGFGnzOnWP2J3LSX1BQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "neo-cowsay";
|
pname = "neo-cowsay";
|
||||||
version = "1.0.3";
|
version = "2.0.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Code-Hex";
|
owner = "Code-Hex";
|
||||||
repo = "Neo-cowsay";
|
repo = "Neo-cowsay";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-n01C6Z9nV2DDbSqgbOIZTqZAWXo6h4/NJdyFiOCh79A=";
|
sha256 = "sha256-VswknPs/yCUOUsXoGlGNF22i7dK8FrYzWkUWlfIPrNo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-4qMsyNFD2MclsseE+IAaNm5r0wHWdcwLLPsZ0JJ3qpw=";
|
vendorSha256 = "sha256-kJSKDqw2NpnPjotUM6Ck6sixCJt3nVOdx800/+JBiWM=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -11,14 +11,14 @@ lvm2 # lvs
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "1.78";
|
version = "1.79";
|
||||||
pname = "os-prober";
|
pname = "os-prober";
|
||||||
src = fetchFromGitLab {
|
src = fetchFromGitLab {
|
||||||
domain = "salsa.debian.org";
|
domain = "salsa.debian.org";
|
||||||
owner = "installer-team";
|
owner = "installer-team";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-mfv1b40n/opXdyj6IXWVf/32sWlS+/DbXIRwE1zX4KM=";
|
sha256 = "sha256-ntwH5TIA18IOgYPkHMLU0EVykkHs6Z0wseYEPsU0KvQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
|
@ -8,11 +8,11 @@
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
pname = "privoxy";
|
pname = "privoxy";
|
||||||
version = "3.0.32";
|
version = "3.0.33";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/ijbswa/Sources/${version}%20%28stable%29/${pname}-${version}-stable-src.tar.gz";
|
url = "mirror://sourceforge/ijbswa/Sources/${version}%20%28stable%29/${pname}-${version}-stable-src.tar.gz";
|
||||||
sha256 = "sha256-xh3kAIxiRF7Bjx8nBAfL8jcuq6k76szcnjI4uy3v7tc=";
|
sha256 = "sha256-BLEE5w2sYVYbndEQaEslD6/IwT2+Q3pg+uGN3ZqIH64=";
|
||||||
};
|
};
|
||||||
|
|
||||||
hardeningEnable = [ "pie" ];
|
hardeningEnable = [ "pie" ];
|
||||||
|
|
|
@ -31643,6 +31643,7 @@ with pkgs;
|
||||||
coqPackages_8_12 coq_8_12
|
coqPackages_8_12 coq_8_12
|
||||||
coqPackages_8_13 coq_8_13
|
coqPackages_8_13 coq_8_13
|
||||||
coqPackages_8_14 coq_8_14
|
coqPackages_8_14 coq_8_14
|
||||||
|
coqPackages_8_15 coq_8_15
|
||||||
coqPackages coq
|
coqPackages coq
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
@ -144,6 +144,7 @@ in rec {
|
||||||
coq_8_12 = mkCoq "8.12";
|
coq_8_12 = mkCoq "8.12";
|
||||||
coq_8_13 = mkCoq "8.13";
|
coq_8_13 = mkCoq "8.13";
|
||||||
coq_8_14 = mkCoq "8.14";
|
coq_8_14 = mkCoq "8.14";
|
||||||
|
coq_8_15 = mkCoq "8.15";
|
||||||
|
|
||||||
coqPackages_8_5 = mkCoqPackages coq_8_5;
|
coqPackages_8_5 = mkCoqPackages coq_8_5;
|
||||||
coqPackages_8_6 = mkCoqPackages coq_8_6;
|
coqPackages_8_6 = mkCoqPackages coq_8_6;
|
||||||
|
@ -155,6 +156,7 @@ in rec {
|
||||||
coqPackages_8_12 = mkCoqPackages coq_8_12;
|
coqPackages_8_12 = mkCoqPackages coq_8_12;
|
||||||
coqPackages_8_13 = mkCoqPackages coq_8_13;
|
coqPackages_8_13 = mkCoqPackages coq_8_13;
|
||||||
coqPackages_8_14 = mkCoqPackages coq_8_14;
|
coqPackages_8_14 = mkCoqPackages coq_8_14;
|
||||||
|
coqPackages_8_15 = mkCoqPackages coq_8_15;
|
||||||
coqPackages = recurseIntoAttrs coqPackages_8_13;
|
coqPackages = recurseIntoAttrs coqPackages_8_13;
|
||||||
coq = coqPackages.coq;
|
coq = coqPackages.coq;
|
||||||
|
|
||||||
|
|
|
@ -134,8 +134,9 @@ in
|
||||||
/* Test some cross builds on 64 bit mingw-w64 */
|
/* Test some cross builds on 64 bit mingw-w64 */
|
||||||
crossMingwW64 = mapTestOnCross lib.systems.examples.mingwW64 windowsCommon;
|
crossMingwW64 = mapTestOnCross lib.systems.examples.mingwW64 windowsCommon;
|
||||||
|
|
||||||
/* Linux on the fuloong */
|
/* Linux on mipsel */
|
||||||
fuloongminipc = mapTestOnCross lib.systems.examples.fuloongminipc linuxCommon;
|
fuloongminipc = mapTestOnCross lib.systems.examples.fuloongminipc linuxCommon;
|
||||||
|
ben-nanonote = mapTestOnCross lib.systems.examples.ben-nanonote linuxCommon;
|
||||||
|
|
||||||
/* Javacript */
|
/* Javacript */
|
||||||
ghcjs = mapTestOnCross lib.systems.examples.ghcjs {
|
ghcjs = mapTestOnCross lib.systems.examples.ghcjs {
|
||||||
|
@ -146,9 +147,32 @@ in
|
||||||
rpi = mapTestOnCross lib.systems.examples.raspberryPi rpiCommon;
|
rpi = mapTestOnCross lib.systems.examples.raspberryPi rpiCommon;
|
||||||
rpi-musl = mapTestOnCross lib.systems.examples.muslpi rpiCommon;
|
rpi-musl = mapTestOnCross lib.systems.examples.muslpi rpiCommon;
|
||||||
|
|
||||||
|
/* Linux on the Remarkable */
|
||||||
|
remarkable1 = mapTestOnCross lib.systems.examples.remarkable1 linuxCommon;
|
||||||
|
remarkable2 = mapTestOnCross lib.systems.examples.remarkable2 linuxCommon;
|
||||||
|
|
||||||
|
/* Linux on armv7l-hf */
|
||||||
|
armv7l-hf = mapTestOnCross lib.systems.examples.armv7l-hf-multiplatform linuxCommon;
|
||||||
|
scaleway-c1 = mapTestOnCross lib.systems.examples.scaleway-c1 linuxCommon;
|
||||||
|
|
||||||
|
pogoplug4 = mapTestOnCross lib.systems.examples.pogoplug4 linuxCommon;
|
||||||
|
|
||||||
|
/* Linux on aarch64 */
|
||||||
|
aarch64 = mapTestOnCross lib.systems.examples.aarch64-multiplatform linuxCommon;
|
||||||
aarch64-musl = mapTestOnCross lib.systems.examples.aarch64-multiplatform-musl linuxCommon;
|
aarch64-musl = mapTestOnCross lib.systems.examples.aarch64-multiplatform-musl linuxCommon;
|
||||||
|
|
||||||
|
/* Linux on RISCV */
|
||||||
|
riscv64 = mapTestOnCross lib.systems.examples.riscv64 linuxCommon;
|
||||||
|
riscv32 = mapTestOnCross lib.systems.examples.riscv32 linuxCommon;
|
||||||
|
|
||||||
|
m68k = mapTestOnCross lib.systems.examples.m68k linuxCommon;
|
||||||
|
s390x = mapTestOnCross lib.systems.examples.s390x linuxCommon;
|
||||||
|
|
||||||
|
/* (Cross-compiled) Linux on x86 */
|
||||||
x86_64-musl = mapTestOnCross lib.systems.examples.musl64 linuxCommon;
|
x86_64-musl = mapTestOnCross lib.systems.examples.musl64 linuxCommon;
|
||||||
|
x86_64-gnu = mapTestOnCross lib.systems.examples.gnu64 linuxCommon;
|
||||||
|
i686-musl = mapTestOnCross lib.systems.examples.musl32 linuxCommon;
|
||||||
|
i686-gnu = mapTestOnCross lib.systems.examples.gnu32 linuxCommon;
|
||||||
|
|
||||||
ppc64le = mapTestOnCross lib.systems.examples.powernv linuxCommon;
|
ppc64le = mapTestOnCross lib.systems.examples.powernv linuxCommon;
|
||||||
ppc64le-musl = mapTestOnCross lib.systems.examples.musl-power linuxCommon;
|
ppc64le-musl = mapTestOnCross lib.systems.examples.musl-power linuxCommon;
|
||||||
|
@ -159,12 +183,20 @@ in
|
||||||
wasi32 = mapTestOnCross lib.systems.examples.wasi32 wasiCommon;
|
wasi32 = mapTestOnCross lib.systems.examples.wasi32 wasiCommon;
|
||||||
|
|
||||||
msp430 = mapTestOnCross lib.systems.examples.msp430 embedded;
|
msp430 = mapTestOnCross lib.systems.examples.msp430 embedded;
|
||||||
|
mmix = mapTestOnCross lib.systems.examples.mmix embedded;
|
||||||
|
vc4 = mapTestOnCross lib.systems.examples.vc4 embedded;
|
||||||
|
or1k = mapTestOnCross lib.systems.examples.or1k embedded;
|
||||||
avr = mapTestOnCross lib.systems.examples.avr embedded;
|
avr = mapTestOnCross lib.systems.examples.avr embedded;
|
||||||
arm-embedded = mapTestOnCross lib.systems.examples.arm-embedded embedded;
|
arm-embedded = mapTestOnCross lib.systems.examples.arm-embedded embedded;
|
||||||
powerpc-embedded = mapTestOnCross lib.systems.examples.ppc-embedded embedded;
|
armhf-embedded = mapTestOnCross lib.systems.examples.armhf-embedded embedded;
|
||||||
aarch64-embedded = mapTestOnCross lib.systems.examples.aarch64-embedded embedded;
|
aarch64-embedded = mapTestOnCross lib.systems.examples.aarch64-embedded embedded;
|
||||||
|
aarch64be-embedded = mapTestOnCross lib.systems.examples.aarch64be-embedded embedded;
|
||||||
|
powerpc-embedded = mapTestOnCross lib.systems.examples.ppc-embedded embedded;
|
||||||
|
powerpcle-embedded = mapTestOnCross lib.systems.examples.ppcle-embedded embedded;
|
||||||
i686-embedded = mapTestOnCross lib.systems.examples.i686-embedded embedded;
|
i686-embedded = mapTestOnCross lib.systems.examples.i686-embedded embedded;
|
||||||
x86_64-embedded = mapTestOnCross lib.systems.examples.x86_64-embedded embedded;
|
x86_64-embedded = mapTestOnCross lib.systems.examples.x86_64-embedded embedded;
|
||||||
|
riscv64-embedded = mapTestOnCross lib.systems.examples.riscv64 embedded;
|
||||||
|
riscv32-embedded = mapTestOnCross lib.systems.examples.riscv32 embedded;
|
||||||
|
|
||||||
x86_64-netbsd = mapTestOnCross lib.systems.examples.x86_64-netbsd common;
|
x86_64-netbsd = mapTestOnCross lib.systems.examples.x86_64-netbsd common;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue