diff --git a/doc/builders/packages/index.xml b/doc/builders/packages/index.xml index c2e7ef9bf61..38d72a4748f 100644 --- a/doc/builders/packages/index.xml +++ b/doc/builders/packages/index.xml @@ -20,7 +20,7 @@ - + diff --git a/doc/builders/packages/urxvt.section.md b/doc/builders/packages/urxvt.section.md new file mode 100644 index 00000000000..2d1196d9227 --- /dev/null +++ b/doc/builders/packages/urxvt.section.md @@ -0,0 +1,71 @@ +# Urxvt {#sec-urxvt} + +Urxvt, also known as rxvt-unicode, is a highly customizable terminal emulator. + +## Configuring urxvt {#sec-urxvt-conf} + +In `nixpkgs`, urxvt is provided by the package `rxvt-unicode`. It can be configured to include your choice of plugins, reducing its closure size from the default configuration which includes all available plugins. To make use of this functionality, use an overlay or directly install an expression that overrides its configuration, such as + +```nix +rxvt-unicode.override { + configure = { availablePlugins, ... }: { + plugins = with availablePlugins; [ perls resize-font vtwheel ]; + }; +} +``` + +If the `configure` function returns an attrset without the `plugins` attribute, `availablePlugins` will be used automatically. + +In order to add plugins but also keep all default plugins installed, it is possible to use the following method: + +```nix +rxvt-unicode.override { + configure = { availablePlugins, ... }: { + plugins = (builtins.attrValues availablePlugins) ++ [ custom-plugin ]; + }; +} +``` + +To get a list of all the plugins available, open the Nix REPL and run + +```ShellSession +$ nix repl +:l +map (p: p.name) pkgs.rxvt-unicode.plugins +``` + +Alternatively, if your shell is bash or zsh and have completion enabled, simply type `nixpkgs.rxvt-unicode.plugins.`. + +In addition to `plugins` the options `extraDeps` and `perlDeps` can be used to install extra packages. `extraDeps` can be used, for example, to provide `xsel` (a clipboard manager) to the clipboard plugin, without installing it globally: + +```nix +rxvt-unicode.override { + configure = { availablePlugins, ... }: { + pluginsDeps = [ xsel ]; + }; +} +``` + +`perlDeps` is a handy way to provide Perl packages to your custom plugins (in `$HOME/.urxvt/ext`). For example, if you need `AnyEvent` you can do: + +```nix +rxvt-unicode.override { + configure = { availablePlugins, ... }: { + perlDeps = with perlPackages; [ AnyEvent ]; + }; +} +``` + +## Packaging urxvt plugins {#sec-urxvt-pkg} + +Urxvt plugins resides in `pkgs/applications/misc/rxvt-unicode-plugins`. To add a new plugin create an expression in a subdirectory and add the package to the set in `pkgs/applications/misc/rxvt-unicode-plugins/default.nix`. + +A plugin can be any kind of derivation, the only requirement is that it should always install perl scripts in `$out/lib/urxvt/perl`. Look for existing plugins for examples. + +If the plugin is itself a perl package that needs to be imported from other plugins or scripts, add the following passthrough: + +```nix +passthru.perlPackages = [ "self" ]; +``` + +This will make the urxvt wrapper pick up the dependency and set up the perl path accordingly. diff --git a/doc/builders/packages/urxvt.xml b/doc/builders/packages/urxvt.xml deleted file mode 100644 index 330e056b656..00000000000 --- a/doc/builders/packages/urxvt.xml +++ /dev/null @@ -1,115 +0,0 @@ -
- Urxvt - - - Urxvt, also known as rxvt-unicode, is a highly customizable terminal emulator. - - -
- - Configuring urxvt - - - In nixpkgs, urxvt is provided by the package - rxvt-unicode. It can be configured to include your choice - of plugins, reducing its closure size from the default configuration which - includes all available plugins. To make use of this functionality, use an - overlay or directly install an expression that overrides its configuration, - such as - -rxvt-unicode.override { - configure = { availablePlugins, ... }: { - plugins = with availablePlugins; [ perls resize-font vtwheel ]; - }; -} - - If the configure function returns an attrset without the - plugins attribute, availablePlugins - will be used automatically. - - - - In order to add plugins but also keep all default plugins installed, it is - possible to use the following method: - -rxvt-unicode.override { - configure = { availablePlugins, ... }: { - plugins = (builtins.attrValues availablePlugins) ++ [ custom-plugin ]; - }; -} - - - - - To get a list of all the plugins available, open the Nix REPL and run - -$ nix repl -:l <nixpkgs> -map (p: p.name) pkgs.rxvt-unicode.plugins - - Alternatively, if your shell is bash or zsh and have completion enabled, - simply type nixpkgs.rxvt-unicode.plugins.<tab>. - - - - In addition to plugins the options - extraDeps and perlDeps can be used - to install extra packages. - extraDeps can be used, for example, to provide - xsel (a clipboard manager) to the clipboard plugin, - without installing it globally: - -rxvt-unicode.override { - configure = { availablePlugins, ... }: { - pluginsDeps = [ xsel ]; - }; -} - - - perlDeps is a handy way to provide Perl packages to - your custom plugins (in $HOME/.urxvt/ext). For example, - if you need AnyEvent you can do: - -rxvt-unicode.override { - configure = { availablePlugins, ... }: { - perlDeps = with perlPackages; [ AnyEvent ]; - }; -} - - - -
- -
- - Packaging urxvt plugins - - - Urxvt plugins resides in - pkgs/applications/misc/rxvt-unicode-plugins. - To add a new plugin create an expression in a subdirectory and add the - package to the set in - pkgs/applications/misc/rxvt-unicode-plugins/default.nix. - - - - A plugin can be any kind of derivation, the only requirement is that it - should always install perl scripts in $out/lib/urxvt/perl. - Look for existing plugins for examples. - - - - If the plugin is itself a perl package that needs to be imported from - other plugins or scripts, add the following passthrough: - -passthru.perlPackages = [ "self" ]; - - This will make the urxvt wrapper pick up the dependency and set up the perl - path accordingly. - - -
- -
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index e56e50deb95..3454dc71997 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1258,6 +1258,16 @@ githubId = 3043718; name = "Brett Lyons"; }; + brodes = { + email = "me@brod.es"; + github = "brhoades"; + githubId = 4763746; + name = "Billy Rhoades"; + keys = [{ + longkeyid = "rsa4096/0x8AE74787A4B7C07E"; + fingerprint = "BF4FCB85C69989B4ED95BF938AE74787A4B7C07E"; + }]; + }; bryanasdev000 = { email = "bryanasdev000@gmail.com"; github = "bryanasdev000"; diff --git a/nixos/modules/services/desktops/pipewire.nix b/nixos/modules/services/desktops/pipewire.nix index c4923cfd3f0..0ef988d9e69 100644 --- a/nixos/modules/services/desktops/pipewire.nix +++ b/nixos/modules/services/desktops/pipewire.nix @@ -15,7 +15,7 @@ let # This doesn't work in general because of missing development information. jack-libs = pkgs.runCommand "jack-libs" {} '' mkdir -p "$out/lib" - ln -s "${pkgs.pipewire.jack}/lib" "$out/lib/pipewire" + ln -s "${cfg.package.jack}/lib" "$out/lib/pipewire" ''; in { @@ -28,6 +28,16 @@ in { services.pipewire = { enable = mkEnableOption "pipewire service"; + package = mkOption { + type = types.package; + default = pkgs.pipewire; + defaultText = "pkgs.pipewire"; + example = literalExample "pkgs.pipewire"; + description = '' + The pipewire derivation to use. + ''; + }; + socketActivation = mkOption { default = true; type = types.bool; @@ -36,6 +46,32 @@ in { ''; }; + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Literal string to append to /etc/pipewire/pipewire.conf. + ''; + }; + + sessionManager = mkOption { + type = types.nullOr types.string; + default = null; + example = literalExample ''"''${pipewire}/bin/pipewire-media-session"''; + description = '' + Path to the pipewire session manager executable. + ''; + }; + + sessionManagerArguments = mkOption { + type = types.listOf types.string; + default = []; + example = literalExample ''[ "-p" "bluez5.msbc-support=true" ]''; + description = '' + Arguments passed to the pipewire session manager. + ''; + }; + alsa = { enable = mkEnableOption "ALSA support"; support32Bit = mkEnableOption "32-bit ALSA support on 64-bit systems"; @@ -65,38 +101,83 @@ in { } ]; - environment.systemPackages = [ pkgs.pipewire ] + services.pipewire.sessionManager = mkDefault "${cfg.package}/bin/pipewire-media-session"; + + environment.systemPackages = [ cfg.package ] ++ lib.optional cfg.jack.enable jack-libs; - systemd.packages = [ pkgs.pipewire ] - ++ lib.optional cfg.pulse.enable pkgs.pipewire.pulse; + systemd.packages = [ cfg.package ] + ++ lib.optional cfg.pulse.enable cfg.package.pulse; # PipeWire depends on DBUS but doesn't list it. Without this booting # into a terminal results in the service crashing with an error. systemd.user.sockets.pipewire.wantedBy = lib.mkIf cfg.socketActivation [ "sockets.target" ]; systemd.user.sockets.pipewire-pulse.wantedBy = lib.mkIf (cfg.socketActivation && cfg.pulse.enable) ["sockets.target"]; systemd.user.services.pipewire.bindsTo = [ "dbus.service" ]; - services.udev.packages = [ pkgs.pipewire ]; + services.udev.packages = [ cfg.package ]; # If any paths are updated here they must also be updated in the package test. - sound.extraConfig = mkIf cfg.alsa.enable '' - pcm_type.pipewire { - libs.native = ${pkgs.pipewire.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ; - ${optionalString enable32BitAlsaPlugins - "libs.32Bit = ${pkgs.pkgsi686Linux.pipewire.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;"} - } - pcm.!default { - @func getenv - vars [ PCM ] - default "plug:pipewire" - playback_mode "-1" - capture_mode "-1" - } - ''; + environment.etc."alsa/conf.d/49-pipewire-modules.conf" = mkIf cfg.alsa.enable { + text = '' + pcm_type.pipewire { + libs.native = ${cfg.package.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ; + ${optionalString enable32BitAlsaPlugins + "libs.32Bit = ${pkgs.pkgsi686Linux.pipewire.lib}/lib/alsa-lib/libasound_module_pcm_pipewire.so ;"} + } + ctl_type.pipewire { + libs.native = ${cfg.package.lib}/lib/alsa-lib/libasound_module_ctl_pipewire.so ; + ${optionalString enable32BitAlsaPlugins + "libs.32Bit = ${pkgs.pkgsi686Linux.pipewire.lib}/lib/alsa-lib/libasound_module_ctl_pipewire.so ;"} + } + ''; + }; environment.etc."alsa/conf.d/50-pipewire.conf" = mkIf cfg.alsa.enable { - source = "${pkgs.pipewire}/share/alsa/alsa.conf.d/50-pipewire.conf"; + source = "${cfg.package}/share/alsa/alsa.conf.d/50-pipewire.conf"; + }; + environment.etc."alsa/conf.d/99-pipewire-default.conf" = mkIf cfg.alsa.enable { + source = "${cfg.package}/share/alsa/alsa.conf.d/99-pipewire-default.conf"; }; environment.sessionVariables.LD_LIBRARY_PATH = lib.optional cfg.jack.enable "/run/current-system/sw/lib/pipewire"; + + environment.etc."pipewire/pipewire.conf" = { + # Adapted from src/daemon/pipewire.conf.in + text = '' + set-prop link.max-buffers 16 # version < 3 clients can't handle more + + add-spa-lib audio.convert* audioconvert/libspa-audioconvert + add-spa-lib api.alsa.* alsa/libspa-alsa + add-spa-lib api.v4l2.* v4l2/libspa-v4l2 + add-spa-lib api.libcamera.* libcamera/libspa-libcamera + add-spa-lib api.bluez5.* bluez5/libspa-bluez5 + add-spa-lib api.vulkan.* vulkan/libspa-vulkan + add-spa-lib api.jack.* jack/libspa-jack + add-spa-lib support.* support/libspa-support + + load-module libpipewire-module-rtkit # rt.prio=20 rt.time.soft=200000 rt.time.hard=200000 + load-module libpipewire-module-protocol-native + load-module libpipewire-module-profiler + load-module libpipewire-module-metadata + load-module libpipewire-module-spa-device-factory + load-module libpipewire-module-spa-node-factory + load-module libpipewire-module-client-node + load-module libpipewire-module-client-device + load-module libpipewire-module-portal + load-module libpipewire-module-access + load-module libpipewire-module-adapter + load-module libpipewire-module-link-factory + load-module libpipewire-module-session-manager + + create-object spa-node-factory factory.name=support.node.driver node.name=Dummy priority.driver=8000 + + exec ${cfg.sessionManager} ${lib.concatStringsSep " " cfg.sessionManagerArguments} + + ${cfg.extraConfig} + ''; + }; + + environment.etc."pipewire/media-session.d/with-alsa" = mkIf cfg.alsa.enable { text = ""; }; + environment.etc."pipewire/media-session.d/with-pulseaudio" = mkIf cfg.pulse.enable { text = ""; }; + environment.etc."pipewire/media-session.d/with-jack" = mkIf cfg.jack.enable { text = ""; }; }; } diff --git a/pkgs/applications/editors/emacs/generic.nix b/pkgs/applications/editors/emacs/generic.nix index a0bd1193d2c..0e09b0c20ee 100644 --- a/pkgs/applications/editors/emacs/generic.nix +++ b/pkgs/applications/editors/emacs/generic.nix @@ -154,6 +154,8 @@ in stdenv.mkDerivation { '' + lib.optionalString withNS '' mkdir -p $out/Applications mv nextstep/Emacs.app $out/Applications + '' + lib.optionalString (nativeComp && withNS) '' + ln -snf $out/lib/emacs/*/native-lisp $out/Applications/Emacs.app/Contents/native-lisp ''; postFixup = lib.concatStringsSep "\n" [ diff --git a/pkgs/applications/misc/archivy/default.nix b/pkgs/applications/misc/archivy/default.nix index d2fa48cd234..09779f8876f 100644 --- a/pkgs/applications/misc/archivy/default.nix +++ b/pkgs/applications/misc/archivy/default.nix @@ -5,11 +5,11 @@ watchdog, wtforms }: python3.pkgs.buildPythonApplication rec { pname = "archivy"; - version = "0.8.5"; + version = "0.9.2"; src = fetchPypi { inherit pname version; - sha256 = "144ckgxjaw29yp5flyxd1rnkm7hlim4zgy6xng7x0a9j54h527iq"; + sha256 = "5cb760da57dc9dcdd62c0af824993d1715ec7035915629b4046d8bf50442756c"; }; # Relax some dependencies diff --git a/pkgs/applications/misc/joplin-desktop/default.nix b/pkgs/applications/misc/joplin-desktop/default.nix index fccf15c0241..bcd4f686f81 100644 --- a/pkgs/applications/misc/joplin-desktop/default.nix +++ b/pkgs/applications/misc/joplin-desktop/default.nix @@ -2,7 +2,7 @@ let pname = "joplin-desktop"; - version = "1.4.15"; + version = "1.4.19"; name = "${pname}-${version}"; inherit (stdenv.hostPlatform) system; @@ -16,8 +16,8 @@ let src = fetchurl { url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}.${suffix}"; sha256 = { - x86_64-linux = "12wh7f1a9sn250lqnb8c9b5gqr8r76kxrhl0kgsm2lg93jgpvvbb"; - x86_64-darwin = "1jzfqwyz3vkmmkdzx3iw36fbjq7fns46v8crmg5n09w9kvf22qil"; + x86_64-linux = "1xyj30pnlczchbh4awb955sxh51v89d170f4yk0v1jkj7dg2wjgj"; + x86_64-darwin = "166yp2rr87p0lh64ngs498a50ahcann8z5s0g2p0azs6wi54a6kw"; }.${system} or throwSystem; }; diff --git a/pkgs/applications/networking/cluster/starboard/default.nix b/pkgs/applications/networking/cluster/starboard/default.nix index bc42bf13666..bb432706452 100644 --- a/pkgs/applications/networking/cluster/starboard/default.nix +++ b/pkgs/applications/networking/cluster/starboard/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "starboard"; - version = "0.6.0"; + version = "0.7.0"; src = fetchFromGitHub { owner = "aquasecurity"; repo = pname; rev = "v${version}"; - sha256 = "00d3cnd3n6laa6rphw5w9xk8slpp4a603vzhixzg01sghq26gy22"; + sha256 = "1xj0fa52973h7cg3scxn85lav98q6fz82dwd5cls3p39ghnhzn5l"; }; - vendorSha256 = "0y816r75rp1a4rp7j0a8wzrfi2mdf4ji1vz2vaj5s7x9ik6rc13r"; + vendorSha256 = "07cz4p8k927ash5ncw1r56bcn592imgywbyzkvhnn50pap91m0q0"; subPackages = [ "cmd/starboard" ]; diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 83865214192..bb2a7ab582b 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -720,11 +720,11 @@ "version": "0.8.0" }, "packet": { - "owner": "terraform-providers", + "owner": "packethost", "repo": "terraform-provider-packet", - "rev": "v2.9.0", - "sha256": "0d9r272gidkwn4zr130ml047512qq5d5d599s63blzy6m38vilha", - "version": "2.9.0" + "rev": "v3.2.0", + "sha256": "sha256-YIv4OPRbR00YTVwz0iJ/y6qTbj50nsi5ylrWEx1kZck=", + "version": "3.2.0" }, "pagerduty": { "owner": "terraform-providers", diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix index b478071ead1..d8c17a89e69 100644 --- a/pkgs/applications/networking/cluster/terraform/default.nix +++ b/pkgs/applications/networking/cluster/terraform/default.nix @@ -1,15 +1,13 @@ -{ stdenv, lib, buildEnv, buildGoPackage, fetchFromGitHub, makeWrapper, coreutils +{ stdenv, lib, buildGoModule, fetchFromGitHub, makeWrapper, coreutils , runCommand, runtimeShell, writeText, terraform-providers, fetchpatch }: let - goPackagePath = "github.com/hashicorp/terraform"; - - generic = { version, sha256, ... }@attrs: - let attrs' = builtins.removeAttrs attrs [ "version" "sha256" ]; - in buildGoPackage ({ + generic = { version, sha256, vendorSha256 ? null, ... }@attrs: + let attrs' = builtins.removeAttrs attrs [ "version" "sha256" "vendorSha256" ]; + in buildGoModule ({ name = "terraform-${version}"; - inherit goPackagePath; + inherit vendorSha256; src = fetchFromGitHub { owner = "hashicorp"; @@ -18,7 +16,7 @@ let inherit sha256; }; - postPatch = '' + postConfigure = '' # speakeasy hardcodes /bin/stty https://github.com/bgentry/speakeasy/issues/22 substituteInPlace vendor/github.com/bgentry/speakeasy/speakeasy_unix.go \ --replace "/bin/stty" "${coreutils}/bin/stty" @@ -34,9 +32,12 @@ let ''; preCheck = '' - export HOME=$TMP + export HOME=$TMPDIR + export TF_SKIP_REMOTE_TESTS=1 ''; + subPackages = [ "." ]; + meta = with stdenv.lib; { description = "Tool for building, changing, and versioning infrastructure"; @@ -163,6 +164,14 @@ in rec { passthru = { inherit plugins; }; }); + terraform_0_14 = pluggable (generic { + version = "0.14.0"; + sha256 = "0pbglnvb6cx8zrz791lfa67dmjqfsyysbxm2083b1lhlmbybi9ax"; + vendorSha256 = "1gxhdj98np482jm76aj6zbbmkn7vfk8b878hzz59iywgbdr1r4m1"; + patches = [ ./provider-path.patch ]; + passthru = { inherit plugins; }; + }); + # Tests that the plugins are being used. Terraform looks at the specific # file pattern and if the plugin is not found it will try to download it # from the Internet. With sandboxing enable this test will fail if that is diff --git a/pkgs/applications/networking/dyndns/dyndnsc/default.nix b/pkgs/applications/networking/dyndns/dyndnsc/default.nix new file mode 100644 index 00000000000..65d46305741 --- /dev/null +++ b/pkgs/applications/networking/dyndns/dyndnsc/default.nix @@ -0,0 +1,59 @@ +{ stdenv, lib, python3Packages }: + +python3Packages.buildPythonApplication rec { + pname = "dyndnsc"; + version = "0.5.1"; + + src = python3Packages.fetchPypi { + inherit pname version; + hash = "sha256-Sy6U0XhIQ9mPmznmWKqoyqE34vaE84fwlivouaF7Dd0="; + }; + + postPatch = '' + substituteInPlace setup.py --replace "bottle==" "bottle>=" + ''; + + nativeBuildInputs = with python3Packages; [ pytestrunner ]; + propagatedBuildInputs = with python3Packages; [ + daemonocle + dnspython + netifaces + requests + setuptools + ]; + checkInputs = with python3Packages; [ bottle pytestCheckHook ]; + + disabledTests = [ + # dnswanip connects to an external server to discover the + # machine's IP address. + "dnswanip" + ] ++ lib.optionals stdenv.isDarwin [ + # The tests that spawn a server using Bottle cannot be run on + # macOS or Windows as the default multiprocessing start method + # on those platforms is 'spawn', which requires the code to be + # run to be picklable, which this code isn't. + # Additionaly, other start methods are unsafe and prone to failure + # on macOS; see https://bugs.python.org/issue33725. + "BottleServer" + ]; + # Allow tests that bind or connect to localhost on macOS. + __darwinAllowLocalNetworking = true; + + meta = with lib; { + description = "Dynamic DNS update client with support for multiple protocols"; + longDescription = '' + Dyndnsc is a command line client for sending updates to Dynamic + DNS (DDNS, DynDNS) services. It supports multiple protocols and + services, and it has native support for IPv6. The configuration + file allows using foreign, but compatible services. Dyndnsc + ships many different IP detection mechanisms, support for + configuring multiple services in one place and it has a daemon + mode for running unattended. It has a plugin system to provide + external notification services. + ''; + homepage = "https://github.com/infothrill/python-dyndnsc"; + license = licenses.mit; + maintainers = with maintainers; [ AluisioASG ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/science/robotics/mavproxy/default.nix b/pkgs/applications/science/robotics/mavproxy/default.nix index 6fdb7b8fcbe..a71ddc874c9 100644 --- a/pkgs/applications/science/robotics/mavproxy/default.nix +++ b/pkgs/applications/science/robotics/mavproxy/default.nix @@ -3,11 +3,11 @@ buildPythonApplication rec { pname = "MAVProxy"; - version = "1.8.27"; + version = "1.8.29"; src = fetchPypi { inherit pname version; - sha256 = "f3c704e2d67b36e4932896abe00c89e7f3fb7458fc52849b5d7d6d83bd623adf"; + sha256 = "8f5900dc0a404ab9cf5a00155f83e9aaeab18161ce21a352dfdcf2d7abf5d78e"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix index 98117c7ae41..c41bd5ff5aa 100644 --- a/pkgs/development/libraries/grpc/default.nix +++ b/pkgs/development/libraries/grpc/default.nix @@ -3,13 +3,13 @@ }: stdenv.mkDerivation rec { - version = "1.33.2"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too + version = "1.34.0"; # N.B: if you change this, change pythonPackages.grpcio-tools to a matching version too pname = "grpc"; src = fetchFromGitHub { owner = "grpc"; repo = "grpc"; rev = "v${version}"; - sha256 = "0cc7yfa37ngrr0q9k3lm2yi4i57bfsyxwbblwc0f801k6wvgavcy"; + sha256 = "0kipk26kg2x06mrkhb74k8vk5cn4mr89kw1f9mb04n616wkxjyxy"; fetchSubmodules = true; }; patches = [ diff --git a/pkgs/development/libraries/nanopb/default.nix b/pkgs/development/libraries/nanopb/default.nix index b90a8ba13aa..e71d1c6a54c 100644 --- a/pkgs/development/libraries/nanopb/default.nix +++ b/pkgs/development/libraries/nanopb/default.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "nanopb"; - version = "0.4.3"; + version = "0.4.4"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "sha256-32YU6LfPojvEVA2Z3DRZdGzDkSpAUgo1BueC/pl9qlY="; + sha256 = "0nqfi1b0szjmm1z8wd3ks64h10jblv9ip01kfggxgz6qjjfwgvq7"; }; nativeBuildInputs = [ cmake python3 python3.pkgs.wrapPython ]; diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index f03f9ea88f4..d07c77f4e2e 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -27,7 +27,7 @@ , bluezSupport ? true, bluez ? null, sbc ? null , nativeHspSupport ? true , ofonoSupport ? true -, hsphfpdSupport ? false +, hsphfpdSupport ? true }: let @@ -39,7 +39,7 @@ let in stdenv.mkDerivation rec { pname = "pipewire"; - version = "0.3.16"; + version = "0.3.17"; outputs = [ "out" @@ -56,7 +56,7 @@ stdenv.mkDerivation rec { owner = "pipewire"; repo = "pipewire"; rev = version; - sha256 = "0ivfx3rbg2iwjdh412zjpk9y5mzw7zh6asv4sji8lq0dzhwbz1qc"; + sha256 = "1gzdahji23fsgjycc08h7zzv8filmzdrkyvpkljc881l4cb5l58n"; }; patches = [ @@ -66,6 +66,8 @@ stdenv.mkDerivation rec { ./installed-tests-path.patch # Change the path of the pipewire-pulse binary in the service definition. ./pipewire-pulse-path.patch + # Add flag to specify configuration directory (different from the installation directory). + ./pipewire-config-dir.patch ]; nativeBuildInputs = [ @@ -106,6 +108,7 @@ stdenv.mkDerivation rec { "-Dbluez5-backend-native=${mesonBool nativeHspSupport}" "-Dbluez5-backend-ofono=${mesonBool ofonoSupport}" "-Dbluez5-backend-hsphfpd=${mesonBool hsphfpdSupport}" + "-Dpipewire_config_dir=/etc/pipewire" ]; FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file diff --git a/pkgs/development/libraries/pipewire/pipewire-config-dir.patch b/pkgs/development/libraries/pipewire/pipewire-config-dir.patch new file mode 100644 index 00000000000..ad1ae93684b --- /dev/null +++ b/pkgs/development/libraries/pipewire/pipewire-config-dir.patch @@ -0,0 +1,30 @@ +diff --git a/meson.build b/meson.build +index 0073eb13..0ffc6863 100644 +--- a/meson.build ++++ b/meson.build +@@ -34,7 +34,10 @@ pipewire_libexecdir = join_paths(prefix, get_option('libexecdir')) + pipewire_localedir = join_paths(prefix, get_option('localedir')) + pipewire_sysconfdir = join_paths(prefix, get_option('sysconfdir')) + +-pipewire_configdir = join_paths(pipewire_sysconfdir, 'pipewire') ++pipewire_configdir = get_option('pipewire_config_dir') ++if pipewire_configdir == '' ++ pipewire_configdir = join_paths(pipewire_sysconfdir, 'pipewire') ++endif + modules_install_dir = join_paths(pipewire_libdir, pipewire_name) + + if host_machine.system() == 'linux' +diff --git a/meson_options.txt b/meson_options.txt +index 4b9e46b8..8c301459 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -56,6 +56,9 @@ option('pipewire-pulseaudio', + option('libpulse-path', + description: 'Where to install the libpulse.so library', + type: 'string') ++option('pipewire_config_dir', ++ type : 'string', ++ description : 'Directory for pipewire configuration (defaults to /etc/pipewire)') + option('spa-plugins', + description: 'Enable spa plugins integration', + type: 'boolean', diff --git a/pkgs/development/python-modules/coapthon3/default.nix b/pkgs/development/python-modules/coapthon3/default.nix index fbca43e4e71..6f22e8e9f29 100644 --- a/pkgs/development/python-modules/coapthon3/default.nix +++ b/pkgs/development/python-modules/coapthon3/default.nix @@ -1,19 +1,26 @@ -{ buildPythonPackage, cachetools, fetchPypi, lib }: +{ buildPythonPackage, cachetools, fetchFromGitHub, isPy27, lib }: buildPythonPackage rec { pname = "CoAPthon3"; version = "1.0.1"; + disabled = isPy27; - src = fetchPypi { - inherit pname version; - sha256 = "1w6bwwd3qjp4b4fscagqg9wqxpdgvf4sxgzbk2d2rjqwlkyr1lnx"; + src = fetchFromGitHub { + owner = "Tanganelli"; + repo = pname; + rev = version; + sha256 = "1im35i5i72y1p9qj8ixkwq7q6ksbrmi42giqiyfgjp1ym38snl69"; }; propagatedBuildInputs = [ cachetools ]; + # tests take in the order of 10 minutes to execute and sometimes hang forever on tear-down + doCheck = false; + pythonImportsCheck = [ "coapthon" ]; + meta = with lib; { + inherit (src.meta) homepage; description = "Python3 library to the CoAP protocol compliant with the RFC."; - homepage = "https://github.com/Tanganelli/${pname}"; license = licenses.mit; maintainers = with maintainers; [ urbas ]; }; diff --git a/pkgs/development/python-modules/daemonocle/default.nix b/pkgs/development/python-modules/daemonocle/default.nix new file mode 100644 index 00000000000..ac470b83f7b --- /dev/null +++ b/pkgs/development/python-modules/daemonocle/default.nix @@ -0,0 +1,42 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, click +, psutil +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "daemonocle"; + version = "1.0.2"; + + src = fetchFromGitHub { + owner = "jnrbsn"; + repo = "daemonocle"; + rev = "v${version}"; + hash = "sha256-kDCbosXTIffuCzHcReXhiW4YPbxDW3OPnTbMC/EGJrM="; + }; + + propagatedBuildInputs = [ click psutil ]; + checkInputs = [ pytestCheckHook ]; + + # One third of the tests fail on the sandbox with + # "psutil.NoSuchProcess: no process found with pid 0". + doCheck = false; + disabledTests = [ "sudo" ]; + pythonImportsCheck = [ "daemonocle" ]; + + meta = with lib; { + description = "A Python library for creating super fancy Unix daemons"; + longDescription = '' + daemonocle is a library for creating your own Unix-style daemons + written in Python. It solves many problems that other daemon + libraries have and provides some really useful features you don't + often see in other daemons. + ''; + homepage = "https://github.com/jnrbsn/daemonocle"; + license = licenses.mit; + maintainers = [ maintainers.AluisioASG ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/python-modules/django/3.nix b/pkgs/development/python-modules/django/3.nix index 84a7e8b1e3c..c3644d6946f 100644 --- a/pkgs/development/python-modules/django/3.nix +++ b/pkgs/development/python-modules/django/3.nix @@ -13,13 +13,13 @@ buildPythonPackage rec { pname = "Django"; - version = "3.1.3"; + version = "3.1.4"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "14b87775ffedab2ef6299b73343d1b4b41e5d4e2aa58c6581f114dbec01e3f8f"; + sha256 = "edb10b5c45e7e9c0fb1dc00b76ec7449aca258a39ffd613dbd078c51d19c9f03"; }; patches = stdenv.lib.optional withGdal diff --git a/pkgs/development/python-modules/grpcio-tools/default.nix b/pkgs/development/python-modules/grpcio-tools/default.nix index a68eb704f6c..417b9d82e2e 100644 --- a/pkgs/development/python-modules/grpcio-tools/default.nix +++ b/pkgs/development/python-modules/grpcio-tools/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "grpcio-tools"; - version = "1.33.2"; + version = "1.34.0"; src = fetchPypi { inherit pname version; - sha256 = "af40774c0275f5465f49fd92bfcd9831b19b013de4cc77b8fb38aea76fa6dce3"; + sha256 = "db5a6f0130256d534cbe35eab37d37a448d96f4fd736e5051c6be1aee49cea1d"; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/python-modules/influxdb-client/default.nix b/pkgs/development/python-modules/influxdb-client/default.nix index 007ab25eb69..141412d5bd3 100644 --- a/pkgs/development/python-modules/influxdb-client/default.nix +++ b/pkgs/development/python-modules/influxdb-client/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "influxdb-client"; - version = "1.8.0"; + version = "1.12.0"; disabled = pythonOlder "3.6"; # requires python version >=3.6 @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "influxdata"; repo = "influxdb-client-python"; rev = "v${version}"; - sha256 = "0gf0fjkd10yn1bb86rfapnd5diraivshn9mhzqxaxwlfah45q187"; + sha256 = "0b4xr8nwrnikj2rnyrrcl6pym2il8iirr9f9cyg6vzfgx8l8brk9"; }; # makes test not reproducible diff --git a/pkgs/development/python-modules/pwntools/default.nix b/pkgs/development/python-modules/pwntools/default.nix index 11c3f1dd8eb..a6f43ae5b1f 100644 --- a/pkgs/development/python-modules/pwntools/default.nix +++ b/pkgs/development/python-modules/pwntools/default.nix @@ -24,12 +24,12 @@ }: buildPythonPackage rec { - version = "4.3.0"; + version = "4.3.1"; pname = "pwntools"; src = fetchPypi { inherit pname version; - sha256 = "007xbm4pg28bhv7j7m8gmzsmr9x7pdb7rkm5y80mca8kb7gw59xv"; + sha256 = "12ja913kz8wl4afrmpzxh9fx6j7rcwc2vqzkvfr1fxn42gkqhqf4"; }; # Upstream has set an upper bound on unicorn because of https://github.com/Gallopsled/pwntools/issues/1538, diff --git a/pkgs/development/python-modules/py-air-control/default.nix b/pkgs/development/python-modules/py-air-control/default.nix new file mode 100644 index 00000000000..77b61123d9e --- /dev/null +++ b/pkgs/development/python-modules/py-air-control/default.nix @@ -0,0 +1,27 @@ +{ buildPythonPackage, coapthon3, fetchFromGitHub, isPy27, lib, pycryptodomex }: + +buildPythonPackage rec { + pname = "py-air-control"; + version = "2.1.0"; + disabled = isPy27; + + src = fetchFromGitHub { + owner = "rgerganov"; + repo = pname; + rev = "v${version}"; + sha256 = "0mkggl5hwmj90djxbbz4svim6iv7xl8k324cb4rlc75p5rgcdwmh"; + }; + + propagatedBuildInputs = [ pycryptodomex coapthon3 ]; + + # tests sometimes hang forever on tear-down + doCheck = false; + pythonImportsCheck = [ "pyairctrl" ]; + + meta = with lib; { + inherit (src.meta) homepage; + description = "Command Line App for Controlling Philips Air Purifiers."; + license = licenses.mit; + maintainers = with maintainers; [ urbas ]; + }; +} diff --git a/pkgs/development/python-modules/trimesh/default.nix b/pkgs/development/python-modules/trimesh/default.nix index 2829c4e1901..91c1ec38e9a 100644 --- a/pkgs/development/python-modules/trimesh/default.nix +++ b/pkgs/development/python-modules/trimesh/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "trimesh"; - version = "3.8.14"; + version = "3.8.15"; src = fetchPypi { inherit pname version; - sha256 = "dba3d9fa1d9488053fc7504c141fbb2258cf5f37377a3824b20bd0a93f7240a0"; + sha256 = "3ab9c15e53916fd68d0c0ca9b46d95693d3238f164ffcf528a974c6e15cd353e"; }; propagatedBuildInputs = [ numpy ]; diff --git a/pkgs/development/tools/ytt/default.nix b/pkgs/development/tools/ytt/default.nix new file mode 100644 index 00000000000..05410bbaec5 --- /dev/null +++ b/pkgs/development/tools/ytt/default.nix @@ -0,0 +1,25 @@ +{ lib, buildGoModule, fetchFromGitHub }: +buildGoModule rec { + pname = "ytt"; + version = "0.30.0"; + + src = fetchFromGitHub { + owner = "vmware-tanzu"; + repo = "carvel-ytt"; + rev = "v${version}"; + sha256 = "0v9wp15aj4r7wif8i897zwj3c6bg41b95kk7vi3a3bzin814qn6l"; + }; + + goPackagePath = "github.com/vmware-tanzu/carvel-ytt"; + + vendorSha256 = null; + + subPackages = [ "cmd/ytt" ]; + + meta = with lib; { + description = "YAML templating tool that allows configuration of complex software via reusable templates with user-provided values"; + homepage = "https://get-ytt.io"; + license = licenses.asl20; + maintainers = with maintainers; [ brodes ]; + }; +} diff --git a/pkgs/games/factorio/versions.json b/pkgs/games/factorio/versions.json index a76f5abc147..b82652d21c1 100644 --- a/pkgs/games/factorio/versions.json +++ b/pkgs/games/factorio/versions.json @@ -2,12 +2,12 @@ "x86_64-linux": { "alpha": { "experimental": { - "name": "factorio_alpha_x64-1.1.3.tar.xz", + "name": "factorio_alpha_x64-1.1.4.tar.xz", "needsAuth": true, - "sha256": "0lsgj7361bf9zhidp4hpdhb9jj7wgcw7s0q5bpqbigbnz848m3lm", + "sha256": "0gg10pk0qb44iizwvlzndjr2xkygqzaxmhp9bam7gz86b5cxs0cl", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.3/alpha/linux64", - "version": "1.1.3" + "url": "https://factorio.com/get-download/1.1.4/alpha/linux64", + "version": "1.1.4" }, "stable": { "name": "factorio_alpha_x64-1.0.0.tar.xz", @@ -38,12 +38,12 @@ }, "headless": { "experimental": { - "name": "factorio_headless_x64-1.1.3.tar.xz", + "name": "factorio_headless_x64-1.1.4.tar.xz", "needsAuth": false, - "sha256": "1164hbbd1b33hjnvjm079czjypj837gpjp2i4f23rkd4qmjpl0dj", + "sha256": "085lpblysh126y38z01f358xcpwmx1a6hcjlc66aw5ff6bp36yq8", "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.3/headless/linux64", - "version": "1.1.3" + "url": "https://factorio.com/get-download/1.1.4/headless/linux64", + "version": "1.1.4" }, "stable": { "name": "factorio_headless_x64-1.0.0.tar.xz", diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix index 8ae600e310a..64ac3342acf 100644 --- a/pkgs/os-specific/linux/iwd/default.nix +++ b/pkgs/os-specific/linux/iwd/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { sha256 = "0gzpdgfwzlqj2n3amf2zhi2hlpa412878yphgx79y6b5gn1y1lm2"; }; - outputs = [ "out" "man" ]; + outputs = [ "out" "man" "test" ]; nativeBuildInputs = [ autoreconfHook @@ -61,7 +61,8 @@ stdenv.mkDerivation rec { doCheck = true; postInstall = '' - cp -a test/* $out/bin/ + mkdir -p $test/bin + cp -a test/* $test/bin/ mkdir -p $out/share cp -a doc $out/share/ cp -a README AUTHORS TODO $out/share/doc/ diff --git a/pkgs/os-specific/linux/kernel/linux-zen.nix b/pkgs/os-specific/linux/kernel/linux-zen.nix index 40d19d7237c..c4f08e568a0 100644 --- a/pkgs/os-specific/linux/kernel/linux-zen.nix +++ b/pkgs/os-specific/linux/kernel/linux-zen.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, buildLinux, ... } @ args: let - version = "5.9.10"; + version = "5.9.12"; in buildLinux (args // { @@ -13,7 +13,7 @@ buildLinux (args // { owner = "zen-kernel"; repo = "zen-kernel"; rev = "v${version}-zen1"; - sha256 = "0836mclwr3r4hm4pn8hp21sk14avrfwiv2s8lqx3cjasgdbyi826"; + sha256 = "07cmcw8ib9wc4im08pbmxhj187lhsfxh2asn4jdxadxxq3f60h6w"; }; extraMeta = { diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix index 0433715a5fb..0f8702eb6e0 100644 --- a/pkgs/os-specific/linux/sysdig/default.nix +++ b/pkgs/os-specific/linux/sysdig/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, cmake, kernel +{ stdenv, fetchFromGitHub, cmake, kernel, installShellFiles , luajit, zlib, ncurses, perl, jsoncpp, libb64, openssl, curl, jq, gcc, elfutils, tbb, c-ares, protobuf, grpc }: @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-lYjMvxMIReANNwMr62u881Nugrs9piOaN3EmrvGzRns="; }; - nativeBuildInputs = [ cmake perl ]; + nativeBuildInputs = [ cmake perl installShellFiles ]; buildInputs = [ zlib luajit ncurses jsoncpp libb64 openssl curl jq gcc elfutils tbb c-ares protobuf grpc ] ++ optionals (kernel != null) kernel.moduleBuildDependencies; @@ -38,19 +38,28 @@ stdenv.mkDerivation rec { export KERNELDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ''; - postInstall = optionalString (kernel != null) '' - make install_driver - kernel_dev=${kernel.dev} - kernel_dev=''${kernel_dev#/nix/store/} - kernel_dev=''${kernel_dev%%-linux*dev*} - if test -f "$out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko"; then - sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko - else - xz -d $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko.xz - sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko - xz $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko - fi - ''; + postInstall = + '' + # Fix the bash completion location + installShellCompletion --bash $out/etc/bash_completion.d/sysdig + rm $out/etc/bash_completion.d/sysdig + rmdir $out/etc/bash_completion.d + rmdir $out/etc + '' + + optionalString (kernel != null) '' + make install_driver + kernel_dev=${kernel.dev} + kernel_dev=''${kernel_dev#/nix/store/} + kernel_dev=''${kernel_dev%%-linux*dev*} + if test -f "$out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko"; then + sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko + else + xz -d $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko.xz + sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko + xz $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko + fi + ''; + meta = { description = "A tracepoint-based system tracing tool for Linux (with clients for other OSes)"; diff --git a/pkgs/servers/pulseaudio/hsphfpd.nix b/pkgs/servers/pulseaudio/hsphfpd.nix index 8c1bea86aca..dd2f5f07a2f 100644 --- a/pkgs/servers/pulseaudio/hsphfpd.nix +++ b/pkgs/servers/pulseaudio/hsphfpd.nix @@ -5,13 +5,13 @@ let in stdenv.mkDerivation { pname = "hsphfpd"; - version = "2020-10-25"; + version = "2020-11-27"; src = fetchFromGitHub { owner = "pali"; repo = "hsphfpd-prototype"; - rev = "601bf8f7bf2da97257aa6f786ec4cbb69b0ecbc8"; - sha256 = "06hh0xmp143334x8dg5nmp5727g38q2m5kqsvlrfia6vw2hcq0v0"; + rev = "58ffbf8f1b457e46801039d572cd344472828714"; + sha256 = "1hyg3cz6s58k6a7a3hcbs6wfk14cflnikd9psi7sirq6cn1z0ggb"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix index 9625c240c5d..14cdb3ba8f8 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "pg_auto_failover"; - version = "1.4.0"; + version = "1.4.1"; src = fetchFromGitHub { owner = "citusdata"; repo = pname; rev = "v${version}"; - sha256 = "1q5gy1jaklk885xjda9dhf6jd5q3sc7jd8p1zdlwv4srxf6sgf10"; + sha256 = "0x19p0b9hv1hkhwjm68cm8gskhnsl7np4si8wl0ablf6kasyl3q7"; }; buildInputs = [ postgresql openssl zlib readline ]; diff --git a/pkgs/tools/archivers/pax/default.nix b/pkgs/tools/archivers/pax/default.nix new file mode 100644 index 00000000000..aa457b976d0 --- /dev/null +++ b/pkgs/tools/archivers/pax/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + pname = "pax"; + version = "20201030"; + + src = fetchurl { + url = "http://www.mirbsd.org/MirOS/dist/mir/cpio/paxmirabilis-${version}.tgz"; + sha256 = "1p18nxijh323f4i1s2pg7pcr0557xljl5avv8ll5s9nfr34r5j0w"; + }; + + buildPhase = '' + sh Build.sh -r -tpax + ''; + + installPhase = '' + install -Dm555 pax $out/bin/pax + ln -s $out/bin/pax $out/bin/paxcpio + ln -s $out/bin/pax $out/bin/paxtar + install -Dm444 mans/pax{,cpio,tar}.1 -t $out/share/man/man1/ + ''; + + meta = with stdenv.lib; { + description = "POSIX standard archive tool from MirBSD"; + homepage = "https://www.mirbsd.org/pax.htm"; + license = licenses.bsd3; + maintainers = with maintainers; [ gebner ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/tools/misc/html-proofer/Gemfile.lock b/pkgs/tools/misc/html-proofer/Gemfile.lock index 243bf66e70c..9c42a2c0a9f 100644 --- a/pkgs/tools/misc/html-proofer/Gemfile.lock +++ b/pkgs/tools/misc/html-proofer/Gemfile.lock @@ -6,7 +6,7 @@ GEM ethon (0.12.0) ffi (>= 1.3.0) ffi (1.13.1) - html-proofer (3.17.3) + html-proofer (3.17.4) addressable (~> 2.3) mercenary (~> 0.3) nokogumbo (~> 2.0) diff --git a/pkgs/tools/misc/html-proofer/gemset.nix b/pkgs/tools/misc/html-proofer/gemset.nix index 2aeb5bfd9c0..d4c9a5367db 100644 --- a/pkgs/tools/misc/html-proofer/gemset.nix +++ b/pkgs/tools/misc/html-proofer/gemset.nix @@ -37,10 +37,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1i05vgyhyyps867zgpcd13wdidf0cpra39rhfff1jhkc1hn766lm"; + sha256 = "1wjwr7c19dr7rai44ypqghbakgav91h9swg88cddn7rxf7a6vl3b"; type = "gem"; }; - version = "3.17.3"; + version = "3.17.4"; }; mercenary = { groups = ["default"]; diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix index 1d48ccce66f..b5eba51a5d8 100644 --- a/pkgs/tools/misc/plantuml/default.nix +++ b/pkgs/tools/misc/plantuml/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, makeWrapper, jre, graphviz }: stdenv.mkDerivation rec { - version = "1.2020.20"; + version = "1.2020.21"; pname = "plantuml"; src = fetchurl { url = "mirror://sourceforge/project/plantuml/${version}/plantuml.${version}.jar"; - sha256 = "0dzj3ab9g7lh5r0n876g5d8yq966f2zxvd8mwrbib43dzaxpd00w"; + sha256 = "0hf2s3k6v57d51k72jjciakdmlgdrdg4aa7z5hchy74gchsp3x17"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/misc/tagref/default.nix b/pkgs/tools/misc/tagref/default.nix new file mode 100644 index 00000000000..64870e07a3d --- /dev/null +++ b/pkgs/tools/misc/tagref/default.nix @@ -0,0 +1,22 @@ +{ stdenv, lib, fetchFromGitHub, rustPlatform }: +rustPlatform.buildRustPackage rec { + pname = "tagref"; + version = "1.3.3"; + + src = fetchFromGitHub { + owner = "stepchowfun"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-3R6vhevSld9IjJMsGl5Rwv0ADMjm94NeZxvl8eYHR2Y="; + }; + + cargoSha256 = "sha256-pLugAT8QlgxawkR2y+LIacRh4nB59qpKLJjxc81CNDY="; + + meta = with lib; { + description = "Tagref helps you refer to other locations in your codebase."; + homepage = "https://github.com/stepchowfun/tagref"; + license = licenses.mit; + maintainers = [ maintainers.yusdacra ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/tools/networking/privoxy/default.nix b/pkgs/tools/networking/privoxy/default.nix index 10a25d5bf8b..8346c862fc6 100644 --- a/pkgs/tools/networking/privoxy/default.nix +++ b/pkgs/tools/networking/privoxy/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { pname = "privoxy"; - version = "3.0.28"; + version = "3.0.29"; src = fetchurl { url = "mirror://sourceforge/ijbswa/Sources/${version}%20%28stable%29/${pname}-${version}-stable-src.tar.gz"; - sha256 = "0jl2yav1qzqnaqnnx8i6i53ayckkimcrs3l6ryvv7bda6v08rmxm"; + sha256 = "17a8fbdyb0ixc0wwq68fg7xn7l6n7jq67njpq93psmxgzng0dii5"; }; hardeningEnable = [ "pie" ]; diff --git a/pkgs/tools/package-management/nix-update-source/default.nix b/pkgs/tools/package-management/nix-update-source/default.nix index a2add8f8a78..ebfd730544e 100644 --- a/pkgs/tools/package-management/nix-update-source/default.nix +++ b/pkgs/tools/package-management/nix-update-source/default.nix @@ -1,15 +1,20 @@ -{ lib, pkgs, fetchFromGitHub, python3Packages, nix-prefetch-scripts -, runtimeShell }: +{ lib, pkgs, fetchFromGitHub, python3Packages, nix-prefetch-scripts, runtimeShell }: + python3Packages.buildPythonApplication rec { + pname = "nix-update-source"; version = "0.6.3"; - name = "nix-update-source-${version}"; + src = fetchFromGitHub { owner = "timbertson"; repo = "nix-update-source"; - rev = "version-0.6.3"; + rev = "version-${version}"; sha256 = "157wvv9vnaszzwbj68jpdc0imcm1hdab3z760bx2axbsgfpqqilz"; }; + propagatedBuildInputs = [ nix-prefetch-scripts ]; + + doCheck = false; + passthru = { # NOTE: `fetch` should not be used within nixpkgs because it # uses a non-idiomatic structure. It is provided for use by @@ -28,6 +33,7 @@ python3Packages.buildPythonApplication rec { inherit src; overrideSrc = drv: lib.overrideDerivation drv (orig: { inherit src; }); }; + updateScript = '' #!${runtimeShell} set -e @@ -43,6 +49,7 @@ python3Packages.buildPythonApplication rec { --modify-nix default.nix ''; }; + meta = { description = "Utility to automate updating of nix derivation sources"; maintainers = with lib.maintainers; [ timbertson ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 857b3fd11b5..f6543872561 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2041,6 +2041,8 @@ in dyncall = callPackage ../development/libraries/dyncall { }; + dyndnsc = callPackage ../applications/networking/dyndns/dyndnsc { }; + earlyoom = callPackage ../os-specific/linux/earlyoom { }; EBTKS = callPackage ../development/libraries/science/biology/EBTKS { }; @@ -3544,6 +3546,8 @@ in inherit (darwin.apple_sdk.frameworks) Security; }; + pax = callPackage ../tools/archivers/pax { }; + rage = callPackage ../tools/security/rage { }; rar2fs = callPackage ../tools/filesystems/rar2fs { }; @@ -12233,6 +12237,8 @@ in yq-go = callPackage ../development/tools/yq-go { }; + ytt = callPackage ../development/tools/ytt {}; + winpdb = callPackage ../development/tools/winpdb { }; grabserial = callPackage ../development/tools/grabserial { }; @@ -28132,6 +28138,8 @@ in prow = callPackage ../applications/networking/cluster/prow { }; + tagref = callPackage ../tools/misc/tagref { }; + tellico = libsForQt5.callPackage ../applications/misc/tellico { }; termpdfpy = python3Packages.callPackage ../applications/misc/termpdf.py {}; @@ -28141,6 +28149,7 @@ in terraform_0_11-full terraform_0_12 terraform_0_13 + terraform_0_14 terraform_plugins_test ; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9dbd3509776..8e68f3b9793 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1452,6 +1452,8 @@ in { daemonize = callPackage ../development/python-modules/daemonize { }; + daemonocle = callPackage ../development/python-modules/daemonocle { }; + daphne = callPackage ../development/python-modules/daphne { }; darcsver = callPackage ../development/python-modules/darcsver { }; @@ -4858,6 +4860,8 @@ in { pxml = callPackage ../development/python-modules/pxml { }; + py-air-control = callPackage ../development/python-modules/py-air-control { }; + py2bit = callPackage ../development/python-modules/py2bit { }; py3buddy = toPythonModule (callPackage ../development/python-modules/py3buddy { });