diff --git a/third_party/nixpkgs/.github/CODEOWNERS b/third_party/nixpkgs/.github/CODEOWNERS
index 1d3d51cda7..b68e8436fe 100644
--- a/third_party/nixpkgs/.github/CODEOWNERS
+++ b/third_party/nixpkgs/.github/CODEOWNERS
@@ -94,10 +94,6 @@
/pkgs/applications/science/math/R @peti
/pkgs/development/r-modules @peti
-# Ruby
-/pkgs/development/interpreters/ruby @alyssais
-/pkgs/development/ruby-modules @alyssais
-
# Rust
/pkgs/development/compilers/rust @Mic92 @LnL7 @zowoq
/pkgs/build-support/rust @andir @danieldk @zowoq
diff --git a/third_party/nixpkgs/.github/workflows/labels.yml b/third_party/nixpkgs/.github/workflows/labels.yml
index 1139807753..4232ceb623 100644
--- a/third_party/nixpkgs/.github/workflows/labels.yml
+++ b/third_party/nixpkgs/.github/workflows/labels.yml
@@ -2,6 +2,7 @@ name: "Label PR"
on:
pull_request_target:
+ types: [edited, opened, synchronize, reopened]
jobs:
labels:
diff --git a/third_party/nixpkgs/.github/workflows/manual-nixos.yml b/third_party/nixpkgs/.github/workflows/manual-nixos.yml
index a75e840293..fa1f8fc691 100644
--- a/third_party/nixpkgs/.github/workflows/manual-nixos.yml
+++ b/third_party/nixpkgs/.github/workflows/manual-nixos.yml
@@ -15,11 +15,11 @@ jobs:
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- - uses: cachix/install-nix-action@v12
+ - uses: cachix/install-nix-action@v13
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
- - uses: cachix/cachix-action@v8
+ - uses: cachix/cachix-action@v9
with:
# This cache is for the nixos/nixpkgs manual builds and should not be trusted or used elsewhere.
name: nixpkgs-ci
diff --git a/third_party/nixpkgs/.github/workflows/manual-nixpkgs.yml b/third_party/nixpkgs/.github/workflows/manual-nixpkgs.yml
index 7596719d9b..192a4c6868 100644
--- a/third_party/nixpkgs/.github/workflows/manual-nixpkgs.yml
+++ b/third_party/nixpkgs/.github/workflows/manual-nixpkgs.yml
@@ -15,11 +15,11 @@ jobs:
with:
# pull_request_target checks out the base branch by default
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- - uses: cachix/install-nix-action@v12
+ - uses: cachix/install-nix-action@v13
with:
# explicitly enable sandbox
extra_nix_config: sandbox = true
- - uses: cachix/cachix-action@v8
+ - uses: cachix/cachix-action@v9
with:
# This cache is for the nixos/nixpkgs manual builds and should not be trusted or used elsewhere.
name: nixpkgs-ci
diff --git a/third_party/nixpkgs/doc/builders/images.xml b/third_party/nixpkgs/doc/builders/images.xml
index b72fe094db..d7d2502918 100644
--- a/third_party/nixpkgs/doc/builders/images.xml
+++ b/third_party/nixpkgs/doc/builders/images.xml
@@ -7,6 +7,6 @@
-
+
diff --git a/third_party/nixpkgs/doc/builders/images/ocitools.section.md b/third_party/nixpkgs/doc/builders/images/ocitools.section.md
new file mode 100644
index 0000000000..d3dee57eba
--- /dev/null
+++ b/third_party/nixpkgs/doc/builders/images/ocitools.section.md
@@ -0,0 +1,37 @@
+# pkgs.ociTools {#sec-pkgs-ociTools}
+
+`pkgs.ociTools` is a set of functions for creating containers according to the [OCI container specification v1.0.0](https://github.com/opencontainers/runtime-spec). Beyond that it makes no assumptions about the container runner you choose to use to run the created container.
+
+## buildContainer {#ssec-pkgs-ociTools-buildContainer}
+
+This function creates a simple OCI container that runs a single command inside of it. An OCI container consists of a `config.json` and a rootfs directory.The nix store of the container will contain all referenced dependencies of the given command.
+
+The parameters of `buildContainer` with an example value are described below:
+
+```nix
+buildContainer {
+ args = [
+ (with pkgs;
+ writeScript "run.sh" ''
+ #!${bash}/bin/bash
+ exec ${bash}/bin/bash
+ '').outPath
+ ];
+
+ mounts = {
+ "/data" = {
+ type = "none";
+ source = "/var/lib/mydata";
+ options = [ "bind" ];
+ };
+ };
+
+ readonly = false;
+}
+```
+
+- `args` specifies a set of arguments to run inside the container. This is the only required argument for `buildContainer`. All referenced packages inside the derivation will be made available inside the container
+
+- `mounts` specifies additional mount points chosen by the user. By default only a minimal set of necessary filesystems are mounted into the container (e.g procfs, cgroupfs)
+
+- `readonly` makes the container\'s rootfs read-only if it is set to true. The default value is false `false`.
diff --git a/third_party/nixpkgs/doc/builders/images/ocitools.xml b/third_party/nixpkgs/doc/builders/images/ocitools.xml
deleted file mode 100644
index f26ed86442..0000000000
--- a/third_party/nixpkgs/doc/builders/images/ocitools.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
- pkgs.ociTools
-
-
- pkgs.ociTools is a set of functions for creating containers according to the OCI container specification v1.0.0. Beyond that it makes no assumptions about the container runner you choose to use to run the created container.
-
-
-
- buildContainer
-
-
- This function creates a simple OCI container that runs a single command inside of it. An OCI container consists of a config.json and a rootfs directory.The nix store of the container will contain all referenced dependencies of the given command.
-
-
-
- The parameters of buildContainer with an example value are described below:
-
-
-
- Build Container
-
-buildContainer {
- args = [ (with pkgs; writeScript "run.sh" ''
- #!${bash}/bin/bash
- exec ${bash}/bin/bash
- '').outPath ];
-
- mounts = {
- "/data" = {
- type = "none";
- source = "/var/lib/mydata";
- options = [ "bind" ];
- };
- };
-
- readonly = false;
-}
-
-
-
-
- args specifies a set of arguments to run inside the container. This is the only required argument for buildContainer. All referenced packages inside the derivation will be made available inside the container
-
-
-
-
- mounts specifies additional mount points chosen by the user. By default only a minimal set of necessary filesystems are mounted into the container (e.g procfs, cgroupfs)
-
-
-
-
- readonly makes the container's rootfs read-only if it is set to true. The default value is false false.
-
-
-
-
-
-
diff --git a/third_party/nixpkgs/doc/builders/packages/citrix.section.md b/third_party/nixpkgs/doc/builders/packages/citrix.section.md
new file mode 100644
index 0000000000..b25ecb0bde
--- /dev/null
+++ b/third_party/nixpkgs/doc/builders/packages/citrix.section.md
@@ -0,0 +1,32 @@
+# Citrix Workspace {#sec-citrix}
+
+The [Citrix Workspace App](https://www.citrix.com/products/workspace-app/) is a remote desktop viewer which provides access to [XenDesktop](https://www.citrix.com/products/xenapp-xendesktop/) installations.
+
+## Basic usage {#sec-citrix-base}
+
+The tarball archive needs to be downloaded manually as the license agreements of the vendor for [Citrix Workspace](https://www.citrix.de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html) needs to be accepted first. Then run `nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz`. With the archive available in the store the package can be built and installed with Nix.
+
+## Citrix Selfservice {#sec-citrix-selfservice}
+
+The [selfservice](https://support.citrix.com/article/CTX200337) is an application managing Citrix desktops and applications. Please note that this feature only works with at least citrix_workspace_20_06_0 and later versions.
+
+In order to set this up, you first have to [download the `.cr` file from the Netscaler Gateway](https://its.uiowa.edu/support/article/102186). After that you can configure the `selfservice` like this:
+
+```ShellSession
+$ storebrowse -C ~/Downloads/receiverconfig.cr
+$ selfservice
+```
+
+## Custom certificates {#sec-citrix-custom-certs}
+
+The `Citrix Workspace App` in `nixpkgs` trusts several certificates [from the Mozilla database](https://curl.haxx.se/docs/caextract.html) by default. However several companies using Citrix might require their own corporate certificate. On distros with imperative packaging these certs can be stored easily in [`$ICAROOT`](https://developer-docs.citrix.com/projects/receiver-for-linux-command-reference/en/13.7/), however this directory is a store path in `nixpkgs`. In order to work around this issue the package provides a simple mechanism to add custom certificates without rebuilding the entire package using `symlinkJoin`:
+
+```nix
+with import { config.allowUnfree = true; };
+let
+ extraCerts = [
+ ./custom-cert-1.pem
+ ./custom-cert-2.pem # ...
+ ];
+in citrix_workspace.override { inherit extraCerts; }
+```
diff --git a/third_party/nixpkgs/doc/builders/packages/citrix.xml b/third_party/nixpkgs/doc/builders/packages/citrix.xml
deleted file mode 100644
index 7a16b79f23..0000000000
--- a/third_party/nixpkgs/doc/builders/packages/citrix.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-
- Citrix Workspace
-
-
- The Citrix Workspace App is a remote desktop viewer which provides access to XenDesktop installations.
-
-
-
- Basic usage
-
-
- The tarball archive needs to be downloaded manually as the license agreements of the vendor for Citrix Workspace needs to be accepted first. Then run nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz. With the archive available in the store the package can be built and installed with Nix.
-
-
-
-
- Citrix Selfservice
-
-
- The selfservice is an application managing Citrix desktops and applications. Please note that this feature only works with at least citrix_workspace_20_06_0 and later versions.
-
-
-
- In order to set this up, you first have to download the .cr file from the Netscaler Gateway. After that you can configure the selfservice like this:
-
-$ storebrowse -C ~/Downloads/receiverconfig.cr
-$ selfservice
-
-
-
-
-
- Custom certificates
-
-
- The Citrix Workspace App in nixpkgs trusts several certificates from the Mozilla database by default. However several companies using Citrix might require their own corporate certificate. On distros with imperative packaging these certs can be stored easily in $ICAROOT, however this directory is a store path in nixpkgs. In order to work around this issue the package provides a simple mechanism to add custom certificates without rebuilding the entire package using symlinkJoin:
-
- { config.allowUnfree = true; };
-let extraCerts = [ ./custom-cert-1.pem ./custom-cert-2.pem /* ... */ ]; in
-citrix_workspace.override {
- inherit extraCerts;
-}]]>
-
-
-
-
diff --git a/third_party/nixpkgs/doc/builders/packages/index.xml b/third_party/nixpkgs/doc/builders/packages/index.xml
index 9653bae472..a2bcd43153 100644
--- a/third_party/nixpkgs/doc/builders/packages/index.xml
+++ b/third_party/nixpkgs/doc/builders/packages/index.xml
@@ -5,7 +5,7 @@
This chapter contains information about how to use and maintain the Nix expressions for a number of specific packages, such as the Linux kernel or X.org.
-
+
diff --git a/third_party/nixpkgs/doc/languages-frameworks/agda.section.md b/third_party/nixpkgs/doc/languages-frameworks/agda.section.md
index f57b194a72..30a266502b 100644
--- a/third_party/nixpkgs/doc/languages-frameworks/agda.section.md
+++ b/third_party/nixpkgs/doc/languages-frameworks/agda.section.md
@@ -3,7 +3,7 @@
## How to use Agda
Agda can be installed from `agda`:
-```
+```ShellSession
$ nix-env -iA agda
```
@@ -15,13 +15,13 @@ To use Agda with libraries, the `agda.withPackages` function can be used. This f
For example, suppose we wanted a version of Agda which has access to the standard library. This can be obtained with the expressions:
-```
+```nix
agda.withPackages [ agdaPackages.standard-library ]
```
or
-```
+```nix
agda.withPackages (p: [ p.standard-library ])
```
@@ -32,7 +32,7 @@ If you want to use a library in your home directory (for instance if it is a dev
Agda will not by default use these libraries. To tell Agda to use the library we have some options:
* Call `agda` with the library flag:
-```
+```ShellSession
$ agda -l standard-library -i . MyFile.agda
```
* Write a `my-library.agda-lib` file for the project you are working on which may look like:
@@ -49,7 +49,7 @@ More information can be found in the [official Agda documentation on library man
Agda modules can be compiled with the `--compile` flag. A version of `ghc` with `ieee754` is made available to the Agda program via the `--with-compiler` flag.
This can be overridden by a different version of `ghc` as follows:
-```
+```nix
agda.withPackages {
pkgs = [ ... ];
ghc = haskell.compiler.ghcHEAD;
@@ -80,12 +80,12 @@ By default, Agda sources are files ending on `.agda`, or literate Agda files end
## Adding Agda packages to Nixpkgs
To add an Agda package to `nixpkgs`, the derivation should be written to `pkgs/development/libraries/agda/${library-name}/` and an entry should be added to `pkgs/top-level/agda-packages.nix`. Here it is called in a scope with access to all other Agda libraries, so the top line of the `default.nix` can look like:
-```
+```nix
{ mkDerivation, standard-library, fetchFromGitHub }:
```
and `mkDerivation` should be called instead of `agdaPackages.mkDerivation`. Here is an example skeleton derivation for iowa-stdlib:
-```
+```nix
mkDerivation {
version = "1.5.0";
pname = "iowa-stdlib";
diff --git a/third_party/nixpkgs/doc/languages-frameworks/dotnet.section.md b/third_party/nixpkgs/doc/languages-frameworks/dotnet.section.md
index c394704249..36369fd4e6 100644
--- a/third_party/nixpkgs/doc/languages-frameworks/dotnet.section.md
+++ b/third_party/nixpkgs/doc/languages-frameworks/dotnet.section.md
@@ -4,7 +4,7 @@
For local development, it's recommended to use nix-shell to create a dotnet environment:
-```
+```nix
# shell.nix
with import {};
@@ -20,7 +20,7 @@ mkShell {
It's very likely that more than one sdk will be needed on a given project. Dotnet provides several different frameworks (E.g dotnetcore, aspnetcore, etc.) as well as many versions for a given framework. Normally, dotnet is able to fetch a framework and install it relative to the executable. However, this would mean writing to the nix store in nixpkgs, which is read-only. To support the many-sdk use case, one can compose an environment using `dotnetCorePackages.combinePackages`:
-```
+```nix
with import {};
mkShell {
@@ -37,7 +37,7 @@ mkShell {
This will produce a dotnet installation that has the dotnet 3.1, 3.0, and 2.1 sdk. The first sdk listed will have it's cli utility present in the resulting environment. Example info output:
-```
+```ShellSesssion
$ dotnet --info
.NET Core SDK (reflecting any global.json):
Version: 3.1.101
diff --git a/third_party/nixpkgs/doc/languages-frameworks/idris.section.md b/third_party/nixpkgs/doc/languages-frameworks/idris.section.md
index 41e4f7ec31..000e3627d7 100644
--- a/third_party/nixpkgs/doc/languages-frameworks/idris.section.md
+++ b/third_party/nixpkgs/doc/languages-frameworks/idris.section.md
@@ -4,7 +4,7 @@
The easiest way to get a working idris version is to install the `idris` attribute:
-```
+```ShellSesssion
$ # On NixOS
$ nix-env -i nixos.idris
$ # On non-NixOS
@@ -21,7 +21,7 @@ self: super: {
And then:
-```
+```ShellSesssion
$ # On NixOS
$ nix-env -iA nixos.myIdris
$ # On non-NixOS
@@ -29,7 +29,7 @@ $ nix-env -iA nixpkgs.myIdris
```
To see all available Idris packages:
-```
+```ShellSesssion
$ # On NixOS
$ nix-env -qaPA nixos.idrisPackages
$ # On non-NixOS
@@ -37,7 +37,7 @@ $ nix-env -qaPA nixpkgs.idrisPackages
```
Similarly, entering a `nix-shell`:
-```
+```ShellSesssion
$ nix-shell -p 'idrisPackages.with-packages (with idrisPackages; [ contrib pruviloj ])'
```
@@ -45,14 +45,14 @@ $ nix-shell -p 'idrisPackages.with-packages (with idrisPackages; [ contrib pruvi
To have access to these libraries in idris, call it with an argument `-p ` for each library:
-```
+```ShellSesssion
$ nix-shell -p 'idrisPackages.with-packages (with idrisPackages; [ contrib pruviloj ])'
[nix-shell:~]$ idris -p contrib -p pruviloj
```
A listing of all available packages the Idris binary has access to is available via `--listlibs`:
-```
+```ShellSesssion
$ idris --listlibs
00prelude-idx.ibc
pruviloj
@@ -105,7 +105,7 @@ build-idris-package {
Assuming this file is saved as `yaml.nix`, it's buildable using
-```
+```ShellSesssion
$ nix-build -E '(import {}).idrisPackages.callPackage ./yaml.nix {}'
```
@@ -121,7 +121,7 @@ with import {};
in another file (say `default.nix`) to be able to build it with
-```
+```ShellSesssion
$ nix-build -A yaml
```
@@ -133,7 +133,7 @@ Specifically, you can set `idrisBuildOptions`, `idrisTestOptions`, `idrisInstall
For example you could set
-```
+```nix
build-idris-package {
idrisBuildOptions = [ "--log" "1" "--verbose" ]
diff --git a/third_party/nixpkgs/doc/languages-frameworks/python.section.md b/third_party/nixpkgs/doc/languages-frameworks/python.section.md
index f6d87b14be..96ac61ab54 100644
--- a/third_party/nixpkgs/doc/languages-frameworks/python.section.md
+++ b/third_party/nixpkgs/doc/languages-frameworks/python.section.md
@@ -7,8 +7,9 @@
#### Overview
Several versions of the Python interpreter are available on Nix, as well as a
-high amount of packages. The attribute `python` refers to the default
-interpreter, which is currently CPython 2.7. It is also possible to refer to
+high amount of packages. The attribute `python3` refers to the default
+interpreter, which is currently CPython 3.8. The attribute `python` refers to
+CPython 2.7 for backwards-compatibility. It is also possible to refer to
specific versions, e.g. `python38` refers to CPython 3.8, and `pypy` refers to
the default PyPy interpreter.
@@ -78,7 +79,7 @@ $ nix-shell -p 'python38.withPackages(ps: with ps; [ numpy toolz ])'
By default `nix-shell` will start a `bash` session with this interpreter in our
`PATH`, so if we then run:
-```
+```Python console
[nix-shell:~/src/nixpkgs]$ python3
Python 3.8.1 (default, Dec 18 2019, 19:06:26)
[GCC 9.2.0] on linux
@@ -89,7 +90,7 @@ Type "help", "copyright", "credits" or "license" for more information.
Note that no other modules are in scope, even if they were imperatively
installed into our user environment as a dependency of a Python application:
-```
+```Python console
>>> import requests
Traceback (most recent call last):
File "", line 1, in
@@ -145,8 +146,8 @@ print(f"The dot product of {a} and {b} is: {np.dot(a, b)}")
Executing this script requires a `python3` that has `numpy`. Using what we learned
in the previous section, we could startup a shell and just run it like so:
-```
-nix-shell -p 'python38.withPackages(ps: with ps; [ numpy ])' --run 'python3 foo.py'
+```ShellSesssion
+$ nix-shell -p 'python38.withPackages(ps: with ps; [ numpy ])' --run 'python3 foo.py'
The dot product of [1 2] and [3 4] is: 11
```
@@ -762,10 +763,10 @@ and in this case the `python38` interpreter is automatically used.
Versions 2.7, 3.6, 3.7, 3.8 and 3.9 of the CPython interpreter are available as
respectively `python27`, `python36`, `python37`, `python38` and `python39`. The
aliases `python2` and `python3` correspond to respectively `python27` and
-`python38`. The default interpreter, `python`, maps to `python2`. The PyPy
-interpreters compatible with Python 2.7 and 3 are available as `pypy27` and
-`pypy3`, with aliases `pypy2` mapping to `pypy27` and `pypy` mapping to `pypy2`.
-The Nix expressions for the interpreters can be found in
+`python39`. The attribute `python` maps to `python2`. The PyPy interpreters
+compatible with Python 2.7 and 3 are available as `pypy27` and `pypy3`, with
+aliases `pypy2` mapping to `pypy27` and `pypy` mapping to `pypy2`. The Nix
+expressions for the interpreters can be found in
`pkgs/development/interpreters/python`.
All packages depending on any Python interpreter get appended
@@ -788,6 +789,23 @@ Each interpreter has the following attributes:
- `executable`. Name of the interpreter executable, e.g. `python3.8`.
- `pkgs`. Set of Python packages for that specific interpreter. The package set can be modified by overriding the interpreter and passing `packageOverrides`.
+### Optimizations
+
+The Python interpreters are by default not build with optimizations enabled, because
+the builds are in that case not reproducible. To enable optimizations, override the
+interpreter of interest, e.g using
+
+```
+let
+ pkgs = import ./. {};
+ mypython = pkgs.python3.override {
+ enableOptimizations = true;
+ reproducibleBuild = false;
+ self = mypython;
+ };
+in mypython
+```
+
### Building packages and applications
Python libraries and applications that use `setuptools` or
diff --git a/third_party/nixpkgs/doc/languages-frameworks/qt.section.md b/third_party/nixpkgs/doc/languages-frameworks/qt.section.md
index 9747c1037a..6f8c9626e6 100644
--- a/third_party/nixpkgs/doc/languages-frameworks/qt.section.md
+++ b/third_party/nixpkgs/doc/languages-frameworks/qt.section.md
@@ -103,7 +103,7 @@ supported Qt version.
### Example adding a Qt library {#qt-library-all-packages-nix}
The following represents the contents of `qt5-packages.nix`.
-```
+```nix
{
# ...
@@ -133,7 +133,7 @@ to select the Qt 5 version used for the application.
### Example adding a Qt application {#qt-application-all-packages-nix}
The following represents the contents of `qt5-packages.nix`.
-```
+```nix
{
# ...
@@ -144,7 +144,7 @@ The following represents the contents of `qt5-packages.nix`.
```
The following represents the contents of `all-packages.nix`.
-```
+```nix
{
# ...
diff --git a/third_party/nixpkgs/doc/languages-frameworks/rust.section.md b/third_party/nixpkgs/doc/languages-frameworks/rust.section.md
index 8121d03e04..d1a6a56677 100644
--- a/third_party/nixpkgs/doc/languages-frameworks/rust.section.md
+++ b/third_party/nixpkgs/doc/languages-frameworks/rust.section.md
@@ -2,13 +2,14 @@
To install the rust compiler and cargo put
-```
-rustc
-cargo
+```nix
+environment.systemPackages = [
+ rustc
+ cargo
+];
```
-into the `environment.systemPackages` or bring them into
-scope with `nix-shell -p rustc cargo`.
+into your `configuration.nix` or bring them into scope with `nix-shell -p rustc cargo`.
For other versions such as daily builds (beta and nightly),
use either `rustup` from nixpkgs (which will manage the rust installation in your home directory),
@@ -18,7 +19,7 @@ or use Mozilla's [Rust nightlies overlay](#using-the-rust-nightlies-overlay).
Rust applications are packaged by using the `buildRustPackage` helper from `rustPlatform`:
-```
+```nix
{ lib, rustPlatform }:
rustPlatform.buildRustPackage rec {
@@ -49,7 +50,7 @@ package. `cargoHash256` is used for traditional Nix SHA-256 hashes,
such as the one in the example above. `cargoHash` should instead be
used for [SRI](https://www.w3.org/TR/SRI/) hashes. For example:
-```
+```nix
cargoHash = "sha256-l1vL2ZdtDRxSGvP0X/l3nMw8+6WF67KPutJEzUROjg8=";
```
@@ -59,13 +60,13 @@ expression and building the package once. The correct checksum can
then be taken from the failed build. A fake hash can be used for
`cargoSha256` as follows:
-```
+```nix
cargoSha256 = lib.fakeSha256;
```
For `cargoHash` you can use:
-```
+```nix
cargoHash = lib.fakeHash;
```
@@ -262,7 +263,7 @@ Otherwise, some steps may fail because of the modified directory structure of `t
source code in a reproducible way. If it is missing or out-of-date one can use
the `cargoPatches` attribute to update or add it.
-```
+```nix
rustPlatform.buildRustPackage rec {
(...)
cargoPatches = [
@@ -489,7 +490,7 @@ an example for a minimal `hello` crate:
Now, the file produced by the call to `carnix`, called `hello.nix`, looks like:
-```
+```nix
# Generated by carnix 0.6.5: carnix -o hello.nix --src ./. Cargo.lock --standalone
{ stdenv, buildRustCrate, fetchgit }:
let kernel = stdenv.buildPlatform.parsed.kernel.name;
@@ -518,7 +519,7 @@ dependencies, for instance by adding a single line `libc="*"` to our
`Cargo.lock`. Then, `carnix` needs to be run again, and produces the
following nix file:
-```
+```nix
# Generated by carnix 0.6.5: carnix -o hello.nix --src ./. Cargo.lock --standalone
{ stdenv, buildRustCrate, fetchgit }:
let kernel = stdenv.buildPlatform.parsed.kernel.name;
@@ -573,7 +574,7 @@ Some crates require external libraries. For crates from
Starting from that file, one can add more overrides, to add features
or build inputs by overriding the hello crate in a seperate file.
-```
+```nix
with import {};
((import ./hello.nix).hello {}).override {
crateOverrides = defaultCrateOverrides // {
@@ -593,7 +594,7 @@ derivation depend on the crate's version, the `attrs` argument of
the override above can be read, as in the following example, which
patches the derivation:
-```
+```nix
with import {};
((import ./hello.nix).hello {}).override {
crateOverrides = defaultCrateOverrides // {
@@ -614,7 +615,7 @@ dependencies. For instance, to override the build inputs for crate
`libc` in the example above, where `libc` is a dependency of the main
crate, we could do:
-```
+```nix
with import {};
((import hello.nix).hello {}).override {
crateOverrides = defaultCrateOverrides // {
@@ -630,27 +631,27 @@ general. A number of other parameters can be overridden:
- The version of rustc used to compile the crate:
- ```
+ ```nix
(hello {}).override { rust = pkgs.rust; };
```
- Whether to build in release mode or debug mode (release mode by
default):
- ```
+ ```nix
(hello {}).override { release = false; };
```
- Whether to print the commands sent to rustc when building
(equivalent to `--verbose` in cargo:
- ```
+ ```nix
(hello {}).override { verbose = false; };
```
- Extra arguments to be passed to `rustc`:
- ```
+ ```nix
(hello {}).override { extraRustcOpts = "-Z debuginfo=2"; };
```
@@ -662,7 +663,7 @@ general. A number of other parameters can be overridden:
`postInstall`. As an example, here is how to create a new module
before running the build script:
- ```
+ ```nix
(hello {}).override {
preConfigure = ''
echo "pub const PATH=\"${hi.out}\";" >> src/path.rs"
@@ -676,7 +677,7 @@ One can also supply features switches. For example, if we want to
compile `diesel_cli` only with the `postgres` feature, and no default
features, we would write:
-```
+```nix
(callPackage ./diesel.nix {}).diesel {
default = false;
postgres = true;
@@ -699,7 +700,7 @@ Using the example `hello` project above, we want to do the following:
A typical `shell.nix` might look like:
-```
+```nix
with import {};
stdenv.mkDerivation {
@@ -721,7 +722,7 @@ stdenv.mkDerivation {
```
You should now be able to run the following:
-```
+```ShellSesssion
$ nix-shell --pure
$ cargo build
$ cargo test
@@ -731,7 +732,7 @@ $ cargo test
To control your rust version (i.e. use nightly) from within `shell.nix` (or
other nix expressions) you can use the following `shell.nix`
-```
+```nix
# Latest Nightly
with import {};
let src = fetchFromGitHub {
@@ -759,7 +760,7 @@ stdenv.mkDerivation {
```
Now run:
-```
+```ShellSession
$ rustc --version
rustc 1.26.0-nightly (188e693b3 2018-03-26)
```
@@ -794,7 +795,7 @@ in the `~/.config/nixpkgs/overlays` directory.
Add the following to your `configuration.nix`, `home-configuration.nix`, `shell.nix`, or similar:
-```
+```nix
{ pkgs ? import {
overlays = [
(import (builtins.fetchTarball https://github.com/mozilla/nixpkgs-mozilla/archive/master.tar.gz))
diff --git a/third_party/nixpkgs/doc/languages-frameworks/vim.section.md b/third_party/nixpkgs/doc/languages-frameworks/vim.section.md
index 155dacc237..22b5e6f301 100644
--- a/third_party/nixpkgs/doc/languages-frameworks/vim.section.md
+++ b/third_party/nixpkgs/doc/languages-frameworks/vim.section.md
@@ -156,7 +156,7 @@ assuming that "using latest version" is ok most of the time.
First create a vim-scripts file having one plugin name per line. Example:
-```
+```vim
"tlib"
{'name': 'vim-addon-sql'}
{'filetype_regex': '\%(vim)$', 'names': ['reload', 'vim-dev-plugin']}
@@ -197,7 +197,7 @@ nix-shell -p vimUtils.vim_with_vim2nix --command "vim -c 'source generate.vim'"
You should get a Vim buffer with the nix derivations (output1) and vam.pluginDictionaries (output2).
You can add your Vim to your system's configuration file like this and start it by "vim-my":
-```
+```nix
my-vim =
let plugins = let inherit (vimUtils) buildVimPluginFrom2Nix; in {
copy paste output1 here
@@ -217,7 +217,7 @@ my-vim =
Sample output1:
-```
+```nix
"reload" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "reload";
src = fetchgit {
@@ -248,7 +248,7 @@ Nix expressions for Vim plugins are stored in [pkgs/misc/vim-plugins](/pkgs/misc
Some plugins require overrides in order to function properly. Overrides are placed in [overrides.nix](/pkgs/misc/vim-plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process. For example `deoplete-fish` requires both `deoplete-nvim` and `vim-fish`, and so the following override was added:
-```
+```nix
deoplete-fish = super.deoplete-fish.overrideAttrs(old: {
dependencies = with super; [ deoplete-nvim vim-fish ];
});
diff --git a/third_party/nixpkgs/doc/stdenv/cross-compilation.chapter.md b/third_party/nixpkgs/doc/stdenv/cross-compilation.chapter.md
index ee090c8211..9664142662 100644
--- a/third_party/nixpkgs/doc/stdenv/cross-compilation.chapter.md
+++ b/third_party/nixpkgs/doc/stdenv/cross-compilation.chapter.md
@@ -190,7 +190,7 @@ If one imagines the saturating self references at the end being replaced with in
```
(native..., native, native, native, foreign, foreign, foreign...)
```
-On can then imagine any sequence of platforms such that there are bootstrap stages with their 3 platforms determined by "sliding a window" that is the 3 tuple through the sequence. This was the original model for bootstrapping. Without a target platform (assume a better world where all compilers are multi-target and all standard libraries are built in their own derivation), this is sufficient. Conversely if one wishes to cross compile "faster", with a "Canadian Cross" bootstrapping stage where `build != host != target`, more bootstrapping stages are needed since no sliding window provides the pesky `pkgsBuildTarget` package set since it skips the Canadian cross stage's "host".
+One can then imagine any sequence of platforms such that there are bootstrap stages with their 3 platforms determined by "sliding a window" that is the 3 tuple through the sequence. This was the original model for bootstrapping. Without a target platform (assume a better world where all compilers are multi-target and all standard libraries are built in their own derivation), this is sufficient. Conversely if one wishes to cross compile "faster", with a "Canadian Cross" bootstrapping stage where `build != host != target`, more bootstrapping stages are needed since no sliding window provides the pesky `pkgsBuildTarget` package set since it skips the Canadian cross stage's "host".
::: note
diff --git a/third_party/nixpkgs/lib/generators.nix b/third_party/nixpkgs/lib/generators.nix
index 501a23599f..c8144db50a 100644
--- a/third_party/nixpkgs/lib/generators.nix
+++ b/third_party/nixpkgs/lib/generators.nix
@@ -307,4 +307,28 @@ rec {
${expr "" v}
'';
+ /* Translate a simple Nix expression to Dhall notation.
+ * Note that integers are translated to Integer and never
+ * the Natural type.
+ */
+ toDhall = { }@args: v:
+ with builtins;
+ let concatItems = lib.strings.concatStringsSep ", ";
+ in if isAttrs v then
+ "{ ${
+ concatItems (lib.attrsets.mapAttrsToList
+ (key: value: "${key} = ${toDhall args value}") v)
+ } }"
+ else if isList v then
+ "[ ${concatItems (map (toDhall args) v)} ]"
+ else if isInt v then
+ "${if v < 0 then "" else "+"}${toString v}"
+ else if isBool v then
+ (if v then "True" else "False")
+ else if isFunction v then
+ abort "generators.toDhall: cannot convert a function to Dhall"
+ else if isNull v then
+ abort "generators.toDhall: cannot convert a null to Dhall"
+ else
+ builtins.toJSON v;
}
diff --git a/third_party/nixpkgs/lib/trivial.nix b/third_party/nixpkgs/lib/trivial.nix
index 268f39d321..be6d0115f5 100644
--- a/third_party/nixpkgs/lib/trivial.nix
+++ b/third_party/nixpkgs/lib/trivial.nix
@@ -158,7 +158,7 @@ rec {
seq deepSeq genericClosure;
- ## nixpks version strings
+ ## nixpkgs version strings
/* Returns the current full nixpkgs version number. */
version = release + versionSuffix;
diff --git a/third_party/nixpkgs/maintainers/maintainer-list.nix b/third_party/nixpkgs/maintainers/maintainer-list.nix
index fc41ce36bc..d7747768cd 100644
--- a/third_party/nixpkgs/maintainers/maintainer-list.nix
+++ b/third_party/nixpkgs/maintainers/maintainer-list.nix
@@ -984,6 +984,16 @@
githubId = 12128029;
name = "babariviere";
};
+ babbaj = {
+ name = "babbaj";
+ email = "babbaj45@gmail.com";
+ github = "babbaj";
+ githubId = 12820770;
+ keys = [{
+ longkeyid = "rsa4096/0xF044309848A07CAC";
+ fingerprint = "6FBC A462 4EAF C69C A7C4 98C1 F044 3098 48A0 7CAC";
+ }];
+ };
bachp = {
email = "pascal.bach@nextrem.ch";
github = "bachp";
@@ -1106,6 +1116,12 @@
githubId = 14111;
name = "Brandon Dimcheff";
};
+ beardhatcode = {
+ name = "Robbert Gurdeep Singh";
+ email = "nixpkgs@beardhatcode.be";
+ github = "beardhatcode";
+ githubId = 662538;
+ };
bendlas = {
email = "herwig@bendlas.net";
github = "bendlas";
@@ -1284,6 +1300,12 @@
githubId = 50839;
name = "Brian Jones";
};
+ bootstrap-prime = {
+ email = "bootstrap.prime@gmail.com";
+ github = "bootstrap-prime";
+ githubId = 68566724;
+ name = "bootstrap-prime";
+ };
commandodev = {
email = "ben@perurbis.com";
github = "commandodev";
@@ -2349,6 +2371,12 @@
githubId = 15774340;
name = "Thomas Depierre";
};
+ diegolelis = {
+ email = "diego.o.lelis@gmail.com";
+ github = "diegolelis";
+ githubId = 8404455;
+ name = "Diego Lelis";
+ };
dipinhora = {
email = "dipinhora+github@gmail.com";
github = "dipinhora";
@@ -2391,6 +2419,12 @@
githubId = 10913120;
name = "Dje4321";
};
+ djwf = {
+ email = "dave@weller-fahy.com";
+ github = "djwf";
+ githubId = 73162;
+ name = "David J. Weller-Fahy";
+ };
dkabot = {
email = "dkabot@dkabot.com";
github = "dkabot";
@@ -3609,6 +3643,12 @@
githubId = 76716;
name = "Graham Christensen";
};
+ gravndal = {
+ email = "gaute.ravndal+nixos@gmail.com";
+ github = "gravndal";
+ githubId = 4656860;
+ name = "Gaute Ravndal";
+ };
grburst = {
email = "GRBurst@protonmail.com";
github = "GRBurst";
@@ -4978,6 +5018,12 @@
githubId = 16481032;
name = "Kiba Fox";
};
+ kidd = {
+ email = "raimonster@gmail.com";
+ github = "kidd";
+ githubId = 25607;
+ name = "Raimon Grau";
+ };
kierdavis = {
email = "kierdavis@gmail.com";
github = "kierdavis";
@@ -5048,6 +5094,12 @@
fingerprint = "8992 44FC D291 5CA2 0A97 802C 156C 88A5 B0A0 4B2A";
}];
};
+ kiyengar = {
+ email = "hello@kiyengar.net";
+ github = "karthikiyengar";
+ githubId = 8260207;
+ name = "Karthik Iyengar";
+ };
kkallio = {
email = "tierpluspluslists@gmail.com";
name = "Karn Kallio";
@@ -6186,6 +6238,12 @@
github = "meutraa";
githubId = 68550871;
};
+ mephistophiles = {
+ email = "mussitantesmortem@gmail.com";
+ name = "Maxim Zhukov";
+ github = "Mephistophiles";
+ githubId = 4850908;
+ };
mfossen = {
email = "msfossen@gmail.com";
github = "mfossen";
@@ -7473,6 +7531,12 @@
githubId = 627831;
name = "Hoang Xuan Phu";
};
+ piegames = {
+ name = "piegames";
+ email = "nix@piegames.de";
+ github = "piegamesde";
+ githubId = 14054505;
+ };
pierrechevalier83 = {
email = "pierrechevalier83@gmail.com";
github = "pierrechevalier83";
@@ -9187,6 +9251,12 @@
githubId = 65870;
name = "Сухарик";
};
+ sumnerevans = {
+ email = "me@sumnerevans.com";
+ github = "sumnerevans";
+ githubId = 16734772;
+ name = "Sumner Evans";
+ };
superbo = {
email = "supernbo@gmail.com";
github = "SuperBo";
@@ -9779,6 +9849,12 @@
githubId = 27586264;
name = "Tobias Schmidt";
};
+ totoroot = {
+ name = "Matthias Thym";
+ email = "git@thym.at";
+ github = "totoroot";
+ githubId = 39650930;
+ };
travisbhartwell = {
email = "nafai@travishartwell.net";
github = "travisbhartwell";
@@ -10374,6 +10450,12 @@
githubId = 1322287;
name = "William O'Hanley";
};
+ woky = {
+ email = "pampu.andrei@pm.me";
+ github = "andreisergiu98";
+ githubId = 11740700;
+ name = "Andrei Pampu";
+ };
wolfangaukang = {
email = "liquid.query960@4wrd.cc";
github = "wolfangaukang";
@@ -10434,6 +10516,12 @@
githubId = 13489144;
name = "Calle Rosenquist";
};
+ xdhampus = {
+ name = "Hampus";
+ email = "16954508+xdHampus@users.noreply.github.com";
+ github = "xdHampus";
+ githubId = 16954508;
+ };
xe = {
email = "me@christine.website";
github = "Xe";
diff --git a/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2009.xml b/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2009.xml
index a6cff1a8fa..49446afdea 100644
--- a/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2009.xml
+++ b/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2009.xml
@@ -1017,6 +1017,14 @@ systemd.services.nginx.serviceConfig.ProtectHome = "read-only";
will have changed.
+
+
+ The syntax of the PostgreSQL configuration file is now checked at build
+ time. If your configuration includes a file inaccessible inside the build
+ sandbox, set services.postgresql.checkConfig to
+ false.
+
+
The rkt module has been removed, it was archived by upstream.
diff --git a/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2105.xml b/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2105.xml
index b7947293c0..ba42601096 100644
--- a/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2105.xml
+++ b/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2105.xml
@@ -23,6 +23,9 @@
Support is planned until the end of December 2021, handing over to 21.11.
+
+ The default Linux kernel was updated to the 5.10 LTS series, coming from the 5.4 LTS series.
+
GNOME desktop environment was upgraded to 3.38, see its release notes.
@@ -67,6 +70,12 @@
for the motivation).
+
+
+ Python optimizations were disabled again. Builds with optimizations enabled
+ are not reproducible. Optimizations can now be enabled with an option.
+
+
Kodi has been updated to version 19.0 "Matrix". See
@@ -235,7 +244,7 @@
- xfsprogs was update from 4.19 to 5.10. It now enables reflink support by default on filesystem creation.
+ xfsprogs was update from 4.19 to 5.11. It now enables reflink support by default on filesystem creation.
Support for reflinks was added with an experimental status to kernel 4.9 and deemed stable in kernel 4.16.
If you want to be able to mount XFS filesystems created with this release of xfsprogs on kernel releases older than those, you need to format them
with mkfs.xfs -m reflink=0.
@@ -579,6 +588,11 @@ self: super:
no longer uses the deprecated cirrus and vesa device dependent X drivers by default. It also enables both amdgpu and nouveau drivers by default now.
+
+
+ The kindlegen package is gone, because it is no longer supported or hosted by Amazon. Sadly, its replacement, Kindle Previewer, has no Linux support. However, there are other ways to generate MOBI files. See the discussion for more info.
+
+
The apacheKafka packages are now built with
@@ -625,6 +639,15 @@ environment.systemPackages = [
+
+
+ now includes the nano package.
+ If pkgs.nano is not added to the list,
+ make sure another editor is installed and the EDITOR
+ environment variable is set to it.
+ Environment variables can be set using .
+
+
@@ -883,6 +906,14 @@ environment.systemPackages = [
Please test your setup and container images with containerd prior to upgrading.
+
+
+ The GitLab module now has support for automatic backups. A
+ schedule can be set with the
+ services.gitlab.backup.startAt
+ option.
+
+
diff --git a/third_party/nixpkgs/nixos/modules/config/system-path.nix b/third_party/nixpkgs/nixos/modules/config/system-path.nix
index aee7a041d0..1292c3008c 100644
--- a/third_party/nixpkgs/nixos/modules/config/system-path.nix
+++ b/third_party/nixpkgs/nixos/modules/config/system-path.nix
@@ -29,7 +29,6 @@ let
pkgs.xz
pkgs.less
pkgs.libcap
- pkgs.nano
pkgs.ncurses
pkgs.netcat
config.programs.ssh.package
@@ -43,7 +42,8 @@ let
];
defaultPackages = map (pkg: setPrio ((pkg.meta.priority or 5) + 3) pkg)
- [ pkgs.perl
+ [ pkgs.nano
+ pkgs.perl
pkgs.rsync
pkgs.strace
];
@@ -75,13 +75,21 @@ in
default = defaultPackages;
example = literalExample "[]";
description = ''
- Set of packages users expect from a minimal linux istall.
- Like systemPackages, they appear in
- /run/current-system/sw. These packages are
+ Set of default packages that aren't strictly neccessary
+ for a running system, entries can be removed for a more
+ minimal NixOS installation.
+
+ Note: If pkgs.nano is removed from this list,
+ make sure another editor is installed and the
+ EDITOR environment variable is set to it.
+ Environment variables can be set using
+ .
+
+ Like with systemPackages, packages are installed to
+ /run/current-system/sw. They are
automatically available to all users, and are
automatically updated every time you rebuild the system
configuration.
- If you want a more minimal system, set it to an empty list.
'';
};
diff --git a/third_party/nixpkgs/nixos/modules/config/users-groups.nix b/third_party/nixpkgs/nixos/modules/config/users-groups.nix
index 1a530b9f01..5ed1f568f4 100644
--- a/third_party/nixpkgs/nixos/modules/config/users-groups.nix
+++ b/third_party/nixpkgs/nixos/modules/config/users-groups.nix
@@ -593,8 +593,8 @@ in {
# password or an SSH authorized key. Privileged accounts are
# root and users in the wheel group.
assertion = !cfg.mutableUsers ->
- any id ((mapAttrsToList (name: cfg:
- (name == "root"
+ any id ((mapAttrsToList (_: cfg:
+ (cfg.name == "root"
|| cfg.group == "wheel"
|| elem "wheel" cfg.extraGroups)
&&
@@ -615,16 +615,16 @@ in {
assertion = (user.hashedPassword != null)
-> (builtins.match ".*:.*" user.hashedPassword == null);
message = ''
- The password hash of user "${name}" contains a ":" character.
+ The password hash of user "${user.name}" contains a ":" character.
This is invalid and would break the login system because the fields
of /etc/shadow (file where hashes are stored) are colon-separated.
- Please check the value of option `users.users."${name}".hashedPassword`.'';
+ Please check the value of option `users.users."${user.name}".hashedPassword`.'';
}
);
warnings =
builtins.filter (x: x != null) (
- flip mapAttrsToList cfg.users (name: user:
+ flip mapAttrsToList cfg.users (_: user:
# This regex matches a subset of the Modular Crypto Format (MCF)[1]
# informal standard. Since this depends largely on the OS or the
# specific implementation of crypt(3) we only support the (sane)
@@ -647,9 +647,9 @@ in {
&& user.hashedPassword != "" # login without password
&& builtins.match mcf user.hashedPassword == null)
then ''
- The password hash of user "${name}" may be invalid. You must set a
+ The password hash of user "${user.name}" may be invalid. You must set a
valid hash or the user will be locked out of their account. Please
- check the value of option `users.users."${name}".hashedPassword`.''
+ check the value of option `users.users."${user.name}".hashedPassword`.''
else null
));
diff --git a/third_party/nixpkgs/nixos/modules/hardware/all-firmware.nix b/third_party/nixpkgs/nixos/modules/hardware/all-firmware.nix
index 8cf3e5633d..3e88a4c20a 100644
--- a/third_party/nixpkgs/nixos/modules/hardware/all-firmware.nix
+++ b/third_party/nixpkgs/nixos/modules/hardware/all-firmware.nix
@@ -49,7 +49,7 @@ in {
rt5677-firmware
rtl8723bs-firmware
rtl8761b-firmware
- rtlwifi_new-firmware
+ rtw88-firmware
zd1211fw
alsa-firmware
sof-firmware
diff --git a/third_party/nixpkgs/nixos/modules/hardware/sata.nix b/third_party/nixpkgs/nixos/modules/hardware/sata.nix
new file mode 100644
index 0000000000..541897527a
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/hardware/sata.nix
@@ -0,0 +1,100 @@
+{ config, lib, pkgs, ... }:
+let
+ inherit (lib) mkEnableOption mkIf mkOption types;
+
+ cfg = config.hardware.sata.timeout;
+
+ buildRule = d:
+ lib.concatStringsSep ", " [
+ ''ACTION=="add"''
+ ''SUBSYSTEM=="block"''
+ ''ENV{ID_${lib.toUpper d.idBy}}=="${d.name}"''
+ ''TAG+="systemd"''
+ ''ENV{SYSTEMD_WANTS}="${unitName d}"''
+ ];
+
+ devicePath = device:
+ "/dev/disk/by-${device.idBy}/${device.name}";
+
+ unitName = device:
+ "sata-timeout-${lib.strings.sanitizeDerivationName device.name}";
+
+ startScript =
+ pkgs.writeShellScript "sata-timeout.sh" ''
+ set -eEuo pipefail
+
+ device="$1"
+
+ ${pkgs.smartmontools}/bin/smartctl \
+ -l scterc,${toString cfg.deciSeconds},${toString cfg.deciSeconds} \
+ --quietmode errorsonly \
+ "$device"
+ '';
+
+in
+{
+ meta.maintainers = with lib.maintainers; [ peterhoeg ];
+
+ options.hardware.sata.timeout = {
+ enable = mkEnableOption "SATA drive timeouts";
+
+ deciSeconds = mkOption {
+ example = "70";
+ type = types.int;
+ description = ''
+ Set SCT Error Recovery Control timeout in deciseconds for use in RAID configurations.
+
+ Values are as follows:
+ 0 = disable SCT ERT
+ 70 = default in consumer drives (7 seconds)
+
+ Maximum is disk dependant but probably 60 seconds.
+ '';
+ };
+
+ drives = mkOption {
+ description = "List of drives for which to configure the timeout.";
+ type = types.listOf
+ (types.submodule {
+ options = {
+ name = mkOption {
+ description = "Drive name without the full path.";
+ type = types.str;
+ };
+
+ idBy = mkOption {
+ description = "The method to identify the drive.";
+ type = types.enum [ "path" "wwn" ];
+ default = "path";
+ };
+ };
+ });
+ };
+ };
+
+ config = mkIf cfg.enable {
+ services.udev.extraRules = lib.concatMapStringsSep "\n" buildRule cfg.drives;
+
+ systemd.services = lib.listToAttrs (map
+ (e:
+ lib.nameValuePair (unitName e) {
+ description = "SATA timeout for ${e.name}";
+ wantedBy = [ "sata-timeout.target" ];
+ serviceConfig = {
+ Type = "oneshot";
+ ExecStart = "${startScript} '${devicePath e}'";
+ PrivateTmp = true;
+ PrivateNetwork = true;
+ ProtectHome = "tmpfs";
+ ProtectSystem = "strict";
+ };
+ }
+ )
+ cfg.drives);
+
+ systemd.targets.sata-timeout = {
+ description = "SATA timeout";
+ wantedBy = [ "multi-user.target" ];
+ };
+ };
+}
diff --git a/third_party/nixpkgs/nixos/modules/hardware/ubertooth.nix b/third_party/nixpkgs/nixos/modules/hardware/ubertooth.nix
new file mode 100644
index 0000000000..637fddfb37
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/hardware/ubertooth.nix
@@ -0,0 +1,29 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.hardware.ubertooth;
+
+ ubertoothPkg = pkgs.ubertooth.override {
+ udevGroup = cfg.group;
+ };
+in {
+ options.hardware.ubertooth = {
+ enable = mkEnableOption "Enable the Ubertooth software and its udev rules.";
+
+ group = mkOption {
+ type = types.str;
+ default = "ubertooth";
+ example = "wheel";
+ description = "Group for Ubertooth's udev rules.";
+ };
+ };
+
+ config = mkIf cfg.enable {
+ environment.systemPackages = [ ubertoothPkg ];
+
+ services.udev.packages = [ ubertoothPkg ];
+ users.groups.${cfg.group} = {};
+ };
+}
diff --git a/third_party/nixpkgs/nixos/modules/module-list.nix b/third_party/nixpkgs/nixos/modules/module-list.nix
index ca7898687b..e113322123 100644
--- a/third_party/nixpkgs/nixos/modules/module-list.nix
+++ b/third_party/nixpkgs/nixos/modules/module-list.nix
@@ -67,9 +67,11 @@
./hardware/steam-hardware.nix
./hardware/system-76.nix
./hardware/tuxedo-keyboard.nix
+ ./hardware/ubertooth.nix
./hardware/usb-wwan.nix
./hardware/onlykey.nix
./hardware/opentabletdriver.nix
+ ./hardware/sata.nix
./hardware/wooting.nix
./hardware/uinput.nix
./hardware/video/amdgpu.nix
@@ -231,6 +233,7 @@
./services/audio/alsa.nix
./services/audio/jack.nix
./services/audio/icecast.nix
+ ./services/audio/jmusicbot.nix
./services/audio/liquidsoap.nix
./services/audio/mpd.nix
./services/audio/mpdscribble.nix
@@ -498,6 +501,7 @@
./services/misc/lifecycled.nix
./services/misc/mame.nix
./services/misc/matrix-appservice-discord.nix
+ ./services/misc/matrix-appservice-irc.nix
./services/misc/matrix-synapse.nix
./services/misc/mautrix-telegram.nix
./services/misc/mbpfan.nix
@@ -513,6 +517,7 @@
./services/misc/nzbget.nix
./services/misc/nzbhydra2.nix
./services/misc/octoprint.nix
+ ./services/misc/ombi.nix
./services/misc/osrm.nix
./services/misc/packagekit.nix
./services/misc/paperless.nix
@@ -888,6 +893,7 @@
./services/web-apps/atlassian/crowd.nix
./services/web-apps/atlassian/jira.nix
./services/web-apps/bookstack.nix
+ ./services/web-apps/calibre-web.nix
./services/web-apps/convos.nix
./services/web-apps/cryptpad.nix
./services/web-apps/documize.nix
@@ -948,6 +954,7 @@
./services/web-servers/nginx/default.nix
./services/web-servers/nginx/gitweb.nix
./services/web-servers/phpfpm/default.nix
+ ./services/web-servers/pomerium.nix
./services/web-servers/unit/default.nix
./services/web-servers/shellinabox.nix
./services/web-servers/tomcat.nix
diff --git a/third_party/nixpkgs/nixos/modules/programs/mininet.nix b/third_party/nixpkgs/nixos/modules/programs/mininet.nix
index ecc924325e..6e90e7669a 100644
--- a/third_party/nixpkgs/nixos/modules/programs/mininet.nix
+++ b/third_party/nixpkgs/nixos/modules/programs/mininet.nix
@@ -8,7 +8,7 @@ let
cfg = config.programs.mininet;
generatedPath = with pkgs; makeSearchPath "bin" [
- iperf ethtool iproute socat
+ iperf ethtool iproute2 socat
];
pyEnv = pkgs.python.withPackages(ps: [ ps.mininet-python ]);
diff --git a/third_party/nixpkgs/nixos/modules/services/audio/jmusicbot.nix b/third_party/nixpkgs/nixos/modules/services/audio/jmusicbot.nix
new file mode 100644
index 0000000000..f573bd2ab8
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/services/audio/jmusicbot.nix
@@ -0,0 +1,41 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+ cfg = config.services.jmusicbot;
+in
+{
+ options = {
+ services.jmusicbot = {
+ enable = mkEnableOption "jmusicbot, a Discord music bot that's easy to set up and run yourself";
+
+ stateDir = mkOption {
+ type = types.path;
+ description = ''
+ The directory where config.txt and serversettings.json is saved.
+ If left as the default value this directory will automatically be created before JMusicBot starts, otherwise the sysadmin is responsible for ensuring the directory exists with appropriate ownership and permissions.
+ Untouched by the value of this option config.txt needs to be placed manually into this directory.
+ '';
+ default = "/var/lib/jmusicbot/";
+ };
+ };
+ };
+
+ config = mkIf cfg.enable {
+ systemd.services.jmusicbot = {
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network-online.target" ];
+ description = "Discord music bot that's easy to set up and run yourself!";
+ serviceConfig = mkMerge [{
+ ExecStart = "${pkgs.jmusicbot}/bin/JMusicBot";
+ WorkingDirectory = cfg.stateDir;
+ Restart = "always";
+ RestartSec = 20;
+ DynamicUser = true;
+ }
+ (mkIf (cfg.stateDir == "/var/lib/jmusicbot") { StateDirectory = "jmusicbot"; })];
+ };
+ };
+
+ meta.maintainers = with maintainers; [ SuperSandro2000 ];
+}
diff --git a/third_party/nixpkgs/nixos/modules/services/databases/postgresql.nix b/third_party/nixpkgs/nixos/modules/services/databases/postgresql.nix
index f582b05927..900185fbbd 100644
--- a/third_party/nixpkgs/nixos/modules/services/databases/postgresql.nix
+++ b/third_party/nixpkgs/nixos/modules/services/databases/postgresql.nix
@@ -18,7 +18,12 @@ let
else toString value;
# The main PostgreSQL configuration file.
- configFile = pkgs.writeText "postgresql.conf" (concatStringsSep "\n" (mapAttrsToList (n: v: "${n} = ${toStr v}") cfg.settings));
+ configFile = pkgs.writeTextDir "postgresql.conf" (concatStringsSep "\n" (mapAttrsToList (n: v: "${n} = ${toStr v}") cfg.settings));
+
+ configFileCheck = pkgs.runCommand "postgresql-configfile-check" {} ''
+ ${cfg.package}/bin/postgres -D${configFile} -C config_file >/dev/null
+ touch $out
+ '';
groupAccessAvailable = versionAtLeast postgresql.version "11.0";
@@ -53,6 +58,12 @@ in
'';
};
+ checkConfig = mkOption {
+ type = types.bool;
+ default = true;
+ description = "Check the syntax of the configuration file at compile time";
+ };
+
dataDir = mkOption {
type = types.path;
defaultText = "/var/lib/postgresql/\${config.services.postgresql.package.psqlSchema}";
@@ -314,6 +325,8 @@ in
"/share/postgresql"
];
+ system.extraDependencies = lib.optional (cfg.checkConfig && pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform) configFileCheck;
+
systemd.services.postgresql =
{ description = "PostgreSQL Server";
@@ -337,7 +350,7 @@ in
touch "${cfg.dataDir}/.first_startup"
fi
- ln -sfn "${configFile}" "${cfg.dataDir}/postgresql.conf"
+ ln -sfn "${configFile}/postgresql.conf" "${cfg.dataDir}/postgresql.conf"
${optionalString (cfg.recoveryConfig != null) ''
ln -sfn "${pkgs.writeText "recovery.conf" cfg.recoveryConfig}" \
"${cfg.dataDir}/recovery.conf"
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix b/third_party/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
index 539a4cf446..17a2d49bb1 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
@@ -4,6 +4,7 @@
with lib;
let
+ json = pkgs.formats.json {};
cfg = config.services.pipewire.media-session;
enable32BitAlsaPlugins = cfg.alsa.support32Bit
&& pkgs.stdenv.isx86_64
@@ -17,24 +18,13 @@ let
media-session = (builtins.fromJSON (builtins.readFile ./media-session.conf.json));
v4l2-monitor = (builtins.fromJSON (builtins.readFile ./v4l2-monitor.conf.json));
};
- # Helpers for generating the pipewire JSON config file
- mkSPAValueString = v:
- if builtins.isList v then "[${lib.concatMapStringsSep " " mkSPAValueString v}]"
- else if lib.types.attrs.check v then
- "{${lib.concatStringsSep " " (mkSPAKeyValue v)}}"
- else if builtins.isString v then "\"${lib.generators.mkValueStringDefault { } v}\""
- else lib.generators.mkValueStringDefault { } v;
- mkSPAKeyValue = attrs: map (def: def.content) (
- lib.sortProperties
- (
- lib.mapAttrsToList
- (k: v: lib.mkOrder (v._priority or 1000) "${lib.escape [ "=" ":" ] k} = ${mkSPAValueString (v._content or v)}")
- attrs
- )
- );
-
- toSPAJSON = attrs: lib.concatStringsSep "\n" (mkSPAKeyValue attrs);
+ configs = {
+ alsa-monitor = recursiveUpdate defaults.alsa-monitor cfg.config.alsa-monitor;
+ bluez-monitor = recursiveUpdate defaults.bluez-monitor cfg.config.bluez-monitor;
+ media-session = recursiveUpdate defaults.media-session cfg.config.media-session;
+ v4l2-monitor = recursiveUpdate defaults.v4l2-monitor cfg.config.v4l2-monitor;
+ };
in {
meta = {
@@ -62,7 +52,7 @@ in {
config = {
media-session = mkOption {
- type = types.attrs;
+ type = json.type;
description = ''
Configuration for the media session core. For details see
https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/media-session.d/media-session.conf
@@ -71,7 +61,7 @@ in {
};
alsa-monitor = mkOption {
- type = types.attrs;
+ type = json.type;
description = ''
Configuration for the alsa monitor. For details see
https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/media-session.d/alsa-monitor.conf
@@ -80,7 +70,7 @@ in {
};
bluez-monitor = mkOption {
- type = types.attrs;
+ type = json.type;
description = ''
Configuration for the bluez5 monitor. For details see
https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/media-session.d/bluez-monitor.conf
@@ -89,7 +79,7 @@ in {
};
v4l2-monitor = mkOption {
- type = types.attrs;
+ type = json.type;
description = ''
Configuration for the V4L2 monitor. For details see
https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/${cfg.package.version}/src/daemon/media-session.d/v4l2-monitor.conf
@@ -106,15 +96,34 @@ in {
systemd.packages = [ cfg.package ];
systemd.user.services.pipewire-media-session.wantedBy = [ "pipewire.service" ];
- environment.etc."pipewire/media-session.d/media-session.conf" = { text = toSPAJSON (recursiveUpdate defaults.media-session cfg.config.media-session); };
- environment.etc."pipewire/media-session.d/v4l2-monitor.conf" = { text = toSPAJSON (recursiveUpdate defaults.v4l2-monitor cfg.config.v4l2-monitor); };
+ environment.etc."pipewire/media-session.d/media-session.conf" = {
+ source = json.generate "media-session.conf" configs.media-session;
+ };
+ environment.etc."pipewire/media-session.d/v4l2-monitor.conf" = {
+ source = json.generate "v4l2-monitor.conf" configs.v4l2-monitor;
+ };
- environment.etc."pipewire/media-session.d/with-alsa" = mkIf config.services.pipewire.alsa.enable { text = ""; };
- environment.etc."pipewire/media-session.d/alsa-monitor.conf" = mkIf config.services.pipewire.alsa.enable { text = toSPAJSON (recursiveUpdate defaults.alsa-monitor cfg.config.alsa-monitor); };
+ environment.etc."pipewire/media-session.d/with-alsa" =
+ mkIf config.services.pipewire.alsa.enable {
+ text = "";
+ };
+ environment.etc."pipewire/media-session.d/alsa-monitor.conf" =
+ mkIf config.services.pipewire.alsa.enable {
+ source = json.generate "alsa-monitor.conf" configs.alsa-monitor;
+ };
- environment.etc."pipewire/media-session.d/with-pulseaudio" = mkIf config.services.pipewire.pulse.enable { text = ""; };
- environment.etc."pipewire/media-session.d/bluez-monitor.conf" = mkIf config.services.pipewire.pulse.enable { text = toSPAJSON (recursiveUpdate defaults.bluez-monitor cfg.config.bluez-monitor); };
+ environment.etc."pipewire/media-session.d/with-pulseaudio" =
+ mkIf config.services.pipewire.pulse.enable {
+ text = "";
+ };
+ environment.etc."pipewire/media-session.d/bluez-monitor.conf" =
+ mkIf config.services.pipewire.pulse.enable {
+ source = json.generate "bluez-monitor.conf" configs.bluez-monitor;
+ };
- environment.etc."pipewire/media-session.d/with-jack" = mkIf config.services.pipewire.jack.enable { text = ""; };
+ environment.etc."pipewire/media-session.d/with-jack" =
+ mkIf config.services.pipewire.jack.enable {
+ text = "";
+ };
};
}
diff --git a/third_party/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix b/third_party/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix
index 7cf19706a6..dbd6c5d87e 100644
--- a/third_party/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix
+++ b/third_party/nixpkgs/nixos/modules/services/desktops/pipewire/pipewire.nix
@@ -4,6 +4,7 @@
with lib;
let
+ json = pkgs.formats.json {};
cfg = config.services.pipewire;
enable32BitAlsaPlugins = cfg.alsa.support32Bit
&& pkgs.stdenv.isx86_64
@@ -29,24 +30,13 @@ let
pipewire-pulse = builtins.fromJSON (builtins.readFile ./pipewire-pulse.conf.json);
};
- # Helpers for generating the pipewire JSON config file
- mkSPAValueString = v:
- if builtins.isList v then "[${lib.concatMapStringsSep " " mkSPAValueString v}]"
- else if lib.types.attrs.check v then
- "{${lib.concatStringsSep " " (mkSPAKeyValue v)}}"
- else if builtins.isString v then "\"${lib.generators.mkValueStringDefault { } v}\""
- else lib.generators.mkValueStringDefault { } v;
-
- mkSPAKeyValue = attrs: map (def: def.content) (
- lib.sortProperties
- (
- lib.mapAttrsToList
- (k: v: lib.mkOrder (v._priority or 1000) "${lib.escape [ "=" ] k} = ${mkSPAValueString (v._content or v)}")
- attrs
- )
- );
-
- toSPAJSON = attrs: lib.concatStringsSep "\n" (mkSPAKeyValue attrs);
+ configs = {
+ client = recursiveUpdate defaults.client cfg.config.client;
+ client-rt = recursiveUpdate defaults.client-rt cfg.config.client-rt;
+ jack = recursiveUpdate defaults.jack cfg.config.jack;
+ pipewire = recursiveUpdate defaults.pipewire cfg.config.pipewire;
+ pipewire-pulse = recursiveUpdate defaults.pipewire-pulse cfg.config.pipewire-pulse;
+ };
in {
meta = {
@@ -78,7 +68,7 @@ in {
config = {
client = mkOption {
- type = types.attrs;
+ type = json.type;
default = {};
description = ''
Configuration for pipewire clients. For details see
@@ -87,7 +77,7 @@ in {
};
client-rt = mkOption {
- type = types.attrs;
+ type = json.type;
default = {};
description = ''
Configuration for realtime pipewire clients. For details see
@@ -96,7 +86,7 @@ in {
};
jack = mkOption {
- type = types.attrs;
+ type = json.type;
default = {};
description = ''
Configuration for the pipewire daemon's jack module. For details see
@@ -105,7 +95,7 @@ in {
};
pipewire = mkOption {
- type = types.attrs;
+ type = json.type;
default = {};
description = ''
Configuration for the pipewire daemon. For details see
@@ -114,7 +104,7 @@ in {
};
pipewire-pulse = mkOption {
- type = types.attrs;
+ type = json.type;
default = {};
description = ''
Configuration for the pipewire-pulse daemon. For details see
@@ -187,11 +177,21 @@ in {
source = "${cfg.package}/share/alsa/alsa.conf.d/99-pipewire-default.conf";
};
- environment.etc."pipewire/client.conf" = { text = toSPAJSON (recursiveUpdate defaults.client cfg.config.client); };
- environment.etc."pipewire/client-rt.conf" = { text = toSPAJSON (recursiveUpdate defaults.client-rt cfg.config.client-rt); };
- environment.etc."pipewire/jack.conf" = { text = toSPAJSON (recursiveUpdate defaults.jack cfg.config.jack); };
- environment.etc."pipewire/pipewire.conf" = { text = toSPAJSON (recursiveUpdate defaults.pipewire cfg.config.pipewire); };
- environment.etc."pipewire/pipewire-pulse.conf" = { text = toSPAJSON (recursiveUpdate defaults.pipewire-pulse cfg.config.pipewire-pulse); };
+ environment.etc."pipewire/client.conf" = {
+ source = json.generate "client.conf" configs.client;
+ };
+ environment.etc."pipewire/client-rt.conf" = {
+ source = json.generate "client-rt.conf" configs.client-rt;
+ };
+ environment.etc."pipewire/jack.conf" = {
+ source = json.generate "jack.conf" configs.jack;
+ };
+ environment.etc."pipewire/pipewire.conf" = {
+ source = json.generate "pipewire.conf" configs.pipewire;
+ };
+ environment.etc."pipewire/pipewire-pulse.conf" = {
+ source = json.generate "pipewire-pulse.conf" configs.pipewire-pulse;
+ };
environment.sessionVariables.LD_LIBRARY_PATH =
lib.optional cfg.jack.enable "/run/current-system/sw/lib/pipewire";
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/sane.nix b/third_party/nixpkgs/nixos/modules/services/hardware/sane.nix
index 29e5fbaee6..e5a01a8a27 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/sane.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/sane.nix
@@ -30,7 +30,7 @@ let
};
backends = [ pkg netConf ] ++ optional config.services.saned.enable sanedConf ++ config.hardware.sane.extraBackends;
- saneConfig = pkgs.mkSaneConfig { paths = backends; };
+ saneConfig = pkgs.mkSaneConfig { paths = backends; inherit (config.hardware.sane) disabledDefaultBackends; };
enabled = config.hardware.sane.enable || config.services.saned.enable;
@@ -73,6 +73,16 @@ in
example = literalExample "[ pkgs.hplipWithPlugin ]";
};
+ hardware.sane.disabledDefaultBackends = mkOption {
+ type = types.listOf types.str;
+ default = [];
+ example = [ "v4l" ];
+ description = ''
+ Names of backends which are enabled by default but should be disabled.
+ See $SANE_CONFIG_DIR/dll.conf for the list of possible names.
+ '';
+ };
+
hardware.sane.configDir = mkOption {
type = types.str;
internal = true;
diff --git a/third_party/nixpkgs/nixos/modules/services/hardware/spacenavd.nix b/third_party/nixpkgs/nixos/modules/services/hardware/spacenavd.nix
index 7afae76cc4..cecc4d6f02 100644
--- a/third_party/nixpkgs/nixos/modules/services/hardware/spacenavd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/hardware/spacenavd.nix
@@ -13,7 +13,7 @@ in {
};
config = mkIf cfg.enable {
- systemd.user.services.spacenavd = {
+ systemd.services.spacenavd = {
description = "Daemon for the Spacenavigator 6DOF mice by 3Dconnexion";
after = [ "syslog.target" ];
wantedBy = [ "graphical.target" ];
diff --git a/third_party/nixpkgs/nixos/modules/services/logging/logstash.nix b/third_party/nixpkgs/nixos/modules/services/logging/logstash.nix
index a4fc315d08..7a2f568161 100644
--- a/third_party/nixpkgs/nixos/modules/services/logging/logstash.nix
+++ b/third_party/nixpkgs/nixos/modules/services/logging/logstash.nix
@@ -159,10 +159,9 @@ in
###### implementation
config = mkIf cfg.enable {
- systemd.services.logstash = with pkgs; {
+ systemd.services.logstash = {
description = "Logstash Daemon";
wantedBy = [ "multi-user.target" ];
- environment = { JAVA_HOME = jre; };
path = [ pkgs.bash ];
serviceConfig = {
ExecStartPre = ''${pkgs.coreutils}/bin/mkdir -p "${cfg.dataDir}" ; ${pkgs.coreutils}/bin/chmod 700 "${cfg.dataDir}"'';
diff --git a/third_party/nixpkgs/nixos/modules/services/logging/vector.nix b/third_party/nixpkgs/nixos/modules/services/logging/vector.nix
index a7c54ad75f..be36b2a41b 100644
--- a/third_party/nixpkgs/nixos/modules/services/logging/vector.nix
+++ b/third_party/nixpkgs/nixos/modules/services/logging/vector.nix
@@ -3,7 +3,8 @@
with lib;
let cfg = config.services.vector;
-in {
+in
+{
options.services.vector = {
enable = mkEnableOption "Vector";
@@ -37,25 +38,27 @@ in {
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" ];
requires = [ "network-online.target" ];
- serviceConfig = let
- format = pkgs.formats.toml { };
- conf = format.generate "vector.toml" cfg.settings;
- validateConfig = file:
- pkgs.runCommand "validate-vector-conf" { } ''
- ${pkgs.vector}/bin/vector validate --no-topology --no-environment "${file}"
- ln -s "${file}" "$out"
- '';
- in {
- ExecStart = "${pkgs.vector}/bin/vector --config ${validateConfig conf}";
- User = "vector";
- Group = "vector";
- Restart = "no";
- StateDirectory = "vector";
- ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
- AmbientCapabilities = "CAP_NET_BIND_SERVICE";
- # This group is required for accessing journald.
- SupplementaryGroups = mkIf cfg.journaldAccess "systemd-journal";
- };
+ serviceConfig =
+ let
+ format = pkgs.formats.toml { };
+ conf = format.generate "vector.toml" cfg.settings;
+ validateConfig = file:
+ pkgs.runCommand "validate-vector-conf" { } ''
+ ${pkgs.vector}/bin/vector validate --no-environment "${file}"
+ ln -s "${file}" "$out"
+ '';
+ in
+ {
+ ExecStart = "${pkgs.vector}/bin/vector --config ${validateConfig conf}";
+ User = "vector";
+ Group = "vector";
+ Restart = "no";
+ StateDirectory = "vector";
+ ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+ AmbientCapabilities = "CAP_NET_BIND_SERVICE";
+ # This group is required for accessing journald.
+ SupplementaryGroups = mkIf cfg.journaldAccess "systemd-journal";
+ };
};
};
}
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/etebase-server.nix b/third_party/nixpkgs/nixos/modules/services/misc/etebase-server.nix
index d9d12698d7..31e0952b5b 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/etebase-server.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/etebase-server.nix
@@ -8,31 +8,28 @@ let
pythonEnv = pkgs.python3.withPackages (ps: with ps;
[ etebase-server daphne ]);
- dbConfig = {
- sqlite3 = ''
- engine = django.db.backends.sqlite3
- name = ${cfg.dataDir}/db.sqlite3
- '';
- };
+ iniFmt = pkgs.formats.ini {};
- defaultConfigIni = toString (pkgs.writeText "etebase-server.ini" ''
- [global]
- debug = false
- secret_file = ${if cfg.secretFile != null then cfg.secretFile else ""}
- media_root = ${cfg.dataDir}/media
-
- [allowed_hosts]
- allowed_host1 = ${cfg.host}
-
- [database]
- ${dbConfig."${cfg.database.type}"}
- '');
-
- configIni = if cfg.customIni != null then cfg.customIni else defaultConfigIni;
+ configIni = iniFmt.generate "etebase-server.ini" cfg.settings;
defaultUser = "etebase-server";
in
{
+ imports = [
+ (mkRemovedOptionModule
+ [ "services" "etebase-server" "customIni" ]
+ "Set the option `services.etebase-server.settings' instead.")
+ (mkRemovedOptionModule
+ [ "services" "etebase-server" "database" ]
+ "Set the option `services.etebase-server.settings.database' instead.")
+ (mkRenamedOptionModule
+ [ "services" "etebase-server" "secretFile" ]
+ [ "services" "etebase-server" "settings" "secret_file" ])
+ (mkRenamedOptionModule
+ [ "services" "etebase-server" "host" ]
+ [ "services" "etebase-server" "settings" "allowed_hosts" "allowed_host1" ])
+ ];
+
options = {
services.etebase-server = {
enable = mkOption {
@@ -42,21 +39,13 @@ in
description = ''
Whether to enable the Etebase server.
- Once enabled you need to create an admin user using the
- shell command etebase-server createsuperuser.
+ Once enabled you need to create an admin user by invoking the
+ shell command etebase-server createsuperuser with
+ the user specified by the user option or a superuser.
Then you can login and create accounts on your-etebase-server.com/admin
'';
};
- secretFile = mkOption {
- default = null;
- type = with types; nullOr str;
- description = ''
- The path to a file containing the secret
- used as django's SECRET_KEY.
- '';
- };
-
dataDir = mkOption {
type = types.str;
default = "/var/lib/etebase-server";
@@ -77,15 +66,6 @@ in
'';
};
- host = mkOption {
- type = types.str;
- default = "0.0.0.0";
- example = "localhost";
- description = ''
- Host to listen on.
- '';
- };
-
unixSocket = mkOption {
type = with types; nullOr str;
default = null;
@@ -93,42 +73,81 @@ in
example = "/run/etebase-server/etebase-server.sock";
};
- database = {
- type = mkOption {
- type = types.enum [ "sqlite3" ];
- default = "sqlite3";
- description = ''
- Database engine to use.
- Currently only sqlite3 is supported.
- Other options can be configured using extraConfig.
- '';
+ settings = mkOption {
+ type = lib.types.submodule {
+ freeformType = iniFmt.type;
+
+ options = {
+ global = {
+ debug = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Whether to set django's DEBUG flag.
+ '';
+ };
+ secret_file = mkOption {
+ type = with types; nullOr str;
+ default = null;
+ description = ''
+ The path to a file containing the secret
+ used as django's SECRET_KEY.
+ '';
+ };
+ static_root = mkOption {
+ type = types.str;
+ default = "${cfg.dataDir}/static";
+ defaultText = "\${config.services.etebase-server.dataDir}/static";
+ description = "The directory for static files.";
+ };
+ media_root = mkOption {
+ type = types.str;
+ default = "${cfg.dataDir}/media";
+ defaultText = "\${config.services.etebase-server.dataDir}/media";
+ description = "The media directory.";
+ };
+ };
+ allowed_hosts = {
+ allowed_host1 = mkOption {
+ type = types.str;
+ default = "0.0.0.0";
+ example = "localhost";
+ description = ''
+ The main host that is allowed access.
+ '';
+ };
+ };
+ database = {
+ engine = mkOption {
+ type = types.enum [ "django.db.backends.sqlite3" "django.db.backends.postgresql" ];
+ default = "django.db.backends.sqlite3";
+ description = "The database engine to use.";
+ };
+ name = mkOption {
+ type = types.str;
+ default = "${cfg.dataDir}/db.sqlite3";
+ defaultText = "\${config.services.etebase-server.dataDir}/db.sqlite3";
+ description = "The database name.";
+ };
+ };
+ };
};
- };
-
- customIni = mkOption {
- type = with types; nullOr str;
- default = null;
+ default = {};
description = ''
- Custom etebase-server.ini.
-
- See etebase-src/etebase-server.ini.example for available options.
-
- Setting this option overrides the default config which is generated from the options
- secretFile, host and database.
- '';
- example = literalExample ''
- [global]
- debug = false
- secret_file = /path/to/secret
- media_root = /path/to/media
-
- [allowed_hosts]
- allowed_host1 = example.com
-
- [database]
- engine = django.db.backends.sqlite3
- name = db.sqlite3
+ Configuration for etebase-server. Refer to
+
+ and
+ for details on supported values.
'';
+ example = {
+ global = {
+ debug = true;
+ media_root = "/path/to/media";
+ };
+ allowed_hosts = {
+ allowed_host2 = "localhost";
+ };
+ };
};
user = mkOption {
@@ -166,14 +185,15 @@ in
WorkingDirectory = cfg.dataDir;
};
environment = {
- PYTHONPATH="${pythonEnv}/${pkgs.python3.sitePackages}";
- ETEBASE_EASY_CONFIG_PATH="${configIni}";
+ PYTHONPATH = "${pythonEnv}/${pkgs.python3.sitePackages}";
+ ETEBASE_EASY_CONFIG_PATH = configIni;
};
preStart = ''
# Auto-migrate on first run or if the package has changed
versionFile="${cfg.dataDir}/src-version"
if [[ $(cat "$versionFile" 2>/dev/null) != ${pkgs.etebase-server} ]]; then
${pythonEnv}/bin/etebase-server migrate
+ ${pythonEnv}/bin/etebase-server collectstatic
echo ${pkgs.etebase-server} > "$versionFile"
fi
'';
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/gitlab.nix b/third_party/nixpkgs/nixos/modules/services/misc/gitlab.nix
index c9dd10ec55..b8bb4059dc 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/gitlab.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/gitlab.nix
@@ -116,7 +116,11 @@ let
omniauth.enabled = false;
shared.path = "${cfg.statePath}/shared";
gitaly.client_path = "${cfg.packages.gitaly}/bin";
- backup.path = "${cfg.backupPath}";
+ backup = {
+ path = cfg.backup.path;
+ keep_time = cfg.backup.keepTime;
+ upload = cfg.backup.uploadOptions;
+ };
gitlab_shell = {
path = "${cfg.packages.gitlab-shell}";
hooks_path = "${cfg.statePath}/shell/hooks";
@@ -207,6 +211,7 @@ in {
imports = [
(mkRenamedOptionModule [ "services" "gitlab" "stateDir" ] [ "services" "gitlab" "statePath" ])
+ (mkRenamedOptionModule [ "services" "gitlab" "backupPath" ] [ "services" "gitlab" "backup" "path" ])
(mkRemovedOptionModule [ "services" "gitlab" "satelliteDir" ] "")
];
@@ -260,7 +265,7 @@ in {
type = types.str;
default = "/var/gitlab/state";
description = ''
- Gitlab state directory. Configuration, repositories and
+ GitLab state directory. Configuration, repositories and
logs, among other things, are stored here.
The directory will be created automatically if it doesn't
@@ -270,17 +275,108 @@ in {
'';
};
- backupPath = mkOption {
+ backup.startAt = mkOption {
+ type = with types; either str (listOf str);
+ default = [];
+ example = "03:00";
+ description = ''
+ The time(s) to run automatic backup of GitLab
+ state. Specified in systemd's time format; see
+ systemd.time
+ 7.
+ '';
+ };
+
+ backup.path = mkOption {
type = types.str;
default = cfg.statePath + "/backup";
- description = "Gitlab path for backups.";
+ description = "GitLab path for backups.";
+ };
+
+ backup.keepTime = mkOption {
+ type = types.int;
+ default = 0;
+ example = 48;
+ apply = x: x * 60 * 60;
+ description = ''
+ How long to keep the backups around, in
+ hours. 0 means keep
+ forever
.
+ '';
+ };
+
+ backup.skip = mkOption {
+ type = with types;
+ let value = enum [
+ "db"
+ "uploads"
+ "builds"
+ "artifacts"
+ "lfs"
+ "registry"
+ "pages"
+ "repositories"
+ "tar"
+ ];
+ in
+ either value (listOf value);
+ default = [];
+ example = [ "artifacts" "lfs" ];
+ apply = x: if isString x then x else concatStringsSep "," x;
+ description = ''
+ Directories to exclude from the backup. The example excludes
+ CI artifacts and LFS objects from the backups. The
+ tar option skips the creation of a tar
+ file.
+
+ Refer to
+ for more information.
+ '';
+ };
+
+ backup.uploadOptions = mkOption {
+ type = types.attrs;
+ default = {};
+ example = literalExample ''
+ {
+ # Fog storage connection settings, see http://fog.io/storage/
+ connection = {
+ provider = "AWS";
+ region = "eu-north-1";
+ aws_access_key_id = "AKIAXXXXXXXXXXXXXXXX";
+ aws_secret_access_key = { _secret = config.deployment.keys.aws_access_key.path; };
+ };
+
+ # The remote 'directory' to store your backups in.
+ # For S3, this would be the bucket name.
+ remote_directory = "my-gitlab-backups";
+
+ # Use multipart uploads when file size reaches 100MB, see
+ # http://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
+ multipart_chunk_size = 104857600;
+
+ # Turns on AWS Server-Side Encryption with Amazon S3-Managed Keys for backups, this is optional
+ encryption = "AES256";
+
+ # Specifies Amazon S3 storage class to use for backups, this is optional
+ storage_class = "STANDARD";
+ };
+ '';
+ description = ''
+ GitLab automatic upload specification. Tells GitLab to
+ upload the backup to a remote location when done.
+
+ Attributes specified here are added under
+ production -> backup -> upload in
+ config/gitlab.yml.
+ '';
};
databaseHost = mkOption {
type = types.str;
default = "";
description = ''
- Gitlab database hostname. An empty string means use
+ GitLab database hostname. An empty string means use
local unix socket connection
.
'';
};
@@ -289,7 +385,7 @@ in {
type = with types; nullOr path;
default = null;
description = ''
- File containing the Gitlab database user password.
+ File containing the GitLab database user password.
This should be a string, not a nix path, since nix paths are
copied into the world-readable nix store.
@@ -310,13 +406,13 @@ in {
databaseName = mkOption {
type = types.str;
default = "gitlab";
- description = "Gitlab database name.";
+ description = "GitLab database name.";
};
databaseUsername = mkOption {
type = types.str;
default = "gitlab";
- description = "Gitlab database user.";
+ description = "GitLab database user.";
};
databasePool = mkOption {
@@ -360,14 +456,14 @@ in {
host = mkOption {
type = types.str;
default = config.networking.hostName;
- description = "Gitlab host name. Used e.g. for copy-paste URLs.";
+ description = "GitLab host name. Used e.g. for copy-paste URLs.";
};
port = mkOption {
type = types.int;
default = 8080;
description = ''
- Gitlab server port for copy-paste URLs, e.g. 80 or 443 if you're
+ GitLab server port for copy-paste URLs, e.g. 80 or 443 if you're
service over https.
'';
};
@@ -420,26 +516,26 @@ in {
address = mkOption {
type = types.str;
default = "localhost";
- description = "Address of the SMTP server for Gitlab.";
+ description = "Address of the SMTP server for GitLab.";
};
port = mkOption {
type = types.int;
default = 25;
- description = "Port of the SMTP server for Gitlab.";
+ description = "Port of the SMTP server for GitLab.";
};
username = mkOption {
type = with types; nullOr str;
default = null;
- description = "Username of the SMTP server for Gitlab.";
+ description = "Username of the SMTP server for GitLab.";
};
passwordFile = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
- File containing the password of the SMTP server for Gitlab.
+ File containing the password of the SMTP server for GitLab.
This should be a string, not a nix path, since nix paths
are copied into the world-readable nix store.
@@ -720,7 +816,7 @@ in {
"d /run/gitlab 0755 ${cfg.user} ${cfg.group} -"
"d ${gitlabEnv.HOME} 0750 ${cfg.user} ${cfg.group} -"
"z ${gitlabEnv.HOME}/.ssh/authorized_keys 0600 ${cfg.user} ${cfg.group} -"
- "d ${cfg.backupPath} 0750 ${cfg.user} ${cfg.group} -"
+ "d ${cfg.backup.path} 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath} 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/builds 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/config 0750 ${cfg.user} ${cfg.group} -"
@@ -1053,6 +1149,23 @@ in {
};
+ systemd.services.gitlab-backup = {
+ after = [ "gitlab.service" ];
+ bindsTo = [ "gitlab.service" ];
+ startAt = cfg.backup.startAt;
+ environment = {
+ RAILS_ENV = "production";
+ CRON = "1";
+ } // optionalAttrs (stringLength cfg.backup.skip > 0) {
+ SKIP = cfg.backup.skip;
+ };
+ serviceConfig = {
+ User = cfg.user;
+ Group = cfg.group;
+ ExecStart = "${gitlab-rake}/bin/gitlab-rake gitlab:backup:create";
+ };
+ };
+
};
meta.doc = ./gitlab.xml;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/gitlab.xml b/third_party/nixpkgs/nixos/modules/services/misc/gitlab.xml
index 19a3df0a5f..40424c5039 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/gitlab.xml
+++ b/third_party/nixpkgs/nixos/modules/services/misc/gitlab.xml
@@ -3,15 +3,15 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="module-services-gitlab">
- Gitlab
+ GitLab
- Gitlab is a feature-rich git hosting service.
+ GitLab is a feature-rich git hosting service.
Prerequisites
- The gitlab service exposes only an Unix socket at
+ The gitlab service exposes only an Unix socket at
/run/gitlab/gitlab-workhorse.socket. You need to
configure a webserver to proxy HTTP requests to the socket.
@@ -39,7 +39,7 @@
Configuring
- Gitlab depends on both PostgreSQL and Redis and will automatically enable
+ GitLab depends on both PostgreSQL and Redis and will automatically enable
both services. In the case of PostgreSQL, a database and a role will be
created.
@@ -85,20 +85,20 @@ services.gitlab = {
- If you're setting up a new Gitlab instance, generate new
+ If you're setting up a new GitLab instance, generate new
secrets. You for instance use tr -dc A-Za-z0-9 <
/dev/urandom | head -c 128 > /var/keys/gitlab/db to
generate a new db secret. Make sure the files can be read by, and
only by, the user specified by services.gitlab.user. Gitlab
+ linkend="opt-services.gitlab.user">services.gitlab.user. GitLab
encrypts sensitive data stored in the database. If you're restoring
- an existing Gitlab instance, you must specify the secrets secret
- from config/secrets.yml located in your Gitlab
+ an existing GitLab instance, you must specify the secrets secret
+ from config/secrets.yml located in your GitLab
state folder.
- When icoming_mail.enabled is set to true
+ When incoming_mail.enabled is set to true
in extraConfig an additional
service called gitlab-mailroom is enabled for fetching incoming mail.
@@ -112,21 +112,40 @@ services.gitlab = {
Maintenance
-
- You can run Gitlab's rake tasks with gitlab-rake which
- will be available on the system when gitlab is enabled. You will have to run
- the command as the user that you configured to run gitlab with.
-
+
+ Backups
+
+ Backups can be configured with the options in services.gitlab.backup. Use
+ the services.gitlab.backup.startAt
+ option to configure regular backups.
+
-
- For example, to backup a Gitlab instance:
+
+ To run a manual backup, start the gitlab-backup service:
-$ sudo -u git -H gitlab-rake gitlab:backup:create
+$ systemctl start gitlab-backup.service
- A list of all availabe rake tasks can be obtained by running:
+
+
+
+
+ Rake tasks
+
+
+ You can run GitLab's rake tasks with gitlab-rake
+ which will be available on the system when GitLab is enabled. You
+ will have to run the command as the user that you configured to run
+ GitLab with.
+
+
+
+ A list of all availabe rake tasks can be obtained by running:
$ sudo -u git -H gitlab-rake -T
-
+
+
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/home-assistant.nix b/third_party/nixpkgs/nixos/modules/services/misc/home-assistant.nix
index f53c49a1ee..35a6e29963 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/home-assistant.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/home-assistant.nix
@@ -183,12 +183,12 @@ in {
};
package = mkOption {
- default = pkgs.home-assistant.overrideAttrs (oldAttrs: {
- doInstallCheck = false;
+ default = pkgs.home-assistant.overridePythonAttrs (oldAttrs: {
+ doCheck = false;
});
defaultText = literalExample ''
- pkgs.home-assistant.overrideAttrs (oldAttrs: {
- doInstallCheck = false;
+ pkgs.home-assistant.overridePythonAttrs (oldAttrs: {
+ doCheck = false;
})
'';
type = types.package;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/mame.nix b/third_party/nixpkgs/nixos/modules/services/misc/mame.nix
index c5d5e9e483..34a471ea4f 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/mame.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/mame.nix
@@ -53,7 +53,7 @@ in
description = "MAME TUN/TAP Ethernet interface";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
- path = [ pkgs.iproute ];
+ path = [ pkgs.iproute2 ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/matrix-appservice-irc.nix b/third_party/nixpkgs/nixos/modules/services/misc/matrix-appservice-irc.nix
new file mode 100644
index 0000000000..63dc313ad1
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/services/misc/matrix-appservice-irc.nix
@@ -0,0 +1,228 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+ cfg = config.services.matrix-appservice-irc;
+
+ pkg = pkgs.matrix-appservice-irc;
+ bin = "${pkg}/bin/matrix-appservice-irc";
+
+ jsonType = (pkgs.formats.json {}).type;
+
+ configFile = pkgs.runCommandNoCC "matrix-appservice-irc.yml" {
+ # Because this program will be run at build time, we need `nativeBuildInputs`
+ nativeBuildInputs = [ (pkgs.python3.withPackages (ps: [ ps.pyyaml ps.jsonschema ])) ];
+ preferLocalBuild = true;
+
+ config = builtins.toJSON cfg.settings;
+ passAsFile = [ "config" ];
+ } ''
+ # The schema is given as yaml, we need to convert it to json
+ python -c 'import json; import yaml; import sys; json.dump(yaml.safe_load(sys.stdin), sys.stdout)' \
+ < ${pkg}/lib/node_modules/matrix-appservice-irc/config.schema.yml \
+ > config.schema.json
+ python -m jsonschema config.schema.json -i $configPath
+ cp "$configPath" "$out"
+ '';
+ registrationFile = "/var/lib/matrix-appservice-irc/registration.yml";
+in {
+ options.services.matrix-appservice-irc = with types; {
+ enable = mkEnableOption "the Matrix/IRC bridge";
+
+ port = mkOption {
+ type = port;
+ description = "The port to listen on";
+ default = 8009;
+ };
+
+ needBindingCap = mkOption {
+ type = bool;
+ description = "Whether the daemon needs to bind to ports below 1024 (e.g. for the ident service)";
+ default = false;
+ };
+
+ passwordEncryptionKeyLength = mkOption {
+ type = ints.unsigned;
+ description = "Length of the key to encrypt IRC passwords with";
+ default = 4096;
+ example = 8192;
+ };
+
+ registrationUrl = mkOption {
+ type = str;
+ description = ''
+ The URL where the application service is listening for homeserver requests,
+ from the Matrix homeserver perspective.
+ '';
+ example = "http://localhost:8009";
+ };
+
+ localpart = mkOption {
+ type = str;
+ description = "The user_id localpart to assign to the appservice";
+ default = "appservice-irc";
+ };
+
+ settings = mkOption {
+ description = ''
+ Configuration for the appservice, see
+
+ for supported values
+ '';
+ default = {};
+ type = submodule {
+ freeformType = jsonType;
+
+ options = {
+ homeserver = mkOption {
+ description = "Homeserver configuration";
+ default = {};
+ type = submodule {
+ freeformType = jsonType;
+
+ options = {
+ url = mkOption {
+ type = str;
+ description = "The URL to the home server for client-server API calls";
+ };
+
+ domain = mkOption {
+ type = str;
+ description = ''
+ The 'domain' part for user IDs on this home server. Usually
+ (but not always) is the "domain name" part of the homeserver URL.
+ '';
+ };
+ };
+ };
+ };
+
+ database = mkOption {
+ default = {};
+ description = "Configuration for the database";
+ type = submodule {
+ freeformType = jsonType;
+
+ options = {
+ engine = mkOption {
+ type = str;
+ description = "Which database engine to use";
+ default = "nedb";
+ example = "postgres";
+ };
+
+ connectionString = mkOption {
+ type = str;
+ description = "The database connection string";
+ default = "nedb://var/lib/matrix-appservice-irc/data";
+ example = "postgres://username:password@host:port/databasename";
+ };
+ };
+ };
+ };
+
+ ircService = mkOption {
+ default = {};
+ description = "IRC bridge configuration";
+ type = submodule {
+ freeformType = jsonType;
+
+ options = {
+ passwordEncryptionKeyPath = mkOption {
+ type = str;
+ description = ''
+ Location of the key with which IRC passwords are encrypted
+ for storage. Will be generated on first run if not present.
+ '';
+ default = "/var/lib/matrix-appservice-irc/passkey.pem";
+ };
+
+ servers = mkOption {
+ type = submodule { freeformType = jsonType; };
+ description = "IRC servers to connect to";
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ config = mkIf cfg.enable {
+ systemd.services.matrix-appservice-irc = {
+ description = "Matrix-IRC bridge";
+ before = [ "matrix-synapse.service" ]; # So the registration can be used by Synapse
+ wantedBy = [ "multi-user.target" ];
+
+ preStart = ''
+ umask 077
+ # Generate key for crypting passwords
+ if ! [ -f "${cfg.settings.ircService.passwordEncryptionKeyPath}" ]; then
+ ${pkgs.openssl}/bin/openssl genpkey \
+ -out "${cfg.settings.ircService.passwordEncryptionKeyPath}" \
+ -outform PEM \
+ -algorithm RSA \
+ -pkeyopt "rsa_keygen_bits:${toString cfg.passwordEncryptionKeyLength}"
+ fi
+ # Generate registration file
+ if ! [ -f "${registrationFile}" ]; then
+ # The easy case: the file has not been generated yet
+ ${bin} --generate-registration --file ${registrationFile} --config ${configFile} --url ${cfg.registrationUrl} --localpart ${cfg.localpart}
+ else
+ # The tricky case: we already have a generation file. Because the NixOS configuration might have changed, we need to
+ # regenerate it. But this would give the service a new random ID and tokens, so we need to back up and restore them.
+ # 1. Backup
+ id=$(grep "^id:.*$" ${registrationFile})
+ hs_token=$(grep "^hs_token:.*$" ${registrationFile})
+ as_token=$(grep "^as_token:.*$" ${registrationFile})
+ # 2. Regenerate
+ ${bin} --generate-registration --file ${registrationFile} --config ${configFile} --url ${cfg.registrationUrl} --localpart ${cfg.localpart}
+ # 3. Restore
+ sed -i "s/^id:.*$/$id/g" ${registrationFile}
+ sed -i "s/^hs_token:.*$/$hs_token/g" ${registrationFile}
+ sed -i "s/^as_token:.*$/$as_token/g" ${registrationFile}
+ fi
+ # Allow synapse access to the registration
+ if ${getBin pkgs.glibc}/bin/getent group matrix-synapse > /dev/null; then
+ chgrp matrix-synapse ${registrationFile}
+ chmod g+r ${registrationFile}
+ fi
+ '';
+
+ serviceConfig = rec {
+ Type = "simple";
+ ExecStart = "${bin} --config ${configFile} --file ${registrationFile} --port ${toString cfg.port}";
+
+ ProtectHome = true;
+ PrivateDevices = true;
+ ProtectKernelTunables = true;
+ ProtectKernelModules = true;
+ ProtectControlGroups = true;
+ StateDirectory = "matrix-appservice-irc";
+ StateDirectoryMode = "755";
+
+ User = "matrix-appservice-irc";
+ Group = "matrix-appservice-irc";
+
+ CapabilityBoundingSet = [ "CAP_CHOWN" ] ++ optional (cfg.needBindingCap) "CAP_NET_BIND_SERVICE";
+ AmbientCapabilities = CapabilityBoundingSet;
+ NoNewPrivileges = true;
+
+ LockPersonality = true;
+ RestrictRealtime = true;
+ PrivateMounts = true;
+ SystemCallFilter = "~@aio @clock @cpu-emulation @debug @keyring @memlock @module @mount @obsolete @raw-io @setuid @swap";
+ SystemCallArchitectures = "native";
+ RestrictAddressFamilies = "AF_INET AF_INET6";
+ };
+ };
+
+ users.groups.matrix-appservice-irc = {};
+ users.users.matrix-appservice-irc = {
+ description = "Service user for the Matrix-IRC bridge";
+ group = "matrix-appservice-irc";
+ isSystemUser = true;
+ };
+ };
+}
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/ombi.nix b/third_party/nixpkgs/nixos/modules/services/misc/ombi.nix
new file mode 100644
index 0000000000..83f433e0be
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/services/misc/ombi.nix
@@ -0,0 +1,80 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let cfg = config.services.ombi;
+
+in {
+ options = {
+ services.ombi = {
+ enable = mkEnableOption ''
+ Ombi.
+ Optionally see
+ on how to set up a reverse proxy
+ '';
+
+ dataDir = mkOption {
+ type = types.str;
+ default = "/var/lib/ombi";
+ description = "The directory where Ombi stores its data files.";
+ };
+
+ port = mkOption {
+ type = types.port;
+ default = 5000;
+ description = "The port for the Ombi web interface.";
+ };
+
+ openFirewall = mkOption {
+ type = types.bool;
+ default = false;
+ description = "Open ports in the firewall for the Ombi web interface.";
+ };
+
+ user = mkOption {
+ type = types.str;
+ default = "ombi";
+ description = "User account under which Ombi runs.";
+ };
+
+ group = mkOption {
+ type = types.str;
+ default = "ombi";
+ description = "Group under which Ombi runs.";
+ };
+ };
+ };
+
+ config = mkIf cfg.enable {
+ systemd.tmpfiles.rules = [
+ "d '${cfg.dataDir}' 0700 ${cfg.user} ${cfg.group} - -"
+ ];
+
+ systemd.services.ombi = {
+ description = "Ombi";
+ after = [ "network.target" ];
+ wantedBy = [ "multi-user.target" ];
+
+ serviceConfig = {
+ Type = "simple";
+ User = cfg.user;
+ Group = cfg.group;
+ ExecStart = "${pkgs.ombi}/bin/Ombi --storage '${cfg.dataDir}' --host 'http://*:${toString cfg.port}'";
+ Restart = "on-failure";
+ };
+ };
+
+ networking.firewall = mkIf cfg.openFirewall {
+ allowedTCPPorts = [ cfg.port ];
+ };
+
+ users.users = mkIf (cfg.user == "ombi") {
+ ombi = {
+ group = cfg.group;
+ home = cfg.dataDir;
+ };
+ };
+
+ users.groups = mkIf (cfg.group == "ombi") { ombi = { }; };
+ };
+}
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/datadog-agent.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/datadog-agent.nix
index d97565f15d..b25a53435d 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/datadog-agent.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/datadog-agent.nix
@@ -225,7 +225,7 @@ in {
};
};
config = mkIf cfg.enable {
- environment.systemPackages = [ datadogPkg pkgs.sysstat pkgs.procps pkgs.iproute ];
+ environment.systemPackages = [ datadogPkg pkgs.sysstat pkgs.procps pkgs.iproute2 ];
users.users.datadog = {
description = "Datadog Agent User";
@@ -239,7 +239,7 @@ in {
systemd.services = let
makeService = attrs: recursiveUpdate {
- path = [ datadogPkg pkgs.python pkgs.sysstat pkgs.procps pkgs.iproute ];
+ path = [ datadogPkg pkgs.python pkgs.sysstat pkgs.procps pkgs.iproute2 ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
User = "datadog";
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/grafana.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/grafana.nix
index 88727e70ee..86e306ab40 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/grafana.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/grafana.nix
@@ -15,6 +15,7 @@ let
SERVER_PROTOCOL = cfg.protocol;
SERVER_HTTP_ADDR = cfg.addr;
SERVER_HTTP_PORT = cfg.port;
+ SERVER_SOCKET = cfg.socket;
SERVER_DOMAIN = cfg.domain;
SERVER_ROOT_URL = cfg.rootUrl;
SERVER_STATIC_ROOT_PATH = cfg.staticRootPath;
@@ -291,6 +292,12 @@ in {
type = types.int;
};
+ socket = mkOption {
+ description = "Listening socket.";
+ default = "/run/grafana/grafana.sock";
+ type = types.str;
+ };
+
domain = mkOption {
description = "The public facing domain name used to access grafana from a browser.";
default = "localhost";
@@ -622,6 +629,8 @@ in {
serviceConfig = {
WorkingDirectory = cfg.dataDir;
User = "grafana";
+ RuntimeDirectory = "grafana";
+ RuntimeDirectoryMode = "0755";
};
preStart = ''
ln -fs ${cfg.package}/share/grafana/conf ${cfg.dataDir}
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/netdata.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/netdata.nix
index d5b679097b..007024c04c 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/netdata.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/netdata.nix
@@ -123,9 +123,20 @@ in {
"error log" = "syslog";
};
'';
- };
+ };
+
+ enableAnalyticsReporting = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Enable reporting of anonymous usage statistics to Netdata Inc. via either
+ Google Analytics (in versions prior to 1.29.4), or Netdata Inc.'s
+ self-hosted PostHog (in versions 1.29.4 and later).
+ See:
+ '';
};
};
+ };
config = mkIf cfg.enable {
assertions =
@@ -140,8 +151,12 @@ in {
wantedBy = [ "multi-user.target" ];
path = (with pkgs; [ curl gawk which ]) ++ lib.optional cfg.python.enable
(pkgs.python3.withPackages cfg.python.extraPackages);
+ environment = {
+ PYTHONPATH = "${cfg.package}/libexec/netdata/python.d/python_modules";
+ } // lib.optionalAttrs (!cfg.enableAnalyticsReporting) {
+ DO_NOT_TRACK = "1";
+ };
serviceConfig = {
- Environment="PYTHONPATH=${cfg.package}/libexec/netdata/python.d/python_modules";
ExecStart = "${cfg.package}/bin/netdata -P /run/netdata/netdata.pid -D -c ${configFile}";
ExecReload = "${pkgs.util-linux}/bin/kill -s HUP -s USR1 -s USR2 $MAINPID";
TimeoutStopSec = 60;
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix
index 5811cda112..0b65b4865b 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -28,6 +28,7 @@ let
"blackbox"
"collectd"
"dnsmasq"
+ "domain"
"dovecot"
"fritzbox"
"json"
@@ -43,6 +44,7 @@ let
"nginx"
"nginxlog"
"node"
+ "openldap"
"openvpn"
"postfix"
"postgres"
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/domain.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/domain.nix
new file mode 100644
index 0000000000..61e2fc80af
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/domain.nix
@@ -0,0 +1,19 @@
+{ config, lib, pkgs, options }:
+
+with lib;
+
+let
+ cfg = config.services.prometheus.exporters.domain;
+in
+{
+ port = 9222;
+ serviceOpts = {
+ serviceConfig = {
+ ExecStart = ''
+ ${pkgs.prometheus-domain-exporter}/bin/domain_exporter \
+ --bind ${cfg.listenAddress}:${toString cfg.port} \
+ ${concatStringsSep " \\\n " cfg.extraFlags}
+ '';
+ };
+ };
+}
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/openldap.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/openldap.nix
new file mode 100644
index 0000000000..888611ee6f
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/prometheus/exporters/openldap.nix
@@ -0,0 +1,67 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.prometheus.exporters.openldap;
+in {
+ port = 9330;
+ extraOpts = {
+ ldapCredentialFile = mkOption {
+ type = types.path;
+ example = "/run/keys/ldap_pass";
+ description = ''
+ Environment file to contain the credentials to authenticate against
+ openldap.
+
+ The file should look like this:
+
+ ---
+ ldapUser: "cn=monitoring,cn=Monitor"
+ ldapPass: "secret"
+
+ '';
+ };
+ protocol = mkOption {
+ default = "tcp";
+ example = "udp";
+ type = types.str;
+ description = ''
+ Which protocol to use to connect against openldap.
+ '';
+ };
+ ldapAddr = mkOption {
+ default = "localhost:389";
+ type = types.str;
+ description = ''
+ Address of the openldap-instance.
+ '';
+ };
+ metricsPath = mkOption {
+ default = "/metrics";
+ type = types.str;
+ description = ''
+ URL path where metrics should be exposed.
+ '';
+ };
+ interval = mkOption {
+ default = "30s";
+ type = types.str;
+ example = "1m";
+ description = ''
+ Scrape interval of the exporter.
+ '';
+ };
+ };
+ serviceOpts.serviceConfig = {
+ ExecStart = ''
+ ${pkgs.prometheus-openldap-exporter}/bin/openldap_exporter \
+ --promAddr ${cfg.listenAddress}:${toString cfg.port} \
+ --metrPath ${cfg.metricsPath} \
+ --ldapNet ${cfg.protocol} \
+ --interval ${cfg.interval} \
+ --config ${cfg.ldapCredentialFile} \
+ ${concatStringsSep " \\\n " cfg.extraFlags}
+ '';
+ };
+}
diff --git a/third_party/nixpkgs/nixos/modules/services/monitoring/scollector.nix b/third_party/nixpkgs/nixos/modules/services/monitoring/scollector.nix
index 6f13ce889c..ef535585e9 100644
--- a/third_party/nixpkgs/nixos/modules/services/monitoring/scollector.nix
+++ b/third_party/nixpkgs/nixos/modules/services/monitoring/scollector.nix
@@ -113,7 +113,7 @@ in {
description = "scollector metrics collector (part of Bosun)";
wantedBy = [ "multi-user.target" ];
- path = [ pkgs.coreutils pkgs.iproute ];
+ path = [ pkgs.coreutils pkgs.iproute2 ];
serviceConfig = {
User = cfg.user;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/consul.nix b/third_party/nixpkgs/nixos/modules/services/networking/consul.nix
index bfaea4e167..ae7998913e 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/consul.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/consul.nix
@@ -191,7 +191,7 @@ in
ExecStop = "${cfg.package}/bin/consul leave";
});
- path = with pkgs; [ iproute gnugrep gawk consul ];
+ path = with pkgs; [ iproute2 gnugrep gawk consul ];
preStart = ''
mkdir -m 0700 -p ${dataDir}
chown -R consul ${dataDir}
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/ircd-hybrid/default.nix b/third_party/nixpkgs/nixos/modules/services/networking/ircd-hybrid/default.nix
index 0781159b6e..1f5636e4e3 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/ircd-hybrid/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/ircd-hybrid/default.nix
@@ -10,7 +10,7 @@ let
name = "ircd-hybrid-service";
scripts = [ "=>/bin" ./control.in ];
substFiles = [ "=>/conf" ./ircd.conf ];
- inherit (pkgs) ircdHybrid coreutils su iproute gnugrep procps;
+ inherit (pkgs) ircdHybrid coreutils su iproute2 gnugrep procps;
ipv6Enabled = boolToString config.networking.enableIPv6;
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/libreswan.nix b/third_party/nixpkgs/nixos/modules/services/networking/libreswan.nix
index 280158b89f..7a25769e06 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/libreswan.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/libreswan.nix
@@ -85,7 +85,7 @@ in
config = mkIf cfg.enable {
- environment.systemPackages = [ pkgs.libreswan pkgs.iproute ];
+ environment.systemPackages = [ pkgs.libreswan pkgs.iproute2 ];
systemd.services.ipsec = {
description = "Internet Key Exchange (IKE) Protocol Daemon for IPsec";
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/networkmanager.nix b/third_party/nixpkgs/nixos/modules/services/networking/networkmanager.nix
index 2e680544ec..119bd09e2f 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/networkmanager.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/networkmanager.nix
@@ -465,7 +465,7 @@ in {
restartTriggers = [ configFile overrideNameserversScript ];
# useful binaries for user-specified hooks
- path = [ pkgs.iproute pkgs.util-linux pkgs.coreutils ];
+ path = [ pkgs.iproute2 pkgs.util-linux pkgs.coreutils ];
aliases = [ "dbus-org.freedesktop.nm-dispatcher.service" ];
};
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/openvpn.nix b/third_party/nixpkgs/nixos/modules/services/networking/openvpn.nix
index 650f9c84ac..b4c2c944b6 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/openvpn.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/openvpn.nix
@@ -63,7 +63,7 @@ let
wantedBy = optional cfg.autoStart "multi-user.target";
after = [ "network.target" ];
- path = [ pkgs.iptables pkgs.iproute pkgs.nettools ];
+ path = [ pkgs.iptables pkgs.iproute2 pkgs.nettools ];
serviceConfig.ExecStart = "@${openvpn}/sbin/openvpn openvpn --suppress-timestamps --config ${configFile}";
serviceConfig.Restart = "always";
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/sslh.nix b/third_party/nixpkgs/nixos/modules/services/networking/sslh.nix
index 4c2740d201..abe96f60f8 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/sslh.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/sslh.nix
@@ -132,7 +132,7 @@ in
{ table = "mangle"; command = "OUTPUT ! -o lo -p tcp -m connmark --mark 0x02/0x0f -j CONNMARK --restore-mark --mask 0x0f"; }
];
in {
- path = [ pkgs.iptables pkgs.iproute pkgs.procps ];
+ path = [ pkgs.iptables pkgs.iproute2 pkgs.procps ];
preStart = ''
# Cleanup old iptables entries which might be still there
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/module.nix b/third_party/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/module.nix
index f67eedac29..6e619f2254 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/module.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/module.nix
@@ -63,7 +63,7 @@ in {
description = "strongSwan IPsec IKEv1/IKEv2 daemon using swanctl";
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" ];
- path = with pkgs; [ kmod iproute iptables util-linux ];
+ path = with pkgs; [ kmod iproute2 iptables util-linux ];
environment = {
STRONGSWAN_CONF = pkgs.writeTextFile {
name = "strongswan.conf";
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/strongswan.nix b/third_party/nixpkgs/nixos/modules/services/networking/strongswan.nix
index f6170b8136..401f7be402 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/strongswan.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/strongswan.nix
@@ -152,7 +152,7 @@ in
systemd.services.strongswan = {
description = "strongSwan IPSec Service";
wantedBy = [ "multi-user.target" ];
- path = with pkgs; [ kmod iproute iptables util-linux ]; # XXX Linux
+ path = with pkgs; [ kmod iproute2 iptables util-linux ]; # XXX Linux
after = [ "network-online.target" ];
environment = {
STRONGSWAN_CONF = strongswanConf { inherit setup connections ca secretsFile managePlugins enabledPlugins; };
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/wireguard.nix b/third_party/nixpkgs/nixos/modules/services/networking/wireguard.nix
index 9f76f7f7cd..34c8693453 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/wireguard.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/wireguard.nix
@@ -63,7 +63,7 @@ let
preSetup = mkOption {
example = literalExample ''
- ${pkgs.iproute}/bin/ip netns add foo
+ ${pkgs.iproute2}/bin/ip netns add foo
'';
default = "";
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
@@ -278,7 +278,7 @@ let
wantedBy = [ "multi-user.target" "wireguard-${interfaceName}.service" ];
environment.DEVICE = interfaceName;
environment.WG_ENDPOINT_RESOLUTION_RETRIES = "infinity";
- path = with pkgs; [ iproute wireguard-tools ];
+ path = with pkgs; [ iproute2 wireguard-tools ];
serviceConfig = {
Type = "oneshot";
@@ -333,7 +333,7 @@ let
after = [ "network.target" "network-online.target" ];
wantedBy = [ "multi-user.target" ];
environment.DEVICE = name;
- path = with pkgs; [ kmod iproute wireguard-tools ];
+ path = with pkgs; [ kmod iproute2 wireguard-tools ];
serviceConfig = {
Type = "oneshot";
diff --git a/third_party/nixpkgs/nixos/modules/services/security/fail2ban.nix b/third_party/nixpkgs/nixos/modules/services/security/fail2ban.nix
index cf0d72d5c5..b901b19cf3 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/fail2ban.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/fail2ban.nix
@@ -243,7 +243,7 @@ in
restartTriggers = [ fail2banConf jailConf pathsConf ];
reloadIfChanged = true;
- path = [ cfg.package cfg.packageFirewall pkgs.iproute ];
+ path = [ cfg.package cfg.packageFirewall pkgs.iproute2 ];
unitConfig.Documentation = "man:fail2ban(1)";
diff --git a/third_party/nixpkgs/nixos/modules/services/security/privacyidea.nix b/third_party/nixpkgs/nixos/modules/services/security/privacyidea.nix
index c2988858e5..f7b40089a9 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/privacyidea.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/privacyidea.nix
@@ -57,6 +57,26 @@ in
services.privacyidea = {
enable = mkEnableOption "PrivacyIDEA";
+ environmentFile = mkOption {
+ type = types.nullOr types.path;
+ default = null;
+ example = "/root/privacyidea.env";
+ description = ''
+ File to load as environment file. Environment variables
+ from this file will be interpolated into the config file
+ using envsubst which is helpful for specifying
+ secrets:
+
+ { = "$SECRET"; }
+
+
+ The environment-file can now specify the actual secret key:
+
+ SECRET=veryverytopsecret
+
+ '';
+ };
+
stateDir = mkOption {
type = types.str;
default = "/var/lib/privacyidea";
@@ -206,7 +226,7 @@ in
wantedBy = [ "multi-user.target" ];
after = [ "postgresql.service" ];
path = with pkgs; [ openssl ];
- environment.PRIVACYIDEA_CONFIGFILE = piCfgFile;
+ environment.PRIVACYIDEA_CONFIGFILE = "${cfg.stateDir}/privacyidea.cfg";
preStart = let
pi-manage = "${pkgs.sudo}/bin/sudo -u privacyidea -HE ${penv}/bin/pi-manage";
pgsu = config.services.postgresql.superUser;
@@ -214,6 +234,10 @@ in
in ''
mkdir -p ${cfg.stateDir} /run/privacyidea
chown ${cfg.user}:${cfg.group} -R ${cfg.stateDir} /run/privacyidea
+ umask 077
+ ${lib.getBin pkgs.envsubst}/bin/envsubst -o ${cfg.stateDir}/privacyidea.cfg \
+ -i "${piCfgFile}"
+ chown ${cfg.user}:${cfg.group} ${cfg.stateDir}/privacyidea.cfg
if ! test -e "${cfg.stateDir}/db-created"; then
${pkgs.sudo}/bin/sudo -u ${pgsu} ${psql}/bin/createuser --no-superuser --no-createdb --no-createrole ${cfg.user}
${pkgs.sudo}/bin/sudo -u ${pgsu} ${psql}/bin/createdb --owner ${cfg.user} privacyidea
@@ -231,6 +255,7 @@ in
Type = "notify";
ExecStart = "${uwsgi}/bin/uwsgi --json ${piuwsgi}";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+ EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
ExecStop = "${pkgs.coreutils}/bin/kill -INT $MAINPID";
NotifyAccess = "main";
KillSignal = "SIGQUIT";
diff --git a/third_party/nixpkgs/nixos/modules/services/security/sshguard.nix b/third_party/nixpkgs/nixos/modules/services/security/sshguard.nix
index 72de11a925..033ff5ef4b 100644
--- a/third_party/nixpkgs/nixos/modules/services/security/sshguard.nix
+++ b/third_party/nixpkgs/nixos/modules/services/security/sshguard.nix
@@ -108,8 +108,8 @@ in {
partOf = optional config.networking.firewall.enable "firewall.service";
path = with pkgs; if config.networking.nftables.enable
- then [ nftables iproute systemd ]
- else [ iptables ipset iproute systemd ];
+ then [ nftables iproute2 systemd ]
+ else [ iptables ipset iproute2 systemd ];
# The sshguard ipsets must exist before we invoke
# iptables. sshguard creates the ipsets after startup if
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/calibre-web.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/calibre-web.nix
new file mode 100644
index 0000000000..704cd2cfa8
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/calibre-web.nix
@@ -0,0 +1,165 @@
+{ config, lib, pkgs, ... }:
+
+let
+ cfg = config.services.calibre-web;
+
+ inherit (lib) concatStringsSep mkEnableOption mkIf mkOption optional optionalString types;
+in
+{
+ options = {
+ services.calibre-web = {
+ enable = mkEnableOption "Calibre-Web";
+
+ listen = {
+ ip = mkOption {
+ type = types.str;
+ default = "::1";
+ description = ''
+ IP address that Calibre-Web should listen on.
+ '';
+ };
+
+ port = mkOption {
+ type = types.port;
+ default = 8083;
+ description = ''
+ Listen port for Calibre-Web.
+ '';
+ };
+ };
+
+ dataDir = mkOption {
+ type = types.str;
+ default = "calibre-web";
+ description = ''
+ The directory below /var/lib where Calibre-Web stores its data.
+ '';
+ };
+
+ user = mkOption {
+ type = types.str;
+ default = "calibre-web";
+ description = "User account under which Calibre-Web runs.";
+ };
+
+ group = mkOption {
+ type = types.str;
+ default = "calibre-web";
+ description = "Group account under which Calibre-Web runs.";
+ };
+
+ openFirewall = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Open ports in the firewall for the server.
+ '';
+ };
+
+ options = {
+ calibreLibrary = mkOption {
+ type = types.nullOr types.path;
+ default = null;
+ description = ''
+ Path to Calibre library.
+ '';
+ };
+
+ enableBookConversion = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Configure path to the Calibre's ebook-convert in the DB.
+ '';
+ };
+
+ enableBookUploading = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Allow books to be uploaded via Calibre-Web UI.
+ '';
+ };
+
+ reverseProxyAuth = {
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Enable authorization using auth proxy.
+ '';
+ };
+
+ header = mkOption {
+ type = types.str;
+ default = "";
+ description = ''
+ Auth proxy header name.
+ '';
+ };
+ };
+ };
+ };
+ };
+
+ config = mkIf cfg.enable {
+ systemd.services.calibre-web = let
+ appDb = "/var/lib/${cfg.dataDir}/app.db";
+ gdriveDb = "/var/lib/${cfg.dataDir}/gdrive.db";
+ calibreWebCmd = "${pkgs.calibre-web}/bin/calibre-web -p ${appDb} -g ${gdriveDb}";
+
+ settings = concatStringsSep ", " (
+ [
+ "config_port = ${toString cfg.listen.port}"
+ "config_uploading = ${if cfg.options.enableBookUploading then "1" else "0"}"
+ "config_allow_reverse_proxy_header_login = ${if cfg.options.reverseProxyAuth.enable then "1" else "0"}"
+ "config_reverse_proxy_login_header_name = '${cfg.options.reverseProxyAuth.header}'"
+ ]
+ ++ optional (cfg.options.calibreLibrary != null) "config_calibre_dir = '${cfg.options.calibreLibrary}'"
+ ++ optional cfg.options.enableBookConversion "config_converterpath = '${pkgs.calibre}/bin/ebook-convert'"
+ );
+ in
+ {
+ description = "Web app for browsing, reading and downloading eBooks stored in a Calibre database";
+ after = [ "network.target" ];
+ wantedBy = [ "multi-user.target" ];
+
+ serviceConfig = {
+ Type = "simple";
+ User = cfg.user;
+ Group = cfg.group;
+
+ StateDirectory = cfg.dataDir;
+ ExecStartPre = pkgs.writeShellScript "calibre-web-pre-start" (
+ ''
+ __RUN_MIGRATIONS_AND_EXIT=1 ${calibreWebCmd}
+
+ ${pkgs.sqlite}/bin/sqlite3 ${appDb} "update settings set ${settings}"
+ '' + optionalString (cfg.options.calibreLibrary != null) ''
+ test -f ${cfg.options.calibreLibrary}/metadata.db || { echo "Invalid Calibre library"; exit 1; }
+ ''
+ );
+
+ ExecStart = "${calibreWebCmd} -i ${cfg.listen.ip}";
+ Restart = "on-failure";
+ };
+ };
+
+ networking.firewall = mkIf cfg.openFirewall {
+ allowedTCPPorts = [ cfg.listen.port ];
+ };
+
+ users.users = mkIf (cfg.user == "calibre-web") {
+ calibre-web = {
+ isSystemUser = true;
+ group = cfg.group;
+ };
+ };
+
+ users.groups = mkIf (cfg.group == "calibre-web") {
+ calibre-web = {};
+ };
+ };
+
+ meta.maintainers = with lib.maintainers; [ pborzenkov ];
+}
diff --git a/third_party/nixpkgs/nixos/modules/services/web-apps/shiori.nix b/third_party/nixpkgs/nixos/modules/services/web-apps/shiori.nix
index 9083ddfa22..8f96dd9b5d 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-apps/shiori.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-apps/shiori.nix
@@ -87,8 +87,8 @@ in {
SystemCallFilter = [
"@system-service"
- "~@chown" "~@cpu-emulation" "~@debug" "~@ipc" "~@keyring" "~@memlock"
- "~@module" "~@obsolete" "~@privileged" "~@process" "~@raw-io"
+ "~@chown" "~@cpu-emulation" "~@debug" "~@keyring" "~@memlock"
+ "~@module" "~@obsolete" "~@privileged" "~@raw-io"
"~@resources" "~@setuid"
];
};
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
index 6c8341c111..f011b52723 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
@@ -154,9 +154,9 @@ let
${optionalString (cfg.recommendedProxySettings) ''
proxy_redirect off;
- proxy_connect_timeout 90;
- proxy_send_timeout 90;
- proxy_read_timeout 90;
+ proxy_connect_timeout 60;
+ proxy_send_timeout 60;
+ proxy_read_timeout 60;
proxy_http_version 1.0;
include ${recommendedProxyConfig};
''}
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/pomerium.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/pomerium.nix
new file mode 100644
index 0000000000..a96df1dbf6
--- /dev/null
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/pomerium.nix
@@ -0,0 +1,131 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ format = pkgs.formats.yaml {};
+in
+{
+ options.services.pomerium = {
+ enable = mkEnableOption "the Pomerium authenticating reverse proxy";
+
+ configFile = mkOption {
+ type = with types; nullOr path;
+ default = null;
+ description = "Path to Pomerium config YAML. If set, overrides services.pomerium.settings.";
+ };
+
+ useACMEHost = mkOption {
+ type = with types; nullOr str;
+ default = null;
+ description = ''
+ If set, use a NixOS-generated ACME certificate with the specified name.
+
+ Note that this will require you to use a non-HTTP-based challenge, or
+ disable Pomerium's in-built HTTP redirect server by setting
+ http_redirect_addr to null and use a different HTTP server for serving
+ the challenge response.
+
+ If you're using an HTTP-based challenge, you should use the
+ Pomerium-native autocert option instead.
+ '';
+ };
+
+ settings = mkOption {
+ description = ''
+ The contents of Pomerium's config.yaml, in Nix expressions.
+
+ Specifying configFile will override this in its entirety.
+
+ See the Pomerium
+ configuration reference for more information about what to put
+ here.
+ '';
+ default = {};
+ type = format.type;
+ };
+
+ secretsFile = mkOption {
+ type = with types; nullOr path;
+ default = null;
+ description = ''
+ Path to file containing secrets for Pomerium, in systemd
+ EnvironmentFile format. See the systemd.exec(5) man page.
+ '';
+ };
+ };
+
+ config = let
+ cfg = config.services.pomerium;
+ cfgFile = if cfg.configFile != null then cfg.configFile else (format.generate "pomerium.yaml" cfg.settings);
+ in mkIf cfg.enable ({
+ systemd.services.pomerium = {
+ description = "Pomerium authenticating reverse proxy";
+ wants = [ "network.target" ] ++ (optional (cfg.useACMEHost != null) "acme-finished-${cfg.useACMEHost}.target");
+ after = [ "network.target" ] ++ (optional (cfg.useACMEHost != null) "acme-finished-${cfg.useACMEHost}.target");
+ wantedBy = [ "multi-user.target" ];
+ environment = optionalAttrs (cfg.useACMEHost != null) {
+ CERTIFICATE_FILE = "fullchain.pem";
+ CERTIFICATE_KEY_FILE = "key.pem";
+ };
+ startLimitIntervalSec = 60;
+
+ serviceConfig = {
+ DynamicUser = true;
+ StateDirectory = [ "pomerium" ];
+ ExecStart = "${pkgs.pomerium}/bin/pomerium -config ${cfgFile}";
+
+ PrivateUsers = false; # breaks CAP_NET_BIND_SERVICE
+ MemoryDenyWriteExecute = false; # breaks LuaJIT
+
+ NoNewPrivileges = true;
+ PrivateTmp = true;
+ PrivateDevices = true;
+ DevicePolicy = "closed";
+ ProtectSystem = "strict";
+ ProtectHome = true;
+ ProtectControlGroups = true;
+ ProtectKernelModules = true;
+ ProtectKernelTunables = true;
+ ProtectKernelLogs = true;
+ RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6 AF_NETLINK";
+ RestrictNamespaces = true;
+ RestrictRealtime = true;
+ RestrictSUIDSGID = true;
+ LockPersonality = true;
+ SystemCallArchitectures = "native";
+
+ EnvironmentFile = cfg.secretsFile;
+ AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
+ CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
+
+ WorkingDirectory = mkIf (cfg.useACMEHost != null) "$CREDENTIALS_DIRECTORY";
+ LoadCredential = optionals (cfg.useACMEHost != null) [
+ "fullchain.pem:/var/lib/acme/${cfg.useACMEHost}/fullchain.pem"
+ "key.pem:/var/lib/acme/${cfg.useACMEHost}/key.pem"
+ ];
+ };
+ };
+
+ # postRun hooks on cert renew can't be used to restart Nginx since renewal
+ # runs as the unprivileged acme user. sslTargets are added to wantedBy + before
+ # which allows the acme-finished-$cert.target to signify the successful updating
+ # of certs end-to-end.
+ systemd.services.pomerium-config-reload = mkIf (cfg.useACMEHost != null) {
+ # TODO(lukegb): figure out how to make config reloading work with credentials.
+
+ wantedBy = [ "acme-finished-${cfg.useACMEHost}.target" "multi-user.target" ];
+ # Before the finished targets, after the renew services.
+ before = [ "acme-finished-${cfg.useACMEHost}.target" ];
+ after = [ "acme-${cfg.useACMEHost}.service" ];
+ # Block reloading if not all certs exist yet.
+ unitConfig.ConditionPathExists = [ "${certs.${cfg.useACMEHost}.directory}/fullchain.pem" ];
+ serviceConfig = {
+ Type = "oneshot";
+ TimeoutSec = 60;
+ ExecCondition = "/run/current-system/systemd/bin/systemctl -q is-active pomerium.service";
+ ExecStart = "/run/current-system/systemd/bin/systemctl restart pomerium.service";
+ };
+ };
+ });
+}
diff --git a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/kodi.nix b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/kodi.nix
index bdae9c3afd..af303d6fb2 100644
--- a/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/kodi.nix
+++ b/third_party/nixpkgs/nixos/modules/services/x11/desktop-managers/kodi.nix
@@ -14,6 +14,16 @@ in
default = false;
description = "Enable the kodi multimedia center.";
};
+
+ package = mkOption {
+ type = types.package;
+ default = pkgs.kodi;
+ defaultText = "pkgs.kodi";
+ example = "pkgs.kodi.withPackages (p: with p; [ jellyfin pvr-iptvsimple vfs-sftp ])";
+ description = ''
+ Package that should be used for Kodi.
+ '';
+ };
};
};
@@ -21,11 +31,11 @@ in
services.xserver.desktopManager.session = [{
name = "kodi";
start = ''
- LIRC_SOCKET_PATH=/run/lirc/lircd ${pkgs.kodi}/bin/kodi --standalone &
+ LIRC_SOCKET_PATH=/run/lirc/lircd ${cfg.package}/bin/kodi --standalone &
waitPID=$!
'';
}];
- environment.systemPackages = [ pkgs.kodi ];
+ environment.systemPackages = [ cfg.package ];
};
}
diff --git a/third_party/nixpkgs/nixos/modules/system/boot/systemd.nix b/third_party/nixpkgs/nixos/modules/system/boot/systemd.nix
index 45febb27bf..d4ae4c9346 100644
--- a/third_party/nixpkgs/nixos/modules/system/boot/systemd.nix
+++ b/third_party/nixpkgs/nixos/modules/system/boot/systemd.nix
@@ -84,6 +84,7 @@ let
# Kernel module loading.
"systemd-modules-load.service"
"kmod-static-nodes.service"
+ "modprobe@.service"
# Filesystems.
"systemd-fsck@.service"
@@ -1187,9 +1188,12 @@ in
systemd.services.systemd-remount-fs.unitConfig.ConditionVirtualization = "!container";
systemd.services.systemd-random-seed.unitConfig.ConditionVirtualization = "!container";
- boot.kernel.sysctl = mkIf (!cfg.coredump.enable) {
- "kernel.core_pattern" = "core";
- };
+ boot.kernel.sysctl."kernel.core_pattern" = mkIf (!cfg.coredump.enable) "core";
+
+ # Increase numeric PID range (set directly instead of copying a one-line file from systemd)
+ # https://github.com/systemd/systemd/pull/12226
+ boot.kernel.sysctl."kernel.pid_max" = mkIf pkgs.stdenv.is64bit (lib.mkDefault 4194304);
+
boot.kernelParams = optional (!cfg.enableUnifiedCgroupHierarchy) "systemd.unified_cgroup_hierarchy=0";
};
diff --git a/third_party/nixpkgs/nixos/modules/tasks/filesystems/zfs.nix b/third_party/nixpkgs/nixos/modules/tasks/filesystems/zfs.nix
index 59676e9967..97fab6f11e 100644
--- a/third_party/nixpkgs/nixos/modules/tasks/filesystems/zfs.nix
+++ b/third_party/nixpkgs/nixos/modules/tasks/filesystems/zfs.nix
@@ -302,7 +302,7 @@ in
};
services.zfs.autoScrub = {
- enable = mkEnableOption "Enables periodic scrubbing of ZFS pools.";
+ enable = mkEnableOption "periodic scrubbing of ZFS pools";
interval = mkOption {
default = "Sun, 02:00";
diff --git a/third_party/nixpkgs/nixos/modules/tasks/network-interfaces-scripted.nix b/third_party/nixpkgs/nixos/modules/tasks/network-interfaces-scripted.nix
index 9ba6ccfbe7..11bd159319 100644
--- a/third_party/nixpkgs/nixos/modules/tasks/network-interfaces-scripted.nix
+++ b/third_party/nixpkgs/nixos/modules/tasks/network-interfaces-scripted.nix
@@ -101,7 +101,7 @@ let
unitConfig.ConditionCapability = "CAP_NET_ADMIN";
- path = [ pkgs.iproute ];
+ path = [ pkgs.iproute2 ];
serviceConfig = {
Type = "oneshot";
@@ -185,7 +185,7 @@ let
# Restart rather than stop+start this unit to prevent the
# network from dying during switch-to-configuration.
stopIfChanged = false;
- path = [ pkgs.iproute ];
+ path = [ pkgs.iproute2 ];
script =
''
state="/run/nixos/network/addresses/${i.name}"
@@ -258,7 +258,7 @@ let
wantedBy = [ "network-setup.service" (subsystemDevice i.name) ];
partOf = [ "network-setup.service" ];
before = [ "network-setup.service" ];
- path = [ pkgs.iproute ];
+ path = [ pkgs.iproute2 ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
@@ -284,7 +284,7 @@ let
before = [ "network-setup.service" ];
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
- path = [ pkgs.iproute ];
+ path = [ pkgs.iproute2 ];
script = ''
# Remove Dead Interfaces
echo "Removing old bridge ${n}..."
@@ -372,7 +372,7 @@ let
wants = deps; # if one or more interface fails, the switch should continue to run
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
- path = [ pkgs.iproute config.virtualisation.vswitch.package ];
+ path = [ pkgs.iproute2 config.virtualisation.vswitch.package ];
preStart = ''
echo "Resetting Open vSwitch ${n}..."
ovs-vsctl --if-exists del-br ${n} -- add-br ${n} \
@@ -413,7 +413,7 @@ let
before = [ "network-setup.service" ];
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
- path = [ pkgs.iproute pkgs.gawk ];
+ path = [ pkgs.iproute2 pkgs.gawk ];
script = ''
echo "Destroying old bond ${n}..."
${destroyBond n}
@@ -451,7 +451,7 @@ let
before = [ "network-setup.service" ];
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
- path = [ pkgs.iproute ];
+ path = [ pkgs.iproute2 ];
script = ''
# Remove Dead Interfaces
ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
@@ -476,7 +476,7 @@ let
before = [ "network-setup.service" ];
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
- path = [ pkgs.iproute ];
+ path = [ pkgs.iproute2 ];
script = ''
# Remove Dead Interfaces
ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
@@ -504,7 +504,7 @@ let
before = [ "network-setup.service" ];
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
- path = [ pkgs.iproute ];
+ path = [ pkgs.iproute2 ];
script = ''
# Remove Dead Interfaces
ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
diff --git a/third_party/nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix b/third_party/nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix
index 23e1e611a7..1c145e8ff4 100644
--- a/third_party/nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/third_party/nixpkgs/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -259,7 +259,7 @@ in
wants = deps; # if one or more interface fails, the switch should continue to run
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
- path = [ pkgs.iproute config.virtualisation.vswitch.package ];
+ path = [ pkgs.iproute2 config.virtualisation.vswitch.package ];
preStart = ''
echo "Resetting Open vSwitch ${n}..."
ovs-vsctl --if-exists del-br ${n} -- add-br ${n} \
diff --git a/third_party/nixpkgs/nixos/modules/tasks/network-interfaces.nix b/third_party/nixpkgs/nixos/modules/tasks/network-interfaces.nix
index f730ec82bd..b5d9784965 100644
--- a/third_party/nixpkgs/nixos/modules/tasks/network-interfaces.nix
+++ b/third_party/nixpkgs/nixos/modules/tasks/network-interfaces.nix
@@ -1171,7 +1171,7 @@ in
wantedBy = [ "network.target" ];
after = [ "network-pre.target" ];
unitConfig.ConditionCapability = "CAP_NET_ADMIN";
- path = [ pkgs.iproute ];
+ path = [ pkgs.iproute2 ];
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
script = ''
@@ -1249,7 +1249,7 @@ in
${optionalString (current.type == "mesh" && current.meshID!=null) "${pkgs.iw}/bin/iw dev ${device} set meshid ${current.meshID}"}
${optionalString (current.type == "monitor" && current.flags!=null) "${pkgs.iw}/bin/iw dev ${device} set monitor ${current.flags}"}
${optionalString (current.type == "managed" && current.fourAddr!=null) "${pkgs.iw}/bin/iw dev ${device} set 4addr ${if current.fourAddr then "on" else "off"}"}
- ${optionalString (current.mac != null) "${pkgs.iproute}/bin/ip link set dev ${device} address ${current.mac}"}
+ ${optionalString (current.mac != null) "${pkgs.iproute2}/bin/ip link set dev ${device} address ${current.mac}"}
'';
# Udev script to execute for a new WLAN interface. The script configures the new WLAN interface.
@@ -1260,7 +1260,7 @@ in
${optionalString (new.type == "mesh" && new.meshID!=null) "${pkgs.iw}/bin/iw dev ${device} set meshid ${new.meshID}"}
${optionalString (new.type == "monitor" && new.flags!=null) "${pkgs.iw}/bin/iw dev ${device} set monitor ${new.flags}"}
${optionalString (new.type == "managed" && new.fourAddr!=null) "${pkgs.iw}/bin/iw dev ${device} set 4addr ${if new.fourAddr then "on" else "off"}"}
- ${optionalString (new.mac != null) "${pkgs.iproute}/bin/ip link set dev ${device} address ${new.mac}"}
+ ${optionalString (new.mac != null) "${pkgs.iproute2}/bin/ip link set dev ${device} address ${new.mac}"}
'';
# Udev attributes for systemd to name the device and to create a .device target.
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/brightbox-image.nix b/third_party/nixpkgs/nixos/modules/virtualisation/brightbox-image.nix
index 4498e3a736..9641b693f1 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/brightbox-image.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/brightbox-image.nix
@@ -119,7 +119,7 @@ in
wants = [ "network-online.target" ];
after = [ "network-online.target" ];
- path = [ pkgs.wget pkgs.iproute ];
+ path = [ pkgs.wget pkgs.iproute2 ];
script =
''
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/ec2-data.nix b/third_party/nixpkgs/nixos/modules/virtualisation/ec2-data.nix
index 6291253501..1b764e7e4d 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/ec2-data.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/ec2-data.nix
@@ -19,7 +19,7 @@ with lib;
wantedBy = [ "multi-user.target" "sshd.service" ];
before = [ "sshd.service" ];
- path = [ pkgs.iproute ];
+ path = [ pkgs.iproute2 ];
script =
''
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/google-compute-config.nix b/third_party/nixpkgs/nixos/modules/virtualisation/google-compute-config.nix
index b6b1ffa395..cff48d20b2 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/google-compute-config.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/google-compute-config.nix
@@ -110,7 +110,7 @@ in
systemd.services.google-network-daemon = {
description = "Google Compute Engine Network Daemon";
after = [ "network-online.target" "network.target" "google-instance-setup.service" ];
- path = with pkgs; [ iproute ];
+ path = with pkgs; [ iproute2 ];
serviceConfig = {
ExecStart = "${gce}/bin/google_network_daemon";
StandardOutput="journal+console";
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/nixos-containers.nix b/third_party/nixpkgs/nixos/modules/virtualisation/nixos-containers.nix
index a853917a6d..f15d587584 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/nixos-containers.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/nixos-containers.nix
@@ -739,7 +739,7 @@ in
unitConfig.RequiresMountsFor = "/var/lib/containers/%i";
- path = [ pkgs.iproute ];
+ path = [ pkgs.iproute2 ];
environment = {
root = "/var/lib/containers/%i";
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/xe-guest-utilities.nix b/third_party/nixpkgs/nixos/modules/virtualisation/xe-guest-utilities.nix
index 675cf92973..25ccbaebc0 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/xe-guest-utilities.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/xe-guest-utilities.nix
@@ -17,7 +17,7 @@ in {
wantedBy = [ "multi-user.target" ];
after = [ "xe-linux-distribution.service" ];
requires = [ "proc-xen.mount" ];
- path = [ pkgs.coreutils pkgs.iproute ];
+ path = [ pkgs.coreutils pkgs.iproute2 ];
serviceConfig = {
PIDFile = "/run/xe-daemon.pid";
ExecStart = "${pkgs.xe-guest-utilities}/bin/xe-daemon -p /run/xe-daemon.pid";
diff --git a/third_party/nixpkgs/nixos/modules/virtualisation/xen-dom0.nix b/third_party/nixpkgs/nixos/modules/virtualisation/xen-dom0.nix
index 5b57ca860d..24df1b6ad7 100644
--- a/third_party/nixpkgs/nixos/modules/virtualisation/xen-dom0.nix
+++ b/third_party/nixpkgs/nixos/modules/virtualisation/xen-dom0.nix
@@ -248,7 +248,7 @@ in
# Xen provides udev rules.
services.udev.packages = [ cfg.package ];
- services.udev.path = [ pkgs.bridge-utils pkgs.iproute ];
+ services.udev.path = [ pkgs.bridge-utils pkgs.iproute2 ];
systemd.services.xen-store = {
description = "Xen Store Daemon";
diff --git a/third_party/nixpkgs/nixos/tests/agda.nix b/third_party/nixpkgs/nixos/tests/agda.nix
index 3773907cff..f282788519 100644
--- a/third_party/nixpkgs/nixos/tests/agda.nix
+++ b/third_party/nixpkgs/nixos/tests/agda.nix
@@ -3,8 +3,9 @@ import ./make-test-python.nix ({ pkgs, ... }:
let
hello-world = pkgs.writeText "hello-world" ''
open import IO
+ open import Level
- main = run(putStrLn "Hello World!")
+ main = run {0ℓ} (putStrLn "Hello World!")
'';
in
{
diff --git a/third_party/nixpkgs/nixos/tests/all-tests.nix b/third_party/nixpkgs/nixos/tests/all-tests.nix
index 65c7d84ee6..62188ddf9e 100644
--- a/third_party/nixpkgs/nixos/tests/all-tests.nix
+++ b/third_party/nixpkgs/nixos/tests/all-tests.nix
@@ -49,6 +49,7 @@ in
cadvisor = handleTestOn ["x86_64-linux"] ./cadvisor.nix {};
cage = handleTest ./cage.nix {};
cagebreak = handleTest ./cagebreak.nix {};
+ calibre-web = handleTest ./calibre-web.nix {};
cassandra_2_1 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_2_1; };
cassandra_2_2 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_2_2; };
cassandra_3_0 = handleTest ./cassandra.nix { testPackage = pkgs.cassandra_3_0; };
@@ -110,6 +111,7 @@ in
ergo = handleTest ./ergo.nix {};
etcd = handleTestOn ["x86_64-linux"] ./etcd.nix {};
etcd-cluster = handleTestOn ["x86_64-linux"] ./etcd-cluster.nix {};
+ etebase-server = handleTest ./etebase-server.nix {};
etesync-dav = handleTest ./etesync-dav.nix {};
fancontrol = handleTest ./fancontrol.nix {};
fcitx = handleTest ./fcitx {};
@@ -225,6 +227,7 @@ in
mariadb-galera-mariabackup = handleTest ./mysql/mariadb-galera-mariabackup.nix {};
mariadb-galera-rsync = handleTest ./mysql/mariadb-galera-rsync.nix {};
matomo = handleTest ./matomo.nix {};
+ matrix-appservice-irc = handleTest ./matrix-appservice-irc.nix {};
matrix-synapse = handleTest ./matrix-synapse.nix {};
mediawiki = handleTest ./mediawiki.nix {};
memcached = handleTest ./memcached.nix {};
@@ -287,6 +290,7 @@ in
nzbget = handleTest ./nzbget.nix {};
nzbhydra2 = handleTest ./nzbhydra2.nix {};
oh-my-zsh = handleTest ./oh-my-zsh.nix {};
+ ombi = handleTest ./ombi.nix {};
openarena = handleTest ./openarena.nix {};
openldap = handleTest ./openldap.nix {};
opensmtpd = handleTest ./opensmtpd.nix {};
@@ -318,6 +322,7 @@ in
plikd = handleTest ./plikd.nix {};
plotinus = handleTest ./plotinus.nix {};
podman = handleTestOn ["x86_64-linux"] ./podman.nix {};
+ pomerium = handleTestOn ["x86_64-linux"] ./pomerium.nix {};
postfix = handleTest ./postfix.nix {};
postfix-raise-smtpd-tls-security-level = handleTest ./postfix-raise-smtpd-tls-security-level.nix {};
postgis = handleTest ./postgis.nix {};
diff --git a/third_party/nixpkgs/nixos/tests/calibre-web.nix b/third_party/nixpkgs/nixos/tests/calibre-web.nix
new file mode 100644
index 0000000000..4f73b33111
--- /dev/null
+++ b/third_party/nixpkgs/nixos/tests/calibre-web.nix
@@ -0,0 +1,53 @@
+import ./make-test-python.nix (
+ { pkgs, lib, ... }:
+
+ let
+ port = 3142;
+ defaultPort = 8083;
+ in
+ with lib;
+ {
+ name = "calibre-web";
+ meta.maintainers = with pkgs.lib.maintainers; [ pborzenkov ];
+
+ nodes = {
+ default = { ... }: {
+ services.calibre-web.enable = true;
+ };
+
+ customized = { pkgs, ... }: {
+ services.calibre-web = {
+ enable = true;
+ listen.port = port;
+ options = {
+ calibreLibrary = "/tmp/books";
+ reverseProxyAuth = {
+ enable = true;
+ header = "X-User";
+ };
+ };
+ };
+ environment.systemPackages = [ pkgs.calibre ];
+ };
+ };
+ testScript = ''
+ start_all()
+
+ default.wait_for_unit("calibre-web.service")
+ default.wait_for_open_port(${toString defaultPort})
+ default.succeed(
+ "curl --fail 'http://localhost:${toString defaultPort}/basicconfig' | grep -q 'Basic Configuration'"
+ )
+
+ customized.succeed(
+ "mkdir /tmp/books && calibredb --library-path /tmp/books add -e --title test-book"
+ )
+ customized.succeed("systemctl restart calibre-web")
+ customized.wait_for_unit("calibre-web.service")
+ customized.wait_for_open_port(${toString port})
+ customized.succeed(
+ "curl --fail -H X-User:admin 'http://localhost:${toString port}' | grep -q test-book"
+ )
+ '';
+ }
+)
diff --git a/third_party/nixpkgs/nixos/tests/croc.nix b/third_party/nixpkgs/nixos/tests/croc.nix
index c1b6fc7232..75a8fc991d 100644
--- a/third_party/nixpkgs/nixos/tests/croc.nix
+++ b/third_party/nixpkgs/nixos/tests/croc.nix
@@ -6,7 +6,7 @@ let
pass = pkgs.writeText "pass" "PassRelay";
in {
name = "croc";
- meta = with pkgs.stdenv.lib.maintainers; {
+ meta = with pkgs.lib.maintainers; {
maintainers = [ hax404 julm ];
};
diff --git a/third_party/nixpkgs/nixos/tests/elk.nix b/third_party/nixpkgs/nixos/tests/elk.nix
index 8488c97c01..fee350de65 100644
--- a/third_party/nixpkgs/nixos/tests/elk.nix
+++ b/third_party/nixpkgs/nixos/tests/elk.nix
@@ -120,6 +120,7 @@ let
};
};
+ passthru.elkPackages = elk;
testScript = ''
import json
diff --git a/third_party/nixpkgs/nixos/tests/etebase-server.nix b/third_party/nixpkgs/nixos/tests/etebase-server.nix
new file mode 100644
index 0000000000..4fc3c1f639
--- /dev/null
+++ b/third_party/nixpkgs/nixos/tests/etebase-server.nix
@@ -0,0 +1,50 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+
+let
+ dataDir = "/var/lib/foobar";
+
+in {
+ name = "etebase-server";
+ meta = with pkgs.lib.maintainers; {
+ maintainers = [ felschr ];
+ };
+
+ machine = { pkgs, ... }:
+ {
+ services.etebase-server = {
+ inherit dataDir;
+ enable = true;
+ settings.global.secret_file =
+ toString (pkgs.writeText "secret" "123456");
+ };
+ };
+
+ testScript = ''
+ machine.wait_for_unit("etebase-server.service")
+ machine.wait_for_open_port(8001)
+
+ with subtest("Database & src-version were created"):
+ machine.wait_for_file("${dataDir}/src-version")
+ assert (
+ "${pkgs.etebase-server}"
+ in machine.succeed("cat ${dataDir}/src-version")
+ )
+ machine.wait_for_file("${dataDir}/db.sqlite3")
+ machine.wait_for_file("${dataDir}/static")
+
+ with subtest("Only allow access from allowed_hosts"):
+ machine.succeed("curl -sSfL http://0.0.0.0:8001/")
+ machine.fail("curl -sSfL http://127.0.0.1:8001/")
+ machine.fail("curl -sSfL http://localhost:8001/")
+
+ with subtest("Run tests"):
+ machine.succeed("etebase-server check")
+ machine.succeed("etebase-server test")
+
+ with subtest("Create superuser"):
+ machine.succeed(
+ "etebase-server createsuperuser --no-input --username admin --email root@localhost"
+ )
+ '';
+ }
+)
diff --git a/third_party/nixpkgs/nixos/tests/gitlab.nix b/third_party/nixpkgs/nixos/tests/gitlab.nix
index baad675229..582f5faf9b 100644
--- a/third_party/nixpkgs/nixos/tests/gitlab.nix
+++ b/third_party/nixpkgs/nixos/tests/gitlab.nix
@@ -34,6 +34,8 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
enableImap = true;
};
+ systemd.services.gitlab-backup.environment.BACKUP = "dump";
+
services.gitlab = {
enable = true;
databasePasswordFile = pkgs.writeText "dbPassword" "xo0daiF4";
@@ -64,60 +66,89 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
};
};
- testScript =
- let
- auth = pkgs.writeText "auth.json" (builtins.toJSON {
- grant_type = "password";
- username = "root";
- password = initialRootPassword;
- });
+ testScript = { nodes, ... }:
+ let
+ auth = pkgs.writeText "auth.json" (builtins.toJSON {
+ grant_type = "password";
+ username = "root";
+ password = initialRootPassword;
+ });
- createProject = pkgs.writeText "create-project.json" (builtins.toJSON {
- name = "test";
- });
+ createProject = pkgs.writeText "create-project.json" (builtins.toJSON {
+ name = "test";
+ });
- putFile = pkgs.writeText "put-file.json" (builtins.toJSON {
- branch = "master";
- author_email = "author@example.com";
- author_name = "Firstname Lastname";
- content = "some content";
- commit_message = "create a new file";
- });
- in
- ''
- gitlab.start()
+ putFile = pkgs.writeText "put-file.json" (builtins.toJSON {
+ branch = "master";
+ author_email = "author@example.com";
+ author_name = "Firstname Lastname";
+ content = "some content";
+ commit_message = "create a new file";
+ });
- gitlab.wait_for_unit("gitaly.service")
- gitlab.wait_for_unit("gitlab-workhorse.service")
- gitlab.wait_for_unit("gitlab-pages.service")
- gitlab.wait_for_unit("gitlab-mailroom.service")
- gitlab.wait_for_unit("gitlab.service")
- gitlab.wait_for_unit("gitlab-sidekiq.service")
- gitlab.wait_for_file("/var/gitlab/state/tmp/sockets/gitlab.socket")
- gitlab.wait_until_succeeds("curl -sSf http://gitlab/users/sign_in")
+ # Wait for all GitLab services to be fully started.
+ waitForServices = ''
+ gitlab.wait_for_unit("gitaly.service")
+ gitlab.wait_for_unit("gitlab-workhorse.service")
+ gitlab.wait_for_unit("gitlab-pages.service")
+ gitlab.wait_for_unit("gitlab-mailroom.service")
+ gitlab.wait_for_unit("gitlab.service")
+ gitlab.wait_for_unit("gitlab-sidekiq.service")
+ gitlab.wait_for_file("${nodes.gitlab.config.services.gitlab.statePath}/tmp/sockets/gitlab.socket")
+ gitlab.wait_until_succeeds("curl -sSf http://gitlab/users/sign_in")
+ '';
- gitlab.succeed(
- "curl -isSf http://gitlab | grep -i location | grep -q http://gitlab/users/sign_in"
- )
- gitlab.succeed(
- "${pkgs.sudo}/bin/sudo -u gitlab -H gitlab-rake gitlab:check 1>&2"
- )
- gitlab.succeed(
- "echo \"Authorization: Bearer \$(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers"
- )
- gitlab.succeed(
- "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects"
- )
- gitlab.succeed(
- "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/1/repository/files/some-file.txt"
- )
- gitlab.succeed(
- "curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.gz > /tmp/archive.tar.gz"
- )
- gitlab.succeed(
- "curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.bz2 > /tmp/archive.tar.bz2"
- )
- gitlab.succeed("test -s /tmp/archive.tar.gz")
- gitlab.succeed("test -s /tmp/archive.tar.bz2")
- '';
+ # The actual test of GitLab. Only push data to GitLab if
+ # `doSetup` is is true.
+ test = doSetup: ''
+ gitlab.succeed(
+ "curl -isSf http://gitlab | grep -i location | grep -q http://gitlab/users/sign_in"
+ )
+ gitlab.succeed(
+ "${pkgs.sudo}/bin/sudo -u gitlab -H gitlab-rake gitlab:check 1>&2"
+ )
+ gitlab.succeed(
+ "echo \"Authorization: Bearer \$(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers"
+ )
+ '' + optionalString doSetup ''
+ gitlab.succeed(
+ "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects"
+ )
+ gitlab.succeed(
+ "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/1/repository/files/some-file.txt"
+ )
+ '' + ''
+ gitlab.succeed(
+ "curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.gz > /tmp/archive.tar.gz"
+ )
+ gitlab.succeed(
+ "curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.bz2 > /tmp/archive.tar.bz2"
+ )
+ gitlab.succeed("test -s /tmp/archive.tar.gz")
+ gitlab.succeed("test -s /tmp/archive.tar.bz2")
+ '';
+
+ in ''
+ gitlab.start()
+ ''
+ + waitForServices
+ + test true
+ + ''
+ gitlab.systemctl("start gitlab-backup.service")
+ gitlab.wait_for_unit("gitlab-backup.service")
+ gitlab.wait_for_file("${nodes.gitlab.config.services.gitlab.statePath}/backup/dump_gitlab_backup.tar")
+ gitlab.systemctl("stop postgresql.service gitlab.target")
+ gitlab.succeed(
+ "find ${nodes.gitlab.config.services.gitlab.statePath} -mindepth 1 -maxdepth 1 -not -name backup -execdir rm -r {} +"
+ )
+ gitlab.succeed("systemd-tmpfiles --create")
+ gitlab.succeed("rm -rf ${nodes.gitlab.config.services.postgresql.dataDir}")
+ gitlab.systemctl("start gitlab-config.service gitlab-postgresql.service")
+ gitlab.succeed(
+ "sudo -u gitlab -H gitlab-rake gitlab:backup:restore RAILS_ENV=production BACKUP=dump force=yes"
+ )
+ gitlab.systemctl("start gitlab.target")
+ ''
+ + waitForServices
+ + test false;
})
diff --git a/third_party/nixpkgs/nixos/tests/matrix-appservice-irc.nix b/third_party/nixpkgs/nixos/tests/matrix-appservice-irc.nix
new file mode 100644
index 0000000000..79b07ef83c
--- /dev/null
+++ b/third_party/nixpkgs/nixos/tests/matrix-appservice-irc.nix
@@ -0,0 +1,162 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+ let
+ homeserverUrl = "http://homeserver:8448";
+ in
+ {
+ name = "matrix-appservice-irc";
+ meta = {
+ maintainers = pkgs.matrix-appservice-irc.meta.maintainers;
+ };
+
+ nodes = {
+ homeserver = { pkgs, ... }: {
+ # We'll switch to this once the config is copied into place
+ specialisation.running.configuration = {
+ services.matrix-synapse = {
+ enable = true;
+ database_type = "sqlite3";
+ app_service_config_files = [ "/registration.yml" ];
+
+ enable_registration = true;
+
+ listeners = [
+ # The default but tls=false
+ {
+ "bind_address" = "";
+ "port" = 8448;
+ "resources" = [
+ { "compress" = true; "names" = [ "client" "webclient" ]; }
+ { "compress" = false; "names" = [ "federation" ]; }
+ ];
+ "tls" = false;
+ "type" = "http";
+ "x_forwarded" = false;
+ }
+ ];
+ };
+
+ networking.firewall.allowedTCPPorts = [ 8448 ];
+ };
+ };
+
+ ircd = { pkgs, ... }: {
+ services.ngircd = {
+ enable = true;
+ config = ''
+ [Global]
+ Name = ircd.ircd
+ Info = Server Info Text
+ AdminInfo1 = _
+
+ [Channel]
+ Name = #test
+ Topic = a cool place
+
+ [Options]
+ PAM = no
+ '';
+ };
+ networking.firewall.allowedTCPPorts = [ 6667 ];
+ };
+
+ appservice = { pkgs, ... }: {
+ services.matrix-appservice-irc = {
+ enable = true;
+ registrationUrl = "http://appservice:8009";
+
+ settings = {
+ homeserver.url = homeserverUrl;
+ homeserver.domain = "homeserver";
+
+ ircService.servers."ircd" = {
+ name = "IRCd";
+ port = 6667;
+ dynamicChannels = {
+ enabled = true;
+ aliasTemplate = "#irc_$CHANNEL";
+ };
+ };
+ };
+ };
+
+ networking.firewall.allowedTCPPorts = [ 8009 ];
+ };
+
+ client = { pkgs, ... }: {
+ environment.systemPackages = [
+ (pkgs.writers.writePython3Bin "do_test"
+ { libraries = [ pkgs.python3Packages.matrix-client ]; } ''
+ import socket
+ from matrix_client.client import MatrixClient
+ from time import sleep
+
+ matrix = MatrixClient("${homeserverUrl}")
+ matrix.register_with_password(username="alice", password="foobar")
+
+ irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ irc.connect(("ircd", 6667))
+ irc.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
+ irc.send(b"USER bob bob bob :bob\n")
+ irc.send(b"NICK bob\n")
+
+ m_room = matrix.join_room("#irc_#test:homeserver")
+ irc.send(b"JOIN #test\n")
+
+ # plenty of time for the joins to happen
+ sleep(10)
+
+ m_room.send_text("hi from matrix")
+ irc.send(b"PRIVMSG #test :hi from irc \r\n")
+
+ print("Waiting for irc message...")
+ while True:
+ buf = irc.recv(10000)
+ if b"hi from matrix" in buf:
+ break
+
+ print("Waiting for matrix message...")
+
+
+ def callback(room, e):
+ if "hi from irc" in e['content']['body']:
+ exit(0)
+
+
+ m_room.add_listener(callback, "m.room.message")
+ matrix.listen_forever()
+ ''
+ )
+ ];
+ };
+ };
+
+ testScript = ''
+ start_all()
+
+ ircd.wait_for_unit("ngircd.service")
+ ircd.wait_for_open_port(6667)
+
+ with subtest("start the appservice"):
+ appservice.wait_for_unit("matrix-appservice-irc.service")
+ appservice.wait_for_open_port(8009)
+
+ with subtest("copy the registration file"):
+ appservice.copy_from_vm("/var/lib/matrix-appservice-irc/registration.yml")
+ homeserver.copy_from_host(
+ pathlib.Path(os.environ.get("out", os.getcwd())) / "registration.yml", "/"
+ )
+ homeserver.succeed("chmod 444 /registration.yml")
+
+ with subtest("start the homeserver"):
+ homeserver.succeed(
+ "/run/current-system/specialisation/running/bin/switch-to-configuration test >&2"
+ )
+
+ homeserver.wait_for_unit("matrix-synapse.service")
+ homeserver.wait_for_open_port(8448)
+
+ with subtest("ensure messages can be exchanged"):
+ client.succeed("do_test")
+ '';
+
+ })
diff --git a/third_party/nixpkgs/nixos/tests/mysql/mariadb-galera-mariabackup.nix b/third_party/nixpkgs/nixos/tests/mysql/mariadb-galera-mariabackup.nix
index a4b893a9f3..0a40c010a4 100644
--- a/third_party/nixpkgs/nixos/tests/mysql/mariadb-galera-mariabackup.nix
+++ b/third_party/nixpkgs/nixos/tests/mysql/mariadb-galera-mariabackup.nix
@@ -2,7 +2,7 @@ import ./../make-test-python.nix ({ pkgs, ...} :
let
mysqlenv-common = pkgs.buildEnv { name = "mysql-path-env-common"; pathsToLink = [ "/bin" ]; paths = with pkgs; [ bash gawk gnutar inetutils which ]; };
- mysqlenv-mariabackup = pkgs.buildEnv { name = "mysql-path-env-mariabackup"; pathsToLink = [ "/bin" ]; paths = with pkgs; [ gzip iproute netcat procps pv socat ]; };
+ mysqlenv-mariabackup = pkgs.buildEnv { name = "mysql-path-env-mariabackup"; pathsToLink = [ "/bin" ]; paths = with pkgs; [ gzip iproute2 netcat procps pv socat ]; };
in {
name = "mariadb-galera-mariabackup";
diff --git a/third_party/nixpkgs/nixos/tests/ombi.nix b/third_party/nixpkgs/nixos/tests/ombi.nix
new file mode 100644
index 0000000000..bfca86af81
--- /dev/null
+++ b/third_party/nixpkgs/nixos/tests/ombi.nix
@@ -0,0 +1,18 @@
+import ./make-test-python.nix ({ lib, ... }:
+
+with lib;
+
+{
+ name = "ombi";
+ meta.maintainers = with maintainers; [ woky ];
+
+ nodes.machine =
+ { pkgs, ... }:
+ { services.ombi.enable = true; };
+
+ testScript = ''
+ machine.wait_for_unit("ombi.service")
+ machine.wait_for_open_port("5000")
+ machine.succeed("curl --fail http://localhost:5000/")
+ '';
+})
diff --git a/third_party/nixpkgs/nixos/tests/pomerium.nix b/third_party/nixpkgs/nixos/tests/pomerium.nix
new file mode 100644
index 0000000000..531b621271
--- /dev/null
+++ b/third_party/nixpkgs/nixos/tests/pomerium.nix
@@ -0,0 +1,102 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
+ name = "pomerium";
+ meta = with lib.maintainers; {
+ maintainers = [ lukegb ];
+ };
+
+ nodes = let base = myIP: { pkgs, lib, ... }: {
+ virtualisation.vlans = [ 1 ];
+ networking = {
+ dhcpcd.enable = false;
+ firewall.allowedTCPPorts = [ 80 443 ];
+ hosts = {
+ "192.168.1.1" = [ "pomerium" "pom-auth" ];
+ "192.168.1.2" = [ "backend" "dummy-oidc" ];
+ };
+ interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
+ { address = myIP; prefixLength = 24; }
+ ];
+ };
+ }; in {
+ pomerium = { pkgs, lib, ... }: {
+ imports = [ (base "192.168.1.1") ];
+ services.pomerium = {
+ enable = true;
+ settings = {
+ address = ":80";
+ insecure_server = true;
+ authenticate_service_url = "http://pom-auth";
+
+ idp_provider = "oidc";
+ idp_scopes = [ "oidc" ];
+ idp_client_id = "dummy";
+ idp_provider_url = "http://dummy-oidc";
+
+ policy = [{
+ from = "https://my.website";
+ to = "http://192.168.1.2";
+ allow_public_unauthenticated_access = true;
+ preserve_host_header = true;
+ } {
+ from = "https://login.required";
+ to = "http://192.168.1.2";
+ allowed_domains = [ "my.domain" ];
+ preserve_host_header = true;
+ }];
+ };
+ secretsFile = pkgs.writeText "pomerium-secrets" ''
+ # 12345678901234567890123456789012 in base64
+ COOKIE_SECRET=MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=
+ IDP_CLIENT_SECRET=dummy
+ '';
+ };
+ };
+ backend = { pkgs, lib, ... }: {
+ imports = [ (base "192.168.1.2") ];
+ services.nginx.enable = true;
+ services.nginx.virtualHosts."my.website" = {
+ root = pkgs.runCommand "testdir" {} ''
+ mkdir "$out"
+ echo hello world > "$out/index.html"
+ '';
+ };
+ services.nginx.virtualHosts."dummy-oidc" = {
+ root = pkgs.runCommand "testdir" {} ''
+ mkdir -p "$out/.well-known"
+ cat <"$out/.well-known/openid-configuration"
+ {
+ "issuer": "http://dummy-oidc",
+ "authorization_endpoint": "http://dummy-oidc/auth.txt",
+ "token_endpoint": "http://dummy-oidc/token",
+ "jwks_uri": "http://dummy-oidc/jwks.json",
+ "userinfo_endpoint": "http://dummy-oidc/userinfo",
+ "id_token_signing_alg_values_supported": ["RS256"]
+ }
+ EOF
+ echo hello I am login page >"$out/auth.txt"
+ '';
+ };
+ };
+ };
+
+ testScript = { ... }: ''
+ backend.wait_for_unit("nginx")
+ backend.wait_for_open_port(80)
+
+ pomerium.wait_for_unit("pomerium")
+ pomerium.wait_for_open_port(80)
+
+ with subtest("no authentication required"):
+ pomerium.succeed(
+ "curl --resolve my.website:80:127.0.0.1 http://my.website | grep -q 'hello world'"
+ )
+
+ with subtest("login required"):
+ pomerium.succeed(
+ "curl -I --resolve login.required:80:127.0.0.1 http://login.required | grep -q pom-auth"
+ )
+ pomerium.succeed(
+ "curl -L --resolve login.required:80:127.0.0.1 http://login.required | grep -q 'hello I am login page'"
+ )
+ '';
+})
diff --git a/third_party/nixpkgs/nixos/tests/privacyidea.nix b/third_party/nixpkgs/nixos/tests/privacyidea.nix
index b71ff0a166..4a94f07279 100644
--- a/third_party/nixpkgs/nixos/tests/privacyidea.nix
+++ b/third_party/nixpkgs/nixos/tests/privacyidea.nix
@@ -12,10 +12,16 @@ import ./make-test-python.nix ({ pkgs, ...} : rec {
services.privacyidea = {
enable = true;
- secretKey = "testing";
- pepper = "testing";
+ secretKey = "$SECRET_KEY";
+ pepper = "$PEPPER";
adminPasswordFile = pkgs.writeText "admin-password" "testing";
adminEmail = "root@localhost";
+
+ # Don't try this at home!
+ environmentFile = pkgs.writeText "pi-secrets.env" ''
+ SECRET_KEY=testing
+ PEPPER=testing
+ '';
};
services.nginx = {
enable = true;
@@ -29,6 +35,8 @@ import ./make-test-python.nix ({ pkgs, ...} : rec {
machine.start()
machine.wait_for_unit("multi-user.target")
machine.succeed("curl --fail http://localhost | grep privacyIDEA")
+ machine.succeed("grep \"SECRET_KEY = 'testing'\" /var/lib/privacyidea/privacyidea.cfg")
+ machine.succeed("grep \"PI_PEPPER = 'testing'\" /var/lib/privacyidea/privacyidea.cfg")
machine.succeed(
"curl --fail http://localhost/auth -F username=admin -F password=testing | grep token"
)
diff --git a/third_party/nixpkgs/nixos/tests/prometheus-exporters.nix b/third_party/nixpkgs/nixos/tests/prometheus-exporters.nix
index 290cb87abb..a43dca4fe1 100644
--- a/third_party/nixpkgs/nixos/tests/prometheus-exporters.nix
+++ b/third_party/nixpkgs/nixos/tests/prometheus-exporters.nix
@@ -201,6 +201,22 @@ let
'';
};
+ # Access to WHOIS server is required to properly test this exporter, so
+ # just perform basic sanity check that the exporter is running and returns
+ # a failure.
+ domain = {
+ exporterConfig = {
+ enable = true;
+ };
+ exporterTest = ''
+ wait_for_unit("prometheus-domain-exporter.service")
+ wait_for_open_port(9222)
+ succeed(
+ "curl -sSf 'http://localhost:9222/probe?target=nixos.org' | grep -q 'domain_probe_success 0'"
+ )
+ '';
+ };
+
dovecot = {
exporterConfig = {
enable = true;
@@ -603,6 +619,66 @@ let
'';
};
+ openldap = {
+ exporterConfig = {
+ enable = true;
+ ldapCredentialFile = "${pkgs.writeText "exporter.yml" ''
+ ldapUser: "cn=root,dc=example"
+ ldapPass: "notapassword"
+ ''}";
+ };
+ metricProvider = {
+ services.openldap = {
+ enable = true;
+ settings.children = {
+ "cn=schema".includes = [
+ "${pkgs.openldap}/etc/schema/core.ldif"
+ "${pkgs.openldap}/etc/schema/cosine.ldif"
+ "${pkgs.openldap}/etc/schema/inetorgperson.ldif"
+ "${pkgs.openldap}/etc/schema/nis.ldif"
+ ];
+ "olcDatabase={1}mdb" = {
+ attrs = {
+ objectClass = [ "olcDatabaseConfig" "olcMdbConfig" ];
+ olcDatabase = "{1}mdb";
+ olcDbDirectory = "/var/db/openldap";
+ olcSuffix = "dc=example";
+ olcRootDN = {
+ # cn=root,dc=example
+ base64 = "Y249cm9vdCxkYz1leGFtcGxl";
+ };
+ olcRootPW = {
+ path = "${pkgs.writeText "rootpw" "notapassword"}";
+ };
+ };
+ };
+ "olcDatabase={2}monitor".attrs = {
+ objectClass = [ "olcDatabaseConfig" ];
+ olcDatabase = "{2}monitor";
+ olcAccess = [ "to dn.subtree=cn=monitor by users read" ];
+ };
+ };
+ declarativeContents."dc=example" = ''
+ dn: dc=example
+ objectClass: domain
+ dc: example
+
+ dn: ou=users,dc=example
+ objectClass: organizationalUnit
+ ou: users
+ '';
+ };
+ };
+ exporterTest = ''
+ wait_for_unit("prometheus-openldap-exporter.service")
+ wait_for_open_port(389)
+ wait_for_open_port(9330)
+ wait_until_succeeds(
+ "curl -sSf http://localhost:9330/metrics | grep -q 'openldap_scrape{result=\"ok\"} 1'"
+ )
+ '';
+ };
+
openvpn = {
exporterConfig = {
enable = true;
diff --git a/third_party/nixpkgs/nixos/tests/wireguard/basic.nix b/third_party/nixpkgs/nixos/tests/wireguard/basic.nix
index a31e92e864..36ab226cde 100644
--- a/third_party/nixpkgs/nixos/tests/wireguard/basic.nix
+++ b/third_party/nixpkgs/nixos/tests/wireguard/basic.nix
@@ -52,9 +52,9 @@ import ../make-test-python.nix ({ pkgs, lib, ...} :
inherit (wg-snakeoil-keys.peer0) publicKey;
};
- postSetup = let inherit (pkgs) iproute; in ''
- ${iproute}/bin/ip route replace 10.23.42.1/32 dev wg0
- ${iproute}/bin/ip route replace fc00::1/128 dev wg0
+ postSetup = let inherit (pkgs) iproute2; in ''
+ ${iproute2}/bin/ip route replace 10.23.42.1/32 dev wg0
+ ${iproute2}/bin/ip route replace fc00::1/128 dev wg0
'';
};
};
diff --git a/third_party/nixpkgs/pkgs/applications/accessibility/svkbd/default.nix b/third_party/nixpkgs/pkgs/applications/accessibility/svkbd/default.nix
new file mode 100644
index 0000000000..57e6cdba5a
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/accessibility/svkbd/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, stdenv
+, fetchurl
+, writeText
+, pkg-config
+, libX11
+, libXft
+, libXi
+, libXinerama
+, libXtst
+, layout ? null
+, conf ? null
+, patches ? [ ]
+}:
+
+stdenv.mkDerivation rec {
+ pname = "svkbd";
+ version = "0.3";
+
+ src = fetchurl {
+ url = "https://dl.suckless.org/tools/svkbd-${version}.tar.gz";
+ sha256 = "108khx665d7dlzs04iy4g1nw3fyqpy6kd0afrwiapaibgv4xhfsk";
+ };
+
+ inherit patches;
+
+ postPatch = let
+ configFile = if lib.isDerivation conf || lib.isPath conf then
+ conf
+ else
+ writeText "config.def.h" conf;
+ in lib.optionalString (conf != null) ''
+ cp ${configFile} config.def.h
+ '';
+
+ nativeBuildInputs = [
+ pkg-config
+ ];
+
+ buildInputs = [
+ libX11
+ libXft
+ libXi
+ libXinerama
+ libXtst
+ ];
+
+ makeFlags = [
+ "PREFIX=${placeholder "out"}"
+ ] ++ lib.optional (layout != null) "LAYOUT=${layout}";
+
+ meta = with lib; {
+ description = "Simple virtual keyboard";
+ homepage = "https://tools.suckless.org/x/svkbd/";
+ license = licenses.mit;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ dotlambda ];
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/audio/aj-snapshot/default.nix b/third_party/nixpkgs/pkgs/applications/audio/aj-snapshot/default.nix
index 636314bf1c..418426530b 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/aj-snapshot/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/aj-snapshot/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, alsaLib, jack2Full, minixml, pkg-config }:
+{ lib, stdenv, fetchurl, alsaLib, jack2, minixml, pkg-config }:
stdenv.mkDerivation rec {
name = packageName + "-" + version ;
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
doCheck = false;
nativeBuildInputs = [ pkg-config ];
- buildInputs = [ alsaLib minixml jack2Full ];
+ buildInputs = [ alsaLib minixml jack2 ];
meta = with lib; {
description = "Tool for storing/restoring JACK and/or ALSA connections to/from cml files";
diff --git a/third_party/nixpkgs/pkgs/applications/audio/amarok/default.nix b/third_party/nixpkgs/pkgs/applications/audio/amarok/default.nix
index be984e7e98..c75adb11ed 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/amarok/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/amarok/default.nix
@@ -15,6 +15,8 @@ mkDerivation rec {
sha256 = "0kz8wixjmy4yxq2gk11ybswryxb6alfymd3bzcar9xinscllhh3a";
};
+ outputs = [ "out" "doc" ];
+
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/applications/audio/apple-music-electron/default.nix b/third_party/nixpkgs/pkgs/applications/audio/apple-music-electron/default.nix
index 5d0cb68edb..e4d43d7f01 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/apple-music-electron/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/apple-music-electron/default.nix
@@ -18,7 +18,7 @@ in appimageTools.wrapType2 {
install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
substituteInPlace $out/share/applications/${pname}.desktop \
- --replace 'Exec=AppRun' 'Exec=$out/bin/apple-music-electron'
+ --replace "Exec=AppRun" "Exec=$out/bin/apple-music-electron"
cp -r ${appimageContents}/usr/share/icons $out/share
'';
diff --git a/third_party/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix b/third_party/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
index 4e9762b3e7..fac816649c 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
- sha256 = "10nf29zr0xg9mxmknkc39jh3y9kpxzy5wg1v0s3kkd180lja9zpn";
+ sha256 = "sha256-k7L6CU2lY9192tfaWtVOxq9BCY7FZZdxmHT8EA+ZFsk=";
};
nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
diff --git a/third_party/nixpkgs/pkgs/applications/audio/faust/faust2jack.nix b/third_party/nixpkgs/pkgs/applications/audio/faust/faust2jack.nix
index dd4cdd29c6..ab2450f1e5 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/faust/faust2jack.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/faust/faust2jack.nix
@@ -1,6 +1,6 @@
{ faust
, gtk2
-, jack2Full
+, jack2
, alsaLib
, opencv
, libsndfile
@@ -18,7 +18,7 @@ faust.wrapWithBuildEnv {
propagatedBuildInputs = [
gtk2
- jack2Full
+ jack2
alsaLib
opencv
libsndfile
diff --git a/third_party/nixpkgs/pkgs/applications/audio/faust/faust2jaqt.nix b/third_party/nixpkgs/pkgs/applications/audio/faust/faust2jaqt.nix
index 76e4b5ce8d..f6bc4d485f 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/faust/faust2jaqt.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/faust/faust2jaqt.nix
@@ -1,5 +1,5 @@
{ faust
-, jack2Full
+, jack2
, qt4
, libsndfile
, alsaLib
@@ -16,7 +16,7 @@ faust.wrapWithBuildEnv {
];
propagatedBuildInputs = [
- jack2Full
+ jack2
qt4
libsndfile
alsaLib
diff --git a/third_party/nixpkgs/pkgs/applications/audio/freac/default.nix b/third_party/nixpkgs/pkgs/applications/audio/freac/default.nix
index f60320784a..c906f62894 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/freac/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/freac/default.nix
@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "freac";
- version = "1.1.3";
+ version = "1.1.4";
src = fetchFromGitHub {
owner = "enzo1982";
repo = "freac";
rev = "v${version}";
- sha256 = "1sdrsc5pn5901bbds7dj02n71zn5rs4wnv2xxs8ffql4b7jjva0m";
+ sha256 = "sha256-JwZJOV4mxNKqhhdlfFcX06NwBxmbye2mgMfdM//bHYI=";
};
buildInputs = [
diff --git a/third_party/nixpkgs/pkgs/applications/audio/gtklick/default.nix b/third_party/nixpkgs/pkgs/applications/audio/gtklick/default.nix
index b3b95ca057..6b7f4e4d7b 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/gtklick/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/gtklick/default.nix
@@ -1,6 +1,6 @@
-{ lib, fetchurl, pythonPackages, gettext, klick}:
+{ lib, fetchurl, python2Packages, gettext, klick}:
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
pname = "gtklick";
version = "0.6.4";
@@ -9,7 +9,7 @@ pythonPackages.buildPythonApplication rec {
sha256 = "7799d884126ccc818678aed79d58057f8cf3528e9f1be771c3fa5b694d9d0137";
};
- pythonPath = with pythonPackages; [
+ pythonPath = with python2Packages; [
pyliblo
pyGtkGlade
];
diff --git a/third_party/nixpkgs/pkgs/applications/audio/ingen/default.nix b/third_party/nixpkgs/pkgs/applications/audio/ingen/default.nix
index 55456b2fb6..a0defad0da 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/ingen/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/ingen/default.nix
@@ -1,5 +1,5 @@
{ lib, stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv
-, lv2, makeWrapper, pkg-config, python, raul, rdflib, serd, sord, sratom
+, lv2, makeWrapper, pkg-config, python3, raul, serd, sord, sratom
, wafHook
, suil
}:
@@ -16,24 +16,21 @@ stdenv.mkDerivation rec {
deepClone = true;
};
- nativeBuildInputs = [ pkg-config wafHook ];
+ nativeBuildInputs = [ pkg-config wafHook python3 python3.pkgs.wrapPython ];
buildInputs = [
- boost ganv glibmm gtkmm2 libjack2 lilv lv2 makeWrapper
- python raul serd sord sratom suil
+ boost ganv glibmm gtkmm2 libjack2 lilv lv2
+ python3 raul serd sord sratom suil
];
- preConfigure = ''
- sed -e "s@{PYTHONDIR}/'@out/'@" -i wscript
- '';
+ strictDeps = true;
- propagatedBuildInputs = [ rdflib ];
+ pythonPath = [
+ python3
+ python3.pkgs.rdflib
+ ];
postInstall = ''
- for program in ingenams ingenish
- do
- wrapProgram $out/bin/$program \
- --prefix PYTHONPATH : $out/${python.sitePackages}:$PYTHONPATH
- done
+ wrapPythonProgramsIn "$out/bin" "$out $pythonPath"
'';
meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/applications/audio/jalv/default.nix b/third_party/nixpkgs/pkgs/applications/audio/jalv/default.nix
index 611956089e..b640b55c54 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/jalv/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/jalv/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, gtk2, libjack2, lilv, lv2, pkg-config, python
+{ lib, stdenv, fetchurl, gtk2, libjack2, lilv, lv2, pkg-config, python3
, serd, sord , sratom, suil, wafHook }:
stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config wafHook ];
buildInputs = [
- gtk2 libjack2 lilv lv2 python serd sord sratom suil
+ gtk2 libjack2 lilv lv2 python3 serd sord sratom suil
];
meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/applications/audio/jmusicbot/default.nix b/third_party/nixpkgs/pkgs/applications/audio/jmusicbot/default.nix
new file mode 100644
index 0000000000..299fe54736
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/audio/jmusicbot/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, lib, fetchurl, makeWrapper, jre }:
+
+stdenv.mkDerivation rec {
+ pname = "JMusicBot";
+ version = "0.3.4";
+
+ src = fetchurl {
+ url = "https://github.com/jagrosh/MusicBot/releases/download/${version}/JMusicBot-${version}.jar";
+ sha256 = "sha256-++/ot9k74pkN9Wl7IEjiMIv/q5zklIEdU6uFjam0tmU=";
+ };
+
+ dontUnpack = true;
+
+ nativeBuildInputs = [ makeWrapper ];
+
+ installPhase = ''
+ mkdir -p $out/lib
+ cp $src $out/lib/JMusicBot
+
+ makeWrapper ${jre}/bin/java $out/bin/JMusicBot \
+ --add-flags "-Xmx1G -Dnogui=true -jar $out/lib/JMusicBot"
+ '';
+
+ meta = with lib; {
+ description = "Discord music bot that's easy to set up and run yourself";
+ homepage = "https://github.com/jagrosh/MusicBot";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ SuperSandro2000 ];
+ platforms = platforms.all;
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/audio/lastfmsubmitd/default.nix b/third_party/nixpkgs/pkgs/applications/audio/lastfmsubmitd/default.nix
index efafc5b05b..8a786c5c69 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/lastfmsubmitd/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/lastfmsubmitd/default.nix
@@ -1,6 +1,6 @@
-{ lib, fetchurl, pythonPackages }:
+{ lib, fetchurl, python2Packages }:
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
pname = "lastfmsubmitd";
version = "1.0.6";
diff --git a/third_party/nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix b/third_party/nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix
index a25c522e12..e3f92d2da7 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix
@@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, makeWrapper
-, libsndfile, jack2Full
+, libsndfile, jack2
, libGLU, libGL, lv2, cairo
, ladspaH, php }:
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ pkg-config php makeWrapper ];
- buildInputs = [ jack2Full libsndfile libGLU libGL lv2 cairo ladspaH ];
+ buildInputs = [ jack2 libsndfile libGLU libGL lv2 cairo ladspaH ];
makeFlags = [
"PREFIX=${placeholder "out"}"
diff --git a/third_party/nixpkgs/pkgs/applications/audio/oxefmsynth/default.nix b/third_party/nixpkgs/pkgs/applications/audio/oxefmsynth/default.nix
new file mode 100644
index 0000000000..427029f3c8
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/audio/oxefmsynth/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, lib, fetchFromGitHub, unzip, fetchzip, libX11 }:
+
+let
+
+ vst-sdk = stdenv.mkDerivation rec {
+ name = "vstsdk3610_11_06_2018_build_37";
+ src = fetchzip {
+ url = "https://web.archive.org/web/20181016150224if_/https://download.steinberg.net/sdk_downloads/${name}.zip";
+ sha256 = "0da16iwac590wphz2sm5afrfj42jrsnkr1bxcy93lj7a369ildkj";
+ };
+ installPhase = "cp -r . $out";
+ };
+
+in stdenv.mkDerivation rec {
+ pname = "oxefmsynth";
+ version = "1.3.5";
+
+ src = fetchFromGitHub {
+ owner = "oxesoft";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "1rk71ls33a38wx8i22plsi7d89cqqxrfxknq5i4f9igsw1ipm4gn";
+ };
+
+ NIX_CFLAGS_COMPILE = [ "-Wno-error=narrowing" ];
+
+ buildFlags = [ "VSTSDK_PATH=${vst-sdk}/VST2_SDK" ];
+
+ buildInputs = [ libX11 ];
+
+ installPhase = ''
+ mkdir -p $out/lib/lxvst
+ install -Dm644 oxevst64.so -t $out/lib/lxvst
+ '';
+
+ meta = with lib; {
+ homepage = "https://github.com/oxesoft/oxefmsynth";
+ description = "An open source VST 2.4 instrument plugin";
+ maintainers = [ maintainers.hirenashah ];
+ platforms = [ "x86_64-linux" ];
+ license = licenses.gpl3Only;
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/audio/sonic-pi/default.nix b/third_party/nixpkgs/pkgs/applications/audio/sonic-pi/default.nix
index 349f4636a7..c84aa039c5 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/sonic-pi/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/sonic-pi/default.nix
@@ -9,7 +9,7 @@
, pkg-config
, boost
, bash
-, jack2Full
+, jack2
, supercollider
, qwt
, osmid
@@ -102,7 +102,7 @@ mkDerivation rec {
dontWrapQtApps = true;
preFixup = ''
wrapQtApp "$out/bin/sonic-pi" \
- --prefix PATH : ${ruby}/bin:${bash}/bin:${supercollider}/bin:${jack2Full}/bin \
+ --prefix PATH : ${ruby}/bin:${bash}/bin:${supercollider}/bin:${jack2}/bin \
--set AUBIO_LIB "${aubio}/lib/libaubio.so"
'';
diff --git a/third_party/nixpkgs/pkgs/applications/audio/spotify-qt/default.nix b/third_party/nixpkgs/pkgs/applications/audio/spotify-qt/default.nix
new file mode 100644
index 0000000000..211e45f7b1
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/audio/spotify-qt/default.nix
@@ -0,0 +1,36 @@
+{ fetchFromGitHub
+, lib
+, cmake
+, mkDerivation
+, libxcb
+, qtbase
+, qtsvg
+}:
+
+mkDerivation rec {
+ pname = "spotify-qt";
+ version = "3.5";
+
+ src = fetchFromGitHub {
+ owner = "kraxarn";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "1bgd0q4sbbww3lbrx2zwgaz0sl7qh195s4kvgsq16gv7ij82bskn";
+ };
+
+ buildInputs = [ libxcb qtbase qtsvg ];
+
+ nativeBuildInputs = [ cmake ];
+
+ cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=" ];
+
+ installFlags = [ "DESTDIR=$(out)" ];
+
+ meta = with lib; {
+ description = "Lightweight unofficial Spotify client using Qt";
+ homepage = "https://github.com/kraxarn/spotify-qt";
+ license = licenses.gpl3Only;
+ maintainers = with maintainers; [ kiyengar ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/audio/spotify/default.nix b/third_party/nixpkgs/pkgs/applications/audio/spotify/default.nix
index 69aae9d643..3be5af2755 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/spotify/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/spotify/default.nix
@@ -10,14 +10,14 @@ let
# If an update breaks things, one of those might have valuable info:
# https://aur.archlinux.org/packages/spotify/
# https://community.spotify.com/t5/Desktop-Linux
- version = "1.1.55.494.gca75f788";
+ version = "1.1.55.498.gf9a83c60";
# To get the latest stable revision:
# curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
# To get general information:
# curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
# More examples of api usage:
# https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
- rev = "45";
+ rev = "46";
deps = [
alsaLib
@@ -79,7 +79,7 @@ stdenv.mkDerivation {
# https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
src = fetchurl {
url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
- sha512 = "5d61a2d5b26be651620ab5d18d3a204d8d7b09dcec8a733ddc176c44cb43e9176c4350933ebe4498b065ba219113f3226c13bea9659da738fe635f41d01db303";
+ sha512 = "dabb55d2ba41f977b6d3f03bfcf147d11785136dd1277efc62011c8371ef25cc04531266bd16608639b9b6a500c1a18a45f44ba7a43e17ab5ac139e36eff7149";
};
nativeBuildInputs = [ makeWrapper squashfsTools ];
diff --git a/third_party/nixpkgs/pkgs/applications/audio/strawberry/default.nix b/third_party/nixpkgs/pkgs/applications/audio/strawberry/default.nix
index fc13c8862c..76ed0e9cc1 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/strawberry/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/strawberry/default.nix
@@ -35,13 +35,13 @@
mkDerivation rec {
pname = "strawberry";
- version = "0.9.1";
+ version = "0.9.2";
src = fetchFromGitHub {
owner = "jonaski";
repo = pname;
rev = version;
- sha256 = "sha256-1aXHMvjLK5WiE0mut/a3ynuMfNHgPbUzAZdmaVJBDXQ=";
+ sha256 = "sha256:0d9asg21j9ai23sb35cimws8bd8fsnpha777rgscraa7i09q0rx2";
};
buildInputs = [
@@ -67,7 +67,6 @@ mkDerivation rec {
libselinux
libsepol
p11-kit
- util-linux
]
++ lib.optionals withGstreamer (with gst_all_1; [
gstreamer
@@ -77,7 +76,11 @@ mkDerivation rec {
])
++ lib.optional withVlc libvlc;
- nativeBuildInputs = [ cmake ninja pkg-config qttools ];
+ nativeBuildInputs = [
+ cmake ninja pkg-config qttools
+ ] ++ lib.optionals stdenv.isLinux [
+ util-linux
+ ];
cmakeFlags = [
"-DUSE_SYSTEM_TAGLIB=ON"
@@ -91,7 +94,7 @@ mkDerivation rec {
description = "Music player and music collection organizer";
homepage = "https://www.strawberrymusicplayer.org/";
changelog = "https://raw.githubusercontent.com/jonaski/strawberry/${version}/Changelog";
- license = licenses.gpl3;
+ license = licenses.gpl3Only;
maintainers = with maintainers; [ peterhoeg ];
# upstream says darwin should work but they lack maintainers as of 0.6.6
platforms = platforms.linux;
diff --git a/third_party/nixpkgs/pkgs/applications/audio/sublime-music/default.nix b/third_party/nixpkgs/pkgs/applications/audio/sublime-music/default.nix
index 1f74998166..f584b13a29 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/sublime-music/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/sublime-music/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3Packages, gobject-introspection, gtk3, pango, wrapGAppsHook
+{ fetchFromGitLab, lib, python3Packages, gobject-introspection, gtk3, pango, wrapGAppsHook
, chromecastSupport ? false
, serverSupport ? false
, keyringSupport ? true
@@ -8,11 +8,13 @@
python3Packages.buildPythonApplication rec {
pname = "sublime-music";
- version = "0.11.7";
+ version = "0.11.10";
- src = python3Packages.fetchPypi {
- inherit pname version;
- sha256 = "1x6b02gw46gp6qcgv67j7k3gr1dpfczbyma6dxanag8pnpqrj8qi";
+ src = fetchFromGitLab {
+ owner = "sublime-music";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "1g78gmiywg07kaywfc9q0yab2bzxs936vb3157ni1z0flbmcwrry";
};
nativeBuildInputs = [
@@ -30,6 +32,7 @@ python3Packages.buildPythonApplication rec {
;
propagatedBuildInputs = with python3Packages; [
+ bleach
dataclasses-json
deepdiff
fuzzywuzzy
@@ -52,12 +55,22 @@ python3Packages.buildPythonApplication rec {
# no tests
doCheck = false;
- pythonImportsCheck = [ "sublime" ];
+ pythonImportsCheck = [ "sublime_music" ];
+
+ postInstall = ''
+ install -Dm444 sublime-music.desktop -t $out/share/applications
+ install -Dm444 sublime-music.metainfo.xml -t $out/share/metainfo
+
+ for size in 16 22 32 48 64 72 96 128 192 512 1024; do
+ install -Dm444 logo/rendered/"$size".png \
+ $out/share/icons/hicolor/"$size"x"$size"/apps/sublime-music.png
+ done
+ '';
meta = with lib; {
description = "GTK3 Subsonic/Airsonic client";
homepage = "https://sublimemusic.app/";
license = licenses.gpl3Plus;
- maintainers = with maintainers; [ albakham ];
+ maintainers = with maintainers; [ albakham sumnerevans ];
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/audio/tetraproc/default.nix b/third_party/nixpkgs/pkgs/applications/audio/tetraproc/default.nix
index 1fe56096e9..b501202948 100644
--- a/third_party/nixpkgs/pkgs/applications/audio/tetraproc/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/audio/tetraproc/default.nix
@@ -1,5 +1,5 @@
{ lib, stdenv, fetchurl, makeWrapper
-, expat, fftwFloat, fontconfig, freetype, libjack2, jack2Full, libclthreads, libclxclient
+, expat, fftwFloat, fontconfig, freetype, libjack2, jack2, libclthreads, libclxclient
, libsndfile, libxcb, xorg
}:
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
postInstall = ''
# Make sure Jack is avalable in $PATH for tetraproc
- wrapProgram $out/bin/tetraproc --prefix PATH : "${jack2Full}/bin"
+ wrapProgram $out/bin/tetraproc --prefix PATH : "${jack2}/bin"
'';
meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/applications/backup/pika-backup/default.nix b/third_party/nixpkgs/pkgs/applications/backup/pika-backup/default.nix
index 7f7be99f9a..f04a5a2d8b 100644
--- a/third_party/nixpkgs/pkgs/applications/backup/pika-backup/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/backup/pika-backup/default.nix
@@ -19,20 +19,20 @@
stdenv.mkDerivation rec {
pname = "pika-backup";
- version = "0.2.2";
+ version = "0.2.3";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "pika-backup";
rev = "v${version}";
- sha256 = "16284gv31wdwmb99056962d1gh6xz26ami6synr47nsbbp5l0s6k";
+ sha256 = "sha256-jy22eyuzM2y7vByT3TOlAUuTKtPepkB9iiHQT1YGQ88=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
- sha256 = "12ymjwpxx3sdna8w5j9fnwwfk8ynk9ziwl0lkpq68y0vyllln5an";
+ sha256 = "1ndcpgw18w3l5f7vv5vw8lxhgd5y1zxfarwnyfx13m7kcv8m3vyj";
};
patches = [
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix b/third_party/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix
index 61ce54beec..6952d9c007 100644
--- a/third_party/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/btcpayserver/default.nix
@@ -15,13 +15,13 @@ in
stdenv.mkDerivation rec {
pname = "btcpayserver";
- version = "1.0.7.0";
+ version = "1.0.7.2";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
- sha256 = "1pbq0kik29sx1lwlic7fvhnjhrpnlk94w53wmywqnlpgjscx8x8a";
+ sha256 = "1hxpbzc4l1zxrcvmdm93vvphhksfwd0mw2dv6h8vi4451p77dhd9";
};
nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/clightning.nix b/third_party/nixpkgs/pkgs/applications/blockchains/clightning.nix
index 745ac34997..44ed4d1541 100644
--- a/third_party/nixpkgs/pkgs/applications/blockchains/clightning.nix
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/clightning.nix
@@ -20,11 +20,11 @@ let
in
stdenv.mkDerivation rec {
pname = "clightning";
- version = "0.9.3";
+ version = "0.10.0";
src = fetchurl {
url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip";
- sha256 = "b4563921ed8bccd59d32b031f81825dc57fbe90882f0ecd5da89e48b59ff18b2";
+ sha256 = "5154e67780dddbf12f64c4b1994c3ee3834236f05b6462adf25e8a5f3fa407ea";
};
nativeBuildInputs = [ autogen autoconf automake gettext libtool pkg-config py3 unzip which ];
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/crypto-org-wallet.nix b/third_party/nixpkgs/pkgs/applications/blockchains/crypto-org-wallet.nix
new file mode 100644
index 0000000000..be45967018
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/crypto-org-wallet.nix
@@ -0,0 +1,33 @@
+{ lib, fetchurl, makeDesktopItem, appimageTools, imagemagick }:
+
+let
+ pname = "chain-desktop-wallet";
+ version = "0.1.1";
+ name = "${pname}-${version}";
+
+ src = fetchurl {
+ url = "https://github.com/crypto-com/${pname}/releases/download/v${version}/${name}-x86_64.AppImage";
+ sha256 = "12076hf8dlz0hg1pb2ixwlslrh8gi6s1iawnvhnn6vz4jmjvq356";
+ };
+
+ appimageContents = appimageTools.extractType2 { inherit name src; };
+in appimageTools.wrapType2 rec {
+ inherit name src;
+
+ extraInstallCommands = ''
+ mv $out/bin/${name} $out/bin/${pname}
+ install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
+ ${imagemagick}/bin/convert ${appimageContents}/${pname}.png -resize 512x512 ${pname}_512.png
+ install -m 444 -D ${pname}_512.png $out/share/icons/hicolor/512x512/apps/${pname}.png
+ substituteInPlace $out/share/applications/${pname}.desktop \
+ --replace 'Exec=AppRun --no-sandbox %U' "Exec=$out/bin/${pname}"
+ '';
+
+ meta = with lib; {
+ description = "Crypto.org Chain desktop wallet (Beta)";
+ homepage = "https://github.com/crypto-com/chain-desktop-wallet";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ th0rgal ];
+ platforms = [ "x86_64-linux" ];
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/display-managers/lightdm/gtk-greeter.nix b/third_party/nixpkgs/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
index 90f7a03d0d..b012699a16 100644
--- a/third_party/nixpkgs/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
+++ b/third_party/nixpkgs/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
@@ -9,7 +9,7 @@
, useGTK2 ? false
, gtk2
, gtk3 # gtk3 seems better supported
-, exo
+, xfce4-dev-tools
, at-spi2-core
, librsvg
, hicolor-icon-theme
@@ -31,8 +31,8 @@ stdenv.mkDerivation rec {
sha256 = "1g7wc3d3vqfa7mrdhx1w9ywydgjbffla6rbrxq9k3sc62br97qms";
};
- nativeBuildInputs = [ pkg-config intltool wrapGAppsHook ];
- buildInputs = [ lightdm exo librsvg hicolor-icon-theme ]
+ nativeBuildInputs = [ pkg-config intltool xfce4-dev-tools wrapGAppsHook ];
+ buildInputs = [ lightdm librsvg hicolor-icon-theme ]
++ (if useGTK2 then [ gtk2 ] else [ gtk3 ]);
configureFlags = [
@@ -42,6 +42,13 @@ stdenv.mkDerivation rec {
"--sbindir=${placeholder "out"}/bin" # for wrapGAppsHook to wrap automatically
] ++ lib.optional useGTK2 "--with-gtk2";
+ postPatch = ''
+ # exo-csource has been dropped from exo, and replaced by xdt-csource from xfce4-dev-tools
+ for f in configure.ac src/Makefile.am; do
+ substituteInPlace $f --replace exo-csource xdt-csource
+ done
+ '';
+
preConfigure = ''
configureFlagsArray+=( --enable-at-spi-command="${at-spi2-core}/libexec/at-spi-bus-launcher --launch-immediately" )
'';
@@ -66,7 +73,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://launchpad.net/lightdm-gtk-greeter";
platforms = platforms.linux;
- license = licenses.gpl3;
+ license = licenses.gpl3Plus;
maintainers = with maintainers; [ ];
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/editors/jetbrains/default.nix b/third_party/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
index 0901c815f1..e7628715a2 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
@@ -1,5 +1,4 @@
{ lib, stdenv, callPackage, fetchurl
-, python
, jdk, cmake, libxml2, zlib, python3, ncurses5
, dotnet-sdk_3
, vmopts ? null
@@ -199,7 +198,7 @@ let
platforms = platforms.linux;
};
}).override {
- propagatedUserEnvPkgs = [ python ];
+ propagatedUserEnvPkgs = [ python3 ];
};
buildRider = { name, version, src, license, description, wmClass, ... }:
diff --git a/third_party/nixpkgs/pkgs/applications/editors/jucipp/default.nix b/third_party/nixpkgs/pkgs/applications/editors/jucipp/default.nix
index 95b41ba5ca..7304219e23 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/jucipp/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/jucipp/default.nix
@@ -15,6 +15,9 @@ stdenv.mkDerivation rec {
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ xnwdd ];
+ # error: token ""1.1"" is not valid in preprocessor expression
+ # TODO: fix pname being different from the attribute name
+ broken = true;
};
src = fetchgit {
diff --git a/third_party/nixpkgs/pkgs/applications/editors/poke/default.nix b/third_party/nixpkgs/pkgs/applications/editors/poke/default.nix
index 22e6185b22..47b9677e31 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/poke/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/poke/default.nix
@@ -68,6 +68,7 @@ in stdenv.mkDerivation rec {
license = licenses.gpl3Plus;
maintainers = with maintainers; [ AndersonTorres metadark ];
platforms = platforms.unix;
+ changelog = "https://git.savannah.gnu.org/cgit/poke.git/plain/ChangeLog?h=releases/poke-${version}";
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/editors/sigil/default.nix b/third_party/nixpkgs/pkgs/applications/editors/sigil/default.nix
index b34441d100..d3d6e97f3f 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/sigil/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/sigil/default.nix
@@ -6,13 +6,13 @@
mkDerivation rec {
pname = "sigil";
- version = "1.4.3";
+ version = "1.5.1";
src = fetchFromGitHub {
repo = "Sigil";
owner = "Sigil-Ebook";
rev = version;
- sha256 = "1hk8kmhvkwfimbxzhwbnb8qdpf4n36cdzl9wfvi574i9pps36hnz";
+ sha256 = "sha256-BqNaIsUJE0KmFcmTjJERbclzaRe1dMjareWxUye2se0=";
};
pythonPath = with python3Packages; [ lxml ];
diff --git a/third_party/nixpkgs/pkgs/applications/editors/vim/common.nix b/third_party/nixpkgs/pkgs/applications/editors/vim/common.nix
index 4ae7600f4a..71e7be66b1 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/vim/common.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/vim/common.nix
@@ -1,12 +1,12 @@
{ lib, fetchFromGitHub }:
rec {
- version = "8.2.1522";
+ version = "8.2.2567";
src = fetchFromGitHub {
owner = "vim";
repo = "vim";
rev = "v${version}";
- sha256 = "0dah3392cq06pagik5y7kcq61mslqvfsh7vqldv3kvhr5ilqb8qy";
+ sha256 = "sha256-FS3TZX7FKnnNpGYKbng2LIfWA9z2jqg7d2HC6t3xYTU=";
};
enableParallelBuilding = true;
diff --git a/third_party/nixpkgs/pkgs/applications/editors/vscode/vscode.nix b/third_party/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
index 988bcf412e..09a58e7dfd 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/vscode/vscode.nix
@@ -13,10 +13,10 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = {
- x86_64-linux = "0fpa3b807hy3wrb98h5s0p6ljya279bikv2qwq30nvr0f4zn48bk";
- x86_64-darwin = "0bw7pdzn0a0zr7x8fpwck7v73dq5vh71ja00z11mhjrkjnvmmd9k";
- aarch64-linux = "04wrqcmyamhwiwcyay1z0q0dvf6g7k3pcs93x7hahy16l65w7s2c";
- armv7l-linux = "1hkc9i4z021jwjn275w790bppfvi63g0cnwvkssqdh1c94939rhv";
+ x86_64-linux = "0z1diiiykv4ilsiljffz9sl2mlvrxq0xwm8ga2ralfvjwbhzr6dn";
+ x86_64-darwin = "02gzw46w3kzw1ya9nx8fkhvzi0mbpz2fyp47n58jki2zkdsfiwzh";
+ aarch64-linux = "0bkvgdxch95dqcb41ncsjkaaswmwv6zad4hzdsr3famjm2vym1ky";
+ armv7l-linux = "0wdp97ihdnx9bcyn2dh6wzhb7qvdj6x730r7ng1q3i9jhd19wfi3";
}.${system};
in
callPackage ./generic.nix rec {
@@ -25,7 +25,7 @@ in
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
- version = "1.54.3";
+ version = "1.55.0";
pname = "vscode";
executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/third_party/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix b/third_party/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix
index 06613485e7..b11a8a8f10 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/vscode/vscodium.nix
@@ -13,10 +13,10 @@ let
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
sha256 = {
- x86_64-linux = "1577wxmm8623aj513hxqcfim4d9p1r9wbla9my0c0c1x6pik0h8h";
- x86_64-darwin = "1n8q626nlqw78wlpfppzj365gmlz2swll6csg3ic7p4ik3nak95b";
- aarch64-linux = "1a7rkmhz456rsqw95lrknp1wqsdp63pkzh76vhzy5bazb1h081v0";
- armv7l-linux = "1qjik1r41c8n9fs7p09p0zdj8c5xgqjniwv23hcy6mp28i4whclr";
+ x86_64-linux = "0zzdbknmljf1hizmxnrby17i8v3kp98rklinywnr632jwgjms81j";
+ x86_64-darwin = "0mccq1b0l6r1ipxp5gvyam43c2hh8hxdvwqikkz6g7y93p29wz9g";
+ aarch64-linux = "12gpday6gzl1adcykqhgz3xrdm9568a26gsndmplkn2n6l6agnp0";
+ armv7l-linux = "0l886vdw7az0nvvhh14pjawz0yyib59ymychy7gbk8ay5g9vfv03";
}.${system};
sourceRoot = {
@@ -33,7 +33,7 @@ in
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
- version = "1.54.3";
+ version = "1.55.0";
pname = "vscodium";
executableName = "codium";
diff --git a/third_party/nixpkgs/pkgs/applications/gis/saga/default.nix b/third_party/nixpkgs/pkgs/applications/gis/saga/default.nix
index c67abe1a74..47defd44c6 100644
--- a/third_party/nixpkgs/pkgs/applications/gis/saga/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/gis/saga/default.nix
@@ -12,7 +12,7 @@
, dxflib
, curl
, libiodbc
-, lzma
+, xz
, libharu
, opencv
, vigra
@@ -64,7 +64,7 @@ mkDerivation rec {
vigra
postgresql
libiodbc
- lzma
+ xz
qhull
giflib
]
diff --git a/third_party/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix b/third_party/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix
index 58c47721b6..49021f5e3c 100644
--- a/third_party/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/third_party/nixpkgs/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -14,8 +14,8 @@ let
else throw "ImageMagick is not supported on this platform.";
cfg = {
- version = "7.0.10-61";
- sha256 = "sha256-c/90N5H9iz5JYmn7/ynHgSOAmO5NTtkxajChZvjfMP8=";
+ version = "7.0.11-3";
+ sha256 = "sha256-y937OxAHNTbWa96oQmTpp/ivxtPVL16hr4SvzZWugQo=";
patches = [];
};
in
@@ -84,6 +84,7 @@ stdenv.mkDerivation {
homepage = "http://www.imagemagick.org/";
description = "A software suite to create, edit, compose, or convert bitmap images";
platforms = platforms.linux ++ platforms.darwin;
+ maintainers = with maintainers; [ erictapen ];
license = licenses.asl20;
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/graphics/drawio/default.nix b/third_party/nixpkgs/pkgs/applications/graphics/drawio/default.nix
index 82007caea9..4155767a36 100644
--- a/third_party/nixpkgs/pkgs/applications/graphics/drawio/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/graphics/drawio/default.nix
@@ -4,18 +4,18 @@
, alsaLib, atk, at-spi2-atk, at-spi2-core, cairo, dbus, cups, expat
, gdk-pixbuf, glib, gtk3, libX11, libXScrnSaver, libXcomposite, libXcursor
, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst
-, libxcb, libuuid, nspr, nss, pango
+, libxcb, libuuid, libxshmfence, nspr, nss, pango
, systemd
}:
stdenv.mkDerivation rec {
pname = "drawio";
- version = "14.4.3";
+ version = "14.5.1";
src = fetchurl {
- url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm";
- hash = "sha256-0wBjZg6IvjVTzAGeXTBBZjIN6s9NxKV0r76YK9h4fFk=";
+ url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm";
+ hash = "sha256-ZrEoeeEhHQOLm/L3KA43Ru5fruIPK35CCUsllwpPB58=";
};
nativeBuildInputs = [
@@ -46,6 +46,7 @@ stdenv.mkDerivation rec {
libXi
libXrandr
libXrender
+ libxshmfence
libXtst
libxcb
libuuid
@@ -66,7 +67,7 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/share
- cp -r opt/draw.io $out/share/
+ cp -r opt/drawio $out/share/
# Application icon
mkdir -p $out/share/icons/hicolor
@@ -77,11 +78,11 @@ stdenv.mkDerivation rec {
# Symlink wrapper
mkdir -p $out/bin
- ln -s $out/share/draw.io/drawio $out/bin/drawio
+ ln -s $out/share/drawio/drawio $out/bin/drawio
# Update binary path
substituteInPlace $out/share/applications/drawio.desktop \
- --replace /opt/draw.io/drawio $out/bin/drawio
+ --replace /opt/drawio/drawio $out/bin/drawio
'';
meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/applications/graphics/freecad/default.nix b/third_party/nixpkgs/pkgs/applications/graphics/freecad/default.nix
index 56994e1721..440cc7fa38 100644
--- a/third_party/nixpkgs/pkgs/applications/graphics/freecad/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/graphics/freecad/default.nix
@@ -1,4 +1,5 @@
{ lib
+, stdenv
, mkDerivation
, fetchFromGitHub
, fetchpatch
@@ -35,7 +36,7 @@
, scipy
, shiboken2
, soqt
-, spaceNavSupport ? true
+, spaceNavSupport ? stdenv.isLinux
, swig
, vtk
, wrapQtAppsHook
diff --git a/third_party/nixpkgs/pkgs/applications/graphics/hydrus/default.nix b/third_party/nixpkgs/pkgs/applications/graphics/hydrus/default.nix
index 365dbb66b6..df1fcc9eb6 100644
--- a/third_party/nixpkgs/pkgs/applications/graphics/hydrus/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/graphics/hydrus/default.nix
@@ -1,6 +1,6 @@
{ lib
, fetchFromGitHub
-, lzma
+, xz
, qt5
, wrapQtAppsHook
, miniupnpc_2
@@ -39,7 +39,7 @@ pythonPackages.buildPythonPackage rec {
service-identity
twisted
lz4
- lzma
+ xz
pysocks
matplotlib
qtpy
diff --git a/third_party/nixpkgs/pkgs/applications/graphics/openscad/default.nix b/third_party/nixpkgs/pkgs/applications/graphics/openscad/default.nix
index 3accf2fd59..ac41a23f8b 100644
--- a/third_party/nixpkgs/pkgs/applications/graphics/openscad/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/graphics/openscad/default.nix
@@ -25,6 +25,7 @@
, mkDerivation
, qtmacextras
, qmake
+, spacenavSupport ? stdenv.isLinux, libspnav
}:
mkDerivation rec {
@@ -46,9 +47,15 @@ mkDerivation rec {
qtbase qtmultimedia qscintilla
] ++ lib.optionals stdenv.isLinux [ libGLU libGL ]
++ lib.optional stdenv.isDarwin qtmacextras
+ ++ lib.optional spacenavSupport libspnav
;
- qmakeFlags = [ "VERSION=${version}" ];
+ qmakeFlags = [ "VERSION=${version}" ] ++
+ lib.optionals spacenavSupport [
+ "ENABLE_SPNAV=1"
+ "SPNAV_INCLUDEPATH=${libspnav}/include"
+ "SPNAV_LIBPATH=${libspnav}/lib"
+ ];
# src/lexer.l:36:10: fatal error: parser.hxx: No such file or directory
enableParallelBuilding = false; # true by default due to qmake
diff --git a/third_party/nixpkgs/pkgs/applications/graphics/opentoonz/default.nix b/third_party/nixpkgs/pkgs/applications/graphics/opentoonz/default.nix
index da5aa7bf6e..14a130d7f4 100644
--- a/third_party/nixpkgs/pkgs/applications/graphics/opentoonz/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/graphics/opentoonz/default.nix
@@ -1,5 +1,5 @@
{ boost, cmake, fetchFromGitHub, freeglut, freetype, glew, libjpeg, libmypaint
-, libpng, libtiff, libusb1, lz4, lzma, lzo, openblas, pkg-config, qtbase
+, libpng, libtiff, libusb1, lz4, xz, lzo, openblas, pkg-config, qtbase
, qtmultimedia, qtscript, lib, stdenv, superlu, wrapQtAppsHook, }:
let source = import ./source.nix { inherit fetchFromGitHub; };
in stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ in stdenv.mkDerivation rec {
libtiff
libusb1
lz4
- lzma
+ xz
lzo
openblas
qtbase
diff --git a/third_party/nixpkgs/pkgs/applications/graphics/sane/config.nix b/third_party/nixpkgs/pkgs/applications/graphics/sane/config.nix
index 304df652f1..397e17837b 100644
--- a/third_party/nixpkgs/pkgs/applications/graphics/sane/config.nix
+++ b/third_party/nixpkgs/pkgs/applications/graphics/sane/config.nix
@@ -1,9 +1,10 @@
{ lib, stdenv }:
-{ paths }:
+{ paths, disabledDefaultBackends ? [] }:
with lib;
-let installSanePath = path: ''
+let
+installSanePath = path: ''
if [ -e "${path}/lib/sane" ]; then
find "${path}/lib/sane" -maxdepth 1 -not -type d | while read backend; do
symlink "$backend" "$out/lib/sane/$(basename "$backend")"
@@ -27,6 +28,10 @@ let installSanePath = path: ''
done
fi
'';
+ disableBackend = backend: ''
+ grep -q '${backend}' $out/etc/sane.d/dll.conf || { echo '${backend} is not a default plugin in $SANE_CONFIG_DIR/dll.conf'; exit 1; }
+ substituteInPlace $out/etc/sane.d/dll.conf --replace '${backend}' '# ${backend} disabled in nixos config'
+ '';
in
stdenv.mkDerivation {
name = "sane-config";
@@ -42,5 +47,7 @@ stdenv.mkDerivation {
}
mkdir -p $out/etc/sane.d $out/etc/sane.d/dll.d $out/lib/sane
- '' + concatMapStrings installSanePath paths;
+ ''
+ + (concatMapStrings installSanePath paths)
+ + (concatMapStrings disableBackend disabledDefaultBackends);
}
diff --git a/third_party/nixpkgs/pkgs/applications/kde/akonadi/default.nix b/third_party/nixpkgs/pkgs/applications/kde/akonadi/default.nix
index e0b0e2324b..fd662d7e99 100644
--- a/third_party/nixpkgs/pkgs/applications/kde/akonadi/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/kde/akonadi/default.nix
@@ -2,8 +2,8 @@
mkDerivation, lib, kdepimTeam,
extra-cmake-modules, shared-mime-info, qtbase, accounts-qt,
boost, kaccounts-integration, kcompletion, kconfigwidgets, kcrash, kdbusaddons,
- kdesignerplugin, ki18n, kiconthemes, kio, kitemmodels, kwindowsystem, mysql, qttools,
- signond, lzma,
+ kdesignerplugin, ki18n, kiconthemes, kio, kitemmodels, kwindowsystem, mariadb, qttools,
+ signond, xz,
}:
mkDerivation {
@@ -21,15 +21,15 @@ mkDerivation {
nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
buildInputs = [
kaccounts-integration kcompletion kconfigwidgets kcrash kdbusaddons kdesignerplugin
- ki18n kiconthemes kio kwindowsystem lzma accounts-qt qttools signond
+ ki18n kiconthemes kio kwindowsystem xz accounts-qt qttools signond
];
propagatedBuildInputs = [ boost kitemmodels ];
outputs = [ "out" "dev" ];
CXXFLAGS = [
- ''-DNIXPKGS_MYSQL_MYSQLD=\"${lib.getBin mysql}/bin/mysqld\"''
- ''-DNIXPKGS_MYSQL_MYSQLADMIN=\"${lib.getBin mysql}/bin/mysqladmin\"''
- ''-DNIXPKGS_MYSQL_MYSQL_INSTALL_DB=\"${lib.getBin mysql}/bin/mysql_install_db\"''
- ''-DNIXPKGS_MYSQL_MYSQLCHECK=\"${lib.getBin mysql}/bin/mysqlcheck\"''
+ ''-DNIXPKGS_MYSQL_MYSQLD=\"${lib.getBin mariadb}/bin/mysqld\"''
+ ''-DNIXPKGS_MYSQL_MYSQLADMIN=\"${lib.getBin mariadb}/bin/mysqladmin\"''
+ ''-DNIXPKGS_MYSQL_MYSQL_INSTALL_DB=\"${lib.getBin mariadb}/bin/mysql_install_db\"''
+ ''-DNIXPKGS_MYSQL_MYSQLCHECK=\"${lib.getBin mariadb}/bin/mysqlcheck\"''
''-DNIXPKGS_POSTGRES_PG_CTL=\"\"''
''-DNIXPKGS_POSTGRES_PG_UPGRADE=\"\"''
''-DNIXPKGS_POSTGRES_INITDB=\"\"''
diff --git a/third_party/nixpkgs/pkgs/applications/kde/kcachegrind.nix b/third_party/nixpkgs/pkgs/applications/kde/kcachegrind.nix
index 308ed35dc4..72c22c21ec 100644
--- a/third_party/nixpkgs/pkgs/applications/kde/kcachegrind.nix
+++ b/third_party/nixpkgs/pkgs/applications/kde/kcachegrind.nix
@@ -1,7 +1,7 @@
{
mkDerivation, lib,
extra-cmake-modules, kdoctools,
- karchive, ki18n, kio, perl, python, php, qttools
+ karchive, ki18n, kio, perl, python3, php, qttools
, kdbusaddons
}:
@@ -12,5 +12,5 @@ mkDerivation {
maintainers = with lib.maintainers; [ orivej ];
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
- buildInputs = [ karchive ki18n kio perl python php qttools kdbusaddons ];
+ buildInputs = [ karchive ki18n kio perl python3 php qttools kdbusaddons ];
}
diff --git a/third_party/nixpkgs/pkgs/applications/kde/kdebugsettings.nix b/third_party/nixpkgs/pkgs/applications/kde/kdebugsettings.nix
index 0287830485..7f24ec8e2f 100644
--- a/third_party/nixpkgs/pkgs/applications/kde/kdebugsettings.nix
+++ b/third_party/nixpkgs/pkgs/applications/kde/kdebugsettings.nix
@@ -3,7 +3,7 @@
extra-cmake-modules, kdoctools,
gettext,
kcoreaddons, kconfig, kdbusaddons, kwidgetsaddons, kitemviews, kcompletion,
- qtbase, python
+ qtbase, python3
}:
mkDerivation {
@@ -15,7 +15,7 @@ mkDerivation {
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
- gettext kcoreaddons kconfig kdbusaddons kwidgetsaddons kitemviews kcompletion python
+ gettext kcoreaddons kconfig kdbusaddons kwidgetsaddons kitemviews kcompletion python3
];
propagatedUserEnvPkgs = [ ];
}
diff --git a/third_party/nixpkgs/pkgs/applications/kde/minuet.nix b/third_party/nixpkgs/pkgs/applications/kde/minuet.nix
index ca7d6124ed..cc7be0bf79 100644
--- a/third_party/nixpkgs/pkgs/applications/kde/minuet.nix
+++ b/third_party/nixpkgs/pkgs/applications/kde/minuet.nix
@@ -1,5 +1,5 @@
{ mkDerivation, qtbase
-, lib, extra-cmake-modules, gettext, python
+, lib, extra-cmake-modules, gettext, python3
, drumstick, fluidsynth
, kcoreaddons, kcrash, kdoctools
, qtquickcontrols2, qtsvg, qttools, qtdeclarative
@@ -13,7 +13,7 @@ mkDerivation {
broken = lib.versionOlder qtbase.version "5.14";
};
- nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python qtdeclarative ];
+ nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python3 qtdeclarative ];
propagatedBuildInputs = [
drumstick fluidsynth
diff --git a/third_party/nixpkgs/pkgs/applications/misc/azuredatastudio/default.nix b/third_party/nixpkgs/pkgs/applications/misc/azuredatastudio/default.nix
index 9472af7a16..56894a29a6 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/azuredatastudio/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/azuredatastudio/default.nix
@@ -12,7 +12,7 @@
, at-spi2-atk
, gnutar
, atomEnv
-, kerberos
+, libkrb5
}:
# from justinwoo/azuredatastudio-nix
@@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
at-spi2-core
at-spi2-atk
stdenv.cc.cc.lib
- kerberos
+ libkrb5
]
)
targetPath
diff --git a/third_party/nixpkgs/pkgs/applications/misc/bashSnippets/default.nix b/third_party/nixpkgs/pkgs/applications/misc/bashSnippets/default.nix
index 52d56d5c8f..cec4e8dd8c 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/bashSnippets/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/bashSnippets/default.nix
@@ -1,12 +1,12 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper
-, curl, python3, bind, iproute, bc, gitMinimal }:
+, curl, python3, bind, iproute2, bc, gitMinimal }:
let
version = "1.23.0";
deps = lib.makeBinPath [
curl
python3
bind.dnsutils
- iproute
+ iproute2
bc
gitMinimal
];
diff --git a/third_party/nixpkgs/pkgs/applications/misc/blender/darwin.patch b/third_party/nixpkgs/pkgs/applications/misc/blender/darwin.patch
index bfbfb5e48e..da2d6fa4a3 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/blender/darwin.patch
+++ b/third_party/nixpkgs/pkgs/applications/misc/blender/darwin.patch
@@ -1,15 +1,16 @@
-diff a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
+diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
+index 31da529..90308aa 100644
--- a/build_files/cmake/platform/platform_apple.cmake
+++ b/build_files/cmake/platform/platform_apple.cmake
-@@ -80,7 +80,6 @@ else()
+@@ -77,7 +77,6 @@ else()
message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}")
endif()
if(NOT EXISTS "${LIBDIR}/")
- message(FATAL_ERROR "Mac OSX requires pre-compiled libs at: '${LIBDIR}'")
endif()
- # -------------------------------------------------------------------------
-@@ -112,10 +111,6 @@ if(WITH_CODEC_SNDFILE)
+ # Prefer lib directory paths
+@@ -113,10 +112,6 @@ if(WITH_CODEC_SNDFILE)
find_library(_sndfile_VORBIS_LIBRARY NAMES vorbis HINTS ${LIBDIR}/ffmpeg/lib)
find_library(_sndfile_VORBISENC_LIBRARY NAMES vorbisenc HINTS ${LIBDIR}/ffmpeg/lib)
list(APPEND LIBSNDFILE_LIBRARIES
@@ -20,7 +21,7 @@ diff a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platf
)
print_found_status("SndFile libraries" "${LIBSNDFILE_LIBRARIES}")
-@@ -132,7 +127,7 @@ if(WITH_PYTHON)
+@@ -133,7 +128,7 @@ if(WITH_PYTHON)
# normally cached but not since we include them with blender
set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}m")
set(PYTHON_EXECUTABLE "${LIBDIR}/python/bin/python${PYTHON_VERSION}m")
@@ -29,7 +30,7 @@ diff a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platf
set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}")
# set(PYTHON_LINKFLAGS "-u _PyMac_Error") # won't build with this enabled
else()
-@@ -173,9 +168,7 @@ endif()
+@@ -174,9 +169,7 @@ endif()
if(WITH_CODEC_FFMPEG)
set(FFMPEG_FIND_COMPONENTS
avcodec avdevice avformat avutil
@@ -40,20 +41,20 @@ diff a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platf
find_package(FFmpeg)
endif()
-@@ -266,7 +259,6 @@ if(WITH_BOOST)
+@@ -267,7 +260,6 @@ if(WITH_BOOST)
endif()
if(WITH_INTERNATIONAL OR WITH_CODEC_FFMPEG)
-- set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -liconv") # boost_locale and ffmpeg needs it !
+- string(APPEND PLATFORM_LINKFLAGS " -liconv") # boost_locale and ffmpeg needs it !
endif()
- if(WITH_OPENIMAGEIO)
-@@ -439,7 +431,7 @@ else()
+ if(WITH_PUGIXML)
+@@ -451,7 +443,7 @@ else()
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -mdynamic-no-pic")
endif()
-if(${XCODE_VERSION} VERSION_EQUAL 5 OR ${XCODE_VERSION} VERSION_GREATER 5)
+if(FALSE)
# Xcode 5 is always using CLANG, which has too low template depth of 128 for libmv
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftemplate-depth=1024")
+ string(APPEND CMAKE_CXX_FLAGS " -ftemplate-depth=1024")
endif()
diff --git a/third_party/nixpkgs/pkgs/applications/misc/blender/default.nix b/third_party/nixpkgs/pkgs/applications/misc/blender/default.nix
index 69f0d58159..451cc9a33f 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/blender/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/blender/default.nix
@@ -7,9 +7,11 @@
, jackaudioSupport ? false, libjack2
, cudaSupport ? config.cudaSupport or false, cudatoolkit
, colladaSupport ? true, opencollada
-, spaceNavSupport ? false, libspnav
+, spaceNavSupport ? stdenv.isLinux, libspnav
, makeWrapper
, pugixml, llvmPackages, SDL, Cocoa, CoreGraphics, ForceFeedback, OpenAL, OpenGL
+, potrace
+, openxr-loader
, embree, gmp
}:
@@ -24,11 +26,11 @@ let
in
stdenv.mkDerivation rec {
pname = "blender";
- version = "2.91.0";
+ version = "2.92.0";
src = fetchurl {
url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
- sha256 = "0x396lgmk0dq9115yrc36s8zwxzmjr490sr5n2y6w27y17yllyjm";
+ sha256 = "15a5vffn18a920286x0avbc2rap56k6y531wgibq68r90g2cz4g7";
};
patches = lib.optional stdenv.isDarwin ./darwin.patch;
@@ -44,11 +46,13 @@ stdenv.mkDerivation rec {
embree
gmp
pugixml
+ potrace
]
++ (if (!stdenv.isDarwin) then [
libXi libX11 libXext libXrender
libGLU libGL openal
libXxf86vm
+ openxr-loader
# OpenVDB currently doesn't build on darwin
openvdb
]
@@ -104,6 +108,7 @@ stdenv.mkDerivation rec {
"-DWITH_PYTHON_INSTALL=OFF"
"-DWITH_PYTHON_INSTALL_NUMPY=OFF"
"-DPYTHON_NUMPY_PATH=${python3Packages.numpy}/${python.sitePackages}"
+ "-DPYTHON_NUMPY_INCLUDE_DIRS=${python3Packages.numpy}/${python.sitePackages}/numpy/core/include"
"-DWITH_OPENVDB=ON"
"-DWITH_TBB=ON"
"-DWITH_IMAGE_OPENJPEG=ON"
diff --git a/third_party/nixpkgs/pkgs/applications/misc/clight/clightd.nix b/third_party/nixpkgs/pkgs/applications/misc/clight/clightd.nix
index 632a0d5d0e..192cddc2e1 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/clight/clightd.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/clight/clightd.nix
@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "clightd";
- version = "5.2";
+ version = "5.3";
src = fetchFromGitHub {
owner = "FedeDP";
repo = "Clightd";
rev = version;
- sha256 = "sha256-bb+PQsWLf4KnbzWUY6B42yHaDQKN9dtyfwSLe8FBaWU=";
+ sha256 = "sha256-CuTYCNZ9oiDsm5mUDmjbxkmAl61PEXv3WMrZRzgdZeE=";
};
# dbus-1.pc has datadir=/etc
diff --git a/third_party/nixpkgs/pkgs/applications/misc/cpu-x/default.nix b/third_party/nixpkgs/pkgs/applications/misc/cpu-x/default.nix
index d0ef6f05ae..2de06f8c03 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/cpu-x/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/cpu-x/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "cpu-x";
- version = "4.0.1";
+ version = "4.2.0";
src = fetchFromGitHub {
owner = "X0rg";
repo = "CPU-X";
rev = "v${version}";
- sha256 = "191zkkswlbbsw492yygc3idf7wh3bxs97drrqvqqw0mqvrzykxm3";
+ sha256 = "sha256-LWIcE86o+uU8G9DtumiH6iTqHhvq4y/QyQX7J3FhKEc=";
};
nativeBuildInputs = [ cmake pkg-config wrapGAppsHook nasm makeWrapper ];
diff --git a/third_party/nixpkgs/pkgs/applications/misc/cura/plugins.nix b/third_party/nixpkgs/pkgs/applications/misc/cura/plugins.nix
index 699df0e193..bd22cc4745 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/cura/plugins.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/cura/plugins.nix
@@ -6,13 +6,13 @@ let
octoprint = stdenv.mkDerivation rec {
pname = "Cura-OctoPrintPlugin";
- version = "3.5.16";
+ version = "3.5.18";
src = fetchFromGitHub {
owner = "fieldOfView";
repo = pname;
- rev = "8affa8aa9796cb37129d3b7222fff03f86c936cd";
- sha256 = "0l4qfcashkdmpdm8nm3klz6hmi1f0bmbpb9b1yn4mvg0fam6c5xi";
+ rev = "7bd73946fbf22d18337dc900a81a011ece26bee0";
+ sha256 = "057b2f5f49p96lkh2wsr9w6yh2003x4a85irqsgbzp6igmk8imdn";
};
propagatedBuildInputs = with python3Packages; [
diff --git a/third_party/nixpkgs/pkgs/applications/misc/dasel/default.nix b/third_party/nixpkgs/pkgs/applications/misc/dasel/default.nix
index 6cbc7ffd47..a78ac11d67 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/dasel/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/dasel/default.nix
@@ -5,13 +5,13 @@
buildGoModule rec {
pname = "dasel";
- version = "1.13.5";
+ version = "1.13.6";
src = fetchFromGitHub {
owner = "TomWright";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-Fy202w1lUrymnpnCmWwnbpMsda7JrZ3B0c+a9UtKsSA=";
+ sha256 = "sha256-PTi1blbMVsuftLrFIYNDI8ZFEwRxDA53Md9oZTv7nHs=";
};
vendorSha256 = "sha256-BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY=";
diff --git a/third_party/nixpkgs/pkgs/applications/misc/electrum/default.nix b/third_party/nixpkgs/pkgs/applications/misc/electrum/default.nix
index edce14d057..44f35e503c 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/electrum/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/electrum/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
, fetchurl
, fetchFromGitHub
, wrapQtAppsHook
@@ -19,7 +20,7 @@
}:
let
- version = "4.0.9";
+ version = "4.1.1";
libsecp256k1_name =
if stdenv.isLinux then "libsecp256k1.so.0"
@@ -35,7 +36,7 @@ let
owner = "spesmilo";
repo = "electrum";
rev = version;
- sha256 = "0cmdyfabllw4wnpqpdxp3l6hjnm0cvkwxn0z8ph4x54sf4zq9iz3";
+ sha256 = "0zvv8nmjzw5pchykz5p28483nby4lp4ah7iqr08pv36gy89l51v5";
extraPostFetch = ''
mv $out ./all
@@ -50,7 +51,7 @@ python3.pkgs.buildPythonApplication {
src = fetchurl {
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
- sha256 = "1fvjiagi78f32nxgr2rx8jas8hxfvpp1c8fpfcalvykmlhdc2gva";
+ sha256 = "0yg6ld92a4xgn7y8i51hmr3kmgmrbrjwniikkmyq9q141h2drb80";
};
postUnpack = ''
@@ -77,10 +78,10 @@ python3.pkgs.buildPythonApplication {
requests
tlslite-ng
# plugins
+ btchip
ckcc-protocol
keepkey
trezor
- btchip
] ++ lib.optionals enableQt [ pyqt5 qdarkstyle ];
preBuild = ''
@@ -112,7 +113,7 @@ python3.pkgs.buildPythonApplication {
wrapQtApp $out/bin/electrum
'';
- checkInputs = with python3.pkgs; [ pytestCheckHook pycryptodomex ];
+ checkInputs = with python3.pkgs; [ pytestCheckHook pyaes pycryptodomex ];
pytestFlagsArray = [ "electrum/tests" ];
diff --git a/third_party/nixpkgs/pkgs/applications/misc/flavours/default.nix b/third_party/nixpkgs/pkgs/applications/misc/flavours/default.nix
index 0e072aa649..b116fbbbd7 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/flavours/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/flavours/default.nix
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "flavours";
- version = "0.3.6";
+ version = "0.4.0";
src = fetchFromGitHub {
owner = "Misterio77";
repo = pname;
rev = "v${version}";
- sha256 = "0nys1sh4qwda1ql6aq07bhyvhjp5zf0qm98kr4kf2fmr87ddc12q";
+ sha256 = "sha256-rDy859jg+F8XC4sJogIgdn1FoT8cf7S+KORt+7kboAc=";
};
- cargoSha256 = "0bmmxiv8bd09kgxmhmynslfscsx2aml1m1glvid3inaipylcq45h";
+ cargoSha256 = "sha256-cAXiAPhHdxdd8pFQ0Gq7eHO2p/Dam53gDbE583UYY/k=";
meta = with lib; {
description = "An easy to use base16 scheme manager/builder that integrates with any workflow";
diff --git a/third_party/nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix b/third_party/nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix
index fa58c2d396..c3b9a3226a 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix
@@ -1,7 +1,7 @@
{ lib, fetchFromGitHub, fetchpatch, mkDerivation
, qtbase, qtsvg, qtserialport, qtwebengine, qtmultimedia, qttools
, qtconnectivity, qtcharts, libusb-compat-0_1
-, yacc, flex, zlib, qmake, makeDesktopItem, makeWrapper
+, bison, flex, zlib, qmake, makeDesktopItem, makeWrapper
}:
let
@@ -29,7 +29,7 @@ in mkDerivation rec {
qtbase qtsvg qtserialport qtwebengine qtmultimedia qttools zlib
qtconnectivity qtcharts libusb-compat-0_1
];
- nativeBuildInputs = [ flex makeWrapper qmake yacc ];
+ nativeBuildInputs = [ flex makeWrapper qmake bison ];
patches = [
# allow building with bison 3.7
diff --git a/third_party/nixpkgs/pkgs/applications/misc/jekyll/basic/Gemfile.lock b/third_party/nixpkgs/pkgs/applications/misc/jekyll/basic/Gemfile.lock
index 161aeb7720..15ef5d3b4c 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/jekyll/basic/Gemfile.lock
+++ b/third_party/nixpkgs/pkgs/applications/misc/jekyll/basic/Gemfile.lock
@@ -1,7 +1,7 @@
GEM
remote: https://rubygems.org/
specs:
- activesupport (6.1.3)
+ activesupport (6.1.3.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
@@ -15,14 +15,14 @@ GEM
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
eventmachine (1.2.7)
- ffi (1.14.2)
+ ffi (1.15.0)
forwardable-extended (2.6.0)
gemoji (3.0.1)
html-pipeline (2.14.0)
activesupport (>= 2)
nokogiri (>= 1.4)
http_parser.rb (0.6.0)
- i18n (1.8.9)
+ i18n (1.8.10)
concurrent-ruby (~> 1.0)
jekyll (4.2.0)
addressable (~> 2.4)
@@ -56,18 +56,18 @@ GEM
gemoji (~> 3.0)
html-pipeline (~> 2.2)
jekyll (>= 3.0, < 5.0)
- kramdown (2.3.0)
+ kramdown (2.3.1)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
- listen (3.4.1)
+ listen (3.5.1)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
mini_portile2 (2.5.0)
minitest (5.14.4)
- nokogiri (1.11.1)
+ nokogiri (1.11.2)
mini_portile2 (~> 2.5.0)
racc (~> 1.4)
pathutil (0.16.2)
diff --git a/third_party/nixpkgs/pkgs/applications/misc/jekyll/basic/gemset.nix b/third_party/nixpkgs/pkgs/applications/misc/jekyll/basic/gemset.nix
index bda211e6f7..fadbf8e32b 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/jekyll/basic/gemset.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/jekyll/basic/gemset.nix
@@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "00a4db64g8w5yyk6hzak2nqrmdfvyh5zc9cvnm9gglwbi87ss28h";
+ sha256 = "0l0khgrb7zn611xjnmygv5wdxh7wq645f613wldn5397q5w3l9lc";
type = "gem";
};
- version = "6.1.3";
+ version = "6.1.3.1";
};
addressable = {
dependencies = ["public_suffix"];
@@ -67,10 +67,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "15hgiy09i8ywjihyzyvjvk42ivi3kmy6dm21s5sgg9j7y3h3zkkx";
+ sha256 = "0nq1fb3vbfylccwba64zblxy96qznxbys5900wd7gm9bpplmf432";
type = "gem";
};
- version = "1.14.2";
+ version = "1.15.0";
};
forwardable-extended = {
groups = ["default"];
@@ -119,10 +119,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "08p6b13p99j1rrcrw1l3v0kb9mxbsvy6nk31r8h4rnszdgzpga32";
+ sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a";
type = "gem";
};
- version = "1.8.9";
+ version = "1.8.10";
};
jekyll = {
dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
@@ -218,10 +218,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1vmw752c26ny2jwl0npn0gbyqwgz4hdmlpxnsld9qi9xhk5b1qh7";
+ sha256 = "0jdbcjv4v7sj888bv3vc6d1dg4ackkh7ywlmn9ln2g9alk7kisar";
type = "gem";
};
- version = "2.3.0";
+ version = "2.3.1";
};
kramdown-parser-gfm = {
dependencies = ["kramdown"];
@@ -250,10 +250,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0imzd0cb9vlkc3yggl4rph1v1wm4z9psgs4z6aqsqa5hgf8gr9hj";
+ sha256 = "0h2v34xhi30w0d9gfzds2w6v89grq2gkpgvmdj9m8x1ld1845xnj";
type = "gem";
};
- version = "3.4.1";
+ version = "3.5.1";
};
mercenary = {
groups = ["default"];
@@ -291,10 +291,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1ajwkqr28hwqbyl1l3czx4a34c88acxywyqp8cjyy0zgsd6sbhj2";
+ sha256 = "0b51df8fwadak075cvi17w0nch6qz1r66564qp29qwfj67j9qp0p";
type = "gem";
};
- version = "1.11.1";
+ version = "1.11.2";
};
pathutil = {
dependencies = ["forwardable-extended"];
diff --git a/third_party/nixpkgs/pkgs/applications/misc/jekyll/full/Gemfile.lock b/third_party/nixpkgs/pkgs/applications/misc/jekyll/full/Gemfile.lock
index e93f78e83c..b3d3b9ca49 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/jekyll/full/Gemfile.lock
+++ b/third_party/nixpkgs/pkgs/applications/misc/jekyll/full/Gemfile.lock
@@ -1,7 +1,7 @@
GEM
remote: https://rubygems.org/
specs:
- activesupport (6.1.3)
+ activesupport (6.1.3.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
@@ -29,14 +29,14 @@ GEM
ruby2_keywords
faraday-net_http (1.0.1)
fast-stemmer (1.0.2)
- ffi (1.14.2)
+ ffi (1.15.0)
forwardable-extended (2.6.0)
gemoji (3.0.1)
html-pipeline (2.14.0)
activesupport (>= 2)
nokogiri (>= 1.4)
http_parser.rb (0.6.0)
- i18n (1.8.9)
+ i18n (1.8.10)
concurrent-ruby (~> 1.0)
jekyll (4.2.0)
addressable (~> 2.4)
@@ -82,7 +82,7 @@ GEM
gemoji (~> 3.0)
html-pipeline (~> 2.2)
jekyll (>= 3.0, < 5.0)
- kramdown (2.3.0)
+ kramdown (2.3.1)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
@@ -92,7 +92,7 @@ GEM
liquid (4.0.3)
liquid-c (4.0.0)
liquid (>= 3.0.0)
- listen (3.4.1)
+ listen (3.5.1)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
@@ -102,7 +102,7 @@ GEM
mini_portile2 (2.5.0)
minitest (5.14.4)
multipart-post (2.1.1)
- nokogiri (1.11.1)
+ nokogiri (1.11.2)
mini_portile2 (~> 2.5.0)
racc (~> 1.4)
octokit (4.20.0)
diff --git a/third_party/nixpkgs/pkgs/applications/misc/jekyll/full/gemset.nix b/third_party/nixpkgs/pkgs/applications/misc/jekyll/full/gemset.nix
index ee348a80c4..7a6814aaa3 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/jekyll/full/gemset.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/jekyll/full/gemset.nix
@@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "00a4db64g8w5yyk6hzak2nqrmdfvyh5zc9cvnm9gglwbi87ss28h";
+ sha256 = "0l0khgrb7zn611xjnmygv5wdxh7wq645f613wldn5397q5w3l9lc";
type = "gem";
};
- version = "6.1.3";
+ version = "6.1.3.1";
};
addressable = {
dependencies = ["public_suffix"];
@@ -174,10 +174,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "15hgiy09i8ywjihyzyvjvk42ivi3kmy6dm21s5sgg9j7y3h3zkkx";
+ sha256 = "0nq1fb3vbfylccwba64zblxy96qznxbys5900wd7gm9bpplmf432";
type = "gem";
};
- version = "1.14.2";
+ version = "1.15.0";
};
forwardable-extended = {
groups = ["default"];
@@ -226,10 +226,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "08p6b13p99j1rrcrw1l3v0kb9mxbsvy6nk31r8h4rnszdgzpga32";
+ sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a";
type = "gem";
};
- version = "1.8.9";
+ version = "1.8.10";
};
jekyll = {
dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
@@ -390,10 +390,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1vmw752c26ny2jwl0npn0gbyqwgz4hdmlpxnsld9qi9xhk5b1qh7";
+ sha256 = "0jdbcjv4v7sj888bv3vc6d1dg4ackkh7ywlmn9ln2g9alk7kisar";
type = "gem";
};
- version = "2.3.0";
+ version = "2.3.1";
};
kramdown-parser-gfm = {
dependencies = ["kramdown"];
@@ -468,10 +468,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0imzd0cb9vlkc3yggl4rph1v1wm4z9psgs4z6aqsqa5hgf8gr9hj";
+ sha256 = "0h2v34xhi30w0d9gfzds2w6v89grq2gkpgvmdj9m8x1ld1845xnj";
type = "gem";
};
- version = "3.4.1";
+ version = "3.5.1";
};
mercenary = {
groups = ["default"];
@@ -540,10 +540,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1ajwkqr28hwqbyl1l3czx4a34c88acxywyqp8cjyy0zgsd6sbhj2";
+ sha256 = "0b51df8fwadak075cvi17w0nch6qz1r66564qp29qwfj67j9qp0p";
type = "gem";
};
- version = "1.11.1";
+ version = "1.11.2";
};
octokit = {
dependencies = ["faraday" "sawyer"];
diff --git a/third_party/nixpkgs/pkgs/applications/misc/josm/default.nix b/third_party/nixpkgs/pkgs/applications/misc/josm/default.nix
index b8e72daa6f..badda6b17e 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/josm/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/josm/default.nix
@@ -1,20 +1,20 @@
{ lib, stdenv, fetchurl, fetchsvn, makeWrapper, unzip, jre, libXxf86vm }:
let
pname = "josm";
- version = "17580";
+ version = "17702";
srcs = {
jar = fetchurl {
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
- sha256 = "05y1g48llnpbyv0r8dn3kyhcfqylsg4fbp540xn1n7sk3h17gwsw";
+ sha256 = "1p7p0jd87sxrs5n0r82apkilx0phgmjw7vpdg8qrr5msda4rsmpk";
};
macosx = fetchurl {
url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java16.zip";
- sha256 = "0aqkr6951zbi7a6zawvpsh51i0c4nyz2xkj52gg8n4vxli5pp3y1";
+ sha256 = "0r17cphxm852ykb8mkil29rr7sb0bj5w69qd5wz8zf2f9djk9npk";
};
pkg = fetchsvn {
url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
rev = version;
- sha256 = "04mxrirlyjy8i5s6y8w84kxv3wjlhhdfmlaxxlxd25viim73g3zv";
+ sha256 = "1b7dryvakph8znh2ahgywch66l4bl5rmgsr79axnz1xi12g8ac12";
};
};
in
diff --git a/third_party/nixpkgs/pkgs/applications/misc/jrnl/default.nix b/third_party/nixpkgs/pkgs/applications/misc/jrnl/default.nix
index 7a5615bf40..37142cd20e 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/jrnl/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/jrnl/default.nix
@@ -18,14 +18,14 @@
buildPythonApplication rec {
pname = "jrnl";
- version = "2.7.1";
+ version = "2.8";
format = "pyproject";
src = fetchFromGitHub {
owner = "jrnl-org";
repo = pname;
rev = "v${version}";
- sha256 = "1m1shgnvwzzs0g6ph7rprwxd7w8zj0x4sbgiqsv9z41k6li7xj4r";
+ sha256 = "1zpsvrjhami9y7204yjbdzi04bkkz6i3apda9fh3hbq83y6wzprz";
};
nativeBuildInputs = [ poetry ];
diff --git a/third_party/nixpkgs/pkgs/applications/misc/khard/default.nix b/third_party/nixpkgs/pkgs/applications/misc/khard/default.nix
index 3bec8db068..64e41eaa3d 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/khard/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/khard/default.nix
@@ -1,4 +1,4 @@
-{ lib, glibcLocales, python3 }:
+{ lib, python3 }:
python3.pkgs.buildPythonApplication rec {
version = "0.17.0";
@@ -9,6 +9,11 @@ python3.pkgs.buildPythonApplication rec {
sha256 = "062nv4xkfsjc11k9m52dh6xjn9z68a4a6x1s8z05wwv4jbp1lkhn";
};
+ SETUPTOOLS_SCM_PRETEND_VERSION = version;
+ nativeBuildInputs = [
+ python3.pkgs.setuptools-scm
+ ];
+
propagatedBuildInputs = with python3.pkgs; [
atomicwrites
configobj
diff --git a/third_party/nixpkgs/pkgs/applications/misc/kiwix/default.nix b/third_party/nixpkgs/pkgs/applications/misc/kiwix/default.nix
index dff50bafaf..f3406d4159 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/kiwix/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/kiwix/default.nix
@@ -1,109 +1,48 @@
-{ lib, stdenv, fetchurl, makeWrapper, pkg-config
-, zip, python, zlib, which, icu, libmicrohttpd, lzma, aria2, wget, bc
-, libuuid, libX11, libXext, libXt, libXrender, glib, dbus, dbus-glib
-, gtk2, gdk-pixbuf, pango, cairo, freetype, fontconfig, alsaLib, atk, cmake
-, xapian, ctpp2, zimlib
+{ lib, mkDerivation, fetchFromGitHub
+, callPackage
+, pkg-config
+, makeWrapper
+, qmake
+, qtbase
+, qtwebengine
+, qtsvg
+, qtimageformats
+, aria2
}:
-with lib;
-
-let
- xulrunner64_tar = fetchurl {
- url = "http://download.kiwix.org/dev/xulrunner-29.0.en-US.linux-x86_64.tar.bz2";
- sha256 = "0i3m30gm5z7qmas14id6ypvbmnb2k7jhz8aby2wz5vvv49zqmx3s";
- };
- xulrunnersdk64_tar = fetchurl {
- url = "http://download.kiwix.org/dev/xulrunner-29.0.en-US.linux-x86_64.sdk.tar.bz2";
- sha256 = "0z90v7c4mq15g5klmsj8vs2r10fbygj3qzynx4952hkv8ihw8n3a";
- };
- xulrunner32_tar = fetchurl {
- url = "http://download.kiwix.org/dev/xulrunner-29.0.en-US.linux-i686.tar.bz2";
- sha256 = "0yln6pxz8f6b9wm9124sx049z8mgi17lgd63rcv2hnix825y8gjb";
- };
- xulrunnersdk32_tar = fetchurl {
- url = "http://download.kiwix.org/dev/xulrunner-29.0.en-US.linux-i686.sdk.tar.bz2";
- sha256 = "1h9vcbvf8wgds6i2z20y7krpys0mqsqhv1ijyfljanp6vyll9fvi";
- };
-
- xulrunner = if stdenv.hostPlatform.system == "x86_64-linux"
- then { tar = xulrunner64_tar; sdk = xulrunnersdk64_tar; }
- else { tar = xulrunner32_tar; sdk = xulrunnersdk32_tar; };
-
- pugixml = stdenv.mkDerivation rec {
- version = "1.2";
- pname = "pugixml";
-
- src = fetchurl {
- url = "http://download.kiwix.org/dev/${pname}-${version}.tar.gz";
- sha256 = "0sqk0vdwjq44jxbbkj1cy8qykrmafs1sickzldb2w2nshsnjshhg";
- };
-
- nativeBuildInputs = [ cmake ];
-
- unpackPhase = ''
- # not a nice src archive: all the files are in the root :(
- mkdir ${pname}-${version}
- cd ${pname}-${version}
- tar -xf ${src}
-
- # and the build scripts are in there :'(
- cd scripts
- '';
- };
-
-in
-
-stdenv.mkDerivation rec {
+mkDerivation rec {
pname = "kiwix";
- version = "0.9";
+ version = "2.0.5";
- src = fetchurl {
- url = "http://download.kiwix.org/src/kiwix-${version}-src.tar.xz";
- sha256 = "0577phhy2na59cpcqjgldvksp0jwczyg0l6c9ghnr19i375l7yqc";
+ src = fetchFromGitHub {
+ owner = pname;
+ repo = "${pname}-desktop";
+ rev = version;
+ sha256 = "12v43bcg4g8fcp02y2srsfdvcb7dpl4pxb9z7a235006s0kfv8yn";
};
- nativeBuildInputs = [ pkg-config ];
+ nativeBuildInputs = [
+ qmake
+ pkg-config
+ ];
+
buildInputs = [
- zip python zlib xapian which icu libmicrohttpd
- lzma zimlib ctpp2 aria2 wget bc libuuid makeWrapper pugixml
+ qtbase
+ qtwebengine
+ qtsvg
+ qtimageformats
+ (callPackage ./lib.nix {})
];
- postUnpack = ''
- cd kiwix*
- mkdir static
- cp Makefile.in static/
-
- cd src/dependencies
-
- tar -xf ${xulrunner.tar}
- tar -xf ${xulrunner.sdk}
-
- cd ../../..
- '';
-
- configureFlags = [
- "--disable-staticbins"
+ qtWrapperArgs = [
+ "--prefix PATH : ${lib.makeBinPath [ aria2 ]}"
];
- postInstall = ''
- cp -r src/dependencies/xulrunner $out/lib/kiwix
-
- patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/lib/kiwix/xulrunner/xulrunner
-
- rm $out/bin/kiwix
- makeWrapper $out/lib/kiwix/kiwix-launcher $out/bin/kiwix \
- --suffix LD_LIBRARY_PATH : ${makeLibraryPath [stdenv.cc.cc libX11 libXext libXt libXrender glib dbus dbus-glib gtk2 gdk-pixbuf pango cairo freetype fontconfig alsaLib atk]} \
- --suffix PATH : ${aria2}/bin
- '';
-
- meta = {
+ meta = with lib; {
description = "An offline reader for Web content";
homepage = "https://kiwix.org";
license = licenses.gpl3;
platforms = platforms.linux;
- maintainers = with maintainers; [ robbinch ];
- knownVulnerabilities = [
- "CVE-2015-1032"
- ];
+ maintainers = with maintainers; [ ajs124 ];
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/misc/kiwix/lib.nix b/third_party/nixpkgs/pkgs/applications/misc/kiwix/lib.nix
new file mode 100644
index 0000000000..dcde5c390a
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/misc/kiwix/lib.nix
@@ -0,0 +1,55 @@
+{ stdenv, lib, fetchFromGitHub
+, meson, ninja, pkg-config
+, python3
+, curl
+, icu
+, pugixml
+, zimlib
+, zlib
+, libmicrohttpd
+, mustache-hpp
+, gtest
+}:
+
+
+stdenv.mkDerivation rec {
+ pname = "kiwix-lib";
+ version = "9.4.1";
+
+ src = fetchFromGitHub {
+ owner = "kiwix";
+ repo = pname;
+ rev = version;
+ sha256 = "034nk6l623v78clrs2d0k1vg69sbzrd8c0q79qiqmlkinck1nkxw";
+ };
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkg-config
+ python3
+ ];
+
+ buildInputs = [
+ icu
+ zlib
+ mustache-hpp
+ ];
+
+ propagatedBuildInputs = [
+ curl
+ libmicrohttpd
+ pugixml
+ zimlib
+ ];
+
+ checkInputs = [
+ gtest
+ ];
+
+ doCheck = true;
+
+ postPatch = ''
+ patchShebangs scripts
+ '';
+}
diff --git a/third_party/nixpkgs/pkgs/applications/misc/klayout/default.nix b/third_party/nixpkgs/pkgs/applications/misc/klayout/default.nix
index 4c5a443ba0..d1326848d2 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/klayout/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/klayout/default.nix
@@ -1,5 +1,5 @@
{ lib, mkDerivation, fetchFromGitHub, fetchpatch
-, python, ruby, qtbase, qtmultimedia, qttools, qtxmlpatterns
+, python3, ruby, qtbase, qtmultimedia, qttools, qtxmlpatterns
, which, perl, makeWrapper
}:
@@ -21,11 +21,11 @@ mkDerivation rec {
nativeBuildInputs = [
which
+ python3
+ ruby
];
buildInputs = [
- python
- ruby
qtbase
qtmultimedia
qttools
diff --git a/third_party/nixpkgs/pkgs/applications/misc/koreader/default.nix b/third_party/nixpkgs/pkgs/applications/misc/koreader/default.nix
index d415657706..eadd5cae50 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/koreader/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/koreader/default.nix
@@ -11,12 +11,12 @@
let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; };
in stdenv.mkDerivation rec {
pname = "koreader";
- version = "2021.02";
+ version = "2021.03";
src = fetchurl {
url =
"https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb";
- sha256 = "0v7jx4a2kz1i1k9jqwcxbgdikflk28cnnp69sbhha8pkkbk8c5wh";
+ sha256 = "sha256-XdCyx+SdcV1QitDVkOl9EZCHpU8Qiwu0qhcXkU6b+9o=";
};
sourceRoot = ".";
diff --git a/third_party/nixpkgs/pkgs/applications/misc/mediainfo-gui/default.nix b/third_party/nixpkgs/pkgs/applications/misc/mediainfo-gui/default.nix
index 3e8aacb989..89d7c2df74 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/mediainfo-gui/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/mediainfo-gui/default.nix
@@ -2,11 +2,11 @@
, desktop-file-utils, libSM, imagemagick }:
stdenv.mkDerivation rec {
- version = "20.09";
+ version = "21.03";
pname = "mediainfo-gui";
src = fetchurl {
url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
- sha256 = "0rqg9z7s5bk7vlvjrs4gackzg7ib05a0dffi2ihsjf5a7kw7wcir";
+ sha256 = "07h2a1lbw5ak6c9bcn8qydchl0wpgk945rf9sfcqjyv05h5wll6y";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/third_party/nixpkgs/pkgs/applications/misc/mediainfo/default.nix b/third_party/nixpkgs/pkgs/applications/misc/mediainfo/default.nix
index 7c81e9607f..70f463c023 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/mediainfo/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/mediainfo/default.nix
@@ -1,11 +1,11 @@
{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libzen, libmediainfo, zlib }:
stdenv.mkDerivation rec {
- version = "20.09";
+ version = "21.03";
pname = "mediainfo";
src = fetchurl {
url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
- sha256 = "0rqg9z7s5bk7vlvjrs4gackzg7ib05a0dffi2ihsjf5a7kw7wcir";
+ sha256 = "07h2a1lbw5ak6c9bcn8qydchl0wpgk945rf9sfcqjyv05h5wll6y";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/third_party/nixpkgs/pkgs/applications/misc/mob/default.nix b/third_party/nixpkgs/pkgs/applications/misc/mob/default.nix
index 75013f0931..50e95e3117 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/mob/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/mob/default.nix
@@ -2,14 +2,14 @@
buildGoPackage rec {
pname = "mob";
- version = "1.3.0";
+ version = "1.4.0";
goPackagePath = "github.com/remotemobprogramming/mob";
src = fetchFromGitHub {
rev = "v${version}";
owner = "remotemobprogramming";
repo = pname;
- sha256 = "sha256-uzWr6wWO6niocJ8yLc1Uu9Wt/FXlCuQrC0RJkgVlphM=";
+ sha256 = "sha256-JiTRTH8ai27H1xySyKTWiu/MG0C61Tz+hVI6tkSRp+k=";
};
meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/applications/misc/obsidian/default.nix b/third_party/nixpkgs/pkgs/applications/misc/obsidian/default.nix
index 53aa786e06..f35a3f1b71 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/obsidian/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/obsidian/default.nix
@@ -30,12 +30,12 @@ let
in stdenv.mkDerivation rec {
pname = "obsidian";
- version = "0.11.5";
+ version = "0.11.9";
src = fetchurl {
url =
"https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/obsidian-${version}.tar.gz";
- sha256 = "FxhvRRxV8oxRwvImftoSTqrus2x5p90NfuvddZjdBNU=";
+ sha256 = "XymM3qma8H2dm2tq8Zg+oKxOzb48azqlqn701pN5gdI=";
};
nativeBuildInputs = [ makeWrapper graphicsmagick ];
diff --git a/third_party/nixpkgs/pkgs/applications/misc/openring/default.nix b/third_party/nixpkgs/pkgs/applications/misc/openring/default.nix
new file mode 100644
index 0000000000..6d840b1d9e
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/misc/openring/default.nix
@@ -0,0 +1,25 @@
+{ buildGoModule, fetchFromSourcehut, lib }:
+
+buildGoModule rec {
+ pname = "openring";
+ version = "unstable-2021-04-03";
+
+ src = fetchFromSourcehut {
+ owner = "~sircmpwn";
+ repo = pname;
+ rev = "f13edb5dfd882ce608d61cf6b6740650ce9d84a3";
+ sha256 = "sha256-Z65V77JZ9jCzBg7T2+d5Agxxd+MV2R7nYcLedYP5eOE=";
+ };
+
+ vendorSha256 = "sha256-BbBTmkGyLrIWphXC+dBaHaVzHuXRZ+4N/Jt2k3nF7Z4=";
+
+ # The package has no tests.
+ doCheck = false;
+
+ meta = with lib; {
+ description = "A webring for static site generators";
+ homepage = "https://git.sr.ht/~sircmpwn/openring";
+ license = licenses.gpl3Only;
+ maintainers = with maintainers; [ sumnerevans ];
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/misc/orpie/default.nix b/third_party/nixpkgs/pkgs/applications/misc/orpie/default.nix
index 2bf102fee2..45e043b6dc 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/orpie/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/orpie/default.nix
@@ -4,6 +4,8 @@ ocamlPackages.buildDunePackage rec {
pname = "orpie";
version = "1.6.1";
+ useDune2 = true;
+
src = fetchFromGitHub {
owner = "pelzlpj";
repo = pname;
diff --git a/third_party/nixpkgs/pkgs/applications/misc/pure-maps/default.nix b/third_party/nixpkgs/pkgs/applications/misc/pure-maps/default.nix
index 14141ca1ea..3f964824e6 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/pure-maps/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/pure-maps/default.nix
@@ -6,13 +6,13 @@
mkDerivation rec {
pname = "pure-maps";
- version = "2.6.0";
+ version = "2.6.5";
src = fetchFromGitHub {
owner = "rinigus";
repo = "pure-maps";
rev = version;
- sha256 = "1nviq2pavyxwh9k4kyzqpbzmx1wybwdax4pyd017izh9h6gqnjhs";
+ sha256 = "17gfb7rdaadmcdba4mhish0jrz9lmiban6fpzwhyvn8z1rc43zx9";
fetchSubmodules = true;
};
diff --git a/third_party/nixpkgs/pkgs/applications/misc/qlcplus/default.nix b/third_party/nixpkgs/pkgs/applications/misc/qlcplus/default.nix
index 721c95c028..261a597f8d 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/qlcplus/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/qlcplus/default.nix
@@ -1,4 +1,4 @@
-{ lib, mkDerivation, fetchFromGitHub, qmake, pkg-config, udev
+{ lib, mkDerivation, fetchFromGitHub, fetchpatch, qmake, pkg-config, udev
, qtmultimedia, qtscript, alsaLib, ola, libftdi1, libusb-compat-0_1
, libsndfile, libmad
}:
@@ -14,6 +14,14 @@ mkDerivation rec {
sha256 = "PB1Y8N1TrJMcS7A2e1nKjsUlAxOYjdJqBhbyuDCAbGs=";
};
+ patches = [
+ (fetchpatch {
+ name = "qt5.15-deprecation-fixes.patch";
+ url = "https://github.com/mcallegari/qlcplus/commit/e4ce4b0226715876e8e9e3b23785d43689b2bb64.patch";
+ sha256 = "1zhrg6ava1nyc97xcx75r02zzkxmar0973w4jwkm5ch3iqa8bqnh";
+ })
+ ];
+
nativeBuildInputs = [ qmake pkg-config ];
buildInputs = [
udev qtmultimedia qtscript alsaLib ola libftdi1 libusb-compat-0_1 libsndfile libmad
diff --git a/third_party/nixpkgs/pkgs/applications/misc/ranger/default.nix b/third_party/nixpkgs/pkgs/applications/misc/ranger/default.nix
index 10ea22a1ec..4bd8a182d6 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/ranger/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/ranger/default.nix
@@ -42,7 +42,7 @@ python3Packages.buildPythonApplication rec {
meta = with lib; {
description = "File manager with minimalistic curses interface";
- homepage = "http://ranger.github.io/";
+ homepage = "https://ranger.github.io/";
license = licenses.gpl3Only;
platforms = platforms.unix;
maintainers = with maintainers; [ toonn magnetophon ];
diff --git a/third_party/nixpkgs/pkgs/applications/misc/sc-im/default.nix b/third_party/nixpkgs/pkgs/applications/misc/sc-im/default.nix
index 523dc6aab8..9a05ac22af 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/sc-im/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/sc-im/default.nix
@@ -1,11 +1,10 @@
{ lib
, stdenv
, fetchFromGitHub
-, fetchpatch
, makeWrapper
, pkg-config
, which
-, yacc
+, bison
, gnuplot
, libxls
, libxml2
@@ -15,36 +14,22 @@
stdenv.mkDerivation rec {
pname = "sc-im";
- version = "0.8.0";
+ version = "0.8.1";
src = fetchFromGitHub {
owner = "andmarti1424";
repo = "sc-im";
rev = "v${version}";
- sha256 = "sha256-/eG2BdkyfEGoSzPu6jT+Bn1RZTGT1D3etGj1tYchm1M=";
+ sha256 = "sha256-AIYa3d1ml1f5GNLKijeFPX+UabgEqzdXiP60BGvBPsQ=";
};
sourceRoot = "${src.name}/src";
- # make default colors readable on dark background
- patches = [
- (fetchpatch {
- url = "https://github.com/andmarti1424/sc-im/commit/78d2fdaaf2c578691e68fb5bd773803cb967ddba.patch";
- sha256 = "09716zsqa9qdsj2qpkji8wlzsmp9gl66ggvrg7lmrwwnvli2zn2w";
- })
- (fetchpatch {
- url = "https://github.com/andmarti1424/sc-im/commit/f29d6605c8170febcec0dea7bda9613bee3b7011.patch";
- sha256 = "1zs1sb23g0k6lig4d0qdzq1wdhcdzl424ch567zyjl191lyhsjyg";
- })
- ];
-
- patchFlags = [ "-p2" ];
-
nativeBuildInputs = [
makeWrapper
pkg-config
which
- yacc
+ bison
];
buildInputs = [
diff --git a/third_party/nixpkgs/pkgs/applications/misc/spnavcfg/default.nix b/third_party/nixpkgs/pkgs/applications/misc/spnavcfg/default.nix
new file mode 100644
index 0000000000..caeaa42192
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/misc/spnavcfg/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, lib, fetchFromGitHub, pkg-config, gtk2 }:
+
+stdenv.mkDerivation rec {
+ pname = "spnavcfg";
+ version = "0.3.1";
+
+ src = fetchFromGitHub {
+ owner = "FreeSpacenav";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "180mkdis15gxs79rr3f7hpwa1p6v81bybw37pzzdjnmqwqrc08a0";
+ };
+
+ postPatch = ''
+ sed -i s/4775/775/ Makefile.in
+ '';
+
+ nativeBuildInputs = [ pkg-config ];
+ buildInputs = [ gtk2 ];
+
+ meta = with lib; {
+ homepage = "http://spacenav.sourceforge.net/";
+ description = "Interactive configuration GUI for space navigator input devices";
+ license = licenses.gpl3Plus;
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ gebner ];
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/misc/tellico/default.nix b/third_party/nixpkgs/pkgs/applications/misc/tellico/default.nix
index 7037b40816..65cd003253 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/tellico/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/tellico/default.nix
@@ -1,29 +1,30 @@
{ lib
, fetchurl
, mkDerivation
-, libkcddb
-, kinit
-, kdelibs4support
-, solid
-, kxmlgui
-, karchive
-, kfilemetadata
-, khtml
-, knewstuff
-, libksane
, cmake
, exempi
, extra-cmake-modules
-, libcdio
-, poppler
-, makeWrapper
+, karchive
, kdoctools
+, kfilemetadata
+, khtml
+, kitemmodels
+, knewstuff
+, kxmlgui
+, libcdio
+, libkcddb
+, libksane
+, makeWrapper
+, poppler
+, qtcharts
+, qtwebengine
+, solid
, taglib
}:
mkDerivation rec {
- name = "tellico";
- version = "3.3.3";
+ pname = "tellico";
+ version = "3.4";
src = fetchurl {
# version 3.3.0 just uses 3.3 in its name
@@ -31,7 +32,7 @@ mkDerivation rec {
"https://tellico-project.org/files/tellico-${version}.tar.xz"
"https://tellico-project.org/files/tellico-${lib.versions.majorMinor version}.tar.xz"
];
- sha256 = "sha256-9cdbUTa2Mt3/yNylOSdGjgDETD74sR0dU4C58uW0Y6o=";
+ sha256 = "sha256-YXMJrAkfehe3ox4WZ19igyFbXwtjO5wxN3bmgP01jPs=";
};
nativeBuildInputs = [
@@ -43,17 +44,18 @@ mkDerivation rec {
buildInputs = [
exempi
- extra-cmake-modules
karchive
- libkcddb
- kdelibs4support
kfilemetadata
khtml
+ kitemmodels
knewstuff
kxmlgui
libcdio
+ libkcddb
libksane
poppler
+ qtcharts
+ qtwebengine
solid
taglib
];
diff --git a/third_party/nixpkgs/pkgs/applications/misc/unipicker/default.nix b/third_party/nixpkgs/pkgs/applications/misc/unipicker/default.nix
new file mode 100644
index 0000000000..fc47a87284
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/misc/unipicker/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, lib, fzf, xclip }:
+
+stdenv.mkDerivation rec {
+ pname = "unipicker";
+ version = "unstable-2018-07-10";
+
+ src = fetchFromGitHub {
+ owner = "jeremija";
+ repo = pname;
+ rev = "767571c87cdb1e654408d19fc4db98e5e6725c04";
+ sha256 = "1k4v53pm3xivwg9vq2kndpcmah0yn4679r5jzxvg38bbkfdk86c1";
+ };
+
+ buildInputs = [
+ fzf
+ xclip
+ ];
+
+ preInstall = ''
+ substituteInPlace unipicker --replace "/etc/unipickerrc" "$out/etc/unipickerrc"
+ substituteInPlace unipickerrc --replace "/usr/local" "$out"
+ '';
+
+ makeFlags = [
+ "PREFIX=$(out)"
+ "DESTDIR=$(out)"
+ ];
+
+ meta = with lib; {
+ description = "A CLI utility for searching unicode characters by description and optionally copying them to clipboard";
+ homepage = "https://github.com/jeremija/unipicker";
+ license = licenses.mit;
+ maintainers = with maintainers; [ kiyengar ];
+ platforms = with platforms; unix;
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/misc/vifm/default.nix b/third_party/nixpkgs/pkgs/applications/misc/vifm/default.nix
index 18d190a9dd..7bc4bd1ff7 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/vifm/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/vifm/default.nix
@@ -40,5 +40,6 @@ in stdenv.mkDerivation rec {
homepage = "https://vifm.info/";
inherit version;
updateWalker = true;
+ changelog = "https://github.com/vifm/vifm/blob/v${version}/ChangeLog";
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/misc/visidata/default.nix b/third_party/nixpkgs/pkgs/applications/misc/visidata/default.nix
index b7f9d6ca1a..fc609b280f 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/visidata/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/visidata/default.nix
@@ -44,7 +44,7 @@ buildPythonApplication rec {
description = "Interactive terminal multitool for tabular data";
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.raskin ];
- platforms = with lib.platforms; linux ++ darwin;
homepage = "http://visidata.org/";
+ changelog = "https://github.com/saulpw/visidata/blob/v${version}/CHANGELOG.md";
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/misc/writefreely/default.nix b/third_party/nixpkgs/pkgs/applications/misc/writefreely/default.nix
new file mode 100644
index 0000000000..5f38d405cb
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/misc/writefreely/default.nix
@@ -0,0 +1,34 @@
+{ lib, buildGoModule, fetchFromGitHub, go-bindata }:
+
+buildGoModule rec {
+ pname = "writefreely";
+ version = "0.12.0";
+
+ src = fetchFromGitHub {
+ owner = "writeas";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "sha256-6LpRfDu3xvE1eIRLfZliKnzsrrG5pjjf2ydxn9HQJJU=";
+ };
+
+ vendorSha256 = "sha256-U17AkMJQr/OIMED0i2ThcNVw3+aOvRLbpLNP/wEv6k8=";
+
+ nativeBuildInputs = [ go-bindata ];
+
+ preBuild = ''
+ make assets
+ export buildFlagsArray=(
+ "-ldflags=-s -w -X github.com/writeas/writefreely.softwareVer=${version}"
+ "-tags='sqlite'"
+ )
+ '';
+
+ subPackages = [ "cmd/writefreely" ];
+
+ meta = with lib; {
+ description = "Build a digital writing community";
+ homepage = "https://github.com/writeas/writefreely";
+ license = licenses.agpl3Only;
+ maintainers = with maintainers; [ SuperSandro2000 ];
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/networking/appgate-sdp/default.nix b/third_party/nixpkgs/pkgs/applications/networking/appgate-sdp/default.nix
index 8b5f410308..3b5e00a7ff 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/appgate-sdp/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/appgate-sdp/default.nix
@@ -17,7 +17,7 @@
, glib
, gtk3
, icu
-, iproute
+, iproute2
, krb5
, lib
, mesa
@@ -169,7 +169,7 @@ stdenv.mkDerivation rec {
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "$ORIGIN:$out/opt/appgate/service/:$out/opt/appgate/:${rpath}" $binary
done
- wrapProgram $out/opt/appgate/appgate-driver --prefix PATH : ${lib.makeBinPath [ iproute networkmanager dnsmasq ]}
+ wrapProgram $out/opt/appgate/appgate-driver --prefix PATH : ${lib.makeBinPath [ iproute2 networkmanager dnsmasq ]}
wrapProgram $out/opt/appgate/linux/set_dns --set PYTHONPATH $PYTHONPATH
'';
meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/applications/networking/browsers/amfora/default.nix b/third_party/nixpkgs/pkgs/applications/networking/browsers/amfora/default.nix
index 59612550ea..04871239ed 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/browsers/amfora/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/browsers/amfora/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
homepage = "https://github.com/makeworld-the-better-one/amfora";
license = with licenses; [ gpl3 ];
maintainers = with maintainers; [ deifactor ];
+ changelog = "https://github.com/makeworld-the-better-one/amfora/blob/v${version}/CHANGELOG.md";
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/networking/browsers/angelfish/default.nix b/third_party/nixpkgs/pkgs/applications/networking/browsers/angelfish/default.nix
new file mode 100644
index 0000000000..831fabf2de
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/networking/browsers/angelfish/default.nix
@@ -0,0 +1,71 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, corrosion
+, extra-cmake-modules
+, kconfig
+, kcoreaddons
+, kdbusaddons
+, ki18n
+, kirigami2
+, knotifications
+, kpurpose
+, kwindowsystem
+, qtquickcontrols2
+, qtwebengine
+, rustPlatform
+}:
+
+mkDerivation rec {
+ pname = "angelfish";
+ version = "1.8.0";
+
+ src = fetchFromGitLab {
+ domain = "invent.kde.org";
+ owner = "plasma-mobile";
+ repo = "angelfish";
+ rev = "v${version}";
+ sha256 = "0pj2kw7lmxh7diwdcmk24qxqslavhvf23r2i6h549gbllbzk219f";
+ };
+
+ cargoDeps = rustPlatform.fetchCargoTarball {
+ inherit src;
+ name = "${pname}-${version}";
+ sha256 = "0cyrmhlg0kjr14842ckbjdljc2zc28al0y9i8w5l0qzr18krgc0m";
+ };
+
+ nativeBuildInputs = [
+ cmake
+ corrosion
+ extra-cmake-modules
+ ] ++ (with rustPlatform; [
+ cargoSetupHook
+ rust.cargo
+ rust.rustc
+ ]);
+
+ cmakeFlags = [
+ "-DRust_CARGO=${rustPlatform.rust.cargo}/bin/cargo"
+ ];
+
+ buildInputs = [
+ kconfig
+ kcoreaddons
+ kdbusaddons
+ ki18n
+ kirigami2
+ knotifications
+ kpurpose
+ kwindowsystem
+ qtquickcontrols2
+ qtwebengine
+ ];
+
+ meta = with lib; {
+ description = "Web browser for Plasma Mobile";
+ homepage = "https://apps.kde.org/en/mobile.angelfish";
+ license = licenses.gpl3Plus;
+ maintainers = with maintainers; [ dotlambda ];
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix b/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix
index 989368f198..1fecadc2ec 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -89,6 +89,6 @@ mkChromiumDerivation (base: rec {
then ["aarch64-linux" "x86_64-linux"]
else [];
timeout = 172800; # 48 hours (increased from the Hydra default of 10h)
- broken = elem channel [ "beta" "dev" ]; # Build requires LLVM 12
+ broken = elem channel [ "beta" "dev" ];
};
})
diff --git a/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix b/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix
index 3197e272f0..8d0a59f291 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/common.nix
@@ -8,7 +8,7 @@
, libusb1, pciutils, nss, re2
, python2Packages, perl, pkg-config
-, nspr, systemd, kerberos
+, nspr, systemd, libkrb5
, util-linux, alsaLib
, bison, gperf
, glib, gtk3, dbus-glib
@@ -135,7 +135,7 @@ let
buildInputs = defaultDependencies ++ [
nspr nss systemd
util-linux alsaLib
- bison gperf kerberos
+ bison gperf libkrb5
glib gtk3 dbus-glib
libXScrnSaver libXcursor libXtst libxshmfence libGLU libGL
pciutils protobuf speechd libXdamage at-spi2-core
diff --git a/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix b/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix
index c1b5711b02..1ad7bc8bfa 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/default.nix
@@ -1,5 +1,5 @@
{ newScope, config, stdenv, fetchurl, makeWrapper
-, llvmPackages_11, ed, gnugrep, coreutils, xdg-utils
+, llvmPackages_11, llvmPackages_12, ed, gnugrep, coreutils, xdg-utils
, glib, gtk3, gnome3, gsettings-desktop-schemas, gn, fetchgit
, libva ? null
, pipewire
@@ -39,6 +39,8 @@ let
inherit (upstream-info.deps.gn) url rev sha256;
};
});
+ } // lib.optionalAttrs (lib.versionAtLeast upstream-info.version "90") {
+ llvmPackages = llvmPackages_12;
});
browser = callPackage ./browser.nix { inherit channel enableWideVine ungoogled; };
diff --git a/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json b/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 723ea6235c..7660f2f9e6 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -1,8 +1,8 @@
{
"stable": {
- "version": "89.0.4389.90",
- "sha256": "16i7bgk2jbcqs2p28nk5mlf0k6wah594pcsfm8b154nxbyf0iihi",
- "sha256bin64": "1hgpx7isp9krarj7jpbhs97ym4i9j9a1srywv9pdfzbhw6cid2pk",
+ "version": "89.0.4389.114",
+ "sha256": "007df9p78bbmk3iyfi8qn57mmn68qqrdhx6z8n2hl8ksd7lspw7j",
+ "sha256bin64": "06wblyvyr93032fbzwm6qpzz4jjm6adziq4i4n6kmfdix2ajif8a",
"deps": {
"gn": {
"version": "2021-01-07",
@@ -18,9 +18,9 @@
}
},
"beta": {
- "version": "90.0.4430.40",
- "sha256": "0n7g4j981h3fn5wgpb3azpili9682nq0yikhd4z7dr7agvpnfr3k",
- "sha256bin64": "120rbh8bpcj3z5kqdaicqnsd2mh0xcr8y1411kl0zpwa6hfvgm3r",
+ "version": "90.0.4430.51",
+ "sha256": "1k87fw0pv0d2zlxm0il9b5p60gdz6l44jssmsns4zy2fmd9316wr",
+ "sha256bin64": "0q5yx7bc266azs3nl29ksz4yafvy2nmzn09ifcgr69fjkvsr1qh7",
"deps": {
"gn": {
"version": "2021-02-09",
@@ -31,22 +31,22 @@
}
},
"dev": {
- "version": "91.0.4455.2",
- "sha256": "0nqw1jxysyl72dg2bqls7w9cm366j6i1p4sadf3s5vc0i7yr7h3i",
- "sha256bin64": "0d7s7bg58489ph4i92yj4vkww0cl7473pk9sir64gcmm9z18yjc3",
+ "version": "91.0.4464.5",
+ "sha256": "1djwlb74cgfc5ns7w2m10qcd2d2fz0i90k5szcfsm899c7x3zgyf",
+ "sha256bin64": "0kqr5mlbq23ahmyg67lh15j5sqa29wi301s8rvfgh0gxf10vgc2l",
"deps": {
"gn": {
- "version": "2021-03-12",
+ "version": "2021-03-30",
"url": "https://gn.googlesource.com/gn",
- "rev": "64b3b9401c1c3ed5f3c43c1cac00b91f83597ab8",
- "sha256": "14whk4gyx21cqxy1560xm8p1mc1581dh9g7xy120g8vvcylknjlm"
+ "rev": "5667cc61018864b17542e0baff8b790f245583b0",
+ "sha256": "0mr7jqk1r46ngrx4hrg8gxnzqxfxc1c9a966gpsjlgc00k390m5s"
}
}
},
"ungoogled-chromium": {
- "version": "89.0.4389.90",
- "sha256": "16i7bgk2jbcqs2p28nk5mlf0k6wah594pcsfm8b154nxbyf0iihi",
- "sha256bin64": "1hgpx7isp9krarj7jpbhs97ym4i9j9a1srywv9pdfzbhw6cid2pk",
+ "version": "89.0.4389.114",
+ "sha256": "007df9p78bbmk3iyfi8qn57mmn68qqrdhx6z8n2hl8ksd7lspw7j",
+ "sha256bin64": "06wblyvyr93032fbzwm6qpzz4jjm6adziq4i4n6kmfdix2ajif8a",
"deps": {
"gn": {
"version": "2021-01-07",
@@ -55,8 +55,8 @@
"sha256": "08y7cjlgjdbzja5ij31wxc9i191845m01v1hc7y176svk9y0hj1d"
},
"ungoogled-patches": {
- "rev": "89.0.4389.90-1",
- "sha256": "0pr756d1b4wc67d61b21yszi7mx1hsjy14i44j0kvcwm05pgnf79"
+ "rev": "89.0.4389.114-1",
+ "sha256": "0cr2i51gxhgl55c8f9w0ra3m5q2dk03sf7p2qn4bqq1l1l72hw6s"
}
}
}
diff --git a/third_party/nixpkgs/pkgs/applications/networking/browsers/elinks/default.nix b/third_party/nixpkgs/pkgs/applications/networking/browsers/elinks/default.nix
index e5282d79a2..9a7551a6ff 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/browsers/elinks/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/browsers/elinks/default.nix
@@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, ncurses, xlibsWrapper, bzip2, zlib
-, brotli, zstd, lzma, openssl, autoreconfHook, gettext, pkg-config, libev
+, brotli, zstd, xz, openssl, autoreconfHook, gettext, pkg-config, libev
, gpm, libidn, tre, expat
, # Incompatible licenses, LGPLv3 - GPLv2
enableGuile ? false, guile ? null
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [
- ncurses xlibsWrapper bzip2 zlib brotli zstd lzma
+ ncurses xlibsWrapper bzip2 zlib brotli zstd xz
openssl libidn tre expat libev
]
++ lib.optional stdenv.isLinux gpm
diff --git a/third_party/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix b/third_party/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 72e9746421..93b89e9031 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -13,7 +13,7 @@
, glibc
, gtk2
, gtk3
-, kerberos
+, libkrb5
, libX11
, libXScrnSaver
, libxcb
@@ -106,7 +106,7 @@ stdenv.mkDerivation {
glibc
gtk2
gtk3
- kerberos
+ libkrb5
mesa
libX11
libXScrnSaver
diff --git a/third_party/nixpkgs/pkgs/applications/networking/browsers/firefox/common.nix b/third_party/nixpkgs/pkgs/applications/networking/browsers/firefox/common.nix
index ad9a4618dc..3a8fec2c6e 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/browsers/firefox/common.nix
@@ -24,7 +24,7 @@
, gtk3Support ? true, gtk2, gtk3, wrapGAppsHook
, waylandSupport ? true, libxkbcommon
, ltoSupport ? (stdenv.isLinux && stdenv.is64bit), overrideCC, buildPackages
-, gssSupport ? true, kerberos
+, gssSupport ? true, libkrb5
, pipewireSupport ? waylandSupport && webrtcSupport, pipewire
## privacy-related options
@@ -174,7 +174,7 @@ buildStdenv.mkDerivation ({
++ lib.optional alsaSupport alsaLib
++ lib.optional pulseaudioSupport libpulseaudio # only headers are needed
++ lib.optional gtk3Support gtk3
- ++ lib.optional gssSupport kerberos
+ ++ lib.optional gssSupport libkrb5
++ lib.optional waylandSupport libxkbcommon
++ lib.optional pipewireSupport pipewire
++ lib.optional (lib.versionAtLeast ffversion "82") gnum4
diff --git a/third_party/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix b/third_party/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix
index ed88bf587d..26fb49ef2a 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -8,7 +8,7 @@
, tridactyl-native
, fx_cast_bridge
, udev
-, kerberos
+, libkrb5
, libva
, mesa # firefox wants gbm for drm+dmabuf
}:
@@ -65,7 +65,7 @@ let
libs = lib.optionals stdenv.isLinux [ udev libva mesa libnotify xorg.libXScrnSaver ]
++ lib.optional (pipewireSupport && lib.versionAtLeast version "83") pipewire
++ lib.optional ffmpegSupport ffmpeg
- ++ lib.optional gssSupport kerberos
+ ++ lib.optional gssSupport libkrb5
++ lib.optional useGlvnd libglvnd
++ lib.optionals (cfg.enableQuakeLive or false)
(with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ])
diff --git a/third_party/nixpkgs/pkgs/applications/networking/browsers/gmni/default.nix b/third_party/nixpkgs/pkgs/applications/networking/browsers/gmni/default.nix
new file mode 100644
index 0000000000..7baca62e67
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/networking/browsers/gmni/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, fetchFromSourcehut, pkg-config, bearssl, scdoc }:
+
+stdenv.mkDerivation rec {
+ pname = "gmni";
+ version = "unstable-2021-03-26";
+
+ src = fetchFromSourcehut {
+ owner = "~sircmpwn";
+ repo = "gmni";
+ rev = "77b73efbcd3ea7ed9e3e4c0aa19d9247e21d3c87";
+ sha256 = "1wvnzyv7vyddcd39y6q5aflpnnsdl4k4y5aj5ssb7vgkld0h1b7r";
+ };
+
+ nativeBuildInputs = [ pkg-config ];
+ buildInputs = [ bearssl scdoc ];
+
+ meta = with lib; {
+ description = "A Gemini client";
+ homepage = "https://git.sr.ht/~sircmpwn/gmni";
+ license = licenses.gpl3Only;
+ maintainers = with maintainers; [ bsima jb55 ];
+ platforms = platforms.all;
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix b/third_party/nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix
index b208ebf2ab..d903cb3c08 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -5,7 +5,7 @@
, libXcursor, libXext, libXfixes, libXrender, libXScrnSaver, libXcomposite, libxcb
, alsaLib, libXdamage, libXtst, libXrandr, libxshmfence, expat, cups
, dbus, gtk3, gdk-pixbuf, gcc-unwrapped, at-spi2-atk, at-spi2-core
-, kerberos, libdrm, mesa
+, libkrb5, libdrm, mesa
, libxkbcommon, wayland # ozone/wayland
# Command line programs
@@ -66,7 +66,7 @@ let
liberation_ttf curl util-linux xdg-utils wget
flac harfbuzz icu libpng opusWithCustomModes snappy speechd
bzip2 libcap at-spi2-atk at-spi2-core
- kerberos libdrm mesa coreutils
+ libkrb5 libdrm mesa coreutils
libxkbcommon wayland
] ++ optional pulseSupport libpulseaudio
++ optional libvaSupport libva
diff --git a/third_party/nixpkgs/pkgs/applications/networking/browsers/lagrange/default.nix b/third_party/nixpkgs/pkgs/applications/networking/browsers/lagrange/default.nix
index deea3decc2..30e154e522 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "lagrange";
- version = "1.2.2";
+ version = "1.3.0";
src = fetchFromGitHub {
owner = "skyjake";
repo = "lagrange";
rev = "v${version}";
- sha256 = "sha256-Y+BiXKxlUSZXaLcz75l333ZBkKyII9IyTmKQwjshBkE=";
+ sha256 = "sha256-85KshJEL7ri10mSm/KgcT03WLEwRMMTGczb6mGx66Jw=";
fetchSubmodules = true;
};
diff --git a/third_party/nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix b/third_party/nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 6fa585e7de..6cb947cb81 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -31,12 +31,12 @@ let
in mkDerivationWith python3Packages.buildPythonApplication rec {
pname = "qutebrowser";
- version = "2.1.0";
+ version = "2.1.1";
# the release tarballs are different from the git checkout!
src = fetchurl {
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
- sha256 = "0fz6rbacy9sbzx0jsvwkrcyv2849ia8pj1w716l6pw9i9wx3gp8x";
+ sha256 = "sha256-txsArX1JiRGXjlu9FTpt0EUKxq3j5b85j8luFTKDQs4=";
};
# Needs tox
@@ -110,17 +110,18 @@ in mkDerivationWith python3Packages.buildPythonApplication rec {
done
'';
- postFixup = ''
- wrapProgram $out/bin/qutebrowser \
- "''${gappsWrapperArgs[@]}" \
- "''${qtWrapperArgs[@]}" \
+ preFixup = ''
+ makeWrapperArgs+=(
+ "''${gappsWrapperArgs[@]}"
+ "''${qtWrapperArgs[@]}"
--add-flags '--backend ${backend}'
+ )
'';
meta = with lib; {
homepage = "https://github.com/The-Compiler/qutebrowser";
description = "Keyboard-focused browser with a minimal GUI";
license = licenses.gpl3Plus;
- maintainers = with maintainers; [ jagajaga rnhmjoj ebzzry ];
+ maintainers = with maintainers; [ jagajaga rnhmjoj ebzzry dotlambda ];
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/networking/charles/default.nix b/third_party/nixpkgs/pkgs/applications/networking/charles/default.nix
index 1dd0b408a1..1e44d46689 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/charles/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/charles/default.nix
@@ -3,11 +3,12 @@ lib, stdenv
, makeWrapper
, makeDesktopItem
, fetchurl
+, jdk11
, jdk8
}:
let
- generic = { version, sha256, ... }@attrs:
+ generic = { version, sha256, platform ? "", jdk, ... }@attrs:
let
desktopItem = makeDesktopItem {
categories = "Network;Development;WebDevelopment;Java;";
@@ -25,13 +26,13 @@ let
inherit version;
src = fetchurl {
- url = "https://www.charlesproxy.com/assets/release/${version}/charles-proxy-${version}.tar.gz";
+ url = "https://www.charlesproxy.com/assets/release/${version}/charles-proxy-${version}${platform}.tar.gz";
inherit sha256;
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
- makeWrapper ${jdk8.jre}/bin/java $out/bin/charles \
+ makeWrapper ${jdk}/bin/java $out/bin/charles \
--add-flags "-Xmx1024M -Dcharles.config='~/.charles.config' -jar $out/share/java/charles.jar"
for fn in lib/*.jar; do
@@ -56,12 +57,15 @@ let
in {
charles4 = (generic {
- version = "4.2.8";
- sha256 = "1jzjdhzxgrq7pdfryfkg0hsjpyni14ma4x8jbdk1rqll78ccr080";
+ version = "4.6.1";
+ sha256 = "1kl83jjj5wjhdpj34gcj04vf1asxlqlfx9zi91ln4v90swlaaclv";
+ platform = "_amd64";
+ jdk = jdk11;
});
charles3 = (generic {
version = "3.12.3";
sha256 = "13zk82ny1w5zd9qcs9qkq0kdb22ni5byzajyshpxdfm4zv6p32ss";
+ jdk = jdk8.jre;
});
}
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix
index eb2e5e049c..1d8a8228af 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/fluxcd/default.nix
@@ -1,11 +1,11 @@
{ lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
let
- version = "0.10.0";
+ version = "0.11.0";
manifests = fetchzip {
url = "https://github.com/fluxcd/flux2/releases/download/v${version}/manifests.tar.gz";
- sha256 = "Der1Ud27eIV450KkxDTF2frmeKEHKsg6vJgdXE+3548=";
+ sha256 = "sha256-nqvFJriNMK3SvAsNzhE8MCzVNR8j/TjYU+f1PbuxkuI=";
stripRoot = false;
};
in
@@ -19,10 +19,10 @@ buildGoModule rec {
owner = "fluxcd";
repo = "flux2";
rev = "v${version}";
- sha256 = "iJ6UyHbF4+RvfNoOuHt6X2R6XhpBe+t76deldwY5P2c=";
+ sha256 = "sha256-V4cZuRlC1Hu4gBG5/8ZNBKlSBFLgOtSJ3GbpjW5/8xM=";
};
- vendorSha256 = "Z0keCr+KZ593c6a/56lYJwOgXu5hrUSn6N3NFf2LDUM=";
+ vendorSha256 = "sha256-aVVvrOjCKxzFer5uZRSu1LCQKkGkPcBdKdebN5uHUUg=";
nativeBuildInputs = [ installShellFiles ];
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix
index 852088ec47..1d02e675f9 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/fluxctl/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "fluxctl";
- version = "1.22.0";
+ version = "1.22.1";
src = fetchFromGitHub {
owner = "weaveworks";
repo = "flux";
rev = version;
- sha256 = "sha256-7uS8704YZ7lQTSSnbVvc6T5iadl02TeVpwVPf2uS9L4=";
+ sha256 = "sha256-SaDO3a50CLhgLafCdgKEfHpuHdIweSy5L/TUgEUv5CM=";
};
- vendorSha256 = "sha256-oqfJaQA8ybh0UNWYJ2ukoWkwdgORwvXzRCquGstwA4M=";
+ vendorSha256 = "sha256-4uSw/9lI/rdDqy78jNC9eHYW/v/sMFb+sQvwYG6GZks=";
nativeBuildInputs = [ installShellFiles ];
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix
index 7c79c4896b..285e1db536 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/k3s/default.nix
@@ -3,7 +3,7 @@
, makeWrapper
, socat
, iptables
-, iproute
+, iproute2
, bridge-utils
, conntrack-tools
, buildGoPackage
@@ -240,7 +240,7 @@ stdenv.mkDerivation rec {
kmod
socat
iptables
- iproute
+ iproute2
bridge-utils
ethtool
util-linux
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
index 80a58543ae..ee16f923b7 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/k9s/default.nix
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "k9s";
- version = "0.24.5";
+ version = "0.24.6";
src = fetchFromGitHub {
owner = "derailed";
repo = "k9s";
rev = "v${version}";
- sha256 = "sha256-CAKvu6/U/2krJzY9VnK9wUHSNCpM6rjRzgXAWhC65uw=";
+ sha256 = "sha256-uqtjAvtsF+4cz3M60Xj9sCNotaoPzaeeTKnXQUB4CIo=";
};
buildFlagsArray = ''
@@ -18,7 +18,7 @@ buildGoModule rec {
-X github.com/derailed/k9s/cmd.commit=${src.rev}
'';
- vendorSha256 = "sha256-WcGIw53QPOVPeRXKMr1rH1R+PZRWf9/asyPyoutD8x4=";
+ vendorSha256 = "sha256-/4Aof09MYHPc4VJJV2EyB7T9zNFtYY4JeDGJi67FQic=";
doCheck = false;
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/kconf/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/kconf/default.nix
new file mode 100644
index 0000000000..683a91ffee
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/kconf/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+ pname = "kconf";
+ version = "1.10.1";
+
+ src = fetchFromGitHub {
+ owner = "particledecay";
+ repo = "kconf";
+ rev = "v${version}";
+ sha256 = "NlTpHQFOJJcIt/xMT3fvdrlxANyg//wtYMmXzEtaFXo=";
+ };
+
+ vendorSha256 = "2d4o87wE9QZltk2YOHc20XVYF8n0EOrDf5mJ6i6EB0c=";
+
+ meta = with lib; {
+ description = "An opinionated command line tool for managing multiple kubeconfigs";
+ homepage = "https://github.com/particledecay/kconf";
+ license = licenses.mit;
+ maintainers = with maintainers; [ thmzlt ];
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix
index 8f44531516..5cb52c4717 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/kube3d/default.nix
@@ -2,7 +2,7 @@
buildGoModule rec {
pname = "kube3d";
- version = "4.3.0";
+ version = "4.4.0";
excludedPackages = "tools";
@@ -10,7 +10,7 @@ buildGoModule rec {
owner = "rancher";
repo = "k3d";
rev = "v${version}";
- sha256 = "sha256-ybEYKr0rQY8Qg74V1mXqShq5Z2d/Adf0bSSbEMIyo3I=";
+ sha256 = "sha256-+9VtFHZ4ZZiX04u5YvPoQaelH9Q9oKMrbFHFFiNUxBA=";
};
vendorSha256 = null;
@@ -31,6 +31,14 @@ buildGoModule rec {
--zsh <($out/bin/k3d completion zsh)
'';
+ doInstallCheck = true;
+ installCheckPhase = ''
+ runHook preInstallCheck
+ $out/bin/k3d --help
+ $out/bin/k3d version | grep "k3d version v${version}"
+ runHook postInstallCheck
+ '';
+
meta = with lib; {
homepage = "https://github.com/rancher/k3d";
changelog = "https://github.com/rancher/k3d/blob/v${version}/CHANGELOG.md";
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/kubelogin/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/kubelogin/default.nix
index d7f829dc00..0a928ac929 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/cluster/kubelogin/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/kubelogin/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "kubelogin";
- version = "0.0.7";
+ version = "0.0.9";
src = fetchFromGitHub {
owner = "Azure";
repo = pname;
rev = "v${version}";
- sha256 = "0jw8v6ff0iwkwxlhcr35cvhy4zg31dsm1s3q4fxgi901yj1wn6zy";
+ sha256 = "sha256-0+4hrC7A60dbf+1uvTVU2JRynvA3O/lXfgcra1fV9bI=";
};
- vendorSha256 = "0al8y65xvnwl34jkpqyf6zwr21xn30zswknlym9nnn1n47fyayxb";
+ vendorSha256 = "sha256-erGqCpWlAQanY1ghpNVRhzUEIXv3lCiBGRs888MmHN8=";
buildFlagsArray = ''
-ldflags=
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix
index 28b3b71999..af8e04667b 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/kubeval/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "kubeval";
- version = "0.15.0";
+ version = "0.16.0";
src = fetchFromGitHub {
owner = "instrumenta";
repo = "kubeval";
rev = version;
- sha256 = "05li0qv4q7fy2lr50r6c1r8dhx00jb1g01qmgc72a9zqp378yiq0";
+ sha256 = "sha256-c5UESyWK1rfnD0etOuIroBUSqZQuu57jio7/ArItMP0=";
};
- vendorSha256 = "1kpwvi84i3h1yjprd6m6hn8l9j235931871y3qk9cl0g8q0hv9ja";
+ vendorSha256 = "sha256-SqYNAUYPUJYmHj4cFEYqQ8hEkYWmmpav9AGOSFDc/M4=";
doCheck = false;
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/kuttl/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/kuttl/default.nix
new file mode 100644
index 0000000000..0c8f7f1574
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/kuttl/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildGoModule, fetchFromGitHub}:
+
+buildGoModule rec {
+ name = "kuttl";
+ pname = "kuttl";
+ version = "0.9.0";
+ cli = "kubectl-kuttl";
+
+ src = fetchFromGitHub {
+ owner = "kudobuilder";
+ repo = "kuttl";
+ rev = "v${version}";
+ sha256 = "sha256:1cji0py2340mvcpplwq3licdkzjx7q5f27fdjjxvbhrgksnyw6hs";
+ };
+
+ vendorSha256 = "sha256:1shra42ifa2knxp58fj5hn074jg89f3nqdqk4rqbp3ybir84ahsd";
+
+ subPackages = [ "cmd/kubectl-kuttl" ];
+
+ buildFlagsArray = ''
+ -ldflags=-s -w
+ -X github.com/kudobuilder/kuttl/pkg/version.gitVersion=${version}
+ '';
+
+ meta = with lib; {
+ description = "The KUbernetes Test TooL (KUTTL) provides a declarative approach to testing production-grade Kubernetes operators";
+ homepage = "https://github.com/kudobuilder/kuttl";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ diegolelis ];
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/lens/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/lens/default.nix
index 6b303ce0f4..a4dac9dd62 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/cluster/lens/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/lens/default.nix
@@ -2,12 +2,12 @@
let
pname = "lens";
- version = "4.1.4";
+ version = "4.2.0";
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/lensapp/lens/releases/download/v${version}/Lens-${version}.x86_64.AppImage";
- sha256 = "0g7k3sld6m31qi0zc9z5gydi60waw7ykwz48qnyg77xz1cpm6z5x";
+ sha256 = "0g60d1h2dn41qdzdnqavwknqynjqil7s8kcqy01h021r81rdpn2q";
name="${pname}.AppImage";
};
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix
index 53209d2edd..a1d4b14683 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/openshift/default.nix
@@ -1,5 +1,5 @@
{ lib, fetchFromGitHub, buildGoPackage, which, go-bindata, rsync, util-linux
-, coreutils, kerberos, ncurses, clang, installShellFiles
+, coreutils, libkrb5, ncurses, clang, installShellFiles
, components ? [
"cmd/oc"
"cmd/openshift"
@@ -33,7 +33,7 @@ in buildGoPackage rec {
goPackagePath = "github.com/openshift/origin";
- buildInputs = [ kerberos ncurses ];
+ buildInputs = [ libkrb5 ncurses ];
nativeBuildInputs = [ which rsync go-bindata clang installShellFiles ];
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/pgo-client/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/pgo-client/default.nix
new file mode 100644
index 0000000000..52c9c19121
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/pgo-client/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+ pname = "pgo-client";
+ version = "4.6.2";
+
+ src = fetchFromGitHub {
+ owner = "CrunchyData";
+ repo = "postgres-operator";
+ rev = "v${version}";
+ sha256 = "sha256-zPFsLKbuVq2wMjFsqjBGiatPBwGR/X6q3mj8o5BE+r0=";
+ };
+
+ vendorSha256 = "sha256-DU1kc7YDQ+denj6tHVGt79s494aBFZ2KM7PVSn951KI=";
+
+ subPackages = [ "cmd/pgo" ];
+
+ meta = with lib; {
+ description = "A CLI client for Crunchy PostgreSQL Kubernetes Operator";
+ homepage = "https://github.com/CrunchyData/postgres-operator";
+ changelog = "https://github.com/CrunchyData/postgres-operator/releases/tag/v${version}";
+ license = licenses.asl20;
+ maintainers = [ maintainers.bryanasdev000 ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix
index 44ad3dfd72..8e7731590a 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/tanka/default.nix
@@ -2,20 +2,22 @@
buildGoModule rec {
pname = "tanka";
- version = "0.14.0";
+ version = "0.15.0";
src = fetchFromGitHub {
owner = "grafana";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-y2HhtYKgC9Y397dZ14eQoPZxqS1fTOXVD8B4wdLIHzM=";
+ sha256 = "sha256-ckXvDB3TU9HAXowAAr/fRmX3mylVvPKW8I74R/vUaRY=";
};
vendorSha256 = "sha256-vpm2y/CxRNWkz6+AOMmmZH5AjRQWAa6WD5Fnx5lqJYw=";
doCheck = false;
- buildFlagsArray = [ "-ldflags=-s -w -X main.Version=${version}" ];
+ subPackages = [ "cmd/tk" ];
+
+ buildFlagsArray = [ "-ldflags=-s -w -extldflags \"-static\" -X github.com/grafana/tanka/pkg/tanka.CURRENT_VERSION=v${version}" ];
nativeBuildInputs = [ installShellFiles ];
@@ -26,7 +28,7 @@ buildGoModule rec {
meta = with lib; {
description = "Flexible, reusable and concise configuration for Kubernetes";
- homepage = "https://github.com/grafana/tanka/";
+ homepage = "https://tanka.dev";
license = licenses.asl20;
maintainers = with maintainers; [ mikefaille ];
platforms = platforms.unix;
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
index 847e3f64ca..c59c037148 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "tektoncd-cli";
- version = "0.17.0";
+ version = "0.17.1";
src = fetchFromGitHub {
owner = "tektoncd";
repo = "cli";
rev = "v${version}";
- sha256 = "sha256-IyYlmatgcVbUj1WCPAFVOIgn1iHM80P4ie6d1YD3ISM=";
+ sha256 = "sha256-xwUTSJ0rlNzQqGQp6jL03L4SuHUvvD3aWXxa1Xp0UyM=";
};
vendorSha256 = null;
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix
index 752274a562..313bd46a51 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix
@@ -1,13 +1,13 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "terraform-docs";
- version = "0.12.0";
+ version = "0.12.1";
src = fetchFromGitHub {
owner = "terraform-docs";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-6jUYntnMB/LxyZuRkSaOVcrzJOIoucdaY+5GVHwJL8Y=";
+ sha256 = "sha256-zQFPuHxfFvfwPVV0vPeA+A6XCw2Vt4tY4S2JBGcqaBQ=";
};
vendorSha256 = "sha256-HO2E8i5A/2Xi7Pq+Mqb/2ogK1to8IvZjRuDXfzGvOXk=";
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json b/third_party/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 9f5ced1d51..329b1be682 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -359,10 +359,10 @@
"owner": "hashicorp",
"provider-source-address": "registry.terraform.io/hashicorp/google",
"repo": "terraform-provider-google",
- "rev": "v3.47.0",
- "sha256": "05xb0q56y9088qbyaf3vzjm9im1s2azxffhjffjpzi0i79k0g2p0",
- "vendorSha256": "1h83p7ncv7b4ci7qdig7hb81zk9458fq9aqqbkryawf1w7wbaq2a",
- "version": "3.47.0"
+ "rev": "v3.62.0",
+ "sha256": "0x0qp8nk88667hvlpgxrdjsgirw8iwv85gn3k9xb37a3lw7xs4qz",
+ "vendorSha256": "0w6aavj1c4blpvsy00vz4dcj8rnxx6a586b16lqp6s1flqmlqrbi",
+ "version": "3.62.0"
},
"google-beta": {
"owner": "hashicorp",
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/terraforming/Gemfile b/third_party/nixpkgs/pkgs/applications/networking/cluster/terraforming/Gemfile
new file mode 100644
index 0000000000..e6a4991e89
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/terraforming/Gemfile
@@ -0,0 +1,3 @@
+source "https://rubygems.org"
+
+gem 'terraforming'
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/terraforming/Gemfile.lock b/third_party/nixpkgs/pkgs/applications/networking/cluster/terraforming/Gemfile.lock
new file mode 100644
index 0000000000..ae2a40cc35
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/terraforming/Gemfile.lock
@@ -0,0 +1,92 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ aws-eventstream (1.1.1)
+ aws-partitions (1.436.0)
+ aws-sdk-autoscaling (1.59.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-cloudwatch (1.50.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-core (3.113.0)
+ aws-eventstream (~> 1, >= 1.0.2)
+ aws-partitions (~> 1, >= 1.239.0)
+ aws-sigv4 (~> 1.1)
+ jmespath (~> 1.0)
+ aws-sdk-dynamodb (1.60.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-ec2 (1.230.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-efs (1.39.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-elasticache (1.54.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-elasticloadbalancing (1.31.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-elasticloadbalancingv2 (1.61.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-iam (1.51.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-kms (1.43.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-rds (1.117.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-redshift (1.58.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-route53 (1.48.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-s3 (1.93.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sdk-kms (~> 1)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-sns (1.39.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sigv4 (~> 1.1)
+ aws-sdk-sqs (1.38.0)
+ aws-sdk-core (~> 3, >= 3.112.0)
+ aws-sigv4 (~> 1.1)
+ aws-sigv4 (1.2.3)
+ aws-eventstream (~> 1, >= 1.0.2)
+ jmespath (1.4.0)
+ multi_json (1.12.2)
+ terraforming (0.18.0)
+ aws-sdk-autoscaling (~> 1)
+ aws-sdk-cloudwatch (~> 1)
+ aws-sdk-dynamodb (~> 1.18)
+ aws-sdk-ec2 (~> 1)
+ aws-sdk-efs (~> 1, >= 1.13.0)
+ aws-sdk-elasticache (~> 1)
+ aws-sdk-elasticloadbalancing (~> 1)
+ aws-sdk-elasticloadbalancingv2 (~> 1)
+ aws-sdk-iam (~> 1)
+ aws-sdk-kms (~> 1)
+ aws-sdk-rds (~> 1)
+ aws-sdk-redshift (~> 1)
+ aws-sdk-route53 (~> 1)
+ aws-sdk-s3 (~> 1)
+ aws-sdk-sns (~> 1)
+ aws-sdk-sqs (~> 1)
+ multi_json (~> 1.12.1)
+ thor
+ thor (1.1.0)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ terraforming
+
+BUNDLED WITH
+ 2.1.4
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/terraforming/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/terraforming/default.nix
new file mode 100644
index 0000000000..85d522257c
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/terraforming/default.nix
@@ -0,0 +1,20 @@
+{ lib, bundlerApp, bundlerUpdateScript, ruby }:
+
+bundlerApp rec {
+ inherit ruby;
+
+ pname = "terraforming";
+ gemdir = ./.;
+ exes = [ "terraforming" ];
+
+ passthru.updateScript = bundlerUpdateScript "terraforming";
+
+ meta = with lib; {
+ inherit (ruby.meta) platforms;
+
+ description = "Export existing AWS resources to Terraform style (tf, tfstate)";
+ homepage = "https://github.com/dtan4/terraforming";
+ license = with licenses; mit;
+ maintainers = with maintainers; [ kalbasit ];
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/terraforming/gemset.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/terraforming/gemset.nix
new file mode 100644
index 0000000000..9882efc29e
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/terraforming/gemset.nix
@@ -0,0 +1,261 @@
+{
+ aws-eventstream = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0jfki5ikfr8ln5cdgv4iv1643kax0bjpp29jh78chzy713274jh3";
+ type = "gem";
+ };
+ version = "1.1.1";
+ };
+ aws-partitions = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1gn09cafg2n6gdc3ja80r3xjllly05r0m7x3w3b3rywir6k6ai4f";
+ type = "gem";
+ };
+ version = "1.436.0";
+ };
+ aws-sdk-autoscaling = {
+ dependencies = ["aws-sdk-core" "aws-sigv4"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0br6hfi2i5rri8ivamkmnx00p640s24pqmp8s67sm5asvdfzx4vr";
+ type = "gem";
+ };
+ version = "1.59.0";
+ };
+ aws-sdk-cloudwatch = {
+ dependencies = ["aws-sdk-core" "aws-sigv4"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0xga00dn925rfgz4p2zf734aaik00dqb9psll27lg5626jd6xr0c";
+ type = "gem";
+ };
+ version = "1.50.0";
+ };
+ aws-sdk-core = {
+ dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1774xyfqf307qvh5npvf01948ayrviaadq576r4jxin6xvlg8j9z";
+ type = "gem";
+ };
+ version = "3.113.0";
+ };
+ aws-sdk-dynamodb = {
+ dependencies = ["aws-sdk-core" "aws-sigv4"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1dfsmkzv9cziykzc56g9pwxmbdqjpykxka3fq07b6iarzh38j1i3";
+ type = "gem";
+ };
+ version = "1.60.0";
+ };
+ aws-sdk-ec2 = {
+ dependencies = ["aws-sdk-core" "aws-sigv4"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1c7qqly2f94db3643xwjj9mcb34vilx11awbv40v2f8z7xisvvz3";
+ type = "gem";
+ };
+ version = "1.230.0";
+ };
+ aws-sdk-efs = {
+ dependencies = ["aws-sdk-core" "aws-sigv4"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0kmpz86sxkm6nzcf80nd65902fy29hz8lvx1kjwl5idx07ls8pnd";
+ type = "gem";
+ };
+ version = "1.39.0";
+ };
+ aws-sdk-elasticache = {
+ dependencies = ["aws-sdk-core" "aws-sigv4"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "05kn2k437rnsf9nkwc1x5i2klrasjgyk1pj89f2gb0za86swjcza";
+ type = "gem";
+ };
+ version = "1.54.0";
+ };
+ aws-sdk-elasticloadbalancing = {
+ dependencies = ["aws-sdk-core" "aws-sigv4"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0j3px8dn2yxsnmy010kfkwa1a2flbdxachmly20f436ysi3ql3v3";
+ type = "gem";
+ };
+ version = "1.31.0";
+ };
+ aws-sdk-elasticloadbalancingv2 = {
+ dependencies = ["aws-sdk-core" "aws-sigv4"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "16hknbqv5s1im04dch9kdbc79x072613imdih62w48mvsf12c1mm";
+ type = "gem";
+ };
+ version = "1.61.0";
+ };
+ aws-sdk-iam = {
+ dependencies = ["aws-sdk-core" "aws-sigv4"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0x2768blsy8lpib9pi2f2d67flabar3bq6chmbj07iqzpwvpz569";
+ type = "gem";
+ };
+ version = "1.51.0";
+ };
+ aws-sdk-kms = {
+ dependencies = ["aws-sdk-core" "aws-sigv4"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "01pd0f4srsa65zl4zq4014p9j5yrr2yy9h9ab17g3w9d0qqm2vsh";
+ type = "gem";
+ };
+ version = "1.43.0";
+ };
+ aws-sdk-rds = {
+ dependencies = ["aws-sdk-core" "aws-sigv4"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0hwxgcka6bmzdn5pazss0fv8xgbbgas4h2cwpzwhkjkwhh23dx6a";
+ type = "gem";
+ };
+ version = "1.117.0";
+ };
+ aws-sdk-redshift = {
+ dependencies = ["aws-sdk-core" "aws-sigv4"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1sp186v00lj517hia6rsn28ph8rqknz9r79vbkbyh5fgrbh2j6bd";
+ type = "gem";
+ };
+ version = "1.58.0";
+ };
+ aws-sdk-route53 = {
+ dependencies = ["aws-sdk-core" "aws-sigv4"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0p9g0scw9c6qancdwvaw3kkj3pywchy2vl3qz2rqpjncqvj04pn5";
+ type = "gem";
+ };
+ version = "1.48.0";
+ };
+ aws-sdk-s3 = {
+ dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0iy2f9z43pc6fgwmga2cz8nf9gy2pwcw4jib141vp8z8dhylqj94";
+ type = "gem";
+ };
+ version = "1.93.0";
+ };
+ aws-sdk-sns = {
+ dependencies = ["aws-sdk-core" "aws-sigv4"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0pmxi871r2nkl6by89vsy05ahk8dr6hmkny56fycrby6r9kri9q4";
+ type = "gem";
+ };
+ version = "1.39.0";
+ };
+ aws-sdk-sqs = {
+ dependencies = ["aws-sdk-core" "aws-sigv4"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "01m2l8y4q4fixjvl70w5bi1ihmmx2y4krms9kkjwd3ch21y14hif";
+ type = "gem";
+ };
+ version = "1.38.0";
+ };
+ aws-sigv4 = {
+ dependencies = ["aws-eventstream"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1d9zhmi3mpfzkkpg7yw7s9r1dwk157kh9875j3c7gh6cy95lmmaw";
+ type = "gem";
+ };
+ version = "1.2.3";
+ };
+ jmespath = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf";
+ type = "gem";
+ };
+ version = "1.4.0";
+ };
+ multi_json = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "1raim9ddjh672m32psaa9niw67ywzjbxbdb8iijx3wv9k5b0pk2x";
+ type = "gem";
+ };
+ version = "1.12.2";
+ };
+ terraforming = {
+ dependencies = ["aws-sdk-autoscaling" "aws-sdk-cloudwatch" "aws-sdk-dynamodb" "aws-sdk-ec2" "aws-sdk-efs" "aws-sdk-elasticache" "aws-sdk-elasticloadbalancing" "aws-sdk-elasticloadbalancingv2" "aws-sdk-iam" "aws-sdk-kms" "aws-sdk-rds" "aws-sdk-redshift" "aws-sdk-route53" "aws-sdk-s3" "aws-sdk-sns" "aws-sdk-sqs" "multi_json" "thor"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "03fyhqx6bxpbn26pbcz748gz7rh7q3r9r0jimq7vj07fl454fmwh";
+ type = "gem";
+ };
+ version = "0.18.0";
+ };
+ thor = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna";
+ type = "gem";
+ };
+ version = "1.1.0";
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix
index 9634e477e8..eb230062fe 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "terragrunt";
- version = "0.28.16";
+ version = "0.28.18";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-xt04gYxInW9UNxPG4kmMagfAQyQ+T0/u7m39grFCdAc=";
+ sha256 = "sha256-W0HjGILezhuc1lXvGCHw23h8Sx1uw4YLLsOOBZYGvU8=";
};
- vendorSha256 = "sha256-vHKqowc3euQQyvgfaTbIgSXOhPcf2nSoteQK0a574Kc=";
+ vendorSha256 = "sha256-kcRM76xfajtQist1aJTmaRludxRlfvHQ9ucB3LOgnBk=";
doCheck = false;
diff --git a/third_party/nixpkgs/pkgs/applications/networking/compactor/default.nix b/third_party/nixpkgs/pkgs/applications/networking/compactor/default.nix
index d0db8cc10b..f4535c9120 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/compactor/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/compactor/default.nix
@@ -1,5 +1,5 @@
{ autoconf, automake, boost, cbor-diag, cddl, fetchFromGitHub, file, libctemplate, libmaxminddb
-, libpcap, libtins, libtool, lzma, openssl, pkg-config, lib, stdenv, tcpdump, wireshark-cli
+, libpcap, libtins, libtool, xz, openssl, pkg-config, lib, stdenv, tcpdump, wireshark-cli
}:
stdenv.mkDerivation rec {
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
libpcap
openssl
libtins
- lzma
+ xz
libctemplate
libmaxminddb
];
diff --git a/third_party/nixpkgs/pkgs/applications/networking/dnscontrol/default.nix b/third_party/nixpkgs/pkgs/applications/networking/dnscontrol/default.nix
index 1b8ff4622f..39073985fa 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/dnscontrol/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/dnscontrol/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "dnscontrol";
- version = "3.7.0";
+ version = "3.8.0";
src = fetchFromGitHub {
owner = "StackExchange";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-el94Iq7/+1FfGpqbhKEO6FGpaCxoueoc/+Se+WfT+G0=";
+ sha256 = "sha256-VSNvyigaGfGDbcng6ltdq+X35zT2tb2p4j/4KAjd1Yk=";
};
- vendorSha256 = "sha256-MSHg1RWjbXm1pf6HTyJL4FcnLuacL9fO1F6zbouVkWg=";
+ vendorSha256 = "sha256-VU0uJDp5koVU+wDwr3ctrDY0R3vd/JmpA7gtWWpwpfw=";
subPackages = [ "." ];
diff --git a/third_party/nixpkgs/pkgs/applications/networking/feedreaders/rss2email/default.nix b/third_party/nixpkgs/pkgs/applications/networking/feedreaders/rss2email/default.nix
index 23b79dccd6..9ecadd56f1 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/feedreaders/rss2email/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/feedreaders/rss2email/default.nix
@@ -1,32 +1,19 @@
-{ pythonPackages, fetchurl, fetchpatch, lib, nixosTests }:
+{ pythonPackages, fetchurl, lib, nixosTests }:
with pythonPackages;
buildPythonApplication rec {
pname = "rss2email";
- version = "3.12.2";
+ version = "3.13";
propagatedBuildInputs = [ feedparser html2text ];
checkInputs = [ beautifulsoup4 ];
src = fetchurl {
url = "mirror://pypi/r/rss2email/${pname}-${version}.tar.gz";
- sha256 = "12w6x80wsw6xm17fxyymnl45aavsagg932zw621wcjz154vjghjr";
+ sha256 = "09vp2y0ibv20y9yysniv6njzigif4h74pkj31l2a8xw5g19gclna";
};
- patches = [
- (fetchpatch {
- name = "rss2email-feedparser6.patch";
- url = "https://github.com/rss2email/rss2email/pull/149/commits/338343c92f956c31ff5249ef4bcf7aeea81f687e.patch";
- sha256 = "0h8b3g9332vdrkqbh6lp00k97asrhmlxi13zghrgc78ia13czy3z";
- })
- (fetchpatch {
- name = "rss2email-feedparser6-test.patch";
- url = "https://github.com/rss2email/rss2email/pull/149/commits/8c99651eced3f29f05ba2c0ca02abb8bb9a18967.patch";
- sha256 = "1scljak6xyqxlilg3j39v4qm9a9jks1bnvnrh62hyf3g53yw2xlg";
- })
- ];
-
outputs = [ "out" "man" "doc" ];
postPatch = ''
@@ -45,8 +32,10 @@ buildPythonApplication rec {
cp AUTHORS COPYING CHANGELOG README.rst $doc/share/doc/rss2email/
'';
- postCheck = ''
+ checkPhase = ''
+ runHook preCheck
env PATH=$out/bin:$PATH python ./test/test.py
+ runHook postCheck
'';
meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/applications/networking/firehol/default.nix b/third_party/nixpkgs/pkgs/applications/networking/firehol/default.nix
index ee0b561e67..424c677210 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/firehol/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/firehol/default.nix
@@ -1,5 +1,5 @@
{ stdenv, lib, fetchFromGitHub, pkgs
-, autoconf, automake, curl, iprange, iproute, ipset, iptables, iputils
+, autoconf, automake, curl, iprange, iproute2, ipset, iptables, iputils
, kmod, nettools, procps, tcpdump, traceroute, util-linux, whois
# If true, just install FireQOS without FireHOL
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoconf automake ];
buildInputs = [
- curl iprange iproute ipset iptables iputils kmod
+ curl iprange iproute2 ipset iptables iputils kmod
nettools procps tcpdump traceroute util-linux whois
];
diff --git a/third_party/nixpkgs/pkgs/applications/networking/ike/default.nix b/third_party/nixpkgs/pkgs/applications/networking/ike/default.nix
index 5ed87334c4..7b4ddb6134 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/ike/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/ike/default.nix
@@ -1,5 +1,5 @@
{ lib, stdenv, fetchurl, fetchpatch, cmake, openssl, libedit, flex, bison, qt4, makeWrapper
-, gcc, nettools, iproute, linuxHeaders }:
+, gcc, nettools, iproute2, linuxHeaders }:
# NOTE: use $out/etc/iked.conf as sample configuration and also set: dhcp_file "/etc/iked.dhcp";
# launch with "iked -f /etc/iked.conf"
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
];
nativeBuildInputs = [ cmake flex bison makeWrapper ];
- buildInputs = [ openssl libedit qt4 nettools iproute ];
+ buildInputs = [ openssl libedit qt4 nettools iproute2 ];
postPatch = ''
# fix build with bison3
diff --git a/third_party/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix b/third_party/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
index 8f09c37d25..1775e45d4e 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -26,6 +26,7 @@
, libuuid
, libxcb
, libxkbcommon
+, libxshmfence
, mesa
, nspr
, nss
@@ -41,11 +42,11 @@ let
pname = "slack";
- x86_64-darwin-version = "4.13.0";
- x86_64-darwin-sha256 = "1f155fgbdmqxy7324lxj3ysx1p332rzpwy06iac90rm6irf5v57f";
+ x86_64-darwin-version = "4.14.0";
+ x86_64-darwin-sha256 = "0kpjsnriav6rcddjkz0z9arxjd09i6bw2krnmf3dc31my64nmxs6";
- x86_64-linux-version = "4.13.0";
- x86_64-linux-sha256 = "1hqvynkhbkfwxvfgjqv91x5k7qlzayjr5mmf8rz0ncp4j4d3x9mq";
+ x86_64-linux-version = "4.14.0";
+ x86_64-linux-sha256 = "0xy9i8ssjba62ca7lfan58rhwx69wkapfd0jzkaj95qhqnv019fg";
version = {
x86_64-darwin = x86_64-darwin-version;
@@ -117,6 +118,7 @@ let
xorg.libXi
xorg.libXrandr
xorg.libXrender
+ xorg.libxshmfence
xorg.libXtst
xorg.libxkbfile
] + ":${stdenv.cc.cc.lib}/lib64";
diff --git a/third_party/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix b/third_party/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix
index 676902d68e..bfd4f28d0c 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix
@@ -1,6 +1,6 @@
{ mkDerivation, lib, fetchFromGitHub, pkg-config, python3, cmake, ninja
, qtbase, qtimageformats, libdbusmenu, hunspell, xdg-utils, ffmpeg_3, openalSoft
-, lzma, lz4, xxHash, zlib, minizip, openssl, libtgvoip, microsoft_gsl, tl-expected
+, xz, lz4, xxHash, zlib, minizip, openssl, libtgvoip, microsoft_gsl, tl-expected
, range-v3
}:
@@ -21,7 +21,7 @@ mkDerivation rec {
nativeBuildInputs = [ pkg-config python3 cmake ninja ];
buildInputs = [
- qtbase qtimageformats ffmpeg_3 openalSoft lzma lz4 xxHash libdbusmenu
+ qtbase qtimageformats ffmpeg_3 openalSoft xz lz4 xxHash libdbusmenu
zlib minizip openssl hunspell libtgvoip microsoft_gsl tl-expected range-v3
];
diff --git a/third_party/nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix b/third_party/nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
index 1abedf5802..4dc29dd228 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
@@ -22,13 +22,13 @@ let
pname = "wire-desktop";
version = {
- x86_64-darwin = "3.23.4046";
- x86_64-linux = "3.23.2938";
+ x86_64-darwin = "3.24.4059";
+ x86_64-linux = "3.24.2939";
}.${system} or throwSystem;
sha256 = {
- x86_64-darwin = "19k8102chh4yphk89kiz83yarawnzdnsq0hbsqpjdhbmarqjcd9s";
- x86_64-linux = "1cx5azl5dvya1hf0gayafm4rg6ccmmq978xsgm6lf0rlb4kirj65";
+ x86_64-darwin = "1zjv3d8jp0wldrzl02q9kir7q3y5bcb6hsfli6wip8bmaq78dksy";
+ x86_64-linux = "1k9n58pr5fnqv9vacay5vrbs4pvq2p36c0dpg9rjdcnb2fwaqg5p";
}.${system} or throwSystem;
meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/applications/networking/mailreaders/alpine/default.nix b/third_party/nixpkgs/pkgs/applications/networking/mailreaders/alpine/default.nix
index 62882818d7..d169e1fdea 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/mailreaders/alpine/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/mailreaders/alpine/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl, ncurses, tcl, openssl, pam, kerberos
+{lib, stdenv, fetchurl, ncurses, tcl, openssl, pam, libkrb5
, openldap
}:
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [
- ncurses tcl openssl pam kerberos openldap
+ ncurses tcl openssl pam libkrb5 openldap
];
hardeningDisable = [ "format" ];
diff --git a/third_party/nixpkgs/pkgs/applications/networking/mailreaders/mblaze/default.nix b/third_party/nixpkgs/pkgs/applications/networking/mailreaders/mblaze/default.nix
index b7527d04cb..278561e0e5 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/mailreaders/mblaze/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/mailreaders/mblaze/default.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
makeFlags = [ "PREFIX=$(out)" ];
+ enableParallelBuilding = true;
+
postInstall = ''
installShellCompletion contrib/_mblaze
'' + lib.optionalString (ruby != null) ''
diff --git a/third_party/nixpkgs/pkgs/applications/networking/mailreaders/mutt/default.nix b/third_party/nixpkgs/pkgs/applications/networking/mailreaders/mutt/default.nix
index eecf8f0f67..27c06c95d9 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -4,7 +4,7 @@
, cyrus_sasl ? null
, gnupg ? null
, gpgme ? null
-, kerberos ? null
+, libkrb5 ? null
, headerCache ? true
, sslSupport ? true
, saslSupport ? true
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
[ ncurses which perl ]
++ optional headerCache gdbm
++ optional sslSupport openssl
- ++ optional gssSupport kerberos
+ ++ optional gssSupport libkrb5
++ optional saslSupport cyrus_sasl
++ optional gpgmeSupport gpgme;
diff --git a/third_party/nixpkgs/pkgs/applications/networking/mailreaders/neomutt/default.nix b/third_party/nixpkgs/pkgs/applications/networking/mailreaders/neomutt/default.nix
index 0c02f512da..b2187371f2 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which
-, ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl
+, ncurses, perl , cyrus_sasl, gss, gpgme, libkrb5, libidn, libxml2, notmuch, openssl
, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, w3m, mailcap, sqlite, zlib
}:
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [
- cyrus_sasl gss gpgme kerberos libidn ncurses
+ cyrus_sasl gss gpgme libkrb5 libidn ncurses
notmuch openssl perl lmdb
mailcap sqlite
];
diff --git a/third_party/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/68.nix b/third_party/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/68.nix
index 5e2c74fb3f..dda6abac8e 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/68.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/68.nix
@@ -16,7 +16,7 @@
, glibc
, gtk2
, gtk3
-, kerberos
+, libkrb5
, libX11
, libXScrnSaver
, libXcomposite
@@ -94,7 +94,7 @@ stdenv.mkDerivation {
glibc
gtk2
gtk3
- kerberos
+ libkrb5
libX11
libXScrnSaver
libXcomposite
diff --git a/third_party/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/third_party/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index f9027285c1..d16cbfc1bc 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -20,7 +20,7 @@
, gpgme
, gtk2
, gtk3
-, kerberos
+, libkrb5
, libcanberra
, libGL
, libGLU
@@ -93,7 +93,7 @@ stdenv.mkDerivation {
glibc
gtk2
gtk3
- kerberos
+ libkrb5
libX11
libXScrnSaver
libXcomposite
diff --git a/third_party/nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix b/third_party/nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix
index 9b86c0847e..618234e6ff 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/protonmail-bridge/default.nix
@@ -2,34 +2,43 @@
buildGoModule rec {
pname = "protonmail-bridge";
- version = "1.5.0";
+ version = "1.6.9";
src = fetchFromGitHub {
owner = "ProtonMail";
repo = "proton-bridge";
rev = "br-${version}";
- sha256 = "lHqwKlFwz9iO7LJMGFTGCauw12z/BKnQte2sVoVkOaY=";
+ sha256 = "0p2315smxc5knxzr9413w62z65647znh9j9vyb6w5x4dqfp7vhz9";
};
- vendorSha256 = "eP+7fqBctX9XLCoHVJDI/qaa5tocgg3F5nfUM6dzNRg=";
+ vendorSha256 = "04aa7syp5hhpqxdpqlsmmbwywnbrh4ia0diym2935jbrqccnvm1k";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ libsecret ];
buildPhase = ''
- make BUILD_TIME= build-nogui
+ runHook preBuild
+
+ patchShebangs ./utils/
+ make BUILD_TIME= -j$NIX_BUILD_CORES build-nogui
+
+ runHook postBuild
'';
installPhase = ''
- install -Dm555 Desktop-Bridge $out/bin/protonmail-bridge
+ runHook preInstall
+
+ install -Dm555 proton-bridge $out/bin/protonmail-bridge
+
+ runHook postInstall
'';
meta = with lib; {
homepage = "https://github.com/ProtonMail/proton-bridge";
changelog = "https://github.com/ProtonMail/proton-bridge/blob/master/Changelog.md";
downloadPage = "https://github.com/ProtonMail/proton-bridge/releases";
- license = licenses.gpl3;
+ license = licenses.gpl3Plus;
maintainers = with maintainers; [ lightdiscord ];
description = "Use your ProtonMail account with your local e-mail client";
longDescription = ''
diff --git a/third_party/nixpkgs/pkgs/applications/networking/remote/aws-workspaces/default.nix b/third_party/nixpkgs/pkgs/applications/networking/remote/aws-workspaces/default.nix
index acfacadd55..96c66f054e 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/remote/aws-workspaces/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/remote/aws-workspaces/default.nix
@@ -1,6 +1,6 @@
{ stdenv, lib
, makeWrapper, dpkg, fetchurl, autoPatchelfHook
-, curl, kerberos, lttng-ust, libpulseaudio, gtk3, openssl_1_1, icu, webkitgtk, librsvg, gdk-pixbuf, libsoup, glib-networking
+, curl, libkrb5, lttng-ust, libpulseaudio, gtk3, openssl_1_1, icu, webkitgtk, librsvg, gdk-pixbuf, libsoup, glib-networking
}:
stdenv.mkDerivation rec {
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
buildInputs = [
stdenv.cc.cc.lib
- kerberos
+ libkrb5
curl
lttng-ust
libpulseaudio
diff --git a/third_party/nixpkgs/pkgs/applications/networking/remote/vmware-horizon-client/default.nix b/third_party/nixpkgs/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
index f52373f262..48ea229c24 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
@@ -3,6 +3,7 @@
, at-spi2-atk
, atk
, buildFHSUserEnv
+, cairo
, dbus
, fetchurl
, fontconfig
@@ -67,6 +68,9 @@ let
# This libjpeg library interferes with Chromium, so we will be using ours instead.
rm $out/lib/vmware/libjpeg.*
+ # This library causes the program to core-dump occasionally. Use ours instead.
+ rm $out/lib/vmware/view/crtbora/libcairo.*
+
# Force the default GTK theme (Adwaita) because Horizon is prone to
# UI usability issues when using non-default themes, such as Adwaita-dark.
makeWrapper "$out/bin/vmware-view" "$out/bin/vmware-view_wrapper" \
@@ -84,6 +88,7 @@ let
targetPkgs = pkgs: [
at-spi2-atk
atk
+ cairo
dbus
fontconfig
freetype
diff --git a/third_party/nixpkgs/pkgs/applications/networking/remote/x2goserver/default.nix b/third_party/nixpkgs/pkgs/applications/networking/remote/x2goserver/default.nix
index 314805a685..0b8e858d25 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/remote/x2goserver/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/remote/x2goserver/default.nix
@@ -1,6 +1,6 @@
{ stdenv, lib, fetchurl, perlPackages, makeWrapper, perl, which, nx-libs
, util-linux, coreutils, glibc, gawk, gnused, gnugrep, findutils, xorg
-, nettools, iproute, bc, procps, psmisc, lsof, pwgen, openssh, sshfs, bash
+, nettools, iproute2, bc, procps, psmisc, lsof, pwgen, openssh, sshfs, bash
}:
let
@@ -31,7 +31,7 @@ let
binaryDeps = [
perlEnv which nx-libs util-linux coreutils glibc.bin gawk gnused gnugrep
- findutils nettools iproute bc procps psmisc lsof pwgen openssh sshfs
+ findutils nettools iproute2 bc procps psmisc lsof pwgen openssh sshfs
xorg.xauth xorg.xinit xorg.xrandr xorg.xmodmap xorg.xwininfo xorg.fontutil
xorg.xkbcomp xorg.setxkbmap
];
diff --git a/third_party/nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix b/third_party/nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix
index 58ff92b548..fa129baabc 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/shellhub-agent/default.nix
@@ -3,6 +3,8 @@
, fetchFromGitHub
, genericUpdater
, common-updater-scripts
+, makeWrapper
+, openssh
}:
buildGoModule rec {
@@ -31,6 +33,12 @@ buildGoModule rec {
};
};
+ nativeBuildInputs = [ makeWrapper ];
+
+ postInstall = ''
+ wrapProgram $out/bin/agent --prefix PATH : ${lib.makeBinPath [ openssh ]}
+ '';
+
meta = with lib; {
description =
"Enables easy access any Linux device behind firewall and NAT";
diff --git a/third_party/nixpkgs/pkgs/applications/networking/sync/rclone/default.nix b/third_party/nixpkgs/pkgs/applications/networking/sync/rclone/default.nix
index 58f9745454..cde73fcc7c 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/sync/rclone/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/sync/rclone/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "rclone";
- version = "1.54.1";
+ version = "1.55.0";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
- sha256 = "sha256-DexqYAkGmgROnYpknnuWc3Q//IMOTSxgrr1w/TrueH4=";
+ sha256 = "01pvcns3n735s848wc11q40pkkv646gn3cxkma866k44a9c2wirl";
};
- vendorSha256 = "sha256-Cpn/dUD9E2BzUlAISC+IDCW59OkEKZTpqdlvF/clV+M=";
+ vendorSha256 = "05f9nx5sa35q2szfkmnkhvqli8jlqja8ghiwyxk7cvgjl7fgd6zk";
subPackages = [ "." ];
diff --git a/third_party/nixpkgs/pkgs/applications/office/fava/default.nix b/third_party/nixpkgs/pkgs/applications/office/fava/default.nix
index b070683e6f..4f32486ffe 100644
--- a/third_party/nixpkgs/pkgs/applications/office/fava/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/office/fava/default.nix
@@ -1,40 +1,44 @@
-{ lib, python3, beancount }:
+{ lib, python3 }:
-let
- inherit (python3.pkgs) buildPythonApplication fetchPypi;
-in
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
pname = "fava";
version = "1.18";
- src = fetchPypi {
+ src = python3.pkgs.fetchPypi {
inherit pname version;
sha256 = "21336b695708497e6f00cab77135b174c51feb2713b657e0e208282960885bf5";
};
- checkInputs = [ python3.pkgs.pytest ];
- propagatedBuildInputs = with python3.pkgs;
- [
- Babel
- cheroot
- flaskbabel
- flask
- jinja2
- beancount
- click
- markdown2
- ply
- simplejson
- werkzeug
- jaraco_functools
- ];
+ nativeBuildInputs = with python3.pkgs; [ setuptools-scm ];
- # CLI test expects fava on $PATH. Not sure why static_url fails.
- # the entry_slices and render_entries requires other files to pass
- checkPhase = ''
- py.test tests -k 'not cli and not static_url and not entry_slice and not render_entries'
+ propagatedBuildInputs = with python3.pkgs; [
+ Babel
+ cheroot
+ flaskbabel
+ flask
+ jinja2
+ beancount
+ click
+ markdown2
+ ply
+ simplejson
+ werkzeug
+ jaraco_functools
+ ];
+
+ checkInputs = with python3.pkgs; [
+ pytestCheckHook
+ ];
+
+ preCheck = ''
+ export HOME=$TEMPDIR
'';
+ disabledTests = [
+ # runs fava in debug mode, which tries to interpret bash wrapper as Python
+ "test_cli"
+ ];
+
meta = {
homepage = "https://beancount.github.io/fava";
description = "Web interface for beancount";
diff --git a/third_party/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix b/third_party/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix
index 75c6b57047..3b8bba9ac1 100644
--- a/third_party/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix
+++ b/third_party/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix
@@ -742,11 +742,11 @@
md5name = "12345c83b89aa29808568977f5200d6da00f88a035517f925293355432ffe61f-postgresql-13.1.tar.bz2";
}
{
- name = "Python-3.8.4.tar.xz";
- url = "https://dev-www.libreoffice.org/src/Python-3.8.4.tar.xz";
- sha256 = "5f41968a95afe9bc12192d7e6861aab31e80a46c46fa59d3d837def6a4cd4d37";
+ name = "Python-3.8.8rc1.tar.xz";
+ url = "https://dev-www.libreoffice.org/src/Python-3.8.8rc1.tar.xz";
+ sha256 = "bd746ed1ad9ccfa9b2a8d13736a5c452025c3600913d000078e6ed1df3d767b6";
md5 = "";
- md5name = "5f41968a95afe9bc12192d7e6861aab31e80a46c46fa59d3d837def6a4cd4d37-Python-3.8.4.tar.xz";
+ md5name = "bd746ed1ad9ccfa9b2a8d13736a5c452025c3600913d000078e6ed1df3d767b6-Python-3.8.8rc1.tar.xz";
}
{
name = "QR-Code-generator-1.4.0.tar.gz";
diff --git a/third_party/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix b/third_party/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix
index ab320f0678..d3fbc261c3 100644
--- a/third_party/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix
+++ b/third_party/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix
@@ -8,7 +8,7 @@ rec {
major = "7";
minor = "1";
- patch = "1";
+ patch = "2";
tweak = "2";
subdir = "${major}.${minor}.${patch}";
@@ -17,13 +17,13 @@ rec {
src = fetchurl {
url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
- sha256 = "1vz028hzbc4n8jznigs419ygylz1vp426dprrkm62bzckv2p1rfn";
+ sha256 = "1y19p9701msf6jjzp9d5ighvmyjzj68qzhm2bk3l5p16ys8qk9bb";
};
# FIXME rename
translations = fetchSrc {
name = "translations";
- sha256 = "1vidv8077f394zn87b2ng1hsld0hgr1zb1p9lmjx0n9k7s7clavh";
+ sha256 = "1j5251lbc35d521d92w52lgps0v5pg8mhr8y3r6x2nl9p0gvw957";
};
# the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
@@ -31,6 +31,6 @@ rec {
help = fetchSrc {
name = "help";
- sha256 = "14wn0lvvplsj194jdqqv184xx0adb4mm8bjflddvcqsl7xsfqx27";
+ sha256 = "1bsrkmzhhpyrmi7akmdfvz4zb543fc093az9965k14rp8l6rhnvf";
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/office/qownnotes/default.nix b/third_party/nixpkgs/pkgs/applications/office/qownnotes/default.nix
index 99b021429a..e397743b22 100644
--- a/third_party/nixpkgs/pkgs/applications/office/qownnotes/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/office/qownnotes/default.nix
@@ -1,19 +1,19 @@
-{ mkDerivation, lib, fetchurl, qmake, qttools, qtbase, qtsvg, qtdeclarative, qtxmlpatterns, qtwayland, qtwebsockets, stdenv /* for isLinux */ }:
+{ mkDerivation, lib, fetchurl, qmake, qttools, qtbase, qtsvg, qtdeclarative, qtxmlpatterns, qtwayland, qtwebsockets, stdenv, qtx11extras }:
mkDerivation rec {
pname = "qownnotes";
- version = "20.2.5";
+ version = "21.3.2";
src = fetchurl {
url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
# Can grab official version like so:
- # $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-20.2.5.tar.xz.sha256
- sha256 = "c26d2a86a521cd243ec0a4788e7627e91cb5877dace73d93dd7d35dd02e9e4c5";
+ # $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-21.3.2.tar.xz.sha256
+ sha256 = "a8e8ab2ca1ef6684407adeb8fc63abcafff407a367471e053c583a1c4215e5ee";
};
nativeBuildInputs = [ qmake qttools ];
buildInputs = [
- qtbase qtsvg qtdeclarative qtxmlpatterns qtwebsockets
+ qtbase qtsvg qtdeclarative qtxmlpatterns qtwebsockets qtx11extras
] ++ lib.optional stdenv.isLinux qtwayland;
meta = with lib; {
@@ -21,7 +21,7 @@ mkDerivation rec {
homepage = "https://www.qownnotes.org/";
platforms = platforms.all;
- license = licenses.gpl2;
- maintainers = with maintainers; [ dtzWill ];
+ license = licenses.gpl2Only;
+ maintainers = with maintainers; [ dtzWill totoroot ];
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/office/wpsoffice/default.nix b/third_party/nixpkgs/pkgs/applications/office/wpsoffice/default.nix
index fad87d4491..b18f22b6c1 100644
--- a/third_party/nixpkgs/pkgs/applications/office/wpsoffice/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/office/wpsoffice/default.nix
@@ -23,7 +23,7 @@
, libtool
, libuuid
, libxml2
-, lzma
+, xz
, nspr
, nss
, openssl
@@ -97,7 +97,7 @@ stdenv.mkDerivation rec {
libuuid
libxcb
libxml2
- lzma
+ xz
nspr
nss
openssl
diff --git a/third_party/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix b/third_party/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix
index 4675760186..44a8ed14c2 100644
--- a/third_party/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/radio/gnss-sdr/default.nix
@@ -4,7 +4,7 @@
, cmake
, gmp
, glog
-, gmock
+, gtest
, openssl
, gflags
, gnuradio3_8
@@ -42,7 +42,7 @@ gnuradio3_8.pkgs.mkDerivation rec {
armadillo
gnuradio3_8.unwrapped.boost
glog
- gmock
+ gtest
openssl
gflags
orc
diff --git a/third_party/nixpkgs/pkgs/applications/radio/gnuradio/3.8.nix b/third_party/nixpkgs/pkgs/applications/radio/gnuradio/3.8.nix
index 799b429800..9f90d3c035 100644
--- a/third_party/nixpkgs/pkgs/applications/radio/gnuradio/3.8.nix
+++ b/third_party/nixpkgs/pkgs/applications/radio/gnuradio/3.8.nix
@@ -1,6 +1,5 @@
{ lib, stdenv
, fetchFromGitHub
-, fetchpatch
, cmake
# Remove gcc and python references
, removeReferencesTo
@@ -42,7 +41,7 @@
, pname ? "gnuradio"
, versionAttr ? {
major = "3.8";
- minor = "2";
+ minor = "3";
patch = "0";
}
# We use our build of volk and not the one bundled with the release
@@ -50,7 +49,7 @@
}:
let
- sourceSha256 = "SFDjtyQRp0fXijZukpLYtISpx8imxedlYN9mRibv1eA=";
+ sourceSha256 = "0lwbj3slhc8bjjvfw7yz45if21hajydgy2vsjvj2barzmhfb37fd";
featuresInfo = {
# Needed always
basic = {
@@ -241,12 +240,17 @@ stdenv.mkDerivation rec {
};
cmakeFlags = shared.cmakeFlags
# From some reason, if these are not set, libcodec2 and gsm are not
- # detected properly. NOTE: qradiolink needs libcodec2 to be detected in
+ # detected properly. The issue is reported upstream:
+ # https://github.com/gnuradio/gnuradio/issues/4278
+ #
+ # NOTE: qradiolink needs libcodec2 to be detected in
# order to build, see https://github.com/qradiolink/qradiolink/issues/67
++ lib.optionals (hasFeature "gr-vocoder" features) [
+ "-DLIBCODEC2_FOUND=TRUE"
"-DLIBCODEC2_LIBRARIES=${codec2}/lib/libcodec2.so"
"-DLIBCODEC2_INCLUDE_DIRS=${codec2}/include"
"-DLIBCODEC2_HAS_FREEDV_API=ON"
+ "-DLIBGSM_FOUND=TRUE"
"-DLIBGSM_LIBRARIES=${gsm}/lib/libgsm.so"
"-DLIBGSM_INCLUDE_DIRS=${gsm}/include/gsm"
]
@@ -262,23 +266,4 @@ stdenv.mkDerivation rec {
${removeReferencesTo}/bin/remove-references-to -t ${python} $out/lib/cmake/gnuradio/GnuradioConfig.cmake
''
;
- patches = [
- # Don't install python referencing files if python support is disabled.
- # See: https://github.com/gnuradio/gnuradio/pull/3839
- (fetchpatch {
- url = "https://github.com/gnuradio/gnuradio/commit/4a4fd570b398b0b50fe875fcf0eb9c9db2ea5c6e.diff";
- sha256 = "xz2E0ji6zfdOAhjfPecAcaVOIls1XP8JngLkBbBBW5Q=";
- })
- (fetchpatch {
- url = "https://github.com/gnuradio/gnuradio/commit/dbc8ad7e7361fddc7b1dbc267c07a776a3f9664b.diff";
- sha256 = "tQcCpcUbJv3yqAX8rSHN/pAuBq4ueEvoVo7sNzZGvf4=";
- })
- # Needed to use boost 1.7x, see:
- # https://github.com/gnuradio/gnuradio/issues/3720
- # https://github.com/gnuradio/gnuradio/pull/3967
- (fetchpatch {
- url = "https://github.com/gnuradio/gnuradio/commit/cbcb968358fad56f3646619b258f18b0e6693a07.diff";
- sha256 = "1ajf4797f869lqv436xw61s29qdbn7f01i0970kfxv3yahd34p9v";
- })
- ];
}
diff --git a/third_party/nixpkgs/pkgs/applications/radio/gnuradio/default.nix b/third_party/nixpkgs/pkgs/applications/radio/gnuradio/default.nix
index bcb2560144..d622fef424 100644
--- a/third_party/nixpkgs/pkgs/applications/radio/gnuradio/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/radio/gnuradio/default.nix
@@ -44,14 +44,14 @@
, pname ? "gnuradio"
, versionAttr ? {
major = "3.9";
- minor = "0";
+ minor = "1";
patch = "0";
}
, fetchSubmodules ? false
}:
let
- sourceSha256 = "ZjQzioAuWrd8jsYOnLNH1mK4n9EbrjgvPX3mTzVFdLk=";
+ sourceSha256 = "0zydmrr3gkaqiv4jv8f42awrfzs177bqb349q34rnr6j3d32z2vp";
featuresInfo = {
# Needed always
basic = {
@@ -190,11 +190,10 @@ let
runtime = [ SDL ];
cmakeEnableFlag = "GR_VIDEO_SDL";
};
- # codec2 and gsm support is broken with gr3.9: https://github.com/gnuradio/gnuradio/issues/4278
- # gr-vocoder = {
- # runtime = [ codec2 gsm ];
- # cmakeEnableFlag = "GR_VOCODER";
- # };
+ gr-vocoder = {
+ runtime = [ codec2 gsm ];
+ cmakeEnableFlag = "GR_VOCODER";
+ };
gr-wavelet = {
cmakeEnableFlag = "GR_WAVELET";
runtime = [ gsl libsodium ];
@@ -234,7 +233,6 @@ stdenv.mkDerivation rec {
src
nativeBuildInputs
buildInputs
- cmakeFlags
disallowedReferences
stripDebugList
doCheck
@@ -250,6 +248,19 @@ stdenv.mkDerivation rec {
} // lib.optionalAttrs (hasFeature "gr-qtgui" features) {
inherit (libsForQt5) qwt;
};
+ cmakeFlags = shared.cmakeFlags
+ # From some reason, if these are not set, libcodec2 and gsm are not
+ # detected properly.
+ ++ lib.optionals (hasFeature "gr-vocoder" features) [
+ "-DLIBCODEC2_FOUND=TRUE"
+ "-DLIBCODEC2_LIBRARIES=${codec2}/lib/libcodec2.so"
+ "-DLIBCODEC2_INCLUDE_DIRS=${codec2}/include"
+ "-DLIBCODEC2_HAS_FREEDV_API=ON"
+ "-DLIBGSM_FOUND=TRUE"
+ "-DLIBGSM_LIBRARIES=${gsm}/lib/libgsm.so"
+ "-DLIBGSM_INCLUDE_DIRS=${gsm}/include/gsm"
+ ]
+ ;
postInstall = shared.postInstall
# This is the only python reference worth removing, if needed.
diff --git a/third_party/nixpkgs/pkgs/applications/radio/ubertooth/default.nix b/third_party/nixpkgs/pkgs/applications/radio/ubertooth/default.nix
new file mode 100644
index 0000000000..2f6eed575b
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/radio/ubertooth/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, libbtbb, libpcap , libusb1, bluez
+, udevGroup ? "ubertooth"
+}:
+
+stdenv.mkDerivation rec {
+ pname = "ubertooth";
+ version = "2020-12-R1";
+
+ src = fetchFromGitHub {
+ owner = "greatscottgadgets";
+ repo = pname;
+ rev = version;
+ sha256 = "11r5ag2l5xn4pr7ycicm30w9c3ldn9yiqj1sqnjc79csxl2vrcfw";
+ };
+
+ sourceRoot = "source/host";
+
+ nativeBuildInputs = [ cmake pkg-config ];
+ buildInputs = [ libbtbb libpcap libusb1 bluez ];
+
+ cmakeFlags = lib.optionals stdenv.isLinux [
+ "-DINSTALL_UDEV_RULES=TRUE"
+ "-DUDEV_RULES_PATH=etc/udev/rules.d"
+ "-DUDEV_RULES_GROUP=${udevGroup}"
+ ];
+
+ meta = with lib; {
+ description = "Open source wireless development platform suitable for Bluetooth experimentation";
+ homepage = "https://github.com/greatscottgadgets/ubertooth";
+ license = licenses.gpl2;
+ maintainers = with maintainers; [ oxzi ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/science/biology/bcftools/default.nix b/third_party/nixpkgs/pkgs/applications/science/biology/bcftools/default.nix
index 80506bb79b..46d39c1a7b 100644
--- a/third_party/nixpkgs/pkgs/applications/science/biology/bcftools/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/biology/bcftools/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, htslib, zlib, bzip2, lzma, curl, perl, python3, bash }:
+{ lib, stdenv, fetchurl, htslib, zlib, bzip2, xz, curl, perl, python3, bash }:
stdenv.mkDerivation rec {
pname = "bcftools";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
python3
];
- buildInputs = [ htslib zlib bzip2 lzma curl ];
+ buildInputs = [ htslib zlib bzip2 xz curl ];
strictDeps = true;
diff --git a/third_party/nixpkgs/pkgs/applications/science/biology/bedtools/default.nix b/third_party/nixpkgs/pkgs/applications/science/biology/bedtools/default.nix
index f5aad5d055..aac36d2af3 100644
--- a/third_party/nixpkgs/pkgs/applications/science/biology/bedtools/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/biology/bedtools/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchFromGitHub, zlib, python3, bzip2, lzma}:
+{lib, stdenv, fetchFromGitHub, zlib, python3, bzip2, xz}:
stdenv.mkDerivation rec {
pname = "bedtools";
@@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
python3
];
- buildInputs = [ zlib bzip2 lzma ];
+ buildInputs = [ zlib bzip2 xz ];
+
cxx = if stdenv.cc.isClang then "clang++" else "g++";
cc = if stdenv.cc.isClang then "clang" else "gcc";
buildPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cxx} CC=${cc} -j $NIX_BUILD_CORES";
diff --git a/third_party/nixpkgs/pkgs/applications/science/biology/delly/default.nix b/third_party/nixpkgs/pkgs/applications/science/biology/delly/default.nix
index efaa4403f4..fe81ff44d2 100644
--- a/third_party/nixpkgs/pkgs/applications/science/biology/delly/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/biology/delly/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchpatch, fetchFromGitHub, htslib, zlib, bzip2, lzma, ncurses, boost }:
+{ lib, stdenv, fetchpatch, fetchFromGitHub, htslib, zlib, bzip2, xz, ncurses, boost }:
stdenv.mkDerivation rec {
pname = "delly";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "sha256-DWwC35r8cQbePUzppkFQlev0YZdxk2+BSrNTW/DOY3M=";
};
- buildInputs = [ zlib htslib bzip2 lzma ncurses boost ];
+ buildInputs = [ zlib htslib bzip2 xz ncurses boost ];
EBROOTHTSLIB = htslib;
diff --git a/third_party/nixpkgs/pkgs/applications/science/biology/freebayes/default.nix b/third_party/nixpkgs/pkgs/applications/science/biology/freebayes/default.nix
index 32ab614b96..8646b8ca54 100644
--- a/third_party/nixpkgs/pkgs/applications/science/biology/freebayes/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/biology/freebayes/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, zlib, bzip2, lzma }:
+{ lib, stdenv, fetchFromGitHub, zlib, bzip2, xz }:
stdenv.mkDerivation rec {
pname = "freebayes";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
fetchSubmodules = true;
};
- buildInputs = [ zlib bzip2 lzma ];
+ buildInputs = [ zlib bzip2 xz ];
installPhase = ''
install -vD bin/freebayes bin/bamleftalign scripts/* -t $out/bin
diff --git a/third_party/nixpkgs/pkgs/applications/science/biology/kent/default.nix b/third_party/nixpkgs/pkgs/applications/science/biology/kent/default.nix
index 26c55d3dc3..12bbfa09c2 100644
--- a/third_party/nixpkgs/pkgs/applications/science/biology/kent/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/biology/kent/default.nix
@@ -3,7 +3,7 @@
, libuuid
, zlib
, bzip2
-, lzma
+, xz
, openssl
, curl
, libmysqlclient
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
sha256 = "0l5lmqqc6sqkf4hyk3z4825ly0vdlj5xdfad6zd0708cb1v81nbx";
};
- buildInputs = [ libpng libuuid zlib bzip2 lzma openssl curl libmysqlclient ];
+ buildInputs = [ libpng libuuid zlib bzip2 xz openssl curl libmysqlclient ];
patchPhase = ''
substituteInPlace ./src/checkUmask.sh \
diff --git a/third_party/nixpkgs/pkgs/applications/science/biology/octopus/default.nix b/third_party/nixpkgs/pkgs/applications/science/biology/octopus/default.nix
index fa88e5c47b..0ef48ec641 100644
--- a/third_party/nixpkgs/pkgs/applications/science/biology/octopus/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/biology/octopus/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchpatch, fetchFromGitHub, cmake, boost, gmp, htslib, zlib, lzma, pkg-config}:
+{lib, stdenv, fetchpatch, fetchFromGitHub, cmake, boost, gmp, htslib, zlib, xz, pkg-config}:
stdenv.mkDerivation rec {
pname = "octopus";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
];
nativeBuildInputs = [ cmake pkg-config ];
- buildInputs = [ boost gmp htslib zlib lzma ];
+ buildInputs = [ boost gmp htslib zlib xz ];
postInstall = ''
mkdir $out/bin
diff --git a/third_party/nixpkgs/pkgs/applications/science/biology/svaba/default.nix b/third_party/nixpkgs/pkgs/applications/science/biology/svaba/default.nix
index 87b77f6ac0..1aed501919 100644
--- a/third_party/nixpkgs/pkgs/applications/science/biology/svaba/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/biology/svaba/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, zlib, bzip2, lzma, fetchFromGitHub } :
+{ lib, stdenv, zlib, bzip2, xz, fetchFromGitHub } :
stdenv.mkDerivation rec {
version = "1.1.0";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
fetchSubmodules = true;
};
- buildInputs = [ zlib bzip2 lzma ];
+ buildInputs = [ zlib bzip2 xz ];
installPhase = ''
runHook preInstall
diff --git a/third_party/nixpkgs/pkgs/applications/science/electronics/tkgate/1.x.nix b/third_party/nixpkgs/pkgs/applications/science/electronics/tkgate/1.x.nix
index 9bb04a3189..5a46e8f638 100644
--- a/third_party/nixpkgs/pkgs/applications/science/electronics/tkgate/1.x.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/electronics/tkgate/1.x.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, tcl, tk, libX11, glibc, which, yacc, flex, imake, xorgproto, gccmakedep }:
+{ lib, stdenv, fetchurl, tcl, tk, libX11, glibc, which, bison, flex, imake, xorgproto, gccmakedep }:
let
libiconvInc = lib.optionalString stdenv.isLinux "${glibc.dev}/include";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
sha256 = "1pqywkidfpdbj18i03h97f4cimld4fb3mqfy8jjsxs12kihm18fs";
};
- nativeBuildInputs = [ which yacc flex imake gccmakedep ];
+ nativeBuildInputs = [ which bison flex imake gccmakedep ];
buildInputs = [ tcl tk libX11 xorgproto ];
dontUseImakeConfigure = true;
diff --git a/third_party/nixpkgs/pkgs/applications/science/logic/lean2/default.nix b/third_party/nixpkgs/pkgs/applications/science/logic/lean2/default.nix
index b3c6a51d44..24d11c3a53 100644
--- a/third_party/nixpkgs/pkgs/applications/science/logic/lean2/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/logic/lean2/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, gmp, mpfr, python
+{ lib, stdenv, fetchFromGitHub, cmake, gmp, mpfr, python2
, gperftools, ninja, makeWrapper }:
stdenv.mkDerivation {
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
};
nativeBuildInputs = [ cmake makeWrapper ninja ];
- buildInputs = [ gmp mpfr python gperftools ];
+ buildInputs = [ gmp mpfr python2 gperftools ];
preConfigure = ''
patchShebangs bin/leantags
diff --git a/third_party/nixpkgs/pkgs/applications/science/logic/poly/default.nix b/third_party/nixpkgs/pkgs/applications/science/logic/poly/default.nix
index db124c379c..15e89138c6 100644
--- a/third_party/nixpkgs/pkgs/applications/science/logic/poly/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/logic/poly/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchFromGitHub, gmp, cmake, python}:
+{lib, stdenv, fetchFromGitHub, gmp, cmake, python3}:
stdenv.mkDerivation rec {
pname = "libpoly";
@@ -14,7 +14,9 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ];
- buildInputs = [ gmp python ];
+ buildInputs = [ gmp python3 ];
+
+ strictDeps = true;
meta = with lib; {
homepage = "https://github.com/SRI-CSL/libpoly";
diff --git a/third_party/nixpkgs/pkgs/applications/science/machine-learning/shogun/default.nix b/third_party/nixpkgs/pkgs/applications/science/machine-learning/shogun/default.nix
index 7d052c6c5e..47b826078f 100644
--- a/third_party/nixpkgs/pkgs/applications/science/machine-learning/shogun/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/machine-learning/shogun/default.nix
@@ -1,6 +1,6 @@
{ stdenv, lib, fetchFromGitHub, fetchpatch, fetchurl, cmake, ctags, swig
# data, compression
-, bzip2, curl, hdf5, json_c, lzma, lzo, protobuf, snappy
+, bzip2, curl, hdf5, json_c, xz, lzo, protobuf, snappy
# maths
, blas, lapack, eigen, nlopt, lp_solve, colpack, glpk
# libraries
@@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ];
buildInputs = with lib; [
- blas lapack bzip2 colpack curl ctags eigen hdf5 json_c lp_solve lzma lzo
+ blas lapack bzip2 colpack curl ctags eigen hdf5 json_c lp_solve xz lzo
protobuf nlopt snappy swig (libarchive.dev) libxml2 lapack glpk
]
++ optionals (pythonSupport) (with pythonPackages; [ python ply numpy ])
diff --git a/third_party/nixpkgs/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix b/third_party/nixpkgs/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix
index 771d6227a8..de6f921298 100644
--- a/third_party/nixpkgs/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/machine-learning/vowpal-wabbit/default.nix
@@ -1,27 +1,33 @@
-{ lib, stdenv, fetchFromGitHub, cmake, boost169, rapidjson, zlib }:
+{ lib, stdenv, fetchFromGitHub, cmake, boost169, flatbuffers, fmt, rapidjson, spdlog, zlib }:
stdenv.mkDerivation rec {
pname = "vowpal-wabbit";
- version = "8.9.2";
+ version = "8.10.0";
src = fetchFromGitHub {
owner = "VowpalWabbit";
repo = "vowpal_wabbit";
rev = version;
- sha256 = "0ng1kip7sh3br85691xvszxd6lhv8nhfkgqkpwxd89wy85znzhmd";
+ sha256 = "1vxnwanflsx6zf8m9mrxms28ii7rl61xfxp3556y3iawmy11d6pl";
};
nativeBuildInputs = [ cmake ];
buildInputs = [
boost169
+ flatbuffers
+ fmt
rapidjson
+ spdlog
zlib
];
# -DBUILD_TESTS=OFF is set as both it saves time in the build and the default
# cmake flags appended by the builder include -DBUILD_TESTING=OFF for which
# this is the equivalent flag.
+ # Flatbuffers are an optional feature.
+ # BUILD_FLATBUFFERS=ON turns it on. This will still consume Flatbuffers as a
+ # system dependency
cmakeFlags = [
"-DVW_INSTALL=ON"
"-DBUILD_TESTS=OFF"
@@ -29,10 +35,12 @@ stdenv.mkDerivation rec {
"-DBUILD_PYTHON=OFF"
"-DUSE_LATEST_STD=ON"
"-DRAPIDJSON_SYS_DEP=ON"
+ "-DFMT_SYS_DEP=ON"
+ "-DSPDLOG_SYS_DEP=ON"
+ "-DBUILD_FLATBUFFERS=ON"
];
meta = with lib; {
- broken = stdenv.isAarch32 || stdenv.isAarch64;
description = "Machine learning system focused on online reinforcement learning";
homepage = "https://github.com/VowpalWabbit/vowpal_wabbit/";
license = licenses.bsd3;
diff --git a/third_party/nixpkgs/pkgs/applications/science/math/ginac/default.nix b/third_party/nixpkgs/pkgs/applications/science/math/ginac/default.nix
index 6a38670adc..901b9a340f 100644
--- a/third_party/nixpkgs/pkgs/applications/science/math/ginac/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/math/ginac/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, cln, pkg-config, readline, gmp, python }:
+{ lib, stdenv, fetchurl, cln, pkg-config, readline, gmp, python3 }:
stdenv.mkDerivation rec {
name = "ginac-1.8.0";
@@ -12,7 +12,9 @@ stdenv.mkDerivation rec {
buildInputs = [ readline ] ++ lib.optional stdenv.isDarwin gmp;
- nativeBuildInputs = [ pkg-config python ];
+ nativeBuildInputs = [ pkg-config python3 ];
+
+ strictDeps = true;
preConfigure = "patchShebangs ginsh";
diff --git a/third_party/nixpkgs/pkgs/applications/science/math/gurobi/default.nix b/third_party/nixpkgs/pkgs/applications/science/math/gurobi/default.nix
index 6066d0325f..2bfeaa0056 100644
--- a/third_party/nixpkgs/pkgs/applications/science/math/gurobi/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/math/gurobi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, autoPatchelfHook, python }:
+{ stdenv, lib, fetchurl, autoPatchelfHook, python2 }:
let
majorVersion = "8.1";
@@ -14,7 +14,9 @@ in stdenv.mkDerivation rec {
sourceRoot = "gurobi${builtins.replaceStrings ["."] [""] version}/linux64";
nativeBuildInputs = [ autoPatchelfHook ];
- buildInputs = [ (python.withPackages (ps: [ ps.gurobipy ])) ];
+ buildInputs = [ (python2.withPackages (ps: [ ps.gurobipy ])) ];
+
+ strictDeps = true;
buildPhase = ''
cd src/build
diff --git a/third_party/nixpkgs/pkgs/applications/science/medicine/aliza/default.nix b/third_party/nixpkgs/pkgs/applications/science/medicine/aliza/default.nix
index 0d827e2ad1..0eb89b63e4 100644
--- a/third_party/nixpkgs/pkgs/applications/science/medicine/aliza/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/medicine/aliza/default.nix
@@ -3,24 +3,28 @@
with lib;
stdenv.mkDerivation {
pname = "aliza";
- version = "1.98.43";
+ version = "1.98.57";
src = fetchurl {
# See https://www.aliza-dicom-viewer.com/download
- url = "https://drive.google.com/uc?export=download&id=1HiDYUVN30oSWZWt3HBp7gNRBCLLtJM1I";
- sha256 = "0d70q67j2q0wdn4m2fxljqb97jwmscqgg3rm1rkb77fi2ik206ra";
+ urls = [
+ "https://drive.google.com/uc?export=download&id=1-AXa3tjy_onecW2k7ftjAQl0KGTb0B1Y"
+ "https://web.archive.org/web/20210327224315/https://doc-0s-0s-docs.googleusercontent.com/docs/securesc/ha0ro937gcuc7l7deffksulhg5h7mbp1/1lgjid9ti29rdf5ebmd7o58iqhs3gfpo/1616884950000/16072287944266838401/*/1-AXa3tjy_onecW2k7ftjAQl0KGTb0B1Y?e=download"
+ ];
+ sha256 = "01qk2gadmc24pmfdnmpiz7vgfiqkvhznyq9rsr153frscg76gc9b";
name = "aliza.rpm";
};
- nativeBuildInputs = [ makeWrapper ];
- buildInputs = [ rpmextract ];
+ nativeBuildInputs = [ makeWrapper rpmextract ];
unpackCmd = "rpmextract $curSrc";
- patchPhase = ''
+ postPatch = ''
sed -i 's/^Exec.*$/Exec=aliza %F/' share/applications/aliza.desktop
'';
installPhase = ''
+ runHook preInstall
+
mkdir -p $out
cp -r bin share $out
diff --git a/third_party/nixpkgs/pkgs/applications/science/misc/root/5.nix b/third_party/nixpkgs/pkgs/applications/science/misc/root/5.nix
index 144827413b..75607fdda3 100644
--- a/third_party/nixpkgs/pkgs/applications/science/misc/root/5.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/misc/root/5.nix
@@ -1,5 +1,5 @@
{ lib, stdenv, fetchurl, fetchpatch, cmake, pcre, pkg-config, python2
-, libX11, libXpm, libXft, libXext, libGLU, libGL, zlib, libxml2, lz4, lzma, gsl_1, xxHash
+, libX11, libXpm, libXft, libXext, libGLU, libGL, zlib, libxml2, lz4, xz, gsl_1, xxHash
, Cocoa, OpenGL, noSplash ? false }:
stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ cmake pkg-config ];
- buildInputs = [ pcre python2 zlib libxml2 lz4 lzma gsl_1 xxHash ]
+ buildInputs = [ pcre python2 zlib libxml2 lz4 xz gsl_1 xxHash ]
++ lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
++ lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
;
diff --git a/third_party/nixpkgs/pkgs/applications/science/misc/root/default.nix b/third_party/nixpkgs/pkgs/applications/science/misc/root/default.nix
index 2f3d57c31e..9df3b0020a 100644
--- a/third_party/nixpkgs/pkgs/applications/science/misc/root/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/misc/root/default.nix
@@ -1,5 +1,5 @@
{ stdenv, lib, fetchurl, makeWrapper, cmake, ftgl, gl2ps, glew, gsl, llvm_5
-, libX11, libXpm, libXft, libXext, libGLU, libGL, libxml2, lz4, lzma, pcre
+, libX11, libXpm, libXft, libXext, libGLU, libGL, libxml2, lz4, xz, pcre
, pkg-config, python, xxHash, zlib, zstd
, libAfterImage, giflib, libjpeg, libtiff, libpng
, Cocoa, OpenGL, noSplash ? false }:
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ makeWrapper cmake pkg-config ];
- buildInputs = [ ftgl gl2ps glew pcre zlib zstd llvm_5 libxml2 lz4 lzma gsl xxHash libAfterImage giflib libjpeg libtiff libpng python.pkgs.numpy ]
+ buildInputs = [ ftgl gl2ps glew pcre zlib zstd llvm_5 libxml2 lz4 xz gsl xxHash libAfterImage giflib libjpeg libtiff libpng python.pkgs.numpy ]
++ lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
++ lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
;
diff --git a/third_party/nixpkgs/pkgs/applications/science/misc/simgrid/default.nix b/third_party/nixpkgs/pkgs/applications/science/misc/simgrid/default.nix
index 771e79311c..76937d1965 100644
--- a/third_party/nixpkgs/pkgs/applications/science/misc/simgrid/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/science/misc/simgrid/default.nix
@@ -18,14 +18,14 @@ in
stdenv.mkDerivation rec {
pname = "simgrid";
- version = "3.26";
+ version = "3.27";
src = fetchFromGitLab {
domain = "framagit.org";
owner = pname;
repo = pname;
rev = "v${version}";
- sha256 = "0kwiggdjqjhjvmwb1m7hb9clvm3xz948fy5ia67dif2pakwad754";
+ sha256 = "13nwsyk030fhl3srhpc28j5s6594z0m38606f4ygc4qhv9wxw011";
};
nativeBuildInputs = [ cmake perl python3 boost valgrind ]
@@ -105,6 +105,6 @@ stdenv.mkDerivation rec {
homepage = "https://simgrid.org/";
license = licenses.lgpl2Plus;
maintainers = with maintainers; [ mickours mpoquet ];
- platforms = ["x86_64-linux"];
+ platforms = platforms.all;
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/search/recoll/default.nix b/third_party/nixpkgs/pkgs/applications/search/recoll/default.nix
index b14eb99420..48671582fb 100644
--- a/third_party/nixpkgs/pkgs/applications/search/recoll/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/search/recoll/default.nix
@@ -33,8 +33,6 @@
, withGui ? true
}:
-assert stdenv.hostPlatform.system != "powerpc-linux";
-
mkDerivation rec {
pname = "recoll";
version = "1.28.6";
diff --git a/third_party/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix b/third_party/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix
index a7dcd0959d..20d24a904e 100644
--- a/third_party/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix
@@ -131,5 +131,6 @@ rustPlatform.buildRustPackage rec {
license = licenses.asl20;
maintainers = with maintainers; [ Br1ght0ne mic92 cole-h ma27 ];
platforms = platforms.unix;
+ changelog = "https://github.com/alacritty/alacritty/blob/v${version}/CHANGELOG.md";
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix b/third_party/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix
index 2631bae57e..08ef2f1373 100644
--- a/third_party/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix
@@ -18,10 +18,14 @@
, pkg-config
, allowPgo ? true
, python3 # for PGO
+# for clang stdenv check
+, foot
+, llvmPackages
+, llvmPackages_latest
}:
let
- version = "1.7.0";
+ version = "1.7.1";
# build stimuli file for PGO build and the script to generate it
# independently of the foot's build, so we can cache the result
@@ -67,8 +71,8 @@ let
# https://codeberg.org/dnkl/foot/src/branch/master/INSTALL.md#performance-optimized-pgo
pgoCflags = {
- "clang" = "-O3 -Wno-ignored-optimization-argument -Wno-profile-instr-out-of-date -Wno-profile-instr-unprofiled";
- "gcc" = "-O3 -Wno-missing-profile";
+ "clang" = "-O3 -Wno-ignored-optimization-argument";
+ "gcc" = "-O3";
}."${compilerName}";
# ar with lto support
@@ -89,7 +93,7 @@ stdenv.mkDerivation rec {
src = fetchzip {
url = "https://codeberg.org/dnkl/${pname}/archive/${version}.tar.gz";
- sha256 = "0w07fw7y31g891335ji3fm783r4dsk5py82qp0zx6z3rfr07paby";
+ sha256 = "1x6nyhlp0zynnbdjx87c4ybfx6fyr0r53vypkfima56dwbfh98ka";
};
nativeBuildInputs = [
@@ -130,12 +134,26 @@ stdenv.mkDerivation rec {
preBuild = lib.optionalString doPgo ''
meson configure -Db_pgo=generate
ninja
+ # make sure there is _some_ profiling data on all binaries
+ ./footclient --version
+ ./foot --version
+ # generate pgo data of wayland independent code
./pgo ${stimuliFile} ${stimuliFile} ${stimuliFile}
meson configure -Db_pgo=use
- '' + lib.optionalString (doPgo && stdenv.cc.cc.pname == "clang") ''
+ '' + lib.optionalString (doPgo && compilerName == "clang") ''
llvm-profdata merge default_*profraw --output=default.profdata
'';
+ passthru.tests = {
+ clang-default-compilation = foot.override {
+ inherit (llvmPackages) stdenv;
+ };
+
+ clang-latest-compilation = foot.override {
+ inherit (llvmPackages_latest) stdenv;
+ };
+ };
+
meta = with lib; {
homepage = "https://codeberg.org/dnkl/foot/";
changelog = "https://codeberg.org/dnkl/foot/releases/tag/${version}";
diff --git a/third_party/nixpkgs/pkgs/applications/terminal-emulators/xterm/default.nix b/third_party/nixpkgs/pkgs/applications/terminal-emulators/xterm/default.nix
index d5b0a9b3bb..a5db506570 100644
--- a/third_party/nixpkgs/pkgs/applications/terminal-emulators/xterm/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/terminal-emulators/xterm/default.nix
@@ -115,5 +115,6 @@ stdenv.mkDerivation rec {
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ nequissimus vrthra ];
platforms = with lib.platforms; linux ++ darwin;
+ changelog = "https://invisible-island.net/xterm/xterm.log.html";
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/bit/default.nix b/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/bit/default.nix
index e41c2569fc..1c88edfd90 100644
--- a/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/bit/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/bit/default.nix
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "bit";
- version = "1.0.5";
+ version = "1.0.6";
src = fetchFromGitHub {
owner = "chriswalz";
repo = pname;
rev = "v${version}";
- sha256 = "0dv6ma2vwb21cbxkxzrpmj7cqlhwr7a86i4g728m3y1aclh411sn";
+ sha256 = "sha256-juQAFVqs0d4EtoX24EyrlKd2qRRseP+jKfM0ymkD39E=";
};
- vendorSha256 = "1j6w7bll4zyp99579dhs2rza4y9kgfz3g8d5grfzgqck6cjj9mn8";
+ vendorSha256 = "sha256-3Y/B14xX5jaoL44rq9+Nn4niGViLPPXBa8WcJgTvYTA=";
propagatedBuildInputs = [ git ];
diff --git a/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix b/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix
index 153a948d8e..6b79d15238 100644
--- a/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "gh";
- version = "1.7.0";
+ version = "1.8.1";
src = fetchFromGitHub {
owner = "cli";
repo = "cli";
rev = "v${version}";
- sha256 = "0ndi264rrssqin03qmv7n0fpzs3kasfqykidrlcyizw1ngyfgc1a";
+ sha256 = "1q0vc9wr4n813mxkf7jjj3prw1n7xv4l985qd57pg4a2js1dqa1y";
};
- vendorSha256 = "0ywh5d41b1c5ivwngsgn46d6yb7s1wqyzl5b0j1x4mcvydi5yi98";
+ vendorSha256 = "1wv30z0jg195nkpz3rwvhixyw81lg2wzwwajq9g6s3rfjj8gs9v2";
nativeBuildInputs = [ installShellFiles ];
diff --git a/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-googledrive/default.nix b/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-googledrive/default.nix
new file mode 100644
index 0000000000..89b2a5f23b
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/git-annex-remote-googledrive/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonApplication
+, fetchPypi
+, annexremote
+, drivelib
+, GitPython
+, tenacity
+, humanfriendly
+}:
+
+buildPythonApplication rec {
+ pname = "git-annex-remote-googledrive";
+ version = "1.3.0";
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "118w0fyy6pck8hyj925ym6ak0xxqhkaq2vharnpl9b97nab4mqg8";
+ };
+
+ propagatedBuildInputs = [ annexremote drivelib GitPython tenacity humanfriendly ];
+
+ # while git-annex does come with a testremote command that *could* be used,
+ # testing this special remote obviously depends on authenticating with google
+ doCheck = false;
+
+ pythonImportsCheck = [ "git_annex_remote_googledrive" ];
+
+ meta = with lib; {
+ description = "A git-annex special remote for Google Drive";
+ homepage = "https://pypi.org/project/git-annex-remote-googledrive/";
+ license = licenses.gpl3Only;
+ maintainers = with maintainers; [ gravndal ];
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bz/default.nix b/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bz/default.nix
index 20e6a993ca..eec9b7ea12 100644
--- a/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bz/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/git-bz/default.nix
@@ -1,6 +1,6 @@
{ lib, stdenv, fetchgit
, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, makeWrapper, xmlto
-, pythonPackages }:
+, python2Packages }:
stdenv.mkDerivation {
pname = "git-bz";
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
asciidoc docbook_xml_dtd_45 docbook_xsl libxslt makeWrapper xmlto
];
buildInputs = []
- ++ (with pythonPackages; [ python pysqlite ]);
+ ++ (with python2Packages; [ python pysqlite ]);
postPatch = ''
patchShebangs configure
@@ -27,8 +27,8 @@ stdenv.mkDerivation {
postInstall = ''
wrapProgram $out/bin/git-bz \
- --prefix PYTHONPATH : "$(toPythonPath "${pythonPackages.pycrypto}")" \
- --prefix PYTHONPATH : "$(toPythonPath "${pythonPackages.pysqlite}")"
+ --prefix PYTHONPATH : "$(toPythonPath "${python2Packages.pycrypto}")" \
+ --prefix PYTHONPATH : "$(toPythonPath "${python2Packages.pysqlite}")"
'';
meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix b/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix
index 5d1589446b..1f7fd36e1d 100644
--- a/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -24,7 +24,7 @@ assert sendEmailSupport -> perlSupport;
assert svnSupport -> perlSupport;
let
- version = "2.30.1";
+ version = "2.31.0";
svn = subversionClient.override { perlBindings = perlSupport; };
gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
- sha256 = "0rwlbps9x8kgk2hsm0bvsrkpsk9bnbnz8alknbd7i688jnhai27r";
+ sha256 = "0h4sg3xqa9pd2agrd7m18sqg319ls978d39qswyf30rjvg5n5wg8";
};
outputs = [ "out" ] ++ lib.optional withManual "doc";
@@ -311,6 +311,9 @@ stdenv.mkDerivation {
# Tested to fail: 2.18.0
disable_test t9902-completion "sourcing the completion script clears cached --options"
+ # Flaky tests:
+ disable_test t5319-multi-pack-index
+
${lib.optionalString (!perlSupport) ''
# request-pull is a Bash script that invokes Perl, so it is not available
# when NO_PERL=1, and the test should be skipped, but the test suite does
@@ -336,7 +339,7 @@ stdenv.mkDerivation {
homepage = "https://git-scm.com/";
description = "Distributed version control system";
license = lib.licenses.gpl2;
- changelog = "https://raw.githubusercontent.com/git/git/${version}/Documentation/RelNotes/${version}.txt";
+ changelog = "https://github.com/git/git/blob/v${version}/Documentation/RelNotes/${version}.txt";
longDescription = ''
Git, a popular distributed version control system designed to
diff --git a/third_party/nixpkgs/pkgs/applications/version-management/git-crecord/default.nix b/third_party/nixpkgs/pkgs/applications/version-management/git-crecord/default.nix
index 5dc75ce4d7..006809db62 100644
--- a/third_party/nixpkgs/pkgs/applications/version-management/git-crecord/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/version-management/git-crecord/default.nix
@@ -1,6 +1,6 @@
-{ lib, fetchFromGitHub, pythonPackages }:
+{ lib, fetchFromGitHub, python2Packages }:
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
pname = "git-crecord";
version = "20161216.0";
@@ -11,7 +11,7 @@ pythonPackages.buildPythonApplication rec {
sha256 = "0v3y90zi43myyi4k7q3892dcrbyi9dn2q6xgk12nw9db9zil269i";
};
- propagatedBuildInputs = with pythonPackages; [ docutils ];
+ propagatedBuildInputs = with python2Packages; [ docutils ];
meta = {
homepage = "https://github.com/andrewshadura/git-crecord";
diff --git a/third_party/nixpkgs/pkgs/applications/version-management/gitstats/default.nix b/third_party/nixpkgs/pkgs/applications/version-management/gitstats/default.nix
index ccd13ba818..b987a3f551 100644
--- a/third_party/nixpkgs/pkgs/applications/version-management/gitstats/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/version-management/gitstats/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchzip, perl, python, gnuplot, coreutils, gnugrep }:
+{ lib, stdenv, fetchzip, perl, python2, gnuplot, coreutils, gnugrep }:
stdenv.mkDerivation rec {
pname = "gitstats";
@@ -11,7 +11,11 @@ stdenv.mkDerivation rec {
name = "${pname}-${version}" + "-src";
};
- buildInputs = [ perl python ];
+ nativeBuildInputs = [ perl ];
+
+ buildInputs = [ python2 ];
+
+ strictDeps = true;
postPatch = ''
sed -e "s|gnuplot_cmd = .*|gnuplot_cmd = '${gnuplot}/bin/gnuplot'|" \
diff --git a/third_party/nixpkgs/pkgs/applications/version-management/monotone-viz/default.nix b/third_party/nixpkgs/pkgs/applications/version-management/monotone-viz/default.nix
index 56cc2a4ea5..cfde0721ba 100644
--- a/third_party/nixpkgs/pkgs/applications/version-management/monotone-viz/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/version-management/monotone-viz/default.nix
@@ -1,11 +1,11 @@
{ lib, stdenv, fetchurl, ocamlPackages, gnome2, pkg-config, makeWrapper, glib
-, libtool, libpng, yacc, expat, fontconfig, gd, pango, libjpeg, libwebp, xlibsWrapper, libXaw
+, libtool, libpng, bison, expat, fontconfig, gd, pango, libjpeg, libwebp, xlibsWrapper, libXaw
}:
# We need an old version of Graphviz for format compatibility reasons.
# This version is vulnerable, but monotone-viz will never feed it bad input.
let graphviz_2_0 = import ./graphviz-2.0.nix {
inherit lib stdenv fetchurl pkg-config xlibsWrapper libpng libjpeg expat libXaw
- yacc libtool fontconfig pango gd libwebp;
+ bison libtool fontconfig pango gd libwebp;
}; in
let inherit (gnome2) libgnomecanvas; in
let inherit (ocamlPackages) ocaml lablgtk camlp4; in
diff --git a/third_party/nixpkgs/pkgs/applications/version-management/monotone-viz/graphviz-2.0.nix b/third_party/nixpkgs/pkgs/applications/version-management/monotone-viz/graphviz-2.0.nix
index d7ec4a8646..541a2262f9 100644
--- a/third_party/nixpkgs/pkgs/applications/version-management/monotone-viz/graphviz-2.0.nix
+++ b/third_party/nixpkgs/pkgs/applications/version-management/monotone-viz/graphviz-2.0.nix
@@ -1,5 +1,5 @@
{ lib, stdenv, fetchurl, pkg-config, xlibsWrapper, libpng, libjpeg, expat, libXaw
-, yacc, libtool, fontconfig, pango, gd, libwebp
+, bison, libtool, fontconfig, pango, gd, libwebp
}:
stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ];
buildInputs = [
- xlibsWrapper libpng libjpeg expat libXaw yacc
+ xlibsWrapper libpng libjpeg expat libXaw bison
libtool fontconfig pango gd libwebp
];
diff --git a/third_party/nixpkgs/pkgs/applications/version-management/subversion/default.nix b/third_party/nixpkgs/pkgs/applications/version-management/subversion/default.nix
index 5540e53c84..d6cad45402 100644
--- a/third_party/nixpkgs/pkgs/applications/version-management/subversion/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/version-management/subversion/default.nix
@@ -111,11 +111,6 @@ let
});
in {
- subversion19 = common {
- version = "1.9.12";
- sha256 = "15z33gdnfiqblm5515020wfdwnp2837r3hnparava6m2fgyiafiw";
- };
-
subversion_1_10 = common {
version = "1.10.6";
sha256 = "19zc215mhpnm92mlyl5jbv57r5zqp6cavr3s2g9yglp6j4kfgj0q";
diff --git a/third_party/nixpkgs/pkgs/applications/video/handbrake/default.nix b/third_party/nixpkgs/pkgs/applications/video/handbrake/default.nix
index 6317d7b1ab..e14d902681 100644
--- a/third_party/nixpkgs/pkgs/applications/video/handbrake/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/video/handbrake/default.nix
@@ -9,7 +9,7 @@
{ stdenv, lib, fetchFromGitHub,
# Main build tools
- pkg-config, autoconf, automake, libtool, m4, lzma, python3,
+ pkg-config, autoconf, automake, libtool, m4, xz, python3,
numactl,
# Processing, video codecs, containers
ffmpeg-full, nv-codec-headers, libogg, x264, x265, libvpx, libtheora, dav1d,
@@ -100,7 +100,7 @@ _EOF
ffmpeg-full libogg libtheora x264 x265 libvpx dav1d
libopus lame libvorbis a52dec speex libsamplerate
libiconv fribidi fontconfig freetype libass jansson libxml2 harfbuzz
- libdvdread libdvdnav libdvdcss libbluray lzma
+ libdvdread libdvdnav libdvdcss libbluray xz
] ++ lib.optional (!stdenv.isDarwin) numactl
++ lib.optionals useGtk [
glib gtk3 libappindicator-gtk3 libnotify
diff --git a/third_party/nixpkgs/pkgs/applications/video/kodi-packages/inputstream-adaptive/default.nix b/third_party/nixpkgs/pkgs/applications/video/kodi-packages/inputstream-adaptive/default.nix
index 136efe8a24..00e58ece07 100644
--- a/third_party/nixpkgs/pkgs/applications/video/kodi-packages/inputstream-adaptive/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/video/kodi-packages/inputstream-adaptive/default.nix
@@ -2,13 +2,13 @@
buildKodiBinaryAddon rec {
pname = "inputstream-adaptive";
namespace = "inputstream.adaptive";
- version = "2.6.7";
+ version = "2.6.8";
src = fetchFromGitHub {
- owner = "peak3d";
+ owner = "xbmc";
repo = "inputstream.adaptive";
rev = "${version}-${rel}";
- sha256 = "1pwqmbr78wp12jn6rwv63npdfc456adwz0amlxf6gvgg43li6p7s";
+ sha256 = "0m2d5r0f82qv4kqmq5yxzpi1awkjir2b2s2mfwkjn8p55r7gzp7c";
};
extraBuildInputs = [ expat ];
@@ -20,7 +20,7 @@ buildKodiBinaryAddon rec {
'';
meta = with lib; {
- homepage = "https://github.com/peak3d/inputstream.adaptive";
+ homepage = "https://github.com/xbmc/inputstream.adaptive";
description = "Kodi inputstream addon for several manifest types";
platforms = platforms.all;
license = licenses.gpl2Only;
diff --git a/third_party/nixpkgs/pkgs/applications/video/kodi-packages/inputstream-ffmpegdirect/default.nix b/third_party/nixpkgs/pkgs/applications/video/kodi-packages/inputstream-ffmpegdirect/default.nix
new file mode 100644
index 0000000000..32b55d5e0c
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/video/kodi-packages/inputstream-ffmpegdirect/default.nix
@@ -0,0 +1,24 @@
+{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, kodi, bzip2, zlib }:
+
+buildKodiBinaryAddon rec {
+ pname = "inputstream-ffmpegdirect";
+ namespace = "inputstream.ffmpegdirect";
+ version = "1.19.4";
+
+ src = fetchFromGitHub {
+ owner = "xbmc";
+ repo = "inputstream.ffmpegdirect";
+ rev = "${version}-${rel}";
+ sha256 = "1ppvs6zybbi73zq1qh8klyhj99byh61c6nijmb1gd5yhg7cywf72";
+ };
+
+ extraBuildInputs = [ bzip2 zlib kodi.ffmpeg ];
+
+ meta = with lib; {
+ homepage = "https://github.com/xbmc/inputstream.ffmpegdirect/";
+ description = "InputStream Client for streams that can be opened by either FFmpeg's libavformat or Kodi's cURL";
+ platforms = platforms.all;
+ license = licenses.gpl2Plus;
+ maintainers = teams.kodi.members;
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/video/kodi-packages/inputstream-rtmp/default.nix b/third_party/nixpkgs/pkgs/applications/video/kodi-packages/inputstream-rtmp/default.nix
new file mode 100644
index 0000000000..c575cfccfc
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/video/kodi-packages/inputstream-rtmp/default.nix
@@ -0,0 +1,24 @@
+{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, openssl, rtmpdump, zlib }:
+
+buildKodiBinaryAddon rec {
+ pname = "inputstream-rtmp";
+ namespace = "inputstream.rtmp";
+ version = "3.4.0";
+
+ src = fetchFromGitHub {
+ owner = "xbmc";
+ repo = "inputstream.rtmp";
+ rev = "${version}-${rel}";
+ sha256 = "1q4k6plkjasnjs7gnbcc1x2mwr562ach7bkqk1z1y343s0dp9qnq";
+ };
+
+ extraBuildInputs = [ openssl rtmpdump zlib ];
+
+ meta = with lib; {
+ homepage = "https://github.com/xbmc/inputstream.rtmp/";
+ description = "Client for RTMP streams";
+ platforms = platforms.all;
+ license = licenses.gpl2Plus;
+ maintainers = teams.kodi.members;
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/video/kodi-packages/netflix/default.nix b/third_party/nixpkgs/pkgs/applications/video/kodi-packages/netflix/default.nix
index e187fad973..e258270dad 100644
--- a/third_party/nixpkgs/pkgs/applications/video/kodi-packages/netflix/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/video/kodi-packages/netflix/default.nix
@@ -3,13 +3,13 @@
buildKodiAddon rec {
pname = "netflix";
namespace = "plugin.video.netflix";
- version = "1.14.1";
+ version = "1.15.0";
src = fetchFromGitHub {
owner = "CastagnaIT";
repo = namespace;
rev = "v${version}";
- sha256 = "0vv3234gg4brp0gvrsl4vdskmpfbyk4z7cjmmj31zn4m8j33japn";
+ sha256 = "1jibzzm8viqpanby6lqxpb95gw5hw3lfsw4jasjskiinbf8n469k";
};
propagatedBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/applications/video/kodi-packages/pvr-iptvsimple/default.nix b/third_party/nixpkgs/pkgs/applications/video/kodi-packages/pvr-iptvsimple/default.nix
index 9f160b4fa6..7fe0ed08e8 100644
--- a/third_party/nixpkgs/pkgs/applications/video/kodi-packages/pvr-iptvsimple/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/video/kodi-packages/pvr-iptvsimple/default.nix
@@ -1,17 +1,29 @@
-{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, zlib, pugixml }:
+{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub
+, pugixml, zlib
+, inputstream-adaptive, inputstream-ffmpegdirect, inputstream-rtmp
+}:
+
buildKodiBinaryAddon rec {
pname = "pvr-iptvsimple";
namespace = "pvr.iptvsimple";
- version = "7.4.2";
+ version = "7.5.1";
src = fetchFromGitHub {
owner = "kodi-pvr";
repo = "pvr.iptvsimple";
rev = "${version}-${rel}";
- sha256 = "062i922qi0izkvn7v47yhyy2cf3fa7xc3k95b1gm9abfdwkk8ywr";
+ sha256 = "1q470v9nipnrca0rbwvqlbxw9ccbl9s1k46hwwrh94vhyp5rjlib";
};
- extraBuildInputs = [ zlib pugixml ];
+ extraBuildInputs = [
+ pugixml
+ zlib
+ ];
+ propagatedBuildInputs = [
+ inputstream-adaptive
+ inputstream-ffmpegdirect
+ inputstream-rtmp
+ ];
meta = with lib; {
homepage = "https://github.com/kodi-pvr/pvr.iptvsimple";
diff --git a/third_party/nixpkgs/pkgs/applications/video/kodi-packages/vfs-libarchive/default.nix b/third_party/nixpkgs/pkgs/applications/video/kodi-packages/vfs-libarchive/default.nix
index 6819f7bfdc..2db17f17ab 100644
--- a/third_party/nixpkgs/pkgs/applications/video/kodi-packages/vfs-libarchive/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/video/kodi-packages/vfs-libarchive/default.nix
@@ -1,4 +1,4 @@
-{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libarchive, lzma, bzip2, zlib, lz4, lzo, openssl }:
+{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libarchive, xz, bzip2, zlib, lz4, lzo, openssl }:
buildKodiBinaryAddon rec {
pname = namespace;
namespace = "vfs.libarchive";
@@ -11,7 +11,7 @@ buildKodiBinaryAddon rec {
sha256 = "1q62p1i6rvqk2zv6f1cpffkh95lgclys2xl4dwyhj3acmqdxd9i5";
};
- extraBuildInputs = [ libarchive lzma bzip2 zlib lz4 lzo openssl ];
+ extraBuildInputs = [ libarchive xz bzip2 zlib lz4 lzo openssl ];
meta = with lib; {
description = "LibArchive Virtual Filesystem add-on for Kodi";
diff --git a/third_party/nixpkgs/pkgs/applications/video/kodi/packages.nix b/third_party/nixpkgs/pkgs/applications/video/kodi/packages.nix
new file mode 100644
index 0000000000..e6ce955e05
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/video/kodi/packages.nix
@@ -0,0 +1,560 @@
+{ lib, stdenv, callPackage, fetchFromGitHub
+, cmake, kodi, libcec_platform, tinyxml, pugixml
+, steam, udev, libusb1, jsoncpp, libhdhomerun, zlib
+, python3Packages, expat, glib, nspr, nss, openssl
+, libssh, libarchive, xz, bzip2, lz4, lzo }:
+
+with lib;
+
+let self = rec {
+
+ addonDir = "/share/kodi/addons";
+ rel = "Matrix";
+
+ inherit kodi;
+
+ # Convert derivation to a kodi module. Stolen from ../../../top-level/python-packages.nix
+ toKodiAddon = drv: drv.overrideAttrs(oldAttrs: {
+ # Use passthru in order to prevent rebuilds when possible.
+ passthru = (oldAttrs.passthru or {})// {
+ kodiAddonFor = kodi;
+ requiredKodiAddons = requiredKodiAddons drv.propagatedBuildInputs;
+ };
+ });
+
+ # Check whether a derivation provides a Kodi addon.
+ hasKodiAddon = drv: drv ? kodiAddonFor && drv.kodiAddonFor == kodi;
+
+ # Get list of required Kodi addons given a list of derivations.
+ requiredKodiAddons = drvs: let
+ modules = filter hasKodiAddon drvs;
+ in unique (modules ++ concatLists (catAttrs "requiredKodiAddons" modules));
+
+ kodi-platform = stdenv.mkDerivation rec {
+ project = "kodi-platform";
+ version = "17.1";
+ name = "${project}-${version}";
+
+ src = fetchFromGitHub {
+ owner = "xbmc";
+ repo = project;
+ rev = "c8188d82678fec6b784597db69a68e74ff4986b5";
+ sha256 = "1r3gs3c6zczmm66qcxh9mr306clwb3p7ykzb70r3jv5jqggiz199";
+ };
+
+ nativeBuildInputs = [ cmake ];
+ buildInputs = [ kodi libcec_platform tinyxml ];
+ };
+
+ buildKodiAddon =
+ { name ? "${attrs.pname}-${attrs.version}"
+ , namespace
+ , sourceDir ? ""
+ , ... } @ attrs:
+ toKodiAddon (stdenv.mkDerivation ({
+ name = "kodi-" + name;
+
+ dontStrip = true;
+
+ extraRuntimeDependencies = [ ];
+
+ installPhase = ''
+ cd $src/$sourceDir
+ d=$out${addonDir}/${namespace}
+ mkdir -p $d
+ sauce="."
+ [ -d ${namespace} ] && sauce=${namespace}
+ cp -R "$sauce/"* $d
+ '';
+ } // attrs));
+
+ buildKodiBinaryAddon =
+ { name ? "${attrs.pname}-${attrs.version}"
+ , namespace
+ , version
+ , extraBuildInputs ? []
+ , extraRuntimeDependencies ? []
+ , extraInstallPhase ? "", ... } @ attrs:
+ toKodiAddon (stdenv.mkDerivation ({
+ name = "kodi-" + name;
+
+ dontStrip = true;
+
+ nativeBuildInputs = [ cmake ];
+ buildInputs = [ kodi kodi-platform libcec_platform ] ++ extraBuildInputs;
+
+ inherit extraRuntimeDependencies;
+
+ # disables check ensuring install prefix is that of kodi
+ cmakeFlags = [
+ "-DOVERRIDE_PATHS=1"
+ ];
+
+ # kodi checks for addon .so libs existance in the addon folder (share/...)
+ # and the non-wrapped kodi lib/... folder before even trying to dlopen
+ # them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use
+ installPhase = let n = namespace; in ''
+ make install
+ ln -s $out/lib/addons/${n}/${n}.so.${version} $out${addonDir}/${n}/${n}.so.${version}
+ ${extraInstallPhase}
+ '';
+ } // attrs));
+
+ advanced-launcher = buildKodiAddon rec {
+
+ pname = "advanced-launcher";
+ namespace = "plugin.program.advanced.launcher";
+ version = "2.5.8";
+
+ src = fetchFromGitHub {
+ owner = "edwtjo";
+ repo = pname;
+ rev = version;
+ sha256 = "142vvgs37asq5m54xqhjzqvgmb0xlirvm0kz6lxaqynp0vvgrkx2";
+ };
+
+ meta = {
+ homepage = "https://forum.kodi.tv/showthread.php?tid=85724";
+ description = "A program launcher for Kodi";
+ longDescription = ''
+ Advanced Launcher allows you to start any Linux, Windows and
+ macOS external applications (with command line support or not)
+ directly from the Kodi GUI. Advanced Launcher also give you
+ the possibility to edit, download (from Internet resources)
+ and manage all the meta-data (informations and images) related
+ to these applications.
+ '';
+ platforms = platforms.all;
+ maintainers = with maintainers; [ edwtjo ];
+ broken = true; # requires port to python3
+ };
+
+ };
+
+ advanced-emulator-launcher = buildKodiAddon rec {
+
+ pname = "advanced-emulator-launcher";
+ namespace = "plugin.program.advanced.emulator.launcher";
+ version = "0.9.6";
+
+ src = fetchFromGitHub {
+ owner = "Wintermute0110";
+ repo = namespace;
+ rev = version;
+ sha256 = "1sv9z77jj6bam6llcnd9b3dgkbvhwad2m1v541rv3acrackms2z2";
+ };
+
+ meta = {
+ homepage = "https://forum.kodi.tv/showthread.php?tid=287826";
+ description = "A program launcher for Kodi";
+ longDescription = ''
+ Advanced Emulator Launcher is a multi-emulator front-end for Kodi
+ scalable to collections of thousands of ROMs. Includes offline scrapers
+ for MAME and No-Intro ROM sets and also supports scrapping ROM metadata
+ and artwork online. ROM auditing for No-Intro ROMs using No-Intro XML
+ DATs. Launching of games and standalone applications is also available.
+ '';
+ platforms = platforms.all;
+ maintainers = with maintainers; [ edwtjo ];
+ broken = true; # requires port to python3
+ };
+
+ };
+
+ controllers = let
+ pname = "game-controller";
+ version = "1.0.3";
+
+ src = fetchFromGitHub {
+ owner = "kodi-game";
+ repo = "kodi-game-controllers";
+ rev = "01acb5b6e8b85392b3cb298b034aadb1b24ccf18";
+ sha256 = "0sbc0w0fwbp7rbmbgb6a1kglhnn5g85hijcbbvf5x6jdq9v3f1qb";
+ };
+
+ meta = {
+ description = "Add support for different gaming controllers.";
+ platforms = platforms.all;
+ maintainers = with maintainers; [ edwtjo ];
+ };
+
+ mkController = controller: {
+ ${controller} = buildKodiAddon rec {
+ pname = pname + "-" + controller;
+ namespace = "game.controller." + controller;
+ sourceDir = "addons/" + namespace;
+ inherit version src meta;
+ };
+ };
+ in (mkController "default")
+ // (mkController "dreamcast")
+ // (mkController "gba")
+ // (mkController "genesis")
+ // (mkController "mouse")
+ // (mkController "n64")
+ // (mkController "nes")
+ // (mkController "ps")
+ // (mkController "snes");
+
+ hyper-launcher = let
+ pname = "hyper-launcher";
+ version = "1.5.2";
+ src = fetchFromGitHub rec {
+ name = pname + "-" + version + ".tar.gz";
+ owner = "teeedubb";
+ repo = owner + "-xbmc-repo";
+ rev = "f958ba93fe85b9c9025b1745d89c2db2e7dd9bf6";
+ sha256 = "1dvff24fbas25k5kvca4ssks9l1g5rfa3hl8lqxczkaqi3pp41j5";
+ };
+ meta = {
+ homepage = "https://forum.kodi.tv/showthread.php?tid=258159";
+ description = "A ROM launcher for Kodi that uses HyperSpin assets.";
+ maintainers = with maintainers; [ edwtjo ];
+ broken = true; # requires port to python3
+ };
+ in {
+ service = buildKodiAddon {
+ pname = pname + "-service";
+ version = "1.2.1";
+ namespace = "service.hyper.launcher";
+ inherit src meta;
+ };
+ plugin = buildKodiAddon {
+ namespace = "plugin.hyper.launcher";
+ inherit pname version src meta;
+ };
+ };
+
+ joystick = buildKodiBinaryAddon rec {
+ pname = namespace;
+ namespace = "peripheral.joystick";
+ version = "1.7.1";
+
+ src = fetchFromGitHub {
+ owner = "xbmc";
+ repo = namespace;
+ rev = "${version}-${rel}";
+ sha256 = "1dhj4afr9kj938xx70fq5r409mz6lbw4n581ljvdjj9lq7akc914";
+ };
+
+ meta = {
+ description = "Binary addon for raw joystick input.";
+ platforms = platforms.all;
+ maintainers = with maintainers; [ edwtjo ];
+ };
+
+ extraBuildInputs = [ tinyxml udev ];
+ };
+
+ simpleplugin = buildKodiAddon rec {
+ pname = "simpleplugin";
+ namespace = "script.module.simpleplugin";
+ version = "2.3.2";
+
+ src = fetchFromGitHub {
+ owner = "romanvm";
+ repo = namespace;
+ rev = "v.${version}";
+ sha256 = "0myar8dqjigb75pcc8zx3i5z79p1ifgphgb82s5syqywk0zaxm3j";
+ };
+
+ meta = {
+ homepage = src.meta.homepage;
+ description = "Simpleplugin API";
+ license = licenses.gpl3;
+ broken = true; # requires port to python3
+ };
+ };
+
+ svtplay = buildKodiAddon rec {
+
+ pname = "svtplay";
+ namespace = "plugin.video.svtplay";
+ version = "5.1.12";
+
+ src = fetchFromGitHub {
+ name = pname + "-" + version + ".tar.gz";
+ owner = "nilzen";
+ repo = "xbmc-" + pname;
+ rev = "v${version}";
+ sha256 = "04j1nhm7mh9chs995lz6bv1vsq5xzk7a7c0lmk4bnfv8jrfpj0w6";
+ };
+
+ meta = {
+ homepage = "https://forum.kodi.tv/showthread.php?tid=67110";
+ description = "Watch content from SVT Play";
+ longDescription = ''
+ With this addon you can stream content from SVT Play
+ (svtplay.se). The plugin fetches the video URL from the SVT
+ Play website and feeds it to the Kodi video player. HLS (m3u8)
+ is the preferred video format by the plugin.
+ '';
+ platforms = platforms.all;
+ maintainers = with maintainers; [ edwtjo ];
+ };
+
+ };
+
+ steam-controller = buildKodiBinaryAddon rec {
+ pname = namespace;
+ namespace = "peripheral.steamcontroller";
+ version = "0.11.0";
+
+ src = fetchFromGitHub {
+ owner = "kodi-game";
+ repo = namespace;
+ rev = "f68140ca44f163a03d3a625d1f2005a6edef96cb";
+ sha256 = "09lm8i119xlsxxk0c64rnp8iw0crr90v7m8iwi9r31qdmxrdxpmg";
+ };
+
+ extraBuildInputs = [ libusb1 ];
+
+ meta = {
+ description = "Binary addon for steam controller.";
+ platforms = platforms.all;
+ maintainers = with maintainers; [ edwtjo ];
+ };
+
+ };
+
+ steam-launcher = buildKodiAddon {
+
+ pname = "steam-launcher";
+ namespace = "script.steam.launcher";
+ version = "3.5.1";
+
+ src = fetchFromGitHub rec {
+ owner = "teeedubb";
+ repo = owner + "-xbmc-repo";
+ rev = "8260bf9b464846a1f1965da495d2f2b7ceb81d55";
+ sha256 = "1fj3ry5s44nf1jzxk4bmnpa4b9p23nrpmpj2a4i6xf94h7jl7p5k";
+ };
+
+ propagatedBuildInputs = [ steam ];
+
+ meta = {
+ homepage = "https://forum.kodi.tv/showthread.php?tid=157499";
+ description = "Launch Steam in Big Picture Mode from Kodi";
+ longDescription = ''
+ This add-on will close/minimise Kodi, launch Steam in Big
+ Picture Mode and when Steam BPM is exited (either by quitting
+ Steam or returning to the desktop) Kodi will
+ restart/maximise. Running pre/post Steam scripts can be
+ configured via the addon.
+ '';
+ maintainers = with maintainers; [ edwtjo ];
+ };
+ };
+
+ pdfreader = buildKodiAddon rec {
+ pname = "pdfreader";
+ namespace = "plugin.image.pdf";
+ version = "2.0.2";
+
+ src = fetchFromGitHub {
+ owner = "i96751414";
+ repo = "plugin.image.pdfreader";
+ rev = "v${version}";
+ sha256 = "0nkqhlm1gyagq6xpdgqvd5qxyr2ngpml9smdmzfabc8b972mwjml";
+ };
+
+ meta = {
+ homepage = "https://forum.kodi.tv/showthread.php?tid=187421";
+ description = "A comic book reader";
+ maintainers = with maintainers; [ edwtjo ];
+ };
+ };
+
+ pvr-hts = buildKodiBinaryAddon rec {
+
+ pname = "pvr-hts";
+ namespace = "pvr.hts";
+ version = "8.2.2";
+
+ src = fetchFromGitHub {
+ owner = "kodi-pvr";
+ repo = "pvr.hts";
+ rev = "${version}-${rel}";
+ sha256 = "0jnn9gfjl556acqjf92wzzn371gxymhbbi665nqgg2gjcan0a49q";
+ };
+
+ meta = {
+ homepage = "https://github.com/kodi-pvr/pvr.hts";
+ description = "Kodi's Tvheadend HTSP client addon";
+ platforms = platforms.all;
+ maintainers = with maintainers; [ cpages ];
+ };
+
+ };
+
+ pvr-hdhomerun = buildKodiBinaryAddon rec {
+
+ pname = "pvr-hdhomerun";
+ namespace = "pvr.hdhomerun";
+ version = "7.1.0";
+
+ src = fetchFromGitHub {
+ owner = "kodi-pvr";
+ repo = "pvr.hdhomerun";
+ rev = "${version}-${rel}";
+ sha256 = "0gbwjssnd319csq2kwlyjj1rskg19m1dxac5dl2dymvx5hn3zrgm";
+ };
+
+ meta = {
+ homepage = "https://github.com/kodi-pvr/pvr.hdhomerun";
+ description = "Kodi's HDHomeRun PVR client addon";
+ platforms = platforms.all;
+ maintainers = with maintainers; [ titanous ];
+ };
+
+ extraBuildInputs = [ jsoncpp libhdhomerun ];
+
+ };
+
+ pvr-iptvsimple = buildKodiBinaryAddon rec {
+
+ pname = "pvr-iptvsimple";
+ namespace = "pvr.iptvsimple";
+ version = "7.4.2";
+
+ src = fetchFromGitHub {
+ owner = "kodi-pvr";
+ repo = "pvr.iptvsimple";
+ rev = "${version}-${rel}";
+ sha256 = "062i922qi0izkvn7v47yhyy2cf3fa7xc3k95b1gm9abfdwkk8ywr";
+ };
+
+ meta = {
+ homepage = "https://github.com/kodi-pvr/pvr.iptvsimple";
+ description = "Kodi's IPTV Simple client addon";
+ platforms = platforms.all;
+ maintainers = with maintainers; [ ];
+ license = licenses.gpl2Plus;
+ };
+
+ extraBuildInputs = [ zlib pugixml ];
+ };
+
+ osmc-skin = buildKodiAddon rec {
+
+ pname = "osmc-skin";
+ namespace = "skin.osmc";
+ version = "18.0.0";
+
+ src = fetchFromGitHub {
+ owner = "osmc";
+ repo = namespace;
+ rev = "40a6c318641e2cbeac58fb0e7dde9c2beac737a0";
+ sha256 = "1l7hyfj5zvjxjdm94y325bmy1naak455b9l8952sb0gllzrcwj6s";
+ };
+
+ meta = {
+ homepage = "https://github.com/osmc/skin.osmc";
+ description = "The default skin for OSMC";
+ platforms = platforms.all;
+ maintainers = with maintainers; [ worldofpeace ];
+ license = licenses.cc-by-nc-sa-30;
+ };
+ };
+
+ yatp = python3Packages.toPythonModule (buildKodiAddon rec {
+ pname = "yatp";
+ namespace = "plugin.video.yatp";
+ version = "3.3.2";
+
+ src = fetchFromGitHub {
+ owner = "romanvm";
+ repo = "kodi.yatp";
+ rev = "v.${version}";
+ sha256 = "12g1f57sx7dy6wy7ljl7siz2qs1kxcmijcg7xx2xpvmq61x9qa2d";
+ };
+
+ patches = [ ./yatp/dont-monkey.patch ];
+
+ propagatedBuildInputs = [
+ simpleplugin
+ python3Packages.requests
+ python3Packages.libtorrent-rasterbar
+ ];
+
+ meta = {
+ homepage = src.meta.homepage;
+ description = "Yet Another Torrent Player: libtorrent-based torrent streaming for Kodi";
+ license = licenses.gpl3;
+ broken = true; # requires port to python3
+ };
+ });
+
+ inputstream-adaptive = buildKodiBinaryAddon rec {
+
+ pname = "inputstream-adaptive";
+ namespace = "inputstream.adaptive";
+ version = "2.6.7";
+
+ src = fetchFromGitHub {
+ owner = "peak3d";
+ repo = "inputstream.adaptive";
+ rev = "${version}-${rel}";
+ sha256 = "1pwqmbr78wp12jn6rwv63npdfc456adwz0amlxf6gvgg43li6p7s";
+ };
+
+ extraBuildInputs = [ expat ];
+
+ extraRuntimeDependencies = [ glib nspr nss stdenv.cc.cc.lib ];
+
+ extraInstallPhase = let n = namespace; in ''
+ ln -s $out/lib/addons/${n}/libssd_wv.so $out/${addonDir}/${n}/libssd_wv.so
+ '';
+
+ meta = {
+ homepage = "https://github.com/peak3d/inputstream.adaptive";
+ description = "Kodi inputstream addon for several manifest types";
+ platforms = platforms.all;
+ maintainers = with maintainers; [ sephalon ];
+ };
+ };
+
+ vfs-sftp = buildKodiBinaryAddon rec {
+ pname = namespace;
+ namespace = "vfs.sftp";
+ version = "2.0.0";
+
+ src = fetchFromGitHub {
+ owner = "xbmc";
+ repo = namespace;
+ rev = "${version}-${rel}";
+ sha256 = "06w74sh8yagrrp7a7rjaz3xrh1j3wdqald9c4b72c33gpk5997dk";
+ };
+
+ meta = with lib; {
+ description = "SFTP Virtual Filesystem add-on for Kodi";
+ license = licenses.gpl2Plus;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ minijackson ];
+ };
+
+ extraBuildInputs = [ openssl libssh zlib ];
+ };
+
+ vfs-libarchive = buildKodiBinaryAddon rec {
+ pname = namespace;
+ namespace = "vfs.libarchive";
+ version = "2.0.0";
+
+ src = fetchFromGitHub {
+ owner = "xbmc";
+ repo = namespace;
+ rev = "${version}-${rel}";
+ sha256 = "1q62p1i6rvqk2zv6f1cpffkh95lgclys2xl4dwyhj3acmqdxd9i5";
+ };
+
+ meta = with lib; {
+ description = "LibArchive Virtual Filesystem add-on for Kodi";
+ license = licenses.gpl2Plus;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ minijackson ];
+ };
+
+ extraBuildInputs = [ libarchive xz bzip2 zlib lz4 lzo openssl ];
+ };
+}; in self
diff --git a/third_party/nixpkgs/pkgs/applications/video/kodi/unwrapped.nix b/third_party/nixpkgs/pkgs/applications/video/kodi/unwrapped.nix
index 1b665418f3..6f926176ea 100644
--- a/third_party/nixpkgs/pkgs/applications/video/kodi/unwrapped.nix
+++ b/third_party/nixpkgs/pkgs/applications/video/kodi/unwrapped.nix
@@ -230,6 +230,7 @@ in stdenv.mkDerivation {
passthru = {
pythonPackages = python3Packages;
+ ffmpeg = ffmpeg;
};
meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/cargo-lock-vendor-fix.patch b/third_party/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/cargo-lock-vendor-fix.patch
deleted file mode 100644
index 7a7378faa5..0000000000
--- a/third_party/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/cargo-lock-vendor-fix.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-index e566ed25..a661a963 100644
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -689,7 +689,7 @@ dependencies = [
- "serde",
- "serde_derive",
- "serde_json",
-- "vfio-bindings 0.2.0 (git+https://github.com/rust-vmm/vfio-bindings)",
-+ "vfio-bindings",
- "vfio-ioctls",
- "vm-allocator",
- "vm-device",
-@@ -1346,17 +1346,12 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
- [[package]]
- name = "vfio-bindings"
- version = "0.2.0"
--source = "git+https://github.com/rust-vmm/vfio-bindings#f08cbcbf4041c981441d9c036c49ebad5098ed1c"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4a21f546f2bda37f5a8cfb138c87f95b8e34d2d78d6a7a92ba3785f4e08604a7"
- dependencies = [
- "vmm-sys-util",
- ]
-
--[[package]]
--name = "vfio-bindings"
--version = "0.2.0"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "4a21f546f2bda37f5a8cfb138c87f95b8e34d2d78d6a7a92ba3785f4e08604a7"
--
- [[package]]
- name = "vfio-ioctls"
- version = "0.1.0"
-@@ -1366,7 +1361,7 @@ dependencies = [
- "kvm-bindings",
- "kvm-ioctls",
- "log 0.4.8",
-- "vfio-bindings 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "vfio-bindings",
- "vm-memory",
- "vmm-sys-util",
- ]
-diff --git a/pci/Cargo.toml b/pci/Cargo.toml
-index 9c6955c7..4ecf8e6b 100644
---- a/pci/Cargo.toml
-+++ b/pci/Cargo.toml
-@@ -23,5 +23,5 @@ vm-memory = "0.2.1"
- vm-migration = { path = "../vm-migration" }
-
- [dependencies.vfio-bindings]
--git = "https://github.com/rust-vmm/vfio-bindings"
-+version = "0.2.0"
- features = ["fam-wrappers"]
diff --git a/third_party/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix b/third_party/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix
index 32d5be13d3..5a12be3afa 100644
--- a/third_party/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/virtualization/cloud-hypervisor/default.nix
@@ -1,28 +1,27 @@
-{ lib, fetchFromGitHub, rustPlatform, pkg-config, openssl }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, dtc, openssl }:
rustPlatform.buildRustPackage rec {
pname = "cloud-hypervisor";
- version = "0.8.0";
+ version = "0.14.1";
src = fetchFromGitHub {
owner = "cloud-hypervisor";
repo = pname;
rev = "v${version}";
- sha256 = "h2aWWjycTm84TS89/vhqnAvwOqeeSDtvvCt+Is6I0eI=";
+ sha256 = "0pnfg6dzpz8v40cwg3dmlj52x8pblavv7mkczar814dwbk01y7vr";
};
nativeBuildInputs = [ pkg-config ];
- buildInputs = [ openssl ];
+ buildInputs = [ openssl ] ++ lib.optional stdenv.isAarch64 dtc;
- cargoPatches = [ ./cargo-lock-vendor-fix.patch ];
- cargoSha256 = "fOIB+qVDqAAgQPW3bK2NfST24GzYJeRXgaMFXyNPcPQ=";
+ cargoSha256 = "0dbjds40znly11i0ssfv66w82ynxp00ixw1349m5ln9i9ms94sr4";
meta = with lib; {
homepage = "https://github.com/cloud-hypervisor/cloud-hypervisor";
description = "Open source Virtual Machine Monitor (VMM) that runs on top of KVM";
changelog = "https://github.com/cloud-hypervisor/cloud-hypervisor/releases/tag/v${version}";
license = with licenses; [ asl20 bsd3 ];
- maintainers = with maintainers; [ offline ];
- platforms = [ "x86_64-linux" ];
+ maintainers = with maintainers; [ offline qyliss ];
+ platforms = [ "aarch64-linux" "x86_64-linux" ];
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/virtualization/conmon/default.nix b/third_party/nixpkgs/pkgs/applications/virtualization/conmon/default.nix
index 3628443674..5e84b883b6 100644
--- a/third_party/nixpkgs/pkgs/applications/virtualization/conmon/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/virtualization/conmon/default.nix
@@ -27,7 +27,9 @@ stdenv.mkDerivation rec {
makeFlags = [ "bin/conmon" ];
installPhase = ''
+ runHook preInstall
install -D bin/conmon -t $out/bin
+ runHook postInstall
'';
passthru.tests = { inherit (nixosTests) cri-o podman; };
diff --git a/third_party/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix b/third_party/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix
index 8a7399cf66..d3a440fefc 100644
--- a/third_party/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/virtualization/cri-o/default.nix
@@ -41,10 +41,13 @@ buildGoModule rec {
BUILDTAGS = "apparmor seccomp selinux containers_image_openpgp containers_image_ostree_stub";
buildPhase = ''
+ runHook preBuild
make binaries docs BUILDTAGS="$BUILDTAGS"
+ runHook postBuild
'';
installPhase = ''
+ runHook preInstall
install -Dm755 bin/* -t $out/bin
for shell in bash fish zsh; do
@@ -52,6 +55,7 @@ buildGoModule rec {
done
installManPage docs/*.[1-9]
+ runHook postInstall
'';
passthru.tests = { inherit (nixosTests) cri-o; };
diff --git a/third_party/nixpkgs/pkgs/applications/virtualization/docker-compose/default.nix b/third_party/nixpkgs/pkgs/applications/virtualization/docker-compose/default.nix
index c050057678..233ee13ead 100644
--- a/third_party/nixpkgs/pkgs/applications/virtualization/docker-compose/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/virtualization/docker-compose/default.nix
@@ -8,12 +8,12 @@
}:
buildPythonApplication rec {
- version = "1.28.5";
+ version = "1.28.6";
pname = "docker-compose";
src = fetchPypi {
inherit pname version;
- sha256 = "b3ff8f0352eb4055c4c483cb498aeff7c90195fa679f3caf7098a2d6fa6030e5";
+ sha256 = "1d44906f7ab738ba2d1785130ed31b16111eee6dc5a1dbd7252091dae48c5281";
};
# lots of networking and other fails
diff --git a/third_party/nixpkgs/pkgs/applications/virtualization/docker/default.nix b/third_party/nixpkgs/pkgs/applications/virtualization/docker/default.nix
index 73f4812ee5..a6f64444f8 100644
--- a/third_party/nixpkgs/pkgs/applications/virtualization/docker/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/virtualization/docker/default.nix
@@ -13,7 +13,7 @@ rec {
, stdenv, fetchFromGitHub, fetchpatch, buildGoPackage
, makeWrapper, installShellFiles, pkg-config
, go-md2man, go, containerd, runc, docker-proxy, tini, libtool
- , sqlite, iproute, lvm2, systemd, docker-buildx
+ , sqlite, iproute2, lvm2, systemd, docker-buildx
, btrfs-progs, iptables, e2fsprogs, xz, util-linux, xfsprogs, git
, procps, libseccomp
, nixosTests
@@ -72,7 +72,7 @@ rec {
nativeBuildInputs = [ makeWrapper pkg-config go-md2man go libtool installShellFiles ];
buildInputs = [ sqlite lvm2 btrfs-progs systemd libseccomp ];
- extraPath = optionals (stdenv.isLinux) (makeBinPath [ iproute iptables e2fsprogs xz xfsprogs procps util-linux git ]);
+ extraPath = optionals (stdenv.isLinux) (makeBinPath [ iproute2 iptables e2fsprogs xz xfsprogs procps util-linux git ]);
buildPhase = ''
export GOCACHE="$TMPDIR/go-cache"
diff --git a/third_party/nixpkgs/pkgs/applications/virtualization/gvisor/default.nix b/third_party/nixpkgs/pkgs/applications/virtualization/gvisor/default.nix
index 56760c293e..e6b83286c0 100644
--- a/third_party/nixpkgs/pkgs/applications/virtualization/gvisor/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/virtualization/gvisor/default.nix
@@ -5,7 +5,7 @@
, git
, glibcLocales
, go
-, iproute
+, iproute2
, iptables
, makeWrapper
, procps
@@ -87,7 +87,7 @@ in buildBazelPackage rec {
# Needed for the 'runsc do' subcomand
wrapProgram $out/bin/runsc \
- --prefix PATH : ${lib.makeBinPath [ iproute iptables procps ]}
+ --prefix PATH : ${lib.makeBinPath [ iproute2 iptables procps ]}
'';
};
diff --git a/third_party/nixpkgs/pkgs/applications/virtualization/libnvidia-container/default.nix b/third_party/nixpkgs/pkgs/applications/virtualization/libnvidia-container/default.nix
index 3ce493c617..dd16fb4d25 100644
--- a/third_party/nixpkgs/pkgs/applications/virtualization/libnvidia-container/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/virtualization/libnvidia-container/default.nix
@@ -20,13 +20,13 @@ let
in
stdenv.mkDerivation rec {
pname = "libnvidia-container";
- version = "1.3.1";
+ version = "1.3.3";
src = fetchFromGitHub {
owner = "NVIDIA";
repo = pname;
rev = "v${version}";
- sha256 = "0j6b8z9x9hrrs4xp11zyjjd7kyl7fzcicpiis8k1qb1q2afnqsrq";
+ sha256 = "0rr6ngkzqgw250nilv36fz7fhsqxcgl4nhld2hnr0sr4ngirqcjp";
};
patches = [
diff --git a/third_party/nixpkgs/pkgs/applications/virtualization/open-vm-tools/default.nix b/third_party/nixpkgs/pkgs/applications/virtualization/open-vm-tools/default.nix
index 1afe994977..e56293dcc6 100644
--- a/third_party/nixpkgs/pkgs/applications/virtualization/open-vm-tools/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/virtualization/open-vm-tools/default.nix
@@ -1,7 +1,7 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper, autoreconfHook,
fuse, libmspack, openssl, pam, xercesc, icu, libdnet, procps, libtirpc, rpcsvc-proto,
libX11, libXext, libXinerama, libXi, libXrender, libXrandr, libXtst,
- pkg-config, glib, gdk-pixbuf-xlib, gtk3, gtkmm3, iproute, dbus, systemd, which,
+ pkg-config, glib, gdk-pixbuf-xlib, gtk3, gtkmm3, iproute2, dbus, systemd, which,
withX ? true }:
stdenv.mkDerivation rec {
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
postInstall = ''
wrapProgram "$out/etc/vmware-tools/scripts/vmware/network" \
- --prefix PATH ':' "${lib.makeBinPath [ iproute dbus systemd which ]}"
+ --prefix PATH ':' "${lib.makeBinPath [ iproute2 dbus systemd which ]}"
'';
meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/applications/virtualization/podman/default.nix b/third_party/nixpkgs/pkgs/applications/virtualization/podman/default.nix
index 32160616c8..b64fc82f53 100644
--- a/third_party/nixpkgs/pkgs/applications/virtualization/podman/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/virtualization/podman/default.nix
@@ -16,13 +16,13 @@
buildGoModule rec {
pname = "podman";
- version = "3.0.1";
+ version = "3.1.0";
src = fetchFromGitHub {
owner = "containers";
repo = "podman";
rev = "v${version}";
- sha256 = "sha256-+z28Z0KvaJa32+eTGFsNX8g/WVd3BohKoBnNPU/kpWM=";
+ sha256 = "sha256-Cql9ikk0lo/LeWNykEJSKgfGnBSUU5vOh/zUIEvMapk=";
};
patches = [
@@ -48,14 +48,18 @@ buildGoModule rec {
];
buildPhase = ''
+ runHook preBuild
patchShebangs .
${if stdenv.isDarwin
then "make podman-remote"
else "make podman"}
make docs
+ runHook postBuild
'';
- installPhase = lib.optionalString stdenv.isDarwin ''
+ installPhase = ''
+ runHook preInstall
+ '' + lib.optionalString stdenv.isDarwin ''
mv bin/{podman-remote,podman}
'' + ''
install -Dm555 bin/podman $out/bin/podman
@@ -66,6 +70,8 @@ buildGoModule rec {
'' + lib.optionalString stdenv.isLinux ''
install -Dm644 contrib/tmpfile/podman.conf -t $out/lib/tmpfiles.d
install -Dm644 contrib/systemd/system/podman.{socket,service} -t $out/lib/systemd/system
+ '' + ''
+ runHook postInstall
'';
passthru.tests = { inherit (nixosTests) podman; };
diff --git a/third_party/nixpkgs/pkgs/applications/virtualization/runc/default.nix b/third_party/nixpkgs/pkgs/applications/virtualization/runc/default.nix
index f9fbec9f4b..152cbf6199 100644
--- a/third_party/nixpkgs/pkgs/applications/virtualization/runc/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/virtualization/runc/default.nix
@@ -35,17 +35,21 @@ buildGoPackage rec {
makeFlags = [ "BUILDTAGS+=seccomp" ];
buildPhase = ''
+ runHook preBuild
cd go/src/${goPackagePath}
patchShebangs .
make ${toString makeFlags} runc man
+ runHook postBuild
'';
installPhase = ''
+ runHook preInstall
install -Dm755 runc $out/bin/runc
installManPage man/*/*.[1-9]
wrapProgram $out/bin/runc \
--prefix PATH : ${lib.makeBinPath [ procps ]} \
--prefix PATH : /run/current-system/systemd/bin
+ runHook postInstall
'';
passthru.tests = { inherit (nixosTests) cri-o docker podman; };
diff --git a/third_party/nixpkgs/pkgs/applications/virtualization/x11docker/default.nix b/third_party/nixpkgs/pkgs/applications/virtualization/x11docker/default.nix
index b90033e438..ea3b87b47e 100644
--- a/third_party/nixpkgs/pkgs/applications/virtualization/x11docker/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/virtualization/x11docker/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, nx-libs, xorg, getopt, gnugrep, gawk, ps, mount, iproute }:
+{ lib, stdenv, fetchFromGitHub, makeWrapper, nx-libs, xorg, getopt, gnugrep, gawk, ps, mount, iproute2 }:
stdenv.mkDerivation rec {
pname = "x11docker";
version = "6.6.2";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
installPhase = ''
install -D x11docker "$out/bin/x11docker";
wrapProgram "$out/bin/x11docker" \
- --prefix PATH : "${lib.makeBinPath [ getopt gnugrep gawk ps mount iproute nx-libs xorg.xdpyinfo xorg.xhost xorg.xinit ]}"
+ --prefix PATH : "${lib.makeBinPath [ getopt gnugrep gawk ps mount iproute2 nx-libs xorg.xdpyinfo xorg.xhost xorg.xinit ]}"
'';
meta = {
diff --git a/third_party/nixpkgs/pkgs/applications/virtualization/xen/generic.nix b/third_party/nixpkgs/pkgs/applications/virtualization/xen/generic.nix
index 5019ce2328..3d0ff3a6f3 100644
--- a/third_party/nixpkgs/pkgs/applications/virtualization/xen/generic.nix
+++ b/third_party/nixpkgs/pkgs/applications/virtualization/xen/generic.nix
@@ -13,7 +13,7 @@ config:
# Scripts
, coreutils, gawk, gnused, gnugrep, diffutils, multipath-tools
-, iproute, inetutils, iptables, bridge-utils, openvswitch, nbd, drbd
+, iproute2, inetutils, iptables, bridge-utils, openvswitch, nbd, drbd
, lvm2, util-linux, procps, systemd
# Documentation
@@ -31,7 +31,7 @@ let
scriptEnvPath = concatMapStringsSep ":" (x: "${x}/bin") [
which perl
coreutils gawk gnused gnugrep diffutils util-linux multipath-tools
- iproute inetutils iptables bridge-utils openvswitch nbd drbd
+ iproute2 inetutils iptables bridge-utils openvswitch nbd drbd
];
withXenfiles = f: concatStringsSep "\n" (mapAttrsToList f config.xenfiles);
diff --git a/third_party/nixpkgs/pkgs/applications/window-managers/cwm/default.nix b/third_party/nixpkgs/pkgs/applications/window-managers/cwm/default.nix
index 69c9cc1c37..24c5950815 100644
--- a/third_party/nixpkgs/pkgs/applications/window-managers/cwm/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/window-managers/cwm/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, libX11, libXinerama, libXrandr, libXft, yacc, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, libX11, libXinerama, libXrandr, libXft, bison, pkg-config }:
stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ pkg-config ];
- buildInputs = [ libX11 libXinerama libXrandr libXft yacc ];
+ buildInputs = [ libX11 libXinerama libXrandr libXft bison ];
prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
diff --git a/third_party/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix b/third_party/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix
index d419b0ebe3..e32cd38ec2 100644
--- a/third_party/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix
+++ b/third_party/nixpkgs/pkgs/applications/window-managers/dwm/dwm-status.nix
@@ -1,10 +1,10 @@
{ lib, rustPlatform, fetchFromGitHub, dbus, gdk-pixbuf, libnotify, makeWrapper, pkg-config, xorg
, enableAlsaUtils ? true, alsaUtils, coreutils
-, enableNetwork ? true, dnsutils, iproute, wirelesstools }:
+, enableNetwork ? true, dnsutils, iproute2, wirelesstools }:
let
bins = lib.optionals enableAlsaUtils [ alsaUtils coreutils ]
- ++ lib.optionals enableNetwork [ dnsutils iproute wirelesstools ];
+ ++ lib.optionals enableNetwork [ dnsutils iproute2 wirelesstools ];
in
rustPlatform.buildRustPackage rec {
diff --git a/third_party/nixpkgs/pkgs/applications/window-managers/i3/auto-layout.nix b/third_party/nixpkgs/pkgs/applications/window-managers/i3/auto-layout.nix
new file mode 100644
index 0000000000..d24715aa98
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/window-managers/i3/auto-layout.nix
@@ -0,0 +1,26 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+ pname = "i3-auto-layout";
+ version = "0.2";
+
+ src = fetchFromGitHub {
+ owner = "chmln";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "0ps08lga6qkgc8cgf5cx2lgwlqcnd2yazphh9xd2fznnzrllfxxz";
+ };
+
+ cargoSha256 = "1ch5mh515rlqmr65x96xcvrx6iaigqgjxc7sbwbznzkc5kmvwhc0";
+
+ # Currently no tests are implemented, so we avoid building the package twice
+ doCheck = false;
+
+ meta = with lib; {
+ description = "Automatic, optimal tiling for i3wm";
+ homepage = "https://github.com/chmln/i3-auto-layout";
+ license = licenses.mit;
+ maintainers = with maintainers; [ mephistophiles ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix b/third_party/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix
index 9c97c72ad5..df774aa417 100644
--- a/third_party/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix
+++ b/third_party/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix
@@ -1,5 +1,5 @@
{ fetchFromGitHub, lib, stdenv, perl, makeWrapper
-, iproute, acpi, sysstat, alsaUtils
+, iproute2, acpi, sysstat, alsaUtils
, scripts ? [ "bandwidth" "battery" "cpu_usage" "disk" "iface"
"load_average" "memory" "volume" "wifi" ]
}:
@@ -30,13 +30,13 @@ stdenv.mkDerivation rec {
postFixup = ''
wrapProgram $out/libexec/i3blocks/bandwidth \
- --prefix PATH : ${makeBinPath (optional (elem "bandwidth" scripts) iproute)}
+ --prefix PATH : ${makeBinPath (optional (elem "bandwidth" scripts) iproute2)}
wrapProgram $out/libexec/i3blocks/battery \
--prefix PATH : ${makeBinPath (optional (elem "battery" scripts) acpi)}
wrapProgram $out/libexec/i3blocks/cpu_usage \
--prefix PATH : ${makeBinPath (optional (elem "cpu_usage" scripts) sysstat)}
wrapProgram $out/libexec/i3blocks/iface \
- --prefix PATH : ${makeBinPath (optional (elem "iface" scripts) iproute)}
+ --prefix PATH : ${makeBinPath (optional (elem "iface" scripts) iproute2)}
wrapProgram $out/libexec/i3blocks/volume \
--prefix PATH : ${makeBinPath (optional (elem "volume" scripts) alsaUtils)}
'';
diff --git a/third_party/nixpkgs/pkgs/applications/window-managers/i3/i3-ratiosplit.nix b/third_party/nixpkgs/pkgs/applications/window-managers/i3/i3-ratiosplit.nix
new file mode 100644
index 0000000000..35751da817
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/window-managers/i3/i3-ratiosplit.nix
@@ -0,0 +1,26 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+ pname = "i3-ratiosplit";
+ version = "0.1.0";
+
+ src = fetchFromGitHub {
+ owner = "333fred";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "0yfmr5zk2c2il9d31yjjbr48sqgcq6hp4a99hl5mjm2ajyhy5bz3";
+ };
+
+ cargoSha256 = "0d5qd1wid5l1pl3ckrlfgdb980myi5gxcir39caywb9pkbnfndz6";
+
+ # Currently no tests are implemented, so we avoid building the package twice
+ doCheck = false;
+
+ meta = with lib; {
+ description = "Resize newly created windows";
+ homepage = "https://github.com/333fred/i3-ratiosplit";
+ license = licenses.mit;
+ maintainers = with maintainers; [ svrana ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix b/third_party/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
index 04c232a3e8..bab0439bf8 100644
--- a/third_party/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix
@@ -32,5 +32,6 @@ rustPlatform.buildRustPackage rec {
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ mschneider ];
+ changelog = "https://github.com/leftwm/leftwm/blob/${version}/CHANGELOG";
};
}
diff --git a/third_party/nixpkgs/pkgs/applications/window-managers/xmonad/log-applet/default.nix b/third_party/nixpkgs/pkgs/applications/window-managers/xmonad/log-applet/default.nix
index ebabcf196d..830242667d 100644
--- a/third_party/nixpkgs/pkgs/applications/window-managers/xmonad/log-applet/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/window-managers/xmonad/log-applet/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://github.com/kalj/xmonad-log-applet";
license = licenses.bsd3;
- broken = desktopSupport == "gnomeflashback";
+ broken = desktopSupport == "gnomeflashback" || desktopSupport == "xfce4";
description = "An applet that will display XMonad log information (${desktopSupport} version)";
platforms = platforms.linux;
maintainers = with maintainers; [ abbradar ];
diff --git a/third_party/nixpkgs/pkgs/build-support/agda/default.nix b/third_party/nixpkgs/pkgs/build-support/agda/default.nix
index d610a8f9a6..984d61f1f7 100644
--- a/third_party/nixpkgs/pkgs/build-support/agda/default.nix
+++ b/third_party/nixpkgs/pkgs/build-support/agda/default.nix
@@ -1,6 +1,6 @@
# Builder for Agda packages.
-{ stdenv, lib, self, Agda, runCommandNoCC, makeWrapper, writeText, mkShell, ghcWithPackages }:
+{ stdenv, lib, self, Agda, runCommandNoCC, makeWrapper, writeText, mkShell, ghcWithPackages, nixosTests }:
with lib.strings;
@@ -18,7 +18,10 @@ let
in runCommandNoCC "${pname}-${version}" {
inherit pname version;
nativeBuildInputs = [ makeWrapper ];
- passthru.unwrapped = Agda;
+ passthru = {
+ unwrapped = Agda;
+ tests = { inherit (nixosTests) agda; };
+ };
} ''
mkdir -p $out/bin
makeWrapper ${Agda}/bin/agda $out/bin/agda \
diff --git a/third_party/nixpkgs/pkgs/build-support/buildenv/default.nix b/third_party/nixpkgs/pkgs/build-support/buildenv/default.nix
index 5fafc36273..c2186cf6bf 100644
--- a/third_party/nixpkgs/pkgs/build-support/buildenv/default.nix
+++ b/third_party/nixpkgs/pkgs/build-support/buildenv/default.nix
@@ -74,7 +74,7 @@ runCommand name
preferLocalBuild = true;
allowSubstitutes = false;
# XXX: The size is somewhat arbitrary
- passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else null;
+ passAsFile = if builtins.stringLength pkgs >= 128*1024 then [ "pkgs" ] else [ ];
}
''
${buildPackages.perl}/bin/perl -w ${builder}
diff --git a/third_party/nixpkgs/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/third_party/nixpkgs/pkgs/build-support/cc-wrapper/cc-wrapper.sh
index d08fd24cd2..b402893100 100644
--- a/third_party/nixpkgs/pkgs/build-support/cc-wrapper/cc-wrapper.sh
+++ b/third_party/nixpkgs/pkgs/build-support/cc-wrapper/cc-wrapper.sh
@@ -132,12 +132,13 @@ if [ "$NIX_ENFORCE_NO_NATIVE_@suffixSalt@" = 1 ]; then
fi
if [[ "$isCpp" = 1 ]]; then
- if [[ "$cppInclude" = 1 ]]; then
- NIX_CFLAGS_COMPILE_@suffixSalt@+=" $NIX_CXXSTDLIB_COMPILE_@suffixSalt@"
- fi
NIX_CFLAGS_LINK_@suffixSalt@+=" $NIX_CXXSTDLIB_LINK_@suffixSalt@"
fi
+if [[ "$cppInclude" = 1 ]]; then
+ NIX_CFLAGS_COMPILE_@suffixSalt@+=" $NIX_CXXSTDLIB_COMPILE_@suffixSalt@"
+fi
+
source @out@/nix-support/add-hardening.sh
# Add the flags for the C compiler proper.
diff --git a/third_party/nixpkgs/pkgs/build-support/fetchurl/default.nix b/third_party/nixpkgs/pkgs/build-support/fetchurl/default.nix
index c65738aef4..8ce69a7f18 100644
--- a/third_party/nixpkgs/pkgs/build-support/fetchurl/default.nix
+++ b/third_party/nixpkgs/pkgs/build-support/fetchurl/default.nix
@@ -104,7 +104,9 @@ let
if urls != [] && url == "" then
(if lib.isList urls then urls
else throw "`urls` is not a list")
- else if urls == [] && url != "" then [url]
+ else if urls == [] && url != "" then
+ (if lib.isString url then [url]
+ else throw "`url` is not a string")
else throw "fetchurl requires either `url` or `urls` to be set";
hash_ =
diff --git a/third_party/nixpkgs/pkgs/build-support/release/nix-build.nix b/third_party/nixpkgs/pkgs/build-support/release/nix-build.nix
index 97df52eace..ac51b90e01 100644
--- a/third_party/nixpkgs/pkgs/build-support/release/nix-build.nix
+++ b/third_party/nixpkgs/pkgs/build-support/release/nix-build.nix
@@ -83,9 +83,9 @@ stdenv.mkDerivation (
'';
}
- // args //
+ // removeAttrs args [ "lib" ] # Propagating lib causes the evaluation to fail, because lib is a function that can't be converted to a string
- {
+ // {
name = name + (if src ? version then "-" + src.version else "");
postHook = ''
diff --git a/third_party/nixpkgs/pkgs/build-support/trivial-builders.nix b/third_party/nixpkgs/pkgs/build-support/trivial-builders.nix
index eab5366e18..4995efd9a4 100644
--- a/third_party/nixpkgs/pkgs/build-support/trivial-builders.nix
+++ b/third_party/nixpkgs/pkgs/build-support/trivial-builders.nix
@@ -1,27 +1,12 @@
{ lib, stdenv, stdenvNoCC, lndir, runtimeShell }:
-let
-
- runCommand' = runLocal: stdenv: name: env: buildCommand:
- stdenv.mkDerivation ({
- name = lib.strings.sanitizeDerivationName name;
- inherit buildCommand;
- passAsFile = [ "buildCommand" ];
- }
- // (lib.optionalAttrs runLocal {
- preferLocalBuild = true;
- allowSubstitutes = false;
- })
- // env);
-
-in
-
rec {
/* Run the shell command `buildCommand' to produce a store path named
* `name'. The attributes in `env' are added to the environment
- * prior to running the command. By default `runCommand' runs using
- * stdenv with no compiler environment. `runCommandCC`
+ * prior to running the command. By default `runCommand` runs in a
+ * stdenv with no compiler environment. `runCommandCC` uses the default
+ * stdenv, `pkgs.stdenv`.
*
* Examples:
* runCommand "name" {envVariable = true;} ''echo hello > $out''
@@ -42,13 +27,64 @@ rec {
runCommand = runCommandNoCC;
runCommandLocal = runCommandNoCCLocal;
- runCommandNoCC = runCommand' false stdenvNoCC;
- runCommandNoCCLocal = runCommand' true stdenvNoCC;
+ runCommandNoCC = name: env: runCommandWith {
+ stdenv = stdenvNoCC;
+ runLocal = false;
+ inherit name;
+ derivationArgs = env;
+ };
+ runCommandNoCCLocal = name: env: runCommandWith {
+ stdenv = stdenvNoCC;
+ runLocal = true;
+ inherit name;
+ derivationArgs = env;
+ };
- runCommandCC = runCommand' false stdenv;
+ runCommandCC = name: env: runCommandWith {
+ stdenv = stdenv;
+ runLocal = false;
+ inherit name;
+ derivationArgs = env;
+ };
# `runCommandCCLocal` left out on purpose.
# We shouldn’t force the user to have a cc in scope.
+ /* Generalized version of the `runCommand`-variants
+ * which does customized behavior via a single
+ * attribute set passed as the first argument
+ * instead of having a lot of variants like
+ * `runCommand*`. Additionally it allows changing
+ * the used `stdenv` freely and has a more explicit
+ * approach to changing the arguments passed to
+ * `stdenv.mkDerivation`.
+ */
+ runCommandWith =
+ let
+ # prevent infinite recursion for the default stdenv value
+ defaultStdenv = stdenv;
+ in
+ { stdenv ? defaultStdenv
+ # which stdenv to use, defaults to a stdenv with a C compiler, pkgs.stdenv
+ , runLocal ? false
+ # whether to build this derivation locally instead of substituting
+ , derivationArgs ? {}
+ # extra arguments to pass to stdenv.mkDerivation
+ , name
+ # name of the resulting derivation
+ }: buildCommand:
+ stdenv.mkDerivation ({
+ name = lib.strings.sanitizeDerivationName name;
+ inherit buildCommand;
+ passAsFile = [ "buildCommand" ]
+ ++ (derivationArgs.passAsFile or []);
+ }
+ // (lib.optionalAttrs runLocal {
+ preferLocalBuild = true;
+ allowSubstitutes = false;
+ })
+ // builtins.removeAttrs derivationArgs [ "passAsFile" ]);
+
+
/* Writes a text file to the nix store.
* The contents of text is added to the file in the store.
*
diff --git a/third_party/nixpkgs/pkgs/build-support/vm/default.nix b/third_party/nixpkgs/pkgs/build-support/vm/default.nix
index 759245aed1..f6be1b299f 100644
--- a/third_party/nixpkgs/pkgs/build-support/vm/default.nix
+++ b/third_party/nixpkgs/pkgs/build-support/vm/default.nix
@@ -573,7 +573,7 @@ rec {
buildCommand = ''
${createRootFS}
- PATH=$PATH:${lib.makeBinPath [ dpkg dpkg glibc lzma ]}
+ PATH=$PATH:${lib.makeBinPath [ dpkg dpkg glibc xz ]}
# Unpack the .debs. We do this to prevent pre-install scripts
# (which have lots of circular dependencies) from barfing.
diff --git a/third_party/nixpkgs/pkgs/data/fonts/curie/default.nix b/third_party/nixpkgs/pkgs/data/fonts/curie/default.nix
new file mode 100644
index 0000000000..fd21d1964a
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/data/fonts/curie/default.nix
@@ -0,0 +1,29 @@
+{ lib, fetchurl }:
+
+let
+ version = "1.0";
+in fetchurl rec {
+ name = "curie-${version}";
+
+ url = "https://github.com/NerdyPepper/curie/releases/download/v${version}/curie-v${version}.tar.gz";
+
+ downloadToTemp = true;
+
+ recursiveHash = true;
+
+ sha256 = "sha256-twPAzsbTveYW0rQd7FYZz5AMZgvPbNmn5c7Nfzn7B0A=";
+
+ postFetch = ''
+ tar xzf $downloadedFile
+ mkdir -p $out/share/fonts/misc
+ install *.otb $out/share/fonts/misc
+ '';
+
+ meta = with lib; {
+ description = "An upscaled version of scientifica";
+ homepage = "https://github.com/NerdyPepper/curie";
+ license = licenses.ofl;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ fortuneteller2k ];
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/data/fonts/kreative-square-fonts/default.nix b/third_party/nixpkgs/pkgs/data/fonts/kreative-square-fonts/default.nix
new file mode 100644
index 0000000000..c9e5131973
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/data/fonts/kreative-square-fonts/default.nix
@@ -0,0 +1,28 @@
+{ lib, fetchFromGitHub }:
+
+let
+ pname = "kreative-square-fonts";
+ version = "unstable-2021-01-29";
+in
+fetchFromGitHub {
+ name = "${pname}-${version}";
+
+ owner = "kreativekorp";
+ repo = "open-relay";
+ rev = "084f05af3602307499981651eca56851bec01fca";
+
+ postFetch = ''
+ tar xf $downloadedFile --strip=1
+ install -Dm444 -t $out/share/fonts/truetype/ KreativeSquare/KreativeSquare.ttf
+ install -Dm444 -t $out/share/fonts/truetype/ KreativeSquare/KreativeSquareSM.ttf
+ '';
+ sha256 = "15vvbbzv6b3jh7lxg77viycdd7yf3y8lxy54vs3rsrsxwncg0pak";
+
+ meta = with lib; {
+ description = "Fullwidth scalable monospace font designed specifically to support pseudographics, semigraphics, and private use characters";
+ homepage = "https://www.kreativekorp.com/software/fonts/ksquare.shtml";
+ license = licenses.ofl;
+ platforms = platforms.all;
+ maintainers = [ maintainers.linus ];
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix b/third_party/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
index 1d4c3866b4..ff18baf75f 100644
--- a/third_party/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/third_party/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "papirus-icon-theme";
- version = "20210302";
+ version = "20210401";
src = fetchFromGitHub {
owner = "PapirusDevelopmentTeam";
repo = pname;
rev = version;
- sha256 = "0h1cja8qqlnddm92hkyhkyj5rqfj494v0pss2mg95qqkjijpcgd0";
+ sha256 = "sha256-t0zoeIpj+0QVH1wmbEIJdqzEDOGzpclePv+bcZgtnwo=";
};
nativeBuildInputs = [
@@ -25,12 +25,14 @@ stdenv.mkDerivation rec {
dontDropIconThemeCache = true;
installPhase = ''
+ runHook preInstall
mkdir -p $out/share/icons
mv {,e}Papirus* $out/share/icons
for theme in $out/share/icons/*; do
gtk-update-icon-cache $theme
done
+ runHook postInstall
'';
meta = with lib; {
@@ -39,6 +41,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl3Only;
# darwin gives hash mismatch in source, probably because of file names differing only in case
platforms = platforms.linux;
- maintainers = with maintainers; [ romildo ];
+ maintainers = with maintainers; [ romildo fortuneteller2k ];
};
}
diff --git a/third_party/nixpkgs/pkgs/data/misc/cacert/default.nix b/third_party/nixpkgs/pkgs/data/misc/cacert/default.nix
index e50aa81656..9357a60a91 100644
--- a/third_party/nixpkgs/pkgs/data/misc/cacert/default.nix
+++ b/third_party/nixpkgs/pkgs/data/misc/cacert/default.nix
@@ -10,13 +10,6 @@
with lib;
let
-
- certdata2pem = fetchurl {
- name = "certdata2pem.py";
- url = "https://salsa.debian.org/debian/ca-certificates/raw/debian/20170717/mozilla/certdata2pem.py";
- sha256 = "1d4q27j1gss0186a5m8bs5dk786w07ccyq0qi6xmd2zr1a8q16wy";
- };
-
version = "3.60";
underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
in
@@ -29,6 +22,15 @@ stdenv.mkDerivation {
sha256 = "hKvVV1q4dMU65RG9Rh5dCGjRobOE7kB1MVTN0dWQ/j0=";
};
+ certdata2pem = fetchurl {
+ name = "certdata2pem.py";
+ urls = [
+ "https://salsa.debian.org/debian/ca-certificates/raw/debian/20170717/mozilla/certdata2pem.py"
+ "https://git.launchpad.net/ubuntu/+source/ca-certificates/plain/mozilla/certdata2pem.py?id=47e49e1e0a8a1ca74deda27f88fe181191562957"
+ ];
+ sha256 = "1d4q27j1gss0186a5m8bs5dk786w07ccyq0qi6xmd2zr1a8q16wy";
+ };
+
outputs = [ "out" "unbundled" ];
nativeBuildInputs = [ python3 ];
@@ -40,7 +42,8 @@ stdenv.mkDerivation {
${concatStringsSep "\n" (map (c: ''"${c}"'') blacklist)}
EOF
- cat ${certdata2pem} > certdata2pem.py
+ # copy from the store, otherwise python will scan it for imports
+ cat "$certdata2pem" > certdata2pem.py
'';
buildPhase = ''
diff --git a/third_party/nixpkgs/pkgs/data/themes/matcha/default.nix b/third_party/nixpkgs/pkgs/data/themes/matcha/default.nix
index 5297fe0568..08d0f51094 100644
--- a/third_party/nixpkgs/pkgs/data/themes/matcha/default.nix
+++ b/third_party/nixpkgs/pkgs/data/themes/matcha/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "matcha-gtk-theme";
- version = "2021-02-04";
+ version = "2021-04-05";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = pname;
rev = version;
- sha256 = "sha256-CDym+yqLu7QpqmdUpXAbJTCjQf/r9D1sl7ZdpaWaXFE=";
+ sha256 = "0bm7hr4lqqz3z2miif38628r4qcy7i5hdk6sm0ngjacm43cl0qvg";
};
buildInputs = [ gdk-pixbuf librsvg ];
@@ -16,16 +16,18 @@ stdenv.mkDerivation rec {
propagatedUserEnvPkgs = [ gtk-engine-murrine ];
installPhase = ''
+ runHook preInstall
patchShebangs .
mkdir -p $out/share/themes
name= ./install.sh -d $out/share/themes
install -D -t $out/share/gtksourceview-3.0/styles src/extra/gedit/matcha.xml
mkdir -p $out/share/doc/${pname}
cp -a src/extra/firefox $out/share/doc/${pname}
+ runHook postInstall
'';
meta = with lib; {
- description = "A stylish flat Design theme for GTK based desktop environments";
+ description = "A stylish flat design theme for GTK based desktop environments";
homepage = "https://vinceliuice.github.io/theme-matcha";
license = licenses.gpl3Only;
platforms = platforms.unix;
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix b/third_party/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
index fa2fb86a5c..f0a80bc525 100644
--- a/third_party/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
@@ -29,11 +29,11 @@
stdenv.mkDerivation rec {
pname = "gnome-maps";
- version = "3.38.2";
+ version = "3.38.4";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "0pa6h3md688752l7cjggncnxv13c07nj584gbz9asdblljk3r9x1";
+ sha256 = "sha256-1WQekf/kePsqqcpIliJczxjsLqTZjjV2UXmBin2+RKM=";
};
doCheck = true;
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/dconf-editor/default.nix b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
index 4e7892c048..1374cfc935 100644
--- a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
@@ -1,15 +1,13 @@
{ lib, stdenv, fetchurl, meson, ninja, vala, libxslt, pkg-config, glib, gtk3, gnome3, python3, dconf
, libxml2, gettext, docbook_xsl, wrapGAppsHook, gobject-introspection }:
-let
+stdenv.mkDerivation rec {
pname = "dconf-editor";
- version = "3.38.0";
-in stdenv.mkDerivation rec {
- name = "${pname}-${version}";
+ version = "3.38.2";
src = fetchurl {
- url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz";
- sha256 = "1d1y33c6fm86xz9xbh3bfz4y2pyas01a58lmirmdx0lh6yd292bd";
+ url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+ sha256 = "sha256-ElPa2H5iE/vzE/+eydxDWKobECYfKAcsHcDgmXuS+DU=";
};
nativeBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/eog/default.nix b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/eog/default.nix
index 5187f51cbf..cec0ac7a68 100644
--- a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/eog/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/eog/default.nix
@@ -28,11 +28,11 @@
stdenv.mkDerivation rec {
pname = "eog";
- version = "3.38.1";
+ version = "3.38.2";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "1xqcfil3b68clafnxg1migp54psqh5x6arnlvdqgmvvpq9hwj7dp";
+ sha256 = "sha256-ilT9+T4wag9khToYgxrIwEg4IEdxBqrgvcAKrDc4bw4=";
};
nativeBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
index b943a02a56..dc43bdfd49 100644
--- a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
@@ -1,7 +1,7 @@
{ fetchurl, lib, stdenv, substituteAll, pkg-config, gnome3, python3, gobject-introspection
, intltool, libsoup, libxml2, libsecret, icu, sqlite, tzdata, libcanberra-gtk3, gcr, p11-kit
, db, nspr, nss, libical, gperf, wrapGAppsHook, glib-networking, pcre, vala, cmake, ninja
-, kerberos, openldap, webkitgtk, libaccounts-glib, json-glib, glib, gtk3, libphonenumber
+, libkrb5, openldap, webkitgtk, libaccounts-glib, json-glib, glib, gtk3, libphonenumber
, gnome-online-accounts, libgweather, libgdata, gsettings-desktop-schemas, boost, protobuf }:
stdenv.mkDerivation rec {
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
buildInputs = [
glib libsoup libxml2 gtk3 gnome-online-accounts
gcr p11-kit libgweather libgdata libaccounts-glib json-glib
- icu sqlite kerberos openldap webkitgtk glib-networking
+ icu sqlite libkrb5 openldap webkitgtk glib-networking
libcanberra-gtk3 pcre libphonenumber boost protobuf
];
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
index 603aaf1744..f8c458a3df 100644
--- a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
@@ -1,6 +1,5 @@
{ fetchurl
, fetchFromGitLab
-, fetchpatch
, lib, stdenv
, substituteAll
, accountsservice
@@ -70,11 +69,11 @@
stdenv.mkDerivation rec {
pname = "gnome-control-center";
- version = "3.38.1";
+ version = "3.38.4";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "09i011hf23s2i4wim43vjys7y4y43cxl3kyvrnrwqvqgc5n0144d";
+ sha256 = "sha256-SdxjeNTTXBxu1ZIk9WNpFsK2+km7+4tW6xmoTW6QzRk=";
};
# See https://mail.gnome.org/archives/distributor-list/2020-September/msg00001.html
@@ -151,22 +150,6 @@ stdenv.mkDerivation rec {
inherit glibc libgnomekbd tzdata;
inherit cups networkmanagerapplet;
})
-
- # Fix double free when leaving user accounts panel.
- # https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/853
- (fetchpatch {
- url = "https://gitlab.gnome.org/GNOME/gnome-control-center/commit/e80b4b5f58f448c5a3d38721f7bba32c413d46e7.patch";
- sha256 = "GffsSU/uNS0Fg2lXbOuD/BrWBT4D2VKgWNGifG0FBUw=";
- })
- (fetchpatch {
- url = "https://gitlab.gnome.org/GNOME/gnome-control-center/commit/64686cfee330849945f6ff4dcc43393eb1a6e59c.patch";
- sha256 = "4VJU0q6qOtGzd/hmDncckInfEjCkC8+lXmDgxwc4VJU=";
- })
- # https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1173
- (fetchpatch {
- url = "https://gitlab.gnome.org/GNOME/gnome-control-center/-/commit/27e1140c9d4ad852b4dc6a132a14cd5532d52997.patch";
- sha256 = "nU3szjKfXpRek8hhsxiCJNgMeDeIRK3QVo82D9R+kL4=";
- })
];
postPatch = ''
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
index bfe0bfe9d6..c6d8b31930 100644
--- a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix
@@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
pname = "gnome-desktop";
- version = "3.38.2";
+ version = "3.38.4";
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/gnome-desktop/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "1m7iww1zk845szs9s3zc8a1s1wpd6kizndhq7gqy3575c0xgr2w9";
+ sha256 = "sha256-P2A+pb/UdyLJLPybiFRGtGJg6gnIz7Y/a92f7+NC5Iw=";
};
nativeBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
index 95dfd0ef28..5c573d2502 100644
--- a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix
@@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "gnome-disk-utility";
- version = "3.38.1";
+ version = "3.38.2";
src = fetchurl {
url = "mirror://gnome/sources/gnome-disk-utility/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "1TuF3BMDobXOHkIcH1xqwLMY4HzZqVk50uHwlZpe19k=";
+ sha256 = "sha256-EL7d5UlL6zTjoiDW8w2TIMiCUv7rhCa9mM760YNteOk=";
};
nativeBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
index d2909c449d..435da4e372 100644
--- a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix
@@ -37,11 +37,11 @@
stdenv.mkDerivation rec {
pname = "gnome-initial-setup";
- version = "3.38.2";
+ version = "3.38.4";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- hash = "sha256-qliJJ0+LC23moFErR3Qrgqw0ANrsgt1O/+LuonRko7g=";
+ sha256 = "001jdzsvc541qracn68r609pr5qwymrh85xrqmvzzc1dbg5w3mlg";
};
nativeBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
index 56408d464d..2cd22e3cea 100644
--- a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
@@ -65,13 +65,13 @@ let
in
stdenv.mkDerivation rec {
pname = "gnome-shell";
- version = "3.38.2";
+ version = "3.38.3";
outputs = [ "out" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/gnome-shell/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "05fm7kxyvws2lbb156wfa2wf4xmkxr49rrjxg0yaxf68v000yq2k";
+ sha256 = "sha256-U0W0GMsSqXKVXOXM6u1mYkgAJzNrXFHa6lcwV1tiHO0=";
};
patches = [
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix
index 1ac0be1b19..07e3b536a4 100644
--- a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix
@@ -42,13 +42,13 @@
let self = stdenv.mkDerivation rec {
pname = "mutter";
- version = "3.38.2";
+ version = "3.38.3";
outputs = [ "out" "dev" "man" ];
src = fetchurl {
url = "mirror://gnome/sources/mutter/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "03a612m0c7v6y72bs3ghmpyk49177fzq6gdy1jrz4608vnalx5yr";
+ sha256 = "sha256-sjIec9Hj/i6Q5jAfQrugf02UvGR1aivxPXWunW+qIB8=";
};
patches = [
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/simple-scan/default.nix b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/simple-scan/default.nix
index 6d28228392..64009cd75e 100644
--- a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/simple-scan/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/simple-scan/default.nix
@@ -24,11 +24,11 @@
stdenv.mkDerivation rec {
pname = "simple-scan";
- version = "3.38.1";
+ version = "3.38.2";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "0grscz96bwj79ka4qvxh8h75avdx6824k8k38ylmaj6xbl6gi0hy";
+ sha256 = "sha256-qI2AcpaCiIZJzfzfqGkrCjSs3ladwICIjyea/DqcTQs=";
};
nativeBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
index d4b6561c0d..22ce6c7201 100644
--- a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
@@ -10,11 +10,11 @@
stdenv.mkDerivation rec {
pname = "yelp-xsl";
- version = "3.38.1";
+ version = "3.38.3";
src = fetchurl {
url = "mirror://gnome/sources/yelp-xsl/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "0ryzvkcgxp7xi0icmpdl2rinjn904s8imbxdi6wshzxblqymc8dk";
+ sha256 = "sha256-GTtqvUaXt7Qh6Yw21NMTXaCw/bUapT5gLtNo3YTR/QM=";
};
nativeBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/yelp/default.nix b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/yelp/default.nix
index 62c5994fd4..754a774866 100644
--- a/third_party/nixpkgs/pkgs/desktops/gnome-3/core/yelp/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/gnome-3/core/yelp/default.nix
@@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "yelp";
- version = "3.38.1";
+ version = "3.38.3";
src = fetchurl {
url = "mirror://gnome/sources/yelp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "102z8khj82vdp12c3y86hhxwm1x89xpkpc5zs63c7gg21cbrwdbl";
+ sha256 = "sha256-r9RqTQrrRrtCXFIAcdgY+LKzLmnnVqv9mXlodpphVJ0=";
};
nativeBuildInputs = [ pkg-config gettext itstool wrapGAppsHook ];
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome-3/extensions/disable-unredirect/default.nix b/third_party/nixpkgs/pkgs/desktops/gnome-3/extensions/disable-unredirect/default.nix
new file mode 100644
index 0000000000..0a9145de3d
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/desktops/gnome-3/extensions/disable-unredirect/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+ pname = "gnome-shell-extension-disable-unredirect";
+ version = "unstable-2021-01-17";
+
+ src = fetchFromGitHub {
+ owner = "kazysmaster";
+ repo = "gnome-shell-extension-disable-unredirect";
+ rev = "2ecb2f489ea3316b77d04f03a0c885f322c67e79";
+ sha256 = "1rjyrg8qya0asndxr7189a9npww0rcxk02wkxrxjy7fdp5m89p7y";
+ };
+
+ uuid = "unredirect@vaina.lt";
+
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p $out/share/gnome-shell/extensions
+ cp -R ${uuid} $out/share/gnome-shell/extensions/${uuid}
+
+ runHook postInstall
+ '';
+
+ meta = with lib; {
+ description = "Disables unredirect fullscreen windows in gnome-shell to avoid tearing";
+ license = licenses.gpl3Only;
+ homepage = "https://github.com/kazysmaster/gnome-shell-extension-disable-unredirect";
+ maintainers = with maintainers; [ eduardosm ];
+ };
+}
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix b/third_party/nixpkgs/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix
index 54af3281dc..084548e1a1 100644
--- a/third_party/nixpkgs/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, glib, gnome3, gettext }:
+{ lib, stdenv, fetchFromGitHub, glib, gettext }:
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-topicons-plus";
- version = "22";
+ version = "27";
src = fetchFromGitHub {
owner = "phocean";
repo = "TopIcons-plus";
- rev = "v${version}";
- sha256 = "196s1gdir52gbc444pzrb5l7gn5xr5vqk5ajqaiqryqlmp3i8vil";
+ rev = version;
+ sha256 = "1p3jlvs4zgnrvy8am7myivv4rnnshjp49kg87rd22qqyvcz51ykr";
};
buildInputs = [ glib ];
@@ -21,10 +21,8 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Brings all icons back to the top panel, so that it's easier to keep track of apps running in the backround";
- license = licenses.gpl2;
+ license = licenses.gpl2Only;
maintainers = with maintainers; [ eperuffo ];
homepage = "https://github.com/phocean/TopIcons-plus";
- # Unmaintained and no longer working with GNOME Shell 3.34+
- broken = lib.versionAtLeast gnome3.gnome-shell.version "3.32";
};
}
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome-3/misc/geary/default.nix b/third_party/nixpkgs/pkgs/desktops/gnome-3/misc/geary/default.nix
index a209f2d2d9..ff97d34f7c 100644
--- a/third_party/nixpkgs/pkgs/desktops/gnome-3/misc/geary/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/gnome-3/misc/geary/default.nix
@@ -118,6 +118,10 @@ stdenv.mkDerivation rec {
patchShebangs build-aux/yaml_to_json.py
chmod +x desktop/geary-attach
+
+ # Drop test that breaks after webkitgtk 2.32.0 update
+ # https://gitlab.gnome.org/GNOME/geary/-/issues/1180
+ sed -i '/add_test("edit_context_font", edit_context_font);/d' test/js/composer-page-state-test.vala
'';
doCheck = true;
diff --git a/third_party/nixpkgs/pkgs/desktops/plasma-5/discover.nix b/third_party/nixpkgs/pkgs/desktops/plasma-5/discover.nix
index cf815b8082..75e0fd6917 100644
--- a/third_party/nixpkgs/pkgs/desktops/plasma-5/discover.nix
+++ b/third_party/nixpkgs/pkgs/desktops/plasma-5/discover.nix
@@ -3,7 +3,7 @@
, extra-cmake-modules
, gettext
, kdoctools
-, python
+, python3
, appstream-qt
, discount
, flatpak
@@ -34,7 +34,7 @@
mkDerivation {
name = "discover";
meta.broken = lib.versionOlder qtbase.version "5.15.0";
- nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python ];
+ nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python3 ];
buildInputs = [
# discount is needed for libmarkdown
appstream-qt
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/applications/gigolo/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/applications/gigolo/default.nix
index 251866528e..b9ff011f3b 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/applications/gigolo/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/applications/gigolo/default.nix
@@ -1,17 +1,22 @@
-{ mkXfceDerivation, exo, gtk3, gvfs, glib }:
+{ lib, mkXfceDerivation, gtk3, gvfs, glib }:
mkXfceDerivation {
category = "apps";
pname = "gigolo";
- version = "0.5.1";
+ version = "0.5.2";
odd-unstable = false;
- sha256 = "11a35z5apr26nl6fpmbsvvv3xf5w61sgzcb505plavrchpfbdxjn";
+ sha256 = "8UDb4H3zxRKx2y+MRsozQoR3es0fs5ooR/5wBIE11bY=";
- nativeBuildInputs = [ exo ];
buildInputs = [ gtk3 glib gvfs ];
+ postPatch = ''
+ # exo-csource has been dropped from exo
+ substituteInPlace src/Makefile.am --replace exo-csource xdt-csource
+ '';
+
meta = {
description = "A frontend to easily manage connections to remote filesystems";
+ license = with lib.licenses; [ gpl2Only ];
};
}
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/applications/mousepad/allow-checking-parent-sources-when-looking-up-schema.patch b/third_party/nixpkgs/pkgs/desktops/xfce/applications/mousepad/allow-checking-parent-sources-when-looking-up-schema.patch
new file mode 100644
index 0000000000..aa797bf42c
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/applications/mousepad/allow-checking-parent-sources-when-looking-up-schema.patch
@@ -0,0 +1,25 @@
+From 3b06d6129033ddaa8dc455a6a572077fd63a3816 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?=
+Date: Mon, 1 Mar 2021 17:03:07 -0300
+Subject: [PATCH] Allow checking parent sources when looking up schema
+
+---
+ mousepad/mousepad-settings-store.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mousepad/mousepad-settings-store.c b/mousepad/mousepad-settings-store.c
+index e5a848b..de989bd 100644
+--- a/mousepad/mousepad-settings-store.c
++++ b/mousepad/mousepad-settings-store.c
+@@ -181,7 +181,7 @@ mousepad_settings_store_add_settings (MousepadSettingsStore *self,
+ const gchar *prefix;
+
+ /* loop through keys in schema and store mapping of their setting name to GSettings */
+- schema = g_settings_schema_source_lookup (source, schema_id, FALSE);
++ schema = g_settings_schema_source_lookup (source, schema_id, TRUE);
+ keys = g_settings_schema_list_keys (schema);
+ prefix = schema_id + MOUSEPAD_ID_LEN + 1;
+ for (key = keys; key && *key; key++)
+--
+2.30.0
+
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix
index 3c84f5558a..eaac32bb5e 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix
@@ -1,20 +1,20 @@
-{ mkXfceDerivation, exo, glib, gtk3, gtksourceview3, xfconf }:
+{ mkXfceDerivation, gobject-introspection, vala, gtk3, gtksourceview3, xfconf }:
mkXfceDerivation {
category = "apps";
pname = "mousepad";
- version = "0.4.2";
+ version = "0.5.3";
odd-unstable = false;
- sha256 = "0a35vaq4l0d8vzw7hqpvbgkr3wj1sqr2zvj7bc5z4ikz2cppqj7p";
+ sha256 = "0ki5k5p24dpawkyq4k8am1fcq02njhnmhq5vf2ah1zqbc0iyl5yn";
- nativeBuildInputs = [ exo ];
- buildInputs = [ glib gtk3 gtksourceview3 xfconf ];
+ nativeBuildInputs = [ gobject-introspection vala ];
- # See https://github.com/NixOS/nixpkgs/issues/36468
- NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
+ buildInputs = [ gtk3 gtksourceview3 xfconf ];
+
+ patches = [ ./allow-checking-parent-sources-when-looking-up-schema.patch ];
meta = {
- description = "A simple text editor for Xfce";
+ description = "Simple text editor for Xfce";
};
}
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/applications/parole/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/applications/parole/default.nix
index bfb8651844..5c55a22ea7 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/applications/parole/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/applications/parole/default.nix
@@ -7,9 +7,9 @@
mkXfceDerivation {
category = "apps";
pname = "parole";
- version = "1.0.5";
+ version = "4.16.0";
- sha256 = "0qgis2gnkcvg7xwp76cbi0ihqdjprvvw2d66hk7klhrafp7c0v13";
+ sha256 = "07hcnbcd56lq7z3gq1cnk71ppy98hwdvlfp5z3zlc55cqrry26zm";
postPatch = ''
substituteInPlace src/plugins/mpris2/Makefile.am \
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix
index 8766bd302a..e439c3d055 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix
@@ -1,4 +1,4 @@
-{ mkXfceDerivation, automakeAddFlags, exo, gtk3, glib, libexif
+{ mkXfceDerivation, gtk3, glib, libexif
, libxfce4ui, libxfce4util, xfconf }:
mkXfceDerivation {
@@ -8,9 +8,13 @@ mkXfceDerivation {
sha256 = "07h7wbq3xh2ac6q4kp2ai1incfn0zfxxngap7hzqx47a5xw2mrm8";
- nativeBuildInputs = [ exo ];
buildInputs = [ glib gtk3 libexif libxfce4ui libxfce4util xfconf ];
+ postPatch = ''
+ # exo-csource has been dropped from exo
+ substituteInPlace src/Makefile.am --replace exo-csource xdt-csource
+ '';
+
meta = {
description = "A fast and lightweight picture-viewer for the Xfce desktop environment";
};
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/default.nix
index 7e582abc05..6761d2ed5c 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/default.nix
@@ -3,9 +3,9 @@
mkXfceDerivation {
category = "apps";
pname = "xfce4-dict";
- version = "0.8.3";
+ version = "0.8.4";
- sha256 = "0p7k2ffknr23hh3j17dhh5q8adn736p2piwx0sg8f5dvvhhc5whz";
+ sha256 = "0gm5gwqxhnv3qz9ggf8dj1sq5s72xcliidkyip9l91msx03hfjah";
patches = [ ./configure-gio.patch ];
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
index c9a6148884..64ab34d2b6 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
@@ -4,9 +4,9 @@
mkXfceDerivation {
category = "apps";
pname = "xfce4-notifyd";
- version = "0.6.1";
+ version = "0.6.2";
- sha256 = "18d2q5b54df8j2281lash8gm0826c6apn39q4igfz2zfcyqjh1if";
+ sha256 = "1q8n7dffyqbfyy6vpqlmnsfpavlc7iz6hhv1h27fkwzswy2rx28s";
buildInputs = [ exo gtk3 glib libnotify libxfce4ui libxfce4util xfce4-panel xfconf ];
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
index 8c0fa3e3ed..3098b9c756 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
@@ -3,10 +3,10 @@
mkXfceDerivation {
category = "apps";
pname = "xfce4-screenshooter";
- version = "1.9.7";
+ version = "1.9.8";
odd-unstable = false;
- sha256 = "14vbd7iigaw57hl47rnixk873c20q5clqynzkm9zzpqc568dxixd";
+ sha256 = "0pbzjcaxm8gk0s75s99kvzygmih4yghp7ngf2mxymjiywcxqr40d";
buildInputs = [ exo gtk3 libsoup libxfce4ui libxfce4util xfce4-panel glib-networking ];
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
index fd59b173a7..5a1510eaa8 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
@@ -3,9 +3,9 @@
mkXfceDerivation {
category = "apps";
pname = "xfce4-taskmanager";
- version = "1.2.3";
+ version = "1.4.2";
- sha256 = "0818chns7vkvjqakgz8z790adkygcq4jlw59dv6kyzk17hxq6cxv";
+ sha256 = "1l7k00y3d9j38g4hxjrcrh1y4s6s77sq4sjcadsbpzs6zdf05hld";
nativeBuildInputs = [ exo ];
buildInputs = [ gtk3 libwnck3 libXmu ];
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
index 56de8d3bfb..19d98f84e3 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
@@ -1,11 +1,13 @@
-{ mkXfceDerivation, gtk3, libxfce4ui, vte, xfconf, pcre2 }:
+{ mkXfceDerivation, gtk3, libxfce4ui, vte, xfconf, pcre2, libxslt, docbook_xml_dtd_45, docbook_xsl }:
mkXfceDerivation {
category = "apps";
pname = "xfce4-terminal";
- version = "0.8.9.2";
+ version = "0.8.10";
- sha256 = "1vlpfsrdalqmsd86aj0kvvam5skzn6xngigjziwli6q6il6lb9fj";
+ sha256 = "0v58qcrdpqpd2nbwlc4ra7j9nkvfzfhb1zcp1kggbn627q86i0ql";
+
+ nativeBuildInputs = [ libxslt docbook_xml_dtd_45 docbook_xsl ];
buildInputs = [ gtk3 libxfce4ui vte xfconf pcre2 ];
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix
index a9610125b5..8373616694 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix
@@ -17,11 +17,11 @@
mkXfceDerivation {
category = "apps";
pname = "xfdashboard";
- version = "0.7.7";
+ version = "0.9.1";
rev-prefix = "";
odd-unstable = false;
- sha256 = "0b9pl3k8wl7svwhb9knhvr86gjg2904n788l8cbczwy046ql7pyc";
+ sha256 = "14k774wxbk3w0ci2mmm6bhq4i742qahd0j0dr40iwmld55473zgd";
buildInputs = [
clutter
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/art/xfwm4-themes/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/art/xfwm4-themes/default.nix
index 569a18a796..31623598d3 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/art/xfwm4-themes/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/art/xfwm4-themes/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://www.xfce.org/";
description = "Themes for Xfce";
- license = licenses.gpl3;
+ license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = [ maintainers.volth ];
};
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/core/exo/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/core/exo/default.nix
index 17da815534..d9afdfe0d9 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/core/exo/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/core/exo/default.nix
@@ -1,12 +1,12 @@
-{ mkXfceDerivation, docbook_xsl, glib, libxslt, gtk2, gtk3
+{ mkXfceDerivation, docbook_xsl, glib, libxslt, gtk3
, libxfce4ui, libxfce4util, perl }:
mkXfceDerivation {
category = "xfce";
pname = "exo";
- version = "0.12.11";
+ version = "4.16.1";
- sha256 = "1db7w6jk3i501x4qw0hs0ydrm1fjdkxmahzbv5iag859wnnlg0pd";
+ sha256 = "1220mq8gs5s8l0d1p92j6icldzqj6zaisp27ss5jm7hwkkcnms9n";
nativeBuildInputs = [
libxslt
@@ -14,7 +14,6 @@ mkXfceDerivation {
];
buildInputs = [
- gtk2 # some xfce plugins still uses gtk2
gtk3
glib
libxfce4ui
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/core/garcon/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/core/garcon/default.nix
index 69184f2afa..56ce6ac8aa 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/core/garcon/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/core/garcon/default.nix
@@ -1,15 +1,18 @@
-{ mkXfceDerivation, gtk3, libxfce4ui, libxfce4util }:
+{ lib, mkXfceDerivation, gobject-introspection, gtk3, libxfce4ui, libxfce4util }:
mkXfceDerivation {
category = "xfce";
pname = "garcon";
- version = "0.6.4";
+ version = "4.16.1";
- sha256 = "0pamhp1wffiw638s66nws2mpzmwkhvhb6iwccfy8b0kyr57wipjv";
+ sha256 = "134nm1754i12axl4si60fdwkbk2v6z108nrj9c0lb5in1zmqwa9a";
+
+ nativeBuildInputs = [ gobject-introspection ];
buildInputs = [ gtk3 libxfce4ui libxfce4util ];
meta = {
description = "Xfce menu support library";
+ license = with lib.licenses; [ lgpl2Only fdl11Only ];
};
}
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/core/libxfce4ui/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/core/libxfce4ui/default.nix
index 79c8ec74b6..e17880f1b1 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/core/libxfce4ui/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/core/libxfce4ui/default.nix
@@ -1,15 +1,15 @@
-{ lib, mkXfceDerivation, gobject-introspection, gtk2, gtk3, libICE, libSM
-, libstartup_notification, libxfce4util, xfconf }:
+{ lib, mkXfceDerivation, gobject-introspection, vala, gtk3, libICE, libSM
+, libstartup_notification, libgtop, epoxy, libxfce4util, xfconf }:
mkXfceDerivation {
category = "xfce";
pname = "libxfce4ui";
- version = "4.14.1";
+ version = "4.16.0";
- sha256 = "0fnncf30s51qhgixn57z4d021pjjhzgsg2x69w4dy68vff2347qy";
+ sha256 = "0a9wfdpsv83giwv6kcidvpd6c665aa7sv6f2l1q6qcq214vb0rk2";
- nativeBuildInputs = [ gobject-introspection ];
- buildInputs = [ gtk2 gtk3 libstartup_notification xfconf ];
+ nativeBuildInputs = [ gobject-introspection vala ];
+ buildInputs = [ gtk3 libstartup_notification libgtop epoxy xfconf ];
propagatedBuildInputs = [ libxfce4util libICE libSM ];
configureFlags = [
@@ -18,6 +18,6 @@ mkXfceDerivation {
meta = with lib; {
description = "Widgets library for Xfce";
- license = licenses.lgpl2Plus;
+ license = with licenses; [ lgpl2Plus lgpl21Plus ];
};
}
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/core/libxfce4util/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/core/libxfce4util/default.nix
index 4540d23525..69c3921285 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/core/libxfce4util/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/core/libxfce4util/default.nix
@@ -1,13 +1,13 @@
-{ lib, mkXfceDerivation, gobject-introspection }:
+{ lib, mkXfceDerivation, gobject-introspection, vala }:
mkXfceDerivation {
category = "xfce";
pname = "libxfce4util";
- version = "4.14.0";
+ version = "4.16.0";
- sha256 = "0vq16bzmnykiikg4dhiaj0qbyj76nkdd54j6k6n568h3dc9ix6q4";
+ sha256 = "1p0snipc81dhaq5glv7c1zfq5pcvgq7nikl4ikhfm2af9picfsxb";
- nativeBuildInputs = [ gobject-introspection ];
+ nativeBuildInputs = [ gobject-introspection vala ];
meta = with lib; {
description = "Extension library for Xfce";
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/core/thunar-volman/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/core/thunar-volman/default.nix
index ecc26ccb8f..6ceca34b1b 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/core/thunar-volman/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/core/thunar-volman/default.nix
@@ -3,11 +3,11 @@
mkXfceDerivation {
category = "xfce";
pname = "thunar-volman";
- version = "0.9.5";
+ version = "4.16.0";
buildInputs = [ exo gtk3 libgudev libxfce4ui libxfce4util xfconf ];
- sha256 = "1qrlpn0q5g9psd41l6y80r3bvbg8jaic92m6r400zzwcvivf95z0";
+ sha256 = "002nkxsvcq384dgpj7lv3bmb21ks64hsq13l67z1dcjbj51hzl03";
odd-unstable = false;
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix
index 00da58f662..cc94683ddd 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix
@@ -21,9 +21,9 @@
let unwrapped = mkXfceDerivation {
category = "xfce";
pname = "thunar";
- version = "1.8.15";
+ version = "4.16.6";
- sha256 = "1y9d88i0kwl7ak4d65gy3qf4bpkiyaqxd4g6px3v1ykf274k8al8";
+ sha256 = "12zqwazsqdmghy4h2c4fwxha069l07d46i512395y22h7n6655rn";
nativeBuildInputs = [
docbook_xsl
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/core/tumbler/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/core/tumbler/default.nix
index cb6f90e5b9..510d30ae63 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/core/tumbler/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/core/tumbler/default.nix
@@ -5,7 +5,6 @@
, freetype
, libgsf
, poppler
-, libjpeg
, gst_all_1
}:
@@ -14,9 +13,9 @@
mkXfceDerivation {
category = "xfce";
pname = "tumbler";
- version = "0.2.9";
+ version = "4.16.0";
- sha256 = "0b3mli40msv35qn67c1m9rn5bigj6ls10l08qk7fa3fwvzl49hmw";
+ sha256 = "1z4q858afj3yksim4lc96wylgvymv4cv6iw41qdxl5xd6ii2ddr4";
buildInputs = [
ffmpegthumbnailer
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix
index cbb444c6c7..01cc70e3b9 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix
@@ -3,9 +3,9 @@
mkXfceDerivation {
category = "xfce";
pname = "xfce4-appfinder";
- version = "4.14.0";
+ version = "4.16.1";
- sha256 = "04h7jxfm3wkxnxfy8149dckay7i160vvk4p9lnq6xny22r4x20h8";
+ sha256 = "1r7sjdavqadrpgxqclrznds7a1c2i7mlvghx5mi6qqnh42425gsy";
nativeBuildInputs = [ exo ];
buildInputs = [ garcon gtk3 libxfce4ui libxfce4util xfconf ];
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
index 38fe82ffb0..9b3f443ba3 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
@@ -1,14 +1,27 @@
-{ mkXfceDerivation, autoreconfHook, autoconf, automake
-, glib, gtk-doc, intltool, libtool }:
+{ mkXfceDerivation
+, autoreconfHook
+, libxslt
+, docbook_xsl
+, autoconf
+, automake
+, glib
+, gtk-doc
+, intltool
+, libtool
+}:
mkXfceDerivation {
category = "xfce";
pname = "xfce4-dev-tools";
- version = "4.14.0";
+ version = "4.16.0";
- sha256 = "10hcj88784faqrk08xb538355cla26vdk9ckx158hqdqv38sb42f";
+ sha256 = "0w47npi1np9vb7lhzjr680aa1xb8ch6kcbg0l0bqnpm0y0jmvgz6";
- nativeBuildInputs = [ autoreconfHook ];
+ nativeBuildInputs = [
+ autoreconfHook
+ libxslt
+ docbook_xsl
+ ];
propagatedBuildInputs = [
autoconf
@@ -19,11 +32,6 @@ mkXfceDerivation {
libtool
];
- preAutoreconf = ''
- substitute configure.ac.in configure.ac \
- --subst-var-by REVISION UNKNOWN
- '';
-
setupHook = ./setup-hook.sh;
meta = {
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh
index 600bf47fd8..3abf3172ea 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh
@@ -1,5 +1,5 @@
xdtEnvHook() {
- addToSearchPath ACLOCAL_PATH $1/share/xfce4/dev-tools/m4macros
+ addToSearchPath ACLOCAL_PATH $1/share/aclocal
}
envHooks+=(xdtEnvHook)
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/default.nix
index b7bede9e27..0a08d38823 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/default.nix
@@ -1,17 +1,48 @@
-{ mkXfceDerivation, tzdata, exo, garcon, gtk2, gtk3, glib, gettext, glib-networking, libxfce4ui, libxfce4util, libwnck3, xfconf, gobject-introspection }:
+{ mkXfceDerivation
+, exo
+, garcon
+, gettext
+, glib
+, gobject-introspection
+, gtk3
+, libdbusmenu-gtk3
+, libwnck3
+, libxfce4ui
+, libxfce4util
+, tzdata
+, vala
+, xfconf
+}:
mkXfceDerivation {
category = "xfce";
pname = "xfce4-panel";
- version = "4.14.4";
+ version = "4.16.2";
- sha256 = "1srzgb9vsvfrbhym74zkz9hdhxcrvbffxpfgv5vprhlwxw3vk3fq";
+ sha256 = "0wy66viwjnp1c0lgf90fp3vyqy0f1m1kbfdym8a0yrv2b6sn3958";
- nativeBuildInputs = [ gobject-introspection ];
- buildInputs = [ exo garcon gtk2 gtk3 glib glib-networking libxfce4ui libxfce4util libwnck3 xfconf ];
+ nativeBuildInputs = [
+ gobject-introspection
+ vala
+ ];
+
+ buildInputs = [
+ exo
+ garcon
+ libdbusmenu-gtk3
+ libxfce4ui
+ libwnck3
+ xfconf
+ tzdata
+ ];
+
+ propagatedBuildInputs = [
+ glib
+ gtk3
+ libxfce4util
+ ];
patches = [ ./xfce4-panel-datadir.patch ];
- patchFlags = [ "-p1" ];
postPatch = ''
for f in $(find . -name \*.sh); do
@@ -21,9 +52,10 @@ mkXfceDerivation {
--replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
'';
- configureFlags = [ "--enable-gtk3" ];
+ # Workaround https://bugzilla.xfce.org/show_bug.cgi?id=15825
+ NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
- meta = {
+ meta = {
description = "Xfce's panel";
};
}
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
index 9f9a552b8c..709b6a2a0c 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
@@ -4,9 +4,9 @@
mkXfceDerivation {
category = "xfce";
pname = "xfce4-power-manager";
- version = "1.6.6";
+ version = "4.16.0";
- sha256 = "0lyp3dp4ijbpf21vanrvgm6rmfp8v0zyqxibdj5gxnadmvcq38iy";
+ sha256 = "1rfw07xbv83rfb0mz3ayanlcvnaq7xpl2znsyya0hspysvavwks2";
nativeBuildInputs = [ automakeAddFlags exo ];
buildInputs = [ gtk3 libnotify libxfce4ui libxfce4util upower xfconf ];
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-session/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-session/default.nix
index c7442a0195..0d4c061589 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-session/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-session/default.nix
@@ -1,11 +1,11 @@
-{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck3, xorg, xfce4-session }:
+{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck3, xfce4-session }:
mkXfceDerivation {
category = "xfce";
pname = "xfce4-session";
- version = "4.14.2";
+ version = "4.16.0";
- sha256 = "1gr6j96l792v33lbh7rqpbdjmy8m68hy14bsndx6bykv10zvmgx2";
+ sha256 = "0b8vkcqn2arjp6qdwmzr0f84n8fjgy2kbf9h4gq03400ar1l111c";
buildInputs = [ exo gtk3 glib libxfce4ui libxfce4util libwnck3 xfconf polkit iceauth ];
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix
index 9b263e5ee7..71645cd1f9 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix
@@ -1,16 +1,16 @@
-{ mkXfceDerivation, automakeAddFlags, exo, garcon, gtk3, glib
+{ mkXfceDerivation, exo, garcon, gtk3, glib
, libnotify, libxfce4ui, libxfce4util, libxklavier
, upower, xfconf, xf86inputlibinput }:
mkXfceDerivation {
category = "xfce";
pname = "xfce4-settings";
- version = "4.14.3";
+ version = "4.16.0";
- sha256 = "1zzngdj7mp2r6rcs8gvda1218zlz5gpnc6gsp20z32l69psp3yld";
+ sha256 = "0iha3jm7vmgk6hq7z4l2r7w9qm5jraka0z580i8i83704kfx9g0y";
postPatch = ''
- for f in $(find . -name \*.c); do
+ for f in xfsettingsd/pointers.c dialogs/mouse-settings/main.c; do
substituteInPlace $f --replace \"libinput-properties.h\" ''
done
'';
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfconf/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfconf/default.nix
index 357f4b2341..41af53c9cc 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfconf/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfconf/default.nix
@@ -1,11 +1,13 @@
-{ mkXfceDerivation, libxfce4util }:
+{ mkXfceDerivation, libxfce4util, gobject-introspection, vala }:
mkXfceDerivation {
category = "xfce";
pname = "xfconf";
- version = "4.14.3";
+ version = "4.16.0";
- sha256 = "0yxpdcyz81di7w9493jzps09bgrlgianjj5abnzahqmkpmpvb0rh";
+ sha256 = "00cp2cm1w5a6k7g0fjvqx7d2iwaqw196vii9jkx1aa7mb0f2gk63";
+
+ nativeBuildInputs = [ gobject-introspection vala ];
buildInputs = [ libxfce4util ];
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfdesktop/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfdesktop/default.nix
index 75e9fc8cb6..a9e461a4e6 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfdesktop/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfdesktop/default.nix
@@ -3,9 +3,9 @@
mkXfceDerivation {
category = "xfce";
pname = "xfdesktop";
- version = "4.14.2";
+ version = "4.16.0";
- sha256 = "04fhm1pf9290sy3ymrmnfnm2x6fq5ldzvj5bjd9kz6zkx0nsq1za";
+ sha256 = "1znbccr25wvizmzzgdcf719y3qc9gqdi1g4rasgrmi95427lvwn3";
buildInputs = [
exo
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfwm4/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfwm4/default.nix
index df46a80c4b..f8cfc55154 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/core/xfwm4/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/core/xfwm4/default.nix
@@ -5,9 +5,9 @@
mkXfceDerivation {
category = "xfce";
pname = "xfwm4";
- version = "4.14.6";
+ version = "4.16.1";
- sha256 = "1ml5b4nn8laqhjihfqqsbjn66525abhin5d32bplh1k9yfxw4xi4";
+ sha256 = "1lhxm9ifkrnvn1vq3aak3kd695i1ishpryjnw617ifzawy9lj10b";
nativeBuildInputs = [ exo librsvg ];
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/mkXfceDerivation.nix b/third_party/nixpkgs/pkgs/desktops/xfce/mkXfceDerivation.nix
index 5c47dc7f85..a9f30ebfab 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/mkXfceDerivation.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/mkXfceDerivation.nix
@@ -48,7 +48,7 @@ let
meta = with lib; {
homepage = "https://gitlab.xfce.org/${category}/${pname}/about";
- license = licenses.gpl2; # some libraries are under LGPLv2+
+ license = licenses.gpl2Plus; # some libraries are under LGPLv2+
platforms = platforms.linux;
};
};
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
index 2349b4bf3e..1f79e0ffb2 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
@@ -1,4 +1,4 @@
-{ mkXfceDerivation, gtk3, libXtst, libxfce4ui, libxfce4util, xfce4-panel, xfconf, exo }:
+{ mkXfceDerivation, libXtst, libxfce4ui, xfce4-panel, xfconf }:
mkXfceDerivation {
category = "panel-plugins";
@@ -6,7 +6,12 @@ mkXfceDerivation {
version = "1.6.1";
sha256 = "03akijvry1n1fkziyvxwcksl4vy4lmnpgd5izjs8jai5sndhsszl";
- buildInputs = [ exo gtk3 libXtst libxfce4ui libxfce4util xfce4-panel xfconf ];
+ buildInputs = [ libXtst libxfce4ui xfce4-panel xfconf ];
+
+ postPatch = ''
+ # exo-csource has been dropped from exo
+ substituteInPlace panel-plugin/Makefile.am --replace exo-csource xdt-csource
+ '';
meta = {
description = "Clipboard manager for Xfce panel";
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
index 3798edbf89..f776e6c169 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
@@ -3,8 +3,8 @@
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-cpufreq-plugin";
- version = "1.2.1";
- sha256 = "1p7c4g3yfc19ksdckxpzq1q35jvplh5g55299cvv0afhdb5l8zhv";
+ version = "1.2.5";
+ sha256 = "1isqlfhz1ijl1h3hfvi0n4misdjsrhd7pc9h5rkaqm4vh543ggxg";
buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
index e80d0bbc9a..991da9928f 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
@@ -20,11 +20,11 @@ let
category = "panel-plugins";
in stdenv.mkDerivation rec {
pname = "xfce4-cpugraph-plugin";
- version = "1.2.1";
+ version = "1.2.3";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
- sha256 = "YVrfmr2RQXpEMZ2OTa3GAS+iKjd48vN5cXUS3Lfvkko=";
+ sha256 = "13302psv0fzg2dsgadr8j6mb06k1bsa4zw6hxmb644vqlvcwq37v";
};
nativeBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix
index 304b9d9076..44d255c5fa 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix
@@ -3,17 +3,16 @@
, intltool
, libxfce4ui
, xfce4-panel
-, gtk3
, gettext
}:
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-datetime-plugin";
- version = "0.8.0";
+ version = "0.8.1";
- rev-prefix = "datetime-";
- sha256 = "12drh7y70d70r93lpv43fkj5cbyl0vciz4a41nxrknrfbhxrvyah";
+ rev-prefix = "xfce4-datetime-plugin-";
+ sha256 = "06h13bmh2sni4qbr3kfnqaa5dq5f48h4xkywrm9pa6h2nyvn4rma";
nativeBuildInputs = [
gettext
@@ -21,7 +20,6 @@ mkXfceDerivation {
];
buildInputs = [
- gtk3
libxfce4ui
xfce4-panel
];
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix
index e64d6fbae5..2c83abe657 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix
@@ -1,30 +1,30 @@
-{ lib, stdenv, pkg-config, fetchFromGitHub, python2, bash, vala_0_46
+{ lib, stdenv, pkg-config, fetchFromGitHub, python3, bash, vala_0_48
, dockbarx, gtk2, xfce, pythonPackages, wafHook }:
stdenv.mkDerivation rec {
pname = "xfce4-dockbarx-plugin";
version = "${ver}-${rev}";
- ver = "0.5";
- rev = "a2dcb66";
+ ver = "0.6";
+ rev = "5213876";
src = fetchFromGitHub {
- owner = "TiZ-EX1";
+ owner = "xuzhen";
repo = "xfce4-dockbarx-plugin";
rev = rev;
- sha256 = "1f75iwlshnif60x0qqdqw5ffng2m4f4zp0ijkrbjz83wm73nsxfx";
+ sha256 = "0s8bljn4ga2hj480j0jwkc0npp8szbmirmcsys791gk32iq4dasn";
};
pythonPath = [ dockbarx ];
nativeBuildInputs = [ pkg-config wafHook ];
- buildInputs = [ python2 vala_0_46 gtk2 pythonPackages.wrapPython ]
+ buildInputs = [ python3 vala_0_48 gtk2 pythonPackages.wrapPython ]
++ (with xfce; [ libxfce4util xfce4-panel xfconf xfce4-dev-tools ])
++ pythonPath;
postPatch = ''
substituteInPlace wscript --replace /usr/share/ "\''${PREFIX}/share/"
substituteInPlace src/dockbarx.vala --replace /usr/share/ $out/share/
- substituteInPlace src/dockbarx.vala --replace '/usr/bin/env python2' ${bash}/bin/bash
+ substituteInPlace src/dockbarx.vala --replace '/usr/bin/env python3' ${bash}/bin/bash
'';
postFixup = ''
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
'';
meta = with lib; {
- homepage = "https://github.com/TiZ-EX1/xfce4-dockbarx-plugin";
+ homepage = "https://github.com/xuzhen/xfce4-dockbarx-plugin";
description = "A plugins to embed DockbarX into xfce4-panel";
license = licenses.mit;
platforms = platforms.linux;
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix
index cf383f840d..7c48e4a2a9 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix
@@ -44,6 +44,7 @@ in stdenv.mkDerivation rec {
description = "Embed arbitrary app windows on Xfce panel";
license = licenses.gpl2Plus;
platforms = platforms.linux;
+ broken = true; # unmaintained plugin; no longer compatible with xfce 4.16
maintainers = [ ];
};
}
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin/default.nix
index 8afff65696..3a01e80638 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin/default.nix
@@ -33,8 +33,9 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/xfce4-hardware-monitor-plugin";
description = "Hardware monitor plugin for the XFCE4 panel";
- license = licenses.gpl3;
+ license = licenses.gpl3Only;
platforms = platforms.unix;
+ broken = true; # unmaintained plugin; no longer compatible with xfce 4.16
maintainers = [ maintainers.romildo ];
};
}
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix
index df31ea3b9b..b9f4481be3 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchurl, pkg-config, intltool, libxfce4util, xfce4-panel, libxfce4ui,
- gtk2, exo, gnutls, libgcrypt, xfce }:
+{ lib, stdenv, fetchurl, pkg-config, intltool, xfce4-panel, libxfce4ui,
+ exo, gnutls, libgcrypt, xfce }:
let
category = "panel-plugins";
@@ -7,11 +7,11 @@ in
stdenv.mkDerivation rec {
pname = "xfce4-mailwatch-plugin";
- version = "1.2.0";
+ version = "1.3.0";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
- sha256 = "1bfw3smwivr9mzdyq768biqrl4aq94zqi3xjzq6kqnd8561cqjk2";
+ sha256 = "0bmykjhd3gs1737fl3zn5gg6f3vlncak2xqz89zv5018znz1xy90";
};
nativeBuildInputs = [
@@ -20,11 +20,9 @@ stdenv.mkDerivation rec {
];
buildInputs = [
- libxfce4util
libxfce4ui
xfce4-panel
- gtk2
- exo # needs exo with gtk2 support
+ exo
gnutls
libgcrypt
];
@@ -38,7 +36,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-mailwatch-plugin";
description = "Mail watcher plugin for Xfce panel";
- license = licenses.gpl2;
+ license = licenses.gpl2Only;
platforms = platforms.linux;
maintainers = [ ];
};
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix
index 407f349d9b..ec57a7260f 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix
@@ -16,9 +16,8 @@ stdenv.mkDerivation rec {
buildInputs = [ gtk3 libwnck3 libxfce4util xfce4-panel ];
postPatch = ''
- for f in src/preferences.vala src/namebar.vala; do
- substituteInPlace $f --replace 'var dirs = Environment.get_system_data_dirs()' "string[] dirs = { \"$out/share\" }"
- done
+ substituteInPlace src/namebar.vala --replace 'var dirs = Environment.get_system_data_dirs()' "string[] dirs = { \"$out/share\" }"
+ substituteInPlace src/preferences.vala --replace 'var dir_strings = Environment.get_system_data_dirs()' "string[] dir_strings = { \"$out/share\" }"
'';
passthru.updateScript = xfce.updateScript {
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix
index 7442e30ed6..79519b8587 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix
@@ -1,15 +1,11 @@
{ lib
, stdenv
, fetchurl
-, fetchpatch
, pkg-config
, intltool
-, libxfce4util
, xfce4-panel
, libxfce4ui
, xfconf
-, gtk2
-, libunique
, xfce
}:
@@ -30,16 +26,11 @@ in stdenv.mkDerivation rec {
];
buildInputs = [
- libxfce4util
libxfce4ui
xfce4-panel
xfconf
- gtk2
- libunique
];
- hardeningDisable = [ "format" ];
-
passthru.updateScript = xfce.updateScript {
inherit pname version;
attrPath = "xfce.${pname}";
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
index 845f1b22e3..dbefda4e5e 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
@@ -8,11 +8,11 @@ in
stdenv.mkDerivation rec {
pname = "xfce4-sensors-plugin";
- version = "1.3.92";
+ version = "1.3.95";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
- sha256 = "04jibw23ibi61f19gc9xy400yhcdiya4px6zp8c7fjq65hyn9iix";
+ sha256 = "0v44qwrwb95jrlsni1gdlc0zhymlm62w42zs3jbr5mcdc7j4mil3";
};
nativeBuildInputs = [
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-sensors-plugin";
description = "A panel plug-in for different sensors using acpi, lm_sensors and hddtemp";
- license = licenses.gpl2;
+ license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = [ maintainers.romildo ];
};
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix
index 13bce97fe3..3c35297897 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix
@@ -3,10 +3,9 @@
, fetchurl
, pkg-config
, intltool
-, libxfce4util
, xfce4-panel
, libxfce4ui
-, gtk3
+, xfconf
, xfce
}:
@@ -14,11 +13,11 @@ let
category = "panel-plugins";
in stdenv.mkDerivation rec {
pname = "xfce4-systemload-plugin";
- version = "1.2.4";
+ version = "1.3.1";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
- sha256 = "BTG435I8ujvo0GTLi2OLlU33SRXlpEciiZlReEd4mDU=";
+ sha256 = "0lknh5l30qs5c69wwjcblbyhczvdbxs59fqkb8mpqbfm05w01lan";
};
nativeBuildInputs = [
@@ -27,10 +26,9 @@ in stdenv.mkDerivation rec {
];
buildInputs = [
- libxfce4util
libxfce4ui
xfce4-panel
- gtk3
+ xfconf
];
passthru.updateScript = xfce.updateScript {
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix
index 7c2fb69dc5..3731d3937b 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-timer-plugin";
description = "Simple countdown and alarm plugin for the Xfce panel";
platforms = platforms.linux;
- license = licenses.gpl2;
+ license = licenses.gpl2Plus;
maintainers = [ ];
};
}
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
index 94b467fd68..209e25bc9e 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
@@ -5,7 +5,6 @@
, pcre
, libxfce4util
, xfce4-panel
-, xfconf
}:
mkXfceDerivation {
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix
index 18639946ce..5992bf343e 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchurl, pkg-config, intltool, gtk3, libxml2, libsoup, upower,
- libxfce4ui, libxfce4util, xfce4-panel, hicolor-icon-theme, xfce }:
+{ lib, stdenv, fetchurl, pkg-config, intltool, libxml2, libsoup, upower,
+ libxfce4ui, xfce4-panel, xfconf, hicolor-icon-theme, xfce }:
let
category = "panel-plugins";
@@ -7,11 +7,11 @@ in
stdenv.mkDerivation rec {
pname = "xfce4-weather-plugin";
- version = "0.10.1";
+ version = "0.11.0";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
- sha256 = "12bs2rfmmy021087i10vxibdbbvd5vld0vk3h5hymhpz7rgszcmg";
+ sha256 = "1z2k24d599mxf5gqa35i3xmc3gk2yvqs80hxxpyw06yma6ljw973";
};
nativeBuildInputs = [
@@ -20,13 +20,12 @@ stdenv.mkDerivation rec {
];
buildInputs = [
- gtk3
libxml2
libsoup
upower
libxfce4ui
- libxfce4util
xfce4-panel
+ xfconf
hicolor-icon-theme
];
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
index ef269d64e0..123376b0f2 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
@@ -3,10 +3,10 @@
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-whiskermenu-plugin";
- version = "2.4.6";
+ version = "2.5.3";
rev-prefix = "v";
odd-unstable = false;
- sha256 = "03asfaxqbhawzb3870az7qgid5y7cg3ip8h6r4z8kavcd0b7x4ii";
+ sha256 = "15kcph35pji3l1y81snrmpqzhhpdc9h4nk6cjsjyla51a1s2y3hz";
nativeBuildInputs = [ cmake ];
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix
index ec6ef0e7b6..281003db92 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix
@@ -1,15 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, intltool, python3, imagemagick, libwnck, gtk2
-, exo, libxfce4ui, libxfce4util, xfce4-panel, xfconf, xfce4-dev-tools, xfce }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, intltool, python3, imagemagick, libwnck3, libxfce4ui, xfce4-panel, xfconf, xfce4-dev-tools, xfce }:
stdenv.mkDerivation rec {
pname = "xfce4-windowck-plugin";
- version = "0.4.6";
+ version = "0.4.10";
src = fetchFromGitHub {
- owner = "cedl38";
+ owner = "invidian";
repo = pname;
rev = "v${version}";
- sha256 = "1gwrbjfv4cnlsqh05h42w41z3xs15yjj6j8y9gxvvvvlgzzp4p3g";
+ sha256 = "0l066a174v2c7ly125v9x1fgbg5bnpwdwnjh69v9kp4plp791q4n";
};
nativeBuildInputs = [
@@ -20,11 +19,8 @@ stdenv.mkDerivation rec {
buildInputs = [
python3
imagemagick
- libwnck
- gtk2
- exo
+ libwnck3
libxfce4ui
- libxfce4util
xfce4-panel
xfconf
xfce4-dev-tools
diff --git a/third_party/nixpkgs/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix b/third_party/nixpkgs/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
index b632fde2df..d43c56c728 100644
--- a/third_party/nixpkgs/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://github.com/Jeinzi/thunar-dropbox";
description = "A plugin that adds context-menu items for Dropbox to Thunar";
- license = licenses.gpl3;
+ license = licenses.gpl3Only;
platforms = platforms.linux;
};
}
diff --git a/third_party/nixpkgs/pkgs/development/compilers/bluespec/default.nix b/third_party/nixpkgs/pkgs/development/compilers/bluespec/default.nix
index cfbec681e8..7a76d4948e 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/bluespec/default.nix
+++ b/third_party/nixpkgs/pkgs/development/compilers/bluespec/default.nix
@@ -27,13 +27,13 @@ let
ghcWithPackages = ghc.withPackages (g: (with g; [old-time regex-compat syb split ]));
in stdenv.mkDerivation rec {
pname = "bluespec";
- version = "unstable-2021.02.14";
+ version = "unstable-2021.03.29";
src = fetchFromGitHub {
owner = "B-Lang-org";
repo = "bsc";
- rev = "c085ecd807d85f31d102d8bec71f5c28dc96b31d";
- sha256 = "0c86gwhrarw78cr9c9slb9vij6kcwx3x281kbqji96qqzs0dfb32";
+ rev = "00185f7960bd1bd5554a1167be9f37e1f18ac454";
+ sha256 = "1bcdhql4cla137d8xr8m2h21dyxv0jpjpalpr5mgj2jxqfsmkbrn";
};
enableParallelBuilding = true;
diff --git a/third_party/nixpkgs/pkgs/development/compilers/crystal/default.nix b/third_party/nixpkgs/pkgs/development/compilers/crystal/default.nix
index f101f59674..58e4b3b355 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/crystal/default.nix
+++ b/third_party/nixpkgs/pkgs/development/compilers/crystal/default.nix
@@ -270,7 +270,13 @@ rec {
binary = crystal_0_35;
};
- crystal = crystal_0_36;
+ crystal_1_0 = generic {
+ version = "1.0.0";
+ sha256 = "sha256-RI+a3w6Rr+uc5jRf7xw0tOenR+q6qii/ewWfID6dbQ8=";
+ binary = crystal_0_36;
+ };
+
+ crystal = crystal_1_0;
crystal2nix = callPackage ./crystal2nix.nix { };
}
diff --git a/third_party/nixpkgs/pkgs/development/compilers/ecl/default.nix b/third_party/nixpkgs/pkgs/development/compilers/ecl/default.nix
index 79a290a6c1..083998049c 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/ecl/default.nix
+++ b/third_party/nixpkgs/pkgs/development/compilers/ecl/default.nix
@@ -70,5 +70,6 @@ stdenv.mkDerivation {
license = lib.licenses.mit ;
maintainers = [lib.maintainers.raskin];
platforms = lib.platforms.unix;
+ changelog = "https://gitlab.com/embeddable-common-lisp/ecl/-/raw/${s.version}/CHANGELOG";
};
}
diff --git a/third_party/nixpkgs/pkgs/development/compilers/flutter/default.nix b/third_party/nixpkgs/pkgs/development/compilers/flutter/default.nix
index 14f4d93caa..736178e76c 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/flutter/default.nix
+++ b/third_party/nixpkgs/pkgs/development/compilers/flutter/default.nix
@@ -4,7 +4,7 @@ let
getPatches = dir:
let files = builtins.attrNames (builtins.readDir dir);
in map (f: dir + ("/" + f)) files;
- version = "1.22.4";
+ version = "2.0.3";
channel = "stable";
filename = "flutter_linux_${version}-${channel}.tar.xz";
in
@@ -15,7 +15,7 @@ in
pname = "flutter";
src = fetchurl {
url = "https://storage.googleapis.com/flutter_infra/releases/${channel}/linux/${filename}";
- sha256 = "0qalgav9drqddcj8lfvl9ddf3325n953pvkmgha47lslg9sa88zw";
+ sha256 = "14a63cpkp78rgymmlrppds69jsrdarg33dr43nb7s61r0xfh9icm";
};
patches = getPatches ./patches;
};
diff --git a/third_party/nixpkgs/pkgs/development/compilers/flutter/flutter.nix b/third_party/nixpkgs/pkgs/development/compilers/flutter/flutter.nix
index 4a7aa0d014..27436d8b61 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/flutter/flutter.nix
+++ b/third_party/nixpkgs/pkgs/development/compilers/flutter/flutter.nix
@@ -41,11 +41,10 @@ let
buildInputs = [ git ];
- inherit src patches;
+ inherit src patches version;
postPatch = ''
patchShebangs --build ./bin/
- find ./bin/ -executable -type f -exec patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) {} \;
'';
buildPhase = ''
diff --git a/third_party/nixpkgs/pkgs/development/compilers/flutter/patches/disable-auto-update.patch b/third_party/nixpkgs/pkgs/development/compilers/flutter/patches/disable-auto-update.patch
index 35ce5b3673..1fe0981368 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/flutter/patches/disable-auto-update.patch
+++ b/third_party/nixpkgs/pkgs/development/compilers/flutter/patches/disable-auto-update.patch
@@ -1,8 +1,8 @@
diff --git a/bin/internal/shared.sh b/bin/internal/shared.sh
-index 8d613de739..a673466726 100644
+index c44f867746..c9eda34e26 100644
--- a/bin/internal/shared.sh
+++ b/bin/internal/shared.sh
-@@ -204,8 +204,6 @@ function shared::execute() {
+@@ -218,8 +218,6 @@ function shared::execute() {
# FLUTTER_TOOL_ARGS="--enable-asserts $FLUTTER_TOOL_ARGS"
# FLUTTER_TOOL_ARGS="$FLUTTER_TOOL_ARGS --observe=65432"
@@ -12,20 +12,18 @@ index 8d613de739..a673466726 100644
case "$BIN_NAME" in
flutter*)
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
-index 8a1a1e29da..778f253358 100644
+index 3dc7929dd1..e65d70d55b 100644
--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
+++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
-@@ -293,13 +293,6 @@ class FlutterCommandRunner extends CommandRunner {
+@@ -246,11 +246,7 @@ class FlutterCommandRunner extends CommandRunner {
globals.flutterUsage.suppressAnalytics = true;
}
-- try {
-- await globals.flutterVersion.ensureVersionFile();
-- } on FileSystemException catch (e) {
-- globals.printError('Failed to write the version file to the artifact cache: "$e".');
-- globals.printError('Please ensure you have permissions in the artifact cache directory.');
-- throwToolExit('Failed to write the version file');
-- }
+- globals.flutterVersion.ensureVersionFile();
final bool machineFlag = topLevelResults['machine'] as bool;
- if (topLevelResults.command?.name != 'upgrade' && topLevelResults['version-check'] as bool && !machineFlag) {
- await globals.flutterVersion.checkFlutterVersionFreshness();
+- if (topLevelResults.command?.name != 'upgrade' && topLevelResults['version-check'] as bool && !machineFlag) {
+- await globals.flutterVersion.checkFlutterVersionFreshness();
+- }
+
+ // See if the user specified a specific device.
+ globals.deviceManager.specifiedDeviceId = topLevelResults['device-id'] as String;
diff --git a/third_party/nixpkgs/pkgs/development/compilers/flutter/patches/move-cache.patch b/third_party/nixpkgs/pkgs/development/compilers/flutter/patches/move-cache.patch
index dc77496edb..d6a45a97e5 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/flutter/patches/move-cache.patch
+++ b/third_party/nixpkgs/pkgs/development/compilers/flutter/patches/move-cache.patch
@@ -1,59 +1,54 @@
-diff --git a/dev/devicelab/lib/framework/runner.dart b/dev/devicelab/lib/framework/runner.dart
-index d045c83f04..d51973020b 100644
---- a/dev/devicelab/lib/framework/runner.dart
-+++ b/dev/devicelab/lib/framework/runner.dart
-@@ -136,7 +136,7 @@ Future cleanupSystem() async {
- print('\nTelling Gradle to shut down (JAVA_HOME=$javaHome)');
- final String gradlewBinaryName = Platform.isWindows ? 'gradlew.bat' : 'gradlew';
- final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_shutdown_gradle.');
-- recursiveCopy(Directory(path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'gradle_wrapper')), tempDir);
-+ recursiveCopy(Directory(path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir);
- copy(File(path.join(path.join(flutterDirectory.path, 'packages', 'flutter_tools'), 'templates', 'app', 'android.tmpl', 'gradle', 'wrapper', 'gradle-wrapper.properties')), Directory(path.join(tempDir.path, 'gradle', 'wrapper')));
- if (!Platform.isWindows) {
- await exec(
diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart
-index 8da01315ae..bb8d61d7f2 100644
+index a6c59bae07..21f6c9812a 100644
--- a/packages/flutter_tools/lib/src/asset.dart
+++ b/packages/flutter_tools/lib/src/asset.dart
-@@ -8,6 +8,7 @@ import 'package:meta/meta.dart';
+@@ -5,6 +5,7 @@
+ import 'package:meta/meta.dart';
import 'package:package_config/package_config.dart';
- import 'package:yaml/yaml.dart';
+import 'base/common.dart';
import 'base/context.dart';
import 'base/file_system.dart';
- import 'base/utils.dart';
-@@ -399,7 +400,7 @@ List<_Asset> _getMaterialAssets(String fontSet) {
- for (final Map font in (family['fonts'] as List).cast