diff --git a/x11/hyprland-share-picker/Makefile b/x11/hyprland-share-picker/Makefile index 8b64c6a732bf..b867b9b7dc18 100644 --- a/x11/hyprland-share-picker/Makefile +++ b/x11/hyprland-share-picker/Makefile @@ -1,36 +1,35 @@ PORTNAME= hyprland-share-picker DISTVERSIONPREFIX= v -DISTVERSION= 0.5.0 -PORTREVISION= 1 +DISTVERSION= 1.1.0 CATEGORIES= x11 wayland MAINTAINER= jbeich@FreeBSD.org COMMENT= Share picker for xdg-desktop-portal-hyprland WWW= https://github.com/hyprwm/xdg-desktop-portal-hyprland -LICENSE= MIT +LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC:H}/LICENSE RUN_DEPENDS= slurp:x11/slurp FLAVORS= qt5 qt6 USES= compiler:c++11-lib cmake qt:5 USE_GITHUB= yes USE_QT= qmake:build buildtools:build core gui wayland:run widgets GH_ACCOUNT= hyprwm GH_PROJECT= xdg-desktop-portal-hyprland WRKSRC_SUBDIR= ${PORTNAME} LDFLAGS+= -Wl,--as-needed # GL PLIST_FILES= bin/${PORTNAME} .if ${FLAVOR:U} == qt6 PKGNAMESUFFIX= -${FLAVOR} USES:= ${USES:S/qt:5/qt:6/} USE_QT= base wayland:run CONFLICTS_INSTALL= ${PORTNAME} .else CONFLICTS_INSTALL= ${PORTNAME}-qt6 .endif .include diff --git a/x11/hyprland-share-picker/distinfo b/x11/hyprland-share-picker/distinfo index e1271eef1301..093cc075d392 100644 --- a/x11/hyprland-share-picker/distinfo +++ b/x11/hyprland-share-picker/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1691082525 -SHA256 (hyprwm-xdg-desktop-portal-hyprland-v0.5.0_GH0.tar.gz) = d346cbe170e7042d5e364242a715d021d9b8da2078a169771cf84cda13f24e76 -SIZE (hyprwm-xdg-desktop-portal-hyprland-v0.5.0_GH0.tar.gz) = 50608 +TIMESTAMP = 1695057057 +SHA256 (hyprwm-xdg-desktop-portal-hyprland-v1.1.0_GH0.tar.gz) = 4a51163ec91f1d5ec7f8c44205d44e4cb429db05edf75cc273d3a8a8efffb7c3 +SIZE (hyprwm-xdg-desktop-portal-hyprland-v1.1.0_GH0.tar.gz) = 42732 diff --git a/x11/xdg-desktop-portal-hyprland/Makefile b/x11/xdg-desktop-portal-hyprland/Makefile index 6155720de1e5..f6a5a8d16903 100644 --- a/x11/xdg-desktop-portal-hyprland/Makefile +++ b/x11/xdg-desktop-portal-hyprland/Makefile @@ -1,46 +1,84 @@ PORTNAME= xdg-desktop-portal-hyprland DISTVERSIONPREFIX= v -DISTVERSION= 0.5.0 +DISTVERSION= 1.1.0 CATEGORIES= x11 wayland +PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ +PATCHFILES+= 54b5467ec12f.patch:-p1 # https://github.com/hyprwm/xdg-desktop-portal-hyprland/pull/98 + MAINTAINER= jbeich@FreeBSD.org COMMENT= xdg-desktop-portal backend for hyprland WWW= https://github.com/hyprwm/xdg-desktop-portal-hyprland -LICENSE= MIT +LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE -BUILD_DEPENDS= wayland-protocols>=1.24:graphics/wayland-protocols -LIB_DEPENDS= libbasu.so:devel/basu \ - libinih.so:devel/inih \ - libepoll-shim.so:devel/libepoll-shim \ +BROKEN_FreeBSD_12= libc++ too old + +BUILD_DEPENDS= wayland-protocols>=1.31:graphics/wayland-protocols +LIB_DEPENDS= libsdbus-c++.so:devel/sdbus-cpp \ libdrm.so:graphics/libdrm \ libwayland-client.so:graphics/wayland \ - libuuid.so:misc/e2fsprogs-libuuid \ libpipewire-0.3.so:multimedia/pipewire -RUN_DEPENDS= grim:x11/grim \ - hyprland-share-picker:x11/hyprland-share-picker@${FLAVOR} \ - slurp:x11/slurp +RUN_DEPENDS= hyprland-share-picker:x11/hyprland-share-picker@${FLAVOR} FLAVORS= qt5 qt6 qt5_CONFLICTS_INSTALL= ${PORTNAME}-qt6 qt6_CONFLICTS_INSTALL= ${PORTNAME} qt6_PKGNAMESUFFIX= -qt6 -USES= compiler:c11 gl meson pkgconfig +USES= compiler:gcc-c++11-lib gl meson pkgconfig USE_GITHUB= yes USE_GL= gbm GH_ACCOUNT= hyprwm GH_TUPLE= hyprwm:hyprland-protocols:v0.2:hyprland_protocols/subprojects/hyprland-protocols -MESON_ARGS= -Dsd-bus-provider=basu -Dsystemd=disabled +MESON_ARGS= -Dsystemd=disabled PLIST_FILES= libexec/${PORTNAME} \ share/dbus-1/services/org.freedesktop.impl.portal.desktop.hyprland.service \ share/xdg-desktop-portal/portals/hyprland.portal +# XXX Drop after FreeBSD 14.0 EOL around 2025-03-01 +.if exists(/usr/lib/libc++.so) && !exists(/usr/include/c++/v1/__format/write_escaped.h) +# Emulate -fexperimental-library for GCC +CXXFLAGS+= -D_LIBCPP_ENABLE_EXPERIMENTAL # std::vformat +LDFLAGS+= -lc++experimental +.endif + +post-patch: +# XXX Merge with hyprland-share-picker instead + @${REINPLACE_CMD} '/hyprland-share-picker/d' ${WRKSRC}/meson.build + .ifdef GH_TUPLE post-configure: @${REINPLACE_CMD} 's/meson install/& \ --skip-subprojects/' ${BUILD_WRKSRC}/build.ninja .endif +# XXX Drop after FreeBSD 13.2 EOL around 2024-05-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) +BUILD_DEPENDS+= ${CMAKE_BIN}:devel/cmake-core +CONFIGURE_ENV+= CC="${CC}" CXX="${CXX}" CPP="${CPP}" +CMAKE_BIN= ${LOCALBASE}/bin/cmake + +# 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 +#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 USES=compiler:gcc-c++11-lib +RUN_DEPENDS:= ${RUN_DEPENDS:Ngcc*} +LDFLAGS+= -static-libgcc diff --git a/x11/xdg-desktop-portal-hyprland/distinfo b/x11/xdg-desktop-portal-hyprland/distinfo index 17c570244bb3..08010d9d71ea 100644 --- a/x11/xdg-desktop-portal-hyprland/distinfo +++ b/x11/xdg-desktop-portal-hyprland/distinfo @@ -1,5 +1,9 @@ -TIMESTAMP = 1691082525 -SHA256 (hyprwm-xdg-desktop-portal-hyprland-v0.5.0_GH0.tar.gz) = d346cbe170e7042d5e364242a715d021d9b8da2078a169771cf84cda13f24e76 -SIZE (hyprwm-xdg-desktop-portal-hyprland-v0.5.0_GH0.tar.gz) = 50608 +TIMESTAMP = 1695057057 +SHA256 (hyprwm-xdg-desktop-portal-hyprland-v1.1.0_GH0.tar.gz) = 4a51163ec91f1d5ec7f8c44205d44e4cb429db05edf75cc273d3a8a8efffb7c3 +SIZE (hyprwm-xdg-desktop-portal-hyprland-v1.1.0_GH0.tar.gz) = 42732 SHA256 (hyprwm-hyprland-protocols-v0.2_GH0.tar.gz) = 106cb189d0fbe4ec0ee11a12a17238172f4c4cd1b2b26db904df144e5c7a05f0 SIZE (hyprwm-hyprland-protocols-v0.2_GH0.tar.gz) = 6342 +SHA256 (llvm-llvm-project-llvmorg-16.0.1_GH0.tar.gz) = b5a9ff1793b1e2d388a3819bf35797002b1d2e40bb35a10c65605e0ea1435271 +SIZE (llvm-llvm-project-llvmorg-16.0.1_GH0.tar.gz) = 179289803 +SHA256 (54b5467ec12f.patch) = 2cacc5de7b4b72410b9d338377ee51927fdc61918bf4657dd4c03eda7e56b34f +SIZE (54b5467ec12f.patch) = 2818 diff --git a/x11/xdg-desktop-portal-hyprland/pkg-descr b/x11/xdg-desktop-portal-hyprland/pkg-descr index 679d78190620..94c1572120d6 100644 --- a/x11/xdg-desktop-portal-hyprland/pkg-descr +++ b/x11/xdg-desktop-portal-hyprland/pkg-descr @@ -1,4 +1 @@ -Due to reasons explained in hyprland-protocols, we have a separate -desktop portal impl for Hyprland. - -Although -wlr *does* work with Hyprland, -hyprland offers more features. +An XDG Desktop Portal backend for Hyprland.