diff --git a/.gitignore b/.gitignore
index 041dcd5..ffdebd3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/pygobject-3.8.2.tar.xz
+SOURCES/pygobject-3.14.0.tar.xz
diff --git a/.pygobject3.metadata b/.pygobject3.metadata
index d361550..ba05893 100644
--- a/.pygobject3.metadata
+++ b/.pygobject3.metadata
@@ -1 +1 @@
-c668e35c4f00d2736f404f1f0433327bdb64ea54 SOURCES/pygobject-3.8.2.tar.xz
+638302e7b97a7a8f7bc1f9014f2765cf22dd197e SOURCES/pygobject-3.14.0.tar.xz
diff --git a/SOURCES/0001-Avoid-a-silent-long-to-int-truncation.patch b/SOURCES/0001-Avoid-a-silent-long-to-int-truncation.patch
new file mode 100644
index 0000000..c1f17f1
--- /dev/null
+++ b/SOURCES/0001-Avoid-a-silent-long-to-int-truncation.patch
@@ -0,0 +1,41 @@
+From 060dbac3d191cacc558d7ee5fcd6f3e38de48dd6 Mon Sep 17 00:00:00 2001
+From: Rui Matos <tiagomatos@gmail.com>
+Date: Thu, 21 May 2015 17:53:17 +0200
+Subject: [PATCH] Avoid a silent long to int truncation
+
+If the python object contains a value bigger than MAXUINT we'd
+silently truncate it when assigning to 'val' and the if condition
+would always be true.
+
+This was caught but a coverity scan.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=749698
+---
+ gi/pygi-value.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gi/pygi-value.c b/gi/pygi-value.c
+index 9d5d0ca..7fdf767 100644
+--- a/gi/pygi-value.c
++++ b/gi/pygi-value.c
+@@ -382,7 +382,7 @@ pyg_value_from_pyobject_with_error(GValue *value, PyObject *obj)
+     case G_TYPE_UINT:
+     {
+         if (PYGLIB_PyLong_Check(obj)) {
+-            guint val;
++            gulong val;
+ 
+             /* check that number is not negative */
+             if (PyLong_AsLongLong(obj) < 0)
+@@ -390,7 +390,7 @@ pyg_value_from_pyobject_with_error(GValue *value, PyObject *obj)
+ 
+             val = PyLong_AsUnsignedLong(obj);
+             if (val <= G_MAXUINT)
+-                g_value_set_uint(value, val);
++                g_value_set_uint(value, (guint) val);
+             else
+                 return -1;
+         } else {
+-- 
+2.4.0
+
diff --git a/SOURCES/ignore-more-pep8-errors.patch b/SOURCES/ignore-more-pep8-errors.patch
deleted file mode 100644
index bdcb9cb..0000000
--- a/SOURCES/ignore-more-pep8-errors.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- pygobject-3.7.92/tests/Makefile.in.ignore-more-pep8-errors	2013-03-18 13:55:04.000000000 +0100
-+++ pygobject-3.7.92/tests/Makefile.in	2013-03-20 21:34:25.815686535 +0100
-@@ -759,7 +759,7 @@
- 	@if type pyflakes >/dev/null 2>&1; then pyflakes $(top_srcdir); else echo "skipped, pyflakes not installed"; fi
- 	@if test -z "$$SKIP_PEP8"; then \
- 		echo "  CHECK  PEP8"; \
--		if type pep8 >/dev/null 2>&1; then pep8 --ignore=E501,E123,E124 --repeat --show-source $(top_srcdir); else echo "skipped, pep8 not installed"; fi; \
-+		if type pep8 >/dev/null 2>&1; then pep8 --ignore=E501,E123,E124,E127 --repeat --show-source $(top_srcdir); else echo "skipped, pep8 not installed"; fi; \
- 	fi
- 	export `$(DBUS_LAUNCH)` && \
- 	$(RUN_TESTS_ENV_VARS) $(EXEC_NAME) $(PYTHON) -Wd $(srcdir)/runtests.py; rc=$$?; \
---- pygobject-3.7.92/tests/Makefile.am.ignore-more-pep8-errors	2013-02-27 21:14:17.000000000 +0100
-+++ pygobject-3.7.92/tests/Makefile.am	2013-03-20 21:34:25.815686535 +0100
-@@ -136,7 +136,7 @@
- 	@if type pyflakes >/dev/null 2>&1; then pyflakes $(top_srcdir); else echo "skipped, pyflakes not installed"; fi
- 	@if test -z "$$SKIP_PEP8"; then \
- 		echo "  CHECK  PEP8"; \
--		if type pep8 >/dev/null 2>&1; then pep8 --ignore=E501,E123,E124 --repeat --show-source $(top_srcdir); else echo "skipped, pep8 not installed"; fi; \
-+		if type pep8 >/dev/null 2>&1; then pep8 --ignore=E501,E123,E124,E127 --repeat --show-source $(top_srcdir); else echo "skipped, pep8 not installed"; fi; \
- 	fi
- 	export `$(DBUS_LAUNCH)` && \
- 	$(RUN_TESTS_ENV_VARS) $(EXEC_NAME) $(PYTHON) -Wd $(srcdir)/runtests.py; rc=$$?; \
diff --git a/SOURCES/pygobject-3.14.0-allow-static-module-import.patch b/SOURCES/pygobject-3.14.0-allow-static-module-import.patch
new file mode 100644
index 0000000..ddbc32a
--- /dev/null
+++ b/SOURCES/pygobject-3.14.0-allow-static-module-import.patch
@@ -0,0 +1,79 @@
+diff -up pygobject-3.14.0/gi/__init__.py.allow-static-module-import pygobject-3.14.0/gi/__init__.py
+--- pygobject-3.14.0/gi/__init__.py.allow-static-module-import	2014-09-10 18:10:32.000000000 -0400
++++ pygobject-3.14.0/gi/__init__.py	2015-09-15 12:23:51.240053648 -0400
+@@ -27,17 +27,12 @@ __path__ = extend_path(__path__, __name_
+ import sys
+ import os
+ import importlib
+-import types
+-
+-_static_binding_error = ('When using gi.repository you must not import static '
+-                         'modules like "gobject". Please change all occurrences '
+-                         'of "import gobject" to "from gi.repository import GObject". '
+-                         'See: https://bugzilla.gnome.org/show_bug.cgi?id=709183')
+ 
+ # we can't have pygobject 2 loaded at the same time we load the internal _gobject
+ if 'gobject' in sys.modules:
+-    raise ImportError(_static_binding_error)
+-
++    raise ImportError('When using gi.repository you must not import static '
++                      'modules like "gobject". Please change all occurrences '
++                      'of "import gobject" to "from gi.repository import GObject".')
+ 
+ from . import _gi
+ from ._gi import _gobject
+@@ -55,20 +50,6 @@ version_info = _gobject.pygobject_versio
+ __version__ = "{0}.{1}.{2}".format(*version_info)
+ 
+ 
+-class _DummyStaticModule(types.ModuleType):
+-    __path__ = None
+-
+-    def __getattr__(self, name):
+-        raise AttributeError(_static_binding_error)
+-
+-
+-sys.modules['glib'] = _DummyStaticModule('glib', _static_binding_error)
+-sys.modules['gobject'] = _DummyStaticModule('gobject', _static_binding_error)
+-sys.modules['gio'] = _DummyStaticModule('gio', _static_binding_error)
+-sys.modules['gtk'] = _DummyStaticModule('gtk', _static_binding_error)
+-sys.modules['gtk.gdk'] = _DummyStaticModule('gtk.gdk', _static_binding_error)
+-
+-
+ def check_version(version):
+     if isinstance(version, str):
+         version_list = tuple(map(int, version.split(".")))
+diff -up pygobject-3.14.0/tests/test_import_machinery.py.allow-static-module-import pygobject-3.14.0/tests/test_import_machinery.py
+--- pygobject-3.14.0/tests/test_import_machinery.py.allow-static-module-import	2015-09-15 12:24:21.601235349 -0400
++++ pygobject-3.14.0/tests/test_import_machinery.py	2015-09-15 12:24:47.674390896 -0400
+@@ -58,30 +58,6 @@ class TestModule(unittest.TestCase):
+         # Restore the previous cache
+         gi.module._introspection_modules = old_modules
+ 
+-    def test_static_binding_protection(self):
+-        # Importing old static bindings once gi has been imported should not
+-        # crash but instead give back a dummy module which produces RuntimeErrors
+-        # on access.
+-        with self.assertRaises(AttributeError):
+-            import gobject
+-            gobject.anything
+-
+-        with self.assertRaises(AttributeError):
+-            import glib
+-            glib.anything
+-
+-        with self.assertRaises(AttributeError):
+-            import gio
+-            gio.anything
+-
+-        with self.assertRaises(AttributeError):
+-            import gtk
+-            gtk.anything
+-
+-        with self.assertRaises(AttributeError):
+-            import gtk.gdk
+-            gtk.gdk.anything
+-
+ 
+ class TestImporter(unittest.TestCase):
+     def test_invalid_repository_module_name(self):
diff --git a/SOURCES/pygobject-3.3.4-known-failures.patch b/SOURCES/pygobject-3.3.4-known-failures.patch
deleted file mode 100644
index 5d63873..0000000
--- a/SOURCES/pygobject-3.3.4-known-failures.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -up pygobject-3.3.4/tests/test_gdbus.py.known-failures pygobject-3.3.4/tests/test_gdbus.py
---- pygobject-3.3.4/tests/test_gdbus.py.known-failures	2012-08-09 11:51:21.707712400 -0400
-+++ pygobject-3.3.4/tests/test_gdbus.py	2012-08-09 11:51:38.663713384 -0400
-@@ -100,6 +100,7 @@ class TestGDBusClient(unittest.TestCase)
-                              call_done, data)
-         main_loop.run()
- 
-+    @unittest.expectedFailure
-     def test_python_calls_sync(self):
-         # single value return tuples get unboxed to the one element
-         result = self.dbus_proxy.ListNames('()')
-diff -up pygobject-3.3.4/tests/test_gi.py.known-failures pygobject-3.3.4/tests/test_gi.py
---- pygobject-3.3.4/tests/test_gi.py.known-failures	2012-07-16 11:24:56.000000000 -0400
-+++ pygobject-3.3.4/tests/test_gi.py	2012-08-09 11:51:10.409711484 -0400
-@@ -2199,6 +2199,7 @@ class TestPropertiesObject(unittest.Test
- 
-         self.assertAlmostEqual(obj.props.some_double, 42.0)
- 
-+    @unittest.expectedFailure
-     def test_strv(self):
-         self.assertEqual(self.obj.props.some_strv, [])
-         self.obj.props.some_strv = ['hello', 'world']
diff --git a/SOURCES/pygobject-3.8.0-known-failures.txt b/SOURCES/pygobject-3.8.0-known-failures.txt
deleted file mode 100644
index 28468b4..0000000
--- a/SOURCES/pygobject-3.8.0-known-failures.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -up pygobject-3.8.0/tests/test_gi.py.rhbz924425 pygobject-3.8.0/tests/test_gi.py
---- pygobject-3.8.0/tests/test_gi.py.rhbz924425	2013-04-02 15:12:13.023806151 -0400
-+++ pygobject-3.8.0/tests/test_gi.py	2013-04-02 15:18:08.320781858 -0400
-@@ -1507,6 +1507,20 @@ class TestEnumVFuncResults(unittest.Test
-         def do_vfunc_out_enum(self):
-             return GIMarshallingTests.Enum.VALUE3
- 
-+    # Failing on ppc64:
-+    #   https://bugzilla.redhat.com/show_bug.cgi?id=924425#c7
-+    #
-+    # ======================================================================
-+    # FAIL: test_vfunc_return_enum (test_gi.TestEnumVFuncResults)
-+    # ----------------------------------------------------------------------
-+    # Traceback (most recent call last):
-+    #   File "/builddir/build/BUILD/pygobject-3.8.0/tests/test_gi.py", line 1512, in test_vfunc_return_enum
-+    #     self.assertEqual(tester.vfunc_return_enum(), GIMarshallingTests.Enum.VALUE2)
-+    # AssertionError: <enum GI_MARSHALLING_TESTS_ENUM_VALUE1 of type PyGIMarshallingTestsEnum> != <enum GI_MARSHALLING_TESTS_ENUM_VALUE2 of type PyGIMarshallingTestsEnum>
-+    # ----------------------------------------------------------------------
-+    #
-+    # Reported upstream as https://bugzilla.gnome.org/show_bug.cgi?id=697138
-+    @unittest.expectedFailure
-     def test_vfunc_return_enum(self):
-         tester = self.EnumTester()
-         self.assertEqual(tester.vfunc_return_enum(), GIMarshallingTests.Enum.VALUE2)
diff --git a/SOURCES/pygobject-3.8.2-gvalue-memory-leak.patch b/SOURCES/pygobject-3.8.2-gvalue-memory-leak.patch
deleted file mode 100644
index f9c20fe..0000000
--- a/SOURCES/pygobject-3.8.2-gvalue-memory-leak.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -up pygobject-3.8.2/gi/pygi-marshal-cleanup.c.gvalue-memory-leak pygobject-3.8.2/gi/pygi-marshal-cleanup.c
---- pygobject-3.8.2/gi/pygi-marshal-cleanup.c.gvalue-memory-leak	2013-03-04 04:19:22.000000000 -0500
-+++ pygobject-3.8.2/gi/pygi-marshal-cleanup.c	2014-09-26 09:04:12.780688672 -0400
-@@ -29,16 +29,17 @@ _cleanup_caller_allocates (PyGIInvokeSta
- {
-     PyGIInterfaceCache *iface_cache = (PyGIInterfaceCache *)cache;
- 
--    if (g_type_is_a (iface_cache->g_type, G_TYPE_BOXED)) {
-+    /* check GValue first because GValue is also a boxed sub-type */
-+    if (g_type_is_a (iface_cache->g_type, G_TYPE_VALUE)) {
-+        if (was_processed)
-+            g_value_unset (data);
-+        g_slice_free (GValue, data);
-+    } else if (g_type_is_a (iface_cache->g_type, G_TYPE_BOXED)) {
-         gsize size;
-         if (was_processed)
-             return; /* will be cleaned up at deallocation */
-         size = g_struct_info_get_size (iface_cache->interface_info);
-         g_slice_free1 (size, data);
--    } else if (iface_cache->g_type == G_TYPE_VALUE) {
--        if (was_processed)
--            g_value_unset (data);
--        g_slice_free (GValue, data);
-     } else if (iface_cache->is_foreign) {
-         if (was_processed)
-             return; /* will be cleaned up at deallocation */
diff --git a/SOURCES/pygobject-3.8.2-pass-gvalues-by-reference.patch b/SOURCES/pygobject-3.8.2-pass-gvalues-by-reference.patch
deleted file mode 100644
index 61a7be0..0000000
--- a/SOURCES/pygobject-3.8.2-pass-gvalues-by-reference.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-diff -up pygobject-3.8.2/gi/pygi-argument.c.pass-gvalues-by-reference pygobject-3.8.2/gi/pygi-argument.c
---- pygobject-3.8.2/gi/pygi-argument.c.pass-gvalues-by-reference	2013-05-13 11:24:49.000000000 -0400
-+++ pygobject-3.8.2/gi/pygi-argument.c	2014-09-15 09:00:18.400422884 -0400
-@@ -1266,7 +1266,7 @@ array_success:
-                         pygi_marshal_from_py_gvalue (object,
-                                                      &arg,
-                                                      transfer,
--                                                     FALSE /*is_allocated*/);
-+                                                     FALSE /*copy_reference*/);
- 
-                     } else if (g_type_is_a (type, G_TYPE_CLOSURE)) {
-                         pygi_marshal_from_py_gclosure (object, &arg);
-diff -up pygobject-3.8.2/gi/pygi-marshal-from-py.c.pass-gvalues-by-reference pygobject-3.8.2/gi/pygi-marshal-from-py.c
---- pygobject-3.8.2/gi/pygi-marshal-from-py.c.pass-gvalues-by-reference	2013-05-13 11:24:49.000000000 -0400
-+++ pygobject-3.8.2/gi/pygi-marshal-from-py.c	2014-09-15 09:00:18.401422919 -0400
-@@ -1650,7 +1650,7 @@ _pygi_marshal_from_py_interface_struct (
-     } else if (iface_cache->g_type == G_TYPE_VALUE) {
-         return pygi_marshal_from_py_gvalue(py_arg, arg,
-                                            arg_cache->transfer,
--                                           arg_cache->is_caller_allocates);
-+                                           TRUE /*copy_reference*/);
-     } else if (iface_cache->is_foreign) {
-         PyObject *success;
-         success = pygi_struct_foreign_convert_to_g_argument (py_arg,
-@@ -1898,13 +1898,14 @@ pygi_marshal_from_py_gobject (PyObject *
-  * py_arg: (in):
-  * arg: (out):
-  * transfer:
-- * is_allocated: TRUE if arg->v_pointer is an already allocated GValue
-+ * copy_reference: TRUE if arg should use the pointer reference held by py_arg
-+ *                 when it is already holding a GValue vs. copying the value.
-  */
- gboolean
- pygi_marshal_from_py_gvalue (PyObject *py_arg,
-                              GIArgument *arg,
-                              GITransfer transfer,
--                             gboolean is_allocated) {
-+                             gboolean copy_reference) {
-     GValue *value;
-     GType object_type;
- 
-@@ -1914,24 +1915,21 @@ pygi_marshal_from_py_gvalue (PyObject *p
-         return FALSE;
-     }
- 
--    if (is_allocated)
--        value = (GValue *)arg->v_pointer;
--    else
--        value = g_slice_new0 (GValue);
--
-     /* if already a gvalue, use that, else marshal into gvalue */
-     if (object_type == G_TYPE_VALUE) {
-         GValue *source_value = pyg_boxed_get (py_arg, GValue);
--        if (G_VALUE_TYPE (value) == G_TYPE_INVALID)
-+        if (copy_reference) {
-+            value = source_value;
-+        } else {
-+            value = g_slice_new0 (GValue);
-             g_value_init (value, G_VALUE_TYPE (source_value));
--        g_value_copy (source_value, value);
-+            g_value_copy (source_value, value);
-+        }
-     } else {
--        if (G_VALUE_TYPE (value) == G_TYPE_INVALID)
--            g_value_init (value, object_type);
--
-+        value = g_slice_new0 (GValue);
-+        g_value_init (value, object_type);
-         if (pyg_value_from_pyobject (value, py_arg) < 0) {
--            if (!is_allocated)
--                g_slice_free (GValue, value);
-+            g_slice_free (GValue, value);
-             PyErr_SetString (PyExc_RuntimeError, "PyObject conversion to GValue failed");
-             return FALSE;
-         }
-diff -up pygobject-3.8.2/gi/pygi-marshal-from-py.h.pass-gvalues-by-reference pygobject-3.8.2/gi/pygi-marshal-from-py.h
---- pygobject-3.8.2/gi/pygi-marshal-from-py.h.pass-gvalues-by-reference	2013-05-13 11:24:49.000000000 -0400
-+++ pygobject-3.8.2/gi/pygi-marshal-from-py.h	2014-09-15 09:00:18.402422952 -0400
-@@ -193,7 +193,7 @@ gboolean pygi_marshal_from_py_gobject (P
- gboolean pygi_marshal_from_py_gvalue (PyObject *py_arg, /*in*/
-                                       GIArgument *arg,  /*out*/
-                                       GITransfer transfer,
--                                      gboolean is_allocated);
-+                                      gboolean copy_reference);
- 
- gboolean pygi_marshal_from_py_gclosure(PyObject *py_arg, /*in*/
-                                        GIArgument *arg); /*out*/
diff --git a/SOURCES/test-list-marshalling.patch b/SOURCES/test-list-marshalling.patch
deleted file mode 100644
index 30ed182..0000000
--- a/SOURCES/test-list-marshalling.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: pygobject-3.3.91/tests/test_overrides_gtk.py
-===================================================================
---- pygobject-3.3.91.orig/tests/test_overrides_gtk.py
-+++ pygobject-3.3.91/tests/test_overrides_gtk.py
-@@ -1553,3 +1553,8 @@ class TestTextBuffer(unittest.TestCase):
-                                         None)
-         self.assertEqual(start.get_offset(), 6)
-         self.assertEqual(end.get_offset(), 11)
-+
-+    def test_rhbz842880(self):
-+        # Regression test for https://bugzilla.redhat.com/show_bug.cgi?id=842880
-+        store = Gtk.ListStore(int, int)
-+        store.append([1, 2])
diff --git a/SPECS/pygobject3.spec b/SPECS/pygobject3.spec
index cdbc83c..13b6e1e 100644
--- a/SPECS/pygobject3.spec
+++ b/SPECS/pygobject3.spec
@@ -1,6 +1,6 @@
-# Last updated for version 3.7.5.1
-%define glib2_version                  2.35.7
-%define gobject_introspection_version  1.34.2
+# Last updated for version 3.14.0
+%define glib2_version                  2.38.0
+%define gobject_introspection_version  1.39.0
 %define python2_version                2.3.5
 
 %if 0%{?fedora} > 12
@@ -16,76 +16,26 @@
   %global verbosity %{nil}
 %endif
 
-%global with_check 1
+%global with_check 0
 
 ### Abstract ###
 
 Name: pygobject3
-Version: 3.8.2
-Release: 6%{?dist}
+Version: 3.14.0
+Release: 3%{?dist}
 License: LGPLv2+ and MIT
 Group: Development/Languages
 Summary: Python 2 bindings for GObject Introspection
 URL: https://live.gnome.org/PyGObject
 #VCS: git:git://git.gnome.org/pygobject
-Source: http://ftp.gnome.org/pub/GNOME/sources/pygobject/3.8/pygobject-%{version}.tar.xz
-
-# Add these additional exclusions to the pep8 rules in "make check":
-#   E127 continuation line over-indented for visual indent
-# Not yet sent upstream
-Patch1: ignore-more-pep8-errors.patch
-
-# Mark some tests as known to fail; currently:
-#
-# On i686:
-#  ======================================================================
-#  FAIL: test_strv (test_gi.TestPropertiesObject)
-#  ----------------------------------------------------------------------
-#  Traceback (most recent call last):
-#    File "/builddir/build/BUILD/pygobject-3.3.4/tests/test_gi.py", line 2205, in test_strv
-#      self.assertEqual(self.obj.props.some_strv, ['hello', 'world'])
-#  AssertionError: Lists differ: ['hello'] != ['hello', 'world']
-#  Second list contains 1 additional elements.
-#  First extra element 1:
-#  world
-#  - ['hello']
-#  + ['hello', 'world']
-#  ----------------------------------------------------------------------
-#
-# Intermittently:
-#  ======================================================================
-#  FAIL: test_python_calls_sync (test_gdbus.TestGDBusClient)
-#  ----------------------------------------------------------------------
-#  Traceback (most recent call last):
-#    File "/builddir/build/BUILD/pygobject-3.3.4/tests/test_gdbus.py", line 140, in test_python_calls_sync
-#      self.assertTrue('Timeout' in str(e), str(e))
-#  AssertionError: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not get PID of name '1': no such name
-#  ----------------------------------------------------------------------
-#
-# Not yet sent upstream
-Patch2: pygobject-3.3.4-known-failures.patch
-
-# Add regression test for rhbz#842880
-# Not yet sent upstream:
-Patch3: test-list-marshalling.patch
-
-# Disable a test that still fails on ppc64 (see
-#   https://bugzilla.redhat.com/show_bug.cgi?id=924425#c7 )
-# Filed upstream as:
-#  https://bugzilla.gnome.org/show_bug.cgi?id=697138
-Patch5: pygobject-3.8.0-known-failures.txt
-
-# Re-add support for passing GValue's by reference
-# https://bugzilla.gnome.org/show_bug.cgi?id=701058
-Patch6: pygobject-3.8.2-pass-gvalues-by-reference.patch
-
-# Fix memory leak for caller allocated GValue out arguments
-# https://bugzilla.gnome.org/show_bug.cgi?id=709397
-Patch7: pygobject-3.8.2-gvalue-memory-leak.patch
-
-### Build Dependencies ###
-
-BuildRequires: chrpath
+Source: http://ftp.gnome.org/pub/GNOME/sources/pygobject/3.14/pygobject-%{version}.tar.xz
+
+Patch0: 0001-Avoid-a-silent-long-to-int-truncation.patch
+
+# https://bugzilla.redhat.com/1247996
+# which reverts https://bugzilla.gnome.org/709183
+Patch1: pygobject-3.14.0-allow-static-module-import.patch
+
 BuildRequires: glib2-devel >= %{glib2_version}
 BuildRequires: gobject-introspection-devel >= %{gobject_introspection_version}
 BuildRequires: python2-devel >= %{python2_version}
@@ -117,10 +67,10 @@ BuildRequires: dejavu-serif-fonts
 BuildRequires: dbus-x11
 %endif # with_check
 
-Requires: %{name}-base = %{version}-%{release}
+Requires: %{name}-base%{?_isa} = %{version}-%{release}
 
 # The cairo override module depends on this
-Requires: pycairo
+Requires: pycairo%{?_isa}
 
 %description
 The %{name} package provides a convenient wrapper for the GObject library
@@ -129,7 +79,7 @@ for use in Python programs.
 %package base
 Summary: Python 2 bindings for GObject Introspection base package
 Group: Development/Languages
-Requires: gobject-introspection >= %{gobject_introspection_version}
+Requires: gobject-introspection%{?_isa} >= %{gobject_introspection_version}
 
 %description base
 This package provides the non-cairo specific bits of the GObject Introspection
@@ -138,10 +88,8 @@ library.
 %package devel
 Summary: Development files for embedding PyGObject introspection support
 Group: Development/Languages
-Requires: %{name} = %{version}-%{release}
-Requires: glib2-devel
-Requires: gobject-introspection-devel
-Requires: pkgconfig
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: gobject-introspection-devel%{?_isa}
 
 %description devel
 This package contains files required to embed PyGObject
@@ -152,8 +100,8 @@ Summary: Python 3 bindings for GObject Introspection
 Group: Development/Languages
 
 # The cairo override module depends on this
-Requires: python3-cairo
-Requires: gobject-introspection >= %{gobject_introspection_version}
+Requires: python3-cairo%{?_isa}
+Requires: gobject-introspection%{?_isa} >= %{gobject_introspection_version}
 
 %description -n python3-gobject
 The python3-gobject package provides a convenient wrapper for the GObject 
@@ -164,12 +112,9 @@ for use in Python 3 programs.
 
 %prep
 %setup -q -n pygobject-%{version}
-%patch1 -p1 -b .ignore-more-pep8-errors
-%patch2 -p1 -b .known-failures
-%patch3 -p1 -b .test-list-marshalling
-%patch5 -p1
-%patch6 -p1 -b .pass-gvalues-by-reference
-%patch7 -p1 -b .gvalue-memory-leak
+
+%patch0 -p1 -b .avoid-long-trunc
+%patch1 -p1 -b .allow-static-module-import
 
 %if 0%{?with_python3}
 rm -rf %{py3dir}
@@ -202,16 +147,12 @@ export PYTHON
 make DESTDIR=$RPM_BUILD_ROOT install %{verbosity}
 popd
 
-chrpath --delete $RPM_BUILD_ROOT%{python3_sitearch}/gi/{*.so,*/*.so}
-
 %endif # with_python3
 
 make DESTDIR=$RPM_BUILD_ROOT install %{verbosity}
 find $RPM_BUILD_ROOT -name '*.la' -delete
 find $RPM_BUILD_ROOT -name '*.a' -delete
 
-chrpath --delete $RPM_BUILD_ROOT%{python_sitearch}/gi/{*.so,*/*.so}
-
 # Don't include makefiles in the installed docs, in order to avoid creating
 # multilib conflicts
 rm -rf _docs
@@ -254,7 +195,6 @@ xvfb-run make DESTDIR=$RPM_BUILD_ROOT check %{verbosity}
 %files base
 %defattr(644, root, root, 755)
 %doc AUTHORS NEWS README COPYING
-%{_libdir}/libpyglib-gi-2.0-python.so*
 %dir %{python_sitearch}/gi
 %{python_sitearch}/gi/*
 %exclude %{python_sitearch}/gi/_gi_cairo.so
@@ -272,7 +212,6 @@ xvfb-run make DESTDIR=$RPM_BUILD_ROOT check %{verbosity}
 %files -n python3-gobject
 %defattr(644, root, root, 755)
 %doc AUTHORS NEWS README COPYING
-%{_libdir}/libpyglib-gi-2.0-python3.so*
 %dir %{python3_sitearch}/gi
 %{python3_sitearch}/gi/*
 %{python3_sitearch}/pygobject-*.egg-info
@@ -281,28 +220,110 @@ xvfb-run make DESTDIR=$RPM_BUILD_ROOT check %{verbosity}
 %endif # with_python3
 
 %changelog
-* Fri Sep 26 2014 Matthew Barnes <mbarnes@redhat.com> - 3.8.2-6
-- Fix memory leak for caller allocated GValue out arguments.
-- Resolves: rhbz#1015413
+* Tue Sep 15 2015 Matthew Barnes <mbarnes@redhat.com> - 3.14.0-3
+- Allow importing static modules to fix RHEL7 rebase regressions
+
+* Fri May 22 2015 Rui Matos <rmatos@redhat.com> - 3.14.0-2
+- Add patch to fix a coverity issue
+  https://bugzilla.gnome.org/show_bug.cgi?id=749698
+
+* Mon Sep 22 2014 Kalev Lember <kalevlember@gmail.com> - 3.14.0-1
+- Update to 3.14.0
+
+* Tue Sep 16 2014 Kalev Lember <kalevlember@gmail.com> - 3.13.92-1
+- Update to 3.13.92
+
+* Tue Sep 02 2014 Kalev Lember <kalevlember@gmail.com> - 3.13.91-1
+- Update to 3.13.91
+
+* Thu Aug 21 2014 Kalev Lember <kalevlember@gmail.com> - 3.13.90-2
+- Backport a fix for virt-manager crash (#1130758)
+
+* Tue Aug 19 2014 Kalev Lember <kalevlember@gmail.com> - 3.13.90-1
+- Update to 3.13.90
+
+* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.13.4-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Fri Aug 15 2014 Kalev Lember <kalevlember@gmail.com> - 3.13.4-1
+- Update to 3.13.4
+
+* Tue Jun 24 2014 Richard Hughes <rhughes@redhat.com> - 3.13.3-1
+- Update to 3.13.3
+
+* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.13.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Mon May 26 2014 Kalev Lember <kalevlember@gmail.com> - 3.13.2-1
+- Update to 3.13.2
+- Drop old testsuite patches
+
+* Mon May 12 2014 Bohuslav Kabrda <bkabrda@redhat.com> - 3.13.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
+
+* Tue Apr 29 2014 Richard Hughes <rhughes@redhat.com> - 3.13.1-1
+- Update to 3.13.1
+
+* Tue Apr 15 2014 Kalev Lember <kalevlember@gmail.com> - 3.12.1-1
+- Update to 3.12.1
+
+* Sat Apr 05 2014 Kalev Lember <kalevlember@gmail.com> - 3.12.0-2
+- Update dep versions
+- Tighten deps with %%_isa
+
+* Mon Mar 24 2014 Richard Hughes <rhughes@redhat.com> - 3.12.0-1
+- Update to 3.12.0
+
+* Tue Mar 18 2014 Richard Hughes <rhughes@redhat.com> - 3.11.92-1
+- Update to 3.11.92
+
+* Tue Mar 04 2014 Richard Hughes <rhughes@redhat.com> - 3.11.91-1
+- Update to 3.11.91
+
+* Tue Feb 18 2014 Richard Hughes <rhughes@redhat.com> - 3.11.90-1
+- Update to 3.11.90
+
+* Wed Feb 05 2014 Richard Hughes <rhughes@redhat.com> - 3.11.5-1
+- Update to 3.11.5
+
+* Tue Jan 14 2014 Richard Hughes <rhughes@redhat.com> - 3.11.4-1
+- Update to 3.11.4
+
+* Tue Dec 17 2013 Richard Hughes <rhughes@redhat.com> - 3.11.3-1
+- Update to 3.11.3
+
+* Mon Nov 18 2013 Richard Hughes <rhughes@redhat.com> - 3.11.2-1
+- Update to 3.11.2
+
+* Tue Oct 29 2013 Richard Hughes <rhughes@redhat.com> - 3.11.1-1
+- Update to 3.11.1
+
+* Wed Sep 25 2013 Kalev Lember <kalevlember@gmail.com> - 3.10.0-1
+- Update to 3.10.0
+
+* Wed Sep 18 2013 Kalev Lember <kalevlember@gmail.com> - 3.9.92-1
+- Update to 3.9.92
+
+* Tue Sep 03 2013 Kalev Lember <kalevlember@gmail.com> - 3.9.91-1
+- Update to 3.9.91
 
-* Mon Sep 15 2014 Matthew Barnes <mbarnes@redhat.com> - 3.8.2-5
-- Re-add support for passing GValue's by reference.
-- Resolves: rhbz#1138372
+* Thu Aug 22 2013 Kalev Lember <kalevlember@gmail.com> - 3.9.90-1
+- Update to 3.9.90
 
-* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 3.8.2-4
-- Mass rebuild 2014-01-24
+* Fri Aug  9 2013 Daniel Drake <dsd@laptop.org> - 3.9.5-1
+- Update to 3.9.5
 
-* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 3.8.2-3
-- Mass rebuild 2013-12-27
+* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.9.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
 
-* Thu Sep  5 2013 Paul W. Frields <pfrields@redhat.com> - 3.8.2-2.1
-- Rebuild for ppc64 (rhbz #978762)
+* Sun Jun 02 2013 Kalev Lember <kalevlember@gmail.com> - 3.9.2-1
+- Update to 3.9.2
 
-* Sun Jun 02 2013 Kalev Lember <kalevlember@gmail.com> - 3.8.2-2
+* Sun Jun 02 2013 Kalev Lember <kalevlember@gmail.com> - 3.9.1-2
 - Disable pyflakes tests to avoid failures with too new pyflakes 0.7.2
 
-* Mon May 13 2013 Richard Hughes <rhughes@redhat.com> - 3.8.2-1
-- Update to 3.8.2
+* Fri May 10 2013 Richard Hughes <rhughes@redhat.com> - 3.9.1-1
+- Update to 3.9.1
 
 * Thu Apr 25 2013 Peter Robinson <pbrobinson@fedoraproject.org> 3.8.1-2
 - Add upstream patch to fix Sugar (RHBZ 947538)