nautilus-admin nautilus-python

This commit is contained in:
Rmys
2021-06-21 23:35:52 +03:00
parent 45374423f4
commit 008fe004c6
12 changed files with 492 additions and 30 deletions
+3
View File
@@ -0,0 +1,3 @@
<PISI>
<Name>desktop.gnome.admin</Name>
</PISI>
@@ -0,0 +1,20 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
from pisi.actionsapi import cmaketools
from pisi.actionsapi import pisitools
from pisi.actionsapi import get
def setup():
cmaketools.configure()
def build():
cmaketools.make()
def install():
cmaketools.rawInstall("DESTDIR=%s" % get.installDIR())
pisitools.dodoc("AUTHORS", "LICENSE", "NEWS", "README*")
@@ -0,0 +1,49 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>nautilus-admin</Name>
<Homepage>https://github.com/brunonova/nautilus-admin</Homepage>
<Packager>
<Name>Pisi Linux Admins</Name>
<Email>admin@pisilinux.org</Email>
</Packager>
<License>GPLv3</License>
<IsA>library</IsA>
<Summary>Extension for Nautilus to do administrative operations</Summary>
<Description>Extension for Nautilus to do administrative operations</Description>
<Archive sha1sum="5618e7c6949dd3a002ed14d39fc379aac74f5a2b" type="targz">https://github.com/brunonova/nautilus-admin/archive/refs/tags/v1.1.9.tar.gz</Archive>
<BuildDependencies>
<Dependency>cmake</Dependency>
<Dependency>gettext-devel</Dependency>
</BuildDependencies>
<!--
<Patches>
<Patch>nautilus-admin.patch</Patch>
<Patch level="1">nautilus-admin.patch</Patch>
</Patches>
-->
</Source>
<Package>
<Name>nautilus-admin</Name>
<RuntimeDependencies>
<Dependency>nautilus-python</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="data">/usr/share/nautilus-python</Path>
<Path fileType="localedata">/usr/share/locale</Path>
<Path fileType="doc">/usr/share/doc</Path>
</Files>
</Package>
<History>
<Update release="1">
<Date>2021-06-21</Date>
<Version>1.1.9</Version>
<Comment>First release</Comment>
<Name>Pisi Linux Admins</Name>
<Email>admin@pisilinux.org</Email>
</Update>
</History>
</PISI>
@@ -0,0 +1,8 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>nautilus-admin</Name>
<Summary xml:lang="tr">Extension for Nautilus to do administrative operations</Summary>
<Description xml:lang="tr">Extension for Nautilus to do administrative operations</Description>
</Source>
</PISI>
@@ -0,0 +1,28 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import shelltools
from pisi.actionsapi import get
def setup():
shelltools.export("PYTHON","/usr/bin/python3")
autotools.configure("PYTHON=python3 \
--enable-gtk-doc")
pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ")
def build():
autotools.make()
def install():
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
pisitools.dodoc("AUTHORS", "ChangeLog", "COPYING", "NEWS", "README*")
@@ -0,0 +1,147 @@
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,0 +1,65 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>nautilus-python</Name>
<Homepage>https://wiki.gnome.org/Projects/NautilusPython</Homepage>
<Packager>
<Name>Pisi Linux Admins</Name>
<Email>admin@pisilinux.org</Email>
</Packager>
<License>GPLv2</License>
<IsA>app</IsA>
<Summary>Python bindings for the Nautilus Extension API</Summary>
<Description>Python bindings for the Nautilus Extension API</Description>
<Archive sha1sum="6b11ff66603053c8355328969dffbeaab0aaa2ff" type="tarxz">https://download.gnome.org/sources/nautilus-python/1.2/nautilus-python-1.2.3.tar.xz</Archive>
<BuildDependencies>
<Dependency>gtk-doc</Dependency>
<Dependency>yelp-tools</Dependency>
<Dependency>gtk3-devel</Dependency>
<Dependency>glib2-devel</Dependency>
<Dependency>python3-devel</Dependency>
<Dependency>nautilus-devel</Dependency>
<Dependency>python3-pygobject3-devel</Dependency>
</BuildDependencies>
<Patches>
<Patch level="1">gcc10.patch</Patch>
</Patches>
</Source>
<Package>
<Name>nautilus-python</Name>
<RuntimeDependencies>
<Dependency>gtk3</Dependency>
<Dependency>glib2</Dependency>
<Dependency>python3</Dependency>
<Dependency>nautilus</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library">/usr/lib</Path>
<Path fileType="doc">/usr/share/doc</Path>
<Path fileType="doc">/usr/share/gtk-doc</Path>
</Files>
</Package>
<Package>
<Name>nautilus-python-devel</Name>
<Summary>Development files for nautilus-python</Summary>
<RuntimeDependencies>
<Dependency release="current">nautilus-python</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library">/usr/lib/pkgconfig</Path>
</Files>
</Package>
<History>
<Update release="1">
<Date>2021-06-21</Date>
<Version>1.2.3</Version>
<Comment>First release</Comment>
<Name>Pisi Linux Admins</Name>
<Email>admin@pisilinux.org</Email>
</Update>
</History>
</PISI>
@@ -0,0 +1,8 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>nautilus-python</Name>
<Summary xml:lang="tr">Python bindings for the Nautilus Extension API</Summary>
<Description xml:lang="tr">Python bindings for the Nautilus Extension API</Description>
</Source>
</PISI>