From e0c0a5636d4827c7b680fc6eb46360c7652aad21 Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Sun, 20 Dec 2020 16:54:11 +0000 Subject: [PATCH] x11/fuzzel: add new port Fuzzel is a Wayland-native application launcher, similar to rofi's 'drun' mode. Features: - Wayland native - Rofi drun-like mode of operation - dmenu mode where newline separated entries are read from stdin - Emacs key bindings - Icons! - Remembers frequently launched applications https://codeberg.org/dnkl/fuzzel --- x11-fonts/Makefile | 1 + x11-fonts/fcft/Makefile | 31 ++++++++++++++++++++++++++++++ x11-fonts/fcft/distinfo | 3 +++ x11-fonts/fcft/pkg-descr | 14 ++++++++++++++ x11-fonts/fcft/pkg-plist | 16 ++++++++++++++++ x11/Makefile | 1 + x11/fuzzel/Makefile | 41 ++++++++++++++++++++++++++++++++++++++++ x11/fuzzel/distinfo | 9 +++++++++ x11/fuzzel/pkg-descr | 12 ++++++++++++ 9 files changed, 128 insertions(+) create mode 100644 x11-fonts/fcft/Makefile create mode 100644 x11-fonts/fcft/distinfo create mode 100644 x11-fonts/fcft/pkg-descr create mode 100644 x11-fonts/fcft/pkg-plist create mode 100644 x11/fuzzel/Makefile create mode 100644 x11/fuzzel/distinfo create mode 100644 x11/fuzzel/pkg-descr diff --git a/x11-fonts/Makefile b/x11-fonts/Makefile index dcf9be0fd7d9..e03e84eff0eb 100644 --- a/x11-fonts/Makefile +++ b/x11-fonts/Makefile @@ -51,6 +51,7 @@ SUBDIR += fantasque-sans-mono SUBDIR += fanwood SUBDIR += farsifonts + SUBDIR += fcft SUBDIR += fifteen SUBDIR += fira SUBDIR += firacode diff --git a/x11-fonts/fcft/Makefile b/x11-fonts/fcft/Makefile new file mode 100644 index 000000000000..bac263796d8f --- /dev/null +++ b/x11-fonts/fcft/Makefile @@ -0,0 +1,31 @@ +# $FreeBSD$ + +PORTNAME= fcft +DISTVERSION= 2.3.2 +CATEGORIES= x11-fonts +MASTER_SITES= https://codeberg.org/dnkl/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/ + +MAINTAINER= jbeich@FreeBSD.org +COMMENT= Simple library for font loading and glyph rasterization + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= tllist>=1.0.1:devel/tllist \ + scdoc:textproc/scdoc +LIB_DEPENDS= libfreetype.so:print/freetype2 \ + libfontconfig.so:x11-fonts/fontconfig + +USES= compiler:c11 meson pkgconfig xorg +USE_LDCONFIG= yes +USE_XORG= pixman +WRKSRC= ${WRKDIR}/${PORTNAME} + +OPTIONS_DEFINE= HARFBUZZ +OPTIONS_DEFAULT=HARFBUZZ + +HARFBUZZ_DESC= HarfBuzz for text shaping +HARFBUZZ_LIB_DEPENDS= libharfbuzz.so:print/harfbuzz +HARFBUZZ_MESON_ENABLED= text-shaping + +.include diff --git a/x11-fonts/fcft/distinfo b/x11-fonts/fcft/distinfo new file mode 100644 index 000000000000..862608255a98 --- /dev/null +++ b/x11-fonts/fcft/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1608296676 +SHA256 (fcft-2.3.2.tar.gz) = 726fdebb1d29bc40c665015666fd9037981c0b4d0ba3ecafa1994053091e7fa8 +SIZE (fcft-2.3.2.tar.gz) = 313133 diff --git a/x11-fonts/fcft/pkg-descr b/x11-fonts/fcft/pkg-descr new file mode 100644 index 000000000000..dde1831fbd9c --- /dev/null +++ b/x11-fonts/fcft/pkg-descr @@ -0,0 +1,14 @@ +fcft is a small font loading and glyph rasterization library built +on-top of FontConfig, FreeType2 and pixman. + +It can load and cache fonts from a fontconfig-formatted name string, +e.g. "Monospace:size=12", optionally with user configured fallback fonts. + +After a font has been loaded, you can rasterize glyphs. When doing so, +the primary font is first considered. If it does not have the +requested glyph, the user configured fallback fonts (if any) are +considered. If none of the user configured fallback fonts has the +requested glyph, the FontConfig generated list of fallback fonts are +checked. + +WWW: https://codeberg.org/dnkl/fcft diff --git a/x11-fonts/fcft/pkg-plist b/x11-fonts/fcft/pkg-plist new file mode 100644 index 000000000000..be171b0ed80f --- /dev/null +++ b/x11-fonts/fcft/pkg-plist @@ -0,0 +1,16 @@ +include/fcft/fcft.h +include/fcft/stride.h +lib/libfcft.so +lib/libfcft.so.3 +lib/libfcft.so.3.3.1 +libdata/pkgconfig/fcft.pc +man/man3/fcft_capabilities.3.gz +man/man3/fcft_clone.3.gz +man/man3/fcft_destroy.3.gz +man/man3/fcft_from_name.3.gz +man/man3/fcft_glyph_rasterize.3.gz +man/man3/fcft_grapheme_rasterize.3.gz +man/man3/fcft_kerning.3.gz +man/man3/fcft_precompose.3.gz +man/man3/fcft_set_scaling_filter.3.gz +man/man3/fcft_size_adjust.3.gz diff --git a/x11/Makefile b/x11/Makefile index cd587a70ab31..7e878beeed21 100644 --- a/x11/Makefile +++ b/x11/Makefile @@ -71,6 +71,7 @@ SUBDIR += flruler SUBDIR += fpc-x11 SUBDIR += fstobdf + SUBDIR += fuzzel SUBDIR += gdm SUBDIR += glcapsviewer SUBDIR += gmrun diff --git a/x11/fuzzel/Makefile b/x11/fuzzel/Makefile new file mode 100644 index 000000000000..cc9bf8e1bb91 --- /dev/null +++ b/x11/fuzzel/Makefile @@ -0,0 +1,41 @@ +# $FreeBSD$ + +PORTNAME= fuzzel +DISTVERSION= 1.4.2 +CATEGORIES= x11 +MASTER_SITES= https://codeberg.org/dnkl/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/ + +PATCH_SITES= https://github.com/jbeich/${PORTNAME}/commit/ +PATCHFILES+= d0ce4f2081a5.patch:-p1 # memfd_create +PATCHFILES+= 7637fdf4133b.patch:-p1 # _POSIX_C_SOURCE +PATCHFILES+= 816d7e5c06a3.patch:-p1 # epoll-shim + +MAINTAINER= jbeich@FreeBSD.org +COMMENT= Application launcher for wlroots-based Wayland compositors + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= tllist>=1.0.1:devel/tllist \ + wayland-protocols>0:graphics/wayland-protocols \ + scdoc:textproc/scdoc +LIB_DEPENDS= libepoll-shim.so:devel/libepoll-shim \ + libwayland-client.so:graphics/wayland \ + libfcft.so:x11-fonts/fcft \ + libxkbcommon.so:x11/libxkbcommon + +USES= compiler:c11 gnome meson pkgconfig xorg +USE_GNOME= cairo librsvg2 +USE_XORG= pixman +WRKSRC= ${WRKDIR}/${PORTNAME} +PLIST_FILES= bin/${PORTNAME} \ + man/man1/${PORTNAME}.1.gz \ + share/zsh/site-functions/_${PORTNAME} + +# XXX Drop after FreeBSD 12.1 EOL +.if exists(/usr/lib/clang/8.0.1) +# prompt.c:45:21: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] +CFLAGS+= -Wno-error=missing-braces +.endif + +.include diff --git a/x11/fuzzel/distinfo b/x11/fuzzel/distinfo new file mode 100644 index 000000000000..bf0ff27b694f --- /dev/null +++ b/x11/fuzzel/distinfo @@ -0,0 +1,9 @@ +TIMESTAMP = 1597681217 +SHA256 (fuzzel-1.4.2.tar.gz) = e4acd9afa299abd0a1995f85ffd13b05648178d71326aa1c749187f113de4817 +SIZE (fuzzel-1.4.2.tar.gz) = 77698 +SHA256 (d0ce4f2081a5.patch) = 401477768a8f7a1ca7987062152de691d58d46ebf46bd89c3ec26c661dc02289 +SIZE (d0ce4f2081a5.patch) = 2222 +SHA256 (7637fdf4133b.patch) = 8b4a8462bd191ab8bf0578d73554059d52337ba401d744ab55eeb4734266e126 +SIZE (7637fdf4133b.patch) = 2728 +SHA256 (816d7e5c06a3.patch) = 4f3a48b85fd249eea0e08b842a0536c97a6db22aafb7fd9dc2559f78258a0a8b +SIZE (816d7e5c06a3.patch) = 2594 diff --git a/x11/fuzzel/pkg-descr b/x11/fuzzel/pkg-descr new file mode 100644 index 000000000000..026573d335bc --- /dev/null +++ b/x11/fuzzel/pkg-descr @@ -0,0 +1,12 @@ +Fuzzel is a Wayland-native application launcher, similar to rofi's +"drun" mode. + +Features: +- Wayland native +- Rofi drun-like mode of operation +- dmenu mode where newline separated entries are read from stdin +- Emacs key bindings +- Icons! +- Remembers frequently launched applications + +WWW: https://codeberg.org/dnkl/fuzzel