Merge master into staging-next

Changed files
+154 -57
doc
pkgs
applications
backup
misc
worker
networking
browsers
firefox-bin
video
qstopmotion
development
compilers
tools
wrangler
web
insomnia
os-specific
linux
firmware
firmware-linux-nonfree
servers
imgproxy
nats-streaming-server
tools
admin
procs
filesystems
catcli
misc
units
networking
boundary
system
snooze
top-level
+1 -1
doc/builders/fetchers.chapter.md
···
The main difference between `fetchurl` and `fetchzip` is in how they store the contents. `fetchurl` will store the unaltered contents of the URL within the Nix store. `fetchzip` on the other hand will decompress the archive for you, making files and directories directly accessible in the future. `fetchzip` can only be used with archives. Despite the name, `fetchzip` is not limited to .zip files and can also be used with any tarball.
-
`fetchpatch` works very similarly to `fetchurl` with the same arguments expected. It expects patch files as a source and and performs normalization on them before computing the checksum. For example it will remove comments or other unstable parts that are sometimes added by version control systems and can change over time.
+
`fetchpatch` works very similarly to `fetchurl` with the same arguments expected. It expects patch files as a source and performs normalization on them before computing the checksum. For example it will remove comments or other unstable parts that are sometimes added by version control systems and can change over time.
Other fetcher functions allow you to add source code directly from a VCS such as subversion or git. These are mostly straightforward nambes based on the name of the command used with the VCS system. Because they give you a working repository, they act most like `fetchzip`.
+1 -1
doc/builders/images/snaptools.xml
···
</para>
<para>
-
The <parameter>base</parameter> should not be be specified, as <function>makeSnap</function> will force set it.
+
The <parameter>base</parameter> should not be specified, as <function>makeSnap</function> will force set it.
</para>
<para>
+1 -1
doc/languages-frameworks/android.section.md
···
You can specify license names:
-
* `extraLicenses` is a list of of license names.
+
* `extraLicenses` is a list of license names.
You can get these names from repo.json or `querypackages.sh licenses`. The SDK
license (`android-sdk-license`) is accepted for you if you set accept_license
to true. If you are doing something like working with preview SDKs, you will
+1 -1
doc/languages-frameworks/dotnet.section.md
···
The `dotnetCorePackages.sdk_X_Y` is preferred over the old dotnet-sdk as both major and minor version are very important for a dotnet environment. If a given minor version isn't present (or was changed), then this will likely break your ability to build a project.
-
## dotnetCorePackages.sdk vs vs dotnetCorePackages.net vs dotnetCorePackages.netcore vs dotnetCorePackages.aspnetcore
+
## dotnetCorePackages.sdk vs dotnetCorePackages.net vs dotnetCorePackages.netcore vs dotnetCorePackages.aspnetcore
The `dotnetCorePackages.sdk` contains both a runtime and the full sdk of a given version. The `net`, `netcore` and `aspnetcore` packages are meant to serve as minimal runtimes to deploy alongside already built applications. For runtime versions >= .NET 5 `net` is used while `netcore` is used for older .NET Core runtime version.
+2 -2
doc/languages-frameworks/lua.section.md
···
```shell
nix-env -iA nixpkgs.myLuaEnv
```
-
The environment is is installed by referring to the attribute, and considering
+
The environment is installed by referring to the attribute, and considering
the `nixpkgs` channel was used.
#### Lua environment defined in `/etc/nixos/configuration.nix`
···
[luarocks2nix](https://github.com/nix-community/luarocks) is a tool capable of generating nix derivations from both rockspec and src.rock (and favors the src.rock).
The automation only goes so far though and some packages need to be customized.
These customizations go in `pkgs/development/lua-modules/overrides.nix`.
-
For instance if the rockspec defines `external_dependencies`, these need to be manually added in in its rockspec file then it won't work.
+
For instance if the rockspec defines `external_dependencies`, these need to be manually added in its rockspec file then it won't work.
You can try converting luarocks packages to nix packages with the command `nix-shell -p luarocks-nix` and then `luarocks nix PKG_NAME`.
Nix rely on luarocks to install lua packages, basically it runs:
+2 -2
doc/languages-frameworks/python.section.md
···
creating working Python environments in nix.
Now that you know the basics to be up and running, it is time to take a step
-
back and take a deeper look at at how Python packages are packaged on Nix. Then,
+
back and take a deeper look at how Python packages are packaged on Nix. Then,
we will look at how you can use development mode with your code.
#### Python library packages in Nixpkgs
···
* `nativeBuildInputs ? []`: Build-time only dependencies. Typically executables
as well as the items listed in `setup_requires`.
-
* `buildInputs ? []`: Build and/or run-time dependencies that need to be be
+
* `buildInputs ? []`: Build and/or run-time dependencies that need to be
compiled for the host machine. Typically non-Python libraries which are being
linked.
* `checkInputs ? []`: Dependencies needed for running the `checkPhase`. These
+1 -1
doc/languages-frameworks/ruby.section.md
···
If you want to package a specific version, you can use the standard Gemfile syntax for that, e.g. `gem 'mdl', '0.5.0'`, but if you want the latest stable version anyway, it's easier to update by simply running the `bundle lock` and `bundix` steps again.
-
Now you can also also make a `default.nix` that looks like this:
+
Now you can also make a `default.nix` that looks like this:
```nix
{ bundlerApp }:
+1 -1
doc/languages-frameworks/rust.section.md
···
stdenv.mkDerivation {
name = "rust-env";
buildInputs = [
-
# Note: to use use stable, just replace `nightly` with `stable`
+
# Note: to use stable, just replace `nightly` with `stable`
latest.rustChannels.nightly.rust
# Add some extra dependencies from `pkgs`
+1 -1
doc/using/overlays.xml
···
</para>
<para>
-
For BLAS/LAPACK switching to work correctly, all packages must depend on <literal>blas</literal> or <literal>lapack</literal>. This ensures that only one BLAS/LAPACK library is used at one time. There are two versions versions of BLAS/LAPACK currently in the wild, <literal>LP64</literal> (integer size = 32 bits) and <literal>ILP64</literal> (integer size = 64 bits). Some software needs special flags or patches to work with <literal>ILP64</literal>. You can check if <literal>ILP64</literal> is used in Nixpkgs with <varname>blas.isILP64</varname> and <varname>lapack.isILP64</varname>. Some software does NOT work with <literal>ILP64</literal>, and derivations need to specify an assertion to prevent this. You can prevent <literal>ILP64</literal> from being used with the following:
+
For BLAS/LAPACK switching to work correctly, all packages must depend on <literal>blas</literal> or <literal>lapack</literal>. This ensures that only one BLAS/LAPACK library is used at one time. There are two versions of BLAS/LAPACK currently in the wild, <literal>LP64</literal> (integer size = 32 bits) and <literal>ILP64</literal> (integer size = 64 bits). Some software needs special flags or patches to work with <literal>ILP64</literal>. You can check if <literal>ILP64</literal> is used in Nixpkgs with <varname>blas.isILP64</varname> and <varname>lapack.isILP64</varname>. Some software does NOT work with <literal>ILP64</literal>, and derivations need to specify an assertion to prevent this. You can prevent <literal>ILP64</literal> from being used with the following:
</para>
<programlisting>
+13
pkgs/applications/backup/pika-backup/borg-path.patch
···
+
diff --git a/src/borg/utils.rs b/src/borg/utils.rs
+
index 4e30913..30d7d6f 100644
+
--- a/src/borg/utils.rs
+
+++ b/src/borg/utils.rs
+
@@ -223,7 +223,7 @@ impl BorgCall {
+
}
+
+
pub fn cmd(&self) -> Command {
+
- let mut cmd = Command::new("borg");
+
+ let mut cmd = Command::new("@borg@");
+
+
cmd.args(self.args())
+
.stderr(Stdio::piped())
+77
pkgs/applications/backup/pika-backup/default.nix
···
+
{ lib
+
, stdenv
+
, fetchFromGitLab
+
, rustPlatform
+
, substituteAll
+
, desktop-file-utils
+
, meson
+
, ninja
+
, pkg-config
+
, python3
+
, wrapGAppsHook
+
, borgbackup
+
, dbus
+
, gdk-pixbuf
+
, glib
+
, gtk3
+
, libhandy
+
}:
+
+
stdenv.mkDerivation rec {
+
pname = "pika-backup";
+
version = "0.2.1";
+
+
src = fetchFromGitLab {
+
domain = "gitlab.gnome.org";
+
owner = "World";
+
repo = "pika-backup";
+
rev = "v${version}";
+
sha256 = "0fm6vwpw0pa98v2yn8p3818rrlv9lk3pmgnal1b2kh52im5ll7m8";
+
};
+
+
cargoDeps = rustPlatform.fetchCargoTarball {
+
inherit src;
+
name = "${pname}-${version}";
+
sha256 = "1f5s6a0wjrs2spsicirhbvb5xlz9iflwsaqchij9k02hfcsr308y";
+
};
+
+
patches = [
+
(substituteAll {
+
src = ./borg-path.patch;
+
borg = "${borgbackup}/bin/borg";
+
})
+
];
+
+
postPatch = ''
+
patchShebangs build-aux
+
'';
+
+
nativeBuildInputs = [
+
desktop-file-utils
+
meson
+
ninja
+
pkg-config
+
python3
+
wrapGAppsHook
+
] ++ (with rustPlatform; [
+
cargoSetupHook
+
rust.cargo
+
rust.rustc
+
]);
+
+
buildInputs = [
+
dbus
+
gdk-pixbuf
+
glib
+
gtk3
+
libhandy
+
];
+
+
meta = with lib; {
+
description = "Simple backups based on borg";
+
homepage = "https://wiki.gnome.org/Apps/PikaBackup";
+
changelog = "https://gitlab.gnome.org/World/pika-backup/-/blob/v${version}/CHANGELOG.md";
+
license = licenses.gpl3Plus;
+
maintainers = with maintainers; [ dotlambda ];
+
};
+
}
+2 -2
pkgs/applications/misc/worker/default.nix
···
stdenv.mkDerivation rec {
pname = "worker";
-
version = "4.5.0";
+
version = "4.7.0";
src = fetchurl {
url = "http://www.boomerangsworld.de/cms/worker/downloads/${pname}-${version}.tar.gz";
-
sha256 = "02xrdg1v784p4gfqjm1mlxqwi40qlbzhp68p5ksj96cjv6av5b5s";
+
sha256 = "sha256-9x/nHd2nUeFSH7a2qH4qlyH4FRH/NfNvTE1LEaMMSwU=";
};
buildInputs = [ libX11 ];
+2
pkgs/applications/networking/browsers/firefox-bin/default.nix
···
, nspr
, nss
, pango
+
, pciutils
, libheimdal
, libpulseaudio
, systemd
···
nspr
nss
pango
+
pciutils
libheimdal
libpulseaudio
systemd
+2 -2
pkgs/applications/video/qstopmotion/default.nix
···
mkDerivation rec {
pname = "qstopmotion";
-
version = "2.4.1";
+
version = "2.5.2";
src = fetchurl {
url = "mirror://sourceforge/project/${pname}/Version_${builtins.replaceStrings ["."] ["_"] version}/${pname}-${version}-Source.tar.gz";
-
sha256 = "03r6jxyq0bak2vsy2b78nk27m7fm96hnl8cx11l3l17704j4iglh";
+
sha256 = "sha256-jyBUyadkSuQKXOrr5XZ1jy6of1Qw8S2HPxuOrPc7RnE=";
};
buildInputs = [
+2 -2
pkgs/development/compilers/go/1.15.nix
···
inherit (lib) optionals optionalString;
-
version = "1.15.8";
+
version = "1.15.10";
go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
···
src = fetchurl {
url = "https://dl.google.com/go/go${version}.src.tar.gz";
-
sha256 = "1hlphkrsvb5nza5ajm24x4nrhyg4b0afs88kk4jd310hg2vhl32l";
+
sha256 = "0rfx20y13cflv68nn8jci1fx34vfdn7qgyavm5hivd0h15pcmny1";
};
# perl is used for testing go vet
+2 -2
pkgs/development/compilers/go/1.16.nix
···
inherit (lib) optionals optionalString;
-
version = "1.16";
+
version = "1.16.2";
go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
···
src = fetchurl {
url = "https://dl.google.com/go/go${version}.src.tar.gz";
-
sha256 = "0nn98xiw8zrvxf9f36p8dzc7ihrrkakr0g9jiy4haqb5alyhd23n";
+
sha256 = "1sl33wkhp6pi9f15f6khp5a7l7xwmpc3sp1zmji8pjr3g8l19jip";
};
# perl is used for testing go vet
+3 -3
pkgs/development/tools/wrangler/default.nix
···
rustPlatform.buildRustPackage rec {
pname = "wrangler";
-
version = "1.13.0";
+
version = "1.15.0";
src = fetchFromGitHub {
owner = "cloudflare";
repo = pname;
rev = "v${version}";
-
sha256 = "0xhldarzb71x4k7ydk4yd6g0qv6y2l0mn2lc43hvl9jm29pnz95q";
+
sha256 = "sha256-/5iIdEUbesX+IRQQzeJazt3i/xAtghblct718EmYci4=";
};
-
cargoSha256 = "0w845virvw7mvibc76ar2hbffhfzj2v8v1xkrsssrgzyaryb48jk";
+
cargoSha256 = "sha256-6XWFhfY8QIl4S6zDyyM2YvFUoGMnKZQ3d/GT4yQWb7A=";
nativeBuildInputs = [ pkg-config ];
+2 -2
pkgs/development/web/insomnia/default.nix
···
];
in stdenv.mkDerivation rec {
pname = "insomnia";
-
version = "2020.5.2";
+
version = "2021.1.0";
src = fetchurl {
url =
"https://github.com/Kong/insomnia/releases/download/core%40${version}/Insomnia.Core-${version}.deb";
-
sha256 = "03j76a0dj3ak5h6malwxqf7cdc2ycwgyr6993bhiq75yhxhblhc4";
+
sha256 = "sha256-3T334t+Oje6LOzUBqQCK6wdJ/4Mi4WLmW5vcHig8zj4=";
};
nativeBuildInputs =
+1 -1
pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
···
src = fetchgit {
url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
-
rev = lib.replaceStrings ["-"] [""] version;
+
rev = "refs/tags/" + lib.replaceStrings ["-"] [""] version;
sha256 = "0c85cd659312isfz1r87qswsgfhy0rljagcwspnvjljqrh9bsgzq";
};
+3 -3
pkgs/servers/imgproxy/default.nix
···
buildGoModule rec {
pname = "imgproxy";
-
version = "2.16.0";
+
version = "2.16.2";
src = fetchFromGitHub {
owner = pname;
repo = pname;
-
sha256 = "sha256-HUWDwUt/yHgwzqtQKsQ3DrBAfL8PBqGhFLMwS7ix5qE=";
+
sha256 = "sha256-wr4yOrzZT/4WtRze9Yp+M18jusxdddoDd4xs5P7d5oQ=";
rev = "v${version}";
};
-
vendorSha256 = "sha256-A03Qdwxv/uUKI4Lfmatqwu1RDH9vKU63Y+x25AdfZXs=";
+
vendorSha256 = "sha256-7IpMgsATQ1SMuBOF9agHIN2Lx6OKxRr0Zk5SRFxHiQ4=";
doCheck = false;
+2 -2
pkgs/servers/nats-streaming-server/default.nix
···
buildGoPackage rec {
pname = "nats-streaming-server";
-
version = "0.21.0";
+
version = "0.21.1";
goPackagePath = "github.com/nats-io/${pname}";
src = fetchFromGitHub {
rev = "v${version}";
owner = "nats-io";
repo = pname;
-
sha256 = "sha256-vZFX5YDf722c7xc4oh4SoL91s7XuZsXzFxW+i//mOUw=";
+
sha256 = "sha256-GqnIGnXcOcfbAgUruVxsTSvi6pH1E3QugEmZr3tPiIY=";
};
meta = {
+3 -3
pkgs/tools/admin/procs/default.nix
···
rustPlatform.buildRustPackage rec {
pname = "procs";
-
version = "0.11.3";
+
version = "0.11.4";
src = fetchFromGitHub {
owner = "dalance";
repo = pname;
rev = "v${version}";
-
sha256 = "sha256-OaHsNxrOrPlAwtFDY3Tnx+nOabax98xcGQeNds32iOA=";
+
sha256 = "sha256-jqcI0ne6fZkgr4bWJ0ysVNvB7q9ErYbsmZoXI38XUng=";
};
-
cargoSha256 = "sha256-miOfm1Sw6tIICkT9T2V82cdGG2STo9vuLPWsAN/8wuM=";
+
cargoSha256 = "sha256-0s5MeWX+rXTyftwg6sReNMRgBzhUMIdHu5buKwg1Yi4=";
nativeBuildInputs = [ installShellFiles ];
+2 -2
pkgs/tools/filesystems/catcli/default.nix
···
buildPythonApplication rec {
pname = "catcli";
-
version = "0.6.1";
+
version = "0.6.2";
src = fetchFromGitHub {
owner = "deadc0de6";
repo = pname;
rev = "v${version}";
-
sha256 = "1k5xjz353ry0vbmq1ql7brb9g4wwsijzix2zh5zpd768xl8nc1z8";
+
sha256 = "0704022gbm987q6x6vcflq4b4p4hvcqm5ikiyndy5n8fj1q8lq95";
};
propagatedBuildInputs = [ docopt anytree ];
+2 -2
pkgs/tools/misc/units/default.nix
···
stdenv.mkDerivation rec {
pname = "units";
-
version = "2.19";
+
version = "2.21";
src = fetchurl {
url = "mirror://gnu/units/${pname}-${version}.tar.gz";
-
sha256 = "0mk562g7dnidjgfgvkxxpvlba66fh1ykmfd9ylzvcln1vxmi6qj2";
+
sha256 = "sha256-bD6AqfmAWJ/ZYqWFKiZ0ZCJX2xxf1bJ8TZ5mTzSGy68=";
};
pythonEnv = pythonPackages.python.withPackages(ps: [
+21 -18
pkgs/tools/networking/boundary/default.nix
···
{ stdenv, lib, fetchzip }:
-
let
-
inherit (stdenv.hostPlatform) system;
-
suffix = {
-
x86_64-linux = "linux_amd64";
-
aarch64-linux = "linux_arm64";
-
x86_64-darwin = "darwin_amd64";
-
}."${system}" or (throw "Unsupported system: ${system}");
-
fetchsrc = version: sha256: fetchzip {
-
url = "https://releases.hashicorp.com/boundary/${version}/boundary_${version}_${suffix}.zip";
-
sha256 = sha256."${system}";
-
};
-
in
stdenv.mkDerivation rec {
pname = "boundary";
-
version = "0.1.7";
+
version = "0.1.8";
-
src = fetchsrc version {
-
x86_64-linux = "sha256-cSD9V/Hj/eEc6k+LMNRnSEA94fA6bQUfCgA+XdqAR4k=";
-
aarch64-linux = "sha256-MG97PhG/t1rdmTF3n2YHYsTo8VODCaY3cfnv8YHgAY8=";
-
x86_64-darwin = "sha256-p60UiIy9DGx7AaEvmyo4FLa0Z67MQRNJkw1nHaM6eww=";
-
};
+
src =
+
let
+
inherit (stdenv.hostPlatform) system;
+
suffix = {
+
x86_64-linux = "linux_amd64";
+
aarch64-linux = "linux_arm64";
+
x86_64-darwin = "darwin_amd64";
+
}.${system} or (throw "Unsupported system: ${system}");
+
fetchsrc = version: sha256: fetchzip {
+
url = "https://releases.hashicorp.com/boundary/${version}/boundary_${version}_${suffix}.zip";
+
sha256 = sha256.${system};
+
};
+
in
+
fetchsrc version {
+
x86_64-linux = "sha256-CZueZqN1XoSmqOsocGwUoIZ5878uSHFYW2KDURWRHhM=";
+
aarch64-linux = "sha256-/pl9MzR4GFjiefc7Sde+jTGi/QaY3U/An8J5+KQR/68=";
+
x86_64-darwin = "sha256-kkqROFXvEpxRySByGtmGtFJPBr5Dw3BOPQ+bArqLxAA=";
+
};
dontConfigure = true;
dontBuild = true;
installPhase = ''
+
runHook preInstall
install -D boundary $out/bin/boundary
+
runHook postInstall
'';
doInstallCheck = true;
+2 -2
pkgs/tools/system/snooze/default.nix
···
{ lib, stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "snooze";
-
version = "0.4";
+
version = "0.5";
src = fetchFromGitHub {
owner = "leahneukirchen";
repo = "snooze";
rev = "v${version}";
-
sha256 = "0a114brvvjf6vl7grviv0gd6gmikr447m8kq1wilp4yj51sfyxa9";
+
sha256 = "sha256-K77axli/mapUr3yxpmUfFq4iWwgRmEVUlP6+/0Iezwo=";
};
makeFlags = [ "DESTDIR=$(out)" "PREFIX=/" ];
+2
pkgs/top-level/all-packages.nix
···
pidgin-window-merge = callPackage ../applications/networking/instant-messengers/pidgin-plugins/window-merge { };
+
pika-backup = callPackage ../applications/backup/pika-backup { };
+
purple-discord = callPackage ../applications/networking/instant-messengers/pidgin-plugins/purple-discord { };
purple-hangouts = callPackage ../applications/networking/instant-messengers/pidgin-plugins/purple-hangouts { };