aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi-Wen Hsu <lwhsu@FreeBSD.org>2023-03-18 13:06:19 +0000
committerLi-Wen Hsu <lwhsu@FreeBSD.org>2023-03-18 13:06:19 +0000
commit5d6891c1e621ca95fd97010a069c0781e0d41b81 (patch)
treeb467aee91d58ae029ec5e395e4d46c75a4753943
parent91a3c4def796cf45e6c2c404a2f8808e14ae7355 (diff)
downloadports-5d6891c1e621ca95fd97010a069c0781e0d41b81.tar.gz
ports-5d6891c1e621ca95fd97010a069c0781e0d41b81.zip
textproc/fcitx5-gtk*: Add GTK4 support
- Split into gtk2, gtk3, gtk4 FLAVORS - Extract common files to textproc/fcitx5-gtk-common Approved by: khng Differential Revision: https://reviews.freebsd.org/D38074
-rw-r--r--textproc/Makefile1
-rw-r--r--textproc/fcitx5-gtk-common/Makefile18
-rw-r--r--textproc/fcitx5-gtk/Makefile28
-rw-r--r--textproc/fcitx5-gtk/pkg-plist.common (renamed from textproc/fcitx5-gtk/pkg-plist)6
-rw-r--r--textproc/fcitx5-gtk/pkg-plist.gtk23
-rw-r--r--textproc/fcitx5-gtk/pkg-plist.gtk33
-rw-r--r--textproc/fcitx5-gtk/pkg-plist.gtk41
7 files changed, 51 insertions, 9 deletions
diff --git a/textproc/Makefile b/textproc/Makefile
index fbba825f4661..eb715443fc39 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -205,6 +205,7 @@
SUBDIR += fcitx5
SUBDIR += fcitx5-configtool
SUBDIR += fcitx5-gtk
+ SUBDIR += fcitx5-gtk-common
SUBDIR += fcitx5-lua
SUBDIR += fcitx5-m17n
SUBDIR += fcitx5-qt
diff --git a/textproc/fcitx5-gtk-common/Makefile b/textproc/fcitx5-gtk-common/Makefile
new file mode 100644
index 000000000000..79e1e775e448
--- /dev/null
+++ b/textproc/fcitx5-gtk-common/Makefile
@@ -0,0 +1,18 @@
+COMMENT= Fcitx support for GTK+ (common files)
+
+PKGNAMESUFFIX= -common
+
+MASTERDIR= ${.CURDIR}/../fcitx5-gtk
+
+RUN_DEPENDS= # empty
+
+PLIST= ${MASTERDIR}/pkg-plist.common
+
+FLAVORS= # empty
+FLAVOR= # empty
+
+CMAKE_ON= # empty
+CMAKE_OFF= ENABLE_GTK2_IM_MODULE ENABLE_GTK3_IM_MODULE \
+ ENABLE_GTK4_IM_MODULE
+
+.include "${MASTERDIR}/Makefile"
diff --git a/textproc/fcitx5-gtk/Makefile b/textproc/fcitx5-gtk/Makefile
index 3d4bae6ee258..0bb995ec2f22 100644
--- a/textproc/fcitx5-gtk/Makefile
+++ b/textproc/fcitx5-gtk/Makefile
@@ -4,13 +4,21 @@ PORTREVISION= 1
CATEGORIES= textproc
MAINTAINER= khng@FreeBSD.org
-COMMENT= Fcitx support for GTK+ 2/3
+COMMENT?= Fcitx support for GTK+ ${FLAVOR}
WWW= https://github.com/fcitx/fcitx5-gtk
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/LICENSES/LGPL-2.1-or-later.txt
LIB_DEPENDS= libxkbcommon.so:x11/libxkbcommon
+RUN_DEPENDS?= fcitx5-gtk-common>=${DISTVERSION}:textproc/fcitx5-gtk-common
+
+FLAVORS?= gtk3 gtk2 gtk4
+FLAVOR?= ${FLAVORS:[1]}
+
+gtk2_PKGNAMESUFFIX= 2
+gtk3_PKGNAMESUFFIX= 3
+gtk4_PKGNAMESUFFIX= 4
USES= compiler:c++17-lang gettext-tools cmake gnome kde:5 pkgconfig xorg
@@ -20,10 +28,24 @@ USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= fcitx
-USE_GNOME= introspection glib20 gtk20 gtk30
+USE_GNOME= cairo gdkpixbuf2 glib20 introspection
USE_KDE= ecm
USE_XORG= x11
-CMAKE_OFF= ENABLE_GTK4_IM_MODULE
+CMAKE_ON?= BUILD_ONLY_PLUGIN
+
+.if ${FLAVOR} == gtk3
+CMAKE_OFF+= ENABLE_GTK2_IM_MODULE ENABLE_GTK4_IM_MODULE
+USE_GNOME+= gtk30
+.elif ${FLAVOR} == gtk2
+CMAKE_OFF+= ENABLE_GTK3_IM_MODULE ENABLE_GTK4_IM_MODULE
+USE_GNOME+= gtk20
+.elif ${FLAVOR} == gtk4
+CMAKE_OFF+= ENABLE_GTK2_IM_MODULE ENABLE_GTK3_IM_MODULE
+USE_GNOME+= gtk40
+.endif
+
+PLIST?= ${PKGDIR}/pkg-plist.${FLAVOR}
+PLIST_SUB= VER=${PORTVERSION}
.include <bsd.port.mk>
diff --git a/textproc/fcitx5-gtk/pkg-plist b/textproc/fcitx5-gtk/pkg-plist.common
index 89fa71e9cb30..5668dd9548d9 100644
--- a/textproc/fcitx5-gtk/pkg-plist
+++ b/textproc/fcitx5-gtk/pkg-plist.common
@@ -5,14 +5,8 @@ lib/cmake/Fcitx5GClient/Fcitx5GClientConfigVersion.cmake
lib/cmake/Fcitx5GClient/Fcitx5GClientTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/Fcitx5GClient/Fcitx5GClientTargets.cmake
lib/girepository-1.0/FcitxG-1.0.typelib
-lib/gtk-2.0/%%GTK2_VERSION%%/immodules/im-fcitx5.so
-lib/gtk-3.0/%%GTK3_VERSION%%/immodules/im-fcitx5.so
lib/libFcitx5GClient.so
lib/libFcitx5GClient.so.2
lib/libFcitx5GClient.so.%%VER%%
libdata/pkgconfig/Fcitx5GClient.pc
share/gir-1.0/FcitxG-1.0.gir
-@postexec %%LOCALBASE%%/bin/gtk-query-immodules-3.0 --update-cache
-@postexec %%LOCALBASE%%/bin/gtk-query-immodules-2.0 --update-cache
-@postunexec %%LOCALBASE%%/bin/gtk-query-immodules-3.0 --update-cache
-@postunexec %%LOCALBASE%%/bin/gtk-query-immodules-2.0 --update-cache
diff --git a/textproc/fcitx5-gtk/pkg-plist.gtk2 b/textproc/fcitx5-gtk/pkg-plist.gtk2
new file mode 100644
index 000000000000..acaefd3e8eef
--- /dev/null
+++ b/textproc/fcitx5-gtk/pkg-plist.gtk2
@@ -0,0 +1,3 @@
+lib/gtk-2.0/%%GTK2_VERSION%%/immodules/im-fcitx5.so
+@postexec %%LOCALBASE%%/bin/gtk-query-immodules-2.0 --update-cache
+@postunexec %%LOCALBASE%%/bin/gtk-query-immodules-2.0 --update-cache
diff --git a/textproc/fcitx5-gtk/pkg-plist.gtk3 b/textproc/fcitx5-gtk/pkg-plist.gtk3
new file mode 100644
index 000000000000..8729fdc04a93
--- /dev/null
+++ b/textproc/fcitx5-gtk/pkg-plist.gtk3
@@ -0,0 +1,3 @@
+lib/gtk-3.0/%%GTK3_VERSION%%/immodules/im-fcitx5.so
+@postexec %%LOCALBASE%%/bin/gtk-query-immodules-3.0 --update-cache
+@postunexec %%LOCALBASE%%/bin/gtk-query-immodules-3.0 --update-cache
diff --git a/textproc/fcitx5-gtk/pkg-plist.gtk4 b/textproc/fcitx5-gtk/pkg-plist.gtk4
new file mode 100644
index 000000000000..8fad035ba08a
--- /dev/null
+++ b/textproc/fcitx5-gtk/pkg-plist.gtk4
@@ -0,0 +1 @@
+lib/gtk-4.0/%%GTK4_VERSION%%/immodules/libim-fcitx5.so