diff --git a/desktop/font/fontconfig/actions.py b/desktop/font/fontconfig/actions.py new file mode 100644 index 0000000000..dcdcfdc1d9 --- /dev/null +++ b/desktop/font/fontconfig/actions.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import libtools +from pisi.actionsapi import get + +def setup(): + # Do not rebuild docs + shelltools.export("HASDOCBOOK", "no") + + libtools.libtoolize("-f") + autotools.autoreconf("-fi") + autotools.configure("--disable-static \ + --disable-docs \ + --with-cache-dir=/var/cache/fontconfig \ + --with-default-fonts=/usr/share/fonts \ + --with-add-fonts=/usr/local/share/fonts") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + if get.buildTYPE() == "emul32": return + + pisitools.insinto("/etc/fonts", "fonts.conf", "fonts.conf.new") + + enabled_configs = ("10-sub-pixel-rgb.conf", "70-yes-bitmaps.conf") + disabled_configs = ("10-no-sub-pixel.conf",) + + for cfg in enabled_configs: + pisitools.dosym("../conf.avail/%s" % cfg, "/etc/fonts/conf.d/%s" % cfg) + + for cfg in disabled_configs: + pisitools.remove("/usr/share/fontconfig/conf.avail/%s" % cfg) + + for i in ["fc-cat", "fc-list", "fc-match", "fc-cache"]: + pisitools.doman("%s/*.1" % i) + + pisitools.doman("doc/*.3") + + pisitools.dodoc("AUTHORS", "COPYING", "README", "doc/*.txt") diff --git a/desktop/font/fontconfig/comar/package.py b/desktop/font/fontconfig/comar/package.py new file mode 100644 index 0000000000..04bb674866 --- /dev/null +++ b/desktop/font/fontconfig/comar/package.py @@ -0,0 +1,6 @@ +#!/usr/bin/python + +import os + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + os.spawnle(os.P_WAIT, "/usr/bin/fc-cache", "/usr/bin/fc-cache", "-r", { "HOME": "/root/" }) diff --git a/desktop/font/fontconfig/comar/pakhandler.py b/desktop/font/fontconfig/comar/pakhandler.py new file mode 100644 index 0000000000..7ab387e052 --- /dev/null +++ b/desktop/font/fontconfig/comar/pakhandler.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- + +import piksemel +import subprocess + +def updateCache(filepath): + doc = piksemel.parse(filepath) + for item in doc.tags("File"): + path = item.getTagData("Path") + if path.startswith("usr/share/fonts"): + subprocess.call(["/usr/bin/fc-cache"]) + return + +def setupPackage(metapath, filepath): + updateCache(filepath) + +def cleanupPackage(metapath, filepath): + pass + +def postCleanupPackage(metapath, filepath): + updateCache(filepath) diff --git a/desktop/font/fontconfig/files/add_hinting_and_antialiasing_to_proper_fonts.patch b/desktop/font/fontconfig/files/add_hinting_and_antialiasing_to_proper_fonts.patch new file mode 100644 index 0000000000..b536421f7d --- /dev/null +++ b/desktop/font/fontconfig/files/add_hinting_and_antialiasing_to_proper_fonts.patch @@ -0,0 +1,60 @@ +diff -Nur fontconfig-2.6.0-old/conf.d/10-antialias.conf fontconfig-2.6.0/conf.d/10-antialias.conf +--- fontconfig-2.6.0-old/conf.d/10-antialias.conf 1970-01-01 02:00:00.000000000 +0200 ++++ fontconfig-2.6.0/conf.d/10-antialias.conf 2008-09-22 11:09:45.000000000 +0300 +@@ -0,0 +1,8 @@ ++ ++ ++ ++ ++ ++ true ++ ++ +diff -Nur fontconfig-2.6.0-old/conf.d/10-hinting.conf fontconfig-2.6.0/conf.d/10-hinting.conf +--- fontconfig-2.6.0-old/conf.d/10-hinting.conf 1970-01-01 02:00:00.000000000 +0200 ++++ fontconfig-2.6.0/conf.d/10-hinting.conf 2008-09-22 11:09:45.000000000 +0300 +@@ -0,0 +1,8 @@ ++ ++ ++ ++ ++ ++ true ++ ++ +diff -Nur fontconfig-2.6.0-old/conf.d/10-hinting-full.conf fontconfig-2.6.0/conf.d/10-hinting-full.conf +--- fontconfig-2.6.0-old/conf.d/10-hinting-full.conf 1970-01-01 02:00:00.000000000 +0200 ++++ fontconfig-2.6.0/conf.d/10-hinting-full.conf 2008-09-22 11:09:45.000000000 +0300 +@@ -0,0 +1,8 @@ ++ ++ ++ ++ ++ ++ hintfull ++ ++ +diff -Nur fontconfig-2.6.0-old/conf.d/10-hinting-medium.conf fontconfig-2.6.0/conf.d/10-hinting-medium.conf +--- fontconfig-2.6.0-old/conf.d/10-hinting-medium.conf 1970-01-01 02:00:00.000000000 +0200 ++++ fontconfig-2.6.0/conf.d/10-hinting-medium.conf 2008-09-22 11:09:45.000000000 +0300 +@@ -0,0 +1,8 @@ ++ ++ ++ ++ ++ ++ hintmedium ++ ++ +diff -Nur fontconfig-2.6.0-old/conf.d/10-hinting-slight.conf fontconfig-2.6.0/conf.d/10-hinting-slight.conf +--- fontconfig-2.6.0-old/conf.d/10-hinting-slight.conf 1970-01-01 02:00:00.000000000 +0200 ++++ fontconfig-2.6.0/conf.d/10-hinting-slight.conf 2008-09-22 11:09:45.000000000 +0300 +@@ -0,0 +1,8 @@ ++ ++ ++ ++ ++ ++ hintslight ++ ++ diff --git a/desktop/font/fontconfig/files/anymetrics_urw.patch b/desktop/font/fontconfig/files/anymetrics_urw.patch new file mode 100644 index 0000000000..96cee28536 --- /dev/null +++ b/desktop/font/fontconfig/files/anymetrics_urw.patch @@ -0,0 +1,128 @@ +Index: fontconfig-2.8.0/conf.d/30-urw-aliases.conf +=================================================================== +--- fontconfig-2.8.0.orig/conf.d/30-urw-aliases.conf ++++ fontconfig-2.8.0/conf.d/30-urw-aliases.conf +@@ -5,6 +5,13 @@ + URW provides metric and shape compatible fonts for some Adobe families. + Helvetica, Courier, and Times are handled in 30-metric-aliases.conf. + --> ++ ++ ++ ++ ++ ++ Avant Garde ++ ++ ++ true ++ ++ ++ URW Gothic L ++ ++ ++ ++ ++ Bookman ++ ++ ++ true ++ ++ ++ URW Bookman L ++ ++ ++ ++ ++ Courier ++ ++ ++ true ++ ++ ++ Nimbus Mono L ++ ++ ++ ++ ++ Helvetica ++ ++ ++ true ++ ++ ++ Nimbus Sans L ++ ++ ++ ++ ++ New Century Schoolbook ++ ++ ++ true ++ ++ ++ Century Schoolbook L ++ ++ ++ ++ ++ Palatino ++ ++ ++ true ++ ++ ++ URW Palladio L ++ ++ ++ ++ ++ Times ++ ++ ++ true ++ ++ ++ Nimbus Roman No9 L ++ ++ ++ ++ ++ Zapf Chancery ++ ++ ++ true ++ ++ ++ URW Chancery L ++ ++ ++ ++ ++ Zapf Dingbats ++ ++ ++ true ++ ++ ++ Dingbats ++ ++ ++ ++ + + + Symbol diff --git a/desktop/font/fontconfig/files/deprecated-user-conf.patch b/desktop/font/fontconfig/files/deprecated-user-conf.patch new file mode 100644 index 0000000000..3defbaab21 --- /dev/null +++ b/desktop/font/fontconfig/files/deprecated-user-conf.patch @@ -0,0 +1,10 @@ +--- conf.d/50-user.conf.orig 2013-04-09 15:15:06.170861118 +0300 ++++ conf.d/50-user.conf 2013-04-09 15:15:37.679861962 +0300 +@@ -9,7 +9,4 @@ + --> + fontconfig/conf.d + fontconfig/fonts.conf +- +- ~/.fonts.conf.d +- ~/.fonts.conf + diff --git a/desktop/font/fontconfig/files/fontconfig-2.8.0-sleep-less.patch b/desktop/font/fontconfig/files/fontconfig-2.8.0-sleep-less.patch new file mode 100644 index 0000000000..5b144315af --- /dev/null +++ b/desktop/font/fontconfig/files/fontconfig-2.8.0-sleep-less.patch @@ -0,0 +1,12 @@ +diff -pruN fontconfig-2.8.90.orig/fc-cache/fc-cache.c fontconfig-2.8.90/fc-cache/fc-cache.c +--- fontconfig-2.8.90.orig/fc-cache/fc-cache.c 2012-02-20 12:49:18.000000000 +0900 ++++ fontconfig-2.8.90/fc-cache/fc-cache.c 2012-03-06 12:28:26.000000000 +0900 +@@ -465,7 +465,7 @@ main (int argc, char **argv) + FcConfigDestroy (config); + FcFini (); + if (changed) +- sleep (2); ++ sleep (1); + if (verbose) + printf ("%s: %s\n", argv[0], ret ? "failed" : "succeeded"); + return ret; diff --git a/desktop/font/fontconfig/files/prefer_dejavu.patch b/desktop/font/fontconfig/files/prefer_dejavu.patch new file mode 100644 index 0000000000..9bc1876ec9 --- /dev/null +++ b/desktop/font/fontconfig/files/prefer_dejavu.patch @@ -0,0 +1,34 @@ +Index: fontconfig-2.8.0/conf.d/60-latin.conf +=================================================================== +--- fontconfig-2.8.0.orig/conf.d/60-latin.conf ++++ fontconfig-2.8.0/conf.d/60-latin.conf +@@ -4,8 +4,8 @@ + + serif + +- Bitstream Vera Serif + DejaVu Serif ++ Bitstream Vera Serif + Times New Roman + Thorndale AMT + Luxi Serif +@@ -16,8 +16,8 @@ + + sans-serif + +- Bitstream Vera Sans + DejaVu Sans ++ Bitstream Vera Sans + Verdana + Arial + Albany AMT +@@ -32,8 +32,8 @@ + + monospace + +- Bitstream Vera Sans Mono + DejaVu Sans Mono ++ Bitstream Vera Sans Mono + Inconsolata + Andale Mono + Courier New diff --git a/desktop/font/fontconfig/files/use_legacy_lcdfilter_on_small_monospace.patch b/desktop/font/fontconfig/files/use_legacy_lcdfilter_on_small_monospace.patch new file mode 100644 index 0000000000..c244be25de --- /dev/null +++ b/desktop/font/fontconfig/files/use_legacy_lcdfilter_on_small_monospace.patch @@ -0,0 +1,26 @@ +diff -Nur fontconfig-2.6.0-old/conf.d/53-monospace-lcd-filter.conf fontconfig-2.6.0/conf.d/53-monospace-lcd-filter.conf +--- fontconfig-2.6.0-old/conf.d/53-monospace-lcd-filter.conf 1970-01-01 02:00:00.000000000 +0200 ++++ fontconfig-2.6.0/conf.d/53-monospace-lcd-filter.conf 2008-09-22 11:07:17.000000000 +0300 +@@ -0,0 +1,22 @@ ++ ++ ++ ++ ++ ++ ++ ++ DejaVu Sans Mono ++ Bitstream Vera Sans Mono ++ ++ ++ 12.0 ++ ++ ++ ++ lcdlegacy ++ ++ ++ hintfull ++ ++ ++ diff --git a/desktop/font/fontconfig/pspec.xml b/desktop/font/fontconfig/pspec.xml new file mode 100644 index 0000000000..61b2fc70c0 --- /dev/null +++ b/desktop/font/fontconfig/pspec.xml @@ -0,0 +1,134 @@ + + + + + fontconfig + http://fontconfig.org + + PisiLinux Community + admins@pisilinux.org + + MIT + library + A library for configuring and customizing font access + Fontconfig is a library designed to provide system-wide font configuration, customization and application access. + http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.11.1.tar.bz2 + + + + + prefer_dejavu.patch + anymetrics_urw.patch + use_legacy_lcdfilter_on_small_monospace.patch + add_hinting_and_antialiasing_to_proper_fonts.patch + + fontconfig-2.8.0-sleep-less.patch + + deprecated-user-conf.patch + + + + + fontconfig + + + + /etc/fonts + /usr/bin + /usr/lib + /usr/share/doc + /var/cache/fontconfig + /usr/share + + + System.Package + System.PackageHandler + + + + + fontconfig-devel + Development files for fontconfig + + fontconfig + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/doc/fontconfig/fontconfig-devel.txt + /usr/share/man + + + + + fontconfig-32bit + emul32 + 32-bit shared libraries for fontconfig + emul32 + + expat-32bit + freetype-32bit + + + fontconfig + expat-32bit + freetype-32bit + + + /usr/lib32 + + + + + + 2014-05-17 + 2.11.1 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-03-29 + 2.11.1 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2014-02-01 + 2.11.0 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-09-05 + 2.10.93 + Add missing method to pakhandler.py + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-06 + 2.10.93 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-12-06 + 2.10.92 + First release + Marcin Bojara + marcin@pisilinux.org + + + 2012-12-06 + 2.10.2 + First release + Marcin Bojara + marcin@pisilinux.org + + + diff --git a/desktop/font/fontconfig/translations.xml b/desktop/font/fontconfig/translations.xml new file mode 100644 index 0000000000..fde1a2844b --- /dev/null +++ b/desktop/font/fontconfig/translations.xml @@ -0,0 +1,22 @@ + + + + fontconfig + Yazıtiplerinin yapılandırılması ve özelleştirilmesi için bir kitaplık + Biblioteka do konfigurowania pospolitych czcionek - obsługa plików binarnych + Fontconfig sistem genelindeki programlar için yazıtiplerinin ayarlanmasını, özelleştirilmesini ve programlar tarafından erişilmesini sağlar. + Fontconfig est un librairie conçue pour fournir à tout le système accès à la possibilité de configurer, personnaliser et appliquer des fontes. + Fontconfig jest biblioteką do konfigurowania i dostosowywania do własnych potrzeb czcionek, które nie zależą od systemu X Window. Została zaprojektowana, aby znajdować czcionki w systemie i dobierać je do wymagań określanych przez aplikacje. + + + + fontconfig-devel + fontconfig için geliştirme dosyaları + Pliki nagłówkowe fontconfig + + + + fontconfig-32bit + fontconfig için 32-bit paylaşımlı kitaplıklar + + diff --git a/desktop/font/harfbuzz/actions.py b/desktop/font/harfbuzz/actions.py new file mode 100644 index 0000000000..94c480708f --- /dev/null +++ b/desktop/font/harfbuzz/actions.py @@ -0,0 +1,34 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/copyleft/gpl.txt + +from pisi.actionsapi import get +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools + +def setup(): + options = "--with-glib=yes \ + --with-freetype=yes \ + --with-cairo=yes \ + --with-icu=yes \ + --with-gobject=yes \ + --with-graphite2=yes" + + if get.buildTYPE() == "emul32": + options += "--with-glib=yes \ + --with-graphite2=no \ + --with-cairo=yes \ + --with-icu=yes" + autotools.configure(options) + + pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("AUTHORS", "ChangeLog", "COPYING", "README") diff --git a/desktop/font/harfbuzz/pspec.xml b/desktop/font/harfbuzz/pspec.xml new file mode 100644 index 0000000000..cf0467dc16 --- /dev/null +++ b/desktop/font/harfbuzz/pspec.xml @@ -0,0 +1,188 @@ + + + + + harfbuzz + http://www.freedesktop.org/software/harfbuzz + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + OpenType text shaping engine. + The Harfbuzz package contains an OpenType text shaping engine. + http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.40.tar.bz2 + + cairo-devel + glib2-devel + icu4c-devel + graphite2-devel + + + + + harfbuzz + + cairo + glib2 + icu4c + libgcc + freetype + graphite2 + + + /usr/lib + /usr/share/doc + /usr/bin + /usr/share/gir-1.0 + /usr/share/gtk-doc + + + + + harfbuzz-devel + + glib2-devel + icu4c-devel + harfbuzz + + + /usr/include/harfbuzz + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + + harfbuzz-32bit + emul32 + 32-bit shared libraries for harfbuzz + emul32 + + icu4c-32bit + freetype-32bit + fontconfig-32bit + glibc-32bit + cairo-32bit + + + cairo-32bit + glib2-32bit + glibc-32bit + icu4c-32bit + freetype-32bit + + + /usr/lib32 + + + + + + 2015-04-06 + 0.9.40 + Version bump. + Ayhan Yalçınsoy + ayhanyalcinsoy@pisilinux.org + + + 2015-01-24 + 0.9.38 + Version bump. + Hakan Yıldız + hknyldz93@gmail.com + + + 2015-01-12 + 0.9.37 + Version Bump + rebuild. + Osman Erkan + osman.erkan@pisilinux.org + + + 2014-08-15 + 0.9.35 + Version Bump. + Vedat Demir + vedat@pisilinux.org + + + 2014-07-11 + 0.9.30 + Version Bump. + Vedat Demir + vedat@pisilinux.org + + + 2014-06-09 + 0.9.26 + Better harfbuz with icu, cairo. Fix configure option format. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-17 + 0.9.26 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-26 + 0.9.26 + Delete Unused Deps. + Varol Maksutoğlu + waroi@pisilinux.org + + + 2014-02-25 + 0.9.26 + Rebuild Unused + Varol Maksutoğlu + waroi@pisilinux.org + + + 2014-02-22 + 0.9.26 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-10-14 + 0.9.19 + Rebuild for icu4c + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-26 + 0.9.19 + Version bump. Fix build emul32 + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-30 + 0.9.18 + V.Bump + PisiLinux Community + admins@pisilinux.org + + + 2013-01-22 + 0.9.9 + Add emul32 + Marcin Bojara + marcin@pisilinux.org + + + 2012-12-24 + 0.9.9 + First release + Marcin Bojara + marcin@pisilinux.org + + + diff --git a/desktop/font/harfbuzz/translations.xml b/desktop/font/harfbuzz/translations.xml new file mode 100644 index 0000000000..757c9f48cc --- /dev/null +++ b/desktop/font/harfbuzz/translations.xml @@ -0,0 +1,8 @@ + + + + harfbuzz + OpenType text shaping engine + The Harfbuzz package contains an OpenType text shaping engine. + + diff --git a/desktop/lookandfeel/component.xml b/desktop/lookandfeel/component.xml new file mode 100644 index 0000000000..655942859d --- /dev/null +++ b/desktop/lookandfeel/component.xml @@ -0,0 +1,3 @@ + + desktop.lookandfeel + diff --git a/desktop/lookandfeel/icon-theme-hicolor/actions.py b/desktop/lookandfeel/icon-theme-hicolor/actions.py new file mode 100644 index 0000000000..5834955752 --- /dev/null +++ b/desktop/lookandfeel/icon-theme-hicolor/actions.py @@ -0,0 +1,22 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 2 +# 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 + +WorkDir = "hicolor-icon-theme-%s" % get.srcVERSION() + +def setup(): + autotools.configure() + +def build(): + autotools.make() + +def install(): + autotools.install() + + pisitools.dodoc("README", "ChangeLog") diff --git a/desktop/lookandfeel/icon-theme-hicolor/pspec.xml b/desktop/lookandfeel/icon-theme-hicolor/pspec.xml new file mode 100644 index 0000000000..e325008b46 --- /dev/null +++ b/desktop/lookandfeel/icon-theme-hicolor/pspec.xml @@ -0,0 +1,42 @@ + + + + + icon-theme-hicolor + http://icon-theme.freedesktop.org/wiki/HicolorTheme + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + data + Default icon theme + Hicolor icon theme contains the basic directories and files needed for icon theme support. + http://icon-theme.freedesktop.org/releases/hicolor-icon-theme-0.12.tar.gz + + + + icon-theme-hicolor + + /usr/share/doc + /usr/share/icons + + + + + + 2013-08-26 + 0.12 + Release bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2010-10-24 + 0.12 + First release + Pisi Linux Admins + admins@pisilinux.org + + + diff --git a/desktop/lookandfeel/icon-theme-hicolor/translations.xml b/desktop/lookandfeel/icon-theme-hicolor/translations.xml new file mode 100644 index 0000000000..fe5ba4f10f --- /dev/null +++ b/desktop/lookandfeel/icon-theme-hicolor/translations.xml @@ -0,0 +1,8 @@ + + + + icon-theme-hicolor + Temel simge teması + Hicolor, simge teması desteği için ihtiyaç duyulan temel dizin ve dosyalarıni içeren temel bir simge temasıdır. + + diff --git a/desktop/misc/at-spi2-core/actions.py b/desktop/misc/at-spi2-core/actions.py new file mode 100644 index 0000000000..2b12315d27 --- /dev/null +++ b/desktop/misc/at-spi2-core/actions.py @@ -0,0 +1,44 @@ +#!/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 + +if get.buildTYPE() == "emul32": + libexec = "/tmp" + sysconf = "--sysconfdir=/tmp" +else: + libexec = "/usr/libexec/at-spi2" + sysconf = "" + +def setup(): + autotools.autoreconf("-vif") + autotools.configure("--disable-static \ + --disable-silent-rules \ + --disable-xevie \ + --libexecdir=%s\ + --with-dbus-daemondir=/usr/bin \ + %s \ + " % (libexec, sysconf)) + + #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\\1") + + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + #pisitools.removeDir("/etc") + if get.buildTYPE() == "emul32": + pisitools.dosed("%s/usr/share/dbus-1/services" % get.installDIR(), "^(Exec=)\/tmp", r"\1/usr/libexec/at-spi2") + pisitools.removeDir("/tmp") + return + + pisitools.dodoc("AUTHORS", "COPYING", "README", "NEWS") \ No newline at end of file diff --git a/desktop/misc/at-spi2-core/pspec.xml b/desktop/misc/at-spi2-core/pspec.xml new file mode 100644 index 0000000000..c2fe7d12a4 --- /dev/null +++ b/desktop/misc/at-spi2-core/pspec.xml @@ -0,0 +1,152 @@ + + + + + at-spi2-core + http://www.linuxfoundation.org/collaborate/workgroups/accessibility + + PisiLinux Community + admins@pisilinux.org + + LGPLv2+ + service + Protocol definitions and daemons for D-Bus at-spi + at-spi allows assistive technologies to access GTK-based applications. Essentially it exposes the internals of applications over D-Bus for automation. + mirrors://gnome/at-spi2-core/2.16/at-spi2-core-2.16.0.tar.xz + + libXtst-devel + libXi-devel + + + + + at-spi2-core + + libXtst + + + /etc + /usr/lib + /usr/share/doc + /usr/share/dbus-1 + /usr/share/gtk-doc + /usr/libexec + /usr/share/gir-1.0 + /usr/share/locale + + + + + at-spi2-core-32bit + emul32 + 32-bit shared libraries for at-spi2-core + emul32 + + dbus-32bit + glib2-32bit + libX11-32bit + libXtst-32bit + + + dbus-32bit + glib2-32bit + libX11-32bit + + + /usr/lib32 + + + + + at-spi2-core-devel + at-spi2-core için geliştirme dosyaları + + at-spi2-core + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + + + + + + 2015-04-17 + 2.16.0 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2014-04-14 + 2.12.0 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-10-10 + 2.10.0 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-09-07 + 2.8.0 + Fix build. + Marcin Bojara + marcin@pisilinux.org + + + 2013-08-30 + 2.8.0 + Rebuild. + PisiLinux Community + admins@pisilinux.org + + + 2013-07-27 + 2.8.0 + Rebuild. + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-17 + 2.8.0 + Rebuild with new pisi release + PisiLinux Community + admins@pisilinux.org + + + 2013-06-17 + 2.8.0 + Rebuild with new pisi release + Marcin Bojara + marcin@pisilinux.org + + + 2013-04-23 + 2.8.0 + Dep fixed + PisiLinux Community + admins@pisilinux.org + + + 2013-04-17 + 2.8.0 + Version bump + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2012-10-22 + 2.7.2 + First release + PisiLinux Community + admins@pisilinux.org + + + diff --git a/desktop/misc/at-spi2-core/translations.xml b/desktop/misc/at-spi2-core/translations.xml new file mode 100644 index 0000000000..ad67a8576a --- /dev/null +++ b/desktop/misc/at-spi2-core/translations.xml @@ -0,0 +1,18 @@ + + + + at-spi2-core + D-Bus at-spi için protokol tanımları ve hizmetleri + at-spi2-core, erişilebilirlik teknolojilerinin uygulamalara D-Bus üzerinden erişerek onları otomatik olarak denetlemesini sağlar. + + + + at-spi2-core-32bit + 32-bit shared libraries for at-spi2-core + + + + at-spi2-core-devel + at-spi2-core için geliştirme dosyaları + + \ No newline at end of file diff --git a/desktop/misc/component.xml b/desktop/misc/component.xml new file mode 100644 index 0000000000..edf55c1aeb --- /dev/null +++ b/desktop/misc/component.xml @@ -0,0 +1,3 @@ + + desktop.misc + diff --git a/desktop/misc/desktop-file-utils/actions.py b/desktop/misc/desktop-file-utils/actions.py new file mode 100644 index 0000000000..8c18223677 --- /dev/null +++ b/desktop/misc/desktop-file-utils/actions.py @@ -0,0 +1,22 @@ +#!/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(): + shelltools.export("EMACS", "no") + autotools.configure("--disable-static") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.dodoc("AUTHORS", "ChangeLog", "NEWS", "README") diff --git a/desktop/misc/desktop-file-utils/comar/pakhandler.py b/desktop/misc/desktop-file-utils/comar/pakhandler.py new file mode 100644 index 0000000000..68c67e8807 --- /dev/null +++ b/desktop/misc/desktop-file-utils/comar/pakhandler.py @@ -0,0 +1,23 @@ +#!/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/share/applications"): + os.system("/usr/bin/update-desktop-database -q") + return + +def setupPackage(metapath, filepath): + updateData(filepath) + +def cleanupPackage(metapath, filepath): + pass + +def postCleanupPackage(metapath, filepath): + updateData(filepath) diff --git a/desktop/misc/desktop-file-utils/pspec.xml b/desktop/misc/desktop-file-utils/pspec.xml new file mode 100644 index 0000000000..a1c812b348 --- /dev/null +++ b/desktop/misc/desktop-file-utils/pspec.xml @@ -0,0 +1,53 @@ + + + + + desktop-file-utils + http://www.freedesktop.org/software/desktop-file-utils/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + library + Command line utilities to work with desktop menu entries + desktop files are used to describe an application for inclusion in GNOME or KDE menus. This package contains desktop-file-validate which checks whether a .desktop file complies with the specification and desktop-file-install which installs a desktop file to the standard directory, optionally fixing it up in the process. + http://freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.21.tar.xz + + + + desktop-file-utils + + /usr/bin + /usr/share/doc + /usr/share/man/man1/ + + + System.PackageHandler + + + + + + 2013-09-07 + 0.21 + Add comar script. + Marcin Bojara + marcin@pisilinux.org + + + 2013-08-26 + 0.21 + Release bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2012-11-21 + 0.21 + First release + PisiLinux Community + admins@pisilinux.org + + + diff --git a/desktop/misc/desktop-file-utils/translations.xml b/desktop/misc/desktop-file-utils/translations.xml new file mode 100644 index 0000000000..14f04b8dcc --- /dev/null +++ b/desktop/misc/desktop-file-utils/translations.xml @@ -0,0 +1,7 @@ + + + + desktop-file-utils + Masaüstü menü girdilerini yönetmek için komut satırı araçları + + diff --git a/desktop/toolkit/gtk/gtk2/actions.py b/desktop/toolkit/gtk/gtk2/actions.py new file mode 100644 index 0000000000..ae75d08f9b --- /dev/null +++ b/desktop/toolkit/gtk/gtk2/actions.py @@ -0,0 +1,55 @@ +#!/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 can be included directly error" + shelltools.export("CPPFLAGS", "-DGTK_COMPILATION") + + if get.buildTYPE() == "_emul32": + options += " --libdir=/usr/lib32 \ + --bindir=/_emul32/bin \ + --sbindir=/_emul32/sbin \ + --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("/_emul32/bin/%s" % binaries, "/usr/bin/", "%s-32bit" % binaries) + pisitools.removeDir("/_emul32") + #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") \ No newline at end of file diff --git a/desktop/toolkit/gtk/gtk2/comar/pakhandler.py b/desktop/toolkit/gtk/gtk2/comar/pakhandler.py new file mode 100644 index 0000000000..0771670257 --- /dev/null +++ b/desktop/toolkit/gtk/gtk2/comar/pakhandler.py @@ -0,0 +1,41 @@ +#!/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) diff --git a/desktop/toolkit/gtk/gtk2/files/fedora/icon-padding.patch b/desktop/toolkit/gtk/gtk2/files/fedora/icon-padding.patch new file mode 100644 index 0000000000..45083a6548 --- /dev/null +++ b/desktop/toolkit/gtk/gtk2/files/fedora/icon-padding.patch @@ -0,0 +1,258 @@ +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" diff --git a/desktop/toolkit/gtk/gtk2/files/fedora/system-python.patch b/desktop/toolkit/gtk/gtk2/files/fedora/system-python.patch new file mode 100644 index 0000000000..3f697faa7b --- /dev/null +++ b/desktop/toolkit/gtk/gtk2/files/fedora/system-python.patch @@ -0,0 +1,9 @@ +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 diff --git a/desktop/toolkit/gtk/gtk2/files/fedora/tooltip-positioning.patch b/desktop/toolkit/gtk/gtk2/files/fedora/tooltip-positioning.patch new file mode 100644 index 0000000000..49b72c2616 --- /dev/null +++ b/desktop/toolkit/gtk/gtk2/files/fedora/tooltip-positioning.patch @@ -0,0 +1,182 @@ +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)); + } diff --git a/desktop/toolkit/gtk/gtk2/files/fedora/window-dragging.patch b/desktop/toolkit/gtk/gtk2/files/fedora/window-dragging.patch new file mode 100644 index 0000000000..88aa26b466 --- /dev/null +++ b/desktop/toolkit/gtk/gtk2/files/fedora/window-dragging.patch @@ -0,0 +1,116 @@ +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: + * diff --git a/desktop/toolkit/gtk/gtk2/files/gtkrc b/desktop/toolkit/gtk/gtk2/files/gtkrc new file mode 100644 index 0000000000..e5b4e26e98 --- /dev/null +++ b/desktop/toolkit/gtk/gtk2/files/gtkrc @@ -0,0 +1,3 @@ +gtk-icon-theme-name = "Faenza" +gtk-theme-name = "MediterraneanLightDarkest" +gtk-font-name = "DejaVuSans 10" diff --git a/desktop/toolkit/gtk/gtk2/files/xid-collision-debug.patch b/desktop/toolkit/gtk/gtk2/files/xid-collision-debug.patch new file mode 100644 index 0000000000..db0816ef16 --- /dev/null +++ b/desktop/toolkit/gtk/gtk2/files/xid-collision-debug.patch @@ -0,0 +1,15 @@ +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); + } diff --git a/desktop/toolkit/gtk/gtk2/pspec.xml b/desktop/toolkit/gtk/gtk2/pspec.xml new file mode 100644 index 0000000000..0d5963c943 --- /dev/null +++ b/desktop/toolkit/gtk/gtk2/pspec.xml @@ -0,0 +1,258 @@ + + + + + gtk2 + http://www.gtk.org + + PisiLinux Community + admins@pisilinux.org + + LGPLv2.1 + The GIMP Toolkit version 2 + 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. + mirrors://gnome/gtk+/2.24/gtk+-2.24.23.tar.xz + + cups-devel + libXi-devel + cairo-devel + libXext-devel + libXrandr-devel + libXfixes-devel + libXrender-devel + libXdamage-devel + libXcursor-devel + fontconfig-devel + libXinerama-devel + libXcomposite-devel + atk-devel + pango-devel + gdk-pixbuf-devel + gobject-introspection-devel + + + + xid-collision-debug.patch + + + fedora/system-python.patch + fedora/icon-padding.patch + fedora/tooltip-positioning.patch + fedora/window-dragging.patch + + + + + gtk2 + + cups + libXi + cairo + libXext + libXrandr + libXfixes + libXrender + libXdamage + libXcursor + fontconfig + libXinerama + libXcomposite + atk + pango + gdk-pixbuf + dejavu-fonts + gtk-theme-mediterranean + + + /etc + /usr/bin + /usr/share/themes + /usr/share/gtk-2.0 + /usr/share/man + /usr/share/doc + /usr/lib + /usr/share/locale + + + + gtkrc + + + System.PackageHandler + + + + + gtk2-demo + app:gui + GTK demo application + + gtk2 + cairo + pango + gdk-pixbuf + + + /usr/bin/gtk-demo + /usr/share/gtk-2.0/demo + + + + + gtk2-docs + data:doc + GTK reference documents + + /usr/share/gtk-doc + + + + + gtk2-devel + Development files for gtk2 + + gtk2 + atk-devel + pango-devel + cairo-devel + gdk-pixbuf-devel + + + /usr/include + /usr/lib/pkgconfig + /usr/lib32/pkgconfig + /usr/share/aclocal + /usr/share/gir-1.0 + + + + + gtk2-32bit + emul32 + 32-bit shared libraries for gtk2 + _emul32 + + cairo-32bit + cups-32bit + fontconfig-32bit + pango-32bit + glib2-32bit + atk-32bit + libX11-32bit + gdk-pixbuf-32bit + libXcomposite-32bit + libXcursor-32bit + libXdamage-32bit + libXext-32bit + libXfixes-32bit + libXi-32bit + libXinerama-32bit + libXrandr-32bit + libXrender-32bit + + + gtk2 + cairo-32bit + pango-32bit + glib2-32bit + atk-32bit + libX11-32bit + cups-32bit + fontconfig-32bit + gdk-pixbuf-32bit + libXcomposite-32bit + libXcursor-32bit + libXdamage-32bit + libXext-32bit + libXfixes-32bit + libXi-32bit + libXinerama-32bit + libXrandr-32bit + libXrender-32bit + + + /usr/bin/*-32bit + /usr/lib32 + + + + + + 2014-05-17 + 2.24.23 + Version bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-04-06 + 2.24.22 + Rebuild + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-02-06 + 2.24.22 + Set proper settings to gtkrc, change location of gtkrc. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-10-21 + 2.24.22 + Version bump. + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-09-05 + 2.24.21 + Minor version bump, cleanup. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-09-05 + 2.24.20 + Add missing method and fix pakhandler.py + Marcin Bojara + marcin@pisilinux.org + + + 2013-07-06 + 2.24.20 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-04-20 + 2.24.17 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2013-02-23 + 2.24.16 + Version bump, add new cppflags, enhancements. + Erdinç Gültekin + admins@pisilinux.org + + + 2013-01-23 + 2.24.14 + Version bump. + Marcin Bojara + marcin@pisilinux.org + + + 2012-09-25 + 2.24.13 + First release + Erdem Artan + admins@pisilinux.org + + + diff --git a/desktop/toolkit/gtk/gtk2/translations.xml b/desktop/toolkit/gtk/gtk2/translations.xml new file mode 100644 index 0000000000..7717338863 --- /dev/null +++ b/desktop/toolkit/gtk/gtk2/translations.xml @@ -0,0 +1,29 @@ + + + + gtk2 + GTK grafik arayüz kitaplığı versiyon 2 + 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. + 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. + + + + gtk2-demo + GTK demo uyulaması + + + + gtk2-docs + GTK referans dökümanları + + + + gtk2-devel + gtk2 için geliştirme dosyaları + + + + gtk2-32bit + gtk2 için 32-bit paylaşımlı kitaplıklar + +