From e88029ce7aca147fa158866a25841033adc244f2 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 4 Aug 2013 02:16:47 -0700 Subject: Sun Aug 4 02:14:49 PDT 2013 --- community/gputils/PKGBUILD | 8 +- community/linphone/PKGBUILD | 4 +- community/lxsession/PKGBUILD | 22 +- .../lxsession-0.4.6.1-logind-support.patch | 608 +++++++++++++++++++++ community/php-memcached/PKGBUILD | 11 +- community/texmaker/PKGBUILD | 8 +- community/uwsgi/PKGBUILD | 103 ++-- community/uwsgi/archlinux.ini | 6 +- extra/asymptote/PKGBUILD | 9 +- pcr/culmus-latex/PKGBUILD | 3 +- pcr/setbfree/PKGBUILD | 7 +- 11 files changed, 703 insertions(+), 86 deletions(-) create mode 100644 community/lxsession/lxsession-0.4.6.1-logind-support.patch diff --git a/community/gputils/PKGBUILD b/community/gputils/PKGBUILD index db76af71b..fbf0f94a5 100644 --- a/community/gputils/PKGBUILD +++ b/community/gputils/PKGBUILD @@ -1,19 +1,19 @@ -# $Id: PKGBUILD 91611 2013-05-25 11:39:42Z bpiotrowski $ +# $Id: PKGBUILD 94996 2013-08-02 22:34:27Z cinelli $ # Maintainer: Federico Cinelli # Contributor: Johannes Martin # Contributor: JJDaNiMoTh # Contributor: Stefan Husmann pkgname=gputils -pkgver=1.1.0 -pkgrel=2 +pkgver=1.2.0 +pkgrel=1 pkgdesc="PIC Programming Utilities" arch=('i686' 'x86_64') url="http://gputils.sourceforge.net/" license=('GPL') depends=('glibc') source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.gz") -md5sums=('2bff2c595b6570ac9bd6efb692fde274') +md5sums=('4332391ce058c636d6c15d05d4cecd86') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/community/linphone/PKGBUILD b/community/linphone/PKGBUILD index 70f242c4c..6485384c6 100644 --- a/community/linphone/PKGBUILD +++ b/community/linphone/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 92850 2013-06-17 06:54:08Z andrea $ +# $Id: PKGBUILD 95005 2013-08-03 07:36:18Z bpiotrowski $ # Maintainer: Sergej Pupykin # Contributor: Darwin Bautista pkgname=linphone pkgver=3.6.0 -pkgrel=1 +pkgrel=2 pkgdesc="A Voice-over-IP phone" arch=('i686' 'x86_64') url="http://www.linphone.org/index.php/eng" diff --git a/community/lxsession/PKGBUILD b/community/lxsession/PKGBUILD index eea61d4f1..5e4d01536 100644 --- a/community/lxsession/PKGBUILD +++ b/community/lxsession/PKGBUILD @@ -1,22 +1,30 @@ -# $Id: PKGBUILD 94956 2013-08-01 13:37:08Z bpiotrowski $ +# $Id: PKGBUILD 95018 2013-08-03 12:52:23Z bpiotrowski $ # Maintainer: Bartłomiej Piotrowski # Contributor: Angel Velasquez # Contributor: Juergen Hoetzel pkgname=lxsession -pkgver=0.4.9.2 -pkgrel=2 +pkgver=0.4.6.1 +pkgrel=1 +epoch=1 pkgdesc='Lightweight X11 session manager' arch=('i686' 'x86_64') url="http://lxde.org/" license=('GPL2') groups=('lxde') -depends=('gtk2' 'dbus' 'libgee06' 'dbus-glib' 'polkit' 'lsb-release') -makedepends=('pkgconfig' 'intltool' 'vala') +depends=('gtk2' 'dbus') +makedepends=('pkgconfig' 'intltool') replaces=('lxde-settings-daemon' 'lxsession-lite') conflicts=('lxsession-lite' 'lxde-settings-daemon') -source=(http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.gz) -md5sums=('bc3eb71936dbdf813e9ac2f00ab948f0') +source=(http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.gz + lxsession-0.4.6.1-logind-support.patch) +md5sums=('e456b64c5ab3652a4dec661ec706dc6e' + 'd99fb337cba343306df71c85034def3b') + +prepare() { + cd $pkgname-$pkgver + patch -Np1 -i ../lxsession-0.4.6.1-logind-support.patch +} build() { cd $pkgname-$pkgver diff --git a/community/lxsession/lxsession-0.4.6.1-logind-support.patch b/community/lxsession/lxsession-0.4.6.1-logind-support.patch new file mode 100644 index 000000000..2c12a01c5 --- /dev/null +++ b/community/lxsession/lxsession-0.4.6.1-logind-support.patch @@ -0,0 +1,608 @@ +--- lxsession-0.4.6.1/lxsession-logout/dbus-interface.c 2011-07-27 21:26:36.000000000 +0200 ++++ lxsession-0.4.6.1/lxsession-logout-logind/dbus-interface.c 2012-11-13 17:26:30.807070976 +0100 +@@ -51,13 +51,20 @@ + char * dbus_HAL_Reboot(void); + char * dbus_HAL_Suspend(void); + char * dbus_HAL_Hibernate(void); ++gboolean dbus_logind_CanPowerOff(void); ++gboolean dbus_logind_CanReboot(void); ++gboolean dbus_logind_CanSuspend(void); ++gboolean dbus_logind_CanHibernate(void); ++char * dbus_logind_PowerOff(void); ++char * dbus_logind_Reboot(void); ++char * dbus_logind_Suspend(void); ++char * dbus_logind_Hibernate(void); ++char * dbus_LXDE_Logout(void); + /* End FORWARDS */ + + /* Connect to the system bus. Once a connection is made, it is saved for reuse. */ +-static DBusConnection * dbus_connect(void) ++static DBusConnection * dbus_connect_system(void) + { +- if ((dbus_context.connection == NULL) && ( ! dbus_context.connection_tried)) +- { + DBusError error; + dbus_error_init(&error); + dbus_context.connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error); +@@ -67,16 +74,57 @@ + dbus_error_free(&error); + } + dbus_context.connection_tried = TRUE; +- } + + return dbus_context.connection; + } + ++static DBusConnection * dbus_connect_session(void) ++{ ++ DBusError error; ++ dbus_error_init(&error); ++ dbus_context.connection = dbus_bus_get(DBUS_BUS_SESSION, &error); ++ if (dbus_context.connection == NULL) ++ { ++ g_warning(G_STRLOC ": Failed to connect to the session message bus: %s", error.message); ++ dbus_error_free(&error); ++ } ++ dbus_context.connection_tried = TRUE; ++ ++ return dbus_context.connection; ++} ++ ++ + /* Send a message. */ +-static DBusMessage * dbus_send_message(DBusMessage * message, char * * error_text) ++static DBusMessage * dbus_send_message_system(DBusMessage * message, char * * error_text) + { + /* Get a connection handle. */ +- DBusConnection * connection = dbus_connect(); ++ DBusConnection * connection = dbus_connect_system(); ++ if (connection == NULL) ++ return FALSE; ++ ++ /* Send the message. */ ++ DBusError error; ++ dbus_error_init(&error); ++ DBusMessage * reply = dbus_connection_send_with_reply_and_block(connection, message, DBUS_TIMEOUT, &error); ++ dbus_message_unref(message); ++ if (reply == NULL) ++ { ++ if ((error.name == NULL) || (strcmp(error.name, DBUS_ERROR_NO_REPLY) != 0)) ++ { ++ if (error_text != NULL) ++ *error_text = g_strdup(error.message); ++ g_warning(G_STRLOC ": DBUS: %s", error.message); ++ } ++ dbus_error_free(&error); ++ } ++ return reply; ++} ++ ++/* Send a message. */ ++static DBusMessage * dbus_send_message_session(DBusMessage * message, char * * error_text) ++{ ++ /* Get a connection handle. */ ++ DBusConnection * connection = dbus_connect_session(); + if (connection == NULL) + return FALSE; + +@@ -132,6 +180,36 @@ + } + return result; + } ++ ++/* Read a result for a method that returns a string encoded boolean. */ ++static gboolean dbus_read_result_sboolean(DBusMessage * reply) ++{ ++ gboolean result = FALSE; ++ char* string_result; ++ if (reply != NULL) ++ { ++ /* Get the string result. */ ++ DBusError error; ++ dbus_error_init(&error); ++ dbus_bool_t status = dbus_message_get_args( ++ reply, ++ &error, ++ DBUS_TYPE_STRING, &string_result, ++ DBUS_TYPE_INVALID); ++ if ( ! status) ++ { ++ g_warning(G_STRLOC ": DBUS: %s", error.message); ++ dbus_error_free(&error); ++ } ++ else ++ { ++ if (!strcmp(string_result, "yes")) ++ result = TRUE; ++ } ++ dbus_message_unref(reply); ++ } ++ return result; ++} + #endif + + /*** ConsoleKit mechanism ***/ +@@ -152,7 +230,7 @@ + static gboolean dbus_ConsoleKit_query(const char * const query) + { + #ifdef HAVE_DBUS +- return dbus_read_result_boolean(dbus_send_message(dbus_ConsoleKit_formulate_message(query), NULL)); ++ return dbus_read_result_boolean(dbus_send_message_system(dbus_ConsoleKit_formulate_message(query), NULL)); + #else + return FALSE; + #endif +@@ -163,7 +241,7 @@ + { + #ifdef HAVE_DBUS + char * error = NULL; +- dbus_read_result_void(dbus_send_message(dbus_ConsoleKit_formulate_message(command), &error)); ++ dbus_read_result_void(dbus_send_message_system(dbus_ConsoleKit_formulate_message(command), &error)); + return error; + #else + return NULL; +@@ -225,7 +303,7 @@ + DBUS_TYPE_INVALID); + + /* Send the message. */ +- DBusMessage * reply = dbus_send_message(message, NULL); ++ DBusMessage * reply = dbus_send_message_system(message, NULL); + if (reply == NULL) + return FALSE; + +@@ -252,7 +330,7 @@ + { + #ifdef HAVE_DBUS + char * error = NULL; +- dbus_read_result_void(dbus_send_message(dbus_UPower_formulate_command(command), &error)); ++ dbus_read_result_void(dbus_send_message_system(dbus_UPower_formulate_command(command), &error)); + return error; + #else + return NULL; +@@ -329,7 +407,7 @@ + DBusMessage * message = dbus_HAL_formulate_string_property_query(property); + if (message == NULL) + return FALSE; +- DBusMessage * reply = dbus_send_message(message, NULL); ++ DBusMessage * reply = dbus_send_message_system(message, NULL); + if (reply == NULL) + return FALSE; + dbus_message_unref(reply); +@@ -343,7 +421,7 @@ + static gboolean dbus_HAL_boolean_query(const char * const property) + { + #ifdef HAVE_DBUS +- return dbus_read_result_boolean(dbus_send_message(dbus_HAL_formulate_boolean_property_query(property), NULL)); ++ return dbus_read_result_boolean(dbus_send_message_system(dbus_HAL_formulate_boolean_property_query(property), NULL)); + #else + return FALSE; + #endif +@@ -367,7 +445,7 @@ + + /* Send the message and wait for a reply. */ + char * error = NULL; +- dbus_read_result_void(dbus_send_message(message, &error)); ++ dbus_read_result_void(dbus_send_message_system(message, &error)); + return error; + #else + return NULL; +@@ -421,3 +499,185 @@ + { + return dbus_HAL_command("Hibernate"); + } ++ ++/*** logind mechanism ***/ ++ ++#ifdef HAVE_DBUS ++/* Formulate a message to the logind Manager interface to query a property. */ ++static DBusMessage * dbus_logind_formulate_query(const char * const query) ++{ ++ return dbus_message_new_method_call( ++ "org.freedesktop.login1", ++ "/org/freedesktop/login1", ++ "org.freedesktop.login1.Manager", ++ query); ++} ++ ++/* Formulate a message to the logind Manager interface. */ ++static DBusMessage * dbus_logind_formulate_message(const char * const method) ++{ ++ static dbus_bool_t interactive = FALSE; ++ DBusMessage * message = dbus_message_new_method_call( ++ "org.freedesktop.login1", ++ "/org/freedesktop/login1", ++ "org.freedesktop.login1.Manager", ++ method); ++ if (message != NULL) ++ dbus_message_append_args(message, DBUS_TYPE_BOOLEAN, &interactive, DBUS_TYPE_INVALID); ++ return message; ++} ++#endif ++ ++/* Send a specified query to the logind interface and process a boolean result. */ ++static gboolean dbus_logind_query(const char * const query) ++{ ++#ifdef HAVE_DBUS ++ return dbus_read_result_sboolean(dbus_send_message_system(dbus_logind_formulate_query(query), NULL)); ++#else ++ return FALSE; ++#endif ++} ++ ++/* Send a specified command to the logind interface and process a void result. */ ++static char * dbus_logind_command(const char * const command) ++{ ++#ifdef HAVE_DBUS ++ char * error = NULL; ++ dbus_read_result_void(dbus_send_message_system(dbus_logind_formulate_message(command), &error)); ++ return error; ++#else ++ return NULL; ++#endif ++} ++ ++/* Read the can-poweroff property of logind. */ ++gboolean dbus_logind_CanPowerOff(void) ++{ ++ return dbus_logind_query("CanPowerOff"); ++} ++ ++/* Read the can-reboot property of logind. */ ++gboolean dbus_logind_CanReboot(void) ++{ ++ return dbus_logind_query("CanReboot"); ++} ++ ++/* Read the can-suspend property of logind. */ ++gboolean dbus_logind_CanSuspend(void) ++{ ++ return dbus_logind_query("CanSuspend"); ++} ++ ++/* Read the can-hibernate property of logind. */ ++gboolean dbus_logind_CanHibernate(void) ++{ ++ return dbus_logind_query("CanHibernate"); ++} ++ ++/* Invoke the PowerOff method on logind. */ ++char * dbus_logind_PowerOff(void) ++{ ++ return dbus_logind_command("PowerOff"); ++} ++ ++/* Invoke the Reboot method on logind. */ ++char * dbus_logind_Reboot(void) ++{ ++ return dbus_logind_command("Reboot"); ++} ++ ++/* Invoke the Suspend method on logind. */ ++char * dbus_logind_Suspend(void) ++{ ++ return dbus_logind_command("Suspend"); ++} ++ ++/* Invoke the Hibernate method on logind. */ ++char * dbus_logind_Hibernate(void) ++{ ++ return dbus_logind_command("Hibernate"); ++} ++ ++/*** LXDE mechanism ***/ ++ ++#ifdef HAVE_DBUS ++/* Formulate a message to the LXDE Session Manager interface. */ ++static DBusMessage * dbus_LXDE_formulate_message(const char * const query) ++{ ++ return dbus_message_new_method_call( ++ "org.lxde.SessionManager", ++ "/org/lxde/SessionManager", ++ "org.lxde.SessionManager", ++ query); ++} ++#endif ++ ++/* Send a specified message to the LXDE interface and process a boolean result. */ ++static gboolean dbus_LXDE_query(const char * const query) ++{ ++#ifdef HAVE_DBUS ++ return dbus_read_result_boolean(dbus_send_message_session(dbus_LXDE_formulate_message(query), NULL)); ++#else ++ return FALSE; ++#endif ++} ++ ++/* Send a specified message to the LXDE interface and process a void result. */ ++static char * dbus_LXDE_command(const char * const command) ++{ ++#ifdef HAVE_DBUS ++ char * error = NULL; ++ dbus_read_result_void(dbus_send_message_session(dbus_LXDE_formulate_message(command), &error)); ++ return error; ++#else ++ return NULL; ++#endif ++} ++ ++/* Invoke the Logout method on LXDE. */ ++char * dbus_LXDE_Logout(void) ++{ ++ return dbus_LXDE_command("Logout"); ++} ++ ++/*** Lightdm mechanism ***/ ++ ++#ifdef HAVE_DBUS ++/* Formulate a message to the Lightdm interface. */ ++static DBusMessage * dbus_Lightdm_formulate_message(const char * const query) ++{ ++ return dbus_message_new_method_call( ++ "org.freedesktop.DisplayManager", ++ g_getenv ("XDG_SEAT_PATH"), ++ "org.freedesktop.DisplayManager.Seat", ++ query); ++} ++#endif ++ ++/* Send a specified message to the Lightdm interface and process a boolean result. */ ++static gboolean dbus_Lightdm_query(const char * const query) ++{ ++#ifdef HAVE_DBUS ++ return dbus_read_result_boolean(dbus_send_message_session(dbus_Lightdm_formulate_message(query), NULL)); ++#else ++ return FALSE; ++#endif ++} ++ ++/* Send a specified message to the Lightdm interface and process a void result. */ ++static char * dbus_Lightdm_command(const char * const command) ++{ ++#ifdef HAVE_DBUS ++ char * error = NULL; ++ dbus_read_result_void(dbus_send_message_session(dbus_Lightdm_formulate_message(command), &error)); ++ return error; ++#else ++ return NULL; ++#endif ++} ++ ++/* Invoke the Logout method on LXDE. */ ++char * dbus_Lightdm_SwitchToGreeter(void) ++{ ++ return dbus_Lightdm_command("SwitchToGreeter"); ++} +--- lxsession-0.4.6.1/lxsession-logout/dbus-interface.h 2011-07-27 21:26:36.000000000 +0200 ++++ lxsession-0.4.6.1/lxsession-logout-logind/dbus-interface.h 2012-11-13 17:26:30.807070976 +0100 +@@ -44,4 +44,18 @@ + extern char * dbus_HAL_Suspend(void); + extern char * dbus_HAL_Hibernate(void); + ++/* Interface to logind for shutdown, reboot, suspend, and hibernate. */ ++extern gboolean dbus_logind_CanPowerOff(void); ++extern gboolean dbus_logind_CanRestart(void); ++extern char * dbus_logind_PowerOff(void); ++extern char * dbus_logind_Restart(void); ++extern gboolean dbus_logind_CanSuspend(void); ++extern gboolean dbus_logind_CanHibernate(void); ++extern char * dbus_logind_Suspend(void); ++extern char * dbus_logind_Hibernate(void); ++ ++extern char * dbus_LXDE_Logout(void); ++ ++extern char * dbus_Lightdm_SwitchToGreeter(); ++ + #endif +--- lxsession-0.4.6.1/lxsession-logout/lxsession-logout.c 2011-07-27 21:26:36.000000000 +0200 ++++ lxsession-0.4.6.1/lxsession-logout-logind/lxsession-logout.c 2012-11-13 17:26:30.807070976 +0100 +@@ -69,12 +69,21 @@ + int reboot_HAL : 1; /* Reboot is available via HAL */ + int suspend_HAL : 1; /* Suspend is available via HAL */ + int hibernate_HAL : 1; /* Hibernate is available via HAL */ ++ int shutdown_logind : 1; /* Shutdown is available via logind */ ++ int reboot_logind : 1; /* Reboot is available via logind */ ++ int suspend_logind : 1; /* Suspend is available via logind */ ++ int hibernate_logind : 1; /* Hibernate is available via logind */ + int switch_user_GDM : 1; /* Switch User is available via GDM */ +- int switch_user_KDM : 1; /* Switch User is available via KDM */ ++ int switch_user_LIGHTDM : 1; /* Switch User is available via GDM */ ++ int switch_user_KDM : 1; /* Switch User is available via LIGHTDM */ + int ltsp : 1; /* Shutdown and reboot is accomplished via LTSP */ ++ ++ int lock_screen : 1; /* Lock screen available */ ++ + } HandlerContext; + + static gboolean lock_screen(void); ++static const gchar* determine_lock_screen(void); + static gboolean verify_running(const char * display_manager, const char * executable); + static void logout_clicked(GtkButton * button, HandlerContext * handler_context); + static void change_root_property(GtkWidget* w, const char* prop_name, const char* value); +@@ -93,13 +102,32 @@ + */ + static gboolean lock_screen(void) + { +- if (!g_spawn_command_line_async("lxlock", NULL)) ++ const gchar* program = determine_lock_screen(); ++ ++ if (program) + { ++ g_spawn_command_line_async(program, NULL); + return TRUE; + } + return FALSE; + } + ++static const gchar* determine_lock_screen(void) ++{ ++ const gchar* program = NULL; ++ ++ if (g_find_program_in_path("xdg-screensaver")) ++ { ++ program = "xdg-screensaver lock"; ++ } ++ else if (g_find_program_in_path("lxlock")) ++ { ++ program = "lxlock"; ++ } ++ return program; ++} ++ ++ + /* Verify that a program is running and that an executable is available. */ + static gboolean verify_running(const char * display_manager, const char * executable) + { +@@ -187,6 +215,8 @@ + error_result = dbus_ConsoleKit_Stop(); + else if (handler_context->shutdown_HAL) + error_result = dbus_HAL_Shutdown(); ++ else if (handler_context->shutdown_logind) ++ error_result = dbus_logind_PowerOff(); + + if (error_result != NULL) + gtk_label_set_text(GTK_LABEL(handler_context->error_label), error_result); +@@ -208,6 +238,8 @@ + error_result = dbus_ConsoleKit_Restart(); + else if (handler_context->reboot_HAL) + error_result = dbus_HAL_Reboot(); ++ else if (handler_context->reboot_logind) ++ error_result = dbus_logind_Reboot(); + + if (error_result != NULL) + gtk_label_set_text(GTK_LABEL(handler_context->error_label), error_result); +@@ -225,6 +257,8 @@ + error_result = dbus_UPower_Suspend(); + else if (handler_context->suspend_HAL) + error_result = dbus_HAL_Suspend(); ++ else if (handler_context->suspend_logind) ++ error_result = dbus_logind_Suspend(); + + if (error_result != NULL) + gtk_label_set_text(GTK_LABEL(handler_context->error_label), error_result); +@@ -242,6 +276,8 @@ + error_result = dbus_UPower_Hibernate(); + else if (handler_context->hibernate_HAL) + error_result = dbus_HAL_Hibernate(); ++ else if (handler_context->hibernate_logind) ++ error_result = dbus_logind_Hibernate(); + + if (error_result != NULL) + gtk_label_set_text(GTK_LABEL(handler_context->error_label), error_result); +@@ -258,6 +294,17 @@ + g_spawn_command_line_sync("gdmflexiserver --startnew", NULL, NULL, NULL, NULL); + else if (handler_context->switch_user_KDM) + g_spawn_command_line_sync("kdmctl reserve", NULL, NULL, NULL, NULL); ++ else if (handler_context->switch_user_LIGHTDM) ++ dbus_Lightdm_SwitchToGreeter(); ++ gtk_main_quit(); ++} ++ ++/* Handler for "clicked" signal on Lock button. */ ++static void lock_screen_clicked(GtkButton * button, HandlerContext * handler_context) ++{ ++ gtk_label_set_text(GTK_LABEL(handler_context->error_label), NULL); ++ ++ lock_screen(); + gtk_main_quit(); + } + +@@ -435,6 +482,28 @@ + handler_context.hibernate_HAL = TRUE; + } + ++ /* Initialize capabilities of the logind mechanism. */ ++ if (!handler_context.shutdown_available && dbus_logind_CanPowerOff()) ++ { ++ handler_context.shutdown_available = TRUE; ++ handler_context.shutdown_logind = TRUE; ++ } ++ if (!handler_context.reboot_available && dbus_logind_CanReboot()) ++ { ++ handler_context.reboot_available = TRUE; ++ handler_context.reboot_logind = TRUE; ++ } ++ if (!handler_context.suspend_available && dbus_logind_CanSuspend()) ++ { ++ handler_context.suspend_available = TRUE; ++ handler_context.suspend_logind = TRUE; ++ } ++ if (!handler_context.hibernate_available && dbus_logind_CanHibernate()) ++ { ++ handler_context.hibernate_available = TRUE; ++ handler_context.hibernate_logind = TRUE; ++ } ++ + /* If we are under GDM, its "Switch User" is available. */ + if (verify_running("gdm", "gdmflexiserver")) + { +@@ -442,6 +511,34 @@ + handler_context.switch_user_GDM = TRUE; + } + ++ /* If we are under GDM3, its "Switch User" is available. */ ++ if (verify_running("gdm3", "gdmflexiserver")) ++ { ++ handler_context.switch_user_available = TRUE; ++ handler_context.switch_user_GDM = TRUE; ++ } ++ ++ /* lightdm also use gdmflexiserver */ ++ if (verify_running("lightdm", "gdmflexiserver")) ++ { ++ handler_context.switch_user_available = TRUE; ++ handler_context.switch_user_GDM = TRUE; ++ } ++ ++ /* lightdm also use gdmflexiserver */ ++ if (verify_running("lightdm", "gdmflexiserver")) ++ { ++ handler_context.switch_user_available = TRUE; ++ handler_context.switch_user_GDM = TRUE; ++ } ++ ++ /* lightdm can also be find by the env */ ++ if (g_getenv("XDG_SEAT_PATH")) ++ { ++ handler_context.switch_user_available = TRUE; ++ handler_context.switch_user_LIGHTDM = TRUE; ++ } ++ + /* If we are under KDM, its "Switch User" is available. */ + if (verify_running("kdm", "kdmctl")) + { +@@ -451,7 +548,18 @@ + + /* LTSP support */ + if (g_getenv("LTSP_CLIENT")) ++ { + handler_context.ltsp = TRUE; ++ handler_context.shutdown_available = TRUE; ++ handler_context.reboot_available = TRUE; ++ } ++ ++ /* Lock screen */ ++ const gchar* very_lock_screen = determine_lock_screen(); ++ if (very_lock_screen) ++ { ++ handler_context.lock_screen = TRUE; ++ } + + /* Make the button images accessible. */ + gtk_icon_theme_append_search_path(gtk_icon_theme_get_default(), PACKAGE_DATA_DIR "/lxsession/images"); +@@ -596,6 +704,17 @@ + gtk_box_pack_start(GTK_BOX(controls), switch_user_button, FALSE, FALSE, 4); + } + ++ /* Create the Lock Screen button. */ ++ if (handler_context.lock_screen && !handler_context.ltsp) ++ { ++ GtkWidget * lock_screen_button = gtk_button_new_with_mnemonic(_("L_ock Screen")); ++ GtkWidget * image = gtk_image_new_from_icon_name("system-lock-screen", GTK_ICON_SIZE_BUTTON); ++ gtk_button_set_image(GTK_BUTTON(lock_screen_button), image); ++ gtk_button_set_alignment(GTK_BUTTON(lock_screen_button), 0.0, 0.5); ++ g_signal_connect(G_OBJECT(lock_screen_button), "clicked", G_CALLBACK(lock_screen_clicked), &handler_context); ++ gtk_box_pack_start(GTK_BOX(controls), lock_screen_button, FALSE, FALSE, 4); ++ } ++ + /* Create the Logout button. */ + GtkWidget * logout_button = gtk_button_new_with_mnemonic(_("_Logout")); + GtkWidget * image = gtk_image_new_from_icon_name("system-log-out", GTK_ICON_SIZE_BUTTON); diff --git a/community/php-memcached/PKGBUILD b/community/php-memcached/PKGBUILD index b03ce8559..576a9cc7f 100644 --- a/community/php-memcached/PKGBUILD +++ b/community/php-memcached/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 74848 2012-08-07 11:05:47Z foutrelis $ +# $Id: PKGBUILD 95020 2013-08-03 16:08:14Z foutrelis $ # Maintainer: Evangelos Foutras pkgname=php-memcached @@ -13,6 +13,15 @@ backup=('etc/php/conf.d/memcached.ini') source=(http://pecl.php.net/get/memcached-$pkgver.tgz) sha256sums=('bc4940015be74f47908d410d7b55e10a3d5bf65674036d944c73558227fcc4af') +prepare() { + cd "$srcdir/memcached-$pkgver" + + # Fix FTBFS with libmemcached >= 1.0.17 + # https://github.com/php-memcached-dev/php-memcached/issues/69#issuecomment-17051990 + echo 'typedef const struct memcached_server_st *memcached_server_instance_st;' \ + >>php_libmemcached_compat.h +} + build() { cd "$srcdir/memcached-$pkgver" diff --git a/community/texmaker/PKGBUILD b/community/texmaker/PKGBUILD index 916c25874..1b18beed2 100644 --- a/community/texmaker/PKGBUILD +++ b/community/texmaker/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 91601 2013-05-25 11:19:17Z bpiotrowski $ +# $Id: PKGBUILD 94994 2013-08-02 22:19:28Z cinelli $ #Maintainer: Federico Cinelli pkgname=texmaker -pkgver=4.0.2 +pkgver=4.0.3 pkgrel=1 pkgdesc='Free cross-platform LaTeX editor' arch=('i686' 'x86_64') @@ -14,9 +14,9 @@ optdepends=('ghostscript: LaTeX to HTML conversion command' 'poppler: PDF rendering support') install="$pkgname.install" source=("http://www.xm1math.net/$pkgname/$pkgname-$pkgver.tar.bz2") -md5sums=('2097b5911acc461a85fd631dd1e2e5dc') +md5sums=('fe33120eef6d6ae6dcbf949d5d5c7a4f') -build() { +build() { cd "$pkgname-$pkgver" qmake-qt4 PREFIX=/usr texmaker.pro make diff --git a/community/uwsgi/PKGBUILD b/community/uwsgi/PKGBUILD index f71d6310a..9ccc64750 100644 --- a/community/uwsgi/PKGBUILD +++ b/community/uwsgi/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 94867 2013-07-31 22:32:58Z dwallace $ +# $Id: PKGBUILD 95003 2013-08-03 02:02:14Z dwallace $ # Maintainer: Daniel Wallace # Contributor: Valentin Hăloiu # Contributor: Angel Velasquez @@ -14,25 +14,23 @@ pkgname=(uwsgi uwsgi-plugin-nagios uwsgi-plugin-router uwsgi-plugin-admin - uwsgi-plugin-ruby - uswgi-plugin-greenlet - uswgi-plugin-php + uwsgi-plugin-php + uwsgi-plugin-lua51 uwsgi-plugin-carbon uwsgi-plugin-rrdtool uwsgi-plugin-erlang uwsgi-plugin-pam - uwsgi-plugin-jvm uwsgi-plugin-zergpool ) pkgver=1.9.14 -pkgrel=2 +pkgrel=3 arch=(i686 x86_64) url="http://projects.unbit.it/$pkgbase" license=(GPL2) conflicts=(python-$pkgbase) -makedepends=(gcc python python2 ruby python2-greenlet php curl libxml2 libyaml +makedepends=(gcc python python2 ruby python2-greenlet php-embed curl libxml2 libyaml perl lua51 pcre libedit openssl bzip2 gmp erlang pam java-environment=7 - jansson) + jansson classpath) source=(http://projects.unbit.it/downloads/$pkgbase-$pkgver.tar.gz archlinux.ini tmpfilesd @@ -42,7 +40,7 @@ source=(http://projects.unbit.it/downloads/$pkgbase-$pkgver.tar.gz uwsgi_ruby20_compatibility.patch uwsgi_trick_chroot.patch) md5sums=('ec9cf333534604f17ef4e24051d9d65d' - '73a3ad84736c8f2f3d077c43b24cf1b7' + '899e61d6957bec57e148b92dcb1bec6d' 'b05ba1d796e1ea608a40635bc4f3ec67' '0b79320fbae92715c96086cf51e60bc8' 'db70315bbc8cb886a278ba59d5fd8d57' @@ -53,7 +51,7 @@ md5sums=('ec9cf333534604f17ef4e24051d9d65d' prepare(){ cd $srcdir/$pkgbase-$pkgver cp $srcdir/archlinux.ini buildconf/archlinux.ini - sed -i 's/LIBS .*-lphp5.*/LIBS = []/' plugins/php/uwsgiplugin.py + #sed -i 's/LIBS .*-lphp5.*/LIBS = []/' plugins/php/uwsgiplugin.py for patch in uwsgi_fix_rpath.patch uwsgi_ruby20_compatibility.patch uwsgi_trick_chroot.patch; do patch -Np1 -i $srcdir/$patch done @@ -64,23 +62,22 @@ prepare(){ } build() { pushd $srcdir/$pkgbase-$pkgver + python uwsgiconfig.py --build archlinux python2 uwsgiconfig.py --plugin plugins/python archlinux python2 python2 uwsgiconfig.py --plugin plugins/greenlet archlinux greenlet + python2 uwsgiconfig.py --plugin plugins/gevent archlinux gevent } package_uwsgi() { - backup=(etc/uwsgi/archlinux.ini) pkgdesc="A fast, self-healing and developer/sysadmin-friendly application container server coded in pure C" depends=(python2 libxml2 jansson libyaml systemd) install=uwsgi.install cd $srcdir/$pkgbase-$pkgver install -Dm755 uwsgi $pkgdir/usr/bin/uwsgi - install -Dm644 $srcdir/archlinux.ini $pkgdir/etc/uwsgi/archlinux.ini install -Dm644 $srcdir/uwsgi@.service $pkgdir/usr/lib/systemd/system/uwsgi@.service install -Dm644 $srcdir/uwsgi@.socket $pkgdir/usr/lib/systemd/system/uwsgi@.socket install -Dm755 systemd_logger_plugin.so $pkgdir/usr/lib/uwsgi/systemd_logger_plugin.so - install -Dm644 $srcdir/archlinux.ini $pkgdir/etc/uwsgi/archlinux.ini install -Dm644 $srcdir/tmpfilesd $pkgdir/usr/lib/tmpfiles.d/uwsgi.conf } @@ -89,8 +86,8 @@ package_uwsgi-plugin-common(){ pkgdesc="Common plugins for uWSGI" install -dm755 $pkgdir/usr/bin for plugin in cache cgi rpc ugreen; do - ln -s uwsgi $pkgdir/usr/bin/uwsgi_${plugin} install -Dm755 $pkgbase-$pkgver/${plugin}_plugin.so $pkgdir/usr/lib/uwsgi/${plugin}_plugin.so + ln -s uwsgi $pkgdir/usr/bin/uwsgi_$plugin done } @@ -98,17 +95,22 @@ package_uwsgi-plugin-rack(){ depends=(ruby uwsgi-plugin-common) pkgdesc="Ruby rack plugin" install -dm755 $pkgdir/usr/bin - ln -s uwsgi $pkgdir/usr/bin/uwsgi_rack install -Dm755 $pkgbase-$pkgver/rack_plugin.so $pkgdir/usr/lib/uwsgi/rack_plugin.so + ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-} + install -Dm755 $pkgbase-$pkgver/fiber_plugin.so $pkgdir/usr/lib/uwsgi/fiber_plugin.so + install -Dm755 $pkgbase-$pkgver/rbthreads_plugin.so $pkgdir/usr/lib/uwsgi/rbthreads_plugin.so } package_uwsgi-plugin-python2(){ - depends=(uwsgi-plugin-common) + depends=(uwsgi-plugin-common python2-gevent python2-gevent) pkgdesc="Plugin for Python2 support" + replace=(uswgi-plugin-greenlet) cd $srcdir/$pkgbase-$pkgver install -dm755 $pkgdir/usr/bin - ln -s uwsgi $pkgdir/usr/bin/uwsgi_python2 install -Dm755 $srcdir/$pkgbase-$pkgver/python2_plugin.so $pkgdir/usr/lib/uwsgi/python2_plugin.so + install -Dm755 greenlet_plugin.so $pkgdir/usr/lib/uwsgi/greenlet_plugin.so + install -Dm755 gevent_plugin.so $pkgdir/usr/lib/uwsgi/gevent_plugin.so + ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-} } package_uwsgi-plugin-python(){ @@ -116,16 +118,16 @@ package_uwsgi-plugin-python(){ pkgdesc="Plugin for Python support" install -dm755 $pkgdir/usr/bin cd $srcdir/$pkgbase-$pkgver - ln -s uwsgi $pkgdir/usr/bin/uwsgi_python install -Dm755 $srcdir/$pkgbase-$pkgver/python_plugin.so $pkgdir/usr/lib/uwsgi/python_plugin.so + ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-} } package_uwsgi-plugin-nagios(){ depends=( uwsgi-plugin-common) pkgdesc="Plugin for Nagios support" install -dm755 $pkgdir/usr/bin - ln -s uwsgi $pkgdir/usr/bin/uwsgi_nagios install -Dm755 $pkgbase-$pkgver/nagios_plugin.so $pkgdir/usr/lib/uwsgi/nagios_plugin.so + ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-} } package_uwsgi-plugin-router(){ @@ -134,9 +136,9 @@ package_uwsgi-plugin-router(){ install -dm755 $pkgdir/usr/lib/uwsgi install -dm755 $pkgdir/usr/bin cd $pkgbase-$pkgver - for file in *router*_plugin.so; do - install -Dm755 $file $pkgdir/usr/lib/uwsgi/$file - ln -s uwsgi $pkgdir/usr/bin/uwsgi_${file%_plugin.so} + + for file in router_*_plugin.so fastrouter_plugin.so sslrouter_plugin.so rawrouter_plugin.so; do + install -Dm644 $file $pkgdir/usr/lib/uwsgi/$file done } @@ -144,67 +146,50 @@ package_uwsgi-plugin-admin(){ depends=( uwsgi-plugin-common) pkgdesc="Plugin for Admin support" install -dm755 $pkgdir/usr/bin - ln -s uwsgi $pkgdir/usr/bin/uwsgi_admin install -Dm755 $pkgbase-$pkgver/admin_plugin.so $pkgdir/usr/lib/uwsgi/admin_plugin.so + ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-} } -package_uwsgi-plugin-ruby(){ - depends=(ruby uwsgi-plugin-common) - pkgdesc="Plugin for Ruby support" - install -dm755 $pkgdir/usr/bin - ln -s uwsgi $pkgdir/usr/bin/uwsgi_ruby - install -Dm755 $pkgbase-$pkgver/ruby_plugin.so $pkgdir/usr/lib/uwsgi/ruby_plugin.so -} - - -package_uswgi-plugin-lua51(){ - depends=(lua uwsgi-plugin-common) +package_uwsgi-plugin-lua51(){ + depends=(lua51 uwsgi-plugin-common) pkgdesc="Plugin for Lua support" install -dm755 $pkgdir/usr/bin install -dm755 $pkgdir/usr/bin - ln -s uwsgi $pkgdir/usr/bin/uwsgi_lua51 - install -Dm755 $pkgbase-$pkgver/lua_plugin.so $pkgdir/usr/lib/uwsgi/lua51_plugin.so + install -Dm755 $pkgbase-$pkgver/lua_plugin.so $pkgdir/usr/lib/uwsgi/lua_plugin.so + ln -s uwsgi $pkgdir/usr/bin/uwsgi_lua } -package_uswgi-plugin-greenlet(){ - depends=(python2-greenlet uwsgi-plugin-common) - pkgdesc="Plugin for Python Greenlet support" - cd $srcdir/$pkgbase-$pkgver - install -dm755 $pkgdir/usr/bin - ln -s uwsgi $pkgdir/usr/bin/uwsgi_greenlet - install -Dm755 greenlet_plugin.so $pkgdir/usr/lib/uwsgi/greenlet_plugin.so -} - -package_uswgi-plugin-php(){ - depends=(uwsgi-plugin-common) +package_uwsgi-plugin-php(){ + depends=(uwsgi-plugin-common php-embed libyaml jansson) + replace=(uswgi-plugin-php) pkgdesc="Plugin for PHP support" install -dm755 $pkgdir/usr/bin - ln -s uwsgi $pkgdir/usr/bin/uwsgi_php install -Dm755 $pkgbase-$pkgver/php_plugin.so $pkgdir/usr/lib/uwsgi/php_plugin.so + ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-} } package_uwsgi-plugin-carbon(){ depends=(uwsgi-plugin-common) pkgdesc="Plugin for Carbon support" install -dm755 $pkgdir/usr/bin - ln -s uwsgi $pkgdir/usr/bin/uwsgi_carbon install -Dm755 $pkgbase-$pkgver/carbon_plugin.so $pkgdir/usr/lib/uwsgi/carbon_plugin.so + ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-} } package_uwsgi-plugin-rrdtool(){ depends=(uwsgi-plugin-common rrdtool) pkgdesc="Plugin for Rrdtool support" install -dm755 $pkgdir/usr/bin - ln -s uwsgi $pkgdir/usr/bin/uwsgi_rrdtool install -Dm755 $pkgbase-$pkgver/rrdtool_plugin.so $pkgdir/usr/lib/uwsgi/rrdtool_plugin.so + ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-} } package_uwsgi-plugin-erlang(){ depends=(uwsgi-plugin-common erlang) pkgdesc="Plugin for Erlang support" install -dm755 $pkgdir/usr/bin - ln -s uwsgi $pkgdir/usr/bin/uwsgi_erlang install -Dm755 $pkgbase-$pkgver/erlang_plugin.so $pkgdir/usr/lib/uwsgi/erlang_plugin.so + ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-} } @@ -212,15 +197,15 @@ package_uwsgi-plugin-pam(){ depends=(uwsgi-plugin-common) pkgdesc="Plugin for Pam support" install -dm755 $pkgdir/usr/bin - ln -s uwsgi $pkgdir/usr/bin/uwsgi_pam install -Dm755 $pkgbase-$pkgver/pam_plugin.so $pkgdir/usr/lib/uwsgi/pam_plugin.so + ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-} } package_uwsgi-plugin-jvm(){ - depends=(uwsgi-plugin-common java-runtime=7) + depends=(uwsgi-plugin-common java-environment=7 classpath) pkgdesc="Plugin for Jvm support" install -dm755 $pkgdir/usr/bin - ln -s uwsgi $pkgdir/usr/bin/uwsgi_jvm + install -Dm644 $pkgbase-$pkgver/plugins/jvm/uwsgi.jar $pkgdir/usr/share/java/uwsgi.jar install -Dm755 $pkgbase-$pkgver/jvm_plugin.so $pkgdir/usr/lib/uwsgi/jvm_plugin.so } @@ -228,6 +213,14 @@ package_uwsgi-plugin-zergpool(){ depends=(uwsgi-plugin-common) pkgdesc="Plugin for zergpool support" install -dm755 $pkgdir/usr/bin - ln -s uwsgi $pkgdir/usr/bin/uwsgi_zergpool install -Dm755 $pkgbase-$pkgver/zergpool_plugin.so $pkgdir/usr/lib/uwsgi/zergpool_plugin.so + ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-} +} + +package_uwsgi-plugin-gevent() { + depends=(uwsgi-plugin-common gevent) + pkgdesc="Plugin for gevent support" + install -dm755 $pkgdir/usr/bin + install -Dm755 $pkgbase-$pkgver/gevent_plugin.so $pkgdir/usr/lib/uwsgi/gevent_plugin.so + ln -s uwsgi $pkgdir/usr/bin/uwsgi_${pkgname#uwsgi-plugin-} } diff --git a/community/uwsgi/archlinux.ini b/community/uwsgi/archlinux.ini index 36841b267..4512b301a 100644 --- a/community/uwsgi/archlinux.ini +++ b/community/uwsgi/archlinux.ini @@ -6,12 +6,12 @@ yaml = true json = true pcre = true routing = true -debug = true +debug = false sqlite3 = true ssl = true xml_implementation = libxml2 yaml_implementation = auto malloc_implementation = libc -embedded_plugins = echo, ping, corerouter, http +embedded_plugins = echo, ping, http, corerouter plugin_dir = /usr/lib/uwsgi -plugins = rack, python, nagios, fastrouter, admin, lua, ruby, cache, cgi, rpc, ugreen, php, carbon, rrdtool, erlang, pam, jvm, router_uwsgi, router_redirect, router_basicauth, zergpool, router_rewrite, router_http, router_cache, rawrouter, router_static, sslrouter, systemd_logger +plugins = rack, rbthreads, fiber, python, nagios, admin, lua, cache, cgi, rpc, ugreen, carbon, rrdtool, erlang, pam, systemd_logger, php, fastrouter, router_uwsgi, router_redirect, router_basicauth, zergpool, router_rewrite, router_http, router_cache, rawrouter, router_static, sslrouter diff --git a/extra/asymptote/PKGBUILD b/extra/asymptote/PKGBUILD index 5570600dd..eca3192f2 100644 --- a/extra/asymptote/PKGBUILD +++ b/extra/asymptote/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 187088 2013-06-03 15:58:10Z remy $ +# $Id: PKGBUILD 191983 2013-08-03 19:18:46Z remy $ # Maintainer: Rémy Oudompheng # Contributor: Firmicus # Contributor: bender02 at gmx dot com pkgname=asymptote -pkgver=2.23 +pkgver=2.24 pkgrel=1 pkgdesc="A vector graphics language (like metapost)" arch=('i686' 'x86_64') @@ -12,14 +12,15 @@ url="http://asymptote.sourceforge.net/" license=("GPL3") depends=('texlive-core' 'gc' 'freeglut' 'glu' 'gsl' 'fftw' 'libsigsegv') makedepends=('ghostscript' 'imagemagick' - 'mesa' # For OpenGL headers + 'mesa' # For OpenGL headers + 'texlive-plainextra' # For texinfo ) optdepends=('python2: for the xasy GUI' 'python-imaging: for the xasy GUI' 'tix: for the xasy GUI') source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.src.tgz) install=texlive.install -sha1sums=('c24de9766ae7195c1cda947f9d2ae07497a0af8f') +sha1sums=('26dd0f4a36af0bc1d007d89ec7280ca55e9ed368') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/pcr/culmus-latex/PKGBUILD b/pcr/culmus-latex/PKGBUILD index 251ba0518..8562f2fb5 100644 --- a/pcr/culmus-latex/PKGBUILD +++ b/pcr/culmus-latex/PKGBUILD @@ -1,5 +1,4 @@ -#Contributor (Arch): Dmitry Batenkov +#Contributor (Arch): Dmitry Batenkov # Maintainer (Parabola): Alon Ivtsan # taken from https://aur.archlinux.org/packages/culmus-latex/ diff --git a/pcr/setbfree/PKGBUILD b/pcr/setbfree/PKGBUILD index 1b30f06c2..c17511f47 100644 --- a/pcr/setbfree/PKGBUILD +++ b/pcr/setbfree/PKGBUILD @@ -1,10 +1,9 @@ -# Maintainer: Guest One pkgname=setbfree -pkgver=0.7.2 +pkgver=0.7.3 pkgrel=1 pkgdesc="A DSP Tonewheel Organ emulator." -arch=('i686' 'x86_64') +arch=(i686 x86_64) url="http://setbfree.org/" license=('GPL') depends=('jack' 'liblo' 'tk' 'desktop-file-utils') @@ -12,7 +11,7 @@ makedepends=('lv2') install="$pkgname.install" source=("https://github.com/pantherb/setBfree/tarball/v$pkgver" "https://raw.github.com/pantherb/setBfree/master/debian/setbfree.desktop") -md5sums=('7b64947289687cbf71b9e87fdd006f36' +md5sums=('8b7b077dfb784927c7103948083e1f04' '8c2a863562f26856dcff0a456cf36dcf') build() { -- cgit v1.2.3-54-g00ecf