diff --git a/x11/Makefile b/x11/Makefile index c528bd4705b2..20a940c56a77 100644 --- a/x11/Makefile +++ b/x11/Makefile @@ -1,706 +1,707 @@ COMMENT = Ports to support the X window system SUBDIR += 3ddesktop SUBDIR += 9box SUBDIR += 9menu SUBDIR += aclip SUBDIR += admiral SUBDIR += alacarte SUBDIR += alacritty SUBDIR += albert SUBDIR += alttab SUBDIR += aminal SUBDIR += antimicrox SUBDIR += appmenu-registrar SUBDIR += appres SUBDIR += apwal SUBDIR += arandr SUBDIR += arcan-trayicon SUBDIR += ashell SUBDIR += aterm SUBDIR += autorandr SUBDIR += babl SUBDIR += bbappconf SUBDIR += bbdock SUBDIR += bbrun SUBDIR += beforelight SUBDIR += bemenu SUBDIR += bgrot SUBDIR += bgs SUBDIR += bitmap SUBDIR += bmpanel2 SUBDIR += boomer SUBDIR += brisk-menu SUBDIR += budgie SUBDIR += budgie-desktop SUBDIR += budgie-screensaver SUBDIR += budgie-session SUBDIR += cde SUBDIR += cde-devel SUBDIR += chayang SUBDIR += cinnamon SUBDIR += cinnamon-desktop SUBDIR += cinnamon-menus SUBDIR += cinnamon-screensaver SUBDIR += cinnamon-session SUBDIR += cl-clx SUBDIR += cl-clx-ccl SUBDIR += cl-clx-clisp SUBDIR += cl-clx-sbcl SUBDIR += clip SUBDIR += clipcat SUBDIR += cliphist SUBDIR += clipman SUBDIR += compton-conf SUBDIR += conlecterm SUBDIR += contour SUBDIR += controllermap SUBDIR += cool-retro-term SUBDIR += coreterminal SUBDIR += damask SUBDIR += darktile SUBDIR += deforaos-integration SUBDIR += deforaos-keyboard SUBDIR += deforaos-libdesktop SUBDIR += deforaos-locker SUBDIR += deskmenu SUBDIR += disman SUBDIR += dmenu SUBDIR += dmenu2 SUBDIR += docker-tray SUBDIR += dsbautostart SUBDIR += dsbxinput SUBDIR += dwlb SUBDIR += dwmblocks SUBDIR += dxpc SUBDIR += dzen2 SUBDIR += eaglemode SUBDIR += editres SUBDIR += elementary-terminal SUBDIR += emprint SUBDIR += erun SUBDIR += evilvte SUBDIR += evtest SUBDIR += eww SUBDIR += fbpanel SUBDIR += find-cursor SUBDIR += fireflies SUBDIR += florence SUBDIR += flruler SUBDIR += fnott SUBDIR += foot SUBDIR += fstobdf SUBDIR += fuzzel SUBDIR += gbsddialog SUBDIR += gdm SUBDIR += ghostty SUBDIR += glcapsviewer SUBDIR += gmrun SUBDIR += gnome SUBDIR += gnome-applets SUBDIR += gnome-clipboard-daemon SUBDIR += gnome-console SUBDIR += gnome-desktop SUBDIR += gnome-flashback SUBDIR += gnome-menus SUBDIR += gnome-panel SUBDIR += gnome-pie SUBDIR += gnome-session SUBDIR += gnome-shell SUBDIR += gnome-shell-extensions SUBDIR += gnome-terminal SUBDIR += gnustep-app SUBDIR += grabc SUBDIR += grim SUBDIR += grimshot SUBDIR += gromit SUBDIR += gromit-mpx SUBDIR += gskrab SUBDIR += gstreamer1-plugins-x SUBDIR += gstreamer1-plugins-ximagesrc SUBDIR += gtk-app-menu SUBDIR += gtk-theme-switch2 SUBDIR += gtkchtheme SUBDIR += gtklock SUBDIR += gtkterm2 SUBDIR += guake SUBDIR += gxkb SUBDIR += habak SUBDIR += hamclock SUBDIR += hhpc SUBDIR += hs-xmobar SUBDIR += hsetroot SUBDIR += hybrid-bar SUBDIR += hyprcursor SUBDIR += hypridle SUBDIR += hyprland-guiutils SUBDIR += hyprlauncher SUBDIR += hyprlock SUBDIR += hyprls SUBDIR += hyprpaper SUBDIR += hyprpicker SUBDIR += hyprviz SUBDIR += i3bar-river SUBDIR += i3blocks SUBDIR += i3lock-color SUBDIR += iceauth SUBDIR += ico SUBDIR += idesk SUBDIR += imwheel SUBDIR += innerspace SUBDIR += inputplug SUBDIR += j4-dmenu-desktop SUBDIR += jbxvt SUBDIR += jgmenu SUBDIR += kanshi SUBDIR += kb2mb2 SUBDIR += kde SUBDIR += kde-baseapps SUBDIR += kde-gear SUBDIR += kdisplay SUBDIR += keybinder SUBDIR += keybinder-gtk3 SUBDIR += keyboardcast SUBDIR += keynav SUBDIR += kf5-frameworkintegration SUBDIR += kf5-frameworks SUBDIR += kf5-kactivities SUBDIR += kf5-kactivities-stats SUBDIR += kf5-kded SUBDIR += kf5-kdelibs4support SUBDIR += kf5-kglobalaccel SUBDIR += kf5-kinit SUBDIR += kf5-krunner SUBDIR += kf5-kwayland SUBDIR += kf5-kwindowsystem SUBDIR += kf5-plasma-framework SUBDIR += kf6-frameworkintegration SUBDIR += kf6-frameworks SUBDIR += kf6-kded SUBDIR += kf6-kglobalaccel SUBDIR += kf6-krunner SUBDIR += kf6-kwindowsystem SUBDIR += kickoff SUBDIR += kitty SUBDIR += konsole SUBDIR += lavalauncher SUBDIR += lemonbar SUBDIR += lemonbar-xft SUBDIR += libICE SUBDIR += libSM SUBDIR += libX11 SUBDIR += libXScrnSaver SUBDIR += libXau SUBDIR += libXcm SUBDIR += libXcomposite SUBDIR += libXcursor SUBDIR += libXdamage SUBDIR += libXdmcp SUBDIR += libXext SUBDIR += libXfixes SUBDIR += libXi SUBDIR += libXinerama SUBDIR += libXpm SUBDIR += libXpresent SUBDIR += libXrandr SUBDIR += libXrender SUBDIR += libXres SUBDIR += libXtst SUBDIR += libXv SUBDIR += libXvMC SUBDIR += libXxf86dga SUBDIR += libXxf86vm SUBDIR += libclipboard SUBDIR += libei SUBDIR += libexo SUBDIR += libfakekey SUBDIR += libfm SUBDIR += libfm-extra SUBDIR += libfm-qt SUBDIR += libfm-qt6 SUBDIR += libgnomekbd SUBDIR += libinput SUBDIR += libmatekbd SUBDIR += libsx SUBDIR += libsynaptics SUBDIR += libwacom SUBDIR += libxcb SUBDIR += libxcvt SUBDIR += libxdg-basedir SUBDIR += libxfce4menu SUBDIR += libxfce4util SUBDIR += libxfce4windowing SUBDIR += libxkbcommon SUBDIR += libxkbfile SUBDIR += libxklavier SUBDIR += libxshmfence SUBDIR += lightdm SUBDIR += lightdm-gtk-greeter SUBDIR += lightdm-gtk-greeter-settings SUBDIR += lightdm-kde-greeter SUBDIR += lilyterm SUBDIR += linux-c7-libxkbcommon SUBDIR += linux-c7-pixman SUBDIR += linux-c7-xcb-util SUBDIR += linux-c7-xcb-util-image SUBDIR += linux-c7-xcb-util-keysyms SUBDIR += linux-c7-xorg-libs SUBDIR += linux-nvidia-libs SUBDIR += linux-nvidia-libs-304 SUBDIR += linux-nvidia-libs-340 SUBDIR += linux-nvidia-libs-390 SUBDIR += linux-nvidia-libs-470 SUBDIR += linux-nvidia-libs-devel SUBDIR += linux-rl9-libxkbcommon SUBDIR += linux-rl9-pixman SUBDIR += linux-rl9-qt5-qtx11extras SUBDIR += linux-rl9-xcb-util SUBDIR += linux-rl9-xorg-libs SUBDIR += listres SUBDIR += lsw SUBDIR += luit SUBDIR += lumina SUBDIR += lumina-core SUBDIR += lumina-coreutils SUBDIR += lupe SUBDIR += lxde-meta SUBDIR += lxhotkey SUBDIR += lxmenu-data SUBDIR += lxpanel SUBDIR += lxqt-about SUBDIR += lxqt-globalkeys SUBDIR += lxqt-menu-data SUBDIR += lxqt-runner SUBDIR += lxrandr SUBDIR += ly SUBDIR += mako SUBDIR += mate SUBDIR += mate-applet-appmenu SUBDIR += mate-applets SUBDIR += mate-base SUBDIR += mate-desktop SUBDIR += mate-dock-applet SUBDIR += mate-menus SUBDIR += mate-panel SUBDIR += mate-screensaver SUBDIR += mate-session-manager SUBDIR += mate-terminal SUBDIR += menu-cache SUBDIR += menulibre SUBDIR += metalock SUBDIR += mkcomposecache SUBDIR += mlterm SUBDIR += mons SUBDIR += mrxvt SUBDIR += mxascii SUBDIR += mxico SUBDIR += nezd SUBDIR += nfy SUBDIR += numlockx SUBDIR += nvidia-driver SUBDIR += nvidia-driver-304 SUBDIR += nvidia-driver-340 SUBDIR += nvidia-driver-390 SUBDIR += nvidia-driver-470 SUBDIR += nvidia-driver-devel SUBDIR += nvidia-kmod SUBDIR += nvidia-kmod-304 SUBDIR += nvidia-kmod-340 SUBDIR += nvidia-kmod-390 SUBDIR += nvidia-kmod-470 SUBDIR += nvidia-kmod-devel SUBDIR += nvidia-settings SUBDIR += nvidia-xconfig SUBDIR += nwg-bar SUBDIR += nwg-dock SUBDIR += nwg-dock-hyprland SUBDIR += nwg-drawer SUBDIR += nwg-launchers SUBDIR += nwg-look SUBDIR += nwg-menu SUBDIR += nxcomp SUBDIR += openrgb SUBDIR += oscar SUBDIR += p5-Clipboard SUBDIR += p5-X11-GUITest SUBDIR += p5-X11-IdleTime SUBDIR += p5-X11-Protocol SUBDIR += p5-X11-Protocol-Other SUBDIR += p5-X11-Resolution SUBDIR += p5-X11-XCB SUBDIR += p5-X11-Xlib SUBDIR += p5-XTerm-Conf SUBDIR += pcdm SUBDIR += perwindowlayoutd SUBDIR += pipeglade SUBDIR += pixman SUBDIR += plank SUBDIR += plasma-wayland-protocols SUBDIR += plasma6-kactivitymanagerd SUBDIR += plasma6-kgamma SUBDIR += plasma6-kglobalacceld SUBDIR += plasma6-kscreen SUBDIR += plasma6-kwayland SUBDIR += plasma6-layer-shell-qt SUBDIR += plasma6-libkscreen SUBDIR += plasma6-libplasma SUBDIR += plasma6-plasma SUBDIR += plasma6-plasma-activities SUBDIR += plasma6-plasma-activities-stats SUBDIR += plasma6-plasma-desktop SUBDIR += plasma6-plasma-integration SUBDIR += plasma6-plasma-workspace SUBDIR += pmenu SUBDIR += polybar SUBDIR += printscreen SUBDIR += ptyxis SUBDIR += py-autotiling SUBDIR += py-caffeine-ng SUBDIR += py-i3-quickterm SUBDIR += py-i3ipc SUBDIR += py-mouseinfo SUBDIR += py-nwg-displays SUBDIR += py-pyautogui SUBDIR += py-pynput SUBDIR += py-pyscreenshot SUBDIR += py-pyscreeze SUBDIR += py-python-xapp SUBDIR += py-pyvirtualdisplay SUBDIR += py-screeninfo SUBDIR += py-waypaper SUBDIR += py-xcffib SUBDIR += py-xdot SUBDIR += qimageblitz SUBDIR += qt5-qev SUBDIR += qt5-x11extras SUBDIR += qterminal + SUBDIR += quickshell SUBDIR += remontoire SUBDIR += rendercheck SUBDIR += rgb SUBDIR += rio SUBDIR += rlaunch SUBDIR += rofi SUBDIR += rofi-calc SUBDIR += rofi-emoji SUBDIR += rofi-file-browser-extended SUBDIR += rofi-pass SUBDIR += rofi-wayland SUBDIR += roxterm SUBDIR += rsibreak SUBDIR += rubygem-gnome SUBDIR += runner SUBDIR += rxvt-unicode SUBDIR += sakura SUBDIR += sandbar SUBDIR += sbxkb SUBDIR += screen-message SUBDIR += screengrab SUBDIR += screenkey SUBDIR += scripts SUBDIR += sddm SUBDIR += sdwmbar SUBDIR += sessreg SUBDIR += setlayout SUBDIR += setxkbmap SUBDIR += sfwbar SUBDIR += shaderbg SUBDIR += shikane SUBDIR += shotman SUBDIR += showkeys SUBDIR += showmethekey SUBDIR += simplestroke SUBDIR += sirula SUBDIR += slick-greeter SUBDIR += slim SUBDIR += slock SUBDIR += slop SUBDIR += slurp SUBDIR += smproxy SUBDIR += somebar SUBDIR += sprop SUBDIR += squeekboard SUBDIR += srandrd SUBDIR += sselp SUBDIR += stalonetray SUBDIR += startup-notification SUBDIR += sterm SUBDIR += stjerm SUBDIR += swarp SUBDIR += sway-audio-idle-inhibit SUBDIR += swaybg SUBDIR += swayfloatingswitcher SUBDIR += swayidle SUBDIR += swayimg SUBDIR += swaylock SUBDIR += swaylock-effects SUBDIR += swaylock-plugin SUBDIR += swaync SUBDIR += swayr SUBDIR += swayrbar SUBDIR += swaysettings SUBDIR += swww SUBDIR += sxhkd SUBDIR += sxmo-wayout SUBDIR += sxpc SUBDIR += tabbed SUBDIR += taiga SUBDIR += tecla SUBDIR += temperature.app SUBDIR += terminal.app SUBDIR += terminator SUBDIR += terminology SUBDIR += tessen SUBDIR += thingylaunch SUBDIR += tilda SUBDIR += tilix SUBDIR += tint SUBDIR += tofi SUBDIR += trayer SUBDIR += ulauncher SUBDIR += urxvt-font-size SUBDIR += urxvt-perls SUBDIR += vdesk SUBDIR += viewres SUBDIR += virglrenderer SUBDIR += virtboard SUBDIR += virtualgl SUBDIR += walker SUBDIR += wallutils SUBDIR += wapanel SUBDIR += watershot SUBDIR += way-displays SUBDIR += waybar SUBDIR += waycheck SUBDIR += waycorner SUBDIR += wayidle SUBDIR += wayland-logout SUBDIR += waylock SUBDIR += wayout SUBDIR += wayst SUBDIR += wbar SUBDIR += wcm SUBDIR += wdisplays SUBDIR += wdm SUBDIR += wev SUBDIR += wezterm SUBDIR += wf-shell SUBDIR += windowtolayer SUBDIR += wl-clipboard SUBDIR += wl-kbptr SUBDIR += wl-mirror SUBDIR += wleave SUBDIR += wlogout SUBDIR += wlopm SUBDIR += wlr-randr SUBDIR += wlr-which-key SUBDIR += wlrctl SUBDIR += wmappl SUBDIR += wmblob SUBDIR += wmbutton SUBDIR += wmcliphist SUBDIR += wmctrl-fork SUBDIR += wmdrawer SUBDIR += wmenu SUBDIR += wmfocus SUBDIR += wmsystemtray SUBDIR += wmutils-core SUBDIR += wmutils-opt SUBDIR += wob SUBDIR += wofi SUBDIR += workrave SUBDIR += wscreensaver SUBDIR += wshowkeys SUBDIR += wtype SUBDIR += wvkbd SUBDIR += x-on-resize SUBDIR += x11perf SUBDIR += x3270 SUBDIR += xantfarm SUBDIR += xapp SUBDIR += xascii SUBDIR += xauth SUBDIR += xautolock SUBDIR += xautomation SUBDIR += xbacklight SUBDIR += xballoon SUBDIR += xbanish SUBDIR += xbiff SUBDIR += xbindkeys SUBDIR += xbitmaps SUBDIR += xbrightness SUBDIR += xcalc SUBDIR += xcalib SUBDIR += xcape SUBDIR += xcb SUBDIR += xcb-imdkit SUBDIR += xcb-proto SUBDIR += xcb-util SUBDIR += xcb-util-cursor SUBDIR += xcb-util-errors SUBDIR += xcb-util-image SUBDIR += xcb-util-keysyms SUBDIR += xcb-util-renderutil SUBDIR += xcb-util-wm SUBDIR += xcb-util-xrm SUBDIR += xclicker SUBDIR += xclickroot SUBDIR += xclip SUBDIR += xclipboard SUBDIR += xcm SUBDIR += xcmd SUBDIR += xcmsdb SUBDIR += xcoloredit SUBDIR += xcolors SUBDIR += xconsole SUBDIR += xcur2png SUBDIR += xcursorgen SUBDIR += xcut SUBDIR += xdg-desktop-portal-gnome SUBDIR += xdg-desktop-portal-gtk SUBDIR += xdg-desktop-portal-hyprland SUBDIR += xdg-desktop-portal-luminous SUBDIR += xdg-desktop-portal-wlr SUBDIR += xdg-user-dirs-gtk SUBDIR += xdialog SUBDIR += xditview SUBDIR += xdm SUBDIR += xdo SUBDIR += xdotool SUBDIR += xdpyinfo SUBDIR += xdriinfo SUBDIR += xedit SUBDIR += xev SUBDIR += xeyes SUBDIR += xf86dga SUBDIR += xfce4-appmenu-plugin SUBDIR += xfce4-clipman-plugin SUBDIR += xfce4-conf SUBDIR += xfce4-dashboard SUBDIR += xfce4-docklike-plugin SUBDIR += xfce4-goodies SUBDIR += xfce4-screensaver SUBDIR += xfce4-screenshooter-plugin SUBDIR += xfce4-taskmanager SUBDIR += xfce4-terminal SUBDIR += xfce4-verve-plugin SUBDIR += xfce4-whiskermenu-plugin SUBDIR += xfce4-windowck-plugin SUBDIR += xfd SUBDIR += xfishtank SUBDIR += xforward SUBDIR += xgamma SUBDIR += xgc SUBDIR += xhost SUBDIR += xidle SUBDIR += xinit SUBDIR += xinput SUBDIR += xkb-switch SUBDIR += xkbcomp SUBDIR += xkbctrl SUBDIR += xkbevd SUBDIR += xkbind SUBDIR += xkblayout-state SUBDIR += xkbprint SUBDIR += xkbset SUBDIR += xkbutils SUBDIR += xkeyboard-config SUBDIR += xkeycaps SUBDIR += xkeywrap SUBDIR += xkill SUBDIR += xlibre SUBDIR += xlibre-minimal SUBDIR += xload SUBDIR += xloadimage SUBDIR += xlockmore SUBDIR += xlogo SUBDIR += xlsatoms SUBDIR += xlsclients SUBDIR += xlupe SUBDIR += xmag SUBDIR += xman SUBDIR += xmangekyou SUBDIR += xmascot SUBDIR += xmenu SUBDIR += xmessage SUBDIR += xmh SUBDIR += xmodmap SUBDIR += xmoji SUBDIR += xmore SUBDIR += xmotd SUBDIR += xmsg SUBDIR += xmx SUBDIR += xnee SUBDIR += xnotify SUBDIR += xob SUBDIR += xorg SUBDIR += xorg-apps SUBDIR += xorg-cf-files SUBDIR += xorg-docs SUBDIR += xorg-libraries SUBDIR += xorg-minimal SUBDIR += xorgproto SUBDIR += xpr SUBDIR += xpra SUBDIR += xpra-html5 SUBDIR += xprintidle SUBDIR += xprompt SUBDIR += xprop SUBDIR += xrandr SUBDIR += xrdb SUBDIR += xrefresh SUBDIR += xrestop SUBDIR += xrootconsole SUBDIR += xrsh SUBDIR += xrsi SUBDIR += xscope SUBDIR += xscreensaver SUBDIR += xscreensaver.app SUBDIR += xsel-conrad SUBDIR += xset SUBDIR += xseticon SUBDIR += xsetroot SUBDIR += xsettingsd SUBDIR += xskyroot SUBDIR += xsm SUBDIR += xsnow SUBDIR += xss-lock SUBDIR += xssstate SUBDIR += xstarroll SUBDIR += xstdcmap SUBDIR += xstroke SUBDIR += xtacy SUBDIR += xterm SUBDIR += xtermcontrol SUBDIR += xtermset SUBDIR += xtestpicture SUBDIR += xtitle SUBDIR += xtoolwait SUBDIR += xtrans SUBDIR += xtrlock SUBDIR += xtset SUBDIR += xvattr SUBDIR += xvidtune SUBDIR += xvinfo SUBDIR += xvkbd SUBDIR += xvmcinfo SUBDIR += xvt SUBDIR += xwatchwin SUBDIR += xwayland-run SUBDIR += xwayland-satellite SUBDIR += xwd SUBDIR += xwininfo SUBDIR += xwinwrap SUBDIR += xwit SUBDIR += xwud SUBDIR += xxkb SUBDIR += xzoom SUBDIR += yad SUBDIR += yakuake SUBDIR += yalias SUBDIR += yeahconsole SUBDIR += yelp SUBDIR += zenity SUBDIR += zenity4 SUBDIR += zutty .include diff --git a/x11/quickshell/Makefile b/x11/quickshell/Makefile new file mode 100644 index 000000000000..5134f79baeb1 --- /dev/null +++ b/x11/quickshell/Makefile @@ -0,0 +1,71 @@ +PORTNAME= quickshell +DISTVERSIONPREFIX= v +DISTVERSION= 0.2.1 +CATEGORIES= x11 +MASTER_SITES= https://git.outfoxxed.me/${PORTNAME}/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/ + +MAINTAINER= tagattie@FreeBSD.org +COMMENT= Building blocks for your desktop +WWW= https://quickshell.org/ + +LICENSE= LGPL3 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${LOCALBASE}/share/cmake/CLI11/CLI11Config.cmake:devel/cli11 \ + ${LOCALBASE}/lib/cmake/SPIRV-Tools/SPIRV-ToolsConfig.cmake:graphics/spirv-tools +LIB_DEPENDS= libxkbcommon.so:x11/libxkbcommon + +USES= cmake:testing display:test gl localbase:ldflags pkgconfig qt:6 + +USE_GL= opengl +USE_QT= 5compat base declarative imageformats multimedia svg \ + shadertools:build + +CMAKE_ARGS= -DDISTRIBUTOR:STRING="FreeBSD ports/packages" \ + -DINSTALL_QML_PREFIX:STRING=${QT_QMLDIR_REL} \ + -DGIT_REVISION:STRING=${GIT_COMMIT_HASH} +CMAKE_OFF= DISTRIBUTOR_DEBUGINFO_AVAILABLE \ + CRASH_REPORTER \ + USE_JEMALLOC +CMAKE_BUILD_TYPE= RelWithDebInfo + +STRIP= # empty + +WRKSRC= ${WRKDIR}/${PORTNAME} + +PORTDOCS= CONTRIBUTING.md README.md + +OPTIONS_DEFINE= DOCS PIPEWIRE WAYLAND X11 +OPTIONS_DEFAULT=PIPEWIRE WAYLAND X11 +OPTIONS_SUB= yes + +PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire +PIPEWIRE_CMAKE_BOOL= SERVICE_PIPEWIRE +WAYLAND_BUILD_DEPENDS= wayland-scanner:graphics/wayland \ + wayland-protocols>0:graphics/wayland-protocols +WAYLAND_LIB_DEPENDS= libdrm.so:graphics/libdrm \ + libwayland-client.so:graphics/wayland +WAYLAND_USE= gl=egl,gbm,gl \ + qt=wayland +WAYLAND_CMAKE_BOOL= WAYLAND +X11_LIB_DEPENDS= libdrm.so:graphics/libdrm +X11_USES= xorg +X11_USE= gl=egl,gbm,gl \ + xorg=xcb +X11_CMAKE_BOOL= X11 + +GIT_COMMIT_HASH=a1a150fab00a93ea983aaca5df55304bc837f51b + +.if ${OPSYS} == FreeBSD && ${ARCH} == i386 +EXTRA_PATCHES= ${PATCHDIR}/extra-patch-src_wayland_buffer_dmabuf.cpp +.endif + +post-install: + @${RM} ${STAGEDIR}${PREFIX}/bin/qs + @${RLN} ${STAGEDIR}${PREFIX}/bin/quickshell ${STAGEDIR}${PREFIX}/bin/qs + +post-install-DOCS-on: + @${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} + +.include diff --git a/x11/quickshell/distinfo b/x11/quickshell/distinfo new file mode 100644 index 000000000000..7ac167fa9027 --- /dev/null +++ b/x11/quickshell/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1768222570 +SHA256 (quickshell-v0.2.1.tar.gz) = d815c5f99f4a0a28545ffaa90464420c773b7c0ab62f713d9d8735a8e7282ca7 +SIZE (quickshell-v0.2.1.tar.gz) = 403070 diff --git a/x11/quickshell/files/extra-patch-src_wayland_buffer_dmabuf.cpp b/x11/quickshell/files/extra-patch-src_wayland_buffer_dmabuf.cpp new file mode 100644 index 000000000000..e2234d50c41d --- /dev/null +++ b/x11/quickshell/files/extra-patch-src_wayland_buffer_dmabuf.cpp @@ -0,0 +1,26 @@ +--- src/wayland/buffer/dmabuf.cpp.orig 2026-01-13 05:59:50 UTC ++++ src/wayland/buffer/dmabuf.cpp +@@ -599,9 +599,9 @@ WlBufferQSGTexture* WlDmaBuffer::createQsgTexture(QQui + + // clang-format off + auto attribs = std::vector { +- EGL_WIDTH, this->width, +- EGL_HEIGHT, this->height, +- EGL_LINUX_DRM_FOURCC_EXT, this->format, ++ EGL_WIDTH, static_cast(this->width), ++ EGL_HEIGHT, static_cast(this->height), ++ EGL_LINUX_DRM_FOURCC_EXT, static_cast(this->format), + }; + // clang-format on + +@@ -617,8 +617,8 @@ WlBufferQSGTexture* WlDmaBuffer::createQsgTexture(QQui + // clang-format off + attribs.insert(attribs.end(), { + names.fd, plane.fd, +- names.offset, plane.offset, +- names.pitch, plane.stride, ++ names.offset, static_cast(plane.offset), ++ names.pitch, static_cast(plane.stride), + }); + // clang-format on + diff --git a/x11/quickshell/files/patch-src_core_logging.cpp b/x11/quickshell/files/patch-src_core_logging.cpp new file mode 100644 index 000000000000..eda74904e917 --- /dev/null +++ b/x11/quickshell/files/patch-src_core_logging.cpp @@ -0,0 +1,77 @@ +--- src/core/logging.cpp.orig 2025-10-12 00:14:14 UTC ++++ src/core/logging.cpp +@@ -27,7 +27,16 @@ + #include + #include + #include ++#if defined(__linux__) + #include ++#else ++#include ++#include ++#if defined(__NetBSD__) || defined(__DragonFly__) ++#include ++#include ++#endif ++#endif + + #include "instanceinfo.hpp" + #include "logcat.hpp" +@@ -389,7 +398,7 @@ void ThreadLogging::initFs() { + delete detailedFile; + detailedFile = nullptr; + } else { +- auto lock = flock { ++ struct flock lock { + .l_type = F_WRLCK, + .l_whence = SEEK_SET, + .l_start = 0, +@@ -411,7 +420,19 @@ void ThreadLogging::initFs() { + auto* oldFile = this->file; + if (oldFile) { + oldFile->seek(0); ++#if defined(__linux__) + sendfile(file->handle(), oldFile->handle(), nullptr, oldFile->size()); ++#elif defined(__FreeBSD__) ++ copy_file_range(oldFile->handle(), nullptr, file->handle(), nullptr, oldFile->size(), 0); ++#elif defined(__NetBSD__) || defined(__DragonFly__) ++ sendfile(oldFile->handle(), file->handle(), 0, oldFile->size(), nullptr, nullptr, 0); ++#elif defined(__OpenBSD__) ++ constexpr size_t BUF_SIZE = 1 << 20; ++ char buf[BUF_SIZE]; ++ ssize_t r = read(oldFile->handle(), buf, oldFile->size() > BUF_SIZE ? BUF_SIZE : (size_t)oldFile->size()); ++ if (r > 0) ++ write(file->handle(), buf, r); ++#endif + } + + this->file = file; +@@ -423,7 +444,19 @@ void ThreadLogging::initFs() { + auto* oldFile = this->detailedFile; + if (oldFile) { + oldFile->seek(0); ++#if defined(__linux__) + sendfile(detailedFile->handle(), oldFile->handle(), nullptr, oldFile->size()); ++#elif defined(__FreeBSD__) ++ copy_file_range(oldFile->handle(), nullptr, detailedFile->handle(), nullptr, oldFile->size(), 0); ++#elif defined(__NetBSD__) || defined(__DragonFly__) ++ sendfile(oldFile->handle(), detailedFile->handle(), 0, oldFile->size(), nullptr, nullptr, 0); ++#elif defined(__OpenBSD__) ++ constexpr size_t BUF_SIZE = 1 << 20; ++ char buf[BUF_SIZE]; ++ ssize_t r = read(oldFile->handle(), buf, oldFile->size() > BUF_SIZE ? BUF_SIZE : (size_t)oldFile->size()); ++ if (r > 0) ++ write(detailedFile->handle(), buf, r); ++#endif + } + + crash::CrashInfo::INSTANCE.logFd = detailedFile->handle(); +@@ -886,7 +919,7 @@ void LogFollower::FcntlWaitThread::run() { + } + + void LogFollower::FcntlWaitThread::run() { +- auto lock = flock { ++ struct flock lock { + .l_type = F_RDLCK, // won't block other read locks when we take it + .l_whence = SEEK_SET, + .l_start = 0, diff --git a/x11/quickshell/files/patch-src_core_paths.cpp b/x11/quickshell/files/patch-src_core_paths.cpp new file mode 100644 index 000000000000..302d5948a8ff --- /dev/null +++ b/x11/quickshell/files/patch-src_core_paths.cpp @@ -0,0 +1,20 @@ +--- src/core/paths.cpp.orig 2025-10-12 00:14:14 UTC ++++ src/core/paths.cpp +@@ -346,7 +346,7 @@ void QsPaths::createLock() { + return; + } + +- auto lock = flock { ++ struct flock lock { + .l_type = F_WRLCK, + .l_whence = SEEK_SET, + .l_start = 0, +@@ -373,7 +373,7 @@ bool QsPaths::checkLock(const QString& path, InstanceL + auto file = QFile(QDir(path).filePath("instance.lock")); + if (!file.open(QFile::ReadOnly)) return false; + +- auto lock = flock { ++ struct flock lock { + .l_type = F_WRLCK, + .l_whence = SEEK_SET, + .l_start = 0, diff --git a/x11/quickshell/files/patch-src_core_toolsupport.cpp b/x11/quickshell/files/patch-src_core_toolsupport.cpp new file mode 100644 index 000000000000..15271acf6dd8 --- /dev/null +++ b/x11/quickshell/files/patch-src_core_toolsupport.cpp @@ -0,0 +1,11 @@ +--- src/core/toolsupport.cpp.orig 2025-10-12 00:14:14 UTC ++++ src/core/toolsupport.cpp +@@ -54,7 +54,7 @@ bool QmlToolingSupport::lockTooling() { + return false; + } + +- auto lock = flock { ++ struct flock lock { + .l_type = F_WRLCK, + .l_whence = SEEK_SET, // NOLINT (fcntl.h??) + .l_start = 0, diff --git a/x11/quickshell/files/patch-src_services_pam_conversation.cpp b/x11/quickshell/files/patch-src_services_pam_conversation.cpp new file mode 100644 index 000000000000..8269b0742fa1 --- /dev/null +++ b/x11/quickshell/files/patch-src_services_pam_conversation.cpp @@ -0,0 +1,10 @@ +--- src/services/pam/conversation.cpp.orig 2026-01-12 13:51:40 UTC ++++ src/services/pam/conversation.cpp +@@ -7,6 +7,7 @@ + #include + #include + #include ++#include + + #include "../../core/logcat.hpp" + #include "ipc.hpp" diff --git a/x11/quickshell/files/patch-src_services_pam_qml.hpp b/x11/quickshell/files/patch-src_services_pam_qml.hpp new file mode 100644 index 000000000000..7e91f062bda4 --- /dev/null +++ b/x11/quickshell/files/patch-src_services_pam_qml.hpp @@ -0,0 +1,12 @@ +--- src/services/pam/qml.hpp.orig 2025-10-12 00:14:14 UTC ++++ src/services/pam/qml.hpp +@@ -6,7 +6,9 @@ + #include + #include + #include ++#if defined(__linux__) + #include ++#endif + #include + + #include "conversation.hpp" diff --git a/x11/quickshell/files/patch-src_services_pam_subprocess.cpp b/x11/quickshell/files/patch-src_services_pam_subprocess.cpp new file mode 100644 index 000000000000..89f0e2ee7830 --- /dev/null +++ b/x11/quickshell/files/patch-src_services_pam_subprocess.cpp @@ -0,0 +1,24 @@ +--- src/services/pam/subprocess.cpp.orig 2025-10-12 00:14:14 UTC ++++ src/services/pam/subprocess.cpp +@@ -7,7 +7,9 @@ + #include + #include + #include ++#if defined(__linux__) + #include ++#endif + #include + #include + +@@ -83,7 +85,11 @@ PamIpcExitCode PamSubprocess::exec(const char* configD + logIf(this->log) << "Starting pam session for user \"" << user << "\" with config \"" << config + << "\" in dir \"" << configDir << "\"" << std::endl; + ++#if defined(__linux__) + auto result = pam_start_confdir(config, user, &conv, configDir, &handle); ++#else ++ auto result = pam_start(config, user, &conv, &handle); ++#endif + + if (result != PAM_SUCCESS) { + logIf(true) << "Unable to start pam conversation with error \"" << pam_strerror(handle, result) diff --git a/x11/quickshell/pkg-descr b/x11/quickshell/pkg-descr new file mode 100644 index 000000000000..51feff797655 --- /dev/null +++ b/x11/quickshell/pkg-descr @@ -0,0 +1,4 @@ +Quickshell is a toolkit for building status bars, widgets, +lockscreens, and other desktop components using QtQuick. It can be +used alongside your wayland compositor or window manager to build a +complete desktop environment. diff --git a/x11/quickshell/pkg-plist b/x11/quickshell/pkg-plist new file mode 100644 index 000000000000..1b531398a880 --- /dev/null +++ b/x11/quickshell/pkg-plist @@ -0,0 +1,62 @@ +bin/qs +bin/quickshell +%%QT_QMLDIR%%/Quickshell/Bluetooth/qmldir +%%QT_QMLDIR%%/Quickshell/Bluetooth/quickshell-bluetooth.qmltypes +%%QT_QMLDIR%%/Quickshell/DBusMenu/qmldir +%%QT_QMLDIR%%/Quickshell/DBusMenu/quickshell-dbusmenu.qmltypes +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/_FocusGrab/qmldir +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/_FocusGrab/quickshell-hyprland-focus-grab.qmltypes +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/_GlobalShortcuts/qmldir +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/_GlobalShortcuts/quickshell-hyprland-global-shortcuts.qmltypes +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/_Ipc/qmldir +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/_Ipc/quickshell-hyprland-ipc.qmltypes +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/_SurfaceExtensions/qmldir +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/_SurfaceExtensions/quickshell-hyprland-surface-extensions.qmltypes +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/qmldir +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/quickshell-hyprland.qmltypes +%%X11%%%%QT_QMLDIR%%/Quickshell/I3/_Ipc/qmldir +%%X11%%%%QT_QMLDIR%%/Quickshell/I3/_Ipc/quickshell-i3-ipc.qmltypes +%%X11%%%%QT_QMLDIR%%/Quickshell/I3/qmldir +%%X11%%%%QT_QMLDIR%%/Quickshell/I3/quickshell-i3.qmltypes +%%QT_QMLDIR%%/Quickshell/Io/FileView.qml +%%QT_QMLDIR%%/Quickshell/Io/qmldir +%%QT_QMLDIR%%/Quickshell/Io/quickshell-io.qmltypes +%%QT_QMLDIR%%/Quickshell/Services/Greetd/qmldir +%%QT_QMLDIR%%/Quickshell/Services/Greetd/quickshell-service-greetd.qmltypes +%%QT_QMLDIR%%/Quickshell/Services/Mpris/qmldir +%%QT_QMLDIR%%/Quickshell/Services/Mpris/quickshell-service-mpris.qmltypes +%%QT_QMLDIR%%/Quickshell/Services/Notifications/qmldir +%%QT_QMLDIR%%/Quickshell/Services/Notifications/quickshell-service-notifications.qmltypes +%%QT_QMLDIR%%/Quickshell/Services/Pam/qmldir +%%QT_QMLDIR%%/Quickshell/Services/Pam/quickshell-service-pam.qmltypes +%%PIPEWIRE%%%%QT_QMLDIR%%/Quickshell/Services/Pipewire/qmldir +%%PIPEWIRE%%%%QT_QMLDIR%%/Quickshell/Services/Pipewire/quickshell-service-pipewire.qmltypes +%%QT_QMLDIR%%/Quickshell/Services/SystemTray/qmldir +%%QT_QMLDIR%%/Quickshell/Services/SystemTray/quickshell-service-statusnotifier.qmltypes +%%QT_QMLDIR%%/Quickshell/Services/UPower/qmldir +%%QT_QMLDIR%%/Quickshell/Services/UPower/quickshell-service-upower.qmltypes +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_Screencopy/qmldir +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_Screencopy/quickshell-wayland-screencopy.qmltypes +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_ToplevelManagement/qmldir +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_ToplevelManagement/quickshell-wayland-toplevel-management.qmltypes +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_WlrLayerShell/qmldir +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_WlrLayerShell/quickshell-wayland-layershell.qmltypes +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/qmldir +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/quickshell-wayland.qmltypes +%%QT_QMLDIR%%/Quickshell/Widgets/ClippingRectangle.qml +%%QT_QMLDIR%%/Quickshell/Widgets/ClippingWrapperRectangle.qml +%%QT_QMLDIR%%/Quickshell/Widgets/ClippingWrapperRectangleInternal.qml +%%QT_QMLDIR%%/Quickshell/Widgets/IconImage.qml +%%QT_QMLDIR%%/Quickshell/Widgets/WrapperItem.qml +%%QT_QMLDIR%%/Quickshell/Widgets/WrapperMouseArea.qml +%%QT_QMLDIR%%/Quickshell/Widgets/WrapperRectangle.qml +%%QT_QMLDIR%%/Quickshell/Widgets/qmldir +%%QT_QMLDIR%%/Quickshell/Widgets/quickshell-widgets.qmltypes +%%X11%%%%QT_QMLDIR%%/Quickshell/X11/qmldir +%%X11%%%%QT_QMLDIR%%/Quickshell/X11/quickshell-x11.qmltypes +%%QT_QMLDIR%%/Quickshell/_Window/qmldir +%%QT_QMLDIR%%/Quickshell/_Window/quickshell-window.qmltypes +%%QT_QMLDIR%%/Quickshell/qmldir +%%QT_QMLDIR%%/Quickshell/quickshell-core.qmltypes +share/applications/org.quickshell.desktop +share/icons/hicolor/scalable/apps/org.quickshell.svg