Skip to content

Commit

Permalink
x11-toolkits/libdecor: convert to subpackages
Browse files Browse the repository at this point in the history
Reduce heavy dependencies for consumers e.g.,
cage -> wlroots -> xwayland-devel -> libdecor -> gtk3.

Approved by:	pizzamig (portmgr)
Differential Revision:	https://reviews.freebsd.org/D43576
  • Loading branch information
jbeich committed Jan 29, 2024
1 parent 94a4803 commit 1a1e431
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 7 deletions.
22 changes: 17 additions & 5 deletions x11-toolkits/libdecor/Makefile
@@ -1,5 +1,6 @@
PORTNAME= libdecor
DISTVERSION= 0.2.2
PORTREVISION= 1
CATEGORIES= x11-toolkits

MAINTAINER= jbeich@FreeBSD.org
Expand All @@ -22,17 +23,28 @@ OPTIONS_DEFINE= CAIRO DBUS GTK3
OPTIONS_DEFAULT=CAIRO DBUS GTK3
OPTIONS_SUB= yes

CAIRO_SUBPACKAGES= cairo
CAIRO_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto
CAIRO_USES= gnome
CAIRO_USE= GNOME=cairo,pango
#USES.cairo= gnome
#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
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

GTK3_SUBPACKAGES= gtk3
GTK3_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto
GTK3_USES= gnome
GTK3_USE= GNOME=cairo,gtk30
#USES.gtk3= gnome
#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

post-patch-CAIRO-off:
Expand Down
5 changes: 5 additions & 0 deletions x11-toolkits/libdecor/pkg-descr.cairo
@@ -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.
5 changes: 5 additions & 0 deletions x11-toolkits/libdecor/pkg-descr.gtk3
@@ -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.
10 changes: 10 additions & 0 deletions x11-toolkits/libdecor/pkg-message
@@ -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
}
]
4 changes: 2 additions & 2 deletions x11-toolkits/libdecor/pkg-plist
Expand Up @@ -2,6 +2,6 @@ include/libdecor-0/libdecor.h
lib/libdecor-0.so
lib/libdecor-0.so.0
lib/libdecor-0.so.0.200.2
%%CAIRO%%lib/libdecor/plugins-1/libdecor-cairo.so
%%GTK3%%lib/libdecor/plugins-1/libdecor-gtk.so
%%CAIRO%%@@cairo@@lib/libdecor/plugins-1/libdecor-cairo.so
%%GTK3%%@@gtk3@@lib/libdecor/plugins-1/libdecor-gtk.so
libdata/pkgconfig/libdecor-0.pc

0 comments on commit 1a1e431

Please sign in to comment.