code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>numpy</Name>
        <Summary xml:lang="tr">Python ile bilimsel hesaplama için ihtiyaç duyulan temel paket</Summary>
        <Description xml:lang="es">Numpy contiene un potente objeto de array N-dimensional, funciones sofisticadas (broadcasting), herramientas para la integración de código C/C++ y Fortran, y facilidades útiles de algebra lineal, transformación Fourier, y número aleatorios.</Description>
        <Description xml:lang="tr">Numpy, N-boyutlu güçlü bir dizi, gelişmiş fonksiyonlar, C/C++ ve Fortran kodunu entegre etmek için araçlar, doğrusal cebir ve rastgele sayı özelliği içerir.</Description>
    </Source>
</PISI>


code:
#!/usr/bin/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 pisitools
from pisi.actionsapi import pythonmodules
from pisi.actionsapi import shelltools
from pisi.actionsapi import get

#WorkDir="Imaging-%s" % get.srcVERSION()

def install():
    pisitools.dosed("_imagingft.c", "<freetype/freetype.h>", "<freetype2/freetype.h>")
    pisitools.dosed("_imagingft.c", "<freetype/fterrors.h>", "<freetype2/fterrors.h>")
    pythonmodules.install()

    #shelltools.cd("Sane")
    #pythonmodules.install()
    #shelltools.cd("..")

    for header in ["Imaging.h","ImPlatform.h"]:
        pisitools.insinto("/usr/include/%s" % get.curPYTHON(), "libImaging/%s" % header)

    pisitools.dodoc("README.rst")

repo_name: ayhanyalcinsoy/main


code:
--- Imaging-1.1.7-orig/PIL/TiffImagePlugin.py	2009-11-01 02:44:12.000000000 +0200
+++ Imaging-1.1.7/PIL/TiffImagePlugin.py	2012-11-13 03:45:11.280000132 +0200
@@ -69,7 +69,7 @@
 def il32(c,o=0):
     return ord(c[o]) + (ord(c[o+1])<<8) + (ord(c[o+2])<<16) + (ord(c[o+3])<<24)
 def ol16(i):
-    return chr(i&255) + chr(i>>8&255)
+    return chr(i>>8&255) + chr(i&255)
 def ol32(i):
     return chr(i&255) + chr(i>>8&255) + chr(i>>16&255) + chr(i>>24&255)

@@ -197,6 +197,8 @@
 }

 PREFIXES = ["MM\000\052", "II\052\000", "II\xBC\000"]
+PREFIX_TO_BYTEORDER = {"MM":"b", "II":"l"}
+BYTEORDER_TO_PREFIX = {"b":"MM", "l":"II"}

 def _accept(prefix):
     return prefix[:4] in PREFIXES
@@ -219,6 +221,8 @@
             self.o16, self.o32 = ol16, ol32
         else:
             raise SyntaxError("not a TIFF IFD")
+        self.byteorder = PREFIX_TO_BYTEORDER[self.prefix]
+
         self.reset()

     def reset(self):
@@ -749,7 +753,7 @@
 def _save(im, fp, filename):

     try:
-        rawmode, prefix, photo, format, bits, extra = SAVE_INFO[im.mode]
+        rawmode, prefix, byteorder, photo, format, bits, extra = SAVE_INFO[im.mode]
     except KeyError:
         raise IOError, "cannot write mode %s as TIFF" % im.mode


code:
--- Imaging-1.1.6.orig/PIL/GifImagePlugin.py    2006-12-03 11:37:15.000000000 +0000
+++ Imaging-1.1.6/PIL/GifImagePlugin.py 2008-10-02 14:51:43.000000000 +0100
@@ -352,6 +352,11 @@
         for i in range(maxcolor):
             s.append(chr(i) * 3)

+    if im.info.has_key('transparency'):
+        transparentIndex = im.info['transparency']
+        s.append('!' + chr(0xf9) + chr(4) + chr(1) + chr(0) + chr(0) +
+                 chr(transparentIndex) + chr(0))
+
     return s

 def getdata(im, offset = (0, 0), **params):


