| ################################################################################ |
| # |
| # libgtk4 |
| # |
| ################################################################################ |
| |
| LIBGTK4_VERSION_MAJOR = 4.12 |
| LIBGTK4_VERSION = $(LIBGTK4_VERSION_MAJOR).4 |
| LIBGTK4_SOURCE = gtk-$(LIBGTK4_VERSION).tar.xz |
| LIBGTK4_SITE = https://download.gnome.org/sources/gtk/$(LIBGTK4_VERSION_MAJOR) |
| LIBGTK4_LICENSE = LGPL-2.0+ |
| LIBGTK4_LICENSE_FILES = COPYING |
| LIBGTK4_CPE_ID_VENDOR = gnome |
| LIBGTK4_CPE_ID_PRODUCT = gtk |
| LIBGTK4_INSTALL_STAGING = YES |
| |
| LIBGTK4_DEPENDENCIES = \ |
| host-pkgconf \ |
| host-libgtk4 \ |
| gdk-pixbuf \ |
| graphene \ |
| libepoxy \ |
| libglib2 \ |
| pango \ |
| $(TARGET_NLS_DEPENDENCIES) |
| |
| LIBGTK4_CONF_OPTS = \ |
| -Dbuild-tests=false \ |
| -Dmedia-ffmpeg=disabled \ |
| -Dprint-cpdb=disabled \ |
| -Dvulkan=disabled \ |
| -Dcloudproviders=disabled \ |
| -Dsysprof=disabled \ |
| -Dtracker=disabled \ |
| -Dcolord=disabled \ |
| -Dintrospection=disabled \ |
| -Ddocumentation=false \ |
| -Dscreenshots=false \ |
| -Dman-pages=false |
| |
| ifeq ($(BR2_PACKAGE_LIBGTK4_X11),y) |
| LIBGTK4_DEPENDENCIES += xlib_libXcursor xlib_libXi xlib_libXinerama |
| LIBGTK4_CONF_OPTS += -Dx11-backend=true |
| else |
| LIBGTK4_CONF_OPTS += -Dx11-backend=false |
| endif |
| |
| ifeq ($(BR2_PACKAGE_LIBGTK4_WAYLAND),y) |
| LIBGTK4_DEPENDENCIES += wayland wayland-protocols libxkbcommon |
| LIBGTK4_CONF_OPTS += -Dwayland-backend=true |
| else |
| LIBGTK4_CONF_OPTS += -Dwayland-backend=false |
| endif |
| |
| ifeq ($(BR2_PACKAGE_LIBGTK4_BROADWAY),y) |
| LIBGTK4_CONF_OPTS += -Dbroadway-backend=true |
| else |
| LIBGTK4_CONF_OPTS += -Dbroadway-backend=false |
| endif |
| |
| ifeq ($(BR2_PACKAGE_LIBGTK4_GSTREAMER),y) |
| LIBGTK4_CONF_OPTS += -Dmedia-gstreamer=enabled |
| LIBGTK4_DEPENDENCIES += gstreamer1 gst1-plugins-base gst1-plugins-bad |
| else |
| LIBGTK4_CONF_OPTS += -Dmedia-gstreamer=disabled |
| endif |
| |
| ifeq ($(BR2_PACKAGE_CUPS),y) |
| LIBGTK4_CONF_OPTS += -Dprint-cups=enabled |
| LIBGTK4_DEPENDENCIES += cups |
| else |
| LIBGTK4_CONF_OPTS += -Dprint-cups=disabled |
| endif |
| |
| ifeq ($(BR2_PACKAGE_LIBGTK4_DEMO),y) |
| LIBGTK4_CONF_OPTS += -Dbuild-demos=true -Dbuild-examples=true |
| LIBGTK4_DEPENDENCIES += hicolor-icon-theme shared-mime-info |
| else |
| LIBGTK4_CONF_OPTS += -Dbuild-demos=false -Dbuild-examples=false |
| endif |
| |
| define LIBGTK4_COMPILE_GLIB_SCHEMAS |
| $(HOST_DIR)/bin/glib-compile-schemas \ |
| $(TARGET_DIR)/usr/share/glib-2.0/schemas |
| endef |
| LIBGTK4_POST_INSTALL_TARGET_HOOKS += LIBGTK4_COMPILE_GLIB_SCHEMAS |
| |
| # here, we build a native gtk4-update-icon-cache as host-libgtk4 |
| |
| HOST_LIBGTK4_DEPENDENCIES = \ |
| host-gdk-pixbuf \ |
| host-libglib2 \ |
| host-pkgconf |
| |
| HOST_LIBGTK4_CFLAGS = \ |
| -I $(@D)/gtk \ |
| `$(HOST_MAKE_ENV) $(PKG_CONFIG_HOST_BINARY) --cflags --libs gdk-pixbuf-2.0` |
| |
| define HOST_LIBGTK4_CONFIGURE_CMDS |
| echo "#define BUILD_TOOLS 1" >> $(@D)/gtk/config.h |
| echo "#define GETTEXT_PACKAGE \"gtk40\"" >> $(@D)/gtk/config.h |
| echo "#define GTK_LOCALEDIR \"/usr/share/locale\"" >> $(@D)/gtk/config.h |
| echo "#define HAVE_UNISTD_H 1" >> $(@D)/gtk/config.h |
| echo "#define HAVE_FTW_H 1" >> $(@D)/gtk/config.h |
| endef |
| |
| define HOST_LIBGTK4_BUILD_CMDS |
| $(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS) \ |
| $(@D)/tools/updateiconcache.c $(@D)/gtk/gtkiconcachevalidator.c\ |
| $(HOST_LIBGTK4_CFLAGS) \ |
| -o $(@D)/tools/gtk4-update-icon-cache |
| endef |
| |
| define HOST_LIBGTK4_INSTALL_CMDS |
| $(INSTALL) -D -m 0755 $(@D)/tools/gtk4-update-icon-cache \ |
| $(HOST_DIR)/bin/gtk4-update-icon-cache |
| endef |
| |
| # Create icon-theme.cache for each of the icon directories/themes |
| # It's not strictly necessary but speeds up lookups |
| define LIBGTK4_UPDATE_ICON_CACHE |
| [ ! -d $(TARGET_DIR)/usr/share/icons ] || \ |
| find $(TARGET_DIR)/usr/share/icons -maxdepth 1 -mindepth 1 -type d \ |
| -exec $(HOST_DIR)/bin/gtk-update-icon-cache {} \; |
| endef |
| LIBGTK4_TARGET_FINALIZE_HOOKS += LIBGTK4_UPDATE_ICON_CACHE |
| |
| $(eval $(meson-package)) |
| $(eval $(host-generic-package)) |