diff --git a/x11-wm/lxqt-session/Makefile b/x11-wm/lxqt-session/Makefile index 3e0a1b6495a2..4be1879679a5 100644 --- a/x11-wm/lxqt-session/Makefile +++ b/x11-wm/lxqt-session/Makefile @@ -1,28 +1,28 @@ # Created by: Olivier Duchateau PORTNAME= lxqt-session -PORTVERSION= 0.16.0 +PORTVERSION= 0.17.1 CATEGORIES= x11-wm MASTER_SITES= LXQT MAINTAINER= jsm@FreeBSD.org COMMENT= Session manager component for LXQt LICENSE= LGPL21+ BUILD_DEPENDS= xdg-user-dirs-update:devel/xdg-user-dirs USES= cmake compiler:c++14-lang kde:5 lxqt qt:5 \ pkgconfig tar:xz xorg gnome USE_QT= buildtools_build qmake_build core dbus gui linguisttools \ svg widgets x11extras xml USE_KDE= windowsystem USE_LXQT= buildtools lxqt qtxdg USE_XORG= x11 ice sm xcb xext USE_GNOME= glib20 CMAKE_OFF= WITH_LIBUDEV post-patch: @${REINPLACE_CMD} -e 's|\@PREDEF_XDG_CONFIG_DIRS\@|\@PREDEF_XDG_CONFIG_DIRS\@:\${LOCALBASE}/share|g' ${WRKSRC}/startlxqt.in .include diff --git a/x11-wm/lxqt-session/distinfo b/x11-wm/lxqt-session/distinfo index 1bfa52db8cac..186fddb236c9 100644 --- a/x11-wm/lxqt-session/distinfo +++ b/x11-wm/lxqt-session/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1605365870 -SHA256 (lxqt/lxqt-session-0.16.0.tar.xz) = 547e01e173921357245fb938718bd2401b38e73245cdcbecf195130e856d4959 -SIZE (lxqt/lxqt-session-0.16.0.tar.xz) = 180084 +TIMESTAMP = 1618785099 +SHA256 (lxqt/lxqt-session-0.17.1.tar.xz) = d9058ceedb355a43ea2ef070292fc30b0fb740640cf0b579131aaefbac779c47 +SIZE (lxqt/lxqt-session-0.17.1.tar.xz) = 178976 diff --git a/x11-wm/lxqt-session/files/patch-lxqt-session_CMakeLists.txt b/x11-wm/lxqt-session/files/patch-lxqt-session_CMakeLists.txt new file mode 100644 index 000000000000..8e559e29049c --- /dev/null +++ b/x11-wm/lxqt-session/files/patch-lxqt-session_CMakeLists.txt @@ -0,0 +1,13 @@ +--- lxqt-session/CMakeLists.txt.orig 2021-04-16 16:36:14 UTC ++++ lxqt-session/CMakeLists.txt +@@ -71,6 +71,10 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + target_link_libraries(lxqt-session + ${PROCPS_LIBRARIES} + ) ++elseif (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") ++ target_link_libraries(lxqt-session ++ -lutil ++ ) + endif() + + if (WITH_LIBUDEV) diff --git a/x11-wm/lxqt-session/files/patch-lxqt-session_src_procreaper.cpp b/x11-wm/lxqt-session/files/patch-lxqt-session_src_procreaper.cpp new file mode 100644 index 000000000000..ed12c507f10f --- /dev/null +++ b/x11-wm/lxqt-session/files/patch-lxqt-session_src_procreaper.cpp @@ -0,0 +1,73 @@ +--- lxqt-session/src/procreaper.cpp.orig 2021-04-16 16:36:14 UTC ++++ lxqt-session/src/procreaper.cpp +@@ -30,7 +30,13 @@ + #if defined(Q_OS_LINUX) + #include + #include ++#elif defined(Q_OS_FREEBSD) ++#include ++#include ++#include ++#include + #endif ++#include + #include + #include + #include +@@ -42,6 +48,10 @@ ProcReaper::ProcReaper() + int result = prctl(PR_SET_CHILD_SUBREAPER, 1); + if (result != 0) + qCWarning(SESSION) << "Unable to to set PR_SET_CHILD_SUBREAPER, " << result << " - " << strerror(errno); ++#elif defined(Q_OS_FREEBSD) ++ int result = procctl(P_PID, ::getpid(), PROC_REAP_ACQUIRE, nullptr); ++ if (result != 0) ++ qCWarning(SESSION) << "Unable to to set PROC_REAP_ACQUIRE, " << result << " - " << strerror(errno); + #endif + } + +@@ -92,20 +102,41 @@ void ProcReaper::stop(const std::set & exclud + return; + } + // send term to all children +-#if defined(Q_OS_LINUX) + const pid_t my_pid = ::getpid(); ++ std::vector children; ++#if defined(Q_OS_LINUX) + PROCTAB * proc_dir = ::openproc(PROC_FILLSTAT); + while (proc_t * proc = ::readproc(proc_dir, nullptr)) + { +- if (proc->ppid == my_pid && excludedPids.count(proc->ppid) == 0) ++ if (proc->ppid == my_pid) + { +- qCDebug(SESSION) << "Seding TERM to child " << proc->tgid; +- ::kill(proc->tgid, SIGTERM); ++ children.push_back(proc->tgid); + } + ::freeproc(proc); + } + ::closeproc(proc_dir); ++#elif defined(Q_OS_FREEBSD) ++ int cnt = 0; ++ if (kinfo_proc *proc_info = kinfo_getallproc(&cnt)) ++ { ++ for (int i = 0; i < cnt; ++i) ++ { ++ if (proc_info[i].ki_ppid == my_pid) ++ { ++ children.push_back(proc_info[i].ki_pid); ++ } ++ } ++ free(proc_info); ++ } + #endif ++ for (auto const & child : children) ++ { ++ if (excludedPids.count(child) == 0) ++ { ++ qCDebug(SESSION) << "Seding TERM to child " << child; ++ ::kill(child, SIGTERM); ++ } ++ } + mWait.wakeAll(); + { + QMutexLocker guard{&mMutex}; diff --git a/x11-wm/lxqt-session/pkg-plist b/x11-wm/lxqt-session/pkg-plist index 3bd1add4a48b..ba6af4a330f8 100644 --- a/x11-wm/lxqt-session/pkg-plist +++ b/x11-wm/lxqt-session/pkg-plist @@ -1,142 +1,147 @@ bin/lxqt-config-session bin/lxqt-leave bin/lxqt-session bin/startlxqt etc/xdg/autostart/lxqt-xscreensaver-autostart.desktop -etc/xdg/openbox/lxqt-rc.xml share/applications/lxqt-config-session.desktop share/applications/lxqt-hibernate.desktop share/applications/lxqt-leave.desktop share/applications/lxqt-lockscreen.desktop share/applications/lxqt-logout.desktop share/applications/lxqt-reboot.desktop share/applications/lxqt-shutdown.desktop share/applications/lxqt-suspend.desktop share/kdm/sessions/lxqt.desktop %%LXQT_SHAREDIR%%/lxqt.conf %%LXQT_SHAREDIR%%/session.conf %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_ar.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_arn.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_ast.qm +%%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_bg.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_ca.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_cs.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_cy.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_da.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_de.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_el.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_eo.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_es.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_es_UY.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_es_VE.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_eu.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_fi.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_fr.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_gl.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_he.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_hr.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_hu.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_ia.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_id.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_it.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_ja.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_ko.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_lt.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_nb_NO.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_nl.qm +%%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_oc.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_pl.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_pt.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_pt_BR.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_ro_RO.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_ru.qm +%%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_si.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_sk_SK.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_sl.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_sr@latin.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_sr_RS.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_th_TH.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_tr.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_uk.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_zh_CN.qm %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_zh_TW.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_ar.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_arn.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_ast.qm +%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_bg.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_ca.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_cs.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_cy.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_da.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_de.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_el.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_es.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_fi.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_fr.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_gl.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_he.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_hr.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_hu.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_id.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_it.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_ja.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_ko.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_lt.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_nb_NO.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_nl.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_pl.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_pt.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_pt_BR.qm -%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_pt_PT.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_ru.qm +%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_si.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_sl.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_tr.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_uk.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_zh_CN.qm %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_zh_TW.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_ar.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_arn.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_ast.qm +%%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_bg.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_ca.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_cs.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_cy.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_da.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_de.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_el.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_eo.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_es.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_es_UY.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_es_VE.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_eu.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_fi.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_fr.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_gl.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_he.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_hr.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_hu.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_ia.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_id.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_it.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_ja.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_ko.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_lt.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_nb_NO.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_nl.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_or.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_pl.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_pt.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_pt_BR.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_ro_RO.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_ru.qm +%%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_si.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_sk_SK.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_sl.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_sr@latin.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_sr_BA.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_sr_RS.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_th_TH.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_tr.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_uk.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_zh_CN.qm %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_zh_TW.qm %%LXQT_SHAREDIR%%/windowmanagers.conf share/man/man1/lxqt-config-session.1.gz share/man/man1/lxqt-leave.1.gz share/man/man1/lxqt-session.1.gz share/man/man1/startlxqt.1.gz share/xsessions/lxqt.desktop