Index: branches/2019Q2/x11/xfce4-screensaver/Makefile =================================================================== --- branches/2019Q2/x11/xfce4-screensaver/Makefile (revision 503606) +++ branches/2019Q2/x11/xfce4-screensaver/Makefile (revision 503607) @@ -1,72 +1,74 @@ # $FreeBSD$ PORTNAME= xfce4-screensaver PORTVERSION= 0.1.4 +PORTREVISION= 1 CATEGORIES= x11 xfce MASTER_SITES= XFCE/src/apps/${PORTNAME}/${PORTVERSION:R} DIST_SUBDIR= xfce4 MAINTAINER= xfce@FreeBSD.org COMMENT= Xfce 4 screen saver and locker LICENSE= GPLv2 LGPL20 LICENSE_COMB= dual LICENSE_FILE_GPLv2= ${WRKSRC}/COPYING LICENSE_FILE_LGPL20= ${WRKSRC}/COPYING.LIB LIB_DEPENDS= libdbus-1.so:devel/dbus \ libdbus-glib-1.so:devel/dbus-glib \ libnotify.so:devel/libnotify \ libstartup-notification-1.so:x11/startup-notification \ - libxklavier.so:x11/libxklavier + libxklavier.so:x11/libxklavier \ + libconsolekit.so:sysutils/consolekit2 -USES= gettext-tools gmake gnome pkgconfig tar:bzip2 xfce:gtk3 +USES= gettext-tools gl gmake gnome pkgconfig tar:bzip2 xfce:gtk3 USE_GL= gl USE_GNOME= cairo gdkpixbuf2 glib20 gtk30 intltool USE_XFCE= garcon libexo libutil USE_XORG= ice sm x11 xext xrandr xscrnsaver xxf86vm GNU_CONFIGURE= yes CONFIGURE_ARGS= --with-xscreensaverdir=${XSCREENSAVER_DIR} \ --with-xscreensaverhackdir=${LOCALBASE}/bin/xscreensaver-hacks \ --with-console-kit=yes \ --with-systemd=no \ --enable-maintainer-mode XSCREENSAVER_DIR= ${LOCALBASE}/share/xscreensaver/config SCREENSAVER_DIR= share/applications/screensavers OPTIONS_DEFINE= NLS PAM XSCREENSAVER OPTIONS_DEFAULT=PAM PAM_DESC= Pluggable Authentication Module support XSCREENSAVER_DESC= Use xscreensaver hacks OPTIONS_SUB= yes NLS_CONFIGURE_ENABLE= nls NLS_USES= gettext-runtime PAM_RUN_DEPENDS= pam_helper:security/pam_helper PAM_CONFIGURE_ON= --enable-authentication-scheme=helper \ --with-passwd-helper=${LOCALBASE}/bin/pam_helper PAM_CONFIGURE_OFF= --disable-pam XSCREENSAVER_RUN_DEPENDS= xscreensaver-gnome-hacks>=0:x11/xscreensaver-gnome-hacks .include .if defined(WITH_DEBUG) CONFIGURE_ARGS+= --enable-debug=yes .endif post-patch-PAM-on: @${REINPLACE_CMD} -e 's|/etc/pam.d|${PREFIX}/etc/pam.d|g' \ ${WRKSRC}/src/gs-auth-pam.c post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/${SCREENSAVER_DIR} post-install-PAM-on: ${INSTALL_DATA} ${FILESDIR}/xfce-screensaver.pam ${STAGEDIR}${PREFIX}/etc/pam.d/xfce-screensaver .include Index: branches/2019Q2/x11/xfce4-screensaver/files/patch-src_gs-listener-dbus.c =================================================================== --- branches/2019Q2/x11/xfce4-screensaver/files/patch-src_gs-listener-dbus.c (nonexistent) +++ branches/2019Q2/x11/xfce4-screensaver/files/patch-src_gs-listener-dbus.c (revision 503607) @@ -0,0 +1,161 @@ +--- src/gs-listener-dbus.c.orig 2019-03-15 02:23:32 UTC ++++ src/gs-listener-dbus.c +@@ -74,10 +74,6 @@ static DBusHandlerResult gs_listener_message_handler + #define CK_MANAGER_INTERFACE "org.freedesktop.ConsoleKit.Manager" + #define CK_SESSION_INTERFACE "org.freedesktop.ConsoleKit.Session" + +-#define SESSION_NAME "org.gnome.SessionManager" +-#define SESSION_PATH "/org/gnome/SessionManager" +-#define SESSION_INTERFACE "org.gnome.SessionManager" +- + #define TYPE_MISMATCH_ERROR GS_LISTENER_INTERFACE ".TypeMismatch" + + struct GSListenerPrivate { +@@ -108,7 +104,7 @@ typedef struct { + char *reason; + char *connection; + guint32 cookie; +- guint32 foreign_cookie; ++ gint32 fd; + GTimeVal since; + } GSListenerRefEntry; + +@@ -604,34 +600,44 @@ listener_ref_entry_check (GSListener *listener, + static void + add_session_inhibit (GSListener *listener, + GSListenerRefEntry *entry) { +- DBusMessage *message; +- DBusMessage *reply; +- DBusMessageIter iter; +- DBusMessageIter reply_iter; ++ DBusMessage *message, *reply; ++ DBusMessageIter iter, reply_iter; + DBusError error; +- guint xid; +- guint flags; ++ const gchar *mode = "block"; ++ /* it is a colon-separated list of lock types */ ++ const gchar *what = "idle"; + + g_return_if_fail (listener != NULL); + + dbus_error_init (&error); + +- message = dbus_message_new_method_call (SESSION_NAME, +- SESSION_PATH, +- SESSION_INTERFACE, ++#if defined(WITH_SYSTEMD) ++ message = dbus_message_new_method_call (SYSTEMD_LOGIND_SERVICE, ++ SYSTEMD_LOGIND_PATH, ++ SYSTEMD_LOGIND_INTERFACE, + "Inhibit"); ++#elif defined(WITH_CONSOLE_KIT) ++ message = dbus_message_new_method_call (CK_NAME, ++ CK_MANAGER_PATH, ++ CK_MANAGER_INTERFACE, ++ "Inhibit"); ++#endif + if (message == NULL) { + gs_debug ("Couldn't allocate the dbus message"); + return; + } + + dbus_message_iter_init_append (message, &iter); +- xid = 0; +- flags = 8; +- dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &entry->application); +- dbus_message_iter_append_basic (&iter, DBUS_TYPE_UINT32, &xid); +- dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &entry->reason); +- dbus_message_iter_append_basic (&iter, DBUS_TYPE_UINT32, &flags); ++ /* what parameter */ ++ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &what); ++ /* who parameter */ ++ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, ++ &entry->application); ++ /* why parameter */ ++ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, ++ &entry->reason); ++ /* mode parameter */ ++ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &mode); + + /* FIXME: use async? */ + reply = dbus_connection_send_with_reply_and_block (listener->priv->connection, +@@ -647,54 +653,23 @@ add_session_inhibit (GSListener *listener, + } + + dbus_message_iter_init (reply, &reply_iter); +- dbus_message_iter_get_basic (&reply_iter, &entry->foreign_cookie); ++ if (DBUS_TYPE_UNIX_FD == dbus_message_iter_get_arg_type(&reply_iter)) ++ dbus_message_iter_get_basic (&reply_iter, &entry->fd); + + dbus_message_unref (reply); + } + + static void +-remove_session_inhibit (GSListener *listener, +- GSListenerRefEntry *entry) { +- DBusMessage *message; +- DBusMessage *reply; +- DBusMessageIter iter; +- DBusError error; +- +- g_return_if_fail (listener != NULL); +- +- if (entry->foreign_cookie == 0) { ++remove_session_inhibit (GSListenerRefEntry *entry) { ++ if (entry->fd < 0) { + gs_debug ("Can't remove inhibitor from session: Session cookie not set"); + return; + } + +- dbus_error_init (&error); +- +- message = dbus_message_new_method_call (SESSION_NAME, +- SESSION_PATH, +- SESSION_INTERFACE, +- "Uninhibit"); +- if (message == NULL) { +- gs_debug ("Couldn't allocate the dbus message"); ++ if (close(entry->fd) < 0) { ++ gs_debug ("Can't close file descriptor"); + return; + } +- +- dbus_message_iter_init_append (message, &iter); +- dbus_message_iter_append_basic (&iter, DBUS_TYPE_UINT32, &entry->foreign_cookie); +- +- /* FIXME: use async? */ +- reply = dbus_connection_send_with_reply_and_block (listener->priv->connection, +- message, +- -1, +- &error); +- dbus_message_unref (message); +- +- if (dbus_error_is_set (&error)) { +- gs_debug ("%s raised:\n %s\n\n", error.name, error.message); +- dbus_error_free (&error); +- return; +- } +- +- dbus_message_unref (reply); + } + + static void +@@ -745,7 +720,7 @@ listener_remove_ref_entry (GSListener *listener, + + if (entry_type == REF_ENTRY_TYPE_INHIBIT) { + /* remove inhibit from xfce session */ +- remove_session_inhibit (listener, entry); ++ remove_session_inhibit (entry); + } + + removed = g_hash_table_remove (hash, &cookie); +@@ -977,7 +952,7 @@ listener_ref_entry_remove_for_connection (GSListener + + if (entry->entry_type == REF_ENTRY_TYPE_INHIBIT) { + /* remove inhibit from xfce session */ +- remove_session_inhibit (listener, entry); ++ remove_session_inhibit (entry); + } + + g_hash_table_iter_remove (&iter); Property changes on: branches/2019Q2/x11/xfce4-screensaver/files/patch-src_gs-listener-dbus.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: branches/2019Q2 =================================================================== --- branches/2019Q2 (revision 503606) +++ branches/2019Q2 (revision 503607) Property changes on: branches/2019Q2 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r503583