diff --git a/x11/hyprlock/Makefile b/x11/hyprlock/Makefile index 5d5c458b6240..ff45267366aa 100644 --- a/x11/hyprlock/Makefile +++ b/x11/hyprlock/Makefile @@ -1,66 +1,67 @@ PORTNAME= hyprlock DISTVERSIONPREFIX= v -DISTVERSION= 0.2.0 +DISTVERSION= 0.3.0 CATEGORIES= x11 wayland PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ -PATCHFILES+= e040c56ad294.patch:-p1 # https://github.com/hyprwm/hyprlock/pull/195 +PATCHFILES+= d9a6229434fb.patch:-p1 # -G Ninja +PATCHFILES+= 8658386f212f.patch:-p1 # https://github.com/hyprwm/hyprlock/issues/289 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-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/hyprlock/distinfo b/x11/hyprlock/distinfo index f7bad122e0cf..ecae09020fef 100644 --- a/x11/hyprlock/distinfo +++ b/x11/hyprlock/distinfo @@ -1,7 +1,9 @@ -TIMESTAMP = 1710343595 -SHA256 (hyprwm-hyprlock-v0.2.0_GH0.tar.gz) = 3d56220ac03016163e196bc2c08e5b16e83583fa9446ad52e32ddbb56c293994 -SIZE (hyprwm-hyprlock-v0.2.0_GH0.tar.gz) = 56798 +TIMESTAMP = 1712587141 +SHA256 (hyprwm-hyprlock-v0.3.0_GH0.tar.gz) = 5e84ac3223ea340bb3d39c22db4edefbb8364da8c3b6b3d0da1dfa45d8cc945f +SIZE (hyprwm-hyprlock-v0.3.0_GH0.tar.gz) = 61599 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 (e040c56ad294.patch) = f5d3ceee74733563306c6e3621ba773efe65d2015297bbedfa88e952e8171fb5 -SIZE (e040c56ad294.patch) = 1720 +SHA256 (d9a6229434fb.patch) = c50bfa1b1d69d95a6fe0ae9ab9c023ee220f8b9b535a54f1271782e33b198941 +SIZE (d9a6229434fb.patch) = 852 +SHA256 (8658386f212f.patch) = 36d0de05ba6897dc77ad2ad86ad7ffd0aae6d665dc588b931e0f86243818906d +SIZE (8658386f212f.patch) = 984 diff --git a/x11/hyprlock/files/patch-pam_hyprlock b/x11/hyprlock/files/patch-pam_hyprlock index a3e78966d632..57460c064b18 100644 --- a/x11/hyprlock/files/patch-pam_hyprlock +++ b/x11/hyprlock/files/patch-pam_hyprlock @@ -1,16 +1,27 @@ -"login" has "auth sufficient pam_self.so" but a screen locker is -supposed to ask for password regardless. +"login" and "su" have "auth sufficient pam_self.so" but a screen +locker is supposed to ask for password regardless. pam_unix(8) requires root priveleges to access master.passwd(5), so try authenticating via setuid helper first. --- pam/hyprlock.orig 2024-03-01 23:49:44 UTC +++ pam/hyprlock @@ -1,5 +1,4 @@ -# PAM configuration file for hyprlock -# the 'login' configuration file (see /etc/pam.d/login) +# PAM configuration for hyprlock. Only uses auth facilities. -auth include login +auth include unix-selfauth +--- src/core/Password.cpp.orig 2024-04-08 14:39:01 UTC ++++ src/core/Password.cpp +@@ -70,7 +70,7 @@ std::shared_ptr CPassw + return true; + }; + +- result->realized = auth("hyprlock") || auth("su") || true; ++ result->realized = auth("hyprlock") || true; + g_pHyprlock->addTimer(std::chrono::milliseconds(1), passwordCheckTimerCallback, nullptr); + }).detach(); +