diff --git a/x11/foot/Makefile b/x11/foot/Makefile index 7a993bb0a93c..a65befb1390e 100644 --- a/x11/foot/Makefile +++ b/x11/foot/Makefile @@ -1,91 +1,101 @@ PORTNAME= foot -DISTVERSION= 1.11.0 +DISTVERSION= 1.12.0 CATEGORIES= x11 MASTER_SITES= https://codeberg.org/dnkl/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/ MAINTAINER= jbeich@FreeBSD.org COMMENT= Fast, lightweight and minimalistic Wayland terminal emulator LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \ tllist>=1.0.4:devel/tllist \ wayland-protocols>0:graphics/wayland-protocols LIB_DEPENDS= libepoll-shim.so:devel/libepoll-shim \ libwayland-client.so:graphics/wayland \ libfcft.so:x11-fonts/fcft \ libfontconfig.so:x11-fonts/fontconfig \ libxkbcommon.so:x11/libxkbcommon USES= compiler:c11 meson pkgconfig xorg USE_XORG= pixman WRKSRC= ${WRKDIR}/${PORTNAME} OPTIONS_DEFINE= DOCS LTO NOTIFY PGO UTF8PROC XDG OPTIONS_DEFAULT=LTO NOTIFY PGO UTF8PROC XDG OPTIONS_EXCLUDE+= ${CC:T:Mgcc*:C/.+/LTO/} # undefined reference to `xstrdup' OPTIONS_EXCLUDE_powerpc64= ${"${/usr/bin/ld:L:tA}"==/usr/bin/ld.lld:?LTO:} # https://github.com/llvm/llvm-project/issues/46697 OPTIONS_EXCLUDE_FreeBSD_12= ${WAYLAND_DISPLAY:UPGO} # ./pgo hangs DOCS_BUILD_DEPENDS= scdoc:textproc/scdoc DOCS_MESON_ENABLED= docs LTO_MESON_TRUE= b_lto NOTIFY_RUN_DEPENDS= notify-send:devel/libnotify PGO_USES= python:build PGO_MESON_ON= -Db_pgo=generate PGO_CFLAGS= ${PGO_CFLAGS_${CHOSEN_COMPILER_TYPE}} PGO_CFLAGS_clang= -Wno-ignored-optimization-argument # meson -Db_pgo=use PGO_SCRIPT_ARGS= --colors-regular --colors-bright --colors-256 --colors-rgb \ --scroll --scroll-region \ --attr-bold --attr-italic --attr-underline \ --sixel UTF8PROC_DESC= Grapheme clustering using libutf8proc UTF8PROC_LIB_DEPENDS= libutf8proc.so:textproc/utf8proc UTF8PROC_MESON_ENABLED= grapheme-clustering XDG_DESC= Open files with xdg-open XDG_RUN_DEPENDS= xdg-open:devel/xdg-utils .if exists(/usr/bin/tic) # Add site- suffix to avoid conflict with terminfo-db (part of ncurses) MESON_ARGS+= -Dcustom-terminfo-install-location="${PLIST_FILES:M*terminfo*:[1]:H:H}" PKGMESSAGE= ${NONEXISTENT} PLIST_FILES+= share/site-terminfo/${PORTNAME:C,^.,&/&,} \ share/site-terminfo/${PORTNAME:C,^.,&/&,}-direct .else MESON_ARGS+= -Dterminfo=disabled -Ddefault-terminfo=xterm-256color .endif +post-patch: +# Respect PREFIX for system-wide config + @${REINPLACE_CMD} -e 's,/etc,${PREFIX}&,' \ + ${WRKSRC}/config.c \ + ${WRKSRC}/doc/${PORTNAME}.1.scd \ + ${WRKSRC}/doc/${PORTNAME}.ini.5.scd +# Let @sample handle default files under etc/ + @${REINPLACE_CMD} -e "/install.*sysconfdir/s/'[^']*/&', rename: &.sample/1" \ + ${WRKSRC}/meson.build + .if !defined(DEFAULT_POST_BUILD) post-build-PGO-on: (cd ${BUILD_WRKSRC} && ./tests/test-config) # -Wbackend-plugin/-Wmissing-profile (cd ${BUILD_WRKSRC} && ./${PORTNAME}client --version) # -Wbackend-plugin/-Wmissing-profile .if defined(WAYLAND_DISPLAY) # Likely a local build, so optimize for the current config (cd ${BUILD_WRKSRC} && LC_ALL=en_US.UTF-8 ./${PORTNAME} ${PYTHON_CMD} \ ${WRKSRC}/scripts/generate-alt-random-writes.py \ ${PGO_SCRIPT_ARGS}) .else (cd ${BUILD_WRKSRC} && ./${PORTNAME} --version) # -Wbackend-plugin/-Wmissing-profile (cd ${BUILD_WRKSRC} && ${PYTHON_CMD} \ ${WRKSRC}/scripts/generate-alt-random-writes.py \ --seed=${:!${AWK} '/TIMESTAMP/ { print \$3 }' ${DISTINFO_FILE}!} \ --rows=67 --cols=135 \ ${PGO_SCRIPT_ARGS} \ pgo-input && ./pgo pgo-input) .endif @if [ ${CHOSEN_COMPILER_TYPE} = clang ]; then \ llvm-profdata merge -o ${BUILD_WRKSRC}/default.profdata \ ${BUILD_WRKSRC}/default*.profraw; \ fi ${RM} ${BUILD_COOKIE} ${CONFIGURE_CMD} configure -Db_pgo=use ${BUILD_WRKSRC} ${MAKE} -C${.CURDIR} build DEFAULT_POST_BUILD=1 .endif .include diff --git a/x11/foot/distinfo b/x11/foot/distinfo index 0d91ad22155c..d88b0d386c86 100644 --- a/x11/foot/distinfo +++ b/x11/foot/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1644078676 -SHA256 (foot-1.11.0.tar.gz) = 2b4f737eb4d266224e5dd0126168c6d770b0139d4b572078baf158d2f7166e4e -SIZE (foot-1.11.0.tar.gz) = 468899 +TIMESTAMP = 1650640481 +SHA256 (foot-1.12.0.tar.gz) = d8c27f735d2f361ee627cce282bee2462545f4df9532ee6ac28fd86a193404fa +SIZE (foot-1.12.0.tar.gz) = 482717 diff --git a/x11/foot/files/patch-pgo b/x11/foot/files/patch-pgo new file mode 100644 index 000000000000..5db3774cb486 --- /dev/null +++ b/x11/foot/files/patch-pgo @@ -0,0 +1,30 @@ +FAILED: pgo +ld: error: undefined symbol: key_binding_unref_term +>>> referenced by ld-temp.o +>>> lto.tmp:(term_destroy) + +ld: error: undefined symbol: key_binding_new_for_term +>>> referenced by ld-temp.o +>>> lto.tmp:(term_init) +cc: error: linker command failed with exit code 1 (use -v to see invocation) + +--- pgo/pgo.c.orig 2022-04-22 15:14:41 UTC ++++ pgo/pgo.c +@@ -193,6 +193,17 @@ key_binding_for( + return &kbd; + } + ++void ++key_binding_new_for_term(struct key_binding_manager *mgr, ++ const struct terminal *term) ++{ ++} ++void ++key_binding_unref_term(struct key_binding_manager *mgr, ++ const struct terminal *term) ++{ ++} ++ + int + main(int argc, const char *const *argv) + { diff --git a/x11/foot/pkg-plist b/x11/foot/pkg-plist index 8f410a4d4f06..9af2ceb618ad 100644 --- a/x11/foot/pkg-plist +++ b/x11/foot/pkg-plist @@ -1,56 +1,60 @@ bin/foot bin/footclient +@sample etc/xdg/foot/foot.ini.sample %%PORTDOCS%%man/man1/foot.1.gz %%PORTDOCS%%man/man1/footclient.1.gz %%PORTDOCS%%man/man5/foot.ini.5.gz %%PORTDOCS%%man/man7/foot-ctlseqs.7.gz share/applications/foot-server.desktop share/applications/foot.desktop share/applications/footclient.desktop share/bash-completion/completions/foot share/bash-completion/completions/footclient %%PORTDOCS%%%%DOCSDIR%%/CHANGELOG.md %%PORTDOCS%%%%DOCSDIR%%/LICENSE %%PORTDOCS%%%%DOCSDIR%%/README.md share/fish/vendor_completions.d/foot.fish share/fish/vendor_completions.d/footclient.fish -%%PORTDOCS%%%%DATADIR%%/foot.ini %%DATADIR%%/themes/apprentice %%DATADIR%%/themes/derp %%DATADIR%%/themes/dracula %%DATADIR%%/themes/gruvbox-dark %%DATADIR%%/themes/gruvbox-light %%DATADIR%%/themes/hacktober +%%DATADIR%%/themes/jetbrains-darcula %%DATADIR%%/themes/kitty +%%DATADIR%%/themes/material-design +%%DATADIR%%/themes/nord %%DATADIR%%/themes/nordiq %%DATADIR%%/themes/paper-color-dark %%DATADIR%%/themes/paper-color-light +%%DATADIR%%/themes/rezza %%DATADIR%%/themes/selenized-black %%DATADIR%%/themes/selenized-dark %%DATADIR%%/themes/selenized-light %%DATADIR%%/themes/selenized-white %%DATADIR%%/themes/solarized-dark %%DATADIR%%/themes/solarized-dark-normal-brights %%DATADIR%%/themes/solarized-light %%DATADIR%%/themes/tango %%DATADIR%%/themes/tempus-autumn %%DATADIR%%/themes/tempus-classic %%DATADIR%%/themes/tempus-dawn %%DATADIR%%/themes/tempus-day %%DATADIR%%/themes/tempus-dusk %%DATADIR%%/themes/tempus-fugit %%DATADIR%%/themes/tempus-future %%DATADIR%%/themes/tempus-night %%DATADIR%%/themes/tempus-past %%DATADIR%%/themes/tempus-rift %%DATADIR%%/themes/tempus-spring %%DATADIR%%/themes/tempus-summer %%DATADIR%%/themes/tempus-tempest %%DATADIR%%/themes/tempus-totus %%DATADIR%%/themes/tempus-warp %%DATADIR%%/themes/tempus-winter %%DATADIR%%/themes/visibone share/icons/hicolor/48x48/apps/foot.png share/icons/hicolor/scalable/apps/foot.svg share/zsh/site-functions/_foot share/zsh/site-functions/_footclient