1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-26 09:46:09 +00:00

x11-wm/sway: add new port

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.

https://swaywm.org/
This commit is contained in:
Jan Beich 2019-01-06 13:28:24 +00:00
parent 8520857832
commit 71c50e1481
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=489493
15 changed files with 333 additions and 0 deletions

View File

@ -1672,6 +1672,7 @@
SUBDIR += saxon-he
SUBDIR += scancode-toolkit
SUBDIR += sc-aspell
SUBDIR += scdoc
SUBDIR += scew
SUBDIR += scim
SUBDIR += scim-bridge

30
textproc/scdoc/Makefile Normal file
View File

@ -0,0 +1,30 @@
# $FreeBSD$
PORTNAME= scdoc
DISTVERSION= 1.6.0
CATEGORIES= textproc
MASTER_SITES= https://git.sr.ht/~sircmpwn/${PORTNAME}/archive/
DISTFILES= ${DISTVERSIONFULL}${EXTRACT_SUFX}
DIST_SUBDIR= ${PORTNAME}
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Simple man page generator for POSIX systems written in C99
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
USES= gmake
TEST_TARGET= check
PLIST_FILES= bin/scdoc \
man/man1/scdoc.1.gz \
man/man5/scdoc.5.gz
post-patch:
@${REINPLACE_CMD} -e 's,share/man,man,' \
-e '/BIN/s,install -Dm755,${INSTALL_PROGRAM},' \
-e '/MAN/s,install -Dm644,${INSTALL_MAN},' \
${WRKSRC}/Makefile
@${REINPLACE_CMD} -i '' 's,--date=,-f "%F %T %z" ,' \
${WRKSRC}/test/preamble
.include <bsd.port.mk>

3
textproc/scdoc/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1542554764
SHA256 (scdoc/1.6.0.tar.gz) = a396bc070c8734d7cafe3a3481c8cffacd83b3effdeb28de43e2cdac889643b1
SIZE (scdoc/1.6.0.tar.gz) = 10937

3
textproc/scdoc/pkg-descr Normal file
View File

@ -0,0 +1,3 @@
scdoc is a simple man page generator for POSIX systems written in C99.
WWW: https://git.sr.ht/~sircmpwn/scdoc/

View File

@ -285,6 +285,7 @@
SUBDIR += vte
SUBDIR += vte-reference
SUBDIR += vte3
SUBDIR += wlroots
SUBDIR += wmapp
SUBDIR += wxgtk28
SUBDIR += wxgtk28-common

View File

@ -0,0 +1,53 @@
# $FreeBSD$
PORTNAME= wlroots
DISTVERSION= 0.2
CATEGORIES= x11-toolkits
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
PATCHFILES= 92e39b586c0e.patch:-p1
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Modular Wayland compositor library
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
wayland-protocols>=1.15:graphics/wayland-protocols
LIB_DEPENDS= libudev.so:devel/libudev-devd \
libdrm.so:graphics/libdrm \
libwayland-egl.so:graphics/wayland \
libinput.so:x11/libinput \
libxkbcommon.so:x11/libxkbcommon
USES= compiler:c11 gl meson pkgconfig
USE_GITHUB= yes
USE_GL= egl gbm glesv2
USE_XORG= pixman
USE_LDCONFIG= yes
GH_ACCOUNT= swaywm
MESON_ARGS= -Dexamples=false
# https://github.com/swaywm/wlroots/issues/1450
LLD_UNSAFE= yes
OPTIONS_DEFINE= X11
OPTIONS_DEFAULT=X11
OPTIONS_SUB= yes
X11_LIB_DEPENDS=libxcb-icccm.so:x11/xcb-util-wm
X11_USE= XORG=x11,xcb
X11_MESON_ON= -Dx11-backend=enabled -Dxcb-icccm=enabled -Dxwayland=enabled
X11_MESON_OFF= -Dx11-backend=disabled -Dxcb-icccm=disabled -Dxwayland=disabled
# https://github.com/swaywm/wlroots/commit/f8428d1063c6
.if exists(${.CURDIR:H:H}/x11/xcb-util-errors)
X11_LIB_DEPENDS+= libxcb-errors.so:x11/xcb-util-errors
.endif
post-patch:
# Ignore unused dependencies
@${REINPLACE_CMD} '/examples/d' ${WRKSRC}/meson.build
.include <bsd.port.mk>