code:
--- Imaging-1.1.6/Sane/_sane.c.orig	2006-12-03 13:12:22.000000000 +0100
+++ Imaging-1.1.6/Sane/_sane.c	2009-02-28 11:41:19.000000000 +0200
@@ -1152,8 +1152,8 @@
 static PyObject *
 PySane_get_devices(PyObject *self, PyObject *args)
 {
-  SANE_Device **devlist;
-  SANE_Device *dev;
+  const SANE_Device **devlist;
+  const SANE_Device *dev;
   SANE_Status st;
   PyObject *list;
   int local_only, i;


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>python-pillow</Name>
        <Homepage>http://python-pillow.org/</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>as-is</License>
        <IsA>library</IsA>
        <Summary>PIL is the Python Imaging Library.</Summary>
        <Description>The Python Imaging Library (PIL) adds image processing capabilities to your Python interpreter. This library supports many file formats, and provides powerful image processing and graphics capabilities.</Description>
        <Archive sha1sum="c9cdef90f785c71970364b93cc24b3c7133aebeb" type="targz">https://github.com/python-pillow/Pillow/archive/4.3.0.tar.gz</Archive>
        <BuildDependencies>
            <Dependency>python3-tk</Dependency>
            <Dependency>python-devel</Dependency>
            <Dependency>lcms-devel</Dependency>
            <Dependency>python-setuptools</Dependency>
            <Dependency>python3-setuptools</Dependency>
            <Dependency>python3-qt5-devel</Dependency>
            <Dependency>python-qt5-devel</Dependency>
            <Dependency>webp-devel</Dependency>
            <Dependency>tcltk-devel</Dependency>
            <Dependency>tcl-devel</Dependency>
            <Dependency>tiff-devel</Dependency>
            <Dependency>libjpeg-turbo-devel</Dependency>
            <Dependency>sane-backends-devel</Dependency>
            <Dependency>libjpeg-turbo-devel</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>python-pillow</Name>
        <RuntimeDependencies>
            <Dependency>tiff</Dependency>
            <Dependency>zlib</Dependency>
            <Dependency>python3-tk</Dependency>
            <Dependency>python</Dependency>
            <Dependency>lcms</Dependency>
            <Dependency>python-setuptools</Dependency>
            <Dependency>python3-setuptools</Dependency>
            <Dependency>python3-qt5</Dependency>
            <Dependency>python-qt5</Dependency>
            <Dependency>webp</Dependency>
            <Dependency>tcltk</Dependency>
            <Dependency>tcl</Dependency>
            <Dependency>sane-backends</Dependency>
            <Dependency>libjpeg-turbo</Dependency>
            <Dependency>xdg-utils</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="header">/usr/include</Path>
            <Path fileType="doc">/usr/share/doc</Path>
        </Files>
    </Package>

    <History>
        <Update release="3">
            <Date>2018-02-03</Date>
            <Version>4.3.0</Version>
            <Comment>Version bump.</Comment>
            <Name>Mustafa Cinasal</Name>
            <Email>muscnsl@gmail.com</Email>
        </Update>
        <Update release="2">
            <Date>2017-01-25</Date>
            <Version>4.0.0</Version>
            <Comment>Version bump.</Comment>
            <Name>Stefan Gronewold(groni)</Name>
            <Email>groni@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2016-06-18</Date>
            <Version>3.1.0</Version>
            <Comment>Version bump.</Comment>
            <Name>Stefan Gronewold(groni)</Name>
            <Email>groni@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>python-imaging</Name>
        <Summary xml:lang="tr">Python Görüntü İşleme Kitaplığı</Summary>
        <Description xml:lang="es">La librería Python Imaging Library (PIL) facilita el procesamiento de imágenes desde Python. Esta librería soporta muchos formatos de archivos y provee potentes facilidades de procesamiento de gráficos.</Description>
    </Source>
</PISI>


code:
# -*- 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 pythonmodules
from pisi.actionsapi import get

WorkDir = "pyaspects-%s" % get.srcVERSION()

def install():
    pythonmodules.install()


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>python-pyaspects</Name>
        <Homepage>http://github.com/baris/pyaspects</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>GPLv2</License>
        <IsA>library</IsA>
        <Summary>Aspect-Oriented development for Python</Summary>
        <Description>Aspect-Oriented Development modules for Python.</Description>
        <Archive sha1sum="34af2c49c880535cdada1697c9c287939b2b7091" type="targz">https://github.com/baris/pyaspects/archive/0.4.4.tar.gz</Archive>
    </Source>

    <Package>
        <Name>python-pyaspects</Name>
        <Files>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="doc">/usr/share/doc</Path>
        </Files>
    </Package>

    <History>
        <Update release="4">
            <Date>2017-03-05</Date>
            <Version>0.4.4</Version>
            <Comment>Rebuild.</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2017-01-25</Date>
            <Version>0.4.4</Version>
            <Comment>Rebuild for new toolchain</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-06-09</Date>
            <Version>0.4.4</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2013-12-07</Date>
            <Version>0.4.4</Version>
            <Comment>First release</Comment>
            <Name>Burak Fazıl Ertürk</Name>
            <Email>burakerturk@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>pyaspects</Name>
        <Summary xml:lang="tr">Python için Aspect-Oriented kitaplığı</Summary>
        <Description xml:lang="tr">Python için Aspect-Oriented kitaplığı.</Description>
        <Description xml:lang="es">Módulos Python para desarrollo orientado a Aspect.</Description>
    </Source>
</PISI>


code:
#!/usr/bin/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 shelltools
from pisi.actionsapi import get

def build():
    shelltools.export("CFLAGS", "%s -g -I/usr/include/%s -Wall -fPIC" % (get.CFLAGS(), get.curPYTHON()))
    shelltools.export("LDFLAGS", "%s -shared" % get.LDFLAGS())

    autotools.make("USESELINUX=0")

def install():
    autotools.rawInstall("DESTDIR=%s" % get.installDIR())


code:
--- pyblock-0.53/dm.c.orig	2011-12-08 21:02:03.000000000 +0100
+++ pyblock-0.53/dm.c	2017-03-06 19:06:36.925597603 +0100
@@ -17,6 +17,7 @@
  */

 #define _GNU_SOURCE
+#include <sys/sysmacros.h>
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <unistd.h>
@@ -645,7 +646,7 @@

 	rc = pydm_init_table((PydmTableObject *)self, start, size,
 			type, params);
-	if (!rc < 0) {
+	if (rc >= 0) {
 		Py_DECREF(self);
 		return NULL;
 	}


code:
diff -Nuar pyblock-0.53.orig/Makefile pyblock-0.53/Makefile
--- pyblock-0.53.orig/Makefile	2016-03-30 09:41:42.510926755 +0300
+++ pyblock-0.53/Makefile	2016-03-30 09:42:32.328924813 +0300
@@ -5,19 +5,19 @@
 DEBUGLIB := "/usr/lib/debug"
 CC := gcc
 PYVER := $(shell python -c "import sys; print sys.version[0:3]")
-CFLAGS := -g -I/usr/include/python$(PYVER) -Wall -Werror -fPIC $(OPTFLAGS) -fno-strict-aliasing
+CFLAGS := -g -I/usr/include/python$(PYVER) -Wall -fPIC $(OPTFLAGS) -fno-strict-aliasing
 LDFLAGS := -shared

 VERSION := $(shell awk '/Version:/ { print $$2 }' python-pyblock.spec)
 RELEASE := $(shell awk -F '[ %]' '/Release:/ { print $$2 }' python-pyblock.spec)
 USESELINUX = 1

-dm_LIBS = dmraid devmapper
+dm_LIBS = devmapper python2.7
 ifeq (1, $(USESELINUX))
 dm_LIBS += selinux
 CFLAGS += -DUSESELINUX=1
 endif
-dmraid_LIBS = dmraid devmapper
+dmraid_LIBS = dmraid python2.7

 PYFILES=__init__.py maps.py device.py
 LIBS = dmmodule.so dmraidmodule.so


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>python-pyblock</Name>
        <Homepage>http://git.fedoraproject.org/git/pyblock.git</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>GPLv2</License>
        <License>GPLv3</License>
        <IsA>library</IsA>
        <Summary>Python modules for dealing with block devices</Summary>
        <Description>The pyblock contains Python modules for dealing with block devices.</Description>
        <Archive sha1sum="036fdebb7fb67a13f702a55735cf2f65cff37bd2" type="tarbz2">http://pkgs.fedoraproject.org/repo/pkgs/python-pyblock/pyblock-0.53.tar.bz2/f6d33a8362dee358517d0a9e2ebdd044/pyblock-0.53.tar.bz2</Archive>
        <BuildDependencies>
            <Dependency>device-mapper-devel</Dependency>
            <Dependency>python-devel</Dependency>
            <Dependency>dmraid-devel</Dependency>
        </BuildDependencies>
        <Patches>
            <Patch level="1">fix-underlinking.patch</Patch>
            <Patch>build.patch</Patch>
        </Patches>
    </Source>

    <Package>
        <Name>python-pyblock</Name>
        <RuntimeDependencies>
            <Dependency>device-mapper</Dependency>
            <Dependency>dmraid</Dependency>
            <Dependency>python</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="doc">/usr/share/doc</Path>
        </Files>
    </Package>

    <History>
        <Update release="4">
            <Date>2017-03-05</Date>
            <Version>0.53</Version>
            <Comment>Rebuild.</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2017-01-25</Date>
            <Version>0.53</Version>
            <Comment>Rebuild for new toolchain</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-06-09</Date>
            <Version>0.53</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
         <Update release="1">
            <Date>2016-03-23</Date>
            <Version>0.53</Version>
            <Comment>First release</Comment>
            <Name>Ertuğrul Erata</Name>
            <Email>ertugrulerata@gmail.com</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>python-pyblock</Name>
        <Summary xml:lang="tr">Blok aygıtları ile ilgili python modülleri içerir</Summary>
        <Description xml:lang="tr">Pyblock blok aygıtları ile ilgili python modülleri içerir</Description>
    </Source>
</PISI>


code:
#!/usr/bin/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

WorkDir = "pygobject-%s" % get.srcVERSION()

def setup():
    # autoreconf is for under linking problem
    autotools.autoreconf("-fi")
    autotools.configure("--disable-introspection")

def build():
    autotools.make()

def install():
    autotools.install()

    #shelltools.chmod("%s/usr/share/pygobject/xsl/fixxref.py" % get.installDIR(), 0755)
    pisitools.dodoc("AUTHORS", "NEWS", "ChangeLog", "README")


code:
diff -p -up pygobject-2.16.1/pygtk.py.fixdetection pygobject-2.16.1/pygtk.py
--- pygobject-2.16.1/pygtk.py.fixdetection	2009-02-20 22:27:14.000000000 +0100
+++ pygobject-2.16.1/pygtk.py	2009-02-23 09:44:55.000000000 +0100
@@ -57,6 +57,9 @@ def _get_available_versions():
             # skip empty directories
             if not os.listdir(pathname):
                 continue
+            # only accept directories containing gtk.py or gobject.so
+            if not glob.glob(os.path.join(pathname, "gtk.py")) and not glob.glob(os.path.join(pathname,"gobject.so")):
+                continue

             if not versions.has_key(filename[-3:]):
                 versions[filename[-3:]] = pathname


code:
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)


code:
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


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>python-pygobject</Name>
        <Homepage>http://www.pygtk.org</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>LGPLv2.1</License>
        <IsA>library</IsA>
        Glib bindings for Python
        <Description>pygobject is GLib's GObject library bindings for Python.</Description>
        <Archive sha1sum="8e3cb8621c2e1d8dbeba5c3c007c7421b936a36c" type="tarxz">http://ftp.gnome.org/pub/GNOME/sources/pygobject/2.28/pygobject-2.28.7.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>

        </Patches>
    </Source>

    <Package>
        <Name>python-pygobject</Name>
        <RuntimeDependencies>
            <Dependency>glib2</Dependency>
            <Dependency>gobject-introspection</Dependency>
            <Dependency>python-cairo</Dependency>
            <Dependency>libffi</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="doc">/usr/share/doc</Path>
        </Files>
    </Package>

    <Package>
        <Name>python-pygobject-devel</Name>
        pygobject development files
        <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>
            <Path fileType="header">/usr/include</Path>
            <Path fileType="data">/usr/lib/pkgconfig</Path>
            <Path fileType="data">/usr/share/pygobject</Path>
        </Files>
    </Package>

    <Package>
        <Name>python-pygobject-docs</Name>
        <IsA>data:doc</IsA>
        API documents for pygobject
        <Files>
            <Path fileType="data">/usr/share/gtk-doc</Path>
        </Files>
    </Package>

    <History>
         <Update release="4">
            <Date>2018-02-25</Date>
            <Version>2.28.7</Version>
            <Comment>Version bump.</Comment>
            <Name>Mustafa Cinasal</Name>
            <Email>muscnsl@gmail.com</Email>
        </Update>
        <Update release="4">
            <Date>2017-02-06</Date>
            <Version>2.28.6</Version>
            <Comment>Rebuild</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2017-01-25</Date>
            <Version>2.28.6</Version>
            <Comment>Rebuild for new toolchain</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-06-09</Date>
            <Version>2.28.6</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2016-04-04</Date>
            <Version>2.28.6</Version>
            <Comment>First release</Comment>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>python-pygobject</Name>
        glib için python bağlayıcıları
        Bindings (liens) glib pour Python.
        <Description xml:lang="tr">pygobject, Python için yazılmış, Glib'in GObject kütüphanesi bağlayıcısıdır.</Description>
    </Source>

    <Package>
        <Name>python-pygobject-devel</Name>
        pygobject geliştirme dosyaları
    </Package>

    <Package>
        <Name>python-pygobject-docs</Name>
        pygobject için API dökümanları
    </Package>
</PISI>


code:
#!/usr/bin/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():
    pisitools.dosed("configure", "-Werror=format", "#-Werror=format")

    shelltools.export("PYTHON", "/usr/bin/python2.7")
    shelltools.system("./configure --prefix=/usr \
                       --localstatedir=/var \
                       --disable-static")

def build():
    autotools.make()

def install():
    pisitools.dodoc("ChangeLog*", "NEWS", "README*")

    autotools.rawInstall("DESTDIR=%s" % get.installDIR())


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>python-pygobject3</Name>
        <Homepage>http://www.pygtk.org</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>LGPLv2.1</License>
        <IsA>library</IsA>
        Glib bindings for Python
        <Description>pygobject is GLib's GObject library bindings for Python.</Description>
        <Archive sha1sum="99594a09f2cac3c986ad23a4c8d05c512bd1ef1d" type="tarxz">http://ftp.acc.umu.se/pub/GNOME/sources/pygobject/3.27/pygobject-3.27.4.tar.xz</Archive>
        <BuildDependencies>
            <Dependency>libffi-devel</Dependency>
            <Dependency>python-devel</Dependency>
            <Dependency>python-cairo-devel</Dependency>
            <Dependency>gobject-introspection-devel</Dependency>
            <Dependency>glib2-devel</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>python-pygobject3</Name>
        python2 için pygobject3
        <RuntimeDependencies>
            <Dependency>cairo</Dependency>
            <Dependency>glib2</Dependency>
            <Dependency>libffi</Dependency>
            <Dependency>python-cairo</Dependency>
            <Dependency>gobject-introspection</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="doc">/usr/share/doc</Path>
            <Path fileType="data">/usr/share/pygobject</Path>
            <Path fileType="library">/usr/lib/python2.7</Path>
            <Path fileType="library">/usr/lib/libpyglib-gi-2.0-python2.7.so*</Path>
        </Files>
    </Package>

    <Package>
        <Name>python-pygobject3-devel</Name>
        pygobject development files
        <RuntimeDependencies>
            <Dependency release="current">python-pygobject3</Dependency>
            <Dependency>gobject-introspection-devel</Dependency>
            <Dependency>glib2-devel</Dependency>
            <Dependency>libffi-devel</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="header">/usr/include</Path>
            <Path fileType="data">/usr/lib/pkgconfig</Path>
        </Files>
    </Package>

    <History>
        <Update release="6">
            <Date>2018-02-25</Date>
            <Version>3.27.4</Version>
            <Comment>Version Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="5">
            <Date>2017-02-06</Date>
            <Version>3.22.0</Version>
            <Comment>Rebuild</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="4">
            <Date>2017-01-25</Date>
            <Version>3.22.0</Version>
            <Comment>Version Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2016-06-09</Date>
            <Version>3.18.2</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-05-27</Date>
            <Version>3.18.2</Version>
            <Comment>Release bump</Comment>
            <Name>Alihan Öztürk</Name>
            <Email>alihan@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2016-05-08</Date>
            <Version>3.18.2</Version>
            <Comment>First release</Comment>
            <Name>Alihan Öztürk</Name>
            <Email>alihan@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>python-pygobject3</Name>
        glib için python bağlayıcıları
        Bindings (liens) glib pour Python.
        <Description xml:lang="tr">pygobject, Python için yazılmış, Glib'in GObject kütüphanesi bağlayıcısıdır.</Description>
    </Source>

    <Package>
        <Name>python-pygobject3-devel</Name>
        pygobject geliştirme dosyaları
    </Package>
</PISI>


code:
#!/usr/bin/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 pisitools
from pisi.actionsapi import pythonmodules

def setup():
    pythonmodules.compile()

def install():
    pythonmodules.install()

    pisitools.dodoc("LICENSE.txt", "README.txt")


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>python-pytz</Name>
        <Homepage>http://pytz.sourceforge.net/</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>MIT</License>
        <License>ZPL</License>
        <IsA>library</IsA>
        <Summary>World Timezone Definitions for Python</Summary>
        <Description>python-pytz brings the Olson tz database into Python. This library allows accurate and cross platform timezone calculations using Python. It also solves the issue of ambiguous times at the end of daylight savings, which you can read more about in the Python Library Reference (datetime.tzinfo).Almost all (over 540) of the Olson timezones are supported.</Description>
        <Archive sha1sum="b8d76d3a483d08d7e3a8c7058f5b0f4ed526cd3e" type="targz">https://pypi.python.org/packages/1b/50/4cdc62fc0753595fc16c8f722a89740f487c6e5670c644eb8983946777be/pytz-2018.3.tar.gz</Archive>
    </Source>

    <Package>
        <Name>python-pytz</Name>
        <Files>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="doc">/usr/share/doc/python-pytz</Path>
        </Files>
    </Package>

    <History>
        <Update release="2">
            <Date>2018-02-26</Date>
            <Version>2018.3</Version>
            <Comment>Version Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2017-01-29</Date>
            <Version>2016.10</Version>
            <Comment>First release</Comment>
            <Name>Erdinç Gültekin</Name>
            <Email>admins@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>python-pytz</Name>
        <Summary xml:lang="tr">Python için Dünya Saat Dilimi(World Time Zone) tanımları</Summary>
        <Description xml:lang="tr">python-pytz, Olson tz veritabanını Python'a taşımaktadır. Bu kütüphane Python kullanarak doğru ve farklı platformlar üzerinde hesaplamalar yapmayı sağlar. Aynı zamanda gün ışığından kazanmak için saat ayarlama ile ilgili belirsizlikleri de çözmektedir. Bu konuda Python Library Reference (datetime.tzinfo) kısmında ayrıntılı bilgi bulabilirsiniz. 540'a yakın Olson zaman dilimi desteklenmektedir.</Description>
    </Source>
</PISI>


code:
#!/usr/bin/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 pythonmodules
from pisi.actionsapi import shelltools
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import get

WorkDir="PyQt5_gpl-%s" % get.srcVERSION()

def setup():
    pythonmodules.run("configure.py --confirm-license \
                                    --qsci-api \
                                    --destdir='/usr/lib/python2.7/site-packages' \
                                    --sip-incdir='/usr/include/python2.7' \
                                    --sip /usr/bin/py2sip \
                                    --qmake='/usr/bin/qmake-qt5' ")
    shelltools.system("find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g'")

def build():
    autotools.make()

def install():
    autotools.rawInstall("-C pyrcc DESTDIR=%(DESTDIR)s INSTALL_ROOT=%(DESTDIR)s" % {'DESTDIR':get.installDIR()})
    autotools.rawInstall("-C pylupdate DESTDIR=%(DESTDIR)s INSTALL_ROOT=%(DESTDIR)s" % {'DESTDIR':get.installDIR()})
    autotools.rawInstall("DESTDIR=%(DESTDIR)s INSTALL_ROOT=%(DESTDIR)s" % {'DESTDIR':get.installDIR()})
    # Fix conflicts with python3-pyqt5
    pisitools.rename("/usr/bin/pylupdate5", "py2lupdate5")
    pisitools.rename("/usr/bin/pyrcc5", "py2rcc5")
    pisitools.rename("/usr/lib/qt5/plugins/PyQt5/libpyqt5qmlplugin.so", "libpy2qt5qmlplugin.so")
    pisitools.rename("/usr/lib/qt5/plugins/designer/libpyqt5.so", "libpy2qt5.so")
    pisitools.rename("/usr/share/qt5/qsci/api/python/PyQt5.api", "Py2Qt5.api")
    pisitools.rename("/usr/bin/pyuic5", "py2uic5")
    pisitools.domove("/usr/share/sip/PyQt5/*", "/usr/share/sip/Py2Qt5")
    pisitools.removeDir("/usr/share/sip/PyQt5")


code:
diff -up PyQt5_gpl-5.6/configure.py.dbus PyQt5_gpl-5.6/configure.py
--- PyQt5_gpl-5.6/configure.py.dbus	2016-04-24 22:16:43.120281591 -0500
+++ PyQt5_gpl-5.6/configure.py	2016-04-25 10:16:52.465218805 -0500
@@ -2141,7 +2141,7 @@ def check_dbus(target_config, verbose):
     else:
         dlist = target_config.dbus_inc_dirs

-    target_config.dbus_inc_dirs = []
+    #target_config.dbus_inc_dirs = []

     for d in dlist:
         if os.access(os.path.join(d, 'dbus', 'dbus-python.h'), os.F_OK):


code:
diff -up PyQt5_gpl-5.9/configure.py.sipdir PyQt5_gpl-5.9/configure.py
--- PyQt5_gpl-5.9/configure.py.sipdir	2017-07-03 12:24:48.000000000 -0500
+++ PyQt5_gpl-5.9/configure.py	2017-07-05 20:31:35.319524089 -0500
@@ -25,6 +25,7 @@ import os
 import shutil
 import stat
 import sys
+import sipconfig

 # Initialise the constants.
@@ -485,7 +486,7 @@ class TargetConfiguration:
         self.pyqt_bin_dir = py_config.bin_dir
         self.pyqt_module_dir = py_config.module_dir
         self.pyqt_stubs_dir = os.path.join(py_config.module_dir, 'PyQt5')
-        self.pyqt_sip_dir = os.path.join(py_config.data_dir, 'sip', 'PyQt5')
+        self.pyqt_sip_dir = os.path.join(sipconfig.Configuration().default_sip_dir, 'PyQt5')
         self.pyuic_interpreter = py_config.pyuic_interpreter

         # Remaining values.


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>python-qt5</Name>
        <Homepage>http://www.riverbankcomputing.co.uk/software/pyqt</Homepage>
        <Packager>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Packager>
        <License>GPLv2</License>
        <License>GPLv3</License>
        <IsA>library</IsA>
        A set of Python bindings for the Qt 5.x Toolkit
        <Description>Qt is a set of C++ libraries and development tools that includes platform independent abstractions for graphical user interfaces, networking, threads, Unicode, regular expressions, SQL databases, SVG, OpenGL, XML, and user and application settings. PyQt implements 440 of these classes as a set of Python modules.</Description>
        <Archive sha1sum="058c5b37981b515cc4e16faa04a4a6d8892cdaa9" type="targz">mirrors://sourceforge/pyqt/PyQt5/PyQt-5.9.2/PyQt5_gpl-5.9.2.tar.gz</Archive>
        <BuildDependencies>
            <Dependency>dbus-devel</Dependency>
            <Dependency>dbus-python</Dependency>
            <Dependency>dbus-python-common</Dependency>
            <Dependency>python-devel</Dependency>
            <Dependency versionFrom="4.19">python-sip</Dependency>
            <Dependency versionFrom="5.9.3">qt5-base-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-connectivity-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-declarative-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-location-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-multimedia-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-sensors-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-serialport-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-svg-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-webchannel-devel</Dependency>
            <Dependency versionFrom="5.9.0">qt5-webkit-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-websockets-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-x11extras-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-xmlpatterns-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-quickcontrols2-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-script-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-designer-devel</Dependency>
            <Dependency versionFrom="5.6.3">qt5-enginio-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-assistant-devel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-webengine-devel</Dependency>
        </BuildDependencies>
        <Patches>
            <Patch>python-qt5_sipdir.patch</Patch>
        </Patches>
    </Source>

    <Package>
        <Name>python-qt5</Name>
        A set of Python 2.x bindings for the Qt 5.x Toolkit
        <RuntimeDependencies>
            <Dependency>libgcc</Dependency>
            <Dependency>dbus</Dependency>
            <Dependency>python</Dependency>
            <Dependency>qt5-enginio</Dependency>
            <Dependency>qt5-assistant</Dependency>
            <Dependency>qt5-webengine</Dependency>
            <Dependency versionFrom="5.9.3">qt5-base</Dependency>
            <Dependency versionFrom="5.9.3">qt5-sensors</Dependency>
            <Dependency versionFrom="5.9.3">qt5-location</Dependency>
            <Dependency versionFrom="5.9.0">qt5-webkit</Dependency>
            <Dependency versionFrom="5.9.3">qt5-x11extras</Dependency>
            <Dependency versionFrom="5.9.3">qt5-svg</Dependency>
            <Dependency versionFrom="5.9.3">qt5-multimedia</Dependency>
            <Dependency versionFrom="5.9.3">qt5-serialport</Dependency>
            <Dependency versionFrom="5.9.3">qt5-webchannel</Dependency>
            <Dependency versionFrom="5.9.3">qt5-websockets</Dependency>
            <Dependency versionFrom="5.9.3">qt5-declarative</Dependency>
            <Dependency versionFrom="5.9.3">qt5-xmlpatterns</Dependency>
            <Dependency versionFrom="5.9.3">qt5-connectivity</Dependency>
            <Dependency versionFrom="5.9.3">qt5-designer</Dependency>
            <Dependency>python-sip</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin/py2uic5</Path>
            <Path fileType="library">/usr/lib/python2.7/site-packages</Path>
            <Path fileType="library">/usr/lib/qt5/plugins/PyQt5/libpy2qt5qmlplugin.so</Path>
            <Path fileType="library">/usr/lib/qt5/plugins/designer/libpy2qt5.so</Path>
            <Path fileType="data">/usr/share/qt5/qsci/api/python/Py2Qt5.api</Path>
            <Path fileType="executable">/usr/bin/py2rcc5</Path>
            <Path fileType="executable">/usr/bin/py2lupdate5</Path>
        </Files>
    </Package>

    <Package>
        <Name>python-qt5-devel</Name>
        Development files for python-qt5
        <RuntimeDependencies>
            <Dependency>libgcc</Dependency>
            <Dependency versionFrom="5.9.3">qt5-base</Dependency>
            <Dependency release="current">python-qt5</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="data">/usr/share/sip/Py2Qt5</Path>
        </Files>
    </Package>

    <History>
        <Update release="8">
            <Date>2018-03-01</Date>
            <Version>5.9.2</Version>
            <Comment>Rebuild.</Comment>
            <Name>Mustafa Cinasal</Name>
            <Email>muscnsl@gmail.com</Email>
        </Update>
        <Update release="7">
            <Date>2018-02-02</Date>
            <Version>5.9.2</Version>
            <Comment>Rebuild</Comment>
            <Name>Mustafa Cinasal</Name>
            <Email>muscnsl@gmail.com</Email>
        </Update>
        <Update release="6">
            <Date>2017-06-03</Date>
            <Version>5.7.1</Version>
            <Comment>Rebuild.</Comment>
            <Name>Kamil Atlı</Name>
            <Email>suvari@pisilinux.org</Email>
        </Update>
        <Update release="5">
            <Date>2017-03-08</Date>
            <Version>5.7.1</Version>
            <Comment>Version Bump</Comment>
            <Name>Kamil Atlı</Name>
            <Email>suvari@pisilinux.org</Email>
        </Update>
        <Update release="4">
            <Date>2016-06-09</Date>
            <Version>5.6</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2016-06-07</Date>
            <Version>5.6</Version>
            <Comment>version bump</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-05-25</Date>
            <Version>5.6</Version>
            <Comment>version bump</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2016-05-08</Date>
            <Version>5.5.1</Version>
            <Comment>First release</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<PISI>
    <Source>
        <Name>python-qt5</Name>
        <Summary xml:lang="tr">Qt5.x araçları için python bağlayıcıları</Summary>
        <Description xml:lang="tr">Qt5, C++ kütüphaneleri dizisi ve geliştirme araçları olup grafik kullanıcı arabirimleri için, ağ bağlantısı, iş parçacığı, Unicode, düzenli ifadeler, SQL veritabanları, SVG, OpenGL, XML ve kullanıcıve uygulama ayarları gibi platform bağımsız uygulamalara ayrılır. PyQt, Python modülü seti olarak bu sınıftan 440 kadar uygulamayı çalıştırır.</Description>
    </Source>
    <Package>
        <Name>python3-qt5</Name>
    </Package>
    <Package>
        <Name>python3-qt5-docs</Name>
    </Package>
</PISI>


code:
#!/usr/bin/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 pythonmodules
from pisi.actionsapi import pisitools

def build():
    pythonmodules.compile()

def install():
    pythonmodules.install()


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>python-requests</Name>
        <Homepage>http://www.python-requests.org/</Homepage>
        <Packager>
            <Name>Ergün Salman</Name>
            <Email>ergunsalman@hotmail.com</Email>
        </Packager>
        <Summary>Requests is an Apache2 Licensed HTTP library, written in Python, for human beings.</Summary>
        <Description>Python’s standard urllib2 module provides most of the HTTP capabilities you need</Description>
        <License>MIT</License>
        <Archive sha1sum="827f7c8abb5a57d980d9870908724613b8b120c1" type="targz">https://pypi.python.org/packages/16/09/37b69de7c924d318e51ece1c4ceb679bf93be9d05973bb30c35babd596e2/requests-2.13.0.tar.gz</Archive>
        <BuildDependencies>
            <Dependency>python-devel</Dependency>
            <Dependency>python-setuptools</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>python-requests</Name>
        <!--RuntimeDependencies>
            <Dependency>python-devel</Dependency>
        </RuntimeDependencies-->
        <Files>
            <Path fileType="data">/usr/lib</Path>
            <Path fileType="doc">/usr/share/doc</Path>
        </Files>
    </Package>

    <History>
        <Update release="5">
            <Date>2017-09-04</Date>
            <Version>2.13.0</Version>
            <Comment>remove unneeded runtime dep.</Comment>
            <Name>Ertuğrul Erata</Name>
            <Email>ertugrulerata@gmail.com</Email>
        </Update>
        <Update release="4">
            <Date>2017-01-25</Date>
            <Version>2.13.0</Version>
            <Comment>Version Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2016-06-09</Date>
            <Version>2.9.1</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-06-06</Date>
            <Version>2.9.1</Version>
            <Comment>Rebuild</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2016-05-08</Date>
            <Version>2.9.1</Version>
            <Comment>First release</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
#!/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 pythonmodules
from pisi.actionsapi import pisitools

def build():
    pythonmodules.compile()

def install():
    pythonmodules.install()


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>python-six</Name>
        <Homepage>http://pypi.python.org/pypi/six/</Homepage>
        <Packager>
            <Name>Alihan Öztürk</Name>
            <Email>alihan@pisilinux.org</Email>
        </Packager>
        <License>MIT</License>
        <IsA>app:console</IsA>
        <Summary>Python 2 and 3 compatibility utilities.</Summary>
        <Description>python-six provides simple utilities for wrapping over differences between Python 2 and Python 3.</Description>
        <Archive sha1sum="3647372a0e104e7b53bd477762392024e1083ac0" type="targz">https://pypi.python.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz</Archive>
        <BuildDependencies>
            <Dependency>python-devel</Dependency>
        </BuildDependencies>
    </Source>
    <Package>
        <Name>python-six</Name>
        <RuntimeDependencies>
            <Dependency>python</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="doc">/usr/share/doc</Path>
        </Files>
    </Package>

    <History>
        <Update release="5">
            <Date>2018-01-29</Date>
            <Version>1.11.0</Version>
            <Comment>Version Bump.</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="4">
            <Date>2017-01-25</Date>
            <Version>1.10.0</Version>
            <Comment>Version Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2016-06-10</Date>
            <Version>1.9.0</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-06-06</Date>
            <Version>1.9.0</Version>
            <Comment>Rebuild</Comment>
            <Name>Ertuğrul Erata</Name>
            <Email>ertugrulerata@gmail.com</Email>
        </Update>
        <Update release="1">
            <Date>2016-05-08</Date>
            <Version>1.9.0</Version>
            <Comment>First release</Comment>
            <Name>Ertuğrul Erata</Name>
            <Email>ertugrulerata@gmail.com</Email>
        </Update>
    </History>
</PISI>


code:
<PISI>
    <Source>
        <Name>python-six</Name>
        <Summary xml:lang="tr">Python2 ve python3 uyumluluk programı.</Summary>
        <Description xml:lang="tr">python-six, python2 ile python3 arasındaki farklılıkların aşılmasına yardımcı olan basit araçlar sağlar.</Description>
    </Source>
</PISI>


code:
#!/usr/bin/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 pisitools
from pisi.actionsapi import autotools
from pisi.actionsapi import shelltools
from pisi.actionsapi import get

def build():
    shelltools.export("CC", get.CC())
    autotools.make()

def install():
    autotools.rawInstall("DESTDIR=%s" % get.installDIR())

    pisitools.dodoc("COPYING", "NEWS", "README", "TODO")


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>python-smbc</Name>
        <Homepage>http://cyberelk.net/tim/software/pysmbc</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>GPLv2</License>
        <IsA>library</IsA>
        <Summary>Python interface to the libsmbclient library</Summary>
        <Description>python-smbc is a Python binding for the libsmbclient library.</Description>
        <Archive sha1sum="bf37346af4a6b543f7f91c46d0d1d0cc6020db32" type="tarbz2">http://cyberelk.net/tim/data/pysmbc/pysmbc-1.0.13.tar.bz2</Archive>
        <BuildDependencies>
            <Dependency>samba-devel</Dependency>
            <Dependency>python-devel</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>python-smbc</Name>
        <RuntimeDependencies>
            <Dependency>samba</Dependency>
            <Dependency>python</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="doc">/usr/share/doc</Path>
        </Files>
    </Package>

    <History>
        <Update release="3">
            <Date>2017-01-25</Date>
            <Version>1.0.13</Version>
            <Comment>Rebuild for new toolchain</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-06-09</Date>
            <Version>1.0.13</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2016-01-09</Date>
            <Version>1.0.13</Version>
            <Comment>First release</Comment>
            <Name>Alihan Öztürk</Name>
            <Email>alihan@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>python-smbc</Name>
        <Summary xml:lang="tr">libsmbclient kitaplığı için Python arayüzü</Summary>
        <Description xml:lang="tr">python-smbc, libsmbclient kitaplığı için bir Python bağlayıcısıdır.</Description>
    </Source>
</PISI>


code:
#!/usr/bin/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 pisitools
from pisi.actionsapi import pythonmodules
from pisi.actionsapi import shelltools
from pisi.actionsapi import get

def build():
    pythonmodules.compile()

def install():
    pythonmodules.install()

    pisitools.dodoc("LICENSE*", "README*")


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>python-sphinx-alabaster-theme</Name>
        <Homepage>https://github.com/shibukawa/imagesize_py</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>BSD</License>
        <IsA>library</IsA>
        <Summary>Sphinx default theme.</Summary>
        <Description>Alabaster is a visually (c)lean, responsive, configurable theme for the Sphinx documentation system. It is Python 2+3 compatible.</Description>
        <Archive sha1sum="1ffe2361b027c96bdc2253518f6d9fd6c3340cbc" type="targz">https://github.com/bitprophet/alabaster/archive/0.7.10.tar.gz</Archive>
        <BuildDependencies>
            <Dependency>python-devel</Dependency>
            <Dependency>python-setuptools</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>python-sphinx-alabaster-theme</Name>
        <RuntimeDependencies>
            <Dependency>python-setuptools</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="doc">/usr/share/doc</Path>
        </Files>
    </Package>

    <History>
        <Update release="4">
            <Date>2018-02-25</Date>
            <Version>0.7.10</Version>
            <Comment>Version bump.</Comment>
            <Name>Mustafa Cinasal</Name>
            <Email>muscnsl@gmail.com</Email>
        </Update>
        <Update release="1">
            <Date>2017-01-29</Date>
            <Version>0.7.9</Version>
            <Comment>First release</Comment>
            <Name>Pisi Linux Admins</Name>
            <Email>admins@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>python-sphinx-alabaster-theme</Name>
        <Summary xml:lang="tr">Sphinx varsayılan teması.</Summary>
        <Description xml:lang="tr">Alabaster, Sphinx dokümantasyon sistemi için görsel (c) yalın, duyarlı, yapılandırılabilir bir temadır. Python 2 + 3 uyumludur.</Description>
    </Source>
</PISI>


code:
#!/usr/bin/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 pythonmodules
from pisi.actionsapi import pisitools
from pisi.actionsapi import get

#WorkDir = "Sphinx-%s" % get.srcVERSION()

def build():
    pythonmodules.compile()

def install():
    pythonmodules.install()

    # Generating the Grammar pickle to avoid on the fly generation causing sandbox violations
    pythonmodules.run("-c \"from sphinx.pycode.pgen2.driver import load_grammar ; \
load_grammar('%s/usr/lib/%s/site-packages/sphinx/pycode/Grammar-py2.txt')\"" %(get.installDIR(), get.curPYTHON(), ) )

    # create sphinx documentation using itself
    pythonmodules.run("sphinx-build.py doc doc/_build/html")
    pisitools.dohtml("doc/_build/html/*")

    pisitools.dodoc("CHANGES", "EXAMPLES")


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>python-sphinx</Name>
        <Homepage>http://sphinx.pocoo.org</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>as-is</License>
        <IsA>app:console</IsA>
        Python documentation generator. It can generate HTML or Latex outputs
        <Description>It's a very common documentation generator especially using for python based documentation.It can generate HTML or PDF, Ps outputs with Latex output support.</Description>
        <Archive sha1sum="71dac26c76c3d60651f92ba52f9b4f6bb19d1d13" type="targz">https://pypi.python.org/packages/e3/87/e271f7f0d498c7fdaec009c27955401d18ef357c0d468e1eb2be36bdc68c/Sphinx-1.5.2.tar.gz</Archive>
        <BuildDependencies>
            <Dependency>docutils</Dependency>
            <Dependency>python-six</Dependency>
            <Dependency>python-requests</Dependency>
            <Dependency>python-sphinx-alabaster-theme</Dependency>
            <Dependency>python-Babel</Dependency>
            <Dependency>python-imagesize</Dependency>
            <Dependency>python-Pygments</Dependency>
            <Dependency>python-Jinja2</Dependency>
            <Dependency>python-MarkupSafe</Dependency>
        </BuildDependencies>
        <Patches>

        </Patches>
    </Source>

    <Package>
        <Name>python-sphinx</Name>
        <RuntimeDependencies>
            <Dependency>docutils</Dependency>
            <Dependency>python-Pygments</Dependency>
            <Dependency>python-Jinja2</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="library">/usr/lib/python*</Path>
            <Path fileType="doc">/usr/share/doc/python-sphinx/LICENSE</Path>
        </Files>
    </Package>

    <Package>
        <Name>python-sphinx-docs</Name>
        Documentation files for python-sphinx
        <Files>
            <Path fileType="doc">/usr/share/doc/python-sphinx</Path>
        </Files>
    </Package>

    <History>
        <Update release="3">
            <Date>2017-01-29</Date>
            <Version>1.5.2</Version>
            <Comment>Version Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-06-09</Date>
            <Version>1.3.1</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2015-07-27</Date>
            <Version>1.3.1</Version>
            <Comment>First release</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>python-sphinx</Name>
        Python için döküman üreticisi. HTML, Latex gibi çıktılar üretebiliyor
        <Description xml:lang="tr">Özellikle python için hazırlanan dökümanları yorumlamak için kullanılan yaygın bir döoküman üreticisi. Başta HTML olmak üzere Latex ile birlikte PDF, Ps gibi doküman çıktıları üretebiliyor.</Description>
    </Source>

    <Package>
        <Name>python-sphinx-docs</Name>
        python-sphinx için belgelendirme dosyaları
    </Package>
</PISI>


code:
#!/usr/bin/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 pythonmodules
from pisi.actionsapi import pisitools
from pisi.actionsapi import get

def build():
    pythonmodules.compile()

def install():
    pythonmodules.install()
    pisitools.remove("/usr/lib/%s/site-packages/pyudev/pyside.py" % get.curPYTHON())

    pisitools.dodoc("CHANGES.rst", "COPYING", "PKG-INFO", "README.rst")


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>python-udev</Name>
        <Homepage>http://packages.python.org/pyudev</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>LGPLv2.1</License>
        <IsA>library</IsA>
        Python bindings for libudev library
        <Description>These bindings enable using of udev library in Python programs.</Description>
        <Archive sha1sum="58263b4358951d3a990bce7661e2e2ff30ca6cbe" type="targz">https://pypi.python.org/packages/bc/a2/31a07829acea8e70a28c247f43fa5d981229ae0f9edfeddedf52de00709b/pyudev-0.21.0.tar.gz</Archive>
        <BuildDependencies>
            <Dependency>python-setuptools</Dependency>
            <Dependency>eudev-devel</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>python-udev</Name>
        <RuntimeDependencies>

        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="doc">/usr/share/doc</Path>
        </Files>
    </Package>

    <History>
        <Update release="4">
            <Date>2017-03-05</Date>
            <Version>0.21.0</Version>
            <Comment>Rebuild.</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2017-01-25</Date>
            <Version>0.21.0</Version>
            <Comment>Version Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-06-09</Date>
            <Version>0.16.1</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2016-01-02</Date>
            <Version>0.16.1</Version>
            <Comment>First release</Comment>
            <Name>Serdar Soytetir</Name>
            <Email>kaptan@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>python-udev</Name>
        libudev için Python bağlayıcısı
        <Description xml:lang="tr">Bu bağlayıcı, Python programlarında, udev kitaplığı olan libudev'in işlevselliğinden yararlanmayı sağlar.</Description>
    </Source>

    <Package>
        <Name>python-udev-qt</Name>
        libudev için Qt bağlayıcısı
        <Description xml:lang="tr">Bu bağlayıcı, Qt kullanan Python programlarının, udev kitaplığı olan libudev'i kullanabilmesini sağlar.</Description>
    </Package>

</PISI>


code:
#!/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 pythonmodules
from pisi.actionsapi import pisitools

def build():
    pythonmodules.compile()

def install():
    pythonmodules.install()

    pisitools.rename("/usr/bin/wsdump.py", "wsdump2.py")

    pisitools.dodoc("MANIFEST*", "ChangeLog", "README*", "LICENSE")


code:
<PISI>
    <Source>
        <Name>python-websocket-client</Name>
        <Homepage>https://github.com/liris/websocket-client</Homepage>
        <Packager>
            <Name>Alihan Öztürk</Name>
            <Email>alihan@pisilinux.org</Email>
        </Packager>
        <License>LGPLv2</License>
        <IsA>app:console</IsA>
        WebSocket client library for Python
        <Description>websocket-client module is WebSocket client for python. This provide the low level APIs for WebSocket. All APIs are the synchronous functions.</Description>
        <Archive sha1sum="9a6ee2a11b5c29393dae39a3dc62c219eb254856" type="targz">https://github.com/websocket-client/websocket-client/archive/v0.47.0.tar.gz</Archive>
        <BuildDependencies>
            <Dependency>python-devel</Dependency>
            <Dependency>python-setuptools</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>python-websocket-client</Name>
        WebSocket client library for Python
        <RuntimeDependencies>
            <Dependency>python</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="doc">/usr/share/doc</Path>
        </Files>
    </Package>

    <History>
        <Update release="4">
            <Date>2018-02-25</Date>
            <Version>0.47.0</Version>
            <Comment>Version bump.</Comment>
            <Name>Mustafa Cinasal</Name>
            <Email>muscnsl@gmail.com</Email>
        </Update>
        <Update release="3">
            <Date>2017-01-25</Date>
            <Version>0.40.0</Version>
            <Comment>Version Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-06-09</Date>
            <Version>0.37.0</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2016-06-06</Date>
            <Version>0.37.0</Version>
            <Comment>First release</Comment>
            <Name>Alihan Öztürk</Name>
            <Email>alihan@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
#!/usr/bin/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 shelltools
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import pythonmodules
from pisi.actionsapi import get

WorkDir = "sip-%s" % get.srcVERSION()

def setup():
    pythonmodules.run('configure.py CFLAGS+="%s" CXXFLAGS+="%s"' % (get.CFLAGS(), get.CXXFLAGS()))

def build():
    autotools.make()

def install():
    autotools.rawInstall("DESTDIR=%s" % get.installDIR())
    pisitools.rename("/usr/bin/sip", "py2sip")


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>sip</Name>
        <Homepage>http://www.riverbankcomputing.co.uk/sip</Homepage>
        <Packager>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Packager>
        <License>GPLv2</License>
        <IsA>app:console</IsA>
        SIP is a tool for generating bindings for C++ classes so that they can be used by Python
        <Description>SIP is a tool for generating bindings for C and C++ libraries so that they can be used by Python. It takes any C or C++ libraries and converts them into Python extension modules.</Description>
        <Archive sha1sum="233dadc59f8b18175d914311148a049ec46fbaa9" type="targz">https://sourceforge.net/projects/pyqt/files/sip/sip-4.19.6/sip-4.19.6.tar.gz</Archive>
        <BuildDependencies>
            <Dependency versionFrom="5.7.1">qt5-base-devel</Dependency>
            <Dependency>python-devel</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>python-sip</Name>
        Python 2.x SIP bindings for C and C++ libraries
        <RuntimeDependencies>
            <Dependency>libgcc</Dependency>
            <Dependency>python</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="header">/usr/include</Path>
        </Files>
    </Package>

    <History>
        <Update release="7">
            <Date>2017-03-18</Date>
            <Version>4.19.6</Version>
            <Comment>Version bump</Comment>
            <Name>Mustafa Cinasal</Name>
            <Email>muscnsl@gmail.com</Email>
        </Update>
        <Update release="6">
            <Date>2017-03-18</Date>
            <Version>4.19</Version>
            <Comment>Release Bump</Comment>
            <Name>Stefan Gronewold</Name>
            <Email>groni@pisilinux.org</Email>
        </Update>
        <Update release="5">
            <Date>2017-02-25</Date>
            <Version>4.19</Version>
            <Comment>Release Bump</Comment>
            <Name>Stefan Gronewold</Name>
            <Email>groni@pisilinux.org</Email>
        </Update>
        <Update release="4">
            <Date>2016-06-09</Date>
            <Version>4.18</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2016-06-06</Date>
            <Version>4.18</Version>
            <Comment>Version bump</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-05-20</Date>
            <Version>4.18</Version>
            <Comment>Version bump</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2016-05-08</Date>
            <Version>4.16.9</Version>
            <Comment>First release</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<PISI>
    <Source>
        <Name>sip3</Name>
        C ve C++ kütüphaneleri için python bağlayıcıları oluşturan bir araç
        Generator powiązań Pythona z bibliotekami klas C++
        <Description xml:lang="tr">SIP3 C ve C++ kütüphanelerini Python'da kullanabilmek için bağlayıcılar oluşturan bir araçtır. Herhangi bir C veya C++ kütüphanesini Python genişletme modülüne dönüştürür.</Description>
        <Description xml:lang="pl">Generuje powiązania Pythona z bibliotekami klas C++ ze zbioru plików ze specyfikacjami klas. Obsługiwany jest Python 2 i 3.</Description>
    </Source>
    <Package>
        <Name>python3-sip3</Name>
    </Package>
    <Package>
        <Name>sip3-devel</Name>
    </Package>
</PISI>


code:
#!/usr/bin/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.unlink("py-compile")
    autotools.configure()

def build():
    autotools.make()

def install():
    pisitools.dosed("src/Makefile", "\s_generated\/errors\.py.*", deleteLine=True)
    autotools.rawInstall("DESTDIR=%s" % get.installDIR())

    pisitools.dodoc("AUTHORS", "COPYING", "NEWS", "README")