diff --git a/devel/hyprlang/Makefile b/devel/hyprlang/Makefile index 6f833cc31131..ca37c6bed944 100644 --- a/devel/hyprlang/Makefile +++ b/devel/hyprlang/Makefile @@ -1,51 +1,51 @@ PORTNAME= hyprlang DISTVERSIONPREFIX= v DISTVERSION= 0.5.0 CATEGORIES= devel MAINTAINER= jbeich@FreeBSD.org COMMENT= Library to parse hypr config files WWW= https://hyprland.org/hyprlang LICENSE= LGPL3 LICENSE_FILE= ${WRKSRC}/LICENSE USES= cmake:testing compiler:c++11-lib USE_GITHUB= yes USE_LDCONFIG= yes GH_ACCOUNT= hyprwm PLIST_FILES= include/${PORTNAME}.hpp \ lib/lib${PORTNAME}.so \ lib/lib${PORTNAME}.so.2 \ lib/lib${PORTNAME}.so.${PORTVERSION} \ libdata/pkgconfig/${PORTNAME}.pc # 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) CXXFLAGS+= -fexperimental-library .endif -# XXX Drop after FreeBSD 13.2 EOL around 2024-05-01 (don't forget distinfo) +# 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/expected) || 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 #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 diff --git a/emulators/rpcs3/Makefile b/emulators/rpcs3/Makefile index 94cf23f1928d..5245bb4c6f81 100644 --- a/emulators/rpcs3/Makefile +++ b/emulators/rpcs3/Makefile @@ -1,106 +1,106 @@ PORTNAME= rpcs3 DISTVERSIONPREFIX= v DISTVERSION= 0.0.31-16181 # git rev-list --count HEAD DISTVERSIONSUFFIX= -gadc8a360ad CATEGORIES= emulators wayland MAINTAINER= jbeich@FreeBSD.org COMMENT= PS3 emulator/debugger WWW= https://rpcs3.net/ LICENSE= APACHE20 ISCL GPLv2 MIT ZLIB LICENSE_COMB= multi LICENSE_FILE_ISCL= ${WRKSRC_cubeb}/LICENSE LICENSE_FILE_ZLIB= ${WRKSRC_asmjit}/LICENSE.md BUILD_DEPENDS= flatc:devel/flatbuffers LIB_DEPENDS= libxxhash.so:devel/xxhash \ libcurl.so:ftp/curl \ libpng.so:graphics/png \ libavcodec.so:multimedia/ffmpeg \ libpugixml.so:textproc/pugixml ONLY_FOR_ARCHS= aarch64 amd64 ONLY_FOR_ARCHS_REASON= requires int128 and SSE2 USE_GITHUB= yes GH_ACCOUNT= RPCS3 GH_TUPLE= RPCS3:hidapi:hidapi-0.14.0-2-g8b43a97:hidapi/3rdparty/hidapi/hidapi \ RPCS3:soundtouch:2.3.1-30-gced3ce8:soundtouch/3rdparty/SoundTouch/soundtouch \ asmjit:asmjit:416f735:asmjit/3rdparty/asmjit/asmjit \ jbeder:yaml-cpp:0.8.0-11-g456c68f:yamlcpp/3rdparty/yaml-cpp/yaml-cpp \ KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-323-ge867c06:spirv_headers/3rdparty/SPIRV/SPIRV-Headers \ KhronosGroup:SPIRV-Tools:v2023.5.rc1:spirv_tools/3rdparty/SPIRV/SPIRV-Tools \ KhronosGroup:glslang:13.1.1:glslang/3rdparty/glslang/glslang \ kinetiknz:cubeb:cubeb-0.2-1425-g88585b6:cubeb/3rdparty/cubeb/cubeb \ miniupnp:miniupnp:miniupnpd_2_3_5:miniupnp/3rdparty/miniupnp/miniupnp \ wolfSSL:wolfssl:v5.6.6-stable:wolfssl/3rdparty/wolfssl/wolfssl USES= cmake elfctl gl iconv:wchar_t llvm:min=16,lib localbase:ldflags \ openal:soft pkgconfig python:build qt:6 xorg USE_GL= gl glew USE_QT= base multimedia svg USE_XORG= x11 CMAKE_ON= CMAKE_SKIP_RPATH ${CURL FFMPEG FLATBUFFERS LIBPNG PUGIXML XXHASH:L:S/^/USE_SYSTEM_/} CMAKE_ON+= BUNDLE_SPEEX # only used by cubeb tests CMAKE_OFF= USE_NATIVE_INSTRUCTIONS USE_PRECOMPILED_HEADERS LDFLAGS+= -Wl,--as-needed # GLU ELF_FEATURES= +wxneeded:bin/${PORTNAME} OPTIONS_DEFINE= ALSA EVDEV FAUDIO PULSEAUDIO JACK SDL SNDIO VULKAN OPTIONS_DEFAULT=EVDEV FAUDIO PULSEAUDIO JACK SDL SNDIO VULKAN ALSA_BUILD_DEPENDS= alsa-lib>0:audio/alsa-lib ALSA_CMAKE_BOOL= USE_ALSA EVDEV_DESC= libevdev-based joystick support EVDEV_CMAKE_BOOL= USE_LIBEVDEV EVDEV_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto EVDEV_LIB_DEPENDS= libevdev.so:devel/libevdev \ libudev.so:devel/libudev-devd FAUDIO_DESC= FAudio audio support FAUDIO_LIB_DEPENDS= libFAudio.so:audio/faudio FAUDIO_CMAKE_BOOL= USE_FAUDIO USE_SYSTEM_FAUDIO JACK_BUILD_DEPENDS= jackit>0:audio/jack JACK_CMAKE_BOOL= USE_JACK PULSEAUDIO_BUILD_DEPENDS=pulseaudio>0:audio/pulseaudio PULSEAUDIO_CMAKE_BOOL= USE_PULSE SDL_USES= sdl SDL_USE= SDL=sdl2 SDL_CMAKE_BOOL= USE_SDL USE_SYSTEM_SDL SNDIO_BUILD_DEPENDS= sndio>0:audio/sndio SNDIO_CMAKE_BOOL= USE_SNDIO VULKAN_DESC= Vulkan renderer VULKAN_BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader VULKAN_CMAKE_BOOL= USE_VULKAN # XXX Unbundle audio/rtmidi GH_TUPLE+= thestk:rtmidi:6.0.0:rtmidi/3rdparty/rtmidi/rtmidi ALSA_LIB_DEPENDS+= libasound.so:audio/alsa-lib ALSA_CMAKE_BOOL+= RTMIDI_API_ALSA JACK_LIB_DEPENDS+= libjack.so:audio/jack JACK_CMAKE_BOOL+= RTMIDI_API_JACK post-patch: @${REINPLACE_CMD} -e '/GIT_BRANCH/s/local_build/master/' \ -e '/GIT_FULL_BRANCH/s/local_build/${GH_ACCOUNT}\/${GH_PROJECT}\/master/' \ -e '/GIT_VERSION/s/local_build/${GH_TAGNAME:C/[^-]*-//}/' \ ${WRKSRC}/${PORTNAME}/git-version.cmake -# XXX Drop after FreeBSD 13.2 EOL around 2024-05-01 +# XXX Drop after FreeBSD 13.2 EOL around 2024-07-01 .if !exists(/usr/include/c++/v1/__ranges/as_rvalue_view.h) PATH:= ${LLVM_PREFIX}/bin:${PATH} # XXX _CMAKE_TOOLCHAIN_SUFFIX vs. devel/llvm* CC= clang${LLVM_VERSION} CXX= clang++${LLVM_VERSION} CPP= clang-cpp${LLVM_VERSION} CONFIGURE_ENV+= CC="${CC}" CXX="${CXX}" CPP="${CPP}" .endif .include diff --git a/emulators/yuzu/Makefile b/emulators/yuzu/Makefile index f35a2a172837..ac2818a8e3b5 100644 --- a/emulators/yuzu/Makefile +++ b/emulators/yuzu/Makefile @@ -1,184 +1,184 @@ PORTNAME= yuzu PORTVERSION= s20240301 PORTREVISION= 2 CATEGORIES= emulators wayland .if make(makesum) MASTER_SITES= https://api.yuzu-emu.org/gamedb/?dummy=/:gamedb .else MASTER_SITES= LOCAL/jbeich:gamedb .endif DISTFILES= ${PORTNAME}-s20230424/compatibility_list.json:gamedb EXTRACT_ONLY= ${DISTFILES:N*\:gamedb:C/\:.*//} MAINTAINER= jbeich@FreeBSD.org COMMENT= Nintendo Switch emulator/debugger WWW= https://yuzu-emu.org/ LICENSE= APACHE20 BSD3CLAUSE GPLv3+ ISCL MIT UNLICENSE LICENSE_COMB= multi LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/externals/sirit/LICENSE.txt LICENSE_FILE_GPLv3+ = ${WRKSRC}/LICENSE.txt LICENSE_FILE_ISCL= ${WRKSRC}/externals/cubeb/LICENSE LICENSE_FILE_MIT= ${WRKSRC}/externals/sirit/externals/SPIRV-Headers/LICENSE ONLY_FOR_ARCHS= aarch64 amd64 ONLY_FOR_ARCHS_REASON= requires int128 and dynarmic backend # XXX Need Ryujinx or a Yuzu fork that regularly improves game compatibility DEPRECATED= Project discontinued BUILD_DEPENDS= boost-libs>0:devel/boost-libs \ nlohmann-json>0:devel/nlohmann-json \ simpleini>0:devel/simpleini \ xbyak>0:devel/xbyak \ glslangValidator:graphics/glslang \ vulkan-headers>0:graphics/vulkan-headers \ vulkan-utility-libraries>0:graphics/vulkan-utility-libraries LIB_DEPENDS= liblz4.so:archivers/liblz4 \ libzstd.so:archivers/zstd \ libopus.so:audio/opus \ libfmt.so:devel/libfmt \ libavcodec.so:multimedia/ffmpeg \ libenet.so:net/enet TEST_DEPENDS= catch2>0:devel/catch2 FLAVORS= qt6 qt5 qt5_PKGNAMESUFFIX= -qt5 qt5_CONFLICTS_INSTALL= ${PORTNAME} qt5_OPTIONS_SLAVE= QT5 qt5_OPTIONS_EXCLUDE= QT6 qt6_CONFLICTS_INSTALL= ${PORTNAME}-qt5 USE_GITHUB= yes GH_ACCOUNT= yuzu-mirror GH_TAGNAME= 15e6e48bef GH_TUPLE= yuzu-mirror:mbedtls:v2.16.9-115-g8c88150ca:mbedtls/externals/mbedtls \ yuzu-mirror:sirit:ab75463:sirit/externals/sirit \ GPUOpen-LibrariesAndSDKs:VulkanMemoryAllocator:v3.0.1-114-g2f382df:VulkanMemoryAllocator/externals/VulkanMemoryAllocator \ KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-201-gc214f6f:SPIRV_Headers/externals/sirit/externals/SPIRV-Headers \ yuzu-mirror:dynarmic:6.6.2-15-gba8192d8:dynarmic/externals/dynarmic \ merryhime:oaknut:2.0.1:oaknut/externals/oaknut \ arun11299:cpp-jwt:v1.4-18-g10ef573:cpp_jwt/externals/cpp-jwt \ arsenm:sanitizers-cmake:aab6948:sanitizers_cmake/externals/cubeb/cmake/sanitizers-cmake \ eggert:tz:2022g-11-g16ce126a:tz/externals/nx_tzdb/tzdb_to_nx/externals/tz/tz \ kinetiknz:cubeb:cubeb-0.2-1452-g48689ae:cubeb/externals/cubeb \ lat9nq:tzdb_to_nx:221202-15-g9792969:tzdb_to_nx/externals/nx_tzdb/tzdb_to_nx \ yhirose:cpp-httplib:v0.14.1:cpp_httplib/externals/cpp-httplib USES= cmake:testing elfctl localbase:ldflags pkgconfig sdl ssl USE_SDL= sdl2 CMAKE_ON= Boost_USE_STATIC_LIBS CMAKE_ON+= BUNDLE_SPEEX # only used by cubeb tests CMAKE_ON+= CMAKE_DISABLE_FIND_PACKAGE_LLVM # only need Demangle but llvm* is huge CMAKE_OFF= YUZU_CHECK_SUBMODULES YUZU_USE_EXTERNAL_SDL2 CMAKE_OFF+= YUZU_USE_EXTERNAL_VULKAN_HEADERS YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES CMAKE_OFF+= HTTPLIB_USE_BROTLI_IF_AVAILABLE # unused by ENABLE_WEB_SERVICE CMAKE_OFF+= ${ARCH:Maarch64:C/.+/YUZU_USE_PRECOMPILED_HEADERS DYNARMIC_USE_PRECOMPILED_HEADERS/} CMAKE_OFF+= ${CMAKE_TESTING_ON} CMAKE_TESTING_ON= YUZU_TESTS LDFLAGS+= -Wl,--as-needed # Qt5Network ELF_FEATURES= ${PLIST_FILES:Mbin/*:S/^/+wxneeded:/} PLIST_FILES= bin/${PORTNAME}-cmd \ bin/${PORTNAME}-room OPTIONS_DEFINE= ALSA GUI PULSEAUDIO JACK LTO NLS SNDIO VAAPI VULKAN WEBENGINE OPTIONS_DEFAULT=PULSEAUDIO JACK LTO QT6 SNDIO VAAPI VULKAN WEBENGINE OPTIONS_SINGLE= GUI OPTIONS_SINGLE_GUI= QT5 QT6 OPTIONS_SLAVE= ${${FLAVOR}_OPTIONS_SLAVE} OPTIONS_EXCLUDE= ${${FLAVOR}_OPTIONS_EXCLUDE} ALSA_BUILD_DEPENDS= alsa-lib>0:audio/alsa-lib ALSA_CMAKE_BOOL= USE_ALSA GUI_USES= desktop-file-utils shared-mime-info GUI_CMAKE_BOOL= ENABLE_QT GUI_PLIST_FILES= bin/${PORTNAME} \ share/applications/org.yuzu_emu.yuzu.desktop \ share/icons/hicolor/scalable/apps/org.yuzu_emu.yuzu.svg \ share/metainfo/org.yuzu_emu.yuzu.metainfo.xml \ share/mime/packages/org.yuzu_emu.yuzu.xml JACK_BUILD_DEPENDS= jackit>0:audio/jack JACK_CMAKE_BOOL= USE_JACK LTO_CMAKE_BOOL= YUZU_ENABLE_LTO NLS_DESC= UI translations (implies ${NLS_IMPLIES}) NLS_USE= QT=${"${PORT_OPTIONS:MQT5}":?linguist:}tools:build NLS_CMAKE_BOOL= ENABLE_QT_TRANSLATION NLS_IMPLIES= GUI PULSEAUDIO_BUILD_DEPENDS=pulseaudio>0:audio/pulseaudio PULSEAUDIO_CMAKE_BOOL= USE_PULSE QT5_USES= qt:5 QT5_USE= QT=qmake:build,buildtools:build,concurrent:build,core,dbus,gui,multimedia,widgets QT5_IMPLIES= GUI QT6_USES= qt:6 QT6_USE= QT=base QT6_CMAKE_BOOL= ENABLE_QT6 QT6_IMPLIES= GUI SNDIO_BUILD_DEPENDS= sndio>0:audio/sndio SNDIO_CMAKE_BOOL= USE_SNDIO VAAPI_LIB_DEPENDS= libva.so:multimedia/libva VULKAN_DESC= Vulkan renderer VULKAN_RUN_DEPENDS= ${LOCALBASE}/lib/libvulkan.so:graphics/vulkan-loader WEBENGINE_DESC= Web applet support (implies ${WEBENGINE_IMPLIES}) WEBENGINE_USE= QT=webengine WEBENGINE_CMAKE_BOOL= YUZU_USE_QT_WEB_ENGINE WEBENGINE_IMPLIES= GUI post-extract: @${CP} ${DISTFILES:M*\:gamedb:C/\:.*//:S,^,${_DISTDIR},} \ ${WRKSRC}/dist/compatibility_list/ post-patch: @${REINPLACE_CMD} -e 's/@GIT_BRANCH@/master/' \ -e 's/@GIT_DESC@/${GH_TAGNAME}/' \ ${WRKSRC}/src/common/scm_rev.cpp.in # https://github.com/ConsoleKit2/ConsoleKit2/issues/150 @${REINPLACE_CMD} -e 's,/login1,/ConsoleKit/Manager,' \ -e 's,login1,ConsoleKit,' \ ${WRKSRC}/src/${PORTNAME}/main.cpp .ifdef DEPRECATED @${GREP} -Flr 'yuzu-emu' ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} \ -e 's,${WWW:S,/$,,},https://web.archive.org/web/20240304190805/&,g' \ -e 's,https://api.yuzu-emu.org,,g' \ -e 's,https://profile.yuzu-emu.org/,,g' \ -e 's,\(https://github.com\)/\(yuzu-emu\),\1/${GH_ACCOUNT},g' .endif post-patch-VAAPI-off: @${REINPLACE_CMD} -i .nova '/pkg_check.*libva/d' \ ${WRKSRC}/CMakeLists.txt -# XXX Drop after FreeBSD 13.2 EOL around 2024-05-01 (don't forget distinfo) +# XXX Drop after FreeBSD 13.2 EOL around 2024-07-01 (don't forget distinfo) .if !exists(/usr/include/c++/v1/__ranges/as_rvalue_view.h) || make(makesum) || make(fetch) . if !exists(/usr/include/c++/v1/__memory/concepts.h) USES+= llvm:min=14,build,export PATH:= ${LLVM_PREFIX}/bin:${PATH} # XXX _CMAKE_TOOLCHAIN_SUFFIX vs. devel/llvm* CONFIGURE_ENV+= CC="${CC}" CXX="${CXX}" CPP="${CPP}" . endif # 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++ to avoid ABI mismatch in Qt #LDFLAGS+= -nostdlib++ -L${WRKDIR}/libcxx_prefix/lib -l:libc++.a -lcxxrt pre-configure: bundled-libcxx bundled-libcxx: @${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS:M*Ninja*} \ -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 .include diff --git a/x11-wm/gamescope/Makefile b/x11-wm/gamescope/Makefile index 1bf307aeb7e5..03ae6444bce6 100644 --- a/x11-wm/gamescope/Makefile +++ b/x11-wm/gamescope/Makefile @@ -1,104 +1,104 @@ PORTNAME= gamescope DISTVERSION= 3.13.8 PORTREVISION= 2 CATEGORIES= x11-wm wayland PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES+= a618ea074660.patch:-p1 # https://github.com/ValveSoftware/gamescope/issues/120 PATCHFILES+= 4a067fb4ebe2.patch:-p1 # https://github.com/ValveSoftware/gamescope/pull/678 PATCHFILES+= 243582c0c762.patch:-p1 # https://github.com/ValveSoftware/gamescope/pull/1057 MAINTAINER= jbeich@FreeBSD.org COMMENT= SteamOS session compositing window manager WWW= https://github.com/ValveSoftware/gamescope LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= cmake:devel/cmake-core \ evdev-proto>0:devel/evdev-proto \ glslangValidator:graphics/glslang \ vulkan-headers>0:graphics/vulkan-headers \ wayland-protocols>=1.17:graphics/wayland-protocols \ glm>0:math/glm \ hwdata>0:misc/hwdata LIB_DEPENDS= libdrm.so:graphics/libdrm \ libliftoff.so:graphics/libliftoff \ libvulkan.so:graphics/vulkan-loader \ libwayland-server.so:graphics/wayland \ libdisplay-info.so:sysutils/libdisplay-info \ libwlroots.so:x11-toolkits/wlroots \ libxkbcommon.so:x11/libxkbcommon RUN_DEPENDS= hwdata>0:misc/hwdata USES= compiler:c++11-lib meson pkgconfig sdl xorg USE_GITHUB= yes USE_SDL= sdl2 USE_XORG= x11 xcb xcomposite xdamage xext xfixes xmu xrender xres xtst xxf86vm GH_ACCOUNT= ValveSoftware GH_TUPLE= nothings:stb:5736b15:stb/subprojects/stb \ KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-316-gd790ced:spirv_headers/thirdparty/SPIRV-Headers \ Joshua-Ashton:reshade:v4.4.2-2572-g9fdbea68:reshade/src/reshade \ Joshua-Ashton:vkroots:d5ef31a:vkroots/subprojects/vkroots MESON_ARGS= --force-fallback-for= # allow system wlroots + libliftoff MESON_ARGS+= -Dbenchmark=disabled # gamescope_color_microbench isn't installed MESON_ARGS+= -Denable_openvr_support=false # https://github.com/ValveSoftware/openvr/pull/564 MESON_ARCH_FAMILY= ${ARCH:S/amd/x86_/:S/i3/x/:C/v[67]//:S/power/p/:S/le$//} PLIST_FILES= bin/${PORTNAME} \ lib/libVkLayer_FROG_${PORTNAME}_wsi_${MESON_ARCH_FAMILY}.so \ share/vulkan/implicit_layer.d/VkLayer_FROG_${PORTNAME}_wsi.${MESON_ARCH_FAMILY}.json CXXFLAGS+= -DGLM_ENABLE_EXPERIMENTAL # GLM_GTX_string_cast is an experimental extension # https://github.com/freebsd/drm-kmod/issues/271 PORTSCOUT= ignore:1 OPTIONS_DEFINE= PIPEWIRE OPTIONS_DEFAULT=PIPEWIRE PIPEWIRE_DESC= Screen capture via PipeWire PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire PIPEWIRE_MESON_ENABLED= pipewire post-extract: # Merge patch_directory for subprojects without meson.build @(cd ${WRKSRC}/subprojects/packagefiles && ${COPYTREE_SHARE} . ..) .if defined(PATCHFILES) && ${PATCHFILES:M4a067fb4ebe2*} # Pretend to be a regular file for vendor patch to apply as is @${RMDIR} ${WRKSRC}/subprojects/wlroots @${ECHO_CMD} "Subproject commit 1712a7d27444d62f8da8eeedf0840b386a810e96" \ >${WRKSRC}/subprojects/wlroots .endif .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) +# 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) BUILD_DEPENDS+= ${CMAKE_BIN}:devel/cmake-core 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}" 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 diff --git a/x11-wm/hyprland/Makefile b/x11-wm/hyprland/Makefile index 7567310ad78e..1b48291d3a27 100644 --- a/x11-wm/hyprland/Makefile +++ b/x11-wm/hyprland/Makefile @@ -1,128 +1,128 @@ PORTNAME= hyprland DISTVERSIONPREFIX= v DISTVERSION= 0.36.0 PORTREVISION= 2 CATEGORIES= x11-wm wayland PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES+= 6adf320ba160.patch:-p1 # https://github.com/hyprwm/Hyprland/pull/4805 PATCHFILES+= bcec082a1c20.patch:-p1 # https://github.com/hyprwm/Hyprland/pull/4886 PATCHFILES+= f801d15947e1.patch:-p1 # https://github.com/hyprwm/Hyprland/issues/4895 PATCHFILES+= 3afad57acd3d.patch:-p1 # wlroots 0.18 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= cmake:devel/cmake-core \ evdev-proto>0:devel/evdev-proto \ wayland-protocols>=1.25:graphics/wayland-protocols LIB_DEPENDS= libhyprlang.so:devel/hyprlang \ libtomlplusplus.so:devel/tomlplusplus \ libdrm.so:graphics/libdrm \ libwayland-server.so:graphics/wayland \ libwlroots.so:x11-toolkits/wlroots \ libinput.so:x11/libinput \ libxkbcommon.so:x11/libxkbcommon USES= 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= 1c460e98f870676b15871fe4e5bfeb1a32a3d6d8 # 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) CXXFLAGS+= -fexperimental-library .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}/' \ ${WRKSRC}/scripts/generateVersion.sh # 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-05-01 (don't forget distinfo) +# 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}" 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 "${.CURDIR:H:H}/x11-toolkits/wlroots-devel/override.mk" post-patch: wlroots-devel-patch wlroots-devel-patch: # Prefer headers (used by ) from wlroots-devel @${REINPLACE_CMD} -i .devel "/subdirs/s|''|'../wlroots-devel/include', &|" \ ${WRKSRC}/meson.build .include # XXX Work around !target(makesum) makesum: update-hash diff --git a/x11/hyprlock/Makefile b/x11/hyprlock/Makefile index 350634f44558..835aabab5684 100644 --- a/x11/hyprlock/Makefile +++ b/x11/hyprlock/Makefile @@ -1,67 +1,67 @@ PORTNAME= hyprlock DISTVERSIONPREFIX= v DISTVERSION= 0.1.0 PORTREVISION= 1 CATEGORIES= x11 wayland PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES+= fa2a875e339a.patch:-p1 # https://github.com/hyprwm/hyprlock/pull/115 MAINTAINER= jbeich@FreeBSD.org COMMENT= Hyprland's GPU-accelerated screen locking utility #' WWW= https://github.com/hyprwm/hyprlock LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= wayland-protocols>0:graphics/wayland-protocols LIB_DEPENDS= libhyprlang.so:devel/hyprlang \ libdrm.so:graphics/libdrm \ libwayland-client.so:graphics/wayland \ libxkbcommon.so:x11/libxkbcommon RUN_DEPENDS= unix-selfauth-helper>0:security/unix-selfauth-helper USES= compiler:c++11-lib cmake gl gnome pkgconfig USE_GITHUB= yes USE_GL= egl gbm USE_GNOME= cairo pango GH_ACCOUNT= hyprwm LDFLAGS+= -Wl,--as-needed # pango deps PLIST_FILES= bin/${PORTNAME} \ etc/pam.d/${PORTNAME} # 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) CXXFLAGS+= -fexperimental-library .endif # XXX Drop after FreeBSD 13.3 EOL around 2025-07-01 .if exists(/usr/lib/libc++.so) && !exists(/usr/include/c++/v1/__chrono/time_zone.h) LIB_DEPENDS+= libdate-tz.so:devel/date USES+= localbase:ldflags .endif -# XXX Drop after FreeBSD 13.2 EOL around 2024-05-01 (don't forget distinfo) +# 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/expected) || 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 #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 diff --git a/x11/xdg-desktop-portal-hyprland/Makefile b/x11/xdg-desktop-portal-hyprland/Makefile index 1d78831a441b..64854424f856 100644 --- a/x11/xdg-desktop-portal-hyprland/Makefile +++ b/x11/xdg-desktop-portal-hyprland/Makefile @@ -1,79 +1,79 @@ PORTNAME= xdg-desktop-portal-hyprland DISTVERSIONPREFIX= v DISTVERSION= 1.3.1 PORTREVISION= 4 CATEGORIES= x11 wayland PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES+= 65fb44ae4960.patch:-p1 # https://github.com/hyprwm/xdg-desktop-portal-hyprland/issues/190 PATCHFILES+= 9c370fd55d6e.patch:-p1 # https://github.com/hyprwm/xdg-desktop-portal-hyprland/pull/193 MAINTAINER= jbeich@FreeBSD.org COMMENT= xdg-desktop-portal backend for hyprland WWW= https://github.com/hyprwm/xdg-desktop-portal-hyprland LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= wayland-protocols>=1.31:graphics/wayland-protocols LIB_DEPENDS= libhyprlang.so:devel/hyprlang \ libsdbus-c++.so:devel/sdbus-cpp \ libdrm.so:graphics/libdrm \ libwayland-client.so:graphics/wayland \ libpipewire-0.3.so:multimedia/pipewire RUN_DEPENDS= xdg-desktop-portal>0:deskutils/xdg-desktop-portal \ grim:x11/grim \ slurp:x11/slurp FLAVORS= qt6 qt5 qt5_PKGNAMESUFFIX= -qt5 qt5_CONFLICTS_INSTALL= ${PORTNAME} qt6_CONFLICTS_INSTALL= ${PORTNAME}-qt5 USES= cmake compiler:c++11-lib gl pkgconfig qt:6 USE_GITHUB= yes USE_GL= gbm USE_QT= base wayland:run GH_ACCOUNT= hyprwm GH_TUPLE= hyprwm:hyprland-protocols:v0.2:hyprland_protocols/subprojects/hyprland-protocols LDFLAGS+= -Wl,--as-needed # GL, sdbus-cpp deps PLIST_FILES= bin/hyprland-share-picker \ lib/systemd/user/${PORTNAME}.service \ libexec/${PORTNAME} \ share/dbus-1/services/org.freedesktop.impl.portal.desktop.hyprland.service \ share/xdg-desktop-portal/portals/hyprland.portal .if ${FLAVOR:U} == qt5 USES:= ${USES:S/qt:6/qt:5/} USE_QT= qmake:build buildtools:build core gui wayland:run widgets .endif # 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) CXXFLAGS+= -fexperimental-library .endif -# XXX Drop after FreeBSD 13.2 EOL around 2024-05-01 (don't forget distinfo) +# 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 #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