diff --git a/doc/languages-frameworks/dhall.section.md b/doc/languages-frameworks/dhall.section.md
new file mode 100644
index 00000000000..6ff397237a8
--- /dev/null
+++ b/doc/languages-frameworks/dhall.section.md
@@ -0,0 +1,432 @@
+# Dhall {#sec-language-dhall}
+
+The Nixpkgs support for Dhall assumes some familiarity with Dhall's language
+support for importing Dhall expressions, which is documented here:
+
+* [`dhall-lang.org` - Installing packages](https://docs.dhall-lang.org/tutorials/Language-Tour.html#installing-packages)
+
+## Remote imports
+
+Nixpkgs bypasses Dhall's support for remote imports using Dhall's
+semantic integrity checks. Specifically, any Dhall import can be protected by
+an integrity check like:
+
+```dhall
+https://prelude.dhall-lang.org/v20.1.0/package.dhall
+ sha256:26b0ef498663d269e4dc6a82b0ee289ec565d683ef4c00d0ebdd25333a5a3c98
+```
+
+… and if the import is cached then the interpreter will load the import from
+cache instead of fetching the URL.
+
+Nixpkgs uses this trick to add all of a Dhall expression's dependencies into the
+cache so that the Dhall interpreter never needs to resolve any remote URLs. In
+fact, Nixpkgs uses a Dhall interpreter with remote imports disabled when
+packaging Dhall expressions to enforce that the interpreter never resolves a
+remote import. This means that Nixpkgs only supports building Dhall expressions
+if all of their remote imports are protected by semantic integrity checks.
+
+Instead of remote imports, Nixpkgs uses Nix to fetch remote Dhall code. For
+example, the Prelude Dhall package uses `pkgs.fetchFromGitHub` to fetch the
+`dhall-lang` repository containing the Prelude. Relying exclusively on Nix
+to fetch Dhall code ensures that Dhall packages built using Nix remain pure and
+also behave well when built within a sandbox.
+
+## Packaging a Dhall expression from scratch
+
+We can illustrate how Nixpkgs integrates Dhall by beginning from the following
+trivial Dhall expression with one dependency (the Prelude):
+
+```dhall
+-- ./true.dhall
+
+let Prelude = https://prelude.dhall-lang.org/v20.1.0/package.dhall
+
+in Prelude.Bool.not False
+```
+
+As written, this expression cannot be built using Nixpkgs because the
+expression does not protect the Prelude import with a semantic integrity
+check, so the first step is to freeze the expression using `dhall freeze`,
+like this:
+
+```bash
+$ dhall freeze --inplace ./true.dhall
+```
+
+… which gives us:
+
+```dhall
+-- ./true.dhall
+
+let Prelude =
+ https://prelude.dhall-lang.org/v20.1.0/package.dhall
+ sha256:26b0ef498663d269e4dc6a82b0ee289ec565d683ef4c00d0ebdd25333a5a3c98
+
+in Prelude.Bool.not False
+```
+
+To package that expression, we create a `./true.nix` file containing the
+following specification for the Dhall package:
+
+```nix
+# ./true.nix
+
+{ buildDhallPackage, Prelude }:
+
+buildDhallPackage {
+ name = "true";
+ code = ./true.dhall;
+ dependencies = [ Prelude ];
+ source = true;
+}
+```
+
+… and we complete the build by incorporating that Dhall package into the
+`pkgs.dhallPackages` hierarchy using an overlay, like this:
+
+```nix
+# ./example.nix
+
+let
+ nixpkgs = builtins.fetchTarball {
+ url = "https://github.com/NixOS/nixpkgs/archive/94b2848559b12a8ed1fe433084686b2a81123c99.tar.gz";
+ sha256 = "1pbl4c2dsaz2lximgd31m96jwbps6apn3anx8cvvhk1gl9rkg107";
+ };
+
+ dhallOverlay = self: super: {
+ true = self.callPackage ./true.nix { };
+ };
+
+ overlay = self: super: {
+ dhallPackages = super.dhallPackages.override (old: {
+ overrides =
+ self.lib.composeExtensions (old.overrides or (_: _: {})) dhallOverlay;
+ });
+ };
+
+ pkgs = import nixpkgs { config = {}; overlays = [ overlay ]; };
+
+in
+ pkgs
+```
+
+… which we can then build using this command:
+
+```bash
+$ nix build --file ./example.nix dhallPackages.true
+```
+
+## Contents of a Dhall package
+
+The above package produces the following directory tree:
+
+```bash
+$ tree -a ./result
+result
+├── .cache
+│ └── dhall
+│ └── 122027abdeddfe8503496adeb623466caa47da5f63abd2bc6fa19f6cfcb73ecfed70
+├── binary.dhall
+└── source.dhall
+```
+
+… where:
+
+* `source.dhall` contains the result of interpreting our Dhall package:
+
+ ```bash
+ $ cat ./result/source.dhall
+ True
+ ```
+
+* The `.cache` subdirectory contains one binary cache product encoding the
+ same result as `source.dhall`:
+
+ ```bash
+ $ dhall decode < ./result/.cache/dhall/122027abdeddfe8503496adeb623466caa47da5f63abd2bc6fa19f6cfcb73ecfed70
+ True
+ ```
+
+* `binary.dhall` contains a Dhall expression which handles fetching and decoding
+ the same cache product:
+
+ ```bash
+ $ cat ./result/binary.dhall
+ missing sha256:27abdeddfe8503496adeb623466caa47da5f63abd2bc6fa19f6cfcb73ecfed70
+ $ cp -r ./result/.cache .cache
+
+ $ chmod -R u+w .cache
+
+ $ XDG_CACHE_HOME=.cache dhall --file ./result/binary.dhall
+ True
+ ```
+
+The `source.dhall` file is only present for packages that specify
+`source = true;`. By default, Dhall packages omit the `source.dhall` in order
+to conserve disk space when they are used exclusively as dependencies. For
+example, if we build the Prelude package it will only contain the binary
+encoding of the expression:
+
+```bash
+$ nix build --file ./example.nix dhallPackages.Prelude
+
+$ tree -a result
+result
+├── .cache
+│ └── dhall
+│ └── 122026b0ef498663d269e4dc6a82b0ee289ec565d683ef4c00d0ebdd25333a5a3c98
+└── binary.dhall
+
+2 directories, 2 files
+```
+
+Typically, you only specify `source = true;` for the top-level Dhall expression
+of interest (such as our example `true.nix` Dhall package). However, if you
+wish to specify `source = true` for all Dhall packages, then you can amend the
+Dhall overlay like this:
+
+```nix
+ dhallOverrides = self: super: {
+ # Enable source for all Dhall packages
+ buildDhallPackage =
+ args: super.buildDhallPackage (args // { source = true; });
+
+ true = self.callPackage ./true.nix { };
+ };
+```
+
+… and now the Prelude will contain the fully decoded result of interpreting
+the Prelude:
+
+```bash
+$ nix build --file ./example.nix dhallPackages.Prelude
+
+$ tree -a result
+result
+├── .cache
+│ └── dhall
+│ └── 122026b0ef498663d269e4dc6a82b0ee289ec565d683ef4c00d0ebdd25333a5a3c98
+├── binary.dhall
+└── source.dhall
+
+$ cat ./result/source.dhall
+{ Bool =
+ { and =
+ \(_ : List Bool) ->
+ List/fold Bool _ Bool (\(_ : Bool) -> \(_ : Bool) -> _@1 && _) True
+ , build = \(_ : Type -> _ -> _@1 -> _@2) -> _ Bool True False
+ , even =
+ \(_ : List Bool) ->
+ List/fold Bool _ Bool (\(_ : Bool) -> \(_ : Bool) -> _@1 == _) True
+ , fold =
+ \(_ : Bool) ->
+…
+```
+
+## Packaging functions
+
+We already saw an example of using `buildDhallPackage` to create a Dhall
+package from a single file, but most Dhall packages consist of more than one
+file and there are two derived utilities that you may find more useful when
+packaging multiple files:
+
+* `buildDhallDirectoryPackage` - build a Dhall package from a local directory
+
+* `buildDhallGitHubPackage` - build a Dhall package from a GitHub repository
+
+The `buildDhallPackage` is the lowest-level function and accepts the following
+arguments:
+
+* `name`: The name of the derivation
+
+* `dependencies`: Dhall dependencies to build and cache ahead of time
+
+* `code`: The top-level expression to build for this package
+
+ Note that the `code` field accepts an arbitrary Dhall expression. You're
+ not limited to just a file.
+
+* `source`: Set to `true` to include the decoded result as `source.dhall` in the
+ build product, at the expense of requiring more disk space
+
+* `documentationRoot`: Set to the root directory of the package if you want
+ `dhall-docs` to generate documentation underneath the `docs` subdirectory of
+ the build product
+
+The `buildDhallDirectoryPackage` is a higher-level function implemented in terms
+of `buildDhallPackage` that accepts the following arguments:
+
+* `name`: Same as `buildDhallPackage`
+
+* `dependencies`: Same as `buildDhallPackage`
+
+* `source`: Same as `buildDhallPackage`
+
+* `src`: The directory containing Dhall code that you want to turn into a Dhall
+ package
+
+* `file`: The top-level file (`package.dhall` by default) that is the entrypoint
+ to the rest of the package
+
+* `document`: Set to `true` to generate documentation for the package
+
+The `buildDhallGitHubPackage` is another higher-level function implemented in
+terms of `buildDhallPackage` that accepts the following arguments:
+
+* `name`: Same as `buildDhallPackage`
+
+* `dependencies`: Same as `buildDhallPackage`
+
+* `source`: Same as `buildDhallPackage`
+
+* `owner`: The owner of the repository
+
+* `repo`: The repository name
+
+* `rev`: The desired revision (or branch, or tag)
+
+* `directory`: The subdirectory of the Git repository to package (if a
+ directory other than the root of the repository)
+
+* `file`: The top-level file (`${directory}/package.dhall` by default) that is
+ the entrypoint to the rest of the package
+
+* `document`: Set to `true` to generate documentation for the package
+
+Additionally, `buildDhallGitHubPackage` accepts the same arguments as
+`fetchFromGitHub`, such as `sha256` or `fetchSubmodules`.
+
+## `dhall-to-nixpkgs`
+
+You can use the `dhall-to-nixpkgs` command-line utility to automate
+packaging Dhall code. For example:
+
+```bash
+$ nix-env --install --attr haskellPackages.dhall-nixpkgs
+
+$ nix-env --install --attr nix-prefetch-git # Used by dhall-to-nixpkgs
+
+$ dhall-to-nixpkgs github https://github.com/Gabriel439/dhall-semver.git
+{ buildDhallGitHubPackage, Prelude }:
+ buildDhallGitHubPackage {
+ name = "dhall-semver";
+ githubBase = "github.com";
+ owner = "Gabriel439";
+ repo = "dhall-semver";
+ rev = "2d44ae605302ce5dc6c657a1216887fbb96392a4";
+ fetchSubmodules = false;
+ sha256 = "0y8shvp8srzbjjpmnsvz9c12ciihnx1szs0yzyi9ashmrjvd0jcz";
+ directory = "";
+ file = "package.dhall";
+ source = false;
+ document = false;
+ dependencies = [ (Prelude.overridePackage { file = "package.dhall"; }) ];
+ }
+```
+
+The utility takes care of automatically detecting remote imports and converting
+them to package dependencies. You can also use the utility on local
+Dhall directories, too:
+
+```bash
+$ dhall-to-nixpkgs directory ~/proj/dhall-semver
+{ buildDhallDirectoryPackage, Prelude }:
+ buildDhallDirectoryPackage {
+ name = "proj";
+ src = /Users/gabriel/proj/dhall-semver;
+ file = "package.dhall";
+ source = false;
+ document = false;
+ dependencies = [ (Prelude.overridePackage { file = "package.dhall"; }) ];
+ }
+```
+
+## Overriding dependency versions
+
+Suppose that we change our `true.dhall` example expression to depend on an older
+version of the Prelude (19.0.0):
+
+```dhall
+-- ./true.dhall
+
+let Prelude =
+ https://prelude.dhall-lang.org/v19.0.0/package.dhall
+ sha256:eb693342eb769f782174157eba9b5924cf8ac6793897fc36a31ccbd6f56dafe2
+
+in Prelude.Bool.not False
+```
+
+If we try to rebuild that expression the build will fail:
+
+```
+$ nix build --file ./example.nix dhallPackages.true
+builder for '/nix/store/0f1hla7ff1wiaqyk1r2ky4wnhnw114fi-true.drv' failed with exit code 1; last 10 log lines:
+
+ Dhall was compiled without the 'with-http' flag.
+
+ The requested URL was: https://prelude.dhall-lang.org/v19.0.0/package.dhall
+
+
+ 4│ https://prelude.dhall-lang.org/v19.0.0/package.dhall
+ 5│ sha256:eb693342eb769f782174157eba9b5924cf8ac6793897fc36a31ccbd6f56dafe2
+
+ /nix/store/rsab4y99h14912h4zplqx2iizr5n4rc2-true.dhall:4:7
+[1 built (1 failed), 0.0 MiB DL]
+error: build of '/nix/store/0f1hla7ff1wiaqyk1r2ky4wnhnw114fi-true.drv' failed
+```
+
+… because the default Prelude selected by Nixpkgs revision
+`94b2848559b12a8ed1fe433084686b2a81123c99is` is version 20.1.0, which doesn't
+have the same integrity check as version 19.0.0. This means that version
+19.0.0 is not cached and the interpreter is not allowed to fall back to
+importing the URL.
+
+However, we can override the default Prelude version by using `dhall-to-nixpkgs`
+to create a Dhall package for our desired Prelude:
+
+```bash
+$ dhall-to-nixpkgs github https://github.com/dhall-lang/dhall-lang.git \
+ --name Prelude \
+ --directory Prelude \
+ --rev v19.0.0 \
+ > Prelude.nix
+```
+
+… and then referencing that package in our Dhall overlay, by either overriding
+the Prelude globally for all packages, like this:
+
+```bash
+ dhallOverrides = self: super: {
+ true = self.callPackage ./true.nix { };
+
+ Prelude = self.callPackage ./Prelude.nix { };
+ };
+```
+
+… or selectively overriding the Prelude dependency for just the `true` package,
+like this:
+
+```bash
+ dhallOverrides = self: super: {
+ true = self.callPackage ./true.nix {
+ Prelude = self.callPackage ./Prelude.nix { };
+ };
+ };
+```
+
+## Overrides
+
+You can override any of the arguments to `buildDhallGitHubPackage` or
+`buildDhallDirectoryPackage` using the `overridePackage` attribute of a package.
+For example, suppose we wanted to selectively enable `source = true` just for the Prelude. We can do that like this:
+
+```nix
+ dhallOverrides = self: super: {
+ Prelude = super.Prelude.overridePackage { source = true; };
+
+ …
+ };
+```
+
+[semantic-integrity-checks]: https://docs.dhall-lang.org/tutorials/Language-Tour.html#installing-packages
diff --git a/doc/languages-frameworks/index.xml b/doc/languages-frameworks/index.xml
index 4d07d2b524d..791afce6f5c 100644
--- a/doc/languages-frameworks/index.xml
+++ b/doc/languages-frameworks/index.xml
@@ -11,6 +11,7 @@
+
diff --git a/nixos/modules/programs/sway.nix b/nixos/modules/programs/sway.nix
index 2b69851b340..ca79177f827 100644
--- a/nixos/modules/programs/sway.nix
+++ b/nixos/modules/programs/sway.nix
@@ -124,7 +124,7 @@ in {
"sway/config.d/nixos.conf".source = pkgs.writeText "nixos.conf" ''
# Import the most important environment variables into the D-Bus and systemd
# user environments (e.g. required for screen sharing and Pinentry prompts):
- exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
+ exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
'';
};
};
@@ -135,6 +135,8 @@ in {
# To make a Sway session available if a display manager like SDDM is enabled:
services.xserver.displayManager.sessionPackages = [ swayPackage ];
programs.xwayland.enable = mkDefault true;
+ # For screen sharing (this option only has an effect with xdg.portal.enable):
+ xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-wlr ];
};
meta.maintainers = with lib.maintainers; [ gnidorah primeos colemickens ];
diff --git a/nixos/modules/services/games/factorio.nix b/nixos/modules/services/games/factorio.nix
index a1aa5739d06..3cb14275792 100644
--- a/nixos/modules/services/games/factorio.nix
+++ b/nixos/modules/services/games/factorio.nix
@@ -35,10 +35,10 @@ let
auto_pause = true;
only_admins_can_pause_the_game = true;
autosave_only_on_server = true;
- admins = [];
non_blocking_saving = cfg.nonBlockingSaving;
} // cfg.extraSettings;
serverSettingsFile = pkgs.writeText "server-settings.json" (builtins.toJSON (filterAttrsRecursive (n: v: v != null) serverSettings));
+ serverAdminsFile = pkgs.writeText "server-adminlist.json" (builtins.toJSON cfg.admins);
modDir = pkgs.factorio-utils.mkModDirDrv cfg.mods;
in
{
@@ -52,6 +52,16 @@ in
The port to which the service should bind.
'';
};
+
+ admins = mkOption {
+ type = types.listOf types.str;
+ default = [];
+ example = [ "username" ];
+ description = ''
+ List of player names which will be admin.
+ '';
+ };
+
openFirewall = mkOption {
type = types.bool;
default = false;
@@ -234,6 +244,7 @@ in
"--start-server=${mkSavePath cfg.saveName}"
"--server-settings=${serverSettingsFile}"
(optionalString (cfg.mods != []) "--mod-directory=${modDir}")
+ (optionalString (cfg.admins != []) "--server-adminlist=${serverAdminsFile}")
];
# Sandboxing
diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix
index 5690dc0db10..0b6a57492c5 100644
--- a/pkgs/applications/misc/zathura/core/default.nix
+++ b/pkgs/applications/misc/zathura/core/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
] ++ optional stdenv.isLinux libseccomp
++ optional stdenv.isDarwin gtk-mac-integration;
- doCheck = true;
+ doCheck = !stdenv.isDarwin;
meta = {
homepage = "https://git.pwmt.org/pwmt/zathura";
diff --git a/pkgs/applications/networking/feedreaders/newsflash/default.nix b/pkgs/applications/networking/feedreaders/newsflash/default.nix
index ac7af8e53b3..8182832089d 100644
--- a/pkgs/applications/networking/feedreaders/newsflash/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsflash/default.nix
@@ -20,19 +20,19 @@
stdenv.mkDerivation rec {
pname = "newsflash";
- version = "1.4.0";
+ version = "1.4.1";
src = fetchFromGitLab {
owner = "news-flash";
repo = "news_flash_gtk";
rev = version;
- hash = "sha256-EInI5Unaz9m8/gJ7vAzJVyMynJGq0KZh12dNK8r1wnY=";
+ hash = "sha256-pskmvztKOwutXRHVnW5u68/0DAuV9Gb+Ovp2JbXiMYo=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
- hash = "sha256-xrWZhjfYnO6M3LMTP6l3+oZOusvUWuRBDesIlsiEJ6s=";
+ hash = "sha256-qq8cZplt5YWUwsXUShMDhQm3RGH2kCEBk64x6bOa50E=";
};
patches = [
diff --git a/pkgs/applications/science/electronics/kicad/base.nix b/pkgs/applications/science/electronics/kicad/base.nix
index 1a5c0de5fb7..9848eb58399 100644
--- a/pkgs/applications/science/electronics/kicad/base.nix
+++ b/pkgs/applications/science/electronics/kicad/base.nix
@@ -15,84 +15,124 @@
, boost
, pkg-config
, doxygen
+, graphviz
, pcre
, libpthreadstubs
, libXdmcp
, lndir
+, util-linux
+, libselinux
+, libsepol
+, libthai
+, libdatrie
+, libxkbcommon
+, epoxy
+, dbus
+, at-spi2-core
+, libXtst
+
+, swig
+, python
+, wxPython
+, opencascade
+, opencascade-occt
+, libngspice
+, valgrind
+
, stable
, baseName
, kicadSrc
, kicadVersion
, i18n
, withOCE
-, opencascade
, withOCC
-, opencascade-occt
, withNgspice
-, libngspice
, withScripting
-, swig
-, python
-, wxPython
, debug
-, valgrind
+, sanitizeAddress
+, sanitizeThreads
, withI18n
-, gtk3
}:
assert lib.asserts.assertMsg (!(withOCE && stdenv.isAarch64)) "OCE fails a test on Aarch64";
assert lib.asserts.assertMsg (!(withOCC && withOCE))
"Only one of OCC and OCE may be enabled";
+assert lib.assertMsg (!(stable && (sanitizeAddress || sanitizeThreads)))
+ "Only kicad-unstable(-small) supports address/thread sanitation";
+assert lib.assertMsg (!(sanitizeAddress && sanitizeThreads))
+ "'sanitizeAddress' and 'sanitizeThreads' are mutually exclusive, use one.";
let
inherit (lib) optional optionals;
in
stdenv.mkDerivation rec {
pname = "kicad-base";
- version = kicadVersion;
+ version = if (stable) then kicadVersion else builtins.substring 0 10 src.rev;
src = kicadSrc;
# tagged releases don't have "unknown"
# kicad nightlies use git describe --dirty
# nix removes .git, so its approximated here
- # "-1" appended to indicate we're adding a patch
postPatch = ''
substituteInPlace CMakeModules/KiCadVersion.cmake \
- --replace "unknown" "${builtins.substring 0 10 src.rev}-1" \
- --replace "${version}" "${version}-1"
+ --replace "unknown" "${builtins.substring 0 10 src.rev}" \
'';
- makeFlags = optional (debug) [ "CFLAGS+=-Og" "CFLAGS+=-ggdb" ];
+ makeFlags = optionals (debug) [ "CFLAGS+=-Og" "CFLAGS+=-ggdb" ];
- cmakeFlags =
- optionals (withScripting) [
- "-DKICAD_SCRIPTING=ON"
- "-DKICAD_SCRIPTING_MODULES=ON"
- "-DKICAD_SCRIPTING_PYTHON3=ON"
- "-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
- ]
- ++ optional (!withScripting)
- "-DKICAD_SCRIPTING=OFF"
- ++ optional (withNgspice) "-DKICAD_SPICE=ON"
- ++ optional (!withOCE) "-DKICAD_USE_OCE=OFF"
- ++ optional (!withOCC) "-DKICAD_USE_OCC=OFF"
- ++ optionals (withOCE) [
- "-DKICAD_USE_OCE=ON"
- "-DOCE_DIR=${opencascade}"
- ]
- ++ optionals (withOCC) [
- "-DKICAD_USE_OCC=ON"
- "-DOCC_INCLUDE_DIR=${opencascade-occt}/include/opencascade"
- ]
- ++ optionals (debug) [
- "-DCMAKE_BUILD_TYPE=Debug"
- "-DKICAD_STDLIB_DEBUG=ON"
- "-DKICAD_USE_VALGRIND=ON"
- ]
- ;
+ cmakeFlags = optionals (withScripting) [
+ "-DKICAD_SCRIPTING=ON"
+ "-DKICAD_SCRIPTING_MODULES=ON"
+ "-DKICAD_SCRIPTING_PYTHON3=ON"
+ "-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
+ ]
+ ++ optional (!withScripting)
+ "-DKICAD_SCRIPTING=OFF"
+ ++ optional (withNgspice) "-DKICAD_SPICE=ON"
+ ++ optional (!withOCE) "-DKICAD_USE_OCE=OFF"
+ ++ optional (!withOCC) "-DKICAD_USE_OCC=OFF"
+ ++ optionals (withOCE) [
+ "-DKICAD_USE_OCE=ON"
+ "-DOCE_DIR=${opencascade}"
+ ]
+ ++ optionals (withOCC) [
+ "-DKICAD_USE_OCC=ON"
+ "-DOCC_INCLUDE_DIR=${opencascade-occt}/include/opencascade"
+ ]
+ ++ optionals (debug) [
+ "-DCMAKE_BUILD_TYPE=Debug"
+ "-DKICAD_STDLIB_DEBUG=ON"
+ "-DKICAD_USE_VALGRIND=ON"
+ ]
+ ++ optionals (sanitizeAddress) [
+ "-DKICAD_SANITIZE_ADDRESS=ON"
+ ]
+ ++ optionals (sanitizeThreads) [
+ "-DKICAD_SANITIZE_THREADS=ON"
+ ];
- nativeBuildInputs = [ cmake doxygen pkg-config lndir ];
+ nativeBuildInputs = [
+ cmake
+ doxygen
+ graphviz
+ pkg-config
+ lndir
+ ]
+ # wanted by configuration on linux, doesn't seem to affect performance
+ # no effect on closure size
+ ++ optionals (stdenv.isLinux) [
+ util-linux
+ libselinux
+ libsepol
+ libthai
+ libdatrie
+ libxkbcommon
+ epoxy
+ dbus.daemon
+ at-spi2-core
+ libXtst
+ ];
buildInputs = [
libGLU
@@ -100,6 +140,7 @@ stdenv.mkDerivation rec {
zlib
libX11
wxGTK
+ wxGTK.gtk
pcre
libXdmcp
gettext
@@ -110,7 +151,6 @@ stdenv.mkDerivation rec {
curl
openssl
boost
- gtk3
]
++ optionals (withScripting) [ swig python wxPython ]
++ optional (withNgspice) libngspice
diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix
index 86bda3092bc..79a044a800c 100644
--- a/pkgs/applications/science/electronics/kicad/default.nix
+++ b/pkgs/applications/science/electronics/kicad/default.nix
@@ -25,6 +25,8 @@
, withScripting ? true
, python3
, debug ? false
+, sanitizeAddress ? false
+, sanitizeThreads ? false
, with3d ? true
, withI18n ? true
, srcs ? { }
@@ -146,28 +148,28 @@ let
};
python = python3;
- wxPython = python.pkgs.wxPython_4_0;
+ wxPython = if (stable)
+ then python.pkgs.wxPython_4_0
+ else python.pkgs.wxPython_4_1;
inherit (lib) concatStringsSep flatten optionalString optionals;
in
stdenv.mkDerivation rec {
# Common libraries, referenced during runtime, via the wrapper.
- passthru.libraries = callPackages ./libraries.nix { inherit libSrc libVersion; };
- passthru.i18n = callPackage ./i18n.nix {
- src = i18nSrc;
- version = i18nVersion;
- };
+ passthru.libraries = callPackages ./libraries.nix { inherit libSrc; };
+ passthru.i18n = callPackage ./i18n.nix { src = i18nSrc; };
base = callPackage ./base.nix {
inherit stable baseName;
inherit kicadSrc kicadVersion;
inherit (passthru) i18n;
inherit wxGTK python wxPython;
- inherit debug withI18n withOCC withOCE withNgspice withScripting;
+ inherit withI18n withOCC withOCE withNgspice withScripting;
+ inherit debug sanitizeAddress sanitizeThreads;
};
inherit pname;
- version = kicadVersion;
+ version = if (stable) then kicadVersion else builtins.substring 0 10 src.src.rev;
src = base;
dontUnpack = true;
@@ -193,14 +195,31 @@ stdenv.mkDerivation rec {
# wrapGAppsHook did these two as well, no idea if it matters...
"--prefix XDG_DATA_DIRS : ${cups}/share"
"--prefix GIO_EXTRA_MODULES : ${dconf}/lib/gio/modules"
-
+ # required to open a bug report link in firefox-wayland
+ "--set-default MOZ_DBUS_REMOTE 1"
+ ]
+ ++ optionals (stable)
+ [
"--set-default KISYSMOD ${footprints}/share/kicad/modules"
"--set-default KICAD_SYMBOL_DIR ${symbols}/share/kicad/library"
"--set-default KICAD_TEMPLATE_DIR ${templates}/share/kicad/template"
"--prefix KICAD_TEMPLATE_DIR : ${symbols}/share/kicad/template"
"--prefix KICAD_TEMPLATE_DIR : ${footprints}/share/kicad/template"
]
- ++ optionals (with3d) [ "--set-default KISYS3DMOD ${packages3d}/share/kicad/modules/packages3d" ]
+ ++ optionals (stable && with3d) [ "--set-default KISYS3DMOD ${packages3d}/share/kicad/modules/packages3d" ]
+ ++ optionals (!stable)
+ [
+ "--set-default KICAD6_FOOTPRINT_DIR ${footprints}/share/kicad/modules"
+ "--set-default KICAD6_SYMBOL_DIR ${symbols}/share/kicad/library"
+ "--set-default KICAD6_TEMPLATE_DIR ${templates}/share/kicad/template"
+ "--prefix KICAD6_TEMPLATE_DIR : ${symbols}/share/kicad/template"
+ "--prefix KICAD6_TEMPLATE_DIR : ${footprints}/share/kicad/template"
+ ]
+ ++ optionals (!stable && with3d)
+ [
+ "--set-default KISYS3DMOD ${packages3d}/share/kicad/3dmodels"
+ "--set-default KICAD6_3DMODEL_DIR ${packages3d}/share/kicad/3dmodels"
+ ]
++ optionals (withNgspice) [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ]
# infinisil's workaround for #39493
@@ -238,6 +257,7 @@ stdenv.mkDerivation rec {
postInstall = ''
mkdir -p $out/share
ln -s ${base}/share/applications $out/share/applications
+ ln -s ${base}/share/metainfo $out/share/metainfo
ln -s ${base}/share/icons $out/share/icons
ln -s ${base}/share/mime $out/share/mime
'';
@@ -260,8 +280,7 @@ stdenv.mkDerivation rec {
The Programs handle Schematic Capture, and PCB Layout with Gerber output.
'';
license = lib.licenses.gpl3Plus;
- # berce seems inactive...
- maintainers = with lib.maintainers; [ evils kiwi berce ];
+ maintainers = with lib.maintainers; [ evils kiwi ];
# kicad is cross platform
platforms = lib.platforms.all;
# despite that, nipkgs' wxGTK for darwin is "wxmac"
diff --git a/pkgs/applications/science/electronics/kicad/i18n.nix b/pkgs/applications/science/electronics/kicad/i18n.nix
index 9a93e4ca7ce..c9a70a0060d 100644
--- a/pkgs/applications/science/electronics/kicad/i18n.nix
+++ b/pkgs/applications/science/electronics/kicad/i18n.nix
@@ -2,13 +2,13 @@
, cmake
, gettext
, src
-, version
}:
stdenv.mkDerivation {
- inherit src version;
+ inherit src;
pname = "kicad-i18n";
+ version = builtins.substring 0 10 src.rev;
nativeBuildInputs = [ cmake gettext ];
meta = with lib; {
diff --git a/pkgs/applications/science/electronics/kicad/libraries.nix b/pkgs/applications/science/electronics/kicad/libraries.nix
index e98f2e49576..9591cbc31c3 100644
--- a/pkgs/applications/science/electronics/kicad/libraries.nix
+++ b/pkgs/applications/science/electronics/kicad/libraries.nix
@@ -2,13 +2,12 @@
, cmake
, gettext
, libSrc
-, libVersion
}:
let
mkLib = name:
stdenv.mkDerivation {
pname = "kicad-${name}";
- version = libVersion;
+ version = builtins.substring 0 10 (libSrc name).rev;
src = libSrc name;
diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix
index 8a5e5d8f5f5..5fa9aba64b0 100644
--- a/pkgs/applications/science/electronics/kicad/versions.nix
+++ b/pkgs/applications/science/electronics/kicad/versions.nix
@@ -3,17 +3,17 @@
{
"kicad" = {
kicadVersion = {
- version = "5.1.9";
+ version = "5.1.10";
src = {
- rev = "73d0e3b20dec05c4350efa5b69916eb29a7bfcb5";
- sha256 = "1cqh3bc9y140hbryfk9qavs2y3lj5sm9q0qjxcf4mm472afzckky";
+ rev = "88a1d61d58fdd62149bd1e00984e01540148ca1b";
+ sha256 = "10ix560bqy0lprnik1bprxw9ix4g8w2ipvyikx551ak9ryvgwjcc";
};
};
libVersion = {
- version = "5.1.9";
+ version = "5.1.10";
libSources = {
- i18n.rev = "04f3231f60d55400cb81564b2cd465a57d5192d5";
- i18n.sha256 = "04jq1dcag6i2ljjfqrib65mn4wg4c4nmi7i946l3bywc0rkqsx1f";
+ i18n.rev = "f081afe79be4660d5c49a9d674e3cb666d76d4d0";
+ i18n.sha256 = "0y51l0r62cnxkvpc21732p3cx7pjvaqjih8193502hlv9kv1j9p6";
symbols.rev = "6dec5004b6a2679c19d4857bda2f90c5ab3a5726";
symbols.sha256 = "0n25rq32jwyigfw26faqraillwv6zbi2ywy26dkz5zqlf5xp56ad";
templates.rev = "1ccbaf3704e8ff4030d0915f71e051af621ef7d7";
@@ -27,23 +27,23 @@
};
"kicad-unstable" = {
kicadVersion = {
- version = "2020-12-23";
+ version = "2021-05-13";
src = {
- rev = "912657dd238ad78cfc5d9d5e426ea850d5554fb3";
- sha256 = "1p5kr4d4zpajwdmya1f351y1ix8qmvsx1hrnvhzh7yc3g72kgxah";
+ rev = "8513ca974c28d76d9f74a7dc96601d98e66e87fd";
+ sha256 = "1xlj6jwzwxsa14djqhj0csziii21mr9czvdj6fxqp6px84cifjsh";
};
};
libVersion = {
- version = "2020-12-23";
+ version = "2021-05-13";
libSources = {
i18n.rev = "e89d9a89bec59199c1ade56ee2556591412ab7b0";
i18n.sha256 = "04zaqyhj3qr4ymyd3k5vjpcna64j8klpsygcgjcv29s3rdi8glfl";
- symbols.rev = "e538abb015b4f289910a6f26b2f1b9cb8bf2efdb";
- symbols.sha256 = "117y4cm46anlrnw6y6mdjgl1a5gab6h6m7cwx3q7qb284m9bs5gi";
- templates.rev = "32a4f6fab863976fdcfa232e3e08fdcf3323a954";
- templates.sha256 = "13r94dghrh9slpj7nkzv0zqv5hk49s6pxm4q5ndqx0y8037ivmhk";
- footprints.rev = "15ffd67e01257d4d8134dbd6708cb58977eeccbe";
- footprints.sha256 = "1ad5k3wh2zqfibrar7pd3g363jk2q51dvraxnq3zlxa2x4znh7mw";
+ symbols.rev = "32de73ea01347a005790119eb4102c550815685c";
+ symbols.sha256 = "0gj10v06rkxlxngc40d1sfmlcagy5p7jfxid0lch4w0wxfjmks7z";
+ templates.rev = "073d1941c428242a563dcb5301ff5c7479fe9c71";
+ templates.sha256 = "14p06m2zvlzzz2w74y83f2zml7mgv5dhy2nyfkpblanxawrzxv1x";
+ footprints.rev = "8fa36dfa3423d8777472e3475c1c2b0b2069624f";
+ footprints.sha256 = "138xfkr0prxw2djkwc1m4mlp9km99v12sivbqhm1jkq5yxngdbin";
packages3d.rev = "d8b7e8c56d535f4d7e46373bf24c754a8403da1f";
packages3d.sha256 = "0dh8ixg0w43wzj5h3164dz6l1vl4llwxhi3qcdgj1lgvrs28aywd";
};
diff --git a/pkgs/applications/window-managers/herbstluftwm/default.nix b/pkgs/applications/window-managers/herbstluftwm/default.nix
index ce0b40c0bb7..2ed6bc30366 100644
--- a/pkgs/applications/window-managers/herbstluftwm/default.nix
+++ b/pkgs/applications/window-managers/herbstluftwm/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchurl, cmake, pkg-config, python3, libX11, libXext, libXinerama, libXrandr, libXft, freetype, asciidoc
+{ lib, stdenv, fetchurl, cmake, pkg-config, python3, libX11, libXext, libXinerama, libXrandr, libXft, libXrender, freetype, asciidoc
, xdotool, xorgserver, xsetroot, xterm, runtimeShell
, nixosTests }:
stdenv.mkDerivation rec {
pname = "herbstluftwm";
- version = "0.9.2";
+ version = "0.9.3";
src = fetchurl {
url = "https://herbstluftwm.org/tarballs/herbstluftwm-${version}.tar.gz";
- sha256 = "0avfhr68f6fjnafjdcyxcx7dkg38f2nadmhpj971qyqzfq2f6i38";
+ sha256 = "01f1bv9axjhw1l2gwhdwahljssj0h8q7a1bqwbpnwvln0ayv39qb";
};
outputs = [
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
libXinerama
libXrandr
libXft
+ libXrender
freetype
];
diff --git a/pkgs/desktops/gnome/apps/gnome-calendar/default.nix b/pkgs/desktops/gnome/apps/gnome-calendar/default.nix
index 3e80575a33d..9c0b1f65976 100644
--- a/pkgs/desktops/gnome/apps/gnome-calendar/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-calendar/default.nix
@@ -24,11 +24,11 @@
stdenv.mkDerivation rec {
pname = "gnome-calendar";
- version = "40.0";
+ version = "40.1";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
- sha256 = "0d74hng9jdmwdcjgj4xfrcink2gwkbp1k1mad4wanaf7q31c6f38";
+ sha256 = "2M30n57uHDo8aZHDL4VjxKfE2w23ymPOUcyRjkM7M6U=";
};
patches = [
diff --git a/pkgs/desktops/gnome/apps/gnome-connections/default.nix b/pkgs/desktops/gnome/apps/gnome-connections/default.nix
index abdf751baeb..a00b239641f 100644
--- a/pkgs/desktops/gnome/apps/gnome-connections/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-connections/default.nix
@@ -1,46 +1,45 @@
-{ lib, stdenv
+{ lib
+, stdenv
, fetchurl
-, gnome
, meson
, ninja
-, vala
, pkg-config
+, vala
+, gettext
+, itstool
+, python3
+, appstream-glib
+, desktop-file-utils
+, wrapGAppsHook
, glib
, gtk3
-, python3
, libxml2
, gtk-vnc
-, gettext
-, desktop-file-utils
-, appstream-glib
-, gobject-introspection
-, freerdp
-, wrapGAppsHook
+, gtk-frdp
+, gnome
}:
stdenv.mkDerivation rec {
pname = "gnome-connections";
- version = "3.38.1";
+ version = "40.0.1";
src = fetchurl {
- url = "mirror://gnome/sources/connections/${lib.versions.majorMinor version}/connections-${version}.tar.xz";
- hash = "sha256-5c7uBFkh9Vsw6bWWUDjNTMDrrFqI5JEgYlsWpfyuTpA=";
+ url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
+ hash = "sha256-vpvLoHzz+vWs4M5UzSL4YJtNx3ZuJe5f2cGAw5WbTRE=";
};
nativeBuildInputs = [
- desktop-file-utils
- gettext
- glib # glib-compile-resources
meson
- appstream-glib
ninja
pkg-config
- python3
vala
+ gettext
+ itstool
+ python3
+ appstream-glib
+ desktop-file-utils
+ glib # glib-compile-resources
wrapGAppsHook
-
- # for gtk-frdp subproject
- gobject-introspection
];
buildInputs = [
@@ -48,9 +47,7 @@ stdenv.mkDerivation rec {
gtk-vnc
gtk3
libxml2
-
- # for gtk-frdp subproject
- freerdp
+ gtk-frdp
];
postPatch = ''
@@ -60,8 +57,7 @@ stdenv.mkDerivation rec {
passthru = {
updateScript = gnome.updateScript {
- packageName = "connections";
- attrPath = "gnome-connections";
+ packageName = pname;
};
};
diff --git a/pkgs/desktops/gnome/apps/gnome-todo/default.nix b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
index 885f21cf3ec..ae1334cd562 100644
--- a/pkgs/desktops/gnome/apps/gnome-todo/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
, fetchurl
, fetchpatch
, meson
@@ -9,13 +10,14 @@
, gettext
, gnome
, glib
-, gtk3
+, gtk4
+, wayland
+, libadwaita
, libpeas
, gnome-online-accounts
, gsettings-desktop-schemas
+, libportal
, evolution-data-server
-, libxml2
-, libsoup
, libical
, librest
, json-glib
@@ -23,26 +25,13 @@
stdenv.mkDerivation rec {
pname = "gnome-todo";
- version = "3.28.1";
+ version = "40.0";
src = fetchurl {
- url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7";
+ url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
+ sha256 = "aAl8lvBnXHFCZn0QQ0ToNHLdf8xTj+wKzb9gJrucobE=";
};
- patches = [
- # fix build with libecal 2.0
- (fetchpatch {
- name = "gnome-todo-eds-libecal-2.0.patch";
- url = "https://src.fedoraproject.org/rpms/gnome-todo/raw/bed44b8530f3c79589982e03b430b3a125e9bceb/f/gnome-todo-eds-libecal-2.0.patch";
- sha256 = "1ghrz973skal36j90wm2z13m3panw983r6y0k7z9gpj5lxgz92mq";
- })
- ];
- postPatch = ''
- chmod +x meson_post_install.py
- patchShebangs meson_post_install.py
- '';
-
nativeBuildInputs = [
meson
ninja
@@ -54,23 +43,30 @@ stdenv.mkDerivation rec {
buildInputs = [
glib
- gtk3
+ gtk4
+ wayland # required by gtk header
+ libadwaita
libpeas
gnome-online-accounts
gsettings-desktop-schemas
gnome.adwaita-icon-theme
+
# Plug-ins
- evolution-data-server
- libxml2
- libsoup
+ libportal # background
+ evolution-data-server # eds
libical
- librest
- json-glib
+ librest # todoist
+ json-glib # todoist
];
- # Fix parallel building: missing dependency from src/gtd-application.c
- # Probably remove for 3.30+ https://gitlab.gnome.org/GNOME/gnome-todo/issues/170
- preBuild = "ninja src/gtd-vcs-identifier.h";
+ postPatch = ''
+ chmod +x build-aux/meson/meson_post_install.py
+ patchShebangs build-aux/meson/meson_post_install.py
+
+ # https://gitlab.gnome.org/GNOME/gnome-todo/merge_requests/103
+ substituteInPlace src/meson.build \
+ --replace 'Gtk-3.0' 'Gtk-4.0'
+ '';
passthru = {
updateScript = gnome.updateScript {
diff --git a/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix b/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix
index 8411b2edecb..fda0f6e2ffd 100644
--- a/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix
@@ -12,17 +12,20 @@
, libvncserver
, libsecret
, libnotify
+, libxkbcommon
, gdk-pixbuf
, freerdp
+, fuse3
+, gnome
}:
stdenv.mkDerivation rec {
pname = "gnome-remote-desktop";
- version = "0.1.9";
+ version = "40.1";
src = fetchurl {
- url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- hash = "sha256-8iZtp4tBRT7NNRKuzwop3rcMvq16RG/I2sAlEIsJ0M8=";
+ url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
+ hash = "sha256-mvpuUlVwo3IJP5cwM4JwkDiU87H5+KnfX1eDbqHSnek=";
};
nativeBuildInputs = [
@@ -36,11 +39,13 @@ stdenv.mkDerivation rec {
buildInputs = [
cairo
freerdp
+ fuse3
gdk-pixbuf # For libnotify
glib
libnotify
libsecret
libvncserver
+ libxkbcommon
pipewire
systemd
];
@@ -54,6 +59,13 @@ stdenv.mkDerivation rec {
"-Dsystemd_user_unit_dir=${placeholder "out"}/lib/systemd/user"
];
+ passthru = {
+ updateScript = gnome.updateScript {
+ packageName = pname;
+ attrPath = "gnome.${pname}";
+ };
+ };
+
meta = with lib; {
homepage = "https://wiki.gnome.org/Projects/Mutter/RemoteDesktop";
description = "GNOME Remote Desktop server";
diff --git a/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
index 6c38b790959..6e8168a306a 100644
--- a/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
@@ -1,20 +1,23 @@
-{ lib, stdenv, fetchurl, fetchpatch, meson, ninja, gettext, pkg-config, spidermonkey_68, glib
-, gnome, gnome-menus, substituteAll }:
+{ lib
+, stdenv
+, fetchurl
+, meson
+, ninja
+, gettext
+, pkg-config
+, glib
+, gnome
+, gnome-menus
+, substituteAll
+}:
stdenv.mkDerivation rec {
pname = "gnome-shell-extensions";
- version = "40.0";
+ version = "40.1";
src = fetchurl {
url = "mirror://gnome/sources/gnome-shell-extensions/${lib.versions.major version}/${pname}-${version}.tar.xz";
- sha256 = "15hak4prx2nx1svfii39clxy1lll8crdf7p91if85jcsh6r8ab8p";
- };
-
- passthru = {
- updateScript = gnome.updateScript {
- packageName = pname;
- attrPath = "gnome.${pname}";
- };
+ sha256 = "T7/OCtQ1e+5zrn3Bjqoe9MqnOF5PlPavuN/HJR/RqL8=";
};
patches = [
@@ -22,24 +25,19 @@ stdenv.mkDerivation rec {
src = ./fix_gmenu.patch;
gmenu_path = "${gnome-menus}/lib/girepository-1.0";
})
-
- # Do not show welcome dialog in gnome-classic.
- # Needed for gnome-shell 40.1.
- # https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/169
- (fetchpatch {
- url = "https://gitlab.gnome.org/GNOME/gnome-shell-extensions/commit/3e8bbb07ea7109c44d5ac7998f473779e742d041.patch";
- sha256 = "jSmPwSBgRBfPPP9mGVjw1mSWumIXQqtA6tSqHr3U+3w=";
- })
];
- doCheck = true;
- # 60 is required for tests
- # https://gitlab.gnome.org/GNOME/gnome-shell-extensions/blob/3.34.0/meson.build#L23
- checkInputs = [ spidermonkey_68 ];
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkg-config
+ gettext
+ glib
+ ];
- nativeBuildInputs = [ meson ninja pkg-config gettext glib ];
-
- mesonFlags = [ "-Dextension_set=all" ];
+ mesonFlags = [
+ "-Dextension_set=all"
+ ];
preFixup = ''
# The meson build doesn't compile the schemas.
@@ -63,11 +61,18 @@ stdenv.mkDerivation rec {
done
'';
+ passthru = {
+ updateScript = gnome.updateScript {
+ packageName = pname;
+ attrPath = "gnome.${pname}";
+ };
+ };
+
meta = with lib; {
homepage = "https://wiki.gnome.org/Projects/GnomeShell/Extensions";
description = "Modify and extend GNOME Shell functionality and behavior";
maintainers = teams.gnome.members;
- license = licenses.gpl2;
+ license = licenses.gpl2Plus;
platforms = platforms.linux;
};
}
diff --git a/pkgs/desktops/gnome/core/gnome-shell/default.nix b/pkgs/desktops/gnome/core/gnome-shell/default.nix
index 66eaafb2cc7..41d2fac5e61 100644
--- a/pkgs/desktops/gnome/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-shell/default.nix
@@ -1,6 +1,5 @@
{ fetchurl
, fetchpatch
-, fetchgit
, substituteAll
, lib, stdenv
, meson
@@ -67,20 +66,14 @@ let
in
stdenv.mkDerivation rec {
pname = "gnome-shell";
- version = "40.0-unstable-2021-05-01";
+ version = "40.1";
outputs = [ "out" "devdoc" ];
- src = fetchgit {
- url = "https://gitlab.gnome.org/GNOME/gnome-shell.git";
- rev = "a8a79c03330427808e776c344f7ebc42782a1b5a";
- sha256 = "ivHV0SRpnBqsdC7fu1Xhtd/BA55O0UdbUyDLy5KHNYs=";
- fetchSubmodules = true;
+ src = fetchurl {
+ url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
+ sha256 = "sha256-9j4r7Zm9iVjPMT2F9EoBjVn4UqBbqfKap8t0S+xvprc=";
};
- # src = fetchurl {
- # url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
- # sha256 = "sha256-vOcfQC36qcXiab9lv0iiI0PYlubPmiw0ZpOS1/v2hHg=";
- # };
patches = [
# Hardcode paths to various dependencies so that they can be found at runtime.
diff --git a/pkgs/desktops/gnome/core/mutter/default.nix b/pkgs/desktops/gnome/core/mutter/default.nix
index 9f6a64ef182..4ad082dabfc 100644
--- a/pkgs/desktops/gnome/core/mutter/default.nix
+++ b/pkgs/desktops/gnome/core/mutter/default.nix
@@ -1,8 +1,8 @@
{ fetchurl
-, fetchpatch
, substituteAll
, runCommand
-, lib, stdenv
+, lib
+, stdenv
, pkg-config
, gnome
, gettext
@@ -45,13 +45,13 @@
let self = stdenv.mkDerivation rec {
pname = "mutter";
- version = "40.0";
+ version = "40.1";
outputs = [ "out" "dev" "man" ];
src = fetchurl {
url = "mirror://gnome/sources/mutter/${lib.versions.major version}/${pname}-${version}.tar.xz";
- sha256 = "sha256-enGzEuWmZ8U3SJUYilBqP2tnF2i8s2K2jv3FYnc9GY4=";
+ sha256 = "sha256-pl8ycpYRM4KWh9QQcmfk4ZKQ5thueAf62H6rCDHB4MA=";
};
patches = [
@@ -63,13 +63,6 @@ let self = stdenv.mkDerivation rec {
src = ./fix-paths.patch;
inherit zenity;
})
-
- # Fix non-deterministic build failure:
- # https://gitlab.gnome.org/GNOME/mutter/-/issues/1682
- (fetchpatch {
- url = "https://gitlab.gnome.org/GNOME/mutter/commit/91117bb052ed0d69c8ea4159c1df15c814d90627.patch";
- sha256 = "ek8hEoPP4S2TGOm6SGGOhUVIp4OT68nz0SQzZrceFUU=";
- })
];
mesonFlags = [
diff --git a/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix b/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix
index e58d8ce6e42..f01a2cd545e 100644
--- a/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix
+++ b/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix
@@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-sound-output-device-chooser";
- version = "35";
+ version = "38";
src = fetchFromGitHub {
owner = "kgshank";
repo = "gse-sound-output-device-chooser";
rev = version;
- sha256 = "sha256-Yl5ut6kJAkAAdCBiNFpwDgshXCLMmFH3/zhnFGpyKqs=";
+ sha256 = "sha256-LZ+C9iK+j7+DEscYCIObxXc0Bn0Z0xSsEFMZxc8REWA=";
};
patches = [
@@ -28,11 +28,13 @@ stdenv.mkDerivation rec {
dontBuild = true;
uuid = "sound-output-device-chooser@kgshank.net";
- installPhase = ''
- runHook preInstall
- mkdir -p $out/share/gnome-shell/extensions
- cp -r ${uuid} $out/share/gnome-shell/extensions
- runHook postInstall
+
+ makeFlags = [
+ "INSTALL_DIR=${placeholder "out"}/share/gnome-shell/extensions"
+ ];
+
+ preInstall = ''
+ mkdir -p ${placeholder "out"}/share/gnome-shell/extensions
'';
meta = with lib; {
diff --git a/pkgs/desktops/gnome/extensions/system-monitor/default.nix b/pkgs/desktops/gnome/extensions/system-monitor/default.nix
index e7b5e8a1a9c..a6cfad43b66 100644
--- a/pkgs/desktops/gnome/extensions/system-monitor/default.nix
+++ b/pkgs/desktops/gnome/extensions/system-monitor/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "gnome-shell-system-monitor";
- version = "unstable-2021-04-08";
+ version = "unstable-2021-05-04";
src = fetchFromGitHub {
owner = "paradoxxxzero";
repo = "gnome-shell-system-monitor-applet";
- rev = "942603da39de12f50b1f86efbde92d7526d1290e";
- sha256 = "0lzb7064bigw2xsqkzr8qfhp9wfmxyi3823j2782v99jpcz423aw";
+ rev = "bc38ccf49ac0ffae0fc0436f3c2579fc86949f10";
+ sha256 = "0yb5sb2xv4m18a24h4daahnxgnlmbfa0rfzic0zs082qv1kfi5h8";
};
buildInputs = [
diff --git a/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch b/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch
index 51bc206659d..a82a06d427b 100644
--- a/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch
+++ b/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch
@@ -1,18 +1,18 @@
-From 2bf6614a6d7516e194e39eb691c05b486860153c Mon Sep 17 00:00:00 2001
+From 57bed86429db9d871f1442c94f14e94e38972ca3 Mon Sep 17 00:00:00 2001
From: worldofpeace
Date: Thu, 16 May 2019 21:15:15 -0400
Subject: [PATCH] meson: add options for tests installation dirs
---
meson_options.txt | 6 ++++++
- tests/meson.build | 19 ++++++++++++++-----
- 2 files changed, 20 insertions(+), 5 deletions(-)
+ tests/meson.build | 23 ++++++++++++++++-------
+ 2 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/meson_options.txt b/meson_options.txt
-index 578bdae..6f5fa23 100644
+index b9a2fb5..4b8629f 100644
--- a/meson_options.txt
+++ b/meson_options.txt
-@@ -22,3 +22,9 @@ option('tests', type: 'boolean',
+@@ -23,3 +23,9 @@ option('tests', type: 'boolean',
option('installed_tests', type: 'boolean',
value: true,
description: 'Install tests')
@@ -23,12 +23,12 @@ index 578bdae..6f5fa23 100644
+ value: '',
+ description: 'Installation directory for binary files in tests')
diff --git a/tests/meson.build b/tests/meson.build
-index 1f9bd0e..0253ac3 100644
+index 77281f5..c4c7fac 100644
--- a/tests/meson.build
+++ b/tests/meson.build
-@@ -22,8 +22,17 @@ unit_tests = [
- python = python3.find_python()
- gen_installed_test = join_paths(meson.current_source_dir(), 'gen-installed-test.py')
+@@ -21,8 +21,17 @@ unit_tests = [
+
+ gen_installed_test = find_program('gen-installed-test.py')
-installed_test_datadir = join_paths(get_option('prefix'), get_option('datadir'), 'installed-tests', graphene_api_path)
-installed_test_bindir = join_paths(get_option('prefix'), get_option('libexecdir'), 'installed-tests', graphene_api_path)
@@ -46,9 +46,9 @@ index 1f9bd0e..0253ac3 100644
# Make tests conditional on having mutest-1 installed system-wide, or
# available as a subproject
-@@ -42,13 +51,13 @@ if mutest_dep.found()
+@@ -40,13 +49,13 @@ if mutest_dep.found()
+ output: wrapper,
command: [
- python,
gen_installed_test,
- '--testdir=@0@'.format(installed_test_bindir),
+ '--testdir=@0@'.format(test_bindir),
@@ -62,7 +62,7 @@ index 1f9bd0e..0253ac3 100644
)
test(unit,
-@@ -57,7 +66,7 @@ if mutest_dep.found()
+@@ -55,7 +64,7 @@ if mutest_dep.found()
include_directories: graphene_inc,
c_args: common_cflags,
install: get_option('installed_tests'),
@@ -71,6 +71,22 @@ index 1f9bd0e..0253ac3 100644
),
env: ['MUTEST_OUTPUT=tap'],
protocol: 'tap',
+@@ -70,13 +79,13 @@ if build_gir and host_system == 'linux' and not meson.is_cross_build()
+ output: wrapper,
+ command: [
+ gen_installed_test,
+- '--testdir=@0@'.format(installed_test_bindir),
++ '--testdir=@0@'.format(test_bindir),
+ '--testname=@0@'.format(unit),
+ '--outdir=@OUTDIR@',
+ '--outfile=@0@'.format(wrapper),
+ ],
+ install: get_option('installed_tests'),
+- install_dir: installed_test_datadir,
++ install_dir: test_datadir,
+ )
+
+ test(unit,
--
-2.22.0
+2.31.1
diff --git a/pkgs/development/libraries/graphene/default.nix b/pkgs/development/libraries/graphene/default.nix
index b1b27a3d298..a9c647268ac 100644
--- a/pkgs/development/libraries/graphene/default.nix
+++ b/pkgs/development/libraries/graphene/default.nix
@@ -16,7 +16,7 @@
stdenv.mkDerivation rec {
pname = "graphene";
- version = "1.10.2";
+ version = "1.10.6";
outputs = [ "out" "devdoc" "installedTests" ];
@@ -24,19 +24,14 @@ stdenv.mkDerivation rec {
owner = "ebassi";
repo = pname;
rev = version;
- sha256 = "1ljhhjafi1nlndjswx7mg0d01zci90wz77yvz5w8bd9mm8ssw38s";
+ sha256 = "v6YH3fRMTzhp7wmU8in9ukcavzHmOAW54EK9ZwQyFxc=";
};
patches = [
+ # Add option for changing installation path of installed tests.
./0001-meson-add-options-for-tests-installation-dirs.patch
];
- mesonFlags = [
- "-Dgtk_doc=true"
- "-Dinstalled_test_datadir=${placeholder "installedTests"}/share"
- "-Dinstalled_test_bindir=${placeholder "installedTests"}/libexec"
- ];
-
nativeBuildInputs = [
docbook_xml_dtd_43
docbook_xsl
@@ -57,8 +52,18 @@ stdenv.mkDerivation rec {
mutest
];
+ mesonFlags = [
+ "-Dgtk_doc=true"
+ "-Dinstalled_test_datadir=${placeholder "installedTests"}/share"
+ "-Dinstalled_test_bindir=${placeholder "installedTests"}/libexec"
+ ];
+
doCheck = true;
+ postPatch = ''
+ patchShebangs tests/gen-installed-test.py
+ '';
+
passthru = {
tests = {
installedTests = nixosTests.installed-tests.graphene;
diff --git a/pkgs/development/libraries/gtk-frdp/default.nix b/pkgs/development/libraries/gtk-frdp/default.nix
new file mode 100644
index 00000000000..e6c6d939193
--- /dev/null
+++ b/pkgs/development/libraries/gtk-frdp/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, meson
+, ninja
+, pkg-config
+, vala
+, gobject-introspection
+, glib
+, gtk3
+, freerdp
+, nix-update-script
+}:
+
+stdenv.mkDerivation rec {
+ pname = "gtk-frdp";
+ version = "3.37.1-unstable-2020-10-26";
+
+ src = fetchFromGitLab {
+ domain = "gitlab.gnome.org";
+ owner = "GNOME";
+ repo = pname;
+ rev = "805721e82ca1df6a50da3b5bd3b75d6747016482";
+ sha256 = "q/UFKYj3LUkAzll3KeKd6oec0GJnDtTuFMTTatKFlcs=";
+ };
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ pkg-config
+ vala
+ gobject-introspection
+ ];
+
+ buildInputs = [
+ glib
+ gtk3
+ freerdp
+ ];
+
+ passthru = {
+ updateScript = nix-update-script {
+ attrPath = pname;
+ };
+ };
+
+ meta = with lib; {
+ homepage = "https://gitlab.gnome.org/GNOME/gtk-frdp";
+ description = "RDP viewer widget for GTK";
+ maintainers = teams.gnome.members;
+ license = licenses.lgpl3Plus;
+ platforms = platforms.unix;
+ };
+}
diff --git a/pkgs/development/libraries/libportal/default.nix b/pkgs/development/libraries/libportal/default.nix
index 5eacdaa8f3c..97c5303eabe 100644
--- a/pkgs/development/libraries/libportal/default.nix
+++ b/pkgs/development/libraries/libportal/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv
+{ stdenv
+, lib
, fetchFromGitHub
-, fetchpatch
, meson
, ninja
, pkg-config
@@ -12,7 +12,7 @@
stdenv.mkDerivation rec {
pname = "libportal";
- version = "0.3";
+ version = "0.4";
outputs = [ "out" "dev" "devdoc" ];
@@ -20,22 +20,9 @@ stdenv.mkDerivation rec {
owner = "flatpak";
repo = pname;
rev = version;
- sha256 = "1s3g17zbbmq3m5jfs62fl94p4irln9hfhpybj7jb05z0p1939rk3";
+ sha256 = "fuYZWGkdazq6H0rThqpF6KIcvwgc17o+CiISb1LjBso=";
};
- patches = [
- # Fix build and .pc file
- # https://github.com/flatpak/libportal/pull/20
- (fetchpatch {
- url = "https://github.com/flatpak/libportal/commit/7828be4ec8f05f8de7b129a1e35b5039d8baaee3.patch";
- sha256 = "04nadcxx69mbnzljwjrzm88cgapn14x3mghpkhr8b9yrjn7yj86h";
- })
- (fetchpatch {
- url = "https://github.com/flatpak/libportal/commit/bf5de2f6fefec65f701b4ec8712b48b29a33fb71.patch";
- sha256 = "1v0b09diq49c01j5gg2bpvn5f5gfw1a5nm1l8grc4qg4z9jck1z8";
- })
- ];
-
nativeBuildInputs = [
meson
ninja
diff --git a/pkgs/development/python-modules/adb-shell/default.nix b/pkgs/development/python-modules/adb-shell/default.nix
index 5377785ff25..6cbbe7c5d80 100644
--- a/pkgs/development/python-modules/adb-shell/default.nix
+++ b/pkgs/development/python-modules/adb-shell/default.nix
@@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "adb-shell";
- version = "0.3.1";
+ version = "0.3.2";
disabled = !isPy3k;
@@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "JeffLIrion";
repo = "adb_shell";
rev = "v${version}";
- sha256 = "sha256-b+9ySme44TdIlVnF8AHBBGd8pkoeYG99wmDK/nyAreo=";
+ sha256 = "sha256-+K4fV8dlRpOZC5B7cvkfPRVK/2OBkH9qOmAnOwsm7kQ=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/brother/default.nix b/pkgs/development/python-modules/brother/default.nix
index 9f41ed5756f..9813becd145 100644
--- a/pkgs/development/python-modules/brother/default.nix
+++ b/pkgs/development/python-modules/brother/default.nix
@@ -5,29 +5,29 @@
, pytest-asyncio
, pytest-error-for-skips
, pytest-runner
-, pytest-tornasync
-, pytest-trio
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "brother";
- version = "1.0.0";
+ version = "1.0.1";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "bieniu";
repo = pname;
rev = version;
- sha256 = "sha256-0NfqPlQiOkNhR+H55E9LE4dGa9R8vcSyPNbbIeiRJV8=";
+ sha256 = "sha256-Cfut6Y4Hln32g4V13xbOo5JdjPv2cH6FCDqvRRyijIA=";
};
+ nativeBuildInputs = [
+ pytest-runner
+ ];
+
postPatch = ''
- substituteInPlace pytest.ini \
+ substituteInPlace setup.cfg \
--replace "--cov --cov-report term-missing " ""
- substituteInPlace requirements-test.txt \
- --replace "pytest-cov" ""
'';
propagatedBuildInputs = [
@@ -37,9 +37,6 @@ buildPythonPackage rec {
checkInputs = [
pytest-asyncio
pytest-error-for-skips
- pytest-runner
- pytest-tornasync
- pytest-trio
pytestCheckHook
];
diff --git a/pkgs/development/python-modules/python-binance/default.nix b/pkgs/development/python-modules/python-binance/default.nix
index a750f02505a..cd1e09557ec 100644
--- a/pkgs/development/python-modules/python-binance/default.nix
+++ b/pkgs/development/python-modules/python-binance/default.nix
@@ -1,25 +1,55 @@
-{ lib, buildPythonPackage, fetchPypi
-, pytest, requests-mock, tox
-, autobahn, certifi, chardet, cryptography, dateparser, pyopenssl, requests, service-identity, twisted, ujson }:
+{ lib
+, aiohttp
+, buildPythonPackage
+, dateparser
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, requests
+, requests-mock
+, six
+, ujson
+, websockets
+}:
buildPythonPackage rec {
- version = "0.7.9";
pname = "python-binance";
+ version = "1.0.10";
+ disabled = pythonOlder "3.6";
- src = fetchPypi {
- inherit pname version;
- sha256 = "476459d91f6cfe0a37ccac38911643ea6cca632499ad8682e0957a075f73d239";
+ src = fetchFromGitHub {
+ owner = "sammchardy";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "09pq2blvky1ah4k8yc6zkp2g5nkn3awc52ad3lxvj6m33akfzxiv";
};
- doCheck = false; # Tries to test multiple interpreters with tox
- checkInputs = [ pytest requests-mock tox ];
+ propagatedBuildInputs = [
+ aiohttp
+ dateparser
+ requests
+ six
+ ujson
+ websockets
+ ];
- propagatedBuildInputs = [ autobahn certifi chardet cryptography dateparser pyopenssl requests service-identity twisted ujson ];
+ checkInputs = [
+ pytestCheckHook
+ requests-mock
+ ];
- meta = {
+ disabledTestPaths = [
+ # Tests require network access
+ "tests/test_api_request.py"
+ "tests/test_historical_klines.py"
+ ];
+
+ pythonImportsCheck = [ "binance" ];
+
+ meta = with lib; {
description = "Binance Exchange API python implementation for automated trading";
homepage = "https://github.com/sammchardy/python-binance";
- license = lib.licenses.mit;
- maintainers = [ lib.maintainers.bhipple ];
+ license = licenses.mit;
+ maintainers = with maintainers; [ bhipple ];
};
}
diff --git a/pkgs/development/tools/database/webdis/default.nix b/pkgs/development/tools/database/webdis/default.nix
index 042f5a1aa6d..226fc049e08 100644
--- a/pkgs/development/tools/database/webdis/default.nix
+++ b/pkgs/development/tools/database/webdis/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "webdis";
- version = "0.1.12";
+ version = "0.1.15";
src = fetchFromGitHub {
owner = "nicolasff";
repo = pname;
rev = version;
- sha256 = "sha256-pppA/Uyz1ge7UOG1PrqpTQC5sSGMWPw0J+CtaoZpOCM=";
+ sha256 = "sha256-ViU/CKkmBY8WwQq/oJ2/qETqr2k8JNFtNPhozw5BmEc=";
};
buildInputs = [ hiredis http-parser jansson libevent ];
diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix
index a3f58ae827e..9b5c286ca08 100644
--- a/pkgs/development/tools/electron/default.nix
+++ b/pkgs/development/tools/electron/default.nix
@@ -86,30 +86,30 @@ rec {
headers = "0yx8mkrm15ha977hzh7g2sc5fab9sdvlk1bk3yxignhxrqqbw885";
};
- electron_10 = mkElectron "10.4.4" {
- x86_64-linux = "e82d347ff4753fd4296550e403390c7a9c448d150ea6bb05bd245fd43ac5a708";
- x86_64-darwin = "b8f01dedbd81c58e1dc0fafd316e4c1be07681f7e6d42d3f6f3947cf78d9a8fa";
- i686-linux = "2e7847c902e174496e152030932a921ca1cfb2ffcb556e2a01b08d8235eb333d";
- armv7l-linux = "303c246816bff2dc7aeb26d37d99fe82e4bbe484e3e96f42731f6350498b1af2";
- aarch64-linux = "21ba3370b01870fc498d7e180d034a3e3b59a84af231d2dcd82984d6d09fd5da";
- headers = "0qxzsycpdq1g8a2yaw7g43da1f8ijpbhj97vvxza8nnvxiay5apf";
+ electron_10 = mkElectron "10.4.5" {
+ x86_64-linux = "d7f6203d09b4419262e985001d4c4f6c1fdfa3150eddb0708df9e124bebd0503";
+ x86_64-darwin = "e3ae7228010055b1d198d8dbaf0f34882d369d8caf76206a59f198301a3f3913";
+ i686-linux = "dd6abc0dc00d8f9d0e31c8f2bb70f7bbbaec58af4c446f8b493bbae9a9428e2f";
+ armv7l-linux = "86bc5f9d3dc94d19e847bf10ab22d98926b616d9febcbdceafd30e35b8f2b2db";
+ aarch64-linux = "655b36d68332131250f7496de0bb03a1e93f74bb5fc4b4286148855874673dcd";
+ headers = "1kfgww8wha86yw75k5yfq4mxvjlxgf1jmmzxy0p3hyr000kw26pk";
};
- electron_11 = mkElectron "11.4.4" {
- x86_64-linux = "154ae71e674b37b6cb5ec56e0f569435cb9303a5b0c0608bd2e1d026803be1a5";
- x86_64-darwin = "783962e25433178a1e41b895dbbebc7b82efbe819dbd08c9314d2f4547c73e05";
- i686-linux = "fcfeba63e490648156f01bbe51f27123f93762713f6ab5e4433dc9c232708a25";
- armv7l-linux = "3b98dabbce5a5a8ba66d2f909174b792eeccddd95fd4396a596130f6817ec0d3";
- aarch64-linux = "cf886b382f4e3815487ee1403d4bb6ff434ecd9625e61c9ecf082f482c88617e";
- headers = "1wjcygxy6lvmf1lw857rcd499jk8103nvld0q3jj4r90gwbdhfi3";
+ electron_11 = mkElectron "11.4.5" {
+ x86_64-linux = "6019703cbd37787ba4f0953cb82415c3fac47c8dba3a3af925b00636792d0f89";
+ x86_64-darwin = "0f28a1fb4fb6e05f3b602c7e5d8646084344257ba9db977fead9229111a8f599";
+ i686-linux = "886a348e1e984b5ea3e4090168fff4ae9f262b1a158e49ff62c544add6d98bec";
+ armv7l-linux = "009eeae8463a6e5ad8cdefd4ec645f38604881f7cbbcdd5e5dabb6955ef5d002";
+ aarch64-linux = "3cc0f9abb03cd9b9de42a749b38748485d85ba511b205ce8de3e56a903c62211";
+ headers = "10a0nf40crjq14p15g8s3ncj1w0dq1kqhfsm3aq5dppj2gx0k8dn";
};
- electron_12 = mkElectron "12.0.5" {
- x86_64-linux = "e89c97f7ee43bf08f2ddaba12c3b78fb26a738c0ea7608561f5e06c8ef37e22b";
- x86_64-darwin = "c5a5e8128478e2dd09fc7222fb0f562ed3aefa3c12470f1811345be03e9d3b76";
- i686-linux = "6ef8d93be6b05b66cb7c1f1640228dc1215d02851e190e7f16e4313d8ccd6135";
- armv7l-linux = "7312956ee48b1a8c02d778cac00e644e8cb27706cf4b387e91c3b062a1599a75";
- aarch64-linux = "7b2dc425ce70b94ef71b74ed59416e70c4285ae13ef7ea03505c1aafab44904f";
- headers = "1aqjhams0zvgq2bm9hc578ylmahi6qggzjfc69kh9vpv2sylimy9";
+ electron_12 = mkElectron "12.0.6" {
+ x86_64-linux = "3c632a25ed6502de00d089ee493475b89dd24c2a85ffa00130a5f06001898f27";
+ x86_64-darwin = "416348dad569d64d34396be6590ca15761dce91b77aab8219112464d55d00575";
+ i686-linux = "2182f2a7e0564b615db3ef99204df8fd3dbd8b0da2fa2eccc960885d9360f018";
+ armv7l-linux = "9482309c023a9c367a9403ad750d44a87d68510179fb767707c161672dcd6ffb";
+ aarch64-linux = "3033c5dbfbdb5226f6dc528333d237fcb500c2301b1a547ba8a89e54ebc111ab";
+ headers = "1la0bfigy2vq7jxrcddj4z5i2xk3cj974ymy0nmbhfnjbwqr7hg2";
};
}
diff --git a/pkgs/development/tools/flip-link/default.nix b/pkgs/development/tools/flip-link/default.nix
index 36467848c4f..697e4fb3536 100644
--- a/pkgs/development/tools/flip-link/default.nix
+++ b/pkgs/development/tools/flip-link/default.nix
@@ -1,4 +1,4 @@
-{ lib, rustPlatform, fetchFromGitHub }:
+{ lib, stdenv, rustPlatform, fetchFromGitHub, libiconv }:
rustPlatform.buildRustPackage rec {
pname = "flip-link";
@@ -13,6 +13,8 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "13rgpbwaz2b928rg15lbaszzjymph54pwingxpszp5paihx4iayr";
+ buildInputs = lib.optional stdenv.isDarwin libiconv;
+
meta = with lib; {
description = "Adds zero-cost stack overflow protection to your embedded programs";
homepage = "https://github.com/knurling-rs/flip-link";
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index 73126752b98..a44b5ed8c76 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -16,13 +16,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "d-feet";
- version = "0.3.15";
+ version = "0.3.16";
format = "other";
src = fetchurl {
url = "mirror://gnome/sources/d-feet/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
- sha256 = "1cgxgpj546jgpyns6z9nkm5k48lid8s36mvzj8ydkjqws2d19zqz";
+ sha256 = "hzPOS5qaVOwYWx2Fv02p2dEQUogqiAdg/2D5d5stHMs=";
};
nativeBuildInputs = [
diff --git a/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix b/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix
index f429d11e79d..eb215d0fd22 100644
--- a/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix
+++ b/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix
@@ -128,7 +128,7 @@ in ((vscode-utils.override { stdenv = gccStdenv; }).buildVscodeMarketplaceExtens
description = "Live Share lets you achieve greater confidence at speed by streamlining collaborative editing, debugging, and more in real-time during development";
homepage = "https://aka.ms/vsls-docs";
license = licenses.unfree;
- maintainers = with maintainers; [ jraygauthier ];
+ maintainers = with maintainers; [ jraygauthier V ];
platforms = [ "x86_64-linux" ];
};
})
diff --git a/pkgs/servers/adminer/default.nix b/pkgs/servers/adminer/default.nix
index 779f7312cac..8138e6de96e 100644
--- a/pkgs/servers/adminer/default.nix
+++ b/pkgs/servers/adminer/default.nix
@@ -1,13 +1,13 @@
-{ lib, stdenv, fetchurl, php }:
+{ lib, stdenv, fetchurl, php, nix-update-script }:
stdenv.mkDerivation rec {
- version = "4.8.0";
+ version = "4.8.1";
pname = "adminer";
# not using fetchFromGitHub as the git repo relies on submodules that are included in the tar file
src = fetchurl {
url = "https://github.com/vrana/adminer/releases/download/v${version}/adminer-${version}.tar.gz";
- sha256 = "sha256-T2LEUoIbFrMta+wP7PNci0QkFYrJZmWP3RP/JzgqUoc=";
+ sha256 = "sha256-2rkNq79sc5RBFxWuiaSlpWr0rwrnEFlnW1WcoxjoP2M=";
};
nativeBuildInputs = [
@@ -32,6 +32,12 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
+ passthru = {
+ updateScript = nix-update-script {
+ attrPath = pname;
+ };
+ };
+
meta = with lib; {
description = "Database management in a single PHP file";
homepage = "https://www.adminer.org";
diff --git a/pkgs/tools/misc/foma/default.nix b/pkgs/tools/misc/foma/default.nix
index 2bde606adbe..e75aaca50f6 100644
--- a/pkgs/tools/misc/foma/default.nix
+++ b/pkgs/tools/misc/foma/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, zlib, flex, bison, readline }:
+{ lib, stdenv, fetchFromGitHub, zlib, flex, bison, readline, darwin }:
stdenv.mkDerivation rec {
pname = "foma";
@@ -13,9 +13,14 @@ stdenv.mkDerivation rec {
sourceRoot = "source/foma";
- nativeBuildInputs = [ flex bison ];
+ nativeBuildInputs = [ flex bison ]
+ ++ lib.optional stdenv.isDarwin darwin.cctools;
buildInputs = [ zlib readline ];
+ makeFlags = [
+ "CC=${stdenv.cc.targetPrefix}cc"
+ ];
+
patchPhase = ''
substituteInPlace Makefile \
--replace '-ltermcap' ' ' \
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index 40913193163..432eab680c8 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -11,13 +11,13 @@
rustPlatform.buildRustPackage rec {
pname = "starship";
- version = "0.53.0";
+ version = "0.54.0";
src = fetchFromGitHub {
owner = "starship";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-g4w14fktJB8TItgm3nSgG+lpdXdNTpX52J+FsIbU+YY=";
+ sha256 = "sha256-8vrLvP8NevVpmqxqJHsySGXRTDX45c8FrfB7W7fdQvg=";
};
nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config ];
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
done
'';
- cargoSha256 = "sha256-9wpr1gs9EehmFzCW2kKDx+LKoDUC27fmhjpcH/fIcyY=";
+ cargoSha256 = "sha256-lIZsYhyef9LsGME01Kb5TGamGpLyZiPrdIb+jUqvbOg=";
preCheck = ''
HOME=$TMPDIR
diff --git a/pkgs/tools/misc/trash-cli/default.nix b/pkgs/tools/misc/trash-cli/default.nix
index dcb9e056e9b..cc6d5f8c45b 100644
--- a/pkgs/tools/misc/trash-cli/default.nix
+++ b/pkgs/tools/misc/trash-cli/default.nix
@@ -2,27 +2,24 @@
python3Packages.buildPythonApplication rec {
pname = "trash-cli";
- version = "0.21.4.18";
+ version = "0.21.5.11";
src = fetchFromGitHub {
owner = "andreafrancia";
repo = "trash-cli";
rev = version;
- sha256 = "16xmg2d9rfmm5l1dxj3dydijpv3kwswrqsbj1sihyyka4s915g61";
+ sha256 = "0ifv717ywq2y0s6m9rkry1fnsr3mg9n2b2zcwaf9r5cxpw90bmym";
};
propagatedBuildInputs = [ python3Packages.psutil ];
checkInputs = with python3Packages; [
mock
- pytest
+ pytestCheckHook
];
- # Run tests, skipping `test_user_specified` since its result depends on the
- # mount path.
- checkPhase = ''
- pytest -k 'not test_user_specified'
- '';
+ # Skip `test_user_specified` since its result depends on the mount path.
+ disabledTests = [ "test_user_specified" ];
meta = with lib; {
homepage = "https://github.com/andreafrancia/trash-cli";
diff --git a/pkgs/tools/misc/zellij/default.nix b/pkgs/tools/misc/zellij/default.nix
index 803cfd07549..920f4aff439 100644
--- a/pkgs/tools/misc/zellij/default.nix
+++ b/pkgs/tools/misc/zellij/default.nix
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "zellij";
- version = "0.10.0";
+ version = "0.11.0";
src = fetchFromGitHub {
owner = "zellij-org";
repo = pname;
rev = "v${version}";
- sha256 = "0x57g8va1b5ix3302qg9i5644w8s4lzfbz61nm7x1vq39i7rkdbk";
+ sha256 = "sha256-aqiJPYoG1Yi5bK0gos+2OoycrrqdIY2GjpQGE1PK1bw=";
};
- cargoSha256 = "03l3v2q7a8gqd88g1h209wqrr98v674467z6pl3im3l382dbwr4s";
+ cargoSha256 = "sha256-j9eZ2kHK9Mxxcv/yuriJ55xs2waCaWT5XQOSlA+WZXE=";
nativeBuildInputs = [ installShellFiles ];
@@ -23,9 +23,9 @@ rustPlatform.buildRustPackage rec {
postInstall = ''
installShellCompletion --cmd $pname \
- --bash <($out/bin/zellij generate-completion bash) \
- --fish <($out/bin/zellij generate-completion fish) \
- --zsh <($out/bin/zellij generate-completion zsh)
+ --bash <($out/bin/zellij setup --generate-completion bash) \
+ --fish <($out/bin/zellij setup --generate-completion fish) \
+ --zsh <($out/bin/zellij setup --generate-completion zsh)
'';
meta = with lib; {
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index d808eebcc93..ec5099c5f6e 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -218,6 +218,13 @@ in rec {
};
inherit storeDir stateDir confDir boehmgc;
+
+ patches = [
+ (fetchpatch {
+ url = "https://github.com/NixOS/nix/commit/8c7e043de2f673bc355d83f1e873baa93f30be62.patch";
+ sha256 = "sha256-aTcUnZXheewnyCT7yQKnTqQDKS2uDoN9plMQgxJH8Ag=";
+ })
+ ];
});
nixExperimental = nixUnstable.overrideAttrs (prev: {
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index d8b99c51de2..5e308fd25ca 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -13,11 +13,11 @@
stdenv.mkDerivation rec {
pname = "sudo";
- version = "1.9.6p1";
+ version = "1.9.7";
src = fetchurl {
url = "https://www.sudo.ws/dist/${pname}-${version}.tar.gz";
- sha256 = "sha256-qenNwFj6/rnNPr+4ZMgXVeUk2YqgIhUnY/JbzoyjypA=";
+ sha256 = "sha256-K758LWaZuE2VDvmkPwnU2We4vCRLc7wJXEICBo3b5Uk=";
};
prePatch = ''
diff --git a/pkgs/tools/text/fastmod/default.nix b/pkgs/tools/text/fastmod/default.nix
index e838e2931c7..d6e2dc4dd1f 100644
--- a/pkgs/tools/text/fastmod/default.nix
+++ b/pkgs/tools/text/fastmod/default.nix
@@ -1,6 +1,7 @@
{ lib, stdenv
, fetchFromGitHub
, rustPlatform
+, libiconv
, Security
}:
@@ -17,7 +18,7 @@ rustPlatform.buildRustPackage rec {
cargoSha256 = "sha256-L1MKoVacVKcpEG2IfS+eENxFZNiSaTDTxfFbFlvzYl8=";
- buildInputs = lib.optional stdenv.isDarwin Security;
+ buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
meta = with lib; {
description = "A utility that makes sweeping changes to large, shared code bases";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e234df81f98..655ac428b01 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5352,6 +5352,8 @@ in
gtkperf = callPackage ../development/tools/misc/gtkperf { };
+ gtk-frdp = callPackage ../development/libraries/gtk-frdp {};
+
gtk-vnc = callPackage ../tools/admin/gtk-vnc {};
gtmess = callPackage ../applications/networking/instant-messengers/gtmess {
diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix
index dc338fc683e..688d1607240 100644
--- a/pkgs/top-level/beam-packages.nix
+++ b/pkgs/top-level/beam-packages.nix
@@ -141,6 +141,7 @@ rec {
# Packages built with default Erlang version.
erlang = packagesWith interpreters.erlang;
+ erlangR24 = packagesWith interpreters.erlangR24;
erlangR23 = packagesWith interpreters.erlangR23;
erlangR22 = packagesWith interpreters.erlangR22;
erlangR21 = packagesWith interpreters.erlangR21;