Merge branch 'master' of github.com:pisilinux/main
This commit is contained in:
@@ -9,8 +9,7 @@ from pisi.actionsapi import pisitools
|
||||
|
||||
def setup():
|
||||
autotools.autoreconf("-vif")
|
||||
autotools.configure("--disable-static \
|
||||
--disable-gtk-doc")
|
||||
autotools.configure()
|
||||
|
||||
pisitools.dosed("libtool"," -shared ", " -Wl,--as-needed -shared ")
|
||||
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
--- libglade-2.0.1/glade/glade-gtk.c.nowarning 2003-08-29 14:50:10.000000000 -0400
|
||||
+++ libglade-2.0.1/glade/glade-gtk.c 2003-08-29 14:58:41.000000000 -0400
|
||||
@@ -639,9 +639,8 @@
|
||||
if (!strcmp (childinfo->properties[j].name, "label")) {
|
||||
label = childinfo->properties[j].value;
|
||||
break;
|
||||
- } else {
|
||||
- g_warning ("Unknown CList child property: %s", childinfo->properties[j].name);
|
||||
}
|
||||
+ /* Ignore all other properties */
|
||||
}
|
||||
|
||||
if (label) {
|
||||
@@ -683,6 +682,7 @@
|
||||
char *icon = NULL;
|
||||
gboolean use_stock = FALSE, active = FALSE, new_group = FALSE;
|
||||
gboolean use_underline = FALSE;
|
||||
+ gboolean sensitive = TRUE;
|
||||
GtkWidget *iconw = NULL;
|
||||
int j;
|
||||
|
||||
@@ -708,6 +708,8 @@
|
||||
group_name = value;
|
||||
} else if (!strcmp (name, "new_group")) {
|
||||
new_group = BOOL (value);
|
||||
+ } else if (!strcmp (name, "sensitive")) {
|
||||
+ sensitive = BOOL (value);
|
||||
} else if (!strcmp (name, "visible")) {
|
||||
/* ignore for now */
|
||||
} else if (!strcmp (name, "tooltip")) {
|
||||
@@ -785,6 +787,8 @@
|
||||
gtk_label_set_use_underline (GTK_LABEL (toolbar_child->label),
|
||||
TRUE);
|
||||
}
|
||||
+
|
||||
+ gtk_widget_set_sensitive (child, sensitive);
|
||||
|
||||
glade_xml_set_common_params (xml, child, childinfo->child);
|
||||
} else {
|
||||
@@ -20,10 +20,12 @@
|
||||
<Dependency>atk-devel</Dependency>
|
||||
<Dependency>pango-devel</Dependency>
|
||||
<Dependency>gtk2-devel</Dependency>
|
||||
<Dependency>python-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<Patch level="1">Makefile.in.am-2.4.2-xmlcatalog.patch</Patch>
|
||||
<Patch level="1">libglade-2.6.3-fix_tests-page_size.patch</Patch>
|
||||
<Patch level="1">libglade-2.0.1-nowarning.patch</Patch>
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
@@ -34,6 +36,7 @@
|
||||
<Dependency>libxml2</Dependency>
|
||||
<Dependency>atk</Dependency>
|
||||
<Dependency>pango</Dependency>
|
||||
<Dependency>python</Dependency>
|
||||
<Dependency>gtk2</Dependency>
|
||||
<Dependency>gdk-pixbuf</Dependency>
|
||||
</RuntimeDependencies>
|
||||
@@ -65,6 +68,7 @@
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">libglade</Dependency>
|
||||
<Dependency>gtk2-devel</Dependency>
|
||||
<Dependency>libxml2-devel</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
@@ -75,7 +79,7 @@
|
||||
|
||||
<History>
|
||||
<Update release="1">
|
||||
<Date>2014-05-18</Date>
|
||||
<Date>2016-04-03</Date>
|
||||
<Version>2.6.4</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Serdar Soytetir</Name>
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
@@ -56,7 +55,7 @@
|
||||
<Path fileType="data">/usr/share/speech-dispatcher</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
|
||||
<Package>
|
||||
<Name>python3-speech-dispatcher</Name>
|
||||
<Summary>Python3 bindings for speech-dispatcher</Summary>
|
||||
@@ -87,7 +86,7 @@
|
||||
|
||||
<History>
|
||||
<Update release="1">
|
||||
<Date>2016-01-25</Date>
|
||||
<Date>2016-04-04</Date>
|
||||
<Version>0.8.3</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Alihan Öztürk</Name>
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
@@ -13,7 +12,7 @@
|
||||
<IsA>data</IsA>
|
||||
<Summary>Sound patches for Timidity (Shom)</Summary>
|
||||
<Description>Containts Matsumoto Shoji's patch collection for TiMidity (Roland SC-55 style)</Description>
|
||||
<Archive sha1sum="70e6dada9656ab79253a80bcf5505d2151551397" type="zip">ftp://ftp.ee.postgresql.org/gentoo/distfiles/shominst-0409.zip</Archive>
|
||||
<Archive sha1sum="70e6dada9656ab79253a80bcf5505d2151551397" type="zip">https://sourceforge.net/projects/pisilinux/files/source/shominst-0409.zip</Archive>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
@@ -25,7 +24,7 @@
|
||||
|
||||
<History>
|
||||
<Update release="1">
|
||||
<Date>2016-04-02</Date>
|
||||
<Date>2016-04-04</Date>
|
||||
<Version>0.409</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
|
||||
+68001
-67903
File diff suppressed because it is too large
Load Diff
@@ -1 +1 @@
|
||||
42a0b27595abb396d8bbc8f06dbba96ce9871176
|
||||
d0494615e50f4ad5377809fcab7d349220374224
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
de56924cee8bb60ebdc02ca6050fde39a1c99a59
|
||||
29d02e570243bbf66c7dc47687a2a28f56b1de64
|
||||
@@ -81,6 +81,7 @@
|
||||
<Dependency release="current">python-gtk</Dependency>
|
||||
<Dependency>python-pygobject-devel</Dependency>
|
||||
<Dependency>gtk2-devel</Dependency>
|
||||
<Dependency>libglade-devel</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin/pygtk-codegen-2.0</Path>
|
||||
@@ -92,7 +93,7 @@
|
||||
|
||||
<History>
|
||||
<Update release="1">
|
||||
<Date>2016-03-05</Date>
|
||||
<Date>2016-04-04</Date>
|
||||
<Version>2.24.0</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Alihan Öztürk</Name>
|
||||
|
||||
@@ -0,0 +1,720 @@
|
||||
Submitted By: Andrew Benton <andy at benton dot eu dot com> (gobject-introspection) and Armin K. <krejzi at email dot com>, after thomas kaedin (git)
|
||||
Date: 2012-03-29 (gobject-introspection) and 2014-03-04 (git)
|
||||
Initial Package Version: 2.28.6
|
||||
Upstream Status: not submitted (gobject-introspection) and committed (git)
|
||||
Origin: Andrew Benton (gobject-introspection) and upstream (git)
|
||||
Description: Fixes compiling with recent versions of gobject-introspection; and upstream fixes
|
||||
|
||||
diff -Naur pygobject-2.28.6.orig/configure.ac pygobject-2.28.6/configure.ac
|
||||
--- pygobject-2.28.6.orig/configure.ac 2011-06-13 13:33:56.000000000 -0300
|
||||
+++ pygobject-2.28.6/configure.ac 2014-03-04 18:36:07.947079909 -0300
|
||||
@@ -85,7 +85,7 @@
|
||||
AM_PROG_CC_STDC
|
||||
AM_PROG_CC_C_O
|
||||
|
||||
-# check that we have the minimum version of python necisary to build
|
||||
+# check that we have the minimum version of python necessary to build
|
||||
JD_PATH_PYTHON(python_min_ver)
|
||||
|
||||
# check if we are building for python 3
|
||||
@@ -236,7 +236,7 @@
|
||||
AC_ARG_ENABLE(introspection,
|
||||
AC_HELP_STRING([--enable-introspection], [Use introspection information]),
|
||||
enable_introspection=$enableval,
|
||||
- enable_introspection=yes)
|
||||
+ enable_introspection=no)
|
||||
if test "$enable_introspection" != no; then
|
||||
AC_DEFINE(ENABLE_INTROSPECTION,1,Use introspection information)
|
||||
PKG_CHECK_MODULES(GI,
|
||||
@@ -262,6 +262,9 @@
|
||||
AC_SUBST(INTROSPECTION_SCANNER)
|
||||
AC_SUBST(INTROSPECTION_COMPILER)
|
||||
|
||||
+dnl Do not install codegen for Python 3.
|
||||
+AM_CONDITIONAL(ENABLE_CODEGEN, test $build_py3k = false)
|
||||
+
|
||||
dnl add required cflags ...
|
||||
if test "x$GCC" = "xyes"; then
|
||||
JH_ADD_CFLAG([-Wall])
|
||||
@@ -281,8 +284,6 @@
|
||||
Makefile
|
||||
pygobject-2.0.pc
|
||||
pygobject-2.0-uninstalled.pc
|
||||
- codegen/Makefile
|
||||
- codegen/pygobject-codegen-2.0
|
||||
docs/Makefile
|
||||
docs/reference/entities.docbook
|
||||
docs/xsl/fixxref.py
|
||||
@@ -295,6 +296,13 @@
|
||||
examples/Makefile
|
||||
tests/Makefile
|
||||
PKG-INFO)
|
||||
+
|
||||
+if test $build_py3k = false; then
|
||||
+ AC_CONFIG_FILES(
|
||||
+ codegen/Makefile
|
||||
+ codegen/pygobject-codegen-2.0)
|
||||
+fi
|
||||
+
|
||||
AC_OUTPUT
|
||||
|
||||
echo
|
||||
diff -Naur pygobject-2.28.6.orig/gi/module.py pygobject-2.28.6/gi/module.py
|
||||
--- pygobject-2.28.6.orig/gi/module.py 2011-06-13 13:30:25.000000000 -0300
|
||||
+++ pygobject-2.28.6/gi/module.py 2014-03-04 18:36:07.947079909 -0300
|
||||
@@ -24,7 +24,11 @@
|
||||
|
||||
import os
|
||||
import gobject
|
||||
-import string
|
||||
+try:
|
||||
+ maketrans = ''.maketrans
|
||||
+except AttributeError:
|
||||
+ # fallback for Python 2
|
||||
+ from string import maketrans
|
||||
|
||||
import gi
|
||||
from .overrides import registry
|
||||
@@ -124,7 +128,7 @@
|
||||
# Don't use upper() here to avoid locale specific
|
||||
# identifier conversion (e. g. in Turkish 'i'.upper() == 'i')
|
||||
# see https://bugzilla.gnome.org/show_bug.cgi?id=649165
|
||||
- ascii_upper_trans = string.maketrans(
|
||||
+ ascii_upper_trans = maketrans(
|
||||
'abcdefgjhijklmnopqrstuvwxyz',
|
||||
'ABCDEFGJHIJKLMNOPQRSTUVWXYZ')
|
||||
for value_info in info.get_values():
|
||||
diff -Naur pygobject-2.28.6.orig/gi/overrides/Gtk.py pygobject-2.28.6/gi/overrides/Gtk.py
|
||||
--- pygobject-2.28.6.orig/gi/overrides/Gtk.py 2011-06-13 13:33:49.000000000 -0300
|
||||
+++ pygobject-2.28.6/gi/overrides/Gtk.py 2014-03-04 18:36:07.949079863 -0300
|
||||
@@ -35,6 +35,18 @@
|
||||
Gtk = modules['Gtk']._introspection_module
|
||||
__all__ = []
|
||||
|
||||
+if Gtk._version == '2.0':
|
||||
+ import warnings
|
||||
+ warn_msg = "You have imported the Gtk 2.0 module. Because Gtk 2.0 \
|
||||
+was not designed for use with introspection some of the \
|
||||
+interfaces and API will fail. As such this is not supported \
|
||||
+by the pygobject development team and we encourage you to \
|
||||
+port your app to Gtk 3 or greater. PyGTK is the recomended \
|
||||
+python module to use with Gtk 2.0"
|
||||
+
|
||||
+ warnings.warn(warn_msg, RuntimeWarning)
|
||||
+
|
||||
+
|
||||
class Widget(Gtk.Widget):
|
||||
|
||||
def translate_coordinates(self, dest_widget, src_x, src_y):
|
||||
@@ -401,16 +413,22 @@
|
||||
def __init__(self,
|
||||
parent=None,
|
||||
flags=0,
|
||||
- type=Gtk.MessageType.INFO,
|
||||
+ message_type=Gtk.MessageType.INFO,
|
||||
buttons=Gtk.ButtonsType.NONE,
|
||||
message_format=None,
|
||||
**kwds):
|
||||
|
||||
if message_format != None:
|
||||
kwds['text'] = message_format
|
||||
+
|
||||
+ if 'type' in kwds:
|
||||
+ import warnings
|
||||
+ warnings.warn("The use of the keyword type as a parameter of the Gtk.MessageDialog constructor has been depricated. Please use message_type instead.", DeprecationWarning)
|
||||
+ message_type = kwds['type']
|
||||
+
|
||||
Gtk.MessageDialog.__init__(self,
|
||||
_buttons_property=buttons,
|
||||
- message_type=type,
|
||||
+ message_type=message_type,
|
||||
**kwds)
|
||||
Dialog.__init__(self, parent=parent, flags=flags)
|
||||
|
||||
@@ -619,12 +637,18 @@
|
||||
def forward_search(self, string, flags, limit):
|
||||
success, match_start, match_end = super(TextIter, self).forward_search(string,
|
||||
flags, limit)
|
||||
- return (match_start, match_end,)
|
||||
+ if success:
|
||||
+ return (match_start, match_end)
|
||||
+ else:
|
||||
+ return None
|
||||
|
||||
def backward_search(self, string, flags, limit):
|
||||
success, match_start, match_end = super(TextIter, self).backward_search(string,
|
||||
flags, limit)
|
||||
- return (match_start, match_end,)
|
||||
+ if success:
|
||||
+ return (match_start, match_end)
|
||||
+ else:
|
||||
+ return None
|
||||
|
||||
def begins_tag(self, tag=None):
|
||||
return super(TextIter, self).begins_tag(tag)
|
||||
diff -Naur pygobject-2.28.6.orig/gi/pygi-foreign-cairo.c pygobject-2.28.6/gi/pygi-foreign-cairo.c
|
||||
--- pygobject-2.28.6.orig/gi/pygi-foreign-cairo.c 2011-06-13 13:33:49.000000000 -0300
|
||||
+++ pygobject-2.28.6/gi/pygi-foreign-cairo.c 2014-03-04 18:36:07.949079863 -0300
|
||||
@@ -30,7 +30,7 @@
|
||||
#include <pycairo/py3cairo.h>
|
||||
#endif
|
||||
|
||||
-Pycairo_CAPI_t *Pycairo_CAPI;
|
||||
+static Pycairo_CAPI_t *Pycairo_CAPI;
|
||||
|
||||
#include "pygi-foreign.h"
|
||||
|
||||
@@ -114,10 +114,15 @@
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
-static PyMethodDef _gi_cairo_functions[] = {};
|
||||
+static PyMethodDef _gi_cairo_functions[] = {0,};
|
||||
PYGLIB_MODULE_START(_gi_cairo, "_gi_cairo")
|
||||
{
|
||||
+#if PY_VERSION_HEX < 0x03000000
|
||||
Pycairo_IMPORT;
|
||||
+#else
|
||||
+ Pycairo_CAPI = (Pycairo_CAPI_t*) PyCObject_Import("cairo", "CAPI");
|
||||
+#endif
|
||||
+
|
||||
if (Pycairo_CAPI == NULL)
|
||||
return PYGLIB_MODULE_ERROR_RETURN;
|
||||
|
||||
diff -Naur pygobject-2.28.6.orig/gi/pygi-info.c pygobject-2.28.6/gi/pygi-info.c
|
||||
--- pygobject-2.28.6.orig/gi/pygi-info.c 2011-06-13 13:30:25.000000000 -0300
|
||||
+++ pygobject-2.28.6/gi/pygi-info.c 2014-03-04 18:35:32.473899924 -0300
|
||||
@@ -162,9 +162,6 @@
|
||||
case GI_INFO_TYPE_CONSTANT:
|
||||
type = &PyGIConstantInfo_Type;
|
||||
break;
|
||||
- case GI_INFO_TYPE_ERROR_DOMAIN:
|
||||
- type = &PyGIErrorDomainInfo_Type;
|
||||
- break;
|
||||
case GI_INFO_TYPE_UNION:
|
||||
type = &PyGIUnionInfo_Type;
|
||||
break;
|
||||
@@ -481,7 +478,6 @@
|
||||
case GI_INFO_TYPE_INVALID:
|
||||
case GI_INFO_TYPE_FUNCTION:
|
||||
case GI_INFO_TYPE_CONSTANT:
|
||||
- case GI_INFO_TYPE_ERROR_DOMAIN:
|
||||
case GI_INFO_TYPE_VALUE:
|
||||
case GI_INFO_TYPE_SIGNAL:
|
||||
case GI_INFO_TYPE_PROPERTY:
|
||||
@@ -860,7 +856,6 @@
|
||||
case GI_INFO_TYPE_INVALID:
|
||||
case GI_INFO_TYPE_FUNCTION:
|
||||
case GI_INFO_TYPE_CONSTANT:
|
||||
- case GI_INFO_TYPE_ERROR_DOMAIN:
|
||||
case GI_INFO_TYPE_VALUE:
|
||||
case GI_INFO_TYPE_SIGNAL:
|
||||
case GI_INFO_TYPE_PROPERTY:
|
||||
diff -Naur pygobject-2.28.6.orig/gio/gio-types.defs pygobject-2.28.6/gio/gio-types.defs
|
||||
--- pygobject-2.28.6.orig/gio/gio-types.defs 2011-06-13 13:33:49.000000000 -0300
|
||||
+++ pygobject-2.28.6/gio/gio-types.defs 2014-03-04 18:36:07.950079840 -0300
|
||||
@@ -526,7 +526,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
-(define-enum MountMountFlags
|
||||
+(define-flags MountMountFlags
|
||||
(in-module "gio")
|
||||
(c-name "GMountMountFlags")
|
||||
(gtype-id "G_TYPE_MOUNT_MOUNT_FLAGS")
|
||||
@@ -545,7 +545,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
-(define-enum DriveStartFlags
|
||||
+(define-flags DriveStartFlags
|
||||
(in-module "gio")
|
||||
(c-name "GDriveStartFlags")
|
||||
(gtype-id "G_TYPE_DRIVE_START_FLAGS")
|
||||
@@ -770,7 +770,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
-(define-enum SocketMsgFlags
|
||||
+(define-flags SocketMsgFlags
|
||||
(in-module "gio")
|
||||
(c-name "GSocketMsgFlags")
|
||||
(gtype-id "G_TYPE_SOCKET_MSG_FLAGS")
|
||||
diff -Naur pygobject-2.28.6.orig/gobject/gobjectmodule.c pygobject-2.28.6/gobject/gobjectmodule.c
|
||||
--- pygobject-2.28.6.orig/gobject/gobjectmodule.c 2011-06-13 13:33:49.000000000 -0300
|
||||
+++ pygobject-2.28.6/gobject/gobjectmodule.c 2014-03-04 18:36:07.952079793 -0300
|
||||
@@ -312,13 +312,6 @@
|
||||
pyglib_gil_state_release(state);
|
||||
}
|
||||
|
||||
-static void
|
||||
-pyg_object_class_init(GObjectClass *class, PyObject *py_class)
|
||||
-{
|
||||
- class->set_property = pyg_object_set_property;
|
||||
- class->get_property = pyg_object_get_property;
|
||||
-}
|
||||
-
|
||||
typedef struct _PyGSignalAccumulatorData {
|
||||
PyObject *callable;
|
||||
PyObject *user_data;
|
||||
@@ -484,15 +477,14 @@
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
-add_signals (GType instance_type, PyObject *signals)
|
||||
+add_signals (GObjectClass *klass, PyObject *signals)
|
||||
{
|
||||
gboolean ret = TRUE;
|
||||
- GObjectClass *oclass;
|
||||
Py_ssize_t pos = 0;
|
||||
PyObject *key, *value, *overridden_signals = NULL;
|
||||
+ GType instance_type = G_OBJECT_CLASS_TYPE (klass);
|
||||
|
||||
overridden_signals = PyDict_New();
|
||||
- oclass = g_type_class_ref(instance_type);
|
||||
while (PyDict_Next(signals, &pos, &key, &value)) {
|
||||
const gchar *signal_name;
|
||||
gchar *signal_name_canon, *c;
|
||||
@@ -530,7 +522,6 @@
|
||||
if (!ret)
|
||||
break;
|
||||
}
|
||||
- g_type_class_unref(oclass);
|
||||
if (ret)
|
||||
return overridden_signals;
|
||||
else {
|
||||
@@ -800,14 +791,12 @@
|
||||
}
|
||||
|
||||
static gboolean
|
||||
-add_properties (GType instance_type, PyObject *properties)
|
||||
+add_properties (GObjectClass *klass, PyObject *properties)
|
||||
{
|
||||
gboolean ret = TRUE;
|
||||
- GObjectClass *oclass;
|
||||
Py_ssize_t pos = 0;
|
||||
PyObject *key, *value;
|
||||
|
||||
- oclass = g_type_class_ref(instance_type);
|
||||
while (PyDict_Next(properties, &pos, &key, &value)) {
|
||||
const gchar *prop_name;
|
||||
GType prop_type;
|
||||
@@ -873,7 +862,7 @@
|
||||
Py_DECREF(slice);
|
||||
|
||||
if (pspec) {
|
||||
- g_object_class_install_property(oclass, 1, pspec);
|
||||
+ g_object_class_install_property(klass, 1, pspec);
|
||||
} else {
|
||||
PyObject *type, *value, *traceback;
|
||||
ret = FALSE;
|
||||
@@ -883,7 +872,7 @@
|
||||
g_snprintf(msg, 256,
|
||||
"%s (while registering property '%s' for GType '%s')",
|
||||
PYGLIB_PyUnicode_AsString(value),
|
||||
- prop_name, g_type_name(instance_type));
|
||||
+ prop_name, G_OBJECT_CLASS_NAME(klass));
|
||||
Py_DECREF(value);
|
||||
value = PYGLIB_PyUnicode_FromString(msg);
|
||||
}
|
||||
@@ -892,11 +881,63 @@
|
||||
}
|
||||
}
|
||||
|
||||
- g_type_class_unref(oclass);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
+pyg_object_class_init(GObjectClass *class, PyObject *py_class)
|
||||
+{
|
||||
+ PyObject *gproperties, *gsignals, *overridden_signals;
|
||||
+ PyObject *class_dict = ((PyTypeObject*) py_class)->tp_dict;
|
||||
+
|
||||
+ class->set_property = pyg_object_set_property;
|
||||
+ class->get_property = pyg_object_get_property;
|
||||
+
|
||||
+ /* install signals */
|
||||
+ /* we look this up in the instance dictionary, so we don't
|
||||
+ * accidentally get a parent type's __gsignals__ attribute. */
|
||||
+ gsignals = PyDict_GetItemString(class_dict, "__gsignals__");
|
||||
+ if (gsignals) {
|
||||
+ if (!PyDict_Check(gsignals)) {
|
||||
+ PyErr_SetString(PyExc_TypeError,
|
||||
+ "__gsignals__ attribute not a dict!");
|
||||
+ return;
|
||||
+ }
|
||||
+ if (!(overridden_signals = add_signals(class, gsignals))) {
|
||||
+ return;
|
||||
+ }
|
||||
+ if (PyDict_SetItemString(class_dict, "__gsignals__",
|
||||
+ overridden_signals)) {
|
||||
+ return;
|
||||
+ }
|
||||
+ Py_DECREF(overridden_signals);
|
||||
+
|
||||
+ PyDict_DelItemString(class_dict, "__gsignals__");
|
||||
+ } else {
|
||||
+ PyErr_Clear();
|
||||
+ }
|
||||
+
|
||||
+ /* install properties */
|
||||
+ /* we look this up in the instance dictionary, so we don't
|
||||
+ * accidentally get a parent type's __gproperties__ attribute. */
|
||||
+ gproperties = PyDict_GetItemString(class_dict, "__gproperties__");
|
||||
+ if (gproperties) {
|
||||
+ if (!PyDict_Check(gproperties)) {
|
||||
+ PyErr_SetString(PyExc_TypeError,
|
||||
+ "__gproperties__ attribute not a dict!");
|
||||
+ return;
|
||||
+ }
|
||||
+ if (!add_properties(class, gproperties)) {
|
||||
+ return;
|
||||
+ }
|
||||
+ PyDict_DelItemString(class_dict, "__gproperties__");
|
||||
+ /* Borrowed reference. Py_DECREF(gproperties); */
|
||||
+ } else {
|
||||
+ PyErr_Clear();
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
pyg_register_class_init(GType gtype, PyGClassInitFunc class_init)
|
||||
{
|
||||
GSList *list;
|
||||
@@ -1068,7 +1109,7 @@
|
||||
*/
|
||||
static void
|
||||
pyg_type_add_interfaces(PyTypeObject *class, GType instance_type,
|
||||
- PyObject *bases, gboolean new_interfaces,
|
||||
+ PyObject *bases,
|
||||
GType *parent_interfaces, guint n_parent_interfaces)
|
||||
{
|
||||
int i;
|
||||
@@ -1082,7 +1123,6 @@
|
||||
guint k;
|
||||
PyObject *base = PyTuple_GET_ITEM(bases, i);
|
||||
GType itype;
|
||||
- gboolean is_new = TRUE;
|
||||
const GInterfaceInfo *iinfo;
|
||||
GInterfaceInfo iinfo_copy;
|
||||
|
||||
@@ -1099,16 +1139,6 @@
|
||||
if (!G_TYPE_IS_INTERFACE(itype))
|
||||
continue;
|
||||
|
||||
- for (k = 0; k < n_parent_interfaces; ++k) {
|
||||
- if (parent_interfaces[k] == itype) {
|
||||
- is_new = FALSE;
|
||||
- break;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- if ((new_interfaces && !is_new) || (!new_interfaces && is_new))
|
||||
- continue;
|
||||
-
|
||||
iinfo = pyg_lookup_interface_info(itype);
|
||||
if (!iinfo) {
|
||||
gchar *error;
|
||||
@@ -1129,7 +1159,7 @@
|
||||
int
|
||||
pyg_type_register(PyTypeObject *class, const char *type_name)
|
||||
{
|
||||
- PyObject *gtype, *gsignals, *gproperties, *overridden_signals;
|
||||
+ PyObject *gtype;
|
||||
GType parent_type, instance_type;
|
||||
GType *parent_interfaces;
|
||||
guint n_parent_interfaces;
|
||||
@@ -1216,88 +1246,22 @@
|
||||
}
|
||||
|
||||
/*
|
||||
- * Note: Interfaces to be implemented are searched twice. First
|
||||
- * we register interfaces that are already implemented by a parent
|
||||
- * type. The second time, the remaining interfaces are
|
||||
- * registered, i.e. the ones that are not implemented by a parent
|
||||
- * type. In between these two loops, properties and signals are
|
||||
- * registered. It has to be done this way, in two steps,
|
||||
- * otherwise glib will complain. If registering all interfaces
|
||||
- * always before properties, you get an error like:
|
||||
- *
|
||||
- * ../gobject:121: Warning: Object class
|
||||
- * test_interface+MyObject doesn't implement property
|
||||
- * 'some-property' from interface 'TestInterface'
|
||||
- *
|
||||
- * If, on the other hand, you register interfaces after
|
||||
- * registering the properties, you get something like:
|
||||
- *
|
||||
- * ../gobject:121: Warning: cannot add interface type
|
||||
- * `TestInterface' to type `test_interface+MyUnknown', since
|
||||
- * type `test_interface+MyUnknown' already conforms to
|
||||
- * interface
|
||||
- *
|
||||
- * This looks like a GLib quirk, but no bug has been filed
|
||||
- * upstream. However we have a unit test for this particular
|
||||
- * problem, which can be found in test_interfaces.py, class
|
||||
- * TestInterfaceImpl.
|
||||
+ * Note, all interfaces need to be registered before the first
|
||||
+ * g_type_class_ref(), see bug #686149.
|
||||
*
|
||||
* See also comment above pyg_type_add_interfaces().
|
||||
*/
|
||||
- pyg_type_add_interfaces(class, instance_type, class->tp_bases, FALSE,
|
||||
+ pyg_type_add_interfaces(class, instance_type, class->tp_bases,
|
||||
parent_interfaces, n_parent_interfaces);
|
||||
|
||||
- /* we look this up in the instance dictionary, so we don't
|
||||
- * accidentally get a parent type's __gsignals__ attribute. */
|
||||
- gsignals = PyDict_GetItemString(class->tp_dict, "__gsignals__");
|
||||
- if (gsignals) {
|
||||
- if (!PyDict_Check(gsignals)) {
|
||||
- PyErr_SetString(PyExc_TypeError,
|
||||
- "__gsignals__ attribute not a dict!");
|
||||
- g_free(parent_interfaces);
|
||||
- return -1;
|
||||
- }
|
||||
- if (!(overridden_signals = add_signals(instance_type, gsignals))) {
|
||||
- g_free(parent_interfaces);
|
||||
- return -1;
|
||||
- }
|
||||
- if (PyDict_SetItemString(class->tp_dict, "__gsignals__",
|
||||
- overridden_signals)) {
|
||||
- g_free(parent_interfaces);
|
||||
- return -1;
|
||||
- }
|
||||
- Py_DECREF(overridden_signals);
|
||||
- } else {
|
||||
- PyErr_Clear();
|
||||
- }
|
||||
|
||||
- /* we look this up in the instance dictionary, so we don't
|
||||
- * accidentally get a parent type's __gsignals__ attribute. */
|
||||
- gproperties = PyDict_GetItemString(class->tp_dict, "__gproperties__");
|
||||
- if (gproperties) {
|
||||
- if (!PyDict_Check(gproperties)) {
|
||||
- PyErr_SetString(PyExc_TypeError,
|
||||
- "__gproperties__ attribute not a dict!");
|
||||
- g_free(parent_interfaces);
|
||||
- return -1;
|
||||
- }
|
||||
- if (!add_properties(instance_type, gproperties)) {
|
||||
- g_free(parent_interfaces);
|
||||
- return -1;
|
||||
- }
|
||||
- PyDict_DelItemString(class->tp_dict, "__gproperties__");
|
||||
- /* Borrowed reference. Py_DECREF(gproperties); */
|
||||
- } else {
|
||||
- PyErr_Clear();
|
||||
+ gclass = g_type_class_ref(instance_type);
|
||||
+ if (PyErr_Occurred() != NULL) {
|
||||
+ g_type_class_unref(gclass);
|
||||
+ g_free(parent_interfaces);
|
||||
+ return -1;
|
||||
}
|
||||
|
||||
- /* Register new interfaces, that are _not_ already defined by
|
||||
- * the parent type. FIXME: See above.
|
||||
- */
|
||||
- pyg_type_add_interfaces(class, instance_type, class->tp_bases, TRUE,
|
||||
- parent_interfaces, n_parent_interfaces);
|
||||
-
|
||||
- gclass = g_type_class_ref(instance_type);
|
||||
if (pyg_run_class_init(instance_type, gclass, class)) {
|
||||
g_type_class_unref(gclass);
|
||||
g_free(parent_interfaces);
|
||||
@@ -1306,9 +1270,8 @@
|
||||
g_type_class_unref(gclass);
|
||||
g_free(parent_interfaces);
|
||||
|
||||
- if (gsignals)
|
||||
- PyDict_DelItemString(class->tp_dict, "__gsignals__");
|
||||
-
|
||||
+ if (PyErr_Occurred() != NULL)
|
||||
+ return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff -Naur pygobject-2.28.6.orig/gobject/propertyhelper.py pygobject-2.28.6/gobject/propertyhelper.py
|
||||
--- pygobject-2.28.6.orig/gobject/propertyhelper.py 2011-06-13 13:30:25.000000000 -0300
|
||||
+++ pygobject-2.28.6/gobject/propertyhelper.py 2014-03-04 18:36:07.953079770 -0300
|
||||
@@ -188,14 +188,16 @@
|
||||
return TYPE_STRING
|
||||
elif type_ == object:
|
||||
return TYPE_PYOBJECT
|
||||
- elif isinstance(type_, type) and issubclass(type_, _gobject.GObject):
|
||||
+ elif (isinstance(type_, type) and
|
||||
+ issubclass(type_, (_gobject.GObject,
|
||||
+ _gobject.GEnum))):
|
||||
return type_.__gtype__
|
||||
elif type_ in [TYPE_NONE, TYPE_INTERFACE, TYPE_CHAR, TYPE_UCHAR,
|
||||
- TYPE_INT, TYPE_UINT, TYPE_BOOLEAN, TYPE_LONG,
|
||||
- TYPE_ULONG, TYPE_INT64, TYPE_UINT64, TYPE_ENUM,
|
||||
- TYPE_FLAGS, TYPE_FLOAT, TYPE_DOUBLE, TYPE_POINTER,
|
||||
- TYPE_BOXED, TYPE_PARAM, TYPE_OBJECT, TYPE_STRING,
|
||||
- TYPE_PYOBJECT]:
|
||||
+ TYPE_INT, TYPE_UINT, TYPE_BOOLEAN, TYPE_LONG,
|
||||
+ TYPE_ULONG, TYPE_INT64, TYPE_UINT64,
|
||||
+ TYPE_FLOAT, TYPE_DOUBLE, TYPE_POINTER,
|
||||
+ TYPE_BOXED, TYPE_PARAM, TYPE_OBJECT, TYPE_STRING,
|
||||
+ TYPE_PYOBJECT]:
|
||||
return type_
|
||||
else:
|
||||
raise TypeError("Unsupported type: %r" % (type_,))
|
||||
@@ -224,6 +226,12 @@
|
||||
elif ptype == TYPE_PYOBJECT:
|
||||
if default is not None:
|
||||
raise TypeError("object types does not have default values")
|
||||
+ elif gobject.type_is_a(ptype, TYPE_ENUM):
|
||||
+ if default is None:
|
||||
+ raise TypeError("enum properties needs a default value")
|
||||
+ elif not gobject.type_is_a(default, ptype):
|
||||
+ raise TypeError("enum value %s must be an instance of %r" %
|
||||
+ (default, ptype))
|
||||
|
||||
def _get_minimum(self):
|
||||
ptype = self.type
|
||||
@@ -291,7 +299,8 @@
|
||||
if ptype in [TYPE_INT, TYPE_UINT, TYPE_LONG, TYPE_ULONG,
|
||||
TYPE_INT64, TYPE_UINT64, TYPE_FLOAT, TYPE_DOUBLE]:
|
||||
args = self._get_minimum(), self._get_maximum(), self.default
|
||||
- elif ptype == TYPE_STRING or ptype == TYPE_BOOLEAN:
|
||||
+ elif (ptype == TYPE_STRING or ptype == TYPE_BOOLEAN or
|
||||
+ ptype.is_a(TYPE_ENUM)):
|
||||
args = (self.default,)
|
||||
elif ptype == TYPE_PYOBJECT:
|
||||
args = ()
|
||||
diff -Naur pygobject-2.28.6.orig/gobject/pygobject.c pygobject-2.28.6/gobject/pygobject.c
|
||||
--- pygobject-2.28.6.orig/gobject/pygobject.c 2011-06-13 13:33:49.000000000 -0300
|
||||
+++ pygobject-2.28.6/gobject/pygobject.c 2014-03-04 18:36:07.954079747 -0300
|
||||
@@ -991,7 +991,9 @@
|
||||
PyObject *
|
||||
pygobject_new_sunk(GObject *obj)
|
||||
{
|
||||
- g_object_set_qdata (obj, pygobject_ref_sunk_key, GINT_TO_POINTER (1));
|
||||
+ if (obj)
|
||||
+ g_object_set_qdata (obj, pygobject_ref_sunk_key, GINT_TO_POINTER (1));
|
||||
+
|
||||
return pygobject_new_full(obj, TRUE, NULL);
|
||||
}
|
||||
|
||||
diff -Naur pygobject-2.28.6.orig/Makefile.am pygobject-2.28.6/Makefile.am
|
||||
--- pygobject-2.28.6.orig/Makefile.am 2011-06-13 13:33:49.000000000 -0300
|
||||
+++ pygobject-2.28.6/Makefile.am 2014-03-04 18:36:07.954079747 -0300
|
||||
@@ -1,7 +1,11 @@
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
AUTOMAKE_OPTIONS = 1.7
|
||||
|
||||
-SUBDIRS = docs codegen glib gobject gio examples
|
||||
+SUBDIRS = docs glib gobject gio examples
|
||||
+
|
||||
+if ENABLE_CODEGEN
|
||||
+SUBDIRS += codegen
|
||||
+endif
|
||||
|
||||
if ENABLE_INTROSPECTION
|
||||
SUBDIRS += gi
|
||||
diff -Naur pygobject-2.28.6.orig/tests/Makefile.am pygobject-2.28.6/tests/Makefile.am
|
||||
--- pygobject-2.28.6.orig/tests/Makefile.am 2011-06-13 13:33:49.000000000 -0300
|
||||
+++ pygobject-2.28.6/tests/Makefile.am 2014-03-04 18:36:07.955079724 -0300
|
||||
@@ -104,6 +104,7 @@
|
||||
test-floating.h \
|
||||
test-thread.h \
|
||||
test-unknown.h \
|
||||
+ te_ST@nouppera \
|
||||
org.gnome.test.gschema.xml
|
||||
|
||||
EXTRA_DIST += $(TEST_FILES_STATIC) $(TEST_FILES_GI) $(TEST_FILES_GIO)
|
||||
diff -Naur pygobject-2.28.6.orig/tests/test_gdbus.py pygobject-2.28.6/tests/test_gdbus.py
|
||||
--- pygobject-2.28.6.orig/tests/test_gdbus.py 2011-06-13 13:33:49.000000000 -0300
|
||||
+++ pygobject-2.28.6/tests/test_gdbus.py 2014-03-04 18:36:07.956079701 -0300
|
||||
@@ -67,8 +67,10 @@
|
||||
|
||||
def test_native_calls_async(self):
|
||||
def call_done(obj, result, user_data):
|
||||
- user_data['result'] = obj.call_finish(result)
|
||||
- user_data['main_loop'].quit()
|
||||
+ try:
|
||||
+ user_data['result'] = obj.call_finish(result)
|
||||
+ finally:
|
||||
+ user_data['main_loop'].quit()
|
||||
|
||||
main_loop = gobject.MainLoop()
|
||||
data = {'main_loop': main_loop}
|
||||
diff -Naur pygobject-2.28.6.orig/tests/test_properties.py pygobject-2.28.6/tests/test_properties.py
|
||||
--- pygobject-2.28.6.orig/tests/test_properties.py 2011-06-13 13:30:25.000000000 -0300
|
||||
+++ pygobject-2.28.6/tests/test_properties.py 2014-03-04 18:36:07.956079701 -0300
|
||||
@@ -14,6 +14,8 @@
|
||||
G_MININT, G_MAXINT, G_MAXUINT, G_MINLONG, G_MAXLONG, \
|
||||
G_MAXULONG
|
||||
|
||||
+from gi.repository import Gio
|
||||
+
|
||||
if sys.version_info < (3, 0):
|
||||
TEST_UTF8 = "\xe2\x99\xa5"
|
||||
UNICODE_UTF8 = unicode(TEST_UTF8, 'UTF-8')
|
||||
@@ -34,6 +36,9 @@
|
||||
uint64 = gobject.property(
|
||||
type=TYPE_UINT64, flags=PARAM_READWRITE|PARAM_CONSTRUCT)
|
||||
|
||||
+ enum = gobject.property(
|
||||
+ type=Gio.SocketType, default=Gio.SocketType.STREAM)
|
||||
+
|
||||
class TestProperties(unittest.TestCase):
|
||||
def testGetSet(self):
|
||||
obj = PropertyObject()
|
||||
@@ -61,8 +66,9 @@
|
||||
self.failUnless(pspec.name in ['normal',
|
||||
'construct',
|
||||
'construct-only',
|
||||
- 'uint64'])
|
||||
- self.assertEqual(len(obj), 4)
|
||||
+ 'uint64',
|
||||
+ 'enum'])
|
||||
+ self.assertEqual(len(obj), 5)
|
||||
|
||||
def testNormal(self):
|
||||
obj = new(PropertyObject, normal="123")
|
||||
@@ -127,6 +133,34 @@
|
||||
(etype, ex) = sys.exc_info()[2:]
|
||||
self.fail(str(ex))
|
||||
|
||||
+ def testEnum(self):
|
||||
+ obj = new(PropertyObject)
|
||||
+ self.assertEqual(obj.props.enum, Gio.SocketType.STREAM)
|
||||
+ self.assertEqual(obj.enum, Gio.SocketType.STREAM)
|
||||
+ obj.enum = Gio.SocketType.DATAGRAM
|
||||
+ self.assertEqual(obj.props.enum, Gio.SocketType.DATAGRAM)
|
||||
+ self.assertEqual(obj.enum, Gio.SocketType.DATAGRAM)
|
||||
+ obj.props.enum = Gio.SocketType.STREAM
|
||||
+ self.assertEqual(obj.props.enum, Gio.SocketType.STREAM)
|
||||
+ self.assertEqual(obj.enum, Gio.SocketType.STREAM)
|
||||
+ obj.props.enum = 2
|
||||
+ self.assertEqual(obj.props.enum, Gio.SocketType.DATAGRAM)
|
||||
+ self.assertEqual(obj.enum, Gio.SocketType.DATAGRAM)
|
||||
+ obj.enum = 1
|
||||
+ self.assertEqual(obj.props.enum, Gio.SocketType.STREAM)
|
||||
+ self.assertEqual(obj.enum, Gio.SocketType.STREAM)
|
||||
+
|
||||
+ self.assertRaises(TypeError, setattr, obj, 'enum', 'foo')
|
||||
+ self.assertRaises(TypeError, setattr, obj, 'enum', object())
|
||||
+
|
||||
+ self.assertRaises(TypeError, gobject.property, type=Gio.SocketType)
|
||||
+ self.assertRaises(TypeError, gobject.property, type=Gio.SocketType,
|
||||
+ default=Gio.SocketProtocol.TCP)
|
||||
+ self.assertRaises(TypeError, gobject.property, type=Gio.SocketType,
|
||||
+ default=object())
|
||||
+ self.assertRaises(TypeError, gobject.property, type=Gio.SocketType,
|
||||
+ default=1)
|
||||
+
|
||||
def testRange(self):
|
||||
# kiwi code
|
||||
def max(c):
|
||||
@@ -270,8 +304,6 @@
|
||||
# self.assertRaises(TypeError, gobject.property, type=bool, default=0)
|
||||
self.assertRaises(TypeError, gobject.property, type=bool, default='ciao mamma')
|
||||
self.assertRaises(TypeError, gobject.property, type=bool)
|
||||
- self.assertRaises(TypeError, gobject.property, type=GEnum)
|
||||
- self.assertRaises(TypeError, gobject.property, type=GEnum, default=0)
|
||||
self.assertRaises(TypeError, gobject.property, type=object, default=0)
|
||||
self.assertRaises(TypeError, gobject.property, type=complex)
|
||||
self.assertRaises(TypeError, gobject.property, flags=-10)
|
||||
@@ -0,0 +1,29 @@
|
||||
From 42d871eb0b08ee6d55e95cc7e4b90844919555b9 Mon Sep 17 00:00:00 2001
|
||||
From: Ivan Stankovic <ivan.stankovic@avl.com>
|
||||
Date: Tue, 21 Feb 2012 12:24:58 +0100
|
||||
Subject: [PATCH] Fix set_qdata warning on accessing NULL gobject property
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=661155
|
||||
---
|
||||
gobject/pygobject.c | 4 +++-
|
||||
1 files changed, 3 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/gobject/pygobject.c b/gobject/pygobject.c
|
||||
index 6c2f06c..70dc89a 100644
|
||||
--- a/gobject/pygobject.c
|
||||
+++ b/gobject/pygobject.c
|
||||
@@ -991,7 +991,9 @@ pygobject_new(GObject *obj)
|
||||
PyObject *
|
||||
pygobject_new_sunk(GObject *obj)
|
||||
{
|
||||
- g_object_set_qdata (obj, pygobject_ref_sunk_key, GINT_TO_POINTER (1));
|
||||
+ if (obj)
|
||||
+ g_object_set_qdata (obj, pygobject_ref_sunk_key, GINT_TO_POINTER (1));
|
||||
+
|
||||
return pygobject_new_full(obj, TRUE, NULL);
|
||||
}
|
||||
|
||||
--
|
||||
1.7.8.5
|
||||
|
||||
|
||||
@@ -16,10 +16,13 @@
|
||||
<Archive sha1sum="b1749ba806499f4c2780dbd1cbb363aaf1f41e78" type="tarxz">http://ftp.gnome.org/pub/GNOME/sources/pygobject/2.28/pygobject-2.28.6.tar.xz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>python-devel</Dependency>
|
||||
<Dependency>python-cairo-devel</Dependency>
|
||||
<Dependency>glib2-devel</Dependency>
|
||||
<Dependency>gobject-introspection-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<Patch level="1">pygobject-2.16.1-fixdetection.patch</Patch>
|
||||
<Patch level="1">pygobject-2.28.6-fixes-1.patch</Patch>
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
@@ -28,6 +31,7 @@
|
||||
<RuntimeDependencies>
|
||||
<Dependency>glib2</Dependency>
|
||||
<Dependency>gobject-introspection</Dependency>
|
||||
<Dependency>python-cairo</Dependency>
|
||||
<Dependency>libffi</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
@@ -42,6 +46,8 @@
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">python-pygobject</Dependency>
|
||||
<Dependency>gobject-introspection-devel</Dependency>
|
||||
<Dependency>glib2-devel</Dependency>
|
||||
<Dependency>libffi-devel</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin/pygobject-codegen-2.0</Path>
|
||||
@@ -62,7 +68,7 @@
|
||||
|
||||
<History>
|
||||
<Update release="1">
|
||||
<Date>2012-10-14</Date>
|
||||
<Date>2016-04-04</Date>
|
||||
<Version>2.28.6</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Licensed under the GNU General Public License, version 3.
|
||||
# See the file http://www.gnu.org/copyleft/gpl.txt.
|
||||
|
||||
from pisi.actionsapi import autotools
|
||||
from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import get
|
||||
|
||||
|
||||
def setup():
|
||||
autotools.configure("--enable-shared --disable-static")
|
||||
|
||||
def build():
|
||||
autotools.make()
|
||||
|
||||
|
||||
def install():
|
||||
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
|
||||
pisitools.dodoc("AUTHORS", "COPYING", "NEWS", "README", "THANKS" )
|
||||
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>ucl</Name>
|
||||
<Homepage>http://www.oberhumer.com/opensource/ucl/</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>GPL</License>
|
||||
<IsA>library</IsA>
|
||||
<Summary>Portable lossless data compression library written in ANSI C.</Summary>
|
||||
<Description>UCL implements a number of compression algorithms that achieve an excellent compression ratio while allowing *very* fast decompression. Decompression requires no additional memory.</Description>
|
||||
<Archive sha1sum="5847003d136fbbca1334dd5de10554c76c755f7c" type="targz">http://www.oberhumer.com/opensource/ucl/download/ucl-1.03.tar.gz</Archive>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>ucl</Name>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>ucl-devel</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">ucl</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="header">/usr/include</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="1">
|
||||
<Date>2016-04-03</Date>
|
||||
<Version>1.03</Version>
|
||||
<Comment>First pisi Release</Comment>
|
||||
<Name>İbrahim KARAGÜZEL</Name>
|
||||
<Email>karaguzelibrahim@gmail.com</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>ucl</Name>
|
||||
<Summary xml:lang="tr">ANSI C ile yazılmış bir kayıpsız veri sıkıştırma kitaplığı.</Summary>
|
||||
<Description xml:lang="tr">UCL kitaplığı sıkıştırılmış veriyi çok hızlı çözerken, yüksek oranda veri sıkıştırması da yapabilen birçok sıkıştırma algoritması içerir. Sıkıştırılmış veriyi açmak ek bellek alanı gerektirmemektedir.</Description>
|
||||
</Source>
|
||||
</PISI>
|
||||
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Licensed under the GNU General Public License, version 3.
|
||||
# See the file http://www.gnu.org/copyleft/gpl.txt.
|
||||
|
||||
from pisi.actionsapi import shelltools
|
||||
from pisi.actionsapi import autotools
|
||||
from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import get
|
||||
|
||||
|
||||
def setup():
|
||||
shelltools.export("UPX_LZMA_VERSION", "0x465")
|
||||
shelltools.export("UPX_LZMADIR", get.workDIR())
|
||||
|
||||
def build():
|
||||
autotools.make("all")
|
||||
|
||||
def install():
|
||||
pisitools.insinto("/usr/bin", "src/upx.out", "upx")
|
||||
pisitools.insinto("/usr/share/man/man1", "doc/upx.1")
|
||||
pisitools.dodoc("BUGS", "COPYING", "LICENSE", "NEWS", "PROJECTS", "README*", "THANKS" )
|
||||
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>upx</Name>
|
||||
<Homepage>http://upx.sourceforge.net/</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>GPL</License>
|
||||
<IsA>app:console</IsA>
|
||||
<Summary>Ultimate executable compressor.</Summary>
|
||||
<Description>UPX is an advanced executable file compressor. UPX will typically reduce the file size of programs and DLLs by around 50%-70%, thus reducing disk space, network load times, download times and other distribution and storage costs.</Description>
|
||||
<Archive sha1sum="da962c0affb27eae11aa9b6fbd751c3699717b36" type="tarbz2">http://upx.sourceforge.net/download/upx-3.91-src.tar.bz2</Archive>
|
||||
<Archive sha1sum="5ec1c4606fec88c770a9712073e83916f8aed173" type="tarbz2">http://downloads.sourceforge.net/sevenzip/lzma465.tar.bz2</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>ucl-devel</Dependency>
|
||||
<Dependency>zlib-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>upx</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>ucl</Dependency>
|
||||
<Dependency>zlib</Dependency>
|
||||
<Dependency>libgcc</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
<Path fileType="man">/usr/share/man/man1</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="1">
|
||||
<Date>2016-04-03</Date>
|
||||
<Version>3.91</Version>
|
||||
<Comment>First Pisi Release</Comment>
|
||||
<Name>İbrahim KARAGÜZEL</Name>
|
||||
<Email>karaguzelibrahim@gmail.com</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>upx</Name>
|
||||
<Summary xml:lang="tr">UPX (Ultimate executable compressor), bir dosya sıkıştırıcısı</Summary>
|
||||
<Description xml:lang="tr">UPX ileri düzey bir çalıştırılabilir dosya sıkıştırıcısıdır. UPX genel olarak programların ve kitaplıkların dosya boyutunu %50 ila %70 oranında sıkıştırarak disk kullanım alanını, ağa yüklenme ve indirme süresini düşürür.</Description>
|
||||
</Source>
|
||||
</PISI>
|
||||
Reference in New Issue
Block a user