code:
diff -Nur fltk-1.3.2.orig/FL/Enumerations.H fltk-1.3.2/FL/Enumerations.H
--- fltk-1.3.2.orig/FL/Enumerations.H	2012-12-09 19:45:57.000000000 +0100
+++ fltk-1.3.2/FL/Enumerations.H	2013-07-17 19:37:45.785342886 +0200
@@ -909,27 +909,27 @@
 /* FIXME: We should renumber these, but that will break the ABI */
 enum Fl_Cursor {
   FL_CURSOR_DEFAULT    =  0, /**< the default cursor, usually an arrow. */
-  FL_CURSOR_ARROW      = 35, /**< an arrow pointer. */
-  FL_CURSOR_CROSS      = 66, /**< crosshair. */
-  FL_CURSOR_WAIT       = 76, /**< busy indicator (e.g. hourglass). */
-  FL_CURSOR_INSERT     = 77, /**< I-beam. */
-  FL_CURSOR_HAND       = 31, /**< pointing hand. */
-  FL_CURSOR_HELP       = 47, /**< question mark pointer. */
-  FL_CURSOR_MOVE       = 27, /**< 4-pointed arrow or hand. */
+  FL_CURSOR_ARROW      = 1, /**< an arrow pointer. */
+  FL_CURSOR_CROSS      = 2, /**< crosshair. */
+  FL_CURSOR_WAIT       = 3, /**< busy indicator (e.g. hourglass). */
+  FL_CURSOR_INSERT     = 4, /**< I-beam. */
+  FL_CURSOR_HAND       = 5, /**< pointing hand. */
+  FL_CURSOR_HELP       = 6, /**< question mark pointer. */
+  FL_CURSOR_MOVE       = 7, /**< 4-pointed arrow or hand. */

   /* Resize indicators */
-  FL_CURSOR_NS         = 78, /**< up/down resize. */
-  FL_CURSOR_WE         = 79, /**< left/right resize. */
-  FL_CURSOR_NWSE       = 80, /**< diagonal resize. */
-  FL_CURSOR_NESW       = 81, /**< diagonal resize. */
-  FL_CURSOR_N          = 70, /**< upwards resize. */
-  FL_CURSOR_NE         = 69, /**< upwards, right resize. */
-  FL_CURSOR_E          = 49, /**< rightwards resize. */
-  FL_CURSOR_SE         =  8, /**< downwards, right resize. */
-  FL_CURSOR_S          =  9, /**< downwards resize. */
-  FL_CURSOR_SW         =  7, /**< downwards, left resize. */
-  FL_CURSOR_W          = 36, /**< leftwards resize. */
-  FL_CURSOR_NW         = 68, /**< upwards, left resize. */
+  FL_CURSOR_NS         = 101, /**< up/down resize. */
+  FL_CURSOR_WE         = 102, /**< left/right resize. */
+  FL_CURSOR_NWSE       = 103, /**< diagonal resize. */
+  FL_CURSOR_NESW       = 104, /**< diagonal resize. */
+  FL_CURSOR_NE         = 110, /**< upwards, right resize. */
+  FL_CURSOR_N          = 111, /**< upwards resize. */
+  FL_CURSOR_NW         = 112, /**< upwards, left resize. */
+  FL_CURSOR_E          = 113, /**< rightwards resize. */
+  FL_CURSOR_W          = 114, /**< leftwards resize. */
+  FL_CURSOR_SE         = 115, /**< downwards, right resize. */
+  FL_CURSOR_S          = 116, /**< downwards resize. */
+  FL_CURSOR_SW         = 117, /**< downwards, left resize. */

   FL_CURSOR_NONE       =255  /**< invisible. */
 };
diff -Nur fltk-1.3.2.orig/FL/Fl_Widget.H fltk-1.3.2/FL/Fl_Widget.H
--- fltk-1.3.2.orig/FL/Fl_Widget.H	2012-04-23 22:12:06.000000000 +0200
+++ fltk-1.3.2/FL/Fl_Widget.H	2013-07-17 19:37:07.411344886 +0200
@@ -172,6 +172,7 @@
         COPIED_TOOLTIP  = 1<<17,  ///< the widget tooltip is internally copied, its destruction is handled by the widget
         FULLSCREEN      = 1<<18,  ///< a fullscreen window (Fl_Window)
         MAC_USE_ACCENTS_MENU = 1<<19, ///< On the Mac OS platform, pressing and holding a key on the keyboard opens an accented-character menu window (Fl_Input_, Fl_Text_Editor)
+       SIMPLE_KEYBOARD = 1<<20,  ///< the widget wants simple, consistent keypresses and not advanced input (like character composition and CJK input)
         // (space for more flags)
         USERFLAG3       = 1<<29,  ///< reserved for 3rd party extensions
         USERFLAG2       = 1<<30,  ///< reserved for 3rd party extensions
@@ -790,6 +791,35 @@
    */
   void set_active() {flags_ &= ~INACTIVE;}

+  /**
+      Returns if the widget sees a simplified keyboard model or not.
+
+      Normally widgets get a full-featured keyboard model that is geared
+      towards text input. This includes support for compose sequences and
+      advanced input methods, commonly used for asian writing system. This
+      system however has downsides in that extra graphic can be presented
+      to the user and that a physical key press doesn't correspond directly
+      to a FLTK event.
+
+      Widgets that need a direct correspondence between actual key events
+      and those seen by the widget can swith to the simplified keyboard
+      model.
+
+     \retval 0 if the widget uses the normal keyboard model
+     \see set_changed(), clear_changed()
+   */
+  unsigned int simple_keyboard() const {return flags_&SIMPLE_KEYBOARD;}
+
+  /** Marks a widget to use the simple keyboard model.
+      \see changed(), clear_changed()
+   */
+  void set_simple_keyboard() {flags_ |= SIMPLE_KEYBOARD;}
+
+  /** Marks a widget to use the normal keyboard model.
+      \see changed(), set_changed()
+   */
+  void set_normal_keyboard() {flags_ &= ~SIMPLE_KEYBOARD;}
+
   /** Gives the widget the keyboard focus.
       Tries to make this widget be the Fl::focus() widget, by first sending
       it an FL_FOCUS event, and if it returns non-zero, setting
diff -Nur fltk-1.3.2.orig/src/Fl_cocoa.mm fltk-1.3.2/src/Fl_cocoa.mm
--- fltk-1.3.2.orig/src/Fl_cocoa.mm	2012-11-30 19:20:36.000000000 +0100
+++ fltk-1.3.2/src/Fl_cocoa.mm	2013-07-17 19:38:17.320341239 +0200
@@ -724,7 +723,7 @@
     return NO;	// prevent the caption to be redrawn as active on click
 		//  when another modal window is currently the key win

-  return !(w->tooltip_window() || w->menu_window());
+  return !w->tooltip_window();
 }

 - (BOOL)canBecomeMainWindow
diff -Nur fltk-1.3.2.orig/src/Fl.cxx fltk-1.3.2/src/Fl.cxx
--- fltk-1.3.2.orig/src/Fl.cxx	2012-08-16 22:59:36.000000000 +0200
+++ fltk-1.3.2/src/Fl.cxx	2013-07-17 19:38:01.696342059 +0200
@@ -70,6 +70,8 @@
 extern double fl_mac_flush_and_wait(double time_to_wait, char in_idle);
 #endif // WIN32

+extern void fl_update_focus(void);
+
 //
 // Globals...
 //
@@ -876,6 +941,8 @@
       fl_oldfocus = p;
     }
     e_number = old_event;
+    // let the platform code do what it needs
+    fl_update_focus();
   }
 }

diff -Nur fltk-1.3.2.orig/src/Fl_grab.cxx fltk-1.3.2/src/Fl_grab.cxx
--- fltk-1.3.2.orig/src/Fl_grab.cxx	2012-03-23 17:47:53.000000000 +0100
+++ fltk-1.3.2/src/Fl_grab.cxx	2013-07-17 19:37:07.411344886 +0200
@@ -29,6 +29,7 @@
 // override_redirect, it does similar things on WIN32.

 extern void fl_fix_focus(); // in Fl.cxx
+void fl_update_focus(void);

 #ifdef WIN32
 // We have to keep track of whether we have captured the mouse, since
@@ -80,6 +81,7 @@
 #endif
     }
     grab_ = win;
+    fl_update_focus();
   } else {
     if (grab_) {
 #ifdef WIN32
@@ -98,6 +100,7 @@
       XFlush(fl_display);
 #endif
       grab_ = 0;
+      fl_update_focus();
       fl_fix_focus();
     }
   }
diff -Nur fltk-1.3.2.orig/src/xutf8/imKStoUCS.c fltk-1.3.2/src/xutf8/imKStoUCS.c
--- fltk-1.3.2.orig/src/xutf8/imKStoUCS.c	2009-03-13 23:43:43.000000000 +0100
+++ fltk-1.3.2/src/xutf8/imKStoUCS.c	2013-07-17 19:37:07.412344891 +0200
@@ -266,6 +266,12 @@
     0x20a8, 0x20a9, 0x20aa, 0x20ab, 0x20ac                          /* 0x20a8-0x20af */
 };

+static unsigned short const keysym_to_unicode_fe50_fe60[] = {
+    0x0300, 0x0301, 0x0302, 0x0303, 0x0304, 0x0306, 0x0307, 0x0308, /* 0xfe50-0xfe57 */
+    0x030a, 0x030b, 0x030c, 0x0327, 0x0328, 0x1da5, 0x3099, 0x309a, /* 0xfe58-0xfe5f */
+    0x0323                                                          /* 0xfe60-0xfe67 */
+};
+
 static unsigned int
 KeySymToUcs4(KeySym keysym)
 {
@@ -315,6 +321,8 @@
 	return keysym_to_unicode_1e9f_1eff[keysym - 0x1e9f];
     else if (keysym > 0x209f && keysym < 0x20ad)
 	return keysym_to_unicode_20a0_20ac[keysym - 0x20a0];
+    else if (keysym > 0xfe4f && keysym < 0xfe61)
+	return keysym_to_unicode_fe50_fe60[keysym - 0xfe50];
     else
 	return 0;
 }
diff -Nur fltk-1.3.2.orig/src/Fl_x.cxx fltk-1.3.2/src/Fl_x.cxx
--- fltk-1.3.2.orig/src/Fl_x.cxx	2012-10-16 17:35:34.000000000 +0200
+++ fltk-1.3.2/src/Fl_x.cxx	2013-07-17 19:38:17.326341239 +0200
@@ -583,6 +600,30 @@
   }
 }