View File

@ -0,0 +1,5 @@
TIMESTAMP = 1543408964
SHA256 (swaywm-wlroots-0.2_GH0.tar.gz) = 0b690c5db5a1f11051a28f0349655322fe54d92f7c2dc8d3c6e5559b1098bfd8
SIZE (swaywm-wlroots-0.2_GH0.tar.gz) = 437638
SHA256 (92e39b586c0e.patch) = 82b0982fb734fbc28be5a41d84d4652a172711ca10872b7f4b9139f13b2747d0
SIZE (92e39b586c0e.patch) = 535

View File

@ -0,0 +1,26 @@
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231425
In file included from ../sway/ipc-json.c:7:
In file included from ../include/sway/ipc-json.h:5:
In file included from ../include/sway/input/input-manager.h:6:
In file included from ../include/sway/server.h:9:
In file included from /usr/local/include/wlr/types/wlr_data_device.h:13:
/usr/local/include/wlr/types/wlr_seat.h:197:18: error: field has incomplete type 'struct timespec'
struct timespec last_event;
^
/usr/local/include/wlr/types/wlr_output.h:123:9: note: forward declaration of 'struct timespec'
struct timespec *when;
^
--- include/wlr/types/wlr_seat.h.orig 2019-01-04 15:02:33 UTC
+++ include/wlr/types/wlr_seat.h
@@ -10,6 +10,9 @@
#define WLR_TYPES_WLR_SEAT_H
#include <time.h>
+#if defined(_C11_SOURCE) && defined(__FreeBSD__) && __FreeBSD__ < 12
+#include <sys/_timespec.h>
+#endif
#include <wayland-server.h>
#include <wlr/types/wlr_input_device.h>
#include <wlr/types/wlr_keyboard.h>

View File

@ -0,0 +1,30 @@
Pluggable, composable, unopinionated modules for building a Wayland
compositor; or about 50,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://github.com/swaywm/wlroots

View File

@ -0,0 +1,76 @@
include/wlr/backend.h
include/wlr/backend/drm.h
include/wlr/backend/headless.h
include/wlr/backend/interface.h
include/wlr/backend/libinput.h
include/wlr/backend/multi.h
include/wlr/backend/session.h
include/wlr/backend/session/interface.h
include/wlr/backend/wayland.h
%%X11%%include/wlr/backend/x11.h
include/wlr/config.h
include/wlr/interfaces/wlr_input_device.h
include/wlr/interfaces/wlr_keyboard.h
include/wlr/interfaces/wlr_output.h
include/wlr/interfaces/wlr_pointer.h
include/wlr/interfaces/wlr_tablet_pad.h
include/wlr/interfaces/wlr_tablet_tool.h
include/wlr/interfaces/wlr_touch.h
include/wlr/render/dmabuf.h
include/wlr/render/egl.h
include/wlr/render/gles2.h
include/wlr/render/interface.h
include/wlr/render/wlr_renderer.h
include/wlr/render/wlr_texture.h
include/wlr/types/wlr_box.h
include/wlr/types/wlr_buffer.h
include/wlr/types/wlr_compositor.h
include/wlr/types/wlr_cursor.h
include/wlr/types/wlr_data_device.h
include/wlr/types/wlr_export_dmabuf_v1.h
include/wlr/types/wlr_gamma_control.h
include/wlr/types/wlr_gamma_control_v1.h
include/wlr/types/wlr_gtk_primary_selection.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_layer_shell_v1.h
include/wlr/types/wlr_linux_dmabuf_v1.h
include/wlr/types/wlr_list.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_pointer.h
include/wlr/types/wlr_presentation_time.h
include/wlr/types/wlr_region.h
include/wlr/types/wlr_screencopy_v1.h
include/wlr/types/wlr_screenshooter.h
include/wlr/types/wlr_seat.h
include/wlr/types/wlr_server_decoration.h
include/wlr/types/wlr_surface.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_virtual_keyboard_v1.h
include/wlr/types/wlr_wl_shell.h
include/wlr/types/wlr_xcursor_manager.h
include/wlr/types/wlr_xdg_decoration_v1.h
include/wlr/types/wlr_xdg_output_v1.h
include/wlr/types/wlr_xdg_shell.h
include/wlr/types/wlr_xdg_shell_v6.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.0
lib/libwlroots.so.0.0.0
libdata/pkgconfig/wlroots.pc

