diff --git a/acpi_call/PKGBUILD b/acpi_call/PKGBUILD index 0ddd5c71d..a9c1ec2b1 100644 --- a/acpi_call/PKGBUILD +++ b/acpi_call/PKGBUILD @@ -2,12 +2,11 @@ source ../linux.conf pkgname=acpi_call -_pkgname=acpi_call pkgver=1.1.0 -pkgrel=45 +pkgrel=46 pkgdesc="A kernel module that enables you to call parameterless ACPI methods by writing the method name to /proc/acpi/call, e.g. to turn off discrete graphics card in a dual graphics environment (like NVIDIA Optimus)." arch=('x86_64') -url=("http://github.com/mkottman/acpi_call") +url="http://github.com/mkottman/acpi_call" license=('GPL') depends=("linux=${_kernelver}") makedepends=("linux-headers=${_kernelver}") @@ -41,7 +40,7 @@ package() { install -dm 755 "${pkgdir}"/usr/share/${pkgname} cp -dr --no-preserve='ownership' {examples,support} "${pkgdir}"/usr/share/${pkgname}/ - ln -s /usr/share/$_pkgname/examples/turn_off_gpu.sh \ + ln -s /usr/share/$pkgname/examples/turn_off_gpu.sh \ ${pkgdir}/usr/bin/turn_off_gpu.sh sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" \ diff --git a/bbswitch/PKGBUILD b/bbswitch/PKGBUILD index cc3fc994e..0a0c8ad2d 100644 --- a/bbswitch/PKGBUILD +++ b/bbswitch/PKGBUILD @@ -3,10 +3,10 @@ source ../linux.conf pkgname=bbswitch pkgver=0.8 -pkgrel=39 +pkgrel=40 pkgdesc="kernel module allowing to switch dedicated graphics card on Optimus laptops" arch=('x86_64') -url=("http://github.com/Bumblebee-Project/bbswitch") +url="http://github.com/Bumblebee-Project/bbswitch" license=('GPL') install=bbswitch.install depends=("linux=${_kernelver}") diff --git a/broadcom-wl/PKGBUILD b/broadcom-wl/PKGBUILD index cb55c8ead..8e0092432 100644 --- a/broadcom-wl/PKGBUILD +++ b/broadcom-wl/PKGBUILD @@ -3,7 +3,7 @@ source ../linux.conf pkgname=broadcom-wl pkgver=6.30.223.271 -pkgrel=21 +pkgrel=22 pkgdesc='Broadcom 802.11abgn hybrid Linux networking device driver' url='http://www.broadcom.com/support/802.11/linux_sta.php' arch=('x86_64') diff --git a/btrfs-progs/PKGBUILD b/btrfs-progs/PKGBUILD index 95ce17547..d53fb6ee2 100644 --- a/btrfs-progs/PKGBUILD +++ b/btrfs-progs/PKGBUILD @@ -3,7 +3,7 @@ pkgname=btrfs-progs pkgver=4.16 -pkgrel=3 +pkgrel=4 pkgdesc='Btrfs filesystem utilities' arch=('x86_64') depends=('glibc' 'util-linux' 'e2fsprogs' 'lzo2' 'zlib' 'zstd') diff --git a/libpurple/pidgin-2.10.11-gstreamer1-1.patch b/libpurple/pidgin-2.10.11-gstreamer1-1.patch deleted file mode 100644 index 83b00cd6b..000000000 --- a/libpurple/pidgin-2.10.11-gstreamer1-1.patch +++ /dev/null @@ -1,1144 +0,0 @@ -Submitted By: Bruce Dubbs -Date: 2015-07-07 -Initial Package Version: 2.10.11 -Upstream Status: Unknown -Origin: http://pkgs.fedoraproject.org/cgit/pidgin.git/ -Description: Allow pidgin to be built with gstreamer-1 -Notes: Re-diffed from upstream's original patch - -diff -Naur pidgin-2.10.11.orig/configure.ac pidgin-2.10.11/configure.ac ---- pidgin-2.10.11.orig/configure.ac 2014-11-23 10:41:25.000000000 -0600 -+++ pidgin-2.10.11/configure.ac 2015-07-07 15:36:28.689798169 -0500 -@@ -741,42 +741,115 @@ - dnl ####################################################################### - dnl # Check for GStreamer - dnl ####################################################################### --dnl --dnl TODO: Depend on gstreamer >= 0.10.10, and remove the conditional use of --dnl gst_registry_fork_set_enabled. - AC_ARG_ENABLE(gstreamer, -- [AC_HELP_STRING([--disable-gstreamer], [compile without GStreamer audio support])], -+ [AS_HELP_STRING([--disable-gstreamer], [compile without GStreamer audio support])], - enable_gst="$enableval", enable_gst="yes") -+AC_ARG_WITH(gstreamer, [AS_HELP_STRING([--with-gstreamer=], -+ [compile with GStreamer 0.10 or 1.0 interface (default: auto)])], -+ with_gstreamer="$withval", with_gstreamer="auto") - if test "x$enable_gst" != "xno"; then -- PKG_CHECK_MODULES(GSTREAMER, [gstreamer-0.10], [ -- AC_DEFINE(USE_GSTREAMER, 1, [Use GStreamer for playing sounds]) -- AC_SUBST(GSTREAMER_CFLAGS) -- AC_SUBST(GSTREAMER_LIBS) -- AC_CHECK_LIB(gstreamer-0.10, gst_registry_fork_set_enabled, -- [ AC_DEFINE(GST_CAN_DISABLE_FORKING, [], -- [Define if gst_registry_fork_set_enabled exists])], -- [], [$GSTREAMER_LIBS]) -- ], [ -- AC_MSG_RESULT(no) -- enable_gst="no" -- if test "x$force_deps" = "xyes" ; then -- AC_MSG_ERROR([ -+ if test "x$with_gstreamer" == "xauto"; then -+ PKG_CHECK_MODULES(GSTREAMER, [gstreamer-1.0], [ -+ AC_DEFINE(USE_GSTREAMER, 1, [Use GStreamer for playing sounds]) -+ with_gstreamer="1.0" -+ AC_SUBST(GSTREAMER_CFLAGS) -+ AC_SUBST(GSTREAMER_LIBS) -+ dnl Check whether forking stuff is required for this version. -+ ], [ -+ PKG_CHECK_MODULES(GSTREAMER, [gstreamer-0.10], [ -+ AC_DEFINE(USE_GSTREAMER, 1, [Use GStreamer for playing sounds]) -+ with_gstreamer="0.10" -+ AC_SUBST(GSTREAMER_CFLAGS) -+ AC_SUBST(GSTREAMER_LIBS) -+ ], [ -+ AC_MSG_RESULT(no) -+ enable_gst="no" -+ if test "x$force_deps" = "xyes" ; then -+ AC_MSG_ERROR([ - GStreamer development headers not found. - Use --disable-gstreamer if you do not need GStreamer (sound) support. - ]) -- fi]) -+ fi -+ ]) -+ ]) -+ elif test "x$with_gstreamer" == "x1.0"; then -+ PKG_CHECK_MODULES(GSTREAMER, [gstreamer-1.0], [ -+ AC_DEFINE(USE_GSTREAMER, 1, [Use GStreamer 1.0 for playing sounds]) -+ AC_SUBST(GSTREAMER_CFLAGS) -+ AC_SUBST(GSTREAMER_LIBS) -+ ], [ -+ AC_MSG_RESULT(no) -+ enable_gst="no" -+ if test "x$force_deps" = "xyes" ; then -+ AC_MSG_ERROR([ -+GStreamer development headers not found. -+Use --disable-gstreamer if you do not need GStreamer (sound) support. -+]) -+ fi -+ ]) -+ elif test "x$with_gstreamer" == "x0.10"; then -+ PKG_CHECK_MODULES(GSTREAMER, [gstreamer-0.10], [ -+ AC_DEFINE(USE_GSTREAMER, 1, [Use GStreamer 0.10 for playing sounds]) -+ AC_SUBST(GSTREAMER_CFLAGS) -+ AC_SUBST(GSTREAMER_LIBS) -+ ], [ -+ AC_MSG_RESULT(no) -+ enable_gst="no" -+ if test "x$force_deps" = "xyes" ; then -+ AC_MSG_ERROR([ -+GStreamer development headers not found. -+Use --disable-gstreamer if you do not need GStreamer (sound) support. -+]) -+ fi -+ ]) -+ else -+ AC_MSG_ERROR([--with-gstreamer must specify one of 0.10, 1.0 or auto.]) -+ fi -+fi -+ -+if test "x$with_gtk" == "x3" -a "x$with_gstreamer" == "x0.10"; then -+ AC_MSG_ERROR([WebKitGTK+ 3.0 cannot be mixed with GStreamer 0.10. -+Please switch to WebKitGTK+ 2.0 or GStreamer 1.0.]) -+elif test "x$with_gtk" == "x2" -a "x$with_gstreamer" == "x1.0"; then -+ AC_MSG_ERROR([WebKitGTK+ 2.0 cannot be mixed with GStreamer 1.0. -+Please switch to WebKitGTK+ 3.0 or GStreamer 0.10.]) -+fi -+if test "x$with_gstreamer" == "x0.10" -o "x$with_gstreamer" == "x1.0"; then -+ AC_SUBST(GSTREAMER_VER, [$with_gstreamer]) -+else -+ AC_SUBST(GSTREAMER_VER, "") -+fi -+ -+dnl ####################################################################### -+dnl # Check for GStreamer Video -+dnl ####################################################################### -+if test "x$enable_gst" != "xno" -a "x$with_gstreamer" == "x1.0"; then -+ AC_ARG_ENABLE(gstreamer-video, -+ [AS_HELP_STRING([--disable-gstreamer-video], [compile without GStreamer 1.0 Video Overlay support])], -+ enable_gstvideo="$enableval", enable_gstvideo="yes") -+ if test "x$enable_gstvideo" != "xno"; then -+ PKG_CHECK_MODULES(GSTVIDEO, [gstreamer-video-1.0], [ -+ AC_DEFINE(USE_GSTVIDEO, 1, [Use GStreamer Video Overlay support]) -+ AC_SUBST(GSTVIDEO_CFLAGS) -+ AC_SUBST(GSTVIDEO_LIBS) -+ ], [ -+ enable_gstvideo="no" -+ ]) -+ fi -+else -+ enable_gstvideo="no" - fi - - dnl ####################################################################### - dnl # Check for GStreamer Interfaces - dnl ####################################################################### --if test "x$enable_gst" != "xno"; then -+if test "x$enable_gst" != "xno" -a "x$with_gstreamer" == "x0.10"; then - AC_ARG_ENABLE(gstreamer-interfaces, -- [AC_HELP_STRING([--disable-gstreamer-interfaces], [compile without GStreamer interface support])], -+ [AS_HELP_STRING([--disable-gstreamer-interfaces], [compile without GStreamer 0.10 interface support])], - enable_gstinterfaces="$enableval", enable_gstinterfaces="yes") - if test "x$enable_gstinterfaces" != "xno"; then - PKG_CHECK_MODULES(GSTINTERFACES, [gstreamer-interfaces-0.10], [ -- AC_DEFINE(USE_GSTINTERFACES, 1, [Use GStreamer interfaces for X overlay support]) -+ AC_DEFINE(USE_GSTINTERFACES, 1, [Use GStreamer 0.10 interfaces for X overlay support]) - AC_SUBST(GSTINTERFACES_CFLAGS) - AC_SUBST(GSTINTERFACES_LIBS) - ], [ -@@ -791,32 +864,43 @@ - dnl # Check for Farstream - dnl ####################################################################### - AC_ARG_ENABLE(farstream, -- [AC_HELP_STRING([--disable-farstream], [compile without farstream support])], -+ [AS_HELP_STRING([--disable-farstream], [compile without farstream support])], - enable_farstream="$enableval", enable_farstream="yes") - if test "x$enable_farstream" != "xno"; then -- PKG_CHECK_MODULES(FARSTREAM, [farstream-0.1], [ -- AC_SUBST(FARSTREAM_CFLAGS) -- AC_SUBST(FARSTREAM_LIBS) -- ], [ -- # Try farsight. -- PKG_CHECK_MODULES(FARSTREAM, [farsight2-0.10 >= 0.0.9], [ -- AC_DEFINE(HAVE_FARSIGHT, 1, [Use Farsight instead of Farstream]) -+ if test "x$with_gstreamer" == "x1.0"; then -+ PKG_CHECK_MODULES(FARSTREAM, [farstream-0.2], [ - AC_SUBST(FARSTREAM_CFLAGS) - AC_SUBST(FARSTREAM_LIBS) - ], [ - enable_farstream="no" - ]) -- ]) -- fi -+ else -+ PKG_CHECK_MODULES(FARSTREAM, [farstream-0.1], [ -+ AC_SUBST(FARSTREAM_CFLAGS) -+ AC_SUBST(FARSTREAM_LIBS) -+ ], [ -+ # Try farsight. -+ PKG_CHECK_MODULES(FARSTREAM, [farsight2-0.10 >= 0.0.9], [ -+ AC_DEFINE(HAVE_FARSIGHT, 1, [Use Farsight instead of Farstream]) -+ AC_SUBST(FARSTREAM_CFLAGS) -+ AC_SUBST(FARSTREAM_LIBS) -+ ], [ -+ enable_farstream="no" -+ ]) -+ ]) -+ fi -+fi - - dnl ####################################################################### - dnl # Check for Voice and Video support - dnl ####################################################################### - AC_ARG_ENABLE(vv, -- [AC_HELP_STRING([--disable-vv], [compile without voice and video support])], -+ [AS_HELP_STRING([--disable-vv], [compile without voice and video support])], - enable_vv="$enableval", enable_vv="yes") - if test "x$enable_vv" != "xno"; then -- if test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farstream" != "xno"; then -+ if test "x$enable_gst" != "xno" -a "x$with_gstreamer" == "x1.0" -a "x$enable_gstvideo" != "xno" -a "x$enable_farstream" != "xno"; then -+ AC_DEFINE(USE_VV, 1, [Use voice and video]) -+ elif test "x$enable_gst" != "xno" -a "x$with_gstreamer" == "x0.10" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farstream" != "xno"; then - AC_DEFINE(USE_VV, 1, [Use voice and video]) - else - enable_vv="no" -@@ -829,7 +913,7 @@ - fi - fi - fi --AM_CONDITIONAL(USE_VV, test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farstream" != "xno") -+AM_CONDITIONAL(USE_VV, test "x$enable_vv" != "xno") - - dnl ####################################################################### - dnl # Check for Internationalized Domain Name support -@@ -2605,6 +2689,7 @@ - echo Protocols to link statically.. : $STATIC_PRPLS - echo - echo Build with GStreamer support.. : $enable_gst -+echo Build for GStreamer version... : $with_gstreamer - echo Build with D-Bus support...... : $enable_dbus - echo Build with voice and video.... : $enable_vv - if test "x$enable_dbus" = "xyes" ; then -diff -Naur pidgin-2.10.11.orig/finch/Makefile.am pidgin-2.10.11/finch/Makefile.am ---- pidgin-2.10.11.orig/finch/Makefile.am 2014-11-23 10:41:25.000000000 -0600 -+++ pidgin-2.10.11/finch/Makefile.am 2015-07-07 15:36:28.689798169 -0500 -@@ -73,6 +73,7 @@ - $(LIBXML_LIBS) \ - $(GNT_LIBS) \ - $(GSTREAMER_LIBS) \ -+ $(GSTVIDEO_LIBS) \ - ./libgnt/libgnt.la \ - $(top_builddir)/libpurple/libpurple.la - -diff -Naur pidgin-2.10.11.orig/libpurple/Makefile.am pidgin-2.10.11/libpurple/Makefile.am ---- pidgin-2.10.11.orig/libpurple/Makefile.am 2014-11-23 10:41:25.000000000 -0600 -+++ pidgin-2.10.11/libpurple/Makefile.am 2015-07-07 15:36:28.690798136 -0500 -@@ -308,6 +308,7 @@ - $(INTLLIBS) \ - $(FARSTREAM_LIBS) \ - $(GSTREAMER_LIBS) \ -+ $(GSTVIDEO_LIBS) \ - $(GSTINTERFACES_LIBS) \ - $(IDN_LIBS) \ - ciphers/libpurple-ciphers.la \ -@@ -324,6 +325,7 @@ - $(LIBXML_CFLAGS) \ - $(FARSTREAM_CFLAGS) \ - $(GSTREAMER_CFLAGS) \ -+ $(GSTVIDEO_CFLAGS) \ - $(GSTINTERFACES_CFLAGS) \ - $(IDN_CFLAGS) \ - $(NETWORKMANAGER_CFLAGS) -diff -Naur pidgin-2.10.11.orig/libpurple/data/purple.pc.in pidgin-2.10.11/libpurple/data/purple.pc.in ---- pidgin-2.10.11.orig/libpurple/data/purple.pc.in 2014-11-23 10:41:25.000000000 -0600 -+++ pidgin-2.10.11/libpurple/data/purple.pc.in 2015-07-07 15:36:28.690798136 -0500 -@@ -5,6 +5,7 @@ - datarootdir=@datarootdir@ - datadir=@datadir@ - sysconfdir=@sysconfdir@ -+gstreamer=@GSTREAMER_VER@ - - plugindir=${libdir}/purple-@PURPLE_MAJOR_VERSION@ - -diff -Naur pidgin-2.10.11.orig/libpurple/example/Makefile.am pidgin-2.10.11/libpurple/example/Makefile.am ---- pidgin-2.10.11.orig/libpurple/example/Makefile.am 2014-11-23 10:41:25.000000000 -0600 -+++ pidgin-2.10.11/libpurple/example/Makefile.am 2015-07-07 15:36:28.690798136 -0500 -@@ -8,6 +8,7 @@ - $(INTLLIBS) \ - $(GLIB_LIBS) \ - $(LIBXML_LIBS) \ -+ $(GSTVIDEO_LIBS) \ - $(top_builddir)/libpurple/libpurple.la - - AM_CPPFLAGS = \ -diff -Naur pidgin-2.10.11.orig/libpurple/media/backend-fs2.c pidgin-2.10.11/libpurple/media/backend-fs2.c ---- pidgin-2.10.11.orig/libpurple/media/backend-fs2.c 2014-11-23 10:41:25.000000000 -0600 -+++ pidgin-2.10.11/libpurple/media/backend-fs2.c 2015-07-07 15:39:19.813094671 -0500 -@@ -41,6 +41,7 @@ - #include - #include - #include -+#include - #endif - - /** @copydoc _PurpleMediaBackendFs2Class */ -@@ -239,9 +240,17 @@ - g_return_val_if_reached(PURPLE_MEDIA_NETWORK_PROTOCOL_TCP); - } - -+#if GST_CHECK_VERSION(1,0,0) -+static GstPadProbeReturn -+event_probe_cb(GstPad *srcpad, GstPadProbeInfo *info, gpointer unused) -+#else - static gboolean - event_probe_cb(GstPad *srcpad, GstEvent *event, gboolean release_pad) -+#endif - { -+#if GST_CHECK_VERSION(1,0,0) -+ GstEvent *event = GST_PAD_PROBE_INFO_EVENT(info); -+#endif - if (GST_EVENT_TYPE(event) == GST_EVENT_CUSTOM_DOWNSTREAM - && gst_event_has_name(event, "purple-unlink-tee")) { - -@@ -249,22 +258,40 @@ - - gst_pad_unlink(srcpad, gst_pad_get_peer(srcpad)); - -+#if GST_CHECK_VERSION(1,0,0) -+ gst_pad_remove_probe(srcpad, -+ g_value_get_ulong(gst_structure_get_value(s, "handler-id"))); -+#else - gst_pad_remove_event_probe(srcpad, - g_value_get_uint(gst_structure_get_value(s, "handler-id"))); -+#endif - - if (g_value_get_boolean(gst_structure_get_value(s, "release-pad"))) - gst_element_release_request_pad(GST_ELEMENT_PARENT(srcpad), srcpad); - -+#if GST_CHECK_VERSION(1,0,0) -+ return GST_PAD_PROBE_DROP; -+#else - return FALSE; -+#endif - } - -+#if GST_CHECK_VERSION(1,0,0) -+ return GST_PAD_PROBE_OK; -+#else - return TRUE; -+#endif - } - - static void - unlink_teepad_dynamic(GstPad *srcpad, gboolean release_pad) - { -+#if GST_CHECK_VERSION(1,0,0) -+ gulong id = gst_pad_add_probe(srcpad, GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM, -+ event_probe_cb, NULL, NULL); -+#else - guint id = gst_pad_add_event_probe(srcpad, G_CALLBACK(event_probe_cb), NULL); -+#endif - - if (GST_IS_GHOST_PAD(srcpad)) - srcpad = gst_ghost_pad_get_target(GST_GHOST_PAD(srcpad)); -@@ -273,7 +300,11 @@ - gst_event_new_custom(GST_EVENT_CUSTOM_DOWNSTREAM, - gst_structure_new("purple-unlink-tee", - "release-pad", G_TYPE_BOOLEAN, release_pad, -+#if GST_CHECK_VERSION(1,0,0) -+ "handler-id", G_TYPE_ULONG, id, -+#else - "handler-id", G_TYPE_UINT, id, -+#endif - NULL))); - } - -@@ -855,15 +886,31 @@ - gdouble value_db; - gdouble percent; - -- list = gst_structure_get_value( -- gst_message_get_structure(msg), value_name); -+ list = gst_structure_get_value(gst_message_get_structure(msg), value_name); -+#if GST_CHECK_VERSION(1,0,0) -+G_GNUC_BEGIN_IGNORE_DEPRECATIONS -+ value = g_value_array_get_nth(g_value_get_boxed(list), 0); -+G_GNUC_END_IGNORE_DEPRECATIONS -+#else - value = gst_value_list_get_value(list, 0); -+#endif - value_db = g_value_get_double(value); - percent = pow(10, value_db / 20); - return (percent > 1.0) ? 1.0 : percent; - } - - static void -+purple_media_error_fs(PurpleMedia *media, const gchar *error, -+ const GstStructure *fs_error) -+{ -+ const gchar *error_msg = gst_structure_get_string(fs_error, "error-msg"); -+ -+ purple_media_error(media, "%s%s%s", error, -+ error_msg ? _("\n\nMessage from Farsight: ") : "", -+ error_msg ? error_msg : ""); -+} -+ -+static void - gst_handle_message_element(GstBus *bus, GstMessage *msg, - PurpleMediaBackendFs2 *self) - { -@@ -871,11 +918,12 @@ - PURPLE_MEDIA_BACKEND_FS2_GET_PRIVATE(self); - GstElement *src = GST_ELEMENT(GST_MESSAGE_SRC(msg)); - static guint level_id = 0; -+ const GstStructure *structure = gst_message_get_structure(msg); - - if (level_id == 0) - level_id = g_signal_lookup("level", PURPLE_TYPE_MEDIA); - -- if (gst_structure_has_name(msg->structure, "level")) { -+ if (gst_structure_has_name(structure, "level")) { - GstElement *src = GST_ELEMENT(GST_MESSAGE_SRC(msg)); - gchar *name; - gchar *participant = NULL; -@@ -930,31 +978,63 @@ - return; - - #ifdef HAVE_FARSIGHT -- if (gst_structure_has_name(msg->structure, "farsight-error")) { -+ if (gst_structure_has_name(structure, "farsight-error")) { - #else -- if (gst_structure_has_name(msg->structure, "farstream-error")) { -+ if (gst_structure_has_name(structure, "farstream-error")) { - #endif - FsError error_no; -- gst_structure_get_enum(msg->structure, "error-no", -+ gboolean error_emitted = FALSE; -+ gst_structure_get_enum(structure, "error-no", - FS_TYPE_ERROR, (gint*)&error_no); - switch (error_no) { -+ case FS_ERROR_CONSTRUCTION: -+ purple_media_error_fs(priv->media, -+ _("Error initializing the call. " -+ "This probably denotes problem in " -+#ifdef HAVE_FARSIGHT -+ "installation of GStreamer or Farsight."), -+#else -+ "installation of GStreamer or Farstream."), -+#endif -+ structure); -+ error_emitted = TRUE; -+ break; -+ case FS_ERROR_NETWORK: -+ purple_media_error_fs(priv->media, _("Network error."), -+ structure); -+ error_emitted = TRUE; -+ purple_media_end(priv->media, NULL, NULL); -+ break; -+ case FS_ERROR_NEGOTIATION_FAILED: -+ purple_media_error_fs(priv->media, -+ _("Codec negotiation failed. " -+ "This problem might be resolved by installing " -+ "more GStreamer codecs."), -+ structure); -+ error_emitted = TRUE; -+ purple_media_end(priv->media, NULL, NULL); -+ break; - case FS_ERROR_NO_CODECS: -- purple_media_error(priv->media, _("No codecs" -- " found. Install some" -- " GStreamer codecs found" -- " in GStreamer plugins" -- " packages.")); -+ purple_media_error(priv->media, -+ _("No codecs found. " -+ "Install some GStreamer codecs found " -+ "in GStreamer plugins packages.")); -+ error_emitted = TRUE; - purple_media_end(priv->media, NULL, NULL); - break; - #ifdef HAVE_FARSIGHT - case FS_ERROR_NO_CODECS_LEFT: -- purple_media_error(priv->media, _("No codecs" -- " left. Your codec" -- " preferences in" -- " fs-codecs.conf are too" -- " strict.")); -+ purple_media_error(priv->media, -+ _("No codecs left. Your codec preferences " -+ "in fs-codecs.conf are too strict.")); -+ error_emitted = TRUE; - purple_media_end(priv->media, NULL, NULL); - break; -+ case FS_ERROR_CONNECTION_FAILED: -+ purple_media_error(priv->media, -+ _("Could not connect to the remote party")); -+ error_emitted = TRUE; -+ break; - case FS_ERROR_UNKNOWN_CNAME: - /* - * Unknown CName is only a problem for the -@@ -971,22 +1051,22 @@ - "farstream-error: %i: %s\n", - #endif - error_no, -- gst_structure_get_string( -- msg->structure, "error-msg")); -+ gst_structure_get_string(structure, "error-msg")); - break; - } - - if (FS_ERROR_IS_FATAL(error_no)) { -+ if (!error_emitted) - #ifdef HAVE_FARSIGHT -- purple_media_error(priv->media, _("A non-recoverable " -- "Farsight2 error has occurred.")); -+ purple_media_error(priv->media, -+ _("A non-recoverable Farsight2 error has occurred.")); - #else -- purple_media_error(priv->media, _("A non-recoverable " -- "Farstream error has occurred.")); -+ purple_media_error(priv->media, -+ _("A non-recoverable Farstream error has occurred.")); - #endif - purple_media_end(priv->media, NULL, NULL); - } -- } else if (gst_structure_has_name(msg->structure, -+ } else if (gst_structure_has_name(structure, - #ifdef HAVE_FARSIGHT - "farsight-new-local-candidate")) { - #else -@@ -1001,9 +1081,9 @@ - PurpleMediaBackendFs2Stream *media_stream; - gchar *name; - -- value = gst_structure_get_value(msg->structure, "stream"); -+ value = gst_structure_get_value(structure, "stream"); - stream = g_value_get_object(value); -- value = gst_structure_get_value(msg->structure, "candidate"); -+ value = gst_structure_get_value(structure, "candidate"); - local_candidate = g_value_get_boxed(value); - - session = get_session_from_fs_stream(self, stream); -@@ -1025,7 +1105,7 @@ - g_signal_emit_by_name(self, "new-candidate", - session->id, name, candidate); - g_object_unref(candidate); -- } else if (gst_structure_has_name(msg->structure, -+ } else if (gst_structure_has_name(structure, - #ifdef HAVE_FARSIGHT - "farsight-local-candidates-prepared")) { - #else -@@ -1037,7 +1117,7 @@ - PurpleMediaBackendFs2Session *session; - gchar *name; - -- value = gst_structure_get_value(msg->structure, "stream"); -+ value = gst_structure_get_value(structure, "stream"); - stream = g_value_get_object(value); - session = get_session_from_fs_stream(self, stream); - -@@ -1047,7 +1127,7 @@ - - g_signal_emit_by_name(self, "candidates-prepared", - session->id, name); -- } else if (gst_structure_has_name(msg->structure, -+ } else if (gst_structure_has_name(structure, - #ifdef HAVE_FARSIGHT - "farsight-new-active-candidate-pair")) { - #else -@@ -1062,13 +1142,11 @@ - PurpleMediaCandidate *lcandidate, *rcandidate; - gchar *name; - -- value = gst_structure_get_value(msg->structure, "stream"); -+ value = gst_structure_get_value(structure, "stream"); - stream = g_value_get_object(value); -- value = gst_structure_get_value(msg->structure, -- "local-candidate"); -+ value = gst_structure_get_value(structure, "local-candidate"); - local_candidate = g_value_get_boxed(value); -- value = gst_structure_get_value(msg->structure, -- "remote-candidate"); -+ value = gst_structure_get_value(structure, "remote-candidate"); - remote_candidate = g_value_get_boxed(value); - - g_object_get(stream, "participant", &participant, NULL); -@@ -1085,7 +1163,7 @@ - - g_object_unref(lcandidate); - g_object_unref(rcandidate); -- } else if (gst_structure_has_name(msg->structure, -+ } else if (gst_structure_has_name(structure, - #ifdef HAVE_FARSIGHT - "farsight-recv-codecs-changed")) { - #else -@@ -1095,7 +1173,7 @@ - GList *codecs; - FsCodec *codec; - -- value = gst_structure_get_value(msg->structure, "codecs"); -+ value = gst_structure_get_value(structure, "codecs"); - codecs = g_value_get_boxed(value); - codec = codecs->data; - -@@ -1106,7 +1184,7 @@ - "farstream-recv-codecs-changed: %s\n", - #endif - codec->encoding_name); -- } else if (gst_structure_has_name(msg->structure, -+ } else if (gst_structure_has_name(structure, - #ifdef HAVE_FARSIGHT - "farsight-component-state-changed")) { - #else -@@ -1117,9 +1195,9 @@ - guint component; - const gchar *state; - -- value = gst_structure_get_value(msg->structure, "state"); -+ value = gst_structure_get_value(structure, "state"); - fsstate = g_value_get_enum(value); -- value = gst_structure_get_value(msg->structure, "component"); -+ value = gst_structure_get_value(structure, "component"); - component = g_value_get_uint(value); - - switch (fsstate) { -@@ -1154,7 +1232,7 @@ - #endif - "component: %u state: %s\n", - component, state); -- } else if (gst_structure_has_name(msg->structure, -+ } else if (gst_structure_has_name(structure, - #ifdef HAVE_FARSIGHT - "farsight-send-codec-changed")) { - #else -@@ -1164,7 +1242,7 @@ - FsCodec *codec; - gchar *codec_str; - -- value = gst_structure_get_value(msg->structure, "codec"); -+ value = gst_structure_get_value(structure, "codec"); - codec = g_value_get_boxed(value); - codec_str = fs_codec_to_string(codec); - -@@ -1177,7 +1255,7 @@ - codec_str); - - g_free(codec_str); -- } else if (gst_structure_has_name(msg->structure, -+ } else if (gst_structure_has_name(structure, - #ifdef HAVE_FARSIGHT - "farsight-codecs-changed")) { - #else -@@ -1187,7 +1265,7 @@ - FsSession *fssession; - GList *sessions; - -- value = gst_structure_get_value(msg->structure, "session"); -+ value = gst_structure_get_value(structure, "session"); - fssession = g_value_get_object(value); - sessions = g_hash_table_get_values(priv->sessions); - -@@ -1631,7 +1709,11 @@ - srcpad = gst_element_get_static_pad(session->srcvalve, "src"); - g_object_set(volume, "volume", input_volume, NULL); - } else { -+#if GST_CHECK_VERSION(1,0,0) -+ srcpad = gst_element_get_request_pad(session->tee, "src_%u"); -+#else - srcpad = gst_element_get_request_pad(session->tee, "src%d"); -+#endif - } - - purple_debug_info("backend-fs2", "connecting pad: %s\n", -@@ -1641,11 +1723,14 @@ - gst_object_unref(session->src); - gst_object_unref(sinkpad); - -- gst_element_set_state(session->src, GST_STATE_PLAYING); -- - purple_media_manager_create_output_window(purple_media_get_manager( - priv->media), priv->media, sess_id, NULL); - -+ purple_debug_info("backend-fs2", "create_src: setting source " -+ "state to GST_STATE_PLAYING - it may hang here on win32\n"); -+ gst_element_set_state(session->src, GST_STATE_PLAYING); -+ purple_debug_info("backend-fs2", "create_src: state set\n"); -+ - return TRUE; - } - -@@ -1849,14 +1934,10 @@ - * audioresample ! audioconvert ! realsink - */ - stream->queue = gst_element_factory_make("queue", NULL); -- stream->volume = gst_element_factory_make( -- "volume", NULL); -- g_object_set(stream->volume, "volume", -- output_volume, NULL); -- stream->level = gst_element_factory_make( -- "level", NULL); -- stream->src = gst_element_factory_make( -- "liveadder", NULL); -+ stream->volume = gst_element_factory_make("volume", NULL); -+ g_object_set(stream->volume, "volume", output_volume, NULL); -+ stream->level = gst_element_factory_make("level", NULL); -+ stream->src = gst_element_factory_make("liveadder", NULL); - sink = purple_media_manager_get_element( - purple_media_get_manager(priv->media), - PURPLE_MEDIA_RECV_AUDIO, priv->media, -@@ -1875,10 +1956,12 @@ - gst_element_link(stream->queue, stream->volume); - sink = stream->queue; - } else if (codec->media_type == FS_MEDIA_TYPE_VIDEO) { -- stream->src = gst_element_factory_make( -- "fsfunnel", NULL); -- sink = gst_element_factory_make( -- "fakesink", NULL); -+#if GST_CHECK_VERSION(1,0,0) -+ stream->src = gst_element_factory_make("funnel", NULL); -+#else -+ stream->src = gst_element_factory_make("fsfunnel", NULL); -+#endif -+ sink = gst_element_factory_make("fakesink", NULL); - g_object_set(G_OBJECT(sink), "async", FALSE, NULL); - gst_bin_add(GST_BIN(priv->confbin), sink); - gst_element_set_state(sink, GST_STATE_PLAYING); -@@ -1892,7 +1975,11 @@ - gst_element_link_many(stream->src, stream->tee, sink, NULL); - } - -+#if GST_CHECK_VERSION(1,0,0) -+ sinkpad = gst_element_get_request_pad(stream->src, "sink_%u"); -+#else - sinkpad = gst_element_get_request_pad(stream->src, "sink%d"); -+#endif - gst_pad_link(srcpad, sinkpad); - gst_object_unref(sinkpad); - -@@ -2074,8 +2161,8 @@ - if (!fs_stream_set_transmitter(fsstream, transmitter, - _params, _num_params, &err)) { - purple_debug_error("backend-fs2", -- "Could not set transmitter %s: %s.\n", -- transmitter, err->message); -+ "Could not set transmitter %s: %s.\n", -+ transmitter, err ? err->message : NULL); - g_clear_error(&err); - g_free(_params); - return FALSE; -@@ -2394,38 +2481,6 @@ - return TRUE; - } - --static void --purple_media_backend_fs2_set_params(PurpleMediaBackend *self, -- guint num_params, GParameter *params) --{ -- PurpleMediaBackendFs2Private *priv; -- const gchar **supported = purple_media_backend_fs2_get_available_params(); -- const gchar **p; -- guint i; -- -- g_return_if_fail(PURPLE_IS_MEDIA_BACKEND_FS2(self)); -- -- priv = PURPLE_MEDIA_BACKEND_FS2_GET_PRIVATE(self); -- -- if (priv->conference == NULL && -- !init_conference(PURPLE_MEDIA_BACKEND_FS2(self))) { -- purple_debug_error("backend-fs2", -- "Error initializing the conference.\n"); -- return; -- } -- -- for (i = 0; i != num_params; ++i) { -- for (p = supported; *p != NULL; ++p) { -- if (!strcmp(params[i].name, *p)) { -- g_object_set(priv->conference, -- params[i].name, g_value_get_string(¶ms[i].value), -- NULL); -- break; -- } -- } -- } --} -- - static const gchar ** - purple_media_backend_fs2_get_available_params(void) - { -@@ -2436,6 +2491,72 @@ - - return supported_params; - } -+ -+static const gchar* -+param_to_sdes_type(const gchar *param) -+{ -+ const gchar **supported = purple_media_backend_fs2_get_available_params(); -+ static const gchar *sdes_types[] = { -+ "cname", "email", "location", "name", "note", "phone", "tool", NULL -+ }; -+ guint i; -+ -+ for (i = 0; supported[i] != NULL; ++i) { -+ if (!strcmp(param, supported[i])) { -+ return sdes_types[i]; -+ } -+ } -+ -+ return NULL; -+} -+ -+static void -+purple_media_backend_fs2_set_params(PurpleMediaBackend *self, -+ guint num_params, GParameter *params) -+{ -+ PurpleMediaBackendFs2Private *priv; -+ guint i; -+#ifndef HAVE_FARSIGHT -+ GstStructure *sdes; -+#endif -+ -+ g_return_if_fail(PURPLE_IS_MEDIA_BACKEND_FS2(self)); -+ -+ priv = PURPLE_MEDIA_BACKEND_FS2_GET_PRIVATE(self); -+ -+ if (priv->conference == NULL && -+ !init_conference(PURPLE_MEDIA_BACKEND_FS2(self))) { -+ purple_debug_error("backend-fs2", -+ "Error initializing the conference.\n"); -+ return; -+ } -+ -+#ifdef HAVE_FARSIGHT -+ for (i = 0; i != num_params; ++i) { -+ if (param_to_sdes_type(params[i].name)) { -+ g_object_set(priv->conference, -+ params[i].name, g_value_get_string(¶ms[i].value), -+ NULL); -+ } -+ } -+#else -+ g_object_get(G_OBJECT(priv->conference), "sdes", &sdes, NULL); -+ -+ for (i = 0; i != num_params; ++i) { -+ const gchar *sdes_type = param_to_sdes_type(params[i].name); -+ if (!sdes_type) -+ continue; -+ -+ gst_structure_set(sdes, sdes_type, -+ G_TYPE_STRING, g_value_get_string(¶ms[i].value), -+ NULL); -+ } -+ -+ g_object_set(G_OBJECT(priv->conference), "sdes", sdes, NULL); -+ gst_structure_free(sdes); -+#endif /* HAVE_FARSIGHT */ -+} -+ - #else - GType - purple_media_backend_fs2_get_type(void) -@@ -2444,6 +2565,7 @@ - } - #endif /* USE_VV */ - -+ - #ifdef USE_GSTREAMER - GstElement * - purple_media_backend_fs2_get_src(PurpleMediaBackendFs2 *self, -diff -Naur pidgin-2.10.11.orig/libpurple/mediamanager.c pidgin-2.10.11/libpurple/mediamanager.c ---- pidgin-2.10.11.orig/libpurple/mediamanager.c 2014-11-23 10:41:25.000000000 -0600 -+++ pidgin-2.10.11/libpurple/mediamanager.c 2015-07-07 15:36:28.691798103 -0500 -@@ -44,7 +44,12 @@ - #else - #include - #endif -+ -+#if GST_CHECK_VERSION(1,0,0) -+#include -+#else - #include -+#endif - - /** @copydoc _PurpleMediaManagerPrivate */ - typedef struct _PurpleMediaManagerPrivate PurpleMediaManagerPrivate; -@@ -270,8 +275,11 @@ - gst_bus_add_signal_watch(GST_BUS(bus)); - g_signal_connect(G_OBJECT(bus), "message", - G_CALLBACK(pipeline_bus_call), manager); -- gst_bus_set_sync_handler(bus, -- gst_bus_sync_signal_handler, NULL); -+#if GST_CHECK_VERSION(1,0,0) -+ gst_bus_set_sync_handler(bus, gst_bus_sync_signal_handler, NULL, NULL); -+#else -+ gst_bus_set_sync_handler(bus, gst_bus_sync_signal_handler, NULL); -+#endif - gst_object_unref(bus); - - filename = g_build_filename(purple_user_dir(), -@@ -405,20 +413,31 @@ - { - GstElement *parent = GST_ELEMENT_PARENT(pad); - GstIterator *iter; -+#if GST_CHECK_VERSION(1,0,0) -+ GValue tmp = G_VALUE_INIT; -+#endif - GstPad *remaining_pad; - GstIteratorResult result; - -- gst_element_release_request_pad(GST_ELEMENT_PARENT(pad), pad); -+ gst_element_release_request_pad(parent, pad); - - iter = gst_element_iterate_src_pads(parent); - -+#if GST_CHECK_VERSION(1,0,0) -+ result = gst_iterator_next(iter, &tmp); -+#else - result = gst_iterator_next(iter, (gpointer)&remaining_pad); -+#endif - - if (result == GST_ITERATOR_DONE) { - gst_element_set_locked_state(parent, TRUE); - gst_element_set_state(parent, GST_STATE_NULL); - gst_bin_remove(GST_BIN(GST_ELEMENT_PARENT(parent)), parent); - } else if (result == GST_ITERATOR_OK) { -+#if GST_CHECK_VERSION(1,0,0) -+ remaining_pad = g_value_get_object(&tmp); -+ g_value_reset(&tmp); -+#endif - gst_object_unref(remaining_pad); - } - -@@ -456,7 +475,11 @@ - { - #ifdef USE_VV - if (manager->priv->video_caps == NULL) -+#if GST_CHECK_VERSION(1,0,0) -+ manager->priv->video_caps = gst_caps_from_string("video/x-raw," -+#else - manager->priv->video_caps = gst_caps_from_string("video/x-raw-yuv," -+#endif - "width=[250,352], height=[200,288], framerate=[1/1,20/1]"); - return manager->priv->video_caps; - #else -@@ -539,7 +562,11 @@ - g_free(id); - - tee = gst_bin_get_by_name(GST_BIN(ret), "tee"); -+#if GST_CHECK_VERSION(1,0,0) -+ pad = gst_element_get_request_pad(tee, "src_%u"); -+#else - pad = gst_element_get_request_pad(tee, "src%d"); -+#endif - gst_object_unref(tee); - ghost = gst_ghost_pad_new(NULL, pad); - gst_object_unref(pad); -@@ -730,9 +757,12 @@ - { - GstElement *sink; - -- if (GST_MESSAGE_TYPE(msg) != GST_MESSAGE_ELEMENT || -- !gst_structure_has_name(msg->structure, -- "prepare-xwindow-id")) -+ if (GST_MESSAGE_TYPE(msg) != GST_MESSAGE_ELEMENT -+#if GST_CHECK_VERSION(1,0,0) -+ || !gst_is_video_overlay_prepare_window_handle_message(msg)) -+#else -+ || !gst_structure_has_name(msg->structure, "prepare-xwindow-id")) -+#endif - return; - - sink = GST_ELEMENT(GST_MESSAGE_SRC(msg)); -@@ -746,8 +776,16 @@ - | G_SIGNAL_MATCH_DATA, 0, 0, NULL, - window_id_cb, ow); - -- gst_x_overlay_set_xwindow_id(GST_X_OVERLAY( -- GST_MESSAGE_SRC(msg)), ow->window_id); -+#if GST_CHECK_VERSION(1,0,0) -+ gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(GST_MESSAGE_SRC(msg)), -+ ow->window_id); -+#elif GST_CHECK_VERSION(0,10,31) -+ gst_x_overlay_set_window_handle(GST_X_OVERLAY(GST_MESSAGE_SRC(msg)), -+ ow->window_id); -+#else -+ gst_x_overlay_set_xwindow_id(GST_X_OVERLAY(GST_MESSAGE_SRC(msg)), -+ ow->window_id); -+#endif - } - #endif - -@@ -772,17 +810,19 @@ - (participant == ow->participant)) && - !strcmp(session_id, ow->session_id)) { - GstBus *bus; -- GstElement *queue, *colorspace; -+ GstElement *queue, *convert; - GstElement *tee = purple_media_get_tee(media, - session_id, participant); - - if (tee == NULL) - continue; - -- queue = gst_element_factory_make( -- "queue", NULL); -- colorspace = gst_element_factory_make( -- "ffmpegcolorspace", NULL); -+ queue = gst_element_factory_make("queue", NULL); -+#if GST_CHECK_VERSION(1,0,0) -+ convert = gst_element_factory_make("videoconvert", NULL); -+#else -+ convert = gst_element_factory_make("ffmpegcolorspace", NULL); -+#endif - ow->sink = purple_media_manager_get_element( - manager, PURPLE_MEDIA_RECV_VIDEO, - ow->media, ow->session_id, -@@ -795,7 +835,7 @@ - if (g_object_class_find_property(klass, - "sync")) - g_object_set(G_OBJECT(ow->sink), -- "sync", "FALSE", NULL); -+ "sync", FALSE, NULL); - if (g_object_class_find_property(klass, - "async")) - g_object_set(G_OBJECT(ow->sink), -@@ -803,7 +843,7 @@ - } - - gst_bin_add_many(GST_BIN(GST_ELEMENT_PARENT(tee)), -- queue, colorspace, ow->sink, NULL); -+ queue, convert, ow->sink, NULL); - - bus = gst_pipeline_get_bus(GST_PIPELINE( - manager->priv->pipeline)); -@@ -812,10 +852,10 @@ - gst_object_unref(bus); - - gst_element_set_state(ow->sink, GST_STATE_PLAYING); -- gst_element_set_state(colorspace, GST_STATE_PLAYING); -+ gst_element_set_state(convert, GST_STATE_PLAYING); - gst_element_set_state(queue, GST_STATE_PLAYING); -- gst_element_link(colorspace, ow->sink); -- gst_element_link(queue, colorspace); -+ gst_element_link(convert, ow->sink); -+ gst_element_link(queue, convert); - gst_element_link(tee, queue); - } - } -diff -Naur pidgin-2.10.11.orig/pidgin/Makefile.am pidgin-2.10.11/pidgin/Makefile.am ---- pidgin-2.10.11.orig/pidgin/Makefile.am 2014-11-23 10:41:26.000000000 -0600 -+++ pidgin-2.10.11/pidgin/Makefile.am 2015-07-07 15:36:28.691798103 -0500 -@@ -151,6 +151,7 @@ - $(GLIB_LIBS) \ - $(DBUS_LIBS) \ - $(GSTREAMER_LIBS) \ -+ $(GSTVIDEO_LIBS) \ - $(XSS_LIBS) \ - $(SM_LIBS) \ - $(INTLLIBS) \ -diff -Naur pidgin-2.10.11.orig/pidgin/gtkmedia.c pidgin-2.10.11/pidgin/gtkmedia.c ---- pidgin-2.10.11.orig/pidgin/gtkmedia.c 2014-11-23 10:41:26.000000000 -0600 -+++ pidgin-2.10.11/pidgin/gtkmedia.c 2015-07-07 15:36:28.691798103 -0500 -@@ -42,7 +42,9 @@ - #include - #endif - -+#if !GST_CHECK_VERSION(1,0,0) - #include -+#endif - - #define PIDGIN_TYPE_MEDIA (pidgin_media_get_type()) - #define PIDGIN_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PIDGIN_TYPE_MEDIA, PidginMedia)) -@@ -589,6 +591,9 @@ - if (conv != NULL) - purple_conversation_write(conv, NULL, error, - PURPLE_MESSAGE_ERROR, time(NULL)); -+ else -+ purple_notify_error(NULL, NULL, _("Media error"), error); -+ - gtk_statusbar_push(GTK_STATUSBAR(gtkmedia->priv->statusbar), - 0, error); - } -diff -Naur pidgin-2.10.11.orig/pidgin/plugins/vvconfig.c pidgin-2.10.11/pidgin/plugins/vvconfig.c ---- pidgin-2.10.11.orig/pidgin/plugins/vvconfig.c 2014-11-23 10:41:27.000000000 -0600 -+++ pidgin-2.10.11/pidgin/plugins/vvconfig.c 2015-07-07 15:36:28.691798103 -0500 -@@ -26,7 +26,11 @@ - #include "gtkutils.h" - #include "gtkprefs.h" - -+#if GST_CHECK_VERSION(1,0,0) -+#include -+#else - #include -+#endif - - /* container window for showing a stand-alone configurator */ - static GtkWidget *window = NULL; -@@ -81,8 +85,10 @@ - GList *ret = NULL; - GstElement *element; - GObjectClass *klass; -+#if !GST_CHECK_VERSION(1,0,0) - GstPropertyProbe *probe; - const GParamSpec *pspec; -+#endif - - ret = g_list_prepend(ret, (gpointer)_("Default")); - ret = g_list_prepend(ret, ""); -@@ -103,6 +109,10 @@ - return g_list_reverse(ret); - } - -+#if GST_CHECK_VERSION(1,0,0) -+ purple_debug_info("vvconfig", "'%s' - gstreamer-1.0 doesn't suport " -+ "property probing\n", element_name); -+#else - if (!g_object_class_find_property(klass, "device") || - !GST_IS_PROPERTY_PROBE(element) || - !(probe = GST_PROPERTY_PROBE(element)) || -@@ -155,6 +165,7 @@ - gst_element_set_state(element, GST_STATE_NULL); - } - } -+#endif - gst_object_unref(element); - - return g_list_reverse(ret); -@@ -168,8 +179,13 @@ - ret = g_list_prepend(ret, "Default"); - ret = g_list_prepend(ret, ""); - for (; plugins[0] && plugins[1]; plugins += 2) { -+#if GST_CHECK_VERSION(1,0,0) -+ if (gst_registry_check_feature_version(gst_registry_get(), -+ plugins[0], 0, 0, 0)) { -+#else - if (gst_default_registry_check_feature_version( - plugins[0], 0, 0, 0)) { -+#endif - ret = g_list_prepend(ret, (gpointer)plugins[1]); - ret = g_list_prepend(ret, (gpointer)plugins[0]); - } -@@ -588,7 +604,13 @@ - - list = gst_structure_get_value( - gst_message_get_structure(msg), value_name); -+#if GST_CHECK_VERSION(1,0,0) -+G_GNUC_BEGIN_IGNORE_DEPRECATIONS -+ value = g_value_array_get_nth(g_value_get_boxed(list), 0); -+G_GNUC_END_IGNORE_DEPRECATIONS -+#else - value = gst_value_list_get_value(list, 0); -+#endif - value_db = g_value_get_double(value); - percent = pow(10, value_db / 20); - return (percent > 1.0) ? 1.0 : percent; -@@ -604,7 +626,7 @@ - gst_bus_cb(GstBus *bus, GstMessage *msg, BusCbCtx *ctx) - { - if (GST_MESSAGE_TYPE(msg) == GST_MESSAGE_ELEMENT && -- gst_structure_has_name(msg->structure, "level")) { -+ gst_structure_has_name(gst_message_get_structure(msg), "level")) { - - GstElement *src = GST_ELEMENT(GST_MESSAGE_SRC(msg)); - gchar *name = gst_element_get_name(src); diff --git a/linux-api-headers/PKGBUILD b/linux-api-headers/PKGBUILD index 68d2efc01..b5eab665a 100644 --- a/linux-api-headers/PKGBUILD +++ b/linux-api-headers/PKGBUILD @@ -13,7 +13,7 @@ source=(https://www.kernel.org/pub/linux/kernel/v4.x/linux-${pkgver%.*}.tar.{xz, https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.{xz,sign}) sha256sums=('63f6dc8e3c9f3a0273d5d6f4dca38a2413ca3a5f689329d05b750e4c87bb21b9' 'SKIP' - 'bad271dbda2d024daf4a2ab6e122b95b262ea80508ac8018bc61e8aa44f40cfe' + '634d3fd97e5d9d90262db0a9d62ed0a40043eb691d68bd4a545f907079610b56' 'SKIP') validpgpkeys=('ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds '647F28654894E3BD457199BE38DBBDC86092693E') # Greg Kroah-Hartman diff --git a/linux-tools/PKGBUILD b/linux-tools/PKGBUILD index 454c9a5cc..1dee88581 100644 --- a/linux-tools/PKGBUILD +++ b/linux-tools/PKGBUILD @@ -29,7 +29,7 @@ source=("http://www.kernel.org/pub/linux/kernel/v4.x/linux-${pkgver}.tar.xz" 'cpupower.systemd' 'cpupower.service' 'usbipd.service') -sha256sums=('9ab56da21230da8d9455aaf108f0e9c95fa9213bc2bd5d3b9aceaf1dea26896c' +sha256sums=('fa919108d37f6b5dec85ce3fde3bc76eabdfc93b0b8c8386878ad8fb46168a4b' '4fa509949d6863d001075fa3e8671eff2599c046d20c98bb4a70778595cd1c3f' 'fbf6e0ce6eb0ef15703fe212958de6ca46e62188900b5e9f9272ed3cc9cfd54e' 'a89284d0ecb556ca53a66d1c2087b5fd6d0a901ab2769cd3aebb93f4478905dc' diff --git a/linux.conf b/linux.conf index f09201de9..3d081bd7e 100644 --- a/linux.conf +++ b/linux.conf @@ -6,7 +6,7 @@ # These are the "basic variables" appliable for the normal kernel group _kernelname="-CHAKRA" -_kernelver=4.16.4 +_kernelver=4.16.6 _basekernel=4.16 _extramodules=extramodules-${_basekernel}${_kernelname} diff --git a/linux/0006-net-aquantia-Regression-on-reset-with-1.x-firmware.patch b/linux/0006-net-aquantia-Regression-on-reset-with-1.x-firmware.patch deleted file mode 100644 index d32cfc408..000000000 --- a/linux/0006-net-aquantia-Regression-on-reset-with-1.x-firmware.patch +++ /dev/null @@ -1,72 +0,0 @@ -From fb08717dc5ecf3ada73f93663b528d9d4ce4380b Mon Sep 17 00:00:00 2001 -Message-Id: -In-Reply-To: -References: -From: Igor Russkikh -Date: Wed, 11 Apr 2018 15:23:24 +0300 -Subject: [PATCH 6/6] net: aquantia: Regression on reset with 1.x firmware - -On ASUS XG-C100C with 1.5.44 firmware a special mode called "dirty wake" -is active. With this mode when motherboard gets powered (but no poweron -happens yet), NIC automatically enables powersave link and watches -for WOL packet. -This normally allows to powerup the PC after AC power failures. - -Not all motherboards or bios settings gives power to PCI slots, -so this mode is not enabled on all the hardware. - -4.16 linux driver introduced full hardware reset sequence -This is required since before that we had no NIC hardware -reset implemented and there were side effects of "not clean start". - -But this full reset is incompatible with "dirty wake" WOL feature -it keeps the PHY link in a special mode forever. As a consequence, -driver sees no link and no traffic. - -To fix this we forcibly change FW state to idle state before doing -the full reset. This makes FW to restore link state. - -Fixes: c8c82eb net: aquantia: Introduce global AQC hardware reset sequence -Signed-off-by: Igor Russkikh -Signed-off-by: David S. Miller ---- - .../aquantia/atlantic/hw_atl/hw_atl_utils.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c -index d3b847ec7465..c58b2c227260 100644 ---- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c -+++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c -@@ -48,6 +48,8 @@ - #define FORCE_FLASHLESS 0 - - static int hw_atl_utils_ver_match(u32 ver_expected, u32 ver_actual); -+static int hw_atl_utils_mpi_set_state(struct aq_hw_s *self, -+ enum hal_atl_utils_fw_state_e state); - - int hw_atl_utils_initfw(struct aq_hw_s *self, const struct aq_fw_ops **fw_ops) - { -@@ -247,6 +249,20 @@ int hw_atl_utils_soft_reset(struct aq_hw_s *self) - - self->rbl_enabled = (boot_exit_code != 0); - -+ /* FW 1.x may bootup in an invalid POWER state (WOL feature). -+ * We should work around this by forcing its state back to DEINIT -+ */ -+ if (!hw_atl_utils_ver_match(HW_ATL_FW_VER_1X, -+ aq_hw_read_reg(self, -+ HW_ATL_MPI_FW_VERSION))) { -+ int err = 0; -+ -+ hw_atl_utils_mpi_set_state(self, MPI_DEINIT); -+ AQ_HW_WAIT_FOR((aq_hw_read_reg(self, HW_ATL_MPI_STATE_ADR) & -+ HW_ATL_MPI_STATE_MSK) == MPI_DEINIT, -+ 10, 1000U); -+ } -+ - if (self->rbl_enabled) - return hw_atl_utils_soft_reset_rbl(self); - else --- -2.17.0 - diff --git a/linux/PKGBUILD b/linux/PKGBUILD index f2ba8609d..1ce9ffe82 100644 --- a/linux/PKGBUILD +++ b/linux/PKGBUILD @@ -22,21 +22,19 @@ source=( 0002-drm-i915-edp-Only-use-the-alternate-fixed-mode-if-it.patch 0003-Partially-revert-swiotlb-remove-various-exports.patch 0004-Fix-vboxguest-on-guests-with-more-than-4G-RAM.patch - 0005-net-aquantia-Regression-on-reset-with-1.x-firmware.patch ) sha256sums=('63f6dc8e3c9f3a0273d5d6f4dca38a2413ca3a5f689329d05b750e4c87bb21b9' 'SKIP' - 'bad271dbda2d024daf4a2ab6e122b95b262ea80508ac8018bc61e8aa44f40cfe' + '634d3fd97e5d9d90262db0a9d62ed0a40043eb691d68bd4a545f907079610b56' 'SKIP' - '9128c28a2bfe76fc90bd18dc6864839200e8b9ab941496c878313091b2a70023' + 'c3bb5ce947d8fbde8e6ff0f2a482e3fd00ee6cf73200b6a343d94286fa67ceff' '287b43e83535d0aba2797b8fe4c1527788995cbfd858097be37214345e781a25' '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919' 'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c' '113b1fe603f61b749c4cb3902a4f5d4fbec9d1e5081f008bac485cc345defa5f' '9db235c5edfc9a81a0f5866f9942e74d896243c37d50298288fbbe2f79169fd3' 'd57665a468f93c94b92924fdbdc72ea50def74d9c8999104c9594e64fb196328' - '079180ceaae87a4851eb56e80f6e33b0199dad3343c73275ddb710e0824feb73' - 'f1c751e29bc1bcfe634c49873eb34a5418db3dfbd1f6d789e738dee78071d3dd') + '079180ceaae87a4851eb56e80f6e33b0199dad3343c73275ddb710e0824feb73') validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman @@ -64,9 +62,6 @@ prepare() { # https://bugs.archlinux.org/task/58153 patch -Np1 -i ../0004-Fix-vboxguest-on-guests-with-more-than-4G-RAM.patch - # https://bugs.archlinux.org/task/58174 - patch -Np1 -i ../0005-net-aquantia-Regression-on-reset-with-1.x-firmware.patch - cat "${srcdir}/config.x86_64" > ./.config if [ "${_kernelname}" != "" ]; then @@ -74,8 +69,10 @@ prepare() { sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" ./.config fi - # set extraversion to pkgrel - sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile + # set extraversion to pkgrel and empty localversion + sed -e "/^EXTRAVERSION =/s/=.*/= -${pkgrel}/" \ + -e "/^EXTRAVERSION =/aLOCALVERSION =" \ + -i Makefile # don't run depmod on 'make install'. We'll do this ourselves in packaging sed -i '2iexit 0' scripts/depmod.sh @@ -113,6 +110,11 @@ package_linux() { install=linux.install cd ${_srcname} + + # get kernel version + _kernver="$(make kernelrelease)" + _basekernel=${_kernver%%-*} + _basekernel=${_basekernel%.*} mkdir -p "${pkgdir}"/{boot,usr/lib/modules} make INSTALL_MOD_PATH="${pkgdir}/usr" modules_install @@ -120,28 +122,28 @@ package_linux() { # make room for external modules #local _extramodules="extramodules-${_basekernel}${_kernelname:--CHAKRA}" - ln -s "../${_extramodules}" "${pkgdir}/usr/lib/modules/${_kernelver}/extramodules" + ln -s "../${_extramodules}" "${pkgdir}/usr/lib/modules/${_kernver}/extramodules" # add real version for building modules and running depmod from hook - echo "${_kernelver}" | + echo "${_kernver}" | install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modules/${_extramodules}/version" # remove build and source links - rm -f "${pkgdir}"/usr/lib/modules/${_kernelver}/{source,build} + rm -f "${pkgdir}"/usr/lib/modules/${_kernver}/{source,build} # gzip -9 all modules to save 100MB of space find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \; # now we call depmod... - depmod -b "${pkgdir}/usr" -F System.map "${_kernelver}" + depmod -b "${pkgdir}/usr" -F System.map "${_kernver}" # add vmlinux - install -Dt "${pkgdir}/usr/lib/modules/${_kernelver}/build" -m644 vmlinux + install -Dt "${pkgdir}/usr/lib/modules/${_kernver}/build" -m644 vmlinux # sed expression for following substitutions local _subst=" s|%PKGBASE%|${pkgbase}/|g - s|%KERNVER%|${_kernelver}|g + s|%KERNVER%|${_kernver}|g s|%EXTRAMODULES%|${_extramodules}|g " @@ -164,7 +166,7 @@ package_linux-headers() { pkgdesc="Header files and scripts for building modules for linux kernel" cd ${_srcname} - local _builddir="${pkgdir}/usr/lib/modules/${_kernelver}/build" + local _builddir="${pkgdir}/usr/lib/modules/${_kernver}/build" install -Dt "${_builddir}" -m644 Makefile .config Module.symvers install -Dt "${_builddir}/kernel" -m644 kernel/Makefile @@ -231,8 +233,8 @@ package_linux-docs() { cd $_srcname - mkdir -p "${pkgdir}/usr/lib/modules/${_kernelver}/build" - cp -al Documentation "${pkgdir}/usr/lib/modules/${_kernelver}/build" + mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build" + cp -al Documentation "${pkgdir}/usr/lib/modules/${_kernver}/build" find "${pkgdir}" -type f -exec chmod 444 {} \; find "${pkgdir}" -type d -exec chmod 755 {} \; } diff --git a/linux/config.x86_64 b/linux/config.x86_64 index e33026435..fb5233951 100644 --- a/linux/config.x86_64 +++ b/linux/config.x86_64 @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.16.4-1 Kernel Configuration +# Linux/x86 4.16.6-1 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -560,7 +560,7 @@ CONFIG_AMD_NUMA=y CONFIG_X86_64_ACPI_NUMA=y CONFIG_NODES_SPAN_OTHER_NODES=y # CONFIG_NUMA_EMU is not set -CONFIG_NODES_SHIFT=6 +CONFIG_NODES_SHIFT=5 CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SPARSEMEM_DEFAULT=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y diff --git a/ndiswrapper/PKGBUILD b/ndiswrapper/PKGBUILD index c9fbca5b8..994e7b585 100644 --- a/ndiswrapper/PKGBUILD +++ b/ndiswrapper/PKGBUILD @@ -3,7 +3,7 @@ source ../linux.conf pkgname=ndiswrapper pkgver=1.61 -pkgrel=11 +pkgrel=12 pkgdesc="Module for NDIS (Windows Network Drivers) drivers supplied by vendors. For linux-testing." license=('GPL') arch=('x86_64') diff --git a/nvidia-304xx/PKGBUILD b/nvidia-304xx/PKGBUILD index 08463e759..ebbd7d32d 100644 --- a/nvidia-304xx/PKGBUILD +++ b/nvidia-304xx/PKGBUILD @@ -4,7 +4,7 @@ source ../linux.conf pkgbase=nvidia-304xx pkgname=('nvidia-304xx' 'chd-nvidia-304xx' 'nvidia-304xx-dkms') pkgver=304.137 -pkgrel=7 +pkgrel=8 arch=('x86_64') url="http://www.nvidia.com/" makedepends=("linux-headers=${_kernelver}") diff --git a/nvidia-340xx/PKGBUILD b/nvidia-340xx/PKGBUILD index 1055a276b..943099fd5 100644 --- a/nvidia-340xx/PKGBUILD +++ b/nvidia-340xx/PKGBUILD @@ -4,7 +4,7 @@ source ../linux.conf pkgbase=nvidia-340xx pkgname=('nvidia-340xx' 'chd-nvidia-340xx' 'nvidia-340xx-dkms') pkgver=340.106 -pkgrel=4 +pkgrel=5 arch=('x86_64') url="http://www.nvidia.com/" makedepends=("linux-headers=${_kernelver}") diff --git a/nvidia/PKGBUILD b/nvidia/PKGBUILD index 381734a9e..fcbe19258 100644 --- a/nvidia/PKGBUILD +++ b/nvidia/PKGBUILD @@ -3,7 +3,7 @@ source ../linux.conf pkgname=(nvidia nvidia-dkms chd-nvidia) pkgver=390.48 -pkgrel=3 +pkgrel=4 arch=('x86_64') url="http://www.nvidia.com/" makedepends=("linux-headers=${_kernelver}" "nvidia-utils=${pkgver}") diff --git a/r8168/PKGBUILD b/r8168/PKGBUILD index 36b680f8f..da75ccf80 100644 --- a/r8168/PKGBUILD +++ b/r8168/PKGBUILD @@ -2,7 +2,7 @@ source ../linux.conf pkgname=r8168 pkgver=8.045.08 -pkgrel=7 +pkgrel=8 pkgdesc="A kernel module for Realtek 8168 network cards" url="http://www.realtek.com.tw" license=("GPL") diff --git a/vhba-module/PKGBUILD b/vhba-module/PKGBUILD index 7107a80e3..9863856c7 100644 --- a/vhba-module/PKGBUILD +++ b/vhba-module/PKGBUILD @@ -3,7 +3,7 @@ source ../linux.conf pkgname=vhba-module pkgver=20170610 -pkgrel=9 +pkgrel=10 pkgdesc="Kernel module that emulates SCSI devices" arch=('x86_64') url="http://cdemu.sourceforge.net/"