diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md index 4d559b9ca40a..05fcff30b07d 100644 --- a/nixos/doc/manual/release-notes/rl-2311.section.md +++ b/nixos/doc/manual/release-notes/rl-2311.section.md @@ -56,6 +56,8 @@ - [eris-server](https://codeberg.org/eris/eris-go). [ERIS](https://eris.codeberg.page/) is an encoding for immutable storage and this server provides block exchange as well as content decoding over HTTP and through a FUSE file-system. Available as [services.eris-server](#opt-services.eris-server.enable). +- hardware/infiniband.nix adds infiniband subnet manager support using an [opensm](https://github.com/linux-rdma/opensm) systemd-template service, instantiated on card guids. The module also adds kernel modules and cli tooling to help administrators debug and measure performance. Available as [hardware.infiniband.enable](#opt-hardware.infiniband.enable). + - [Honk](https://humungus.tedunangst.com/r/honk), a complete ActivityPub server with minimal setup and support costs. Available as [services.honk](#opt-services.honk.enable). diff --git a/nixos/modules/hardware/infiniband.nix b/nixos/modules/hardware/infiniband.nix new file mode 100644 index 000000000000..962883fa7972 --- /dev/null +++ b/nixos/modules/hardware/infiniband.nix @@ -0,0 +1,58 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.hardware.infiniband; + opensm-services = { + "opensm@" = { + enable = true; + description = "Starts OpenSM Infiniband fabric Subnet Managers"; + before = [ "network.target"]; + unitConfig = { + ConditionPathExists = "/sys/class/infiniband_mad/abi_version"; + }; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.opensm}/bin/opensm --guid %I --log_file /var/log/opensm.%I.log"; + }; + }; + } // (builtins.listToAttrs (map (guid: { + name = "opensm@${guid}"; + value = { + enable = true; + wantedBy = [ "machines.target" ]; + overrideStrategy = "asDropin"; + }; + } ) cfg.guids)); + +in + +{ + options.hardware.infiniband = { + enable = mkEnableOption "Infiniband support"; + guids = mkOption { + type = with types; listOf str; + default = []; + example = [ "0xe8ebd30000eee2e1" ]; + description = lib.mdDoc '' + A list of infiniband port guids on the system. This is discoverable using `ibstat -p` + ''; + }; + }; + + config = mkIf cfg.enable { + boot.initrd.kernelModules = [ + "mlx5_core" "mlx5_ib" "ib_cm" + "rdma_cm" "rdma_ucm" "rpcrdma" + "ib_ipoib" "ib_isert" "ib_umad" "ib_uverbs" + ]; + # rdma-core exposes ibstat, mstflint exposes mstconfig (which can be needed for + # setting link configurations), qperf needed to affirm link speeds + environment.systemPackages = with pkgs; [ + rdma-core mstflint qperf + ]; + systemd.services = opensm-services; + }; +} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index b7582d4a6324..6ce8a2d88ab4 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -63,6 +63,7 @@ ./hardware/gpgsmartcards.nix ./hardware/hackrf.nix ./hardware/i2c.nix + ./hardware/infiniband.nix ./hardware/keyboard/qmk.nix ./hardware/keyboard/teck.nix ./hardware/keyboard/uhk.nix diff --git a/pkgs/applications/audio/gtkcord4/default.nix b/pkgs/applications/audio/gtkcord4/default.nix index ce9d26229c6c..7242245a3ea9 100644 --- a/pkgs/applications/audio/gtkcord4/default.nix +++ b/pkgs/applications/audio/gtkcord4/default.nix @@ -18,13 +18,13 @@ buildGoModule rec { pname = "gtkcord4"; - version = "0.0.11-1"; + version = "0.0.12"; src = fetchFromGitHub { owner = "diamondburned"; repo = pname; rev = "v${version}"; - hash = "sha256-GkjUURmPS1KOwgYn7kO9/oGIUX9fnSgYjyU7PHXtE5w="; + hash = "sha256-x//PST2f501QuxRdPe3cYbpL66/zLJWmscED9SbxsTk="; }; nativeBuildInputs = [ @@ -57,7 +57,7 @@ buildGoModule rec { install -D -m 444 internal/icons/png/logo.png $out/share/icons/hicolor/256x256/apps/gtkcord4.png ''; - vendorHash = "sha256-RJ6dLa5EzfLMPR3LMIplFhmph+tcdsieiB5Uv95lqIs="; + vendorHash = "sha256-LCLZBcYiexffvCr4vdZdIwNKo0s4mqPc6KxRumRhf1Y="; meta = with lib; { description = "GTK4 Discord client in Go, attempt #4."; diff --git a/pkgs/applications/file-managers/browsr/default.nix b/pkgs/applications/file-managers/browsr/default.nix index 10f3c4628ba1..409f1d1c5dfa 100644 --- a/pkgs/applications/file-managers/browsr/default.nix +++ b/pkgs/applications/file-managers/browsr/default.nix @@ -6,14 +6,14 @@ python3.pkgs.buildPythonApplication rec { pname = "browsr"; - version = "1.14.0"; + version = "1.15.0"; format = "pyproject"; src = fetchFromGitHub { owner = "juftin"; repo = "browsr"; rev = "v${version}"; - hash = "sha256-H81D8VjAdQ81Pg9bsqmzm1BAyPsE75gTs4KcHrNAKxg="; + hash = "sha256-v3DNk0wNG/TISP609YsVfgOFcr+ZOtdOXrm4j81dtLE="; }; nativeBuildInputs = with python3.pkgs; [ diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix index 63165595da51..17f4a68f7dae 100644 --- a/pkgs/applications/misc/logseq/default.nix +++ b/pkgs/applications/misc/logseq/default.nix @@ -14,11 +14,11 @@ stdenv.mkDerivation (finalAttrs: let in { pname = "logseq"; - version = "0.9.15"; + version = "0.9.17"; src = fetchurl { url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage"; - hash = "sha256-EOnB3AllfMAhcATEkmf/1S/gkk1ua2dDgvfT91uwohs="; + hash = "sha256-1CXr/evINfB+VwLQBeuVhq0rCzRVM1ULQC3epYECN+I="; name = "${pname}-${version}.AppImage"; }; diff --git a/pkgs/applications/terminal-emulators/microcom/default.nix b/pkgs/applications/terminal-emulators/microcom/default.nix index 8377505ec1c5..890a70ac30b7 100644 --- a/pkgs/applications/terminal-emulators/microcom/default.nix +++ b/pkgs/applications/terminal-emulators/microcom/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "microcom"; - version = "2019.01.0"; + version = "2023.09.0"; src = fetchFromGitHub { owner = "pengutronix"; repo = pname; rev = "v${version}"; - sha256 = "056v28hvagnzns6p8i3bq8609k82d3w1ab2lab5dr4cdfwhs4pqj"; + hash = "sha256-CT/myxOK4U3DzliGsa45WMIFcYLjcoxx6w5S1NL5c7Y="; }; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/data/fonts/commit-mono/default.nix b/pkgs/data/fonts/commit-mono/default.nix index b14896567168..f235778a2f8f 100644 --- a/pkgs/data/fonts/commit-mono/default.nix +++ b/pkgs/data/fonts/commit-mono/default.nix @@ -4,11 +4,11 @@ }: stdenvNoCC.mkDerivation rec { pname = "commit-mono"; - version = "1.135"; + version = "1.136"; src = fetchzip { url = "https://github.com/eigilnikolajsen/commit-mono/releases/download/${version}/CommitMono-${version}.zip"; - sha256 = "sha256-YrPmTJTX8T7X6VM5qYJWG4dccojfjJpPRwMP+vk97es="; + sha256 = "sha256-s+KWGWOsluhDLG6LmsVIDVobtHzh5J4JLHoHMQ2+zRg="; stripRoot = false; }; diff --git a/pkgs/data/misc/geolite-legacy/default.nix b/pkgs/data/misc/geolite-legacy/default.nix index 91b3a61aec32..54b9c6d27e92 100644 --- a/pkgs/data/misc/geolite-legacy/default.nix +++ b/pkgs/data/misc/geolite-legacy/default.nix @@ -2,17 +2,17 @@ stdenv.mkDerivation rec { pname = "geolite-legacy"; - version = "20220621"; + version = "20230901"; # We use Arch Linux package as a snapshot, because upstream database is updated in-place. geoip = fetchurl { url = "https://archive.archlinux.org/packages/g/geoip-database/geoip-database-${version}-1-any.pkg.tar.zst"; - sha256 = "sha256-dmj3EtdAYVBcRnmHGNjBVyDQIKtVoubNs07zYVH9HVM="; + sha256 = "sha256-H6tv0OEf04TvbhbWsm5vwq+lBj4GSyOezd258VOT8yQ="; }; extra = fetchurl { url = "https://archive.archlinux.org/packages/g/geoip-database-extra/geoip-database-extra-${version}-1-any.pkg.tar.zst"; - sha256 = "sha256-jViHQ+w9SEqFCbWf4KtNiTdWXT0RuCTjZ9dus0a3F0k="; + sha256 = "sha256-Zb5m5TLJ1vcPKypZ3NliaL9oluz97ukTVGlOehuzyPU="; }; nativeBuildInputs = [ zstd ]; diff --git a/pkgs/desktops/deepin/apps/deepin-reader/default.nix b/pkgs/desktops/deepin/apps/deepin-reader/default.nix index 952a626b9fb7..23891f8ab9c9 100644 --- a/pkgs/desktops/deepin/apps/deepin-reader/default.nix +++ b/pkgs/desktops/deepin/apps/deepin-reader/default.nix @@ -17,24 +17,26 @@ , openjpeg , djvulibre , qtbase +, gtest }: stdenv.mkDerivation rec { pname = "deepin-reader"; - version = "5.10.29"; + version = "6.0.2"; src = fetchFromGitHub { owner = "linuxdeepin"; repo = pname; rev = version; - sha256 = "sha256-IpgmTmnrPWc9EFZVM+S2nFxdpPjbgXqEWUnK/O9FmUg="; + hash = "sha256-69NCxa20wp/tyyGGH/FbHhZ83LECbJWAzaLRo7iYreA="; }; - patches = [ ./use-pkg-config.diff ]; - + # don't use vendored htmltopdf postPatch = '' - substituteInPlace reader/{reader.pro,document/Model.cpp} htmltopdf/htmltopdf.pro 3rdparty/deepin-pdfium/src/src.pro \ - --replace "/usr" "$out" + substituteInPlace deepin_reader.pro \ + --replace "SUBDIRS += htmltopdf" " " + substituteInPlace reader/document/Model.cpp \ + --replace "/usr/lib/deepin-reader/htmltopdf" "htmltopdf" ''; nativeBuildInputs = [ @@ -56,6 +58,7 @@ stdenv.mkDerivation rec { libspectre djvulibre openjpeg + gtest ]; qmakeFlags = [ diff --git a/pkgs/development/libraries/ngtcp2/gnutls.nix b/pkgs/development/libraries/ngtcp2/gnutls.nix index 05341188be6c..45f7d9d67db3 100644 --- a/pkgs/development/libraries/ngtcp2/gnutls.nix +++ b/pkgs/development/libraries/ngtcp2/gnutls.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "ngtcp2"; - version = "0.18.0"; + version = "0.19.1"; src = fetchFromGitHub { owner = "ngtcp2"; repo = "ngtcp2"; rev = "v${version}"; - hash = "sha256-FkiqQZ6xmwU2vkJxmr7k+Va5jIByWayAfUea+2DCFhk="; + hash = "sha256-agiQRy/e5VS+ANxajXYi5huRjQQ2M8eddH/AzmwnHdQ="; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/development/python-modules/datadog/default.nix b/pkgs/development/python-modules/datadog/default.nix index fb3271af586f..2ec4ca43032b 100644 --- a/pkgs/development/python-modules/datadog/default.nix +++ b/pkgs/development/python-modules/datadog/default.nix @@ -16,14 +16,14 @@ buildPythonPackage rec { pname = "datadog"; - version = "0.46.0"; + version = "0.47.0"; format = "pyproject"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-5PvJKoXisJGaImiWrkX8Xks1bAxX8cJlllnfvgeJxnQ="; + hash = "sha256-R747LD1wmn9bcJ6xJu1P5sx5d9YY/lwVjdicKp99mRY="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/mkdocstrings-python/default.nix b/pkgs/development/python-modules/mkdocstrings-python/default.nix index df8b47a3e983..b7afeffe9d86 100644 --- a/pkgs/development/python-modules/mkdocstrings-python/default.nix +++ b/pkgs/development/python-modules/mkdocstrings-python/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "mkdocstrings-python"; - version = "1.6.0"; + version = "1.6.2"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "mkdocstrings"; repo = "python"; rev = "refs/tags/${version}"; - hash = "sha256-r9zboUvF1IH32d6jQ+nRbzXejlZADt5+YNZ/LdFyULk="; + hash = "sha256-zbF+fqgXb8BAN+Nf2pRV/SeOXnJXLXJBIWZyZ6a9zP4="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pyenphase/default.nix b/pkgs/development/python-modules/pyenphase/default.nix index 9861c376bb64..b2513a37ab49 100644 --- a/pkgs/development/python-modules/pyenphase/default.nix +++ b/pkgs/development/python-modules/pyenphase/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "pyenphase"; - version = "1.9.1"; + version = "1.9.3"; format = "pyproject"; disabled = pythonOlder "3.11"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "pyenphase"; repo = "pyenphase"; rev = "refs/tags/v${version}"; - hash = "sha256-6ThUly9ITs2UMCCBFTyKSNnD5Y87GmBA+iaTjk/mJWw="; + hash = "sha256-Wcv5E0Oj8wkVOPGz9viXMNpaqK00xti+pF5Jt6mCWi4="; }; postPatch = '' diff --git a/pkgs/development/python-modules/qbittorrent-api/default.nix b/pkgs/development/python-modules/qbittorrent-api/default.nix index 2785ad3a32d9..a31438335ef8 100644 --- a/pkgs/development/python-modules/qbittorrent-api/default.nix +++ b/pkgs/development/python-modules/qbittorrent-api/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "qbittorrent-api"; - version = "2023.7.52"; + version = "2023.9.53"; format = "pyproject"; src = fetchPypi { inherit pname version; - hash = "sha256-RHOupNo0jteUpxcxAojOfnBGGBt293j0OCHeKEritpQ="; + hash = "sha256-/q0bL1WxIn6giOp9kLUCLZRpS/2d2Rdr61rRwZXQRP8="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/vertica-python/default.nix b/pkgs/development/python-modules/vertica-python/default.nix index 1787063f2aea..436ab5fa1ba4 100644 --- a/pkgs/development/python-modules/vertica-python/default.nix +++ b/pkgs/development/python-modules/vertica-python/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "vertica-python"; - version = "1.3.4"; + version = "1.3.5"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-2TyJs0GdYTZWJR66IV6XuBR4b3aRi9KhFy/4ji1c6NU="; + hash = "sha256-KzvJcBR6Bc+z6IAmJ0KR88aSQMjRx1UilS28oBv9nTE="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/tools/biome/default.nix b/pkgs/development/tools/biome/default.nix index f782c6b236fd..43b8e19a304e 100644 --- a/pkgs/development/tools/biome/default.nix +++ b/pkgs/development/tools/biome/default.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage rec { pname = "biome"; - version = "1.1.0"; + version = "1.1.1"; src = fetchFromGitHub { owner = "biomejs"; repo = "biome"; rev = "cli/v${version}"; - hash = "sha256-4gfbM+wMK2lF37vso0EccHiIXJ4ZUQ7X6C/6JSx2gkc="; + hash = "sha256-o4D/EwuSCluXfQBZ6LfebyKkR2xKDChV/wd/yZWbF34="; }; - cargoHash = "sha256-Ima10leJd994FtFgZk0TIZy7zGLwwgvSvAQ1PXb4ius="; + cargoHash = "sha256-T8lIxFc9Jnx0Y8et8O+5JCwci+G3BwOYNjyFQd6fTRM="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/os-specific/linux/pax-utils/default.nix b/pkgs/os-specific/linux/pax-utils/default.nix index 1c1edc5abce0..1d27cf80e4da 100644 --- a/pkgs/os-specific/linux/pax-utils/default.nix +++ b/pkgs/os-specific/linux/pax-utils/default.nix @@ -4,7 +4,7 @@ , buildPackages , docbook_xml_dtd_44 , docbook_xsl -, libcap +, withLibcap ? stdenv.isLinux, libcap , pkg-config , meson , ninja @@ -25,9 +25,13 @@ stdenv.mkDerivation rec { strictDeps = true; + mesonFlags = [ + (lib.mesonEnable "use_libcap" withLibcap) + ]; + depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ docbook_xml_dtd_44 docbook_xsl meson ninja pkg-config xmlto ]; - buildInputs = [ libcap ]; + buildInputs = lib.optionals withLibcap [ libcap ]; # Needed for lddtree propagatedBuildInputs = [ (python3.withPackages (p: with p; [ pyelftools ])) ]; diff --git a/pkgs/servers/matrix-synapse/sliding-sync/default.nix b/pkgs/servers/matrix-synapse/sliding-sync/default.nix index 7b30a8df6811..d899c658ad36 100644 --- a/pkgs/servers/matrix-synapse/sliding-sync/default.nix +++ b/pkgs/servers/matrix-synapse/sliding-sync/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "matrix-sliding-sync"; - version = "0.99.9"; + version = "0.99.10"; src = fetchFromGitHub { owner = "matrix-org"; repo = "sliding-sync"; rev = "refs/tags/v${version}"; - hash = "sha256-ksXNyllev0GqKmbq3fMQ4bv3YsvUMzgpsu45zmwyLFs="; + hash = "sha256-TjChelGVicA59q6iIIDTI7nSj8KtjpA4bfZqsfoiOQg="; }; vendorHash = "sha256-E3nCcw6eTKKcL55ls6n5pYlRFffsefsN0G1Hwd49uh8="; diff --git a/pkgs/servers/monitoring/loki/default.nix b/pkgs/servers/monitoring/loki/default.nix index 407aa5fc5f73..7abeb767df97 100644 --- a/pkgs/servers/monitoring/loki/default.nix +++ b/pkgs/servers/monitoring/loki/default.nix @@ -8,14 +8,14 @@ }: buildGoModule rec { - version = "2.8.4"; + version = "2.9.0"; pname = "grafana-loki"; src = fetchFromGitHub { owner = "grafana"; repo = "loki"; rev = "v${version}"; - hash = "sha256-imMtVjDOkm+cFjyKbP/QNUTYLoLo8TbDQroT0fvbe10="; + hash = "sha256-B7LTwPTvRLHqY1du9kj5MKY1kJZT6maNsuc0PBwrMn8="; }; vendorHash = null; diff --git a/pkgs/servers/nosql/victoriametrics/default.nix b/pkgs/servers/nosql/victoriametrics/default.nix index 7a6fa51dea75..1dfad02606ac 100644 --- a/pkgs/servers/nosql/victoriametrics/default.nix +++ b/pkgs/servers/nosql/victoriametrics/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "VictoriaMetrics"; - version = "1.93.1"; + version = "1.93.3"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - hash = "sha256-52OY4sZ2UI+p6+QYkRW8Ov9SbLPKmvgvgV7rhfo0tAY="; + hash = "sha256-FR1EeRg9epVCnYF8QmyXGTdv3dITa3Cj50PAY500bJk="; }; vendorHash = null; diff --git a/pkgs/tools/admin/qovery-cli/default.nix b/pkgs/tools/admin/qovery-cli/default.nix index 60e4140597fe..595778084061 100644 --- a/pkgs/tools/admin/qovery-cli/default.nix +++ b/pkgs/tools/admin/qovery-cli/default.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "qovery-cli"; - version = "0.68.0"; + version = "0.68.1"; src = fetchFromGitHub { owner = "Qovery"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-iurfG1g1I7ufraBLkbLATyM3SPfO5RhVF3k6SjExWUI="; + hash = "sha256-9xTX4y+05haMh6solpPpx7y9yG5H1YcWF+Cf8Sdbu+E="; }; vendorHash = "sha256-U/yV+6WV8Oc0gLcYFyfOeBzzJdNwyyBk3jPRkH3LUrc="; diff --git a/pkgs/tools/misc/rmtrash/default.nix b/pkgs/tools/misc/rmtrash/default.nix index 61b8ead738cf..793cd49d4188 100644 --- a/pkgs/tools/misc/rmtrash/default.nix +++ b/pkgs/tools/misc/rmtrash/default.nix @@ -3,13 +3,13 @@ stdenvNoCC.mkDerivation rec { pname = "rmtrash"; - version = "1.14"; + version = "1.15"; src = fetchFromGitHub { owner = "PhrozenByte"; repo = pname; rev = "v${version}"; - sha256 = "0wfb2ykzlsxyqn9krfsis9jxhaxy3pxl71a4f15an1ngfndai694"; + sha256 = "sha256-vCtIM6jAYfrAOopiTcb4M5GNtucVnK0XEEKbMq1Cbc4="; }; nativeBuildInputs = [ makeWrapper ];