+extern Fl_Window *fl_xfocus;
+
+void fl_update_focus(void)
+{
+  Fl_Widget *focus;
+
+  focus = Fl::grab();
+  if (!focus)
+    focus = Fl::focus();
+  if (!focus)
+    return;
+
+  if (focus->simple_keyboard()) {
+    fl_xim_deactivate();
+  } else {
+    // fl_xfocus should always be set if something has focus, but let's
+    // play it safe
+    if (!fl_xfocus || !fl_xid(fl_xfocus))
+      return;
+
+    fl_xim_activate(fl_xid(fl_xfocus));
+  }
+}
+
 void fl_open_display() {
   if (fl_display) return;

--- fltk-1.3.2.orig/src/Fl_x.cxx        (revision 10433)
+++ fltk-1.3.2/src/Fl_x.cxx        (revision 10434)
@@ -2211,6 +2211,7 @@
   static int result = -1;

   if (result == -1) {
+    fl_open_display();
     result = 0;
     unsigned long nitems;
     unsigned long *words = 0;


code:
[Desktop Entry]
Type=MimeType
MimeType=application/x-fluid
Icon=fluid.png
Patterns=*.fl
Name=FLUID
Comment=FLUID GUI Design
Encoding=UTF-8

repo_name: ayhanyalcinsoy/main


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>fltk</Name>
        <Homepage>http://www.fltk.org</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>LGPLv2.1</License>
        <IsA>library</IsA>
        FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit
        <Description>FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes.</Description>
        <Archive sha1sum="239f0d915c80c0be91dad3f64dacbfad82133bee" type="targz">http://fltk.org/pub/fltk/1.3.4/fltk-1.3.4-2-source.tar.gz</Archive>
        <AdditionalFiles>
            <AdditionalFile owner="root" permission="0644" target="fluid/x-fluid.desktop">x-fluid.desktop</AdditionalFile>
        </AdditionalFiles>
        <BuildDependencies>
            <Dependency>zlib-devel</Dependency>
            <Dependency>libX11-devel</Dependency>
            <Dependency>libgcc</Dependency>
            <Dependency>libpng-devel</Dependency>
            <Dependency>mesa-devel</Dependency>
            <Dependency>libXft-devel</Dependency>
            <Dependency>libXext-devel</Dependency>
            <Dependency>mesa-glu-devel</Dependency>
            <Dependency>libXfixes-devel</Dependency>
            <Dependency>libXcursor-devel</Dependency>
            <Dependency>fontconfig-devel</Dependency>
            <Dependency>libXinerama-devel</Dependency>
            <Dependency>libjpeg-turbo-devel</Dependency>
        </BuildDependencies>
        <Patches>

            <Patch level="1">fltk-config-dynlibs.patch</Patch>
        </Patches>
    </Source>

    <Package>
        <Name>fltk</Name>
        <RuntimeDependencies>
            <Dependency>zlib</Dependency>
            <Dependency>libX11</Dependency>
            <Dependency>libgcc</Dependency>
            <Dependency>libpng</Dependency>
            <Dependency>mesa</Dependency>
            <Dependency>libXft</Dependency>
            <Dependency>libXext</Dependency>
            <Dependency>libXrender</Dependency>
            <Dependency>mesa-glu</Dependency>
            <Dependency>libXfixes</Dependency>
            <Dependency>libXcursor</Dependency>
            <Dependency>fontconfig</Dependency>
            <Dependency>libXinerama</Dependency>
            <Dependency>libjpeg-turbo</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="doc">/usr/share/doc</Path>
        </Files>
    </Package>

    <Package>
        <Name>fltk-32bit</Name>
        <PartOf>emul32</PartOf>
        <BuildType>emul32</BuildType>
        <BuildDependencies>
            <Dependency>zlib-32bit</Dependency>
            <Dependency>libX11-32bit</Dependency>
            <Dependency>libgcc</Dependency>
            <Dependency>libpng-32bit</Dependency>
            <Dependency>mesa-32bit</Dependency>
            <Dependency>libXft-32bit</Dependency>
            <Dependency>libXext-32bit</Dependency>
            <Dependency>mesa-glu-32bit</Dependency>
            <Dependency>libXfixes-32bit</Dependency>
            <Dependency>libXcursor-32bit</Dependency>
            <Dependency>fontconfig-32bit</Dependency>
            <Dependency>libXinerama-32bit</Dependency>
            <Dependency>libjpeg-turbo-32bit</Dependency>
       </BuildDependencies>
       <RuntimeDependencies>
            <Dependency release="current">fltk</Dependency>
            <Dependency>zlib-32bit</Dependency>
            <Dependency>libX11-32bit</Dependency>
            <Dependency>libpng-32bit</Dependency>
            <Dependency>mesa-32bit</Dependency>
            <Dependency>libXft-32bit</Dependency>
            <Dependency>libXext-32bit</Dependency>
            <Dependency>libXrender-32bit</Dependency>
            <Dependency>mesa-glu-32bit</Dependency>
            <Dependency>libXfixes-32bit</Dependency>
            <Dependency>libXcursor-32bit</Dependency>
            <Dependency>fontconfig-32bit</Dependency>
            <Dependency>libXinerama-32bit</Dependency>
            <Dependency>libjpeg-turbo-32bit</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib32</Path>
        </Files>
    </Package>

    <Package>
        <Name>fltk-devel</Name>
        <IsA>app:console</IsA>
        <IsA>app:gui</IsA>
        Development files and utilities for FLTK
        <RuntimeDependencies>
            <Dependency release="current">fltk</Dependency>
            <Dependency>libX11</Dependency>
            <Dependency>libgcc</Dependency>
            <Dependency>libpng</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="data">/etc/env.d</Path>
            <Path fileType="man">/usr/share/man</Path>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="header">/usr/include</Path>
            <Path fileType="data">/usr/share/icons</Path>
            <Path fileType="data">/usr/share/mimelnk</Path>
            <Path fileType="doc">/usr/share/doc/*/html</Path>
            <Path fileType="data">/usr/share/applications</Path>
        </Files>
        <AdditionalFiles>
            <AdditionalFile owner="root" permission="0644" target="/etc/env.d/99fltk">99fltk</AdditionalFile>
        </AdditionalFiles>
    </Package>

    <History>
        <Update release="4">
            <Date>2018-01-07</Date>
            <Version>1.3.4.2</Version>
            <Comment>Version Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2017-02-12</Date>
            <Version>1.3.4</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.3</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2016-04-09</Date>
            <Version>1.3.3</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>fltk</Name>
        FLTK, platformlar arası C++ kullanıcı arayüzü için bir araç takımı
        <Description xml:lang="tr">FLTK sistemi yormadan modern bir arayüzün işlevselliğini sağlar. OpenGL ve kendi içinde bulunan GLUT emülasyonu sayesinde 3B görüntü de sağlayabilir. FLTK statik kitaplık olabilecek kadar küçük ve modülerdir, fakat paylaşılmış kitaplık olarak da çalışabilir. Ayrıca FLUID adlı grafik arayüz tasarım aracı sayesinde çok kısa sürede FLTK uygulamaları geliştirilebilir.</Description>
        <Description xml:lang="fr">FLTK fournit les fonctionnalités IHM sans fioritures et supporte les graphiques 3D via OpenGL et son émulation GLUT intégrée. FLTK est conçue pour être petite et suffisamment modulaire pour être associée statiquement, tout en restant parfaitement utilisable en tant que librairie partagée. FLTK inclus également un excellent constructeur d'IHM appelé FLUID pouvant être utilisé pour créer des applications en quelques minutes.</Description>
        <Description xml:lang="es">FLTK provee una funcionalidad de un GUI moderno sin demasiado complejidad y soporta gráficos 3D via OpenGL y su emulación GLUT incluido. FLTK fue diseñado para ser pequeño y modular para enlace estático, pero funciona bien como librería compartida. FLTK también incluye un entorno de desarrollo UI llamado FLUID con el cual se puede crear aplicaciones en minutos.</Description>
    </Source>

    <Package>
        <Name>fltk-devel</Name>
        FLTK için geliştirme dosyaları ve yardımcı uygulamalar
    </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 get
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools

def setup():
    pisitools.dosed(".", "^(SUBDIRS =.*)tests(.*)$", "\\1\\2", filePattern="^Makefile.(am|in)", level=0)
    autotools.autoreconf("-fiv")
    autotools.configure("\
                         --disable-static \
                         --enable-introspection=%s \
                        " % ("no" if get.buildTYPE() == "emul32" else "yes"))

def build():
    autotools.make()

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

    pisitools.removeDir("/usr/share/gtk-doc")
    pisitools.dodoc("AUTHORS", "COPYING", "NEWS", "README")


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>atk</Name>
        <Homepage>http://developer.gnome.org/atk</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>LGPLv2.1</License>
        <IsA>library</IsA>
        GTK+ and GNOME Accessibility Toolkit
        <Description>These libraries provide tools for making software for people with disabilities.</Description>
        <Archive sha1sum="62d33b5724acecb202b4c3067e3d861c4cfcd19a" type="tarxz">mirrors://gnome/atk/2.27/atk-2.27.1.tar.xz</Archive>
        <BuildDependencies>
            <Dependency>gobject-introspection-devel</Dependency>
            <Dependency>glib2-devel</Dependency>
            <Dependency>python-six</Dependency>
            <Dependency>gtk-doc</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>atk</Name>
        <RuntimeDependencies>
            <Dependency>glib2</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib/libatk*</Path>
            <Path fileType="library">/usr/lib/girepository-1.0</Path>
            <Path fileType="data">/usr/share/gir-1.0</Path>
            <Path fileType="localedata">/usr/share/locale</Path>
            <Path fileType="doc">/usr/share/doc</Path>
        </Files>
    </Package>

    <Package>
        <Name>atk-devel</Name>
        Development files for atk
        <RuntimeDependencies>
            <Dependency release="current">atk</Dependency>
            <Dependency>glib2-devel</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="header">/usr/include</Path>
            <Path fileType="library">/usr/lib/pkgconfig</Path>
            <Path fileType="library">/usr/lib32/pkgconfig</Path>
        </Files>
    </Package>

    <Package>
        <Name>atk-32bit</Name>
        <PartOf>emul32</PartOf>
        32-bit shared libraries for atk
        <BuildType>emul32</BuildType>
        <BuildDependencies>
            <Dependency>glib2-32bit</Dependency>
        </BuildDependencies>
        <RuntimeDependencies>
            <Dependency release="current">atk</Dependency>
            <Dependency>glib2-32bit</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib32</Path>
        </Files>
    </Package>

    <History>
        <Update release="5">
            <Date>2018-01-08</Date>
            <Version>2.27.1</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.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>2.16.0</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-05-25</Date>
            <Version>2.16.0</Version>
            <Comment>release bump</Comment>
            <Name>Yusuf Aydemir</Name>
            <Email>yusuf.aydemir@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2015-04-17</Date>
            <Version>2.16.0</Version>
            <Comment>First release</Comment>
            <Name>Yusuf Aydemir</Name>
            <Email>yusuf.aydemir@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>atk</Name>
        GTK+ ve GNOME erişilebilirlik kitaplığı
        <Description xml:lang="tr">Bu kitaplıklar engelli insanlar için yapılan programlarda kullanılabilecek araçları içerir.</Description>
        <Description xml:lang="fr">Ces librairies fournissent des outils pour faire des logiciels pour personnes handicapées.</Description>
    </Source>

    <Package>
        <Name>atk-devel</Name>
        atk için geliştirme dosyaları
    </Package>

    <Package>
        <Name>atk-32bit</Name>
        atk için 32-bit paylaşımlı kitaplıklar
    </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 get

def setup():
    autotools.configure("--disable-static")
    pisitools.dosed("libtool", " -shared ", " -Wl,--as-needed -shared ")

def build():
    autotools.make()

def install():
    autotools.install()

    pisitools.domove("/usr/share/doc/%s-1.6/*" % get.srcNAME(), "/usr/share/gtk-doc/html/atkmm")
    pisitools.removeDir("/usr/share/doc/%s-1.6" % get.srcNAME())
    pisitools.removeDir("/usr/share/devhelp")

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


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>atkmm</Name>
        <Homepage>http://www.gtkmm.org</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>LGPLv2+</License>
        <IsA>library</IsA>
        C++ interface for the ATK library
        <Description>atkmm provides a C++ interface for the ATK library.</Description>
        <Archive sha1sum="e18e2145622d1ae9b32d0425aec1b4b74aeb1336" type="tarxz">mirrors://gnome/atkmm/2.24/atkmm-2.24.2.tar.xz</Archive>
        <BuildDependencies>
            <Dependency>atk-devel</Dependency>
            <Dependency>glibmm-devel</Dependency>
            <Dependency>libtool</Dependency>
            <Dependency>perl</Dependency>
            <Dependency>doxygen</Dependency>
            <Dependency>pkgconfig</Dependency>
            <Dependency>glib2-devel</Dependency>
            <Dependency>libsigc++-devel</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>atkmm</Name>
        <RuntimeDependencies>
            <Dependency>atk</Dependency>
            <Dependency>libgcc</Dependency>
            <Dependency>glib2</Dependency>
            <Dependency>glibmm</Dependency>
            <Dependency>libsigc++</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="doc">/usr/share/doc</Path>
        </Files>
    </Package>

    <Package>
        <Name>atkmm-devel</Name>
        Development files for atkmm
        <RuntimeDependencies>
            <Dependency release="current">atkmm</Dependency>
            <Dependency>atk-devel</Dependency>
            <Dependency>glibmm-devel</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="header">/usr/include</Path>
            <Path fileType="header">/usr/lib/atkmm-1.6/include</Path>
            <Path fileType="data">/usr/lib/pkgconfig</Path>
            <Path fileType="man">/usr/share/man/man3</Path>
            <Path fileType="doc">/usr/share/gtk-doc</Path>
        </Files>
    </Package>

    <History>
        <Update release="3">
            <Date>2017-04-11</Date>
            <Version>2.24.2</Version>
            <Comment>Version Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>suvari@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-06-09</Date>
            <Version>2.22.7</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2015-11-27</Date>
            <Version>2.22.7</Version>
            <Comment>First release</Comment>
            <Name>Stefan Gronewold (groni)</Name>
            <Email>groni@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>atkmm</Name>
        ATK kitaplığı için C++ arayüzü
        <Description xml:lang="tr">atkmm, ATK kitaplığı için bir C++ arayüzü sunar.</Description>
    </Source>

    <Package>
        <Name>atkmm-devel</Name>
        atkmm için 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 shelltools
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import get

def setup():
    pisitools.flags.add("-flto -ffat-lto-objects")
    autotools.autoreconf("-vfi")
    autotools.configure("--disable-static \
                         --enable-xlib \
                         --disable-drm \
                         --enable-xml \
                         --enable-ft \
                         --enable-ps \
                         --enable-pdf \
                         --enable-svg \
                         --enable-tee \
                         --enable-gl \
                         --enable-gobject \
                         --disable-gtk-doc")

    pisitools.dosed("libtool", "^(hardcode_libdir_flag_spec=).*", '\\1""')
    pisitools.dosed("libtool", "^(runpath_var=)LD_RUN_PATH", "\\1DIE_RPATH_DIE")
    pisitools.dosed("libtool"," -shared ", " -Wl,--as-needed -shared ")

def build():
    autotools.make()

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

    pisitools.removeDir("/usr/share/gtk-doc")
    pisitools.dodoc("AUTHORS", "README", "ChangeLog", "NEWS", "COPYING", "COPYING-LGPL-2.1", "COPYING-MPL-1.1")


code:
From 8dc3b629434ce256f8e6a584c5853ae9b4230c33 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Wed, 31 Oct 2012 16:06:51 -0400
Subject: [PATCH 1/2] xlib: Don't crash when swapping a 0-sized glyph

malloc(0) needn't return NULL, and on glibc, doesn't.  Then we encounter
a loop of the form do { ... } while (--c), which doesn't do quite what
you were hoping for when c is initially 0.

Since there's nothing to swap in this case, just bomb out.

Signed-off-by: Adam Jackson <ajax@redhat.com>
---
 src/cairo-xlib-render-compositor.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/cairo-xlib-render-compositor.c b/src/cairo-xlib-render-compositor.c
index 74c43e9..e38a659 100644
--- a/src/cairo-xlib-render-compositor.c
+++ b/src/cairo-xlib-render-compositor.c
@@ -1251,6 +1251,9 @@ _cairo_xlib_surface_add_glyph (cairo_xlib_display_t *display,
 	    unsigned char   *d;
 	    unsigned char   *new, *n;

+	    if (c == 0)
+		break;
+
 	    new = malloc (c);
 	    if (!new) {
 		status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
@@ -1276,6 +1279,9 @@ _cairo_xlib_surface_add_glyph (cairo_xlib_display_t *display,
 	    const uint32_t *d;
 	    uint32_t *new, *n;

+	    if (c == 0)
+		break;
+
 	    new = malloc (4 * c);
 	    if (unlikely (new == NULL)) {
 		status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
--
1.7.12.1


code:
From 4cad9bf9f0744efe17f1b70548cd2059df071e81 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Wed, 31 Oct 2012 16:12:58 -0400
Subject: [PATCH 2/2] xcb: Don't crash when swapping a 0-sized glyph

malloc(0) needn't return NULL, and on glibc, doesn't.  Then we encounter
a loop of the form do { ... } while (--c), which doesn't do quite what
you were hoping for when c is initially 0.

Since there's nothing to swap in this case, just bomb out.

Signed-off-by: Adam Jackson <ajax@redhat.com>
---
 src/cairo-xcb-surface-render.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/cairo-xcb-surface-render.c b/src/cairo-xcb-surface-render.c
index 27ed113..16d1ef8 100644
--- a/src/cairo-xcb-surface-render.c
+++ b/src/cairo-xcb-surface-render.c
@@ -4461,6 +4461,9 @@ _cairo_xcb_surface_add_glyph (cairo_xcb_connection_t *connection,
 	    const uint8_t *d;
 	    uint8_t *new, *n;

+	    if (c == 0)
+		break;
+
 	    new = malloc (c);
 	    if (unlikely (new == NULL)) {
 		status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
@@ -4489,6 +4492,9 @@ _cairo_xcb_surface_add_glyph (cairo_xcb_connection_t *connection,
 	    const uint32_t *d;
 	    uint32_t *new, *n;

+	    if (c == 0)
+		break;
+
 	    new = malloc (4 * c);
 	    if (unlikely (new == NULL)) {
 		status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
--
1.7.12.1


code:
From 2de69581c28bf115852037ca41eba13cb7335976 Mon Sep 17 00:00:00 2001
From: Massimo Valentini <mvalentini@src.gnome.org>
Date: Sun, 19 Oct 2014 09:19:10 +0200
Subject: tor-scan-converter: can't do_fullrow when intersection in row +
 0.5subrow

the active edges list must be left sorted at the next possible use
and since full_row does not deal with intersections it is not usable
when there is an intersection in the top half of the next row first
subrow

Reported-and-tested-by: Matthew Leach
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85151
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>

diff --git a/src/cairo-tor-scan-converter.c b/src/cairo-tor-scan-converter.c
index 4adcafb..14922d0 100644
--- a/src/cairo-tor-scan-converter.c
+++ b/src/cairo-tor-scan-converter.c
@@ -1167,8 +1167,8 @@ can_do_full_row (struct active_list *active)

 	if (e->dy) {
 	    struct quorem x = e->x;
-	    x.quo += e->dxdy_full.quo - e->dxdy.quo/2;
-	    x.rem += e->dxdy_full.rem - e->dxdy.rem/2;
+	    x.quo += e->dxdy_full.quo;
+	    x.rem += e->dxdy_full.rem;
 	    if (x.rem < 0) {
 		x.quo--;
 		x.rem += e->dy;
--
cgit v0.10.2


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>cairo</Name>
        <Homepage>http://cairographics.org</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>LGPLv2.1</License>
        <License>MPL-1.1</License>
        <IsA>library</IsA>
        2D graphics library with bindings of many programming languages
        <Description>Cairo is a 2D graphics library with support for multiple output devices (and fileformats).</Description>
        <Archive sha1sum="490025a0ba0622a853010f49fb6343f29fb70b9b" type="tarxz">http://cairographics.org/releases/cairo-1.14.12.tar.xz</Archive>
        <BuildDependencies>
            <Dependency>lzo-devel</Dependency>
            <Dependency>zlib-devel</Dependency>
            <Dependency>glib2-devel</Dependency>
            <Dependency>libX11-devel</Dependency>
            <Dependency>libpng-devel</Dependency>
            <Dependency>libxcb-devel</Dependency>
            <Dependency>freetype-devel</Dependency>
            <Dependency>expat-devel</Dependency>
            <Dependency>fontconfig-devel</Dependency>
            <Dependency>libXrender-devel</Dependency>
            <Dependency>pixman-devel</Dependency>
            <Dependency>xcb-util-devel</Dependency>
            <Dependency>libXext-devel</Dependency>
            <Dependency>mesa-devel</Dependency>

            <Dependency>DirectFB-devel</Dependency>
            <Dependency>valgrind</Dependency>

        </BuildDependencies>
        <Patches>

        </Patches>
    </Source>

    <Package>
        <Name>cairo</Name>
        <RuntimeDependencies>
            <Dependency>lzo</Dependency>
            <Dependency>zlib</Dependency>
            <Dependency>glib2</Dependency>
            <Dependency>libX11</Dependency>
            <Dependency>libpng</Dependency>
            <Dependency>libxcb</Dependency>
            <Dependency>freetype</Dependency>
            <Dependency>fontconfig</Dependency>
            <Dependency>libXrender</Dependency>
            <Dependency>pixman</Dependency>
            <Dependency>libXext</Dependency>
            <Dependency>mesa</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="man">/usr/share/man</Path>
            <Path fileType="doc">/usr/share/doc</Path>
            <Path fileType="doc">/usr/share/gtk-doc</Path>
            <Path fileType="info">/usr/share/info</Path>
            <Path fileType="library">/usr/lib</Path>
        </Files>
    </Package>

    <Package>
        <Name>cairo-devel</Name>
        Development files for cairo
        <RuntimeDependencies>
            <Dependency release="current">cairo</Dependency>
            <Dependency>mesa-devel</Dependency>
            <Dependency>glib2-devel</Dependency>
            <Dependency>libX11-devel</Dependency>
            <Dependency>libpng-devel</Dependency>
            <Dependency>libxcb-devel</Dependency>
            <Dependency>freetype-devel</Dependency>
            <Dependency>pixman-devel</Dependency>
            <Dependency>libXext-devel</Dependency>
            <Dependency>fontconfig-devel</Dependency>
            <Dependency>libXrender-devel</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="header">/usr/include</Path>
            <Path fileType="data">/usr/lib/pkgconfig</Path>
            <Path fileType="data">/usr/lib32/pkgconfig</Path>
        </Files>
    </Package>

    <Package>
        <Name>cairo-32bit</Name>
        <PartOf>emul32</PartOf>
        32-bit shared libraries for cairo
        <BuildType>emul32</BuildType>
        <BuildDependencies>
            <Dependency>mesa-32bit</Dependency>
            <Dependency>zlib-32bit</Dependency>
            <Dependency>glib2-32bit</Dependency>
            <Dependency>libX11-32bit</Dependency>
            <Dependency>pixman-32bit</Dependency>
            <Dependency>libpng-32bit</Dependency>
            <Dependency>libxcb-32bit</Dependency>
            <Dependency>libXext-32bit</Dependency>
            <Dependency>freetype-32bit</Dependency>
            <Dependency>fontconfig-32bit</Dependency>
            <Dependency>libXrender-32bit</Dependency>

        </BuildDependencies>
        <RuntimeDependencies>
            <Dependency release="current">cairo</Dependency>
            <Dependency>mesa-32bit</Dependency>
            <Dependency>zlib-32bit</Dependency>
            <Dependency>glib2-32bit</Dependency>
            <Dependency>libX11-32bit</Dependency>
            <Dependency>pixman-32bit</Dependency>
            <Dependency>libpng-32bit</Dependency>
            <Dependency>libxcb-32bit</Dependency>
            <Dependency>libXext-32bit</Dependency>
            <Dependency>freetype-32bit</Dependency>
            <Dependency>fontconfig-32bit</Dependency>
            <Dependency>libXrender-32bit</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib32/lib*</Path>
            <Path fileType="library">/usr/lib32/cairo</Path>
        </Files>
    </Package>

    <History>
	<Update release="5">
            <Date>2018-01-28</Date>
            <Version>1.14.12</Version>
            <Comment>version Bump</Comment>
            <Name>Mustafa Cinasal</Name>
            <Email>muscnsl@gmail.com</Email>
        </Update>
        <Update release="4">
            <Date>2017-02-17</Date>
            <Version>1.14.8</Version>
            <Comment>version Bump</Comment>
            <Name>Ayhan Yalçınsoy</Name>
            <Email>ayhanyalcinsoy@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2016-06-09</Date>
            <Version>1.14.2</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-05-25</Date>
            <Version>1.14.2</Version>
            <Comment>Release Bump.</Comment>
            <Name>Yusuf Aydemir</Name>
            <Email>yusuf.aydemir@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2015-04-18</Date>
            <Version>1.14.2</Version>
            <Comment>First release</Comment>
            <Name>Yusuf Aydemir</Name>
            <Email>yusuf.aydemir@pisilinux.org</Email>
        </Update>
    </History>
</PISI>


code:
<?xml version="1.0" ?>
<PISI>
    <Source>
        <Name>cairo</Name>
        Birden çok çıktı cihazına destek veren bir 2 boyutlu grafik kitaplığı
        Cairo est une librairie graphique 2D supportant de nombreux périphériques de sortie.
    </Source>

    <Package>
        <Name>cairo-devel</Name>
        cairo için geliştirme dosyaları
    </Package>

    <Package>
        <Name>cairo-32bit</Name>
        cairo için 32-bit paylaşımlı kitaplıklar
    </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 get

def setup():
    autotools.configure("--disable-static")
    pisitools.dosed("libtool"," -shared ", " -Wl,--as-needed -shared ")

def build():
    autotools.make("-j1")

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

    pisitools.removeDir("/usr/share/devhelp")

    #move html docs to html doc dir
    pisitools.dodir("/usr/share/doc/%s/html" % get.srcNAME())
    pisitools.domove("/usr/share/doc/%s-1.0/*" % get.srcNAME(), "/usr/share/doc/%s/html" % get.srcNAME())
    pisitools.removeDir("/usr/share/doc/%s-1.0" % get.srcNAME())

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


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>cairomm</Name>
        <Homepage>http://cairographics.org/</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>LGPLv2.1</License>
        <IsA>library</IsA>
        C++ binding for Cairo
        <Description>cairomm package is the C++ binding for Cairo (it makes possible using Cairo in C++).</Description>
        <Archive sha1sum="621546f32221a2ddc079167a13ce5b5409bed704" type="targz">https://www.cairographics.org/releases/cairomm-1.12.2.tar.gz</Archive>
        <BuildDependencies>
            <Dependency>grep</Dependency>
            <Dependency>perl</Dependency>
            <Dependency>doxygen</Dependency>
            <Dependency>cairo-devel</Dependency>
            <Dependency>libsigc++-devel</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>cairomm</Name>
        <RuntimeDependencies>
            <Dependency>cairo</Dependency>
            <Dependency>libsigc++</Dependency>
            <Dependency>libgcc</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="doc">/usr/share/doc</Path>
            <Path fileType="library">/usr/lib</Path>
        </Files>
    </Package>

    <Package>
        <Name>cairomm-devel</Name>
        Development files for cairomm
        <RuntimeDependencies>
            <Dependency release="current">cairomm</Dependency>
            <Dependency>cairo-devel</Dependency>
            <Dependency>libsigc++-devel</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="header">/usr/include</Path>
            <Path fileType="data">/usr/lib/pkgconfig</Path>
            <Path fileType="header">/usr/lib/cairomm-1.0/include</Path>
        </Files>
    </Package>

    <Package>
        <Name>cairomm-docs</Name>
        Development documents for cairomm
        <Files>
            <Path fileType="doc">/usr/share/doc/cairomm/html</Path>
        </Files>
    </Package>

    <History>
        <Update release="3">
            <Date>2016-06-09</Date>
            <Version>1.12.2</Version>
            <Comment>Version Bump</Comment>
            <Name>Kamil Atlı</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-06-09</Date>
            <Version>1.10.0</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2014-05-18</Date>
            <Version>1.10.0</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>cairomm</Name>
        Cairo için C++ bağlayıcı
        Bindings (liens) C++ pour Cairo.
    </Source>

    <Package>
        <Name>cairomm-devel</Name>
        cairomm için geliştirme dosyaları
    </Package>

    <Package>
        <Name>cairomm-docs</Name>
        cairomm için geliştirme belgeleri
    </Package>
</PISI>


code:
<PISI>
    <Name>desktop.toolkit.gtk</Name>
</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 get
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools

def setup():
    options = "\
                 --disable-static \
                 --disable-silent-rules \
                 --with-libjasper \
                 --with-x11 \
                 --with-included-loaders=png \
              "

    options += "\
                 --bindir=/_emul32/bin \
                 --disable-introspection \
               " if get.buildTYPE() == "emul32" else \
               "\
                 --enable-introspection \
               "
    autotools.configure(options)

    pisitools.dosed("libtool"," -shared ", " -Wl,--as-needed -shared ")

def build():
    autotools.make()

def install():
    autotools.rawInstall("DESTDIR=%s" % get.installDIR())
    if get.buildTYPE() == "emul32":
        pisitools.domove("/_emul32/bin/gdk-pixbuf-query-loaders", "/usr/bin", "gdk-pixbuf-query-loaders-32")
        pisitools.removeDir("/_emul32")
        return
    pisitools.dosym("/usr/bin/gdk-pixbuf-query-loaders", "/usr/bin/gdk-pixbuf-query-loaders-64")
    pisitools.dodoc("AUTHORS", "COPYING", "NEWS", "README")


code:
#!/usr/bin/python
# -*- coding: utf-8 -*-

import piksemel
import os

def updateData(filepath):
    parse = piksemel.parse(filepath)

    for icon in parse.tags("File"):
        path = icon.getTagData("Path")
        if path.startswith("usr/lib32/gdk-pixbuf-2.0/2.10.0/loaders"):
            os.system("/usr/bin/gdk-pixbuf-query-loaders-32 --update-cache")
            return

def setupPackage(metapath, filepath):
    updateData(filepath)

def cleanupPackage(metapath, filepath):
    pass

def postCleanupPackage(metapath, filepath):
    updateData(filepath)


code:
#!/usr/bin/python
# -*- coding: utf-8 -*-

import piksemel
import os

def updateData(filepath):
    parse = piksemel.parse(filepath)

    for icon in parse.tags("File"):
        path = icon.getTagData("Path")
        if path.startswith("usr/lib/gdk-pixbuf-2.0/2.10.0/loaders"):
            os.system("/usr/bin/gdk-pixbuf-query-loaders --update-cache")
            return

def setupPackage(metapath, filepath):
    updateData(filepath)

def cleanupPackage(metapath, filepath):
    pass

def postCleanupPackage(metapath, filepath):
    updateData(filepath)


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>gdk-pixbuf</Name>
        <Homepage>http://www.gnome.org</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>GPLv2</License>
        <IsA>library</IsA>
        GDK pixbuf library
        <Description>gdk-pixbuf is a library that provides image loading and scaling support for gtk+ applications</Description>
        <Archive sha1sum="445bb95b234c3b3cea273353b7464f3b796dbd0e" type="tarxz">mirrors://gnome/gdk-pixbuf/2.36/gdk-pixbuf-2.36.11.tar.xz</Archive>
        <BuildDependencies>
            <Dependency>gtk-doc</Dependency>
            <Dependency>glib2-devel</Dependency>
            <Dependency>libX11-devel</Dependency>
            <Dependency>tiff-devel</Dependency>
            <Dependency>libjpeg-turbo-devel</Dependency>
            <Dependency>libpng-devel</Dependency>
            <Dependency>jasper-devel</Dependency>
            <Dependency>shared-mime-info</Dependency>
            <Dependency>python-six</Dependency>
            <Dependency>gobject-introspection-devel</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>gdk-pixbuf</Name>
        <RuntimeDependencies>
            <Dependency>glib2</Dependency>
            <Dependency>libpng</Dependency>
            <Dependency>libX11</Dependency>
            <Dependency>tiff</Dependency>
            <Dependency>jasper</Dependency>
            <Dependency>libjpeg-turbo</Dependency>
        </RuntimeDependencies>>
        <Files>
            <Path fileType="config">/etc</Path>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="localedata">/usr/share/locale</Path>
            <Path fileType="man">/usr/share/man</Path>
            <Path fileType="doc">/usr/share/doc</Path>
            <Path fileType="data">/usr/share</Path>
        </Files>
        <Provides>
            <COMAR script="pakhandler.py">System.PackageHandler</COMAR>
        </Provides>
    </Package>

    <Package>
        <Name>gdk-pixbuf-devel</Name>
        Development files for gdk-pixbuf
        <RuntimeDependencies>
            <Dependency release="current">gdk-pixbuf</Dependency>
            <Dependency>glib2-devel</Dependency>
            <Dependency>libpng-devel</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin/gdk-pixbuf-csource</Path>
            <Path fileType="header">/usr/include</Path>
            <Path fileType="library">/usr/lib/pkgconfig</Path>
            <Path fileType="library">/usr/lib32/pkgconfig</Path>
            <Path fileType="data">/usr/share/gir-1.0</Path>
        </Files>
    </Package>

    <Package>
        <Name>gdk-pixbuf-docs</Name>
        Reference documents for gdk-pixbuf
        <Files>
            <Path fileType="data">/usr/share/gtk-doc</Path>
        </Files>
    </Package>

    <Package>
        <Name>gdk-pixbuf-32bit</Name>
        <PartOf>emul32</PartOf>
        32-bit shared libraries for gdk-pixbuf
        <BuildType>emul32</BuildType>
        <BuildDependencies>
            <Dependency>tiff-32bit</Dependency>
            <Dependency>libjpeg-turbo-32bit</Dependency>
            <Dependency>glib2-32bit</Dependency>
            <Dependency>libX11-32bit</Dependency>
            <Dependency>libpng-32bit</Dependency>
            <Dependency>jasper-32bit</Dependency>
            <Dependency>libX11-32bit</Dependency>
        </BuildDependencies>
        <RuntimeDependencies>
            <Dependency release="current">gdk-pixbuf</Dependency>
            <Dependency>tiff-32bit</Dependency>
            <Dependency>glib2-32bit</Dependency>
            <Dependency>libpng-32bit</Dependency>
            <Dependency>libX11-32bit</Dependency>
            <Dependency>jasper-32bit</Dependency>
            <Dependency>libjpeg-turbo-32bit</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin/gdk-pixbuf-query-loaders-32</Path>
            <Path fileType="library">/usr/lib32</Path>
        </Files>
        <Provides>
            <COMAR script="pakhandler-32.py">System.PackageHandler</COMAR>
        </Provides>
    </Package>

    <History>
        <Update release="5">
            <Date>2018-01-17</Date>
            <Version>2.36.11</Version>
            <Comment>Version Bump.</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="4">
            <Date>2017-02-06</Date>
            <Version>2.36.4</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.31.4</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-05-25</Date>
            <Version>2.31.4</Version>
            <Comment>Release bump</Comment>
            <Name>Ertuğrul Erata</Name>
            <Email>ertugrulerata@gmail.com</Email>
        </Update>
        <Update release="1">
            <Date>2016-03-25</Date>
            <Version>2.31.4</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>gdk-pixbuf</Name>
        GDK pixbuf kitaplığı
        <Description xml:lang="tr">gdk-pixbuf, gtk+ uygulamalarına resim açma ve ölçeklendirme desteği sağlayan bir kitaplıktır.</Description>
    </Source>

    <Package>
        <Name>gdk-pixbuf-devel</Name>
        gdk-pixbuf için geliştirme dosyaları
    </Package>

    <Package>
        <Name>gdk-pixbuf-docs</Name>
        gdk-pixbuf için başvuru belgeleri
    </Package>

    <Package>
        <Name>gdk-pixbuf-32bit</Name>
        gdk-pixbuf için 32-bit paylaşımlı kitaplıklar
    </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/licences/old-licenses/gpl-2.0.txt

from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools

def setup():
    autotools.configure("--disable-static --disable-scrollkeeper")

def build():
    autotools.make()

def install():
    autotools.install()

    pisitools.dodoc("AUTHORS", "MAINTAINERS", "ChangeLog", "README", "NEWS", "TODO")


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>gtk-doc</Name>
        <Homepage>http://www.gtk.org/gtk-doc</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>GPLv3</License>
        <License>FDL-1.1</License>
        <IsA>app:console</IsA>
        <Summary>GTK+ API documentation generator</Summary>
        <Description>Gtk-Doc is typically used to document the public API of GTK+ and GNOME libraries, but it can also be used to document application code.</Description>
        <Archive sha1sum="4f8ae8921f474601f2f2023fc836fe7ca23cccfd" type="tarxz">mirrors://gnome/gtk-doc/1.27/gtk-doc-1.27.tar.xz</Archive>
        <BuildDependencies>
            <!--<Dependency>rarian</Dependency>-->
            <Dependency>itstool</Dependency>
            <Dependency>openjade</Dependency>
            <Dependency>sgml-common</Dependency>
            <Dependency>docbook-xml</Dependency>
            <Dependency>docbook-xsl</Dependency>
            <Dependency>libxslt-devel</Dependency>
        </BuildDependencies>
    </Source>

    <Package>
        <Name>gtk-doc</Name>
        <RuntimeDependencies>
            <!--<Dependency>rarian</Dependency>-->
            <Dependency>docbook-xml</Dependency>
            <Dependency>sgml-common</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="data">/usr/share</Path>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="doc">/usr/share/doc</Path>
            <Path fileType="doc">/usr/share/omf</Path>
            <Path fileType="data">/var/lib</Path>
        </Files>
    </Package>

    <History>
        <Update release="4">
            <Date>2018-01-09</Date>
            <Version>1.27</Version>
            <Comment>Version Bump</Comment>
            <Name>Mustafa Cinasal</Name>
            <Email>muscnsl@gmail.com</Email>
        </Update>
        <Update release="3">
            <Date>2017-02-06</Date>
            <Version>1.25</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.21</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2015-04-06</Date>
            <Version>1.21</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>gtk-doc</Name>
        <Summary xml:lang="tr">GTK+ API belge oluşturucusu</Summary>
        <Description xml:lang="tr">gtk-doc, GNOME ve GTK+ gibi kitaplıkların API'lerinin belgelendirilmesi için yazılmış bir uygulama projesidir.</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 get
from pisi.actionsapi import shelltools
from pisi.actionsapi import libtools

def setup():
    options = "-with-xinput=yes \
               --enable-man"

    #shelltools.export("CFLAGS", get.CFLAGS().replace("-fomit-frame-pointer",""))
    #gtk2 needs -DGTK_COMPILATION CPPFLAG when compiling itself
    #Avoid "Only <gtk/gtk.h> can be included directly error"
    shelltools.export("CPPFLAGS", "-DGTK_COMPILATION")

    if get.buildTYPE() == "emul32":
        options += " --libdir=/usr/lib32 \
                     --bindir=/usr/bin32 \
                     --sbindir=/usr/sbin32 \
                     --disable-cups"

        shelltools.export("CC", "%s -m32" % get.CC())
        shelltools.export("CXX", "%s -m32" % get.CC())
        shelltools.export("CXXFLAGS", "%s -m32" % get.CFLAGS())
        shelltools.export("LDFLAGS", "%s -m32" % get.LDFLAGS())
        shelltools.export("CPPFLAGS", "-DGTK_COMPILATION")

    autotools.autoconf()
    autotools.configure(options)

    pisitools.dosed("libtool"," -shared ", " -Wl,-O1,--as-needed -shared ")

def build():
    autotools.make()

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

    # remove empty dir
    #pisitools.removeDir("/usr/share/man")

    pisitools.dodoc("AUTHORS", "README*", "HACKING", "ChangeLog*", "NEWS*")

    if get.buildTYPE() == "emul32":
        for binaries in ["gtk-query-immodules-2.0", "gtk-demo"]:
            pisitools.domove("/usr/bin32/%s" % binaries, "/usr/bin/", "%s-32bit" % binaries)
        pisitools.removeDir("/usr/bin32")
        #hack to install gdkconfig.h in gdk headers dir
        pisitools.dosym("/usr/lib/gtk-2.0/include/gdkconfig.h","/usr/include/gtk-2.0/gdk/gdkconfig.h")


code:
#!/usr/bin/python
# -*- coding: utf-8 -*-

import piksemel
import os
import fnmatch

def updateData(filepath):
    parse = piksemel.parse(filepath)

    iconFound = False
    immoduleFound = False

    for icon in parse.tags("File"):
        path = icon.getTagData("Path")
        if path.startswith("usr/share/icons/hicolor") and not iconFound:
            os.system("/usr/bin/gtk-update-icon-cache -f /usr/share/icons/hicolor")
            iconFound = True
            if immoduleFound:
                return

        if fnmatch.fnmatch(path, "usr/lib/gtk-2.0/*immodules/*.so") and not immoduleFound:
            os.system("/usr/bin/gtk-query-immodules-2.0 --update-cache")
            immoduleFound = True
            if iconFound:
                return

        if fnmatch.fnmatch(path, "usr/lib32/gtk-2.0/*immodules/*.so") and not immoduleFound:
            os.system("/usr/bin/gtk-query-immodules-2.0-32bit --update-cache")
            immoduleFound = True
            if iconFound:
                return

def setupPackage(metapath, filepath):
    updateData(filepath)

def cleanupPackage(metapath, filepath):
    pass

def postCleanupPackage(metapath, filepath):
    updateData(filepath)


code:
diff -up gtk+-2.19.7/gtk/gtkstatusicon.c.icon-padding gtk+-2.19.7/gtk/gtkstatusicon.c
--- gtk+-2.19.7/gtk/gtkstatusicon.c.icon-padding	2010-03-08 08:42:22.000000000 -0500
+++ gtk+-2.19.7/gtk/gtkstatusicon.c	2010-03-10 00:40:11.165527903 -0500
@@ -170,6 +170,7 @@ static void     gtk_status_icon_screen_c
 						  GdkScreen      *old_screen);
 static void     gtk_status_icon_embedded_changed (GtkStatusIcon *status_icon);
 static void     gtk_status_icon_orientation_changed (GtkStatusIcon *status_icon);
+static void     gtk_status_icon_padding_changed  (GtkStatusIcon *status_icon);
 static gboolean gtk_status_icon_scroll           (GtkStatusIcon  *status_icon,
 						  GdkEventScroll *event);
 static gboolean gtk_status_icon_query_tooltip    (GtkStatusIcon *status_icon,
@@ -850,6 +851,8 @@ gtk_status_icon_init (GtkStatusIcon *sta
 			    G_CALLBACK (gtk_status_icon_embedded_changed), status_icon);
   g_signal_connect_swapped (priv->tray_icon, "notify::orientation",
 			    G_CALLBACK (gtk_status_icon_orientation_changed), status_icon);
+  g_signal_connect_swapped (priv->tray_icon, "notify::padding",
+			    G_CALLBACK (gtk_status_icon_padding_changed), status_icon);
   g_signal_connect_swapped (priv->tray_icon, "button-press-event",
 			    G_CALLBACK (gtk_status_icon_button_press), status_icon);
   g_signal_connect_swapped (priv->tray_icon, "button-release-event",
@@ -975,6 +978,8 @@ gtk_status_icon_finalize (GObject *objec
   g_signal_handlers_disconnect_by_func (priv->tray_icon,
 			                gtk_status_icon_orientation_changed, status_icon);
   g_signal_handlers_disconnect_by_func (priv->tray_icon,
+			                gtk_status_icon_padding_changed, status_icon);
+  g_signal_handlers_disconnect_by_func (priv->tray_icon,
 			                gtk_status_icon_button_press, status_icon);
   g_signal_handlers_disconnect_by_func (priv->tray_icon,
 			                gtk_status_icon_button_release, status_icon);
@@ -1679,14 +1684,32 @@ gtk_status_icon_screen_changed (GtkStatu
 #ifdef GDK_WINDOWING_X11

 static void
+gtk_status_icon_padding_changed (GtkStatusIcon *status_icon)
+{
+  GtkStatusIconPrivate *priv = status_icon->priv;
+  GtkOrientation orientation;
+  gint padding;
+
+  orientation = _gtk_tray_icon_get_orientation (GTK_TRAY_ICON (priv->tray_icon));
+  padding = _gtk_tray_icon_get_padding (GTK_TRAY_ICON (priv->tray_icon));
+
+  if (orientation == GTK_ORIENTATION_HORIZONTAL)
+    gtk_misc_set_padding (GTK_MISC (priv->image), padding, 0);
+  else
+    gtk_misc_set_padding (GTK_MISC (priv->image), 0, padding);
+}
+
+static void
 gtk_status_icon_embedded_changed (GtkStatusIcon *status_icon)
 {
+  gtk_status_icon_padding_changed (status_icon);
   g_object_notify (G_OBJECT (status_icon), "embedded");
 }

 static void
 gtk_status_icon_orientation_changed (GtkStatusIcon *status_icon)
 {
+  gtk_status_icon_padding_changed (status_icon);
   g_object_notify (G_OBJECT (status_icon), "orientation");
 }

@@ -1804,7 +1827,7 @@ gtk_status_icon_reset_image_data (GtkSta

       g_object_notify (G_OBJECT (status_icon), "stock");
       break;
-
+
     case GTK_IMAGE_ICON_NAME:
       g_free (priv->image_data.icon_name);
       priv->image_data.icon_name = NULL;
diff -up gtk+-2.19.7/gtk/gtktrayicon.h.icon-padding gtk+-2.19.7/gtk/gtktrayicon.h
--- gtk+-2.19.7/gtk/gtktrayicon.h.icon-padding	2009-10-18 01:35:45.000000000 -0400
+++ gtk+-2.19.7/gtk/gtktrayicon.h	2010-03-10 00:40:11.169528392 -0500
@@ -69,7 +69,8 @@ void           _gtk_tray_icon_cancel_mes
 					       guint        id);

 GtkOrientation _gtk_tray_icon_get_orientation (GtkTrayIcon *icon);
-
+gint           _gtk_tray_icon_get_padding     (GtkTrayIcon *icon);
+
 G_END_DECLS

 #endif /* __GTK_TRAY_ICON_H__ */
diff -up gtk+-2.19.7/gtk/gtktrayicon-x11.c.icon-padding gtk+-2.19.7/gtk/gtktrayicon-x11.c
--- gtk+-2.19.7/gtk/gtktrayicon-x11.c.icon-padding	2010-03-08 21:01:28.000000000 -0500
+++ gtk+-2.19.7/gtk/gtktrayicon-x11.c	2010-03-10 00:49:48.229509604 -0500
@@ -43,23 +43,26 @@

 enum {
   PROP_0,
-  PROP_ORIENTATION
+  PROP_ORIENTATION,
+  PROP_PADDING
 };

 struct _GtkTrayIconPrivate
 {
   guint stamp;
-
+
   Atom selection_atom;
   Atom manager_atom;
   Atom system_tray_opcode_atom;
   Atom orientation_atom;
   Atom visual_atom;
+  Atom padding_atom;
   Window manager_window;
   GdkVisual *manager_visual;
   gboolean manager_visual_rgba;

   GtkOrientation orientation;
+  gint padding;
 };

 static void gtk_tray_icon_constructed   (GObject     *object);
@@ -113,6 +116,16 @@ gtk_tray_icon_class_init (GtkTrayIconCla
 						      GTK_ORIENTATION_HORIZONTAL,
 						      GTK_PARAM_READABLE));

+  g_object_class_install_property (gobject_class,
+				   PROP_PADDING,
+				   g_param_spec_int ("padding",
+						     P_("Padding"),
+						     P_("Padding that should be put around icons in the tray"),
+						     0,
+                                                     G_MAXINT,
+                                                     0,
+						     GTK_PARAM_READABLE));
+
   g_type_class_add_private (class, sizeof (GtkTrayIconPrivate));
 }

