git: 5d6891c1e621 - main - textproc/fcitx5-gtk*: Add GTK4 support
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 18 Mar 2023 13:13:32 UTC
The branch main has been updated by lwhsu:
URL: https://cgit.FreeBSD.org/ports/commit/?id=5d6891c1e621ca95fd97010a069c0781e0d41b81
commit 5d6891c1e621ca95fd97010a069c0781e0d41b81
Author: Li-Wen Hsu <lwhsu@FreeBSD.org>
AuthorDate: 2023-03-18 13:06:19 +0000
Commit: Li-Wen Hsu <lwhsu@FreeBSD.org>
CommitDate: 2023-03-18 13:06:19 +0000
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
---
textproc/Makefile | 1 +
textproc/fcitx5-gtk-common/Makefile | 18 ++++++++++++++
textproc/fcitx5-gtk/Makefile | 28 +++++++++++++++++++---
.../fcitx5-gtk/{pkg-plist => pkg-plist.common} | 6 -----
textproc/fcitx5-gtk/pkg-plist.gtk2 | 3 +++
textproc/fcitx5-gtk/pkg-plist.gtk3 | 3 +++
textproc/fcitx5-gtk/pkg-plist.gtk4 | 1 +
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
similarity index 58%
rename from textproc/fcitx5-gtk/pkg-plist
rename to 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