diff --git a/x11-toolkits/Makefile b/x11-toolkits/Makefile index 16f21ef63eb2..fa0122247442 100644 --- a/x11-toolkits/Makefile +++ b/x11-toolkits/Makefile @@ -1,259 +1,260 @@ COMMENT = X11 toolkits SUBDIR += SoXt SUBDIR += Xaw3d SUBDIR += Xmt SUBDIR += amtk SUBDIR += blt SUBDIR += bwidget SUBDIR += color-widgets-qt5 SUBDIR += como SUBDIR += copperspice SUBDIR += ctk SUBDIR += fltk SUBDIR += fox16 SUBDIR += fox17 SUBDIR += fxscintilla SUBDIR += gdl SUBDIR += girara SUBDIR += gnome-pty-helper SUBDIR += gnustep-back SUBDIR += gnustep-gui SUBDIR += granite SUBDIR += granite7 SUBDIR += gstreamer1-plugins-gtk SUBDIR += gstreamer1-plugins-pango SUBDIR += gtk-layer-shell SUBDIR += gtk-session-lock SUBDIR += gtk-sharp-beans SUBDIR += gtk-sharp20 SUBDIR += gtk-sharp30 SUBDIR += gtk20 SUBDIR += gtk30 SUBDIR += gtk4-layer-shell SUBDIR += gtk40 SUBDIR += gtkd SUBDIR += gtkdatabox SUBDIR += gtkextra SUBDIR += gtkglarea2 SUBDIR += gtkglext SUBDIR += gtkglextmm SUBDIR += gtkimageview SUBDIR += gtkmm24 SUBDIR += gtkmm30 SUBDIR += gtksourceview2 SUBDIR += gtksourceview3 SUBDIR += gtksourceview4 SUBDIR += gtksourceview5 SUBDIR += gtksourceviewmm3 SUBDIR += guile-gnome-platform SUBDIR += imgui SUBDIR += irrlicht SUBDIR += itk SUBDIR += iwidgets SUBDIR += kddockwidgets SUBDIR += kf5-attica SUBDIR += kf5-kcompletion SUBDIR += kf5-kconfigwidgets SUBDIR += kf5-kdesignerplugin SUBDIR += kf5-kguiaddons SUBDIR += kf5-kirigami2 SUBDIR += kf5-kitemviews SUBDIR += kf5-kjobwidgets SUBDIR += kf5-ktextwidgets SUBDIR += kf5-kwidgetsaddons SUBDIR += kf5-kxmlgui SUBDIR += kf6-attica SUBDIR += kf6-kcompletion SUBDIR += kf6-kconfigwidgets SUBDIR += kf6-kguiaddons SUBDIR += kf6-kirigami SUBDIR += kf6-kitemviews SUBDIR += kf6-kjobwidgets SUBDIR += kf6-ktextwidgets SUBDIR += kf6-kwidgetsaddons SUBDIR += kf6-kxmlgui SUBDIR += kirigami-addons SUBDIR += kirigami-addons-devel SUBDIR += kproperty SUBDIR += lesstif SUBDIR += libXaw SUBDIR += libXmu SUBDIR += libXt SUBDIR += libadwaita SUBDIR += libdazzle SUBDIR += libdecor SUBDIR += libgdiplus SUBDIR += libhandy SUBDIR += libhandy0 SUBDIR += libshumate SUBDIR += libunique3 SUBDIR += libwnck SUBDIR += libwnck3 SUBDIR += libxaw3dxft SUBDIR += linux-c7-gtk2 SUBDIR += linux-c7-gtk3 SUBDIR += linux-c7-openmotif SUBDIR += linux-c7-pango SUBDIR += linux-c7-qt-x11 SUBDIR += linux-c7-tk85 SUBDIR += linux-rl9-gtk2 SUBDIR += linux-rl9-gtk3 SUBDIR += linux-rl9-pango SUBDIR += movingmotif SUBDIR += mowitz SUBDIR += mygui SUBDIR += mygui-dummy SUBDIR += mygui-ogre SUBDIR += mygui-opengl SUBDIR += nanogui SUBDIR += neXtaw SUBDIR += ntk SUBDIR += nuklear SUBDIR += ocaml-graphics SUBDIR += ocaml-lablgtk2 SUBDIR += ocaml-lablgtk3 SUBDIR += ocaml-labltk SUBDIR += open-motif SUBDIR += open-motif-devel SUBDIR += osm-gps-map SUBDIR += otk SUBDIR += p5-Alien-wxWidgets SUBDIR += p5-Gtk2 SUBDIR += p5-Gtk2-Chmod SUBDIR += p5-Gtk2-Ex-FormFactory SUBDIR += p5-Gtk2-Ex-PodViewer SUBDIR += p5-Gtk2-Ex-Simple-List SUBDIR += p5-Gtk2-Ex-Utils SUBDIR += p5-Gtk2-ImageView SUBDIR += p5-Gtk2-PathButtonBar SUBDIR += p5-Gtk3 SUBDIR += p5-Gtk3-ImageView SUBDIR += p5-Gtk3-SimpleList SUBDIR += p5-Pango SUBDIR += p5-Prima SUBDIR += p5-Test-Tk SUBDIR += p5-Tk SUBDIR += p5-Tk-Action SUBDIR += p5-Tk-Autoscroll SUBDIR += p5-Tk-ColourChooser SUBDIR += p5-Tk-Contrib SUBDIR += p5-Tk-CursorControl SUBDIR += p5-Tk-DKW SUBDIR += p5-Tk-Date SUBDIR += p5-Tk-DynaTabFrame SUBDIR += p5-Tk-Enscript SUBDIR += p5-Tk-FontDialog SUBDIR += p5-Tk-GBARR SUBDIR += p5-Tk-Getopt SUBDIR += p5-Tk-HistEntry SUBDIR += p5-Tk-JComboBox SUBDIR += p5-Tk-ResizeButton SUBDIR += p5-Tk-Role-Dialog SUBDIR += p5-Tk-Role-HasWidgets SUBDIR += p5-Tk-Splashscreen SUBDIR += p5-Tk-Sugar SUBDIR += p5-Tk-TableMatrix SUBDIR += p5-Tk-ToolBar SUBDIR += p5-Tk-WaitBox SUBDIR += pango SUBDIR += pangolin SUBDIR += pangomm SUBDIR += pangox-compat SUBDIR += plasma5-kdeplasma-addons SUBDIR += plasma6-kdeplasma-addons SUBDIR += plib SUBDIR += py-AnyQt SUBDIR += py-Pmw SUBDIR += py-awesometkinter SUBDIR += py-easygui SUBDIR += py-fltk SUBDIR += py-guietta SUBDIR += py-python-xlib SUBDIR += py-qt5-chart SUBDIR += py-qt6-chart SUBDIR += py-qt6-datavis3d SUBDIR += py-tkinter SUBDIR += py-tktreectrl SUBDIR += py-wxPython4 SUBDIR += pythonqt SUBDIR += qhotkey SUBDIR += qml-box2d SUBDIR += qt5-charts SUBDIR += qt5-datavis3d SUBDIR += qt5-declarative SUBDIR += qt5-declarative-test SUBDIR += qt5-gamepad SUBDIR += qt5-gui SUBDIR += qt5-quick3d SUBDIR += qt5-quickcontrols SUBDIR += qt5-quickcontrols2 SUBDIR += qt5-quicktimeline SUBDIR += qt5-uiplugin SUBDIR += qt5-virtualkeyboard SUBDIR += qt5-widgets SUBDIR += qt5pas SUBDIR += qt6-charts SUBDIR += qt6-datavis3d SUBDIR += qt6-declarative SUBDIR += qt6-graphs SUBDIR += qt6-quick3d SUBDIR += qt6-quicktimeline SUBDIR += qt6-shadertools SUBDIR += qt6-virtualkeyboard SUBDIR += qt6pas SUBDIR += qtermwidget SUBDIR += qwt5-qt5 SUBDIR += qwt6 SUBDIR += redkite SUBDIR += rep-gtk2 SUBDIR += rubygem-gdk3 SUBDIR += rubygem-gdk4 SUBDIR += rubygem-gtk2 SUBDIR += rubygem-gtk3 SUBDIR += rubygem-gtk4 SUBDIR += rubygem-gtksourceview3 SUBDIR += rubygem-gtksourceview4 SUBDIR += rubygem-pango SUBDIR += rubygem-poppler SUBDIR += rubygem-tk SUBDIR += rubygem-uh SUBDIR += rubygem-vte3 SUBDIR += rubygem-vte4 SUBDIR += scenefx SUBDIR += scintilla SUBDIR += sdl2_pango SUBDIR += sdl_pango SUBDIR += shared-desktop-ontologies SUBDIR += skinlf SUBDIR += soqt SUBDIR += swt SUBDIR += tepl6 SUBDIR += termit SUBDIR += tix SUBDIR += tk-wrapper SUBDIR += tk86 SUBDIR += tk87 SUBDIR += tkdnd SUBDIR += tkshape SUBDIR += tktable SUBDIR += tktray SUBDIR += tktreectrl SUBDIR += unique SUBDIR += viewklass SUBDIR += vte SUBDIR += vte3 SUBDIR += wlroots SUBDIR += wlroots-devel + SUBDIR += wlroots-hyprland SUBDIR += wlroots015 SUBDIR += wlroots016 SUBDIR += wmapp SUBDIR += wxgtk30 SUBDIR += wxgtk32 SUBDIR += xbae SUBDIR += xforms SUBDIR += xmhtml SUBDIR += xwallpaper SUBDIR += ztoolkit .include diff --git a/x11-toolkits/wlroots-devel/Makefile b/x11-toolkits/wlroots-devel/Makefile index f2e517350ff7..168891730dc9 100644 --- a/x11-toolkits/wlroots-devel/Makefile +++ b/x11-toolkits/wlroots-devel/Makefile @@ -1,87 +1,84 @@ PORTNAME= wlroots DISTVERSION= 0.17.0-312 DISTVERSIONSUFFIX= -gb1b34cd665 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= x11-toolkits PKGNAMESUFFIX= -devel -PATCH_SITES+= https://github.com/hyprwm/wlroots-hyprland/raw/5c1d51c5a279/patches/:hyprland -PATCHFILES+= surface-nondivisible-by-scale.patch:-p1:hyprland -PATCHFILES+= nvidia-hardware-cursors.patch:-p1:hyprland PATCH_SITES+= ${GL_SITE}/${GL_ACCOUNT}/${GL_PROJECT}/-/commit/ PATCHFILES+= cc6a7a04418f.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4697 PATCHFILES+= 4b4f76cc1357.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4614 MAINTAINER= jbeich@FreeBSD.org COMMENT= Modular Wayland compositor library (development snapshot) WWW= https://gitlab.freedesktop.org/wlroots/wlroots LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= wayland-protocols>=1.33:graphics/wayland-protocols LIB_DEPENDS= libdrm.so:graphics/libdrm \ libwayland-server.so:graphics/wayland \ 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 MESON_ARGS= -Dexamples=false -Dbackends=${BACKENDS:ts,} -Drenderers=${RENDERERS:ts,} PLIST_SUB= SUFFIX=-0.18 PORTSCOUT= ignore:1 OPTIONS_DEFINE= DRM OPENGL VULKAN X11 OPTIONS_DEFAULT=DRM OPENGL VULKAN X11 OPTIONS_SUB= yes DRM_DESC= KMS console support DRM_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \ hwdata>0:misc/hwdata DRM_LIB_DEPENDS= libudev.so:devel/libudev-devd \ libliftoff.so:graphics/libliftoff \ libdisplay-info.so:sysutils/libdisplay-info \ libseat.so:sysutils/seatd \ libinput.so:x11/libinput DRM_MESON_ENABLED= session 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:x11-servers/xwayland X11_RUN_DEPENDS= Xwayland:x11-servers/xwayland 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 # XXX Drop after FreeBSD 12.4 EOL around 2023-12-31 # https://cgit.freebsd.org/src/commit/?id=d7535fb3e3cb @if [ ${OPSYS} = FreeBSD -a ${OSVERSION} -lt 1300515 ]; then \ ${REINPLACE_CMD} -e '/POSIX/s/199309/200112/' \ ${WRKSRC}/render/gles2/pass.c \ ${WRKSRC}/render/gles2/renderer.c \ ${WRKSRC}/types/wlr_presentation_time.c; \ fi .include diff --git a/x11-toolkits/wlroots-devel/distinfo b/x11-toolkits/wlroots-devel/distinfo index 979f0acc3056..ca99004f22c8 100644 --- a/x11-toolkits/wlroots-devel/distinfo +++ b/x11-toolkits/wlroots-devel/distinfo @@ -1,11 +1,7 @@ TIMESTAMP = 1712827443 SHA256 (wlroots-0.17.0-312-gb1b34cd665.tar.bz2) = e9eb70ecddce0030b26b595d368cee15559febe1b8121de6bc6d5ec8bf95ccef SIZE (wlroots-0.17.0-312-gb1b34cd665.tar.bz2) = 458003 -SHA256 (surface-nondivisible-by-scale.patch) = e9b9f9a537090627ea4fac0b5a101d8ffedf2b399465889b225c694645b4c173 -SIZE (surface-nondivisible-by-scale.patch) = 1778 -SHA256 (nvidia-hardware-cursors.patch) = ed4720310d61068b24ebd4a30767556cb7590acfd5c66c95d7408a0c95539dbc -SIZE (nvidia-hardware-cursors.patch) = 12545 SHA256 (cc6a7a04418f.patch) = eb2bf98b372b668f773dbb1e3108bff16fefcc51be148775e6517ea4c9d35d83 SIZE (cc6a7a04418f.patch) = 1291 SHA256 (4b4f76cc1357.patch) = 163500bf90d39365a6ce8a9d24d48b2e65135d2f548c9532d933ed19b1097d53 SIZE (4b4f76cc1357.patch) = 2512 diff --git a/x11-toolkits/wlroots-devel/Makefile b/x11-toolkits/wlroots-hyprland/Makefile similarity index 92% copy from x11-toolkits/wlroots-devel/Makefile copy to x11-toolkits/wlroots-hyprland/Makefile index f2e517350ff7..73fd0a73720d 100644 --- a/x11-toolkits/wlroots-devel/Makefile +++ b/x11-toolkits/wlroots-hyprland/Makefile @@ -1,87 +1,87 @@ PORTNAME= wlroots DISTVERSION= 0.17.0-312 DISTVERSIONSUFFIX= -gb1b34cd665 -PORTREVISION= 3 CATEGORIES= x11-toolkits -PKGNAMESUFFIX= -devel +PKGNAMESUFFIX= -hyprland PATCH_SITES+= https://github.com/hyprwm/wlroots-hyprland/raw/5c1d51c5a279/patches/:hyprland PATCHFILES+= surface-nondivisible-by-scale.patch:-p1:hyprland PATCHFILES+= nvidia-hardware-cursors.patch:-p1:hyprland PATCH_SITES+= ${GL_SITE}/${GL_ACCOUNT}/${GL_PROJECT}/-/commit/ PATCHFILES+= cc6a7a04418f.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4697 PATCHFILES+= 4b4f76cc1357.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4614 MAINTAINER= jbeich@FreeBSD.org -COMMENT= Modular Wayland compositor library (development snapshot) -WWW= https://gitlab.freedesktop.org/wlroots/wlroots +COMMENT= Modular Wayland compositor library (Hyprland fork) +WWW= https://github.com/hyprwm/wlroots-hyprland LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= wayland-protocols>=1.33:graphics/wayland-protocols LIB_DEPENDS= libdrm.so:graphics/libdrm \ libwayland-server.so:graphics/wayland \ 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 MESON_ARGS= -Dexamples=false -Dbackends=${BACKENDS:ts,} -Drenderers=${RENDERERS:ts,} -PLIST_SUB= SUFFIX=-0.18 +PLIST_SUB= SUFFIX=${PKGNAMESUFFIX} PORTSCOUT= ignore:1 OPTIONS_DEFINE= DRM OPENGL VULKAN X11 OPTIONS_DEFAULT=DRM OPENGL VULKAN X11 +OPTIONS_EXCLUDE=VULKAN # not supported by Hyprland due to custom renderer OPTIONS_SUB= yes DRM_DESC= KMS console support DRM_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \ hwdata>0:misc/hwdata DRM_LIB_DEPENDS= libudev.so:devel/libudev-devd \ libliftoff.so:graphics/libliftoff \ libdisplay-info.so:sysutils/libdisplay-info \ libseat.so:sysutils/seatd \ libinput.so:x11/libinput DRM_MESON_ENABLED= session 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:x11-servers/xwayland X11_RUN_DEPENDS= Xwayland:x11-servers/xwayland 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 # XXX Drop after FreeBSD 12.4 EOL around 2023-12-31 # https://cgit.freebsd.org/src/commit/?id=d7535fb3e3cb @if [ ${OPSYS} = FreeBSD -a ${OSVERSION} -lt 1300515 ]; then \ ${REINPLACE_CMD} -e '/POSIX/s/199309/200112/' \ ${WRKSRC}/render/gles2/pass.c \ ${WRKSRC}/render/gles2/renderer.c \ ${WRKSRC}/types/wlr_presentation_time.c; \ fi .include diff --git a/x11-toolkits/wlroots-devel/distinfo b/x11-toolkits/wlroots-hyprland/distinfo similarity index 100% copy from x11-toolkits/wlroots-devel/distinfo copy to x11-toolkits/wlroots-hyprland/distinfo diff --git a/x11-toolkits/wlroots-hyprland/files/patch-suffix b/x11-toolkits/wlroots-hyprland/files/patch-suffix new file mode 100644 index 000000000000..0c97d0509768 --- /dev/null +++ b/x11-toolkits/wlroots-hyprland/files/patch-suffix @@ -0,0 +1,20 @@ +Rename to avoid conflict with regular wlroots package + +--- meson.build.orig 2024-04-11 09:24:03 UTC ++++ meson.build +@@ -1,5 +1,5 @@ project( + project( +- 'wlroots', ++ 'wlroots-hyprland', + 'c', + version: '0.18.0-dev', + license: 'MIT', +@@ -14,7 +14,7 @@ version_minor = version.split('.')[1] + version = meson.project_version().split('-')[0] + version_major = version.split('.')[0] + version_minor = version.split('.')[1] +-versioned_name = '@0@-@1@.@2@'.format(meson.project_name(), version_major, version_minor) ++versioned_name = '@0@'.format(meson.project_name()) + + little_endian = target_machine.endian() == 'little' + big_endian = target_machine.endian() == 'big' diff --git a/x11-toolkits/wlroots-hyprland/pkg-descr b/x11-toolkits/wlroots-hyprland/pkg-descr new file mode 100644 index 000000000000..6daf6a788b68 --- /dev/null +++ b/x11-toolkits/wlroots-hyprland/pkg-descr @@ -0,0 +1,28 @@ +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. diff --git a/x11-toolkits/wlroots-hyprland/pkg-plist b/x11-toolkits/wlroots-hyprland/pkg-plist new file mode 100644 index 000000000000..9ce4c4bbb657 --- /dev/null +++ b/x11-toolkits/wlroots-hyprland/pkg-plist @@ -0,0 +1,112 @@ +include/wlroots%%SUFFIX%%/wlr/backend.h +%%DRM%%include/wlroots%%SUFFIX%%/wlr/backend/drm.h +include/wlroots%%SUFFIX%%/wlr/backend/headless.h +include/wlroots%%SUFFIX%%/wlr/backend/interface.h +%%DRM%%include/wlroots%%SUFFIX%%/wlr/backend/libinput.h +include/wlroots%%SUFFIX%%/wlr/backend/multi.h +%%DRM%%include/wlroots%%SUFFIX%%/wlr/backend/session.h +include/wlroots%%SUFFIX%%/wlr/backend/wayland.h +%%X11%%include/wlroots%%SUFFIX%%/wlr/backend/x11.h +include/wlroots%%SUFFIX%%/wlr/config.h +include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_buffer.h +include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_keyboard.h +include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_output.h +include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_pointer.h +include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_switch.h +include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_tablet_pad.h +include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_tablet_tool.h +include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_touch.h +include/wlroots%%SUFFIX%%/wlr/render/allocator.h +include/wlroots%%SUFFIX%%/wlr/render/dmabuf.h +include/wlroots%%SUFFIX%%/wlr/render/drm_format_set.h +%%OPENGL%%include/wlroots%%SUFFIX%%/wlr/render/egl.h +%%OPENGL%%include/wlroots%%SUFFIX%%/wlr/render/gles2.h +include/wlroots%%SUFFIX%%/wlr/render/interface.h +include/wlroots%%SUFFIX%%/wlr/render/pass.h +include/wlroots%%SUFFIX%%/wlr/render/pixman.h +include/wlroots%%SUFFIX%%/wlr/render/swapchain.h +%%VULKAN%%include/wlroots%%SUFFIX%%/wlr/render/vulkan.h +include/wlroots%%SUFFIX%%/wlr/render/wlr_renderer.h +include/wlroots%%SUFFIX%%/wlr/render/wlr_texture.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_buffer.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_compositor.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_content_type_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_cursor.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_cursor_shape_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_damage_ring.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_data_control_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_data_device.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_drm.h +%%DRM%%include/wlroots%%SUFFIX%%/wlr/types/wlr_drm_lease_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_export_dmabuf_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_ext_foreign_toplevel_list_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_foreign_toplevel_management_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_fractional_scale_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_fullscreen_shell_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_gamma_control_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_idle_inhibit_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_idle_notify_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_input_device.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_input_method_v2.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_keyboard.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_keyboard_group.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_keyboard_shortcuts_inhibit_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_layer_shell_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_linux_dmabuf_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_matrix.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_output.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_output_layer.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_output_layout.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_output_management_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_output_power_management_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_output_swapchain_manager.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_pointer.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_pointer_constraints_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_pointer_gestures_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_presentation_time.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_primary_selection.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_primary_selection_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_region.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_relative_pointer_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_scene.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_screencopy_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_seat.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_security_context_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_server_decoration.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_session_lock_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_shm.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_single_pixel_buffer_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_subcompositor.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_switch.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_tablet_pad.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_tablet_tool.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_tablet_v2.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_tearing_control_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_text_input_v3.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_touch.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_transient_seat_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_viewporter.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_virtual_keyboard_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_virtual_pointer_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_xcursor_manager.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_activation_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_decoration_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_foreign_registry.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_foreign_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_foreign_v2.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_output_v1.h +include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_shell.h +include/wlroots%%SUFFIX%%/wlr/util/addon.h +include/wlroots%%SUFFIX%%/wlr/util/box.h +include/wlroots%%SUFFIX%%/wlr/util/edges.h +include/wlroots%%SUFFIX%%/wlr/util/log.h +include/wlroots%%SUFFIX%%/wlr/util/region.h +include/wlroots%%SUFFIX%%/wlr/util/transform.h +include/wlroots%%SUFFIX%%/wlr/version.h +include/wlroots%%SUFFIX%%/wlr/xcursor.h +%%X11%%include/wlroots%%SUFFIX%%/wlr/xwayland.h +%%X11%%include/wlroots%%SUFFIX%%/wlr/xwayland/server.h +%%X11%%include/wlroots%%SUFFIX%%/wlr/xwayland/shell.h +%%X11%%include/wlroots%%SUFFIX%%/wlr/xwayland/xwayland.h +lib/libwlroots%%SUFFIX%%.so +libdata/pkgconfig/wlroots%%SUFFIX%%.pc diff --git a/x11-wm/hyprland/Makefile b/x11-wm/hyprland/Makefile index 88790806ab9f..74f757af0d87 100644 --- a/x11-wm/hyprland/Makefile +++ b/x11-wm/hyprland/Makefile @@ -1,131 +1,131 @@ PORTNAME= hyprland DISTVERSIONPREFIX= v DISTVERSION= 0.40.0 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= x11-wm wayland PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES+= ec092bd601d9.patch:-p1 # hyprwayland-scanner 0.3.5 MAINTAINER= jbeich@FreeBSD.org COMMENT= Dynamic tiling Wayland compositor that doesn't sacrifice on its looks #' WWW= https://hyprland.org/ LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \ hyprwayland-scanner>=0.3.5:devel/hyprwayland-scanner \ wayland-protocols>=1.35:graphics/wayland-protocols LIB_DEPENDS= libhyprlang.so:devel/hyprlang \ libtomlplusplus.so:devel/tomlplusplus \ libdrm.so:graphics/libdrm \ libwayland-server.so:graphics/wayland \ libuuid.so:misc/e2fsprogs-libuuid \ - libwlroots-0.18.so:x11-toolkits/wlroots-devel \ + libwlroots-${PORTNAME}.so:x11-toolkits/wlroots-${PORTNAME} \ libhyprcursor.so:x11/hyprcursor \ libinput.so:x11/libinput \ libxkbcommon.so:x11/libxkbcommon USES= cmake:indirect compiler:c++11-lib gl gnome meson pkgconfig xorg USE_GITHUB= yes USE_GL= egl opengl USE_GNOME= cairo pango USE_XORG= pixman GH_ACCOUNT= hyprwm GH_PROJECT= Hyprland GH_TUPLE= hyprwm:hyprland-protocols:v0.2-4-g0c2ce70:hyprland_protocols/subprojects/hyprland-protocols \ canihavesomecoffee:udis86:1.7.2-186-g5336633:udis86/subprojects/udis86 MESON_ARGS= -Dsystemd=disabled # Generated by "make update-hash" for commit_pins in hyprpm.toml GH_HASH= cba1ade848feac44b2eda677503900639581c3f4 # XXX Drop after FreeBSD 14.0 EOL around 2024-10-01 .if exists(/usr/lib/libc++.so) && !exists(/usr/include/c++/v1/__format/write_escaped.h) CXXFLAGS+= -fexperimental-library .endif # XXX Drop after FreeBSD 13.4 EOL around 2026-01-31 # https://cgit.freebsd.org/src/commit/?id=af93fea71038 .if !exists(/usr/include/sys/timerfd.h) LIB_DEPENDS+= libepoll-shim.so:devel/libepoll-shim .endif OPTIONS_DEFINE= X11 OPTIONS_DEFAULT=X11 X11_USE= XORG=xcb X11_MESON_ENABLED= xwayland post-patch: # Extract (snapshot) version from the port instead of meson.build @${REINPLACE_CMD} -i .nogit \ -e "/version.*jq/s/run_command.*/'${DISTVERSIONFULL}',/" \ ${WRKSRC}/meson.build @${REINPLACE_CMD} -i .nogit \ -e '/^HASH/s/=.*/=${GH_HASH}/' \ -e '/^BRANCH/s/=.*/=main/' \ -e '/^MESSAGE/s/=.*/="?"/' \ -e "/^DATE/s/=.*/=\"$$(date -ur $$(${AWK} \ '/TIMESTAMP/ { print $$3 }' ${DISTINFO_FILE}))\"/" \ -e '/^DIRTY/s/=.*/=portbld/' \ -e '/^TAG/s/=.*/=${DISTVERSIONFULL}/' \ -e '/^COMMITS/s/=.*/="?"/' \ ${WRKSRC}/scripts/generateVersion.sh # Respect consolekit2 as XDG_RUNTIME_DIR fallback @${REINPLACE_CMD} 's,/run/user,/var&,' \ ${WRKSRC}/hyprctl/main.cpp \ ${WRKSRC}/src/Compositor.cpp # Respect PREFIX for wallpapers @${REINPLACE_CMD} 's,/usr/share,${DATADIR:H},' \ ${WRKSRC}/src/render/OpenGL.cpp .ifdef GH_TUPLE post-configure: @${REINPLACE_CMD} 's/meson install/& \ --skip-subprojects/' ${BUILD_WRKSRC}/build.ninja .endif post-install: # Plugin API installs all headers (no private vs. public) @(cd ${STAGEDIR}${PREFIX} && ${FIND} include/${PORTNAME} ! -type d) >>${TMPPLIST} update-hash: # https://docs.github.com/en/rest/commits/commits#get-a-commit # Pretend to be curl(1) for pretty-printed JSON to help parse with sed(1) @${REINPLACE_CMD} -i '' -e "/^GH_HASH=/s/=.*/= $$(\ ${SETENV} HTTP_USER_AGENT=curl ${FETCH_CMD} -qo- \ https://api.github.com/repos/${GH_ACCOUNT}/${GH_PROJECT}/commits/${GH_TAGNAME} | \ ${SED} -n '/sha/ { s/.*\"\([0-9a-f]\{40\}\).*/\1/p; q; }' \ )/" \ ${.CURDIR}/Makefile # XXX Drop after FreeBSD 13.2 EOL around 2024-07-01 (don't forget distinfo) .if ${CXX} == c++ && exists(/usr/lib/libc++.so) .if !exists(/usr/include/c++/v1/__ranges/as_rvalue_view.h) || make(makesum) || make(fetch) USES+= llvm:min=16,build,export PATH:= ${LLVM_PREFIX}/bin:${PATH} # XXX _CMAKE_TOOLCHAIN_SUFFIX vs. devel/llvm* CONFIGURE_ENV+= CC="${CC}" CXX="${CXX}" CPP="${CPP}" # XXX Move into separate port and standardize via USES GH_TUPLE+= llvm:llvm-project:llvmorg-16.0.1:libcxx CXXFLAGS+= -nostdinc++ -isystem${WRKDIR}/libcxx_prefix/include/c++/v1 # Don't link against new libc++ as it's not necessary CXXFLAGS+= -D_LIBCPP_HAS_NO_VERBOSE_ABORT_IN_LIBRARY #LDFLAGS+= -nostdlib++ -L${WRKDIR}/libcxx_prefix/lib -l:libc++.a -lcxxrt pre-configure: bundled-libcxx bundled-libcxx: @${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} \ -DLIBCXX_INCLUDE_BENCHMARKS:BOOL=OFF \ -DCMAKE_INSTALL_PREFIX:PATH=${WRKDIR}/libcxx_prefix \ -B ${WRKDIR}/libcxx_build -S ${WRKSRC_libcxx}/libcxx @${DO_MAKE_BUILD:NDESTDIR*} install -C ${WRKDIR}/libcxx_build .endif .endif # exists(/usr/lib/libc++.so) .include # XXX Work around !target(makesum) makesum: update-hash diff --git a/x11-wm/hyprland/files/patch-system-wlroots b/x11-wm/hyprland/files/patch-system-wlroots index 425ce06a48f5..9c0643e27f17 100644 --- a/x11-wm/hyprland/files/patch-system-wlroots +++ b/x11-wm/hyprland/files/patch-system-wlroots @@ -1,46 +1,46 @@ Allow system wlroots to reduce maintenance (wlroots has tons of options) --- meson.build.orig 2024-04-14 18:48:28 UTC +++ meson.build @@ -33,8 +33,8 @@ endif add_project_arguments('-DHAS_EXECINFO', language: 'cpp') endif -wlroots = subproject('wlroots-hyprland', default_options: ['examples=false', 'renderers=gles2']) -have_xwlr = wlroots.get_variable('features').get('xwayland') -+wlroots = dependency('wlroots-0.18', default_options: ['examples=false', 'renderers=gles2']) ++wlroots = dependency('wlroots-hyprland', default_options: ['examples=false', 'renderers=gles2']) +have_xwlr = wlroots.get_variable(pkgconfig: 'have_xwayland', internal: 'have_xwayland') == 'true' xcb_dep = dependency('xcb', required: get_option('xwayland')) cmake = import('cmake') @@ -89,5 +89,6 @@ import('pkgconfig').generate( url: 'https://github.com/hyprwm/Hyprland', description: 'Hyprland header files', install_dir: pkg_install_dir, - subdirs: ['', 'hyprland/protocols', 'hyprland/wlroots'], + subdirs: ['', 'hyprland/protocols'], + requires_private: wlroots, ) --- src/meson.build.orig 2024-04-14 18:48:28 UTC +++ src/meson.build @@ -9,7 +9,7 @@ executable('Hyprland', src, server_protos, dependency('wayland-server'), dependency('wayland-client'), - wlroots.get_variable('wlroots'), + wlroots, dependency('cairo'), dependency('hyprcursor'), dependency('hyprlang', version: '>= 0.3.2'), --- hyprpm/src/core/PluginManager.cpp.orig 2024-04-14 18:48:28 UTC +++ hyprpm/src/core/PluginManager.cpp @@ -316,9 +316,6 @@ eHeadersErrors CPluginManager::headersValid() { eHeadersErrors CPluginManager::headersValid() { const auto HLVER = getHyprlandVersion(); - if (!std::filesystem::exists(DataState::getHeadersPath() + "/share/pkgconfig/hyprland.pc")) - return HEADERS_MISSING; - // find headers commit std::string cmd = std::format("PKG_CONFIG_PATH=\"{}/share/pkgconfig\" pkgconf --cflags --keep-system-cflags hyprland", DataState::getHeadersPath()); auto headers = execAndGet(cmd.c_str());