summaryrefslogtreecommitdiff
path: root/x11
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2020-03-23 18:52:21 +0000
committerJan Beich <jbeich@FreeBSD.org>2020-03-23 18:52:21 +0000
commit66de81c38cda1af3b472f280c0c54884dce5687d (patch)
tree5d62796b9aa0a90a6c11886438874c10ef66cd5b /x11
parenttextproc/py-pystemmer: Update to 2.0.0.1 (diff)
wofix11/wofi: add new port
Wofi is a launcher/menu program for wlroots-based Wayland compositors such as Sway. https://hg.sr.ht/~scoopta/wofi
Notes
Notes: svn path=/head/; revision=528997
Diffstat (limited to 'x11')
-rw-r--r--x11/Makefile1
-rw-r--r--x11/wofi/Makefile31
-rw-r--r--x11/wofi/distinfo3
-rw-r--r--x11/wofi/files/patch-glib-2.5644
-rw-r--r--x11/wofi/pkg-descr4
-rw-r--r--x11/wofi/pkg-plist15
6 files changed, 98 insertions, 0 deletions
diff --git a/x11/Makefile b/x11/Makefile
index 3ac4e68090d4..894381a27614 100644
--- a/x11/Makefile
+++ b/x11/Makefile
@@ -350,6 +350,7 @@
SUBDIR += wmutils-core
SUBDIR += wmutils-opt
SUBDIR += wmxss
+ SUBDIR += wofi
SUBDIR += workrave
SUBDIR += x11perf
SUBDIR += x3270
diff --git a/x11/wofi/Makefile b/x11/wofi/Makefile
new file mode 100644
index 000000000000..dfa8c9419e81
--- /dev/null
+++ b/x11/wofi/Makefile
@@ -0,0 +1,31 @@
+# $FreeBSD$
+
+PORTNAME= wofi
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.1.2
+CATEGORIES= x11
+#MASTER_SITES= https://hg.sr.ht/~scoopta/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/
+MASTER_SITES+= LOCAL/jbeich # https://todo.sr.ht/~sircmpwn/hg.sr.ht/33
+
+MAINTAINER= jbeich@FreeBSD.org
+COMMENT= Launcher/menu program for wlroots-based compositors
+
+LICENSE= GPLv3+
+LICENSE_FILE= ${WRKSRC}/COPYING.md
+
+LIB_DEPENDS= libwayland-client.so:graphics/wayland
+
+USES= gnome meson pkgconfig
+USE_CSTD= gnu99
+USE_GNOME= gdkpixbuf2 gtk30
+
+post-patch:
+ @${REINPLACE_CMD} 's,/usr/local,${PREFIX},g' \
+ ${WRKSRC}/man/${PORTNAME}.7 \
+ ${WRKSRC}/modes/drun.c
+# Extract (snapshot) version from the port instead of meson.build
+ @${REINPLACE_CMD} -i .nohg -e 's/hg.found()/false/' \
+ -e "s/' + version + '/${DISTVERSIONFULL}/" \
+ ${WRKSRC}/meson.build
+
+.include <bsd.port.mk>
diff --git a/x11/wofi/distinfo b/x11/wofi/distinfo
new file mode 100644
index 000000000000..ce018377ed82
--- /dev/null
+++ b/x11/wofi/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1583818656
+SHA256 (wofi-v1.1.2.tar.gz) = c7f952e49bf52d3519b52c9f7c88c8d83a800297d16076f7eaefddf0cb6f8371
+SIZE (wofi-v1.1.2.tar.gz) = 64813
diff --git a/x11/wofi/files/patch-glib-2.56 b/x11/wofi/files/patch-glib-2.56
new file mode 100644
index 000000000000..d0057e833751
--- /dev/null
+++ b/x11/wofi/files/patch-glib-2.56
@@ -0,0 +1,44 @@
+Partially revert https://hg.sr.ht/~scoopta/wofi/rev/6343e02e2478 until
+devel/glib20 is updated to 2.60 or later.
+
+ld: error: undefined symbol: g_app_info_launch_uris_async
+>>> referenced by drun.c
+>>> wofi@exe/modes_drun.c.o:(wofi_drun_exec)
+
+ld: error: undefined symbol: g_app_info_launch_uris_finish
+>>> referenced by drun.c
+>>> wofi@exe/modes_drun.c.o:(launch_done)
+
+--- modes/drun.c.orig 2020-03-10 05:37:36 UTC
++++ modes/drun.c
+@@ -315,6 +315,7 @@ struct widget* wofi_drun_get_widget(void) {
+ return NULL;
+ }
+
++#if GLIB_CHECK_VERSION(2, 60, 0)
+ static void launch_done(GObject* obj, GAsyncResult* result, gpointer data) {
+ GError* err = NULL;
+ if(g_app_info_launch_uris_finish(G_APP_INFO(obj), result, &err)) {
+@@ -329,6 +330,7 @@ static void launch_done(GObject* obj, GAsyncResult* re
+ }
+ exit(1);
+ }
++#endif
+
+ void wofi_drun_exec(const gchar* cmd) {
+ GDesktopAppInfo* info = g_desktop_app_info_new_from_filename(cmd);
+@@ -338,7 +340,14 @@ void wofi_drun_exec(const gchar* cmd) {
+ printf("%s\n", g_app_info_get_commandline(G_APP_INFO(info)));
+ exit(0);
+ } else {
++#if GLIB_CHECK_VERSION(2, 60, 0)
+ g_app_info_launch_uris_async(G_APP_INFO(info), NULL, NULL, NULL, launch_done, (gchar*) cmd);
++#else
++ const char* exec = g_app_info_get_executable(G_APP_INFO(info));
++ execlp(exec, exec, NULL);
++ fprintf(stderr, "%s cannot be executed\n", exec);
++ exit(errno);
++#endif
+ }
+ } else if(strrchr(cmd, ' ') != NULL) {
+ char* space = strrchr(cmd, ' ');
diff --git a/x11/wofi/pkg-descr b/x11/wofi/pkg-descr
new file mode 100644
index 000000000000..a05e028112de
--- /dev/null
+++ b/x11/wofi/pkg-descr
@@ -0,0 +1,4 @@
+Wofi is a launcher/menu program for wlroots-based Wayland compositors
+such as Sway.
+
+WWW: https://hg.sr.ht/~scoopta/wofi
diff --git a/x11/wofi/pkg-plist b/x11/wofi/pkg-plist
new file mode 100644
index 000000000000..3ab521dd8a8d
--- /dev/null
+++ b/x11/wofi/pkg-plist
@@ -0,0 +1,15 @@
+bin/wofi
+include/wofi-1/config.h
+include/wofi-1/map.h
+include/wofi-1/utils.h
+include/wofi-1/wofi_api.h
+libdata/pkgconfig/wofi.pc
+man/man1/wofi.1.gz
+man/man3/wofi-api.3.gz
+man/man3/wofi-config.3.gz
+man/man3/wofi-map.3.gz
+man/man3/wofi-utils.3.gz
+man/man3/wofi.3.gz
+man/man5/wofi.5.gz
+man/man7/wofi-keys.7.gz
+man/man7/wofi.7.gz