diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 2aec0fbc6759..01a7ddf81419 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -293,9 +293,9 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt /pkgs/development/compilers/dotnet @IvarWithoutBones # Node.js -/pkgs/build-support/node/build-npm-package @winterqt -/pkgs/build-support/node/fetch-npm-deps @winterqt -/doc/languages-frameworks/javascript.section.md @winterqt +/pkgs/build-support/node/build-npm-package @lilyinstarlight @winterqt +/pkgs/build-support/node/fetch-npm-deps @lilyinstarlight @winterqt +/doc/languages-frameworks/javascript.section.md @lilyinstarlight @winterqt # OCaml /pkgs/build-support/ocaml @ulrikstrid diff --git a/nixos/doc/manual/configuration/renaming-interfaces.section.md b/nixos/doc/manual/configuration/renaming-interfaces.section.md index 18390c959b24..5b515e9f82a0 100644 --- a/nixos/doc/manual/configuration/renaming-interfaces.section.md +++ b/nixos/doc/manual/configuration/renaming-interfaces.section.md @@ -37,7 +37,7 @@ even if networkd is disabled. Alternatively, we can use a plain old udev rule: ```nix -services.udev.initrdRules = '' +boot.initrd.services.udev.rules = '' SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \ ATTR{address}=="52:54:00:12:01:01", KERNEL=="eth*", NAME="wan" ''; @@ -45,7 +45,7 @@ services.udev.initrdRules = '' ::: {.warning} The rule must be installed in the initrd using -`services.udev.initrdRules`, not the usual `services.udev.extraRules` +`boot.initrd.services.udev.rules`, not the usual `services.udev.extraRules` option. This is to avoid race conditions with other programs controlling the interface. ::: diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md index 66bed591d48e..c58985132be0 100644 --- a/nixos/doc/manual/release-notes/rl-2311.section.md +++ b/nixos/doc/manual/release-notes/rl-2311.section.md @@ -76,6 +76,8 @@ - `services.nginx` gained a `defaultListen` option at server-level with support for PROXY protocol listeners, also `proxyProtocol` is now exposed in `services.nginx.virtualHosts..listen` option. It is now possible to run PROXY listeners and non-PROXY listeners at a server-level, see [#213510](https://github.com/NixOS/nixpkgs/pull/213510/) for more details. +- `services.prometheus.exporters` has a new exporter to monitor electrical power consumption based on PowercapRAPL sensor called [Scaphandre](https://github.com/hubblo-org/scaphandre), see [#239803](https://github.com/NixOS/nixpkgs/pull/239803) for more details. + ## Nixpkgs internals {#sec-release-23.11-nixpkgs-internals} - The `qemu-vm.nix` module by default now identifies block devices via diff --git a/nixos/modules/hardware/video/displaylink.nix b/nixos/modules/hardware/video/displaylink.nix index 912f53da836a..ce5fbeeae536 100644 --- a/nixos/modules/hardware/video/displaylink.nix +++ b/nixos/modules/hardware/video/displaylink.nix @@ -26,6 +26,7 @@ in Identifier "DisplayLink" MatchDriver "evdi" Driver "modesetting" + Option "TearFree" "true" Option "AccelMethod" "none" EndSection ''; diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix index 501f126e1a30..46bf7548e95e 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters.nix @@ -65,6 +65,7 @@ let "redis" "rspamd" "rtl_433" + "scaphandre" "script" "shelly" "snmp" @@ -301,6 +302,21 @@ in Please specify either 'services.prometheus.exporters.sql.configuration' or 'services.prometheus.exporters.sql.configFile' ''; + } { + assertion = cfg.scaphandre.enable -> (pkgs.stdenv.hostPlatform.isx86_64 == true); + message = '' + Only x86_64 host platform architecture is not supported. + ''; + } { + assertion = cfg.scaphandre.enable -> ((lib.kernel.whenHelpers pkgs.linux.version).whenOlder "5.11" true).condition == false; + message = '' + A kernel version newer than '5.11' is required. ${pkgs.linux.version} + ''; + } { + assertion = cfg.scaphandre.enable -> (builtins.elem "intel_rapl_common" config.boot.kernelModules); + message = '' + Please enable 'intel_rapl_common' in 'boot.kernelModules'. + ''; } ] ++ (flip map (attrNames exporterOpts) (exporter: { assertion = cfg.${exporter}.firewallFilter != null -> cfg.${exporter}.openFirewall; message = '' diff --git a/nixos/modules/services/monitoring/prometheus/exporters/scaphandre.nix b/nixos/modules/services/monitoring/prometheus/exporters/scaphandre.nix new file mode 100644 index 000000000000..3b6ebf65b090 --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/exporters/scaphandre.nix @@ -0,0 +1,33 @@ +{ config +, lib +, pkgs +, options +}: + +let + logPrefix = "services.prometheus.exporter.scaphandre"; + cfg = config.services.prometheus.exporters.scaphandre; +in { + port = 8080; + extraOpts = { + telemetryPath = lib.mkOption { + type = lib.types.str; + default = "/metrics"; + description = lib.mdDoc '' + Path under which to expose metrics. + ''; + }; + }; + + serviceOpts = { + serviceConfig = { + ExecStart = '' + ${pkgs.scaphandre}/bin/scaphandre prometheus \ + --address ${cfg.listenAddress} \ + --port ${toString cfg.port} \ + --suffix ${cfg.telemetryPath} \ + ${lib.concatStringsSep " \\\n " cfg.extraFlags} + ''; + }; + }; +} diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix index a69f2347b54b..772067b520c8 100644 --- a/nixos/tests/prometheus-exporters.nix +++ b/nixos/tests/prometheus-exporters.nix @@ -1085,6 +1085,22 @@ let ''; }; + scaphandre = { + exporterConfig = { + enable = true; + }; + metricProvider = { + boot.kernelModules = [ "intel_rapl_common" ]; + }; + exporterTest = '' + wait_for_unit("prometheus-scaphandre-exporter.service") + wait_for_open_port(8080) + wait_until_succeeds( + "curl -sSf 'localhost:8080/metrics'" + ) + ''; + }; + shelly = { exporterConfig = { enable = true; diff --git a/nixos/tests/tmate-ssh-server.nix b/nixos/tests/tmate-ssh-server.nix index e7f94db9bfcf..122434c505c1 100644 --- a/nixos/tests/tmate-ssh-server.nix +++ b/nixos/tests/tmate-ssh-server.nix @@ -24,6 +24,7 @@ in services.tmate-ssh-server = { enable = true; port = 2223; + openFirewall = true; }; }; client = { ... }: { diff --git a/pkgs/applications/blockchains/lightning-pool/default.nix b/pkgs/applications/blockchains/lightning-pool/default.nix index ccb65fb0fd87..0846db643db8 100644 --- a/pkgs/applications/blockchains/lightning-pool/default.nix +++ b/pkgs/applications/blockchains/lightning-pool/default.nix @@ -5,19 +5,21 @@ buildGoModule rec { pname = "lightning-pool"; - version = "0.5.3-alpha"; + version = "0.6.4-beta"; src = fetchFromGitHub { owner = "lightninglabs"; repo = "pool"; rev = "v${version}"; - sha256 = "1nc3hksk9qcxrsyqpz9vcfc8x093rc8yx8ppfk177j9fhdnn8bk7"; + hash = "sha256-lSc/zOZ5VpmaZ7jrlGvSaczrgOtAMS9tDUxcMoFdBmQ="; }; - vendorSha256 = "09yxaa74814l1rp0arqhqpplr2j0p8dj81zqcbxlwp5ckjv9r2za"; + vendorHash = "sha256-DD27zUW524qe9yLaVPEzw/c4sSzlH89HMw0PdtNYEhg="; subPackages = [ "cmd/pool" "cmd/poold" ]; + ldflags = [ "-s" "-w" ]; + meta = with lib; { description = "Lightning Pool Client"; homepage = "https://github.com/lightninglabs/pool"; diff --git a/pkgs/applications/blockchains/lndconnect/default.nix b/pkgs/applications/blockchains/lndconnect/default.nix index 9a3aa137453b..860ca5a1bd6a 100644 --- a/pkgs/applications/blockchains/lndconnect/default.nix +++ b/pkgs/applications/blockchains/lndconnect/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub, lndconnect }: +{ lib, buildGoModule, fetchFromGitHub }: buildGoModule rec { pname = "lndconnect"; version = "0.2.1"; @@ -7,10 +7,10 @@ buildGoModule rec { owner = "LN-Zap"; repo = pname; rev = "v${version}"; - sha256 = "sha256-cuZkVeFUQq7+kQo/YjXCMPANUL5QooAWgegcoWo3M0c="; + hash = "sha256-cuZkVeFUQq7+kQo/YjXCMPANUL5QooAWgegcoWo3M0c="; }; - vendorSha256 = "sha256-iE0nht3PH2R9pTyyrySk759untC7snGt3wTXk4/pjrU="; + vendorHash = "sha256-iE0nht3PH2R9pTyyrySk759untC7snGt3wTXk4/pjrU="; ldflags = [ "-s" "-w" ]; diff --git a/pkgs/applications/misc/cherrytree/default.nix b/pkgs/applications/misc/cherrytree/default.nix index 4cf0d0336662..0abdb65ca03d 100644 --- a/pkgs/applications/misc/cherrytree/default.nix +++ b/pkgs/applications/misc/cherrytree/default.nix @@ -20,13 +20,13 @@ stdenv.mkDerivation rec { pname = "cherrytree"; - version = "0.99.55"; + version = "0.99.56"; src = fetchFromGitHub { owner = "giuspen"; repo = "cherrytree"; rev = version; - hash = "sha256-1ytph2HTwIqVTD6+a5P1gvFG+2xsfZWRkmn7RpwuwKY="; + hash = "sha256-kDbUn81YfSMAX7FKcw+nDSrsNvrhOX0+NmgZUYNqCqQ="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/misc/goldendict/default.nix b/pkgs/applications/misc/goldendict/default.nix index 097dbe58ec54..1222fefab07a 100644 --- a/pkgs/applications/misc/goldendict/default.nix +++ b/pkgs/applications/misc/goldendict/default.nix @@ -1,6 +1,7 @@ -{ lib, stdenv, mkDerivation, fetchFromGitHub, pkg-config +{ lib, stdenv, fetchFromGitHub, pkg-config , libXtst, libvorbis, hunspell, lzo, xz, bzip2, libiconv , qtbase, qtsvg, qtwebkit, qtx11extras, qttools, qmake +, wrapQtAppsHook , withCC ? true, opencc , withEpwing ? true, libeb , withExtraTiff ? true, libtiff @@ -8,20 +9,19 @@ , withMultimedia ? true , withZim ? true, zstd }: -mkDerivation rec { +stdenv.mkDerivation rec { pname = "goldendict"; - version = "2022-05-10"; + version = "1.5.0"; src = fetchFromGitHub { owner = "goldendict"; repo = pname; - rev = "f810c6bd724e61977b4e94ca2d8abfa5bd766379"; - sha256 = "sha256-gNM+iahoGQy8TlNFLQx5ksITzQznv7MWMX/88QCTnL0"; + rev = "v${version}"; + hash = "sha256-80o8y+mbzpyMQYUGHYs/zgQT23nLVCs7Jcr8FbbXn8M="; }; patches = [ ./0001-dont-check-for-updates.patch - ] ++ lib.optionals stdenv.isDarwin [ ./0001-dont-use-maclibs.patch ]; @@ -31,7 +31,7 @@ mkDerivation rec { --replace "opencc.2" "opencc" ''; - nativeBuildInputs = [ pkg-config qmake ]; + nativeBuildInputs = [ pkg-config qmake wrapQtAppsHook ]; buildInputs = [ qtbase qtsvg qtwebkit qttools libvorbis hunspell xz lzo diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index c5584492f7ff..31cea2d08709 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -19,9 +19,9 @@ } }, "beta": { - "version": "115.0.5790.32", - "sha256": "1zy4f57j047aw164s4x0904yazq6nvyy2wjjk9amiav9qyrfxzr6", - "sha256bin64": "0qgciqrjnsb9vxnvvcaqn728x9l0s72v78a6f7zffjxps87rbaz5", + "version": "115.0.5790.40", + "sha256": "1ab034zrgyz0gwi0caz6y1nyr0p5yhbly50chnhvsr3k6gmidl58", + "sha256bin64": "02vzlz5z87n9lwdhxnzdzr5w85l3b828j0y1z6fzq7br90yr0pcw", "deps": { "gn": { "version": "2023-05-19", @@ -32,15 +32,15 @@ } }, "dev": { - "version": "116.0.5829.0", - "sha256": "0ip0wha705nr7yr4fn25psb6r41a703b9n87v6q8k8vzax5492y6", - "sha256bin64": "1fa2l7n8vdcnf6p0m7qqh05fimbwdh7p8a142l0vi8l9kx4n9z54", + "version": "116.0.5845.4", + "sha256": "0p3v4dzyrj1fn97s2grkc2x8lgfm14rgwalrnb3gx9syi8gdwkpw", + "sha256bin64": "1wim32q9sq501wrnz1xx4s1r0gywz4pgf3r9d0zga3g86jp385ax", "deps": { "gn": { - "version": "2023-06-08", + "version": "2023-06-09", "url": "https://gn.googlesource.com/gn", - "rev": "1cd35c1b722472e714c30d12031af81443bb20ae", - "sha256": "09y8jkxzkz87zp2js1j7yvqnck9n0182lm7c3x330d8agwrmdkrj" + "rev": "4bd1a77e67958fb7f6739bd4542641646f264e5d", + "sha256": "14h9jqspb86sl5lhh6q0kk2rwa9zcak63f8drp7kb3r4dx08vzsw" } } }, diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix index 9dd813b28372..b7fa22792d94 100644 --- a/pkgs/applications/networking/browsers/opera/default.nix +++ b/pkgs/applications/networking/browsers/opera/default.nix @@ -51,11 +51,11 @@ let in stdenv.mkDerivation rec { pname = "opera"; - version = "99.0.4788.77"; + version = "100.0.4815.21"; src = fetchurl { url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb"; - hash = "sha256-VdhUyXKqQaIpvwE4izQXIVdyDHfW7FQLfiiUBop70rI="; + hash = "sha256-bDCj4ZtULO1JkuAsqy2ppcWOshgGRG03qlb3KV3CtSE="; }; unpackPhase = "dpkg-deb -x $src ."; diff --git a/pkgs/applications/networking/cluster/openlens/default.nix b/pkgs/applications/networking/cluster/openlens/default.nix index 4e9392e790f4..2b486bf940ef 100644 --- a/pkgs/applications/networking/cluster/openlens/default.nix +++ b/pkgs/applications/networking/cluster/openlens/default.nix @@ -2,11 +2,11 @@ let pname = "openlens"; - version = "6.5.2-309"; + version = "6.5.2-356"; src = fetchurl { url = "https://github.com/MuhammedKalkan/OpenLens/releases/download/v${version}/OpenLens-${version}.x86_64.AppImage"; - sha256 = "sha256-APJYN5GBBw6FhF7NkRXip4coLY5Hxi+aE6r5IxzODFM="; + sha256 = "sha256-ZOLfnAKZMqO/MkpjX2SQhtBIeWRGTkPBWdAw67a3l9Q="; }; appimageContents = appimageTools.extractType2 { diff --git a/pkgs/applications/science/logic/cryptominisat/default.nix b/pkgs/applications/science/logic/cryptominisat/default.nix index cd04d612b529..1d402573146e 100644 --- a/pkgs/applications/science/logic/cryptominisat/default.nix +++ b/pkgs/applications/science/logic/cryptominisat/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "cryptominisat"; - version = "5.11.4"; + version = "5.11.11"; src = fetchFromGitHub { owner = "msoos"; repo = "cryptominisat"; rev = version; - hash = "sha256-7JNfFKSYWgyyNnWNzXGLqWRwSW+5r6PBMelKeAmx8sc="; + hash = "sha256-TYuOgOOs1EsdNz7ctZMsArTlw3QzHjiPZVozuniiPcI="; }; buildInputs = [ python3 boost ]; diff --git a/pkgs/applications/science/math/geogebra/default.nix b/pkgs/applications/science/math/geogebra/default.nix index cde4ed20c2d8..b8d149364ef2 100644 --- a/pkgs/applications/science/math/geogebra/default.nix +++ b/pkgs/applications/science/math/geogebra/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchurl, jre, makeDesktopItem, makeWrapper, unzip, language ? "en_US" }: let pname = "geogebra"; - version = "5-0-745-0"; + version = "5-0-785-0"; srcIcon = fetchurl { url = "http://static.geogebra.org/images/geogebra-logo.svg"; @@ -45,9 +45,9 @@ let src = fetchurl { urls = [ "https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2" - "https://web.archive.org/web/20221126102702/https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2" + "https://web.archive.org/web/20230627211902/https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2" ]; - hash = "sha256-DhZ9inK/6Cc/vunYNHhyP4tI/9/toUOgV4lZWmFIj3c="; + hash = "sha256-cL4ERKZpE9Y6IdOjvYiX3nIIW3E2qoqkpMyTszvFseM="; }; nativeBuildInputs = [ makeWrapper ]; @@ -75,10 +75,10 @@ let src = fetchurl { urls = [ - "https://download.geogebra.org/installers/5.0/GeoGebra-MacOS-Installer-withJava-${version}.zip" - "https://web.archive.org/web/20221126102602/https://download.geogebra.org/installers/5.0/GeoGebra-MacOS-Installer-withJava-${version}.zip" + "https://download.geogebra.org/installers/5.0/GeoGebra-MacOS-Installer-withJava-${version}-x64.zip" + "https://web.archive.org/web/20230627211427/https://download.geogebra.org/installers/5.0/GeoGebra-MacOS-Installer-withJava-${version}-x64.zip" ]; - hash = "sha256-La7NzEoao4ExUw3mBGstvSHm94/JM5LHlhOE9ewJePY="; + hash = "sha256-KHjNH8c3/aMJ5CcwCwW9z0QRxJwqYU5I610zpMMruBQ="; }; dontUnpack = true; diff --git a/pkgs/applications/science/math/geogebra/geogebra6.nix b/pkgs/applications/science/math/geogebra/geogebra6.nix index 22978347f4c0..db066ea46317 100644 --- a/pkgs/applications/science/math/geogebra/geogebra6.nix +++ b/pkgs/applications/science/math/geogebra/geogebra6.nix @@ -1,7 +1,7 @@ { lib, stdenv, unzip, fetchurl, electron, makeWrapper, geogebra }: let pname = "geogebra"; - version = "6-0-745-0"; + version = "6-0-785-0"; srcIcon = geogebra.srcIcon; desktopItem = geogebra.desktopItem; @@ -30,9 +30,9 @@ let src = fetchurl { urls = [ "https://download.geogebra.org/installers/6.0/GeoGebra-Linux64-Portable-${version}.zip" - "https://web.archive.org/web/20221126110648/https://download.geogebra.org/installers/6.0/GeoGebra-Linux64-Portable-${version}.zip" + "https://web.archive.org/web/20230627211859/https://download.geogebra.org/installers/6.0/GeoGebra-Linux64-Portable-${version}.zip" ]; - hash = "sha256-UksHZt7bEs/aRzFiJrT1Quz/SFSvA88sdhoi1IEVdBc="; + hash = "sha256-Yv8pTCKkyM7XMUNV2Pcn/YxWo1MbOTNMQBFuJFhB/uE="; }; dontConfigure = true; @@ -65,9 +65,9 @@ let src = fetchurl { urls = [ "https://download.geogebra.org/installers/6.0/GeoGebra-Classic-6-MacOS-Portable-${version}.zip" - "https://web.archive.org/web/20221126111123/https://download.geogebra.org/installers/6.0/GeoGebra-Classic-6-MacOS-Portable-${version}.zip" + "https://web.archive.org/web/20230627214413/https://download.geogebra.org/installers/6.0/GeoGebra-Classic-6-MacOS-Portable-${version}.zip" ]; - hash = "sha256-Qn2MD3W5icX45Tfs19oRV8J3lYmL8T+hp7A+crRb9tQ="; + hash = "sha256-HtIhhq8E1Q5B6xZ7q6Ok95Rt53VWLoGf8PbY+UEOSKg="; }; dontUnpack = true; diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix index d256854ea4d3..58cab86e6b1d 100644 --- a/pkgs/applications/video/mkvtoolnix/default.nix +++ b/pkgs/applications/video/mkvtoolnix/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitLab -, fetchpatch , pkg-config , autoreconfHook , rake @@ -56,15 +55,6 @@ stdenv.mkDerivation rec { sha256 = "t+kfFS5c8w+c9wxNh59nceFesfdMy8qvHlUqDbZAxkk="; }; - patches = [ - # Fix compatiblity with fmt 10.0. Remove with the next release - (fetchpatch { - url = "https://gitlab.com/mbunkus/mkvtoolnix/-/commit/24716ce95bf5b10d685611de23489045cf2ca5cc.patch"; - hash = "sha256-vOm3FmXL3mHzs3RHCJ9gbTLSe3xhSXo8IfgA+s0cFjY="; - includes = [ "src/common/codec.h" ]; - }) - ]; - nativeBuildInputs = [ autoreconfHook docbook_xsl diff --git a/pkgs/applications/video/obs-studio/plugins/obs-gradient-source.nix b/pkgs/applications/video/obs-studio/plugins/obs-gradient-source.nix index fa86c25ef72d..13255c2898c2 100644 --- a/pkgs/applications/video/obs-studio/plugins/obs-gradient-source.nix +++ b/pkgs/applications/video/obs-studio/plugins/obs-gradient-source.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "obs-gradient-source"; - version = "0.3.1"; + version = "0.3.2"; src = fetchFromGitHub { owner = "exeldro"; repo = "obs-gradient-source"; rev = version; - sha256 = "sha256-4u7RzF2b7EWwsfEtRvGDifue34jJM4MaYpwumu0MFpQ="; + sha256 = "sha256-5pll84UZYOTESrid2UuC1aWlaLrWf1LpXqlV09XKLug="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/build-support/node/fetch-npm-deps/default.nix b/pkgs/build-support/node/fetch-npm-deps/default.nix index 41cad9d12ee6..3d9928a5d19e 100644 --- a/pkgs/build-support/node/fetch-npm-deps/default.nix +++ b/pkgs/build-support/node/fetch-npm-deps/default.nix @@ -115,7 +115,7 @@ meta = with lib; { description = "Prefetch dependencies from npm (for use with `fetchNpmDeps`)"; - maintainers = with maintainers; [ winter ]; + maintainers = with maintainers; [ lilyinstarlight winter ]; license = licenses.mit; }; }; diff --git a/pkgs/development/compilers/ligo/2706.diff b/pkgs/development/compilers/ligo/2706.diff new file mode 100644 index 000000000000..8eab82e1461e --- /dev/null +++ b/pkgs/development/compilers/ligo/2706.diff @@ -0,0 +1,58 @@ +--- a/src/passes/02-parsing/cameligo/dune ++++ b/src/passes/02-parsing/cameligo/dune +@@ -20,7 +20,9 @@ + (action + (with-stdout-to + %{targets} +- (run menhir-recover --external-tokens Lexing_cameligo.Token Parser.cmly)))) ++ (run menhir-recover ++ --external-tokens Lexing_cameligo.Token.MenhirInterpreter ++ Parser.cmly)))) + + ;; Build of the CameLIGO parser as a library + +diff --git a/src/passes/02-parsing/jsligo/dune b/src/passes/02-parsing/jsligo/dune +index d691ab0af0fe6ae87119405c19e49e2b5c2d1a23..3b13a06e69737037df0df12aa087506f402d8430 100644 +--- a/src/passes/02-parsing/jsligo/dune ++++ b/src/passes/02-parsing/jsligo/dune +@@ -20,7 +20,9 @@ + (action + (with-stdout-to + %{targets} +- (run menhir-recover --external-tokens Lexing_jsligo.Token Parser.cmly)))) ++ (run menhir-recover ++ --external-tokens Lexing_jsligo.Token.MenhirInterpreter ++ Parser.cmly)))) + + ;; Build of the JsLIGO parser as a library + +diff --git a/src/passes/02-parsing/pascaligo/dune b/src/passes/02-parsing/pascaligo/dune +index 0516a8b790d2eb3ebdb833051bd66241ca44832c..e650decc7ba9907551e1016fee1a53b806fb593e 100644 +--- a/src/passes/02-parsing/pascaligo/dune ++++ b/src/passes/02-parsing/pascaligo/dune +@@ -20,7 +20,9 @@ + (action + (with-stdout-to + %{targets} +- (run menhir-recover --external-tokens Lexing_pascaligo.Token Parser.cmly)))) ++ (run menhir-recover ++ --external-tokens Lexing_pascaligo.Token.MenhirInterpreter ++ Parser.cmly)))) + + ;; Build of the PascaLIGO parser as a library + +diff --git a/src/passes/02-parsing/pyligo/dune b/src/passes/02-parsing/pyligo/dune +index abb0165f6f185d21ea4a52a152cef188ae9dde4b..5930d86ab721e9dd683e5c4f2873b196ac5859b4 100644 +--- a/src/passes/02-parsing/pyligo/dune ++++ b/src/passes/02-parsing/pyligo/dune +@@ -20,7 +20,9 @@ + (action + (with-stdout-to + %{targets} +- (run menhir-recover --external-tokens Lexing_pyligo.Token Parser.cmly)))) ++ (run menhir-recover ++ --external-tokens Lexing_pyligo.Token.MenhirInterpreter ++ Parser.cmly)))) + + ;; Build of the PyLIGO parser as a library + diff --git a/pkgs/development/compilers/ligo/default.nix b/pkgs/development/compilers/ligo/default.nix index 56635de5007a..a176ddf9b42e 100644 --- a/pkgs/development/compilers/ligo/default.nix +++ b/pkgs/development/compilers/ligo/default.nix @@ -24,6 +24,9 @@ ocamlPackages.buildDunePackage rec { fetchSubmodules = true; }; + # https://gitlab.com/ligolang/ligo/-/merge_requests/2706.diff + patches = [ ./2706.diff ]; + postPatch = '' substituteInPlace "vendors/tezos-ligo/src/lib_hacl/hacl.ml" \ --replace \ diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix index 1cbdd84ba639..43274b3d9d16 100644 --- a/pkgs/development/compilers/nim/default.nix +++ b/pkgs/development/compilers/nim/default.nix @@ -103,6 +103,9 @@ in { ./nixbuild.patch # Load libraries at runtime by absolute path + + ./extra-mangling.patch + # Mangle store paths of modules to prevent runtime dependence. ] ++ lib.optional (!stdenv.hostPlatform.isWindows) ./toLocation.patch; configurePhase = '' diff --git a/pkgs/development/compilers/nim/extra-mangling.patch b/pkgs/development/compilers/nim/extra-mangling.patch new file mode 100644 index 000000000000..b68f7033994d --- /dev/null +++ b/pkgs/development/compilers/nim/extra-mangling.patch @@ -0,0 +1,48 @@ +diff --git a/compiler/modulepaths.nim b/compiler/modulepaths.nim +index e80ea3fa6..8ecf27a85 100644 +--- a/compiler/modulepaths.nim ++++ b/compiler/modulepaths.nim +@@ -70,6 +70,13 @@ proc checkModuleName*(conf: ConfigRef; n: PNode; doLocalError=true): FileIndex = + else: + result = fileInfoIdx(conf, fullPath) + ++proc rot13(result: var string) = ++ for i, c in result: ++ case c ++ of 'a'..'m', 'A'..'M': result[i] = char(c.uint8 + 13) ++ of 'n'..'z', 'N'..'Z': result[i] = char(c.uint8 - 13) ++ else: discard ++ + proc mangleModuleName*(conf: ConfigRef; path: AbsoluteFile): string = + ## Mangle a relative module path to avoid path and symbol collisions. + ## +@@ -78,9 +85,11 @@ proc mangleModuleName*(conf: ConfigRef; path: AbsoluteFile): string = + ## + ## Example: + ## `foo-#head/../bar` becomes `@foo-@hhead@s..@sbar` +- "@m" & relativeTo(path, conf.projectPath).string.multiReplace( ++ result = "@m" & relativeTo(path, conf.projectPath).string.multiReplace( + {$os.DirSep: "@s", $os.AltSep: "@s", "#": "@h", "@": "@@", ":": "@c"}) ++ rot13(result) + + proc demangleModuleName*(path: string): string = + ## Demangle a relative module path. + result = path.multiReplace({"@@": "@", "@h": "#", "@s": "/", "@m": "", "@c": ":"}) ++ rot13(result) +diff --git a/compiler/msgs.nim b/compiler/msgs.nim +index 3f386cc61..054f7f647 100644 +--- a/compiler/msgs.nim ++++ b/compiler/msgs.nim +@@ -659,8 +659,10 @@ proc uniqueModuleName*(conf: ConfigRef; fid: FileIndex): string = + for i in 0..= 1.2.0' 'msgpack-c >= 1.2.0' + ''; - buildInputs = [ libtool zlib openssl libevent ncurses ruby msgpack libssh ]; - nativeBuildInputs = [ autoreconfHook cmake pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + cmake + pkg-config + ]; + + buildInputs = [ + libtool + zlib + openssl + libevent + ncurses + ruby + msgpack-c + libssh + ]; + + dontUseCmakeConfigure = true; passthru.tests.tmate-ssh-server = nixosTests.tmate-ssh-server; diff --git a/pkgs/servers/web-apps/searxng/default.nix b/pkgs/servers/web-apps/searxng/default.nix index 86ea435d94ae..8cc99e5cf4cc 100644 --- a/pkgs/servers/web-apps/searxng/default.nix +++ b/pkgs/servers/web-apps/searxng/default.nix @@ -5,13 +5,13 @@ python3.pkgs.buildPythonApplication rec { pname = "searxng"; - version = "unstable-2023-05-19"; + version = "unstable-2023-06-26"; src = fetchFromGitHub { owner = pname; repo = pname; - rev = "d867bf17e6d2f9a7c83c9a1ffafda5184a24c0e3"; - sha256 = "sha256-W7/8/3FzwErPkRlfuyqajova6LRKarANPtc6L/z20CI="; + rev = "da7c30291dcf53cc5b3d98f9aada5615cd1593a9"; + sha256 = "sha256-kbNw/YgcBZNkmn2nmsnEnc9Y8MJg3zGFdW1x9GIo+dM="; }; postPatch = '' @@ -33,6 +33,7 @@ python3.pkgs.buildPythonApplication rec { jinja2 lxml pygments + pytomlpp pyyaml redis uvloop @@ -50,6 +51,9 @@ python3.pkgs.buildPythonApplication rec { # Create a symlink for easier access to static data mkdir -p $out/share ln -s ../${python3.sitePackages}/searx/static $out/share/ + + # copy config schema for the limiter + cp searx/botdetection/limiter.toml $out/${python3.sitePackages}/searx/botdetection/limiter.toml ''; meta = with lib; { diff --git a/pkgs/shells/xonsh/default.nix b/pkgs/shells/xonsh/default.nix index d8dce917120f..faa2ae763088 100644 --- a/pkgs/shells/xonsh/default.nix +++ b/pkgs/shells/xonsh/default.nix @@ -39,11 +39,6 @@ python3Packages.buildPythonApplication rec { "--prefix PYTHONPATH : ${placeholder "out"}/lib/${python3Packages.python.libPrefix}/site-packages" ]; - postInstall = '' - wrapProgram $out/bin/xonsh \ - $makeWrapperArgs - ''; - disabledTests = [ # fails on sandbox "test_colorize_file" diff --git a/pkgs/shells/zsh/pure-prompt/default.nix b/pkgs/shells/zsh/pure-prompt/default.nix index ce75c2f346b5..6fbda66d4cc2 100644 --- a/pkgs/shells/zsh/pure-prompt/default.nix +++ b/pkgs/shells/zsh/pure-prompt/default.nix @@ -4,13 +4,13 @@ with lib; stdenv.mkDerivation rec { pname = "pure-prompt"; - version = "1.21.0"; + version = "1.22.0"; src = fetchFromGitHub { owner = "sindresorhus"; repo = "pure"; rev = "v${version}"; - sha256 = "sha256-YfasTKCABvMtncrfoWR1Su9QxzCqPED18/BTXaJHttg="; + sha256 = "sha256-TR4CyBZ+KoZRs9XDmWE5lJuUXXU1J8E2Z63nt+FS+5w="; }; strictDeps = true; diff --git a/pkgs/tools/games/ukmm/Cargo.lock b/pkgs/tools/games/ukmm/Cargo.lock index ffa416f84fe7..9872fa564617 100644 --- a/pkgs/tools/games/ukmm/Cargo.lock +++ b/pkgs/tools/games/ukmm/Cargo.lock @@ -4595,7 +4595,7 @@ dependencies = [ [[package]] name = "uk-content" -version = "0.10.0" +version = "0.10.1" dependencies = [ "anyhow", "indexmap", @@ -4632,7 +4632,7 @@ dependencies = [ [[package]] name = "uk-editor" -version = "0.10.0" +version = "0.10.1" dependencies = [ "anyhow", "eframe", @@ -4659,7 +4659,7 @@ dependencies = [ [[package]] name = "uk-manager" -version = "0.10.0" +version = "0.10.1" dependencies = [ "anyhow", "anyhow_ext", @@ -4697,7 +4697,7 @@ dependencies = [ [[package]] name = "uk-mod" -version = "0.10.0" +version = "0.10.1" dependencies = [ "anyhow", "anyhow_ext", @@ -4738,7 +4738,7 @@ dependencies = [ [[package]] name = "uk-reader" -version = "0.10.0" +version = "0.10.1" dependencies = [ "anyhow", "anyhow_ext", @@ -4763,7 +4763,7 @@ dependencies = [ [[package]] name = "uk-ui" -version = "0.10.0" +version = "0.10.1" dependencies = [ "catppuccin-egui", "color-hex", @@ -4796,14 +4796,14 @@ dependencies = [ [[package]] name = "uk-util" -version = "0.10.0" +version = "0.10.1" dependencies = [ "once_cell", ] [[package]] name = "ukmm" -version = "0.10.0" +version = "0.10.1" dependencies = [ "anyhow", "anyhow_ext", diff --git a/pkgs/tools/games/ukmm/default.nix b/pkgs/tools/games/ukmm/default.nix index f47b0decc733..5f2d366e7f9b 100644 --- a/pkgs/tools/games/ukmm/default.nix +++ b/pkgs/tools/games/ukmm/default.nix @@ -12,13 +12,13 @@ rustPlatform.buildRustPackage rec { pname = "ukmm"; - version = "0.10.0"; + version = "0.10.1"; src = fetchFromGitHub { owner = "NiceneNerd"; repo = pname; rev = "v${version}"; - hash = "sha256-Cdbwb+YHAjGI8Sshb5dxHiCrm7QvLXRqkpEWJdvBA2Y="; + hash = "sha256-suxUiJ++39aJe5XmAqh5sQajLzYoXo06k9mYw9rLU9E="; }; cargoLock = { diff --git a/pkgs/tools/misc/mongodb-compass/default.nix b/pkgs/tools/misc/mongodb-compass/default.nix index a1b42d4e2934..f047ce61eafc 100644 --- a/pkgs/tools/misc/mongodb-compass/default.nix +++ b/pkgs/tools/misc/mongodb-compass/default.nix @@ -33,7 +33,7 @@ xorg, }: let - version = "1.37.0"; + version = "1.38.0"; rpath = lib.makeLibraryPath [ alsa-lib @@ -82,7 +82,7 @@ let if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { url = "https://downloads.mongodb.com/compass/mongodb-compass_${version}_amd64.deb"; - sha256 = "sha256-SeglhwIKsxhmhA3rNcg6paSBwlB4a4Aiq9L2DFR9/d4="; + sha256 = "sha256-bTt4gdkKaR8OESzPwUHZ9C21uf/Lcy/eSya2oeAtgNA="; } else throw "MongoDB compass is not supported on ${stdenv.hostPlatform.system}"; diff --git a/pkgs/tools/misc/tmate/default.nix b/pkgs/tools/misc/tmate/default.nix index 76a2afcfb6b0..1956f25fb97f 100644 --- a/pkgs/tools/misc/tmate/default.nix +++ b/pkgs/tools/misc/tmate/default.nix @@ -1,7 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, cmake, libtool, pkg-config -, zlib, openssl, libevent, ncurses, ruby, msgpack, libssh }: +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, cmake +, libtool +, pkg-config +, zlib +, openssl +, libevent +, ncurses +, ruby +, msgpack-c +, libssh +}: -stdenv.mkDerivation rec { +stdenv.mkDerivation { pname = "tmate"; version = "unstable-2022-08-07"; @@ -12,10 +25,29 @@ stdenv.mkDerivation rec { sha256 = "sha256-t96gfmAMcsjkGf8pvbEx2fNx4Sj3W6oYoQswB3Dklb8="; }; - dontUseCmakeConfigure = true; + postPatch = '' + substituteInPlace configure.ac \ + --replace 'msgpack >= 1.1.0' 'msgpack-c >= 1.1.0' + ''; - buildInputs = [ libtool zlib openssl libevent ncurses ruby msgpack libssh ]; - nativeBuildInputs = [ autoreconfHook cmake pkg-config ]; + nativeBuildInputs = [ + autoreconfHook + cmake + pkg-config + ]; + + buildInputs = [ + libtool + zlib + openssl + libevent + ncurses + ruby + msgpack-c + libssh + ]; + + dontUseCmakeConfigure = true; meta = with lib; { homepage = "https://tmate.io/"; diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py index d14b4f5d29bf..ef81e4d7e1ab 100644 --- a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py +++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py @@ -409,7 +409,7 @@ class ManualHTMLRenderer(RendererMixin, HTMLRenderer): ] examples = ( '
' - '