@@ -124,6 +137,7 @@ gtk_tray_icon_init (GtkTrayIcon *icon)

   icon->priv->stamp = 1;
   icon->priv->orientation = GTK_ORIENTATION_HORIZONTAL;
+  icon->priv->padding = 0;

   gtk_widget_set_app_paintable (GTK_WIDGET (icon), TRUE);
   gtk_widget_add_events (GTK_WIDGET (icon), GDK_PROPERTY_CHANGE_MASK);
@@ -161,6 +175,10 @@ gtk_tray_icon_constructed (GObject *obje
 					 "_NET_SYSTEM_TRAY_VISUAL",
 					 False);

+  icon->priv->padding_atom = XInternAtom (xdisplay,
+					 "_NET_SYSTEM_TRAY_PADDING",
+					 False);
+
   /* Add a root window filter so that we get changes on MANAGER */
   gdk_window_add_filter (root_window,
 			 gtk_tray_icon_manager_filter, icon);
@@ -212,6 +230,9 @@ gtk_tray_icon_get_property (GObject    *
     case PROP_ORIENTATION:
       g_value_set_enum (value, icon->priv->orientation);
       break;
+    case PROP_PADDING:
+      g_value_set_int (value, icon->priv->padding);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -372,9 +393,58 @@ gtk_tray_icon_get_visual_property (GtkTr
     XFree (prop.prop);
 }

+static void
+gtk_tray_icon_get_padding_property (GtkTrayIcon *icon)
+{
+  GdkScreen *screen = gtk_widget_get_screen (GTK_WIDGET (icon));
+  GdkDisplay *display = gdk_screen_get_display (screen);
+  Display *xdisplay = GDK_DISPLAY_XDISPLAY (display);
+
+  Atom type;
+  int format;
+  union {
+	gulong *prop;
+	guchar *prop_ch;
+  } prop = { NULL };
+  gulong nitems;
+  gulong bytes_after;
+  int error, result;
+
+  g_assert (icon->priv->manager_window != None);
+
+  gdk_error_trap_push ();
+  type = None;
+  result = XGetWindowProperty (xdisplay,
+			       icon->priv->manager_window,
+			       icon->priv->padding_atom,
+			       0, G_MAXLONG, FALSE,
+			       XA_CARDINAL,
+			       &type, &format, &nitems,
+			       &bytes_after, &(prop.prop_ch));
+  error = gdk_error_trap_pop ();
+
+  if (!error && result == Success &&
+      type == XA_CARDINAL && nitems == 1 && format == 32)
+    {
+      gint padding;
+
+      padding = prop.prop[0];
+
+      if (icon->priv->padding != padding)
+	{
+	  icon->priv->padding = padding;
+
+	  g_object_notify (G_OBJECT (icon), "padding");
+	}
+    }
+
+  if (type != None)
+    XFree (prop.prop);
+}
+
 static GdkFilterReturn
-gtk_tray_icon_manager_filter (GdkXEvent *xevent,
-			      GdkEvent  *event,
+gtk_tray_icon_manager_filter (GdkXEvent *xevent,
+			      GdkEvent  *event,
 			      gpointer   user_data)
 {
   GtkTrayIcon *icon = user_data;
@@ -399,6 +469,11 @@ gtk_tray_icon_manager_filter (GdkXEvent

 	  gtk_tray_icon_get_orientation_property (icon);
 	}
+      else if (xev->xany.type == PropertyNotify &&
+               xev->xproperty.atom == icon->priv->padding_atom)
+        {
+          gtk_tray_icon_get_padding_property (icon);
+        }
       else if (xev->xany.type == DestroyNotify)
 	{
           GTK_NOTE (PLUGSOCKET,
@@ -504,6 +579,7 @@ gtk_tray_icon_update_manager_window (Gtk

       gtk_tray_icon_get_orientation_property (icon);
       gtk_tray_icon_get_visual_property (icon);
+      gtk_tray_icon_get_padding_property (icon);

       if (gtk_widget_get_realized (GTK_WIDGET (icon)))
 	{
@@ -740,6 +816,14 @@ _gtk_tray_icon_get_orientation (GtkTrayI
   return icon->priv->orientation;
 }

+gint
+_gtk_tray_icon_get_padding (GtkTrayIcon *icon)
+{
+  g_return_val_if_fail (GTK_IS_TRAY_ICON (icon), 0);
+
+  return icon->priv->padding;
+}
+

 #define __GTK_TRAY_ICON_X11_C__
 #include "gtkaliasdef.c"


code:
diff -up gtk+-2.18.2/gtk/gtk-builder-convert.system-python gtk+-2.18.2/gtk/gtk-builder-convert
--- gtk+-2.18.2/gtk/gtk-builder-convert.system-python	2009-10-13 15:59:50.423385098 -0400
+++ gtk+-2.18.2/gtk/gtk-builder-convert	2009-10-13 16:00:31.876142050 -0400
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python
 #
 # Copyright (C) 2006-2008 Async Open Source
 #                         Henrique Romano <henrique@async.com.br>


code:
diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c
index 5cc2334..204a2b6 100644
--- a/gtk/gtktooltip.c
+++ b/gtk/gtktooltip.c
@@ -903,53 +903,128 @@ gtk_tooltip_position (GtkTooltip *tooltip,
 {
   gint x, y;
   GdkScreen *screen;
+  gint monitor_num;
+  GdkRectangle monitor;
+  GtkRequisition requisition;
+  guint cursor_size;
+  GdkRectangle bounds;
+
+#define MAX_DISTANCE 32

   tooltip->tooltip_widget = new_tooltip_widget;

+  screen = gtk_widget_get_screen (new_tooltip_widget);
+
+  gtk_widget_size_request (GTK_WIDGET (tooltip->current_window), &requisition);
+
+  monitor_num = gdk_screen_get_monitor_at_point (screen,
+                                                 tooltip->last_x,
+                                                 tooltip->last_y);
+  gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor);
+
+  get_bounding_box (new_tooltip_widget, &bounds);
+
   /* Position the tooltip */
-  /* FIXME: should we swap this when RTL is enabled? */
-  if (tooltip->keyboard_mode_enabled)
+
+  cursor_size = gdk_display_get_default_cursor_size (display);
+
+  /* Try below */
+  x = bounds.x + bounds.width / 2 - requisition.width / 2;
+  y = bounds.y + bounds.height + 4;
+
+  if (y + requisition.height <= monitor.y + monitor.height)
     {
-      GdkRectangle bounds;
+      if (tooltip->keyboard_mode_enabled)
+        goto found;

-      get_bounding_box (new_tooltip_widget, &bounds);
+      if (y <= tooltip->last_y + cursor_size + MAX_DISTANCE)
+        {
+          if (tooltip->last_x + cursor_size + MAX_DISTANCE < x)
+            x = tooltip->last_x + cursor_size + MAX_DISTANCE;
+          else if (x + requisition.width < tooltip->last_x - MAX_DISTANCE)
+            x = tooltip->last_x - MAX_DISTANCE - requisition.width;

-      /* For keyboard mode we position the tooltip below the widget,
-       * right of the center of the widget.
-       */
-      x = bounds.x + bounds.width / 2;
-      y = bounds.y + bounds.height + 4;
+          goto found;
+        }
+   }
+
+  /* Try above */
+  x = bounds.x + bounds.width / 2 - requisition.width / 2;
+  y = bounds.y - requisition.height - 4;
+
+  if (y >= monitor.y)
+    {
+      if (tooltip->keyboard_mode_enabled)
+        goto found;
+
+      if (y + requisition.height >= tooltip->last_y - MAX_DISTANCE)
+        {
+          if (tooltip->last_x + cursor_size + MAX_DISTANCE < x)
+            x = tooltip->last_x + cursor_size + MAX_DISTANCE;
+          else if (x + requisition.width < tooltip->last_x - MAX_DISTANCE)
+            x = tooltip->last_x - MAX_DISTANCE - requisition.width;
+
+          goto found;
+        }
     }
-  else
+
+  /* Try right FIXME: flip on rtl ? */
+  x = bounds.x + bounds.width + 4;
+  y = bounds.y + bounds.height / 2 - requisition.height / 2;
+
+  if (x + requisition.width <= monitor.x + monitor.width)
     {
-      guint cursor_size;
+      if (tooltip->keyboard_mode_enabled)
+        goto found;

-      x = tooltip->last_x;
-      y = tooltip->last_y;
+      if (x <= tooltip->last_x + cursor_size + MAX_DISTANCE)
+        {
+          if (tooltip->last_y + cursor_size + MAX_DISTANCE < y)
+            y = tooltip->last_y + cursor_size + MAX_DISTANCE;
+          else if (y + requisition.height < tooltip->last_y - MAX_DISTANCE)
+            y = tooltip->last_y - MAX_DISTANCE - requisition.height;

-      /* For mouse mode, we position the tooltip right of the cursor,
-       * a little below the cursor's center.
-       */
-      cursor_size = gdk_display_get_default_cursor_size (display);
-      x += cursor_size / 2;
-      y += cursor_size / 2;
+          goto found;
+        }
     }

-  screen = gtk_widget_get_screen (new_tooltip_widget);
+  /* Try left FIXME: flip on rtl ? */
+  x = bounds.x - requisition.width - 4;
+  y = bounds.y + bounds.height / 2 - requisition.height / 2;

-  /* Show it */
-  if (tooltip->current_window)
+  if (x >= monitor.x)
     {
-      gint monitor_num;
-      GdkRectangle monitor;
-      GtkRequisition requisition;
+      if (tooltip->keyboard_mode_enabled)
+        goto found;

-      gtk_widget_size_request (GTK_WIDGET (tooltip->current_window),
-                               &requisition);
+      if (x + requisition.width >= tooltip->last_x - MAX_DISTANCE)
+        {
+          if (tooltip->last_y + cursor_size + MAX_DISTANCE < y)
+            y = tooltip->last_y + cursor_size + MAX_DISTANCE;
+          else if (y + requisition.height < tooltip->last_y - MAX_DISTANCE)
+            y = tooltip->last_y - MAX_DISTANCE - requisition.height;

-      monitor_num = gdk_screen_get_monitor_at_point (screen, x, y);
-      gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor);
+          goto found;
+        }
+    }

+   /* Fallback */
+  if (tooltip->keyboard_mode_enabled)
+    {
+      x = bounds.x + bounds.width / 2 - requisition.width / 2;
+      y = bounds.y + bounds.height + 4;
+    }
+  else
+    {
+      /* At cursor */
+      x = tooltip->last_x + cursor_size * 3 / 4;
+      y = tooltip->last_y + cursor_size * 3 / 4;
+    }
+
+found:
+  /* Show it */
+  if (tooltip->current_window)
+    {
       if (x + requisition.width > monitor.x + monitor.width)
         x -= x - (monitor.x + monitor.width) + requisition.width;
       else if (x < monitor.x)
@@ -957,7 +1032,9 @@ gtk_tooltip_position (GtkTooltip *tooltip,

       if (y + requisition.height > monitor.y + monitor.height)
         y -= y - (monitor.y + monitor.height) + requisition.height;
-
+      else if (y < monitor.y)
+        y = monitor.y;
+
       if (!tooltip->keyboard_mode_enabled)
         {
           /* don't pop up under the pointer */
@@ -965,7 +1042,7 @@ gtk_tooltip_position (GtkTooltip *tooltip,
               y <= tooltip->last_y && tooltip->last_y < y + requisition.height)
             y = tooltip->last_y - requisition.height - 2;
         }
-
+
       gtk_window_move (GTK_WINDOW (tooltip->current_window), x, y);
       gtk_widget_show (GTK_WIDGET (tooltip->current_window));
     }


code:
diff -up gtk+-2.24.7/gtk/gtkmenushell.c.window-dragging gtk+-2.24.7/gtk/gtkmenushell.c
--- gtk+-2.24.7/gtk/gtkmenushell.c.window-dragging	2011-08-15 22:30:52.000000000 -0400
+++ gtk+-2.24.7/gtk/gtkmenushell.c	2011-10-17 19:50:52.180468086 -0400
@@ -589,18 +589,45 @@ gtk_menu_shell_button_press (GtkWidget

   if (!menu_shell->active || !menu_shell->button)
     {
-      _gtk_menu_shell_activate (menu_shell);
+      gboolean initially_active = menu_shell->active;

       menu_shell->button = event->button;

-      if (menu_item && _gtk_menu_item_is_selectable (menu_item) &&
-	  menu_item->parent == widget &&
-          menu_item != menu_shell->active_menu_item)
+      if (menu_item)
         {
-          if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement == GTK_TOP_BOTTOM)
+          if (_gtk_menu_item_is_selectable (menu_item) &&
+              menu_item->parent == widget &&
+              menu_item != menu_shell->active_menu_item)
             {
-              menu_shell->activate_time = event->time;
-              gtk_menu_shell_select_item (menu_shell, menu_item);
+              _gtk_menu_shell_activate (menu_shell);
+              menu_shell->button = event->button;
+
+              if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement == GTK_TOP_BOTTOM)
+                {
+                  menu_shell->activate_time = event->time;
+                  gtk_menu_shell_select_item (menu_shell, menu_item);
+                }
+            }
+        }
+      else
+        {
+          if (!initially_active)
+            {
+              gboolean window_drag = FALSE;
+
+              gtk_widget_style_get (widget,
+                                    "window-dragging", &window_drag,
+                                    NULL);
+
+              if (window_drag)
+                {
+                  gtk_menu_shell_deactivate (menu_shell);
+                  gtk_window_begin_move_drag (GTK_WINDOW (gtk_widget_get_toplevel (widget)),
+                                              event->button,
+                                              event->x_root,
+                                              event->y_root,
+                                              event->time);
+                }
             }
         }
     }
diff -up gtk+-2.24.7/gtk/gtktoolbar.c.window-dragging gtk+-2.24.7/gtk/gtktoolbar.c
--- gtk+-2.24.7/gtk/gtktoolbar.c.window-dragging	2011-10-01 11:29:06.000000000 -0400
+++ gtk+-2.24.7/gtk/gtktoolbar.c	2011-10-17 19:52:56.104463657 -0400
@@ -2701,6 +2701,8 @@ static gboolean
 gtk_toolbar_button_press (GtkWidget      *toolbar,
     			  GdkEventButton *event)
 {
+  GtkWidget *window;
+
   if (_gtk_button_event_triggers_context_menu (event))
     {
       gboolean return_value;
@@ -2711,7 +2713,29 @@ gtk_toolbar_button_press (GtkWidget

       return return_value;
     }
-
+
+  window = gtk_widget_get_toplevel (toolbar);
+
+  if (window)
+    {
+      gboolean window_drag = FALSE;
+
+      gtk_widget_style_get (toolbar,
+                            "window-dragging", &window_drag,
+                            NULL);
+
+      if (window_drag)
+        {
+          gtk_window_begin_move_drag (GTK_WINDOW (window),
+                                      event->button,
+                                      event->x_root,
+                                      event->y_root,
+                                      event->time);
+
+          return TRUE;
+        }
+    }
+
   return FALSE;
 }

diff -up gtk+-2.24.7/gtk/gtkwidget.c.window-dragging gtk+-2.24.7/gtk/gtkwidget.c
--- gtk+-2.24.7/gtk/gtkwidget.c.window-dragging	2011-10-17 19:50:52.175468086 -0400
+++ gtk+-2.24.7/gtk/gtkwidget.c	2011-10-17 19:50:52.184468086 -0400
@@ -2467,6 +2467,13 @@ gtk_widget_class_init (GtkWidgetClass *k
 							       0.0, 1.0, 0.04,
 							       GTK_PARAM_READABLE));

+  gtk_widget_class_install_style_property (klass,
+                                           g_param_spec_boolean ("window-dragging",
+                                                                 P_("Window dragging"),
+                                                                 P_("Window dragging"),
+                                                                 FALSE,
+                                                                 GTK_PARAM_READWRITE));
+
   /**
    * GtkWidget:draw-border:
    *


code:
gtk-icon-theme-name = "Adwaita"
gtk-theme-name = "Adwaita"
gtk-font-name = "DejaVuSans 10"


code:
Index: gtk+-2.16.5/gdk/x11/gdkxid.c
===================================================================
--- gtk+-2.16.5.orig/gdk/x11/gdkxid.c
+++ gtk+-2.16.5/gdk/x11/gdkxid.c
@@ -57,8 +57,10 @@ _gdk_xid_table_insert (GdkDisplay *displ
     display_x11->xid_ht = g_hash_table_new ((GHashFunc) gdk_xid_hash,
                                            (GEqualFunc) gdk_xid_equal);

+  /*
   if (g_hash_table_lookup (display_x11->xid_ht, xid))
     g_warning ("XID collision, trouble ahead");
+    */

   g_hash_table_insert (display_x11->xid_ht, xid, data);
 }


code:
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>gtk2</Name>
        <Homepage>http://www.gtk.org</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>LGPLv2.1</License>
        The GIMP Toolkit version 2
        <Description>GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites.</Description>
        <Archive sha1sum="c3d828135994a52cc9428a60175bd2b294656611" type="tarxz">mirrors://gnome/gtk+/2.24/gtk+-2.24.31.tar.xz</Archive>
        <BuildDependencies>
            <Dependency>cups-devel</Dependency>
            <Dependency>libXi-devel</Dependency>
            <Dependency>docbook-xsl</Dependency>
            <Dependency>cairo-devel</Dependency>
            <Dependency>libXext-devel</Dependency>
            <Dependency>libXrandr-devel</Dependency>
            <Dependency>libXfixes-devel</Dependency>
            <Dependency>libXrender-devel</Dependency>
            <Dependency>libXdamage-devel</Dependency>
            <Dependency>libXcursor-devel</Dependency>
            <Dependency>fontconfig-devel</Dependency>
            <Dependency>libXinerama-devel</Dependency>
            <Dependency>libXcomposite-devel</Dependency>
            <Dependency>atk-devel</Dependency>
            <Dependency>pango-devel</Dependency>
            <Dependency>graphite2-devel</Dependency>
            <Dependency>gdk-pixbuf-devel</Dependency>
            <Dependency>gtk-doc</Dependency>
            <Dependency>gobject-introspection-devel</Dependency>
        </BuildDependencies>
        <Patches>

            <Patch level="1">xid-collision-debug.patch</Patch>

            <Patch level="1">fedora/system-python.patch</Patch>
            <Patch level="1">fedora/icon-padding.patch</Patch>
            <Patch level="1">fedora/tooltip-positioning.patch</Patch>
            <Patch level="1">fedora/window-dragging.patch</Patch>
        </Patches>
    </Source>

    <Package>
        <Name>gtk2</Name>
        <RuntimeDependencies>
            <Dependency>libXi</Dependency>
            <Dependency>cairo</Dependency>
            <Dependency>libXext</Dependency>
            <Dependency>libXrandr</Dependency>
            <Dependency>libXfixes</Dependency>
            <Dependency>libXrender</Dependency>
            <Dependency>libXdamage</Dependency>
            <Dependency>libXcursor</Dependency>
            <Dependency>fontconfig</Dependency>
            <Dependency>libXinerama</Dependency>
            <Dependency>libXcomposite</Dependency>
            <Dependency>glib2</Dependency>
            <Dependency>libX11</Dependency>
            <Dependency>atk</Dependency>
            <Dependency>pango</Dependency>
            <Dependency>gdk-pixbuf</Dependency>
            <Dependency>dejavu-fonts</Dependency>

        </RuntimeDependencies>
        <Files>
            <Path fileType="config">/etc</Path>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="data">/usr/share/themes</Path>
            <Path fileType="data">/usr/share/gtk-2.0</Path>
            <Path fileType="man">/usr/share/man</Path>
            <Path fileType="doc">/usr/share/doc</Path>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="localedata">/usr/share/locale</Path>
        </Files>

        <AdditionalFiles>
            <AdditionalFile owner="root" permission="0644" target="/usr/share/gtk-2.0/gtkrc">gtkrc</AdditionalFile>
        </AdditionalFiles>
        <Provides>
            <COMAR script="pakhandler.py">System.PackageHandler</COMAR>
        </Provides>
    </Package>

    <Package>
        <Name>gtk2-demo</Name>
        <IsA>app:gui</IsA>
        GTK demo application
        <RuntimeDependencies>
            <Dependency release="current">gtk2</Dependency>
            <Dependency>cairo</Dependency>
            <Dependency>pango</Dependency>
            <Dependency>gdk-pixbuf</Dependency>
            <Dependency>glib2</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin/gtk-demo</Path>
            <Path fileType="data">/usr/share/gtk-2.0/demo</Path>
        </Files>
    </Package>

    <Package>
        <Name>gtk2-docs</Name>
        <IsA>data:doc</IsA>
        GTK reference documents
        <Files>
            <Path fileType="data">/usr/share/gtk-doc</Path>
        </Files>
    </Package>

    <Package>
        <Name>gtk2-devel</Name>
        Development files for gtk2
        <RuntimeDependencies>
            <Dependency release="current">gtk2</Dependency>
            <Dependency>atk-devel</Dependency>
            <Dependency>pango-devel</Dependency>
            <Dependency>cairo-devel</Dependency>
            <Dependency>gdk-pixbuf-devel</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="header">/usr/include</Path>
            <Path fileType="library">/usr/lib/pkgconfig</Path>
            <Path fileType="library">/usr/lib32/pkgconfig</Path>
            <Path fileType="data">/usr/share/aclocal</Path>
            <Path fileType="data">/usr/share/gir-1.0</Path>
        </Files>
    </Package>

    <Package>
        <Name>gtk2-32bit</Name>
        <PartOf>emul32</PartOf>
        32-bit shared libraries for gtk2
        <BuildType>emul32</BuildType>
        <BuildDependencies>
            <Dependency>cairo-32bit</Dependency>
            <Dependency>cups-32bit</Dependency>
            <Dependency>fontconfig-32bit</Dependency>
            <Dependency>pango-32bit</Dependency>
            <Dependency>glib2-32bit</Dependency>
            <Dependency>atk-32bit</Dependency>
            <Dependency>libX11-32bit</Dependency>
            <Dependency>gdk-pixbuf-32bit</Dependency>
            <Dependency>libXcomposite-32bit</Dependency>
            <Dependency>libXcursor-32bit</Dependency>
            <Dependency>libXdamage-32bit</Dependency>
            <Dependency>libXext-32bit</Dependency>
            <Dependency>libXfixes-32bit</Dependency>
            <Dependency>libXi-32bit</Dependency>
            <Dependency>libXinerama-32bit</Dependency>
            <Dependency>libXrandr-32bit</Dependency>
            <Dependency>libXrender-32bit</Dependency>
        </BuildDependencies>
        <RuntimeDependencies>
            <Dependency release="current">gtk2</Dependency>
            <Dependency>cairo-32bit</Dependency>
            <Dependency>pango-32bit</Dependency>
            <Dependency>glib2-32bit</Dependency>
            <Dependency>atk-32bit</Dependency>
            <Dependency>libX11-32bit</Dependency>
            <Dependency>cups-32bit</Dependency>
            <Dependency>fontconfig-32bit</Dependency>
            <Dependency>gdk-pixbuf-32bit</Dependency>
            <Dependency>libXcomposite-32bit</Dependency>
            <Dependency>libXcursor-32bit</Dependency>
            <Dependency>libXdamage-32bit</Dependency>
            <Dependency>libXext-32bit</Dependency>
            <Dependency>libXfixes-32bit</Dependency>
            <Dependency>libXi-32bit</Dependency>
            <Dependency>libXinerama-32bit</Dependency>
            <Dependency>libXrandr-32bit</Dependency>
            <Dependency>libXrender-32bit</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin/*-32bit</Path>
            <Path fileType="library">/usr/lib32</Path>
        </Files>
    </Package>

    <History>
        <Update release="5">
            <Date>2017-05-08</Date>
            <Version>2.24.31</Version>
            <Comment>Rebuild</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="4">
            <Date>2017-05-01</Date>
            <Version>2.24.31</Version>
            <Comment>Version Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2016-08-19</Date>
            <Version>2.24.28</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-05-25</Date>
            <Version>2.24.28</Version>
            <Comment>Release bump</Comment>
            <Name>Ertuğrul Erata</Name>
            <Email>ertugrulerata@gmail.com</Email>
        </Update>
        <Update release="1">
            <Date>2015-07-05</Date>
            <Version>2.24.28</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>gtk2</Name>
        GTK grafik arayüz kitaplığı versiyon 2
        <Description xml:lang="tr">GTK+, grafik kullanıcı arayüzü oluşturma amaçlı araçlardan oluşur. GTK+ hem küçük, hem de büyük uygulamalar için ideal olan, eksiksiz bir araçtır.</Description>
        <Description xml:lang="fr">GTK+ est une boîte à outil multi-plateforme servant à créer des interfaces graphiques. Offrant un ensemble complet de widgets (objets graphiques), GTK+ convient aussi bien pour les petits projets que pour les suites complètes d'applications.</Description>
    </Source>

    <Package>
        <Name>gtk2-demo</Name>
        GTK demo uyulaması
    </Package>

    <Package>
        <Name>gtk2-docs</Name>
        GTK referans dökümanları
    </Package>

    <Package>
        <Name>gtk2-devel</Name>
        gtk2 için geliştirme dosyaları
    </Package>

    <Package>
        <Name>gtk2-32bit</Name>
        gtk2 için 32-bit paylaşımlı kitaplıklar
    </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 get
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import shelltools

def setup():
    options = "--prefix=/usr             \
               --sysconfdir=/etc         \
               --enable-x11-backend \
               --enable-broadway-backend \
               --disable-wayland-backend \
              "

    shelltools.export("CFLAGS", get.CFLAGS().replace("-fomit-frame-pointer",""))

    if get.buildTYPE() == "emul32":
        options += " --libdir=/usr/lib32 \
                     --bindir=/usr/bin32 \
                     --sbindir=/usr/sbin32 \
                     --enable-colord=no \
                   "

        shelltools.export("CC", "%s -m32" % get.CC())
        shelltools.export("CXX", "%s -m32" % get.CC())
        shelltools.export("CFLAGS", "%s -m32" % get.CFLAGS().replace("-fomit-frame-pointer",""))
        shelltools.export("CXXFLAGS", "%s -m32" % get.CFLAGS())
        shelltools.export("LDFLAGS", "%s -m32" % get.LDFLAGS())
        shelltools.export("PKG_CONFIG_PATH", "/usr/lib32/pkgconfig")

        pisitools.dosed("configure.ac", "cups-config", "cups-config-32bit")

    autotools.autoreconf("-fiv")
    autotools.configure(options)

    pisitools.dosed("libtool", "( -shared )", r" -Wl,-O1,--as-needed\1")

def build():
    autotools.make()

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

    # remove empty dir
    pisitools.removeDir("/usr/share/man")
    pisitools.dodoc("AUTHORS", "README*", "HACKING", "ChangeLog*", "NEWS*")

    if get.buildTYPE() == "emul32":
        for binaries in ["gtk-query-immodules-3.0"]:
            pisitools.domove("/usr/bin/%s" % binaries, "/usr/bin/", "%s-32bit" % binaries)
        pisitools.removeDir("/usr/bin32")
    pisitools.rename("/usr/bin/gtk-update-icon-cache", "gtk3-update-icon-cache")


code:
#!/usr/bin/python
# -*- coding: utf-8 -*-

import piksemel
import os
import fnmatch

def updateData(filepath):
    parse = piksemel.parse(filepath)

    iconFound = False
    immoduleFound = False

    for icon in parse.tags("File"):
        path = icon.getTagData("Path")
        if path.startswith("usr/share/icons/hicolor") and not iconFound:
            os.system("/usr/bin/gtk-update-icon-cache -f /usr/share/icons/hicolor")
            iconFound = True
            if immoduleFound:
                return

        if fnmatch.fnmatch(path, "usr/lib/gtk-3.0/*immodules/*.so") and not immoduleFound:
            os.system("/usr/bin/gtk-query-immodules-3.0 --update-cache")
            immoduleFound = True
            if iconFound:
                return

        if fnmatch.fnmatch(path, "usr/lib32/gtk-3.0/*immodules/*.so") and not immoduleFound:
            os.system("/usr/bin/gtk-query-immodules-3.0-32bit --update-cache")
            immoduleFound = True
            if iconFound:
                return

def setupPackage(metapath, filepath):
    updateData(filepath)

def cleanupPackage(metapath, filepath):
    pass

def postCleanupPackage(metapath, filepath):
    updateData(filepath)


code:
From 4c220ef6650afeba334570ad00db0a95c9ba38e6 Mon Sep 17 00:00:00 2001
From: Michael Biebl <biebl@debian.org>
Date: Tue, 17 Apr 2012 13:29:09 +0200
Subject: [PATCH] Fix installation of HTML images for absolute paths

when using out-of-tree builds.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=674163
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=656803
---
 gtk-doc.make |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: gtk+-3.6.4/gtk-doc.make
===================================================================
--- gtk+-3.6.4.orig/gtk-doc.make	2013-01-10 16:03:56.697595578 +1300
+++ gtk+-3.6.4/gtk-doc.make	2013-01-10 16:03:56.693595578 +1300
@@ -173,8 +173,8 @@
 	  if test -f $(abs_srcdir)/$$file ; then \
 	    cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
 	  fi; \
-	  if test -f $(abs_builddir)/$$file ; then \
-	    cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+	  if test -f $$file ; then \
+	    cp $$file $(abs_builddir)/html; \
 	  fi; \
 	done;
 	$(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)


code:
Description: "ubuntu-almost-fixed-height" private property to speed-up software-center
Bug: https://bugzilla.gnome.org/607447
Bug-Ubuntu: https://launchpad.net/bugs/514879

=== modified file 'gtk/gtktreeview.c'
Index: gtk+-3.6.4/gtk/gtktreeview.c
===================================================================
--- gtk+-3.6.4.orig/gtk/gtktreeview.c	2013-01-10 16:03:58.421595565 +1300
+++ gtk+-3.6.4/gtk/gtktreeview.c	2013-01-10 16:03:58.417595565 +1300
@@ -462,6 +462,7 @@

   guint fixed_height_mode : 1;
   guint fixed_height_check : 1;
+  guint ubuntu_almost_fixed_height_mode : 1;

   guint reorderable : 1;
   guint header_has_focus : 1;
@@ -552,6 +553,7 @@
   PROP_ENABLE_SEARCH,
   PROP_SEARCH_COLUMN,
   PROP_FIXED_HEIGHT_MODE,
+  PROP_UBUNTU_ALMOST_FIXED_HEIGHT_MODE,
   PROP_HOVER_SELECTION,
   PROP_HOVER_EXPAND,
   PROP_SHOW_EXPANDERS,
@@ -1075,6 +1077,15 @@
                                                            P_("Speeds up GtkTreeView by assuming that all rows have the same height"),
                                                            FALSE,
                                                            GTK_PARAM_READWRITE));
+
+    /* Private ubuntu extension to fix bugzilla bug #607447 */
+    g_object_class_install_property (o_class,
+                                     PROP_UBUNTU_ALMOST_FIXED_HEIGHT_MODE,
+                                     g_param_spec_boolean ("ubuntu-almost-fixed-height-mode",
+                                                           "Private Ubuntu extension",
+							   "Private Ubuntu extension",
+                                                           FALSE,
+                                                           GTK_PARAM_READWRITE));

     /**
      * GtkTreeView:hover-selection:
@@ -1736,6 +1747,7 @@
   tree_view->priv->fixed_height = -1;
   tree_view->priv->fixed_height_mode = FALSE;
   tree_view->priv->fixed_height_check = 0;
+  tree_view->priv->ubuntu_almost_fixed_height_mode = FALSE;
   tree_view->priv->selection = _gtk_tree_selection_new_with_tree_view (tree_view);
   tree_view->priv->enable_search = TRUE;
   tree_view->priv->search_column = -1;
@@ -1828,6 +1840,9 @@
     case PROP_FIXED_HEIGHT_MODE:
       gtk_tree_view_set_fixed_height_mode (tree_view, g_value_get_boolean (value));
       break;
+    case PROP_UBUNTU_ALMOST_FIXED_HEIGHT_MODE:
+      tree_view->priv->ubuntu_almost_fixed_height_mode = g_value_get_boolean (value);
+      break;
     case PROP_HOVER_SELECTION:
       tree_view->priv->hover_selection = g_value_get_boolean (value);
       break;
@@ -8740,7 +8755,15 @@

   _gtk_tree_view_accessible_changed (tree_view, tree, node);

-  if (tree_view->priv->fixed_height_mode
+  if (tree_view->priv->ubuntu_almost_fixed_height_mode
+      && tree_view->priv->fixed_height >= 0)
+    {
+      _gtk_rbtree_node_mark_invalid (tree, node);
+      validate_visible_area (tree_view);
+      if (gtk_widget_get_realized (GTK_WIDGET (tree_view)))
+	gtk_tree_view_node_queue_redraw (tree_view, tree, node);
+    }
+  else if (tree_view->priv->fixed_height_mode
       && tree_view->priv->fixed_height >= 0)
     {
       _gtk_rbtree_node_set_height (tree, node, tree_view->priv->fixed_height);


code:
[Settings]
gtk-icon-theme-name = Adwaita
gtk-theme-name = Adwaita
gtk-font-name = DejaVuSans 10