aboutsummaryrefslogtreecommitdiff
path: root/x11-fm
diff options
context:
space:
mode:
authorTobias C. Berner <tcberner@FreeBSD.org>2020-09-13 15:49:02 +0000
committerTobias C. Berner <tcberner@FreeBSD.org>2020-09-13 15:49:02 +0000
commit28a2d9a7f8223fda51a54ea8d7f32f47c01abc76 (patch)
treef98b6a8948cd4beacdfc05c29953213ddb75ff2a /x11-fm
parent34fa5b5e60b26601f3828228153afb4fe3abfb27 (diff)
downloadports-28a2d9a7f8223fda51a54ea8d7f32f47c01abc76.tar.gz
ports-28a2d9a7f8223fda51a54ea8d7f32f47c01abc76.zip
x11-fm/nautilus-python: fix build on current
- fixes build with -fcommon Backport of patch from Debian: From: Andreas Henriksson <andreas@fatal.se> Subject: Fix build with gcc 10 Bug-Debian: https://bugs.debian.org/957578 Forwarded: https://gitlab.gnome.org/GNOME/nautilus-python/-/merge_requests/7 Last-Update: 2020-05-11 Obtained from: https://sources.debian.org/src/nautilus-python/1.2.3-3/debian/patches/gcc10.patch/
Notes
Notes: svn path=/head/; revision=548482
Diffstat (limited to 'x11-fm')
-rw-r--r--x11-fm/nautilus-python/files/patch-src_nautilus-python-object.c44
-rw-r--r--x11-fm/nautilus-python/files/patch-src_nautilus-python.c28
-rw-r--r--x11-fm/nautilus-python/files/patch-src_nautilus-python.h51
3 files changed, 123 insertions, 0 deletions
diff --git a/x11-fm/nautilus-python/files/patch-src_nautilus-python-object.c b/x11-fm/nautilus-python/files/patch-src_nautilus-python-object.c
new file mode 100644
index 000000000000..2018ed53fd66
--- /dev/null
+++ b/x11-fm/nautilus-python/files/patch-src_nautilus-python-object.c
@@ -0,0 +1,44 @@
+--- src/nautilus-python-object.c.orig 2020-09-13 15:40:21 UTC
++++ src/nautilus-python-object.c
+@@ -49,7 +49,7 @@ int __PyString_Check(PyObject *obj) {
+ #endif
+ }
+
+-char* __PyString_AsString(PyObject *obj) {
++const char* __PyString_AsString(PyObject *obj) {
+ #if PY_MAJOR_VERSION >= 3
+ return PyUnicode_AsUTF8(obj);
+ #else
+@@ -398,7 +398,7 @@ beach:
+ #define METHOD_NAME "update_file_info"
+ static NautilusOperationResult
+ nautilus_python_object_update_file_info (NautilusInfoProvider *provider,
+- NautilusFile *file,
++ NautilusFileInfo *file_info,
+ GClosure *update_complete,
+ NautilusOperationHandle **handle) {
+ NautilusPythonObject *object = (NautilusPythonObject*)provider;
+@@ -417,12 +417,12 @@ nautilus_python_object_update_file_info (NautilusInfoP
+ pygobject_new((GObject*)provider),
+ py_handle,
+ pyg_boxed_new(G_TYPE_CLOSURE, update_complete, TRUE, TRUE),
+- pygobject_new((GObject*)file));
++ pygobject_new((GObject*)file_info));
+ }
+ else if (PyObject_HasAttrString(object->instance, "update_file_info")) {
+ py_ret = PyObject_CallMethod(object->instance,
+ METHOD_PREFIX METHOD_NAME, "(N)",
+- pygobject_new((GObject*)file));
++ pygobject_new((GObject*)file_info));
+ }
+ else {
+ goto beach;
+@@ -443,7 +443,7 @@ nautilus_python_object_update_file_info (NautilusInfoP
+ #endif
+
+ beach:
+- free_pygobject_data(file, NULL);
++ free_pygobject_data(file_info, NULL);
+ Py_XDECREF(py_ret);
+ pyg_gil_state_release(state);
+ return ret;
diff --git a/x11-fm/nautilus-python/files/patch-src_nautilus-python.c b/x11-fm/nautilus-python/files/patch-src_nautilus-python.c
new file mode 100644
index 000000000000..0b37b505b560
--- /dev/null
+++ b/x11-fm/nautilus-python/files/patch-src_nautilus-python.c
@@ -0,0 +1,28 @@
+--- src/nautilus-python.c.orig 2020-09-13 15:42:41 UTC
++++ src/nautilus-python.c
+@@ -22,6 +22,7 @@
+ #endif
+
+ #include <Python.h>
++#define NO_IMPORT_PYGOBJECT //To avoid a multiple definition, nautilus-python-object.c also includes and does the import.
+ #include <pygobject.h>
+ #include <gmodule.h>
+ #include <gtk/gtk.h>
+@@ -41,6 +42,17 @@ static gboolean nautilus_python_init_python(void);
+
+ static GArray *all_types = NULL;
+
++PyTypeObject *_PyGtkWidget_Type;
++PyTypeObject *_PyNautilusColumn_Type;
++PyTypeObject *_PyNautilusColumnProvider_Type;
++PyTypeObject *_PyNautilusInfoProvider_Type;
++PyTypeObject *_PyNautilusLocationWidgetProvider_Type;
++PyTypeObject *_PyNautilusMenu_Type;
++PyTypeObject *_PyNautilusMenuItem_Type;
++PyTypeObject *_PyNautilusMenuProvider_Type;
++PyTypeObject *_PyNautilusPropertyPage_Type;
++PyTypeObject *_PyNautilusPropertyPageProvider_Type;
++PyTypeObject *_PyNautilusOperationHandle_Type;
+
+ static inline gboolean
+ np_init_pygobject(void) {
diff --git a/x11-fm/nautilus-python/files/patch-src_nautilus-python.h b/x11-fm/nautilus-python/files/patch-src_nautilus-python.h
new file mode 100644
index 000000000000..469a44acc863
--- /dev/null
+++ b/x11-fm/nautilus-python/files/patch-src_nautilus-python.h
@@ -0,0 +1,51 @@
+--- src/nautilus-python.h.orig 2020-09-13 15:43:39 UTC
++++ src/nautilus-python.h
+@@ -43,37 +43,37 @@ extern NautilusPythonDebug nautilus_python_debug;
+ #define debug_enter_args(x, y) { if (nautilus_python_debug & NAUTILUS_PYTHON_DEBUG_MISC) \
+ g_printf("%s: entered " x "\n", __FUNCTION__, y); }
+
+-PyTypeObject *_PyGtkWidget_Type;
++extern PyTypeObject *_PyGtkWidget_Type;
+ #define PyGtkWidget_Type (*_PyGtkWidget_Type)
+
+-PyTypeObject *_PyNautilusColumn_Type;
++extern PyTypeObject *_PyNautilusColumn_Type;
+ #define PyNautilusColumn_Type (*_PyNautilusColumn_Type)
+
+-PyTypeObject *_PyNautilusColumnProvider_Type;
++extern PyTypeObject *_PyNautilusColumnProvider_Type;
+ #define PyNautilusColumnProvider_Type (*_PyNautilusColumnProvider_Type)
+
+-PyTypeObject *_PyNautilusInfoProvider_Type;
++extern PyTypeObject *_PyNautilusInfoProvider_Type;
+ #define PyNautilusInfoProvider_Type (*_PyNautilusInfoProvider_Type)
+
+-PyTypeObject *_PyNautilusLocationWidgetProvider_Type;
++extern PyTypeObject *_PyNautilusLocationWidgetProvider_Type;
+ #define PyNautilusLocationWidgetProvider_Type (*_PyNautilusLocationWidgetProvider_Type)
+
+-PyTypeObject *_PyNautilusMenu_Type;
++extern PyTypeObject *_PyNautilusMenu_Type;
+ #define PyNautilusMenu_Type (*_PyNautilusMenu_Type)
+
+-PyTypeObject *_PyNautilusMenuItem_Type;
++extern PyTypeObject *_PyNautilusMenuItem_Type;
+ #define PyNautilusMenuItem_Type (*_PyNautilusMenuItem_Type)
+
+-PyTypeObject *_PyNautilusMenuProvider_Type;
++extern PyTypeObject *_PyNautilusMenuProvider_Type;
+ #define PyNautilusMenuProvider_Type (*_PyNautilusMenuProvider_Type)
+
+-PyTypeObject *_PyNautilusPropertyPage_Type;
++extern PyTypeObject *_PyNautilusPropertyPage_Type;
+ #define PyNautilusPropertyPage_Type (*_PyNautilusPropertyPage_Type)
+
+-PyTypeObject *_PyNautilusPropertyPageProvider_Type;
++extern PyTypeObject *_PyNautilusPropertyPageProvider_Type;
+ #define PyNautilusPropertyPageProvider_Type (*_PyNautilusPropertyPageProvider_Type)
+
+-PyTypeObject *_PyNautilusOperationHandle_Type;
++extern PyTypeObject *_PyNautilusOperationHandle_Type;
+ #define PyNautilusOperationHandle_Type (*_PyNautilusOperationHandle_Type)
+
+ #endif /* NAUTILUS_PYTHON_H */