diff --git a/nixos/tests/mpv.nix b/nixos/tests/mpv.nix index 32a81cbe2495..c2e151c22476 100644 --- a/nixos/tests/mpv.nix +++ b/nixos/tests/mpv.nix @@ -12,7 +12,7 @@ in { environment.systemPackages = [ pkgs.curl - (pkgs.wrapMpv pkgs.mpv-unwrapped { + (pkgs.mpv.override { scripts = [ pkgs.mpvScripts.simple-mpv-webui ]; }) ]; diff --git a/nixos/tests/systemd-machinectl.nix b/nixos/tests/systemd-machinectl.nix index 9d761c6d4d8b..555a8bb43b30 100644 --- a/nixos/tests/systemd-machinectl.nix +++ b/nixos/tests/systemd-machinectl.nix @@ -76,10 +76,23 @@ in }; }; + systemd.nspawn.${containerName} = { + filesConfig = { + # workaround to fix kernel namespaces; needed for Nix sandbox + # https://github.com/systemd/systemd/issues/27994#issuecomment-1704005670 + Bind = "/proc:/run/proc"; + }; + }; + systemd.services."systemd-nspawn@${containerName}" = { serviceConfig.Environment = [ # Disable tmpfs for /tmp "SYSTEMD_NSPAWN_TMPFS_TMP=0" + + # force unified cgroup delegation, which would be the default + # if systemd could check the capabilities of the installed systemd. + # see also: https://github.com/NixOS/nixpkgs/pull/198526 + "SYSTEMD_NSPAWN_UNIFIED_HIERARCHY=1" ]; overrideStrategy = "asDropin"; }; @@ -121,6 +134,17 @@ in machine.succeed("machinectl start ${containerName}"); machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target"); + # Test systemd-nspawn configured unified cgroup delegation + # see also: + # https://github.com/systemd/systemd/blob/main/docs/CGROUP_DELEGATION.md#three-different-tree-setups- + machine.succeed('systemd-run --pty --wait -M ${containerName} /run/current-system/sw/bin/stat --format="%T" --file-system /sys/fs/cgroup > fstype') + machine.succeed('test $(tr -d "\\r" < fstype) = cgroup2fs') + + # Test if systemd-nspawn provides a working environment for nix to build derivations + # https://nixos.org/guides/nix-pills/07-working-derivation + machine.succeed('systemd-run --pty --wait -M ${containerName} /run/current-system/sw/bin/nix-instantiate --expr \'derivation { name = "myname"; builder = "/bin/sh"; args = [ "-c" "echo foo > $out" ]; system = "${pkgs.system}"; }\' --add-root /tmp/drv') + machine.succeed('systemd-run --pty --wait -M ${containerName} /run/current-system/sw/bin/nix-store --option substitute false --realize /tmp/drv') + # Test nss_mymachines without nscd machine.succeed('LD_LIBRARY_PATH="/run/current-system/sw/lib" getent -s hosts:mymachines hosts ${containerName}'); diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix index 0ab4481385a6..3278fc9ef158 100644 --- a/pkgs/applications/editors/rstudio/default.nix +++ b/pkgs/applications/editors/rstudio/default.nix @@ -2,6 +2,7 @@ , stdenv , mkDerivation , fetchurl +, fetchpatch , fetchFromGitHub , makeDesktopItem , copyDesktopItems @@ -37,7 +38,7 @@ let pname = "RStudio"; - version = "2023.12.1+402"; + version = "2024.04.1+748"; RSTUDIO_VERSION_MAJOR = lib.versions.major version; RSTUDIO_VERSION_MINOR = lib.versions.minor version; RSTUDIO_VERSION_PATCH = lib.versions.patch version; @@ -48,8 +49,8 @@ let src = fetchFromGitHub { owner = "rstudio"; repo = "rstudio"; - rev = version; - hash = "sha256-ecMzkpHazg8jEBz9wh8hqRX2UdziOC8b6F+3xxdugy0="; + rev = "v" + version; + hash = "sha256-fzxbhN9NdM0E2rxezj2BMEZ8obUbX0Zw8haDNmfAkWs="; }; mathJaxSrc = fetchurl { @@ -60,8 +61,8 @@ let rsconnectSrc = fetchFromGitHub { owner = "rstudio"; repo = "rsconnect"; - rev = "v1.2.0"; - hash = "sha256-ghRz4Frd+I9ShRNNOE/kdk9KjRCj0Z1mPnThueriiUY="; + rev = "v1.2.2"; + hash = "sha256-wvM9Bm7Nb6yU9z0o+uF5lB2kdgjOW5wZSk6y48NPF2U="; }; # Ideally, rev should match the rstudio release name. @@ -116,6 +117,7 @@ in "-DRSTUDIO_USE_SYSTEM_SOCI=ON" "-DRSTUDIO_USE_SYSTEM_BOOST=ON" "-DRSTUDIO_USE_SYSTEM_YAML_CPP=ON" + "-DRSTUDIO_DISABLE_CHECK_FOR_UPDATES=ON" "-DQUARTO_ENABLED=TRUE" "-DPANDOC_VERSION=${pandoc.version}" "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}/lib/rstudio" @@ -132,6 +134,13 @@ in ./pandoc-nix-path.patch ./use-system-quarto.patch ./ignore-etc-os-release.patch + + (fetchpatch { + name = "use-system-yaml-patch"; + url = "https://github.com/rstudio/rstudio/commit/04de8ca8b83dcc7fee9fd65e6ef58c372489d5ef.patch"; + hash = "sha256-FHSSOPsw6AAYBj/fgNT6idyxvRj3SG+fbla0UDjug1Y="; + }) + ]; postPatch = '' @@ -180,6 +189,11 @@ in unzip -q ${mathJaxSrc} -d dependencies/mathjax-27 + # As of Chocolate Cosmos, node 18.19.1 is used for runtime + # 18.18.2 is still used for build + # see https://github.com/rstudio/rstudio/commit/facb5cf1ab38fe77813aaf36590804e4f865d780 + mkdir -p dependencies/common/node/18.19.1 + mkdir -p dependencies/pandoc/${pandoc.version} cp ${pandoc}/bin/pandoc dependencies/pandoc/${pandoc.version}/pandoc diff --git a/pkgs/applications/editors/rstudio/use-system-node.patch b/pkgs/applications/editors/rstudio/use-system-node.patch index 6e0acf46dda0..5e8b2170da10 100644 --- a/pkgs/applications/editors/rstudio/use-system-node.patch +++ b/pkgs/applications/editors/rstudio/use-system-node.patch @@ -11,21 +11,6 @@ index d18362b..98cdd4c 100644 # enable copilot copilot-enabled=1 -diff --git a/src/cpp/server/CMakeLists.txt b/src/cpp/server/CMakeLists.txt -index 30dd638..cb4a645 100644 ---- a/src/cpp/server/CMakeLists.txt -+++ b/src/cpp/server/CMakeLists.txt -@@ -250,10 +250,6 @@ if (UNIX AND NOT APPLE) - DESTINATION ${RSERVER_SYSTEMD_DIR}) - - # install node -- install( -- DIRECTORY "${RSTUDIO_DEPENDENCIES_DIR}/common/node/${RSTUDIO_NODE_VERSION}/" -- DESTINATION "${RSTUDIO_INSTALL_BIN}/node" -- USE_SOURCE_PERMISSIONS) - - elseif(APPLE) - diff --git a/src/gwt/build.xml b/src/gwt/build.xml index 033d605..f1ee63d 100644 --- a/src/gwt/build.xml diff --git a/pkgs/applications/office/wpsoffice/default.nix b/pkgs/applications/office/wpsoffice/default.nix index 8f6b0d650b28..a9bb14d1b4e2 100644 --- a/pkgs/applications/office/wpsoffice/default.nix +++ b/pkgs/applications/office/wpsoffice/default.nix @@ -19,6 +19,7 @@ , curl , coreutils , cacert +, libjpeg , useChineseVersion ? false }: let @@ -72,6 +73,7 @@ stdenv.mkDerivation rec { alsa-lib at-spi2-core libtool + libjpeg libxkbcommon nspr mesa @@ -120,6 +122,9 @@ stdenv.mkDerivation rec { preFixup = '' # The following libraries need libtiff.so.5, but nixpkgs provides libtiff.so.6 patchelf --replace-needed libtiff.so.5 libtiff.so $out/opt/kingsoft/wps-office/office6/{libpdfmain.so,libqpdfpaint.so,qt/plugins/imageformats/libqtiff.so,addons/pdfbatchcompression/libpdfbatchcompressionapp.so} + patchelf --add-needed libtiff.so $out/opt/kingsoft/wps-office/office6/libwpsmain.so + # Fix: Wrong JPEG library version: library is 62, caller expects 80 + patchelf --add-needed libjpeg.so $out/opt/kingsoft/wps-office/office6/libwpsmain.so # dlopen dependency patchelf --add-needed libudev.so.1 $out/opt/kingsoft/wps-office/office6/addons/cef/libcef.so ''; diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index b5672d7afa46..4600cfb48cb6 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -50,6 +50,7 @@ meson, mujs, ninja, + nixosTests, nv-codec-headers-11, openalSoft, pipewire, @@ -60,6 +61,7 @@ speex, stdenv, swift, + testers, vapoursynth, vulkan-headers, vulkan-loader, @@ -351,6 +353,18 @@ stdenv'.mkDerivation (finalAttrs: { wrapper = callPackage ./wrapper.nix { }; scripts = callPackage ./scripts { }; + + tests = { + inherit (nixosTests) mpv; + + version = testers.testVersion { + package = finalAttrs.finalPackage; + }; + pkg-config = testers.hasPkgConfigModules { + package = finalAttrs.finalPackage; + moduleNames = [ "mpv" ]; + }; + }; }; meta = { diff --git a/pkgs/by-name/as/ast-grep/package.nix b/pkgs/by-name/as/ast-grep/package.nix index dd43fdff1dee..c817a6125fc7 100644 --- a/pkgs/by-name/as/ast-grep/package.nix +++ b/pkgs/by-name/as/ast-grep/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "ast-grep"; - version = "0.22.5"; + version = "0.22.6"; src = fetchFromGitHub { owner = "ast-grep"; repo = "ast-grep"; rev = version; - hash = "sha256-BBF4gnsZmQ36NDX7X/CTGb9+N79S5lLmBaq5keGeNfA="; + hash = "sha256-QE8bTFlKlaxUeYJoaZyiuv/7zk+Pi3s64Er5YNTUh7I="; }; - cargoHash = "sha256-bpwZ1yDeevjMlrLLBPQa9H5NIN99o39kicsOnp+kj9M="; + cargoHash = "sha256-tTEZUGC4RHjnAK+fMNkVqgsngBSdVAtoZ5ij3VbzKb4="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/at/athens/package.nix b/pkgs/by-name/at/athens/package.nix index d5bc1b61146f..53cba1793a3e 100644 --- a/pkgs/by-name/at/athens/package.nix +++ b/pkgs/by-name/at/athens/package.nix @@ -6,13 +6,13 @@ }: buildGoModule rec { pname = "athens"; - version = "0.14.0"; + version = "0.14.1"; src = fetchFromGitHub { owner = "gomods"; repo = "athens"; rev = "v${version}"; - hash = "sha256-5E9jBV+m19AUtSTpTlkCx8JUHwlcM2pgSGfo4zPqDNk="; + hash = "sha256-vpg5EcQSxVFjDFKa4oHwF5fNHhLWtj3ZMi2wbMZNn/8="; }; vendorHash = "sha256-LajNPzGbWqW+9aqiquk2LvSUjKwi1gbDY4cKXmn3PWk="; diff --git a/pkgs/by-name/gi/gitlab-ci-local/package.nix b/pkgs/by-name/gi/gitlab-ci-local/package.nix index ae9e10033e92..8752b7cdf2ff 100644 --- a/pkgs/by-name/gi/gitlab-ci-local/package.nix +++ b/pkgs/by-name/gi/gitlab-ci-local/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "gitlab-ci-local"; - version = "4.49.0"; + version = "4.50.1"; src = fetchFromGitHub { owner = "firecow"; repo = "gitlab-ci-local"; rev = version; - hash = "sha256-hhzkC9wnPNwQwky2FegTMRIbcyCMzrZ/hoQlfZwk3sk="; + hash = "sha256-nlxYZY8SntMffmKiDpp/m8GfsB4lp+T8UoUPOLQlcC8="; }; - npmDepsHash = "sha256-mnnP1YvKSm/CgZYQWF8VU+cuQ0SUV5tW1dCRrGRBrmg="; + npmDepsHash = "sha256-uDhot9kGmF717itia6hyx0xZkyMYDpH7BmGl12xSJyI="; postPatch = '' # remove cleanup which runs git commands diff --git a/pkgs/by-name/wt/wtfis/package.nix b/pkgs/by-name/wt/wtfis/package.nix index 4163a31ac988..ad710bf8f229 100644 --- a/pkgs/by-name/wt/wtfis/package.nix +++ b/pkgs/by-name/wt/wtfis/package.nix @@ -5,12 +5,12 @@ let pname = "wtfis"; - version = "0.9.1"; + version = "0.10.0"; src = fetchFromGitHub { owner = "pirxthepilot"; repo = "wtfis"; rev = "refs/tags/v${version}"; - hash = "sha256-nVcF7mPoWL5PNLh0W4FBPE7WVU72FidHpBZqMNl+Fd4="; + hash = "sha256-5mvbwIKnCk8mbjVJAmUwV1zKzGk8HVVZLiUVQXRvczA="; }; in python3.pkgs.buildPythonApplication { inherit pname version src; diff --git a/pkgs/development/libraries/vte/default.nix b/pkgs/development/libraries/vte/default.nix index 56ba8aa11b41..87cf27f70fd4 100644 --- a/pkgs/development/libraries/vte/default.nix +++ b/pkgs/development/libraries/vte/default.nix @@ -32,14 +32,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "vte"; - version = "0.76.2"; + version = "0.76.3"; outputs = [ "out" "dev" ] ++ lib.optional (gtkVersion != null) "devdoc"; src = fetchurl { url = "mirror://gnome/sources/vte/${lib.versions.majorMinor finalAttrs.version}/vte-${finalAttrs.version}.tar.xz"; - hash = "sha256-49xggtW9cPiq+qrSzfyvflHaa6AKkZsR3axu+gnHKEc="; + hash = "sha256-9njpTAVvN3/QAhIUrf9UUMsXLpoIsWCREYHd/3t9XWA="; }; patches = [ diff --git a/pkgs/development/python-modules/iminuit/default.nix b/pkgs/development/python-modules/iminuit/default.nix index cc999468fdd9..0cd1fdf91d0c 100644 --- a/pkgs/development/python-modules/iminuit/default.nix +++ b/pkgs/development/python-modules/iminuit/default.nix @@ -21,14 +21,14 @@ buildPythonPackage rec { pname = "iminuit"; - version = "2.25.2"; + version = "2.26.0"; format = "pyproject"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-O/ihuWhlpgzt8pE19P6uCfp8ZiN9KfaN7WTpeoI6mz4="; + hash = "sha256-pRIz+/HC4AiqWE+e6mW2ww7VZiTk3qXU5TNwzNhMm04="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/python-telegram-bot/default.nix b/pkgs/development/python-modules/python-telegram-bot/default.nix index 8cd1dc5ec7ff..26df7c0567d9 100644 --- a/pkgs/development/python-modules/python-telegram-bot/default.nix +++ b/pkgs/development/python-modules/python-telegram-bot/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { pname = "python-telegram-bot"; - version = "21.2"; + version = "21.3"; pyproject = true; disabled = pythonOlder "3.8"; @@ -30,7 +30,7 @@ buildPythonPackage rec { owner = "python-telegram-bot"; repo = "python-telegram-bot"; rev = "refs/tags/v${version}"; - hash = "sha256-l5twJbyZh30+pt9DsCpQRuSav8qYNGlIhQW0qY9BmO4="; + hash = "sha256-eyIRZkt1ea2L20ryogKrmSx/+xL2fhNXcf3vUnuS9vo="; }; build-system = [ setuptools ]; diff --git a/pkgs/tools/text/vale/styles.nix b/pkgs/tools/text/vale/styles.nix index 359a9beaaf86..6022d38497a9 100644 --- a/pkgs/tools/text/vale/styles.nix +++ b/pkgs/tools/text/vale/styles.nix @@ -32,12 +32,12 @@ in { alex = buildStyle rec { name = "alex"; - version = "0.2.1"; + version = "0.2.2"; src = fetchFromGitHub { owner = "errata-ai"; repo = "alex"; rev = "v${version}"; - hash = "sha256-xNF7se2FwKgNe5KYx/zvGWpIwBsBADYGH4JV1lUww+Q="; + hash = "sha256-mfeMa+KlkqwyS+h+oo5p5+P2bsmZ0BOph2nbQiaoNqM="; }; meta = { description = "Vale-compatible implementation of the guidelines enforced by the alex linter"; @@ -96,12 +96,12 @@ in proselint = buildStyle rec { name = "proselint"; - version = "0.3.3"; + version = "0.3.4"; src = fetchFromGitHub { owner = "errata-ai"; repo = "proselint"; rev = "v${version}"; - hash = "sha256-faeWr1bRhnKsycJY89WqnRv8qIowUmz3EQvDyjtl63w="; + hash = "sha256-ryKJDX1JrvDWVKLC5qQGctweDf74yuwEXxl/IqumM4s="; }; meta = { description = "Vale-compatible implementation of Python's proselint linter"; @@ -128,12 +128,12 @@ in write-good = buildStyle rec { name = "write-good"; - version = "0.4.0"; + version = "0.4.1"; src = fetchFromGitHub { owner = "errata-ai"; repo = "write-good"; rev = "v${version}"; - hash = "sha256-KQzY6MeHV/owPVmUAfzGUO0HmFPkD7wdQqOvBkipwP8="; + hash = "sha256-W/eHlXklAVlAnY8nLPi/SIKsg8UUnH8UkH99BDo5yKk="; }; meta = { description = "Vale-compatible implementation of the write-good linter";