diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/terminal-emulators')
69 files changed, 11032 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix new file mode 100644 index 000000000000..3427852669cc --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/alacritty/default.nix @@ -0,0 +1,140 @@ +{ stdenv +, lib +, fetchFromGitHub +, fetchpatch +, rustPlatform +, nixosTests + +, cmake +, installShellFiles +, makeWrapper +, ncurses +, pkg-config +, python3 + +, expat +, fontconfig +, freetype +, libGL +, xorg +, libxkbcommon +, wayland +, xdg-utils + + # Darwin Frameworks +, AppKit +, CoreGraphics +, CoreServices +, CoreText +, Foundation +, libiconv +, OpenGL +}: +let + rpathLibs = [ + expat + fontconfig + freetype + ] ++ lib.optionals stdenv.isLinux [ + libGL + xorg.libX11 + xorg.libXcursor + xorg.libXi + xorg.libXrandr + xorg.libXxf86vm + xorg.libxcb + libxkbcommon + wayland + ]; +in +rustPlatform.buildRustPackage rec { + pname = "alacritty"; + version = "0.12.3"; + + src = fetchFromGitHub { + owner = "alacritty"; + repo = pname; + rev = "refs/tags/v${version}"; + hash = "sha256-SUEI7DTgs6NYT4oiqaMBNCQ8gP1XoZjPFIKhob7tfsk="; + }; + + cargoHash = "sha256-iLhctiCDNpcTxoMrWwUWHBRc6X5rxSH9Jl2EDuktWmw="; + + nativeBuildInputs = [ + cmake + installShellFiles + makeWrapper + ncurses + pkg-config + python3 + ]; + + buildInputs = rpathLibs + ++ lib.optionals stdenv.isDarwin [ + AppKit + CoreGraphics + CoreServices + CoreText + Foundation + libiconv + OpenGL + ]; + + outputs = [ "out" "terminfo" ]; + + postPatch = lib.optionalString (!xdg-utils.meta.broken) '' + substituteInPlace alacritty/src/config/ui_config.rs \ + --replace xdg-open ${xdg-utils}/bin/xdg-open + ''; + + checkFlags = [ "--skip=term::test::mock_term" ]; # broken on aarch64 + + postInstall = ( + if stdenv.isDarwin then '' + mkdir $out/Applications + cp -r extra/osx/Alacritty.app $out/Applications + ln -s $out/bin $out/Applications/Alacritty.app/Contents/MacOS + '' else '' + install -D extra/linux/Alacritty.desktop -t $out/share/applications/ + install -D extra/linux/org.alacritty.Alacritty.appdata.xml -t $out/share/appdata/ + install -D extra/logo/compat/alacritty-term.svg $out/share/icons/hicolor/scalable/apps/Alacritty.svg + + # patchelf generates an ELF that binutils' "strip" doesn't like: + # strip: not enough room for program headers, try linking with -N + # As a workaround, strip manually before running patchelf. + $STRIP -S $out/bin/alacritty + + patchelf --add-rpath "${lib.makeLibraryPath rpathLibs}" $out/bin/alacritty + '' + ) + '' + + installShellCompletion --zsh extra/completions/_alacritty + installShellCompletion --bash extra/completions/alacritty.bash + installShellCompletion --fish extra/completions/alacritty.fish + + install -dm 755 "$out/share/man/man1" + gzip -c extra/alacritty.man > "$out/share/man/man1/alacritty.1.gz" + gzip -c extra/alacritty-msg.man > "$out/share/man/man1/alacritty-msg.1.gz" + + install -Dm 644 alacritty.yml $out/share/doc/alacritty.yml + + install -dm 755 "$terminfo/share/terminfo/a/" + tic -xe alacritty,alacritty-direct -o "$terminfo/share/terminfo" extra/alacritty.info + mkdir -p $out/nix-support + echo "$terminfo" >> $out/nix-support/propagated-user-env-packages + ''; + + dontPatchELF = true; + + passthru.tests.test = nixosTests.terminal-emulators.alacritty; + + meta = with lib; { + description = "A cross-platform, GPU-accelerated terminal emulator"; + homepage = "https://github.com/alacritty/alacritty"; + license = licenses.asl20; + mainProgram = "alacritty"; + maintainers = with maintainers; [ Br1ght0ne mic92 ]; + platforms = platforms.unix; + changelog = "https://github.com/alacritty/alacritty/blob/v${version}/CHANGELOG.md"; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/blackbox-terminal/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/blackbox-terminal/default.nix new file mode 100644 index 000000000000..e734a1e91eec --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/blackbox-terminal/default.nix @@ -0,0 +1,86 @@ +{ lib +, stdenv +, fetchFromGitLab +, fetchpatch +, meson +, ninja +, pkg-config +, vala +, gtk4 +, vte-gtk4 +, json-glib +, sassc +, libadwaita +, pcre2 +, libxml2 +, librsvg +, libgee +, callPackage +, python3 +, gtk3 +, desktop-file-utils +, wrapGAppsHook +}: + +let + marble = callPackage ./marble.nix { }; +in +stdenv.mkDerivation rec { + pname = "blackbox"; + version = "0.14.0"; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "raggesilver"; + repo = "blackbox"; + rev = "v${version}"; + hash = "sha256-ebwh9WTooJuvYFIygDBn9lYC7+lx9P1HskvKU8EX9jw="; + }; + + patches = [ + # Fix closing confirmation dialogs not showing + (fetchpatch { + url = "https://gitlab.gnome.org/raggesilver/blackbox/-/commit/3978c9b666d27adba835dd47cf55e21515b6d6d9.patch"; + hash = "sha256-L/Ci4YqYNzb3F49bUwEWSjzr03MIPK9A5FEJCCct+7A="; + }) + ]; + + postPatch = '' + patchShebangs build-aux/meson/postinstall.py + ''; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + sassc + wrapGAppsHook + python3 + gtk3 # For gtk-update-icon-cache + desktop-file-utils # For update-desktop-database + ]; + buildInputs = [ + gtk4 + vte-gtk4 + json-glib + marble + libadwaita + pcre2 + libxml2 + librsvg + libgee + ]; + + mesonFlags = [ "-Dblackbox_is_flatpak=false" ]; + + meta = with lib; { + description = "Beautiful GTK 4 terminal"; + mainProgram = "blackbox"; + homepage = "https://gitlab.gnome.org/raggesilver/blackbox"; + changelog = "https://gitlab.gnome.org/raggesilver/blackbox/-/raw/v${version}/CHANGELOG.md"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ chuangzhu ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/blackbox-terminal/marble.nix b/nixpkgs/pkgs/applications/terminal-emulators/blackbox-terminal/marble.nix new file mode 100644 index 000000000000..e6c3850416f6 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/blackbox-terminal/marble.nix @@ -0,0 +1,45 @@ +{ lib +, stdenv +, fetchFromGitLab +, meson +, ninja +, pkg-config +, vala +, gobject-introspection +, gtk4 +, gtk3 +, desktop-file-utils +}: + +stdenv.mkDerivation { + pname = "marble"; + version = "unstable-2023-05-11"; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "raggesilver"; + repo = "marble"; + # the same used on flatpak + rev = "f240b2ec7d5cdacb8fdcc553703420dc5101ffdb"; + sha256 = "sha256-obtz7zOyEZPgi/NNjtLr6aFm/1UVTzjTdJpN3JQfpUs="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + gtk3 # For gtk-update-icon-cache + desktop-file-utils # For update-desktop-database + gobject-introspection # For g-ir-compiler + ]; + buildInputs = [ gtk4 ]; + + meta = with lib; { + description = "Raggesilver's GTK library"; + homepage = "https://gitlab.gnome.org/raggesilver/marble"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ chuangzhu ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/contour/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/contour/default.nix new file mode 100644 index 000000000000..1a036106c6df --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/contour/default.nix @@ -0,0 +1,109 @@ +{ lib +, stdenv +, mkDerivation +, fetchFromGitHub +, cmake +, pkg-config +, freetype +, fontconfig +, libGL +, pcre +, boost +, catch2 +, fmt +, microsoft-gsl +, range-v3 +, yaml-cpp +, ncurses +, file +, darwin +, nixosTests +}: + +let + # Commits refs come from https://github.com/contour-terminal/contour/blob/master/scripts/install-deps.sh + libunicode-src = fetchFromGitHub { + owner = "contour-terminal"; + repo = "libunicode"; + rev = "c2369b6380df1197476b08d3e2d0e96b6446f776"; + sha256 = "sha256-kq7GpFCkrJG7F9/YEGz3gMTgYzhp/QB8D5b9wwMaLvQ="; + }; + + termbench-pro-src = fetchFromGitHub { + owner = "contour-terminal"; + repo = "termbench-pro"; + rev = "cd571e3cebb7c00de9168126b28852f32fb204ed"; + sha256 = "sha256-dNtOmBu63LFYfiGjXf34C2tiG8pMmsFT4yK3nBnK9WI="; + }; +in +mkDerivation rec { + pname = "contour"; + version = "0.3.1.200"; + + src = fetchFromGitHub { + owner = "contour-terminal"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-TpxVC0GFZD3jGISnDWHKEetgVVpznm5k/Vc2dwVfSG4="; + }; + + outputs = [ "out" "terminfo" ]; + + nativeBuildInputs = [ + cmake + pkg-config + ncurses + file + ]; + + buildInputs = [ + fontconfig + freetype + libGL + pcre + boost + catch2 + fmt + microsoft-gsl + range-v3 + yaml-cpp + ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.libs.utmp ]; + + preConfigure = '' + mkdir -p _deps/sources + + cat > _deps/sources/CMakeLists.txt <<EOF + macro(ContourThirdParties_Embed_libunicode) + add_subdirectory(\''${ContourThirdParties_SRCDIR}/libunicode EXCLUDE_FROM_ALL) + endmacro() + macro(ContourThirdParties_Embed_termbench_pro) + add_subdirectory(\''${ContourThirdParties_SRCDIR}/termbench_pro EXCLUDE_FROM_ALL) + endmacro() + EOF + + ln -s ${libunicode-src} _deps/sources/libunicode + ln -s ${termbench-pro-src} _deps/sources/termbench_pro + + # Don't fix Darwin app bundle + sed -i '/fixup_bundle/d' src/contour/CMakeLists.txt + ''; + + postInstall = '' + mkdir -p $out/nix-support $terminfo/share + mv $out/share/terminfo $terminfo/share/ + echo "$terminfo" >> $out/nix-support/propagated-user-env-packages + ''; + + passthru.tests.test = nixosTests.terminal-emulators.contour; + + meta = with lib; { + # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/contour.x86_64-darwin + broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin; + description = "Modern C++ Terminal Emulator"; + homepage = "https://github.com/contour-terminal/contour"; + changelog = "https://github.com/contour-terminal/contour/raw/v${version}/Changelog.md"; + license = licenses.asl20; + maintainers = with maintainers; [ moni ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/cool-retro-term/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/cool-retro-term/default.nix new file mode 100644 index 000000000000..528c82fe8199 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/cool-retro-term/default.nix @@ -0,0 +1,61 @@ +{ lib +, stdenv +, fetchFromGitHub +, mkDerivation +, qtbase +, qmltermwidget +, qtquickcontrols2 +, qtgraphicaleffects +, qmake +, nixosTests +}: + +mkDerivation rec { + version = "1.2.0"; + pname = "cool-retro-term"; + + src = fetchFromGitHub { + owner = "Swordfish90"; + repo = "cool-retro-term"; + rev = "refs/tags/${version}"; + hash = "sha256-PewHLVmo+RTBHIQ/y2FBkgXsIvujYd7u56JdFC10B4c="; + }; + + patchPhase = '' + sed -i -e '/qmltermwidget/d' cool-retro-term.pro + ''; + + buildInputs = [ + qtbase + qmltermwidget + qtquickcontrols2 + qtgraphicaleffects + ]; + + nativeBuildInputs = [ qmake ]; + + installFlags = [ "INSTALL_ROOT=$(out)" ]; + + preFixup = '' + mv $out/usr/share $out/share + mv $out/usr/bin $out/bin + rmdir $out/usr + '' + lib.optionalString stdenv.isDarwin '' + ln -s $out/bin/cool-retro-term.app/Contents/MacOS/cool-retro-term $out/bin/cool-retro-term + ''; + + passthru.tests.test = nixosTests.terminal-emulators.cool-retro-term; + + meta = { + description = "Terminal emulator which mimics the old cathode display"; + longDescription = '' + cool-retro-term is a terminal emulator which tries to mimic the look and + feel of the old cathode tube screens. It has been designed to be + eye-candy, customizable, and reasonably lightweight. + ''; + homepage = "https://github.com/Swordfish90/cool-retro-term"; + license = lib.licenses.gpl3Plus; + platforms = with lib.platforms; linux ++ darwin; + maintainers = with lib.maintainers; [ ]; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/darktile/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/darktile/default.nix new file mode 100644 index 000000000000..80d3d6187d1a --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/darktile/default.nix @@ -0,0 +1,70 @@ +{ stdenv +, fetchFromGitHub +, lib +, go +, pkg-config +, libX11 +, libXcursor +, libXrandr +, libXinerama +, libXi +, libXext +, libXxf86vm +, libGL +, nixosTests +}: + +stdenv.mkDerivation rec { + pname = "darktile"; + version = "0.0.10"; + + src = fetchFromGitHub { + owner = "liamg"; + repo = "darktile"; + rev = "v${version}"; + sha256 = "0pdj4yv3qrq56gb67p85ara3g8qrzw5ha787bl2ls4vcx85q7303"; + }; + + nativeBuildInputs = [ go pkg-config ]; + + buildInputs = [ + libX11 + libXcursor + libXrandr + libXinerama + libXi + libXext + libXxf86vm + libGL + ]; + + postPatch = '' + substituteInPlace scripts/build.sh \ + --replace "bash" "sh" + ''; + + postConfigure = '' + export GOPATH=$TMP/go + ''; + + makeFlags = [ "HOME=$TMP" ]; + + installPhase = '' + runHook preInstall + + install -Dm755 darktile -t $out/bin + + runHook postInstall + ''; + + passthru.tests.test = nixosTests.terminal-emulators.darktile; + + meta = with lib; { + description = "A GPU rendered terminal emulator designed for tiling window managers"; + homepage = "https://github.com/liamg/darktile"; + downloadPage = "https://github.com/liamg/darktile/releases"; + changelog = "https://github.com/liamg/darktile/releases/tag/v${version}"; + license = licenses.mit; + maintainers = with maintainers; [ flexagoon ]; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/dterm/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/dterm/default.nix new file mode 100644 index 000000000000..69b1f67d629a --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/dterm/default.nix @@ -0,0 +1,42 @@ +{ lib +, stdenv +, fetchurl +, readline +}: + +stdenv.mkDerivation rec { + pname = "dterm"; + version = "0.5"; + + src = fetchurl { + url = "http://www.knossos.net.nz/downloads/dterm-${version}.tgz"; + hash = "sha256-lFM7558e7JZeWYhtXwCjXLZ1xdsdiUGfJTu3LxQKvds="; + }; + + buildInputs = [ readline ]; + + postPatch = '' + substituteInPlace Makefile \ + --replace 'gcc' '${stdenv.cc.targetPrefix}cc' + ''; + + preInstall = "mkdir -p $out/bin"; + + installFlags = [ "BIN=$(out)/bin/" ]; + + meta = with lib; { + homepage = "http://www.knossos.net.nz/resources/free-software/dterm/"; + description = "A simple terminal program"; + longDescription = '' + dterm is a simple terminal emulator, which doesn’t actually emulate any + particular terminal. Mainly, it is designed for use with xterm and + friends, which already do a perfectly good emulation, and therefore don’t + need any special help; dterm simply provides a means by which keystrokes + are forwarded to the serial line, and data forwarded from the serial line + appears on the terminal. + ''; + license = licenses.gpl2Only; + maintainers = with maintainers; [ auchter ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix new file mode 100644 index 000000000000..ad9487b082c8 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/foot/default.nix @@ -0,0 +1,226 @@ +{ stdenv +, lib +, fetchFromGitea +, fetchurl +, fetchpatch +, runCommand +, fcft +, freetype +, pixman +, libxkbcommon +, fontconfig +, wayland +, meson +, ninja +, ncurses +, scdoc +, tllist +, wayland-protocols +, wayland-scanner +, pkg-config +, utf8proc +, allowPgo ? !stdenv.hostPlatform.isMusl +, python3 # for PGO +# for clang stdenv check +, foot +, llvmPackages +}: + +let + version = "1.16.2"; + + # build stimuli file for PGO build and the script to generate it + # independently of the foot's build, so we can cache the result + # and avoid unnecessary rebuilds as it can take relatively long + # to generate + # + # For every bump, make sure that the hash is still accurate. + stimulusGenerator = stdenv.mkDerivation { + name = "foot-generate-alt-random-writes"; + + src = fetchurl { + url = "https://codeberg.org/dnkl/foot/raw/tag/${version}/scripts/generate-alt-random-writes.py"; + hash = "sha256-NvkKJ75n/OzgEd2WHX1NQIXPn9R0Z+YI1rpFmNxaDhk="; + }; + + dontUnpack = true; + + buildInputs = [ python3 ]; + + installPhase = '' + install -Dm755 $src $out + ''; + }; + + stimuliFile = runCommand "pgo-stimulus-file" { } '' + ${stimulusGenerator} \ + --rows=67 --cols=135 \ + --scroll --scroll-region \ + --colors-regular --colors-bright --colors-256 --colors-rgb \ + --attr-bold --attr-italic --attr-underline \ + --sixel \ + --seed=2305843009213693951 \ + $out + ''; + + compilerName = + if stdenv.cc.isClang + then "clang" + else if stdenv.cc.isGNU + then "gcc" + else "unknown"; + + # https://codeberg.org/dnkl/foot/src/branch/master/INSTALL.md#performance-optimized-pgo + pgoCflags = { + "clang" = "-O3 -Wno-ignored-optimization-argument"; + "gcc" = "-O3"; + }."${compilerName}"; + + # ar with lto support + ar = stdenv.cc.bintools.targetPrefix + { + "clang" = "llvm-ar"; + "gcc" = "gcc-ar"; + "unknown" = "ar"; + }."${compilerName}"; + + # PGO only makes sense if we are not cross compiling and + # using a compiler which foot's PGO build supports (clang or gcc) + doPgo = allowPgo && (stdenv.hostPlatform == stdenv.buildPlatform) + && compilerName != "unknown"; + + terminfoDir = "${placeholder "terminfo"}/share/terminfo"; +in +stdenv.mkDerivation { + pname = "foot"; + inherit version; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "dnkl"; + repo = "foot"; + rev = version; + hash = "sha256-hT+btlfqfwGBDWTssYl8KN6SbR9/Y2ors4ipECliigM="; + }; + + separateDebugInfo = true; + + depsBuildBuild = [ + pkg-config + ]; + + nativeBuildInputs = [ + wayland-scanner + meson + ninja + ncurses + scdoc + pkg-config + ] ++ lib.optionals (compilerName == "clang") [ + stdenv.cc.cc.libllvm.out + ]; + + buildInputs = [ + tllist + wayland-protocols + fontconfig + freetype + pixman + wayland + libxkbcommon + fcft + utf8proc + ]; + + # recommended build flags for performance optimized foot builds + # https://codeberg.org/dnkl/foot/src/branch/master/INSTALL.md#release-build + CFLAGS = + if !doPgo + then "-O3 -fno-plt" + else pgoCflags; + + # ar with gcc plugins for lto objects + preConfigure = '' + export AR="${ar}" + ''; + + mesonBuildType = "release"; + + # See https://codeberg.org/dnkl/foot/src/tag/1.9.2/INSTALL.md#options + mesonFlags = [ + # Use lto + "-Db_lto=true" + # “Build” and install terminfo db + "-Dterminfo=enabled" + # Ensure TERM=foot is used + "-Ddefault-terminfo=foot" + # Tell foot to set TERMINFO and where to install the terminfo files + "-Dcustom-terminfo-install-location=${terminfoDir}" + # Install systemd user units for foot-server + "-Dsystemd-units-dir=${placeholder "out"}/lib/systemd/user" + ]; + + # build and run binary generating PGO profiles, + # then reconfigure to build the normal foot binary utilizing PGO + preBuild = lib.optionalString doPgo '' + meson configure -Db_pgo=generate + ninja + # make sure there is _some_ profiling data on all binaries + ./footclient --version + ./foot --version + ./utils/xtgettcap + ./tests/test-config + # generate pgo data of wayland independent code + ./pgo ${stimuliFile} ${stimuliFile} ${stimuliFile} + meson configure -Db_pgo=use + '' + lib.optionalString (doPgo && compilerName == "clang") '' + llvm-profdata merge default_*profraw --output=default.profdata + ''; + + # Install example themes which can be added to foot.ini via the include + # directive to a separate output to save a bit of space + postInstall = '' + moveToOutput share/foot/themes "$themes" + ''; + + outputs = [ "out" "terminfo" "themes" ]; + + passthru.tests = { + clang-default-compilation = foot.override { + inherit (llvmPackages) stdenv; + }; + + noPgo = foot.override { + allowPgo = false; + }; + + # By changing name, this will get rebuilt everytime we change version, + # even if the hash stays the same. Consequently it'll fail if we introduce + # a hash mismatch when updating. + stimulus-script-is-current = stimulusGenerator.src.overrideAttrs (_: { + name = "generate-alt-random-writes-${version}.py"; + }); + }; + + meta = with lib; { + homepage = "https://codeberg.org/dnkl/foot/"; + changelog = "https://codeberg.org/dnkl/foot/releases/tag/${version}"; + description = "A fast, lightweight and minimalistic Wayland terminal emulator"; + license = licenses.mit; + maintainers = [ maintainers.sternenseemann maintainers.abbe ]; + platforms = platforms.linux; + # From (presumably) ncurses version 6.3, it will ship a foot + # terminfo file. This however won't include some non-standard + # capabilities foot's bundled terminfo file contains. Unless we + # want to have some features in e. g. vim or tmux stop working, + # we need to make sure that the foot terminfo overwrites ncurses' + # one. Due to <nixpkgs/nixos/modules/config/system-path.nix> + # ncurses is always added to environment.systemPackages on + # NixOS with its priority increased by 3, so we need to go + # one bigger. + # This doesn't matter a lot for local use since foot sets + # TERMINFO to a store path, but allows installing foot.terminfo + # on remote systems for proper foot terminfo support. + priority = (ncurses.meta.priority or 5) + 3 + 1; + mainProgram = "foot"; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/gnome-console/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/gnome-console/default.nix new file mode 100644 index 000000000000..bfcc4cc5bc50 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/gnome-console/default.nix @@ -0,0 +1,60 @@ +{ lib +, stdenv +, fetchurl +, gettext +, gnome +, libgtop +, gtk4 +, libadwaita +, pcre2 +, vte-gtk4 +, desktop-file-utils +, meson +, ninja +, pkg-config +, wrapGAppsHook4 +, nixosTests +}: + +stdenv.mkDerivation rec { + pname = "gnome-console"; + version = "44.4"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-console/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "uR9E6abAQz6W2ZfzlVhSBtq6xiRzmTo8B1Uv5YiOWo0="; + }; + + nativeBuildInputs = [ + desktop-file-utils + gettext + meson + ninja + pkg-config + wrapGAppsHook4 + ]; + + buildInputs = [ + libgtop + gtk4 + libadwaita + pcre2 + vte-gtk4 + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-console"; + }; + }; + + passthru.tests.test = nixosTests.terminal-emulators.kgx; + + meta = with lib; { + description = "Simple user-friendly terminal emulator for the GNOME desktop"; + homepage = "https://gitlab.gnome.org/GNOME/console"; + license = licenses.gpl3Plus; + maintainers = teams.gnome.members ++ (with maintainers; [ zhaofengli ]); + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/guake/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/guake/default.nix new file mode 100644 index 000000000000..d030c7add966 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/guake/default.nix @@ -0,0 +1,74 @@ +{ lib +, fetchFromGitHub +, python3 +, glibcLocales +, gobject-introspection +, wrapGAppsHook +, gtk3 +, keybinder3 +, libnotify +, libutempter +, vte +, libwnck +, nixosTests +}: + +python3.pkgs.buildPythonApplication rec { + pname = "guake"; + version = "3.9.0"; + + format = "other"; + + src = fetchFromGitHub { + owner = "Guake"; + repo = "guake"; + rev = "refs/tags/${version}"; + sha256 = "sha256-BW13fBH26UqMPMjV8JC4QkpgzyoPfCpAfSkJD68uOZU="; + }; + + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook + python3.pkgs.pip + ]; + + buildInputs = [ + glibcLocales + gtk3 + keybinder3 + libnotify + libwnck + python3 + vte + ]; + + makeWrapperArgs = [ "--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive" ]; + + propagatedBuildInputs = with python3.pkgs; [ + dbus-python + pycairo + pygobject3 + setuptools-scm + pyyaml + ]; + + SETUPTOOLS_SCM_PRETEND_VERSION = version; + + makeFlags = [ + "PREFIX=${placeholder "out"}" + ]; + + preFixup = '' + gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libutempter ]}") + ''; + + passthru.tests.test = nixosTests.terminal-emulators.guake; + + meta = with lib; { + description = "Drop-down terminal for GNOME"; + homepage = "http://guake-project.org"; + license = licenses.gpl2; + maintainers = [ maintainers.msteen ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/hyper/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/hyper/default.nix new file mode 100644 index 000000000000..6873558830be --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/hyper/default.nix @@ -0,0 +1,57 @@ +{ stdenv, lib, fetchurl, dpkg, atk, glib, pango, gdk-pixbuf, gtk3, cairo +, freetype, fontconfig, dbus, libXi, libXcursor, libXdamage, libXrandr, libXcomposite +, libXext, libXfixes, libXrender, libX11, libXtst, libXScrnSaver, libxcb, nss, nspr +, alsa-lib, cups, expat, udev, libpulseaudio, at-spi2-atk, at-spi2-core, libxshmfence +, libdrm, libxkbcommon, mesa, nixosTests}: + +let + libPath = lib.makeLibraryPath [ + stdenv.cc.cc gtk3 atk glib pango gdk-pixbuf cairo freetype fontconfig dbus + libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes libxcb + libXrender libX11 libXtst libXScrnSaver nss nspr alsa-lib cups expat udev libpulseaudio + at-spi2-atk at-spi2-core libxshmfence libdrm libxkbcommon mesa + ]; + +in +stdenv.mkDerivation rec { + pname = "hyper"; + version = "3.4.1"; + + src = fetchurl { + url = "https://github.com/vercel/hyper/releases/download/v${version}/hyper_${version}_amd64.deb"; + sha256 = "sha256-jEzZ6MWFaNXBS8CAzfn/ufMPpWcua9HhBFzetWMlH1Y="; + }; + + nativeBuildInputs = [ dpkg ]; + + unpackPhase = '' + mkdir pkg + dpkg-deb -x $src pkg + sourceRoot=pkg + ''; + + installPhase = '' + mkdir -p "$out/bin" + mv opt "$out/" + + ln -s "$out/opt/Hyper/hyper" "$out/bin/hyper" + patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${libPath}:$out/opt/Hyper:\$ORIGIN" "$out/opt/Hyper/hyper" + + mv usr/* "$out/" + + substituteInPlace $out/share/applications/hyper.desktop \ + --replace "/opt/Hyper/hyper" "hyper" + ''; + + passthru.tests.test = nixosTests.terminal-emulators.hyper; + + dontPatchELF = true; + meta = with lib; { + description = "A terminal built on web technologies"; + homepage = "https://hyper.is/"; + maintainers = with maintainers; [ puffnfresh fabiangd ]; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + license = licenses.mit; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/iterm2/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/iterm2/default.nix new file mode 100644 index 000000000000..230a08dd70f4 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/iterm2/default.nix @@ -0,0 +1,44 @@ +{ fetchzip, lib, stdenvNoCC }: + + /* + This cannot be built from source as it requires entitlements and + for that it needs to be code signed. Automatic updates will have + to be disabled via preferences instead of at build time. To do + that edit $HOME/Library/Preferences/com.googlecode.iterm2.plist + and add: + SUEnableAutomaticChecks = 0; + */ + +stdenvNoCC.mkDerivation rec { + pname = "iterm2"; + version = "3.4.22"; + + src = fetchzip { + url = "https://iterm2.com/downloads/stable/iTerm2-${lib.replaceStrings ["."] ["_"] version}.zip"; + hash = "sha256-bHHAA9H6oUS0cXkGEaY/A0TLWrshgno3UN5xJA6+8lU="; + }; + + dontFixup = true; + + installPhase = '' + runHook preInstall + APP_DIR="$out/Applications/iTerm2.app" + mkdir -p "$APP_DIR" + cp -r . "$APP_DIR" + mkdir -p "$out/bin" + cat << EOF > "$out/bin/iterm2" + #!${stdenvNoCC.shell} + open -na "$APP_DIR" --args "$@" + EOF + chmod +x "$out/bin/iterm2" + runHook postInstall + ''; + + meta = with lib; { + description = "A replacement for Terminal and the successor to iTerm"; + homepage = "https://www.iterm2.com/"; + license = licenses.gpl2; + maintainers = with maintainers; [ steinybot tricktron ]; + platforms = [ "x86_64-darwin" "aarch64-darwin" ]; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix new file mode 100644 index 000000000000..f7ab3c8acbf8 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/kitty/default.nix @@ -0,0 +1,248 @@ +{ lib, stdenv, fetchFromGitHub, python3Packages, libunistring +, harfbuzz, fontconfig, pkg-config, ncurses, imagemagick +, libstartup_notification, libGL, libX11, libXrandr, libXinerama, libXcursor +, libxkbcommon, libXi, libXext, wayland-protocols, wayland, xxHash +, lcms2 +, librsync +, openssl +, installShellFiles +, dbus +, sudo +, Libsystem +, Cocoa +, Kernel +, UniformTypeIdentifiers +, UserNotifications +, libcanberra +, libicns +, libpng +, python3 +, zlib +, bashInteractive +, zsh +, fish +, nixosTests +, go +, buildGoModule +, nix-update-script +}: + +with python3Packages; +buildPythonApplication rec { + pname = "kitty"; + version = "0.31.0"; + format = "other"; + + src = fetchFromGitHub { + owner = "kovidgoyal"; + repo = "kitty"; + rev = "refs/tags/v${version}"; + hash = "sha256-VWWuC4T0pyTgqPNm0gNL1j3FShU5b8S157C1dKLon1g="; + }; + + goModules = (buildGoModule { + pname = "kitty-go-modules"; + inherit src version; + vendorHash = "sha256-OyZAWefSIiLQO0icxMIHWH3BKgNas8HIxLcse/qWKcU="; + }).goModules; + + buildInputs = [ + harfbuzz + ncurses + lcms2 + librsync + openssl.dev + xxHash + ] ++ lib.optionals stdenv.isDarwin [ + Cocoa + Kernel + UniformTypeIdentifiers + UserNotifications + libpng + python3 + zlib + ] ++ lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [ + Libsystem + ] ++ lib.optionals stdenv.isLinux [ + fontconfig libunistring libcanberra libX11 + libXrandr libXinerama libXcursor libxkbcommon libXi libXext + wayland-protocols wayland dbus libGL + ]; + + nativeBuildInputs = [ + installShellFiles + ncurses + pkg-config + sphinx + furo + sphinx-copybutton + sphinxext-opengraph + sphinx-inline-tabs + go + ] ++ lib.optionals stdenv.isDarwin [ + imagemagick + libicns # For the png2icns tool. + ]; + + outputs = [ "out" "terminfo" "shell_integration" "kitten" ]; + + patches = [ + # Gets `test_ssh_env_vars` to pass when `bzip2` is in the output of `env`. + ./fix-test_ssh_env_vars.patch + + # Needed on darwin + + # Gets `test_ssh_shell_integration` to pass for `zsh` when `compinit` complains about + # permissions. + ./zsh-compinit.patch + + # Skip `test_ssh_bootstrap_with_different_launchers` when launcher is `zsh` since it causes: + # OSError: master_fd is in error condition + ./disable-test_ssh_bootstrap_with_different_launchers.patch + ]; + + hardeningDisable = [ + # causes redefinition of _FORTIFY_SOURCE + "fortify3" + ]; + + CGO_ENABLED = 0; + GOFLAGS = "-trimpath"; + + configurePhase = '' + export GOCACHE=$TMPDIR/go-cache + export GOPATH="$TMPDIR/go" + export GOPROXY=off + cp -r --reflink=auto $goModules vendor + ''; + + buildPhase = let + commonOptions = '' + --update-check-interval=0 \ + --shell-integration=enabled\ no-rc + ''; + darwinOptions = '' + --disable-link-time-optimization \ + ${commonOptions} + ''; + in '' + runHook preBuild + ${ lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) "export MACOSX_DEPLOYMENT_TARGET=11" } + ${if stdenv.isDarwin then '' + ${python.pythonOnBuildForHost.interpreter} setup.py build ${darwinOptions} + make docs + ${python.pythonOnBuildForHost.interpreter} setup.py kitty.app ${darwinOptions} + '' else '' + ${python.pythonOnBuildForHost.interpreter} setup.py linux-package \ + --egl-library='${lib.getLib libGL}/lib/libEGL.so.1' \ + --startup-notification-library='${libstartup_notification}/lib/libstartup-notification-1.so' \ + --canberra-library='${libcanberra}/lib/libcanberra.so' \ + --fontconfig-library='${fontconfig.lib}/lib/libfontconfig.so' \ + ${commonOptions} + ${python.pythonOnBuildForHost.interpreter} setup.py build-launcher + ''} + runHook postBuild + ''; + + nativeCheckInputs = [ + pillow + + # Shells needed for shell integration tests + bashInteractive + zsh + fish + ] ++ lib.optionals (!stdenv.isDarwin) [ + # integration tests need sudo + sudo + ]; + + # skip failing tests due to darwin sandbox + preCheck = lib.optionalString stdenv.isDarwin '' + substituteInPlace kitty_tests/file_transmission.py \ + --replace test_file_get dont_test_file_get \ + --replace test_path_mapping_receive dont_test_path_mapping_receive \ + --replace test_transfer_send dont_test_transfer_send + substituteInPlace kitty_tests/shell_integration.py \ + --replace test_fish_integration dont_test_fish_integration + substituteInPlace kitty_tests/shell_integration.py \ + --replace test_bash_integration dont_test_bash_integration + substituteInPlace kitty_tests/open_actions.py \ + --replace test_parsing_of_open_actions dont_test_parsing_of_open_actions + substituteInPlace kitty_tests/ssh.py \ + --replace test_ssh_connection_data dont_test_ssh_connection_data + substituteInPlace kitty_tests/fonts.py \ + --replace 'class Rendering(BaseTest)' 'class Rendering' + # theme collection test starts an http server + rm tools/themes/collection_test.go + # passwd_test tries to exec /usr/bin/dscl + rm tools/utils/passwd_test.go + ''; + + checkPhase = '' + runHook preCheck + + # Fontconfig error: Cannot load default config file: No such file: (null) + export FONTCONFIG_FILE=${fontconfig.out}/etc/fonts/fonts.conf + + # Required for `test_ssh_shell_integration` to pass. + export TERM=kitty + + make test + runHook postCheck + ''; + + installPhase = '' + runHook preInstall + mkdir -p "$out" + mkdir -p "$kitten/bin" + ${if stdenv.isDarwin then '' + mkdir "$out/bin" + ln -s ../Applications/kitty.app/Contents/MacOS/kitty "$out/bin/kitty" + ln -s ../Applications/kitty.app/Contents/MacOS/kitten "$out/bin/kitten" + cp ./kitty.app/Contents/MacOS/kitten "$kitten/bin/kitten" + mkdir "$out/Applications" + cp -r kitty.app "$out/Applications/kitty.app" + + installManPage 'docs/_build/man/kitty.1' + '' else '' + cp -r linux-package/{bin,share,lib} "$out" + cp linux-package/bin/kitten "$kitten/bin/kitten" + ''} + wrapProgram "$out/bin/kitty" --prefix PATH : "$out/bin:${lib.makeBinPath [ imagemagick ncurses.dev ]}" + + installShellCompletion --cmd kitty \ + --bash <("$out/bin/kitty" +complete setup bash) \ + --fish <("$out/bin/kitty" +complete setup fish2) \ + --zsh <("$out/bin/kitty" +complete setup zsh) + + terminfo_src=${if stdenv.isDarwin then + ''"$out/Applications/kitty.app/Contents/Resources/terminfo"'' + else + "$out/share/terminfo"} + + mkdir -p $terminfo/share + mv "$terminfo_src" $terminfo/share/terminfo + + mkdir -p "$out/nix-support" + echo "$terminfo" >> $out/nix-support/propagated-user-env-packages + + cp -r 'shell-integration' "$shell_integration" + + runHook postInstall + ''; + + passthru = { + tests.test = nixosTests.terminal-emulators.kitty; + updateScript = nix-update-script {}; + }; + + meta = with lib; { + homepage = "https://github.com/kovidgoyal/kitty"; + description = "A modern, hackable, featureful, OpenGL based terminal emulator"; + license = licenses.gpl3Only; + changelog = "https://sw.kovidgoyal.net/kitty/changelog/"; + platforms = platforms.darwin ++ platforms.linux; + mainProgram = "kitty"; + maintainers = with maintainers; [ tex rvolosatovs Luflosi adamcstephens kashw2 ]; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/kitty/disable-test_ssh_bootstrap_with_different_launchers.patch b/nixpkgs/pkgs/applications/terminal-emulators/kitty/disable-test_ssh_bootstrap_with_different_launchers.patch new file mode 100644 index 000000000000..584815b9e07a --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/kitty/disable-test_ssh_bootstrap_with_different_launchers.patch @@ -0,0 +1,13 @@ +diff --git a/kitty_tests/ssh.py b/kitty_tests/ssh.py +index 1f424146..d3cc191b 100644 +--- a/kitty_tests/ssh.py ++++ b/kitty_tests/ssh.py +@@ -166,7 +166,7 @@ def test_ssh_bootstrap_with_different_launchers(self): + for sh in self.all_possible_sh: + if sh == 'sh' or 'python' in sh: + q = shutil.which(launcher) +- if q: ++ if q and not 'zsh' in q: + with self.subTest(sh=sh, launcher=q), tempfile.TemporaryDirectory() as tdir: + self.check_bootstrap(sh, tdir, test_script='env; exit 0', SHELL_INTEGRATION_VALUE='', launcher=q) + diff --git a/nixpkgs/pkgs/applications/terminal-emulators/kitty/fix-test_ssh_env_vars.patch b/nixpkgs/pkgs/applications/terminal-emulators/kitty/fix-test_ssh_env_vars.patch new file mode 100644 index 000000000000..719b38b48159 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/kitty/fix-test_ssh_env_vars.patch @@ -0,0 +1,13 @@ +diff --git a/kitty_tests/ssh.py b/kitty_tests/ssh.py +index 7b3bdbeb..710aeceb 100644 +--- a/kitty_tests/ssh.py ++++ b/kitty_tests/ssh.py +@@ -272,8 +272,6 @@ def check_bootstrap(self, sh, home_dir, login_shell='', SHELL_INTEGRATION_VALUE= + + def check_untar_or_fail(): + q = pty.screen_contents() +- if 'bzip2' in q: +- raise ValueError('Untarring failed with screen contents:\n' + q) + return 'UNTAR_DONE' in q + pty.wait_till(check_untar_or_fail) + self.assertTrue(os.path.exists(os.path.join(home_dir, '.terminfo/kitty.terminfo'))) diff --git a/nixpkgs/pkgs/applications/terminal-emulators/kitty/themes.nix b/nixpkgs/pkgs/applications/terminal-emulators/kitty/themes.nix new file mode 100644 index 000000000000..6ca522e4090f --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/kitty/themes.nix @@ -0,0 +1,36 @@ +{ lib +, stdenvNoCC +, fetchFromGitHub +}: + +stdenvNoCC.mkDerivation rec { + pname = "kitty-themes"; + version = "unstable-2023-09-15"; + + src = fetchFromGitHub { + owner = "kovidgoyal"; + repo = "kitty-themes"; + rev = "c9c12d20f83b9536febb21e4b53e176c0ccccb51"; + hash = "sha256-dhzYTHaaTrbE5k+xEC01Y9jGb+ZmEyvWMb4a2WWKGCw="; + }; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + install -Dm644 -t $out/share/kitty-themes/ themes.json + mv themes $out/share/kitty-themes + + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/kovidgoyal/kitty-themes"; + description = "Themes for the kitty terminal emulator"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ ]; + platforms = lib.platforms.all; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/kitty/zsh-compinit.patch b/nixpkgs/pkgs/applications/terminal-emulators/kitty/zsh-compinit.patch new file mode 100644 index 000000000000..168f80cb6733 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/kitty/zsh-compinit.patch @@ -0,0 +1,13 @@ +diff --git a/kitty_tests/ssh.py b/kitty_tests/ssh.py +index 1f424146..d9a65d25 100644 +--- a/kitty_tests/ssh.py ++++ b/kitty_tests/ssh.py +@@ -268,6 +268,8 @@ def check_untar_or_fail(): + return 'UNTAR_DONE' in q + pty.wait_till(check_untar_or_fail) + self.assertTrue(os.path.exists(os.path.join(home_dir, '.terminfo/kitty.terminfo'))) ++ if login_shell == 'zsh': ++ pty.send_cmd_to_child('y') + if SHELL_INTEGRATION_VALUE != 'enabled': + pty.wait_till(lambda: len(pty.screen_contents().splitlines()) > 1) + self.assertEqual(pty.screen.cursor.shape, 0) diff --git a/nixpkgs/pkgs/applications/terminal-emulators/lxterminal/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/lxterminal/default.nix new file mode 100644 index 000000000000..13f4e3c4119e --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/lxterminal/default.nix @@ -0,0 +1,52 @@ +{ lib, stdenv, fetchFromGitHub, automake, autoconf, intltool, pkg-config, gtk3, vte, wrapGAppsHook +, libxslt, docbook_xml_dtd_412, docbook_xsl, libxml2, findXMLCatalogs, nixosTests +}: + +stdenv.mkDerivation rec { + pname = "lxterminal"; + version = "0.3.2"; + + src = fetchFromGitHub { + owner = "lxde"; + repo = "lxterminal"; + rev = version; + sha256 = "sha256-5J21Xvx43Ie01IxB2usyixDl+WZEeFHn2HXZsRS5imo="; + }; + + configureFlags = [ + "--enable-man" + "--enable-gtk3" + ]; + + nativeBuildInputs = [ + automake autoconf intltool pkg-config wrapGAppsHook + libxslt docbook_xml_dtd_412 docbook_xsl libxml2 findXMLCatalogs + ]; + + buildInputs = [ gtk3 vte ]; + + patches = [ + ./respect-xml-catalog-files-var.patch + ]; + + preConfigure = '' + ./autogen.sh + ''; + + doCheck = true; + + passthru.tests.test = nixosTests.terminal-emulators.lxterminal; + + meta = { + description = "The standard terminal emulator of LXDE"; + longDescription = '' + LXTerminal is the standard terminal emulator of LXDE. The terminal is a + desktop-independent VTE-based terminal emulator for LXDE without any + unnecessary dependencies. + ''; + homepage = "https://wiki.lxde.org/en/LXTerminal"; + license = lib.licenses.gpl2; + maintainers = [ lib.maintainers.velovix ]; + platforms = lib.platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/lxterminal/respect-xml-catalog-files-var.patch b/nixpkgs/pkgs/applications/terminal-emulators/lxterminal/respect-xml-catalog-files-var.patch new file mode 100644 index 000000000000..598f506118f2 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/lxterminal/respect-xml-catalog-files-var.patch @@ -0,0 +1,15 @@ +diff --git a/acinclude.m4 b/acinclude.m4 +index be626c5..b449b1b 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -40,8 +40,8 @@ AC_DEFUN([JH_CHECK_XML_CATALOG], + [ + AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl + AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog]) +- if $jh_found_xmlcatalog && \ +- AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then ++ # empty argument forces libxml to use XML_CATALOG_FILES variable ++ if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then + AC_MSG_RESULT([found]) + ifelse([$3],,,[$3 + ])dnl diff --git a/nixpkgs/pkgs/applications/terminal-emulators/microcom/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/microcom/default.nix new file mode 100644 index 000000000000..890a70ac30b7 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/microcom/default.nix @@ -0,0 +1,29 @@ +{ stdenv, + lib, + fetchFromGitHub, + readline, + autoreconfHook }: + +stdenv.mkDerivation rec { + pname = "microcom"; + version = "2023.09.0"; + + src = fetchFromGitHub { + owner = "pengutronix"; + repo = pname; + rev = "v${version}"; + hash = "sha256-CT/myxOK4U3DzliGsa45WMIFcYLjcoxx6w5S1NL5c7Y="; + }; + + nativeBuildInputs = [ autoreconfHook ]; + buildInputs = [ readline ]; + + meta = with lib; { + description = "A minimalistic terminal program for communicating + with devices over a serial connection"; + inherit (src.meta) homepage; + license = licenses.gpl2; + maintainers = with maintainers; [ emantor ]; + platforms = with platforms; linux; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/mlterm/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/mlterm/default.nix new file mode 100644 index 000000000000..3614046f6846 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/mlterm/default.nix @@ -0,0 +1,220 @@ +{ stdenv +, lib +, fetchFromGitHub +, pkg-config +, autoconf +, makeDesktopItem +, nixosTests +, vte +, harfbuzz # can be replaced with libotf +, fribidi +, m17n_lib +, libssh2 #build-in ssh +, fcitx5 +, fcitx5-gtk +, ibus +, uim #IME +, wrapGAppsHook #color picker in mlconfig +, gdk-pixbuf +, gtk3 +, gtk ? gtk3 +# List of gui libraries to use. According to `./configure --help` ran on +# release 3.9.3, options are: (xlib|win32|fb|quartz|console|wayland|sdl2|beos) +, enableGuis ? { + xlib = enableX11; + # From some reason, upstream's ./configure script disables compilation of the + # external tool `mlconfig` if `enableGuis.fb == true`. This behavior is not + # documentd in `./configure --help`, and it is reported here: + # https://github.com/arakiken/mlterm/issues/73 + fb = false; + quartz = stdenv.isDarwin; + wayland = stdenv.isLinux; + sdl2 = true; +} +, libxkbcommon +, wayland # for the "wayland" --with-gui option +, SDL2 # for the "sdl" --with-gui option +# List of typing engines, the default list enables compiling all of the +# available ones, as recorded on release 3.9.3 +, enableTypeEngines ? { + xcore = false; # Considered legacy + xft = enableX11; + cairo = true; +} +, libX11 +, libXft +, cairo +# List of external tools to create, this default list includes all default +# tools, as recorded on release 3.9.3. +, enableTools ? { + mlclient = true; + mlconfig = true; + mlcc = true; + mlterm-menu = true; + # Note that according to upstream's ./configure script, to disable + # mlimgloader you have to disable _all_ tools. See: + # https://github.com/arakiken/mlterm/issues/69 + mlimgloader = true; + registobmp = true; + mlfc = true; +} +# Whether to enable the X window system +, enableX11 ? stdenv.isLinux +# Most of the input methods and other build features are enabled by default, +# the following attribute set can be used to disable some of them. It's parsed +# when we set `configureFlags`. If you find other configure Flags that require +# dependencies, it'd be nice to make that contribution here. +, enableFeatures ? { + uim = !stdenv.isDarwin; + ibus = !stdenv.isDarwin; + fcitx = !stdenv.isDarwin; + m17n = !stdenv.isDarwin; + ssh2 = true; + bidi = true; + # Open Type layout support, (substituting glyphs with opentype fonts) + otl = true; +} +# Configure the Exec directive in the generated .desktop file +, desktopBinary ? ( + if enableGuis.xlib then + "mlterm" + else if enableGuis.wayland then + "mlterm-wl" + else if enableGuis.sdl2 then + "mlterm-sdl2" + else + throw "mlterm: couldn't figure out what desktopBinary to use." + ) +}: + +let + # Returns a --with-feature=<comma separated string list of all `true` + # attributes>, or `--without-feature` if all attributes are false or don't + # exist. Used later in configureFlags + withFeaturesList = featureName: attrset: let + commaSepList = lib.concatStringsSep "," (builtins.attrNames (lib.filterAttrs (n: v: v) attrset)); + in + lib.withFeatureAs (commaSepList != "") featureName commaSepList + ; +in stdenv.mkDerivation (finalAttrs: { + pname = "mlterm"; + version = "3.9.3"; + + src = fetchFromGitHub { + owner = "arakiken"; + repo = "mlterm"; + rev = finalAttrs.version; + sha256 = "sha256-gfs5cdwUUwSBWwJJSaxrQGWJvLkI27RMlk5QvDALEDg="; + }; + + nativeBuildInputs = [ + pkg-config + autoconf + ] ++ lib.optionals enableTools.mlconfig [ + wrapGAppsHook + ]; + buildInputs = [ + gtk + vte + gdk-pixbuf + ] ++ lib.optionals enableTypeEngines.xcore [ + libX11 + ] ++ lib.optionals enableTypeEngines.xft [ + libXft + ] ++ lib.optionals enableTypeEngines.cairo [ + cairo + ] ++ lib.optionals enableGuis.wayland [ + libxkbcommon + wayland + ] ++ lib.optionals enableGuis.sdl2 [ + SDL2 + ] ++ lib.optionals enableFeatures.otl [ + harfbuzz + ] ++ lib.optionals enableFeatures.bidi [ + fribidi + ] ++ lib.optionals enableFeatures.ssh2 [ + libssh2 + ] ++ lib.optionals enableFeatures.m17n [ + m17n_lib + ] ++ lib.optionals enableFeatures.fcitx [ + fcitx5 + fcitx5-gtk + ] ++ lib.optionals enableFeatures.ibus [ + ibus + ] ++ lib.optionals enableFeatures.uim [ + uim + ]; + + #bad configure.ac and Makefile.in everywhere + preConfigure = '' + sed -ie 's;-L/usr/local/lib -R/usr/local/lib;;g' \ + main/Makefile.in \ + tool/mlfc/Makefile.in \ + tool/mlimgloader/Makefile.in \ + tool/mlconfig/Makefile.in \ + uitoolkit/libtype/Makefile.in \ + uitoolkit/libotl/Makefile.in + sed -ie 's;cd ..srcdir. && rm -f ...lang..gmo.*;;g' \ + tool/mlconfig/po/Makefile.in.in + #utmp and mlterm-fb + substituteInPlace configure.in \ + --replace "-m 2755 -g utmp" " " \ + --replace "-m 4755 -o root" " " + substituteInPlace configure \ + --replace "-m 2755 -g utmp" " " \ + --replace "-m 4755 -o root" " " + ''; + + configureFlags = [ + (withFeaturesList "type-engines" enableTypeEngines) + (withFeaturesList "tools" enableTools) + (withFeaturesList "gui" enableGuis) + (lib.withFeature enableX11 "x") + ] ++ lib.optionals (gtk != null) [ + "--with-gtk=${lib.versions.major gtk.version}.0" + ] ++ (lib.mapAttrsToList (n: v: lib.enableFeature v n) enableFeatures) ++ [ + ]; + + enableParallelBuilding = true; + + postInstall = '' + install -D contrib/icon/mlterm-icon.svg "$out/share/icons/hicolor/scalable/apps/mlterm.svg" + install -D contrib/icon/mlterm-icon-gnome2.png "$out/share/icons/hicolor/48x48/apps/mlterm.png" + install -D -t $out/share/applications $desktopItem/share/applications/* + '' + lib.optionalString stdenv.isDarwin '' + mkdir -p $out/Applications/ + cp -a cocoa/mlterm.app $out/Applications/ + install $out/bin/mlterm -Dt $out/Applications/mlterm.app/Contents/MacOS/ + ''; + + desktopItem = makeDesktopItem { + name = "mlterm"; + exec = "${desktopBinary} %U"; + icon = "mlterm"; + type = "Application"; + comment = "Multi Lingual TERMinal emulator"; + desktopName = "mlterm"; + genericName = "Terminal emulator"; + categories = [ "System" "TerminalEmulator" ]; + startupNotify = false; + }; + + passthru = { + tests.test = nixosTests.terminal-emulators.mlterm; + inherit + enableTypeEngines + enableTools + enableGuis + enableFeatures + ; + }; + + meta = with lib; { + description = "Multi Lingual TERMinal emulator"; + homepage = "https://mlterm.sourceforge.net/"; + license = licenses.bsd3; + maintainers = with maintainers; [ ramkromberg atemu doronbehar ]; + platforms = platforms.all; + mainProgram = desktopBinary; + }; +}) diff --git a/nixpkgs/pkgs/applications/terminal-emulators/mrxvt/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/mrxvt/default.nix new file mode 100644 index 000000000000..b05872b11e4d --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/mrxvt/default.nix @@ -0,0 +1,59 @@ +{ lib +, stdenv +, fetchurl +, libX11 +, libXft +, libXi +, xorgproto +, libSM +, libICE +, freetype +, pkg-config +, which +, nixosTests +}: + +stdenv.mkDerivation rec { + pname = "mrxvt"; + version = "0.5.4"; + + src = fetchurl { + url = "mirror://sourceforge/materm/mrxvt-${version}.tar.gz"; + sha256 = "1mqhmnlz32lvld9rc6c1hyz7gjw4anwf39yhbsjkikcgj1das0zl"; + }; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ libX11 libXft libXi xorgproto libSM libICE freetype which ]; + + configureFlags = [ + "--with-x" + "--enable-frills" + "--enable-xft" + "--enable-xim" + # "--with-term=xterm" + "--with-max-profiles=100" + "--with-max-term=100" + "--with-save-lines=10000" + ]; + + preConfigure = '' + NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype.dev}/include/freetype2"; + ''; + + passthru.tests.test = nixosTests.terminal-emulators.mrxvt; + + meta = with lib; { + description = "Lightweight multitabbed feature-rich X11 terminal emulator"; + longDescription = " + Multitabbed lightweight terminal emulator based on rxvt. + Supports transparency, backgroundimages, freetype fonts, ... + "; + homepage = "https://sourceforge.net/projects/materm"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ ]; + knownVulnerabilities = [ + "Usage of ANSI escape sequences causes unexpected newline-termination, leading to unexpected command execution (https://www.openwall.com/lists/oss-security/2021/05/17/1)" + ]; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rio/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/rio/default.nix new file mode 100644 index 000000000000..950d2f8f401e --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/rio/default.nix @@ -0,0 +1,118 @@ +{ lib +, stdenv +, darwin +, fetchFromGitHub +, rustPlatform +, nixosTests +, nix-update-script + +, autoPatchelfHook +, ncurses +, pkg-config + +, gcc-unwrapped +, fontconfig +, libGL +, vulkan-loader +, libxkbcommon + +, withX11 ? !stdenv.isDarwin +, libX11 +, libXcursor +, libXi +, libXrandr +, libxcb + +, withWayland ? !stdenv.isDarwin +, wayland +}: +let + rlinkLibs = if stdenv.isDarwin then [ + darwin.libobjc + darwin.apple_sdk.frameworks.AppKit + ] else [ + (lib.getLib gcc-unwrapped) + fontconfig + libGL + libxkbcommon + vulkan-loader + ] ++ lib.optionals withX11 [ + libX11 + libXcursor + libXi + libXrandr + libxcb + ] ++ lib.optionals withWayland [ + wayland + ]; +in +rustPlatform.buildRustPackage rec { + pname = "rio"; + version = "0.0.19"; + + src = fetchFromGitHub { + owner = "raphamorim"; + repo = "rio"; + rev = "v${version}"; + hash = "sha256-N7eHIyp2imkMUVwiOCameOROoaDJ7g+zNKdIB2aGZy0="; + }; + + cargoHash = "sha256-XD+/DaaJEJ9jHZITTUma/wfsbduPUTc/SralPOx46Yo="; + + nativeBuildInputs = [ + ncurses + ] ++ lib.optionals stdenv.isLinux [ + pkg-config + autoPatchelfHook + ]; + + runtimeDependencies = rlinkLibs; + + buildInputs = rlinkLibs; + + outputs = [ "out" "terminfo" ]; + + buildNoDefaultFeatures = true; + buildFeatures = [ ] + ++ lib.optional withX11 "x11" + ++ lib.optional withWayland "wayland"; + + checkFlags = [ + # Fail to run in sandbox environment. + "--skip=screen::context::test" + ]; + + postInstall = '' + install -D -m 644 misc/rio.desktop -t $out/share/applications + install -D -m 644 rio/src/screen/window/resources/images/logo.png \ + $out/share/icons/hicolor/scalable/apps/rio.png + + install -dm 755 "$terminfo/share/terminfo/r/" + tic -xe rio,rio-direct -o "$terminfo/share/terminfo" misc/rio.terminfo + mkdir -p $out/nix-support + echo "$terminfo" >> $out/nix-support/propagated-user-env-packages + '' + lib.optionalString stdenv.isDarwin '' + mkdir $out/Applications/ + mv misc/osx/Rio.app/ $out/Applications/ + mkdir $out/Applications/Rio.app/Contents/MacOS/ + ln -s $out/bin/rio $out/Applications/Rio.app/Contents/MacOS/ + ''; + + passthru = { + updateScript = nix-update-script { + extraArgs = [ "--version-regex" "v([0-9.]+)" ]; + }; + + tests.test = nixosTests.terminal-emulators.rio; + }; + + meta = { + description = "A hardware-accelerated GPU terminal emulator powered by WebGPU"; + homepage = "https://raphamorim.io/rio"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ otavio oluceps ]; + platforms = lib.platforms.unix; + changelog = "https://github.com/raphamorim/rio/blob/v${version}/CHANGELOG.md"; + mainProgram = "rio"; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/roxterm/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/roxterm/default.nix new file mode 100644 index 000000000000..e39b61499e19 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/roxterm/default.nix @@ -0,0 +1,39 @@ +{ at-spi2-core, cmake, dbus, dbus-glib, docbook_xsl, libepoxy, fetchFromGitHub +, glib, gtk3, harfbuzz, libXdmcp, libXtst, libpthreadstubs +, libselinux, libsepol, libtasn1, libxkbcommon, libxslt, p11-kit, pcre2 +, pkg-config, lib, stdenv, util-linuxMinimal, vte, wrapGAppsHook, xmlto, nixosTests +}: + +stdenv.mkDerivation rec { + pname = "roxterm"; + version = "3.14.2"; + + src = fetchFromGitHub { + owner = "realh"; + repo = "roxterm"; + rev = version; + sha256 = "sha256-LBxVZ5Az0vGalbQd437of5a3aoZH51v6OKTfndHkkiM="; + }; + + nativeBuildInputs = [ cmake pkg-config wrapGAppsHook libxslt ]; + + buildInputs = + [ gtk3 dbus dbus-glib vte pcre2 harfbuzz libpthreadstubs libXdmcp + util-linuxMinimal glib docbook_xsl xmlto libselinux + libsepol libxkbcommon libepoxy at-spi2-core libXtst libtasn1 p11-kit + ]; + + passthru.tests.test = nixosTests.terminal-emulators.roxterm; + + meta = with lib; { + homepage = "https://github.com/realh/roxterm"; + license = licenses.gpl3; + description = "Tabbed, VTE-based terminal emulator"; + longDescription = '' + Tabbed, VTE-based terminal emulator. Similar to gnome-terminal without + the dependencies on Gnome. + ''; + maintainers = with maintainers; [ ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/default.nix new file mode 100644 index 000000000000..74bfbe83e91f --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/default.nix @@ -0,0 +1,22 @@ +{ callPackage }: + +{ + autocomplete-all-the-things = callPackage ./urxvt-autocomplete-all-the-things { }; + + bidi = callPackage ./urxvt-bidi { }; + + font-size = callPackage ./urxvt-font-size { }; + + perl = callPackage ./urxvt-perl { }; + + perls = callPackage ./urxvt-perls { }; + + resize-font = callPackage ./urxvt-resize-font { }; + + tabbedex = callPackage ./urxvt-tabbedex { }; + + theme-switch = callPackage ./urxvt-theme-switch { }; + + vtwheel = callPackage ./urxvt-vtwheel { }; + +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-autocomplete-all-the-things/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-autocomplete-all-the-things/default.nix new file mode 100644 index 000000000000..6217bc0659a2 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-autocomplete-all-the-things/default.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "urxvt-autocomplete-all-the-things"; + version = "1.6.0"; + + src = fetchFromGitHub { + owner = "Vifon"; + repo = "autocomplete-ALL-the-things"; + rev = version; + sha256 = "06xd59c6gd9rglwq4km93n2p078k7v4x300lqrg1f32vvnjvs7sr"; + }; + + installPhase = '' + mkdir -p $out/lib/urxvt/perl + cp autocomplete-ALL-the-things $out/lib/urxvt/perl + ''; + + meta = with lib; { + description = "urxvt plugin allowing user to easily complete arbitrary text"; + homepage = "https://github.com/Vifon/autocomplete-ALL-the-things"; + license = licenses.gpl3; + maintainers = with maintainers; [ nickhu ]; + platforms = with platforms; unix; + }; +} + diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-bidi/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-bidi/default.nix new file mode 100644 index 000000000000..cb3843cb61ea --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-bidi/default.nix @@ -0,0 +1,27 @@ +{ lib, fetchurl, perlPackages, pkg-config, fribidi }: + +perlPackages.buildPerlPackage rec { + pname = "urxvt-bidi"; + version = "2.15"; + + src = fetchurl { + url = "mirror://cpan/authors/id/K/KA/KAMENSKY/Text-Bidi-${version}.tar.gz"; + sha256 = "1w65xbi4mw5acsrpv3phyzv82ghb29kpbb3b1b1gcinlfxl6f61m"; + }; + + nativeBuildInputs = [ pkg-config perlPackages.ExtUtilsPkgConfig ]; + buildInputs = [ fribidi ]; + + postInstall = '' + install -Dm555 misc/bidi "$out/lib/urxvt/perl/bidi" + ''; + + passthru.perlPackages = [ "self" ]; + + meta = with lib; { + description = "Text::Bidi Perl package using fribidi, providing a urxvt plugin"; + homepage = "https://github.com/mkamensky/Text-Bidi"; + maintainers = with maintainers; [ doronbehar ]; + platforms = with platforms; unix; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix new file mode 100644 index 000000000000..ac2a5f09fb0f --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix @@ -0,0 +1,30 @@ +{ lib, stdenv, fetchFromGitHub, xrdb, xlsfonts }: + +stdenv.mkDerivation rec { + pname = "urxvt-font-size"; + version = "1.3"; + + src = fetchFromGitHub { + owner = "majutsushi"; + repo = "urxvt-font-size"; + rev = "v${version}"; + sha256 = "1526ap161cp3378f4ijd09nmsh71ld7bkxxhp8p6razdi2v8r16h"; + }; + + installPhase = '' + substituteInPlace font-size \ + --replace "xrdb -merge" "${xrdb}/bin/xrdb -merge" \ + --replace "xlsfonts" "${xlsfonts}/bin/xlsfonts" + + mkdir -p $out/lib/urxvt/perl + cp font-size $out/lib/urxvt/perl + ''; + + meta = with lib; { + description = "Change the urxvt font size on the fly"; + homepage = "https://github.com/majutsushi/urxvt-font-size"; + license = licenses.mit; + maintainers = with maintainers; [ ]; + platforms = with platforms; unix; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perl/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perl/default.nix new file mode 100644 index 000000000000..f30507483fac --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perl/default.nix @@ -0,0 +1,30 @@ +{ lib, stdenv, fetchFromGitHub, wmctrl }: + +stdenv.mkDerivation { + pname = "urxvt-perl"; + version = "unstable-2015-01-16"; + + src = fetchFromGitHub { + owner = "effigies"; + repo = "urxvt-perl"; + rev = "c3beb9ff09a7139591416c61f8e9458c8a23bea5"; + sha256 = "1w1p8ng7bwq5hnaprjl1zf073y5l3hdsj7sz7cll6isjswcm6r0s"; + }; + + installPhase = '' + substituteInPlace fullscreen \ + --replace "wmctrl" "${wmctrl}/bin/wmctrl" + + mkdir -p $out/lib/urxvt/perl + cp fullscreen $out/lib/urxvt/perl + cp newterm $out/lib/urxvt/perl + ''; + + meta = with lib; { + description = "Perl extensions for the rxvt-unicode terminal emulator"; + homepage = "https://github.com/effigies/urxvt-perl"; + license = licenses.gpl3; + maintainers = with maintainers; [ ]; + platforms = with platforms; unix; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perls/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perls/default.nix new file mode 100644 index 000000000000..33bf75c841bf --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-perls/default.nix @@ -0,0 +1,29 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "urxvt-perls"; + version = "2.3"; + + src = fetchFromGitHub { + owner = "muennich"; + repo = "urxvt-perls"; + rev = version; + sha256 = "0xvwfw7965ghhd9g6rl6y6fgpd444l46rjqmlgg0rfjypbh6c0p1"; + }; + + installPhase = '' + mkdir -p $out/lib/urxvt/perl + cp keyboard-select $out/lib/urxvt/perl + cp deprecated/clipboard \ + deprecated/url-select \ + $out/lib/urxvt/perl + ''; + + meta = with lib; { + description = "Perl extensions for the rxvt-unicode terminal emulator"; + homepage = "https://github.com/muennich/urxvt-perls"; + license = licenses.gpl2; + maintainers = with maintainers; [ abbradar ]; + platforms = with platforms; unix; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-resize-font/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-resize-font/default.nix new file mode 100644 index 000000000000..95b369b70f99 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-resize-font/default.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation { + pname = "urxvt-resize-font"; + version = "2019-10-05"; + dontPatchShebangs = true; + + src = fetchFromGitHub { + owner = "simmel"; + repo = "urxvt-resize-font"; + rev = "e966a5d77264e9263bfc8a51e160fad24055776b"; + sha256 = "18ab3bsfdkzzh1n9fpi2al5bksvv2b7fjmvxpx6fzqcy4bc64vkh"; + }; + + installPhase = '' + mkdir -p $out/lib/urxvt/perl + cp resize-font $out/lib/urxvt/perl + ''; + + meta = with lib; { + description = "URxvt Perl extension for resizing the font"; + homepage = "https://github.com/simmel/urxvt-resize-font"; + license = licenses.mit; + maintainers = with maintainers; [ rnhmjoj ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-tabbedex/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-tabbedex/default.nix new file mode 100644 index 000000000000..4fc32f55e070 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-tabbedex/default.nix @@ -0,0 +1,24 @@ +{ lib, stdenv, fetchFromGitHub, perl }: + +stdenv.mkDerivation rec { + pname = "urxvt-tabbedex"; + version = "19.21"; + + src = fetchFromGitHub { + owner = "mina86"; + repo = "urxvt-tabbedex"; + rev = "v${version}"; + sha256 = "06msd156h6r8ss7qg66sjz5jz8613qfq2yvp0pc24i6mxzj8vl77"; + }; + + nativeBuildInputs = [ perl ]; + + installFlags = [ "PREFIX=$(out)" ]; + + meta = with lib; { + description = "Tabbed plugin for rxvt-unicode with many enhancements (mina86's fork)"; + homepage = "https://github.com/mina86/urxvt-tabbedex"; + maintainers = with maintainers; [ abbradar ]; + platforms = with platforms; unix; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-theme-switch/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-theme-switch/default.nix new file mode 100644 index 000000000000..c7510568e264 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-theme-switch/default.nix @@ -0,0 +1,29 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "urxvt-theme-switch"; + version = "unstable-2014-12-21"; + + dontPatchShebangs = true; + + src = fetchFromGitHub { + owner = "felixr"; + repo = "urxvt-theme-switch"; + rev = "cfcbcc3dd5a5b09a3fec0f6a1fea95f4a36a48c4"; + sha256 = "0x27m1vdqprn3lqpwgxvffill7prmaj6j9rhgvkvi13mzl5wmlli"; + }; + + installPhase = '' + mkdir -p $out/lib/urxvt/perl + sed -i -e "s|/usr/bin/env||" color-themes + cp color-themes $out/lib/urxvt/perl + ''; + + meta = with lib; { + description = "urxvt plugin that allows to switch color themes during runtime"; + homepage = "https://github.com/felixr/urxvt-theme-switch"; + license = "CCBYNC"; + maintainers = with maintainers; [ ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-vtwheel/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-vtwheel/default.nix new file mode 100644 index 000000000000..7d3d69122f62 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-vtwheel/default.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchgit, perl }: + +stdenv.mkDerivation { + pname = "rxvt-unicode-vtwheel"; + version = "0.3.2"; + + src = fetchgit { + url = "https://aur.archlinux.org/urxvt-vtwheel.git"; + rev = "36d3e861664aeae36a45f96100f10f8fe2218035"; + sha256 = "1h3vrsbli5q9kr84j5ijbivlhpwlh3l8cv233pg362v2zz4ja8i7"; + }; + + installPhase = '' + sed -i 's|#! perl|#! ${perl}/bin/perl|g' vtwheel + mkdir -p $out/lib/urxvt/perl + cp vtwheel $out/lib/urxvt/perl + ''; + + meta = with lib; { + description = "Pass mouse wheel commands to secondary screens (screen, less, nano, etc)"; + homepage = "https://aur.archlinux.org/packages/urxvt-vtwheel"; + license = licenses.mit; + maintainers = with maintainers; [ danbst ]; + platforms = with platforms; unix; + }; + +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix new file mode 100644 index 000000000000..e932fcdea05f --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix @@ -0,0 +1,122 @@ +{ lib, stdenv, fetchurl, fetchpatch, makeDesktopItem +, libX11, libXt, libXft, libXrender, libXext +, ncurses, fontconfig, freetype +, pkg-config, gdk-pixbuf, perl +, libptytty +, perlSupport ? true +, gdkPixbufSupport ? true +, unicode3Support ? true +, emojiSupport ? false +, nixosTests +}: + +let + pname = "rxvt-unicode"; + version = "9.31"; + description = "A clone of the well-known terminal emulator rxvt"; + + desktopItem = makeDesktopItem { + name = pname; + exec = "urxvt"; + icon = "utilities-terminal"; + comment = description; + desktopName = "URxvt"; + genericName = pname; + categories = [ "System" "TerminalEmulator" ]; + }; + + fetchPatchFromAUR = { package, name, rev, sha256 }: + fetchpatch rec { + url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=${package}&id=${rev}"; + extraPrefix = ""; + inherit name sha256; + }; +in + +with lib; + +stdenv.mkDerivation { + name = "${pname}-unwrapped-${version}"; + inherit pname version; + + src = fetchurl { + url = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${version}.tar.bz2"; + sha256 = "qqE/y8FJ/g8/OR+TMnlYD3Spb9MS1u0GuP8DwtRmcug="; + }; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = + [ libX11 libXt libXft ncurses # required to build the terminfo file + fontconfig freetype libXrender + libptytty + ] ++ optionals perlSupport [ perl libXext ] + ++ optional gdkPixbufSupport gdk-pixbuf; + + outputs = [ "out" "terminfo" ]; + + patches = (if emojiSupport then [ + # the required patches to libXft are in nixpkgs by default, see + # ../../../servers/x11/xorg/overrides.nix + (fetchPatchFromAUR { + name = "enable-wide-glyphs.patch"; + package = "rxvt-unicode-truecolor-wide-glyphs"; + rev = "69701a09c2c206233952b84bc966407f6774f1dc"; + sha256 = "0jfcj0ahky4dxdfrhqvh1v83mblhf5nak56dk1vq3bhyifdg7ffq"; + }) + (fetchPatchFromAUR { + name = "improve-font-rendering.patch"; + package = "rxvt-unicode-truecolor-wide-glyphs"; + rev = "69701a09c2c206233952b84bc966407f6774f1dc"; + sha256 = "1jj5ai2182nq912279adihi4zph1w4dvbdqa1pwacy4na6y0fz9y"; + }) + ] else [ + ./patches/9.06-font-width.patch + ]) ++ [ + ./patches/256-color-resources.patch + ] ++ optional (perlSupport && versionAtLeast perl.version "5.38") (fetchpatch { + name = "perl538-locale-c.patch"; + url = "https://github.com/exg/rxvt-unicode/commit/16634bc8dd5fc4af62faf899687dfa8f27768d15.patch"; + excludes = [ "Changes" ]; + sha256 = "sha256-JVqzYi3tcWIN2j5JByZSztImKqbbbB3lnfAwUXrumHM="; + }) ++ optional stdenv.isDarwin ./patches/makefile-phony.patch; + + configureFlags = [ + "--with-terminfo=${placeholder "terminfo"}/share/terminfo" + "--enable-256-color" + (enableFeature perlSupport "perl") + (enableFeature unicode3Support "unicode3") + ] ++ optional emojiSupport "--enable-wide-glyphs"; + + LDFLAGS = [ "-lfontconfig" "-lXrender" "-lpthread" ]; + CFLAGS = [ "-I${freetype.dev}/include/freetype2" ]; + + preConfigure = + '' + # without this the terminfo won't be compiled by tic, see man tic + mkdir -p $terminfo/share/terminfo + export TERMINFO=$terminfo/share/terminfo + '' + + lib.optionalString perlSupport '' + # make urxvt find its perl file lib/perl5/site_perl + # is added to PERL5LIB automatically + mkdir -p $out/$(dirname ${perl.libPrefix}) + ln -s $out/lib/urxvt $out/${perl.libPrefix} + ''; + + postInstall = '' + mkdir -p $out/nix-support + echo "$terminfo" >> $out/nix-support/propagated-user-env-packages + cp -r ${desktopItem}/share/applications/ $out/share/ + ''; + + passthru.tests.test = nixosTests.terminal-emulators.urxvt; + + meta = { + inherit description; + homepage = "http://software.schmorp.de/pkg/rxvt-unicode.html"; + downloadPage = "http://dist.schmorp.de/rxvt-unicode/Attic/"; + maintainers = with maintainers; [ rnhmjoj ]; + platforms = platforms.unix; + license = licenses.gpl3; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/patches/256-color-resources.patch b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/patches/256-color-resources.patch new file mode 100644 index 000000000000..c8d2acfbdc51 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/patches/256-color-resources.patch @@ -0,0 +1,255 @@ +diff --git a/src/xdefaults.C b/src/xdefaults.C +index 23b6822..382f3b1 100644 +--- a/src/xdefaults.C ++++ b/src/xdefaults.C +@@ -155,6 +155,250 @@ optList[] = { + RSTRG (Rs_color + minCOLOR + 5, "color5", "color"), + RSTRG (Rs_color + minCOLOR + 6, "color6", "color"), + RSTRG (Rs_color + minCOLOR + 7, "color7", "color"), ++ // 88 xterm colors ++ RSTRG (Rs_color + minCOLOR + 16, "color16", "color"), ++ RSTRG (Rs_color + minCOLOR + 17, "color17", "color"), ++ RSTRG (Rs_color + minCOLOR + 18, "color18", "color"), ++ RSTRG (Rs_color + minCOLOR + 19, "color19", "color"), ++ RSTRG (Rs_color + minCOLOR + 20, "color20", "color"), ++ RSTRG (Rs_color + minCOLOR + 21, "color21", "color"), ++ RSTRG (Rs_color + minCOLOR + 22, "color22", "color"), ++ RSTRG (Rs_color + minCOLOR + 23, "color23", "color"), ++ RSTRG (Rs_color + minCOLOR + 24, "color24", "color"), ++ RSTRG (Rs_color + minCOLOR + 25, "color25", "color"), ++ RSTRG (Rs_color + minCOLOR + 26, "color26", "color"), ++ RSTRG (Rs_color + minCOLOR + 27, "color27", "color"), ++ RSTRG (Rs_color + minCOLOR + 28, "color28", "color"), ++ RSTRG (Rs_color + minCOLOR + 29, "color29", "color"), ++ RSTRG (Rs_color + minCOLOR + 30, "color30", "color"), ++ RSTRG (Rs_color + minCOLOR + 31, "color31", "color"), ++ RSTRG (Rs_color + minCOLOR + 32, "color32", "color"), ++ RSTRG (Rs_color + minCOLOR + 33, "color33", "color"), ++ RSTRG (Rs_color + minCOLOR + 34, "color34", "color"), ++ RSTRG (Rs_color + minCOLOR + 35, "color35", "color"), ++ RSTRG (Rs_color + minCOLOR + 36, "color36", "color"), ++ RSTRG (Rs_color + minCOLOR + 37, "color37", "color"), ++ RSTRG (Rs_color + minCOLOR + 38, "color38", "color"), ++ RSTRG (Rs_color + minCOLOR + 39, "color39", "color"), ++ RSTRG (Rs_color + minCOLOR + 40, "color40", "color"), ++ RSTRG (Rs_color + minCOLOR + 41, "color41", "color"), ++ RSTRG (Rs_color + minCOLOR + 42, "color42", "color"), ++ RSTRG (Rs_color + minCOLOR + 43, "color43", "color"), ++ RSTRG (Rs_color + minCOLOR + 44, "color44", "color"), ++ RSTRG (Rs_color + minCOLOR + 45, "color45", "color"), ++ RSTRG (Rs_color + minCOLOR + 46, "color46", "color"), ++ RSTRG (Rs_color + minCOLOR + 47, "color47", "color"), ++ RSTRG (Rs_color + minCOLOR + 48, "color48", "color"), ++ RSTRG (Rs_color + minCOLOR + 49, "color49", "color"), ++ RSTRG (Rs_color + minCOLOR + 50, "color50", "color"), ++ RSTRG (Rs_color + minCOLOR + 51, "color51", "color"), ++ RSTRG (Rs_color + minCOLOR + 52, "color52", "color"), ++ RSTRG (Rs_color + minCOLOR + 53, "color53", "color"), ++ RSTRG (Rs_color + minCOLOR + 54, "color54", "color"), ++ RSTRG (Rs_color + minCOLOR + 55, "color55", "color"), ++ RSTRG (Rs_color + minCOLOR + 56, "color56", "color"), ++ RSTRG (Rs_color + minCOLOR + 57, "color57", "color"), ++ RSTRG (Rs_color + minCOLOR + 58, "color58", "color"), ++ RSTRG (Rs_color + minCOLOR + 59, "color59", "color"), ++ RSTRG (Rs_color + minCOLOR + 60, "color60", "color"), ++ RSTRG (Rs_color + minCOLOR + 61, "color61", "color"), ++ RSTRG (Rs_color + minCOLOR + 62, "color62", "color"), ++ RSTRG (Rs_color + minCOLOR + 63, "color63", "color"), ++ RSTRG (Rs_color + minCOLOR + 64, "color64", "color"), ++ RSTRG (Rs_color + minCOLOR + 65, "color65", "color"), ++ RSTRG (Rs_color + minCOLOR + 66, "color66", "color"), ++ RSTRG (Rs_color + minCOLOR + 67, "color67", "color"), ++ RSTRG (Rs_color + minCOLOR + 68, "color68", "color"), ++ RSTRG (Rs_color + minCOLOR + 69, "color69", "color"), ++ RSTRG (Rs_color + minCOLOR + 70, "color70", "color"), ++ RSTRG (Rs_color + minCOLOR + 71, "color71", "color"), ++ RSTRG (Rs_color + minCOLOR + 72, "color72", "color"), ++ RSTRG (Rs_color + minCOLOR + 73, "color73", "color"), ++ RSTRG (Rs_color + minCOLOR + 74, "color74", "color"), ++ RSTRG (Rs_color + minCOLOR + 75, "color75", "color"), ++ RSTRG (Rs_color + minCOLOR + 76, "color76", "color"), ++ RSTRG (Rs_color + minCOLOR + 77, "color77", "color"), ++ RSTRG (Rs_color + minCOLOR + 78, "color78", "color"), ++ RSTRG (Rs_color + minCOLOR + 79, "color79", "color"), ++ RSTRG (Rs_color + minCOLOR + 80, "color80", "color"), ++ RSTRG (Rs_color + minCOLOR + 81, "color81", "color"), ++ RSTRG (Rs_color + minCOLOR + 82, "color82", "color"), ++ RSTRG (Rs_color + minCOLOR + 83, "color83", "color"), ++ RSTRG (Rs_color + minCOLOR + 84, "color84", "color"), ++ RSTRG (Rs_color + minCOLOR + 85, "color85", "color"), ++ RSTRG (Rs_color + minCOLOR + 86, "color86", "color"), ++ RSTRG (Rs_color + minCOLOR + 87, "color87", "color"), ++#if USE_256_COLORS ++ // 256 xterm colors ++ RSTRG (Rs_color + minCOLOR + 88, "color88", "color"), ++ RSTRG (Rs_color + minCOLOR + 89, "color89", "color"), ++ RSTRG (Rs_color + minCOLOR + 90, "color90", "color"), ++ RSTRG (Rs_color + minCOLOR + 91, "color91", "color"), ++ RSTRG (Rs_color + minCOLOR + 92, "color92", "color"), ++ RSTRG (Rs_color + minCOLOR + 93, "color93", "color"), ++ RSTRG (Rs_color + minCOLOR + 94, "color94", "color"), ++ RSTRG (Rs_color + minCOLOR + 95, "color95", "color"), ++ RSTRG (Rs_color + minCOLOR + 96, "color96", "color"), ++ RSTRG (Rs_color + minCOLOR + 97, "color97", "color"), ++ RSTRG (Rs_color + minCOLOR + 98, "color98", "color"), ++ RSTRG (Rs_color + minCOLOR + 99, "color99", "color"), ++ RSTRG (Rs_color + minCOLOR + 100, "color100", "color"), ++ RSTRG (Rs_color + minCOLOR + 101, "color101", "color"), ++ RSTRG (Rs_color + minCOLOR + 102, "color102", "color"), ++ RSTRG (Rs_color + minCOLOR + 103, "color103", "color"), ++ RSTRG (Rs_color + minCOLOR + 104, "color104", "color"), ++ RSTRG (Rs_color + minCOLOR + 105, "color105", "color"), ++ RSTRG (Rs_color + minCOLOR + 106, "color106", "color"), ++ RSTRG (Rs_color + minCOLOR + 107, "color107", "color"), ++ RSTRG (Rs_color + minCOLOR + 108, "color108", "color"), ++ RSTRG (Rs_color + minCOLOR + 109, "color109", "color"), ++ RSTRG (Rs_color + minCOLOR + 110, "color110", "color"), ++ RSTRG (Rs_color + minCOLOR + 111, "color111", "color"), ++ RSTRG (Rs_color + minCOLOR + 112, "color112", "color"), ++ RSTRG (Rs_color + minCOLOR + 113, "color113", "color"), ++ RSTRG (Rs_color + minCOLOR + 114, "color114", "color"), ++ RSTRG (Rs_color + minCOLOR + 115, "color115", "color"), ++ RSTRG (Rs_color + minCOLOR + 116, "color116", "color"), ++ RSTRG (Rs_color + minCOLOR + 117, "color117", "color"), ++ RSTRG (Rs_color + minCOLOR + 118, "color118", "color"), ++ RSTRG (Rs_color + minCOLOR + 119, "color119", "color"), ++ RSTRG (Rs_color + minCOLOR + 120, "color120", "color"), ++ RSTRG (Rs_color + minCOLOR + 121, "color121", "color"), ++ RSTRG (Rs_color + minCOLOR + 122, "color122", "color"), ++ RSTRG (Rs_color + minCOLOR + 123, "color123", "color"), ++ RSTRG (Rs_color + minCOLOR + 124, "color124", "color"), ++ RSTRG (Rs_color + minCOLOR + 125, "color125", "color"), ++ RSTRG (Rs_color + minCOLOR + 126, "color126", "color"), ++ RSTRG (Rs_color + minCOLOR + 127, "color127", "color"), ++ RSTRG (Rs_color + minCOLOR + 128, "color128", "color"), ++ RSTRG (Rs_color + minCOLOR + 129, "color129", "color"), ++ RSTRG (Rs_color + minCOLOR + 130, "color130", "color"), ++ RSTRG (Rs_color + minCOLOR + 131, "color131", "color"), ++ RSTRG (Rs_color + minCOLOR + 132, "color132", "color"), ++ RSTRG (Rs_color + minCOLOR + 133, "color133", "color"), ++ RSTRG (Rs_color + minCOLOR + 134, "color134", "color"), ++ RSTRG (Rs_color + minCOLOR + 135, "color135", "color"), ++ RSTRG (Rs_color + minCOLOR + 136, "color136", "color"), ++ RSTRG (Rs_color + minCOLOR + 137, "color137", "color"), ++ RSTRG (Rs_color + minCOLOR + 138, "color138", "color"), ++ RSTRG (Rs_color + minCOLOR + 139, "color139", "color"), ++ RSTRG (Rs_color + minCOLOR + 140, "color140", "color"), ++ RSTRG (Rs_color + minCOLOR + 141, "color141", "color"), ++ RSTRG (Rs_color + minCOLOR + 142, "color142", "color"), ++ RSTRG (Rs_color + minCOLOR + 143, "color143", "color"), ++ RSTRG (Rs_color + minCOLOR + 144, "color144", "color"), ++ RSTRG (Rs_color + minCOLOR + 145, "color145", "color"), ++ RSTRG (Rs_color + minCOLOR + 146, "color146", "color"), ++ RSTRG (Rs_color + minCOLOR + 147, "color147", "color"), ++ RSTRG (Rs_color + minCOLOR + 148, "color148", "color"), ++ RSTRG (Rs_color + minCOLOR + 149, "color149", "color"), ++ RSTRG (Rs_color + minCOLOR + 150, "color150", "color"), ++ RSTRG (Rs_color + minCOLOR + 151, "color151", "color"), ++ RSTRG (Rs_color + minCOLOR + 152, "color152", "color"), ++ RSTRG (Rs_color + minCOLOR + 153, "color153", "color"), ++ RSTRG (Rs_color + minCOLOR + 154, "color154", "color"), ++ RSTRG (Rs_color + minCOLOR + 155, "color155", "color"), ++ RSTRG (Rs_color + minCOLOR + 156, "color156", "color"), ++ RSTRG (Rs_color + minCOLOR + 157, "color157", "color"), ++ RSTRG (Rs_color + minCOLOR + 158, "color158", "color"), ++ RSTRG (Rs_color + minCOLOR + 159, "color159", "color"), ++ RSTRG (Rs_color + minCOLOR + 160, "color160", "color"), ++ RSTRG (Rs_color + minCOLOR + 161, "color161", "color"), ++ RSTRG (Rs_color + minCOLOR + 162, "color162", "color"), ++ RSTRG (Rs_color + minCOLOR + 163, "color163", "color"), ++ RSTRG (Rs_color + minCOLOR + 164, "color164", "color"), ++ RSTRG (Rs_color + minCOLOR + 165, "color165", "color"), ++ RSTRG (Rs_color + minCOLOR + 166, "color166", "color"), ++ RSTRG (Rs_color + minCOLOR + 167, "color167", "color"), ++ RSTRG (Rs_color + minCOLOR + 168, "color168", "color"), ++ RSTRG (Rs_color + minCOLOR + 169, "color169", "color"), ++ RSTRG (Rs_color + minCOLOR + 170, "color170", "color"), ++ RSTRG (Rs_color + minCOLOR + 171, "color171", "color"), ++ RSTRG (Rs_color + minCOLOR + 172, "color172", "color"), ++ RSTRG (Rs_color + minCOLOR + 173, "color173", "color"), ++ RSTRG (Rs_color + minCOLOR + 174, "color174", "color"), ++ RSTRG (Rs_color + minCOLOR + 175, "color175", "color"), ++ RSTRG (Rs_color + minCOLOR + 176, "color176", "color"), ++ RSTRG (Rs_color + minCOLOR + 177, "color177", "color"), ++ RSTRG (Rs_color + minCOLOR + 178, "color178", "color"), ++ RSTRG (Rs_color + minCOLOR + 179, "color179", "color"), ++ RSTRG (Rs_color + minCOLOR + 180, "color180", "color"), ++ RSTRG (Rs_color + minCOLOR + 181, "color181", "color"), ++ RSTRG (Rs_color + minCOLOR + 182, "color182", "color"), ++ RSTRG (Rs_color + minCOLOR + 183, "color183", "color"), ++ RSTRG (Rs_color + minCOLOR + 184, "color184", "color"), ++ RSTRG (Rs_color + minCOLOR + 185, "color185", "color"), ++ RSTRG (Rs_color + minCOLOR + 186, "color186", "color"), ++ RSTRG (Rs_color + minCOLOR + 187, "color187", "color"), ++ RSTRG (Rs_color + minCOLOR + 188, "color188", "color"), ++ RSTRG (Rs_color + minCOLOR + 189, "color189", "color"), ++ RSTRG (Rs_color + minCOLOR + 190, "color190", "color"), ++ RSTRG (Rs_color + minCOLOR + 191, "color191", "color"), ++ RSTRG (Rs_color + minCOLOR + 192, "color192", "color"), ++ RSTRG (Rs_color + minCOLOR + 193, "color193", "color"), ++ RSTRG (Rs_color + minCOLOR + 194, "color194", "color"), ++ RSTRG (Rs_color + minCOLOR + 195, "color195", "color"), ++ RSTRG (Rs_color + minCOLOR + 196, "color196", "color"), ++ RSTRG (Rs_color + minCOLOR + 197, "color197", "color"), ++ RSTRG (Rs_color + minCOLOR + 198, "color198", "color"), ++ RSTRG (Rs_color + minCOLOR + 199, "color199", "color"), ++ RSTRG (Rs_color + minCOLOR + 200, "color200", "color"), ++ RSTRG (Rs_color + minCOLOR + 201, "color201", "color"), ++ RSTRG (Rs_color + minCOLOR + 202, "color202", "color"), ++ RSTRG (Rs_color + minCOLOR + 203, "color203", "color"), ++ RSTRG (Rs_color + minCOLOR + 204, "color204", "color"), ++ RSTRG (Rs_color + minCOLOR + 205, "color205", "color"), ++ RSTRG (Rs_color + minCOLOR + 206, "color206", "color"), ++ RSTRG (Rs_color + minCOLOR + 207, "color207", "color"), ++ RSTRG (Rs_color + minCOLOR + 208, "color208", "color"), ++ RSTRG (Rs_color + minCOLOR + 209, "color209", "color"), ++ RSTRG (Rs_color + minCOLOR + 210, "color210", "color"), ++ RSTRG (Rs_color + minCOLOR + 211, "color211", "color"), ++ RSTRG (Rs_color + minCOLOR + 212, "color212", "color"), ++ RSTRG (Rs_color + minCOLOR + 213, "color213", "color"), ++ RSTRG (Rs_color + minCOLOR + 214, "color214", "color"), ++ RSTRG (Rs_color + minCOLOR + 215, "color215", "color"), ++ RSTRG (Rs_color + minCOLOR + 216, "color216", "color"), ++ RSTRG (Rs_color + minCOLOR + 217, "color217", "color"), ++ RSTRG (Rs_color + minCOLOR + 218, "color218", "color"), ++ RSTRG (Rs_color + minCOLOR + 219, "color219", "color"), ++ RSTRG (Rs_color + minCOLOR + 220, "color220", "color"), ++ RSTRG (Rs_color + minCOLOR + 221, "color221", "color"), ++ RSTRG (Rs_color + minCOLOR + 222, "color222", "color"), ++ RSTRG (Rs_color + minCOLOR + 223, "color223", "color"), ++ RSTRG (Rs_color + minCOLOR + 224, "color224", "color"), ++ RSTRG (Rs_color + minCOLOR + 225, "color225", "color"), ++ RSTRG (Rs_color + minCOLOR + 226, "color226", "color"), ++ RSTRG (Rs_color + minCOLOR + 227, "color227", "color"), ++ RSTRG (Rs_color + minCOLOR + 228, "color228", "color"), ++ RSTRG (Rs_color + minCOLOR + 229, "color229", "color"), ++ RSTRG (Rs_color + minCOLOR + 230, "color230", "color"), ++ RSTRG (Rs_color + minCOLOR + 231, "color231", "color"), ++ RSTRG (Rs_color + minCOLOR + 232, "color232", "color"), ++ RSTRG (Rs_color + minCOLOR + 233, "color233", "color"), ++ RSTRG (Rs_color + minCOLOR + 234, "color234", "color"), ++ RSTRG (Rs_color + minCOLOR + 235, "color235", "color"), ++ RSTRG (Rs_color + minCOLOR + 236, "color236", "color"), ++ RSTRG (Rs_color + minCOLOR + 237, "color237", "color"), ++ RSTRG (Rs_color + minCOLOR + 238, "color238", "color"), ++ RSTRG (Rs_color + minCOLOR + 239, "color239", "color"), ++ RSTRG (Rs_color + minCOLOR + 240, "color240", "color"), ++ RSTRG (Rs_color + minCOLOR + 241, "color241", "color"), ++ RSTRG (Rs_color + minCOLOR + 242, "color242", "color"), ++ RSTRG (Rs_color + minCOLOR + 243, "color243", "color"), ++ RSTRG (Rs_color + minCOLOR + 244, "color244", "color"), ++ RSTRG (Rs_color + minCOLOR + 245, "color245", "color"), ++ RSTRG (Rs_color + minCOLOR + 246, "color246", "color"), ++ RSTRG (Rs_color + minCOLOR + 247, "color247", "color"), ++ RSTRG (Rs_color + minCOLOR + 248, "color248", "color"), ++ RSTRG (Rs_color + minCOLOR + 249, "color249", "color"), ++ RSTRG (Rs_color + minCOLOR + 250, "color250", "color"), ++ RSTRG (Rs_color + minCOLOR + 251, "color251", "color"), ++ RSTRG (Rs_color + minCOLOR + 252, "color252", "color"), ++ RSTRG (Rs_color + minCOLOR + 253, "color253", "color"), ++ RSTRG (Rs_color + minCOLOR + 254, "color254", "color"), ++ RSTRG (Rs_color + minCOLOR + 255, "color255", "color"), ++#endif + RSTRG (Rs_color + minBrightCOLOR + 0, "color8", "color"), + RSTRG (Rs_color + minBrightCOLOR + 1, "color9", "color"), + RSTRG (Rs_color + minBrightCOLOR + 2, "color10", "color"), diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/patches/9.06-font-width.patch b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/patches/9.06-font-width.patch new file mode 100644 index 000000000000..636083218fa5 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/patches/9.06-font-width.patch @@ -0,0 +1,21 @@ +--- a/src/rxvtfont.C 2008-07-09 12:21:45.000000000 +0400 ++++ b/src/rxvtfont.C 2009-10-30 14:32:53.000000000 +0300 +@@ -1195,12 +1195,14 @@ + XGlyphInfo g; + XftTextExtents16 (disp, f, &ch, 1, &g); + +- g.width -= g.x; +- ++/* ++ * bukind: don't use g.width as a width of a character! ++ * instead use g.xOff, see e.g.: http://keithp.com/~keithp/render/Xft.tutorial ++ */ + int wcw = WCWIDTH (ch); +- if (wcw > 0) g.width = (g.width + wcw - 1) / wcw; ++ if (wcw > 1) g.xOff = g.xOff / wcw; ++ if (width < g.xOff) width = g.xOff; + +- if (width < g.width ) width = g.width; + if (height < g.height ) height = g.height; + if (glheight < g.height - g.y) glheight = g.height - g.y; + } \ No newline at end of file diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/patches/makefile-phony.patch b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/patches/makefile-phony.patch new file mode 100644 index 000000000000..5e42e17c156a --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/patches/makefile-phony.patch @@ -0,0 +1,10 @@ +--- a/Makefile.in 2015-01-13 08:52:30.000000000 +0100 ++++ b/Makefile.in 2015-01-13 08:52:58.000000000 +0100 +@@ -30,6 +30,7 @@ + subdirs = src doc + + RECURSIVE_TARGETS = all allbin alldoc tags clean distclean realclean install ++.PHONY: $(RECURSIVE_TARGETS) + + #------------------------------------------------------------------------- + diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix new file mode 100644 index 000000000000..639c7b5dda50 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/rxvt-unicode/wrapper.nix @@ -0,0 +1,64 @@ +{ callPackage +, symlinkJoin +, makeWrapper +, lib +, rxvt-unicode-unwrapped +, rxvt-unicode-plugins +, perlPackages +, nixosTests +, configure ? { availablePlugins, ... }: + { plugins = builtins.attrValues availablePlugins; + extraDeps = [ ]; + perlDeps = [ ]; + } +}: + +let + availablePlugins = rxvt-unicode-plugins; + + # Transform the string "self" to the plugin itself. + # It's needed for plugins like bidi who depends on the perl + # package they provide themself. + mkPerlDeps = p: + let deps = p.perlPackages or [ ]; + in map (x: if x == "self" then p else x) deps; + + # The wrapper is called with a `configure` function + # that takes the urxvt plugins as input and produce + # the configuration of the wrapper: list of plugins, + # extra dependencies and perl dependencies. + # This provides simple way to customize urxvt using + # the `.override` mechanism. + wrapper = { configure, ... }: + let + config = configure { inherit availablePlugins; }; + plugins = config.plugins or (builtins.attrValues availablePlugins); + extraDeps = config.extraDeps or [ ]; + perlDeps = (config.perlDeps or [ ]) ++ lib.concatMap mkPerlDeps plugins; + in + symlinkJoin { + name = "rxvt-unicode-${rxvt-unicode-unwrapped.version}"; + + paths = [ rxvt-unicode-unwrapped ] ++ plugins ++ extraDeps; + + nativeBuildInputs = [ makeWrapper ]; + + postBuild = '' + wrapProgram $out/bin/urxvt \ + --prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \ + --suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl" + wrapProgram $out/bin/urxvtd \ + --prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \ + --suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl" + ''; + + inherit (rxvt-unicode-unwrapped) meta; + + passthru = { + plugins = plugins; + tests.test = nixosTests.terminal-emulators.urxvt; + }; + }; + +in + lib.makeOverridable wrapper { inherit configure; } diff --git a/nixpkgs/pkgs/applications/terminal-emulators/rxvt/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/rxvt/default.nix new file mode 100644 index 000000000000..9894a8cdb05a --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/rxvt/default.nix @@ -0,0 +1,42 @@ +{ lib, stdenv, fetchurl +, pkg-config, libtool +, libX11, libXt, libXpm }: + +stdenv.mkDerivation rec { + pname = "rxvt"; + version = "2.7.10"; + + src = fetchurl { + url = "mirror://sourceforge/rxvt/${pname}-${version}.tar.gz"; + sha256 = "0jfl71gz3k7zh3kxdb8lxi06kajjnx7bq1rxjgk680l209jxask1"; + }; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ libtool libX11 libXt libXpm ]; + + configurePhase = '' + LIBTOOL=${libtool}/bin/libtool ./configure --prefix=$out --enable-everything --enable-smart-resize --enable-256-color + ''; + + meta = with lib; { + homepage = "https://rxvt.sourceforge.net/"; + description = "Colour vt102 terminal emulator with less features and lower memory consumption"; + longDescription = '' + rxvt (acronym for our extended virtual terminal) is a terminal + emulator for the X Window System, originally written by Rob Nation + as an extended version of the older xvt terminal by John Bovey of + University of Kent. Mark Olesen extensively modified it later and + took over maintenance for several years. + + rxvt is intended to be a slimmed-down alternate for xterm, + omitting some of its little-used features, like Tektronix 4014 + emulation and toolkit-style configurability. + ''; + maintainers = with maintainers; [ AndersonTorres ]; + license = licenses.gpl2; + platforms = platforms.linux; + knownVulnerabilities = [ + "Usage of ANSI escape sequences causes unexpected newline-termination, leading to unexpected command execution (https://www.openwall.com/lists/oss-security/2021/05/17/1)" + ]; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/sakura/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/sakura/default.nix new file mode 100644 index 000000000000..4d1ab91f83af --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/sakura/default.nix @@ -0,0 +1,72 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, glib +, gtk3 +, gettext +, pango +, makeWrapper +, pcre2 +, perl +, pkg-config +, vte +, nixosTests +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "sakura"; + version = "3.8.7"; + + src = fetchFromGitHub { + owner = "dabisu"; + repo = "sakura"; + rev = "SAKURA_${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; + hash = "sha256-mDYwqRPezHEgLyZlJQ6taTQiP9HDWmN09mapfp7/TPs="; + }; + + nativeBuildInputs = [ + cmake + gettext + makeWrapper + perl + pkg-config + ]; + + buildInputs = [ + glib + gtk3 + pango + pcre2 + vte + ]; + + strictDeps = true; + + # Set path to gsettings-schemata so sakura knows where to find colorchooser, + # fontchooser etc. + postFixup = '' + wrapProgram $out/bin/sakura \ + --suffix XDG_DATA_DIRS : ${gtk3}/share/gsettings-schemas/${gtk3.name}/ + ''; + + passthru.tests.test = nixosTests.terminal-emulators.sakura; + + meta = { + homepage = "https://www.pleyades.net/david/projects/sakura"; + description = "A terminal emulator based on GTK and VTE"; + longDescription = '' + sakura is a terminal emulator based on GTK and VTE. It's a terminal + emulator with few dependencies, so you don't need a full GNOME desktop + installed to have a decent terminal emulator. Current terminal emulators + based on VTE are gnome-terminal, XFCE Terminal, TermIt and a small + sample program included in the vte sources. The differences between + sakura and the last one are that it uses a notebook to provide several + terminals in one window and adds a contextual menu with some basic + options. No more no less. + ''; + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ astsmtl codyopel AndersonTorres ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/nixpkgs/pkgs/applications/terminal-emulators/st/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/st/default.nix new file mode 100644 index 000000000000..9856d1428f97 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/st/default.nix @@ -0,0 +1,72 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, fontconfig +, freetype +, libX11 +, libXft +, ncurses +, writeText +, conf ? null +, patches ? [ ] +, extraLibs ? [ ] +, nixosTests +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "st"; + version = "0.9"; + + src = fetchurl { + url = "https://dl.suckless.org/st/st-${finalAttrs.version}.tar.gz"; + hash = "sha256-82NZeZc06ueFvss3QGPwvoM88i+ItPFpzSUbmTJOCOc="; + }; + + outputs = [ "out" "terminfo" ]; + + inherit patches; + + configFile = lib.optionalString (conf != null) + (writeText "config.def.h" conf); + + postPatch = lib.optionalString (conf != null) "cp ${finalAttrs.configFile} config.def.h" + + lib.optionalString stdenv.isDarwin '' + substituteInPlace config.mk --replace "-lrt" "" + ''; + + strictDeps = true; + + makeFlags = [ + "PKG_CONFIG=${stdenv.cc.targetPrefix}pkg-config" + ]; + + nativeBuildInputs = [ + pkg-config + ncurses + fontconfig + freetype + ]; + buildInputs = [ + libX11 + libXft + ] ++ extraLibs; + + preInstall = '' + export TERMINFO=$terminfo/share/terminfo + mkdir -p $TERMINFO $out/nix-support + echo "$terminfo" >> $out/nix-support/propagated-user-env-packages + ''; + + installFlags = [ "PREFIX=$(out)" ]; + + passthru.tests.test = nixosTests.terminal-emulators.st; + + meta = with lib; { + homepage = "https://st.suckless.org/"; + description = "Simple Terminal for X from Suckless.org Community"; + license = licenses.mit; + maintainers = with maintainers; [ andsild ]; + platforms = platforms.unix; + }; +}) diff --git a/nixpkgs/pkgs/applications/terminal-emulators/st/lukesmithxyz-st/0000-makefile-fix-install.diff b/nixpkgs/pkgs/applications/terminal-emulators/st/lukesmithxyz-st/0000-makefile-fix-install.diff new file mode 100644 index 000000000000..f451297dffa9 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/st/lukesmithxyz-st/0000-makefile-fix-install.diff @@ -0,0 +1,14 @@ +diff -Naur old/Makefile new/Makefile +--- old/Makefile 1969-12-31 21:00:01.000000000 -0300 ++++ new/Makefile 2021-09-06 00:10:26.972466947 -0300 +@@ -40,8 +40,8 @@ + rm -rf st-$(VERSION) + + install: st +- git submodule init +- git submodule update ++# git submodule init ++# git submodule update + mkdir -p $(DESTDIR)$(PREFIX)/bin + cp -f st $(DESTDIR)$(PREFIX)/bin + cp -f st-copyout $(DESTDIR)$(PREFIX)/bin diff --git a/nixpkgs/pkgs/applications/terminal-emulators/st/lukesmithxyz-st/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/st/lukesmithxyz-st/default.nix new file mode 100644 index 000000000000..2f1476697ea9 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/st/lukesmithxyz-st/default.nix @@ -0,0 +1,56 @@ +{ lib +, stdenv +, fetchFromGitHub +, fontconfig +, harfbuzz +, libX11 +, libXext +, libXft +, ncurses +, pkg-config +}: + +stdenv.mkDerivation rec { + pname = "lukesmithxyz-st"; + version = "0.pre+unstable=2021-08-10"; + + src = fetchFromGitHub { + owner = "LukeSmithxyz"; + repo = "st"; + rev = "e053bd6036331cc7d14f155614aebc20f5371d3a"; + hash = "sha256-WwjuNxWoeR/ppJxJgqD20kzrn1kIfgDarkTOedX/W4k="; + }; + + nativeBuildInputs = [ + pkg-config + ]; + buildInputs = [ + fontconfig + harfbuzz + libX11 + libXext + libXft + ncurses + ]; + + patches = [ + # eliminate useless calls to git inside Makefile + ./0000-makefile-fix-install.diff + ]; + + installPhase = '' + runHook preInstall + + TERMINFO=$out/share/terminfo make install PREFIX=$out + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/LukeSmithxyz/st"; + description = "Luke Smith's fork of st"; + license = licenses.mit; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/st/mcaimi-st.nix b/nixpkgs/pkgs/applications/terminal-emulators/st/mcaimi-st.nix new file mode 100644 index 000000000000..11c89cfab670 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/st/mcaimi-st.nix @@ -0,0 +1,49 @@ +{ lib +, stdenv +, fetchFromGitHub +, fontconfig +, libX11 +, libXext +, libXft +, ncurses +, pkg-config +}: + +stdenv.mkDerivation rec { + pname = "mcaimi-st"; + version = "0.pre+unstable=2021-08-30"; + + src = fetchFromGitHub { + owner = "mcaimi"; + repo = "st"; + rev = "1a8cad03692ee6d32c03a136cdc76bdb169e15d8"; + hash = "sha256-xyVEvD8s1J9Wj9NB4Gg+0ldvde7M8IVpzCOTttC1IY0="; + }; + + nativeBuildInputs = [ + pkg-config + ]; + buildInputs = [ + fontconfig + libX11 + libXext + libXft + ncurses + ]; + + installPhase = '' + runHook preInstall + + TERMINFO=$out/share/terminfo make install PREFIX=$out + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/gnotclub/xst"; + description = "Suckless Terminal fork"; + license = licenses.mit; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/st/siduck76-st.nix b/nixpkgs/pkgs/applications/terminal-emulators/st/siduck76-st.nix new file mode 100644 index 000000000000..a6753a105c6d --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/st/siduck76-st.nix @@ -0,0 +1,51 @@ +{ lib +, stdenv +, fetchFromGitHub +, fontconfig +, harfbuzz +, libX11 +, libXext +, libXft +, ncurses +, pkg-config +}: + +stdenv.mkDerivation rec { + pname = "siduck76-st"; + version = "0.pre+unstable=2021-08-20"; + + src = fetchFromGitHub { + owner = "siduck76"; + repo = "st"; + rev = "c9bda1de1f3f94ba507fa0eacc96d6a4f338637f"; + hash = "sha256-5n+QkSlVhhku7adtl7TuWhDl3zdwFaXc7Ot1RaIN54A="; + }; + + nativeBuildInputs = [ + pkg-config + ]; + buildInputs = [ + fontconfig + harfbuzz + libX11 + libXext + libXft + ncurses + ]; + + installPhase = '' + runHook preInstall + + TERMINFO=$out/share/terminfo make install PREFIX=$out + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/siduck76/st"; + description = "A fork of st with many add-ons"; + license = licenses.mit; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/st/xst.nix b/nixpkgs/pkgs/applications/terminal-emulators/st/xst.nix new file mode 100644 index 000000000000..b0d46a2c22a0 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/st/xst.nix @@ -0,0 +1,49 @@ +{ lib +, stdenv +, fetchFromGitHub +, fontconfig +, libX11 +, libXext +, libXft +, ncurses +, pkg-config +}: + +stdenv.mkDerivation rec { + pname = "xst"; + version = "0.9.0"; + + src = fetchFromGitHub { + owner = "gnotclub"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-V7WzletBFOOXBXClDJZIGT2comnC5WDApO1ZCoPKThY="; + }; + + nativeBuildInputs = [ + pkg-config + ]; + buildInputs = [ + fontconfig + libX11 + libXext + libXft + ncurses + ]; + + installPhase = '' + runHook preInstall + + TERMINFO=$out/share/terminfo make install PREFIX=$out + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/gnotclub/xst"; + description = "Simple terminal fork that can load config from Xresources"; + license = licenses.mit; + maintainers = [ maintainers.vyp ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/stupidterm/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/stupidterm/default.nix new file mode 100644 index 000000000000..279af55254e0 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/stupidterm/default.nix @@ -0,0 +1,38 @@ +{ lib, stdenv, fetchFromGitHub, pkg-config, vte, gtk, pcre2, nixosTests }: + +stdenv.mkDerivation { + pname = "stupidterm"; + version = "2019-03-26"; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ vte gtk pcre2 ]; + + src = fetchFromGitHub { + owner = "esmil"; + repo = "stupidterm"; + rev = "f824e41c2ca9016db73556c5d2f5a2861e235c8e"; + sha256 = "1f73wvqqvj5pr3fvb7jjc4bi1iwgkkknz24k8n69mdb75jnfjipp"; + }; + + makeFlags = [ "PKGCONFIG=${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config" "binary=stupidterm" ]; + + installPhase = '' + install -D stupidterm $out/bin/stupidterm + install -D -m 644 stupidterm.desktop $out/share/applications/stupidterm.desktop + install -D -m 644 stupidterm.ini $out/share/stupidterm/stupidterm.ini + + substituteInPlace $out/share/applications/stupidterm.desktop \ + --replace "Exec=st" "Exec=$out/bin/stupidterm" + ''; + + passthru.tests.test = nixosTests.terminal-emulators.stupidterm; + + meta = with lib; { + description = "Simple wrapper around the VTE terminal emulator widget for GTK"; + homepage = "https://github.com/esmil/stupidterm"; + license = licenses.lgpl3Plus; + maintainers = [ maintainers.etu ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/syncterm/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/syncterm/default.nix new file mode 100644 index 000000000000..59e0b3a735e0 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/syncterm/default.nix @@ -0,0 +1,43 @@ +{ lib, stdenv, fetchurl, pkg-config, perl, unzip, autoPatchelfHook, ncurses, SDL2, alsa-lib }: + +stdenv.mkDerivation rec { + pname = "syncterm"; + version = "1.1"; + + src = fetchurl { + url = "mirror://sourceforge/${pname}/${pname}-${version}-src.tgz"; + sha256 = "19m76bisipp1h3bc8mbq83b851rx3lbysxb0azpbr5nbqr2f8xyi"; + }; + sourceRoot = "${pname}-${version}/src/syncterm"; + + CFLAGS = [ + "-DHAS_INTTYPES_H" + "-DXPDEV_DONT_DEFINE_INTTYPES" + + "-Wno-unused-result" + "-Wformat-overflow=0" + ] ++ (lib.optionals stdenv.isLinux [ + "-DUSE_ALSA_SOUND" # Don't use OSS for beeps. + ]); + makeFlags = [ + "PREFIX=$(out)" + "RELEASE=1" + "USE_SDL_AUDIO=1" + ]; + + nativeBuildInputs = [ autoPatchelfHook pkg-config SDL2 perl unzip ]; # SDL2 for `sdl2-config`. + buildInputs = [ ncurses SDL2 ] + ++ (lib.optional stdenv.isLinux alsa-lib); + runtimeDependencies = [ ncurses SDL2 ]; # Both of these are dlopen()'ed at runtime. + + meta = with lib; { + # error: unsupported option '-fsanitize=safe-stack' for target 'x86_64-apple-darwin' + # broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin; + broken = true; # sendmsg.c:(.text+0x1099): undefined reference to `pthread_yield' + homepage = "https://syncterm.bbsdev.net/"; + description = "BBS terminal emulator"; + maintainers = with maintainers; [ embr ]; + platforms = platforms.unix; + license = licenses.gpl2Plus; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/terminator/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/terminator/default.nix new file mode 100644 index 000000000000..4dee206be28d --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/terminator/default.nix @@ -0,0 +1,78 @@ +{ lib +, fetchFromGitHub +, python3 +, keybinder3 +, intltool +, file +, gtk3 +, gobject-introspection +, libnotify +, wrapGAppsHook +, vte +, nixosTests +}: + +python3.pkgs.buildPythonApplication rec { + pname = "terminator"; + version = "2.1.3"; + + src = fetchFromGitHub { + owner = "gnome-terminator"; + repo = "terminator"; + rev = "v${version}"; + hash = "sha256-Kx0z9oheA7Ihgsyg6zgPcGFMrqlXoIpQcL/dMqPB2qA="; + }; + + nativeBuildInputs = [ + file + intltool + gobject-introspection + wrapGAppsHook + python3.pkgs.pytest-runner + ]; + + buildInputs = [ + gtk3 + keybinder3 + libnotify + python3 + vte + ]; + + propagatedBuildInputs = with python3.pkgs; [ + configobj + dbus-python + pygobject3 + psutil + pycairo + ]; + + postPatch = '' + patchShebangs tests po + ''; + + doCheck = false; + + dontWrapGApps = true; + + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + passthru.tests.test = nixosTests.terminal-emulators.terminator; + + meta = with lib; { + description = "Terminal emulator with support for tiling and tabs"; + longDescription = '' + The goal of this project is to produce a useful tool for arranging + terminals. It is inspired by programs such as gnome-multi-term, + quadkonsole, etc. in that the main focus is arranging terminals in grids + (tabs is the most common default method, which Terminator also supports). + ''; + changelog = "https://github.com/gnome-terminator/terminator/releases/tag/v${version}"; + homepage = "https://github.com/gnome-terminator/terminator"; + license = licenses.gpl2; + maintainers = with maintainers; [ bjornfor ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/termite/add_errno_header.patch b/nixpkgs/pkgs/applications/terminal-emulators/termite/add_errno_header.patch new file mode 100644 index 000000000000..81283f86a21d --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/termite/add_errno_header.patch @@ -0,0 +1,24 @@ +From 95c90f302c384f410dc92e64468ac7061b57fe2d Mon Sep 17 00:00:00 2001 +From: Michael Hoang <enzime@users.noreply.github.com> +Date: Fri, 13 Jul 2018 19:03:09 +1000 +Subject: [PATCH] Add errno.h header which isn't always included automatically. + +--- + termite.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/termite.cc b/termite.cc +index 160fe82..13e2572 100644 +--- a/termite.cc ++++ b/termite.cc +@@ -21,6 +21,7 @@ + #include <cstdlib> + #include <cstring> + #include <cmath> ++#include <errno.h> + #include <functional> + #include <limits> + #include <map> +-- +2.17.1 + diff --git a/nixpkgs/pkgs/applications/terminal-emulators/termite/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/termite/default.nix new file mode 100644 index 000000000000..2b05ecdc7221 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/termite/default.nix @@ -0,0 +1,80 @@ +{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, vte, gtk3, ncurses, pcre2, wrapGAppsHook, nixosTests }: + +let + + # termite requires VTE with some internals exposed + # https://github.com/thestinger/vte-ng + # + # three of the patches have been locally modified to cleanly apply on 0.62 + vte-ng = vte.overrideAttrs (attrs: { + patches = attrs.patches or [] ++ [ + (fetchpatch { + name = "0001-expose-functions-for-pausing-unpausing-output.patch"; + url = "https://github.com/thestinger/vte-ng/commit/342e26574f50dcd40bbeaad9e839c2a6144d0c1c.patch"; + sha256 = "1b0k9ys545q85vfki417p21kis9f36yd0hyp12phayynss6fn715"; + }) + # Derived from https://github.com/thestinger/vte-ng/commit/5ae3acb69474fe5bc43767a4a3625e9ed23607a1.patch + ./vte-ng-modified-patches/vte-0002-expose-function-for-setting-cursor-position.patch + # Derived from https://github.com/thestinger/vte-ng/commit/742d57ecf15e24f6a5f2133a81b6c70acc8ff03c.patch + ./vte-ng-modified-patches/vte-0003-add-function-for-setting-the-text-selections.patch + (fetchpatch { + name = "0004-add-functions-to-get-set-block-selection-mode.patch"; + url = "https://github.com/thestinger/vte-ng/commit/08748fd9cb82bd191e5c476b1682ca71f7732572.patch"; + sha256 = "1cnhd8f7ywdgcyd6xmcd2nn39jjxzkxp4d0zsj2k7m5v74nhcs1g"; + }) + # Derived from "https://github.com/thestinger/vte-ng/commit/dd74ae7c06e8888af2fc090ac6f8920a9d8227fb.patch"; + ./vte-ng-modified-patches/vte-0005-expose-function-for-getting-the-selected-text.patch + ]; + }); + +in stdenv.mkDerivation rec { + pname = "termite"; + version = "15"; + + src = fetchFromGitHub { + owner = "thestinger"; + repo = "termite"; + rev = "v${version}"; + sha256 = "0hp1x6lj098m3jgna274wv5dv60lnzg22297di68g4hw9djjyd2k"; + fetchSubmodules = true; + }; + + # https://github.com/thestinger/termite/pull/516 + patches = [ ./url_regexp_trailing.patch ./add_errno_header.patch + # Fix off-by-one in select_text() on libvte >= 0.55.0 + # Expected to be included in next release (16). + (fetchpatch { + url = "https://github.com/thestinger/termite/commit/7e9a93b421b9596f8980645a46ac2ad5468dac06.patch"; + sha256 = "0vph2m5919f7w1xnc8i6z0j44clsm1chxkfg7l71nahxyfw5yh4j"; + }) + ] ++ lib.optional stdenv.isDarwin ./remove_ldflags_macos.patch; + + makeFlags = [ "VERSION=v${version}" "PREFIX=" "DESTDIR=$(out)" ]; + + buildInputs = [ vte-ng gtk3 ncurses pcre2 ]; + + nativeBuildInputs = [ wrapGAppsHook pkg-config ]; + + outputs = [ "out" "terminfo" ]; + + passthru = { + inherit vte-ng; + tests = nixosTests.terminal-emulators.termite; + }; + + postInstall = '' + mkdir -p $terminfo/share + mv $out/share/terminfo $terminfo/share/terminfo + + mkdir -p $out/nix-support + echo "$terminfo" >> $out/nix-support/propagated-user-env-packages + ''; + + meta = with lib; { + description = "A simple VTE-based terminal"; + license = licenses.lgpl2Plus; + homepage = "https://github.com/thestinger/termite/"; + maintainers = with maintainers; [ koral ]; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/termite/remove_ldflags_macos.patch b/nixpkgs/pkgs/applications/terminal-emulators/termite/remove_ldflags_macos.patch new file mode 100644 index 000000000000..f8c68518bb4d --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/termite/remove_ldflags_macos.patch @@ -0,0 +1,25 @@ +From 1b5a6934635c55472eb7949bd87ab3f45fa1b2f3 Mon Sep 17 00:00:00 2001 +From: Michael Hoang <enzime@users.noreply.github.com> +Date: Fri, 13 Jul 2018 19:01:51 +1000 +Subject: [PATCH] Remove --as-needed flag from ld to fix compilation on macOS. + +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index b115f42..ab301ba 100644 +--- a/Makefile ++++ b/Makefile +@@ -29,7 +29,7 @@ ifeq (${CXX}, clang++) + CXXFLAGS += -Wimplicit-fallthrough + endif + +-LDFLAGS := -s -Wl,--as-needed ${LDFLAGS} ++LDFLAGS := -s -Wl ${LDFLAGS} + LDLIBS := ${shell pkg-config --libs ${GTK} ${VTE}} + + termite: termite.cc url_regex.hh util/clamp.hh util/maybe.hh util/memory.hh +-- +2.17.1 + diff --git a/nixpkgs/pkgs/applications/terminal-emulators/termite/url_regexp_trailing.patch b/nixpkgs/pkgs/applications/terminal-emulators/termite/url_regexp_trailing.patch new file mode 100644 index 000000000000..96deaa073d71 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/termite/url_regexp_trailing.patch @@ -0,0 +1,27 @@ +Based on https://github.com/thestinger/termite/pull/516 +Modified to apply to v13 + +From 65a454ffa8e681f3f14729cba7c42e1570a85e8a Mon Sep 17 00:00:00 2001 +From: Paul Baecher <pbaecher@gmail.com> +Date: Thu, 7 Sep 2017 22:58:51 +0200 +Subject: [PATCH] Do not match punctuation at the end of URLs + +Punctuation at the end of URLs is most likely part of natural language +or markup (for example in Markdown). Do not match it as part of the URL. +--- + url_regex.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/url_regex.hh b/url_regex.hh +index 2ec6be8..3039b53 100644 +--- a/url_regex.hh ++++ b/url_regex.hh +@@ -9,7 +9,7 @@ + #define PORT "(?:\\:[[:digit:]]{1,5})?" + #define SCHEME "(?:[[:alpha:]][+-.[:alnum:]]*:)" + #define USERPASS USERCHARS_CLASS "+(?:\\:" PASSCHARS_CLASS "+)?" +-#define URLPATH "(?:/[[:alnum:]\\Q-_.!~*'();/?:@&=+$,#%\\E]*)?" ++#define URLPATH "(?:/[[:alnum:]\\Q-_.!~*'();/?:@&=+$,#%\\E]*(?<![\\Q.,:;()!?\\E]))?" + + const char * const url_regex = SCHEME "//(?:" USERPASS "\\@)?" HOST PORT URLPATH; + diff --git a/nixpkgs/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0002-expose-function-for-setting-cursor-position.patch b/nixpkgs/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0002-expose-function-for-setting-cursor-position.patch new file mode 100644 index 000000000000..8f5c0dab39ad --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0002-expose-function-for-setting-cursor-position.patch @@ -0,0 +1,61 @@ +From 5ae3acb69474fe5bc43767a4a3625e9ed23607a1 Mon Sep 17 00:00:00 2001 +From: Jelle van der Waa <jelle@vdwaa.nl> +Date: Sat, 13 Feb 2016 22:18:01 +0100 +Subject: [PATCH] expose function for setting cursor position + +--- + src/vte/vteterminal.h | 5 +++++ + src/vtegtk.cc | 24 ++++++++++++++++++++++++ + 2 files changed, 29 insertions(+) + +diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h +index a607e5da..9701320d 100644 +--- a/src/vte/vteterminal.h ++++ b/src/vte/vteterminal.h +@@ -378,6 +378,11 @@ _VTE_PUBLIC + void vte_terminal_get_cursor_position(VteTerminal *terminal, + glong *column, + glong *row) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1); ++_VTE_PUBLIC ++void vte_terminal_set_cursor_position(VteTerminal *terminal, ++ glong column, ++ glong row) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1); ++ + + _VTE_PUBLIC + char *vte_terminal_hyperlink_check_event(VteTerminal *terminal, +diff --git a/src/vtegtk.cc b/src/vtegtk.cc +index b11b780b..bdf36eac 100644 +--- a/src/vtegtk.cc ++++ b/src/vtegtk.cc +@@ -2415,6 +2415,30 @@ vte_terminal_get_cursor_position(VteTerminal *terminal, + } + } + ++/** ++ * vte_terminal_set_cursor_position ++ * @terminal: a #VteTerminal ++ * @column: the new cursor column ++ * @row: the new cursor row ++ * ++ * Set the location of the cursor. ++ */ ++void ++vte_terminal_set_cursor_position(VteTerminal *terminal, ++ long column, long row) noexcept ++{ ++ g_return_if_fail(VTE_IS_TERMINAL(terminal)); ++ ++ auto impl = IMPL(terminal); ++ impl->invalidate_cursor_once(FALSE); ++ impl->m_screen->cursor.col = column; ++ impl->m_screen->cursor.row = row; ++ impl->invalidate_cursor_once(FALSE); ++ impl->check_cursor_blink(); ++ impl->queue_cursor_moved(); ++ ++} ++ + /** + * vte_terminal_pty_new_sync: + * @terminal: a #VteTerminal diff --git a/nixpkgs/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0003-add-function-for-setting-the-text-selections.patch b/nixpkgs/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0003-add-function-for-setting-the-text-selections.patch new file mode 100644 index 000000000000..203228dae34d --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0003-add-function-for-setting-the-text-selections.patch @@ -0,0 +1,56 @@ +From 742d57ecf15e24f6a5f2133a81b6c70acc8ff03c Mon Sep 17 00:00:00 2001 +From: Jelle van der Waa <jelle@vdwaa.nl> +Date: Sat, 13 Feb 2016 22:25:19 +0100 +Subject: [PATCH] add function for setting the text selections + +--- + src/vte/vteterminal.h | 4 ++++ + src/vtegtk.cc | 20 ++++++++++++++++++++ + 2 files changed, 24 insertions(+) + +diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h +index 9701320d..a11b4cb7 100644 +--- a/src/vte/vteterminal.h ++++ b/src/vte/vteterminal.h +@@ -196,6 +196,10 @@ _VTE_PUBLIC + void vte_terminal_select_all(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1); + _VTE_PUBLIC + void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1); ++_VTE_PUBLIC ++void vte_terminal_select_text(VteTerminal *terminal, long start_col, long start_row, ++ long end_col, long end_row) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1); ++ + + /* By-word selection */ + _VTE_PUBLIC +diff --git a/src/vtegtk.cc b/src/vtegtk.cc +index bdf36eac..d9e9f2ed 100644 +--- a/src/vtegtk.cc ++++ b/src/vtegtk.cc +@@ -2390,6 +2390,26 @@ vte_terminal_unselect_all(VteTerminal *terminal) + IMPL(terminal)->deselect_all(); + } + ++/** ++ * vte_terminal_select_text: ++ * @terminal: a #VteTerminal ++ * @start_col: the starting column for the selection ++ * @start_row: the starting row for the selection ++ * @end_col: the end column for the selection ++ * @end_row: the end row for the selection ++ * ++ * Sets the current selection region. ++ */ ++void ++vte_terminal_select_text(VteTerminal *terminal, ++ long start_col, long start_row, ++ long end_col, long end_row) noexcept ++{ ++ g_return_if_fail (VTE_IS_TERMINAL (terminal)); ++ ++ IMPL(terminal)->select_text(start_col, start_row, end_col, end_row); ++} ++ + /** + * vte_terminal_get_cursor_position: + * @terminal: a #VteTerminal diff --git a/nixpkgs/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0005-expose-function-for-getting-the-selected-text.patch b/nixpkgs/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0005-expose-function-for-getting-the-selected-text.patch new file mode 100644 index 000000000000..fe04434f4a2c --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/termite/vte-ng-modified-patches/vte-0005-expose-function-for-getting-the-selected-text.patch @@ -0,0 +1,29 @@ +--- a/src/vte/vteterminal.h ++++ b/src/vte/vteterminal.h +@@ -204,7 +204,9 @@ + _VTE_PUBLIC + void vte_terminal_select_text(VteTerminal *terminal, long start_col, long start_row, + long end_col, long end_row) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1); +- ++_VTE_PUBLIC ++char * ++vte_terminal_get_selection(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1); + + /* By-word selection */ + _VTE_PUBLIC +--- a/src/vtegtk.cc ++++ b/src/vtegtk.cc +@@ -2435,6 +2435,13 @@ + IMPL(terminal)->select_text(start_col, start_row, end_col, end_row); + } + ++char * ++vte_terminal_get_selection(VteTerminal *terminal) noexcept ++{ ++ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL); ++ return g_strdup (IMPL(terminal)->m_selection[vte::to_integral(vte::platform::ClipboardType::PRIMARY)]->str); ++} ++ + /** + * vte_terminal_get_cursor_position: + * @terminal: a #VteTerminal diff --git a/nixpkgs/pkgs/applications/terminal-emulators/termite/wrapper.nix b/nixpkgs/pkgs/applications/terminal-emulators/termite/wrapper.nix new file mode 100644 index 000000000000..379223d9076d --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/termite/wrapper.nix @@ -0,0 +1,15 @@ +{ makeWrapper, symlinkJoin, configFile ? null, termite }: + +if configFile == null then termite else symlinkJoin { + name = "termite-with-config-${termite.version}"; + + paths = [ termite ]; + nativeBuildInputs = [ makeWrapper ]; + + postBuild = '' + wrapProgram $out/bin/termite \ + --add-flags "--config ${configFile}" + ''; + + passthru.terminfo = termite.terminfo; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/termonad/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/termonad/default.nix new file mode 100644 index 000000000000..efddfa454668 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/termonad/default.nix @@ -0,0 +1,26 @@ +{ stdenv, haskellPackages, makeWrapper, packages ? (pkgSet: []), nixosTests }: + +let + termonadEnv = haskellPackages.ghcWithPackages (self: [ self.termonad ] ++ packages self); +in stdenv.mkDerivation { + pname = "termonad-with-packages"; + inherit (termonadEnv) version; + + nativeBuildInputs = [ makeWrapper ]; + + buildCommand = '' + mkdir -p $out/bin $out/share + makeWrapper ${termonadEnv}/bin/termonad $out/bin/termonad \ + --set NIX_GHC "${termonadEnv}/bin/ghc" + ''; + + # trivial derivation + preferLocalBuild = true; + allowSubstitutes = false; + + passthru.tests.test = nixosTests.terminal-emulators.termonad; + + meta = haskellPackages.termonad.meta // { + mainProgram = "termonad"; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/tilix/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/tilix/default.nix new file mode 100644 index 000000000000..fb8d1b56d086 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/tilix/default.nix @@ -0,0 +1,87 @@ +{ lib, stdenv +, fetchFromGitHub +, meson +, ninja +, python3 +, pkg-config +, ldc +, dconf +, dbus +, gsettings-desktop-schemas +, desktop-file-utils +, gettext +, gtkd +, libsecret +, wrapGAppsHook +, libunwind +, appstream +, nixosTests +, fetchpatch +}: + +stdenv.mkDerivation rec { + pname = "tilix"; + version = "1.9.5"; + + src = fetchFromGitHub { + owner = "gnunn1"; + repo = "tilix"; + rev = version; + sha256 = "sha256-sPVL5oYDOmloRVm/nONKkC20vZc907c7ixBF6E2PQ8Y="; + }; + + # Default upstream else LDC fails to link + mesonBuildType = [ + "debugoptimized" + ]; + + nativeBuildInputs = [ + desktop-file-utils + ldc + meson + ninja + pkg-config + python3 + wrapGAppsHook + appstream + ]; + + buildInputs = [ + dbus + gettext + dconf + gsettings-desktop-schemas + gtkd + libsecret + libunwind + ]; + + patches = [ + # https://github.com/gnunn1/tilix/issues/2151 + (fetchpatch { + name = "tilix-replace-std-xml-with-gmarkup.patch"; + url = "https://github.com/gnunn1/tilix/commit/b02779737997a02b98b690e6f8478d28d5e931a5.patch"; + hash = "sha256-6p+DomJEZ/hCW8RTjttKsTDsgHZ6eFKj/71TU5O/Ysg="; + }) + ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + preFixup = '' + substituteInPlace $out/share/applications/com.gexperts.Tilix.desktop \ + --replace "Exec=tilix" "Exec=$out/bin/tilix" + ''; + + passthru.tests.test = nixosTests.terminal-emulators.tilix; + + meta = with lib; { + description = "Tiling terminal emulator following the Gnome Human Interface Guidelines"; + homepage = "https://gnunn1.github.io/tilix-web"; + license = licenses.mpl20; + maintainers = with maintainers; [ midchildan ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/tym/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/tym/default.nix new file mode 100644 index 000000000000..d999bb5db297 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/tym/default.nix @@ -0,0 +1,33 @@ +{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, gtk3, vte, lua5_3, pcre2 }: + +stdenv.mkDerivation rec { + pname = "tym"; + version = "3.5.0"; + + src = fetchFromGitHub { + owner = "endaaman"; + repo = "${pname}"; + rev = version; + sha256 = "sha256-aXV3TNjHxg/9Lb2o+ci5/cCAPbkWhxqOka3wv21ajSA="; + }; + + nativeBuildInputs = [ + pkg-config + autoreconfHook + ]; + + buildInputs = [ + gtk3 + vte + lua5_3 + pcre2 + ]; + + meta = with lib; { + description = "Lua-configurable terminal emulator"; + homepage = "https://github.com/endaaman/tym"; + license = licenses.mit; + maintainers = with maintainers; [ wesleyjrz kashw2 ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/wayst/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/wayst/default.nix new file mode 100644 index 000000000000..63736ac35e35 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/wayst/default.nix @@ -0,0 +1,88 @@ +{ stdenv +, lib +, fetchFromGitHub +, pkg-config +, nixosTests +, freetype +, fontconfig +, libGL +, libX11 +, libXrandr +, libxcb +, libxkbcommon +, utf8proc +, wayland + +, libnotify +, xdg-utils +, makeDesktopItem +}: + +let + desktopItem = makeDesktopItem { + desktopName = "Wayst"; + name = "wayst"; + genericName = "Terminal"; + exec = "wayst"; + icon = "wayst"; + categories = [ "System" "TerminalEmulator" ]; + keywords = [ "wayst" "terminal" ]; + comment = "A simple terminal emulator"; + }; +in +stdenv.mkDerivation rec { + pname = "wayst"; + version = "unstable-2023-07-16"; + + src = fetchFromGitHub { + owner = "91861"; + repo = pname; + rev = "f8b218eec1af706fd5ae287f5073e6422eb8b6d8"; + hash = "sha256-tA2R6Snk5nqWkPXSbs7wmovWkT97xafdK0e/pKBUIUg="; + }; + + makeFlags = [ "INSTALL_DIR=\${out}/bin" ]; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ + fontconfig + libX11 + freetype + libGL + libxcb + libxkbcommon + libXrandr + utf8proc + wayland + ]; + enableParallelBuilding = true; + + postPatch = '' + substituteInPlace src/settings.c \ + --replace xdg-open ${xdg-utils}/bin/xdg-open + substituteInPlace src/main.c \ + --replace notify-send ${libnotify}/bin/notify-send + ''; + + preInstall = '' + mkdir -p $out/bin + ''; + + postInstall = '' + mkdir -p $out/share/applications + ln -s ${desktopItem}/share/applications/* $out/share/applications + install -D icons/wayst.svg $out/share/icons/hicolor/scalable/apps/wayst.svg + ''; + + passthru.tests.test = nixosTests.terminal-emulators.wayst; + + meta = with lib; { + description = "A simple terminal emulator"; + mainProgram = "wayst"; + homepage = "https://github.com/91861/wayst"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ berbiche ]; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/wezterm/Cargo.lock b/nixpkgs/pkgs/applications/terminal-emulators/wezterm/Cargo.lock new file mode 100644 index 000000000000..b41c47094f2f --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/wezterm/Cargo.lock @@ -0,0 +1,6940 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "adler32" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" + +[[package]] +name = "ahash" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "getrandom", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +dependencies = [ + "memchr", +] + +[[package]] +name = "aho-corasick" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +dependencies = [ + "memchr", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstream" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is-terminal", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" + +[[package]] +name = "anstyle-parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "anstyle-wincon" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +dependencies = [ + "anstyle", + "windows-sys 0.48.0", +] + +[[package]] +name = "anyhow" +version = "1.0.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "ash" +version = "0.37.3+1.3.251" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" +dependencies = [ + "libloading 0.7.4", +] + +[[package]] +name = "assert_fs" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f070617a68e5c2ed5d06ee8dd620ee18fb72b99f6c094bed34cf8ab07c875b48" +dependencies = [ + "anstyle", + "doc-comment", + "globwalk", + "predicates", + "predicates-core", + "predicates-tree", + "tempfile", +] + +[[package]] +name = "async-broadcast" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" +dependencies = [ + "event-listener", + "futures-core", +] + +[[package]] +name = "async-channel" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + +[[package]] +name = "async-executor" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb" +dependencies = [ + "async-lock", + "async-task", + "concurrent-queue", + "fastrand 1.9.0", + "futures-lite", + "slab", +] + +[[package]] +name = "async-fs" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" +dependencies = [ + "async-lock", + "autocfg", + "blocking", + "futures-lite", +] + +[[package]] +name = "async-io" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +dependencies = [ + "async-lock", + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-lite", + "log", + "parking", + "polling", + "rustix 0.37.23", + "slab", + "socket2 0.4.9", + "waker-fn", +] + +[[package]] +name = "async-lock" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7" +dependencies = [ + "event-listener", +] + +[[package]] +name = "async-net" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4051e67316bc7eff608fe723df5d32ed639946adcd69e07df41fd42a7b411f1f" +dependencies = [ + "async-io", + "autocfg", + "blocking", + "futures-lite", +] + +[[package]] +name = "async-process" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a9d28b1d97e08915212e2e45310d47854eafa69600756fc735fb788f75199c9" +dependencies = [ + "async-io", + "async-lock", + "autocfg", + "blocking", + "cfg-if", + "event-listener", + "futures-lite", + "rustix 0.37.23", + "signal-hook", + "windows-sys 0.48.0", +] + +[[package]] +name = "async-recursion" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.25", +] + +[[package]] +name = "async-task" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae" + +[[package]] +name = "async-trait" +version = "0.1.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.25", +] + +[[package]] +name = "async_ossl" +version = "0.1.0" +dependencies = [ + "openssl", +] + +[[package]] +name = "atomic" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba" + +[[package]] +name = "atomic-waker" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3" + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi 0.1.19", + "libc", + "winapi", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "backtrace" +version = "0.3.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide 0.7.1", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" + +[[package]] +name = "base91" +version = "0.1.0" + +[[package]] +name = "battery" +version = "0.1.0" +dependencies = [ + "anyhow", + "config", + "luahelper", + "starship-battery", + "wezterm-dynamic", +] + +[[package]] +name = "benchmarking" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32842502e72b27b30b2681692d16bf47a8a375c5a2795613f0dc699bed9a48bb" + +[[package]] +name = "bintree" +version = "0.1.0" + +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + +[[package]] +name = "bit_field" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" +dependencies = [ + "serde", +] + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "blocking" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65" +dependencies = [ + "async-channel", + "async-lock", + "async-task", + "atomic-waker", + "fastrand 1.9.0", + "futures-lite", + "log", +] + +[[package]] +name = "bstr" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59604ece62a407dc9164732e5adea02467898954c3a5811fd2dc140af14ef15b" +dependencies = [ + "lazy_static", + "memchr", + "regex-automata 0.1.10", +] + +[[package]] +name = "bstr" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" +dependencies = [ + "lazy_static", + "memchr", + "regex-automata 0.1.10", +] + +[[package]] +name = "bstr" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "bumpalo" +version = "3.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" + +[[package]] +name = "bytemuck" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.25", +] + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" + +[[package]] +name = "camino" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c530edf18f37068ac2d977409ed5cd50d53d73bc653c7647b48eb78976ac9ae2" + +[[package]] +name = "cassowary" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cc" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +dependencies = [ + "jobserver", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cgl" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ced0551234e87afee12411d535648dd89d2e7f34c78b753395567aff3d447ff" +dependencies = [ + "libc", +] + +[[package]] +name = "chrono" +version = "0.4.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "num-traits", + "pure-rust-locales", + "serde", + "winapi", +] + +[[package]] +name = "ciborium" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656" + +[[package]] +name = "ciborium-ll" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b" +dependencies = [ + "ciborium-io", + "half 1.8.2", +] + +[[package]] +name = "clap" +version = "2.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +dependencies = [ + "bitflags 1.3.2", + "textwrap 0.11.0", + "unicode-width", +] + +[[package]] +name = "clap" +version = "3.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" +dependencies = [ + "bitflags 1.3.2", + "clap_lex 0.2.4", + "indexmap 1.9.3", + "textwrap 0.16.0", +] + +[[package]] +name = "clap" +version = "4.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1640e5cc7fb47dbb8338fd471b105e7ed6c3cb2aeb00c2e067127ffd3764a05d" +dependencies = [ + "clap_builder", + "clap_derive", + "once_cell", +] + +[[package]] +name = "clap_builder" +version = "4.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98c59138d527eeaf9b53f35a77fcc1fad9d883116070c63d5de1c7dc7b00c72b" +dependencies = [ + "anstream", + "anstyle", + "clap_lex 0.5.0", + "strsim", + "terminal_size", +] + +[[package]] +name = "clap_complete" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc443334c81a804575546c5a8a79b4913b50e28d69232903604cada1de817ce" +dependencies = [ + "clap 4.3.11", +] + +[[package]] +name = "clap_complete_fig" +version = "4.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99fee1d30a51305a6c2ed3fc5709be3c8af626c9c958e04dd9ae94e27bcbce9f" +dependencies = [ + "clap 4.3.11", + "clap_complete", +] + +[[package]] +name = "clap_derive" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.25", +] + +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + +[[package]] +name = "clap_lex" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" + +[[package]] +name = "clipboard-win" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a093d6fed558e5fe24c3dfc85a68bb68f1c824f440d3ba5aca189e2998786b" +dependencies = [ + "winapi", +] + +[[package]] +name = "cocoa" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c49e86fc36d5704151f5996b7b3795385f50ce09e3be0f47a0cfde869681cf8" +dependencies = [ + "bitflags 1.3.2", + "block", + "core-foundation 0.7.0", + "core-graphics 0.19.2", + "foreign-types", + "libc", + "objc", +] + +[[package]] +name = "codec" +version = "0.1.0" +dependencies = [ + "anyhow", + "base91", + "config", + "leb128", + "log", + "metrics", + "mux", + "portable-pty", + "rangeset", + "serde", + "smol", + "termwiz", + "thiserror", + "varbincode", + "wezterm-term", + "zstd", +] + +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + +[[package]] +name = "color-funcs" +version = "0.1.0" +dependencies = [ + "anyhow", + "config", + "csscolorparser", + "deltae", + "image", + "lazy_static", + "log", + "lru", + "luahelper", + "plist", + "serde", + "serde_json", + "serde_yaml", + "wezterm-dynamic", + "wezterm-term", +] + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + +[[package]] +name = "colored" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4ffc801dacf156c5854b9df4f425a626539c3a6ef7893cc0c5084a23f0b6c59" +dependencies = [ + "atty", + "lazy_static", + "winapi", +] + +[[package]] +name = "colorgrad" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a5f405d474b9d05e0a093d3120e77e9bf26461b57a84b40aa2a221ac5617fb6" +dependencies = [ + "csscolorparser", +] + +[[package]] +name = "com-rs" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf43edc576402991846b093a7ca18a3477e0ef9c588cde84964b5d3e43016642" + +[[package]] +name = "concurrent-queue" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "config" +version = "0.1.0" +dependencies = [ + "anyhow", + "bitflags 1.3.2", + "colorgrad", + "dirs-next", + "enum-display-derive", + "env_logger", + "hostname", + "lazy_static", + "libc", + "log", + "luahelper", + "mlua", + "nix 0.26.2", + "notify", + "once_cell", + "ordered-float", + "portable-pty", + "promise", + "serde", + "serde_json", + "shlex", + "smol", + "termwiz", + "toml 0.7.6", + "umask", + "wezterm-bidi", + "wezterm-config-derive", + "wezterm-dynamic", + "wezterm-input-types", + "wezterm-ssh", + "wezterm-term", + "winapi", +] + +[[package]] +name = "core-foundation" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" +dependencies = [ + "core-foundation-sys 0.7.0", + "libc", +] + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys 0.8.4", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" + +[[package]] +name = "core-foundation-sys" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" + +[[package]] +name = "core-graphics" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3889374e6ea6ab25dba90bb5d96202f61108058361f6dc72e8b03e6f8bbe923" +dependencies = [ + "bitflags 1.3.2", + "core-foundation 0.7.0", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" +dependencies = [ + "bitflags 1.3.2", + "core-foundation 0.9.3", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33" +dependencies = [ + "bitflags 1.3.2", + "core-foundation 0.9.3", + "libc", +] + +[[package]] +name = "core-text" +version = "19.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d74ada66e07c1cefa18f8abfba765b486f250de2e4a999e5727fc0dd4b4a25" +dependencies = [ + "core-foundation 0.9.3", + "core-graphics 0.22.3", + "foreign-types", + "libc", +] + +[[package]] +name = "core2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" +dependencies = [ + "memchr", +] + +[[package]] +name = "cpufeatures" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "criterion" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b01d6de93b2b6c65e17c634a26653a29d107b3c98c607c765bf38d041531cd8f" +dependencies = [ + "atty", + "cast", + "clap 2.34.0", + "criterion-plot 0.4.5", + "csv", + "itertools", + "lazy_static", + "num-traits", + "oorandom", + "plotters", + "rayon", + "regex", + "serde", + "serde_cbor", + "serde_derive", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb" +dependencies = [ + "anes", + "atty", + "cast", + "ciborium", + "clap 3.2.25", + "criterion-plot 0.5.0", + "itertools", + "lazy_static", + "num-traits", + "oorandom", + "plotters", + "rayon", + "regex", + "serde", + "serde_derive", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2673cc8207403546f45f5fd319a974b1e6983ad1a3ee7e6041650013be041876" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "criterion-plot" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crossbeam" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c" +dependencies = [ + "cfg-if", + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +dependencies = [ + "cfg-if", + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +dependencies = [ + "autocfg", + "cfg-if", + "crossbeam-utils", + "memoffset 0.9.0", + "scopeguard", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "csscolorparser" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb2a7d3066da2de787b7f032c736763eb7ae5d355f81a68bab2675a96008b0bf" +dependencies = [ + "lab", + "phf", +] + +[[package]] +name = "csv" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "626ae34994d3d8d668f4269922248239db4ae42d538b14c398b74a52208e8086" +dependencies = [ + "csv-core", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "csv-core" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90" +dependencies = [ + "memchr", +] + +[[package]] +name = "d3d12" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8f0de2f5a8e7bd4a9eec0e3c781992a4ce1724f68aec7d7a3715344de8b39da" +dependencies = [ + "bitflags 1.3.2", + "libloading 0.7.4", + "winapi", +] + +[[package]] +name = "darling" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.25", +] + +[[package]] +name = "darling_macro" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.25", +] + +[[package]] +name = "dary_heap" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7762d17f1241643615821a8455a0b2c3e803784b058693d990b11f2dce25a0ca" + +[[package]] +name = "data-encoding" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" + +[[package]] +name = "deltae" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ef311e2c0a388b9ba56c839ac68d33b92d18ce7104d0acc4375cb479e2b9a53" + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "dhat" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f2aaf837aaf456f6706cb46386ba8dffd4013a757e36f4ea05c20dd46b209a3" +dependencies = [ + "backtrace", + "lazy_static", + "mintex", + "parking_lot 0.12.1", + "rustc-hash", + "serde", + "serde_json", + "thousands", +] + +[[package]] +name = "diff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" + +[[package]] +name = "difflib" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "dirs" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "dlib" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" +dependencies = [ + "libloading 0.8.0", +] + +[[package]] +name = "doc-comment" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" + +[[package]] +name = "downcast-rs" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" + +[[package]] +name = "dwrote" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439a1c2ba5611ad3ed731280541d36d2e9c4ac5e7fb818a27b604bdc5a6aa65b" +dependencies = [ + "lazy_static", + "libc", + "serde", + "serde_derive", + "winapi", + "wio", +] + +[[package]] +name = "either" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" + +[[package]] +name = "embed-resource" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e62abb876c07e4754fae5c14cafa77937841f01740637e17d78dc04352f32a5e" +dependencies = [ + "cc", + "rustc_version", + "toml 0.5.11", + "vswhom", + "winreg", +] + +[[package]] +name = "emojis" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c15f3d10f3c4086c618edd197ad5b9084eb35d640d68d6f5dd34d6f54b3150f5" +dependencies = [ + "phf", +] + +[[package]] +name = "encoding_rs" +version = "0.8.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enum-display-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f16ef37b2a9b242295d61a154ee91ae884afff6b8b933b486b12481cc58310ca" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "enumflags2" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c041f5090df68b32bcd905365fd51769c8b9d553fe87fde0b683534f10c01bd2" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.25", +] + +[[package]] +name = "env-bootstrap" +version = "0.1.0" +dependencies = [ + "backtrace", + "battery", + "chrono", + "cocoa", + "color-funcs", + "config", + "dirs-next", + "env_logger", + "filesystem", + "json", + "lazy_static", + "libc", + "log", + "logging", + "mux-lua", + "objc", + "plugin", + "procinfo-funcs", + "share-data", + "spawn-funcs", + "ssh-funcs", + "termwiz", + "termwiz-funcs", + "time-funcs", + "wezterm-version", + "winapi", +] + +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "equivalent" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1" + +[[package]] +name = "errno" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +dependencies = [ + "errno-dragonfly", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "euclid" +version = "0.22.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787" +dependencies = [ + "num-traits", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "exr" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1e481eb11a482815d3e9d618db8c42a93207134662873809335a92327440c18" +dependencies = [ + "bit_field", + "flume", + "half 2.2.1", + "lebe", + "miniz_oxide 0.7.1", + "rayon-core", + "smallvec", + "zune-inflate", +] + +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + +[[package]] +name = "fallible-streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" + +[[package]] +name = "fancy-regex" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2" +dependencies = [ + "bit-set", + "regex", +] + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fastrand" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" + +[[package]] +name = "fdeflate" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "filedescriptor" +version = "0.8.3" +dependencies = [ + "libc", + "thiserror", + "winapi", +] + +[[package]] +name = "filenamegen" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b2da6e8ef70499318bc50abd003fd66dbf6d8a46c23f9e90158f388a788976a" +dependencies = [ + "anyhow", + "bstr 0.1.4", + "regex", + "walkdir", +] + +[[package]] +name = "filesystem" +version = "0.1.0" +dependencies = [ + "anyhow", + "config", + "filenamegen", + "luahelper", + "smol", +] + +[[package]] +name = "filetime" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.2.16", + "windows-sys 0.48.0", +] + +[[package]] +name = "finl_unicode" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6" + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "flate2" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +dependencies = [ + "crc32fast", + "miniz_oxide 0.7.1", +] + +[[package]] +name = "float-cmp" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" +dependencies = [ + "num-traits", +] + +[[package]] +name = "flume" +version = "0.10.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" +dependencies = [ + "futures-core", + "futures-sink", + "nanorand", + "pin-project", + "spin 0.9.8", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "fontconfig" +version = "0.1.0" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "frecency" +version = "0.1.0" +dependencies = [ + "chrono", + "serde", + "serde_json", + "serde_with", +] + +[[package]] +name = "freetype" +version = "0.1.0" +dependencies = [ + "cc", +] + +[[package]] +name = "fsevent-sys" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" +dependencies = [ + "libc", +] + +[[package]] +name = "futures" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" + +[[package]] +name = "futures-executor" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" + +[[package]] +name = "futures-lite" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +dependencies = [ + "fastrand 1.9.0", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[package]] +name = "futures-macro" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.25", +] + +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + +[[package]] +name = "futures-task" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" + +[[package]] +name = "futures-timer" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" + +[[package]] +name = "futures-util" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fuzzy-matcher" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94" +dependencies = [ + "thread_local", +] + +[[package]] +name = "generate-bidi" +version = "0.1.0" +dependencies = [ + "anyhow", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "gethostname" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" +dependencies = [ + "libc", + "windows-targets 0.48.1", +] + +[[package]] +name = "getopts" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "getrandom" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "gif" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045" +dependencies = [ + "color_quant", + "weezl", +] + +[[package]] +name = "gimli" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" + +[[package]] +name = "git2" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf7f68c2995f392c49fffb4f95ae2c873297830eb25c6bc4c114ce8f4562acc" +dependencies = [ + "bitflags 1.3.2", + "libc", + "libgit2-sys", + "log", + "openssl-probe", + "openssl-sys", + "url", +] + +[[package]] +name = "gl_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" +dependencies = [ + "khronos_api", + "log", + "xml-rs", +] + +[[package]] +name = "glium" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ab4f09b43d8ee427a700cb9ed3b20e0e858d62a509edded1a98ca5707d68e19" +dependencies = [ + "backtrace", + "fnv", + "gl_generator", + "lazy_static", + "memoffset 0.6.5", + "smallvec", + "takeable-option", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "globset" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" +dependencies = [ + "aho-corasick 0.7.20", + "bstr 1.6.0", + "fnv", + "log", + "regex", +] + +[[package]] +name = "globwalk" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc" +dependencies = [ + "bitflags 1.3.2", + "ignore", + "walkdir", +] + +[[package]] +name = "glow" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "807edf58b70c0b5b2181dd39fe1839dbdb3ba02645630dc5f753e23da307f762" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "governor" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c390a940a5d157878dd057c78680a33ce3415bcd05b4799509ea44210914b4d5" +dependencies = [ + "cfg-if", + "futures", + "futures-timer", + "no-std-compat", + "nonzero_ext", + "parking_lot 0.12.1", + "smallvec", +] + +[[package]] +name = "gpu-alloc" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22beaafc29b38204457ea030f6fb7a84c9e4dd1b86e311ba0542533453d87f62" +dependencies = [ + "bitflags 1.3.2", + "gpu-alloc-types", +] + +[[package]] +name = "gpu-alloc-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54804d0d6bc9d7f26db4eaec1ad10def69b599315f487d32c334a80d1efe67a5" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "gpu-allocator" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce95f9e2e11c2c6fadfce42b5af60005db06576f231f5c92550fdded43c423e8" +dependencies = [ + "backtrace", + "log", + "thiserror", + "winapi", + "windows 0.44.0", +] + +[[package]] +name = "gpu-descriptor" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b0c02e1ba0bdb14e965058ca34e09c020f8e507a760df1121728e0aef68d57a" +dependencies = [ + "bitflags 1.3.2", + "gpu-descriptor-types", + "hashbrown 0.12.3", +] + +[[package]] +name = "gpu-descriptor-types" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "363e3677e55ad168fef68cf9de3a4a310b53124c5e784c53a1d70e92d23f2126" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "guillotiere" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62d5865c036cb1393e23c50693df631d3f5d7bcca4c04fe4cc0fd592e74a782" +dependencies = [ + "euclid", + "svg_fmt", +] + +[[package]] +name = "h2" +version = "0.3.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 1.9.3", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "half" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" + +[[package]] +name = "half" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0" +dependencies = [ + "crunchy", +] + +[[package]] +name = "harfbuzz" +version = "0.1.0" +dependencies = [ + "cc", + "freetype", +] + +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +dependencies = [ + "ahash 0.7.6", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.6", +] + +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash 0.8.3", +] + +[[package]] +name = "hashbrown" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" + +[[package]] +name = "hashlink" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf" +dependencies = [ + "hashbrown 0.11.2", +] + +[[package]] +name = "hassle-rs" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1397650ee315e8891a0df210707f0fc61771b0cc518c3023896064c5407cb3b0" +dependencies = [ + "bitflags 1.3.2", + "com-rs", + "libc", + "libloading 0.7.4", + "thiserror", + "widestring", + "winapi", +] + +[[package]] +name = "hdrhistogram" +version = "7.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f19b9f54f7c7f55e31401bb647626ce0cf0f67b0004982ce815b3ee72a02aa8" +dependencies = [ + "base64 0.13.1", + "byteorder", + "crossbeam-channel", + "flate2", + "nom", + "num-traits", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hexf-parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" + +[[package]] +name = "hostname" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" +dependencies = [ + "libc", + "match_cfg", + "winapi", +] + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "http_req" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f680177f2ebe4aabd573d07b322d15a5e0fbc97cd739fd627b08043c89041f8" +dependencies = [ + "native-tls", + "unicase", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + +[[package]] +name = "humansize" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7" +dependencies = [ + "libm", +] + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "hyper" +version = "0.14.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2 0.4.9", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +dependencies = [ + "android_system_properties", + "core-foundation-sys 0.8.4", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows 0.48.0", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "ignore" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492" +dependencies = [ + "globset", + "lazy_static", + "log", + "memchr", + "regex", + "same-file", + "thread_local", + "walkdir", + "winapi-util", +] + +[[package]] +name = "image" +version = "0.24.5" +source = "git+https://github.com/image-rs/image.git?rev=fe069785ae245a2c510fd724ef96da283b05a236#fe069785ae245a2c510fd724ef96da283b05a236" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "exr", + "gif", + "jpeg-decoder", + "num-rational 0.4.1", + "num-traits", + "png", + "qoi", + "tiff", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +dependencies = [ + "equivalent", + "hashbrown 0.14.0", +] + +[[package]] +name = "inotify" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" +dependencies = [ + "bitflags 1.3.2", + "inotify-sys", + "libc", +] + +[[package]] +name = "inotify-sys" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +dependencies = [ + "libc", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "intrusive-collections" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f4f90afb01281fdeffb0f8e082d230cbe4f888f837cc90759696b858db1a700" +dependencies = [ + "memoffset 0.8.0", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi 0.3.2", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "ioctl-rs" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7970510895cee30b3e9128319f2cefd4bde883a39f38baa279567ba3a7eb97d" +dependencies = [ + "libc", +] + +[[package]] +name = "ipnet" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" + +[[package]] +name = "is-terminal" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +dependencies = [ + "hermit-abi 0.3.2", + "rustix 0.38.3", + "windows-sys 0.48.0", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a" + +[[package]] +name = "jobserver" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +dependencies = [ + "libc", +] + +[[package]] +name = "jpeg-decoder" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e" +dependencies = [ + "rayon", +] + +[[package]] +name = "js-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "json" +version = "0.1.0" +dependencies = [ + "anyhow", + "config", + "luahelper", + "serde_json", + "wezterm-dynamic", +] + +[[package]] +name = "k9" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32ddb58b0079a063218472916af599f2753ccb40942cdaba9d1f3fefccef17a9" +dependencies = [ + "anyhow", + "colored", + "diff", + "lazy_static", + "libc", + "proc-macro2", + "regex", + "syn 1.0.109", + "term_size", +] + +[[package]] +name = "khronos-egl" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c2352bd1d0bceb871cb9d40f24360c8133c11d7486b68b5381c1dd1a32015e3" +dependencies = [ + "libc", + "libloading 0.7.4", + "pkg-config", +] + +[[package]] +name = "khronos_api" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" + +[[package]] +name = "kqueue" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c8fc60ba15bf51257aa9807a48a61013db043fcf3a78cb0d916e8e396dcad98" +dependencies = [ + "kqueue-sys", + "libc", +] + +[[package]] +name = "kqueue-sys" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587" +dependencies = [ + "bitflags 1.3.2", + "libc", +] + +[[package]] +name = "lab" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf36173d4167ed999940f804952e6b08197cae5ad5d572eb4db150ce8ad5d58f" + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + +[[package]] +name = "leb128" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" + +[[package]] +name = "lebe" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" + +[[package]] +name = "lfucache" +version = "0.1.0" +dependencies = [ + "ahash 0.8.3", + "config", + "fnv", + "intrusive-collections", + "k9", + "metrics", +] + +[[package]] +name = "libc" +version = "0.2.147" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" + +[[package]] +name = "libflate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7d5654ae1795afc7ff76f4365c2c8791b0feb18e8996a96adad8ffd7c3b2bf" +dependencies = [ + "adler32", + "core2", + "crc32fast", + "dary_heap", + "libflate_lz77", +] + +[[package]] +name = "libflate_lz77" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be5f52fb8c451576ec6b79d3f4deb327398bc05bbdbd99021a6e77a4c855d524" +dependencies = [ + "core2", + "hashbrown 0.13.2", + "rle-decode-fast", +] + +[[package]] +name = "libgit2-sys" +version = "0.14.2+1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f3d95f6b51075fe9810a7ae22c7095f12b98005ab364d8544797a825ce946a4" +dependencies = [ + "cc", + "libc", + "libz-sys", + "openssl-sys", + "pkg-config", +] + +[[package]] +name = "libloading" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "351a32417a12d5f7e82c368a66781e307834dae04c6ce0cd4456d52989229883" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "libloading" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d580318f95776505201b28cf98eb1fa5e4be3b689633ba6a3e6cd880ff22d8cb" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "libm" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" + +[[package]] +name = "libsqlite3-sys" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "libssh-rs" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff892c443aa43a8e305913da313b5234bf33a7f17eae378f9c9ae4419dbbaa74" +dependencies = [ + "bitflags 1.3.2", + "libssh-rs-sys", + "openssl-sys", + "thiserror", +] + +[[package]] +name = "libssh-rs-sys" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aad2e95f77dde4d6a636ca1c713f3efdaa46bb2dae33d7d2abeea992baeb9cb3" +dependencies = [ + "cc", + "libz-sys", + "openssl-sys", + "pkg-config", +] + +[[package]] +name = "libssh2-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dc8a030b787e2119a731f1951d6a773e2280c660f8ec4b0f5e1505a386e71ee" +dependencies = [ + "cc", + "libc", + "libz-sys", + "openssl-sys", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "libz-sys" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "line-wrap" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" +dependencies = [ + "safemem", +] + +[[package]] +name = "line_drawing" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15cb10f27ad3eac84fdb70f0ea6dfe3bc33f7d6f3aa575f32d1ced3a342049a1" +dependencies = [ + "num-traits", +] + +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + +[[package]] +name = "linux-raw-sys" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + +[[package]] +name = "linux-raw-sys" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" + +[[package]] +name = "lock_api" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" + +[[package]] +name = "logging" +version = "0.1.0" +dependencies = [ + "anyhow", + "config", + "log", + "luahelper", +] + +[[package]] +name = "lru" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" +dependencies = [ + "hashbrown 0.12.3", +] + +[[package]] +name = "lua-src" +version = "546.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cb00c1380f1b4b4928dd211c07301ffa34872a239e590bd3219d9e5b213face" +dependencies = [ + "cc", +] + +[[package]] +name = "luahelper" +version = "0.1.0" +dependencies = [ + "bstr 0.2.17", + "log", + "mlua", + "wezterm-dynamic", +] + +[[package]] +name = "luajit-src" +version = "210.4.5+resty2cf5186" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b7992a40e602786272d84c6f2beca44a588ededcfd57b48ec6f82008a7cb97" +dependencies = [ + "cc", +] + +[[package]] +name = "mac_address" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4863ee94f19ed315bf3bc00299338d857d4b5bc856af375cc97d237382ad3856" +dependencies = [ + "nix 0.23.2", + "winapi", +] + +[[package]] +name = "mach" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +dependencies = [ + "libc", +] + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + +[[package]] +name = "maplit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + +[[package]] +name = "match_cfg" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "memmap2" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "723e3ebdcdc5c023db1df315364573789f8857c11b631a2fdfad7c00f5c046b4" +dependencies = [ + "libc", +] + +[[package]] +name = "memmap2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +dependencies = [ + "libc", +] + +[[package]] +name = "memmem" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a64a92489e2744ce060c349162be1c5f33c6969234104dbd99ddb5feb08b8c15" + +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] + +[[package]] +name = "metal" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de11355d1f6781482d027a3b4d4de7825dcedb197bf573e0596d00008402d060" +dependencies = [ + "bitflags 1.3.2", + "block", + "core-graphics-types", + "foreign-types", + "log", + "objc", +] + +[[package]] +name = "metrics" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55586aa936c35f34ba8aa5d97356d554311206e1ce1f9e68fe7b07288e5ad827" +dependencies = [ + "ahash 0.7.6", + "metrics-macros", +] + +[[package]] +name = "metrics-macros" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0daa0ab3a0ae956d0e2c1f42511422850e577d36a255357d1a7d08d45ee3a2f1" +dependencies = [ + "lazy_static", + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" +dependencies = [ + "adler", + "autocfg", +] + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", + "simd-adler32", +] + +[[package]] +name = "mintex" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd7c5ba1c3b5a23418d7bbf98c71c3d4946a0125002129231da8d6b723d559cb" +dependencies = [ + "once_cell", + "sys-info", +] + +[[package]] +name = "mio" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +dependencies = [ + "libc", + "log", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "mlua" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07366ed2cd22a3b000aed076e2b68896fb46f06f1f5786c5962da73c0af01577" +dependencies = [ + "bstr 0.2.17", + "cc", + "futures-core", + "futures-task", + "futures-util", + "lua-src", + "luajit-src", + "num-traits", + "once_cell", + "pkg-config", + "rustc-hash", +] + +[[package]] +name = "mux" +version = "0.1.0" +dependencies = [ + "anyhow", + "async-trait", + "base64 0.21.2", + "bintree", + "bitflags 1.3.2", + "chrono", + "config", + "crossbeam", + "downcast-rs", + "fancy-regex", + "filedescriptor", + "finl_unicode", + "flume", + "hostname", + "k9", + "lazy_static", + "libc", + "log", + "luahelper", + "metrics", + "mlua", + "names", + "nix 0.25.1", + "ntapi", + "parking_lot 0.12.1", + "percent-encoding", + "portable-pty", + "procinfo", + "promise", + "rangeset", + "serde", + "serial", + "shell-words", + "smol", + "terminfo", + "termwiz", + "termwiz-funcs", + "textwrap 0.16.0", + "thiserror", + "url", + "wezterm-dynamic", + "wezterm-ssh", + "wezterm-term", + "winapi", +] + +[[package]] +name = "mux-lua" +version = "0.1.0" +dependencies = [ + "anyhow", + "config", + "libc", + "log", + "luahelper", + "mux", + "parking_lot 0.12.1", + "portable-pty", + "smol", + "termwiz", + "wezterm-dynamic", + "wezterm-term", +] + +[[package]] +name = "naga" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbcc2e0513220fd2b598e6068608d4462db20322c0e77e47f6f488dfcfc279cb" +dependencies = [ + "bit-set", + "bitflags 1.3.2", + "codespan-reporting", + "hexf-parse", + "indexmap 1.9.3", + "log", + "num-traits", + "rustc-hash", + "spirv", + "termcolor", + "thiserror", + "unicode-xid", +] + +[[package]] +name = "names" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a8690bf09abf659851e58cd666c3d37ac6af07c2bd7a9e332cfba471715775" +dependencies = [ + "rand", +] + +[[package]] +name = "nanorand" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" +dependencies = [ + "getrandom", +] + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "nix" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" +dependencies = [ + "bitflags 1.3.2", + "cc", + "cfg-if", + "libc", + "memoffset 0.6.5", +] + +[[package]] +name = "nix" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.6.5", +] + +[[package]] +name = "nix" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" +dependencies = [ + "autocfg", + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.6.5", + "pin-utils", +] + +[[package]] +name = "nix" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.7.1", + "pin-utils", + "static_assertions", +] + +[[package]] +name = "no-std-compat" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "nonzero_ext" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" + +[[package]] +name = "normalize-line-endings" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" + +[[package]] +name = "notify" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "729f63e1ca555a43fe3efa4f3efdf4801c479da85b432242a7b726f353c88486" +dependencies = [ + "bitflags 1.3.2", + "crossbeam-channel", + "filetime", + "fsevent-sys", + "inotify", + "kqueue", + "libc", + "mio", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "ntapi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +dependencies = [ + "winapi", +] + +[[package]] +name = "num" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b7a8e9be5e039e2ff869df49155f1c06bd01ade2117ec783e56ab0932b67a8f" +dependencies = [ + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational 0.3.2", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6f7833f2cbf2360a6cfd58cd41a53aa7a90bd4c202f5b1c7dd2ed73c57b2c3" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "747d632c0c558b87dbabbe6a82f3b4ae03720d0646ac5b7b4dae89394be5f2c5" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-derive" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "num-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" +dependencies = [ + "autocfg", + "num-bigint", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi 0.3.2", + "libc", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", + "objc_exception", +] + +[[package]] +name = "objc_exception" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +dependencies = [ + "cc", +] + +[[package]] +name = "object" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "oorandom" +version = "11.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" + +[[package]] +name = "openssl" +version = "0.10.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-sys", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-src" +version = "300.1.2+3.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94773a6131a4d91f737a31debb0b3258964a47d923ef539c8be1d496dfb5145d" +dependencies = [ + "cc", +] + +[[package]] +name = "openssl-sys" +version = "0.9.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7df13d165e607909b363a4757a6f133f8a818a74e9d3a98d09c6128e15fa4c73" +dependencies = [ + "autocfg", + "cc", + "libc", + "openssl-src", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "ordered-float" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fc2dbde8f8a79f2102cc474ceb0ad68e3b80b85289ea62389b60e66777e4213" +dependencies = [ + "num-traits", + "rand", + "serde", +] + +[[package]] +name = "ordered-stream" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" +dependencies = [ + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "os_str_bytes" +version = "6.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac" + +[[package]] +name = "parking" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" + +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core 0.8.6", +] + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core 0.9.8", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" +dependencies = [ + "cfg-if", + "instant", + "libc", + "redox_syscall 0.2.16", + "smallvec", + "winapi", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.3.5", + "smallvec", + "windows-targets 0.48.1", +] + +[[package]] +name = "pem" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +dependencies = [ + "base64 0.13.1", +] + +[[package]] +name = "percent-encoding" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" + +[[package]] +name = "pest" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f73935e4d55e2abf7f130186537b19e7a4abc886a0252380b59248af473a3fc9" +dependencies = [ + "thiserror", + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aef623c9bbfa0eedf5a0efba11a5ee83209c326653ca31ff019bec3a95bfff2b" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3e8cba4ec22bada7fc55ffe51e2deb6a0e0db2d0b7ab0b103acc80d2510c190" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn 2.0.25", +] + +[[package]] +name = "pest_meta" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a01f71cb40bd8bb94232df14b946909e14660e33fc05db3e50ae2a82d7ea0ca0" +dependencies = [ + "once_cell", + "pest", + "sha2", +] + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_macros", + "phf_shared", +] + +[[package]] +name = "phf_codegen" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared", + "rand", +] + +[[package]] +name = "phf_macros" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", + "syn 2.0.25", +] + +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "030ad2bc4db10a8944cb0d837f158bdfec4d4a4873ab701a95046770d11f8842" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.25", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" + +[[package]] +name = "plist" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdc0001cfea3db57a2e24bc0d818e9e20e554b5f97fabb9bc231dc240269ae06" +dependencies = [ + "base64 0.21.2", + "indexmap 1.9.3", + "line-wrap", + "quick-xml 0.29.0", + "serde", + "time", +] + +[[package]] +name = "plotters" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45" +dependencies = [ + "num-traits", + "plotters-backend", + "plotters-svg", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "plotters-backend" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609" + +[[package]] +name = "plotters-svg" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab" +dependencies = [ + "plotters-backend", +] + +[[package]] +name = "plugin" +version = "0.1.0" +dependencies = [ + "anyhow", + "config", + "git2", + "log", + "luahelper", + "tempfile", + "wezterm-dynamic", +] + +[[package]] +name = "png" +version = "0.17.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59871cc5b6cce7eaccca5a802b4173377a1c2ba90654246789a8fa2334426d11" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide 0.7.1", +] + +[[package]] +name = "polling" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +dependencies = [ + "autocfg", + "bitflags 1.3.2", + "cfg-if", + "concurrent-queue", + "libc", + "log", + "pin-project-lite", + "windows-sys 0.48.0", +] + +[[package]] +name = "portable-pty" +version = "0.8.1" +dependencies = [ + "anyhow", + "bitflags 1.3.2", + "downcast-rs", + "filedescriptor", + "futures", + "lazy_static", + "libc", + "log", + "nix 0.25.1", + "serde", + "serde_derive", + "serial", + "shared_library", + "shell-words", + "smol", + "winapi", + "winreg", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "predicates" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09963355b9f467184c04017ced4a2ba2d75cbcb4e7462690d388233253d4b1a9" +dependencies = [ + "anstyle", + "difflib", + "float-cmp", + "itertools", + "normalize-line-endings", + "predicates-core", + "regex", +] + +[[package]] +name = "predicates-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" + +[[package]] +name = "predicates-tree" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" +dependencies = [ + "predicates-core", + "termtree", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "1.0.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "procinfo" +version = "0.1.0" +dependencies = [ + "libc", + "log", + "luahelper", + "ntapi", + "wezterm-dynamic", + "winapi", +] + +[[package]] +name = "procinfo-funcs" +version = "0.1.0" +dependencies = [ + "anyhow", + "config", + "libc", + "luahelper", + "procinfo", + "wezterm-dynamic", +] + +[[package]] +name = "profiling" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "332cd62e95873ea4f41f3dfd6bbbfc5b52aec892d7e8d534197c4720a0bbbab2" + +[[package]] +name = "promise" +version = "0.2.0" +dependencies = [ + "anyhow", + "async-executor", + "async-io", + "async-task", + "flume", + "lazy_static", + "thiserror", +] + +[[package]] +name = "pulldown-cmark" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998" +dependencies = [ + "bitflags 1.3.2", + "getopts", + "memchr", + "unicase", +] + +[[package]] +name = "pure-rust-locales" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b45c49fc4f91f35bae654f85ebb3a44d60ac64f11b3166ffa609def390c732d8" + +[[package]] +name = "qoi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "quick-xml" +version = "0.28.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1" +dependencies = [ + "memchr", +] + +[[package]] +name = "quick-xml" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", + "serde", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", + "serde", +] + +[[package]] +name = "range-alloc" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" + +[[package]] +name = "rangeset" +version = "0.1.0" +dependencies = [ + "criterion 0.3.6", + "num", +] + +[[package]] +name = "ratelim" +version = "0.1.0" +dependencies = [ + "config", + "governor", +] + +[[package]] +name = "raw-window-handle" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" + +[[package]] +name = "rayon" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-utils", + "num_cpus", +] + +[[package]] +name = "rcgen" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" +dependencies = [ + "pem", + "ring", + "time", + "yasna", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_users" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +dependencies = [ + "getrandom", + "redox_syscall 0.2.16", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +dependencies = [ + "aho-corasick 1.0.2", + "memchr", + "regex-automata 0.3.2", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" + +[[package]] +name = "regex-automata" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83d3daa6976cffb758ec878f108ba0e062a45b2d6ca3a2cca965338855476caf" +dependencies = [ + "aho-corasick 1.0.2", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ab07dc67230e4a4718e70fd5c20055a4334b121f1f9db8fe63ef39ce9b8c846" + +[[package]] +name = "relative-path" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bf2521270932c3c7bed1a59151222bd7643c79310f2916f01925e1e16255698" + +[[package]] +name = "renderdoc-sys" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b" + +[[package]] +name = "reqwest" +version = "0.11.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" +dependencies = [ + "base64 0.21.2", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg", +] + +[[package]] +name = "resize" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2a08c42ea86684dc00256494c4eb8b54707890ddac50c05060a717f29669029" +dependencies = [ + "rgb", +] + +[[package]] +name = "rgb" +version = "0.8.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20ec2d3e3fc7a92ced357df9cebd5a10b6fb2aa1ee797bf7e9ce2f17dffc8f59" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin 0.5.2", + "untrusted", + "web-sys", + "winapi", +] + +[[package]] +name = "rle-decode-fast" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422" + +[[package]] +name = "rstest" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b96577ca10cb3eade7b337eb46520108a67ca2818a24d0b63f41fd62bc9651c" +dependencies = [ + "futures", + "futures-timer", + "rstest_macros", + "rustc_version", +] + +[[package]] +name = "rstest_macros" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225e674cf31712b8bb15fdbca3ec0c1b9d825c5a24407ff2b7e005fb6a29ba03" +dependencies = [ + "cfg-if", + "glob", + "proc-macro2", + "quote", + "regex", + "relative-path", + "rustc_version", + "syn 2.0.25", + "unicode-ident", +] + +[[package]] +name = "rusqlite" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85127183a999f7db96d1a976a309eebbfb6ea3b0b400ddd8340190129de6eb7a" +dependencies = [ + "bitflags 1.3.2", + "fallible-iterator", + "fallible-streaming-iterator", + "hashlink", + "libsqlite3-sys", + "memchr", + "smallvec", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver 1.0.17", +] + +[[package]] +name = "rustix" +version = "0.37.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.3.8", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustix" +version = "0.38.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac5ffa1efe7548069688cd7028f32591853cd7b5b756d41bcffd2353e4fc75b4" +dependencies = [ + "bitflags 2.3.3", + "errno", + "libc", + "linux-raw-sys 0.4.3", + "windows-sys 0.48.0", +] + +[[package]] +name = "ryu" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9" + +[[package]] +name = "safemem" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schannel" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "security-framework" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" +dependencies = [ + "bitflags 1.3.2", + "core-foundation 0.9.3", + "core-foundation-sys 0.8.4", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" +dependencies = [ + "core-foundation-sys 0.8.4", + "libc", +] + +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" + +[[package]] +name = "semver-parser" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +dependencies = [ + "pest", +] + +[[package]] +name = "serde" +version = "1.0.171" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_cbor" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" +dependencies = [ + "half 1.8.2", + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.171" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.25", +] + +[[package]] +name = "serde_json" +version = "1.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_repr" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d89a8107374290037607734c0b73a85db7ed80cae314b3c5791f192a496e731" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.25", +] + +[[package]] +name = "serde_spanned" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" +dependencies = [ + "base64 0.13.1", + "chrono", + "hex", + "indexmap 1.9.3", + "serde", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.25", +] + +[[package]] +name = "serde_yaml" +version = "0.9.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "452e67b9c20c37fa79df53201dc03839651086ed9bbe92b3ca585ca9fdaa7d85" +dependencies = [ + "indexmap 2.0.0", + "itoa", + "ryu", + "serde", + "unsafe-libyaml", +] + +[[package]] +name = "serial" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1237a96570fc377c13baa1b88c7589ab66edced652e43ffb17088f003db3e86" +dependencies = [ + "serial-core", + "serial-unix", + "serial-windows", +] + +[[package]] +name = "serial-core" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f46209b345401737ae2125fe5b19a77acce90cd53e1658cda928e4fe9a64581" +dependencies = [ + "libc", +] + +[[package]] +name = "serial-unix" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f03fbca4c9d866e24a459cbca71283f545a37f8e3e002ad8c70593871453cab7" +dependencies = [ + "ioctl-rs", + "libc", + "serial-core", + "termios 0.2.2", +] + +[[package]] +name = "serial-windows" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15c6d3b776267a75d31bbdfd5d36c0ca051251caafc285827052bc53bcdc8162" +dependencies = [ + "libc", + "serial-core", +] + +[[package]] +name = "sha1" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "share-data" +version = "0.1.0" +dependencies = [ + "anyhow", + "config", + "lazy_static", + "luahelper", + "ordered-float", + "wezterm-dynamic", +] + +[[package]] +name = "shared_library" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a9e7e0f2bfae24d8a5b5a66c5b257a83c7412304311512a0c054cd5e619da11" +dependencies = [ + "lazy_static", + "libc", +] + +[[package]] +name = "shell-words" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" + +[[package]] +name = "shlex" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" + +[[package]] +name = "signal-hook" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9" +dependencies = [ + "libc", + "signal-hook-registry", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + +[[package]] +name = "simd-adler32" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f" + +[[package]] +name = "siphasher" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" + +[[package]] +name = "slab" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +dependencies = [ + "autocfg", +] + +[[package]] +name = "slotmap" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342" +dependencies = [ + "version_check", +] + +[[package]] +name = "smallvec" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" + +[[package]] +name = "smawk" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043" + +[[package]] +name = "smithay-client-toolkit" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f307c47d32d2715eb2e0ece5589057820e0e5e70d07c247d1063e844e107f454" +dependencies = [ + "bitflags 1.3.2", + "dlib", + "lazy_static", + "log", + "memmap2 0.5.10", + "nix 0.24.3", + "pkg-config", + "wayland-client", + "wayland-cursor", + "wayland-protocols", +] + +[[package]] +name = "smol" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13f2b548cd8447f8de0fdf1c592929f70f4fc7039a05e47404b0d096ec6987a1" +dependencies = [ + "async-channel", + "async-executor", + "async-fs", + "async-io", + "async-lock", + "async-net", + "async-process", + "blocking", + "futures-lite", +] + +[[package]] +name = "smol-potat" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "894ffa61af5c0fab697c8c29b1ab10cb6ec4978a1ccac4a81b5b312df1ffd88e" +dependencies = [ + "async-io", + "smol-potat-macro", +] + +[[package]] +name = "smol-potat-macro" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b7cd8129a18069385b4eadaa81182b1451fab312ad6f58d1d99253082bf3932" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "socket2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "spa" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab074195b3f78a133cd7b7998142cf39dfaac71f6e990eaeecd14f5524db009a" +dependencies = [ + "chrono", +] + +[[package]] +name = "spawn-funcs" +version = "0.1.0" +dependencies = [ + "anyhow", + "bstr 0.2.17", + "config", + "log", + "luahelper", + "smol", + "wezterm-dynamic", + "wezterm-open-url", + "winapi", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spirv" +version = "0.2.0+1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830" +dependencies = [ + "bitflags 1.3.2", + "num-traits", +] + +[[package]] +name = "sqlite-cache" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "012429babedb75518d1b6935abcee30852d1650c05c6eaf4e29ae335ae6e173b" +dependencies = [ + "data-encoding", + "futures", + "rusqlite", + "tracing", +] + +[[package]] +name = "ssh-funcs" +version = "0.1.0" +dependencies = [ + "anyhow", + "config", + "luahelper", + "wezterm-ssh", +] + +[[package]] +name = "ssh2" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7fe461910559f6d5604c3731d00d2aafc4a83d1665922e280f42f9a168d5455" +dependencies = [ + "bitflags 1.3.2", + "libc", + "libssh2-sys", + "parking_lot 0.11.2", +] + +[[package]] +name = "starship-battery" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3336198ad004af4447ae69be4f4e562c26814570f8f0c1e37858405a294e015d" +dependencies = [ + "cfg-if", + "core-foundation 0.7.0", + "lazycell", + "libc", + "mach", + "nix 0.23.2", + "num-traits", + "uom", + "winapi", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strict-num" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" + +[[package]] +name = "strip-ansi-escapes" +version = "0.1.0" +dependencies = [ + "clap 4.3.11", + "termwiz", +] + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "svg_fmt" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fb1df15f412ee2e9dfc1c504260fa695c1c3f10fe9f4a6ee2d2184d7d6450e2" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync-color-schemes" +version = "0.1.0" +dependencies = [ + "anyhow", + "color-funcs", + "config", + "env_logger", + "futures", + "lazy_static", + "libflate", + "log", + "reqwest", + "rusqlite", + "serde", + "serde_json", + "sqlite-cache", + "tar", + "tempfile", + "tokio", + "toml 0.7.6", + "wezterm-dynamic", + "yaml-rust", +] + +[[package]] +name = "sys-info" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b3a0d0aba8bf96a0e1ddfdc352fc53b3df7f39318c71854910c3c4b024ae52c" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "tabout" +version = "0.3.0" +dependencies = [ + "termwiz", +] + +[[package]] +name = "takeable-option" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36ae8932fcfea38b7d3883ae2ab357b0d57a02caaa18ebb4f5ece08beaec4aa0" + +[[package]] +name = "tar" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6" +dependencies = [ + "filetime", + "libc", + "xattr", +] + +[[package]] +name = "tempfile" +version = "3.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +dependencies = [ + "autocfg", + "cfg-if", + "fastrand 1.9.0", + "redox_syscall 0.3.5", + "rustix 0.37.23", + "windows-sys 0.48.0", +] + +[[package]] +name = "term_size" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e4129646ca0ed8f45d09b929036bafad5377103edd06e50bf574b353d2b08d9" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "termcolor" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "terminal_size" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237" +dependencies = [ + "rustix 0.37.23", + "windows-sys 0.48.0", +] + +[[package]] +name = "terminfo" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "666cd3a6681775d22b200409aad3b089c5b99fb11ecdd8a204d9d62f8148498f" +dependencies = [ + "dirs", + "fnv", + "nom", + "phf", + "phf_codegen", +] + +[[package]] +name = "termios" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5d9cf598a6d7ce700a4e6a9199da127e6819a61e64b68609683cc9a01b5683a" +dependencies = [ + "libc", +] + +[[package]] +name = "termios" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "411c5bf740737c7918b8b1fe232dca4dc9f8e754b8ad5e20966814001ed0ac6b" +dependencies = [ + "libc", +] + +[[package]] +name = "termtree" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" + +[[package]] +name = "termwiz" +version = "0.22.0" +dependencies = [ + "anyhow", + "base64 0.21.2", + "bitflags 2.3.3", + "cassowary", + "criterion 0.4.0", + "env_logger", + "fancy-regex", + "filedescriptor", + "finl_unicode", + "fixedbitset", + "fnv", + "hex", + "image", + "k9", + "lazy_static", + "libc", + "log", + "memmem", + "nix 0.26.2", + "num-derive", + "num-traits", + "ordered-float", + "pest", + "pest_derive", + "phf", + "semver 0.11.0", + "serde", + "sha2", + "signal-hook", + "siphasher", + "tempfile", + "terminfo", + "termios 0.3.3", + "thiserror", + "ucd-trie", + "unicode-segmentation", + "varbincode", + "vtparse", + "wezterm-bidi", + "wezterm-blob-leases", + "wezterm-color-types", + "wezterm-dynamic", + "wezterm-input-types", + "winapi", +] + +[[package]] +name = "termwiz-funcs" +version = "0.1.0" +dependencies = [ + "anyhow", + "config", + "finl_unicode", + "lazy_static", + "luahelper", + "terminfo", + "termwiz", + "wezterm-dynamic", + "wezterm-input-types", +] + +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "textwrap" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" +dependencies = [ + "smawk", + "unicode-linebreak", + "unicode-width", +] + +[[package]] +name = "thiserror" +version = "1.0.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.25", +] + +[[package]] +name = "thousands" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bf63baf9f5039dadc247375c29eb13706706cfde997d0330d05aa63a77d8820" + +[[package]] +name = "thread_local" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "tiff" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7449334f9ff2baf290d55d73983a7d6fa15e01198faef72af07e2a8db851e471" +dependencies = [ + "flate2", + "jpeg-decoder", + "weezl", +] + +[[package]] +name = "time" +version = "0.3.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" +dependencies = [ + "itoa", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" + +[[package]] +name = "time-funcs" +version = "0.1.0" +dependencies = [ + "anyhow", + "chrono", + "config", + "lazy_static", + "luahelper", + "promise", + "smol", + "spa", + "wezterm-dynamic", +] + +[[package]] +name = "time-macros" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" +dependencies = [ + "time-core", +] + +[[package]] +name = "tiny-skia" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4e37fdc219ee3d551882d24dc5e4df5f72fd9723cbca1ffaa57f7348bf7a47d" +dependencies = [ + "arrayref", + "arrayvec", + "bytemuck", + "cfg-if", + "log", + "png", + "tiny-skia-path", +] + +[[package]] +name = "tiny-skia-path" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93a323d1de20dad9bc8b32daf57702c585ce76e80792d8151de1fc9dfc8d1ca7" +dependencies = [ + "arrayref", + "bytemuck", + "strict-num", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" +dependencies = [ + "autocfg", + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "pin-project-lite", + "socket2 0.4.9", + "tokio-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-macros" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.25", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "toml" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c500344a19072298cd05a7224b3c0c629348b78692bf48466c5238656e315a78" +dependencies = [ + "indexmap 2.0.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.25", +] + +[[package]] +name = "tracing-core" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + +[[package]] +name = "typenum" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" + +[[package]] +name = "ucd-trie" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" + +[[package]] +name = "uds_windows" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d" +dependencies = [ + "tempfile", + "winapi", +] + +[[package]] +name = "umask" +version = "0.1.0" +dependencies = [ + "lazy_static", + "libc", +] + +[[package]] +name = "unicase" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + +[[package]] +name = "unicode-ident" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" + +[[package]] +name = "unicode-linebreak" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137" +dependencies = [ + "hashbrown 0.12.3", + "regex", +] + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + +[[package]] +name = "unicode-width" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "unsafe-libyaml" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1865806a559042e51ab5414598446a5871b561d21b6764f2eabb0dd481d880a6" + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "uom" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e76503e636584f1e10b9b3b9498538279561adcef5412927ba00c2b32c4ce5ed" +dependencies = [ + "num-traits", + "typenum", +] + +[[package]] +name = "url" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + +[[package]] +name = "uuid" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d023da39d1fde5a8a3fe1f3e01ca9632ada0a63e9797de55a879d6e2236277be" +dependencies = [ + "atomic", + "getrandom", + "serde", +] + +[[package]] +name = "varbincode" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b712fa900b441e2d5226a094ca37ca70c0d26d26b79822a5cf34a853a9e26f9f" +dependencies = [ + "byteorder", + "leb128", + "serde", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "vswhom" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" +dependencies = [ + "libc", + "vswhom-sys", +] + +[[package]] +name = "vswhom-sys" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "vtparse" +version = "0.6.2" +dependencies = [ + "k9", + "utf8parse", +] + +[[package]] +name = "waker-fn" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" + +[[package]] +name = "walkdir" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.25", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.25", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" + +[[package]] +name = "wayland-client" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715" +dependencies = [ + "bitflags 1.3.2", + "downcast-rs", + "libc", + "nix 0.24.3", + "scoped-tls", + "wayland-commons", + "wayland-scanner", + "wayland-sys", +] + +[[package]] +name = "wayland-commons" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902" +dependencies = [ + "nix 0.24.3", + "once_cell", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-cursor" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661" +dependencies = [ + "nix 0.24.3", + "wayland-client", + "xcursor", +] + +[[package]] +name = "wayland-egl" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "402de949f81a012926d821a2d659f930694257e76dd92b6e0042ceb27be4107d" +dependencies = [ + "wayland-client", + "wayland-sys", +] + +[[package]] +name = "wayland-protocols" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6" +dependencies = [ + "bitflags 1.3.2", + "wayland-client", + "wayland-commons", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53" +dependencies = [ + "proc-macro2", + "quote", + "xml-rs", +] + +[[package]] +name = "wayland-sys" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4" +dependencies = [ + "dlib", + "pkg-config", +] + +[[package]] +name = "web-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "weezl" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" + +[[package]] +name = "wezterm" +version = "0.1.0" +dependencies = [ + "anyhow", + "cc", + "chrono", + "clap 4.3.11", + "clap_complete", + "clap_complete_fig", + "codec", + "config", + "embed-resource", + "env-bootstrap", + "filedescriptor", + "hostname", + "libc", + "log", + "mux", + "portable-pty", + "promise", + "serde", + "serde_json", + "shell-words", + "smol", + "tabout", + "tempfile", + "termios 0.3.3", + "termwiz", + "termwiz-funcs", + "textwrap 0.16.0", + "umask", + "url", + "wezterm-client", + "wezterm-gui-subcommands", + "wezterm-term", + "winapi", +] + +[[package]] +name = "wezterm-bidi" +version = "0.2.2" +dependencies = [ + "env_logger", + "k9", + "log", + "wezterm-dynamic", +] + +[[package]] +name = "wezterm-blob-leases" +version = "0.1.0" +dependencies = [ + "getrandom", + "mac_address", + "once_cell", + "serde", + "sha2", + "tempfile", + "thiserror", + "uuid", +] + +[[package]] +name = "wezterm-client" +version = "0.1.0" +dependencies = [ + "anyhow", + "async-trait", + "async_ossl", + "codec", + "config", + "filedescriptor", + "futures", + "lazy_static", + "libc", + "log", + "lru", + "metrics", + "mux", + "openssl", + "parking_lot 0.12.1", + "portable-pty", + "promise", + "rangeset", + "ratelim", + "smol", + "termwiz", + "textwrap 0.16.0", + "thiserror", + "uds_windows", + "umask", + "url", + "wezterm-dynamic", + "wezterm-ssh", + "wezterm-term", + "winapi", +] + +[[package]] +name = "wezterm-color-types" +version = "0.2.0" +dependencies = [ + "csscolorparser", + "deltae", + "lazy_static", + "serde", + "wezterm-dynamic", +] + +[[package]] +name = "wezterm-config-derive" +version = "0.1.0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "wezterm-dynamic" +version = "0.1.0" +dependencies = [ + "log", + "maplit", + "ordered-float", + "strsim", + "thiserror", + "wezterm-dynamic-derive", +] + +[[package]] +name = "wezterm-dynamic-derive" +version = "0.1.0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "wezterm-font" +version = "0.1.0" +dependencies = [ + "anyhow", + "config", + "core-foundation 0.9.3", + "core-text", + "dwrote", + "encoding_rs", + "enum-display-derive", + "env_logger", + "euclid", + "finl_unicode", + "fontconfig", + "freetype", + "harfbuzz", + "k9", + "lazy_static", + "lfucache", + "log", + "memmap2 0.2.3", + "metrics", + "ordered-float", + "rangeset", + "termwiz", + "thiserror", + "walkdir", + "wezterm-bidi", + "wezterm-color-types", + "wezterm-input-types", + "wezterm-term", + "wezterm-toast-notification", + "winapi", +] + +[[package]] +name = "wezterm-gui" +version = "0.1.0" +dependencies = [ + "anyhow", + "benchmarking", + "bitflags 1.3.2", + "bytemuck", + "cc", + "chrono", + "clap 4.3.11", + "codec", + "colorgrad", + "config", + "dhat", + "dirs-next", + "downcast-rs", + "embed-resource", + "emojis", + "env-bootstrap", + "env_logger", + "euclid", + "fastrand 2.0.0", + "filedescriptor", + "finl_unicode", + "frecency", + "futures", + "fuzzy-matcher", + "hdrhistogram", + "http_req", + "image", + "k9", + "lazy_static", + "lfucache", + "libc", + "log", + "luahelper", + "metrics", + "mlua", + "mux", + "mux-lua", + "once_cell", + "ordered-float", + "parking_lot 0.12.1", + "portable-pty", + "promise", + "pulldown-cmark", + "rangeset", + "ratelim", + "regex", + "serde", + "serde_json", + "shared_library", + "shlex", + "smol", + "tabout", + "tempfile", + "terminfo", + "termwiz", + "termwiz-funcs", + "textwrap 0.16.0", + "thiserror", + "tiny-skia", + "uds_windows", + "umask", + "unicode-normalization", + "unicode-segmentation", + "unicode-width", + "url", + "walkdir", + "wezterm-bidi", + "wezterm-blob-leases", + "wezterm-client", + "wezterm-dynamic", + "wezterm-font", + "wezterm-gui-subcommands", + "wezterm-mux-server-impl", + "wezterm-open-url", + "wezterm-ssh", + "wezterm-term", + "wezterm-toast-notification", + "wgpu", + "winapi", + "window", + "window-funcs", + "windows 0.33.0", +] + +[[package]] +name = "wezterm-gui-subcommands" +version = "0.1.0" +dependencies = [ + "anyhow", + "clap 4.3.11", + "config", +] + +[[package]] +name = "wezterm-input-types" +version = "0.1.0" +dependencies = [ + "bitflags 1.3.2", + "euclid", + "lazy_static", + "serde", + "wezterm-dynamic", +] + +[[package]] +name = "wezterm-mux-server" +version = "0.1.0" +dependencies = [ + "anyhow", + "async_ossl", + "cc", + "clap 4.3.11", + "config", + "embed-resource", + "env-bootstrap", + "libc", + "log", + "mlua", + "mux", + "openssl", + "portable-pty", + "promise", + "umask", + "wezterm-blob-leases", + "wezterm-gui-subcommands", + "wezterm-mux-server-impl", + "wezterm-term", + "winapi", +] + +[[package]] +name = "wezterm-mux-server-impl" +version = "0.1.0" +dependencies = [ + "anyhow", + "async_ossl", + "codec", + "config", + "futures", + "hostname", + "lazy_static", + "log", + "mux", + "portable-pty", + "promise", + "rangeset", + "rcgen", + "smol", + "termwiz", + "uds_windows", + "url", + "wezterm-client", + "wezterm-term", + "winapi", +] + +[[package]] +name = "wezterm-open-url" +version = "0.1.0" +dependencies = [ + "winapi", +] + +[[package]] +name = "wezterm-ssh" +version = "0.4.0" +dependencies = [ + "anyhow", + "assert_fs", + "async_ossl", + "base64 0.21.2", + "bitflags 1.3.2", + "camino", + "clap 4.3.11", + "dirs-next", + "env_logger", + "filedescriptor", + "filenamegen", + "gethostname", + "k9", + "libc", + "libssh-rs", + "log", + "once_cell", + "portable-pty", + "predicates", + "regex", + "rstest", + "shell-words", + "smol", + "smol-potat", + "socket2 0.5.3", + "ssh2", + "termwiz", + "thiserror", + "whoami", +] + +[[package]] +name = "wezterm-term" +version = "0.1.0" +dependencies = [ + "anyhow", + "bitflags 1.3.2", + "csscolorparser", + "downcast-rs", + "env_logger", + "finl_unicode", + "hex", + "humansize", + "image", + "k9", + "lazy_static", + "log", + "lru", + "miniz_oxide 0.4.4", + "num-traits", + "ordered-float", + "serde", + "terminfo", + "termwiz", + "unicode-normalization", + "url", + "wezterm-bidi", + "wezterm-dynamic", +] + +[[package]] +name = "wezterm-toast-notification" +version = "0.1.0" +dependencies = [ + "async-io", + "cocoa", + "core-foundation 0.7.0", + "futures-util", + "log", + "objc", + "serde", + "wezterm-open-url", + "windows 0.33.0", + "xml-rs", + "zbus", + "zvariant", +] + +[[package]] +name = "wezterm-version" +version = "0.1.0" +dependencies = [ + "git2", +] + +[[package]] +name = "wgpu" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8aa4361a426ff9f028520da01e8fda28ab9bdb029e2a76901f1f88317e2796e9" +dependencies = [ + "arrayvec", + "cfg-if", + "js-sys", + "log", + "naga", + "parking_lot 0.12.1", + "profiling", + "raw-window-handle", + "smallvec", + "static_assertions", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "wgpu-core", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-core" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f478237b4bf0d5b70a39898a66fa67ca3a007d79f2520485b8b0c3dfc46f8c2" +dependencies = [ + "arrayvec", + "bit-vec", + "bitflags 2.3.3", + "codespan-reporting", + "log", + "naga", + "parking_lot 0.12.1", + "profiling", + "raw-window-handle", + "rustc-hash", + "smallvec", + "thiserror", + "web-sys", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-hal" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ecb3258078e936deee14fd4e0febe1cfe9bbb5ffef165cb60218d2ee5eb4448" +dependencies = [ + "android_system_properties", + "arrayvec", + "ash", + "bit-set", + "bitflags 2.3.3", + "block", + "core-graphics-types", + "d3d12", + "foreign-types", + "glow", + "gpu-alloc", + "gpu-allocator", + "gpu-descriptor", + "hassle-rs", + "js-sys", + "khronos-egl", + "libc", + "libloading 0.8.0", + "log", + "metal", + "naga", + "objc", + "parking_lot 0.12.1", + "profiling", + "range-alloc", + "raw-window-handle", + "renderdoc-sys", + "rustc-hash", + "smallvec", + "thiserror", + "wasm-bindgen", + "web-sys", + "wgpu-types", + "winapi", +] + +[[package]] +name = "wgpu-types" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0c153280bb108c2979eb5c7391cb18c56642dd3c072e55f52065e13e2a1252a" +dependencies = [ + "bitflags 2.3.3", + "js-sys", + "web-sys", +] + +[[package]] +name = "whoami" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50" +dependencies = [ + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "widestring" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "window" +version = "0.1.0" +dependencies = [ + "anyhow", + "async-channel", + "async-io", + "async-task", + "async-trait", + "bitflags 1.3.2", + "bytes", + "cgl", + "clipboard-win", + "cocoa", + "config", + "core-foundation 0.7.0", + "core-graphics 0.19.2", + "dirs-next", + "downcast-rs", + "euclid", + "filedescriptor", + "futures-lite", + "futures-util", + "gl_generator", + "glium", + "guillotiere", + "k9", + "lazy_static", + "libc", + "libloading 0.6.7", + "line_drawing", + "log", + "metrics", + "mio", + "objc", + "plist", + "promise", + "raw-window-handle", + "resize", + "serde", + "shared_library", + "shlex", + "smithay-client-toolkit", + "thiserror", + "tiny-skia", + "url", + "wayland-client", + "wayland-egl", + "wayland-protocols", + "wezterm-bidi", + "wezterm-color-types", + "wezterm-font", + "wezterm-input-types", + "winapi", + "windows 0.33.0", + "winreg", + "x11", + "xcb", + "xcb-imdkit", + "xkbcommon", + "zbus", + "zvariant", +] + +[[package]] +name = "window-funcs" +version = "0.1.0" +dependencies = [ + "anyhow", + "config", + "luahelper", + "wezterm-dynamic", + "window", +] + +[[package]] +name = "windows" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0128fa8e65e0616e45033d68dc0b7fbd521080b7844e5cad3a4a4d201c4b2bd2" +dependencies = [ + "windows_aarch64_msvc 0.33.0", + "windows_i686_gnu 0.33.0", + "windows_i686_msvc 0.33.0", + "windows_x86_64_gnu 0.33.0", + "windows_x86_64_msvc 0.33.0", +] + +[[package]] +name = "windows" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +dependencies = [ + "windows-targets 0.48.1", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.1", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +dependencies = [ + "windows_aarch64_gnullvm 0.48.0", + "windows_aarch64_msvc 0.48.0", + "windows_i686_gnu 0.48.0", + "windows_i686_msvc 0.48.0", + "windows_x86_64_gnu 0.48.0", + "windows_x86_64_gnullvm 0.48.0", + "windows_x86_64_msvc 0.48.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd761fd3eb9ab8cc1ed81e56e567f02dd82c4c837e48ac3b2181b9ffc5060807" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + +[[package]] +name = "windows_i686_gnu" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab0cf703a96bab2dc0c02c0fa748491294bf9b7feb27e1f4f96340f208ada0e" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + +[[package]] +name = "windows_i686_msvc" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cfdbe89cc9ad7ce618ba34abc34bbb6c36d99e96cae2245b7943cd75ee773d0" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4dd9b0c0e9ece7bb22e84d70d01b71c6d6248b81a3c60d11869451b4cb24784" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff1e4aa646495048ec7f3ffddc411e1d829c026a2ec62b39da15c1055e406eaa" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" + +[[package]] +name = "winnow" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81a2094c43cc94775293eaa0e499fbc30048a6d824ac82c0351a8c0bf9112529" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +dependencies = [ + "winapi", +] + +[[package]] +name = "wio" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5" +dependencies = [ + "winapi", +] + +[[package]] +name = "x11" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "xattr" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc" +dependencies = [ + "libc", +] + +[[package]] +name = "xcb" +version = "1.2.1" +source = "git+https://github.com/rust-x-bindings/rust-xcb?rev=dbdaa01c178c6fbe68bd51b7ad44c08172181083#dbdaa01c178c6fbe68bd51b7ad44c08172181083" +dependencies = [ + "bitflags 1.3.2", + "libc", + "quick-xml 0.28.2", + "x11", +] + +[[package]] +name = "xcb-imdkit" +version = "0.2.0" +source = "git+https://github.com/wez/xcb-imdkit-rs.git?branch=hangfix#e59e4a6df065b702e0c22fa2dcea00bd8301a446" +dependencies = [ + "bitflags 1.3.2", + "cc", + "lazy_static", + "pkg-config", + "xcb", +] + +[[package]] +name = "xcursor" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "463705a63313cd4301184381c5e8042f0a7e9b4bb63653f216311d4ae74690b7" +dependencies = [ + "nom", +] + +[[package]] +name = "xdg-home" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd" +dependencies = [ + "nix 0.26.2", + "winapi", +] + +[[package]] +name = "xkbcommon" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbee136714379ab22da0280207fdb7f47e0bb940adea97731b65598b8c7a92e" +dependencies = [ + "libc", + "memmap2 0.5.10", + "xcb", +] + +[[package]] +name = "xml-rs" +version = "0.8.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a56c84a8ccd4258aed21c92f70c0f6dea75356b6892ae27c24139da456f9336" + +[[package]] +name = "yaml-rust" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" +dependencies = [ + "linked-hash-map", +] + +[[package]] +name = "yasna" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" +dependencies = [ + "time", +] + +[[package]] +name = "zbus" +version = "3.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948" +dependencies = [ + "async-broadcast", + "async-executor", + "async-fs", + "async-io", + "async-lock", + "async-process", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "byteorder", + "derivative", + "enumflags2", + "event-listener", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "nix 0.26.2", + "once_cell", + "ordered-stream", + "rand", + "serde", + "serde_repr", + "sha1", + "static_assertions", + "tracing", + "uds_windows", + "winapi", + "xdg-home", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "3.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb80bb776dbda6e23d705cf0123c3b95df99c4ebeaec6c2599d4a5419902b4a9" +dependencies = [ + "serde", + "static_assertions", + "zvariant", +] + +[[package]] +name = "zstd" +version = "0.11.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "5.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.8+zstd.1.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "zune-inflate" +version = "0.2.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "zvariant" +version = "3.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44b291bee0d960c53170780af148dca5fa260a63cdd24f1962fa82e03e53338c" +dependencies = [ + "byteorder", + "enumflags2", + "libc", + "serde", + "static_assertions", + "zvariant_derive", +] + +[[package]] +name = "zvariant_derive" +version = "3.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] diff --git a/nixpkgs/pkgs/applications/terminal-emulators/wezterm/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/wezterm/default.nix new file mode 100644 index 000000000000..26029c8d386c --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/wezterm/default.nix @@ -0,0 +1,146 @@ +{ stdenv +, rustPlatform +, lib +, fetchFromGitHub +, ncurses +, perl +, pkg-config +, python3 +, fontconfig +, installShellFiles +, openssl +, libGL +, libX11 +, libxcb +, libxkbcommon +, xcbutil +, xcbutilimage +, xcbutilkeysyms +, xcbutilwm +, wayland +, zlib +, CoreGraphics +, Cocoa +, Foundation +, System +, libiconv +, UserNotifications +, nixosTests +, runCommand +, vulkan-loader +}: + +rustPlatform.buildRustPackage rec { + pname = "wezterm"; + version = "20230712-072601-f4abf8fd"; + + src = fetchFromGitHub { + owner = "wez"; + repo = pname; + rev = version; + fetchSubmodules = true; + hash = "sha256-B6AakLbTWIN123qAMQk/vFN83HHNRSNkqicNRU1GaCc="; + }; + + postPatch = '' + echo ${version} > .tag + + # tests are failing with: Unable to exchange encryption keys + rm -r wezterm-ssh/tests + ''; + + cargoLock = { + lockFile = ./Cargo.lock; + outputHashes = { + "image-0.24.5" = "sha256-fTajVwm88OInqCPZerWcSAm1ga46ansQ3EzAmbT58Js="; + "xcb-1.2.1" = "sha256-zkuW5ATix3WXBAj2hzum1MJ5JTX3+uVQ01R1vL6F1rY="; + "xcb-imdkit-0.2.0" = "sha256-L+NKD0rsCk9bFABQF4FZi9YoqBHr4VAZeKAWgsaAegw="; + }; + }; + + nativeBuildInputs = [ + installShellFiles + ncurses # tic for terminfo + pkg-config + python3 + ] ++ lib.optional stdenv.isDarwin perl; + + buildInputs = [ + fontconfig + zlib + ] ++ lib.optionals stdenv.isLinux [ + libX11 + libxcb + libxkbcommon + openssl + wayland + xcbutil + xcbutilimage + xcbutilkeysyms + xcbutilwm # contains xcb-ewmh among others + ] ++ lib.optionals stdenv.isDarwin [ + Cocoa + CoreGraphics + Foundation + libiconv + System + UserNotifications + ]; + + buildFeatures = [ "distro-defaults" ]; + + env.NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-framework System"; + + postInstall = '' + mkdir -p $out/nix-support + echo "${passthru.terminfo}" >> $out/nix-support/propagated-user-env-packages + + install -Dm644 assets/icon/terminal.png $out/share/icons/hicolor/128x128/apps/org.wezfurlong.wezterm.png + install -Dm644 assets/wezterm.desktop $out/share/applications/org.wezfurlong.wezterm.desktop + install -Dm644 assets/wezterm.appdata.xml $out/share/metainfo/org.wezfurlong.wezterm.appdata.xml + + install -Dm644 assets/shell-integration/wezterm.sh -t $out/etc/profile.d + installShellCompletion --cmd wezterm \ + --bash assets/shell-completion/bash \ + --fish assets/shell-completion/fish \ + --zsh assets/shell-completion/zsh + + install -Dm644 assets/wezterm-nautilus.py -t $out/share/nautilus-python/extensions + ''; + + preFixup = lib.optionalString stdenv.isLinux '' + patchelf \ + --add-needed "${libGL}/lib/libEGL.so.1" \ + --add-needed "${vulkan-loader}/lib/libvulkan.so.1" \ + $out/bin/wezterm-gui + '' + lib.optionalString stdenv.isDarwin '' + mkdir -p "$out/Applications" + OUT_APP="$out/Applications/WezTerm.app" + cp -r assets/macos/WezTerm.app "$OUT_APP" + rm $OUT_APP/*.dylib + cp -r assets/shell-integration/* "$OUT_APP" + ln -s $out/bin/{wezterm,wezterm-mux-server,wezterm-gui,strip-ansi-escapes} "$OUT_APP" + ''; + + passthru = { + tests = { + all-terminfo = nixosTests.allTerminfo; + terminal-emulators = nixosTests.terminal-emulators.wezterm; + }; + terminfo = runCommand "wezterm-terminfo" + { + nativeBuildInputs = [ ncurses ]; + } '' + mkdir -p $out/share/terminfo $out/nix-support + tic -x -o $out/share/terminfo ${src}/termwiz/data/wezterm.terminfo + ''; + }; + + meta = with lib; { + description = "GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust"; + homepage = "https://wezfurlong.org/wezterm"; + license = licenses.mit; + mainProgram = "wezterm"; + maintainers = with maintainers; [ SuperSandro2000 mimame ]; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/x3270/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/x3270/default.nix new file mode 100644 index 000000000000..8890d57b3203 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/x3270/default.nix @@ -0,0 +1,44 @@ +{ lib, stdenv, fetchurl, m4, expat +, libX11, libXt, libXaw, libXmu, bdftopcf, mkfontdir +, fontadobe100dpi, fontadobeutopia100dpi, fontbh100dpi +, fontbhlucidatypewriter100dpi, fontbitstream100dpi +, tcl +, ncurses }: + +let + majorVersion = "4"; + minorVersion = "0"; + versionSuffix = "ga9"; +in stdenv.mkDerivation rec { + pname = "x3270"; + version = "${majorVersion}.${minorVersion}${versionSuffix}"; + + src = fetchurl { + url = "http://x3270.bgp.nu/download/0${majorVersion}.0${minorVersion}/suite3270-${version}-src.tgz"; + sha256 = "0km24rgll0s4ji6iz8lvy5ra76ds162s95y33w5px6697cwqkp9j"; + }; + + buildFlags = [ "unix" ]; + + postConfigure = '' + pushd c3270 ; ./configure ; popd + ''; + + nativeBuildInputs = [ m4 ]; + buildInputs = [ + expat + libX11 libXt libXaw libXmu bdftopcf mkfontdir + fontadobe100dpi fontadobeutopia100dpi fontbh100dpi + fontbhlucidatypewriter100dpi fontbitstream100dpi + tcl + ncurses + expat + ]; + + meta = with lib; { + description = "IBM 3270 terminal emulator for the X Window System"; + homepage = "http://x3270.bgp.nu/index.html"; + license = licenses.bsd3; + maintainers = [ maintainers.anna328p ]; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/xterm/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/xterm/default.nix new file mode 100644 index 000000000000..b0d8dd7a4b39 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/xterm/default.nix @@ -0,0 +1,105 @@ +{ lib, stdenv, fetchurl, fetchpatch, xorg, ncurses, freetype, fontconfig +, pkg-config, makeWrapper, nixosTests, gitUpdater +, nixfmt, nix, gnused, coreutils, enableDecLocator ? true }: + +stdenv.mkDerivation rec { + pname = "xterm"; + version = "388"; + + src = fetchurl { + urls = [ + "ftp://ftp.invisible-island.net/xterm/${pname}-${version}.tgz" + "https://invisible-mirror.net/archives/xterm/${pname}-${version}.tgz" + ]; + hash = "sha256-rEKTReb5N6WUWonUJaJl/ubCFfxmnb3GoDJuIfTF9nQ="; + }; + + strictDeps = true; + + nativeBuildInputs = [ makeWrapper pkg-config fontconfig ]; + + buildInputs = [ + xorg.libXaw + xorg.xorgproto + xorg.libXt + xorg.libXext + xorg.libX11 + xorg.libSM + xorg.libICE + ncurses + freetype + xorg.libXft + xorg.luit + ]; + + patches = [ ./sixel-256.support.patch ] + ++ lib.optional stdenv.hostPlatform.isMusl (fetchpatch { + name = "posix-ptys.patch"; + url = + "https://git.alpinelinux.org/aports/plain/community/xterm/posix-ptys.patch?id=3aa532e77875fa1db18c7fcb938b16647031bcc1"; + sha256 = "0czgnsxkkmkrk1idw69qxbprh0jb4sw3c24zpnqq2v76jkl7zvlr"; + }); + + configureFlags = [ + "--enable-wide-chars" + "--enable-256-color" + "--enable-sixel-graphics" + "--enable-regis-graphics" + "--enable-load-vt-fonts" + "--enable-i18n" + "--enable-doublechars" + "--enable-luit" + "--enable-mini-luit" + "--with-tty-group=tty" + "--with-app-defaults=$(out)/lib/X11/app-defaults" + ] ++ lib.optional enableDecLocator "--enable-dec-locator"; + + env = { + # Work around broken "plink.sh". + NIX_LDFLAGS = "-lXmu -lXt -lICE -lX11 -lfontconfig"; + } // lib.optionalAttrs stdenv.hostPlatform.isMusl { + # Various symbols missing without this define: TAB3, NLDLY, CRDLY, BSDLY, FFDLY, CBAUD + NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE"; + }; + + # Hack to get xterm built with the feature of releasing a possible setgid of 'utmp', + # decided by the sysadmin to allow the xterm reporting to /var/run/utmp + # If we used the configure option, that would have affected the xterm installation, + # (setgid with the given group set), and at build time the environment even doesn't have + # groups, and the builder will end up removing any setgid. + postConfigure = '' + echo '#define USE_UTMP_SETGID 1' + ''; + + postInstall = '' + for bin in $out/bin/*; do + wrapProgram $bin --set XAPPLRESDIR $out/lib/X11/app-defaults/ + done + + install -D -t $out/share/applications xterm.desktop + install -D -t $out/share/icons/hicolor/48x48/apps icons/xterm-color_48x48.xpm + ''; + + passthru = { + tests = { + customTest = nixosTests.xterm; + standardTest = nixosTests.terminal-emulators.xterm; + }; + + updateScript = gitUpdater { + # No nicer place to find latest release. + url = "https://github.com/ThomasDickey/xterm-snapshots.git"; + rev-prefix = "xterm-"; + # Tags that end in letters are unstable + ignoredVersions = "[a-z]$"; + }; + }; + + meta = { + homepage = "https://invisible-island.net/xterm"; + license = with lib.licenses; [ mit ]; + maintainers = with lib.maintainers; [ nequissimus vrthra ]; + platforms = with lib.platforms; linux ++ darwin; + changelog = "https://invisible-island.net/xterm/xterm.log.html"; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/xterm/sixel-256.support.patch b/nixpkgs/pkgs/applications/terminal-emulators/xterm/sixel-256.support.patch new file mode 100644 index 000000000000..480e67e89ca3 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/xterm/sixel-256.support.patch @@ -0,0 +1,11 @@ +--- xterm-325/graphics.c 2016-05-17 03:04:40.000000000 -0700 ++++ xterm-325/graphics.c 2016-06-11 16:37:29.552584281 -0700 +@@ -667,7 +667,7 @@ + case 330: + return 4U; + case 340: +- return 16U; ++ return 256U; + case 382: + return 2U; + default: diff --git a/nixpkgs/pkgs/applications/terminal-emulators/xtermcontrol/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/xtermcontrol/default.nix new file mode 100644 index 000000000000..ebc7657e8af3 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/xtermcontrol/default.nix @@ -0,0 +1,25 @@ +{ lib, stdenv, fetchurl }: + +stdenv.mkDerivation rec { + version = "3.8"; + pname = "xtermcontrol"; + + src = fetchurl { + url = "https://thrysoee.dk/xtermcontrol/xtermcontrol-${version}.tar.gz"; + sha256 = "sha256-Vh6GNiDkjNhaD9U/3fG2LpMLN39L3jRUgG/FQeG1z40="; + }; + + meta = { + description = "Enables dynamic control of xterm properties"; + longDescription = '' + Enables dynamic control of xterm properties. + It makes it easy to change colors, title, font and geometry of a running xterm, as well as to report the current settings of these properties. + Window manipulations de-/iconify, raise/lower, maximize/restore and reset are also supported. + To complete the feature set; xtermcontrol lets advanced users issue any xterm control sequence of their choosing. + ''; + homepage = "http://thrysoee.dk/xtermcontrol"; + license = lib.licenses.gpl2; + platforms = lib.platforms.unix; + maintainers = [ lib.maintainers.derchris ]; + }; +} diff --git a/nixpkgs/pkgs/applications/terminal-emulators/yaft/default.nix b/nixpkgs/pkgs/applications/terminal-emulators/yaft/default.nix new file mode 100644 index 000000000000..c38d90bd4043 --- /dev/null +++ b/nixpkgs/pkgs/applications/terminal-emulators/yaft/default.nix @@ -0,0 +1,33 @@ +{ lib, stdenv, fetchFromGitHub, ncurses }: + +stdenv.mkDerivation rec { + version = "0.2.9"; + pname = "yaft"; + + outputs = [ "out" "terminfo" ]; + + src = fetchFromGitHub { + owner = "uobikiemukot"; + repo = "yaft"; + rev = "v${version}"; + sha256 = "0l1ig8wm545kpn4l7186rymny83jkahnjim290wsl7hsszfq1ckd"; + }; + + buildInputs = [ ncurses ]; + + installFlags = [ "PREFIX=$(out)" "MANPREFIX=$(out)/share/man" ]; + + postInstall = '' + mkdir -p $out/nix-support $terminfo/share + mv $out/share/terminfo $terminfo/share/ + echo "$terminfo" >> $out/nix-support/propagated-user-env-packages + ''; + + meta = { + homepage = "https://github.com/uobikiemukot/yaft"; + description = "Yet another framebuffer terminal"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.matthiasbeyer ]; + platforms = with lib.platforms; linux; + }; +} |