x11-toolkits/libdecor: convert to subpackages

Reduce heavy dependencies for consumers e.g.,
cage -> wlroots -> xwayland-devel -> libdecor -> gtk3.

Approved by:	pizzamig (portmgr)
Differential Revision:	https://reviews.freebsd.org/D43576
This commit is contained in:
Jan Beich 2024-01-24 16:05:10 +01:00
parent 94a4803c44
commit 1a1e43198c
5 changed files with 39 additions and 7 deletions

View file

@ -1,5 +1,6 @@
PORTNAME= libdecor PORTNAME= libdecor
DISTVERSION= 0.2.2 DISTVERSION= 0.2.2
PORTREVISION= 1
CATEGORIES= x11-toolkits CATEGORIES= x11-toolkits
MAINTAINER= jbeich@FreeBSD.org MAINTAINER= jbeich@FreeBSD.org
@ -22,17 +23,28 @@ OPTIONS_DEFINE= CAIRO DBUS GTK3
OPTIONS_DEFAULT=CAIRO DBUS GTK3 OPTIONS_DEFAULT=CAIRO DBUS GTK3
OPTIONS_SUB= yes OPTIONS_SUB= yes
CAIRO_SUBPACKAGES= cairo
CAIRO_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto CAIRO_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto
CAIRO_USES= gnome #USES.cairo= gnome
CAIRO_USE= GNOME=cairo,pango #USE_GNOME.cairo= cairo pango
LIB_DEPENDS.cairo= libgobject-2.0.so:devel/glib20 \
libcairo.so:graphics/cairo \
libpango-1.0.so:x11-toolkits/pango
SELF_DEPENDS.cairo= main
# Unused by the main library # Unused by the main library
DBUS_LIB_DEPENDS= ${"${PORT_OPTIONS:NDBUS}":?libdbus-1.so\:devel/dbus:} LIB_DEPENDS.cairo+= libdbus-1.so:devel/dbus
LIB_DEPENDS.gtk3+= libdbus-1.so:devel/dbus
DBUS_MESON_ENABLED= dbus DBUS_MESON_ENABLED= dbus
GTK3_SUBPACKAGES= gtk3
GTK3_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto GTK3_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto
GTK3_USES= gnome #USES.gtk3= gnome
GTK3_USE= GNOME=cairo,gtk30 #USE_GNOME.gtk3= cairo gtk30
LIB_DEPENDS.gtk3+= libglib-2.0.so:devel/glib20 \
libcairo.so:graphics/cairo \
libgtk-3.so:x11-toolkits/gtk30
SELF_DEPENDS.gtk3= main
GTK3_MESON_ENABLED= gtk GTK3_MESON_ENABLED= gtk
post-patch-CAIRO-off: post-patch-CAIRO-off:

View file

@ -0,0 +1,5 @@
libdecor is a library that can help Wayland clients draw window
decorations for them. It aims to provide multiple backends that
implements the decoration drawing.
This package provides Cairo-based decoration plugin.

View file

@ -0,0 +1,5 @@
libdecor is a library that can help Wayland clients draw window
decorations for them. It aims to provide multiple backends that
implements the decoration drawing.
This package provides GTK3-based decoration plugin.

View file

@ -0,0 +1,10 @@
[
{ type: upgrade
maximum_version: "0.2.2"
message: <<EOD
Plugins with extra dependencies moved into subpackages:
- libdecor-cairo
- libdecor-gtk3
EOD
}
]

View file

@ -2,6 +2,6 @@ include/libdecor-0/libdecor.h
lib/libdecor-0.so lib/libdecor-0.so
lib/libdecor-0.so.0 lib/libdecor-0.so.0
lib/libdecor-0.so.0.200.2 lib/libdecor-0.so.0.200.2
%%CAIRO%%lib/libdecor/plugins-1/libdecor-cairo.so %%CAIRO%%@@cairo@@lib/libdecor/plugins-1/libdecor-cairo.so
%%GTK3%%lib/libdecor/plugins-1/libdecor-gtk.so %%GTK3%%@@gtk3@@lib/libdecor/plugins-1/libdecor-gtk.so
libdata/pkgconfig/libdecor-0.pc libdata/pkgconfig/libdecor-0.pc