diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 40c834d97518..1a0b2ab335a3 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -893,6 +893,13 @@ githubId = 661909; name = "Antonio Nuno Monteiro"; }; + anoa = { + matrix = "@andrewm:amorgan.xyz"; + email = "andrew@amorgan.xyz"; + github = "anoadragon453"; + githubId = 1342360; + name = "Andrew Morgan"; + }; anpryl = { email = "anpryl@gmail.com"; github = "anpryl"; @@ -5405,6 +5412,13 @@ githubId = 40234257; name = "ilkecan bozdogan"; }; + ihatethefrench = { + email = "michal@tar.black"; + matrix = "@michal:tar.black"; + github = "ihatethefrench"; + githubId = 30374463; + name = "Michal S."; + }; illegalprime = { email = "themichaeleden@gmail.com"; github = "illegalprime"; diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml index 550dddfaf352..864b6e47db26 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml @@ -341,6 +341,15 @@ Add udev rules for the Teensy family of microcontrollers. + + + The pass-secret-service package now + includes systemd units from upstream, so adding it to the + NixOS services.dbus.packages option will + make it start automatically as a systemd user service when an + application tries to talk to the libsecret D-Bus API. + + There is a new module for the thunar diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md index b652419bcf16..d4059e739322 100644 --- a/nixos/doc/manual/release-notes/rl-2211.section.md +++ b/nixos/doc/manual/release-notes/rl-2211.section.md @@ -128,6 +128,8 @@ Use `configure.packages` instead. - Add udev rules for the Teensy family of microcontrollers. +- The `pass-secret-service` package now includes systemd units from upstream, so adding it to the NixOS `services.dbus.packages` option will make it start automatically as a systemd user service when an application tries to talk to the libsecret D-Bus API. + - There is a new module for the `thunar` program (the Xfce file manager), which depends on the `xfconf` dbus service, and also has a dbus service and a systemd unit. The option `services.xserver.desktopManager.xfce.thunarPlugins` has been renamed to `programs.thunar.plugins`, and in a future release it may be removed. - There is a new module for the `xfconf` program (the Xfce configuration storage system), which has a dbus service. diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 268ebbf18dd7..82c0b5d74de3 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -215,6 +215,7 @@ ./programs/systemtap.nix ./programs/starship.nix ./programs/steam.nix + ./programs/streamdeck-ui.nix ./programs/sway.nix ./programs/system-config-printer.nix ./programs/thefuck.nix @@ -1002,6 +1003,7 @@ ./services/security/oauth2_proxy.nix ./services/security/oauth2_proxy_nginx.nix ./services/security/opensnitch.nix + ./services/security/pass-secret-service.nix ./services/security/privacyidea.nix ./services/security/physlock.nix ./services/security/shibboleth-sp.nix diff --git a/nixos/modules/programs/streamdeck-ui.nix b/nixos/modules/programs/streamdeck-ui.nix new file mode 100644 index 000000000000..1434f82660de --- /dev/null +++ b/nixos/modules/programs/streamdeck-ui.nix @@ -0,0 +1,28 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.programs.streamdeck-ui; +in { + options.programs.streamdeck-ui = { + enable = mkEnableOption "streamdeck-ui"; + + autoStart = mkOption { + default = true; + type = types.bool; + description = "Whether streamdeck-ui should be started automatically."; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + streamdeck-ui + (mkIf cfg.autoStart (makeAutostartItem { name = "streamdeck-ui"; package = streamdeck-ui; })) + ]; + + services.udev.packages = with pkgs; [ streamdeck-ui ]; + }; + + meta.maintainers = with maintainers; [ majiir ]; +} diff --git a/nixos/modules/services/continuous-integration/jenkins/job-builder.nix b/nixos/modules/services/continuous-integration/jenkins/job-builder.nix index deabeec0b295..edbf31f5ca1a 100644 --- a/nixos/modules/services/continuous-integration/jenkins/job-builder.nix +++ b/nixos/modules/services/continuous-integration/jenkins/job-builder.nix @@ -165,7 +165,7 @@ in { jenkins_url="http://${jenkinsCfg.listenAddress}:${toString jenkinsCfg.port}${jenkinsCfg.prefix}" auth_file="$RUNTIME_DIRECTORY/jenkins_auth_file.txt" trap 'rm -f "$auth_file"' EXIT - printf "${cfg.accessUser}:@password_placeholder@" >"$auth_file" + (umask 0077; printf "${cfg.accessUser}:@password_placeholder@" >"$auth_file") "${pkgs.replace-secret}/bin/replace-secret" "@password_placeholder@" "$access_token_file" "$auth_file" if ! "${pkgs.jenkins}/bin/jenkins-cli" -s "$jenkins_url" -auth "@$auth_file" reload-configuration; then diff --git a/nixos/modules/services/security/pass-secret-service.nix b/nixos/modules/services/security/pass-secret-service.nix new file mode 100644 index 000000000000..6ae190eb95e6 --- /dev/null +++ b/nixos/modules/services/security/pass-secret-service.nix @@ -0,0 +1,27 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.passSecretService; +in +{ + options.services.passSecretService = { + enable = mkEnableOption "pass secret service"; + + package = mkOption { + type = types.package; + default = pkgs.pass-secret-service; + defaultText = literalExpression "pkgs.pass-secret-service"; + description = "Which pass-secret-service package to use."; + example = literalExpression "pkgs.pass-secret-service.override { python3 = pkgs.python310 }"; + }; + }; + + config = mkIf cfg.enable { + systemd.packages = [ cfg.package ]; + services.dbus.packages = [ cfg.package ]; + }; + + meta.maintainers = with maintainers; [ aidalgol ]; +} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 3253a3c750be..03a7f17c07cc 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -279,6 +279,7 @@ in { libresprite = handleTest ./libresprite.nix {}; libreswan = handleTest ./libreswan.nix {}; librewolf = handleTest ./firefox.nix { firefoxPackage = pkgs.librewolf; }; + libuiohook = handleTest ./libuiohook.nix {}; lidarr = handleTest ./lidarr.nix {}; lightdm = handleTest ./lightdm.nix {}; limesurvey = handleTest ./limesurvey.nix {}; @@ -413,6 +414,7 @@ in { pam-oath-login = handleTest ./pam/pam-oath-login.nix {}; pam-u2f = handleTest ./pam/pam-u2f.nix {}; pam-ussh = handleTest ./pam/pam-ussh.nix {}; + pass-secret-service = handleTest ./pass-secret-service.nix {}; pantalaimon = handleTest ./matrix/pantalaimon.nix {}; pantheon = handleTest ./pantheon.nix {}; paperless = handleTest ./paperless.nix {}; diff --git a/nixos/tests/libuiohook.nix b/nixos/tests/libuiohook.nix new file mode 100644 index 000000000000..66c5033d9688 --- /dev/null +++ b/nixos/tests/libuiohook.nix @@ -0,0 +1,21 @@ +import ./make-test-python.nix ({ pkgs, lib, ... }: { + name = "libuiohook"; + meta = with lib.maintainers; { maintainers = [ anoa ]; }; + + nodes.client = { nodes, ... }: + let user = nodes.client.config.users.users.alice; + in { + imports = [ ./common/user-account.nix ./common/x11.nix ]; + + environment.systemPackages = [ pkgs.libuiohook.test ]; + + test-support.displayManager.auto.user = user.name; + }; + + testScript = { nodes, ... }: + let user = nodes.client.config.users.users.alice; + in '' + client.wait_for_x() + client.succeed("su - alice -c ${pkgs.libuiohook.test}/share/uiohook_tests >&2 &") + ''; +}) diff --git a/nixos/tests/pass-secret-service.nix b/nixos/tests/pass-secret-service.nix new file mode 100644 index 000000000000..a85a508bfe16 --- /dev/null +++ b/nixos/tests/pass-secret-service.nix @@ -0,0 +1,69 @@ +import ./make-test-python.nix ({ pkgs, lib, ... }: { + name = "pass-secret-service"; + meta.maintainers = with lib; [ aidalgol ]; + + nodes.machine = { nodes, pkgs, ... }: + { + imports = [ ./common/user-account.nix ]; + + services.passSecretService.enable = true; + + environment.systemPackages = [ + # Create a script that tries to make a request to the D-Bus secrets API. + (pkgs.writers.writePython3Bin "secrets-dbus-init" + { + libraries = [ pkgs.python3Packages.secretstorage ]; + } '' + import secretstorage + print("Initializing dbus connection...") + connection = secretstorage.dbus_init() + print("Requesting default collection...") + collection = secretstorage.get_default_collection(connection) + print("Done! dbus-org.freedesktop.secrets should now be active.") + '') + pkgs.pass + ]; + + programs.gnupg = { + agent.enable = true; + agent.pinentryFlavor = "tty"; + dirmngr.enable = true; + }; + }; + + # Some of the commands are run via a virtual console because they need to be + # run under a real login session, with D-Bus running in the environment. + testScript = { nodes, ... }: + let + user = nodes.machine.config.users.users.alice; + gpg-uid = "alice@example.net"; + gpg-pw = "foobar9000"; + ready-file = "/tmp/secrets-dbus-init.done"; + in + '' + # Initialise the pass(1) storage. + machine.succeed(""" + sudo -u alice gpg --pinentry-mode loopback --batch --passphrase ${gpg-pw} \ + --quick-gen-key ${gpg-uid} \ + """) + machine.succeed("sudo -u alice pass init ${gpg-uid}") + + with subtest("Service is not running on login"): + machine.wait_until_tty_matches("1", "login: ") + machine.send_chars("alice\n") + machine.wait_until_tty_matches("1", "login: alice") + machine.wait_until_succeeds("pgrep login") + machine.wait_until_tty_matches("1", "Password: ") + machine.send_chars("${user.password}\n") + machine.wait_until_succeeds("pgrep -u alice bash") + + _, output = machine.systemctl("status dbus-org.freedesktop.secrets --no-pager", "alice") + assert "Active: inactive (dead)" in output + + with subtest("Service starts after a client tries to talk to the D-Bus API"): + machine.send_chars("secrets-dbus-init; touch ${ready-file}\n") + machine.wait_for_file("${ready-file}") + _, output = machine.systemctl("status dbus-org.freedesktop.secrets --no-pager", "alice") + assert "Active: active (running)" in output + ''; +}) diff --git a/pkgs/applications/graphics/ImageMagick/6.x.nix b/pkgs/applications/graphics/ImageMagick/6.x.nix index 032af6cf6144..d0b76706dc92 100644 --- a/pkgs/applications/graphics/ImageMagick/6.x.nix +++ b/pkgs/applications/graphics/ImageMagick/6.x.nix @@ -1,6 +1,25 @@ { lib, stdenv, fetchFromGitHub, pkg-config, libtool -, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre -, lcms2, openexr, libpng, liblqr1, librsvg, libtiff, libxml2, openjpeg, libwebp, fftw, libheif, libde265 +, bzip2Support ? true, bzip2 +, zlibSupport ? true, zlib +, libX11Support ? !stdenv.hostPlatform.isMinGW, libX11 +, libXtSupport ? !stdenv.hostPlatform.isMinGW, libXt +, fontconfigSupport ? true, fontconfig +, freetypeSupport ? true, freetype +, ghostscriptSupport ? false, ghostscript +, libjpegSupport ? true, libjpeg +, djvulibreSupport ? true, djvulibre +, lcms2Support ? true, lcms2 +, openexrSupport ? !stdenv.hostPlatform.isMinGW, openexr +, libpngSupport ? true, libpng +, liblqr1Support ? true, liblqr1 +, librsvgSupport ? !stdenv.hostPlatform.isMinGW, librsvg +, libtiffSupport ? true, libtiff +, libxml2Support ? true, libxml2 +, openjpegSupport ? !stdenv.hostPlatform.isMinGW, openjpeg +, libwebpSupport ? !stdenv.hostPlatform.isMinGW, libwebp +, libheifSupport ? true, libheif +, libde265Support ? true, libde265 +, fftw , ApplicationServices, Foundation }: @@ -30,35 +49,47 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - configureFlags = - [ "--with-frozenpaths" ] - ++ (if arch != null then [ "--with-gcc-arch=${arch}" ] else [ "--without-gcc-arch" ]) - ++ lib.optional (librsvg != null) "--with-rsvg" - ++ lib.optional (liblqr1 != null) "--with-lqr" - ++ lib.optionals (ghostscript != null) - [ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts" - "--with-gslib" - ] - ++ lib.optionals (stdenv.hostPlatform.isMinGW) - [ "--enable-static" "--disable-shared" ] # due to libxml2 being without DLLs ATM - ; + configureFlags = [ + "--with-frozenpaths" + (lib.withFeatureAs (arch != null) "gcc-arch" arch) + (lib.withFeature librsvgSupport "rsvg") + (lib.withFeature liblqr1Support "lqr") + (lib.withFeatureAs ghostscriptSupport "gs-font-dir" "${ghostscript}/share/ghostscript/fonts") + (lib.withFeature ghostscriptSupport "gslib") + ] ++ lib.optionals stdenv.hostPlatform.isMinGW [ + # due to libxml2 being without DLLs ATM + "--enable-static" "--disable-shared" + ]; nativeBuildInputs = [ pkg-config libtool ]; - buildInputs = - [ zlib fontconfig freetype ghostscript - liblqr1 libpng libtiff libxml2 libheif libde265 djvulibre - ] - ++ lib.optionals (!stdenv.hostPlatform.isMinGW) - [ openexr librsvg openjpeg ] - ++ lib.optionals stdenv.isDarwin - [ ApplicationServices Foundation ]; + buildInputs = [ ] + ++ lib.optional zlibSupport zlib + ++ lib.optional fontconfigSupport fontconfig + ++ lib.optional ghostscriptSupport ghostscript + ++ lib.optional liblqr1Support liblqr1 + ++ lib.optional libpngSupport libpng + ++ lib.optional libtiffSupport libtiff + ++ lib.optional libxml2Support libxml2 + ++ lib.optional libheifSupport libheif + ++ lib.optional libde265Support libde265 + ++ lib.optional djvulibreSupport djvulibre + ++ lib.optional openexrSupport openexr + ++ lib.optional librsvgSupport librsvg + ++ lib.optional openjpegSupport openjpeg + ++ lib.optionals stdenv.isDarwin [ + ApplicationServices + Foundation + ]; - propagatedBuildInputs = - [ bzip2 freetype libjpeg lcms2 fftw ] - ++ lib.optionals (!stdenv.hostPlatform.isMinGW) - [ libX11 libXext libXt libwebp ] - ; + propagatedBuildInputs = [ fftw ] + ++ lib.optional bzip2Support bzip2 + ++ lib.optional freetypeSupport freetype + ++ lib.optional libjpegSupport libjpeg + ++ lib.optional lcms2Support lcms2 + ++ lib.optional libX11Support libX11 + ++ lib.optional libXtSupport libXt + ++ lib.optional libwebpSupport libwebp; doCheck = false; # fails 6 out of 76 tests @@ -72,7 +103,7 @@ stdenv.mkDerivation rec { substituteInPlace "$file" --replace ${pkg-config}/bin/pkg-config \ "PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config'" done - '' + lib.optionalString (ghostscript != null) '' + '' + lib.optionalString ghostscriptSupport '' for la in $out/lib/*.la; do sed 's|-lgs|-L${lib.getLib ghostscript}/lib -lgs|' -i $la done diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index 0b4416aca51b..3b58aba1e556 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -3,28 +3,27 @@ , fetchFromGitHub , pkg-config , libtool -, bzip2 -, zlib -, libX11 -, libXext -, libXt -, fontconfig -, freetype -, ghostscript -, libjpeg -, djvulibre -, lcms2 -, openexr -, libjxl -, libpng -, liblqr1 -, libraw -, librsvg -, libtiff -, libxml2 -, openjpeg -, libwebp -, libheif +, bzip2Support ? true, bzip2 +, zlibSupport ? true, zlib +, libX11Support ? !stdenv.hostPlatform.isMinGW, libX11 +, libXtSupport ? !stdenv.hostPlatform.isMinGW, libXt +, fontconfigSupport ? true, fontconfig +, freetypeSupport ? true, freetype +, ghostscriptSupport ? false, ghostscript +, libjpegSupport ? true, libjpeg +, djvulibreSupport ? true, djvulibre +, lcms2Support ? true, lcms2 +, openexrSupport ? !stdenv.hostPlatform.isMinGW, openexr +, libjxlSupport ? true, libjxl +, libpngSupport ? true, libpng +, liblqr1Support ? true, liblqr1 +, librawSupport ? true, libraw +, librsvgSupport ? !stdenv.hostPlatform.isMinGW, librsvg +, libtiffSupport ? true, libtiff +, libxml2Support ? true, libxml2 +, openjpegSupport ? !stdenv.hostPlatform.isMinGW, openjpeg +, libwebpSupport ? !stdenv.hostPlatform.isMinGW, libwebp +, libheifSupport ? true, libheif , potrace , curl , ApplicationServices @@ -33,6 +32,8 @@ , imagemagick }: +assert libXtSupport -> libX11Support; + let arch = if stdenv.hostPlatform.system == "i686-linux" then "i686" @@ -59,51 +60,49 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - configureFlags = - [ "--with-frozenpaths" ] - ++ (if arch != null then [ "--with-gcc-arch=${arch}" ] else [ "--without-gcc-arch" ]) - ++ lib.optional (librsvg != null) "--with-rsvg" - ++ lib.optional (liblqr1 != null) "--with-lqr" - ++ lib.optional (libjxl != null ) "--with-jxl" - ++ lib.optionals (ghostscript != null) - [ - "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts" - "--with-gslib" - ] - ++ lib.optionals stdenv.hostPlatform.isMinGW - [ "--enable-static" "--disable-shared" ] # due to libxml2 being without DLLs ATM - ; + configureFlags = [ + "--with-frozenpaths" + (lib.withFeatureAs (arch != null) "gcc-arch" arch) + (lib.withFeature librsvgSupport "rsvg") + (lib.withFeature liblqr1Support "lqr") + (lib.withFeature libjxlSupport "jxl") + (lib.withFeatureAs ghostscriptSupport "gs-font-dir" "${ghostscript}/share/ghostscript/fonts") + (lib.withFeature ghostscriptSupport "gslib") + ] ++ lib.optionals stdenv.hostPlatform.isMinGW [ + # due to libxml2 being without DLLs ATM + "--enable-static" "--disable-shared" + ]; nativeBuildInputs = [ pkg-config libtool ]; - buildInputs = - [ - zlib - fontconfig - freetype - ghostscript - potrace - liblqr1 - libpng - libraw - libtiff - libxml2 - libheif - djvulibre - libjxl - ] - ++ lib.optionals (!stdenv.hostPlatform.isMinGW) - [ openexr librsvg openjpeg ] + buildInputs = [ potrace ] + ++ lib.optional zlibSupport zlib + ++ lib.optional fontconfigSupport fontconfig + ++ lib.optional ghostscriptSupport ghostscript + ++ lib.optional liblqr1Support liblqr1 + ++ lib.optional libpngSupport libpng + ++ lib.optional librawSupport libraw + ++ lib.optional libtiffSupport libtiff + ++ lib.optional libxml2Support libxml2 + ++ lib.optional libheifSupport libheif + ++ lib.optional djvulibreSupport djvulibre + ++ lib.optional libjxlSupport libjxl + ++ lib.optional openexrSupport openexr + ++ lib.optional librsvgSupport librsvg + ++ lib.optional openjpegSupport openjpeg ++ lib.optionals stdenv.isDarwin [ ApplicationServices Foundation ]; - propagatedBuildInputs = - [ bzip2 freetype libjpeg lcms2 curl ] - ++ lib.optionals (!stdenv.hostPlatform.isMinGW) - [ libX11 libXext libXt libwebp ] - ; + propagatedBuildInputs = [ curl ] + ++ lib.optional bzip2Support bzip2 + ++ lib.optional freetypeSupport freetype + ++ lib.optional libjpegSupport libjpeg + ++ lib.optional lcms2Support lcms2 + ++ lib.optional libX11Support libX11 + ++ lib.optional libXtSupport libXt + ++ lib.optional libwebpSupport libwebp; postInstall = '' (cd "$dev/include" && ln -s ImageMagick* ImageMagick) @@ -113,7 +112,7 @@ stdenv.mkDerivation rec { substituteInPlace "$file" --replace pkg-config \ "PKG_CONFIG_PATH='$dev/lib/pkgconfig' '${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config'" done - '' + lib.optionalString (ghostscript != null) '' + '' + lib.optionalString ghostscriptSupport '' for la in $out/lib/*.la; do sed 's|-lgs|-L${lib.getLib ghostscript}/lib -lgs|' -i $la done diff --git a/pkgs/applications/misc/bottles/default.nix b/pkgs/applications/misc/bottles/default.nix index bf11f3e7f42b..9b24e55cfbbe 100644 --- a/pkgs/applications/misc/bottles/default.nix +++ b/pkgs/applications/misc/bottles/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchFromGitHub +{ lib, fetchFromGitHub, gitUpdater , meson, ninja, pkg-config, wrapGAppsHook , desktop-file-utils, gsettings-desktop-schemas, libnotify, libhandy, webkitgtk , python3Packages, gettext @@ -95,6 +95,10 @@ python3Packages.buildPythonApplication rec { makeWrapperArgs+=("''${gappsWrapperArgs[@]}") ''; + passthru.updateScript = gitUpdater { + inherit pname version; + }; + meta = with lib; { description = "An easy-to-use wineprefix manager"; homepage = "https://usebottles.com/"; diff --git a/pkgs/applications/misc/gpsbabel/default.nix b/pkgs/applications/misc/gpsbabel/default.nix index b09e7ef725ef..d7ba62f28c5f 100644 --- a/pkgs/applications/misc/gpsbabel/default.nix +++ b/pkgs/applications/misc/gpsbabel/default.nix @@ -96,7 +96,6 @@ stdenv.mkDerivation rec { ''); meta = with lib; { - broken = stdenv.isDarwin; description = "Convert, upload and download data from GPS and Map programs"; longDescription = '' GPSBabel converts waypoints, tracks, and routes between popular diff --git a/pkgs/applications/misc/pass-secret-service/default.nix b/pkgs/applications/misc/pass-secret-service/default.nix index 12f8935797c8..6a57c15b742b 100644 --- a/pkgs/applications/misc/pass-secret-service/default.nix +++ b/pkgs/applications/misc/pass-secret-service/default.nix @@ -1,26 +1,50 @@ -{ lib, fetchFromGitHub, python3, dbus, gnupg }: +{ lib +, fetchFromGitHub +, python3 +, dbus +, gnupg +, coreutils +, nixosTests +}: python3.pkgs.buildPythonApplication rec { pname = "pass-secret-service"; # PyPI has old alpha version. Since then the project has switched from using a # seemingly abandoned D-Bus package pydbus and started using maintained # dbus-next. So let's use latest from GitHub. - version = "unstable-2020-04-12"; + version = "unstable-2022-03-21"; src = fetchFromGitHub { owner = "mdellweg"; repo = "pass_secret_service"; - rev = "f6fbca6ac3ccd16bfec407d845ed9257adf74dfa"; - sha256 = "0rm4pbx1fiwds1v7f99khhh7x3inv9yniclwd95mrbgljk3cc6a4"; + rev = "149f8557e07098eee2f46561eea61e83255ac59b"; + sha256 = "sha256-+/pFi6+K8rl0Ihm6cp/emUQVtau6+Apl8/VEr9AI0Xs="; }; + patches = [ + # Only needed until https://github.com/mdellweg/pass_secret_service/pull/30 + # is merged. + ./int_from_bytes-deprecation-fix.patch + ]; # Need to specify session.conf file for tests because it won't be found under # /etc/ in check phase. postPatch = '' substituteInPlace Makefile \ --replace "dbus-run-session" "dbus-run-session --config-file=${dbus}/share/dbus-1/session.conf" \ - --replace '-p $(relpassstore)' '-p $(PASSWORD_STORE_DIR)' + --replace '-p $(relpassstore)' '-p $(PASSWORD_STORE_DIR)' \ + --replace 'pytest-3' 'pytest' + + substituteInPlace systemd/org.freedesktop.secrets.service \ + --replace "/bin/false" "${coreutils}/bin/false" + substituteInPlace systemd/dbus-org.freedesktop.secrets.service \ + --replace "/usr/local" "$out" + ''; + + postInstall = '' + mkdir -p "$out/share/dbus-1/services/" "$out/lib/systemd/user/" + cp systemd/org.freedesktop.secrets.service "$out/share/dbus-1/services/" + cp systemd/dbus-org.freedesktop.secrets.service "$out/lib/systemd/user/" ''; propagatedBuildInputs = with python3.pkgs; [ @@ -44,17 +68,15 @@ python3.pkgs.buildPythonApplication rec { ps.pypass ]; - checkPhase = '' - runHook preCheck - make test - runHook postCheck - ''; + checkTarget = "test"; + + passthru.tests.pass-secret-service = nixosTests.pass-secret-service; meta = { description = "Libsecret D-Bus API with pass as the backend"; homepage = "https://github.com/mdellweg/pass_secret_service/"; license = lib.licenses.gpl3Only; platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ jluttine ]; + maintainers = with lib.maintainers; [ jluttine aidalgol ]; }; } diff --git a/pkgs/applications/misc/pass-secret-service/int_from_bytes-deprecation-fix.patch b/pkgs/applications/misc/pass-secret-service/int_from_bytes-deprecation-fix.patch new file mode 100644 index 000000000000..b7e78e7b7915 --- /dev/null +++ b/pkgs/applications/misc/pass-secret-service/int_from_bytes-deprecation-fix.patch @@ -0,0 +1,22 @@ +--- a/pass_secret_service/interfaces/session.py ++++ b/pass_secret_service/interfaces/session.py +@@ -4,7 +4,6 @@ + import os + import hmac + from hashlib import sha256 +-from cryptography.utils import int_from_bytes + from cryptography.hazmat.backends import default_backend + from cryptography.hazmat.primitives.ciphers import Cipher + from cryptography.hazmat.primitives.ciphers.modes import CBC +@@ -27,9 +26,9 @@ class Session(ServiceInterface, SerialMixin): + @classmethod + @run_in_executor + def _create_dh(cls, input): +- priv_key = int_from_bytes(os.urandom(0x80), "big") ++ priv_key = int.from_bytes(os.urandom(0x80), "big") + pub_key = pow(2, priv_key, dh_prime) +- shared_secret = pow(int_from_bytes(input, "big"), priv_key, dh_prime) ++ shared_secret = pow(int.from_bytes(input, "big"), priv_key, dh_prime) + salt = b"\x00" * 0x20 + shared_key = hmac.new(salt, shared_secret.to_bytes(0x80, "big"), sha256).digest() + aes_key = hmac.new(shared_key, b"\x01", sha256).digest()[:0x10] diff --git a/pkgs/applications/misc/sigal/default.nix b/pkgs/applications/misc/sigal/default.nix index bc48ce3e2afc..8289cc428db3 100644 --- a/pkgs/applications/misc/sigal/default.nix +++ b/pkgs/applications/misc/sigal/default.nix @@ -28,6 +28,8 @@ python3.pkgs.buildPythonApplication rec { feedgenerator zopfli cryptography + + setuptools # needs pkg_resources ]; checkInputs = [ diff --git a/pkgs/applications/misc/streamdeck-ui/default.nix b/pkgs/applications/misc/streamdeck-ui/default.nix new file mode 100644 index 000000000000..141652e63d69 --- /dev/null +++ b/pkgs/applications/misc/streamdeck-ui/default.nix @@ -0,0 +1,95 @@ +{ lib +, python3Packages +, fetchFromGitHub +, poetry +, copyDesktopItems +, wrapQtAppsHook +, writeText +, makeDesktopItem +, xvfb-run +}: + +python3Packages.buildPythonApplication rec { + pname = "streamdeck-ui"; + version = "2.0.4"; + + src = fetchFromGitHub { + repo = pname; + owner = "timothycrosley"; + rev = "v${version}"; + hash = "sha256-NV4BkHEgfxIOuLfmn0vcPNqivmHLD6v7jLdLZgnrb0Q="; + }; + + desktopItems = [ (makeDesktopItem { + name = "streamdeck-ui"; + desktopName = "Stream Deck UI"; + icon = "streamdeck-ui"; + exec = "streamdeck --no-ui"; + comment = "UI for the Elgato Stream Deck"; + categories = [ "Utility" ]; + noDisplay = true; + }) ]; + + postInstall = + let + udevRules = '' + SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0060", TAG+="uaccess" + SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0063", TAG+="uaccess" + SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006c", TAG+="uaccess" + SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006d", TAG+="uaccess" + SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0080", TAG+="uaccess" + ''; + in + '' + mkdir -p "$out/etc/udev/rules.d" + cp ${writeText "70-streamdeck.rules" udevRules} $out/etc/udev/rules.d/70-streamdeck.rules + + mkdir -p "$out/share/pixmaps" + cp streamdeck_ui/logo.png $out/share/pixmaps/streamdeck-ui.png + ''; + + dontWrapQtApps = true; + makeWrapperArgs = [ "\${qtWrapperArgs[@]}" ]; + + format = "pyproject"; + + nativeBuildInputs = [ + poetry + copyDesktopItems + wrapQtAppsHook + ]; + + propagatedBuildInputs = with python3Packages; [ + setuptools + filetype + cairosvg + pillow + pynput + pyside2 + streamdeck + xlib + ]; + + checkInputs = [ + xvfb-run + python3Packages.pytest + python3Packages.hypothesis-auto + ]; + + # Ignored tests are not in a running or passing state. + # Fixes have been merged upstream but not yet released. + # Revisit these ignored tests on each update. + checkPhase = '' + xvfb-run pytest tests \ + --ignore=tests/test_api.py \ + --ignore=tests/test_filter.py \ + --ignore=tests/test_stream_deck_monitor.py + ''; + + meta = with lib; { + description = "Linux compatible UI for the Elgato Stream Deck"; + homepage = "https://timothycrosley.github.io/streamdeck-ui/"; + license = licenses.mit; + maintainers = with maintainers; [ majiir ]; + }; +} diff --git a/pkgs/applications/misc/tut/default.nix b/pkgs/applications/misc/tut/default.nix index e7299326e87d..8fa43da80989 100644 --- a/pkgs/applications/misc/tut/default.nix +++ b/pkgs/applications/misc/tut/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "tut"; - version = "0.0.46"; + version = "1.0.13"; src = fetchFromGitHub { owner = "RasmusLindroth"; repo = pname; rev = version; - sha256 = "sha256-C9kyA6QuL8sqzCooaPzSP7VOpu7jcSFCUx9oaZLZ7/w="; + sha256 = "sha256-EORvIqA2bsmNUY1euUBmEYNMU02nW0doRDmTQjt15Os="; }; - vendorSha256 = "sha256-kMGEAN/I2XsIc6zCDbhbbstYlyjDpXQsOPUzjaJqJBk="; + vendorSha256 = "sha256-ilq1sfFY6WuNACryDGjkpF5eUTan8Y6Yt26vot9XR54="; meta = with lib; { description = "A TUI for Mastodon with vim inspired keys"; diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index a2f6d93f4d21..3ed40359ed3b 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": "104.0.5112.39", - "sha256": "0xgw1n5lcqqbs0b8bpd05f1z0q2lpajg2dxangd1yfl7y16yfxv9", - "sha256bin64": "0abprih2sh483cqv9rqs67ha3cm9744h3gdc342lgqj3x8bmspmj", + "version": "104.0.5112.48", + "sha256": "1zk4ywphcy6nrv0yf38yhl2bcq6fk34makglx31aalf2nhhw945i", + "sha256bin64": "14cx0m6jak4cma62axli0l4gqzqqh4gs7gam2dfahmwxsgcdwwn7", "deps": { "gn": { "version": "2022-06-08", @@ -32,15 +32,15 @@ } }, "dev": { - "version": "105.0.5148.2", - "sha256": "0qnkpda0chsxgfby5g38xmpkilyz2v12mrwlayfsp2iqhc7d07vz", - "sha256bin64": "045czwsra17iclgyzsnbbjr55lrmhzf97c2k0wwjrmd59cx4b1sa", + "version": "105.0.5176.3", + "sha256": "11zdihvy1n7d3vfl88477ppbfjd3mmkdsj4pfmfqm4mpw7zgi7fy", + "sha256bin64": "08rhg2am01dbb15djh7200wsg0wb48na09i706035wnnf0d8z313", "deps": { "gn": { - "version": "2022-06-22", + "version": "2022-07-11", "url": "https://gn.googlesource.com/gn", - "rev": "29accf5ac2eadfc53e687081583b7bc1592a8839", - "sha256": "0z9gaw8p88yhb7fi844pvylsbgjy3ni7bnca1yx37928fjw3ppln" + "rev": "9ef321772ecc161937db69acb346397e0ccc484d", + "sha256": "0j85kgf8c1psys6kfsq5mph8n80hcbzhr7d2blqiiysmjj0wc6ng" } } }, diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix index 7c18ebf763c8..9725676da027 100644 --- a/pkgs/applications/networking/instant-messengers/gajim/default.nix +++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix @@ -22,11 +22,11 @@ python3.pkgs.buildPythonApplication rec { pname = "gajim"; - version = "1.4.3"; + version = "1.4.6"; src = fetchurl { url = "https://gajim.org/downloads/${lib.versions.majorMinor version}/gajim-${version}.tar.gz"; - sha256 = "sha256:0n6v96pwgds8655877fjgsphq4rd4gb9mz7cbqp4nkd4m7kvr3xv"; + sha256 = "sha256-iiZ2Nv6voq67+OJ26hk+3JQSKevx9ti8s6DreSAsQk8="; }; buildInputs = [ diff --git a/pkgs/applications/networking/instant-messengers/webex/default.nix b/pkgs/applications/networking/instant-messengers/webex/default.nix new file mode 100644 index 000000000000..293f6747d3f4 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/webex/default.nix @@ -0,0 +1,175 @@ +{ lib +, writeScript +, stdenv +, fetchurl +, alsaLib +, at-spi2-atk +, at-spi2-core +, atk +, cairo +, cups +, dbus +, expat +, fontconfig +, freetype +, gdk-pixbuf +, glib +, gtk3 +, harfbuzz +, libdrm +, libgcrypt +, libglvnd +, libkrb5 +, libpulseaudio +, libsecret +, udev +, libxcb +, libxkbcommon +, lshw +, mesa +, nspr +, nss +, pango +, zlib +, libX11 +, libXcomposite +, libXcursor +, libXdamage +, libXext +, libXfixes +, libXi +, libXrandr +, libXrender +, libXtst +, libxshmfence +, xcbutil +, xcbutilimage +, xcbutilkeysyms +, xcbutilrenderutil +, xcbutilwm +, p7zip +, wayland +, libXScrnSaver +}: + +stdenv.mkDerivation rec { + pname = "webex"; + version = "42.8.0.22907"; + + src = fetchurl { + url = "https://binaries.webex.com/WebexDesktop-Ubuntu-Blue/20220712081040/Webex_ubuntu.7z"; + sha256 = "b83950cdcf978a3beda93de27b25b70554fc82fcf072a5a7ea858d2ce0d176ac"; + }; + + buildInputs = [ + alsaLib + at-spi2-atk + at-spi2-core + atk + cairo + cups + dbus + expat + fontconfig + freetype + glib + gdk-pixbuf + gtk3 + harfbuzz + lshw + mesa + nspr + nss + pango + zlib + libdrm + libgcrypt + libglvnd + libkrb5 + libpulseaudio + libsecret + udev + libxcb + libxkbcommon + libX11 + libXcomposite + libXcursor + libXdamage + libXext + libXfixes + libXi + libXrandr + libXrender + libXtst + libxshmfence + xcbutil + xcbutilimage + libXScrnSaver + xcbutilkeysyms + xcbutilrenderutil + xcbutilwm + p7zip + wayland + ]; + + libPath = "$out/opt/Webex/lib:$out/opt/Webex/bin:${lib.makeLibraryPath buildInputs}"; + + unpackPhase = '' + 7z x $src + mv Webex_ubuntu/opt . + ''; + + postPatch = '' + substituteInPlace opt/Webex/bin/webex.desktop --replace /opt $out/opt + ''; + + dontPatchELF = true; + + buildPhase = '' + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "${libPath}" \ + opt/Webex/bin/CiscoCollabHost \ + opt/Webex/bin/CiscoCollabHostCef \ + opt/Webex/bin/CiscoCollabHostCefWM \ + opt/Webex/bin/WebexFileSelector \ + opt/Webex/bin/pxgsettings + for each in $(find opt/Webex -type f | grep \\.so); do + patchelf --set-rpath "${libPath}" "$each" + done + ''; + + installPhase = '' + mkdir -p "$out/bin" "$out/share/applications" + cp -r opt "$out" + + ln -s "$out/opt/Webex/bin/CiscoCollabHost" "$out/bin/webex" + chmod +x $out/bin/webex + + mv "$out/opt/Webex/bin/webex.desktop" "$out/share/applications/webex.desktop" + ''; + + passthru.updateScript = writeScript "webex-update-script" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl jq common-updater-scripts + set -eou pipefail; + + channel=blue + manifest=$(curl -s "https://client-upgrade-a.wbx2.com/client-upgrade/api/v1/webexteamsdesktop/upgrade/@me?channel=$channel&model=ubuntu" | jq '.manifest') + + url=$(jq -r '.packageLocation' <<< "$manifest") + version=$(jq -r '.version' <<< "$manifest") + hash=$(jq -r '.checksum' <<< "$manifest") + + update-source-version ${pname} "$version" "$hash" "$url" --file=./pkgs/applications/networking/instant-messengers/webex/default.nix + ''; + + meta = with lib; { + description = "The all-in-one app to call, meet, message, and get work done"; + homepage = "https://webex.com/"; + downloadPage = "https://www.webex.com/downloads.html"; + license = licenses.unfree; + maintainers = with lib.maintainers; [ uvnikita ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/networking/remote/wayvnc/default.nix b/pkgs/applications/networking/remote/wayvnc/default.nix index e24c41039487..e8618c4d389a 100644 --- a/pkgs/applications/networking/remote/wayvnc/default.nix +++ b/pkgs/applications/networking/remote/wayvnc/default.nix @@ -29,6 +29,6 @@ stdenv.mkDerivation rec { changelog = "https://github.com/any1/wayvnc/releases/tag/v${version}"; license = licenses.isc; platforms = platforms.linux; - maintainers = with maintainers; [ primeos ]; + maintainers = with maintainers; [ nickcao ]; }; } diff --git a/pkgs/applications/science/engineering/strictdoc/conftest.py.patch b/pkgs/applications/science/engineering/strictdoc/conftest.py.patch new file mode 100644 index 000000000000..2fadf242b7a3 --- /dev/null +++ b/pkgs/applications/science/engineering/strictdoc/conftest.py.patch @@ -0,0 +1,15 @@ +diff --git a/tests/unit/conftest.py b/tests/unit/conftest.py +index 932747c..9b3d6ac 100644 +--- a/tests/unit/conftest.py ++++ b/tests/unit/conftest.py +@@ -1,9 +1,7 @@ + import os + import sys + +-STRICTDOC_ROOT_PATH = os.path.abspath( +- os.path.join(__file__, "../../../../strictdoc") +-) ++STRICTDOC_ROOT_PATH = "@strictdoc_root_path@" + assert os.path.exists(STRICTDOC_ROOT_PATH), "does not exist: {}".format( + STRICTDOC_ROOT_PATH + ) diff --git a/pkgs/applications/science/engineering/strictdoc/default.nix b/pkgs/applications/science/engineering/strictdoc/default.nix new file mode 100644 index 000000000000..3fc61b845156 --- /dev/null +++ b/pkgs/applications/science/engineering/strictdoc/default.nix @@ -0,0 +1,100 @@ +{ lib +, stdenv +, buildPythonApplication +, fetchFromGitHub +, python3 +, pythonOlder +, html5lib +, invoke +, openpyxl +, poetry-core +, tidylib +, beautifulsoup4 +, dataclasses +, datauri +, docutils +, jinja2 +, lxml +, markupsafe +, pygments +, reqif +, setuptools +, textx +, xlrd +, XlsxWriter +, pytestCheckHook +}: + +buildPythonApplication rec { + pname = "strictdoc"; + version = "0.0.26"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "strictdoc-project"; + repo = pname; + rev = version; + sha256 = "sha256-SMAwji75AjW8CzXRKBDF+fR/a5++GhgIvkcuD+a/vp4="; + }; + + patches = [ + ./conftest.py.patch + ]; + + postPatch = '' + substituteInPlace ./tests/unit/conftest.py \ + --replace @strictdoc_root_path@ "${placeholder "out"}/${python3.sitePackages}/strictdoc" + + substituteInPlace requirements.txt \ + --replace "jinja2 >= 2.11.2, <3.0" "jinja2 >= 2.11.2" \ + --replace "reqif >= 0.0.18, == 0.*" "reqif>=0.0.8" \ + --replace "==" ">=" \ + --replace "~=" ">=" + ''; + + nativeBuildInputs = [ + html5lib + invoke + openpyxl + poetry-core + tidylib + ]; + + propagatedBuildInputs = [ + beautifulsoup4 + datauri + docutils + jinja2 + lxml + markupsafe + pygments + reqif + setuptools + textx + xlrd + XlsxWriter + ] ++ lib.optionals (pythonOlder "3.7") [ + dataclasses + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "strictdoc" + ]; + + disabledTests = [ + # fixture 'fs' not found + "test_001_load_from_files" + ]; + + meta = with lib; { + description = "Software requirements specification tool"; + homepage = "https://github.com/strictdoc-project/strictdoc"; + changelog = "https://github.com/strictdoc-project/strictdoc/releases"; + license = licenses.asl20; + maintainers = with maintainers; [ yuu ]; + }; +} diff --git a/pkgs/applications/science/math/nauty/default.nix b/pkgs/applications/science/math/nauty/default.nix index 9fae8c31ea41..ef8c041039b1 100644 --- a/pkgs/applications/science/math/nauty/default.nix +++ b/pkgs/applications/science/math/nauty/default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { pname = "nauty"; - version = "2.7r3"; + version = "2.7r4"; src = fetchurl { url = "https://pallini.di.uniroma1.it/nauty${builtins.replaceStrings ["."] [""] version}.tar.gz"; - sha256 = "sha256-TwZltxalP3oU6irjAFnyPQZM4/5MEsATQE724e4LiMI="; + sha256 = "sha256-uBDIWm/imfO0yfJKr5KcrH+VRsLzXCDh3Qrbx0CISKY="; }; outputs = [ "out" "dev" ]; diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index 95da9b26e54e..a0375a5184a8 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -117,6 +117,13 @@ stdenv.mkDerivation rec { # 5.0 hits nixpkgs. # https://github.com/sphinx-doc/sphinx/pull/10372 ./patches/docutils-0.18.1-deprecation.patch + + (fetchSageDiff { + name = "eclib-20220621-update.patch"; + base = "9.7.beta4"; + rev = "9b65d73399b33043777ba628a4d318638aec6e0e"; + sha256 = "sha256-pcb9Q9a0ROCZTyfT7TRMtgEqCom8SgrtAaZ8ATgeqVI="; + }) ]; patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches; diff --git a/pkgs/applications/version-management/git-and-tools/lab/default.nix b/pkgs/applications/version-management/git-and-tools/lab/default.nix index d73d1d13bde2..913466375628 100644 --- a/pkgs/applications/version-management/git-and-tools/lab/default.nix +++ b/pkgs/applications/version-management/git-and-tools/lab/default.nix @@ -1,14 +1,14 @@ -{ lib, buildGoModule, fetchFromGitHub, makeWrapper, xdg-utils, installShellFiles, git }: +{ lib, buildGoModule, fetchFromGitHub, makeBinaryWrapper, xdg-utils, installShellFiles, git }: buildGoModule rec { pname = "lab"; - version = "0.25.0"; + version = "0.25.1"; src = fetchFromGitHub { owner = "zaquestion"; repo = "lab"; rev = "v${version}"; - sha256 = "sha256-7AUhH2aBRpsjUzZQGE2fHDOa1k0rMUfZJqUEKZXpJuM="; + sha256 = "sha256-VCvjP/bSd/0ywvNWPsseXn/SPkdp+BsXc/jTvB11EOk="; }; subPackages = [ "." ]; @@ -17,16 +17,16 @@ buildGoModule rec { doCheck = false; - nativeBuildInputs = [ makeWrapper installShellFiles ]; + nativeBuildInputs = [ makeBinaryWrapper installShellFiles ]; ldflags = [ "-s" "-w" "-X main.version=${version}" ]; postInstall = '' wrapProgram $out/bin/lab --prefix PATH ":" "${lib.makeBinPath [ git xdg-utils ]}"; - for shell in bash fish zsh; do - $out/bin/lab completion $shell > lab.$shell - installShellCompletion lab.$shell - done + installShellCompletion --cmd lab \ + --bash <($out/bin/lab completion bash) \ + --fish <($out/bin/lab completion fish) \ + --zsh <($out/bin/lab completion zsh) ''; meta = with lib; { diff --git a/pkgs/applications/virtualization/crosvm/default.nix b/pkgs/applications/virtualization/crosvm/default.nix index db99d307db50..68ba3b56e2ca 100644 --- a/pkgs/applications/virtualization/crosvm/default.nix +++ b/pkgs/applications/virtualization/crosvm/default.nix @@ -8,7 +8,7 @@ let upstreamInfo = with builtins; fromJSON (readFile ./upstream-info.json); arch = with stdenv.hostPlatform; - if isAarch64 then "arm" + if isAarch64 then "aarch64" else if isx86_64 then "x86_64" else throw "no seccomp policy files available for host platform"; diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index a481b50f3e16..fb41e303f537 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -115,8 +115,14 @@ stdenv.mkDerivation rec { url = "https://gitlab.com/raboof/qemu/-/commit/3fb5e8fe4434130b1167a995b2a01c077cca2cd5.patch"; sha256 = "sha256-evzrN3i4ntc/AFG0C0rezQpQbWcnx74nXO+5DLErX8o="; }) + # fix 9p on macOS host, landed in master + (fetchpatch { + name = "fix-9p-on-macos.patch"; + url = "https://gitlab.com/qemu/qemu/-/commit/f5643914a9e8f79c606a76e6a9d7ea82a3fc3e65.patch"; + sha256 = "sha256-8i13wU135h+YxoXFtkXweBN3hMslpWoNoeQ7Ydmn3V4="; + }) ] - ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch; + ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch; postPatch = '' # Otherwise tries to ensure /var/run exists. diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix index eef1a14639bb..10f67558cfcb 100644 --- a/pkgs/applications/window-managers/weston/default.nix +++ b/pkgs/applications/window-managers/weston/default.nix @@ -10,11 +10,11 @@ with lib; stdenv.mkDerivation rec { pname = "weston"; - version = "10.0.0"; + version = "10.0.1"; src = fetchurl { - url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz"; - sha256 = "1bj7wnadr7ssn6xw7k8ki0wpj6np3kjd2pcysfz3h0mr290rc8sw"; + url = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${version}/downloads/weston-${version}.tar.xz"; + sha256 = "05a10gfbadyxkwgsncc5vc343f493csgh10vk0878nl6d98557la"; }; patches = [ diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix index 05ad16623402..f180e5b4ffad 100644 --- a/pkgs/data/fonts/iosevka/bin.nix +++ b/pkgs/data/fonts/iosevka/bin.nix @@ -11,7 +11,7 @@ let (builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ])); in stdenv.mkDerivation rec { pname = "${name}-bin"; - version = "15.5.2"; + version = "15.6.0"; src = fetchurl { url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip"; diff --git a/pkgs/data/fonts/iosevka/variants.nix b/pkgs/data/fonts/iosevka/variants.nix index 39112a725487..f666dec7a577 100644 --- a/pkgs/data/fonts/iosevka/variants.nix +++ b/pkgs/data/fonts/iosevka/variants.nix @@ -1,95 +1,95 @@ # This file was autogenerated. DO NOT EDIT! { - iosevka = "1f96ngb6m5ssp5hcdv5mrb28jcqx4w8hmz9igi64rrbg3flj93ix"; - iosevka-aile = "19b9mip3bffdfiwlr0gn2qs9zymdrill4kak1pbx2y6kjlbsz7c1"; - iosevka-curly = "0mkkxi0sb50il400bvv5rsgcf0gdbzir0br9m6syxzqwg90lakl7"; - iosevka-curly-slab = "1qbbk2nzgwp4skiwg5cck9i6hzdsqfd88l1cypbk4l4jvvmx0gxm"; - iosevka-etoile = "1l6f8dgk8ajbd35gbf1hdrzjrn96fh6v2wqsp3q0ncyqa210yasp"; - iosevka-slab = "1fnp92s7f73nzy1qlfaal15hl2wgayixl26z8gpcvkzz964zgip7"; - iosevka-ss01 = "0fchf91kmgrisb0na5yig43w8dvpqasj87ppmc12jghybn6zfz8z"; - iosevka-ss02 = "00sn5207s75w79qxlcn153vf0k9jfpwhvn7iydnrdibjgy1wr1h4"; - iosevka-ss03 = "0j227mq286jm7ndd4lr9v3s6wmcw3ya5mbmyc2b7n0hq0jqnbi3h"; - iosevka-ss04 = "1za5893fmbc78jzh7l1ggp3hzm3wjxmmdanc0xg5dj95nrp878di"; - iosevka-ss05 = "0x6z60ig01x3r95izqr2w94d8ddiqawvml6ga1r476xsv3djvl4w"; - iosevka-ss06 = "1w4p4bqrl29v2dpbrk8cdxr1zmipa5n8d2gnyd1ay0p8mrmclfl3"; - iosevka-ss07 = "1abk0fnz5d5rlz226s8m45ndqss4f1sn9249fdhgbph939lcfqlr"; - iosevka-ss08 = "0ilw5013rkl1sflri40pi1h56iir1hadnmxk8a3aa2l7ysmslz44"; - iosevka-ss09 = "1v4y06d521c8hg03vw78h1lhdpvlij3ihdpm7g1ir2mfr1wz2dj9"; - iosevka-ss10 = "1kk7gm2xzy3i8rr149f2lydwdzkgs21hp46yminv6k0ipzfhhy28"; - iosevka-ss11 = "10sz5gncvizvi3f8sx7m6x7g1s1459v47xnap0j8w9qjp1c8d6c7"; - iosevka-ss12 = "12gwiq5fpx3xiv40k0i3k7c3hj15vf0vp7i1glp00yv4v6vrx8an"; - iosevka-ss13 = "05912nq3ll7ihalzazrs2r32krknfg9gpn8i05m7xn31zakizx98"; - iosevka-ss14 = "0lfzxqywx6vjr9vwkgmf73j1bcqjyzgg2n0dk2l523bxlq26j9ng"; - iosevka-ss15 = "0z5vx4hjclf06rirnacd3sdxa0cv6mbgdkiayjbl7k5j3xw2sh5r"; - iosevka-ss16 = "1lhhbdkd5dd87l2b5jmkacnx8h2pp6gwql9clj7sq006ir6a7in4"; - iosevka-ss17 = "0000x8zsfh7kpjdcqhd9fqi9sp4hfkq3i1rmwhlxjmjwcx1rbccd"; - iosevka-ss18 = "16chvb7fz9nn5g87nx2qxfbzqydi6aqdrr5l5hbd42zgx06rxg6b"; - sgr-iosevka = "1pxbqg4c9s63c6yg0hfzw2pky2izgi8m4rl987k7bisqmsmw7dz5"; - sgr-iosevka-aile = "16b44mhvd86cfzazwgrxzvlb4pl79qgcyllw07r4xis3x1gb9n4x"; - sgr-iosevka-curly = "011rr2z0c1sdydyb4g3wb7icf6w13qagsimg6wvwq5v49ybv2p51"; - sgr-iosevka-curly-slab = "0rvddn0fw3p454f5kpnh5lc0vgg5zg9v5658a16yqq0pyabbqm1v"; - sgr-iosevka-etoile = "1l4ljc4g1gfn8n79783cid991rpvffw2abp0br4j0sd8fy4vd97s"; - sgr-iosevka-fixed = "0hkfc8lpqda5vrbckcb740vyysgr7xbfns0v2gsdgj8kbvmw21bc"; - sgr-iosevka-fixed-curly = "19r03fvhcm49nknvf52cp2hrgiaas29jm6skw2xci377adl8xvy7"; - sgr-iosevka-fixed-curly-slab = "1smas7dhsz5qqg22hwlzwhf2wqrasj9gm28pyrwqbqri68982d8i"; - sgr-iosevka-fixed-slab = "1qsafga9xfx6zyyhnlli6d33n9mak5a44lj4klnipm631cfax539"; - sgr-iosevka-fixed-ss01 = "1w3683s7dgwh4njqv4726ghanfki119grszlpkd4ry5l88naw9wz"; - sgr-iosevka-fixed-ss02 = "0lxdx1d6ynywjifarcr5ijga60d8mj4jn4av57yk0m7430qj535m"; - sgr-iosevka-fixed-ss03 = "0wzpn8ra4y6g8gyhx62yyq2s1k7vvp0rbr5cnn810hfqjhc49dhi"; - sgr-iosevka-fixed-ss04 = "0135yadsykcnpjcn9ldhr3pj9l6qnqnixfyn2xvvkxlmlkhizkm9"; - sgr-iosevka-fixed-ss05 = "18vwd9sz6mlzg23dms1w79a98xsy2prkm0d6wkmyczi3pmwc11f2"; - sgr-iosevka-fixed-ss06 = "12mwqq8js5njlddkakpsb798vc8bbiabd2kkvkkvsqmbanpic9ih"; - sgr-iosevka-fixed-ss07 = "19r5a11n8m8k5nqlzgh4wr28gid81gxm7f28bgcz8jmjyvhrkmsq"; - sgr-iosevka-fixed-ss08 = "0ya22ig0aawfi9k7q2hbqd7nfkhij8mj6jaqcp5fqlglgy8r437b"; - sgr-iosevka-fixed-ss09 = "0cyvzalw9jp09kssc9p6pyfw843pbjgyhhjs311b5l8sr33add4k"; - sgr-iosevka-fixed-ss10 = "1bvjm58jcgpjcjyhas10bp0wy5zlvqfkzwj4pzn5h4640vlv7rab"; - sgr-iosevka-fixed-ss11 = "0zm7ncl1n910lqzrp20wp8dayl0wnaijwjzjza7y7wi8f3wi072f"; - sgr-iosevka-fixed-ss12 = "0y3iqkx7hkry9yj7vszvqywbpnim26gdlm6a9gq57i3ilnkh3fqq"; - sgr-iosevka-fixed-ss13 = "10snkzp4ihfd25760sf535s0z736lszx9kmr37bjs0yfk91qcd6i"; - sgr-iosevka-fixed-ss14 = "1h4l025xzsxfhwzs19bzib6kf4asj0066ynwn6a7hjicsy2l8als"; - sgr-iosevka-fixed-ss15 = "1jplpd42ik9lvdxl4kl1hqpz7h1m580r10p0pnnpv64zw9vqpzzc"; - sgr-iosevka-fixed-ss16 = "0w2fgg3c0qkwpsvj4jq287wjgidpx49gnd4ijyqqwlzwyijc8v2a"; - sgr-iosevka-fixed-ss17 = "0m8qpimcan5i2s7v8dhy8j85lzddgmlqjyjf1sfg6694d2ar0hpb"; - sgr-iosevka-fixed-ss18 = "0hbaa84j5izsmibmnx1cwg4s37bc5iq6pib1shlk97fd7c96b3g7"; - sgr-iosevka-slab = "1fxwc9s9ic33fn65gc565fg7h91ny9vj09lvhqpwc5v6jqky7bx8"; - sgr-iosevka-ss01 = "1x72r1k4bz7xg92f8h5lp627dvvcw1li7iq3z511hprf08diyj6w"; - sgr-iosevka-ss02 = "1xzysnn656j8pwsy1grfgbsdkyhizfviah9b6plkfs0crkpjfrd4"; - sgr-iosevka-ss03 = "18d8in437sp0bc3bqb6rim97ygzsmyimnyp7m0czn8f9nyq920xc"; - sgr-iosevka-ss04 = "1vbdqygbw3m0vk4jxd7f8qzap9cms9h0f9i7sr6cn50k998f9pnx"; - sgr-iosevka-ss05 = "0fzkh4a6ni4mc26ss0x4bmhil0xm81p3xwhk0w0cr4qz7m5hk5b7"; - sgr-iosevka-ss06 = "1b7zmjlgzwjnvvkh743ma3lla7jqcq6fsg526kfh0ghxzhhp4s9y"; - sgr-iosevka-ss07 = "0l75xqx4lp5pa65s6phany5gwhswmfs3y0sck211sfzgifmlqf73"; - sgr-iosevka-ss08 = "06zj3msqc69xlmm2sjwcr5s7ibk4qlych7fhhfzjyrawy7mvxrq9"; - sgr-iosevka-ss09 = "11ba3rlp7mnnklznjhmhqfhy3qcnj7fn3w1wjzpqczvi71kskrff"; - sgr-iosevka-ss10 = "04y5q4wspay4y7clrybgyrdyx43kw89zknszzd2df6bz7jpa583x"; - sgr-iosevka-ss11 = "13igcnw8ja2xcpdyshm75qv293x050nx5r9yzxq6rxbppgv7yac2"; - sgr-iosevka-ss12 = "0f3qnldpcavacrnj3x1av7729api33zll4x00zi1rhxd0akldrlb"; - sgr-iosevka-ss13 = "1zy59pa7h2bchxl9gp6xvlj56a6p7jms2m49rsss8l9x5aq2gar1"; - sgr-iosevka-ss14 = "1m66cyr8iybxa7hag65lv82q28mnx02yncklssb516gv5swd4sly"; - sgr-iosevka-ss15 = "03n0qglqhlvg078jnj4l2ni3257g9l5zrbl7y3j051qpn3lkradg"; - sgr-iosevka-ss16 = "0zqyxinrmfnlmkd735laz8ijb22mp1p04xhgqvgvx1npnjkz79jx"; - sgr-iosevka-ss17 = "13dyw8im15njkml0wzqky1jp1rf4pnp8c1jhich4c6s24y0nvnkk"; - sgr-iosevka-ss18 = "1bmh3k5g4h9qq539dh7qhpb5ai1sqrnk6yla6yr8bwpym53knysd"; - sgr-iosevka-term = "0rzl36kz7xfg2cqr8hq8d3vqgg3wnk6ki44xxpspdfgkhyhffz5v"; - sgr-iosevka-term-curly = "0212hs0yp8d46vc12gg3wahmxd2chscrpxcpcwi19cpii8m1jvsx"; - sgr-iosevka-term-curly-slab = "04vyaj8ah3vj90zrd3jv2iqhgdcndqa0sn31ff4s28jzqwfg4d5q"; - sgr-iosevka-term-slab = "0g60dz0y69wwa47x4q5kdpf2bjwjzsmr2zdnphsxwp0iari3mnls"; - sgr-iosevka-term-ss01 = "16s7mgll7filyjjzw5cd5xmfgy7w658xxp8h6x52prcb8b1jpaxr"; - sgr-iosevka-term-ss02 = "1vbarkid9v77qk83ymls3ppgh81kh5qch7k2zqd293dvb25p1irc"; - sgr-iosevka-term-ss03 = "0zgy4v7i7wnbr1rgwcq8mn7128m82f25i9xmbyv3nk66ic4dn17v"; - sgr-iosevka-term-ss04 = "1vl1w9y1xrpnpdzgcnp86gq9k7kyili1spccb6rbziw7il0sva5w"; - sgr-iosevka-term-ss05 = "0kfbkpd1zdh8wdqh72h6q20fq6yfr0xp48bk1nk4k5y1pakibdcs"; - sgr-iosevka-term-ss06 = "1mmc5w6div7nz8c0bfhhzxi6hm0w0qhfn4v7barkl5pw39iy7hls"; - sgr-iosevka-term-ss07 = "16ki4n6vw9vxhwkx7mc0gid456hzznhcv8adq5ky8f78x0d1b7sa"; - sgr-iosevka-term-ss08 = "1c3fbn01dpp684znawk0c8d0vq9ldsiybwsl9jmz3ighx1wli6d0"; - sgr-iosevka-term-ss09 = "1ch6g56y7jfm2720cvn3v1kb7lj23db23p4frnyx32wxngfb8fc7"; - sgr-iosevka-term-ss10 = "08pq3y4112x7s72b7clv4j0hna6v4ks75ap62g0ll6xw541s5g7k"; - sgr-iosevka-term-ss11 = "0bivi2kd01q2007zja7cnphy6g3f369qgc4i848agpsin7dzxavh"; - sgr-iosevka-term-ss12 = "1jfinia1kmwm6kjyx5sfbzfhb9qyjq51hjynpafrlyc2jzi4jh2w"; - sgr-iosevka-term-ss13 = "19jg7r1jz3b39brsp8l0xklmydm015v4z3lcm8waw84g6ahpsz4d"; - sgr-iosevka-term-ss14 = "1060bnwvc0mfkfq03m45giv7n5b9cdn7ssz8y0dkavfkxxqjf3rb"; - sgr-iosevka-term-ss15 = "1zjl2jxsvkp31h756l95bhg7vk2vmpsrrdvr8s1blgbywf73vs0h"; - sgr-iosevka-term-ss16 = "104myf8pvxiqjzy6ws2b8yjxddrlmnympnlgi2klbda0snvipcah"; - sgr-iosevka-term-ss17 = "0aas4q54mhrd0vnh0ridgcb5q9m8xism9lk87kwxr6nmkyp5fabj"; - sgr-iosevka-term-ss18 = "0z0gcvvpiyb86i5x6c1haggbb02l2jx1asa8ag17mwdaf7cp792m"; + iosevka = "1frma5fnrfq1z06mvpy3wvp7jkww8qlji308b3pxv0nxwgjd1vyv"; + iosevka-aile = "086ml3r09k3raxrwdmqgn7s7xga1zgrkvzxsldzwjpsw9jsax0m6"; + iosevka-curly = "000n3wsjsk562lpydmck2c36sxd0w2wkjgz8f7dm8iw57ls9pn6g"; + iosevka-curly-slab = "1cybjnmiwqjxj0rw3lil7n5vc6c30dg7ak0dz4g6q5klbnsw354s"; + iosevka-etoile = "0gxhsgsxzkz34lln20aqz0rd8wvm58090f6v8z4fi5qsm0dla06s"; + iosevka-slab = "00nd3h8vyqzlwbp45by6crzjq9rjpmj0nmmbbq17xvjgxxfhjsxr"; + iosevka-ss01 = "1yq8bnrbw3g24xsnrwbq1vl05m4dlcpjl29h8g8irhhpbnnm44nx"; + iosevka-ss02 = "1r40drbjxpwb7aqa24hh90nxayzj3gah110fsf8yjq5l5azg9ds8"; + iosevka-ss03 = "1mlg9qjfdfia0vwd86gi9ygbbnamld56lpf4h6m7gr8y8v00p07i"; + iosevka-ss04 = "0ap45s2si80gbz78q5v8qqga2ipy9dsz9hkq5dyfh8axlx1wiy7p"; + iosevka-ss05 = "1mah12ihqwqlkmr01l5z6kasb6h6xifgd7acfypz5547ip2zy425"; + iosevka-ss06 = "09w0hm5djjhfvy6lhbynvlq6ckd70zisv0z5y7w4jfmanif8jns3"; + iosevka-ss07 = "17imf7021ncpl9f8nbm1c0bjz5grz1iqgvpz48vpqd56632ac6k6"; + iosevka-ss08 = "199bf0qa76z59ad5d7fcgkiq8m4fxcia7q162zzjlxpl5bgv0665"; + iosevka-ss09 = "0w7jcgi4vn5ix58ji5cybpbnzvdl21k1r6rxad76z97ywwqbflag"; + iosevka-ss10 = "18vm9p6jdbyfc8q3cz8wf3sgd0xn7pzyw3qxld9d2qg83siybsmk"; + iosevka-ss11 = "0aj1l0g3zzcr3grkj1l6s39449g60v6hvjfmb4xx4kxg7h1h5b4i"; + iosevka-ss12 = "0zl2ffmgnlrcaj8mzfgp5x5z7iras5svdpf0zl2xcgjn15k17lkx"; + iosevka-ss13 = "0b58jjhd17i9pc5gdcx3xj9y8bgzwxrlh21j6di4cgvgj41gh46k"; + iosevka-ss14 = "0vlqr5s40xcc2645vsaap42cgfswi2p4hbpqbfjfzsmf41w6j6qc"; + iosevka-ss15 = "01qgvdmy8frbasb5d39c12dxjlha6iv1dq621il0dzm0850x48ys"; + iosevka-ss16 = "12vl98p6w73l4rfy2scn57jrvg2jxk99d2vsndri013grx488lq5"; + iosevka-ss17 = "0336m1i7vdd86jgyfdnsw4f6pdzcd4d757gxf8pa3h6jyczcn8n1"; + iosevka-ss18 = "07sqd4zwc85q8mh9l1bc2nbyr966b0bh9fff9rk91jrk106fijcl"; + sgr-iosevka = "0adxnngdwz6lmp4yla8amk0840y9k6d3k1jl90z5qd3dpl0m0w7z"; + sgr-iosevka-aile = "07470h9apwbmnai1rzx5s9jw3195gsxqv6q0z1gnf56mp94wihg1"; + sgr-iosevka-curly = "1jii49qqlrpvzczwqi39001j0qwbrzklc96bwampn9f0la1iqcbf"; + sgr-iosevka-curly-slab = "0bwfsimzkw4pbk6qy4nvbpwcw0h3m16qsjaqwrwfhnzy8hqc6akc"; + sgr-iosevka-etoile = "091ikanzxmkb673wfcfdg9qm56xqv4vwd3c1ph0c5bzc2nz3il50"; + sgr-iosevka-fixed = "1nz7x90zcbmvwldiz5zv5j22qyjgjn4ba42liki747lr930f38lm"; + sgr-iosevka-fixed-curly = "17y7h5jwim59zybpmkv3rqdcc41dxax5145xmhyzvagblsc7qlpk"; + sgr-iosevka-fixed-curly-slab = "1xfaszbpydi6vzif14bymv5cqlwxvvkdadba4jhy0psc7b30k095"; + sgr-iosevka-fixed-slab = "0pbmhr3nbb777ym30qmhlp4swq0q1f5aqc6i7453fc0lhygmcg55"; + sgr-iosevka-fixed-ss01 = "1klxs5npm5i1sxgrnkbkf1rbn1dvrdxp6mr34kjxkjxrd5flrb6m"; + sgr-iosevka-fixed-ss02 = "0aw0yqmvahk0wagyb2k6q6jibpdlyza3q7zn2a7pi36pcnm9b2rn"; + sgr-iosevka-fixed-ss03 = "0ssxx7a7cskd8lcfy3lnjic1qgzy087d6vk7hmhnlg52jhcfbkjm"; + sgr-iosevka-fixed-ss04 = "0fhqzj5ksvcp1rxa8g11a0jwznhwb5xw41wpvjqy1za1qh2h6shw"; + sgr-iosevka-fixed-ss05 = "06z42m7x565wzsf9sfxi4p4846cb3mgz7mr5h3xa528789fk1sx0"; + sgr-iosevka-fixed-ss06 = "0hzy5bj3ac009q515ylxlc73d1qwdfqcxfq8jxla5h6cgcfipnl4"; + sgr-iosevka-fixed-ss07 = "1051ah3q8wgdana4a9v38szd36wdy0h3c15sf1blm0cv3y0q7cv3"; + sgr-iosevka-fixed-ss08 = "05pg3ywxg8m4c1ij8xpd43azz1671v1bsw7r3szbiqmmlq651h9w"; + sgr-iosevka-fixed-ss09 = "0way85q2jwkhz8ixicx73s1x1hsyznr524am95igqkzwaz7c72q9"; + sgr-iosevka-fixed-ss10 = "12b91hk7i00766gmd04dgh3c6m42bvbc25y9h049c6rfimzd9f75"; + sgr-iosevka-fixed-ss11 = "1pn06gz3jrksg6f2glk45gj9i7jmgnh4f509fi7qqa73r3an0pl8"; + sgr-iosevka-fixed-ss12 = "0nb7g0kbi4riczhjl1dqbzg3kwwsw1vlxnsc5p0qfh8h1rnfpg9g"; + sgr-iosevka-fixed-ss13 = "1nj3nbp0b9a4nmskxg4vv98y7qp7gnj6rqkckvsw7bw43mxa2faq"; + sgr-iosevka-fixed-ss14 = "1fhwx95702qyr23iwp400l16lgq12pd3ckbf5dn1hyhfmm691cvg"; + sgr-iosevka-fixed-ss15 = "088xdxr11gdpn5j4fbf4xscq4prc1cydb23xcsmpnci6gsv4ppzg"; + sgr-iosevka-fixed-ss16 = "1p20k188c75jisrg7bqr6fq9pra07b44vyvj10ngm38xwfgqb5lz"; + sgr-iosevka-fixed-ss17 = "03giwk9xlnirgshbkpbkqav3l97n2fm7y3wd21g449vi7r9srimk"; + sgr-iosevka-fixed-ss18 = "1yl501fcik0kcm20b98n9a285zv9m3yc33ngkjdgj12ssgb02lj8"; + sgr-iosevka-slab = "0svls9wajw539bj5xziqbcp3wgc3f3hvwvz0rsicc9wgm7h47i33"; + sgr-iosevka-ss01 = "09i5iylma19jfiqcl0svm7dz4d2agi1ylkvzvsh050ggsk57nzv6"; + sgr-iosevka-ss02 = "1l0c7519wj46m14aq318rlhajq51hkv5sddhl8nvaqpdmrxx0zcj"; + sgr-iosevka-ss03 = "02yz6wqaqnc0in8b6j2n02kf6lws4x16182a5djnh3nnml2jhvi6"; + sgr-iosevka-ss04 = "0llrnx6vh6fl0fn5jjxzkq4rk91siy90pcpwin010sm3bppc0qgf"; + sgr-iosevka-ss05 = "166y9hywcm6d1zw2szqfrlaj9qaankamcs0ff02vd7q399bkl9a2"; + sgr-iosevka-ss06 = "0q41sikcv60nkvxqs5l3zw1dram20192dd5nr17nsd2lrbbdw1qx"; + sgr-iosevka-ss07 = "1nxgsj6ykgh5dj3gjba2ild1y5knilm7pzi5b5qbqpal89ymk5dq"; + sgr-iosevka-ss08 = "19bidxh3zxid6md8y0zp6ij4yxhqbyhqxfmld12pcskvp9xdv5bc"; + sgr-iosevka-ss09 = "15w7dqb73q2v0qkh0wmlhjd3sphcq6qilb8iqz0ifg3kbsix3hd3"; + sgr-iosevka-ss10 = "04gcwjpi313sqmdq1limfzycjyhr6p05vnr8jsabvgbxididikdi"; + sgr-iosevka-ss11 = "1mvhrqgbppx35h2v62ykhihdkh4zw2lwz5i7fd5qdw0ysiv1006d"; + sgr-iosevka-ss12 = "0r7qlba9mx1fibs0jrqgjzbffk1j49912zzim441n9539n6rmpvp"; + sgr-iosevka-ss13 = "1qvn83frjhy2w16i9jnhp3874rjlf0z95n7x1kmcg89hzy3x7288"; + sgr-iosevka-ss14 = "1yjbdgj1b03p2cwvwsh7jl0npj4a840whgn35j61fi9ap74jld8c"; + sgr-iosevka-ss15 = "1jrixb0lw04axv2h6d92mbwgavyzpc189n72b8wf729kwi22bvww"; + sgr-iosevka-ss16 = "1mvgl5dh9frqmqvia17zwpyyy9hwm8iayx2azm7mhjkkff0f0sd9"; + sgr-iosevka-ss17 = "00059jzz2w9xdfcl2lws2i0lwqgn08fakn0di6clqhjig695yglc"; + sgr-iosevka-ss18 = "03sy0az47x9sc0qxjc1wvhkmp71wqrm7q998ijxmj6mkbd3kc24v"; + sgr-iosevka-term = "0r5ah7rxqqi4cha3r6nz6dli6z55s1g91yb1x6b2q04irvm0hzrc"; + sgr-iosevka-term-curly = "1c9vf1kcl0yai5smzh9dldhkbwanbxji2a1j6y1sw59kn9n7aygf"; + sgr-iosevka-term-curly-slab = "02m3fpdj9gxskap4sp43pjr4ylyvr6fpbsbl5csjl5x4rlrh71kr"; + sgr-iosevka-term-slab = "1bnb803vcrkk05igm80v3k8b3p6ji14bsa5rjrplxq7yrjq7ybk4"; + sgr-iosevka-term-ss01 = "1wfz766fi0xi5nb80wdlpp4j4klggz8v2aa1prl6mbvmzq4g1alk"; + sgr-iosevka-term-ss02 = "12vcmbx597h0mfmib9wzqpc7bchbim2jyqnk835fhgrdrddb1w0j"; + sgr-iosevka-term-ss03 = "0a4dfrah8rg5bc7x8r08n2ijr6nfxr5nwbwj7ig0snbw1rrizm4i"; + sgr-iosevka-term-ss04 = "0ix8wn6dbqs072s3bmcjc1k8jfi4zpgjikbbdld3fgsg13gncz2p"; + sgr-iosevka-term-ss05 = "19jjvadmffizdymy21dniz43ac1qkik5i33a4imchk64kcn7nqin"; + sgr-iosevka-term-ss06 = "0lx61ikw9c2glr7smxyqkx68271sww47khkdy68llmw16c1dcapc"; + sgr-iosevka-term-ss07 = "12nx451b67cc6kx6pkb9x2jyk683xvjz3m21wg7zjplskrhlfaqa"; + sgr-iosevka-term-ss08 = "19n39wpz09kp9km9gmb16q6g4xbp288dgnlpdy4jxnway3i23drp"; + sgr-iosevka-term-ss09 = "1j4sh9fjyxi5qa85w72bs7sin5189qis8zdr2fbl39ma7igj5l5f"; + sgr-iosevka-term-ss10 = "02bv19gc1n73qyrdghp5nfzf2vwcvws3qnrcx7k3jpz23xf1n8s8"; + sgr-iosevka-term-ss11 = "1a93vv86sg38ipji4cbpndcr9bfcc2n4bg0s3f19lzyqpw3pa6r9"; + sgr-iosevka-term-ss12 = "1c3d3cxna1m7qq77fc278jja7yz84591pazc1adij28l3xl7xh1z"; + sgr-iosevka-term-ss13 = "0ss0l4373867csgis87miymby4m1vvxs321lqq00m73x35y9xrj2"; + sgr-iosevka-term-ss14 = "0dzg0g5p9p1p8yajdz0xnir8advs69fyj325qwh5616in9y3lv32"; + sgr-iosevka-term-ss15 = "0rx346bjrm33n9ww9bc4czn9dda16bkxjf6h9m4bnvlgxdflgd3y"; + sgr-iosevka-term-ss16 = "14i3f4bwnsb3haai8003pi9hsahcmxm1r1vccbrzny5vx78892py"; + sgr-iosevka-term-ss17 = "0idfiqxj0ixrmvfa0bhl1sg6pvaivcw0csjcfxpp7d406553a70i"; + sgr-iosevka-term-ss18 = "1732sskv5jzpdaaf4dc6xcp45r5fpxxxdq35jlnxbwng0njww3qy"; } diff --git a/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/pkgs/desktops/pantheon/apps/elementary-files/default.nix index 6944dfac1ea5..9817962920a1 100644 --- a/pkgs/desktops/pantheon/apps/elementary-files/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-files/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, fetchpatch , nix-update-script , pkg-config , meson @@ -32,6 +33,15 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" ]; + patches = [ + # Fix terminal critical warnings and possible crash when removing bookmark + # https://github.com/elementary/files/pull/2062 + (fetchpatch { + url = "https://github.com/elementary/files/commit/daa5ab244b45aafdd7be49eb0bd6f052ded5b5a7.patch"; + sha256 = "sha256-crGvbo9Ye9656cOy6YqNreMLE2pEMO0Rg8oz81OfJkw="; + }) + ]; + src = fetchFromGitHub { owner = "elementary"; repo = "files"; diff --git a/pkgs/development/compilers/dotnet/build-dotnet.nix b/pkgs/development/compilers/dotnet/build-dotnet.nix index 11150ec7ca16..cadb6fb31d78 100644 --- a/pkgs/development/compilers/dotnet/build-dotnet.nix +++ b/pkgs/development/compilers/dotnet/build-dotnet.nix @@ -47,14 +47,11 @@ stdenv.mkDerivation rec { libunwind libuuid openssl - ] ++ lib.optionals stdenv.isLinux [ - lttng-ust_2_12 - ]); + ] ++ lib.optional stdenv.isLinux lttng-ust_2_12); nativeBuildInputs = [ - autoPatchelfHook makeWrapper - ]; + ] ++ lib.optional stdenv.isLinux autoPatchelfHook; buildInputs = [ stdenv.cc.cc diff --git a/pkgs/development/compilers/ligo/default.nix b/pkgs/development/compilers/ligo/default.nix index 36ec5bba2e20..ab61043048af 100644 --- a/pkgs/development/compilers/ligo/default.nix +++ b/pkgs/development/compilers/ligo/default.nix @@ -46,6 +46,7 @@ coq.ocamlPackages.buildDunePackage rec { yojson getopt core + core_unix pprint linenoise @@ -83,6 +84,8 @@ coq.ocamlPackages.buildDunePackage rec { doCheck = false; # Tests fail, but could not determine the reason + patches = [ ./ligo.patch ]; # fix for core >= 0.15.0 + meta = with lib; { homepage = "https://ligolang.org/"; downloadPage = "https://ligolang.org/docs/intro/installation"; diff --git a/pkgs/development/compilers/ligo/ligo.patch b/pkgs/development/compilers/ligo/ligo.patch new file mode 100644 index 000000000000..1a076cf18cee --- /dev/null +++ b/pkgs/development/compilers/ligo/ligo.patch @@ -0,0 +1,134 @@ +diff --git a/ligo.opam b/ligo.opam +index d561c74d1..3a8d34feb 100644 +--- a/ligo.opam ++++ b/ligo.opam +@@ -10,7 +10,9 @@ license: "MIT" + # If you change the dependencies, run `opam lock` in the root + depends: [ + # Jane Street Core +- "core" ++ "core" { >= "v0.14.0" & < "v0.16.0" } ++ "core_kernel" { >= "v0.14.0" & "v0.16.0" } ++ "core_unix" { >= "v0.14.0" & "v0.16.0" } + # Tooling + "odoc" { build } + "ocamlfind" { build } +diff --git a/ligo.opam.locked b/ligo.opam.locked +index b4501cc76..c8ed8a41f 100644 +--- a/ligo.opam.locked ++++ b/ligo.opam.locked +@@ -50,8 +50,9 @@ depends: [ + "conf-rust" {= "0.1"} + "conf-which" {= "1"} + "coq" {= "8.13.2"} +- "core" {= "v0.14.1"} +- "core_kernel" {= "v0.14.2"} ++ "core" {= "v0.15.0"} ++ "core_kernel" {= "v0.15.0"} ++ "core_unix" {= "v0.15.0"} + "cppo" {= "1.6.8"} + "csexp" {= "1.5.1"} + "cstruct" {= "6.0.1"} +diff --git a/src/bin/cli.ml b/src/bin/cli.ml +index a6fc13e0d..ef5177868 100644 +--- a/src/bin/cli.ml ++++ b/src/bin/cli.ml +@@ -12,7 +12,7 @@ let entry_point = + let source_file = + let name = "SOURCE_FILE" in + let _doc = "the path to the smart contract file." in +- Command.Param.(anon (name %: Filename.arg_type)) ++ Command.Param.(anon (name %: Filename_unix.arg_type)) + + let package_name = + let name = "PACKAGE_NAME" in +@@ -662,7 +662,7 @@ let main = Command.group ~preserve_subcommand_order:() ~summary:"the LigoLANG co + ] + + let run ?argv () = +- Command.run ~version:Version.version ?argv main; ++ Command_unix.run ~version:Version.version ?argv main; + (* Effect to error code *) + match !return with + Done -> 0; +@@ -677,4 +677,3 @@ let run ?argv () = + match exn with + | Failure msg -> message msg + | exn -> message (Exn.to_string exn) +- +diff --git a/src/bin/cli_helpers.ml b/src/bin/cli_helpers.ml +index b64a17d53..8c4c43dde 100644 +--- a/src/bin/cli_helpers.ml ++++ b/src/bin/cli_helpers.ml +@@ -66,7 +66,7 @@ let run_command (cmd : command) = + (fun p -> Lwt.map + (fun status -> + match status with +- Caml.Unix.WEXITED 0 -> Ok () ++ Caml_unix.WEXITED 0 -> Ok () + | _ -> Error ("unknown error")) + p#status) in + Lwt_main.run status +\ No newline at end of file +diff --git a/src/bin/dune b/src/bin/dune +index 295c056f3..08d980439 100644 +--- a/src/bin/dune ++++ b/src/bin/dune +@@ -11,7 +11,9 @@ + repl + install + cli_helpers +- ligo_api) ++ ligo_api ++ core_unix.command_unix ++ core_unix.filename_unix) + (modules cli version)) + + (library +diff --git a/src/main/interpreter/dune b/src/main/interpreter/dune +index c55e24a88..f9762a297 100644 +--- a/src/main/interpreter/dune ++++ b/src/main/interpreter/dune +@@ -4,4 +4,4 @@ + (instrumentation + (backend bisect_ppx)) + (libraries tezos-011-PtHangz2-test-helpers ast_aggregated ligo_interpreter +- main_errors ligo_compile build fuzz ligo_run self_ast_typed)) ++ main_errors ligo_compile build fuzz ligo_run self_ast_typed core_unix.sys_unix)) +diff --git a/src/main/interpreter/interpreter.ml b/src/main/interpreter/interpreter.ml +index b0379029c..530e08c3a 100644 +--- a/src/main/interpreter/interpreter.ml ++++ b/src/main/interpreter/interpreter.ml +@@ -2,6 +2,7 @@ open Simple_utils.Trace + open Simple_utils + open Ligo_interpreter.Types + open Ligo_interpreter.Combinators ++module Sys = Sys_unix + + module AST = Ast_aggregated + +diff --git a/vendors/ligo-utils/simple-utils/dune b/vendors/ligo-utils/simple-utils/dune +index ca9f2bf5c..62c39087b 100644 +--- a/vendors/ligo-utils/simple-utils/dune ++++ b/vendors/ligo-utils/simple-utils/dune +@@ -6,6 +6,7 @@ + (libraries + ;; Third party + core ++ core_kernel.caml_unix + yojson + result + unix +diff --git a/vendors/ligo-utils/simple-utils/snippet.ml b/vendors/ligo-utils/simple-utils/snippet.ml +index 658f115f2..f23000590 100644 +--- a/vendors/ligo-utils/simple-utils/snippet.ml ++++ b/vendors/ligo-utils/simple-utils/snippet.ml +@@ -1,7 +1,7 @@ + (* used to show code snippets in error messages *) + + let print_code ppf (l:Region.t) (input_line: unit -> string) = +- let dumb =String.equal (Caml.Unix.getenv "TERM") "dumb" in ++ let dumb =String.equal (Caml_unix.getenv "TERM") "dumb" in + let start = l#start#line in + let start_column = l#start#offset `Byte in + let stop = l#stop#line in diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix index 46d74309660a..8daed0ff7839 100644 --- a/pkgs/development/compilers/purescript/purescript/default.nix +++ b/pkgs/development/compilers/purescript/purescript/default.nix @@ -61,6 +61,7 @@ in stdenv.mkDerivation rec { description = "A strongly-typed functional programming language that compiles to JavaScript"; homepage = "https://www.purescript.org/"; license = licenses.bsd3; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; maintainers = with maintainers; [ justinwoo mbbx6spp cdepillabout ]; platforms = [ "x86_64-linux" "x86_64-darwin" ]; mainProgram = "purs"; diff --git a/pkgs/development/coq-modules/mathcomp-finmap/default.nix b/pkgs/development/coq-modules/mathcomp-finmap/default.nix index 744d5ea98514..dc19cd6e56e5 100644 --- a/pkgs/development/coq-modules/mathcomp-finmap/default.nix +++ b/pkgs/development/coq-modules/mathcomp-finmap/default.nix @@ -7,6 +7,7 @@ with lib; mkCoqDerivation { owner = "math-comp"; inherit version; defaultVersion = with versions; switch [ coq.version mathcomp.version ] [ + { cases = [ (range "8.13" "8.15") (isGe "1.12") ]; out = "1.5.2"; } { cases = [ (isGe "8.10") (isGe "1.11") ]; out = "1.5.1"; } { cases = [ (range "8.7" "8.11") "1.11.0" ]; out = "1.5.0"; } { cases = [ (isEq "8.11") (range "1.8" "1.10") ]; out = "1.4.0+coq-8.11"; } @@ -16,6 +17,7 @@ with lib; mkCoqDerivation { { cases = [ (range "8.6" "8.7") (range "1.6.1" "1.7") ]; out = "1.0.0"; } ] null; release = { + "1.5.2".sha256 = "sha256-0KmmSjc2AlUo6BKr9RZ4FjL9wlGISlTGU0X1Eu7l4sw="; "1.5.1".sha256 = "0ryfml4pf1dfya16d8ma80favasmrygvspvb923n06kfw9v986j7"; "1.5.0".sha256 = "0vx9n1fi23592b3hv5p5ycy7mxc8qh1y5q05aksfwbzkk5zjkwnq"; "1.4.1".sha256 = "0kx4nx24dml1igk0w0qijmw221r5bgxhwhl5qicnxp7ab3c35s8p"; diff --git a/pkgs/development/libraries/catch2/default.nix b/pkgs/development/libraries/catch2/default.nix index bbbf08c6f070..111f1054f368 100644 --- a/pkgs/development/libraries/catch2/default.nix +++ b/pkgs/development/libraries/catch2/default.nix @@ -20,6 +20,6 @@ stdenv.mkDerivation rec { homepage = "http://catch-lib.net"; license = licenses.boost; maintainers = with maintainers; [ edwtjo knedlsepp ]; - platforms = with platforms; unix; + platforms = platforms.unix ++ [ "x86_64-windows" ]; }; } diff --git a/pkgs/development/libraries/eclib/default.nix b/pkgs/development/libraries/eclib/default.nix index 74a6f21992b5..af358be31218 100644 --- a/pkgs/development/libraries/eclib/default.nix +++ b/pkgs/development/libraries/eclib/default.nix @@ -14,7 +14,7 @@ assert withFlint -> flint != null; stdenv.mkDerivation rec { pname = "eclib"; - version = "20210625"; # upgrade might break the sage interface + version = "20220621"; # upgrade might break the sage interface # sage tests to run: # src/sage/interfaces/mwrank.py # src/sage/libs/eclib @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { # see https://github.com/JohnCremona/eclib/issues/64#issuecomment-789788561 # for upstream's explanation of the above url = "https://github.com/JohnCremona/eclib/releases/download/${version}/eclib-${version}.tar.bz2"; - sha256 = "sha256-fA3MPz/L+Q39sA8wxAYOUowlHRcgOd8VF4tpsBGI6BA="; + sha256 = "sha256-EfoCNhnXGuN5SxgPFES4BaevhSRzU1JvT3ARq9NMJhM="; }; buildInputs = [ pari diff --git a/pkgs/development/libraries/fcppt/default.nix b/pkgs/development/libraries/fcppt/default.nix index 46237505ff31..1a82a9289a61 100644 --- a/pkgs/development/libraries/fcppt/default.nix +++ b/pkgs/development/libraries/fcppt/default.nix @@ -1,17 +1,17 @@ -{ lib, stdenv, fetchFromGitHub, cmake, boost, catch2, metal }: +{ lib, stdenv, fetchFromGitHub, cmake, boost, catch2 }: stdenv.mkDerivation rec { pname = "fcppt"; - version = "3.5.0"; + version = "4.2.1"; src = fetchFromGitHub { owner = "freundlich"; repo = "fcppt"; rev = version; - sha256 = "045cmn4sym6ria96l4fsc1vrs8l4xrl1gzkmja82f4ddj8qkji2f"; + sha256 = "1pcmi2ck12nanw1rnwf8lmyx85iq20897k6daxx3hw5f23j1kxv6"; }; nativeBuildInputs = [ cmake ]; - buildInputs = [ boost catch2 metal ]; + buildInputs = [ boost catch2 ]; cmakeFlags = [ "-DENABLE_BOOST=true" @@ -32,6 +32,6 @@ stdenv.mkDerivation rec { homepage = "https://fcppt.org"; license = licenses.boost; maintainers = with maintainers; [ pmiddend ]; - platforms = platforms.linux; + platforms = [ "x86_64-linux" "x86_64-windows" ]; }; } diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix index 8bc2dc76160f..30324b04d850 100644 --- a/pkgs/development/libraries/libgsf/default.nix +++ b/pkgs/development/libraries/libgsf/default.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation rec { pname = "libgsf"; - version = "1.14.49"; + version = "1.14.50"; outputs = [ "out" "dev" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "6evjZojwEMnm5AyJA/NzKUjeuKygMleNB9B1G9gs+Fc="; + sha256 = "bmwg0HeDOQadWDwNY3WdKX6BfqENDYl+u+ll8W4ujlI="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/libplacebo/default.nix b/pkgs/development/libraries/libplacebo/default.nix index 94492132b9bf..807b69f17f2a 100644 --- a/pkgs/development/libraries/libplacebo/default.nix +++ b/pkgs/development/libraries/libplacebo/default.nix @@ -17,14 +17,14 @@ stdenv.mkDerivation rec { pname = "libplacebo"; - version = "4.192.1"; + version = "4.208.0"; src = fetchFromGitLab { domain = "code.videolan.org"; owner = "videolan"; repo = pname; rev = "v${version}"; - sha256 = "13z2f0vwf9fgfzqgkqzvqwa8c8nkymrg5hv7xslfx53dacjfidhy"; + sha256 = "161dp5781s74ca3gglaxlmchx7glyshf0wg43w98pl22n1jcm5qk"; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/libuiohook/default.nix b/pkgs/development/libraries/libuiohook/default.nix new file mode 100644 index 000000000000..3f1f48317fdc --- /dev/null +++ b/pkgs/development/libraries/libuiohook/default.nix @@ -0,0 +1,71 @@ +{ lib +, stdenv +, fetchFromGitHub +, nixosTests +, cmake +, pkg-config +, AppKit +, ApplicationServices +, Carbon +, libX11 +, libxkbcommon +, xinput +, xorg +}: + +stdenv.mkDerivation rec { + pname = "libuiohook"; + version = "1.2.2"; + + src = fetchFromGitHub { + owner = "kwhat"; + repo = pname; + rev = version; + sha256 = "1qlz55fp4i9dd8sdwmy1m8i4i1jy1s09cpmlxzrgf7v34w72ncm7"; + }; + + nativeBuildInputs = [ cmake pkg-config ]; + + buildInputs = + if stdenv.isDarwin then [ AppKit ApplicationServices Carbon ] + else [ + libX11 + libxkbcommon + xinput + ] ++ + (with xorg; [ + libXau + libXdmcp + libXi + libXinerama + libXt + libXtst + libXext + libxkbfile + ]); + + outputs = [ "out" "test" ]; + + # We build the tests, but they're only installed when using the "test" output. + # This will produce a "uiohook_tests" binary which can be run to test the + # functionality of the library on the current system. + # Running the test binary requires a running X11 session. + cmakeFlags = [ + "-DENABLE_TEST:BOOL=ON" + ]; + + postInstall = '' + mkdir -p $test/share + cp ./uiohook_tests $test/share + ''; + + meta = with lib; { + description = "A C library to provide global keyboard and mouse hooks from userland"; + homepage = "https://github.com/kwhat/libuiohook"; + license = licenses.gpl3Only; + platforms = platforms.all; + maintainers = with maintainers; [ anoa ]; + }; + + passthru.tests.libuiohook = nixosTests.libuiohook; +} diff --git a/pkgs/development/libraries/metal/default.nix b/pkgs/development/libraries/metal/default.nix deleted file mode 100644 index 2f43485e05e0..000000000000 --- a/pkgs/development/libraries/metal/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, cmake }: -stdenv.mkDerivation rec { - pname = "metal"; - version = "2.1.2"; - - src = fetchFromGitHub { - owner = "brunocodutra"; - repo = "metal"; - rev = "v${version}"; - sha256 = "sha256-1I+EZtIz/2y4+dJGBONhTlUQGHgRdvXc1ZAOC9pmStw="; - }; - - nativeBuildInputs = [ cmake ]; - - meta = with lib; { - description = "Single-header C++11 library designed to make you love template metaprogramming"; - homepage = "https://github.com/brunocodutra/metal"; - license = licenses.mit; - maintainers = with maintainers; [ pmiddend ]; - platforms = platforms.all; - }; - -} diff --git a/pkgs/development/libraries/neatvnc/default.nix b/pkgs/development/libraries/neatvnc/default.nix index 728e4bf4272a..68c0dff173a3 100644 --- a/pkgs/development/libraries/neatvnc/default.nix +++ b/pkgs/development/libraries/neatvnc/default.nix @@ -29,6 +29,6 @@ stdenv.mkDerivation rec { changelog = "https://github.com/any1/neatvnc/releases/tag/v${version}"; license = licenses.isc; platforms = platforms.linux; - maintainers = with maintainers; [ primeos ]; + maintainers = with maintainers; [ nickcao ]; }; } diff --git a/pkgs/development/libraries/protobuf/3.20.nix b/pkgs/development/libraries/protobuf/3.20.nix new file mode 100644 index 000000000000..93d180159b87 --- /dev/null +++ b/pkgs/development/libraries/protobuf/3.20.nix @@ -0,0 +1,6 @@ +{ callPackage, abseil-cpp, ... }: + +callPackage ./generic-v3.nix { + version = "3.20.1"; + sha256 = "sha256-pAMacD0UQetqysZHszu5slPqp0iREtDmHFv1cgcUBJA="; +} diff --git a/pkgs/development/libraries/protobuf/3.21.nix b/pkgs/development/libraries/protobuf/3.21.nix new file mode 100644 index 000000000000..70c6095ae7b6 --- /dev/null +++ b/pkgs/development/libraries/protobuf/3.21.nix @@ -0,0 +1,6 @@ +{ callPackage, abseil-cpp, ... }: + +callPackage ./generic-v3-cmake.nix { + version = "3.21.2"; + sha256 = "sha256-DUv07pWiZV7jNeSA2ClDOz9DY0x/hiJynxkbSTeJOSs="; +} diff --git a/pkgs/development/libraries/protobuf/generic-v3-cmake.nix b/pkgs/development/libraries/protobuf/generic-v3-cmake.nix new file mode 100644 index 000000000000..0b6967a67385 --- /dev/null +++ b/pkgs/development/libraries/protobuf/generic-v3-cmake.nix @@ -0,0 +1,107 @@ +# The cmake version of this build is meant to enable both cmake and .pc being exported +# this is important because grpc exports a .cmake file which also expects for protobuf +# to have been exported through cmake as well. +{ lib +, stdenv +, abseil-cpp +, buildPackages +, cmake +, fetchFromGitHub +, fetchpatch +, gtest +, zlib +, version +, sha256 + +# downstream dependencies +, python3 + +, ... +}: + +let + self = stdenv.mkDerivation { + pname = "protobuf"; + inherit version; + + src = fetchFromGitHub { + owner = "protocolbuffers"; + repo = "protobuf"; + rev = "v${version}"; + inherit sha256; + }; + + # re-create submodule logic + postPatch = '' + rm -rf gmock + cp -r ${gtest.src}/googlemock third_party/gmock + cp -r ${gtest.src}/googletest third_party/ + chmod -R a+w third_party/ + + ln -s ../googletest third_party/gmock/gtest + ln -s ../gmock third_party/googletest/googlemock + ln -s $(pwd)/third_party/googletest third_party/googletest/googletest + '' + lib.optionalString stdenv.isDarwin '' + substituteInPlace src/google/protobuf/testing/googletest.cc \ + --replace 'tmpnam(b)' '"'$TMPDIR'/foo"' + ''; + + patches = lib.optionals (lib.versionOlder version "3.22") [ + # fix protobuf-targets.cmake installation paths, and allow for CMAKE_INSTALL_LIBDIR to be absolute + # https://github.com/protocolbuffers/protobuf/pull/10090 + (fetchpatch { + url = "https://github.com/protocolbuffers/protobuf/commit/a7324f88e92bc16b57f3683403b6c993bf68070b.patch"; + sha256 = "sha256-SmwaUjOjjZulg/wgNmR/F5b8rhYA2wkKAjHIOxjcQdQ="; + }) + ]; + + nativeBuildInputs = let + protobufVersion = "${lib.versions.major version}_${lib.versions.minor version}"; + in [ + cmake + ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + # protoc of the same version must be available for build. For non-cross builds, it's able to + # re-use the executable generated as part of the build + buildPackages."protobuf${protobufVersion}" + ]; + + buildInputs = [ + abseil-cpp + zlib + ]; + + # After 3.20, CMakeLists.txt can now be found at the top-level, however + # a stub cmake/CMakeLists.txt still exists for compatibility with previous build assumptions + cmakeDir = "../cmake"; + cmakeFlags = [ + "-Dprotobuf_ABSL_PROVIDER=package" + ] ++ lib.optionals (!stdenv.targetPlatform.isStatic) [ + "-Dprotobuf_BUILD_SHARED_LIBS=ON" + ]; + + # unfortunately the shared libraries have yet to been patched by nix, thus tests will fail + doCheck = false; + + passthru = { + tests = { + pythonProtobuf = python3.pkgs.protobuf.override(_: { + protobuf = self; + }); + }; + }; + + meta = { + description = "Google's data interchange format"; + longDescription = '' + Protocol Buffers are a way of encoding structured data in an efficient + yet extensible format. Google uses Protocol Buffers for almost all of + its internal RPC protocols and file formats. + ''; + license = lib.licenses.bsd3; + platforms = lib.platforms.unix; + homepage = "https://developers.google.com/protocol-buffers/"; + maintainers = with lib.maintainers; [ jonringer ]; + }; + }; +in + self diff --git a/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix b/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix index 754f408ca266..9236ac55eb65 100644 --- a/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix +++ b/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix @@ -3,13 +3,13 @@ mkDerivation rec { pname = "stellarsolver"; - version = "2.2"; + version = "2.3"; src = fetchFromGitHub { owner = "rlancaste"; repo = pname; rev = version; - sha256 = "sha256-Ay7bszR4D5KKFiVLXfweJcc8jgUSZljnZVblEx7xh8o="; + sha256 = "sha256-DSydgn9brVQlVNfW8Lnw/ZNs7aftokkCuJshgqmegpY="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/x265/default.nix b/pkgs/development/libraries/x265/default.nix index 20c56f4d9037..3bf11737eb3c 100644 --- a/pkgs/development/libraries/x265/default.nix +++ b/pkgs/development/libraries/x265/default.nix @@ -104,7 +104,7 @@ stdenv.mkDerivation rec { cmakeFlags = cmakeCommonFlags ++ [ "-DGIT_ARCHETYPE=1" # https://bugs.gentoo.org/814116 - "-DENABLE_SHARED=ON" + "-DENABLE_SHARED=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}" "-DHIGH_BIT_DEPTH=OFF" "-DENABLE_HDR10_PLUS=ON" ] ++ [ diff --git a/pkgs/development/ocaml-modules/bap/default.nix b/pkgs/development/ocaml-modules/bap/default.nix index 4f87715a74ad..eaaf621900ad 100644 --- a/pkgs/development/ocaml-modules/bap/default.nix +++ b/pkgs/development/ocaml-modules/bap/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl +{ lib, stdenv, fetchFromGitHub, fetchurl, fetchpatch , ocaml, findlib, ocamlbuild, ocaml_oasis , bitstring, camlzip, cmdliner, core_kernel, ezjsonm, fileutils, ocaml_lwt, ocamlgraph, ocurl, re, uri, zarith, piqi, piqi-ocaml, uuidm, llvm, frontc, ounit, ppx_jane, parsexp , utop, libxml2, ncurses @@ -64,7 +64,13 @@ stdenv.mkDerivation rec { disableIda = "--disable-ida"; disableGhidra = "--disable-ghidra"; - patches = [ ./curses_is_ncurses.patch ]; + patches = [ + ./curses_is_ncurses.patch + (fetchpatch { + url = "https://github.com/BinaryAnalysisPlatform/bap/commit/8b1bba30ebb551256a5b15122e70d07f40184039.patch"; + sha256 = "0il0ik5f6nyqyrlln3n43mz1zpqq34lfnhmp10wdsah4ck2dy75h"; + }) + ]; preConfigure = '' substituteInPlace oasis/elf-loader --replace bitstring.ppx ppx_bitstring diff --git a/pkgs/development/ocaml-modules/biocaml/default.nix b/pkgs/development/ocaml-modules/biocaml/default.nix index 596ed6161d7b..b82ec7361791 100644 --- a/pkgs/development/ocaml-modules/biocaml/default.nix +++ b/pkgs/development/ocaml-modules/biocaml/default.nix @@ -4,7 +4,7 @@ buildDunePackage rec { pname = "biocaml"; - version = "0.11.1"; + version = "0.11.2"; useDune2 = true; @@ -14,7 +14,12 @@ buildDunePackage rec { owner = "biocaml"; repo = pname; rev = "v${version}"; - sha256 = "1il84vvypgkhdyc2j5fmgh14a58069s6ijbd5dvyl2i7jdxaazji"; + sha256 = "01yw12yixs45ya1scpb9jy2f7dw1mbj7741xib2xpq3kkc1hc21s"; + }; + + patches = fetchpatch { + url = "https://github.com/biocaml/biocaml/commit/3ef74d0eb4bb48d2fb7dd8b66fb3ad8fe0aa4d78.patch"; + sha256 = "0rcvf8gwq7sz15mghl9ing722rl2zpnqif9dfxrnpdxiv0rl0731"; }; buildInputs = [ ppx_jane ppx_sexp_conv ]; diff --git a/pkgs/development/ocaml-modules/bistro/default.nix b/pkgs/development/ocaml-modules/bistro/default.nix index 348d1bb97d47..43cbd33f738c 100644 --- a/pkgs/development/ocaml-modules/bistro/default.nix +++ b/pkgs/development/ocaml-modules/bistro/default.nix @@ -1,10 +1,13 @@ { lib , ocaml +, fetchpatch , fetchFromGitHub , buildDunePackage , base64 , bos , core +, core_kernel +, core_unix , lwt_react , ocamlgraph , ppx_sexp_conv @@ -15,21 +18,23 @@ buildDunePackage rec { pname = "bistro"; - version = "unstable-2021-11-13"; + version = "unstable-2022-05-07"; useDune2 = true; src = fetchFromGitHub { owner = "pveber"; repo = pname; - rev = "fb285b2c6d8adccda3c71e2293bceb01febd6624"; - sha256 = "sha256-JChDU1WH8W9Czkppx9SHiVIu9/7QFWJy2A89oksp0Ek="; + rev = "d363bd2d8257babbcb6db15bd83fd6465df7c268"; + sha256 = "0g11324j1s2631zzf7zxc8s0nqd4fwvcni0kbvfpfxg96gy2wwfm"; }; propagatedBuildInputs = [ base64 bos core + core_kernel + core_unix lwt_react ocamlgraph ppx_sexp_conv diff --git a/pkgs/development/ocaml-modules/cohttp/async.nix b/pkgs/development/ocaml-modules/cohttp/async.nix index fed31fbe4955..2ad452ff6e66 100644 --- a/pkgs/development/ocaml-modules/cohttp/async.nix +++ b/pkgs/development/ocaml-modules/cohttp/async.nix @@ -1,4 +1,6 @@ { lib +, fetchpatch +, fetchurl , buildDunePackage , ppx_sexp_conv , base @@ -47,13 +49,21 @@ buildDunePackage { ipaddr ]; - doCheck = true; + # Examples don't compile with core 0.15. See https://github.com/mirage/ocaml-cohttp/pull/864. + doCheck = false; checkInputs = [ ounit mirage-crypto core ]; + # Compatibility with core 0.15. No longer needed after updating cohttp to 5.0.0. + patches = fetchpatch { + url = "https://github.com/mirage/ocaml-cohttp/commit/5a7124478ed31c6b1fa6a9a50602c2ec839083b5.patch"; + sha256 = "0i99rl8604xqwb6d0yzk9ws4dflbn0j4hv2nba2qscbqrrn22rw3"; + }; + patchFlags = "-p1 -F3"; + meta = cohttp.meta // { description = "CoHTTP implementation for the Async concurrency library"; }; diff --git a/pkgs/development/ocaml-modules/faraday/async.nix b/pkgs/development/ocaml-modules/faraday/async.nix index 666eb684925c..05b085f92aca 100644 --- a/pkgs/development/ocaml-modules/faraday/async.nix +++ b/pkgs/development/ocaml-modules/faraday/async.nix @@ -1,9 +1,14 @@ -{ buildDunePackage, faraday, core, async }: +{ buildDunePackage, fetchpatch, faraday, core, async }: buildDunePackage rec { pname = "faraday-async"; inherit (faraday) version src useDune2; + patches = fetchpatch { + url = "https://github.com/inhabitedtype/faraday/commit/31c3fc7f91ecca0f1deea10b40fd5e33bcd35f75.patch"; + sha256 = "05z5gk7hxq7qvwg6f73hdhfcnx19p1dq6wqh8prx667y8zsaq2zj"; + }; + minimumOCamlVersion = "4.08"; propagatedBuildInputs = [ faraday core async ]; diff --git a/pkgs/development/ocaml-modules/hack_parallel/default.nix b/pkgs/development/ocaml-modules/hack_parallel/default.nix index 122ee2149f3a..8d1414731f13 100644 --- a/pkgs/development/ocaml-modules/hack_parallel/default.nix +++ b/pkgs/development/ocaml-modules/hack_parallel/default.nix @@ -1,5 +1,5 @@ -{ lib, fetchFromGitHub, buildDunePackage, core, core_kernel, pkg-config, sqlite -}: +{ lib, fetchFromGitHub, buildDunePackage, core, core_unix, pkg-config +, sqlite }: buildDunePackage rec { pname = "hack_parallel"; version = "1.0.1"; @@ -13,9 +13,11 @@ buildDunePackage rec { sha256 = "0qjlkw35r4q2cm0n2x0i73zvx1xgrp6axaia2nm8zxpm49mid629"; }; + patches = [ ./hack_parallel.patch ]; + nativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ core core_kernel sqlite ]; + propagatedBuildInputs = [ core core_unix sqlite ]; meta = { description = diff --git a/pkgs/development/ocaml-modules/hack_parallel/hack_parallel.patch b/pkgs/development/ocaml-modules/hack_parallel/hack_parallel.patch new file mode 100644 index 000000000000..174803a34818 --- /dev/null +++ b/pkgs/development/ocaml-modules/hack_parallel/hack_parallel.patch @@ -0,0 +1,68 @@ +diff --git a/src/heap/sharedMem.ml b/src/heap/sharedMem.ml +index 600e272..511b724 100644 +--- a/src/heap/sharedMem.ml ++++ b/src/heap/sharedMem.ml +@@ -521,7 +521,7 @@ end = struct + + let stack: t option ref = ref None + +- let has_local_changes () = Core_kernel.Option.is_some (!stack) ++ let has_local_changes () = Core.Option.is_some (!stack) + + let rec mem stack_opt key = + match stack_opt with +diff --git a/src/interface/memory.ml b/src/interface/memory.ml +index 3554b17..09aa1f5 100644 +--- a/src/interface/memory.ml ++++ b/src/interface/memory.ml +@@ -66,10 +66,10 @@ let get_heap_handle () = + + + let heap_use_ratio () = +- Core_kernel.Float.of_int (SharedMemory.heap_size ()) /. +- Core_kernel.Float.of_int initial_heap_size ++ Core.Float.of_int (SharedMemory.heap_size ()) /. ++ Core.Float.of_int initial_heap_size + + + let slot_use_ratio () = + let { SharedMemory.used_slots; slots; _ } = SharedMemory.hash_stats () in +- Core_kernel.Float.of_int used_slots /. Core_kernel.Float.of_int slots ++ Core.Float.of_int used_slots /. Core.Float.of_int slots +diff --git a/src/interface/scheduler.ml b/src/interface/scheduler.ml +index 9b8282a..b5d41b5 100644 +--- a/src/interface/scheduler.ml ++++ b/src/interface/scheduler.ml +@@ -48,7 +48,7 @@ let map_reduce + | Some exact_size when exact_size > 0 -> + (List.length work / exact_size) + 1 + | _ -> +- let bucket_multiplier = Core_kernel.Int.min bucket_multiplier (1 + (List.length work / 400)) in ++ let bucket_multiplier = Core.Int.min bucket_multiplier (1 + (List.length work / 400)) in + number_of_workers * bucket_multiplier + in + MultiWorker.call +diff --git a/src/utils/dune b/src/utils/dune +index 50a4c42..45e4a5a 100644 +--- a/src/utils/dune ++++ b/src/utils/dune +@@ -15,6 +15,7 @@ + sysinfo) + (libraries + core ++ core_unix + str + hack_parallel.collections + hack_parallel.disk +diff --git a/src/utils/hh_logger.ml b/src/utils/hh_logger.ml +index 4c99f05..8075ed5 100644 +--- a/src/utils/hh_logger.ml ++++ b/src/utils/hh_logger.ml +@@ -9,6 +9,7 @@ + *) + + open Core ++module Unix = Core_unix + + let timestamp_string () = + let open Unix in diff --git a/pkgs/development/ocaml-modules/janestreet/0.15.nix b/pkgs/development/ocaml-modules/janestreet/0.15.nix new file mode 100644 index 000000000000..8510b3a8c291 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/0.15.nix @@ -0,0 +1,1007 @@ +{ self +, fetchpatch +, lib +, openssl +, patdiff +, zstd +}: + +with self; + +{ + + abstract_algebra = janePackage { + pname = "abstract_algebra"; + minimumOCamlVersion = "4.08"; + hash = "12imf6ibm7qb8r1fpqnrl20x2z14zl3ri1vzg0z8qby9l8bv2fbd"; + meta.description = "A small library describing abstract algebra concepts"; + propagatedBuildInputs = [ base ppx_jane ]; + }; + + accessor = janePackage { + pname = "accessor"; + minimumOCamlVersion = "4.09"; + hash = "17rzf0jpc9s3yrxcnn630jhgsw5mrnrhwbfh62hqxqanascc5rxh"; + meta.description = "A library that makes it nicer to work with nested functional data structures"; + propagatedBuildInputs = [ higher_kinded ]; + }; + + accessor_async = janePackage { + pname = "accessor_async"; + minimumOCamlVersion = "4.09"; + hash = "17r6af55ms0i496jsfx0xpdm336c2vhyf49b3s8s1gpz521wrgmc"; + meta.description = "Accessors for Async types, for use with the Accessor library"; + propagatedBuildInputs = [ accessor_core async_kernel ]; + }; + + accessor_base = janePackage { + pname = "accessor_base"; + minimumOCamlVersion = "4.09"; + hash = "1qvq005vxf6n1c7swzb4bzcqdh471bfb9gcmdj4m57xg85xznc1n"; + meta.description = "Accessors for Base types, for use with the Accessor library"; + propagatedBuildInputs = [ ppx_accessor ]; + }; + + accessor_core = janePackage { + minimumOCamlVersion = "4.09"; + pname = "accessor_core"; + hash = "0zrs5zbyrhfbah73g22l19bw1mmljhyb3l2mrwcxgbjq9pqp0k9v"; + meta.description = "Accessors for Core types, for use with the Accessor library"; + propagatedBuildInputs = [ accessor_base core_kernel ]; + }; + + async = janePackage { + pname = "async"; + hash = "0pykmnsil754jsnr8gss91ykyjvivngx4ii0ih3nsg1x2jl9xmy2"; + meta.description = "Monadic concurrency library"; + propagatedBuildInputs = [ async_rpc_kernel async_unix textutils ]; + doCheck = false; # we don't have netkit_sockets + }; + + async_extra = janePackage { + pname = "async_extra"; + hash = "0pxp0b4shz9krsj8xfzajv8a1mijgf0xdgxrn2abdqrz3rvj6pig"; + meta.description = "Monadic concurrency library"; + propagatedBuildInputs = [ async_kernel ]; + }; + + async_find = janePackage { + pname = "async_find"; + hash = "119988nkcnw6l6wch4llqkvsrawv2gkbn5q4hngpdwvnw0g0aapv"; + meta.description = "Directory traversal with Async"; + propagatedBuildInputs = [ async ]; + }; + + async_inotify = janePackage { + pname = "async_inotify"; + hash = "1nxz6bijp7liy18ljrxg92v2m8v8fqcs1pmzg9kbcf0d4vij8j2p"; + meta.description = "Async wrapper for inotify"; + propagatedBuildInputs = [ async_find inotify ]; + }; + + async_interactive = janePackage { + pname = "async_interactive"; + hash = "00hr2lhs8p3hwnyllmns59rwlpimc5b7r6v4zn6cmpb1riblaxqp"; + meta.description = "Utilities for building simple command-line based user interfaces"; + propagatedBuildInputs = [ async ]; + }; + + async_js = janePackage { + pname = "async_js"; + hash = "184j077bz686k5lrqswircnrdqldb316ngpzq7xri1pcsl39sy3q"; + meta.description = "A small library that provide Async support for JavaScript platforms"; + buildInputs = [ js_of_ocaml-ppx ]; + propagatedBuildInputs = [ async_rpc_kernel js_of_ocaml uri-sexp ]; + }; + + async_kernel = janePackage { + pname = "async_kernel"; + hash = "01if6c8l2h64v7sk56xr8acnmj6g9whxcjrzzzvczspq88hq2bfh"; + meta.description = "Monadic concurrency library"; + propagatedBuildInputs = [ core_kernel ]; + }; + + async_rpc_kernel = janePackage { + pname = "async_rpc_kernel"; + hash = "1b5rp5yam03ir4f1sixpzjg1zdqmkb7lvnaa82kac4fzk80gfrfr"; + meta.description = "Platform-independent core of Async RPC library"; + propagatedBuildInputs = [ async_kernel protocol_version_header ]; + }; + + async_rpc_websocket = janePackage { + pname = "async_rpc_websocket"; + hash = "1n93jhkz5r76xcc40c4i4sxcyfz1dbppz8sjfxpwcwjyi6lyhp1p"; + meta.description = "Library to serve and dispatch Async RPCs over websockets"; + propagatedBuildInputs = [ async_rpc_kernel async_websocket cohttp_async_websocket ]; + }; + + async_sendfile = janePackage { + pname = "async_sendfile"; + hash = "0lnagdxfnac4z29narphf2ab5a23ys883zmc45r96rssfx82i3fs"; + meta.description = "Thin wrapper around [Linux_ext.sendfile] to send full files"; + propagatedBuildInputs = [ async_unix ]; + }; + + async_shell = janePackage { + pname = "async_shell"; + hash = "07iwlyrc4smk6hsnz89cz2ihp670mllq0y9wbdafvagm1y1p62vx"; + meta.description = "Shell helpers for Async"; + propagatedBuildInputs = [ async shell ]; + }; + + async_smtp = janePackage { + pname = "async_smtp"; + hash = "1m00j7wcb0blipnc1m6by70gd96a1k621b4dgvgffp8as04a461r"; + meta.description = "SMTP client and server"; + propagatedBuildInputs = [ async_extra async_inotify async_sendfile async_shell async_ssl email_message resource_cache re2_stable sexp_macro ]; + }; + + async_ssl = janePackage { + pname = "async_ssl"; + hash = "1b7f7p3xj4jr2n2dxy2lp7a9k7944w6x2nrg6524clvcsd1ax4hn"; + meta.description = "Async wrappers for SSL"; + buildInputs = [ dune-configurator ]; + propagatedBuildInputs = [ async ctypes openssl ]; + # in ctypes.foreign 0.18.0 threaded and unthreaded have been merged + postPatch = '' + substituteInPlace bindings/dune \ + --replace "ctypes.foreign.threaded" "ctypes.foreign" + ''; + }; + + async_unix = janePackage { + pname = "async_unix"; + hash = "0z4fgpn93iw0abd7l9kac28qgzgc5qr2x0s1n2zh49lsdn02n6ys"; + meta.description = "Monadic concurrency library"; + propagatedBuildInputs = [ async_kernel core_unix ]; + }; + + async_websocket = janePackage { + pname = "async_websocket"; + hash = "16ixqfnx9jp77bvx11dlzsq0pzfpyiif60hl2q06zncyswky9xgb"; + meta.description = "A library that implements the websocket protocol on top of Async"; + propagatedBuildInputs = [ async cryptokit ]; + }; + + base = janePackage { + pname = "base"; + hash = "1qyycqqr4dijvxm4hhy79c964wd91kpsfvb89kna1qwgllg0hrpj"; + minimumOCamlVersion = "4.10"; + meta.description = "Full standard library replacement for OCaml"; + buildInputs = [ dune-configurator ]; + propagatedBuildInputs = [ sexplib0 ]; + checkInputs = [ alcotest ]; + }; + + base_bigstring = janePackage { + pname = "base_bigstring"; + hash = "1hv3hw2fwqmkrxms1g6rw3c18mmla1z5bva3anx45mnff903iv4q"; + minimumOCamlVersion = "4.08"; + meta.description = "String type based on [Bigarray], for use in I/O and C-bindings"; + propagatedBuildInputs = [ int_repr ppx_jane ]; + }; + + base_quickcheck = janePackage { + pname = "base_quickcheck"; + hash = "0q73kfr67cz5wp4qn4rq3lpa922hqmvwdiinnans0js65fvlgqsi"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Randomized testing framework, designed for compatibility with Base"; + propagatedBuildInputs = [ ppx_base ppx_fields_conv ppx_let ppx_sexp_value splittable_random ]; + }; + + bignum = janePackage { + pname = "bignum"; + hash = "12q3xcv78b4s9srnc17jbyn53d5drmwmyvgp62p7nk3fs4f7cr4f"; + propagatedBuildInputs = [ core_kernel zarith zarith_stubs_js ]; + meta.description = "Core-flavoured wrapper around zarith's arbitrary-precision rationals"; + }; + + bin_prot = janePackage { + pname = "bin_prot"; + hash = "1qfqglscc25wwnjx7byqmjcnjww1msnr8940gyg8h93wdq43fjnh"; + minimumOCamlVersion = "4.04.2"; + meta.description = "A binary protocol generator"; + propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_optcomp ppx_variants_conv ]; + }; + + bonsai = janePackage { + pname = "bonsai"; + hash = "150zx2g1dmhyrxwqq8j7f2m3hjpmk5bk182ihx2gdbarhw1ainpm"; + meta.description = "A library for building dynamic webapps, using Js_of_ocaml"; + buildInputs = [ ppx_pattern_bind ]; + nativeBuildInputs = [ js_of_ocaml-compiler ocaml-embed-file ]; + propagatedBuildInputs = [ + async + async_extra + async_rpc_websocket + cohttp-async + core_bench + fuzzy_match + incr_dom + js_of_ocaml-ppx + patdiff + ppx_css + ppx_typed_fields + profunctor + textutils + ]; + patches = [ ./bonsai_jsoo_4_0.patch ]; + }; + + cinaps = janePackage { + pname = "cinaps"; + version = "0.15.1"; + hash = "0g856cxmxg4vicwslhqldplkpwi158s2d62vwzv26xg5m6wjn9rg"; + minimumOCamlVersion = "4.04"; + meta.description = "Trivial metaprogramming tool"; + propagatedBuildInputs = [ re ]; + doCheck = false; # fails because ppx_base doesn't include ppx_js_style + }; + + cohttp_async_websocket = janePackage { + pname = "cohttp_async_websocket"; + hash = "0d0smavnxpnwrmhlcf3b5a3cm3n9kz1y8fh6l28xv6zrn4sc7ik8"; + meta.description = "Websocket library for use with cohttp and async"; + propagatedBuildInputs = [ async_websocket cohttp-async ppx_jane uri-sexp ]; + }; + + core = janePackage { + pname = "core"; + hash = "1m2ybvlz9zlb2d0jc0j7wdgd18mx9sh3ds2ylkv0cfjx1pzi0l25"; + meta.description = "Industrial strength alternative to OCaml's standard library"; + buildInputs = [ jst-config ]; + propagatedBuildInputs = [ base base_bigstring base_quickcheck ppx_jane time_now ]; + doCheck = false; # circular dependency with core_kernel + }; + + core_bench = janePackage { + pname = "core_bench"; + hash = "0v6lm9vz6y1qd7h8pg9l5jsy8qr74vlk1nd4qzchld4jhwq7mbdi"; + meta.description = "Benchmarking library"; + propagatedBuildInputs = [ textutils ]; + }; + + core_extended = janePackage { + pname = "core_extended"; + hash = "0sx79hc1y1daczib2p4nbyw4aqnznmdd83knrhs5q153j7lnlalx"; + meta.description = "Extra components that are not as closely vetted or as stable as Core"; + propagatedBuildInputs = [ core_unix record_builder ]; + }; + + core_kernel = janePackage { + pname = "core_kernel"; + hash = "05mb4vbf293iq1xx4acyrmi9cgcw6capwrsa54ils62alby6w6yq"; + meta.description = "System-independent part of Core"; + buildInputs = [ jst-config ]; + propagatedBuildInputs = [ base_bigstring core int_repr sexplib ]; + doCheck = false; # we don't have quickcheck_deprecated + }; + + core_unix = janePackage { + pname = "core_unix"; + hash = "1xzxqzg23in5ivz0v3qshzpr4w92laayscqj9im7jylh2ar1xi0a"; + meta.description = "Unix-specific portions of Core"; + buildInputs = [ jst-config ]; + propagatedBuildInputs = [ core_kernel expect_test_helpers_core ocaml_intrinsics ppx_jane timezone spawn ]; + postPatch = '' + patchShebangs unix_pseudo_terminal/src/discover.sh + ''; + }; + + csvfields = janePackage { + pname = "csvfields"; + hash = "0z47pq17bw776hzvk48ypbd92ps9vlvl86mnhw3j6cqx4ahbjik3"; + propagatedBuildInputs = [ core num ]; + meta.description = "Runtime support for ppx_xml_conv and ppx_csv_conv"; + }; + + delimited_parsing = janePackage { + pname = "delimited_parsing"; + hash = "0d050v58zzi8c4qiwxbfcyrdw6zvncnnl3qj79qi0yq4xkg7820r"; + propagatedBuildInputs = [ async core_extended ]; + meta.description = "Parsing of character (e.g., comma) separated and fixed-width values"; + }; + + ecaml = janePackage { + pname = "ecaml"; + hash = "08g2bl06vkn3bkqzkmvk2646aqb6jj4a7n3wgzpcx1c2gl3iw5i6"; + meta.description = "Library for writing Emacs plugin in OCaml"; + propagatedBuildInputs = [ async expect_test_helpers_core ]; + }; + + email_message = janePackage { + pname = "email_message"; + hash = "00h66l2g5rjaay0hbyqy4v9i866g779miriwv20h9k4mliqdq7in"; + meta.description = "E-mail message parser"; + propagatedBuildInputs = [ angstrom async base64 cryptokit magic-mime re2 ]; + }; + + expect_test_helpers_async = janePackage { + pname = "expect_test_helpers_async"; + hash = "14v4966p5dmqgjb9sgrvnsixv0w0bagicn8v44g9mf9d88z8pfym"; + meta.description = "Async helpers for writing expectation tests"; + propagatedBuildInputs = [ async expect_test_helpers_core ]; + }; + + expect_test_helpers_core = janePackage { + pname = "expect_test_helpers_core"; + hash = "0bxs3g0zzym8agfcbpg5lmrh6hcb86z861bq40xhhfwqf4pzdbfa"; + meta.description = "Helpers for writing expectation tests"; + propagatedBuildInputs = [ core_kernel sexp_pretty ]; + }; + + fieldslib = janePackage { + pname = "fieldslib"; + hash = "0xwf9mdxlyr3f0vv5y82cyw2bsckwl8rwf6jm6bai1gqpgxjq756"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Syntax extension to define first class values representing record fields, to get and set record fields, iterate and fold over all fields of a record and create new record values"; + propagatedBuildInputs = [ base ]; + }; + + fuzzy_match = janePackage { + pname = "fuzzy_match"; + hash = "0s5w81698b07l5m11nwx8xbjcpmp54dnf5fcrnlva22jrlsf14h4"; + meta.description = "A library for fuzzy string matching"; + propagatedBuildInputs = [ core ppx_jane ]; + }; + + higher_kinded = janePackage { + pname = "higher_kinded"; + minimumOCamlVersion = "4.09"; + hash = "0rafxxajqswi070h8sinhjna0swh1hc6d7i3q7y099yj3wlr2y1l"; + meta.description = "A library with an encoding of higher kinded types in OCaml"; + propagatedBuildInputs = [ base ppx_jane ]; + }; + + incr_dom = janePackage { + pname = "incr_dom"; + hash = "1sija9w2im8vdp61h387w0mww9hh7jgkgsjcccps4lbv936ac7c1"; + meta.description = "A library for building dynamic webapps, using Js_of_ocaml"; + buildInputs = [ js_of_ocaml-ppx ]; + propagatedBuildInputs = [ async_js incr_map incr_select virtual_dom ]; + patches = [ ./incr_dom_jsoo_4_0.patch ]; + }; + + incr_map = janePackage { + pname = "incr_map"; + hash = "0aq8wfylvq68him92vzh1fqmr7r0lfwc5cdiqr10r5x032vzpnii"; + meta.description = "Helpers for incremental operations on map like data structures"; + buildInputs = [ ppx_pattern_bind ]; + propagatedBuildInputs = [ abstract_algebra incremental ]; + }; + + incr_select = janePackage { + pname = "incr_select"; + hash = "0qm2i4hb5jh2ra95kq881s4chkwbd2prvql1c0nahd63h829m57l"; + meta.description = "Handling of large set of incremental outputs from a single input"; + propagatedBuildInputs = [ incremental ]; + }; + + incremental = janePackage { + pname = "incremental"; + hash = "1dp30mhljnbcxqimydwbmxx0x4y4xnb55gyhldm1f5qrwdxdl747"; + meta.description = "Library for incremental computations"; + propagatedBuildInputs = [ core_kernel ]; + }; + + int_repr = janePackage { + pname = "int_repr"; + hash = "0ph88ym3s9dk30n17si2xam40sp8wv1xffw5cl3bskc2vfya1nvl"; + meta.description = "Integers of various widths"; + propagatedBuildInputs = [ base ppx_jane ]; + }; + + jane-street-headers = janePackage { + pname = "jane-street-headers"; + hash = "1lzk3w66x4429n2j75lwm55xafc46mywgdrbh9nc9jwqwgzf0wwx"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Jane Street C header files"; + }; + + jsonaf = janePackage { + pname = "jsonaf"; + hash = "1j9rn8vsvfpgmdpmdqb5qhvss5171j8n3ii1bcgnavqinchbvqa6"; + meta.description = "A library for parsing, manipulating, and serializing data structured as JSON"; + propagatedBuildInputs = [ base ppx_jane angstrom faraday ]; + }; + + jst-config = janePackage { + pname = "jst-config"; + hash = "1lxqsj5k3v8p7g802vj1xc6bs5wrfpszh3q61xvpcd42pf3ahma9"; + meta.description = "Compile-time configuration for Jane Street libraries"; + buildInputs = [ dune-configurator ppx_assert stdio ]; + patches = [ + # remove on next release + (fetchpatch { + url = "https://github.com/janestreet/jst-config/commit/e5fdac6e5df9ba93e014a4d2db841fdbf209446f.patch"; + sha256 = "sha256-8hVC76z5ilYD/++xRHVswy/l+zzDt63jH4hfSJ/rPaA="; + }) + ]; + }; + + ocaml-compiler-libs = janePackage { + pname = "ocaml-compiler-libs"; + version = "0.12.4"; + minimumOCamlVersion = "4.04.1"; + hash = "00if2f7j9d8igdkj4rck3p74y17j6b233l91mq02drzrxj199qjv"; + meta.description = "OCaml compiler libraries repackaged"; + }; + + ocaml-embed-file = janePackage { + pname = "ocaml-embed-file"; + hash = "1nzgc0q05f0j3q1kwfpyhhhpgwrfjvmkqqifrkrm4y7d1i44bfnw"; + propagatedBuildInputs = [ async ppx_jane ]; + meta.description = "Files contents as module constants"; + }; + + ocaml_intrinsics = janePackage { + pname = "ocaml_intrinsics"; + minimumOCamlVersion = "4.08"; + hash = "1fdfl78b8br0j9w4046i0fmmaqn4cgl06q94rsniyagx9747pnsr"; + meta.description = "Intrinsics"; + buildInputs = [ dune-configurator ]; + doCheck = false; # test rules broken + }; + + parsexp = janePackage { + pname = "parsexp"; + hash = "1grzpxi39318vcqhwf723hqh11k68irh59zb3dyg9lw8wjn7752a"; + minimumOCamlVersion = "4.04.2"; + meta.description = "S-expression parsing library"; + propagatedBuildInputs = [ base sexplib0 ]; + }; + + patience_diff = janePackage { + pname = "patience_diff"; + hash = "17yrhn4qfi31m8g1ygb3m6i9z4fqd8f60fn6viazgx06s3x4xp3v"; + meta.description = "Diff library using Bram Cohen's patience diff algorithm"; + propagatedBuildInputs = [ core_kernel ]; + }; + + posixat = janePackage { + pname = "posixat"; + hash = "1xgycwa0janrfn9psb7xrm0820blr82mqf1lvjy9ipqalj7v9w1f"; + minimumOCamlVersion = "4.07"; + propagatedBuildInputs = [ ppx_optcomp ppx_sexp_conv ]; + meta.description = "Binding to the posix *at functions"; + }; + + ppx_accessor = janePackage { + pname = "ppx_accessor"; + minimumOCamlVersion = "4.09"; + hash = "0qv51if1nk0zff2v6q946h8ac7bpd5xa4ivyixl9g4h2mk29w4qb"; + meta.description = "[@@deriving] plugin to generate accessors for use with the Accessor libraries"; + propagatedBuildInputs = [ accessor ]; + }; + + ppx_assert = janePackage { + pname = "ppx_assert"; + hash = "0dic250q3flrjs3i70a2qqqnhqqj75ddlixpy7hdfghjw32azw90"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Assert-like extension nodes that raise useful errors on failure"; + propagatedBuildInputs = [ ppx_cold ppx_compare ppx_here ppx_sexp_conv ]; + }; + + ppx_base = janePackage { + pname = "ppx_base"; + hash = "13rfmy2fxvwi7z5l1mai474ri5anqjm8q4hs7dblplsjjd9m5ld1"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Base set of ppx rewriters"; + propagatedBuildInputs = [ ppx_cold ppx_enumerate ppx_hash ]; + }; + + ppx_bench = janePackage { + pname = "ppx_bench"; + hash = "0bc0gbm922417wqisafxh35jslcp7xy1s0h0a1q32rhx0ivxx3g6"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Syntax extension for writing in-line benchmarks in ocaml code"; + propagatedBuildInputs = [ ppx_inline_test ]; + }; + + ppx_bin_prot = janePackage { + pname = "ppx_bin_prot"; + hash = "1280wsls061fmvmdysjqn3lv4mnkyg400jnjf4jyfr14s33h1ad5"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Generation of bin_prot readers and writers from types"; + propagatedBuildInputs = [ bin_prot ppx_here ]; + doCheck = false; # circular dependency with ppx_jane + }; + + ppx_cold = janePackage { + pname = "ppx_cold"; + hash = "0x7xgpvy0l28k971xy08ibhr4w9nh8d9zvxc6jfxxx4fbfcv5gca"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Expands [@cold] into [@inline never][@specialise never][@local never]"; + propagatedBuildInputs = [ ppxlib ]; + }; + + ppx_compare = janePackage { + pname = "ppx_compare"; + hash = "1wjwqkr71p61vjidbr80l93y4kkad7xsfyp04w8qfqrj7h5nm625"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Generation of comparison functions from types"; + propagatedBuildInputs = [ ppxlib base ]; + }; + + ppx_custom_printf = janePackage { + pname = "ppx_custom_printf"; + hash = "1k8nmq6kwqz2wpkm9ymq749dz1vd8lxrjc711knp1wyz5935hnsv"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Printf-style format-strings for user-defined string conversion"; + propagatedBuildInputs = [ ppx_sexp_conv ]; + }; + + ppx_css = janePackage { + pname = "ppx_css"; + hash = "09dpmj3f3m3z1ji9hq775iqr3cfmv5gh7q9zlblizj4wx4y0ibyi"; + meta.description = "A ppx that takes in css strings and produces a module for accessing the unique names defined within"; + propagatedBuildInputs = [ core_kernel ppxlib js_of_ocaml js_of_ocaml-ppx sedlex ]; + }; + + ppx_disable_unused_warnings = janePackage { + pname = "ppx_disable_unused_warnings"; + hash = "0sb5i4v7p9df2bxk66rjs30k9fqdrwsq1jgykjv6wyrx2d9bv955"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Expands [@disable_unused_warnings] into [@warning \"-20-26-32-33-34-35-36-37-38-39-60-66-67\"]"; + propagatedBuildInputs = [ ppxlib ]; + }; + + ppx_enumerate = janePackage { + pname = "ppx_enumerate"; + hash = "1i0f6jv5cappw3idd70wpg76d7x6mvxapa89kri1bwz47hhg4pkz"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Generate a list containing all values of a finite type"; + propagatedBuildInputs = [ ppxlib ]; + }; + + ppx_expect = janePackage { + pname = "ppx_expect"; + hash = "134dl5qhjxsj2mcmrx9f3m0iys0n5mjfpz9flj8zn8d2jir43776"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Cram like framework for OCaml"; + propagatedBuildInputs = [ ppx_here ppx_inline_test re ]; + doCheck = false; # test build rules broken + }; + + ppx_fields_conv = janePackage { + pname = "ppx_fields_conv"; + hash = "094wsnw7fcwgl9xg6vkjb0wbgpn9scsp847yhdd184sz9v1amz14"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Generation of accessor and iteration functions for ocaml records"; + propagatedBuildInputs = [ fieldslib ppxlib ]; + }; + + ppx_fixed_literal = janePackage { + pname = "ppx_fixed_literal"; + hash = "10siwcqrqa4gh0mg6fkaby0jjskc01r81pcblc67h3vmbjjh08j9"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Simpler notation for fixed point literals"; + propagatedBuildInputs = [ ppxlib ]; + }; + + ppx_hash = janePackage { + pname = "ppx_hash"; + hash = "15agkwavadllzxdv4syjna02083nfnap8qs4yqf5s0adjw73fzyg"; + minimumOCamlVersion = "4.04.2"; + meta.description = "A ppx rewriter that generates hash functions from type expressions and definitions"; + propagatedBuildInputs = [ ppx_compare ppx_sexp_conv ]; + }; + + ppx_here = janePackage { + pname = "ppx_here"; + hash = "0jv81k8x18q8rxdyfwavrvx8yq9k5m3abpmgdg6zipx2ajcjzvag"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Expands [%here] into its location"; + propagatedBuildInputs = [ ppxlib ]; + doCheck = false; # test build rules broken + }; + + ppx_ignore_instrumentation = janePackage { + pname = "ppx_ignore_instrumentation"; + hash = "16fgig88g3jr0m3i636fr52h29h1yzhi8nhnl4029zn808kcdyj2"; + minimumOCamlVersion = "4.08"; + meta.description = "Ignore Jane Street specific instrumentation extensions"; + propagatedBuildInputs = [ ppxlib ]; + }; + + ppx_inline_test = janePackage { + pname = "ppx_inline_test"; + hash = "1a0gaj9p6gbn5j7c258mnzr7yjlq0hqi3aqqgyj1g2dbk1sxdbjz"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Syntax extension for writing in-line tests in ocaml code"; + propagatedBuildInputs = [ ppxlib time_now ]; + doCheck = false; # test build rules broken + }; + + ppx_jane = janePackage { + pname = "ppx_jane"; + hash = "1p6847gdfnnj6qpa4yh57s6wwpsl7rfgy0q7993chz24h9mhz5lk"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Standard Jane Street ppx rewriters"; + propagatedBuildInputs = [ base_quickcheck ppx_bin_prot ppx_disable_unused_warnings ppx_expect ppx_fixed_literal ppx_ignore_instrumentation ppx_log ppx_module_timer ppx_optcomp ppx_optional ppx_pipebang ppx_stable ppx_string ppx_typerep_conv ppx_variants_conv ]; + }; + + ppx_js_style = janePackage { + pname = "ppx_js_style"; + hash = "0q2p9pvmlncgv0hprph95xiv7s6q44ynvp4yl4dckf1qx68rb3ba"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Code style checker for Jane Street Packages"; + propagatedBuildInputs = [ octavius ppxlib ]; + }; + + ppx_let = janePackage { + pname = "ppx_let"; + hash = "04v3fq0vnvvavxbc7hfsrg8732pwxbyw8pjl3xfplqdqci6fj15n"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Monadic let-bindings"; + propagatedBuildInputs = [ ppxlib ppx_here ]; + }; + + ppx_log = janePackage { + pname = "ppx_log"; + hash = "08i9gz3f4w3bmlrfdw7ja9awsfkhhldz03bnnc4hijfmn8sawzi0"; + minimumOCamlVersion = "4.08.0"; + meta.description = "Ppx_sexp_message-like extension nodes for lazily rendering log messages"; + propagatedBuildInputs = [ base ppx_here ppx_sexp_conv ppx_sexp_message sexplib ]; + }; + + ppx_module_timer = janePackage { + pname = "ppx_module_timer"; + hash = "0lzi5hxi10p89ddqbrc667267f888kqslal76gfhmszyk60n20av"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Ppx rewriter that records top-level module startup times"; + propagatedBuildInputs = [ time_now ]; + }; + + ppx_optcomp = janePackage { + pname = "ppx_optcomp"; + hash = "0ypivfipi8fcr9pqyvl2ajpcivmr1irdwwv248i4x6mggpc2pl0b"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Optional compilation for OCaml"; + propagatedBuildInputs = [ ppxlib ]; + }; + + ppx_optional = janePackage { + pname = "ppx_optional"; + hash = "0amxwxhkyzamgnxx400qhvxzqr3m4sazhhkc516lm007pynv7xq2"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Pattern matching on flat options"; + propagatedBuildInputs = [ ppxlib ]; + }; + + ppx_pattern_bind = janePackage { + pname = "ppx_pattern_bind"; + hash = "01nfdk9yvk92r7sjl4ngxfsx8fyqh2dsjxz0i299nszv9jc4rn4f"; + minimumOCamlVersion = "4.07"; + meta.description = "A ppx for writing fast incremental bind nodes in a pattern match"; + propagatedBuildInputs = [ ppx_let ]; + }; + + ppx_pipebang = janePackage { + pname = "ppx_pipebang"; + hash = "0sm5dghyalhws3hy1cc2ih36az1k4q02hcgj6l26gwyma3y4irvq"; + minimumOCamlVersion = "4.04.2"; + meta.description = "A ppx rewriter that inlines reverse application operators `|>` and `|!`"; + propagatedBuildInputs = [ ppxlib ]; + }; + + ppx_python = janePackage { + pname = "ppx_python"; + hash = "1d2wf0rkvxg07q6xq2zmxh6hmvnwlsmny3mm92jsg1s7bdl39gap"; + meta.description = "A [@@deriving] plugin to generate Python conversion functions "; + propagatedBuildInputs = [ ppx_base ppxlib pyml ]; + }; + + ppx_sexp_conv = janePackage { + pname = "ppx_sexp_conv"; + minimumOCamlVersion = "4.04.2"; + hash = "1fyf7hgxprn7pj58rmmrfpv938a0avpzvvk6wzihpmfm6whgbdm8"; + meta.description = "[@@deriving] plugin to generate S-expression conversion functions"; + propagatedBuildInputs = [ ppxlib sexplib0 base ]; + }; + + ppx_sexp_message = janePackage { + pname = "ppx_sexp_message"; + hash = "0a7hx50bkkc5n5msc3zzc4ixnp7674x3mallknb9j31jnd8l90nj"; + minimumOCamlVersion = "4.04.2"; + meta.description = "A ppx rewriter for easy construction of s-expressions"; + propagatedBuildInputs = [ ppx_here ppx_sexp_conv ]; + }; + + ppx_sexp_value = janePackage { + pname = "ppx_sexp_value"; + hash = "0kz83j9v6yz3v8c6vr9ilhkcci4hhjd6i6r6afnx72jh6i7d3hnv"; + minimumOCamlVersion = "4.04.2"; + meta.description = "A ppx rewriter that simplifies building s-expressions from ocaml values"; + propagatedBuildInputs = [ ppx_here ppx_sexp_conv ]; + }; + + ppx_stable = janePackage { + pname = "ppx_stable"; + hash = "1as0v0x8c9ilyhngax55lvwyyi4a2wshyan668v0f2s1608cwb1l"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Stable types conversions generator"; + propagatedBuildInputs = [ ppxlib ]; + }; + + ppx_string = janePackage { + pname = "ppx_string"; + minimumOCamlVersion = "4.04.2"; + hash = "1dp5frk6cig5m3m5rrh2alw63snyf845x7zlkkaljip02pqcbw1s"; + meta.description = "Ppx extension for string interpolation"; + propagatedBuildInputs = [ ppx_base ppxlib stdio ]; + }; + + ppx_typed_fields = janePackage { + pname = "ppx_typed_fields"; + hash = "0hxililjgy4jh66b4xmphrfhv6qpp7dz7xbz3islp357hf18niqy"; + meta.description = "GADT-based field accessors and utilities"; + propagatedBuildInputs = [ core ppx_jane ppxlib ]; + }; + + ppx_typerep_conv = janePackage { + pname = "ppx_typerep_conv"; + minimumOCamlVersion = "4.04.2"; + hash = "1q1lzykpm83ra4l5jh4rfddhd3c96kx4s4rvx0w4b51z1qk56zam"; + meta.description = "Generation of runtime types from type declarations"; + propagatedBuildInputs = [ ppxlib typerep ]; + }; + + ppx_variants_conv = janePackage { + pname = "ppx_variants_conv"; + minimumOCamlVersion = "4.04.2"; + hash = "1dh0bw9dn246k00pymf59yjkl6x6bxd76lkk9b5xpq2692wwlc3s"; + meta.description = "Generation of accessor and iteration functions for ocaml variant types"; + propagatedBuildInputs = [ variantslib ppxlib ]; + }; + + profunctor = janePackage { + pname = "profunctor"; + hash = "151vk0cagjwn0isnnwryn6gmvnpds4dyj1in9jvv5is8yij203gg"; + meta.description = "A library providing a signature for simple profunctors and traversal of a record"; + propagatedBuildInputs = [ base ppx_jane record_builder ]; + }; + + protocol_version_header = janePackage { + pname = "protocol_version_header"; + hash = "0s638cwf1357gg754rc4306654hhrhzqaqm2lp3yv5vj3ml8p4qy"; + meta.description = "Protocol versioning"; + propagatedBuildInputs = [ core_kernel ]; + }; + + pythonlib = janePackage { + pname = "pythonlib"; + hash = "0p88vmp19zmr0r58dz6sawsmbn4yi2vyymad2c82kp93kg66nm1v"; + meta.description = "A library to help writing wrappers around ocaml code for python"; + patches = lib.optional (lib.versionAtLeast ocaml.version "4.13") ./pythonlib.patch; + propagatedBuildInputs = [ ppx_expect ppx_let ppx_python stdio typerep ]; + }; + + re2 = janePackage { + pname = "re2"; + hash = "0z1cajd8abrryf3gz322jpynba79nv4a2kmmcdz0314ran5w68v3"; + meta.description = "OCaml bindings for RE2, Google's regular expression library"; + propagatedBuildInputs = [ core_kernel ]; + prePatch = '' + substituteInPlace src/re2_c/dune --replace 'CXX=g++' 'CXX=c++' + substituteInPlace src/dune --replace '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2))' '(cxx_flags (:standard \ -pedantic) (-I re2_c/libre2) (-x c++))' + ''; + }; + + re2_stable = janePackage { + pname = "re2_stable"; + version = "0.14.0"; + hash = "0kjc0ff6b3509s3b9n4q8ilb06d5fngdh3z58cm95vg7zkcas9w3"; + meta.description = "Re2_stable adds an incomplete but stable serialization of Re2"; + propagatedBuildInputs = [ core re2 ]; + }; + + record_builder = janePackage { + pname = "record_builder"; + hash = "004nqcmwll0vy47mb3d3jlk21cc6adcjy62dkv2k966n9jkh472h"; + meta.description = "A library which provides traversal of records with an applicative"; + propagatedBuildInputs = [ base ppx_jane ]; + }; + + resource_cache = janePackage { + pname = "resource_cache"; + hash = "13wzx8ixgbb7jj5yrps890irw2wvkchnihsn7rfrcvnvrjzzjshm"; + meta.description = "General resource cache"; + propagatedBuildInputs = [ async_rpc_kernel ]; + }; + + sexp = janePackage { + pname = "sexp"; + hash = "00xlsymm1mpgs8cqkb6c36vh5hfw0saghvwiqh7jry65qc5nvv9z"; + propagatedBuildInputs = [ + async + core + csvfields + jsonaf + re2 + sexp_diff + sexp_macro + sexp_pretty + sexp_select + ]; + meta.description = "S-expression swiss knife"; + }; + + sexp_diff = janePackage { + pname = "sexp_diff"; + hash = "1p5xwhj634ij4a0m5k6a3abddi5315y7is1a6ha1lifdz3v985ll"; + propagatedBuildInputs = [ core_kernel ]; + meta.description = "Code for computing the diff of two sexps"; + }; + + sexp_macro = janePackage { + pname = "sexp_macro"; + hash = "1l5dsv9gawmf5dg3rf8sxphp9qs3n4n038nlmf9rxzypzyn112k8"; + propagatedBuildInputs = [ async sexplib ]; + meta.description = "Sexp macros"; + }; + + sexp_pretty = janePackage { + pname = "sexp_pretty"; + hash = "1p1jspwjvrhm8li22xl0n8wngs12d9g7nc1svk6xc32jralnxblg"; + minimumOCamlVersion = "4.07"; + meta.description = "S-expression pretty-printer"; + propagatedBuildInputs = [ ppx_base re sexplib ]; + }; + + sexp_select = janePackage { + pname = "sexp_select"; + hash = "0mmvga9w3gbb2gd1h4l8f1c3l2lrpn1zld2a8xgqyfqfff3vg31p"; + minimumOCamlVersion = "4.07"; + propagatedBuildInputs = [ base ppx_jane ]; + meta.description = "A library to use CSS-style selectors to traverse sexp trees"; + }; + + sexplib0 = janePackage { + pname = "sexplib0"; + hash = "0jag0bz2173b0n7hx013fhghydhh92arqjlrcnf5x025bw8nz66v"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Library containing the definition of S-expressions and some base converters"; + }; + + sexplib = janePackage { + pname = "sexplib"; + hash = "05h34fm3p0179xivc14bixc50pzc8zws46l5gsq310kpm37srq3c"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Library for serializing OCaml values to and from S-expressions"; + propagatedBuildInputs = [ num parsexp ]; + }; + + shell = janePackage { + pname = "shell"; + hash = "1vzdif7w9y1kw2qynlfixwphdgiflrf43j0fzinjp9f56vlhghhy"; + meta.description = "Yet another implementation of fork&exec and related functionality"; + buildInputs = [ jst-config ]; + propagatedBuildInputs = [ textutils ]; + checkInputs = [ ounit ]; + # This currently fails with dune + strictDeps = false; + }; + + shexp = janePackage { + pname = "shexp"; + hash = "05iswnhi92f4yvrh76j3254bvls6fbrdb56mv6vc6mi5f8z4l79i"; + minimumOCamlVersion = "4.07"; + propagatedBuildInputs = [ posixat spawn ]; + meta.description = "Process library and s-expression based shell"; + }; + + spawn = janePackage { + pname = "spawn"; + minimumOCamlVersion = "4.02.3"; + hash = "1fjr91psas5zmk1hxvxh0dchhn0pkyzlr4gg232f5g9vdgissi0p"; + meta.description = "Spawning sub-processes"; + buildInputs = [ ppx_expect ]; + }; + + splay_tree = janePackage { + pname = "splay_tree"; + hash = "1jxfh7f2hjrms5pm2cy1cf6ivphgiqqvyyr9hdcz8d3vi612p4dm"; + meta.description = "A splay tree implementation"; + propagatedBuildInputs = [ core_kernel ]; + }; + + splittable_random = janePackage { + pname = "splittable_random"; + hash = "0ap5z4z1aagz4z02q9642cbl25jzws9lbc2x5xkpyjlc0qcm9v3m"; + meta.description = "PRNG that can be split into independent streams"; + propagatedBuildInputs = [ base ppx_assert ppx_bench ppx_sexp_message ]; + }; + + stdio = janePackage { + pname = "stdio"; + hash = "0g00b00kpjcadikq2asng35w7kvd24q9ldkiylwmn3gv3lrbipa8"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Standard IO library for OCaml"; + propagatedBuildInputs = [ base ]; + }; + + textutils = janePackage { + pname = "textutils"; + hash = "1wass49h645wql9b7nck2iqlkf4648dkxvlvxixr7z80zcnb5rxr"; + meta.description = "Text output utilities"; + propagatedBuildInputs = [ core_unix textutils_kernel ]; + }; + + textutils_kernel = janePackage { + pname = "textutils_kernel"; + hash = "068g11d98wsb5a6ds0p5xybdmx5nx9bxa0k11dmh3l57kn4c169x"; + meta.description = "Text output utilities"; + propagatedBuildInputs = [ core ppx_jane uutf ]; + }; + + time_now = janePackage { + pname = "time_now"; + hash = "1pa0hyh470j9jylii4983qagb6hq2dz6s0q2fnrcph9qbw83bc0c"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Reports the current time"; + buildInputs = [ jst-config ppx_optcomp ]; + propagatedBuildInputs = [ jane-street-headers base ppx_base ]; + }; + + timezone = janePackage { + pname = "timezone"; + hash = "00a007aji5rbz42kgbq1w90py6fm9k9akycs5abkcfll5rd0cbhx"; + meta.description = "Time-zone handling"; + propagatedBuildInputs = [ core_kernel ]; + }; + + topological_sort = janePackage { + pname = "topological_sort"; + hash = "0iqhp8n6g5n1ng80brjpav54229lykm2c1fc104s58lk3rqfvj9v"; + meta.description = "Topological sort algorithm"; + propagatedBuildInputs = [ ppx_jane stdio ]; + }; + + typerep = janePackage { + pname = "typerep"; + hash = "1qxfi01qim0hrgd6d0bgvpxg36i99mmm8cw4wqpr9kxyqvgzv26z"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Typerep is a library for runtime types"; + propagatedBuildInputs = [ base ]; + }; + + variantslib = janePackage { + pname = "variantslib"; + hash = "033ns8ph6bd8g5cdfryjfcnrnzkdshppjyw5kl7cvszjfrz33ij7"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Part of Jane Street's Core library"; + propagatedBuildInputs = [ base ]; + }; + + vcaml = janePackage { + pname = "vcaml"; + hash = "12fd29x9dgf4f14xrx7z4y1bm1wbfynrs3jismjbiqnckfpbqrib"; + meta.description = "OCaml bindings for the Neovim API"; + propagatedBuildInputs = [ angstrom-async async_extra expect_test_helpers_async faraday ]; + }; + + virtual_dom = janePackage { + pname = "virtual_dom"; + hash = "15xia9v4ighzm0gv3vbqk9nvg47cvzqmfnl2zr67yxv4b98kyzv3"; + meta.description = "OCaml bindings for the virtual-dom library"; + buildInputs = [ js_of_ocaml-ppx ]; + propagatedBuildInputs = [ core_kernel gen_js_api js_of_ocaml lambdasoup tyxml ]; + }; + + zarith_stubs_js = janePackage { + pname = "zarith_stubs_js"; + hash = "119xgr3kla9q1bvs4a5z2ivbmsrz4db3a9z0gf77ryqg4i22ywvl"; + minimumOCamlVersion = "4.04.2"; + meta.description = "Javascripts stubs for the Zarith library"; + }; + + zstandard = janePackage { + pname = "zstandard"; + hash = "1blkv35g5q1drkc6zmc4m027gjz6vfdadra1kw1xkp1wlc2l4v3k"; + meta.description = "OCaml bindings to Zstandard"; + buildInputs = [ ppx_jane ]; + propagatedBuildInputs = [ core_kernel ctypes zstd ]; + }; + +} diff --git a/pkgs/development/ocaml-modules/janestreet/bonsai_jsoo_4_0.patch b/pkgs/development/ocaml-modules/janestreet/bonsai_jsoo_4_0.patch new file mode 100644 index 000000000000..e658ba05ca4c --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/bonsai_jsoo_4_0.patch @@ -0,0 +1,13 @@ +diff --git a/web_ui/element_size_hooks/visibility_tracker.ml b/web_ui/element_size_hooks/visibility_tracker.ml +index 2e5dbe0..61df433 100644 +--- a/web_ui/element_size_hooks/visibility_tracker.ml ++++ b/web_ui/element_size_hooks/visibility_tracker.ml +@@ -23,8 +23,6 @@ let get_conservative_vis_bounds (element : Dom_html.element Js.t) : Bounds.t opt + and client_height = client_bounds##.height + and window_height = Dom_html.window##.innerHeight + and window_width = Dom_html.window##.innerWidth in +- let%bind.Option window_height = Js.Optdef.to_option window_height in +- let%bind.Option window_width = Js.Optdef.to_option window_width in + let window_height = Float.of_int window_height + and window_width = Float.of_int window_width + and client_width = Js.Optdef.get client_width (Fn.const 0.0) diff --git a/pkgs/development/ocaml-modules/janestreet/janePackage_0_15.nix b/pkgs/development/ocaml-modules/janestreet/janePackage_0_15.nix new file mode 100644 index 000000000000..678599089946 --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/janePackage_0_15.nix @@ -0,0 +1,31 @@ +{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.15.0" }: + +{ pname +, version ? defaultVersion +, hash +, minimumOCamlVersion ? "4.11" +, doCheck ? true +, buildInputs ? [] +, strictDeps ? true +, ...}@args: + +buildDunePackage (args // { + useDune2 = true; + inherit version buildInputs strictDeps; + + inherit minimumOCamlVersion; + + src = fetchFromGitHub { + owner = "janestreet"; + repo = pname; + rev = "v${version}"; + sha256 = hash; + }; + + inherit doCheck; + + meta = { + license = lib.licenses.mit; + homepage = "https://github.com/janestreet/${pname}"; + } // args.meta; +}) diff --git a/pkgs/development/ocaml-modules/janestreet/pythonlib.patch b/pkgs/development/ocaml-modules/janestreet/pythonlib.patch new file mode 100644 index 000000000000..71a32fd0236c --- /dev/null +++ b/pkgs/development/ocaml-modules/janestreet/pythonlib.patch @@ -0,0 +1,22 @@ +diff --git a/src/type.ml b/src/type.ml +index 8a9e648..3f3b0e9 100644 +--- a/src/type.ml ++++ b/src/type.ml +@@ -31,12 +31,12 @@ let of_type_desc type_desc ~env = + | Tunivar _ -> Or_error.error_string "not handled: Tunivar" + | Tvariant _ -> Or_error.error_string "not handled: Tvariant" + | Tnil -> Or_error.error_string "not handled: Tnil" +- | Tobject (_, _) -> Or_error.error_string "not handled: Tobject" +- | Tfield (_, _, _, _) -> Or_error.error_string "not handled: Tfield" +- | Tpackage (_, _, _) -> Or_error.error_string "not handled: Tpackage" +- | Tpoly (_, _) -> Or_error.error_string "not handled: Tpoly" ++ | Tobject _ -> Or_error.error_string "not handled: Tobject" ++ | Tfield _ -> Or_error.error_string "not handled: Tfield" ++ | Tpackage _ -> Or_error.error_string "not handled: Tpackage" ++ | Tpoly _ -> Or_error.error_string "not handled: Tpoly" + | Tlink e -> walk e.desc +- | Tsubst e -> walk e.desc ++ | Tsubst (e, _) -> walk e.desc + | Ttuple es -> + let%bind tuple = List.map es ~f:(fun e -> walk e.desc) |> Or_error.all in + (match tuple with diff --git a/pkgs/development/ocaml-modules/phylogenetics/default.nix b/pkgs/development/ocaml-modules/phylogenetics/default.nix index 11da66bd7600..1cf9651e6ecc 100644 --- a/pkgs/development/ocaml-modules/phylogenetics/default.nix +++ b/pkgs/development/ocaml-modules/phylogenetics/default.nix @@ -1,6 +1,6 @@ { lib , buildDunePackage -, fetchurl +, fetchFromGitHub , ppx_deriving , bppsuite , alcotest @@ -16,18 +16,15 @@ buildDunePackage rec { pname = "phylogenetics"; - version = "0.1.0"; + version = "unstable-2022-05-06"; - src = fetchurl { - url = "https://github.com/biocaml/phylogenetics/releases/download/v${version}/${pname}-${version}.tbz"; - sha256 = "sha256:064ldljzh17h8pp0c27xd1pf6c50yhccw2g3hddzhk07a95q8v16"; + src = fetchFromGitHub { + owner = "biocaml"; + repo = pname; + rev = "cd7c624d0f98e31b02933ca4511b9809b26d35b5"; + sha256 = "sha256:0w0xyah3hj05hxg1rsa40hhma3dm1cyq0zvnjrihhf22laxap7ga"; }; - # Ensure compatibility with printbox ≥ 0.6 - preConfigure = '' - substituteInPlace lib/dune --replace printbox printbox-text - ''; - minimalOCamlVersion = "4.08"; checkInputs = [ alcotest bppsuite ]; diff --git a/pkgs/development/ocaml-modules/tls/default.nix b/pkgs/development/ocaml-modules/tls/default.nix index 81f0a176bfc9..3f45aa919667 100644 --- a/pkgs/development/ocaml-modules/tls/default.nix +++ b/pkgs/development/ocaml-modules/tls/default.nix @@ -6,11 +6,11 @@ buildDunePackage rec { pname = "tls"; - version = "0.15.2"; + version = "0.15.3"; src = fetchurl { - url = "https://github.com/mirleft/ocaml-tls/releases/download/v${version}/tls-v${version}.tbz"; - sha256 = "b76371757249bbeabb12c333de4ea2a09c095767bdbbc83322538c0da1fc1e36"; + url = "https://github.com/mirleft/ocaml-tls/releases/download/v${version}/tls-${version}.tbz"; + sha256 = "0nj6fhgrirn8ky4hb24m3ilhr41ynzgk6bqmjs17g8rdibwmdd2x"; }; minimumOCamlVersion = "4.08"; diff --git a/pkgs/development/python-modules/dalle-mini/default.nix b/pkgs/development/python-modules/dalle-mini/default.nix index e6612a3cd2a7..1cafda70872a 100644 --- a/pkgs/development/python-modules/dalle-mini/default.nix +++ b/pkgs/development/python-modules/dalle-mini/default.nix @@ -15,11 +15,11 @@ buildPythonPackage rec { pname = "dalle-mini"; - version = "0.1.0"; + version = "0.1.1"; src = fetchPypi { inherit pname version; - sha256 = "sha256-Sbos44uWGnJLYMx/xy0wkyAJHlDhVIeOS7rnYt2W53w="; + sha256 = "sha256-/wGIuYSWEUgJmeRN5K9/xuoCs+hpFX4/Tu1un1C4ljk="; }; format = "setuptools"; diff --git a/pkgs/development/python-modules/datauri/default.nix b/pkgs/development/python-modules/datauri/default.nix new file mode 100644 index 000000000000..da6ffe3bd266 --- /dev/null +++ b/pkgs/development/python-modules/datauri/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "datauri"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "fcurella"; + repo = "python-datauri"; + rev = "v${version}"; + sha256 = "sha256-Eevd/xxKgxvvsAfI/L/KShH+PfxffBGyVwKewLgyEu0="; + }; + + pythonImportsCheck = [ + "datauri" + ]; + + checkInputs = [ + pytestCheckHook + ]; + + disabledTestPaths = [ + # UnicodeDecodeError: 'utf-8' codec can't decode + "tests/test_file_ebcdic.txt" + ]; + + meta = with lib; { + description = "Data URI manipulation made easy."; + homepage = "https://github.com/fcurella/python-datauri"; + license = licenses.unlicense; + maintainers = with maintainers; [ yuu ]; + }; +} diff --git a/pkgs/development/python-modules/fontparts/default.nix b/pkgs/development/python-modules/fontparts/default.nix index 1dfaa3f3d5e2..28972b62b977 100644 --- a/pkgs/development/python-modules/fontparts/default.nix +++ b/pkgs/development/python-modules/fontparts/default.nix @@ -6,13 +6,13 @@ buildPythonPackage rec { pname = "fontParts"; - version = "0.10.6"; + version = "0.10.7"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - sha256 = "sha256-mEnQWmzzZ5S8rWzmXuJDjcuoICi6Q+aneX8hGXj11Gg="; + sha256 = "sha256-u0hKI2LLWAUGIVRECk6b5y7UKgJHUx2I8R5Q+qkKxcg="; extension = "zip"; }; diff --git a/pkgs/development/python-modules/hg-evolve/default.nix b/pkgs/development/python-modules/hg-evolve/default.nix index f068fab049ac..831ed1235e72 100644 --- a/pkgs/development/python-modules/hg-evolve/default.nix +++ b/pkgs/development/python-modules/hg-evolve/default.nix @@ -6,11 +6,11 @@ buildPythonPackage rec { pname = "hg-evolve"; - version = "10.5.1"; + version = "10.5.2"; src = fetchPypi { inherit pname version; - sha256 = "sha256-JGk9PdCDXiDkP8Arw2pfpU+sEj/sCHwwHHWVwF3Ofzw="; + sha256 = "sha256-45FOAQDJgAfhlTF/XBmIfvmMM1X7LUzsHAb7NMQl9Fs="; }; checkInputs = [ diff --git a/pkgs/development/python-modules/iminuit/default.nix b/pkgs/development/python-modules/iminuit/default.nix index d5337c0b1946..f0b744bfbcaf 100644 --- a/pkgs/development/python-modules/iminuit/default.nix +++ b/pkgs/development/python-modules/iminuit/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "iminuit"; - version = "2.12.1"; + version = "2.13.0"; format = "setuptools"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-+le1b3wpze7QL5U1p7ZYB6zWoZfyCIUQlIIiLxoCPt4="; + hash = "sha256-40eFwqLArqb/hmcv6BuAoErJ1Cp57YJJYw8lKaj2oPo="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/mitmproxy/default.nix b/pkgs/development/python-modules/mitmproxy/default.nix index 055cb8aee99a..ea0f5dd1045e 100644 --- a/pkgs/development/python-modules/mitmproxy/default.nix +++ b/pkgs/development/python-modules/mitmproxy/default.nix @@ -45,14 +45,14 @@ buildPythonPackage rec { pname = "mitmproxy"; - version = "8.0.0"; + version = "8.1.1"; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-Efazsi8BjBrk7lBKSn2APKHxCc7mzxNrC92BL0VsnCM="; + sha256 = "sha256-nW/WfiY6uF67qNa95tvNvSv/alP2WmzTk34LEBma/04="; }; propagatedBuildInputs = [ @@ -110,6 +110,8 @@ buildPythonPackage rec { # https://github.com/mitmproxy/mitmproxy/commit/36ebf11916704b3cdaf4be840eaafa66a115ac03 # Tests require terminal "test_integration" + "test_contentview_flowview" + "test_flowview" ]; dontUsePytestXdist = true; diff --git a/pkgs/development/python-modules/nessclient/default.nix b/pkgs/development/python-modules/nessclient/default.nix index d91a80eb9d0f..591d74a95a54 100644 --- a/pkgs/development/python-modules/nessclient/default.nix +++ b/pkgs/development/python-modules/nessclient/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "nessclient"; - version = "0.9.16b2"; + version = "0.10.0"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -19,8 +19,8 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "nickw444"; repo = pname; - rev = version; - sha256 = "1g3q9bv1nn1b8n6bklc05k8pac4cndzfxfr7liky0gnnbri15k81"; + rev = "refs/tags/${version}"; + sha256 = "sha256-zjUYdSHIMCB4cCAsOOQZ9YgmFTskzlTUs5z/xPFt01Q="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/protobuf/default.nix b/pkgs/development/python-modules/protobuf/default.nix index 30e9fbf9ea75..ee1d0bbffb5a 100644 --- a/pkgs/development/python-modules/protobuf/default.nix +++ b/pkgs/development/python-modules/protobuf/default.nix @@ -19,7 +19,12 @@ buildPythonPackage { doCheck = doCheck && !isPy27; # setuptools>=41.4 no longer collects correctly on python2 propagatedBuildInputs = [ six ] ++ lib.optionals isPy27 [ google-apputils ]; - propagatedNativeBuildInputs = [ buildPackages.protobuf ]; # For protoc. + propagatedNativeBuildInputs = let + protobufVersion = "${lib.versions.major protobuf.version}_${lib.versions.minor protobuf.version}"; + in [ + buildPackages."protobuf${protobufVersion}" # For protoc of the same version. + ]; + nativeBuildInputs = [ pyext ] ++ lib.optionals isPy27 [ google-apputils ]; buildInputs = [ protobuf ]; diff --git a/pkgs/development/python-modules/pygtrie/default.nix b/pkgs/development/python-modules/pygtrie/default.nix index 8ee176e80c2f..c7738a9f3ec7 100644 --- a/pkgs/development/python-modules/pygtrie/default.nix +++ b/pkgs/development/python-modules/pygtrie/default.nix @@ -1,10 +1,10 @@ { lib, fetchPypi, buildPythonPackage, ... }: buildPythonPackage rec { pname = "pygtrie"; - version = "2.4.2"; + version = "2.5.0"; src = fetchPypi { inherit pname version; - sha256 = "43205559d28863358dbbf25045029f58e2ab357317a59b11f11ade278ac64692"; + sha256 = "sha256-IDUUrYJutAPasdLi3dA04NFTS75NvgITuwWT9mvrpOI="; }; meta = { homepage = "https://github.com/mina86/pygtrie"; diff --git a/pkgs/development/python-modules/pyside2/default.nix b/pkgs/development/python-modules/pyside2/default.nix index 3be201d3c913..81df3cbe94c6 100644 --- a/pkgs/development/python-modules/pyside2/default.nix +++ b/pkgs/development/python-modules/pyside2/default.nix @@ -24,14 +24,22 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ cmake ninja qt5.qmake python ]; - buildInputs = with qt5; [ + buildInputs = (with qt5; [ qtbase qtxmlpatterns qtmultimedia qttools qtx11extras qtlocation qtscript qtwebsockets qtwebengine qtwebchannel qtcharts qtsensors qtsvg + ]) ++ [ + python.pkgs.setuptools ]; propagatedBuildInputs = [ shiboken2 ]; dontWrapQtApps = true; + postInstall = '' + cd ../../.. + ${python.interpreter} setup.py egg_info --build-type=pyside2 + cp -r PySide2.egg-info $out/${python.sitePackages}/ + ''; + meta = with lib; { description = "LGPL-licensed Python bindings for Qt"; license = licenses.lgpl21; diff --git a/pkgs/development/python-modules/pytest-testmon/default.nix b/pkgs/development/python-modules/pytest-testmon/default.nix index 667927bfe105..9652e0289464 100644 --- a/pkgs/development/python-modules/pytest-testmon/default.nix +++ b/pkgs/development/python-modules/pytest-testmon/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "pytest-testmon"; - version = "1.3.3"; + version = "1.3.4"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-Csg5wIm9+ZdAQYdZozlx09rMaVz3GazeS5Z/f4jRECw="; + sha256 = "sha256-jr+uKjtm5nFYHrZpG63VNK/wO93TQJh1x4SoTxJtlw0="; }; propagatedBuildInputs = [ pytest coverage ]; diff --git a/pkgs/development/python-modules/reqif/default.nix b/pkgs/development/python-modules/reqif/default.nix new file mode 100644 index 000000000000..3f8376f659ef --- /dev/null +++ b/pkgs/development/python-modules/reqif/default.nix @@ -0,0 +1,60 @@ +{ lib +, buildPythonPackage +, python3 +, pythonOlder +, fetchFromGitHub +, poetry-core +, beautifulsoup4 +, lxml +, jinja2 +, dataclasses +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "reqif"; + version = "0.0.8"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "strictdoc-project"; + repo = pname; + rev = version; + sha256 = "sha256-PtzRJUvv+Oee08+sdakFviKIhwfLngyal1WSWDtMELg="; + }; + + postPatch = '' + substituteInPlace ./tests/unit/conftest.py --replace \ + "os.path.abspath(os.path.join(__file__, \"../../../../reqif\"))" \ + "\"${placeholder "out"}/${python3.sitePackages}/reqif\"" + substituteInPlace pyproject.toml --replace "^" ">=" + substituteInPlace requirements.txt --replace "==" ">=" + ''; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + beautifulsoup4 + lxml + jinja2 + ] ++ lib.optionals (pythonOlder "3.7") [ + dataclasses + ]; + + pythonImportsCheck = [ + "reqif" + ]; + + checkInputs = [ + pytestCheckHook + ]; + + meta = with lib; { + description = "Python library for ReqIF format"; + homepage = "https://github.com/strictdoc-project/reqif"; + license = licenses.asl20; + maintainers = with maintainers; [ yuu ]; + }; +} diff --git a/pkgs/development/python-modules/shiboken2/default.nix b/pkgs/development/python-modules/shiboken2/default.nix index 11461a9545cd..c4210cfeda2e 100644 --- a/pkgs/development/python-modules/shiboken2/default.nix +++ b/pkgs/development/python-modules/shiboken2/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation { CLANG_INSTALL_DIR = llvmPackages.libclang.out; nativeBuildInputs = [ cmake ]; - buildInputs = [ llvmPackages.libclang python qt5.qtbase qt5.qtxmlpatterns ]; + buildInputs = [ llvmPackages.libclang python python.pkgs.setuptools qt5.qtbase qt5.qtxmlpatterns ]; cmakeFlags = [ "-DBUILD_TESTS=OFF" @@ -26,6 +26,9 @@ stdenv.mkDerivation { dontWrapQtApps = true; postInstall = '' + cd ../../.. + ${python.interpreter} setup.py egg_info --build-type=shiboken2 + cp -r shiboken2.egg-info $out/${python.sitePackages}/ rm $out/bin/shiboken_tool.py ''; diff --git a/pkgs/development/python-modules/simplisafe-python/default.nix b/pkgs/development/python-modules/simplisafe-python/default.nix index 07f0c1bf1e87..62edf7b0fc2d 100644 --- a/pkgs/development/python-modules/simplisafe-python/default.nix +++ b/pkgs/development/python-modules/simplisafe-python/default.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { pname = "simplisafe-python"; - version = "2022.06.1"; + version = "2022.07.0"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -29,7 +29,7 @@ buildPythonPackage rec { owner = "bachya"; repo = pname; rev = "refs/tags/${version}"; - sha256 = "sha256-5zhj1EAFZ2XCeSfcFN+7gHrcPx/YrEZQ8QfcmLUboIg="; + sha256 = "sha256-v3N2f5B6BrwTb4ik2bME8OLzwsHZ3qWx+Jx1pv7KX8A="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/sqlite-utils/default.nix b/pkgs/development/python-modules/sqlite-utils/default.nix index e682365f9274..fccbc4affab6 100644 --- a/pkgs/development/python-modules/sqlite-utils/default.nix +++ b/pkgs/development/python-modules/sqlite-utils/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "sqlite-utils"; - version = "3.27"; + version = "3.28"; format = "setuptools"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-SercPK2Svrq7rEULglvjq1J3FV0x0aHHKs72HmXkTGo="; + hash = "sha256-eQsB9L4WwydWubXq4HtrfJBbZhPKU41kaHfFCwWwpTo="; }; postPatch = '' diff --git a/pkgs/development/python-modules/streamdeck/default.nix b/pkgs/development/python-modules/streamdeck/default.nix new file mode 100644 index 000000000000..7d7f00710377 --- /dev/null +++ b/pkgs/development/python-modules/streamdeck/default.nix @@ -0,0 +1,36 @@ +{ lib +, stdenv +, buildPythonPackage +, fetchPypi +, substituteAll +, pkgs +}: + +buildPythonPackage rec { + pname = "streamdeck"; + version = "0.9.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "0116a376afc18f3abbf79cc1a4409f81472e19197d5641b9e97e697d105cbdc0"; + }; + + patches = [ + # substitute libusb path + (substituteAll { + src = ./hardcode-libusb.patch; + libusb = "${pkgs.hidapi}/lib/libhidapi-libusb${stdenv.hostPlatform.extensions.sharedLibrary}"; + }) + ]; + + pythonImportsCheck = [ "StreamDeck" ]; + doCheck = false; + + meta = with lib; { + description = "Python library to control the Elgato Stream Deck"; + homepage = "https://github.com/abcminiuser/python-elgato-streamdeck"; + license = licenses.mit; + maintainers = with maintainers; [ majiir ]; + broken = stdenv.isDarwin; + }; +} diff --git a/pkgs/development/python-modules/streamdeck/hardcode-libusb.patch b/pkgs/development/python-modules/streamdeck/hardcode-libusb.patch new file mode 100644 index 000000000000..acef15b54052 --- /dev/null +++ b/pkgs/development/python-modules/streamdeck/hardcode-libusb.patch @@ -0,0 +1,13 @@ +diff --git a/src/StreamDeck/Transport/LibUSBHIDAPI.py b/src/StreamDeck/Transport/LibUSBHIDAPI.py +index 824c59c..f13754e 100644 +--- a/src/StreamDeck/Transport/LibUSBHIDAPI.py ++++ b/src/StreamDeck/Transport/LibUSBHIDAPI.py +@@ -110,7 +110,7 @@ class LibUSBHIDAPI(Transport): + + search_library_names = { + "Windows": ["hidapi.dll", "libhidapi-0.dll"], +- "Linux": ["libhidapi-libusb.so", "libhidapi-libusb.so.0"], ++ "Linux": ["@libusb@"], + "Darwin": ["libhidapi.dylib"], + } + diff --git a/pkgs/development/python-modules/testcontainers/default.nix b/pkgs/development/python-modules/testcontainers/default.nix new file mode 100644 index 000000000000..a690be883340 --- /dev/null +++ b/pkgs/development/python-modules/testcontainers/default.nix @@ -0,0 +1,39 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage +, deprecation +, docker +, wrapt +}: + +buildPythonPackage rec { + pname = "testcontainers"; + version = "3.5.0"; + + src = fetchFromGitHub { + owner = "testcontainers"; + repo = "testcontainers-python"; + rev = "v${version}"; + sha256 = "sha256-uB3MbRVQzbUdZRxkGl635O+K17bkHIGY2JbU8R23Kt0="; + }; + + buildInputs = [ + deprecation + docker + wrapt + ]; + + # Tests require various container and database services running + doCheck = false; + + pythonImportsCheck = [ + "testcontainers" + ]; + + meta = with lib; { + description = "Allows using docker containers for functional and integration testing"; + homepage = "https://github.com/testcontainers/testcontainers-python"; + license = licenses.asl20; + maintainers = with maintainers; [ onny ]; + }; +} diff --git a/pkgs/development/python-modules/textx/default.nix b/pkgs/development/python-modules/textx/default.nix new file mode 100644 index 000000000000..9243d3a3edb0 --- /dev/null +++ b/pkgs/development/python-modules/textx/default.nix @@ -0,0 +1,178 @@ +{ lib +, buildPythonPackage +, python3 +, fetchFromGitHub +, mkdocs +, twine +, arpeggio +, click +, future +, setuptools +, callPackage +, gprof2dot +, html5lib +, jinja2 +, memory_profiler +, psutil +, pytestCheckHook +}: + +let + textx = buildPythonPackage rec { + pname = "textx"; + version = "3.0.0"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = version; + sha256 = "sha256-uZlO82dKtWQQR5+Q7dWk3+ZoUzAjDJ8qzC4UMLCtnBk="; + }; + + postPatch = '' + substituteInPlace setup.cfg --replace "click >=7.0, <8.0" "click >=7.0" + ''; + + outputs = [ + "out" + "testout" + ]; + + nativeBuildInputs = [ + mkdocs + twine + ]; + + propagatedBuildInputs = [ + arpeggio + click + future + setuptools + ]; + + postInstall = '' + # FileNotFoundError: [Errno 2] No such file or directory: '$out/lib/python3.10/site-packages/textx/textx.tx + cp "$src/textx/textx.tx" "$out/${python3.sitePackages}/${pname}/" + + # Install tests as the tests output. + mkdir $testout + cp -r tests $testout/tests + ''; + + pythonImportsCheck = [ + "textx" + ]; + + # Circular dependencies, do tests in passthru.tests instead. + doCheck = false; + + passthru.tests = { + textxTests = callPackage ./tests.nix { + inherit + textx-data-dsl + textx-example-project + textx-flow-codegen + textx-flow-dsl + textx-types-dsl; + }; + }; + + meta = with lib; { + description = "Domain-specific languages and parsers in Python"; + homepage = "https://github.com/textx/textx/"; + license = licenses.mit; + maintainers = with maintainers; [ yuu ]; + }; + }; + + textx-data-dsl = buildPythonPackage rec { + pname = "textx-data-dsl"; + version = "1.0.0"; + inherit (textx) src; + # `format` isn't included in the output of `mk-python-derivation`. + # So can't inherit format: `error: attribute 'format' missing`. + format = "setuptools"; + pathToSourceRoot = "tests/functional/registration/projects/data_dsl"; + sourceRoot = "${src.name}/" + pathToSourceRoot; + propagatedBuildInputs = [ + textx + textx-types-dsl + ]; + meta = with lib; { + inherit (textx.meta) license maintainers; + description = "Sample textX language for testing"; + homepage = textx.homepage + "tree/${version}/" + pathToSourceRoot; + }; + }; + + textx-flow-codegen = buildPythonPackage rec { + pname = "textx-flow-codegen"; + version = "1.0.0"; + inherit (textx) src; + format = "setuptools"; + pathToSourceRoot = "tests/functional/registration/projects/flow_codegen"; + sourceRoot = "${src.name}/" + pathToSourceRoot; + propagatedBuildInputs = [ + click + textx + ]; + meta = with lib; { + inherit (textx.meta) license maintainers; + description = "Sample textX language for testing"; + homepage = textx.homepage + "tree/${version}/" + pathToSourceRoot; + }; + }; + + textx-flow-dsl = buildPythonPackage rec { + pname = "textx-flow-dsl"; + version = "1.0.0"; + inherit (textx) src; + format = "setuptools"; + pathToSourceRoot = "tests/functional/registration/projects/flow_dsl"; + sourceRoot = "${src.name}/" + pathToSourceRoot; + propagatedBuildInputs = [ + textx + ]; + meta = with lib; { + inherit (textx.meta) license maintainers; + description = "Sample textX language for testing"; + homepage = textx.homepage + "tree/${version}/" + pathToSourceRoot; + }; + }; + + textx-types-dsl = buildPythonPackage rec { + pname = "textx-types-dsl"; + version = "1.0.0"; + inherit (textx) src; + format = "setuptools"; + pathToSourceRoot = "tests/functional/registration/projects/types_dsl"; + sourceRoot = "${src.name}/" + pathToSourceRoot; + propagatedBuildInputs = [ + textx + ]; + meta = with lib; { + inherit (textx.meta) license maintainers; + description = "Sample textX language for testing"; + homepage = textx.homepage + "tree/${version}/" + pathToSourceRoot; + }; + }; + + textx-example-project = buildPythonPackage rec { + pname = "textx-example-project"; + version = "1.0.0"; + inherit (textx) src; + format = "setuptools"; + pathToSourceRoot = "tests/functional/subcommands/example_project"; + sourceRoot = "${src.name}/" + pathToSourceRoot; + propagatedBuildInputs = [ + textx + ]; + meta = with lib; { + inherit (textx.meta) license maintainers; + description = "Sample textX sub-command for testing"; + homepage = textx.homepage + "tree/${version}/" + pathToSourceRoot; + }; + }; +in + textx diff --git a/pkgs/development/python-modules/textx/tests.nix b/pkgs/development/python-modules/textx/tests.nix new file mode 100644 index 000000000000..021224e9f35d --- /dev/null +++ b/pkgs/development/python-modules/textx/tests.nix @@ -0,0 +1,53 @@ +{ lib +, buildPythonPackage +, click +, gprof2dot +, html5lib +, jinja2 +, memory_profiler +, psutil +, pytestCheckHook +, setuptools +, textx +, textx-data-dsl +, textx-example-project +, textx-flow-codegen +, textx-flow-dsl +, textx-types-dsl +}: + +buildPythonPackage { + pname = "textx-tests"; + inherit (textx) version; + + srcs = textx.testout; + + dontBuild = true; + dontInstall = true; + + checkInputs = [ + click + gprof2dot + html5lib + jinja2 + memory_profiler + psutil + pytestCheckHook + setuptools + textx-data-dsl + textx-example-project + textx-flow-codegen + textx-flow-dsl + textx-types-dsl + ]; + + pytestFlagsArray = [ + "tests/functional" + ]; + + meta = with lib; { + inherit (textx.meta) license maintainers; + description = "passthru.tests for textx"; + homepage = textx.homepage + "tree/${version}/" + "tests/"; + }; +} diff --git a/pkgs/development/python-modules/xlib/default.nix b/pkgs/development/python-modules/xlib/default.nix index edb4761af3a8..05d5e095a163 100644 --- a/pkgs/development/python-modules/xlib/default.nix +++ b/pkgs/development/python-modules/xlib/default.nix @@ -22,6 +22,10 @@ buildPythonPackage rec { sha256 = "155p9xhsk01z9vdml74h07svlqy6gljnx9c6qbydcr14lwghwn06"; }; + patches = [ + ./fix-no-protocol-specified.patch + ]; + nativeBuildInputs = [ setuptools-scm ]; buildInputs = [ xorg.libX11 ]; propagatedBuildInputs = [ six ]; diff --git a/pkgs/development/python-modules/xlib/fix-no-protocol-specified.patch b/pkgs/development/python-modules/xlib/fix-no-protocol-specified.patch new file mode 100644 index 000000000000..1f3ab927f840 --- /dev/null +++ b/pkgs/development/python-modules/xlib/fix-no-protocol-specified.patch @@ -0,0 +1,13 @@ +diff --git a/Xlib/xauth.py b/Xlib/xauth.py +index 2ed7dd5..303bd49 100644 +--- a/Xlib/xauth.py ++++ b/Xlib/xauth.py +@@ -120,6 +120,8 @@ class Xauthority(object): + matches = {} + + for efam, eaddr, enum, ename, edata in self.entries: ++ if enum == b'' and ename not in matches: ++ enum = num + if efam == family and eaddr == address and num == enum: + matches[ename] = edata + diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix index d49baed15787..7b85a7618509 100644 --- a/pkgs/development/tools/analysis/cppcheck/default.nix +++ b/pkgs/development/tools/analysis/cppcheck/default.nix @@ -1,4 +1,15 @@ -{ lib, stdenv, fetchFromGitHub, libxslt, docbook_xsl, docbook_xml_dtd_45, pcre, withZ3 ? true, z3, python3 }: +{ lib +, stdenv +, fetchFromGitHub +, pcre +, python3 +, libxslt +, docbook_xsl +, docbook_xml_dtd_45 +, withZ3 ? true +, z3 +, which +}: stdenv.mkDerivation rec { pname = "cppcheck"; @@ -14,9 +25,9 @@ stdenv.mkDerivation rec { buildInputs = [ pcre (python3.withPackages (ps: [ps.pygments])) ] ++ lib.optionals withZ3 [ z3 ]; - nativeBuildInputs = [ libxslt docbook_xsl docbook_xml_dtd_45 ]; + nativeBuildInputs = [ libxslt docbook_xsl docbook_xml_dtd_45 which ]; - makeFlags = [ "PREFIX=$(out)" "FILESDIR=$(out)/cfg" "HAVE_RULES=yes" ] + makeFlags = [ "PREFIX=$(out)" "MATCHCOMPILER=yes" "FILESDIR=$(out)/share/cppcheck" "HAVE_RULES=yes" ] ++ lib.optionals withZ3 [ "USE_Z3=yes" "CPPFLAGS=-DNEW_Z3=1" ]; outputs = [ "out" "man" ]; diff --git a/pkgs/development/tools/bacon/default.nix b/pkgs/development/tools/bacon/default.nix index 6f5fc569de1d..d6374b0163d9 100644 --- a/pkgs/development/tools/bacon/default.nix +++ b/pkgs/development/tools/bacon/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "bacon"; - version = "2.2.0"; + version = "2.2.1"; src = fetchFromGitHub { owner = "Canop"; repo = pname; rev = "v${version}"; - sha256 = "sha256-GoaWlnlE/UfLX3HjbQXPMBOdlplParq7HHAfCUcdGLc="; + sha256 = "sha256-DpTN/Aw27M1s8T6ka1gwlI4WZ2MqP3PJ96XwxqlS0eM="; }; - cargoSha256 = "sha256-3heAu8n1Dm7ewYTSCwxtgpF2vn/D5B52BuM9qz0X7Yc="; + cargoSha256 = "sha256-yY8oFvb++vye17aSCGw5BZ/Jgd46vPNJpqK+gKRoPvw="; buildInputs = lib.optional stdenv.isDarwin CoreServices; diff --git a/pkgs/development/tools/build-managers/bear/default.nix b/pkgs/development/tools/build-managers/bear/default.nix index 21f7512588c0..e636f938c776 100644 --- a/pkgs/development/tools/build-managers/bear/default.nix +++ b/pkgs/development/tools/build-managers/bear/default.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation rec { pname = "bear"; - version = "3.0.14"; + version = "3.0.19"; src = fetchFromGitHub { owner = "rizsotto"; repo = pname; rev = version; - sha256 = "0qy96dyd29bjvfhi46y30hli5cvshw8am0spvcv9v43660wbczd7"; + sha256 = "sha256-Jj38dmzr8NDDMercfWyJrMFxGBSExCGPeG2IVEtnSxY="; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/pkgs/development/tools/build-managers/bear/no-double-relative.patch b/pkgs/development/tools/build-managers/bear/no-double-relative.patch index 257c7ffea38f..e8087feb1afb 100644 --- a/pkgs/development/tools/build-managers/bear/no-double-relative.patch +++ b/pkgs/development/tools/build-managers/bear/no-double-relative.patch @@ -1,22 +1,27 @@ -diff --git i/source/config.h.in w/source/config.h.in -index ffcce3a..0caba6d 100644 ---- i/source/config.h.in -+++ w/source/config.h.in -@@ -107,7 +107,7 @@ namespace cmd { +diff --git a/source/config.h.in b/source/config.h.in +index 6b659c2..f7bdf22 100644 +--- a/source/config.h.in ++++ b/source/config.h.in +@@ -108,8 +108,8 @@ namespace cmd { } namespace wrapper { -- constexpr char DEFAULT_PATH[] = "@ROOT_INSTALL_PREFIX@/@PRIVATE_INSTALLDIR@/wrapper"; -+ constexpr char DEFAULT_PATH[] = "@PRIVATE_INSTALLDIR@/wrapper"; - constexpr char DEFAULT_DIR_PATH[] = "@ROOT_INSTALL_PREFIX@/@PRIVATE_INSTALLDIR@/wrapper.d"; +- constexpr char DEFAULT_PATH[] = "@ROOT_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/bear/wrapper"; +- constexpr char DEFAULT_DIR_PATH[] = "@ROOT_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/bear/wrapper.d"; ++ constexpr char DEFAULT_PATH[] = "@CMAKE_INSTALL_LIBDIR@/bear/wrapper"; ++ constexpr char DEFAULT_DIR_PATH[] = "@CMAKE_INSTALL_LIBDIR@/bear/wrapper.d"; constexpr char FLAG_VERBOSE[] = "--verbose"; -@@ -120,7 +120,7 @@ namespace cmd { - } - - namespace library { -- constexpr char DEFAULT_PATH[] = "@ROOT_INSTALL_PREFIX@/@PRIVATE_INSTALLDIR@/@CMAKE_SHARED_LIBRARY_PREFIX@exec@CMAKE_SHARED_LIBRARY_SUFFIX@"; -+ constexpr char DEFAULT_PATH[] = "@PRIVATE_INSTALLDIR@/@CMAKE_SHARED_LIBRARY_PREFIX@exec@CMAKE_SHARED_LIBRARY_SUFFIX@"; - + constexpr char FLAG_DESTINATION[] = "--destination"; +@@ -134,9 +134,9 @@ namespace cmd { + // And use the `libexec.so` path default value with a single path, + // that matches both. (The match can be achieved by the $LIB token + // expansion from the dynamic loader. See `man ld.so` for more.) +- constexpr char DEFAULT_PATH[] = "@ROOT_INSTALL_PREFIX@/$LIB/bear/@CMAKE_SHARED_LIBRARY_PREFIX@exec@CMAKE_SHARED_LIBRARY_SUFFIX@"; ++ constexpr char DEFAULT_PATH[] = "$LIB/bear/@CMAKE_SHARED_LIBRARY_PREFIX@exec@CMAKE_SHARED_LIBRARY_SUFFIX@"; + #else +- constexpr char DEFAULT_PATH[] = "@ROOT_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/bear/@CMAKE_SHARED_LIBRARY_PREFIX@exec@CMAKE_SHARED_LIBRARY_SUFFIX@"; ++ constexpr char DEFAULT_PATH[] = "@CMAKE_INSTALL_LIBDIR@/bear/@CMAKE_SHARED_LIBRARY_PREFIX@exec@CMAKE_SHARED_LIBRARY_SUFFIX@"; + #endif constexpr char KEY_REPORTER[] = "INTERCEPT_REPORT_COMMAND"; constexpr char KEY_DESTINATION[] = "INTERCEPT_REPORT_DESTINATION"; diff --git a/pkgs/development/tools/cambalache/default.nix b/pkgs/development/tools/cambalache/default.nix index 781dd86cd759..0fc470ca9a2c 100644 --- a/pkgs/development/tools/cambalache/default.nix +++ b/pkgs/development/tools/cambalache/default.nix @@ -20,7 +20,7 @@ python3.pkgs.buildPythonApplication rec { pname = "cambalache"; - version = "0.10.2"; + version = "0.10.3"; format = "other"; @@ -29,7 +29,7 @@ python3.pkgs.buildPythonApplication rec { owner = "jpu"; repo = pname; rev = version; - sha256 = "sha256-/0HMtNR9R/Oq1ZoBaLe4iU0OOVZUozuo8gP0j9J8hdc="; + sha256 = "sha256-Xm8h3BBRibdLCeI/OeprF5dCCiNrfJCg7aE24uleCds="; }; nativeBuildInputs = [ diff --git a/pkgs/development/tools/comby/comby.patch b/pkgs/development/tools/comby/comby.patch new file mode 100644 index 000000000000..ec1f5141985a --- /dev/null +++ b/pkgs/development/tools/comby/comby.patch @@ -0,0 +1,1025 @@ +diff --git a/comby-kernel.opam b/comby-kernel.opam +index 828c5a3..00f6c3d 100644 +--- a/comby-kernel.opam ++++ b/comby-kernel.opam +@@ -20,7 +20,7 @@ build: [ + depends: [ + "dune" {>= "2.8.0"} + "ocaml" {>= "4.08.1"} +- "core_kernel" ++ "core_kernel" {>= "v0.15.0"} + "mparser" {>= "1.3"} + "mparser-pcre" + "ppx_deriving" +diff --git a/comby-semantic.opam b/comby-semantic.opam +index cb9dcc7..443749f 100644 +--- a/comby-semantic.opam ++++ b/comby-semantic.opam +@@ -20,7 +20,7 @@ build: [ + depends: [ + "dune" {>= "2.8.0"} + "ocaml" {>= "4.08.1"} +- "core_kernel" ++ "core_kernel" {>= "v0.15.0"} + "ppx_deriving" + "lwt" + "cohttp" +diff --git a/comby.opam b/comby.opam +index 98bdc19..d45892c 100644 +--- a/comby.opam ++++ b/comby.opam +@@ -31,7 +31,7 @@ depends: [ + "cohttp-lwt-unix" + "comby-kernel" {= "1.7.0"} + "comby-semantic" {= "1.7.0"} +- "core" ++ "core" {>= "v0.15.0"} + "hack_parallel" {arch != "arm32" & arch != "arm64"} + "lwt" + "lwt_react" +diff --git a/dune b/dune +index 53b1312..a71571a 100644 +--- a/dune ++++ b/dune +@@ -1,6 +1,8 @@ + (env + (dev +- (flags (:standard -w A-3-4-32-34-37-39-40-41-42-44-45-48-49-50-57-60-66-67))) ++ (flags ++ (:standard -w A-3-4-32-34-37-39-40-41-42-44-45-48-49-50-57-60-66-67))) + (release +- (flags (:standard -w A-3-4-32-34-37-39-40-41-42-44-45-48-49-50-57-60-66-67)) +- (ocamlopt_flags (-O3)))) ++ (flags ++ (:standard -w A-3-4-32-34-37-39-40-41-42-44-45-48-49-50-57-60-66-67)) ++ (ocamlopt_flags (-O3)))) +diff --git a/lib/app/configuration/command_configuration.ml b/lib/app/configuration/command_configuration.ml +index eed8420..aea4dfa 100644 +--- a/lib/app/configuration/command_configuration.ml ++++ b/lib/app/configuration/command_configuration.ml +@@ -16,21 +16,21 @@ type 'a next = + + let fold_directory ?(sorted=false) root ~init ~f = + let rec aux acc absolute_path depth = +- if Sys.is_file absolute_path = `Yes then ++ if Sys_unix.is_file absolute_path = `Yes then + match f acc ~depth ~absolute_path ~is_file:true with + | Continue acc + | Skip acc -> acc +- else if Sys.is_directory absolute_path = `Yes then ++ else if Sys_unix.is_directory absolute_path = `Yes then + match f acc ~depth ~absolute_path ~is_file:false with + | Skip acc -> acc + | Continue acc -> + let dir_contents = + if Option.is_some (Sys.getenv "COMBY_TEST") || sorted then +- Sys.ls_dir absolute_path ++ Sys_unix.ls_dir absolute_path + |> List.sort ~compare:String.compare + |> List.rev + else +- Sys.ls_dir absolute_path ++ Sys_unix.ls_dir absolute_path + in + List.fold dir_contents ~init:acc ~f:(fun acc subdir -> + aux acc (Filename.concat absolute_path subdir) (depth + 1)) +@@ -50,8 +50,8 @@ let parse_source_directories + let exact_file_paths, file_patterns = + List.partition_map file_filters ~f:(fun path -> + let is_exact path = +- (String.contains path '/' && Sys.is_file path = `Yes) +- || (Sys.is_file ("." ^/ path) = `Yes) (* See if it matches something in the current directory *) ++ (String.contains path '/' && Sys_unix.is_file path = `Yes) ++ || (Sys_unix.is_file ("." ^/ path) = `Yes) (* See if it matches something in the current directory *) + in + if is_exact path then Either.First path else Either.Second path) + in +@@ -167,8 +167,8 @@ let parse_templates ?metasyntax ?(warn_for_missing_file_in_dir = false) paths = + let f acc ~depth:_ ~absolute_path ~is_file = + let is_leaf_directory absolute_path = + not is_file && +- Sys.ls_dir absolute_path +- |> List.for_all ~f:(fun path -> Sys.is_directory (absolute_path ^/ path) = `No) ++ Sys_unix.ls_dir absolute_path ++ |> List.for_all ~f:(fun path -> Sys_unix.is_directory (absolute_path ^/ path) = `No) + in + if is_leaf_directory absolute_path then + match parse_directory absolute_path with +@@ -178,7 +178,7 @@ let parse_templates ?metasyntax ?(warn_for_missing_file_in_dir = false) paths = + Continue acc + in + List.concat_map paths ~f:(fun path -> +- if Sys.is_directory path = `Yes then ++ if Sys_unix.is_directory path = `Yes then + fold_directory path ~sorted:true ~init:[] ~f + else + parse_toml ?metasyntax path) +@@ -421,7 +421,7 @@ let parse_metasyntax metasyntax_path = + match metasyntax_path with + | None -> Matchers.Metasyntax.default_metasyntax + | Some metasyntax_path -> +- match Sys.file_exists metasyntax_path with ++ match Sys_unix.file_exists metasyntax_path with + | `No | `Unknown -> + Format.eprintf "Could not open file: %s@." metasyntax_path; + exit 1 +@@ -470,12 +470,12 @@ let emit_errors { input_options; output_options; _ } = + ; Option.is_some input_options.directory_depth + && Option.value_exn (input_options.directory_depth) < 0 + , "-depth must be 0 or greater." +- ; Sys.is_directory input_options.target_directory = `No ++ ; Sys_unix.is_directory input_options.target_directory = `No + , "Directory specified with -d or -directory is not a directory." + ; output_options.json_only_diff && not output_options.json_lines + , "-json-only-diff can only be supplied with -json-lines." + ; Option.is_some output_options.interactive_review && +- (not (String.equal input_options.target_directory (Sys.getcwd ()))) ++ (not (String.equal input_options.target_directory (Sys_unix.getcwd ()))) + , "Please remove the -d option and `cd` to the directory where you want to \ + review from. The -review, -editor, or -default-no options should only be run \ + at the root directory of the project files to patch." +@@ -483,11 +483,11 @@ let emit_errors { input_options; output_options; _ } = + match input_options.templates with + | Some inputs -> + List.find_map inputs ~f:(fun input -> +- if Sys.is_file input = `Yes then ++ if Sys_unix.is_file input = `Yes then + (match Toml.Parser.from_filename input with + | `Error (s, _) -> Some s + | _ -> None) +- else if not (Sys.is_directory input = `Yes) then ++ else if not (Sys_unix.is_directory input = `Yes) then + Some (Format.sprintf "Directory %S specified with -templates is not a directory." input) + else + None) +@@ -599,7 +599,7 @@ let filter_zip_entries file_filters exclude_directory_prefix exclude_file_prefix + + let syntax custom_matcher_path = + match +- Sys.file_exists custom_matcher_path with ++ Sys_unix.file_exists custom_matcher_path with + | `No | `Unknown -> + Format.eprintf "Could not open file: %s@." custom_matcher_path; + exit 1 +@@ -783,7 +783,7 @@ let create + | Directory -> + let target_directory = + if target_directory = "." then +- Filename.realpath target_directory ++ Filename_unix.realpath target_directory + else + target_directory + in +diff --git a/lib/app/configuration/dune b/lib/app/configuration/dune +index e0f9748..e417cfe 100644 +--- a/lib/app/configuration/dune ++++ b/lib/app/configuration/dune +@@ -1,6 +1,21 @@ + (library +- (name configuration) +- (public_name comby.configuration) +- (instrumentation (backend bisect_ppx)) +- (preprocess (pps ppx_deriving.show ppx_sexp_conv ppx_sexp_message ppx_deriving_yojson)) +- (libraries comby-kernel comby-semantic comby.patdiff comby.camlzip core yojson ppx_deriving_yojson toml lwt lwt.unix tar tar-unix)) ++ (name configuration) ++ (public_name comby.configuration) ++ (instrumentation ++ (backend bisect_ppx)) ++ (preprocess ++ (pps ppx_deriving.show ppx_sexp_conv ppx_sexp_message ppx_deriving_yojson)) ++ (libraries ++ comby-kernel ++ comby-semantic ++ comby.patdiff ++ comby.camlzip ++ core ++ core_unix.sys_unix ++ yojson ++ ppx_deriving_yojson ++ toml ++ lwt ++ lwt.unix ++ tar ++ tar-unix)) +diff --git a/lib/app/configuration/external_semantic.ml b/lib/app/configuration/external_semantic.ml +index bdc7051..ac69b1b 100644 +--- a/lib/app/configuration/external_semantic.ml ++++ b/lib/app/configuration/external_semantic.ml +@@ -2,13 +2,10 @@ open Core_kernel + + open Comby_semantic + +-let debug = +- match Sys.getenv "DEBUG_COMBY" with +- | exception Not_found -> false +- | _ -> true ++let debug = Sys.getenv "DEBUG_COMBY" |> Option.is_some + + let lsif_hover ~name:_ ~filepath ~line ~column = +- String.chop_prefix_if_exists filepath ~prefix:(Sys.getcwd ()) |> fun filepath_relative_root -> ++ String.chop_prefix_if_exists filepath ~prefix:(Sys_unix.getcwd ()) |> fun filepath_relative_root -> + if debug then Format.printf "File relative root: %s@." filepath; + if debug then Format.printf "Querying type at %d::%d@." line column; + let context = +diff --git a/lib/app/dune b/lib/app/dune +index 2ed553c..a91f826 100644 +--- a/lib/app/dune ++++ b/lib/app/dune +@@ -1,9 +1,8 @@ + (library +- (name comby) +- (public_name comby) +- (instrumentation (backend bisect_ppx)) +- (preprocess (pps ppx_deriving.show ppx_deriving.eq ppx_sexp_conv)) +- (libraries +- core +- comby-kernel +- comby.pipeline)) ++ (name comby) ++ (public_name comby) ++ (instrumentation ++ (backend bisect_ppx)) ++ (preprocess ++ (pps ppx_deriving.show ppx_deriving.eq ppx_sexp_conv)) ++ (libraries core comby-kernel comby.pipeline)) +diff --git a/lib/app/interactive/dune b/lib/app/interactive/dune +index 815aff5..63c1757 100644 +--- a/lib/app/interactive/dune ++++ b/lib/app/interactive/dune +@@ -1,5 +1,12 @@ + (library +- (name interactive) +- (public_name comby.interactive) +- (preprocess (pps ppx_sexp_conv)) +- (libraries comby-kernel comby.configuration core shell.filename_extended lwt lwt.unix)) ++ (name interactive) ++ (public_name comby.interactive) ++ (preprocess ++ (pps ppx_sexp_conv)) ++ (libraries ++ comby-kernel ++ comby.configuration ++ core ++ shell.filename_extended ++ lwt ++ lwt.unix)) +diff --git a/lib/app/interactive/interactive.ml b/lib/app/interactive/interactive.ml +index d4bf200..b27105a 100644 +--- a/lib/app/interactive/interactive.ml ++++ b/lib/app/interactive/interactive.ml +@@ -1,5 +1,6 @@ + open Core + open Lwt ++module Unix = Core_unix + + open Configuration + +@@ -37,6 +38,7 @@ module Diff = struct + ~big_enough:line_big_enough + ~prev + ~next ++ () + | Some prog -> + let compare x y = + let cmd = sprintf "%s %S %S" prog x y in +@@ -52,7 +54,7 @@ module Diff = struct + let compare = compare + end) + in +- P.get_hunks ~transform ~context ~big_enough:line_big_enough ~prev ~next ++ P.get_hunks ~transform ~context ~big_enough:line_big_enough ~prev ~next () + in + match float_tolerance with + | None -> hunks +diff --git a/lib/app/pipeline/dune b/lib/app/pipeline/dune +index 3369b9e..e6ec880 100644 +--- a/lib/app/pipeline/dune ++++ b/lib/app/pipeline/dune +@@ -1,11 +1,23 @@ + (library +- (name pipeline) +- (public_name comby.pipeline) +- (instrumentation (backend bisect_ppx)) +- (preprocess (pps ppx_sexp_conv ppx_deriving_yojson)) +- (libraries comby-kernel comby.statistics comby.configuration comby.interactive comby.camlzip core core.uuid yojson ppx_deriving_yojson parany +- (select parallel_hack.ml from +- (hack_parallel -> parallel_hack.available.ml) +- (!hack_parallel -> parallel_hack.parany_fallback.ml)) +- )) +- ++ (name pipeline) ++ (public_name comby.pipeline) ++ (instrumentation ++ (backend bisect_ppx)) ++ (preprocess ++ (pps ppx_sexp_conv ppx_deriving_yojson)) ++ (libraries ++ comby-kernel ++ comby.statistics ++ comby.configuration ++ comby.interactive ++ comby.camlzip ++ core ++ core_unix.uuid ++ yojson ++ ppx_deriving_yojson ++ parany ++ (select ++ parallel_hack.ml ++ from ++ (hack_parallel -> parallel_hack.available.ml) ++ (!hack_parallel -> parallel_hack.parany_fallback.ml)))) +diff --git a/lib/app/pipeline/parallel_hack.available.ml b/lib/app/pipeline/parallel_hack.available.ml +index a901eea..ad33070 100644 +--- a/lib/app/pipeline/parallel_hack.available.ml ++++ b/lib/app/pipeline/parallel_hack.available.ml +@@ -1,4 +1,5 @@ + open Core ++module Unix = Core_unix + + open Hack_parallel + +diff --git a/lib/app/statistics/dune b/lib/app/statistics/dune +index b14d5b1..12aff7f 100644 +--- a/lib/app/statistics/dune ++++ b/lib/app/statistics/dune +@@ -1,6 +1,8 @@ + (library +- (name statistics) +- (public_name comby.statistics) +- (instrumentation (backend bisect_ppx)) +- (preprocess (pps ppx_deriving_yojson)) +- (libraries yojson ppx_deriving_yojson ppx_deriving_yojson.runtime)) ++ (name statistics) ++ (public_name comby.statistics) ++ (instrumentation ++ (backend bisect_ppx)) ++ (preprocess ++ (pps ppx_deriving_yojson)) ++ (libraries yojson ppx_deriving_yojson ppx_deriving_yojson.runtime)) +diff --git a/lib/app/vendored/camlzip/dune b/lib/app/vendored/camlzip/dune +index 56ea8ff..1c67be1 100644 +--- a/lib/app/vendored/camlzip/dune ++++ b/lib/app/vendored/camlzip/dune +@@ -7,7 +7,9 @@ + ; as long as the unix parts are not needed, but I want it to + ; compile executables for tests + (libraries unix) +- (foreign_stubs (language c) (names zlibstubs)) ++ (foreign_stubs ++ (language c) ++ (names zlibstubs)) + (c_library_flags + (:include c_flags.sexp) + (:include c_library_flags.sexp))) +@@ -21,7 +23,9 @@ + + (env + (dev +- (flags (:standard -w A-3-4-27-29-32-34-35-39-40-41-42-44-45-48-49-50-57-60))) ++ (flags ++ (:standard -w A-3-4-27-29-32-34-35-39-40-41-42-44-45-48-49-50-57-60))) + (release +- (flags (:standard -w A-3-4-27-29-32-34-35-39-40-41-42-44-45-48-49-50-57-60)) +- (ocamlopt_flags (-O3)))) ++ (flags ++ (:standard -w A-3-4-27-29-32-34-35-39-40-41-42-44-45-48-49-50-57-60)) ++ (ocamlopt_flags (-O3)))) +diff --git a/lib/app/vendored/patdiff/kernel/src/dune b/lib/app/vendored/patdiff/kernel/src/dune +index 7a6353d..b79cba2 100644 +--- a/lib/app/vendored/patdiff/kernel/src/dune ++++ b/lib/app/vendored/patdiff/kernel/src/dune +@@ -1,3 +1,6 @@ +-(library (name patdiff_kernel) (public_name comby.patdiff_kernel) ++(library ++ (name patdiff_kernel) ++ (public_name comby.patdiff_kernel) + (libraries core_kernel.composition_infix core_kernel patience_diff re) +- (preprocess (pps ppx_jane))) ++ (preprocess ++ (pps ppx_jane))) +diff --git a/lib/app/vendored/patdiff/kernel/src/patdiff_core.ml b/lib/app/vendored/patdiff/kernel/src/patdiff_core.ml +index 4f53a0b..88ee0e3 100644 +--- a/lib/app/vendored/patdiff/kernel/src/patdiff_core.ml ++++ b/lib/app/vendored/patdiff/kernel/src/patdiff_core.ml +@@ -138,6 +138,7 @@ module Make (Output_impls : Output_impls) = struct + ~big_enough:line_big_enough + ~prev + ~next ++ () + ;; + + type word_or_newline = +@@ -345,6 +346,7 @@ module Make (Output_impls : Output_impls) = struct + ~big_enough:word_big_enough + ~prev:prev_pieces + ~next:next_pieces ++ () + ;; + + let ranges_are_just_whitespace (ranges : _ Patience_diff.Range.t list) = +diff --git a/lib/app/vendored/patdiff/lib/src/compare_core.ml b/lib/app/vendored/patdiff/lib/src/compare_core.ml +index fafb201..8b40d09 100644 +--- a/lib/app/vendored/patdiff/lib/src/compare_core.ml ++++ b/lib/app/vendored/patdiff/lib/src/compare_core.ml +@@ -1,5 +1,6 @@ + open! Core + open! Import ++module Unix = Core_unix + + let lines_of_contents contents = + let lines = Array.of_list (String.split_lines contents) in +@@ -100,6 +101,7 @@ let compare_lines (config : Configuration.t) ?prev_diff ?next_diff ~prev ~next ( + ~big_enough:line_big_enough + ~prev + ~next ++ () + | Some prog -> + let compare x y = + let cmd = sprintf "%s %S %S" prog x y in +@@ -116,7 +118,7 @@ let compare_lines (config : Configuration.t) ?prev_diff ?next_diff ~prev ~next ( + let compare = compare + end) + in +- P.get_hunks ~transform ~context ~big_enough:line_big_enough ~prev ~next ++ P.get_hunks ~transform ~context ~big_enough:line_big_enough ~prev ~next () + in + let hunks = + match config.float_tolerance with +@@ -361,7 +363,7 @@ let rec diff_dirs_internal (config : Configuration.t) ~prev_dir ~next_dir ~file_ + | None -> Fn.const true + | Some file_filter -> file_filter + in +- Sys.ls_dir (File_name.real_name_exn dir) ++ Sys_unix.ls_dir (File_name.real_name_exn dir) + |> List.filter ~f:(fun x -> + let x = File_name.real_name_exn dir ^/ x in + match Unix.stat x with +diff --git a/lib/app/vendored/patdiff/lib/src/compare_core.mli b/lib/app/vendored/patdiff/lib/src/compare_core.mli +index e919512..caa8dcb 100644 +--- a/lib/app/vendored/patdiff/lib/src/compare_core.mli ++++ b/lib/app/vendored/patdiff/lib/src/compare_core.mli +@@ -1,5 +1,6 @@ + open! Core + open! Import ++module Unix = Core_unix + + val diff_files + : Configuration.t +diff --git a/lib/app/vendored/patdiff/lib/src/configuration.ml b/lib/app/vendored/patdiff/lib/src/configuration.ml +index 6879daa..7d59706 100644 +--- a/lib/app/vendored/patdiff/lib/src/configuration.ml ++++ b/lib/app/vendored/patdiff/lib/src/configuration.ml +@@ -481,7 +481,7 @@ let rec load_exn' ~set config_file = + | Error _another_exn -> raise exn + | Ok c -> + (let new_file = config_file ^ ".new" in +- match Sys.file_exists new_file with ++ match Sys_unix.file_exists new_file with + | `Yes | `Unknown -> () + | `No -> + (try Sexp.save_hum new_file (On_disk.V1.sexp_of_t c) with +@@ -564,7 +564,7 @@ let get_config ?filename () = + (* ~/.patdiff exists *) + Option.bind (Sys.getenv "HOME") ~f:(fun home -> + let f = home ^/ ".patdiff" in +- match Sys.file_exists f with ++ match Sys_unix.file_exists f with + | `Yes -> Some f + | `No | `Unknown -> None) + in +diff --git a/lib/app/vendored/patdiff/lib/src/dune b/lib/app/vendored/patdiff/lib/src/dune +index 007acad..b6a0f80 100644 +--- a/lib/app/vendored/patdiff/lib/src/dune ++++ b/lib/app/vendored/patdiff/lib/src/dune +@@ -1,4 +1,13 @@ +-(library (name patdiff) (public_name comby.patdiff) +- (libraries core_kernel.composition_infix core core.linux_ext comby.patdiff_kernel ++(library ++ (name patdiff) ++ (public_name comby.patdiff) ++ (libraries ++ core_kernel.composition_infix ++ core ++ core_unix ++ core_unix.linux_ext ++ core_unix.sys_unix ++ comby.patdiff_kernel + patience_diff) +- (preprocess (pps ppx_jane))) ++ (preprocess ++ (pps ppx_jane))) +diff --git a/lib/app/vendored/patdiff/lib/src/html_output.ml b/lib/app/vendored/patdiff/lib/src/html_output.ml +index 3d08f91..93ae8af 100644 +--- a/lib/app/vendored/patdiff/lib/src/html_output.ml ++++ b/lib/app/vendored/patdiff/lib/src/html_output.ml +@@ -1,5 +1,6 @@ + open! Core + open! Import ++module Unix = Core_unix + + include Patdiff_kernel.Html_output.Private.Make (struct + let mtime file = +diff --git a/lib/kernel/dune b/lib/kernel/dune +index 0961dad..07a929b 100644 +--- a/lib/kernel/dune ++++ b/lib/kernel/dune +@@ -1,10 +1,12 @@ + (library +- (name comby_kernel) +- (public_name comby-kernel) +- (instrumentation (backend bisect_ppx)) +- (preprocess (pps ppx_deriving.show ppx_deriving.eq ppx_sexp_conv)) +- (libraries +- core_kernel +- comby-kernel.match +- comby-kernel.matchers +- comby-kernel.replacement)) ++ (name comby_kernel) ++ (public_name comby-kernel) ++ (instrumentation ++ (backend bisect_ppx)) ++ (preprocess ++ (pps ppx_deriving.show ppx_deriving.eq ppx_sexp_conv)) ++ (libraries ++ core_kernel ++ comby-kernel.match ++ comby-kernel.matchers ++ comby-kernel.replacement)) +diff --git a/lib/kernel/match/dune b/lib/kernel/match/dune +index 03b120a..4d48b61 100644 +--- a/lib/kernel/match/dune ++++ b/lib/kernel/match/dune +@@ -1,6 +1,12 @@ + (library +- (name match) +- (public_name comby-kernel.match) +- (instrumentation (backend bisect_ppx)) +- (preprocess (pps ppx_deriving.eq ppx_sexp_conv ppx_deriving_yojson)) +- (libraries core_kernel yojson ppx_deriving_yojson ppx_deriving_yojson.runtime)) ++ (name match) ++ (public_name comby-kernel.match) ++ (instrumentation ++ (backend bisect_ppx)) ++ (preprocess ++ (pps ppx_deriving.eq ppx_sexp_conv ppx_deriving_yojson)) ++ (libraries ++ core_kernel ++ yojson ++ ppx_deriving_yojson ++ ppx_deriving_yojson.runtime)) +diff --git a/lib/kernel/matchers/alpha.ml b/lib/kernel/matchers/alpha.ml +index e31094d..01adb52 100644 +--- a/lib/kernel/matchers/alpha.ml ++++ b/lib/kernel/matchers/alpha.ml +@@ -13,20 +13,11 @@ module R = MakeRegexp(Regexp) + let configuration_ref = ref (Configuration.create ()) + let weaken_delimiter_hole_matching = false + +-let debug = +- match Sys.getenv "DEBUG_COMBY" with +- | exception Not_found -> false +- | _ -> true ++let debug = Sys.getenv "DEBUG_COMBY" |> Option.is_some + +-let debug_hole = +- match Sys.getenv "DEBUG_COMBY_HOLE" with +- | exception Not_found -> false +- | _ -> true ++let debug_hole = Sys.getenv "DEBUG_COMBY_HOLE" |> Option.is_some + +-let debug_position = +- match Sys.getenv "DEBUG_COMBY_POS" with +- | exception Not_found -> false +- | _ -> true ++let debug_position = Sys.getenv "DEBUG_COMBY_POS" |> Option.is_some + + let f _ = return Types.Unit + +@@ -147,7 +138,7 @@ module Make (Lang : Types.Language.S) (Meta : Types.Metasyntax.S) (Ext : Types.E + ] + >>= fun _ -> f Types.Unit + +- let sequence_chain (plist : ('c, Match.t) parser sexp_list) : ('c, Match.t) parser = ++ let sequence_chain (plist : ('c, Match.t) parser list) : ('c, Match.t) parser = + List.fold plist ~init:(return Types.Unit) ~f:(>>) + + let with_debug_matcher s tag = +diff --git a/lib/kernel/matchers/dune b/lib/kernel/matchers/dune +index 12ed326..4625458 100644 +--- a/lib/kernel/matchers/dune ++++ b/lib/kernel/matchers/dune +@@ -1,6 +1,18 @@ + (library +- (name matchers) +- (public_name comby-kernel.matchers) +- (instrumentation (backend bisect_ppx)) +- (preprocess (pps ppx_here ppx_sexp_conv ppx_sexp_message ppx_deriving_yojson)) +- (libraries comby-kernel.replacement comby-kernel.parsers comby-kernel.match comby-kernel.vangstrom core_kernel mparser mparser-pcre re yojson ppx_deriving_yojson)) ++ (name matchers) ++ (public_name comby-kernel.matchers) ++ (instrumentation ++ (backend bisect_ppx)) ++ (preprocess ++ (pps ppx_here ppx_sexp_conv ppx_sexp_message ppx_deriving_yojson)) ++ (libraries ++ comby-kernel.replacement ++ comby-kernel.parsers ++ comby-kernel.match ++ comby-kernel.vangstrom ++ core_kernel ++ mparser ++ mparser-pcre ++ re ++ yojson ++ ppx_deriving_yojson)) +diff --git a/lib/kernel/matchers/evaluate.ml b/lib/kernel/matchers/evaluate.ml +index 9ea71a0..288f79a 100644 +--- a/lib/kernel/matchers/evaluate.ml ++++ b/lib/kernel/matchers/evaluate.ml +@@ -3,10 +3,7 @@ open Core_kernel + open Match + open Types.Ast + +-let debug = +- match Sys.getenv "DEBUG_COMBY" with +- | exception Not_found -> false +- | _ -> true ++let debug = Sys.getenv "DEBUG_COMBY" |> Option.is_some + + type result = bool * Match.environment option + +diff --git a/lib/kernel/matchers/omega.ml b/lib/kernel/matchers/omega.ml +index eeec516..1eb3ccc 100644 +--- a/lib/kernel/matchers/omega.ml ++++ b/lib/kernel/matchers/omega.ml +@@ -32,15 +32,9 @@ let push_source_ref : string ref = ref "" + + let filepath_ref : string option ref = ref None + +-let debug = +- match Sys.getenv "DEBUG_COMBY" with +- | exception Not_found -> false +- | _ -> true ++let debug = Sys.getenv "DEBUG_COMBY" |> Option.is_some + +-let rewrite = +- match Sys.getenv "REWRITE" with +- | exception Not_found -> false +- | _ -> true ++let rewrite = Sys.getenv "REWRITE" |> Option.is_some + + let actual = Buffer.create 10 + +diff --git a/lib/kernel/matchers/preprocess.ml b/lib/kernel/matchers/preprocess.ml +index 84f3ed0..b6d10e7 100644 +--- a/lib/kernel/matchers/preprocess.ml ++++ b/lib/kernel/matchers/preprocess.ml +@@ -1,9 +1,6 @@ + open Core_kernel + +-let debug = +- match Sys.getenv "DEBUG_COMBY" with +- | exception Not_found -> false +- | _ -> true ++let debug = Sys.getenv "DEBUG_COMBY" |> Option.is_some + + let append_rule (module Parser : Types.Rule.S) rule parent_rule = + let open Option in +diff --git a/lib/kernel/matchers/regexp.ml b/lib/kernel/matchers/regexp.ml +index ef0bd59..906820b 100644 +--- a/lib/kernel/matchers/regexp.ml ++++ b/lib/kernel/matchers/regexp.ml +@@ -3,7 +3,7 @@ open Vangstrom + let debug = + match Sys.getenv "DEBUG_COMBY" with + | exception Not_found -> false +- | _ -> true ++ | (_ : string) -> true + + module type Regexp_engine_intf = sig + type t +diff --git a/lib/kernel/matchers/rewrite.ml b/lib/kernel/matchers/rewrite.ml +index 32c4740..2fc28db 100644 +--- a/lib/kernel/matchers/rewrite.ml ++++ b/lib/kernel/matchers/rewrite.ml +@@ -4,10 +4,7 @@ open Core_kernel + open Match + open Replacement + +-let debug = +- match Sys.getenv "DEBUG_COMBY" with +- | exception Not_found -> false +- | _ -> true ++let debug = Sys.getenv "DEBUG_COMBY" |> Option.is_some + + let counter = + let uuid_for_id_counter = ref 0 in +diff --git a/lib/kernel/matchers/template.ml b/lib/kernel/matchers/template.ml +index 423a07f..136236c 100644 +--- a/lib/kernel/matchers/template.ml ++++ b/lib/kernel/matchers/template.ml +@@ -4,10 +4,7 @@ open Core_kernel + open Match + open Types.Template + +-let debug = +- match Sys.getenv "DEBUG_COMBY" with +- | exception Not_found -> false +- | _ -> true ++let debug = Sys.getenv "DEBUG_COMBY" |> Option.is_some + + module Make (Metasyntax : Types.Metasyntax.S) (External : Types.External.S) : Types.Template.S = struct + +diff --git a/lib/kernel/parsers/dune b/lib/kernel/parsers/dune +index 28b020c..0cc1fa5 100644 +--- a/lib/kernel/parsers/dune ++++ b/lib/kernel/parsers/dune +@@ -1,6 +1,8 @@ + (library +- (name parsers) +- (public_name comby-kernel.parsers) +- (instrumentation (backend bisect_ppx)) +- (preprocess (pps ppx_sexp_conv)) +- (libraries core_kernel comby-kernel.vangstrom mparser)) ++ (name parsers) ++ (public_name comby-kernel.parsers) ++ (instrumentation ++ (backend bisect_ppx)) ++ (preprocess ++ (pps ppx_sexp_conv)) ++ (libraries core_kernel comby-kernel.vangstrom mparser)) +diff --git a/lib/kernel/replacement/dune b/lib/kernel/replacement/dune +index 3e62de6..485b716 100644 +--- a/lib/kernel/replacement/dune ++++ b/lib/kernel/replacement/dune +@@ -1,6 +1,13 @@ + (library +- (name replacement) +- (public_name comby-kernel.replacement) +- (instrumentation (backend bisect_ppx)) +- (preprocess (pps ppx_deriving_yojson)) +- (libraries comby-kernel.match core_kernel yojson ppx_deriving_yojson ppx_deriving_yojson.runtime)) ++ (name replacement) ++ (public_name comby-kernel.replacement) ++ (instrumentation ++ (backend bisect_ppx)) ++ (preprocess ++ (pps ppx_deriving_yojson)) ++ (libraries ++ comby-kernel.match ++ core_kernel ++ yojson ++ ppx_deriving_yojson ++ ppx_deriving_yojson.runtime)) +diff --git a/lib/semantic/dune b/lib/semantic/dune +index 9a244d3..186a2ed 100644 +--- a/lib/semantic/dune ++++ b/lib/semantic/dune +@@ -1,11 +1,8 @@ + (library +- (name comby_semantic) +- (public_name comby-semantic) +- (instrumentation (backend bisect_ppx)) +- (preprocess (pps ppx_deriving.show ppx_deriving.eq ppx_sexp_conv)) +- (libraries +- core_kernel +- lwt +- cohttp +- cohttp-lwt-unix +- yojson)) ++ (name comby_semantic) ++ (public_name comby-semantic) ++ (instrumentation ++ (backend bisect_ppx)) ++ (preprocess ++ (pps ppx_deriving.show ppx_deriving.eq ppx_sexp_conv)) ++ (libraries core_kernel lwt cohttp cohttp-lwt-unix yojson)) +diff --git a/lib/semantic/lsif.ml b/lib/semantic/lsif.ml +index 49747bc..d6b3e19 100644 +--- a/lib/semantic/lsif.ml ++++ b/lib/semantic/lsif.ml +@@ -3,10 +3,7 @@ open Lwt + open Cohttp + open Cohttp_lwt_unix + +-let debug = +- match Sys.getenv "DEBUG_COMBY" with +- | exception Not_found -> false +- | _ -> true ++let debug = Sys.getenv "DEBUG_COMBY" |> Option.is_some + + module Formatting = struct + type t = +diff --git a/src/dune b/src/dune +index 444a5a3..f006195 100644 +--- a/src/dune ++++ b/src/dune +@@ -1,10 +1,17 @@ + (executables +- (libraries comby core ppx_deriving_yojson ppx_deriving_yojson.runtime +- (select if_hack_parallel.ml from +- (hack_parallel -> if_hack_parallel.available.ml) +- (!hack_parallel -> if_hack_parallel.unavailable.ml)) +- ) +- (preprocess (pps ppx_deriving_yojson ppx_let ppx_deriving.show ppx_sexp_conv)) ++ (libraries ++ comby ++ core ++ core_unix.command_unix ++ ppx_deriving_yojson ++ ppx_deriving_yojson.runtime ++ (select ++ if_hack_parallel.ml ++ from ++ (hack_parallel -> if_hack_parallel.available.ml) ++ (!hack_parallel -> if_hack_parallel.unavailable.ml))) ++ (preprocess ++ (pps ppx_deriving_yojson ppx_let ppx_deriving.show ppx_sexp_conv)) + (modules main if_hack_parallel) + (modes byte exe) + (names main)) +@@ -20,4 +27,5 @@ + (install + (package comby) + (section bin) +- (files (main.exe as comby))) ++ (files ++ (main.exe as comby))) +diff --git a/src/main.ml b/src/main.ml +index 5cad346..48784d1 100644 +--- a/src/main.ml ++++ b/src/main.ml +@@ -1,4 +1,5 @@ + open Core ++module Unix = Core_unix + open Command.Let_syntax + + open Comby_kernel +@@ -47,7 +48,7 @@ let substitute_environment_only_and_exit metasyntax_path anonymous_arguments jso + match metasyntax_path with + | None -> Matchers.Metasyntax.default_metasyntax + | Some metasyntax_path -> +- match Sys.file_exists metasyntax_path with ++ match Sys_unix.file_exists metasyntax_path with + | `No | `Unknown -> + Format.eprintf "Could not open file: %s@." metasyntax_path; + exit 1 +@@ -95,7 +96,7 @@ let base_command_parameters : (unit -> 'result) Command.Param.t = + and verbose = flag "verbose" no_arg ~doc:(Format.sprintf "Log to %s" verbose_out_file) + and rule = flag "rule" (optional_with_default "where true" string) ~doc:"rule Apply rules to matches." + and match_timeout = flag "timeout" (optional_with_default 3 int) ~doc:"seconds Set match timeout on a source. Default: 3 seconds" +- and target_directory = flag "directory" ~aliases:["d"] (optional_with_default (Sys.getcwd ()) string) ~doc:(Format.sprintf "path Run recursively on files in a directory relative to the root. Default is current directory: %s" @@ Sys.getcwd ()) ++ and target_directory = flag "directory" ~aliases:["d"] (optional_with_default (Sys_unix.getcwd ()) string) ~doc:(Format.sprintf "path Run recursively on files in a directory relative to the root. Default is current directory: %s" @@ Sys_unix.getcwd ()) + and directory_depth = flag "depth" (optional int) ~doc:"n Depth to recursively descend into directories" + and templates = flag "templates" ~aliases:["config"; "configuration"] (optional (Arg_type.comma_separated string)) ~doc:"paths CSV of directories containing templates, or TOML configuration files" + and file_filters = flag "extensions" ~aliases:["e"; "file-extensions"; "f"] (optional (Arg_type.comma_separated string)) ~doc:"extensions Comma-separated extensions to include, like \".go\" or \".c,.h\". It is just a file suffix, so you can use it to filter file names like \"main.go\". The extension will be used to infer a matcher, unless -custom-matcher or -matcher is specified" +@@ -146,7 +147,7 @@ let base_command_parameters : (unit -> 'result) Command.Param.t = + | l -> + List.map l ~f:(fun pattern -> + if String.contains pattern '/' then +- match Filename.realpath pattern with ++ match Filename_unix.realpath pattern with + | exception Unix.Unix_error _ -> + Format.eprintf + "No such file or directory: %s. Comby interprets \ +@@ -203,7 +204,7 @@ let base_command_parameters : (unit -> 'result) Command.Param.t = + let omega = omega || omega_env in + let fast_offset_conversion_env = Option.is_some @@ Sys.getenv "FAST_OFFSET_CONVERSION_COMBY" in + let fast_offset_conversion = fast_offset_conversion_env || fast_offset_conversion in +- let arch = Unix.Utsname.machine (Core.Unix.uname ()) in ++ let arch = Unix.Utsname.machine (Unix.uname ()) in + let compute_mode = match sequential, parany, arch with + | true, _, _ -> `Sequential + | _, true, _ +@@ -301,7 +302,7 @@ let parse_comby_dot_file () = + + let () = + If_hack_parallel.check_entry_point (); +- Command.run default_command ~version:"1.7.1" ~extend:(fun _ -> +- match Sys.file_exists ".comby" with ++ Command_unix.run default_command ~version:"1.7.1" ~extend:(fun _ -> ++ match Sys_unix.file_exists ".comby" with + | `Yes -> parse_comby_dot_file () + | _ -> []) +diff --git a/test/alpha/dune b/test/alpha/dune +index d7e5532..020677c 100644 +--- a/test/alpha/dune ++++ b/test/alpha/dune +@@ -1,17 +1,14 @@ + (library + (name alpha_test_integration) + (package comby) +- (modules +- test_special_matcher_cases +- test_substring_disabled) ++ (modules test_special_matcher_cases test_substring_disabled) + (inline_tests) +- (preprocess (pps ppx_expect ppx_sexp_message ppx_deriving_yojson)) +- (libraries +- comby +- cohttp-lwt-unix +- core +- camlzip)) ++ (preprocess ++ (pps ppx_expect ppx_sexp_message ppx_deriving_yojson)) ++ (libraries comby cohttp-lwt-unix core camlzip)) + + (alias +-(name runtest) +-(deps (source_tree example) (source_tree example/src/.ignore-me))) ++ (name runtest) ++ (deps ++ (source_tree example) ++ (source_tree example/src/.ignore-me))) +diff --git a/test/common/dune b/test/common/dune +index aa83b0c..3793242 100644 +--- a/test/common/dune ++++ b/test/common/dune +@@ -34,16 +34,14 @@ + test_regex_holes + test_template_constraints + test_custom_metasyntax +- test_rewrite_attributes +- ) ++ test_rewrite_attributes) + (inline_tests) +- (preprocess (pps ppx_expect ppx_sexp_message ppx_deriving_yojson)) +- (libraries +- comby +- cohttp-lwt-unix +- core +- camlzip)) ++ (preprocess ++ (pps ppx_expect ppx_sexp_message ppx_deriving_yojson)) ++ (libraries comby cohttp-lwt-unix core camlzip)) + + (alias +-(name runtest) +-(deps (source_tree example) (source_tree example/src/.ignore-me))) ++ (name runtest) ++ (deps ++ (source_tree example) ++ (source_tree example/src/.ignore-me))) +diff --git a/test/common/test_cli.ml b/test/common/test_cli.ml +index 3606367..d5d0c0b 100644 +--- a/test/common/test_cli.ml ++++ b/test/common/test_cli.ml +@@ -1,7 +1,10 @@ + open Core + open Camlzip + ++module Filename = Filename_unix ++module Sys = Sys_unix + module Time = Core_kernel.Time_ns.Span ++module Unix = Core_unix + + let binary_path = "../../../../comby" + +diff --git a/test/common/test_cli_helper.ml b/test/common/test_cli_helper.ml +index 5791ee6..18372ae 100644 +--- a/test/common/test_cli_helper.ml ++++ b/test/common/test_cli_helper.ml +@@ -1,6 +1,7 @@ + open Core + + module Time = Core_kernel.Time_ns.Span ++module Unix = Core_unix + + let binary_path = "../../../../comby" + +diff --git a/test/omega/dune b/test/omega/dune +index 3b31a7e..bf68dcb 100644 +--- a/test/omega/dune ++++ b/test/omega/dune +@@ -2,20 +2,19 @@ + (name omega_test_integration) + (package comby) + (modules +-; +-; TODO +-; ++ ; ++ ; TODO ++ ; + test_optional_holes + test_special_matcher_cases + test_substring_disabled) + (inline_tests) +- (preprocess (pps ppx_expect ppx_sexp_message ppx_deriving_yojson)) +- (libraries +- comby +- cohttp-lwt-unix +- core +- camlzip)) ++ (preprocess ++ (pps ppx_expect ppx_sexp_message ppx_deriving_yojson)) ++ (libraries comby cohttp-lwt-unix core camlzip)) + + (alias +-(name runtest) +-(deps (source_tree example) (source_tree example/src/.ignore-me))) ++ (name runtest) ++ (deps ++ (source_tree example) ++ (source_tree example/src/.ignore-me))) diff --git a/pkgs/development/tools/comby/default.nix b/pkgs/development/tools/comby/default.nix index cd3251841ad1..34eb2696040d 100644 --- a/pkgs/development/tools/comby/default.nix +++ b/pkgs/development/tools/comby/default.nix @@ -26,6 +26,8 @@ let sha256 = "0k60hj8wcrvrk0isr210vnalylkd63ria1kgz5n49inl7w1hfwpv"; }; + patches = [ ./comby.patch ]; + nativeBuildInputs = [ ocamlPackages.ppx_deriving ocamlPackages.ppx_deriving_yojson @@ -35,6 +37,7 @@ let buildInputs = [ ocamlPackages.core + ocamlPackages.core_kernel ocamlPackages.ocaml_pcre ocamlPackages.mparser ocamlPackages.mparser-pcre diff --git a/pkgs/development/tools/dprint/default.nix b/pkgs/development/tools/dprint/default.nix index ae84a786de3f..63a6a6a39f38 100644 --- a/pkgs/development/tools/dprint/default.nix +++ b/pkgs/development/tools/dprint/default.nix @@ -2,14 +2,14 @@ rustPlatform.buildRustPackage rec { pname = "dprint"; - version = "0.29.1"; + version = "0.30.3"; src = fetchCrate { inherit pname version; - sha256 = "sha256-uLNZUIp8+fKr6l+vi8rqjXn9PrwAmpYnYuwtYjl2y+o="; + sha256 = "sha256-/lptdZEcnbBQL9hYj0xyI95fMT22tGy8zeQz+8VwMog="; }; - cargoSha256 = "sha256-bmbrnzUZfHvO5waMixZoD0DmWxVGtUXhIwZLLlHqPhs="; + cargoSha256 = "sha256-BJGOaZgY03CYC8fa0wnlDmc9SO72lrLmdafovFD3BBI="; buildInputs = lib.optionals stdenv.isDarwin [ Security ]; diff --git a/pkgs/development/tools/rust/rustup/default.nix b/pkgs/development/tools/rust/rustup/default.nix index 0a591cc8141e..65bad79aa8c3 100644 --- a/pkgs/development/tools/rust/rustup/default.nix +++ b/pkgs/development/tools/rust/rustup/default.nix @@ -61,7 +61,7 @@ rustPlatform.buildRustPackage rec { mv rustup-init rustup binlinks=( cargo rustc rustdoc rust-gdb rust-lldb rls rustfmt cargo-fmt - cargo-clippy clippy-driver cargo-miri + cargo-clippy clippy-driver cargo-miri rust-gdbgui ) for link in ''${binlinks[@]}; do ln -s rustup $link diff --git a/pkgs/development/tools/sshs/default.nix b/pkgs/development/tools/sshs/default.nix new file mode 100644 index 000000000000..76cd63876ad8 --- /dev/null +++ b/pkgs/development/tools/sshs/default.nix @@ -0,0 +1,32 @@ +{ lib +, buildGoModule +, fetchFromGitHub +, nix-update-script +}: + +buildGoModule rec { + pname = "sshs"; + version = "3.2.0"; + + src = fetchFromGitHub { + owner = "quantumsheep"; + repo = pname; + rev = version; + sha256 = "D9doNVb2sTnzM8tF8cSJbIoaIYjGurkUHEyhcE3OqQg="; + }; + + vendorSha256 = "QWFz85bOrTnPGum5atccB5hKeATlZvDAt32by+DO/Fo="; + + ldflags = [ "-s" "-w" "-X github.com/quantumsheep/sshs/cmd.Version=${version}" ]; + + passthru.updateScript = nix-update-script { + attrPath = pname; + }; + + meta = with lib; { + description = "Terminal user interface for SSH"; + homepage = "https://github.com/quantumsheep/sshs"; + license = licenses.mit; + maintainers = with maintainers; [ ihatethefrench ]; + }; +} diff --git a/pkgs/servers/endlessh-go/default.nix b/pkgs/servers/endlessh-go/default.nix index a1eb7b970eab..320d5c4137c0 100644 --- a/pkgs/servers/endlessh-go/default.nix +++ b/pkgs/servers/endlessh-go/default.nix @@ -5,22 +5,25 @@ buildGoModule rec { pname = "endlessh-go"; - version = "20220308.1"; + version = "20220710"; src = fetchFromGitHub { owner = "shizunge"; repo = "endlessh-go"; rev = version; - hash = "sha256-U+h/WmTVwwUIBEOiNa/EKS6HvkeoGNmP3NpeP1fcqYw="; + sha256 = "sha256-T8DLzHfITMLeHJtKuK4AjEzGGCIDJUPlqF2Lj56xPxY="; }; - vendorSha256 = "sha256-5a/V2OQGVRIJVl/YG+lvtbLeHCy/1eiZu69zKIFqRKM="; + vendorSha256 = "sha256-hMCjYAqsI6h9B8iGVYQcNbKU5icalOHavvPKwOmvf/w="; proxyVendor = true; + ldflags = [ "-s" "-w" ]; + meta = with lib; { description = "An implementation of endlessh exporting Prometheus metrics"; homepage = "https://github.com/shizunge/endlessh-go"; + changelog = "https://github.com/shizunge/endlessh-go/releases/tag/${version}"; license = licenses.gpl3Plus; maintainers = with maintainers; [ azahi ]; }; diff --git a/pkgs/servers/monitoring/prometheus/domain-exporter.nix b/pkgs/servers/monitoring/prometheus/domain-exporter.nix index 78c35d8cf16e..fc455b92ae89 100644 --- a/pkgs/servers/monitoring/prometheus/domain-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/domain-exporter.nix @@ -1,17 +1,25 @@ -{ lib, buildGoModule, fetchFromGitHub, nixosTests }: +{ lib, buildGoModule, fetchFromGitHub, fetchpatch, nixosTests }: buildGoModule rec { pname = "domain-exporter"; - version = "1.11.0"; + version = "1.17.1"; src = fetchFromGitHub { owner = "caarlos0"; repo = "domain_exporter"; rev = "v${version}"; - sha256 = "018y0xwdn2f2shhwaa0hqm4y8xsbqwif0733qb0377wpjbj4v137"; + hash = "sha256-18r+jUdVcv7hA9KdWkgvu2tNUIGf9f1uj2cwwMDnAs8="; }; - vendorSha256 = "0s1hs8byba9y57abg386n09wfg1wcqpzs164ap0km8ap2i96bdlb"; + patches = [ + (fetchpatch { + url = "https://github.com/caarlos0/domain_exporter/commit/32815b0956056c5c14313d0b860d1e9db754e545.patch"; + hash = "sha256-iEYnJ4BU+MWQd0BgKmRb8RNj/lH2V/Z9uwFS2muR4Go="; + name = "sg_domains.patch"; + }) + ]; + + vendorSha256 = "sha256-LHs2DSLNe+E3NUXZS7TV5M53ueUbCjjNM87UPRTaCpo="; doCheck = false; # needs internet connection @@ -21,6 +29,6 @@ buildGoModule rec { homepage = "https://github.com/caarlos0/domain_exporter"; description = "Exports the expiration time of your domains as prometheus metrics"; license = licenses.mit; - maintainers = with maintainers; [ mmilata prusnak ]; + maintainers = with maintainers; [ mmilata prusnak peterhoeg ]; }; } diff --git a/pkgs/servers/sql/postgresql/ext/age.nix b/pkgs/servers/sql/postgresql/ext/age.nix index 781a1c86be26..e1725f1da84d 100644 --- a/pkgs/servers/sql/postgresql/ext/age.nix +++ b/pkgs/servers/sql/postgresql/ext/age.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "age"; - version = "0.6.0"; + version = "1.0.0-rc1"; src = fetchFromGitHub { owner = "apache"; - repo = "incubator-age"; + repo = "age"; rev = "v${version}"; - sha256 = "1cl6p9qz2yhgm603ljlyjdn0msk3hzga1frjqsmqmpp3nw4dbkka"; + sha256 = "sha256-b5cBpS5xWaohRZf5H0DwzNq0BodqWDjkAP44osPVYps="; }; buildInputs = [ postgresql ]; @@ -54,10 +54,11 @@ stdenv.mkDerivation rec { }; meta = with lib; { - broken = true; + # Only supports PostgreSQL 11 https://github.com/apache/age/issues/225 + broken = versions.major postgresql.version != "11"; description = "A graph database extension for PostgreSQL"; homepage = "https://age.apache.org/"; - changelog = "https://github.com/apache/incubator-age/releases/tag/v${version}"; + changelog = "https://github.com/apache/age/raw/v${version}/RELEASE"; maintainers = with maintainers; [ ]; platforms = postgresql.meta.platforms; license = licenses.asl20; diff --git a/pkgs/servers/sql/postgresql/ext/pg_cron.nix b/pkgs/servers/sql/postgresql/ext/pg_cron.nix index 73d90ccdecb5..e437de887c78 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_cron.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_cron.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "pg_cron"; - version = "1.4.1"; + version = "1.4.2"; buildInputs = [ postgresql ]; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { owner = "citusdata"; repo = pname; rev = "v${version}"; - sha256 = "1fknr7z1m24dpp4hm5s6y5phdns7yvvj88cl481wjhw8bigz6kns"; + sha256 = "sha256-P0Fd10Q1p+KrExb35G6otHpc6pD61WnMll45H2jkevM="; }; installPhase = '' diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix index 060c95a8f767..f4c4b0facde1 100644 --- a/pkgs/tools/admin/gtk-vnc/default.nix +++ b/pkgs/tools/admin/gtk-vnc/default.nix @@ -23,13 +23,13 @@ stdenv.mkDerivation rec { pname = "gtk-vnc"; - version = "1.3.0"; + version = "1.3.1"; outputs = [ "out" "bin" "man" "dev" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "X6qlgjuMvowLC6HkVsTnDEsa5mhcn+gaQoLZjPAKIR0="; + sha256 = "USdjrE4FWdAVi2aCyl3Ro71jPwgvXkNJ1xWOa1+A8c4="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/misc/dua/default.nix b/pkgs/tools/misc/dua/default.nix index 526eb705e4cc..33504df8d4f7 100644 --- a/pkgs/tools/misc/dua/default.nix +++ b/pkgs/tools/misc/dua/default.nix @@ -2,7 +2,7 @@ rustPlatform.buildRustPackage rec { pname = "dua"; - version = "2.17.7"; + version = "2.17.8"; buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ]; @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec { owner = "Byron"; repo = "dua-cli"; rev = "v${version}"; - sha256 = "sha256-FiTjN4coOJZ3Uu9LfaJxcpvVKS+5MVYWQPmwllBh1Jg="; + sha256 = "sha256-zlXv5RY/JRDS2vzC/LhSumZX+OOeaFoOmLq5TaulGDY="; # Remove unicode file names which leads to different checksums on HFS+ # vs. other filesystems because of unicode normalisation. postFetch = '' @@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec { ''; }; - cargoSha256 = "sha256-xCHbS+D7ss85hklv9xftJTsctvQlAjkKtuJbTt5R8nM="; + cargoSha256 = "sha256-PSAhRUODedmJg67K00W0RQ5LycMme2bidL4L8gd6qkw="; doCheck = false; diff --git a/pkgs/tools/misc/flitter/default.nix b/pkgs/tools/misc/flitter/default.nix index 49903559c136..a46b3b72abed 100644 --- a/pkgs/tools/misc/flitter/default.nix +++ b/pkgs/tools/misc/flitter/default.nix @@ -20,11 +20,17 @@ ocamlPackages.buildDunePackage rec { sha256 = "1k3m7bjq5yrrq7vhnbdykni65dsqhq6knnv9wvwq3svb3n07z4w3"; }; + # compatibility with core >= 0.15 + patches = [ ./flitter.patch ]; + # https://github.com/alexozer/flitter/issues/28 postPatch = '' - for f in src/colors.ml src/duration.ml src/event_loop.ml src/splits.ml; do + for f in src/*.ml; do substituteInPlace "$f" \ - --replace 'Unix.gettimeofday' 'Caml_unix.gettimeofday' + --replace 'Unix.gettimeofday' 'Caml_unix.gettimeofday' \ + --replace 'Core_kernel' 'Core' \ + --replace 'sexp_option' 'option[@sexp.option]' \ + --replace 'sexp_list' 'list[@sexp.list]' done ''; @@ -33,7 +39,7 @@ ocamlPackages.buildDunePackage rec { ]; buildInputs = with ocamlPackages; [ - core + core_unix lwt_ppx sexp_pretty color diff --git a/pkgs/tools/misc/flitter/flitter.patch b/pkgs/tools/misc/flitter/flitter.patch new file mode 100644 index 000000000000..f59b8a22eb67 --- /dev/null +++ b/pkgs/tools/misc/flitter/flitter.patch @@ -0,0 +1,13 @@ +diff --git a/src/dune b/src/dune +index a50b09a..54cc770 100644 +--- a/src/dune ++++ b/src/dune +@@ -1,7 +1,7 @@ + (library + (name flitter) + (wrapped false) +- (libraries core lwt.unix notty notty.unix re color sexp_pretty) ++ (libraries core core_kernel.caml_unix lwt.unix notty notty.unix re color sexp_pretty) + (preprocess (pps lwt_ppx ppx_sexp_conv)) + ) + diff --git a/pkgs/tools/misc/page/default.nix b/pkgs/tools/misc/page/default.nix index 818642af9753..7d574586a8a3 100644 --- a/pkgs/tools/misc/page/default.nix +++ b/pkgs/tools/misc/page/default.nix @@ -2,13 +2,13 @@ rustPlatform.buildRustPackage rec { pname = "page"; - version = "3.1.0"; + version = "3.1.2"; src = fetchFromGitHub { owner = "I60R"; repo = pname; rev = "v${version}"; - sha256 = "sha256-3XRtTiIqUI2j9kmsg0yeuipgHEzdJRG2abO3Ll7ukmA="; + sha256 = "sha256-e6GkvIojMfsIm4UxRyEvvNkZPGSmUnf9K/0ZISy8kj4="; }; nativeBuildInputs = [ installShellFiles ]; @@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec { installShellCompletion --zsh $completions_dir/_page ''; - cargoSha256 = "sha256-4Z58OkCvlGXmuTeVl0me3a/YImcKwggF9tXfenQnjtA="; + cargoSha256 = "sha256-qyaHW4mbJXZ/iGQlIzmTo2dgPLC9JlPKBee+uAuW5PQ="; meta = with lib; { description = "Use neovim as pager"; diff --git a/pkgs/tools/misc/patdiff/default.nix b/pkgs/tools/misc/patdiff/default.nix index dcd06ce1d2b7..2e84d0015d3a 100644 --- a/pkgs/tools/misc/patdiff/default.nix +++ b/pkgs/tools/misc/patdiff/default.nix @@ -4,8 +4,8 @@ with ocamlPackages; janePackage { pname = "patdiff"; - hash = "1yslj6xxyv8rx8y5s1civ1zq8y6vvxmkszdds958zdm1p1ign54r"; - buildInputs = [ core patience_diff ocaml_pcre ]; + hash = "0623a7n5r659rkxbp96g361mvxkcgc6x9lcbkm3glnppplk5kxr9"; + propagatedBuildInputs = [ core_unix patience_diff ocaml_pcre ]; meta = { description = "File Diff using the Patience Diff algorithm"; }; diff --git a/pkgs/tools/typesetting/satysfi/default.nix b/pkgs/tools/typesetting/satysfi/default.nix index 89d2724eaad6..d270c46d1ae7 100644 --- a/pkgs/tools/typesetting/satysfi/default.nix +++ b/pkgs/tools/typesetting/satysfi/default.nix @@ -50,6 +50,8 @@ in $out/share/satysfi ''; + DUNE_PROFILE = "release"; + nativeBuildInputs = [ ruby dune_2 ]; buildInputs = [ camlpdf otfm yojson-with-position ] ++ (with ocamlPackages; [ diff --git a/pkgs/tools/virtualization/linode-cli/default.nix b/pkgs/tools/virtualization/linode-cli/default.nix index 743764196c55..d7a58779399b 100644 --- a/pkgs/tools/virtualization/linode-cli/default.nix +++ b/pkgs/tools/virtualization/linode-cli/default.nix @@ -13,8 +13,8 @@ let sha256 = "1yglnmwspdncqmy5x0zc0g43bfm4597zfmwfvs7qkalv1pprf0s3"; # specVersion taken from: https://www.linode.com/docs/api/openapi.yaml at `info.version`. - specVersion = "4.129.0"; - specSha256 = "02bf1jcqn7sp6qmkd56jgmgpfg3agbw47cd38zha6fksm2knmd32"; + specVersion = "4.130.0"; + specSha256 = "0qwydx6bsbi37135zmwm8vx1yzwa5gyi8bz1zsvkd64wjv79yra1"; spec = fetchurl { url = "https://raw.githubusercontent.com/linode/linode-api-docs/v${specVersion}/openapi.yaml"; sha256 = specSha256; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 7c70c043d580..c8f4cdde0daf 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -865,6 +865,7 @@ mapAliases ({ mercurial_4 = throw "mercurial_4 has been removed as it's unmaintained"; # Added 2021-10-18 mesos = throw "mesos has been removed from nixpkgs, as it's unmaintained"; # Added 2020-08-15 mess = mame; # Added 2019-10-30 + metal = throw "metal has been removed due to lack of maintainers"; mididings = throw "mididings has been removed from nixpkgs as it doesn't support recent python3 versions and its upstream stopped maintaining it"; # Added 2022-01-12 midoriWrapper = throw "'midoriWrapper' has been renamed to/replaced by 'midori'"; # Converted to throw 2022-02-22 mime-types = mailcap; # Added 2022-01-21 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e66b718e696f..18c82f113e62 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2652,6 +2652,8 @@ with pkgs; sshchecker = callPackage ../tools/security/sshchecker { }; + sshs = callPackage ../development/tools/sshs { }; + titaniumenv = callPackage ../development/mobile/titaniumenv { }; abootimg = callPackage ../development/mobile/abootimg {}; @@ -4246,6 +4248,7 @@ with pkgs; noti = callPackage ../tools/misc/noti { inherit (darwin.apple_sdk.frameworks) Cocoa; + buildGoPackage = buildGo117Package; }; notify = callPackage ../tools/misc/notify { }; @@ -14249,7 +14252,6 @@ with pkgs; coursier = coursier.override { jre = jdk8; }; }; - metal = callPackage ../development/libraries/metal { }; metals = callPackage ../development/tools/metals { }; scalafix = callPackage ../development/tools/scalafix { jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 @@ -19670,6 +19672,10 @@ with pkgs; libuinputplus = callPackage ../development/libraries/libuinputplus { }; + libuiohook = callPackage ../development/libraries/libuiohook { + inherit (darwin.apple_sdk.frameworks) AppKit ApplicationServices Carbon; + }; + libunistring = callPackage ../development/libraries/libunistring { }; libupnp = callPackage ../development/libraries/pupnp { }; @@ -20525,6 +20531,8 @@ with pkgs; protobuf = protobuf3_19; + protobuf3_21 = callPackage ../development/libraries/protobuf/3.21.nix { }; + protobuf3_20 = callPackage ../development/libraries/protobuf/3.20.nix { }; protobuf3_19 = callPackage ../development/libraries/protobuf/3.19.nix { }; protobuf3_17 = callPackage ../development/libraries/protobuf/3.17.nix { }; protobuf3_11 = callPackage ../development/libraries/protobuf/3.11.nix { }; @@ -27684,6 +27692,8 @@ with pkgs; srain = callPackage ../applications/networking/irc/srain { }; + streamdeck-ui = libsForQt5.callPackage ../applications/misc/streamdeck-ui { }; + super-productivity = callPackage ../applications/office/super-productivity { electron = electron_17; }; @@ -27838,68 +27848,66 @@ with pkgs; fiji = callPackage ../applications/graphics/fiji { }; imagemagick6_light = imagemagick6.override { - bzip2 = null; - zlib = null; - libX11 = null; - libXext = null; - libXt = null; - fontconfig = null; - freetype = null; - ghostscript = null; - libjpeg = null; - djvulibre = null; - lcms2 = null; - openexr = null; - libpng = null; - liblqr1 = null; - librsvg = null; - libtiff = null; - libxml2 = null; - openjpeg = null; - libwebp = null; - libheif = null; - libde265 = null; + bzip2Support = false; + zlibSupport = false; + libX11Support = false; + libXtSupport = false; + fontconfigSupport = false; + freetypeSupport = false; + ghostscriptSupport = false; + libjpegSupport = false; + djvulibreSupport = false; + lcms2Support = false; + openexrSupport = false; + libpngSupport = false; + liblqr1Support = false; + librsvgSupport = false; + libtiffSupport = false; + libxml2Support = false; + openjpegSupport = false; + libwebpSupport = false; + libheifSupport = false; + libde265Support = false; }; imagemagick6 = callPackage ../applications/graphics/ImageMagick/6.x.nix { inherit (darwin.apple_sdk.frameworks) ApplicationServices Foundation; - ghostscript = null; }; - imagemagick6Big = imagemagick6.override { inherit ghostscript; }; + imagemagick6Big = imagemagick6.override { + ghostscriptSupport = true; + }; imagemagick_light = lowPrio (imagemagick.override { - bzip2 = null; - zlib = null; - libX11 = null; - libXext = null; - libXt = null; - fontconfig = null; - freetype = null; - ghostscript = null; - libjpeg = null; - djvulibre = null; - lcms2 = null; - openexr = null; - libjxl = null; - libpng = null; - liblqr1 = null; - librsvg = null; - libtiff = null; - libxml2 = null; - openjpeg = null; - libwebp = null; - libheif = null; + bzip2Support = false; + zlibSupport = false; + libX11Support = false; + libXtSupport = false; + fontconfigSupport = false; + freetypeSupport = false; + libjpegSupport = false; + djvulibreSupport = false; + lcms2Support = false; + openexrSupport = false; + libjxlSupport = false; + libpngSupport = false; + liblqr1Support = false; + librsvgSupport = false; + libtiffSupport = false; + libxml2Support = false; + openjpegSupport = false; + libwebpSupport = false; + libheifSupport = false; }); - imagemagick = lowPrio (imagemagickBig.override { - ghostscript = null; - }); - - imagemagickBig = lowPrio (callPackage ../applications/graphics/ImageMagick { + imagemagick = lowPrio (callPackage ../applications/graphics/ImageMagick { inherit (darwin.apple_sdk.frameworks) ApplicationServices Foundation; }); + imagemagickBig = lowPrio (imagemagick.override { + ghostscriptSupport = true; + }); + imagination = callPackage ../applications/video/imagination { }; inherit (nodePackages) imapnotify; @@ -31113,6 +31121,8 @@ with pkgs; webcamoid = libsForQt5.callPackage ../applications/video/webcamoid { }; + webex = callPackage ../applications/networking/instant-messengers/webex {}; + webmacs = libsForQt5.callPackage ../applications/networking/browsers/webmacs {}; webssh = with python3Packages; toPythonApplication webssh; @@ -34079,6 +34089,8 @@ with pkgs; jflap = callPackage ../applications/science/engineering/jflap { }; + strictdoc = python3.pkgs.callPackage ../applications/science/engineering/strictdoc { }; + ### SCIENCE / ELECTRONICS adms = callPackage ../applications/science/electronics/adms { }; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 55817beb5c87..d794592461f7 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1533,14 +1533,21 @@ let # Jane Street janePackage = - if lib.versionOlder "4.08" ocaml.version + if lib.versionOlder "4.10.2" ocaml.version + then callPackage ../development/ocaml-modules/janestreet/janePackage_0_15.nix {} + else if lib.versionOlder "4.08" ocaml.version then callPackage ../development/ocaml-modules/janestreet/janePackage_0_14.nix {} else if lib.versionOlder "4.07" ocaml.version then callPackage ../development/ocaml-modules/janestreet/janePackage_0_12.nix {} else callPackage ../development/ocaml-modules/janestreet/janePackage.nix {}; janeStreet = - if lib.versionOlder "4.08" ocaml.version + if lib.versionOlder "4.10.2" ocaml.version + then import ../development/ocaml-modules/janestreet/0.15.nix { + inherit self; + inherit (pkgs) fetchpatch lib openssl patdiff zstd; + } + else if lib.versionOlder "4.08" ocaml.version then import ../development/ocaml-modules/janestreet/0.14.nix { inherit self; inherit (pkgs) fetchpatch lib openssl zstd; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ff5c109d671f..223b190b43e8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2156,6 +2156,8 @@ in { datatable = callPackage ../development/python-modules/datatable { }; + datauri = callPackage ../development/python-modules/datauri { }; + dateparser = callPackage ../development/python-modules/dateparser { }; dateutils = callPackage ../development/python-modules/dateutils { }; @@ -9239,6 +9241,8 @@ in { reproject = callPackage ../development/python-modules/reproject { }; + reqif = callPackage ../development/python-modules/reqif { }; + requests-aws4auth = callPackage ../development/python-modules/requests-aws4auth { }; requests-cache = callPackage ../development/python-modules/requests-cache { }; @@ -10248,6 +10252,8 @@ in { stravalib = callPackage ../development/python-modules/stravalib { }; + streamdeck = callPackage ../development/python-modules/streamdeck { }; + streaming-form-data = callPackage ../development/python-modules/streaming-form-data { }; streamlabswater = callPackage ../development/python-modules/streamlabswater { }; @@ -10504,6 +10510,8 @@ in { tesserocr = callPackage ../development/python-modules/tesserocr { }; + testcontainers = callPackage ../development/python-modules/testcontainers { }; + testfixtures = callPackage ../development/python-modules/testfixtures { }; textfsm = callPackage ../development/python-modules/textfsm { }; @@ -10538,6 +10546,8 @@ in { textwrap3 = callPackage ../development/python-modules/textwrap3 { }; + textx = callPackage ../development/python-modules/textx { }; + tflearn = callPackage ../development/python-modules/tflearn { }; tgcrypto = callPackage ../development/python-modules/tgcrypto { };