View File

@ -116,6 +116,7 @@
SUBDIR += spectrwm
SUBDIR += stumpwm
SUBDIR += subtle
SUBDIR += sway
SUBDIR += tinywm
SUBDIR += transset
SUBDIR += treewm

53
x11-wm/sway/Makefile Normal file
View File

@ -0,0 +1,53 @@
# $FreeBSD$
PORTNAME= sway
DISTVERSION= 1.0-beta.2
CATEGORIES= x11-wm
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
PATCHFILES= 4a11d0e470bc.patch:-p1
MAINTAINER= jbeich@FreeBSD.org
COMMENT= i3-compatible Wayland compositor
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
wayland-protocols>=1.14:graphics/wayland-protocols
LIB_DEPENDS= libjson-c.so:devel/json-c \
libpcre.so:devel/pcre \
libwayland-egl.so:graphics/wayland \
libwlroots.so:x11-toolkits/wlroots \
libinput.so:x11/libinput \
libxkbcommon.so:x11/libxkbcommon
USES= compiler:c11 gnome meson pkgconfig
USE_GITHUB= yes
USE_GNOME= cairo gdkpixbuf2 pango
USE_XORG= pixman
GH_ACCOUNT= swaywm
MESON_ARGS= -Dsway-version="${DISTVERSIONFULL}"
OPTIONS_DEFINE= MANPAGES SUID X11
OPTIONS_DEFAULT=MANPAGES SUID X11
OPTIONS_SUB= yes
MANPAGES_BUILD_DEPENDS= scdoc:textproc/scdoc
SUID_DESC= Install with setuid bit set
SUID_PLIST_SUB= MAYBE_SUID="@(,,4755) "
SUID_PLIST_SUB_OFF= MAYBE_SUID=""
X11_USE= XORG=xcb
X11_MESON_TRUE= enable-xwayland
post-patch:
# Let @sample handle default files under etc/
@${REINPLACE_CMD} -e '/config\.in/{ N; s/@BASENAME@/&.sample/; }' \
${WRKSRC}/meson.build
post-patch-MANPAGES-off:
@${REINPLACE_CMD} -i '' "s/'scdoc/&-disabled/" ${WRKSRC}/meson.build
.include <bsd.port.mk>

5
x11-wm/sway/distinfo Normal file
View File

@ -0,0 +1,5 @@
TIMESTAMP = 1543479000
SHA256 (swaywm-sway-1.0-beta.2_GH0.tar.gz) = a0e93b8ac51fa2edbf8fbe007f716ac934efa77c35b1a76f400819500fdf20c1
SIZE (swaywm-sway-1.0-beta.2_GH0.tar.gz) = 5454362
SHA256 (4a11d0e470bc.patch) = 28717caa49c53130d995ae8e81bc958a5e4d7afc6b836986776519a5e94693cc
SIZE (4a11d0e470bc.patch) = 2950

5
x11-wm/sway/pkg-descr Normal file
View File

@ -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/

41
x11-wm/sway/pkg-plist Normal file
View File

@ -0,0 +1,41 @@
%%MAYBE_SUID%%bin/sway
bin/swaybar
bin/swaybg
bin/swayidle
bin/swaylock
bin/swaymsg
bin/swaynag
etc/pam.d/swaylock
@sample %%ETCDIR%%/config.sample
%%ETCDIR%%/security.d/10-freebsd
%%MANPAGES%%man/man1/sway.1.gz
%%MANPAGES%%man/man1/swayidle.1.gz
%%MANPAGES%%man/man1/swaylock.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
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/swayidle
share/bash-completion/completions/swaylock
share/bash-completion/completions/swaymsg
share/fish/completions/sway.fish
share/fish/completions/swayidle.fish
share/fish/completions/swaylock.fish
share/fish/completions/swaymsg.fish
share/fish/completions/swaynag.fish
share/wayland-sessions/sway.desktop
share/zsh/site-functions/_sway
share/zsh/site-functions/_swaylock
share/zsh/site-functions/_swaymsg