List of Examples

' + '

List of Examples

' f'
{"".join(examples_entries)}
' '
' ) diff --git a/pkgs/tools/security/sequoia-sqop/default.nix b/pkgs/tools/security/sequoia-sqop/default.nix new file mode 100644 index 000000000000..b071c82597f0 --- /dev/null +++ b/pkgs/tools/security/sequoia-sqop/default.nix @@ -0,0 +1,59 @@ +{ stdenv +, fetchFromGitLab +, lib +, nettle +, nix-update-script +, installShellFiles +, rustPlatform +, pkg-config +}: + +rustPlatform.buildRustPackage rec { + pname = "sequoia-sqop"; + version = "0.28.0"; + + src = fetchFromGitLab { + owner = "sequoia-pgp"; + # From some reason the repository is not sequoia-sqop - like the command + # generated etc + repo = "sequoia-sop"; + rev = "v${version}"; + hash = "sha256-4A0eZMXzFtojRD5cXQQUVoS32sQ2lWtFll+q6yhnwG4="; + }; + + cargoHash = "sha256-gH5WM+PmciViD+eFVlp8tzdc0KdYy1WZLQi92UEWVG4="; + + nativeBuildInputs = [ + pkg-config + rustPlatform.bindgenHook + installShellFiles + ]; + + buildInputs = [ + nettle + ]; + buildFeatures = [ "cli" ]; + + # Install manual pages + postInstall = '' + mkdir -p $out/share/man + cp -r man-sqop $out/share/man/man1 + installShellCompletion --cmd sqop \ + --bash target/*/release/build/sequoia-sop*/out/sqop.bash \ + --fish target/*/release/build/sequoia-sop*/out/sqop.fish \ + --zsh target/*/release/build/sequoia-sop*/out/_sqop + # Also elv and powershell are generated there + ''; + + doCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = with lib; { + description = "An implementation of the Stateless OpenPGP Command Line Interface using Sequoia"; + homepage = "https://docs.sequoia-pgp.org/sqop/"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ doronbehar ]; + mainProgram = "sqop"; + }; +} diff --git a/pkgs/tools/security/sequoia-sqv/default.nix b/pkgs/tools/security/sequoia-sqv/default.nix new file mode 100644 index 000000000000..b09002602575 --- /dev/null +++ b/pkgs/tools/security/sequoia-sqv/default.nix @@ -0,0 +1,60 @@ +{ stdenv +, fetchFromGitLab +, lib +, nettle +, nix-update-script +, rustPlatform +, pkg-config +, installShellFiles +}: + +rustPlatform.buildRustPackage rec { + pname = "sequoia-sqv"; + version = "1.1.0"; + + src = fetchFromGitLab { + owner = "sequoia-pgp"; + repo = "sequoia-sqv"; + rev = "v${version}"; + hash = "sha256-KoB9YnPNE2aB5MW5G9r6Bk+1QnANVSKA2dp3ufSJ44M="; + }; + + cargoHash = "sha256-uwOU/yyh3eoD10El7Oe9E97F3dvPuXMHQhpnWEJ1gnI="; + + nativeBuildInputs = [ + pkg-config + rustPlatform.bindgenHook + installShellFiles + ]; + + buildInputs = [ + nettle + ]; + # Otherwise, the shell completion files are not built + cargoBuildFlags = [ + "--package" "sequoia-sqv" + ]; + # Use a predictable target directory, to access it when installing shell + # completion files. + preBuild = '' + export CARGO_TARGET_DIR="$(pwd)/target" + ''; + postInstall = '' + installShellCompletion --cmd sqv \ + --zsh target/_sqv \ + --bash target/sqv.bash \ + --fish target/sqv.fish + ''; + + doCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = with lib; { + description = "A command-line OpenPGP signature verification tool"; + homepage = "https://docs.sequoia-pgp.org/sqv/"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ doronbehar ]; + mainProgram = "sqv"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d55f0f4a5cbb..abe68985285b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12449,6 +12449,10 @@ with pkgs; sequoia-sq = callPackage ../tools/security/sequoia-sq { }; + sequoia-sqv = callPackage ../tools/security/sequoia-sqv { }; + + sequoia-sqop = callPackage ../tools/security/sequoia-sqop { }; + sequoia-chameleon-gnupg = callPackage ../tools/security/sequoia-chameleon-gnupg { }; sewer = callPackage ../tools/admin/sewer { }; @@ -36800,6 +36804,7 @@ with pkgs; }; devilutionx = callPackage ../games/devilutionx { + fmt = fmt_9; SDL2 = SDL2.override { withStatic = true; }; @@ -38937,9 +38942,7 @@ with pkgs; gap-full = lowPrio (gap.override { packageSet = "full"; }); geogebra = callPackage ../applications/science/math/geogebra { }; - geogebra6 = callPackage ../applications/science/math/geogebra/geogebra6.nix { - electron = electron_14; - }; + geogebra6 = callPackage ../applications/science/math/geogebra/geogebra6.nix { }; maxima = callPackage ../applications/science/math/maxima { lisp-compiler = sbcl; @@ -40621,7 +40624,9 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL; }; - spdlog = callPackage ../development/libraries/spdlog { }; + spdlog = callPackage ../development/libraries/spdlog { + fmt = fmt_9; + }; dart = callPackage ../development/compilers/dart { }; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 11547ffad976..069de69a7837 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -56,8 +56,6 @@ let awa = callPackage ../development/ocaml-modules/awa { mtime = mtime_1; }; - awa-lwt = callPackage ../development/ocaml-modules/awa/lwt.nix { mtime = mtime_1; }; - awa-mirage = callPackage ../development/ocaml-modules/awa/mirage.nix { mtime = mtime_1; }; ### B ### diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 64c10db8a897..05d7bde590a0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12012,6 +12012,8 @@ self: super: with self; { tago = callPackage ../development/python-modules/tago { }; + tagoio-sdk = callPackage ../development/python-modules/tagoio-sdk { }; + tahoma-api = callPackage ../development/python-modules/tahoma-api { }; tailer = callPackage ../development/python-modules/tailer { };