aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2022-02-05 21:14:24 +0000
committerJan Beich <jbeich@FreeBSD.org>2022-06-24 22:40:03 +0000
commit69cc2cb827707d29ec901ff33aa4b16a00167ba2 (patch)
treeefe517b9b52dd4c34c6bc3911ac26d7b74314d89
parent807e39c7516f598fd88421cbfe6d8d8f6246b9e7 (diff)
downloadports-69cc2cb827707d29ec901ff33aa4b16a00167ba2.tar.gz
ports-69cc2cb827707d29ec901ff33aa4b16a00167ba2.zip
x11-wm/sway-devel: add new port
Mainly useful for testing bleeding edge wlroots co-installed under non-default PREFIX due to many API-breaking changes.
-rw-r--r--x11-toolkits/Makefile1
-rw-r--r--x11-toolkits/wlroots-devel/Makefile74
-rw-r--r--x11-toolkits/wlroots-devel/distinfo9
-rw-r--r--x11-toolkits/wlroots-devel/override.mk8
-rw-r--r--x11-toolkits/wlroots-devel/pkg-descr30
-rw-r--r--x11-toolkits/wlroots-devel/pkg-plist98
-rw-r--r--x11-wm/Makefile1
-rw-r--r--x11-wm/sway-devel/Makefile68
-rw-r--r--x11-wm/sway-devel/distinfo7
-rw-r--r--x11-wm/sway-devel/pkg-descr5
-rw-r--r--x11-wm/sway-devel/pkg-message9
-rw-r--r--x11-wm/sway-devel/pkg-plist32
-rw-r--r--x11-wm/sway/Makefile2
13 files changed, 344 insertions, 0 deletions
diff --git a/x11-toolkits/Makefile b/x11-toolkits/Makefile
index c4570c6a235b..2648e3424696 100644
--- a/x11-toolkits/Makefile
+++ b/x11-toolkits/Makefile
@@ -216,6 +216,7 @@
SUBDIR += vte
SUBDIR += vte3
SUBDIR += wlroots
+ SUBDIR += wlroots-devel
SUBDIR += wmapp
SUBDIR += wxgtk28
SUBDIR += wxgtk28-common
diff --git a/x11-toolkits/wlroots-devel/Makefile b/x11-toolkits/wlroots-devel/Makefile
new file mode 100644
index 000000000000..9ca152dbf067
--- /dev/null
+++ b/x11-toolkits/wlroots-devel/Makefile
@@ -0,0 +1,74 @@
+PORTNAME= wlroots
+DISTVERSION= 0.15.0-291
+DISTVERSIONSUFFIX= -g${GL_COMMIT:C/(.{12}).*/\1/}
+CATEGORIES= x11-toolkits
+PKGNAMESUFFIX= -devel
+
+PATCH_SITES+= https://github.com/swaywm/${GL_PROJECT}/commit/:github
+PATCHFILES+= 7c0e2a271a4c.patch:-p1:github # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2064
+PATCHFILES+= cd9c857901a4.patch:-p1:github # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2064
+PATCH_SITES+= ${GL_SITE}/${GL_ACCOUNT}/${GL_PROJECT}/-/commit/
+PATCHFILES+= 347b32642fb6.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3318
+
+MAINTAINER= jbeich@FreeBSD.org
+COMMENT= Modular Wayland compositor library (development snapshot)
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= wayland-protocols>=1.25:graphics/wayland-protocols
+LIB_DEPENDS= libudev.so:devel/libudev-devd \
+ libdrm.so:graphics/libdrm \
+ libwayland-server.so:graphics/wayland \
+ libseat.so:sysutils/seatd \
+ libxkbcommon.so:x11/libxkbcommon
+
+USES= compiler:c11 gl meson pkgconfig xorg
+USE_GITLAB= yes
+USE_GL= gbm
+USE_XORG= pixman
+USE_LDCONFIG= yes
+GL_SITE= https://gitlab.freedesktop.org
+GL_COMMIT= c20468cfa292e99357fd504fc5b5884f6078ca96
+MESON_ARGS= -Dexamples=false -Dbackends=${BACKENDS:ts,} -Drenderers=${RENDERERS:ts,}
+
+.ifdef PKGNAMESUFFIX
+PORTSCOUT= ignore:1
+PREFIX= ${LOCALBASE}/${PKGBASE} # avoid conflict with the default
+.endif
+
+OPTIONS_DEFINE= DRM OPENGL VULKAN X11
+OPTIONS_DEFAULT=DRM OPENGL VULKAN X11
+OPTIONS_SUB= yes
+
+DRM_DESC= KMS console support
+DRM_LIB_DEPENDS= libinput.so:x11/libinput
+DRM_VARS= BACKENDS+="drm libinput"
+
+OPENGL_RUN_DEPENDS= mesa-dri>0:graphics/mesa-dri
+OPENGL_USE= GL=egl,glesv2
+OPENGL_VARS= RENDERERS+=gles2
+
+VULKAN_DESC= Vulkan renderer
+VULKAN_BUILD_DEPENDS= glslangValidator:graphics/glslang \
+ vulkan-headers>0:graphics/vulkan-headers
+VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader
+VULKAN_RUN_DEPENDS= mesa-dri>0:graphics/mesa-dri
+VULKAN_VARS= RENDERERS+=vulkan
+
+X11_LIB_DEPENDS= libxcb-errors.so:x11/xcb-util-errors \
+ libxcb-render-util.so:x11/xcb-util-renderutil \
+ libxcb-icccm.so:x11/xcb-util-wm
+X11_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
+ xwayland-devel>0:x11-servers/xwayland-devel
+X11_RUN_DEPENDS= xwayland-devel>0:x11-servers/xwayland-devel
+X11_USE= XORG=xcb
+X11_MESON_ENABLED= xwayland
+X11_VARS= BACKENDS+=x11
+
+post-patch:
+# Extract (snapshot) version from the port instead of meson.build
+ @${REINPLACE_CMD} "/STR/s/meson.project_version()/'${DISTVERSIONFULL}'/" \
+ ${WRKSRC}/include/wlr/meson.build
+
+.include <bsd.port.mk>
diff --git a/x11-toolkits/wlroots-devel/distinfo b/x11-toolkits/wlroots-devel/distinfo
new file mode 100644
index 000000000000..ddba2e8c492b
--- /dev/null
+++ b/x11-toolkits/wlroots-devel/distinfo
@@ -0,0 +1,9 @@
+TIMESTAMP = 1656048042
+SHA256 (wlroots-wlroots-c20468cfa292e99357fd504fc5b5884f6078ca96_GL0.tar.gz) = 2e5a2fcce9ec0884c9a2a77e6e606b1e2de70f11ab17e05d8900ef1886621ad9
+SIZE (wlroots-wlroots-c20468cfa292e99357fd504fc5b5884f6078ca96_GL0.tar.gz) = 575367
+SHA256 (7c0e2a271a4c.patch) = 2b92d3dde7640061ed85ab1690031f7627bebc2366e8c4da217017188ba7195e
+SIZE (7c0e2a271a4c.patch) = 5729
+SHA256 (cd9c857901a4.patch) = a5b14368851f51c9a5e5effdc8421a2c64386c02f47630e5ab049b7a82197ffb
+SIZE (cd9c857901a4.patch) = 4231
+SHA256 (347b32642fb6.patch) = 56804ce34cd02cb3b2b11a0dbf27c2820c2c0d112f351cdaed5d160e0536d418
+SIZE (347b32642fb6.patch) = 3810
diff --git a/x11-toolkits/wlroots-devel/override.mk b/x11-toolkits/wlroots-devel/override.mk
new file mode 100644
index 000000000000..45bd059006f2
--- /dev/null
+++ b/x11-toolkits/wlroots-devel/override.mk
@@ -0,0 +1,8 @@
+WLR_SUFFIX= -devel
+
+BUILD_DEPENDS:= ${BUILD_DEPENDS:S/wlroots/&${WLR_SUFFIX}/g}
+LIB_DEPENDS:= ${LIB_DEPENDS:S/wlroots$/&${WLR_SUFFIX}/}
+
+USES+= localbase # -isystem
+CONFIGURE_ENV+= PKG_CONFIG_PATH="${LOCALBASE}/wlroots${WLR_SUFFIX}/libdata/pkgconfig"
+MAKE_ENV+= PKG_CONFIG_PATH="${LOCALBASE}/wlroots${WLR_SUFFIX}/libdata/pkgconfig"
diff --git a/x11-toolkits/wlroots-devel/pkg-descr b/x11-toolkits/wlroots-devel/pkg-descr
new file mode 100644
index 000000000000..79be101fb60b
--- /dev/null
+++ b/x11-toolkits/wlroots-devel/pkg-descr
@@ -0,0 +1,30 @@
+Pluggable, composable, unopinionated modules for building a Wayland
+compositor; or about 60,000 lines of code you were going to write anyway.
+
+- wlroots provides backends that abstract the underlying display and input
+ hardware, including KMS/DRM, libinput, Wayland, X11, and headless backends,
+ plus any custom backends you choose to write, which can all be created or
+ destroyed at runtime and used in concert with each other.
+- wlroots provides unopinionated, mostly standalone implementations of many
+ Wayland interfaces, both from wayland.xml and various protocol extensions.
+ We also promote the standardization of portable extensions across
+ many compositors.
+- wlroots provides several powerful, standalone, and optional tools that
+ implement components common to many compositors, such as the arrangement of
+ outputs in physical space.
+- wlroots provides an Xwayland abstraction that allows you to have excellent
+ Xwayland support without worrying about writing your own X11 window manager
+ on top of writing your compositor.
+- wlroots provides a renderer abstraction that simple compositors can use to
+ avoid writing GL code directly, but which steps out of the way when your
+ needs demand custom rendering code.
+
+wlroots implements a huge variety of Wayland compositor features and implements
+them *right*, so you can focus on the features that make your compositor
+unique. By using wlroots, you get high performance, excellent hardware
+compatibility, broad support for many wayland interfaces, and comfortable
+development tools - or any subset of these features you like, because all of
+them work independently of one another and freely compose with anything you want
+to implement yourself.
+
+WWW: https://gitlab.freedesktop.org/wlroots/wlroots
diff --git a/x11-toolkits/wlroots-devel/pkg-plist b/x11-toolkits/wlroots-devel/pkg-plist
new file mode 100644
index 000000000000..f9950f6c2832
--- /dev/null
+++ b/x11-toolkits/wlroots-devel/pkg-plist
@@ -0,0 +1,98 @@
+include/wlr/backend.h
+%%DRM%%include/wlr/backend/drm.h
+include/wlr/backend/headless.h
+include/wlr/backend/interface.h
+%%DRM%%include/wlr/backend/libinput.h
+include/wlr/backend/multi.h
+include/wlr/backend/session.h
+include/wlr/backend/wayland.h
+%%X11%%include/wlr/backend/x11.h
+include/wlr/config.h
+include/wlr/interfaces/wlr_buffer.h
+include/wlr/interfaces/wlr_keyboard.h
+include/wlr/interfaces/wlr_output.h
+include/wlr/interfaces/wlr_pointer.h
+include/wlr/interfaces/wlr_switch.h
+include/wlr/interfaces/wlr_tablet_pad.h
+include/wlr/interfaces/wlr_tablet_tool.h
+include/wlr/interfaces/wlr_touch.h
+include/wlr/render/allocator.h
+include/wlr/render/dmabuf.h
+include/wlr/render/drm_format_set.h
+%%OPENGL%%include/wlr/render/egl.h
+%%OPENGL%%include/wlr/render/gles2.h
+include/wlr/render/interface.h
+include/wlr/render/pixman.h
+%%VULKAN%%include/wlr/render/vulkan.h
+include/wlr/render/wlr_renderer.h
+include/wlr/render/wlr_texture.h
+include/wlr/types/wlr_buffer.h
+include/wlr/types/wlr_compositor.h
+include/wlr/types/wlr_cursor.h
+include/wlr/types/wlr_data_control_v1.h
+include/wlr/types/wlr_data_device.h
+include/wlr/types/wlr_drm.h
+include/wlr/types/wlr_drm_lease_v1.h
+include/wlr/types/wlr_export_dmabuf_v1.h
+include/wlr/types/wlr_foreign_toplevel_management_v1.h
+include/wlr/types/wlr_fullscreen_shell_v1.h
+include/wlr/types/wlr_gamma_control_v1.h
+include/wlr/types/wlr_idle.h
+include/wlr/types/wlr_idle_inhibit_v1.h
+include/wlr/types/wlr_input_device.h
+include/wlr/types/wlr_input_inhibitor.h
+include/wlr/types/wlr_input_method_v2.h
+include/wlr/types/wlr_keyboard.h
+include/wlr/types/wlr_keyboard_group.h
+include/wlr/types/wlr_keyboard_shortcuts_inhibit_v1.h
+include/wlr/types/wlr_layer_shell_v1.h
+include/wlr/types/wlr_linux_dmabuf_v1.h
+include/wlr/types/wlr_matrix.h
+include/wlr/types/wlr_output.h
+include/wlr/types/wlr_output_damage.h
+include/wlr/types/wlr_output_layout.h
+include/wlr/types/wlr_output_management_v1.h
+include/wlr/types/wlr_output_power_management_v1.h
+include/wlr/types/wlr_pointer.h
+include/wlr/types/wlr_pointer_constraints_v1.h
+include/wlr/types/wlr_pointer_gestures_v1.h
+include/wlr/types/wlr_presentation_time.h
+include/wlr/types/wlr_primary_selection.h
+include/wlr/types/wlr_primary_selection_v1.h
+include/wlr/types/wlr_region.h
+include/wlr/types/wlr_relative_pointer_v1.h
+include/wlr/types/wlr_scene.h
+include/wlr/types/wlr_screencopy_v1.h
+include/wlr/types/wlr_seat.h
+include/wlr/types/wlr_server_decoration.h
+include/wlr/types/wlr_session_lock_v1.h
+include/wlr/types/wlr_subcompositor.h
+include/wlr/types/wlr_surface.h
+include/wlr/types/wlr_switch.h
+include/wlr/types/wlr_tablet_pad.h
+include/wlr/types/wlr_tablet_tool.h
+include/wlr/types/wlr_tablet_v2.h
+include/wlr/types/wlr_text_input_v3.h
+include/wlr/types/wlr_touch.h
+include/wlr/types/wlr_viewporter.h
+include/wlr/types/wlr_virtual_keyboard_v1.h
+include/wlr/types/wlr_virtual_pointer_v1.h
+include/wlr/types/wlr_xcursor_manager.h
+include/wlr/types/wlr_xdg_activation_v1.h
+include/wlr/types/wlr_xdg_decoration_v1.h
+include/wlr/types/wlr_xdg_foreign_registry.h
+include/wlr/types/wlr_xdg_foreign_v1.h
+include/wlr/types/wlr_xdg_foreign_v2.h
+include/wlr/types/wlr_xdg_output_v1.h
+include/wlr/types/wlr_xdg_shell.h
+include/wlr/util/addon.h
+include/wlr/util/box.h
+include/wlr/util/edges.h
+include/wlr/util/log.h
+include/wlr/util/region.h
+include/wlr/version.h
+include/wlr/xcursor.h
+%%X11%%include/wlr/xwayland.h
+lib/libwlroots.so
+lib/libwlroots.so.11
+libdata/pkgconfig/wlroots.pc
diff --git a/x11-wm/Makefile b/x11-wm/Makefile
index 5aaccc312fd6..8acbb5c0fcef 100644
--- a/x11-wm/Makefile
+++ b/x11-wm/Makefile
@@ -100,6 +100,7 @@
SUBDIR += stumpwm
SUBDIR += subtle
SUBDIR += sway
+ SUBDIR += sway-devel
SUBDIR += tinywm
SUBDIR += transset
SUBDIR += treewm
diff --git a/x11-wm/sway-devel/Makefile b/x11-wm/sway-devel/Makefile
new file mode 100644
index 000000000000..2c7f399a957b
--- /dev/null
+++ b/x11-wm/sway-devel/Makefile
@@ -0,0 +1,68 @@
+PORTNAME= sway
+DISTVERSION= 1.7-103
+DISTVERSIONSUFFIX= -g445bc2a94
+CATEGORIES= x11-wm
+PKGNAMESUFFIX= -devel
+
+PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES+= cd9d1038a822.patch:-p1 # https://github.com/swaywm/sway/pull/5090
+PATCHFILES+= f98ca3ab7ca1.patch:-p1 # https://github.com/swaywm/sway/pull/5090
+
+MAINTAINER= jbeich@FreeBSD.org
+COMMENT= i3-compatible Wayland compositor (development snapshot)
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
+ wayland-protocols>=1.24:graphics/wayland-protocols \
+ wlroots>=0.15.0.289<0.17.0:x11-toolkits/wlroots
+LIB_DEPENDS= libjson-c.so:devel/json-c \
+ libevdev.so:devel/libevdev \
+ libudev.so:devel/libudev-devd \
+ libpcre2-8.so:devel/pcre2 \
+ libwayland-egl.so:graphics/wayland \
+ libwlroots.so:x11-toolkits/wlroots \
+ libinput.so:x11/libinput \
+ libxkbcommon.so:x11/libxkbcommon
+RUN_DEPENDS= swaybg:x11/swaybg
+
+CONFLICTS_INSTALL= ${PORTNAME}
+
+USES= compiler:c11 gl gnome meson pkgconfig xorg
+USE_GITHUB= yes
+USE_GL= glesv2
+USE_GNOME= cairo pango
+USE_XORG= pixman
+GH_ACCOUNT= swaywm
+MESON_ARGS= -Dsd-bus-provider=basu
+
+OPTIONS_DEFINE= BASU MANPAGES PIXBUF X11
+OPTIONS_DEFAULT=BASU MANPAGES PIXBUF X11
+OPTIONS_SUB= yes
+
+BASU_DESC= Tray in swaybar via basu
+BASU_LIB_DEPENDS= libbasu.so:devel/basu
+BASU_MESON_ENABLED= tray
+
+MANPAGES_BUILD_DEPENDS= scdoc>=1.9.2:textproc/scdoc
+MANPAGES_MESON_ENABLED= man-pages
+
+PIXBUF_USE= GNOME=gdkpixbuf2
+PIXBUF_MESON_ENABLED= gdk-pixbuf
+
+X11_USE= XORG=xcb
+X11_LIB_DEPENDS= libxcb-icccm.so:x11/xcb-util-wm
+X11_MESON_ENABLED= xwayland
+
+post-patch:
+# Let @sample handle default files under etc/
+ @${REINPLACE_CMD} -e '/config\.in/{ N; s/@BASENAME@/&.sample/; }' \
+ ${WRKSRC}/meson.build
+# Extract (snapshot) version from the port instead of meson.build
+ @${REINPLACE_CMD} -i .nogit -e 's/git.found()/false/' \
+ -e '/project_version/s/@0@/${DISTVERSIONFULL}/' \
+ ${WRKSRC}/meson.build
+
+.include "${.CURDIR:H:H}/x11-toolkits/wlroots-devel/override.mk"
+.include <bsd.port.mk>
diff --git a/x11-wm/sway-devel/distinfo b/x11-wm/sway-devel/distinfo
new file mode 100644
index 000000000000..6945415f7b1e
--- /dev/null
+++ b/x11-wm/sway-devel/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1656010070
+SHA256 (swaywm-sway-1.7-103-g445bc2a94_GH0.tar.gz) = 038d602b93536cf904bca8ca35072eaa0e83ec678cad9d07238ca7fcd0e9a601
+SIZE (swaywm-sway-1.7-103-g445bc2a94_GH0.tar.gz) = 5573327
+SHA256 (cd9d1038a822.patch) = 266891cbe27a67f81740879dbe39819e3bf0f17b681bdc93087ae05987c2f88d
+SIZE (cd9d1038a822.patch) = 8968
+SHA256 (f98ca3ab7ca1.patch) = b3a427b6edbf1c89bbf5fdeb5e3fc4c6708478e6d2031fcead87d29bf5c409fa
+SIZE (f98ca3ab7ca1.patch) = 2673
diff --git a/x11-wm/sway-devel/pkg-descr b/x11-wm/sway-devel/pkg-descr
new file mode 100644
index 000000000000..1a91fb7204b3
--- /dev/null
+++ b/x11-wm/sway-devel/pkg-descr
@@ -0,0 +1,5 @@
+Sway is a tiling Wayland compositor and a drop-in replacement for the
+i3 window manager for X11. It works with your existing i3 configuration
+and supports most of i3's features, plus a few extras.
+
+WWW: https://swaywm.org/
diff --git a/x11-wm/sway-devel/pkg-message b/x11-wm/sway-devel/pkg-message
new file mode 100644
index 000000000000..9017b1d5a888
--- /dev/null
+++ b/x11-wm/sway-devel/pkg-message
@@ -0,0 +1,9 @@
+[
+{ type: install
+ message: <<EOM
+Experimental features:
+- HiDPI support for X11 applications. For instructions see
+ https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2064#note_1139855
+EOM
+}
+]
diff --git a/x11-wm/sway-devel/pkg-plist b/x11-wm/sway-devel/pkg-plist
new file mode 100644
index 000000000000..9192fd8c56b9
--- /dev/null
+++ b/x11-wm/sway-devel/pkg-plist
@@ -0,0 +1,32 @@
+bin/sway
+bin/swaybar
+bin/swaymsg
+bin/swaynag
+@sample %%ETCDIR%%/config.sample
+%%MANPAGES%%man/man1/sway.1.gz
+%%MANPAGES%%man/man1/swaymsg.1.gz
+%%MANPAGES%%man/man1/swaynag.1.gz
+%%MANPAGES%%man/man5/sway-bar.5.gz
+%%MANPAGES%%man/man5/sway-input.5.gz
+%%MANPAGES%%man/man5/sway-output.5.gz
+%%MANPAGES%%man/man5/sway.5.gz
+%%MANPAGES%%man/man5/swaynag.5.gz
+%%MANPAGES%%man/man7/sway-ipc.7.gz
+%%MANPAGES%%man/man7/swaybar-protocol.7.gz
+share/backgrounds/sway/Sway_Wallpaper_Blue_1136x640.png
+share/backgrounds/sway/Sway_Wallpaper_Blue_1136x640_Portrait.png
+share/backgrounds/sway/Sway_Wallpaper_Blue_1366x768.png
+share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png
+share/backgrounds/sway/Sway_Wallpaper_Blue_2048x1536.png
+share/backgrounds/sway/Sway_Wallpaper_Blue_2048x1536_Portrait.png
+share/backgrounds/sway/Sway_Wallpaper_Blue_768x1024.png
+share/backgrounds/sway/Sway_Wallpaper_Blue_768x1024_Portrait.png
+share/bash-completion/completions/sway
+share/bash-completion/completions/swaybar
+share/bash-completion/completions/swaymsg
+share/fish/vendor_completions.d/sway.fish
+share/fish/vendor_completions.d/swaymsg.fish
+share/fish/vendor_completions.d/swaynag.fish
+share/wayland-sessions/sway.desktop
+share/zsh/site-functions/_sway
+share/zsh/site-functions/_swaymsg
diff --git a/x11-wm/sway/Makefile b/x11-wm/sway/Makefile
index f1a335d28b5b..a9f3c56f42c7 100644
--- a/x11-wm/sway/Makefile
+++ b/x11-wm/sway/Makefile
@@ -25,6 +25,8 @@ LIB_DEPENDS= libjson-c.so:devel/json-c \
libxkbcommon.so:x11/libxkbcommon
RUN_DEPENDS= swaybg:x11/swaybg
+CONFLICTS_INSTALL= ${PORTNAME}-devel
+
USES= compiler:c11 gl gnome meson pkgconfig xorg
USE_GITHUB= yes
USE_GL= glesv2