Skip to content
Snippets Groups Projects
Commit a91b8b98 authored by Antonio Rojas's avatar Antonio Rojas
Browse files

Update to 4.0

parent eb3832df
No related branches found
No related tags found
No related merge requests found
......@@ -3,35 +3,24 @@
pkgbase=nautilus-python
pkgname=python-nautilus
pkgver=1.2.3
pkgrel=7
pkgver=4.0
pkgrel=1
pkgdesc="Python bindings for the Nautilus Extension API"
arch=(x86_64)
url="https://wiki.gnome.org/Projects/NautilusPython"
license=(GPL2)
depends=(nautilus python-gobject)
makedepends=(gtk-doc)
source=(https://download.gnome.org/sources/$pkgbase/${pkgver%.*}/$pkgbase-$pkgver.tar.xz
gcc10.patch)
sha256sums=('073ce0297282259937ab473d189b97a04f42b97197c9292fc3bde9d135282098'
'291aac3fc44837aa310e03c0cea2e1fccb882b4dd20afbb2796d1c410af4a55f')
prepare() {
cd $pkgbase-$pkgver
# https://gitlab.gnome.org/GNOME/nautilus-python/-/merge_requests/7
patch -Np1 -i ../gcc10.patch
}
makedepends=(gtk-doc meson)
source=(https://download.gnome.org/sources/$pkgbase/$pkgver/$pkgbase-$pkgver.tar.xz)
sha256sums=('17243d62eb7d7d839a9461ab8d0701688805c7161a6705e61413a58ec268281a')
build() {
cd $pkgbase-$pkgver
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-gtk-doc \
PYTHON=python3
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
meson build $pkgbase-$pkgver \
--prefix=/usr \
-D docs=enabled
meson compile -C build
}
package_python-nautilus() {
cd $pkgbase-$pkgver
make DESTDIR="$pkgdir" install
meson install -C build --destdir="$pkgdir"
}
From bd4820186751034c6b5acb9c71b1aeab03c56523 Mon Sep 17 00:00:00 2001
From: Andreas Henriksson <andreas@fatal.se>
Date: Mon, 11 May 2020 14:57:45 +0200
Subject: [PATCH] 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
---
src/nautilus-python-object.c | 10 +++++-----
src/nautilus-python.c | 13 +++++++++++++
src/nautilus-python.h | 22 +++++++++++-----------
3 files changed, 29 insertions(+), 16 deletions(-)
diff --git a/src/nautilus-python-object.c b/src/nautilus-python-object.c
index f343070..da185ad 100644
--- a/src/nautilus-python-object.c
+++ b/src/nautilus-python-object.c
@@ -40,7 +40,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
@@ -389,7 +389,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;
@@ -408,12 +408,12 @@ nautilus_python_object_update_file_info (NautilusInfoProvider *provider,
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;
@@ -434,7 +434,7 @@ nautilus_python_object_update_file_info (NautilusInfoProvider *provider,
#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/src/nautilus-python.c b/src/nautilus-python.c
index 843e3c6..510cdfb 100644
--- a/src/nautilus-python.c
+++ b/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>
@@ -42,6 +43,18 @@ 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) {
PyObject *gobject = pygobject_init (PYGOBJECT_MAJOR_VERSION, PYGOBJECT_MINOR_VERSION, PYGOBJECT_MICRO_VERSION);
diff --git a/src/nautilus-python.h b/src/nautilus-python.h
index 4c181f8..c940a06 100644
--- a/src/nautilus-python.h
+++ b/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 */
--
GitLab
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment