PORTNAME= wezterm DISTVERSION= 20220903-194523-3bb1ed61 CATEGORIES= x11 wayland MAINTAINER= jbeich@FreeBSD.org COMMENT= GPU-accelerated terminal emulator and multiplexer LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE.md LIB_DEPENDS= libwayland-egl.so:graphics/wayland \ libssh2.so:security/libssh2 \ libfontconfig.so:x11-fonts/fontconfig \ libxkbcommon-x11.so:x11/libxkbcommon \ libxcb-util.so:x11/xcb-util \ libxcb-image.so:x11/xcb-util-image USES= cargo ssl xorg USE_GITHUB= yes USE_GITLAB= nodefault USE_XORG= x11 xcb GH_ACCOUNT= wez GH_TUPLE= harfbuzz:harfbuzz:5.1.0:harfbuzz/deps/harfbuzz/harfbuzz \ glennrp:libpng:v1.6.36-805-g8439534da:libpng/deps/freetype/libpng \ madler:zlib:v1.2.11:zlib/deps/freetype/zlib \ fcitx:xcb-imdkit:1.0.3:xcb_imdkit/../xcb-imdkit-rs-ede7c71b85fe2537efef6cf999a45690316211cf/deps/xcb-imdkit \ freetype:freetype:VER-2-10-2-605-g3f83daeec:freetype/deps/freetype/freetype2 GL_TUPLE= wez1:libssh-mirror:56e1b0a43a7601d3b2989299262a09db5d81eea0:libssh/../libssh-rs-d36e5648274063c187968fd5ce0b1a7aa350a025/libssh-rs-sys/vendored PLIST_FILES= bin/strip-ansi-escapes \ bin/${PORTNAME} \ bin/${PORTNAME}-gui \ bin/${PORTNAME}-mux-server \ etc/profile.d/${PORTNAME}.sh \ share/applications/org.wezfurlong.wezterm.desktop \ share/icons/hicolor/128x128/apps/org.wezfurlong.wezterm.png \ share/icons/hicolor/scalable/apps/org.wezfurlong.wezterm.svg \ share/metainfo/org.wezfurlong.wezterm.appdata.xml \ share/nautilus-python/extensions/${PORTNAME}-nautilus.py \ ${NULL} .if exists(/usr/bin/tic) PKGMESSAGE= ${NONEXISTENT} PLIST_FILES+= share/site-terminfo/${PORTNAME:C,^.,&/&,} .endif CARGO_CRATES= addr2line-0.17.0 \ adler-1.0.2 \ adler32-1.2.0 \ ahash-0.7.6 \ aho-corasick-0.7.19 \ android_system_properties-0.1.5 \ anyhow-1.0.63 \ arrayref-0.3.6 \ arrayvec-0.7.2 \ assert_fs-1.0.7 \ async-broadcast-0.4.1 \ async-channel-1.7.1 \ async-executor-1.4.1 \ async-fs-1.6.0 \ async-global-executor-2.3.0 \ async-io-1.9.0 \ async-lock-2.5.0 \ async-net-1.7.0 \ async-process-1.5.0 \ async-recursion-0.3.2 \ async-std-1.12.0 \ async-task-4.3.0 \ async-trait-0.1.57 \ atomic-waker-1.0.0 \ atty-0.2.14 \ autocfg-1.1.0 \ backtrace-0.3.66 \ base64-0.13.0 \ benchmarking-0.4.11 \ bit_field-0.10.1 \ bitflags-1.3.2 \ block-0.1.6 \ block-buffer-0.9.0 \ block-buffer-0.10.2 \ blocking-1.2.0 \ bstr-0.1.4 \ bstr-0.2.17 \ bumpalo-3.11.0 \ bytemuck-1.12.1 \ byteorder-1.4.3 \ bytes-1.2.1 \ cache-advisor-1.0.11 \ cache-padded-1.2.0 \ camino-1.1.1 \ cassowary-0.3.0 \ cast-0.3.0 \ cc-1.0.73 \ cfg-if-0.1.10 \ cfg-if-1.0.0 \ cgl-0.3.2 \ chrono-0.4.22 \ clap-2.34.0 \ clap-3.2.20 \ clap_complete-3.2.4 \ clap_complete_fig-3.2.4 \ clap_derive-3.2.18 \ clap_lex-0.2.4 \ clipboard-win-2.2.0 \ clipboard_macos-0.1.0 \ cocoa-0.20.2 \ color_quant-1.1.0 \ colored-1.9.3 \ colorgrad-0.6.1 \ concurrent-queue-1.2.4 \ core-foundation-0.7.0 \ core-foundation-0.9.3 \ core-foundation-sys-0.7.0 \ core-foundation-sys-0.8.3 \ core-graphics-0.19.2 \ core-graphics-0.22.3 \ core-graphics-types-0.1.1 \ core-text-19.2.0 \ cpufeatures-0.2.4 \ crc32fast-1.3.2 \ criterion-0.3.6 \ criterion-plot-0.4.5 \ crossbeam-0.8.2 \ crossbeam-channel-0.5.6 \ crossbeam-deque-0.8.2 \ crossbeam-epoch-0.9.10 \ crossbeam-queue-0.3.6 \ crossbeam-utils-0.8.11 \ crypto-common-0.1.6 \ csscolorparser-0.6.2 \ csv-1.1.6 \ csv-core-0.1.10 \ ctor-0.1.23 \ cty-0.2.2 \ darling-0.14.1 \ darling_core-0.14.1 \ darling_macro-0.14.1 \ dashmap-5.4.0 \ data-encoding-2.3.2 \ deflate-1.0.0 \ deltae-0.3.0 \ derivative-2.2.0 \ diff-0.1.13 \ difflib-0.4.0 \ digest-0.9.0 \ digest-0.10.3 \ dirs-2.0.2 \ dirs-4.0.0 \ dirs-next-2.0.0 \ dirs-sys-0.3.7 \ dirs-sys-next-0.1.2 \ dlib-0.5.0 \ doc-comment-0.3.3 \ downcast-rs-1.2.0 \ dwrote-0.11.0 \ either-1.8.0 \ embed-resource-1.7.3 \ emojis-0.4.0 \ encoding_rs-0.8.31 \ enum-display-derive-0.1.1 \ enumflags2-0.7.5 \ enumflags2_derive-0.7.4 \ env_logger-0.9.0 \ euclid-0.22.7 \ event-listener-2.5.3 \ exr-1.5.0 \ fallible-iterator-0.2.0 \ fallible-streaming-iterator-0.1.9 \ fastrand-1.8.0 \ filenamegen-0.2.4 \ filetime-0.2.17 \ fixedbitset-0.4.2 \ flate2-1.0.24 \ float-cmp-0.9.0 \ flume-0.10.14 \ fnv-1.0.7 \ foreign-types-0.3.2 \ foreign-types-shared-0.1.1 \ form_urlencoded-1.0.1 \ fsevent-sys-4.1.0 \ futures-0.3.24 \ futures-channel-0.3.24 \ futures-core-0.3.24 \ futures-executor-0.3.24 \ futures-io-0.3.24 \ futures-lite-1.12.0 \ futures-macro-0.3.24 \ futures-sink-0.3.24 \ futures-task-0.3.24 \ futures-timer-3.0.2 \ futures-util-0.3.24 \ fuzzy-matcher-0.3.7 \ generic-array-0.14.6 \ getopts-0.2.21 \ getrandom-0.1.16 \ getrandom-0.2.7 \ gif-0.11.4 \ gimli-0.26.2 \ git2-0.14.4 \ gl_generator-0.14.0 \ glium-0.31.0 \ globset-0.4.9 \ globwalk-0.8.1 \ gloo-timers-0.2.4 \ governor-0.4.2 \ guillotiere-0.6.2 \ h2-0.3.14 \ half-1.8.2 \ hashbrown-0.11.2 \ hashbrown-0.12.3 \ hashlink-0.7.0 \ hdrhistogram-7.5.1 \ heck-0.4.0 \ hermit-abi-0.1.19 \ hex-0.4.3 \ hostname-0.3.1 \ http-0.2.8 \ http-body-0.4.5 \ http_req-0.8.1 \ httparse-1.8.0 \ httpdate-1.0.2 \ humantime-2.1.0 \ hyper-0.14.20 \ hyper-tls-0.5.0 \ iana-time-zone-0.1.47 \ ident_case-1.0.1 \ idna-0.2.3 \ ignore-0.4.18 \ image-0.24.3 \ indexmap-1.9.1 \ inotify-0.9.6 \ inotify-sys-0.1.5 \ instant-0.1.12 \ ioctl-rs-0.1.6 \ ipnet-2.5.0 \ itertools-0.10.3 \ itoa-0.4.8 \ itoa-1.0.3 \ jobserver-0.1.24 \ jpeg-decoder-0.2.6 \ js-sys-0.3.59 \ k9-0.11.5 \ khronos_api-3.1.0 \ kqueue-1.0.6 \ kqueue-sys-1.0.3 \ kv-log-macro-1.0.7 \ lab-0.11.0 \ lazy_static-1.4.0 \ lazycell-1.3.0 \ leb128-0.2.5 \ lebe-0.5.2 \ libc-0.2.132 \ libflate-1.2.0 \ libflate_lz77-1.1.0 \ libgit2-sys-0.13.4+1.4.2 \ libloading-0.6.7 \ libloading-0.7.3 \ libsqlite3-sys-0.24.2 \ libssh2-sys-0.2.23 \ libz-sys-1.1.8 \ line-wrap-0.1.1 \ line_drawing-0.8.1 \ linked-hash-map-0.5.6 \ lock_api-0.4.8 \ log-0.4.17 \ lru-0.7.8 \ lua-src-544.0.1 \ luajit-src-210.4.1+restyaa7a722 \ mach-0.3.2 \ malloc_buf-0.0.6 \ maplit-1.0.2 \ match_cfg-0.1.0 \ matches-0.1.9 \ memchr-2.5.0 \ memmap2-0.2.3 \ memmap2-0.3.1 \ memmap2-0.5.7 \ memmem-0.1.1 \ memoffset-0.6.5 \ metrics-0.17.1 \ metrics-macros-0.4.1 \ mime-0.3.16 \ minimal-lexical-0.2.1 \ miniz_oxide-0.4.4 \ miniz_oxide-0.5.3 \ mio-0.8.4 \ mlua-0.8.3 \ names-0.12.0 \ nanorand-0.7.0 \ native-tls-0.2.10 \ nix-0.22.3 \ nix-0.23.1 \ nix-0.24.2 \ nix-0.25.0 \ no-std-compat-0.4.1 \ nom-5.1.2 \ nom-7.1.1 \ nonzero_ext-0.3.0 \ normalize-line-endings-0.3.0 \ notify-5.0.0 \ ntapi-0.3.7 \ num-0.3.1 \ num-bigint-0.3.3 \ num-complex-0.3.1 \ num-derive-0.3.3 \ num-integer-0.1.45 \ num-iter-0.1.43 \ num-rational-0.3.2 \ num-rational-0.4.1 \ num-traits-0.2.15 \ num_cpus-1.13.1 \ num_threads-0.1.6 \ objc-0.2.7 \ objc-foundation-0.1.1 \ objc_id-0.1.1 \ object-0.29.0 \ once_cell-1.14.0 \ oorandom-11.1.3 \ opaque-debug-0.3.0 \ open-3.0.2 \ openssl-0.10.38 \ openssl-probe-0.1.5 \ openssl-src-300.0.9+3.0.5 \ openssl-sys-0.9.71 \ ordered-float-3.0.0 \ ordered-stream-0.0.1 \ os_str_bytes-6.3.0 \ parking-2.0.0 \ parking_lot-0.11.2 \ parking_lot-0.12.1 \ parking_lot_core-0.8.5 \ parking_lot_core-0.9.3 \ pathdiff-0.2.1 \ pem-1.1.0 \ percent-encoding-2.1.0 \ pest-2.3.0 \ pest_derive-2.3.0 \ pest_generator-2.3.0 \ pest_meta-2.3.0 \ phf-0.8.0 \ phf-0.10.1 \ phf-0.11.1 \ phf_codegen-0.8.0 \ phf_generator-0.8.0 \ phf_generator-0.11.1 \ phf_macros-0.11.1 \ phf_shared-0.8.0 \ phf_shared-0.10.0 \ phf_shared-0.11.1 \ pin-project-1.0.12 \ pin-project-internal-1.0.12 \ pin-project-lite-0.2.9 \ pin-utils-0.1.0 \ pkg-config-0.3.25 \ plist-1.3.1 \ plotters-0.3.3 \ plotters-backend-0.3.4 \ plotters-svg-0.3.3 \ png-0.17.5 \ polling-2.3.0 \ ppv-lite86-0.2.16 \ predicates-2.1.1 \ predicates-core-1.0.3 \ predicates-tree-1.0.5 \ proc-macro-crate-1.2.1 \ proc-macro-error-1.0.4 \ proc-macro-error-attr-1.0.4 \ proc-macro2-1.0.43 \ pulldown-cmark-0.9.2 \ pure-rust-locales-0.5.6 \ quanta-0.9.3 \ quick-xml-0.22.0 \ quote-1.0.21 \ rand-0.7.3 \ rand-0.8.5 \ rand_chacha-0.2.2 \ rand_chacha-0.3.1 \ rand_core-0.5.1 \ rand_core-0.6.3 \ rand_hc-0.2.0 \ rand_pcg-0.2.1 \ raw-cpuid-10.5.0 \ raw-window-handle-0.3.4 \ raw-window-handle-0.4.3 \ rayon-1.5.3 \ rayon-core-1.9.3 \ rcgen-0.9.3 \ redox_syscall-0.2.16 \ redox_users-0.4.3 \ regex-1.6.0 \ regex-automata-0.1.10 \ regex-syntax-0.6.27 \ remove_dir_all-0.5.3 \ reqwest-0.11.11 \ resize-0.5.5 \ rgb-0.8.33 \ ring-0.16.20 \ rle-decode-fast-1.0.3 \ rstest-0.15.0 \ rstest_macros-0.14.0 \ rusqlite-0.27.0 \ rustc-demangle-0.1.21 \ rustc-hash-1.1.0 \ rustc_version-0.4.0 \ ryu-1.0.11 \ safemem-0.3.3 \ same-file-1.0.6 \ schannel-0.1.20 \ scoped-tls-1.0.0 \ scoped_threadpool-0.1.9 \ scopeguard-1.1.0 \ security-framework-2.7.0 \ security-framework-sys-2.6.1 \ semver-0.11.0 \ semver-1.0.13 \ semver-parser-0.10.2 \ serde-1.0.144 \ serde_cbor-0.11.2 \ serde_derive-1.0.144 \ serde_json-1.0.85 \ serde_repr-0.1.9 \ serde_urlencoded-0.7.1 \ serde_with-2.0.0 \ serde_with_macros-2.0.0 \ serde_yaml-0.9.11 \ serial-0.4.0 \ serial-core-0.4.0 \ serial-unix-0.4.0 \ serial-windows-0.4.0 \ sha-1-0.10.0 \ sha1-0.6.1 \ sha1_smol-1.0.0 \ sha2-0.9.9 \ shared_library-0.1.9 \ shell-words-1.1.0 \ shlex-1.1.0 \ signal-hook-0.1.17 \ signal-hook-0.3.14 \ signal-hook-registry-1.4.0 \ siphasher-0.3.10 \ slab-0.4.7 \ smallvec-1.9.0 \ smawk-0.3.1 \ smithay-client-toolkit-0.15.4 \ smol-1.2.5 \ smol-potat-1.1.2 \ smol-potat-macro-0.6.0 \ socket2-0.4.7 \ spa-0.3.0 \ spin-0.5.2 \ spin-0.9.4 \ sqlite-cache-0.1.3 \ ssh2-0.9.3 \ starship-battery-0.7.9 \ static_assertions-1.1.0 \ strict-num-0.1.0 \ strsim-0.10.0 \ svg_fmt-0.4.1 \ syn-1.0.99 \ takeable-option-0.5.0 \ tar-0.4.38 \ tempfile-3.3.0 \ term_size-0.3.2 \ termcolor-1.1.3 \ terminfo-0.7.3 \ termios-0.2.2 \ termios-0.3.3 \ termtree-0.2.4 \ textwrap-0.11.0 \ textwrap-0.15.0 \ thiserror-1.0.33 \ thiserror-impl-1.0.33 \ thread_local-1.1.4 \ threadpool-1.8.1 \ tiff-0.7.3 \ time-0.1.43 \ time-0.3.14 \ tiny-skia-0.8.1 \ tiny-skia-path-0.8.1 \ tinytemplate-1.2.1 \ tinyvec-1.6.0 \ tinyvec_macros-0.1.0 \ tokio-1.21.0 \ tokio-macros-1.8.0 \ tokio-native-tls-0.3.0 \ tokio-util-0.7.3 \ toml-0.5.8 \ tower-service-0.3.2 \ tracing-0.1.36 \ tracing-attributes-0.1.22 \ tracing-core-0.1.29 \ try-lock-0.2.3 \ typenum-1.15.0 \ ucd-trie-0.1.5 \ uds_windows-1.0.2 \ unicase-2.6.0 \ unicode-bidi-0.3.8 \ unicode-ident-1.0.3 \ unicode-linebreak-0.1.2 \ unicode-normalization-0.1.21 \ unicode-segmentation-1.9.0 \ unicode-width-0.1.9 \ unsafe-libyaml-0.2.2 \ untrusted-0.7.1 \ uom-0.30.0 \ url-2.2.2 \ utf8parse-0.2.0 \ value-bag-1.0.0-alpha.9 \ varbincode-0.1.0 \ vcpkg-0.2.15 \ version_check-0.9.4 \ vswhom-0.1.0 \ vswhom-sys-0.1.1 \ waker-fn-1.1.0 \ walkdir-2.3.2 \ want-0.3.0 \ wasi-0.9.0+wasi-snapshot-preview1 \ wasi-0.10.2+wasi-snapshot-preview1 \ wasi-0.11.0+wasi-snapshot-preview1 \ wasm-bindgen-0.2.82 \ wasm-bindgen-backend-0.2.82 \ wasm-bindgen-futures-0.4.32 \ wasm-bindgen-macro-0.2.82 \ wasm-bindgen-macro-support-0.2.82 \ wasm-bindgen-shared-0.2.82 \ wayland-client-0.29.5 \ wayland-commons-0.29.5 \ wayland-cursor-0.29.5 \ wayland-egl-0.29.5 \ wayland-protocols-0.29.5 \ wayland-scanner-0.29.5 \ wayland-sys-0.29.5 \ web-sys-0.3.59 \ weezl-0.1.7 \ wepoll-ffi-0.1.2 \ whoami-1.2.1 \ winapi-0.3.9 \ winapi-i686-pc-windows-gnu-0.4.0 \ winapi-util-0.1.5 \ winapi-x86_64-pc-windows-gnu-0.4.0 \ windows-0.33.0 \ windows-sys-0.36.1 \ windows_aarch64_msvc-0.33.0 \ windows_aarch64_msvc-0.36.1 \ windows_i686_gnu-0.33.0 \ windows_i686_gnu-0.36.1 \ windows_i686_msvc-0.33.0 \ windows_i686_msvc-0.36.1 \ windows_x86_64_gnu-0.33.0 \ windows_x86_64_gnu-0.36.1 \ windows_x86_64_msvc-0.33.0 \ windows_x86_64_msvc-0.36.1 \ winreg-0.10.1 \ wio-0.2.2 \ x11-2.20.0 \ xattr-0.2.3 \ xcursor-0.3.4 \ xkbcommon-0.5.0 \ xml-rs-0.8.4 \ yaml-rust-0.4.5 \ yasna-0.5.0 \ zbus-3.0.0 \ zbus_macros-3.0.0 \ zbus_names-2.2.0 \ zstd-0.11.2+zstd.1.5.2 \ zstd-safe-5.0.2+zstd.1.5.2 \ zstd-sys-2.0.1+zstd.1.5.2 \ zvariant-3.6.0 \ zvariant_derive-3.6.0 \ xcb-imdkit@git+https://github.com/wez/xcb-imdkit-rs.git?rev=ede7c71b85fe2537efef6cf999a45690316211cf\#ede7c71b85fe2537efef6cf999a45690316211cf \ xcb@git+https://github.com/wez/rust-xcb?branch=ffi\#990a0212230acea2baf6f658e68e2f44bf7a8a1f \ libssh-rs,libssh-rs-sys@git+https://github.com/wez/libssh-rs.git\#d36e5648274063c187968fd5ce0b1a7aa350a025 # XXX https://github.com/rust-lang/cargo/issues/4101 CARGO_INSTALL_PATH= ${PLIST_FILES:Mbin/*:T} OPTIONS_DEFINE= DOCS DOCS_USES= python:3.4+,build DOCS_BUILD_DEPENDS= mdbook:textproc/mdbook \ mdbook-linkcheck:textproc/mdbook-linkcheck \ mdbook-mermaid:textproc/mdbook-mermaid PORTDOCS= html post-patch: # Extract (snapshot) version from the port instead of .tag file @${ECHO_CMD} '${DISTVERSIONFULL}' >${WRKSRC}/.tag # Respect LOCALBASE for cursors @${REINPLACE_CMD} 's,/usr/share,${LOCALBASE}/share,' \ ${WRKSRC}/window/src/os/x11/cursor.rs do-build-DOCS-on: # Build HTML documentation similar to ci/build-docs.sh (cd ${WRKSRC} && ${PYTHON_CMD} ci/generate-docs.py) mdbook-mermaid install ${WRKSRC}/docs mdbook build ${WRKSRC}/docs ${CP} ${WRKSRC}/assets/icon/terminal.png \ ${WRKSRC}/gh_pages/html/favicon.png ${CP} ${WRKSRC}/assets/icon/${PORTNAME}-icon.svg \ ${WRKSRC}/gh_pages/html/favicon.svg do-install-DOCS-on: (cd ${WRKSRC}/gh_pages && ${COPYTREE_SHARE} \ "${PORTDOCS:Mhtml}" ${STAGEDIR}${DOCSDIR}) post-install: # Install assets similar to ci/deploy.sh .for f in ${PORTNAME}.desktop ${PORTNAME}.appdata.xml ${PORTNAME}-nautilus.py \ icon/terminal.png icon/${PORTNAME}-icon.svg shell-integration/${PORTNAME}.sh ${MKDIR} ${STAGEDIR}${PREFIX}/${PLIST_FILES:M*.${f:E}:H} ${INSTALL_DATA} ${WRKSRC}/assets/${f:R}.${f:E} \ ${STAGEDIR}${PREFIX}/${PLIST_FILES:M*.${f:E}} .endfor .if exists(/usr/bin/tic) tic -x -o ${STAGEDIR}${PREFIX}/${PLIST_FILES:M*terminfo*:[1]:H:H} \ ${WRKSRC}/termwiz/data/${PORTNAME}.terminfo .endif .include