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/compilers/llvm/10/compiler-rt/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/10/compiler-rt/gnu-install-dirs.patch index 7bc835914a3..db0bd006eaf 100644 --- a/pkgs/development/compilers/llvm/10/compiler-rt/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/10/compiler-rt/gnu-install-dirs.patch @@ -19,7 +19,7 @@ index 35a48c6af29c..e4300f256091 100644 # Install in Clang resource directory. install(FILES ${file_name} - DESTINATION ${COMPILER_RT_INSTALL_PATH}/share -+ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR} ++ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_DATADIR} COMPONENT ${component}) add_dependencies(${component} ${target_name}) diff --git a/pkgs/development/compilers/llvm/11/compiler-rt/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/11/compiler-rt/gnu-install-dirs.patch index 1d1ebb570ce..91e20882929 100644 --- a/pkgs/development/compilers/llvm/11/compiler-rt/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/11/compiler-rt/gnu-install-dirs.patch @@ -19,7 +19,7 @@ index 7c127a93dfa7..6a95a65b70a7 100644 # Install in Clang resource directory. install(FILES ${file_name} - DESTINATION ${COMPILER_RT_INSTALL_PATH}/share -+ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR} ++ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_DATADIR} COMPONENT ${component}) add_dependencies(${component} ${target_name}) diff --git a/pkgs/development/compilers/llvm/12/compiler-rt/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/12/compiler-rt/gnu-install-dirs.patch index c18d7924890..5f025764de1 100644 --- a/pkgs/development/compilers/llvm/12/compiler-rt/gnu-install-dirs.patch +++ b/pkgs/development/compilers/llvm/12/compiler-rt/gnu-install-dirs.patch @@ -19,7 +19,7 @@ index 361538a58e47..f0d8d9ab80f1 100644 # Install in Clang resource directory. install(FILES ${file_name} - DESTINATION ${COMPILER_RT_INSTALL_PATH}/share -+ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_INCLUDEDIR} ++ DESTINATION ${COMPILER_RT_INSTALL_PATH}/${CMAKE_INSTALL_FULL_DATADIR} COMPONENT ${component}) add_dependencies(${component} ${target_name}) diff --git a/pkgs/development/interpreters/lua-5/interpreter.nix b/pkgs/development/interpreters/lua-5/interpreter.nix index 4c45a3c6bdd..fd8c47d751b 100644 --- a/pkgs/development/interpreters/lua-5/interpreter.nix +++ b/pkgs/development/interpreters/lua-5/interpreter.nix @@ -72,8 +72,6 @@ self = stdenv.mkDerivation rec { ''; inherit postConfigure; - NIX_LDFLAGS = [ "-lm" ] ++ lib.optional (lib.versionOlder luaversion "5.2") "-ldl"; - inherit postBuild; postInstall = '' diff --git a/pkgs/development/interpreters/lua-5/liblua.so.patch b/pkgs/development/interpreters/lua-5/liblua.so.patch deleted file mode 100644 index 197832116c1..00000000000 --- a/pkgs/development/interpreters/lua-5/liblua.so.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff --git a/Makefile b/Makefile -index 416f444..eeaff03 100644 ---- a/Makefile -+++ b/Makefile -@@ -52,7 +52,7 @@ R= $V.0 - all: $(PLAT) - - $(PLATS) help test clean: -- @cd src && $(MAKE) $@ -+ @cd src && $(MAKE) $@ V=$(V) R=$(R) - - install: dummy - cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) -diff --git a/src/Makefile b/src/Makefile -index 514593d..372a6dc 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -33,6 +33,7 @@ CMCFLAGS= -Os - PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris - - LUA_A= liblua.a -+LUA_SO= liblua.so - CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o - LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o - BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS) -@@ -44,7 +45,7 @@ LUAC_T= luac - LUAC_O= luac.o - - ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) --ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) -+ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO) - ALL_A= $(LUA_A) - - # Targets start here. -@@ -60,6 +61,12 @@ $(LUA_A): $(BASE_O) - $(AR) $@ $(BASE_O) - $(RANLIB) $@ - -+$(LUA_SO): $(CORE_O) $(LIB_O) -+ $(CC) -shared -ldl -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? -lm $(MYLDFLAGS) -+ ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V) -+ ln -sf $(LUA_SO).$(R) $(LUA_SO) -+ -+ - $(LUA_T): $(LUA_O) $(LUA_A) - $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) - -diff --git a/src/luaconf.h b/src/luaconf.h -index bdf927e..7e15198 100644 ---- a/src/luaconf.h -+++ b/src/luaconf.h -@@ -227,7 +227,7 @@ - - #else /* }{ */ - --#define LUA_ROOT "/usr/local/" -+#define LUA_ROOT "/usr/" - #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/" - #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/" - diff --git a/pkgs/development/interpreters/lua-5/lua-dso.make b/pkgs/development/interpreters/lua-5/lua-dso.make index 11ac71fd819..19c57685677 100644 --- a/pkgs/development/interpreters/lua-5/lua-dso.make +++ b/pkgs/development/interpreters/lua-5/lua-dso.make @@ -1,4 +1,4 @@ $(LUA_SO): $(CORE_O) $(LIB_O) - $(CC) -shared $(SYSLIBS) -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? $(MYLDFLAGS) + $(CC) -shared $(LIBS) -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? $(MYLDFLAGS) ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V) ln -sf $(LUA_SO).$(R) $(LUA_SO) 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 6b28c661aac..0800d032c0b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5367,6 +5367,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;