Merge staging-next into staging

Changed files
+83 -52
doc
languages-frameworks
nixos
modules
virtualisation
tests
pkgs
applications
networking
instant-messengers
zoom-us
development
compilers
go-modules
generic
go-packages
generic
ocaml-modules
ansiterminal
tools
admin
top-level
+11 -8
doc/languages-frameworks/go.section.md
···
### `buildFlagsArray` and `buildFlags`: {#ex-goBuildFlags-noarray}
-
These attributes set build flags supported by `go build`. We recommend using `buildFlagsArray`. The most common use case of these attributes is to make the resulting executable aware of its own version. For example:
+
These attributes set build flags supported by `go build`. We recommend using `buildFlagsArray`.
```nix
buildFlagsArray = [
-
# Note: single quotes are not needed.
-
"-ldflags=-X main.Version=${version} -X main.Commit=${version}"
+
"-tags=release"
];
```
+
### `ldflags` {#var-go-ldflags}
+
+
Arguments to pass to the Go linker tool via the `-ldflags` argument of `go build`. The most common use case for this argument is to make the resulting executable aware of its own version. For example:
+
```nix
-
buildFlagsArray = ''
-
-ldflags=
-
-X main.Version=${version}
-
-X main.Commit=${version}
-
'';
+
ldflags = [
+
"-s" "-w"
+
"-X main.Version=${version}"
+
"-X main.Commit=${version}"
+
];
```
### `deleteVendor` {#var-go-deleteVendor}
+15
nixos/modules/virtualisation/containers.nix
···
'';
};
+
storage.settings = mkOption {
+
type = toml.type;
+
default = {
+
storage = {
+
driver = "overlay";
+
graphroot = "/var/lib/containers/storage";
+
runroot = "/run/containers/storage";
+
};
+
};
+
description = "storage.conf configuration";
+
};
+
registries = {
search = mkOption {
type = types.listOf types.str;
···
environment.etc."containers/containers.conf".source =
toml.generate "containers.conf" cfg.containersConf.settings;
+
+
environment.etc."containers/storage.conf".source =
+
toml.generate "storage.conf" cfg.storage.settings;
environment.etc."containers/registries.conf".source = toml.generate "registries.conf" {
registries = lib.mapAttrs (n: v: { registries = v; }) cfg.registries;
+3
nixos/modules/virtualisation/lxd.nix
···
"net.ipv6.neigh.default.gc_thresh3" = 8192;
"kernel.keys.maxkeys" = 2000;
};
+
+
boot.kernelModules = [ "veth" "xt_comment" "xt_CHECKSUM" "xt_MASQUERADE" ]
+
++ optionals (!config.networking.nftables.enable) [ "iptable_mangle" ];
};
}
+4
nixos/tests/lxd.nix
···
## limits.cpu ##
machine.succeed("lxc config set test limits.cpu 1")
+
machine.succeed("lxc restart test")
# Since Alpine doesn't have `nproc` pre-installed, we've gotta resort
# to the primal methods
···
)
machine.succeed("lxc config set test limits.cpu 2")
+
machine.succeed("lxc restart test")
assert (
"2"
···
## limits.memory ##
machine.succeed("lxc config set test limits.memory 64MB")
+
machine.succeed("lxc restart test")
assert (
"MemTotal: 62500 kB"
···
)
machine.succeed("lxc config set test limits.memory 128MB")
+
machine.succeed("lxc restart test")
assert (
"MemTotal: 125000 kB"
+2 -2
pkgs/applications/networking/instant-messengers/zoom-us/default.nix
···
assert pulseaudioSupport -> libpulseaudio != null;
let
-
version = "5.6.16888.0424";
+
version = "5.6.20278.0524";
srcs = {
x86_64-linux = fetchurl {
url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
-
sha256 = "H/G9cSVmxYM0AVfrdpXzm7ohssDbKq2xdvIBc4d+elc=";
+
sha256 = "1nkpmrpb0bz4zkg8nszxmcfy3ymigd2bmxhnxbjrcnv64ykdrgp7";
};
};
+6 -1
pkgs/development/compilers/compcert/default.nix
···
{ lib, stdenv, fetchFromGitHub, fetchpatch, makeWrapper
, coqPackages, ocamlPackages, coq2html
, tools ? stdenv.cc
-
, version ? "3.8"
+
, version ? "3.9"
}:
let
···
];
useExternalFlocq = true;
};
+
"3.9" = {
+
sha256 = "1srcz2dqrvmbvv5cl66r34zqkm0hsbryk7gd3i9xx4slahc9zvdb";
+
useExternalFlocq = true;
+
};
}."${version}"; in
stdenv.mkDerivation rec {
···
postPatch = ''
substituteInPlace ./configure \
+
--replace \$\{toolprefix\}ar 'ar' \
--replace '{toolprefix}gcc' '{toolprefix}cc'
'';
+3 -2
pkgs/development/compilers/go/1.15.nix
···
inherit (lib) optionals optionalString;
-
version = "1.15.12";
+
version = "1.15.13";
go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
···
src = fetchurl {
url = "https://dl.google.com/go/go${version}.src.tar.gz";
-
sha256 = "sha256-HGkRk330onf6dOe378PQhZRJjExK3AtsSuNWYTdSgJE=";
+
sha256 = "sha256-mQaeciNHnM5FU/hPh0uTRfb0BF8nz1CJSJtUbaYZokQ=";
};
# perl is used for testing go vet
···
license = licenses.bsd3;
maintainers = teams.golang.members;
platforms = platforms.linux ++ platforms.darwin;
+
badPlatforms = [ "aarch64-darwin" ];
};
}
+2 -2
pkgs/development/compilers/go/1.16.nix
···
inherit (lib) optionals optionalString;
-
version = "1.16.4";
+
version = "1.16.5";
go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
···
src = fetchurl {
url = "https://dl.google.com/go/go${version}.src.tar.gz";
-
sha256 = "sha256-rk9rbioWd9MYF5hGVadiB0tTVtpQ+1hyK5kQSHDUNQM=";
+
sha256 = "sha256-e/p+WQjHzJ512l3fMGbXy88/2fpRlFhRMl7rwX9QuoA=";
};
# perl is used for testing go vet
+3 -1
pkgs/development/compilers/go/binary.nix
···
dontStrip = stdenv.hostPlatform.isDarwin;
installPhase = ''
+
runHook preInstall
mkdir -p $out/share/go $out/bin
mv bin/* $out/bin
cp -r . $out/share/go
···
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
$out/bin/go
'')}
-
'' ;
+
runHook postInstall
+
'';
}
+9 -13
pkgs/development/compilers/zig/default.nix
···
{ lib
-
, stdenv
, fetchFromGitHub
, cmake
, llvmPackages
···
, zlib
}:
-
llvmPackages.stdenv.mkDerivation rec {
+
let
+
inherit (llvmPackages) stdenv;
+
in
+
stdenv.mkDerivation rec {
pname = "zig";
-
version = "0.7.1";
+
version = "0.8.0";
src = fetchFromGitHub {
owner = "ziglang";
repo = pname;
rev = version;
-
hash = "sha256-rZYv8LFH3M70SyPwPVyul+Um9j82K8GZIepVmaonzPw=";
+
hash = "sha256-bILjcKX8jPl2n1HRYvYRb7jJkobwqmSJ+hHXSn9n2ag=";
};
nativeBuildInputs = [
-
cmake llvmPackages.llvm.dev
+
cmake
+
llvmPackages.llvm.dev
];
buildInputs = [
libxml2
···
export HOME=$TMPDIR;
'';
-
checkPhase = ''
-
runHook preCheck
-
./zig test --cache-dir "$TMPDIR" -I $src/test $src/test/stage1/behavior.zig
-
runHook postCheck
-
'';
-
-
doCheck = true;
-
meta = with lib; {
homepage = "https://ziglang.org/";
description =
···
broken = stdenv.isDarwin;
};
}
+
# TODO: checkPhase
+4 -1
pkgs/development/go-modules/generic/default.nix
···
, passthru ? {}
, patches ? []
+
# Go linker flags, passed to go via -ldflags
+
, ldflags ? []
+
# A function to override the go-modules derivation
, overrideModAttrs ? (_oldAttrs : {})
···
echo "$d" | grep -q "\(/_\|examples\|Godeps\|testdata\)" && return 0
[ -n "$excludedPackages" ] && echo "$d" | grep -q "$excludedPackages" && return 0
local OUT
-
if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" -v -p $NIX_BUILD_CORES $d 2>&1)"; then
+
if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" ''${ldflags:+-ldflags="$ldflags"} -v -p $NIX_BUILD_CORES $d 2>&1)"; then
if ! echo "$OUT" | grep -qE '(no( buildable| non-test)?|build constraints exclude all) Go (source )?files'; then
echo "$OUT" >&2
return 1
+4 -1
pkgs/development/go-packages/generic/default.nix
···
, preFixup ? ""
, shellHook ? ""
+
# Go linker flags, passed to go via -ldflags
+
, ldflags ? []
+
# We want parallel builds by default
, enableParallelBuilding ? true
···
echo "$d" | grep -q "\(/_\|examples\|Godeps\)" && return 0
[ -n "$excludedPackages" ] && echo "$d" | grep -q "$excludedPackages" && return 0
local OUT
-
if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" -v -p $NIX_BUILD_CORES $d 2>&1)"; then
+
if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" ''${ldflags:+-ldflags="$ldflags"} -v -p $NIX_BUILD_CORES $d 2>&1)"; then
if ! echo "$OUT" | grep -qE '(no( buildable| non-test)?|build constraints exclude all) Go (source )?files'; then
echo "$OUT" >&2
return 1
+12 -19
pkgs/development/ocaml-modules/ansiterminal/default.nix
···
-
{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild }:
-
-
stdenv.mkDerivation rec {
+
{ lib, buildDunePackage, fetchFromGitHub }:
-
version = "0.7";
+
buildDunePackage rec {
+
pname = "ANSITerminal";
+
version = "0.8.2";
-
name = "ocaml${ocaml.version}-ansiterminal-${version}";
+
useDune2 = true;
-
src = fetchurl {
-
url = "https://github.com/Chris00/ANSITerminal/releases/download/${version}/ANSITerminal-${version}.tar.gz";
-
sha256 = "03pqfxvw9pa9720l8i5fgxky1qx70kw6wxbczd5i50xi668lh0i9";
+
src = fetchFromGitHub {
+
owner = "Chris00";
+
repo = pname;
+
rev = version;
+
sha256 = "0dyjischrgwlxqz1p5zbqq76jvk6pl1qj75i7ydhijssr9pj278d";
};
-
buildInputs = [ ocaml findlib ocamlbuild ];
-
-
configurePhase = "ocaml setup.ml -configure --prefix $out";
-
-
buildPhase = "ocaml setup.ml -build";
-
-
installPhase = "ocaml setup.ml -install";
-
-
createFindlibDestdir = true;
+
doCheck = true;
meta = with lib; {
-
homepage = "https://github.com/Chris00/ANSITerminal";
description = "A module allowing to use the colors and cursor movements on ANSI terminals";
longDescription = ''
ANSITerminal is a module allowing to use the colors and cursor
movements on ANSI terminals. It also works on the windows shell (but
this part is currently work in progress).
'';
+
inherit (src.meta) homepage;
license = licenses.lgpl3;
-
platforms = ocaml.meta.platforms or [];
maintainers = [ maintainers.jirkamarsik ];
};
}
+3
pkgs/tools/admin/lxd/default.nix
···
, bash
, installShellFiles
, nftablesSupport ? false
+
, nixosTests
}:
let
···
installShellCompletion --bash --name lxd go/src/github.com/lxc/lxd/scripts/bash/lxd-client
'';
+
+
passthru.tests.lxd = nixosTests.lxd;
nativeBuildInputs = [ installShellFiles pkg-config makeWrapper ];
buildInputs = [ lxc acl libcap dqlite.dev raft-canonical.dev
+1 -1
pkgs/top-level/all-packages.nix
···
libzra = callPackage ../development/libraries/libzra { };
zig = callPackage ../development/compilers/zig {
-
llvmPackages = llvmPackages_11;
+
llvmPackages = llvmPackages_12;
zimlib = callPackage ../development/libraries/zimlib { };
+1 -1
pkgs/top-level/coq-packages.nix
···
VST = callPackage ../development/coq-modules/VST (with lib.versions;
lib.switch coq.coq-version [
{ case = "8.11"; out = { compcert = compcert.override { coqPackages = self; version = "3.7"; }; }; }
-
{ case = range "8.12" "8.13"; out = { compcert = compcert.override { coqPackages = self; }; }; }
+
{ case = range "8.12" "8.13"; out = { compcert = compcert.override { coqPackages = self; version = "3.8"; }; }; }
] {});
zorns-lemma = callPackage ../development/coq-modules/zorns-lemma {};
filterPackages = doesFilter: if doesFilter then filterCoqPackages self else self;